diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ea6e20f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..bdfda30 --- /dev/null +++ b/.env.development @@ -0,0 +1,9 @@ +# just a flag +ENV = 'development' + +# base api +VUE_APP_BASE_API = '/api' + +## 配置测试和本地开发时的 接口地址 +##VUE_APP_URL = "http://8.130.39.13:8112" +VUE_APP_URL = "http://192.168.3.173:8112" diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..811f344 --- /dev/null +++ b/.env.production @@ -0,0 +1,9 @@ +# just a flag +ENV = 'production' + +# base api +VUE_APP_BASE_API = '/api/service' + +## 配置 正式接口地址 +VUE_APP_URL = "http://120.46.131.15:8111" + diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..a8793a0 --- /dev/null +++ b/.env.staging @@ -0,0 +1,8 @@ +NODE_ENV = production + +# just a flag +ENV = 'staging' + +# base api +VUE_APP_BASE_API = '/stage-api' + diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..33963bf --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +build/*.js +src/assets +public +dist +src/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..bb624b1 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,199 @@ +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + //it is base on https://github.com/vuejs/eslint-config-vue + rules: { + "vue/max-attributes-per-line": [2, { + "singleline": 10, + "multiline": { + "max": 1, + "allowFirstLine": false + } + }], + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline":"off", + "vue/name-property-casing": ["error", "PascalCase"], + "vue/no-v-html": "off", + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ["error", "always", {"null": "ignore"}], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + // 'indent': [2, 2, { + // 'SwitchCase': 1 + // }], + 'indent': 'off', + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/.gitignore b/.gitignore index ad19909..ba7a2d8 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,4 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser +monitor-ui/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..f4be7a0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: 10 +script: npm run test +notifications: + email: false diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6151575 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-present PanJiaChen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README-zh.md b/README-zh.md new file mode 100644 index 0000000..e69de29 diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..b0ac7d5 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,16 @@ +module.exports = { + presets: [ + // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app + // '@vue/cli-plugin-babel/preset', + ['@vue/app', { useBuiltIns: 'entry' }] + ], + "ignore" : ["./src/api/hikvision/webVideoCtrl.js"], + 'env': { + 'development': { + // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). + // This plugin can significantly increase the speed of hot updates, when you have a large number of pages. + // https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html + 'plugins': ['dynamic-import-node'] + } + } +} diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..143cdc8 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,24 @@ +module.exports = { + moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], + transform: { + '^.+\\.vue$': 'vue-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': + 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest' + }, + moduleNameMapper: { + '^@/(.*)$': '/src/$1' + }, + snapshotSerializers: ['jest-serializer-vue'], + testMatch: [ + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' + ], + collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'], + coverageDirectory: '/tests/unit/coverage', + // 'collectCoverage': true, + 'coverageReporters': [ + 'lcov', + 'text-summary' + ], + testURL: 'http://localhost/' +} diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..ed079e2 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/mock/index.js b/mock/index.js new file mode 100644 index 0000000..c514c13 --- /dev/null +++ b/mock/index.js @@ -0,0 +1,57 @@ +const Mock = require('mockjs') +const { param2Obj } = require('./utils') + +const user = require('./user') +const table = require('./table') + +const mocks = [ + ...user, + ...table +] + +// for front mock +// please use it cautiously, it will redefine XMLHttpRequest, +// which will cause many of your third-party libraries to be invalidated(like progress event). +function mockXHR() { + // mock patch + // https://github.com/nuysoft/Mock/issues/300 + Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send + Mock.XHR.prototype.send = function() { + if (this.custom.xhr) { + this.custom.xhr.withCredentials = this.withCredentials || false + + if (this.responseType) { + this.custom.xhr.responseType = this.responseType + } + } + this.proxy_send(...arguments) + } + + function XHR2ExpressReqWrap(respond) { + return function(options) { + let result = null + if (respond instanceof Function) { + const { body, type, url } = options + // https://expressjs.com/en/4x/api.html#req + result = respond({ + method: type, + body: JSON.parse(body), + query: param2Obj(url) + }) + } else { + result = respond + } + return Mock.mock(result) + } + } + + for (const i of mocks) { + Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response)) + } +} + +module.exports = { + mocks, + mockXHR +} + diff --git a/mock/mock-server.js b/mock/mock-server.js new file mode 100644 index 0000000..8941ec0 --- /dev/null +++ b/mock/mock-server.js @@ -0,0 +1,81 @@ +const chokidar = require('chokidar') +const bodyParser = require('body-parser') +const chalk = require('chalk') +const path = require('path') +const Mock = require('mockjs') + +const mockDir = path.join(process.cwd(), 'mock') + +function registerRoutes(app) { + let mockLastIndex + const { mocks } = require('./index.js') + const mocksForServer = mocks.map(route => { + return responseFake(route.url, route.type, route.response) + }) + for (const mock of mocksForServer) { + app[mock.type](mock.url, mock.response) + mockLastIndex = app._router.stack.length + } + const mockRoutesLength = Object.keys(mocksForServer).length + return { + mockRoutesLength: mockRoutesLength, + mockStartIndex: mockLastIndex - mockRoutesLength + } +} + +function unregisterRoutes() { + Object.keys(require.cache).forEach(i => { + if (i.includes(mockDir)) { + delete require.cache[require.resolve(i)] + } + }) +} + +// for mock server +const responseFake = (url, type, respond) => { + return { + url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`), + type: type || 'get', + response(req, res) { + console.log('request invoke:' + req.path) + res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond)) + } + } +} + +module.exports = app => { + // parse app.body + // https://expressjs.com/en/4x/api.html#req.body + app.use(bodyParser.json()) + app.use(bodyParser.urlencoded({ + extended: true + })) + + const mockRoutes = registerRoutes(app) + var mockRoutesLength = mockRoutes.mockRoutesLength + var mockStartIndex = mockRoutes.mockStartIndex + + // watch files, hot reload mock server + chokidar.watch(mockDir, { + ignored: /mock-server/, + ignoreInitial: true + }).on('all', (event, path) => { + if (event === 'change' || event === 'add') { + try { + // remove mock routes stack + app._router.stack.splice(mockStartIndex, mockRoutesLength) + + // clear routes cache + unregisterRoutes() + + const mockRoutes = registerRoutes(app) + mockRoutesLength = mockRoutes.mockRoutesLength + mockStartIndex = mockRoutes.mockStartIndex + + console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`)) + } catch (error) { + console.log(chalk.redBright(error)) + } + } + }) +} diff --git a/mock/table.js b/mock/table.js new file mode 100644 index 0000000..bd0e013 --- /dev/null +++ b/mock/table.js @@ -0,0 +1,29 @@ +const Mock = require('mockjs') + +const data = Mock.mock({ + 'items|30': [{ + id: '@id', + title: '@sentence(10, 20)', + 'status|1': ['published', 'draft', 'deleted'], + author: 'name', + display_time: '@datetime', + pageviews: '@integer(300, 5000)' + }] +}) + +module.exports = [ + { + url: '/vue-admin-template/table/list', + type: 'get', + response: config => { + const items = data.items + return { + code: 20000, + data: { + total: items.length, + items: items + } + } + } + } +] diff --git a/mock/user.js b/mock/user.js new file mode 100644 index 0000000..7555338 --- /dev/null +++ b/mock/user.js @@ -0,0 +1,84 @@ + +const tokens = { + admin: { + token: 'admin-token' + }, + editor: { + token: 'editor-token' + } +} + +const users = { + 'admin-token': { + roles: ['admin'], + introduction: 'I am a super administrator', + avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', + name: 'Super Admin' + }, + 'editor-token': { + roles: ['editor'], + introduction: 'I am an editor', + avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', + name: 'Normal Editor' + } +} + +module.exports = [ + // user login + { + url: '/vue-admin-template/user/login', + type: 'post', + response: config => { + const { username } = config.body + const token = tokens[username] + + // mock error + if (!token) { + return { + code: 60204, + message: 'Account and password are incorrect.' + } + } + + return { + code: 20000, + data: token + } + } + }, + + // get user info + { + url: '/vue-admin-template/user/info\.*', + type: 'get', + response: config => { + const { token } = config.query + const info = users[token] + + // mock error + if (!info) { + return { + code: 50008, + message: 'Login failed, unable to get user details.' + } + } + + return { + code: 20000, + data: info + } + } + }, + + // user logout + { + url: '/vue-admin-template/user/logout', + type: 'post', + response: _ => { + return { + code: 20000, + data: 'success' + } + } + } +] diff --git a/mock/utils.js b/mock/utils.js new file mode 100644 index 0000000..95cc27d --- /dev/null +++ b/mock/utils.js @@ -0,0 +1,25 @@ +/** + * @param {string} url + * @returns {Object} + */ +function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} + +module.exports = { + param2Obj +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..9b9f6e8 --- /dev/null +++ b/package.json @@ -0,0 +1,74 @@ +{ + "name": "admin-template", + "version": "4.4.0", + "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint", + "author": "Pan ", + "scripts": { + "dev": "vue-cli-service serve", + "build:prod": "vue-cli-service build", + "build:stage": "vue-cli-service build --mode staging", + "preview": "node build/index.js --preview", + "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", + "lint": "eslint --ext .js,.vue src", + "test:unit": "jest --clearCache && vue-cli-service test:unit", + "test:ci": "npm run lint && npm run test:unit" + }, + "dependencies": { + "axios": "^0.24.0", + "bpmn-js": "^9.2.2", + "core-js": "^2.6.12", + "ejs": "^2.7.4", + "element-ui": "2.15.13", + "js-cookie": "2.2.0", + "moment": "^2.29.1", + "normalize.css": "7.0.0", + "nprogress": "0.2.0", + "path-to-regexp": "2.4.0", + "portfinder": "^1.0.21", + "qs": "^6.9.4", + "sass-resources-loader": "^2.1.1", + "viewerjs": "^1.9.0", + "vue": "2.6.10", + "vue-amap": "^0.5.10", + "vue-router": "3.0.6", + "vuex": "3.1.0", + "vuex-persistedstate": "^4.0.0", + "xcrud": "^0.4.19", + "web-control": "^1.0.2" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "4.4.4", + "@vue/cli-plugin-eslint": "4.4.4", + "@vue/cli-plugin-unit-jest": "4.4.4", + "@vue/cli-service": "4.4.4", + "@vue/test-utils": "1.0.0-beta.29", + "autoprefixer": "9.5.1", + "babel-eslint": "10.1.0", + "babel-jest": "23.6.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "babel-polyfill": "^6.26.0", + "chalk": "2.4.2", + "connect": "3.6.6", + "eslint": "6.7.2", + "eslint-plugin-vue": "6.2.2", + "html-webpack-plugin": "3.2.0", + "mockjs": "1.0.1-beta3", + "runjs": "4.3.2", + "sass": "1.26.8", + "sass-loader": "8.0.2", + "script-ext-html-webpack-plugin": "2.1.3", + "serve-static": "1.13.2", + "svg-sprite-loader": "4.1.3", + "svgo": "1.2.2", + "vue-template-compiler": "2.6.10" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ], + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "license": "MIT" +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..1b42ad2 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,14470 @@ +lockfileVersion: 5.3 + +specifiers: + '@vue/cli-plugin-babel': 4.4.4 + '@vue/cli-plugin-eslint': 4.4.4 + '@vue/cli-plugin-unit-jest': 4.4.4 + '@vue/cli-service': 4.4.4 + '@vue/test-utils': 1.0.0-beta.29 + autoprefixer: 9.5.1 + axios: ^0.24.0 + babel-eslint: 10.1.0 + babel-jest: 23.6.0 + babel-plugin-dynamic-import-node: 2.3.3 + babel-polyfill: ^6.26.0 + chalk: 2.4.2 + connect: 3.6.6 + core-js: ^2.6.12 + ejs: ^2.7.4 + element-ui: 2.13.2 + eslint: 6.7.2 + eslint-plugin-vue: 6.2.2 + html-webpack-plugin: 3.2.0 + js-cookie: 2.2.0 + mockjs: 1.0.1-beta3 + normalize.css: 7.0.0 + nprogress: 0.2.0 + path-to-regexp: 2.4.0 + portfinder: ^1.0.21 + qs: ^6.9.4 + runjs: 4.3.2 + sass: 1.26.8 + sass-loader: 8.0.2 + sass-resources-loader: ^2.1.1 + script-ext-html-webpack-plugin: 2.1.3 + serve-static: 1.13.2 + svg-sprite-loader: 4.1.3 + svgo: 1.2.2 + viewerjs: ^1.9.0 + vue: 2.6.10 + vue-amap: ^0.5.10 + vue-router: 3.0.6 + vue-template-compiler: 2.6.10 + vuex: 3.1.0 + vuex-persistedstate: ^4.0.0 + +dependencies: + axios: registry.npmmirror.com/axios/0.24.0 + core-js: registry.npmmirror.com/core-js/2.6.12 + ejs: registry.npmmirror.com/ejs/2.7.4 + element-ui: registry.npmmirror.com/element-ui/2.13.2_vue@2.6.10 + js-cookie: registry.nlark.com/js-cookie/2.2.0 + normalize.css: registry.nlark.com/normalize.css/7.0.0 + nprogress: registry.npmmirror.com/nprogress/0.2.0 + path-to-regexp: registry.nlark.com/path-to-regexp/2.4.0 + portfinder: registry.nlark.com/portfinder/1.0.28 + qs: registry.nlark.com/qs/6.10.1 + sass-resources-loader: registry.npmmirror.com/sass-resources-loader/2.2.4 + viewerjs: registry.npmmirror.com/viewerjs/1.10.2 + vue: registry.npmmirror.com/vue/2.6.10 + vue-amap: registry.npmmirror.com/vue-amap/0.5.10 + vue-router: registry.npmmirror.com/vue-router/3.0.6 + vuex: registry.nlark.com/vuex/3.1.0 + vuex-persistedstate: registry.npmmirror.com/vuex-persistedstate/4.1.0_vuex@3.1.0 + +devDependencies: + '@vue/cli-plugin-babel': registry.npmmirror.com/@vue/cli-plugin-babel/4.4.4_73dc883dde44f18441aa6573f43c88d3 + '@vue/cli-plugin-eslint': registry.npmmirror.com/@vue/cli-plugin-eslint/4.4.4_4c02ce60bf5d245163a3258a3e654afe + '@vue/cli-plugin-unit-jest': registry.npmmirror.com/@vue/cli-plugin-unit-jest/4.4.4_1770ede1501523cd138a18b22895daee + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + '@vue/test-utils': registry.npmmirror.com/@vue/test-utils/1.0.0-beta.29_46af323429f830a6028b5e43b9b2e56c + autoprefixer: registry.npmmirror.com/autoprefixer/9.5.1 + babel-eslint: registry.npmmirror.com/babel-eslint/10.1.0_eslint@6.7.2 + babel-jest: registry.npmmirror.com/babel-jest/23.6.0 + babel-plugin-dynamic-import-node: registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3 + babel-polyfill: registry.npmmirror.com/babel-polyfill/6.26.0 + chalk: registry.nlark.com/chalk/2.4.2 + connect: registry.nlark.com/connect/3.6.6 + eslint: registry.npmmirror.com/eslint/6.7.2 + eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/6.2.2_eslint@6.7.2 + html-webpack-plugin: registry.npmmirror.com/html-webpack-plugin/3.2.0 + mockjs: registry.nlark.com/mockjs/1.0.1-beta3 + runjs: registry.npmmirror.com/runjs/4.3.2 + sass: registry.npmmirror.com/sass/1.26.8 + sass-loader: registry.npmmirror.com/sass-loader/8.0.2_sass@1.26.8 + script-ext-html-webpack-plugin: registry.npmmirror.com/script-ext-html-webpack-plugin/2.1.3_html-webpack-plugin@3.2.0 + serve-static: registry.nlark.com/serve-static/1.13.2 + svg-sprite-loader: registry.npmmirror.com/svg-sprite-loader/4.1.3 + svgo: registry.npmmirror.com/svgo/1.2.2 + vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.6.10 + +packages: + + registry.nlark.com/@babel/helper-plugin-utils/7.14.5: + resolution: {integrity: sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz} + name: '@babel/helper-plugin-utils' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/@babel/helper-validator-identifier/7.15.7: + resolution: {integrity: sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz} + name: '@babel/helper-validator-identifier' + version: 7.15.7 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/@babel/helper-validator-option/7.14.5: + resolution: {integrity: sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz} + name: '@babel/helper-validator-option' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0: + resolution: {integrity: sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz} + id: registry.nlark.com/@babel/plugin-syntax-async-generators/7.8.4 + name: '@babel/plugin-syntax-async-generators' + version: 7.8.4 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.0: + resolution: {integrity: sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz} + id: registry.nlark.com/@babel/plugin-syntax-class-properties/7.12.13 + name: '@babel/plugin-syntax-class-properties' + version: 7.12.13 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.16.0: + resolution: {integrity: sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz} + id: registry.nlark.com/@babel/plugin-syntax-class-static-block/7.14.5 + name: '@babel/plugin-syntax-class-static-block' + version: 7.14.5 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-dynamic-import/7.8.3 + name: '@babel/plugin-syntax-dynamic-import' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-AolkqbqA28CUyRXEh618TnpmRlo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-export-namespace-from/7.8.3 + name: '@babel/plugin-syntax-export-namespace-from' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-json-strings/7.8.3 + name: '@babel/plugin-syntax-json-strings' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.0: + resolution: {integrity: sha1-ypHvRjA1MESLkGZSusLp/plB9pk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz} + id: registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4 + name: '@babel/plugin-syntax-logical-assignment-operators' + version: 7.10.4 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3 + name: '@babel/plugin-syntax-nullish-coalescing-operator' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.0: + resolution: {integrity: sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz} + id: registry.nlark.com/@babel/plugin-syntax-numeric-separator/7.10.4 + name: '@babel/plugin-syntax-numeric-separator' + version: 7.10.4 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-object-rest-spread/7.8.3 + name: '@babel/plugin-syntax-object-rest-spread' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/7.8.3 + name: '@babel/plugin-syntax-optional-catch-binding' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.0: + resolution: {integrity: sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz} + id: registry.nlark.com/@babel/plugin-syntax-optional-chaining/7.8.3 + name: '@babel/plugin-syntax-optional-chaining' + version: 7.8.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.16.0: + resolution: {integrity: sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz} + id: registry.nlark.com/@babel/plugin-syntax-private-property-in-object/7.14.5 + name: '@babel/plugin-syntax-private-property-in-object' + version: 7.14.5 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.16.0: + resolution: {integrity: sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz} + id: registry.nlark.com/@babel/plugin-syntax-top-level-await/7.14.5 + name: '@babel/plugin-syntax-top-level-await' + version: 7.14.5 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.nlark.com/@cnakazawa/watch/1.0.4: + resolution: {integrity: sha1-+GSuhQBND8q29QvpFBxNo2jRZWo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz} + name: '@cnakazawa/watch' + version: 1.0.4 + engines: {node: '>=0.1.95'} + hasBin: true + dependencies: + exec-sh: registry.nlark.com/exec-sh/0.3.6 + minimist: registry.nlark.com/minimist/1.2.5 + dev: true + + registry.nlark.com/@hapi/topo/3.1.6: + resolution: {integrity: sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@hapi/topo/download/@hapi/topo-3.1.6.tgz} + name: '@hapi/topo' + version: 3.1.6 + deprecated: This version has been deprecated and is no longer supported or maintained + dependencies: + '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/8.5.1 + dev: true + + registry.nlark.com/@intervolga/optimize-cssnano-plugin/1.0.6_webpack@4.46.0: + resolution: {integrity: sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz} + id: registry.nlark.com/@intervolga/optimize-cssnano-plugin/1.0.6 + name: '@intervolga/optimize-cssnano-plugin' + version: 1.0.6 + peerDependencies: + webpack: ^4.0.0 + dependencies: + cssnano: registry.npmmirror.com/cssnano/4.1.11 + cssnano-preset-default: registry.npmmirror.com/cssnano-preset-default/4.0.8 + postcss: registry.npmmirror.com/postcss/7.0.39 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/@jest/source-map/24.9.0: + resolution: {integrity: sha1-DiY6lEML5LQdpoPMwea//ioZFxQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@jest/source-map/download/@jest/source-map-24.9.0.tgz} + name: '@jest/source-map' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + callsites: registry.nlark.com/callsites/3.1.0 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.nlark.com/@mrmlnc/readdir-enhanced/2.2.1: + resolution: {integrity: sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz} + name: '@mrmlnc/readdir-enhanced' + version: 2.2.1 + engines: {node: '>=4'} + dependencies: + call-me-maybe: registry.nlark.com/call-me-maybe/1.0.1 + glob-to-regexp: registry.nlark.com/glob-to-regexp/0.3.0 + dev: true + + registry.nlark.com/@nodelib/fs.stat/1.1.3: + resolution: {integrity: sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz} + name: '@nodelib/fs.stat' + version: 1.1.3 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/@soda/friendly-errors-webpack-plugin/1.8.0_webpack@4.46.0: + resolution: {integrity: sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz} + id: registry.nlark.com/@soda/friendly-errors-webpack-plugin/1.8.0 + name: '@soda/friendly-errors-webpack-plugin' + version: 1.8.0 + engines: {node: '>=8.0.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + error-stack-parser: registry.nlark.com/error-stack-parser/2.0.6 + string-width: registry.npmmirror.com/string-width/2.1.1 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/@types/babel__core/7.1.16: + resolution: {integrity: sha1-vBLHS31l6C0ph2tdC69cYlrFhwI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/babel__core/download/@types/babel__core-7.1.16.tgz} + name: '@types/babel__core' + version: 7.1.16 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + '@types/babel__generator': registry.nlark.com/@types/babel__generator/7.6.3 + '@types/babel__template': registry.nlark.com/@types/babel__template/7.4.1 + '@types/babel__traverse': registry.nlark.com/@types/babel__traverse/7.14.2 + dev: true + + registry.nlark.com/@types/babel__generator/7.6.3: + resolution: {integrity: sha1-9Fa0ss55E392iqEw0kI9LwzPq6U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/babel__generator/download/@types/babel__generator-7.6.3.tgz} + name: '@types/babel__generator' + version: 7.6.3 + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.nlark.com/@types/babel__template/7.4.1: + resolution: {integrity: sha1-PRpI/Z1sDt/Vby/1eNrtSPNsiWk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/babel__template/download/@types/babel__template-7.4.1.tgz} + name: '@types/babel__template' + version: 7.4.1 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.nlark.com/@types/babel__traverse/7.14.2: + resolution: {integrity: sha1-/81HC7s/i/MEgWePtVAieMqDOkM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/babel__traverse/download/@types/babel__traverse-7.14.2.tgz} + name: '@types/babel__traverse' + version: 7.14.2 + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.nlark.com/@types/istanbul-lib-coverage/2.0.3: + resolution: {integrity: sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz} + name: '@types/istanbul-lib-coverage' + version: 2.0.3 + dev: true + + registry.nlark.com/@types/istanbul-lib-report/3.0.0: + resolution: {integrity: sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz} + name: '@types/istanbul-lib-report' + version: 3.0.0 + dependencies: + '@types/istanbul-lib-coverage': registry.nlark.com/@types/istanbul-lib-coverage/2.0.3 + dev: true + + registry.nlark.com/@types/istanbul-reports/1.1.2: + resolution: {integrity: sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz} + name: '@types/istanbul-reports' + version: 1.1.2 + dependencies: + '@types/istanbul-lib-coverage': registry.nlark.com/@types/istanbul-lib-coverage/2.0.3 + '@types/istanbul-lib-report': registry.nlark.com/@types/istanbul-lib-report/3.0.0 + dev: true + + registry.nlark.com/@types/jest/24.9.1: + resolution: {integrity: sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/jest/download/@types/jest-24.9.1.tgz} + name: '@types/jest' + version: 24.9.1 + dependencies: + jest-diff: registry.npmmirror.com/jest-diff/24.9.0 + dev: true + + registry.nlark.com/@types/json-schema/7.0.9: + resolution: {integrity: sha1-l+3JA36gw4WFMgsolk3eOznkZg0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz} + name: '@types/json-schema' + version: 7.0.9 + dev: true + + registry.nlark.com/@types/minimatch/3.0.5: + resolution: {integrity: sha1-EAHMXmo3BLg8I2An538vWOoBD0A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz} + name: '@types/minimatch' + version: 3.0.5 + dev: true + + registry.nlark.com/@types/normalize-package-data/2.4.1: + resolution: {integrity: sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz} + name: '@types/normalize-package-data' + version: 2.4.1 + dev: true + + registry.nlark.com/@types/q/1.5.5: + resolution: {integrity: sha1-daKo59irSyMEFFBdkjNdHctTpt8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/q/download/@types/q-1.5.5.tgz} + name: '@types/q' + version: 1.5.5 + dev: true + + registry.nlark.com/@types/stack-utils/1.0.1: + resolution: {integrity: sha1-CoUdO9lkmPolwzq3J47TvWXwbD4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz} + name: '@types/stack-utils' + version: 1.0.1 + dev: true + + registry.nlark.com/@types/yargs-parser/20.2.1: + resolution: {integrity: sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz} + name: '@types/yargs-parser' + version: 20.2.1 + dev: true + + registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/1.2.1: + resolution: {integrity: sha1-MWJKelBfsU2h1YAjclpMXycOaoE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz} + name: '@vue/babel-helper-vue-jsx-merge-props' + version: 1.2.1 + dev: true + + registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.16.0: + resolution: {integrity: sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz} + id: registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/1.2.1 + name: '@vue/babel-plugin-transform-vue-jsx' + version: 1.2.1 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + '@vue/babel-helper-vue-jsx-merge-props': registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/1.2.1 + html-tags: registry.nlark.com/html-tags/2.0.0 + lodash.kebabcase: registry.npmmirror.com/lodash.kebabcase/4.1.1 + svg-tags: registry.nlark.com/svg-tags/1.0.0 + dev: true + + registry.nlark.com/@vue/babel-preset-jsx/1.2.4_@babel+core@7.16.0: + resolution: {integrity: sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz} + id: registry.nlark.com/@vue/babel-preset-jsx/1.2.4 + name: '@vue/babel-preset-jsx' + version: 1.2.4 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@vue/babel-helper-vue-jsx-merge-props': registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/1.2.1 + '@vue/babel-plugin-transform-vue-jsx': registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.16.0 + '@vue/babel-sugar-composition-api-inject-h': registry.nlark.com/@vue/babel-sugar-composition-api-inject-h/1.2.1_@babel+core@7.16.0 + '@vue/babel-sugar-composition-api-render-instance': registry.nlark.com/@vue/babel-sugar-composition-api-render-instance/1.2.4_@babel+core@7.16.0 + '@vue/babel-sugar-functional-vue': registry.nlark.com/@vue/babel-sugar-functional-vue/1.2.2_@babel+core@7.16.0 + '@vue/babel-sugar-inject-h': registry.nlark.com/@vue/babel-sugar-inject-h/1.2.2_@babel+core@7.16.0 + '@vue/babel-sugar-v-model': registry.nlark.com/@vue/babel-sugar-v-model/1.2.3_@babel+core@7.16.0 + '@vue/babel-sugar-v-on': registry.nlark.com/@vue/babel-sugar-v-on/1.2.3_@babel+core@7.16.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-composition-api-inject-h/1.2.1_@babel+core@7.16.0: + resolution: {integrity: sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz} + id: registry.nlark.com/@vue/babel-sugar-composition-api-inject-h/1.2.1 + name: '@vue/babel-sugar-composition-api-inject-h' + version: 1.2.1 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-composition-api-render-instance/1.2.4_@babel+core@7.16.0: + resolution: {integrity: sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz} + id: registry.nlark.com/@vue/babel-sugar-composition-api-render-instance/1.2.4 + name: '@vue/babel-sugar-composition-api-render-instance' + version: 1.2.4 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-functional-vue/1.2.2_@babel+core@7.16.0: + resolution: {integrity: sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz} + id: registry.nlark.com/@vue/babel-sugar-functional-vue/1.2.2 + name: '@vue/babel-sugar-functional-vue' + version: 1.2.2 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-inject-h/1.2.2_@babel+core@7.16.0: + resolution: {integrity: sha1-1zjTyJM2fshJHcu2abAAkZKT46o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz} + id: registry.nlark.com/@vue/babel-sugar-inject-h/1.2.2 + name: '@vue/babel-sugar-inject-h' + version: 1.2.2 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-v-model/1.2.3_@babel+core@7.16.0: + resolution: {integrity: sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz} + id: registry.nlark.com/@vue/babel-sugar-v-model/1.2.3 + name: '@vue/babel-sugar-v-model' + version: 1.2.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + '@vue/babel-helper-vue-jsx-merge-props': registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/1.2.1 + '@vue/babel-plugin-transform-vue-jsx': registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.16.0 + camelcase: registry.nlark.com/camelcase/5.3.1 + html-tags: registry.nlark.com/html-tags/2.0.0 + svg-tags: registry.nlark.com/svg-tags/1.0.0 + dev: true + + registry.nlark.com/@vue/babel-sugar-v-on/1.2.3_@babel+core@7.16.0: + resolution: {integrity: sha1-NCNnF4WGpp85LwS/ujICHQKROto=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz} + id: registry.nlark.com/@vue/babel-sugar-v-on/1.2.3 + name: '@vue/babel-sugar-v-on' + version: 1.2.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + '@vue/babel-plugin-transform-vue-jsx': registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.16.0 + camelcase: registry.nlark.com/camelcase/5.3.1 + dev: true + + registry.nlark.com/@vue/preload-webpack-plugin/1.1.2_502c618fc8a7d35df07e93275324a2d0: + resolution: {integrity: sha1-zrkktOyzucQ4ccekKaAvhCPmIas=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz} + id: registry.nlark.com/@vue/preload-webpack-plugin/1.1.2 + name: '@vue/preload-webpack-plugin' + version: 1.1.2 + engines: {node: '>=6.0.0'} + peerDependencies: + html-webpack-plugin: '>=2.26.0' + webpack: '>=4.0.0' + dependencies: + html-webpack-plugin: registry.npmmirror.com/html-webpack-plugin/3.2.0_webpack@4.46.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/@vue/web-component-wrapper/1.3.0: + resolution: {integrity: sha1-trQKdiVCnSvXwigd26YB7QXcfxo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz} + name: '@vue/web-component-wrapper' + version: 1.3.0 + dev: true + + registry.nlark.com/@webassemblyjs/floating-point-hex-parser/1.9.0: + resolution: {integrity: sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz} + name: '@webassemblyjs/floating-point-hex-parser' + version: 1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/helper-fsm/1.9.0: + resolution: {integrity: sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz} + name: '@webassemblyjs/helper-fsm' + version: 1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/helper-module-context/1.9.0: + resolution: {integrity: sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz} + name: '@webassemblyjs/helper-module-context' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/utf8/1.9.0: + resolution: {integrity: sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz} + name: '@webassemblyjs/utf8' + version: 1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/wasm-edit/1.9.0: + resolution: {integrity: sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz} + name: '@webassemblyjs/wasm-edit' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.9.0 + '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0 + '@webassemblyjs/helper-wasm-section': registry.npmmirror.com/@webassemblyjs/helper-wasm-section/1.9.0 + '@webassemblyjs/wasm-gen': registry.nlark.com/@webassemblyjs/wasm-gen/1.9.0 + '@webassemblyjs/wasm-opt': registry.npmmirror.com/@webassemblyjs/wasm-opt/1.9.0 + '@webassemblyjs/wasm-parser': registry.nlark.com/@webassemblyjs/wasm-parser/1.9.0 + '@webassemblyjs/wast-printer': registry.npmmirror.com/@webassemblyjs/wast-printer/1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/wasm-gen/1.9.0: + resolution: {integrity: sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz} + name: '@webassemblyjs/wasm-gen' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0 + '@webassemblyjs/ieee754': registry.npmmirror.com/@webassemblyjs/ieee754/1.9.0 + '@webassemblyjs/leb128': registry.npmmirror.com/@webassemblyjs/leb128/1.9.0 + '@webassemblyjs/utf8': registry.nlark.com/@webassemblyjs/utf8/1.9.0 + dev: true + + registry.nlark.com/@webassemblyjs/wasm-parser/1.9.0: + resolution: {integrity: sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz} + name: '@webassemblyjs/wasm-parser' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-api-error': registry.npmmirror.com/@webassemblyjs/helper-api-error/1.9.0 + '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0 + '@webassemblyjs/ieee754': registry.npmmirror.com/@webassemblyjs/ieee754/1.9.0 + '@webassemblyjs/leb128': registry.npmmirror.com/@webassemblyjs/leb128/1.9.0 + '@webassemblyjs/utf8': registry.nlark.com/@webassemblyjs/utf8/1.9.0 + dev: true + + registry.nlark.com/@xtuc/ieee754/1.2.0: + resolution: {integrity: sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz} + name: '@xtuc/ieee754' + version: 1.2.0 + dev: true + + registry.nlark.com/abab/2.0.5: + resolution: {integrity: sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/abab/download/abab-2.0.5.tgz} + name: abab + version: 2.0.5 + dev: true + + registry.nlark.com/abbrev/1.1.1: + resolution: {integrity: sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz} + name: abbrev + version: 1.1.1 + dev: true + + registry.nlark.com/accepts/1.3.7: + resolution: {integrity: sha1-UxvHJlF6OytB+FACHGzBXqq1B80=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz} + name: accepts + version: 1.3.7 + engines: {node: '>= 0.6'} + dependencies: + mime-types: registry.npmmirror.com/mime-types/2.1.34 + negotiator: registry.npmmirror.com/negotiator/0.6.2 + dev: true + + registry.nlark.com/acorn-globals/4.3.4: + resolution: {integrity: sha1-n6GSat3BHJcwjE5m163Q1Awycuc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn-globals/download/acorn-globals-4.3.4.tgz} + name: acorn-globals + version: 4.3.4 + dependencies: + acorn: registry.nlark.com/acorn/6.4.2 + acorn-walk: registry.nlark.com/acorn-walk/6.2.0 + dev: true + + registry.nlark.com/acorn-jsx/5.3.2_acorn@7.4.1: + resolution: {integrity: sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz} + id: registry.nlark.com/acorn-jsx/5.3.2 + name: acorn-jsx + version: 5.3.2 + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + dev: true + + registry.nlark.com/acorn-walk/6.2.0: + resolution: {integrity: sha1-Ejy487hMIXHx9/slJhWxx4prGow=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn-walk/download/acorn-walk-6.2.0.tgz} + name: acorn-walk + version: 6.2.0 + engines: {node: '>=0.4.0'} + dev: true + + registry.nlark.com/acorn-walk/7.2.0: + resolution: {integrity: sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz} + name: acorn-walk + version: 7.2.0 + engines: {node: '>=0.4.0'} + dev: true + + registry.nlark.com/acorn/5.7.4: + resolution: {integrity: sha1-Po2KmUfQWZoXltECJddDL0pKz14=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-5.7.4.tgz} + name: acorn + version: 5.7.4 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.nlark.com/acorn/6.4.2: + resolution: {integrity: sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz} + name: acorn + version: 6.4.2 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.nlark.com/acorn/7.4.1: + resolution: {integrity: sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz} + name: acorn + version: 7.4.1 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.nlark.com/address/1.1.2: + resolution: {integrity: sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/address/download/address-1.1.2.tgz} + name: address + version: 1.1.2 + engines: {node: '>= 0.12.0'} + dev: true + + registry.nlark.com/aggregate-error/3.1.0: + resolution: {integrity: sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/aggregate-error/download/aggregate-error-3.1.0.tgz} + name: aggregate-error + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + clean-stack: registry.nlark.com/clean-stack/2.2.0 + indent-string: registry.nlark.com/indent-string/4.0.0 + dev: true + + registry.nlark.com/ajv-errors/1.0.1_ajv@6.12.6: + resolution: {integrity: sha1-81mGrOuRr63sQQL72FAUlQzvpk0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz} + id: registry.nlark.com/ajv-errors/1.0.1 + name: ajv-errors + version: 1.0.1 + peerDependencies: + ajv: '>=5.0.0' + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + dev: true + + registry.nlark.com/ajv-keywords/3.5.2_ajv@6.12.6: + resolution: {integrity: sha1-MfKdpatuANHC0yms97WSlhTVAU0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz} + id: registry.nlark.com/ajv-keywords/3.5.2 + name: ajv-keywords + version: 3.5.2 + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + dev: true + + registry.nlark.com/alphanum-sort/1.0.2: + resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz} + name: alphanum-sort + version: 1.0.2 + dev: true + + registry.nlark.com/ansi-colors/3.2.4: + resolution: {integrity: sha1-46PaS/uubIapwoViXeEkojQCb78=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-colors/download/ansi-colors-3.2.4.tgz} + name: ansi-colors + version: 3.2.4 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/ansi-escapes/3.2.0: + resolution: {integrity: sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz} + name: ansi-escapes + version: 3.2.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/ansi-escapes/4.3.2: + resolution: {integrity: sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz} + name: ansi-escapes + version: 4.3.2 + engines: {node: '>=8'} + dependencies: + type-fest: registry.npmmirror.com/type-fest/0.21.3 + dev: true + + registry.nlark.com/ansi-regex/2.1.1: + resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz} + name: ansi-regex + version: 2.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/ansi-regex/3.0.0: + resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz} + name: ansi-regex + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/ansi-regex/4.1.0: + resolution: {integrity: sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz} + name: ansi-regex + version: 4.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/ansi-regex/5.0.1: + resolution: {integrity: sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz} + name: ansi-regex + version: 5.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/ansi-styles/2.2.1: + resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz} + name: ansi-styles + version: 2.2.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/ansi-styles/3.2.1: + resolution: {integrity: sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz} + name: ansi-styles + version: 3.2.1 + engines: {node: '>=4'} + dependencies: + color-convert: registry.nlark.com/color-convert/1.9.3 + dev: true + + registry.nlark.com/ansi-styles/4.3.0: + resolution: {integrity: sha1-7dgDYornHATIWuegkG7a00tkiTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz} + name: ansi-styles + version: 4.3.0 + engines: {node: '>=8'} + dependencies: + color-convert: registry.nlark.com/color-convert/2.0.1 + + registry.nlark.com/any-promise/1.3.0: + resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/any-promise/download/any-promise-1.3.0.tgz} + name: any-promise + version: 1.3.0 + dev: true + + registry.nlark.com/anymatch/2.0.0: + resolution: {integrity: sha1-vLJLTzeTTZqnrBe0ra+J58du8us=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz} + name: anymatch + version: 2.0.0 + dependencies: + micromatch: registry.nlark.com/micromatch/3.1.10 + normalize-path: registry.nlark.com/normalize-path/2.1.1 + dev: true + + registry.nlark.com/anymatch/3.1.2: + resolution: {integrity: sha1-wFV8CWrzLxBhmPT04qODU343hxY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz} + name: anymatch + version: 3.1.2 + engines: {node: '>= 8'} + dependencies: + normalize-path: registry.nlark.com/normalize-path/3.0.0 + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + registry.nlark.com/aproba/1.2.0: + resolution: {integrity: sha1-aALmJk79GMeQobDVF/DyYnvyyUo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz} + name: aproba + version: 1.2.0 + dev: true + + registry.nlark.com/arch/2.2.0: + resolution: {integrity: sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arch/download/arch-2.2.0.tgz} + name: arch + version: 2.2.0 + dev: true + + registry.nlark.com/argparse/1.0.10: + resolution: {integrity: sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz} + name: argparse + version: 1.0.10 + dependencies: + sprintf-js: registry.nlark.com/sprintf-js/1.0.3 + dev: true + + registry.nlark.com/arr-diff/2.0.0: + resolution: {integrity: sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arr-diff/download/arr-diff-2.0.0.tgz} + name: arr-diff + version: 2.0.0 + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: registry.nlark.com/arr-flatten/1.1.0 + dev: true + + registry.nlark.com/arr-diff/4.0.0: + resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz} + name: arr-diff + version: 4.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/arr-flatten/1.1.0: + resolution: {integrity: sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz} + name: arr-flatten + version: 1.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/arr-union/3.1.0: + resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz} + name: arr-union + version: 3.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/array-equal/1.0.0: + resolution: {integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-equal/download/array-equal-1.0.0.tgz} + name: array-equal + version: 1.0.0 + dev: true + + registry.nlark.com/array-flatten/1.1.1: + resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz} + name: array-flatten + version: 1.1.1 + dev: true + + registry.nlark.com/array-flatten/2.1.2: + resolution: {integrity: sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz} + name: array-flatten + version: 2.1.2 + dev: true + + registry.nlark.com/array-union/1.0.2: + resolution: {integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz} + name: array-union + version: 1.0.2 + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: registry.nlark.com/array-uniq/1.0.3 + dev: true + + registry.nlark.com/array-uniq/1.0.3: + resolution: {integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz} + name: array-uniq + version: 1.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/array-unique/0.2.1: + resolution: {integrity: sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-unique/download/array-unique-0.2.1.tgz} + name: array-unique + version: 0.2.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/array-unique/0.3.2: + resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz} + name: array-unique + version: 0.3.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/arrify/1.0.1: + resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz} + name: arrify + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/assert-plus/1.0.0: + resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz} + name: assert-plus + version: 1.0.0 + engines: {node: '>=0.8'} + dev: true + + registry.nlark.com/assert/1.5.0: + resolution: {integrity: sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/assert/download/assert-1.5.0.tgz} + name: assert + version: 1.5.0 + dependencies: + object-assign: registry.nlark.com/object-assign/4.1.1 + util: registry.nlark.com/util/0.10.3 + dev: true + + registry.nlark.com/assign-symbols/1.0.0: + resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/assign-symbols/download/assign-symbols-1.0.0.tgz} + name: assign-symbols + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/astral-regex/1.0.0: + resolution: {integrity: sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/astral-regex/download/astral-regex-1.0.0.tgz} + name: astral-regex + version: 1.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/async-each/1.0.3: + resolution: {integrity: sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/async-each/download/async-each-1.0.3.tgz} + name: async-each + version: 1.0.3 + dev: true + + registry.nlark.com/async-limiter/1.0.1: + resolution: {integrity: sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/async-limiter/download/async-limiter-1.0.1.tgz} + name: async-limiter + version: 1.0.1 + dev: true + + registry.nlark.com/asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/asynckit/download/asynckit-0.4.0.tgz} + name: asynckit + version: 0.4.0 + dev: true + + registry.nlark.com/atob/2.1.2: + resolution: {integrity: sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/atob/download/atob-2.1.2.tgz} + name: atob + version: 2.1.2 + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + registry.nlark.com/aws-sign2/0.7.0: + resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/aws-sign2/download/aws-sign2-0.7.0.tgz} + name: aws-sign2 + version: 0.7.0 + dev: true + + registry.nlark.com/aws4/1.11.0: + resolution: {integrity: sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz} + name: aws4 + version: 1.11.0 + dev: true + + registry.nlark.com/babel-code-frame/6.26.0: + resolution: {integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz} + name: babel-code-frame + version: 6.26.0 + dependencies: + chalk: registry.nlark.com/chalk/1.1.3 + esutils: registry.nlark.com/esutils/2.0.3 + js-tokens: registry.nlark.com/js-tokens/3.0.2 + dev: true + + registry.nlark.com/babel-helper-vue-jsx-merge-props/2.0.3: + resolution: {integrity: sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz} + name: babel-helper-vue-jsx-merge-props + version: 2.0.3 + dev: false + + registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3: + resolution: {integrity: sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz} + name: babel-plugin-dynamic-import-node + version: 2.3.3 + dependencies: + object.assign: registry.nlark.com/object.assign/4.1.2 + dev: true + + registry.nlark.com/babel-plugin-jest-hoist/23.2.0: + resolution: {integrity: sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-23.2.0.tgz} + name: babel-plugin-jest-hoist + version: 23.2.0 + dev: true + + registry.nlark.com/babel-plugin-jest-hoist/24.9.0: + resolution: {integrity: sha1-T4NwketAfgFEfIhDy+xUbQAC11Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz} + name: babel-plugin-jest-hoist + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@types/babel__traverse': registry.nlark.com/@types/babel__traverse/7.14.2 + dev: true + + registry.nlark.com/babel-plugin-syntax-object-rest-spread/6.13.0: + resolution: {integrity: sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz} + name: babel-plugin-syntax-object-rest-spread + version: 6.13.0 + dev: true + + registry.nlark.com/babel-preset-jest/23.2.0: + resolution: {integrity: sha1-jsegOhOPABoaj7HoETZSvxpV2kY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-preset-jest/download/babel-preset-jest-23.2.0.tgz} + name: babel-preset-jest + version: 23.2.0 + dependencies: + babel-plugin-jest-hoist: registry.nlark.com/babel-plugin-jest-hoist/23.2.0 + babel-plugin-syntax-object-rest-spread: registry.nlark.com/babel-plugin-syntax-object-rest-spread/6.13.0 + dev: true + + registry.nlark.com/babel-preset-jest/24.9.0_@babel+core@7.16.0: + resolution: {integrity: sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz} + id: registry.nlark.com/babel-preset-jest/24.9.0 + name: babel-preset-jest + version: 24.9.0 + engines: {node: '>= 6'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-syntax-object-rest-spread': registry.nlark.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0 + babel-plugin-jest-hoist: registry.nlark.com/babel-plugin-jest-hoist/24.9.0 + dev: true + + registry.nlark.com/babel-runtime/6.26.0: + resolution: {integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-runtime/download/babel-runtime-6.26.0.tgz} + name: babel-runtime + version: 6.26.0 + dependencies: + core-js: registry.npmmirror.com/core-js/2.6.12 + regenerator-runtime: registry.nlark.com/regenerator-runtime/0.11.1 + + registry.nlark.com/babel-template/6.26.0: + resolution: {integrity: sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-template/download/babel-template-6.26.0.tgz} + name: babel-template + version: 6.26.0 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + babel-traverse: registry.npmmirror.com/babel-traverse/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + babylon: registry.nlark.com/babylon/6.18.0 + lodash: registry.nlark.com/lodash/4.17.21 + dev: true + + registry.nlark.com/babel-types/6.26.0: + resolution: {integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-types/download/babel-types-6.26.0.tgz} + name: babel-types + version: 6.26.0 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + esutils: registry.nlark.com/esutils/2.0.3 + lodash: registry.nlark.com/lodash/4.17.21 + to-fast-properties: registry.nlark.com/to-fast-properties/1.0.3 + dev: true + + registry.nlark.com/babylon/6.18.0: + resolution: {integrity: sha1-ry87iPpvXB5MY00aD46sT1WzleM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babylon/download/babylon-6.18.0.tgz} + name: babylon + version: 6.18.0 + hasBin: true + dev: true + + registry.nlark.com/balanced-match/1.0.2: + resolution: {integrity: sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz} + name: balanced-match + version: 1.0.2 + + registry.nlark.com/base/0.11.2: + resolution: {integrity: sha1-e95c7RRbbVUakNuH+DxVi060io8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/base/download/base-0.11.2.tgz} + name: base + version: 0.11.2 + engines: {node: '>=0.10.0'} + dependencies: + cache-base: registry.npmmirror.com/cache-base/1.0.1 + class-utils: registry.nlark.com/class-utils/0.3.6 + component-emitter: registry.nlark.com/component-emitter/1.3.0 + define-property: registry.nlark.com/define-property/1.0.0 + isobject: registry.nlark.com/isobject/3.0.1 + mixin-deep: registry.nlark.com/mixin-deep/1.3.2 + pascalcase: registry.nlark.com/pascalcase/0.1.1 + dev: true + + registry.nlark.com/base64-js/1.5.1: + resolution: {integrity: sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz} + name: base64-js + version: 1.5.1 + dev: true + + registry.nlark.com/bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz} + name: bcrypt-pbkdf + version: 1.0.2 + dependencies: + tweetnacl: registry.nlark.com/tweetnacl/0.14.5 + dev: true + + registry.nlark.com/bfj/6.1.2: + resolution: {integrity: sha1-MlyGGoIryzWKQceKM7jm4ght3n8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bfj/download/bfj-6.1.2.tgz} + name: bfj + version: 6.1.2 + engines: {node: '>= 6.0.0'} + dependencies: + bluebird: registry.nlark.com/bluebird/3.7.2 + check-types: registry.nlark.com/check-types/8.0.3 + hoopy: registry.nlark.com/hoopy/0.1.4 + tryer: registry.nlark.com/tryer/1.0.1 + dev: true + + registry.nlark.com/big.js/3.2.0: + resolution: {integrity: sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/big.js/download/big.js-3.2.0.tgz} + name: big.js + version: 3.2.0 + dev: true + + registry.nlark.com/big.js/5.2.2: + resolution: {integrity: sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz} + name: big.js + version: 5.2.2 + + registry.nlark.com/binary-extensions/1.13.1: + resolution: {integrity: sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz} + name: binary-extensions + version: 1.13.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/binary-extensions/2.2.0: + resolution: {integrity: sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz} + name: binary-extensions + version: 2.2.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/bindings/1.5.0: + resolution: {integrity: sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bindings/download/bindings-1.5.0.tgz} + name: bindings + version: 1.5.0 + dependencies: + file-uri-to-path: registry.nlark.com/file-uri-to-path/1.0.0 + dev: true + + registry.nlark.com/bluebird/3.7.2: + resolution: {integrity: sha1-nyKcFb4nJFT/qXOs4NvueaGww28=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz} + name: bluebird + version: 3.7.2 + dev: true + + registry.nlark.com/bn.js/4.12.0: + resolution: {integrity: sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bn.js/download/bn.js-4.12.0.tgz} + name: bn.js + version: 4.12.0 + dev: true + + registry.nlark.com/bn.js/5.2.0: + resolution: {integrity: sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bn.js/download/bn.js-5.2.0.tgz} + name: bn.js + version: 5.2.0 + dev: true + + registry.nlark.com/body-parser/1.19.0: + resolution: {integrity: sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/body-parser/download/body-parser-1.19.0.tgz} + name: body-parser + version: 1.19.0 + engines: {node: '>= 0.8'} + dependencies: + bytes: registry.nlark.com/bytes/3.1.0 + content-type: registry.nlark.com/content-type/1.0.4 + debug: registry.npmmirror.com/debug/2.6.9 + depd: registry.nlark.com/depd/1.1.2 + http-errors: registry.nlark.com/http-errors/1.7.2 + iconv-lite: registry.nlark.com/iconv-lite/0.4.24 + on-finished: registry.nlark.com/on-finished/2.3.0 + qs: registry.nlark.com/qs/6.7.0 + raw-body: registry.npmmirror.com/raw-body/2.4.0 + type-is: registry.nlark.com/type-is/1.6.18 + dev: true + + registry.nlark.com/bonjour/3.5.0: + resolution: {integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz} + name: bonjour + version: 3.5.0 + dependencies: + array-flatten: registry.nlark.com/array-flatten/2.1.2 + deep-equal: registry.nlark.com/deep-equal/1.1.1 + dns-equal: registry.nlark.com/dns-equal/1.0.0 + dns-txt: registry.nlark.com/dns-txt/2.0.2 + multicast-dns: registry.npmmirror.com/multicast-dns/6.2.3 + multicast-dns-service-types: registry.nlark.com/multicast-dns-service-types/1.1.0 + dev: true + + registry.nlark.com/boolbase/1.0.0: + resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz} + name: boolbase + version: 1.0.0 + dev: true + + registry.nlark.com/brace-expansion/1.1.11: + resolution: {integrity: sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz} + name: brace-expansion + version: 1.1.11 + dependencies: + balanced-match: registry.nlark.com/balanced-match/1.0.2 + concat-map: registry.nlark.com/concat-map/0.0.1 + + registry.nlark.com/braces/1.8.5: + resolution: {integrity: sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/braces/download/braces-1.8.5.tgz} + name: braces + version: 1.8.5 + engines: {node: '>=0.10.0'} + dependencies: + expand-range: registry.nlark.com/expand-range/1.8.2 + preserve: registry.nlark.com/preserve/0.2.0 + repeat-element: registry.nlark.com/repeat-element/1.1.4 + dev: true + + registry.nlark.com/braces/2.3.2: + resolution: {integrity: sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/braces/download/braces-2.3.2.tgz} + name: braces + version: 2.3.2 + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: registry.nlark.com/arr-flatten/1.1.0 + array-unique: registry.nlark.com/array-unique/0.3.2 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + fill-range: registry.nlark.com/fill-range/4.0.0 + isobject: registry.nlark.com/isobject/3.0.1 + repeat-element: registry.nlark.com/repeat-element/1.1.4 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + snapdragon-node: registry.nlark.com/snapdragon-node/2.1.1 + split-string: registry.nlark.com/split-string/3.1.0 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/braces/3.0.2: + resolution: {integrity: sha1-NFThpGLujVmeI23zNs2epPiv4Qc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/braces/download/braces-3.0.2.tgz} + name: braces + version: 3.0.2 + engines: {node: '>=8'} + dependencies: + fill-range: registry.nlark.com/fill-range/7.0.1 + dev: true + + registry.nlark.com/brorand/1.1.0: + resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz} + name: brorand + version: 1.1.0 + dev: true + + registry.nlark.com/browser-process-hrtime/1.0.0: + resolution: {integrity: sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz} + name: browser-process-hrtime + version: 1.0.0 + dev: true + + registry.nlark.com/browser-resolve/1.11.3: + resolution: {integrity: sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browser-resolve/download/browser-resolve-1.11.3.tgz} + name: browser-resolve + version: 1.11.3 + dependencies: + resolve: registry.nlark.com/resolve/1.1.7 + dev: true + + registry.nlark.com/browserify-aes/1.2.0: + resolution: {integrity: sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-aes/download/browserify-aes-1.2.0.tgz} + name: browserify-aes + version: 1.2.0 + dependencies: + buffer-xor: registry.nlark.com/buffer-xor/1.0.3 + cipher-base: registry.nlark.com/cipher-base/1.0.4 + create-hash: registry.nlark.com/create-hash/1.2.0 + evp_bytestokey: registry.nlark.com/evp_bytestokey/1.0.3 + inherits: registry.nlark.com/inherits/2.0.4 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/browserify-cipher/1.0.1: + resolution: {integrity: sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz} + name: browserify-cipher + version: 1.0.1 + dependencies: + browserify-aes: registry.nlark.com/browserify-aes/1.2.0 + browserify-des: registry.nlark.com/browserify-des/1.0.2 + evp_bytestokey: registry.nlark.com/evp_bytestokey/1.0.3 + dev: true + + registry.nlark.com/browserify-des/1.0.2: + resolution: {integrity: sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-des/download/browserify-des-1.0.2.tgz} + name: browserify-des + version: 1.0.2 + dependencies: + cipher-base: registry.nlark.com/cipher-base/1.0.4 + des.js: registry.npmmirror.com/des.js/1.0.1 + inherits: registry.nlark.com/inherits/2.0.4 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/browserify-rsa/4.1.0: + resolution: {integrity: sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz} + name: browserify-rsa + version: 4.1.0 + dependencies: + bn.js: registry.nlark.com/bn.js/5.2.0 + randombytes: registry.nlark.com/randombytes/2.1.0 + dev: true + + registry.nlark.com/browserify-sign/4.2.1: + resolution: {integrity: sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-sign/download/browserify-sign-4.2.1.tgz} + name: browserify-sign + version: 4.2.1 + dependencies: + bn.js: registry.nlark.com/bn.js/5.2.0 + browserify-rsa: registry.nlark.com/browserify-rsa/4.1.0 + create-hash: registry.nlark.com/create-hash/1.2.0 + create-hmac: registry.nlark.com/create-hmac/1.1.7 + elliptic: registry.nlark.com/elliptic/6.5.4 + inherits: registry.nlark.com/inherits/2.0.4 + parse-asn1: registry.nlark.com/parse-asn1/5.1.6 + readable-stream: registry.nlark.com/readable-stream/3.6.0 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/browserify-zlib/0.2.0: + resolution: {integrity: sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz} + name: browserify-zlib + version: 0.2.0 + dependencies: + pako: registry.nlark.com/pako/1.0.11 + dev: true + + registry.nlark.com/bser/2.1.1: + resolution: {integrity: sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bser/download/bser-2.1.1.tgz} + name: bser + version: 2.1.1 + dependencies: + node-int64: registry.nlark.com/node-int64/0.4.0 + dev: true + + registry.nlark.com/buffer-from/1.1.2: + resolution: {integrity: sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz} + name: buffer-from + version: 1.1.2 + dev: true + + registry.nlark.com/buffer-indexof/1.1.1: + resolution: {integrity: sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz} + name: buffer-indexof + version: 1.1.1 + dev: true + + registry.nlark.com/buffer-xor/1.0.3: + resolution: {integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/buffer-xor/download/buffer-xor-1.0.3.tgz} + name: buffer-xor + version: 1.0.3 + dev: true + + registry.nlark.com/buffer/4.9.2: + resolution: {integrity: sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/buffer/download/buffer-4.9.2.tgz} + name: buffer + version: 4.9.2 + dependencies: + base64-js: registry.nlark.com/base64-js/1.5.1 + ieee754: registry.nlark.com/ieee754/1.2.1 + isarray: registry.nlark.com/isarray/1.0.0 + dev: true + + registry.nlark.com/bytes/3.0.0: + resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bytes/download/bytes-3.0.0.tgz} + name: bytes + version: 3.0.0 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/bytes/3.1.0: + resolution: {integrity: sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bytes/download/bytes-3.1.0.tgz} + name: bytes + version: 3.1.0 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/cacache/12.0.4: + resolution: {integrity: sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cacache/download/cacache-12.0.4.tgz} + name: cacache + version: 12.0.4 + dependencies: + bluebird: registry.nlark.com/bluebird/3.7.2 + chownr: registry.nlark.com/chownr/1.1.4 + figgy-pudding: registry.nlark.com/figgy-pudding/3.5.2 + glob: registry.npmmirror.com/glob/7.2.0 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + infer-owner: registry.nlark.com/infer-owner/1.0.4 + lru-cache: registry.nlark.com/lru-cache/5.1.1 + mississippi: registry.nlark.com/mississippi/3.0.0 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + move-concurrently: registry.nlark.com/move-concurrently/1.0.1 + promise-inflight: registry.nlark.com/promise-inflight/1.0.1 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + ssri: registry.nlark.com/ssri/6.0.2 + unique-filename: registry.nlark.com/unique-filename/1.1.1 + y18n: registry.nlark.com/y18n/4.0.3 + dev: true + + registry.nlark.com/cacache/13.0.1: + resolution: {integrity: sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cacache/download/cacache-13.0.1.tgz} + name: cacache + version: 13.0.1 + engines: {node: '>= 8'} + dependencies: + chownr: registry.nlark.com/chownr/1.1.4 + figgy-pudding: registry.nlark.com/figgy-pudding/3.5.2 + fs-minipass: registry.nlark.com/fs-minipass/2.1.0 + glob: registry.npmmirror.com/glob/7.2.0 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + infer-owner: registry.nlark.com/infer-owner/1.0.4 + lru-cache: registry.nlark.com/lru-cache/5.1.1 + minipass: registry.nlark.com/minipass/3.1.5 + minipass-collect: registry.npmmirror.com/minipass-collect/1.0.2 + minipass-flush: registry.npmmirror.com/minipass-flush/1.0.5 + minipass-pipeline: registry.npmmirror.com/minipass-pipeline/1.2.4 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + move-concurrently: registry.nlark.com/move-concurrently/1.0.1 + p-map: registry.npmmirror.com/p-map/3.0.0 + promise-inflight: registry.nlark.com/promise-inflight/1.0.1 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + ssri: registry.nlark.com/ssri/7.1.1 + unique-filename: registry.nlark.com/unique-filename/1.1.1 + dev: true + + registry.nlark.com/cache-loader/4.1.0_webpack@4.46.0: + resolution: {integrity: sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cache-loader/download/cache-loader-4.1.0.tgz} + id: registry.nlark.com/cache-loader/4.1.0 + name: cache-loader + version: 4.1.0 + engines: {node: '>= 8.9.0'} + peerDependencies: + webpack: ^4.0.0 + dependencies: + buffer-json: registry.npmmirror.com/buffer-json/2.0.0 + find-cache-dir: registry.nlark.com/find-cache-dir/3.3.2 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + neo-async: registry.nlark.com/neo-async/2.6.2 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/call-bind/1.0.2: + resolution: {integrity: sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz} + name: call-bind + version: 1.0.2 + dependencies: + function-bind: registry.nlark.com/function-bind/1.1.1 + get-intrinsic: registry.nlark.com/get-intrinsic/1.1.1 + + registry.nlark.com/call-me-maybe/1.0.1: + resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz} + name: call-me-maybe + version: 1.0.1 + dev: true + + registry.nlark.com/callsites/2.0.0: + resolution: {integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/callsites/download/callsites-2.0.0.tgz} + name: callsites + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/callsites/3.1.0: + resolution: {integrity: sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz} + name: callsites + version: 3.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/camel-case/3.0.0: + resolution: {integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camel-case/download/camel-case-3.0.0.tgz} + name: camel-case + version: 3.0.0 + dependencies: + no-case: registry.nlark.com/no-case/2.3.2 + upper-case: registry.nlark.com/upper-case/1.1.3 + dev: true + + registry.nlark.com/camelcase/1.2.1: + resolution: {integrity: sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camelcase/download/camelcase-1.2.1.tgz} + name: camelcase + version: 1.2.1 + engines: {node: '>=0.10.0'} + dev: false + + registry.nlark.com/camelcase/4.1.0: + resolution: {integrity: sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camelcase/download/camelcase-4.1.0.tgz} + name: camelcase + version: 4.1.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/camelcase/5.3.1: + resolution: {integrity: sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz} + name: camelcase + version: 5.3.1 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/camelcase/6.2.0: + resolution: {integrity: sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camelcase/download/camelcase-6.2.0.tgz} + name: camelcase + version: 6.2.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/caniuse-api/3.0.0: + resolution: {integrity: sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/caniuse-api/download/caniuse-api-3.0.0.tgz} + name: caniuse-api + version: 3.0.0 + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001280 + lodash.memoize: registry.nlark.com/lodash.memoize/4.1.2 + lodash.uniq: registry.nlark.com/lodash.uniq/4.5.0 + dev: true + + registry.nlark.com/capture-exit/2.0.0: + resolution: {integrity: sha1-+5U7+uvreB9iiYI52rtCbQilCaQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/capture-exit/download/capture-exit-2.0.0.tgz} + name: capture-exit + version: 2.0.0 + engines: {node: 6.* || 8.* || >= 10.*} + dependencies: + rsvp: registry.nlark.com/rsvp/4.8.5 + dev: true + + registry.nlark.com/case-sensitive-paths-webpack-plugin/2.4.0: + resolution: {integrity: sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz} + name: case-sensitive-paths-webpack-plugin + version: 2.4.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/caseless/0.12.0: + resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/caseless/download/caseless-0.12.0.tgz} + name: caseless + version: 0.12.0 + dev: true + + registry.nlark.com/chalk/1.1.3: + resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz} + name: chalk + version: 1.1.3 + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/2.2.1 + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + has-ansi: registry.nlark.com/has-ansi/2.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/3.0.1 + supports-color: registry.nlark.com/supports-color/2.0.0 + dev: true + + registry.nlark.com/chalk/2.3.0: + resolution: {integrity: sha1-tepI78nBeT3MybR2fJORTT8tUro=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-2.3.0.tgz} + name: chalk + version: 2.3.0 + engines: {node: '>=4'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + supports-color: registry.nlark.com/supports-color/4.5.0 + dev: true + + registry.nlark.com/chalk/2.4.2: + resolution: {integrity: sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz} + name: chalk + version: 2.4.2 + engines: {node: '>=4'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + supports-color: registry.nlark.com/supports-color/5.5.0 + dev: true + + registry.nlark.com/chalk/4.1.2: + resolution: {integrity: sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz} + name: chalk + version: 4.1.2 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + supports-color: registry.nlark.com/supports-color/7.2.0 + + registry.nlark.com/check-types/8.0.3: + resolution: {integrity: sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/check-types/download/check-types-8.0.3.tgz} + name: check-types + version: 8.0.3 + dev: true + + registry.nlark.com/chownr/1.1.4: + resolution: {integrity: sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz} + name: chownr + version: 1.1.4 + dev: true + + registry.nlark.com/chrome-trace-event/1.0.3: + resolution: {integrity: sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz} + name: chrome-trace-event + version: 1.0.3 + engines: {node: '>=6.0'} + dev: true + + registry.nlark.com/ci-info/1.6.0: + resolution: {integrity: sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ci-info/download/ci-info-1.6.0.tgz} + name: ci-info + version: 1.6.0 + dev: true + + registry.nlark.com/ci-info/2.0.0: + resolution: {integrity: sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ci-info/download/ci-info-2.0.0.tgz} + name: ci-info + version: 2.0.0 + dev: true + + registry.nlark.com/cipher-base/1.0.4: + resolution: {integrity: sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz} + name: cipher-base + version: 1.0.4 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/class-utils/0.3.6: + resolution: {integrity: sha1-+TNprouafOAv1B+q0MqDAzGQxGM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz} + name: class-utils + version: 0.3.6 + engines: {node: '>=0.10.0'} + dependencies: + arr-union: registry.nlark.com/arr-union/3.1.0 + define-property: registry.nlark.com/define-property/0.2.5 + isobject: registry.nlark.com/isobject/3.0.1 + static-extend: registry.nlark.com/static-extend/0.1.2 + dev: true + + registry.nlark.com/clean-stack/2.2.0: + resolution: {integrity: sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clean-stack/download/clean-stack-2.2.0.tgz} + name: clean-stack + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/cli-cursor/2.1.0: + resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-cursor/download/cli-cursor-2.1.0.tgz} + name: cli-cursor + version: 2.1.0 + engines: {node: '>=4'} + dependencies: + restore-cursor: registry.nlark.com/restore-cursor/2.0.0 + dev: true + + registry.nlark.com/cli-cursor/3.1.0: + resolution: {integrity: sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-cursor/download/cli-cursor-3.1.0.tgz} + name: cli-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + restore-cursor: registry.nlark.com/restore-cursor/3.1.0 + dev: true + + registry.nlark.com/cli-width/3.0.0: + resolution: {integrity: sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-width/download/cli-width-3.0.0.tgz} + name: cli-width + version: 3.0.0 + engines: {node: '>= 10'} + dev: true + + registry.nlark.com/cliui/5.0.0: + resolution: {integrity: sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz} + name: cliui + version: 5.0.0 + dependencies: + string-width: registry.npmmirror.com/string-width/3.1.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + wrap-ansi: registry.nlark.com/wrap-ansi/5.1.0 + dev: true + + registry.nlark.com/cliui/6.0.0: + resolution: {integrity: sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz} + name: cliui + version: 6.0.0 + dependencies: + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + wrap-ansi: registry.nlark.com/wrap-ansi/6.2.0 + dev: true + + registry.nlark.com/cliui/7.0.4: + resolution: {integrity: sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz} + name: cliui + version: 7.0.4 + dependencies: + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + wrap-ansi: registry.nlark.com/wrap-ansi/7.0.0 + dev: true + + registry.nlark.com/clone-deep/4.0.1: + resolution: {integrity: sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz} + name: clone-deep + version: 4.0.1 + engines: {node: '>=6'} + dependencies: + is-plain-object: registry.nlark.com/is-plain-object/2.0.4 + kind-of: registry.nlark.com/kind-of/6.0.3 + shallow-clone: registry.nlark.com/shallow-clone/3.0.1 + dev: true + + registry.nlark.com/clone/1.0.4: + resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clone/download/clone-1.0.4.tgz?cache=0&sync_timestamp=1631667556292&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclone%2Fdownload%2Fclone-1.0.4.tgz} + name: clone + version: 1.0.4 + engines: {node: '>=0.8'} + dev: true + + registry.nlark.com/clone/2.1.2: + resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clone/download/clone-2.1.2.tgz?cache=0&sync_timestamp=1631667556292&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclone%2Fdownload%2Fclone-2.1.2.tgz} + name: clone + version: 2.1.2 + engines: {node: '>=0.8'} + dev: true + + registry.nlark.com/co/4.6.0: + resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/co/download/co-4.6.0.tgz} + name: co + version: 4.6.0 + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + registry.nlark.com/collection-visit/1.0.0: + resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz} + name: collection-visit + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + map-visit: registry.nlark.com/map-visit/1.0.0 + object-visit: registry.nlark.com/object-visit/1.0.1 + dev: true + + registry.nlark.com/color-convert/1.9.3: + resolution: {integrity: sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz} + name: color-convert + version: 1.9.3 + dependencies: + color-name: registry.nlark.com/color-name/1.1.3 + dev: true + + registry.nlark.com/color-convert/2.0.1: + resolution: {integrity: sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz} + name: color-convert + version: 2.0.1 + engines: {node: '>=7.0.0'} + dependencies: + color-name: registry.nlark.com/color-name/1.1.4 + + registry.nlark.com/color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color-name/download/color-name-1.1.3.tgz} + name: color-name + version: 1.1.3 + dev: true + + registry.nlark.com/color-name/1.1.4: + resolution: {integrity: sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz} + name: color-name + version: 1.1.4 + + registry.nlark.com/color-string/1.6.0: + resolution: {integrity: sha1-w5FfYf4mdnLLfh4GTJ1pIhn2wxI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color-string/download/color-string-1.6.0.tgz} + name: color-string + version: 1.6.0 + dependencies: + color-name: registry.nlark.com/color-name/1.1.4 + simple-swizzle: registry.npmmirror.com/simple-swizzle/0.2.2 + dev: true + + registry.nlark.com/color/3.2.1: + resolution: {integrity: sha1-NUTcGYyvRJDD7MmnkLVP6f9F4WQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/color/download/color-3.2.1.tgz} + name: color + version: 3.2.1 + dependencies: + color-convert: registry.nlark.com/color-convert/1.9.3 + color-string: registry.nlark.com/color-string/1.6.0 + dev: true + + registry.nlark.com/combined-stream/1.0.8: + resolution: {integrity: sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz} + name: combined-stream + version: 1.0.8 + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: registry.nlark.com/delayed-stream/1.0.0 + dev: true + + registry.nlark.com/commondir/1.0.1: + resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz} + name: commondir + version: 1.0.1 + dev: true + + registry.nlark.com/component-emitter/1.3.0: + resolution: {integrity: sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz} + name: component-emitter + version: 1.3.0 + dev: true + + registry.nlark.com/compressible/2.0.18: + resolution: {integrity: sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/compressible/download/compressible-2.0.18.tgz} + name: compressible + version: 2.0.18 + engines: {node: '>= 0.6'} + dependencies: + mime-db: registry.npmmirror.com/mime-db/1.51.0 + dev: true + + registry.nlark.com/compression/1.7.4: + resolution: {integrity: sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/compression/download/compression-1.7.4.tgz} + name: compression + version: 1.7.4 + engines: {node: '>= 0.8.0'} + dependencies: + accepts: registry.nlark.com/accepts/1.3.7 + bytes: registry.nlark.com/bytes/3.0.0 + compressible: registry.nlark.com/compressible/2.0.18 + debug: registry.npmmirror.com/debug/2.6.9 + on-headers: registry.nlark.com/on-headers/1.0.2 + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + vary: registry.nlark.com/vary/1.1.2 + dev: true + + registry.nlark.com/concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz} + name: concat-map + version: 0.0.1 + + registry.nlark.com/concat-stream/1.6.2: + resolution: {integrity: sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/concat-stream/download/concat-stream-1.6.2.tgz} + name: concat-stream + version: 1.6.2 + engines: {'0': node >= 0.8} + dependencies: + buffer-from: registry.nlark.com/buffer-from/1.1.2 + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + typedarray: registry.nlark.com/typedarray/0.0.6 + dev: true + + registry.nlark.com/config-chain/1.1.13: + resolution: {integrity: sha1-+tB5Wqamza/57Rto6d/5Q3LCMvQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/config-chain/download/config-chain-1.1.13.tgz} + name: config-chain + version: 1.1.13 + dependencies: + ini: registry.nlark.com/ini/1.3.8 + proto-list: registry.nlark.com/proto-list/1.2.4 + dev: true + + registry.nlark.com/connect-history-api-fallback/1.6.0: + resolution: {integrity: sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz} + name: connect-history-api-fallback + version: 1.6.0 + engines: {node: '>=0.8'} + dev: true + + registry.nlark.com/connect/3.6.6: + resolution: {integrity: sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/connect/download/connect-3.6.6.tgz} + name: connect + version: 3.6.6 + engines: {node: '>= 0.10.0'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + finalhandler: registry.nlark.com/finalhandler/1.1.0 + parseurl: registry.nlark.com/parseurl/1.3.3 + utils-merge: registry.nlark.com/utils-merge/1.0.1 + dev: true + + registry.nlark.com/console-browserify/1.2.0: + resolution: {integrity: sha1-ZwY871fOts9Jk6KrOlWECujEkzY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/console-browserify/download/console-browserify-1.2.0.tgz} + name: console-browserify + version: 1.2.0 + dev: true + + registry.nlark.com/consolidate/0.15.1: + resolution: {integrity: sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/consolidate/download/consolidate-0.15.1.tgz} + name: consolidate + version: 0.15.1 + engines: {node: '>= 0.10.0'} + dependencies: + bluebird: registry.nlark.com/bluebird/3.7.2 + dev: true + + registry.nlark.com/constants-browserify/1.0.0: + resolution: {integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz} + name: constants-browserify + version: 1.0.0 + dev: true + + registry.nlark.com/content-type/1.0.4: + resolution: {integrity: sha1-4TjMdeBAxyexlm/l5fjJruJW/js=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/content-type/download/content-type-1.0.4.tgz} + name: content-type + version: 1.0.4 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/convert-source-map/1.8.0: + resolution: {integrity: sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz} + name: convert-source-map + version: 1.8.0 + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + dev: true + + registry.nlark.com/cookie/0.4.0: + resolution: {integrity: sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cookie/download/cookie-0.4.0.tgz} + name: cookie + version: 0.4.0 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/copy-concurrently/1.0.5: + resolution: {integrity: sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz} + name: copy-concurrently + version: 1.0.5 + dependencies: + aproba: registry.nlark.com/aproba/1.2.0 + fs-write-stream-atomic: registry.npmmirror.com/fs-write-stream-atomic/1.0.10 + iferr: registry.nlark.com/iferr/0.1.5 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + run-queue: registry.nlark.com/run-queue/1.0.3 + dev: true + + registry.nlark.com/copy-descriptor/0.1.1: + resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz} + name: copy-descriptor + version: 0.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz} + name: core-util-is + version: 1.0.2 + dev: true + + registry.nlark.com/core-util-is/1.0.3: + resolution: {integrity: sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz} + name: core-util-is + version: 1.0.3 + dev: true + + registry.nlark.com/cosmiconfig/5.2.1: + resolution: {integrity: sha1-BA9yaAnFked6F8CjYmykW08Wixo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz} + name: cosmiconfig + version: 5.2.1 + engines: {node: '>=4'} + dependencies: + import-fresh: registry.nlark.com/import-fresh/2.0.0 + is-directory: registry.nlark.com/is-directory/0.3.1 + js-yaml: registry.nlark.com/js-yaml/3.14.1 + parse-json: registry.npmmirror.com/parse-json/4.0.0 + dev: true + + registry.nlark.com/create-ecdh/4.0.4: + resolution: {integrity: sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz} + name: create-ecdh + version: 4.0.4 + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + elliptic: registry.nlark.com/elliptic/6.5.4 + dev: true + + registry.nlark.com/create-hash/1.2.0: + resolution: {integrity: sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz} + name: create-hash + version: 1.2.0 + dependencies: + cipher-base: registry.nlark.com/cipher-base/1.0.4 + inherits: registry.nlark.com/inherits/2.0.4 + md5.js: registry.nlark.com/md5.js/1.3.5 + ripemd160: registry.nlark.com/ripemd160/2.0.2 + sha.js: registry.nlark.com/sha.js/2.4.11 + dev: true + + registry.nlark.com/create-hmac/1.1.7: + resolution: {integrity: sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/create-hmac/download/create-hmac-1.1.7.tgz} + name: create-hmac + version: 1.1.7 + dependencies: + cipher-base: registry.nlark.com/cipher-base/1.0.4 + create-hash: registry.nlark.com/create-hash/1.2.0 + inherits: registry.nlark.com/inherits/2.0.4 + ripemd160: registry.nlark.com/ripemd160/2.0.2 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + sha.js: registry.nlark.com/sha.js/2.4.11 + dev: true + + registry.nlark.com/cross-spawn/5.1.0: + resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cross-spawn/download/cross-spawn-5.1.0.tgz} + name: cross-spawn + version: 5.1.0 + dependencies: + lru-cache: registry.nlark.com/lru-cache/4.1.5 + shebang-command: registry.nlark.com/shebang-command/1.2.0 + which: registry.nlark.com/which/1.3.1 + dev: true + + registry.nlark.com/cross-spawn/6.0.5: + resolution: {integrity: sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cross-spawn/download/cross-spawn-6.0.5.tgz} + name: cross-spawn + version: 6.0.5 + engines: {node: '>=4.8'} + dependencies: + nice-try: registry.nlark.com/nice-try/1.0.5 + path-key: registry.nlark.com/path-key/2.0.1 + semver: registry.nlark.com/semver/5.7.1 + shebang-command: registry.nlark.com/shebang-command/1.2.0 + which: registry.nlark.com/which/1.3.1 + dev: true + + registry.nlark.com/cross-spawn/7.0.3: + resolution: {integrity: sha1-9zqFudXUHQRVUcF34ogtSshXKKY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz} + name: cross-spawn + version: 7.0.3 + engines: {node: '>= 8'} + dependencies: + path-key: registry.nlark.com/path-key/3.1.1 + shebang-command: registry.nlark.com/shebang-command/2.0.0 + which: registry.nlark.com/which/2.0.2 + dev: true + + registry.nlark.com/crypto-browserify/3.12.0: + resolution: {integrity: sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz} + name: crypto-browserify + version: 3.12.0 + dependencies: + browserify-cipher: registry.nlark.com/browserify-cipher/1.0.1 + browserify-sign: registry.nlark.com/browserify-sign/4.2.1 + create-ecdh: registry.nlark.com/create-ecdh/4.0.4 + create-hash: registry.nlark.com/create-hash/1.2.0 + create-hmac: registry.nlark.com/create-hmac/1.1.7 + diffie-hellman: registry.nlark.com/diffie-hellman/5.0.3 + inherits: registry.nlark.com/inherits/2.0.4 + pbkdf2: registry.nlark.com/pbkdf2/3.1.2 + public-encrypt: registry.nlark.com/public-encrypt/4.0.3 + randombytes: registry.nlark.com/randombytes/2.1.0 + randomfill: registry.nlark.com/randomfill/1.0.4 + dev: true + + registry.nlark.com/css-color-names/0.0.4: + resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-color-names/download/css-color-names-0.0.4.tgz} + name: css-color-names + version: 0.0.4 + dev: true + + registry.nlark.com/css-declaration-sorter/4.0.1: + resolution: {integrity: sha1-wZiUD2OnbX42wecQGLABchBUyyI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz} + name: css-declaration-sorter + version: 4.0.1 + engines: {node: '>4'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + timsort: registry.nlark.com/timsort/0.3.0 + dev: true + + registry.nlark.com/css-select-base-adapter/0.1.1: + resolution: {integrity: sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz} + name: css-select-base-adapter + version: 0.1.1 + dev: true + + registry.nlark.com/css-select/2.1.0: + resolution: {integrity: sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-select/download/css-select-2.1.0.tgz} + name: css-select + version: 2.1.0 + dependencies: + boolbase: registry.nlark.com/boolbase/1.0.0 + css-what: registry.npmmirror.com/css-what/3.4.2 + domutils: registry.nlark.com/domutils/1.7.0 + nth-check: registry.nlark.com/nth-check/1.0.2 + dev: true + + registry.nlark.com/css-select/4.1.3: + resolution: {integrity: sha1-pwRA9wMX8maRGK10/xBeZYSccGc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz} + name: css-select + version: 4.1.3 + dependencies: + boolbase: registry.nlark.com/boolbase/1.0.0 + css-what: registry.npmmirror.com/css-what/5.1.0 + domhandler: registry.nlark.com/domhandler/4.2.2 + domutils: registry.nlark.com/domutils/2.8.0 + nth-check: registry.nlark.com/nth-check/2.0.1 + dev: true + + registry.nlark.com/css-tree/1.0.0-alpha.28: + resolution: {integrity: sha1-joloGQ2IbJR3vI1h6W9hrz9/+n8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-tree/download/css-tree-1.0.0-alpha.28.tgz} + name: css-tree + version: 1.0.0-alpha.28 + engines: {node: '>=0.10.0'} + dependencies: + mdn-data: registry.nlark.com/mdn-data/1.1.4 + source-map: registry.nlark.com/source-map/0.5.7 + dev: true + + registry.nlark.com/css-tree/1.0.0-alpha.29: + resolution: {integrity: sha1-P6nU7zFCy9HDAedmTB81K9gvWjk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-tree/download/css-tree-1.0.0-alpha.29.tgz} + name: css-tree + version: 1.0.0-alpha.29 + engines: {node: '>=0.10.0'} + dependencies: + mdn-data: registry.nlark.com/mdn-data/1.1.4 + source-map: registry.nlark.com/source-map/0.5.7 + dev: true + + registry.nlark.com/css/2.2.4: + resolution: {integrity: sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css/download/css-2.2.4.tgz} + name: css + version: 2.2.4 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + source-map: registry.nlark.com/source-map/0.6.1 + source-map-resolve: registry.nlark.com/source-map-resolve/0.5.3 + urix: registry.npmmirror.com/urix/0.1.0 + dev: true + + registry.nlark.com/cssesc/3.0.0: + resolution: {integrity: sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz} + name: cssesc + version: 3.0.0 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.nlark.com/cssnano-util-get-arguments/4.0.0: + resolution: {integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz} + name: cssnano-util-get-arguments + version: 4.0.0 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/cssnano-util-get-match/4.0.0: + resolution: {integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz} + name: cssnano-util-get-match + version: 4.0.0 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/cssnano-util-raw-cache/4.0.1: + resolution: {integrity: sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz} + name: cssnano-util-raw-cache + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/cssnano-util-same-parent/4.0.1: + resolution: {integrity: sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz} + name: cssnano-util-same-parent + version: 4.0.1 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/csso/3.5.1: + resolution: {integrity: sha1-e564vmFiiXPBsmHhadLwJACOdYs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/csso/download/csso-3.5.1.tgz} + name: csso + version: 3.5.1 + engines: {node: '>=0.10.0'} + dependencies: + css-tree: registry.nlark.com/css-tree/1.0.0-alpha.29 + dev: true + + registry.nlark.com/cssom/0.3.8: + resolution: {integrity: sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssom/download/cssom-0.3.8.tgz} + name: cssom + version: 0.3.8 + dev: true + + registry.nlark.com/cssom/0.4.4: + resolution: {integrity: sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssom/download/cssom-0.4.4.tgz} + name: cssom + version: 0.4.4 + dev: true + + registry.nlark.com/cssstyle/1.4.0: + resolution: {integrity: sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssstyle/download/cssstyle-1.4.0.tgz} + name: cssstyle + version: 1.4.0 + dependencies: + cssom: registry.nlark.com/cssom/0.3.8 + dev: true + + registry.nlark.com/cssstyle/2.3.0: + resolution: {integrity: sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cssstyle/download/cssstyle-2.3.0.tgz} + name: cssstyle + version: 2.3.0 + engines: {node: '>=8'} + dependencies: + cssom: registry.nlark.com/cssom/0.3.8 + dev: true + + registry.nlark.com/cyclist/1.0.1: + resolution: {integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cyclist/download/cyclist-1.0.1.tgz} + name: cyclist + version: 1.0.1 + dev: true + + registry.nlark.com/dashdash/1.14.1: + resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dashdash/download/dashdash-1.14.1.tgz} + name: dashdash + version: 1.14.1 + engines: {node: '>=0.10'} + dependencies: + assert-plus: registry.nlark.com/assert-plus/1.0.0 + dev: true + + registry.nlark.com/de-indent/1.0.2: + resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/de-indent/download/de-indent-1.0.2.tgz} + name: de-indent + version: 1.0.2 + dev: true + + registry.nlark.com/decode-uri-component/0.2.0: + resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz} + name: decode-uri-component + version: 0.2.0 + engines: {node: '>=0.10'} + dev: true + + registry.nlark.com/deep-equal/1.1.1: + resolution: {integrity: sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz} + name: deep-equal + version: 1.1.1 + dependencies: + is-arguments: registry.nlark.com/is-arguments/1.1.1 + is-date-object: registry.nlark.com/is-date-object/1.0.5 + is-regex: registry.nlark.com/is-regex/1.1.4 + object-is: registry.nlark.com/object-is/1.1.5 + object-keys: registry.nlark.com/object-keys/1.1.1 + regexp.prototype.flags: registry.nlark.com/regexp.prototype.flags/1.3.1 + dev: true + + registry.nlark.com/deep-is/0.1.4: + resolution: {integrity: sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz} + name: deep-is + version: 0.1.4 + dev: true + + registry.nlark.com/deepmerge/1.3.2: + resolution: {integrity: sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/deepmerge/download/deepmerge-1.3.2.tgz} + name: deepmerge + version: 1.3.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/deepmerge/1.5.2: + resolution: {integrity: sha1-EEmdhohEza1P7ghC34x/bwyVp1M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/deepmerge/download/deepmerge-1.5.2.tgz} + name: deepmerge + version: 1.5.2 + engines: {node: '>=0.10.0'} + + registry.nlark.com/deepmerge/4.2.2: + resolution: {integrity: sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/deepmerge/download/deepmerge-4.2.2.tgz} + name: deepmerge + version: 4.2.2 + engines: {node: '>=0.10.0'} + + registry.nlark.com/defaults/1.0.3: + resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/defaults/download/defaults-1.0.3.tgz} + name: defaults + version: 1.0.3 + dependencies: + clone: registry.nlark.com/clone/1.0.4 + dev: true + + registry.nlark.com/define-properties/1.1.3: + resolution: {integrity: sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz} + name: define-properties + version: 1.1.3 + engines: {node: '>= 0.4'} + dependencies: + object-keys: registry.nlark.com/object-keys/1.1.1 + dev: true + + registry.nlark.com/define-property/0.2.5: + resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz} + name: define-property + version: 0.2.5 + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: registry.nlark.com/is-descriptor/0.1.6 + dev: true + + registry.nlark.com/define-property/1.0.0: + resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz} + name: define-property + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: registry.nlark.com/is-descriptor/1.0.2 + dev: true + + registry.nlark.com/define-property/2.0.2: + resolution: {integrity: sha1-1Flono1lS6d+AqgX+HENcCyxbp0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz} + name: define-property + version: 2.0.2 + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: registry.nlark.com/is-descriptor/1.0.2 + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/del/4.1.1: + resolution: {integrity: sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/del/download/del-4.1.1.tgz} + name: del + version: 4.1.1 + engines: {node: '>=6'} + dependencies: + '@types/glob': registry.npmmirror.com/@types/glob/7.2.0 + globby: registry.nlark.com/globby/6.1.0 + is-path-cwd: registry.nlark.com/is-path-cwd/2.2.0 + is-path-in-cwd: registry.nlark.com/is-path-in-cwd/2.1.0 + p-map: registry.npmmirror.com/p-map/2.1.0 + pify: registry.nlark.com/pify/4.0.1 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + dev: true + + registry.nlark.com/delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz} + name: delayed-stream + version: 1.0.0 + engines: {node: '>=0.4.0'} + dev: true + + registry.nlark.com/depd/1.1.2: + resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/depd/download/depd-1.1.2.tgz} + name: depd + version: 1.1.2 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/destroy/1.0.4: + resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz} + name: destroy + version: 1.0.4 + dev: true + + registry.nlark.com/detect-indent/4.0.0: + resolution: {integrity: sha1-920GQ1LN9Docts5hnE7jqUdd4gg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/detect-indent/download/detect-indent-4.0.0.tgz?cache=0&sync_timestamp=1631603545757&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-indent%2Fdownload%2Fdetect-indent-4.0.0.tgz} + name: detect-indent + version: 4.0.0 + engines: {node: '>=0.10.0'} + dependencies: + repeating: registry.nlark.com/repeating/2.0.1 + dev: true + + registry.nlark.com/detect-node/2.1.0: + resolution: {integrity: sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz} + name: detect-node + version: 2.1.0 + dev: true + + registry.nlark.com/diff-sequences/24.9.0: + resolution: {integrity: sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/diff-sequences/download/diff-sequences-24.9.0.tgz} + name: diff-sequences + version: 24.9.0 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/diffie-hellman/5.0.3: + resolution: {integrity: sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz} + name: diffie-hellman + version: 5.0.3 + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + miller-rabin: registry.nlark.com/miller-rabin/4.0.1 + randombytes: registry.nlark.com/randombytes/2.1.0 + dev: true + + registry.nlark.com/dir-glob/2.2.2: + resolution: {integrity: sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dir-glob/download/dir-glob-2.2.2.tgz} + name: dir-glob + version: 2.2.2 + engines: {node: '>=4'} + dependencies: + path-type: registry.nlark.com/path-type/3.0.0 + dev: true + + registry.nlark.com/dns-equal/1.0.0: + resolution: {integrity: sha1-s55/HabrCnW6nBcySzR1PEfgZU0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dns-equal/download/dns-equal-1.0.0.tgz} + name: dns-equal + version: 1.0.0 + dev: true + + registry.nlark.com/dns-packet/1.3.4: + resolution: {integrity: sha1-40VQZYJKJQe6iGxVqJljuxB97G8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz} + name: dns-packet + version: 1.3.4 + dependencies: + ip: registry.nlark.com/ip/1.1.5 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/dns-txt/2.0.2: + resolution: {integrity: sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dns-txt/download/dns-txt-2.0.2.tgz} + name: dns-txt + version: 2.0.2 + dependencies: + buffer-indexof: registry.nlark.com/buffer-indexof/1.1.1 + dev: true + + registry.nlark.com/doctrine/3.0.0: + resolution: {integrity: sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz} + name: doctrine + version: 3.0.0 + engines: {node: '>=6.0.0'} + dependencies: + esutils: registry.nlark.com/esutils/2.0.3 + dev: true + + registry.nlark.com/dom-converter/0.2.0: + resolution: {integrity: sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-converter/download/dom-converter-0.2.0.tgz} + name: dom-converter + version: 0.2.0 + dependencies: + utila: registry.nlark.com/utila/0.4.0 + dev: true + + registry.nlark.com/dom-serializer/0.2.2: + resolution: {integrity: sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz} + name: dom-serializer + version: 0.2.2 + dependencies: + domelementtype: registry.nlark.com/domelementtype/2.2.0 + entities: registry.nlark.com/entities/2.2.0 + dev: true + + registry.nlark.com/dom-serializer/1.3.2: + resolution: {integrity: sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz} + name: dom-serializer + version: 1.3.2 + dependencies: + domelementtype: registry.nlark.com/domelementtype/2.2.0 + domhandler: registry.nlark.com/domhandler/4.2.2 + entities: registry.nlark.com/entities/2.2.0 + dev: true + + registry.nlark.com/domain-browser/1.2.0: + resolution: {integrity: sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz} + name: domain-browser + version: 1.2.0 + engines: {node: '>=0.4', npm: '>=1.2'} + dev: true + + registry.nlark.com/domelementtype/1.3.1: + resolution: {integrity: sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domelementtype/download/domelementtype-1.3.1.tgz} + name: domelementtype + version: 1.3.1 + dev: true + + registry.nlark.com/domelementtype/2.2.0: + resolution: {integrity: sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz} + name: domelementtype + version: 2.2.0 + dev: true + + registry.nlark.com/domhandler/2.4.2: + resolution: {integrity: sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz} + name: domhandler + version: 2.4.2 + dependencies: + domelementtype: registry.nlark.com/domelementtype/1.3.1 + dev: true + + registry.nlark.com/domhandler/4.2.2: + resolution: {integrity: sha1-6CXXIdGahrjCAaNSZOImxnjudV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz} + name: domhandler + version: 4.2.2 + engines: {node: '>= 4'} + dependencies: + domelementtype: registry.nlark.com/domelementtype/2.2.0 + dev: true + + registry.nlark.com/domutils/1.7.0: + resolution: {integrity: sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz} + name: domutils + version: 1.7.0 + dependencies: + dom-serializer: registry.nlark.com/dom-serializer/0.2.2 + domelementtype: registry.nlark.com/domelementtype/1.3.1 + dev: true + + registry.nlark.com/domutils/2.8.0: + resolution: {integrity: sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz} + name: domutils + version: 2.8.0 + dependencies: + dom-serializer: registry.nlark.com/dom-serializer/1.3.2 + domelementtype: registry.nlark.com/domelementtype/2.2.0 + domhandler: registry.nlark.com/domhandler/4.2.2 + dev: true + + registry.nlark.com/dot-prop/5.3.0: + resolution: {integrity: sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dot-prop/download/dot-prop-5.3.0.tgz} + name: dot-prop + version: 5.3.0 + engines: {node: '>=8'} + dependencies: + is-obj: registry.nlark.com/is-obj/2.0.0 + dev: true + + registry.nlark.com/dotenv-expand/5.1.0: + resolution: {integrity: sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dotenv-expand/download/dotenv-expand-5.1.0.tgz} + name: dotenv-expand + version: 5.1.0 + dev: true + + registry.nlark.com/dotenv/8.6.0: + resolution: {integrity: sha1-Bhr2ZNGff02PxuT/m1hM4jety4s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dotenv/download/dotenv-8.6.0.tgz} + name: dotenv + version: 8.6.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/duplexer/0.1.2: + resolution: {integrity: sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/duplexer/download/duplexer-0.1.2.tgz} + name: duplexer + version: 0.1.2 + dev: true + + registry.nlark.com/duplexify/3.7.1: + resolution: {integrity: sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/duplexify/download/duplexify-3.7.1.tgz} + name: duplexify + version: 3.7.1 + dependencies: + end-of-stream: registry.nlark.com/end-of-stream/1.4.4 + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + stream-shift: registry.nlark.com/stream-shift/1.0.1 + dev: true + + registry.nlark.com/easy-stack/1.0.1: + resolution: {integrity: sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/easy-stack/download/easy-stack-1.0.1.tgz} + name: easy-stack + version: 1.0.1 + engines: {node: '>=6.0.0'} + dev: true + + registry.nlark.com/ecc-jsbn/0.1.2: + resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz} + name: ecc-jsbn + version: 0.1.2 + dependencies: + jsbn: registry.nlark.com/jsbn/0.1.1 + safer-buffer: registry.nlark.com/safer-buffer/2.1.2 + dev: true + + registry.nlark.com/ee-first/1.1.1: + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ee-first/download/ee-first-1.1.1.tgz} + name: ee-first + version: 1.1.1 + dev: true + + registry.nlark.com/elliptic/6.5.4: + resolution: {integrity: sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz} + name: elliptic + version: 6.5.4 + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + brorand: registry.nlark.com/brorand/1.1.0 + hash.js: registry.nlark.com/hash.js/1.1.7 + hmac-drbg: registry.nlark.com/hmac-drbg/1.0.1 + inherits: registry.nlark.com/inherits/2.0.4 + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + minimalistic-crypto-utils: registry.nlark.com/minimalistic-crypto-utils/1.0.1 + dev: true + + registry.nlark.com/emojis-list/2.1.0: + resolution: {integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/emojis-list/download/emojis-list-2.1.0.tgz} + name: emojis-list + version: 2.1.0 + engines: {node: '>= 0.10'} + dev: true + + registry.nlark.com/emojis-list/3.0.0: + resolution: {integrity: sha1-VXBmIEatKeLpFucariYKvf9Pang=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz} + name: emojis-list + version: 3.0.0 + engines: {node: '>= 4'} + + registry.nlark.com/encodeurl/1.0.2: + resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz} + name: encodeurl + version: 1.0.2 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/end-of-stream/1.4.4: + resolution: {integrity: sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/end-of-stream/download/end-of-stream-1.4.4.tgz} + name: end-of-stream + version: 1.4.4 + dependencies: + once: registry.nlark.com/once/1.4.0 + dev: true + + registry.nlark.com/enhanced-resolve/4.5.0: + resolution: {integrity: sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz} + name: enhanced-resolve + version: 4.5.0 + engines: {node: '>=6.9.0'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + memory-fs: registry.nlark.com/memory-fs/0.5.0 + tapable: registry.nlark.com/tapable/1.1.3 + dev: true + + registry.nlark.com/entities/1.1.2: + resolution: {integrity: sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-1.1.2.tgz} + name: entities + version: 1.1.2 + dev: true + + registry.nlark.com/entities/2.2.0: + resolution: {integrity: sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-2.2.0.tgz} + name: entities + version: 2.2.0 + dev: true + + registry.nlark.com/errno/0.1.8: + resolution: {integrity: sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/errno/download/errno-0.1.8.tgz} + name: errno + version: 0.1.8 + hasBin: true + dependencies: + prr: registry.nlark.com/prr/1.0.1 + dev: true + + registry.nlark.com/error-ex/1.3.2: + resolution: {integrity: sha1-tKxAZIEH/c3PriQvQovqihTU8b8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/error-ex/download/error-ex-1.3.2.tgz} + name: error-ex + version: 1.3.2 + dependencies: + is-arrayish: registry.nlark.com/is-arrayish/0.2.1 + dev: true + + registry.nlark.com/error-stack-parser/2.0.6: + resolution: {integrity: sha1-WpmnB716TFinl5AtSNgoA+3mqtg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/error-stack-parser/download/error-stack-parser-2.0.6.tgz} + name: error-stack-parser + version: 2.0.6 + dependencies: + stackframe: registry.nlark.com/stackframe/1.2.0 + dev: true + + registry.nlark.com/es-to-primitive/1.2.1: + resolution: {integrity: sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz} + name: es-to-primitive + version: 1.2.1 + engines: {node: '>= 0.4'} + dependencies: + is-callable: registry.nlark.com/is-callable/1.2.4 + is-date-object: registry.nlark.com/is-date-object/1.0.5 + is-symbol: registry.nlark.com/is-symbol/1.0.4 + dev: true + + registry.nlark.com/escalade/3.1.1: + resolution: {integrity: sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz} + name: escalade + version: 3.1.1 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/escape-html/1.0.3: + resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-html/download/escape-html-1.0.3.tgz} + name: escape-html + version: 1.0.3 + dev: true + + registry.nlark.com/escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1631603499629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz} + name: escape-string-regexp + version: 1.0.5 + engines: {node: '>=0.8.0'} + dev: true + + registry.nlark.com/escape-string-regexp/2.0.0: + resolution: {integrity: sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz?cache=0&sync_timestamp=1631603499629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-2.0.0.tgz} + name: escape-string-regexp + version: 2.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/escodegen/1.14.3: + resolution: {integrity: sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escodegen/download/escodegen-1.14.3.tgz} + name: escodegen + version: 1.14.3 + engines: {node: '>=4.0'} + hasBin: true + dependencies: + esprima: registry.nlark.com/esprima/4.0.1 + estraverse: registry.npmmirror.com/estraverse/4.3.0 + esutils: registry.nlark.com/esutils/2.0.3 + optionator: registry.nlark.com/optionator/0.8.3 + optionalDependencies: + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.nlark.com/eslint-scope/4.0.3: + resolution: {integrity: sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-scope/download/eslint-scope-4.0.3.tgz} + name: eslint-scope + version: 4.0.3 + engines: {node: '>=4.0.0'} + dependencies: + esrecurse: registry.nlark.com/esrecurse/4.3.0 + estraverse: registry.npmmirror.com/estraverse/4.3.0 + dev: true + + registry.nlark.com/eslint-scope/5.1.1: + resolution: {integrity: sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz} + name: eslint-scope + version: 5.1.1 + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: registry.nlark.com/esrecurse/4.3.0 + estraverse: registry.npmmirror.com/estraverse/4.3.0 + dev: true + + registry.nlark.com/eslint-utils/1.4.3: + resolution: {integrity: sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-utils/download/eslint-utils-1.4.3.tgz} + name: eslint-utils + version: 1.4.3 + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/1.3.0 + dev: true + + registry.nlark.com/espree/6.2.1: + resolution: {integrity: sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/espree/download/espree-6.2.1.tgz} + name: espree + version: 6.2.1 + engines: {node: '>=6.0.0'} + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + acorn-jsx: registry.nlark.com/acorn-jsx/5.3.2_acorn@7.4.1 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/1.3.0 + dev: true + + registry.nlark.com/esprima/4.0.1: + resolution: {integrity: sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz} + name: esprima + version: 4.0.1 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.nlark.com/esquery/1.4.0: + resolution: {integrity: sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz} + name: esquery + version: 1.4.0 + engines: {node: '>=0.10'} + dependencies: + estraverse: registry.npmmirror.com/estraverse/5.3.0 + dev: true + + registry.nlark.com/esrecurse/4.3.0: + resolution: {integrity: sha1-eteWTWeauyi+5yzsY3WLHF0smSE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz} + name: esrecurse + version: 4.3.0 + engines: {node: '>=4.0'} + dependencies: + estraverse: registry.npmmirror.com/estraverse/5.3.0 + dev: true + + registry.nlark.com/esutils/2.0.3: + resolution: {integrity: sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz} + name: esutils + version: 2.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/etag/1.8.1: + resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/etag/download/etag-1.8.1.tgz} + name: etag + version: 1.8.1 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/eventemitter3/4.0.7: + resolution: {integrity: sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eventemitter3/download/eventemitter3-4.0.7.tgz} + name: eventemitter3 + version: 4.0.7 + dev: true + + registry.nlark.com/eventsource/1.1.0: + resolution: {integrity: sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eventsource/download/eventsource-1.1.0.tgz} + name: eventsource + version: 1.1.0 + engines: {node: '>=0.12.0'} + dependencies: + original: registry.nlark.com/original/1.0.2 + dev: true + + registry.nlark.com/evp_bytestokey/1.0.3: + resolution: {integrity: sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz} + name: evp_bytestokey + version: 1.0.3 + dependencies: + md5.js: registry.nlark.com/md5.js/1.3.5 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/exec-sh/0.3.6: + resolution: {integrity: sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/exec-sh/download/exec-sh-0.3.6.tgz} + name: exec-sh + version: 0.3.6 + dev: true + + registry.nlark.com/execa/0.8.0: + resolution: {integrity: sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/execa/download/execa-0.8.0.tgz} + name: execa + version: 0.8.0 + engines: {node: '>=4'} + dependencies: + cross-spawn: registry.nlark.com/cross-spawn/5.1.0 + get-stream: registry.nlark.com/get-stream/3.0.0 + is-stream: registry.nlark.com/is-stream/1.1.0 + npm-run-path: registry.npmmirror.com/npm-run-path/2.0.2 + p-finally: registry.nlark.com/p-finally/1.0.0 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + strip-eof: registry.npmmirror.com/strip-eof/1.0.0 + dev: true + + registry.nlark.com/execa/1.0.0: + resolution: {integrity: sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/execa/download/execa-1.0.0.tgz} + name: execa + version: 1.0.0 + engines: {node: '>=6'} + dependencies: + cross-spawn: registry.nlark.com/cross-spawn/6.0.5 + get-stream: registry.nlark.com/get-stream/4.1.0 + is-stream: registry.nlark.com/is-stream/1.1.0 + npm-run-path: registry.npmmirror.com/npm-run-path/2.0.2 + p-finally: registry.nlark.com/p-finally/1.0.0 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + strip-eof: registry.npmmirror.com/strip-eof/1.0.0 + dev: true + + registry.nlark.com/execa/3.4.0: + resolution: {integrity: sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/execa/download/execa-3.4.0.tgz} + name: execa + version: 3.4.0 + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + cross-spawn: registry.nlark.com/cross-spawn/7.0.3 + get-stream: registry.nlark.com/get-stream/5.2.0 + human-signals: registry.nlark.com/human-signals/1.1.1 + is-stream: registry.nlark.com/is-stream/2.0.1 + merge-stream: registry.nlark.com/merge-stream/2.0.0 + npm-run-path: registry.npmmirror.com/npm-run-path/4.0.1 + onetime: registry.nlark.com/onetime/5.1.2 + p-finally: registry.nlark.com/p-finally/2.0.1 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + strip-final-newline: registry.nlark.com/strip-final-newline/2.0.0 + dev: true + + registry.nlark.com/exit/0.1.2: + resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/exit/download/exit-0.1.2.tgz} + name: exit + version: 0.1.2 + engines: {node: '>= 0.8.0'} + dev: true + + registry.nlark.com/expand-brackets/0.1.5: + resolution: {integrity: sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/expand-brackets/download/expand-brackets-0.1.5.tgz} + name: expand-brackets + version: 0.1.5 + engines: {node: '>=0.10.0'} + dependencies: + is-posix-bracket: registry.nlark.com/is-posix-bracket/0.1.1 + dev: true + + registry.nlark.com/expand-brackets/2.1.4: + resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/expand-brackets/download/expand-brackets-2.1.4.tgz} + name: expand-brackets + version: 2.1.4 + engines: {node: '>=0.10.0'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + define-property: registry.nlark.com/define-property/0.2.5 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + posix-character-classes: registry.nlark.com/posix-character-classes/0.1.1 + regex-not: registry.nlark.com/regex-not/1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/expand-range/1.8.2: + resolution: {integrity: sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/expand-range/download/expand-range-1.8.2.tgz} + name: expand-range + version: 1.8.2 + engines: {node: '>=0.10.0'} + dependencies: + fill-range: registry.nlark.com/fill-range/2.2.4 + dev: true + + registry.nlark.com/express/4.17.1: + resolution: {integrity: sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/express/download/express-4.17.1.tgz} + name: express + version: 4.17.1 + engines: {node: '>= 0.10.0'} + dependencies: + accepts: registry.nlark.com/accepts/1.3.7 + array-flatten: registry.nlark.com/array-flatten/1.1.1 + body-parser: registry.nlark.com/body-parser/1.19.0 + content-disposition: registry.npmmirror.com/content-disposition/0.5.3 + content-type: registry.nlark.com/content-type/1.0.4 + cookie: registry.nlark.com/cookie/0.4.0 + cookie-signature: registry.npmmirror.com/cookie-signature/1.0.6 + debug: registry.npmmirror.com/debug/2.6.9 + depd: registry.nlark.com/depd/1.1.2 + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + etag: registry.nlark.com/etag/1.8.1 + finalhandler: registry.nlark.com/finalhandler/1.1.2 + fresh: registry.npmmirror.com/fresh/0.5.2 + merge-descriptors: registry.npmmirror.com/merge-descriptors/1.0.1 + methods: registry.nlark.com/methods/1.1.2 + on-finished: registry.nlark.com/on-finished/2.3.0 + parseurl: registry.nlark.com/parseurl/1.3.3 + path-to-regexp: registry.nlark.com/path-to-regexp/0.1.7 + proxy-addr: registry.nlark.com/proxy-addr/2.0.7 + qs: registry.nlark.com/qs/6.7.0 + range-parser: registry.nlark.com/range-parser/1.2.1 + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + send: registry.npmmirror.com/send/0.17.1 + serve-static: registry.nlark.com/serve-static/1.14.1 + setprototypeof: registry.nlark.com/setprototypeof/1.1.1 + statuses: registry.nlark.com/statuses/1.5.0 + type-is: registry.nlark.com/type-is/1.6.18 + utils-merge: registry.nlark.com/utils-merge/1.0.1 + vary: registry.nlark.com/vary/1.1.2 + dev: true + + registry.nlark.com/extend-shallow/2.0.1: + resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz} + name: extend-shallow + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: registry.nlark.com/is-extendable/0.1.1 + dev: true + + registry.nlark.com/extend-shallow/3.0.2: + resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz} + name: extend-shallow + version: 3.0.2 + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: registry.nlark.com/assign-symbols/1.0.0 + is-extendable: registry.nlark.com/is-extendable/1.0.1 + dev: true + + registry.nlark.com/extend/3.0.2: + resolution: {integrity: sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extend/download/extend-3.0.2.tgz} + name: extend + version: 3.0.2 + dev: true + + registry.nlark.com/external-editor/3.1.0: + resolution: {integrity: sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/external-editor/download/external-editor-3.1.0.tgz} + name: external-editor + version: 3.1.0 + engines: {node: '>=4'} + dependencies: + chardet: registry.npmmirror.com/chardet/0.7.0 + iconv-lite: registry.nlark.com/iconv-lite/0.4.24 + tmp: registry.nlark.com/tmp/0.0.33 + dev: true + + registry.nlark.com/extglob/0.3.2: + resolution: {integrity: sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extglob/download/extglob-0.3.2.tgz} + name: extglob + version: 0.3.2 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.nlark.com/is-extglob/1.0.0 + dev: true + + registry.nlark.com/extglob/2.0.4: + resolution: {integrity: sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz} + name: extglob + version: 2.0.4 + engines: {node: '>=0.10.0'} + dependencies: + array-unique: registry.nlark.com/array-unique/0.3.2 + define-property: registry.nlark.com/define-property/1.0.0 + expand-brackets: registry.nlark.com/expand-brackets/2.1.4 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + fragment-cache: registry.nlark.com/fragment-cache/0.2.1 + regex-not: registry.nlark.com/regex-not/1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/fast-deep-equal/3.1.3: + resolution: {integrity: sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1631603549709&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz} + name: fast-deep-equal + version: 3.1.3 + dev: true + + registry.nlark.com/fast-glob/2.2.7: + resolution: {integrity: sha1-aVOFfDr6R1//ku5gFdUtpwpM050=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz} + name: fast-glob + version: 2.2.7 + engines: {node: '>=4.0.0'} + dependencies: + '@mrmlnc/readdir-enhanced': registry.nlark.com/@mrmlnc/readdir-enhanced/2.2.1 + '@nodelib/fs.stat': registry.nlark.com/@nodelib/fs.stat/1.1.3 + glob-parent: registry.npmmirror.com/glob-parent/3.1.0 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + merge2: registry.nlark.com/merge2/1.4.1 + micromatch: registry.nlark.com/micromatch/3.1.10 + dev: true + + registry.nlark.com/fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz} + name: fast-json-stable-stringify + version: 2.1.0 + dev: true + + registry.nlark.com/fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz} + name: fast-levenshtein + version: 2.0.6 + dev: true + + registry.nlark.com/faye-websocket/0.11.4: + resolution: {integrity: sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/faye-websocket/download/faye-websocket-0.11.4.tgz} + name: faye-websocket + version: 0.11.4 + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: registry.nlark.com/websocket-driver/0.7.4 + dev: true + + registry.nlark.com/fb-watchman/2.0.1: + resolution: {integrity: sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fb-watchman/download/fb-watchman-2.0.1.tgz} + name: fb-watchman + version: 2.0.1 + dependencies: + bser: registry.nlark.com/bser/2.1.1 + dev: true + + registry.nlark.com/figgy-pudding/3.5.2: + resolution: {integrity: sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz} + name: figgy-pudding + version: 3.5.2 + dev: true + + registry.nlark.com/figures/3.2.0: + resolution: {integrity: sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/figures/download/figures-3.2.0.tgz} + name: figures + version: 3.2.0 + engines: {node: '>=8'} + dependencies: + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + dev: true + + registry.nlark.com/file-entry-cache/5.0.1: + resolution: {integrity: sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz} + name: file-entry-cache + version: 5.0.1 + engines: {node: '>=4'} + dependencies: + flat-cache: registry.nlark.com/flat-cache/2.0.1 + dev: true + + registry.nlark.com/file-loader/4.3.0_webpack@4.46.0: + resolution: {integrity: sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/file-loader/download/file-loader-4.3.0.tgz} + id: registry.nlark.com/file-loader/4.3.0 + name: file-loader + version: 4.3.0 + engines: {node: '>= 8.9.0'} + peerDependencies: + webpack: ^4.0.0 + dependencies: + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/file-uri-to-path/1.0.0: + resolution: {integrity: sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz} + name: file-uri-to-path + version: 1.0.0 + requiresBuild: true + dev: true + + registry.nlark.com/filename-regex/2.0.1: + resolution: {integrity: sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/filename-regex/download/filename-regex-2.0.1.tgz} + name: filename-regex + version: 2.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/fill-range/2.2.4: + resolution: {integrity: sha1-6x53OrsFbc2N8r/favWbizqTZWU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fill-range/download/fill-range-2.2.4.tgz} + name: fill-range + version: 2.2.4 + engines: {node: '>=0.10.0'} + dependencies: + is-number: registry.nlark.com/is-number/2.1.0 + isobject: registry.nlark.com/isobject/2.1.0 + randomatic: registry.nlark.com/randomatic/3.1.1 + repeat-element: registry.nlark.com/repeat-element/1.1.4 + repeat-string: registry.nlark.com/repeat-string/1.6.1 + dev: true + + registry.nlark.com/fill-range/4.0.0: + resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz} + name: fill-range + version: 4.0.0 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + is-number: registry.nlark.com/is-number/3.0.0 + repeat-string: registry.nlark.com/repeat-string/1.6.1 + to-regex-range: registry.nlark.com/to-regex-range/2.1.1 + dev: true + + registry.nlark.com/fill-range/7.0.1: + resolution: {integrity: sha1-GRmmp8df44ssfHflGYU12prN2kA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz} + name: fill-range + version: 7.0.1 + engines: {node: '>=8'} + dependencies: + to-regex-range: registry.nlark.com/to-regex-range/5.0.1 + dev: true + + registry.nlark.com/finalhandler/1.1.0: + resolution: {integrity: sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/finalhandler/download/finalhandler-1.1.0.tgz} + name: finalhandler + version: 1.1.0 + engines: {node: '>= 0.8'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + on-finished: registry.nlark.com/on-finished/2.3.0 + parseurl: registry.nlark.com/parseurl/1.3.3 + statuses: registry.nlark.com/statuses/1.3.1 + unpipe: registry.nlark.com/unpipe/1.0.0 + dev: true + + registry.nlark.com/finalhandler/1.1.2: + resolution: {integrity: sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/finalhandler/download/finalhandler-1.1.2.tgz} + name: finalhandler + version: 1.1.2 + engines: {node: '>= 0.8'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + on-finished: registry.nlark.com/on-finished/2.3.0 + parseurl: registry.nlark.com/parseurl/1.3.3 + statuses: registry.nlark.com/statuses/1.5.0 + unpipe: registry.nlark.com/unpipe/1.0.0 + dev: true + + registry.nlark.com/find-cache-dir/0.1.1: + resolution: {integrity: sha1-yN765XyKUqinhPnjHFfHQumToLk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz} + name: find-cache-dir + version: 0.1.1 + engines: {node: '>=0.10.0'} + dependencies: + commondir: registry.nlark.com/commondir/1.0.1 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + pkg-dir: registry.npmmirror.com/pkg-dir/1.0.0 + dev: true + + registry.nlark.com/find-cache-dir/2.1.0: + resolution: {integrity: sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz} + name: find-cache-dir + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + commondir: registry.nlark.com/commondir/1.0.1 + make-dir: registry.nlark.com/make-dir/2.1.0 + pkg-dir: registry.npmmirror.com/pkg-dir/3.0.0 + dev: true + + registry.nlark.com/find-cache-dir/3.3.2: + resolution: {integrity: sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.2.tgz} + name: find-cache-dir + version: 3.3.2 + engines: {node: '>=8'} + dependencies: + commondir: registry.nlark.com/commondir/1.0.1 + make-dir: registry.nlark.com/make-dir/3.1.0 + pkg-dir: registry.npmmirror.com/pkg-dir/4.2.0 + dev: true + + registry.nlark.com/flat-cache/2.0.1: + resolution: {integrity: sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/flat-cache/download/flat-cache-2.0.1.tgz} + name: flat-cache + version: 2.0.1 + engines: {node: '>=4'} + dependencies: + flatted: registry.npmmirror.com/flatted/2.0.2 + rimraf: registry.npmmirror.com/rimraf/2.6.3 + write: registry.nlark.com/write/1.0.3 + dev: true + + registry.nlark.com/flush-write-stream/1.1.1: + resolution: {integrity: sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz} + name: flush-write-stream + version: 1.1.1 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/for-each/0.3.3: + resolution: {integrity: sha1-abRH6IoKXTLD5whPPxcQA0shN24=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/for-each/download/for-each-0.3.3.tgz} + name: for-each + version: 0.3.3 + dependencies: + is-callable: registry.nlark.com/is-callable/1.2.4 + dev: true + + registry.nlark.com/for-in/1.0.2: + resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz} + name: for-in + version: 1.0.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/for-own/0.1.5: + resolution: {integrity: sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/for-own/download/for-own-0.1.5.tgz} + name: for-own + version: 0.1.5 + engines: {node: '>=0.10.0'} + dependencies: + for-in: registry.nlark.com/for-in/1.0.2 + dev: true + + registry.nlark.com/forever-agent/0.6.1: + resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/forever-agent/download/forever-agent-0.6.1.tgz} + name: forever-agent + version: 0.6.1 + dev: true + + registry.nlark.com/form-data/2.3.3: + resolution: {integrity: sha1-3M5SwF9kTymManq5Nr1yTO/786Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/form-data/download/form-data-2.3.3.tgz} + name: form-data + version: 2.3.3 + engines: {node: '>= 0.12'} + dependencies: + asynckit: registry.nlark.com/asynckit/0.4.0 + combined-stream: registry.nlark.com/combined-stream/1.0.8 + mime-types: registry.npmmirror.com/mime-types/2.1.34 + dev: true + + registry.nlark.com/forwarded/0.2.0: + resolution: {integrity: sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz} + name: forwarded + version: 0.2.0 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/fragment-cache/0.2.1: + resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz} + name: fragment-cache + version: 0.2.1 + engines: {node: '>=0.10.0'} + dependencies: + map-cache: registry.nlark.com/map-cache/0.2.2 + dev: true + + registry.nlark.com/from2/2.3.0: + resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/from2/download/from2-2.3.0.tgz} + name: from2 + version: 2.3.0 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/fs-extra/7.0.1: + resolution: {integrity: sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1631603494735&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz} + name: fs-extra + version: 7.0.1 + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + jsonfile: registry.nlark.com/jsonfile/4.0.0 + universalify: registry.nlark.com/universalify/0.1.2 + dev: true + + registry.nlark.com/fs-minipass/2.1.0: + resolution: {integrity: sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fs-minipass/download/fs-minipass-2.1.0.tgz} + name: fs-minipass + version: 2.1.0 + engines: {node: '>= 8'} + dependencies: + minipass: registry.nlark.com/minipass/3.1.5 + dev: true + + registry.nlark.com/fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz} + name: fs.realpath + version: 1.0.0 + + registry.nlark.com/function-bind/1.1.1: + resolution: {integrity: sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz} + name: function-bind + version: 1.1.1 + + registry.nlark.com/gensync/1.0.0-beta.2: + resolution: {integrity: sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz} + name: gensync + version: 1.0.0-beta.2 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/get-caller-file/2.0.5: + resolution: {integrity: sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-caller-file/download/get-caller-file-2.0.5.tgz} + name: get-caller-file + version: 2.0.5 + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + registry.nlark.com/get-intrinsic/1.1.1: + resolution: {integrity: sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz} + name: get-intrinsic + version: 1.1.1 + dependencies: + function-bind: registry.nlark.com/function-bind/1.1.1 + has: registry.nlark.com/has/1.0.3 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + + registry.nlark.com/get-stream/3.0.0: + resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-stream/download/get-stream-3.0.0.tgz} + name: get-stream + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/get-stream/4.1.0: + resolution: {integrity: sha1-wbJVV189wh1Zv8ec09K0axw6VLU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-stream/download/get-stream-4.1.0.tgz} + name: get-stream + version: 4.1.0 + engines: {node: '>=6'} + dependencies: + pump: registry.nlark.com/pump/3.0.0 + dev: true + + registry.nlark.com/get-stream/5.2.0: + resolution: {integrity: sha1-SWaheV7lrOZecGxLe+txJX1uItM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-stream/download/get-stream-5.2.0.tgz} + name: get-stream + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + pump: registry.nlark.com/pump/3.0.0 + dev: true + + registry.nlark.com/get-symbol-description/1.0.0: + resolution: {integrity: sha1-f9uByQAQH71WTdXxowr1qtweWNY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz} + name: get-symbol-description + version: 1.0.0 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + get-intrinsic: registry.nlark.com/get-intrinsic/1.1.1 + dev: true + + registry.nlark.com/get-value/2.0.6: + resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz} + name: get-value + version: 2.0.6 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/getpass/0.1.7: + resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz} + name: getpass + version: 0.1.7 + dependencies: + assert-plus: registry.nlark.com/assert-plus/1.0.0 + dev: true + + registry.nlark.com/glob-base/0.3.0: + resolution: {integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/glob-base/download/glob-base-0.3.0.tgz} + name: glob-base + version: 0.3.0 + engines: {node: '>=0.10.0'} + dependencies: + glob-parent: registry.npmmirror.com/glob-parent/2.0.0 + is-glob: registry.npmmirror.com/is-glob/2.0.1 + dev: true + + registry.nlark.com/glob-to-regexp/0.3.0: + resolution: {integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz} + name: glob-to-regexp + version: 0.3.0 + dev: true + + registry.nlark.com/globby/6.1.0: + resolution: {integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globby/download/globby-6.1.0.tgz} + name: globby + version: 6.1.0 + engines: {node: '>=0.10.0'} + dependencies: + array-union: registry.nlark.com/array-union/1.0.2 + glob: registry.npmmirror.com/glob/7.2.0 + object-assign: registry.nlark.com/object-assign/4.1.1 + pify: registry.nlark.com/pify/2.3.0 + pinkie-promise: registry.nlark.com/pinkie-promise/2.0.1 + dev: true + + registry.nlark.com/globby/7.1.1: + resolution: {integrity: sha1-+yzP+UAfhgCUXfral0QMypcrhoA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globby/download/globby-7.1.1.tgz} + name: globby + version: 7.1.1 + engines: {node: '>=4'} + dependencies: + array-union: registry.nlark.com/array-union/1.0.2 + dir-glob: registry.nlark.com/dir-glob/2.2.2 + glob: registry.npmmirror.com/glob/7.2.0 + ignore: registry.npmmirror.com/ignore/3.3.10 + pify: registry.nlark.com/pify/3.0.0 + slash: registry.nlark.com/slash/1.0.0 + dev: true + + registry.nlark.com/globby/9.2.0: + resolution: {integrity: sha1-/QKacGxwPSm90XD0tts6P3p8tj0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globby/download/globby-9.2.0.tgz} + name: globby + version: 9.2.0 + engines: {node: '>=6'} + dependencies: + '@types/glob': registry.npmmirror.com/@types/glob/7.2.0 + array-union: registry.nlark.com/array-union/1.0.2 + dir-glob: registry.nlark.com/dir-glob/2.2.2 + fast-glob: registry.nlark.com/fast-glob/2.2.7 + glob: registry.npmmirror.com/glob/7.2.0 + ignore: registry.npmmirror.com/ignore/4.0.6 + pify: registry.nlark.com/pify/4.0.1 + slash: registry.nlark.com/slash/2.0.0 + dev: true + + registry.nlark.com/growly/1.3.0: + resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/growly/download/growly-1.3.0.tgz} + name: growly + version: 1.3.0 + dev: true + + registry.nlark.com/gzip-size/5.1.1: + resolution: {integrity: sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/gzip-size/download/gzip-size-5.1.1.tgz} + name: gzip-size + version: 5.1.1 + engines: {node: '>=6'} + dependencies: + duplexer: registry.nlark.com/duplexer/0.1.2 + pify: registry.nlark.com/pify/4.0.1 + dev: true + + registry.nlark.com/handle-thing/2.0.1: + resolution: {integrity: sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/handle-thing/download/handle-thing-2.0.1.tgz} + name: handle-thing + version: 2.0.1 + dev: true + + registry.nlark.com/har-schema/2.0.0: + resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz} + name: har-schema + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/has-ansi/2.0.0: + resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz} + name: has-ansi + version: 2.0.0 + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/2.1.1 + dev: true + + registry.nlark.com/has-bigints/1.0.1: + resolution: {integrity: sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz} + name: has-bigints + version: 1.0.1 + dev: true + + registry.nlark.com/has-flag/1.0.0: + resolution: {integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz} + name: has-flag + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/has-flag/2.0.0: + resolution: {integrity: sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-2.0.0.tgz} + name: has-flag + version: 2.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz} + name: has-flag + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/has-flag/4.0.0: + resolution: {integrity: sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz} + name: has-flag + version: 4.0.0 + engines: {node: '>=8'} + + registry.nlark.com/has-symbols/1.0.2: + resolution: {integrity: sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz} + name: has-symbols + version: 1.0.2 + engines: {node: '>= 0.4'} + + registry.nlark.com/has-tostringtag/1.0.0: + resolution: {integrity: sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz} + name: has-tostringtag + version: 1.0.0 + engines: {node: '>= 0.4'} + dependencies: + has-symbols: registry.nlark.com/has-symbols/1.0.2 + dev: true + + registry.nlark.com/has-value/0.3.1: + resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz} + name: has-value + version: 0.3.1 + engines: {node: '>=0.10.0'} + dependencies: + get-value: registry.nlark.com/get-value/2.0.6 + has-values: registry.nlark.com/has-values/0.1.4 + isobject: registry.nlark.com/isobject/2.1.0 + dev: true + + registry.nlark.com/has-value/1.0.0: + resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz} + name: has-value + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + get-value: registry.nlark.com/get-value/2.0.6 + has-values: registry.nlark.com/has-values/1.0.0 + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/has-values/0.1.4: + resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz} + name: has-values + version: 0.1.4 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/has-values/1.0.0: + resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz} + name: has-values + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + is-number: registry.nlark.com/is-number/3.0.0 + kind-of: registry.nlark.com/kind-of/4.0.0 + dev: true + + registry.nlark.com/has/1.0.3: + resolution: {integrity: sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has/download/has-1.0.3.tgz} + name: has + version: 1.0.3 + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: registry.nlark.com/function-bind/1.1.1 + + registry.nlark.com/hash-base/3.1.0: + resolution: {integrity: sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hash-base/download/hash-base-3.1.0.tgz} + name: hash-base + version: 3.1.0 + engines: {node: '>=4'} + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/3.6.0 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/hash-sum/1.0.2: + resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hash-sum/download/hash-sum-1.0.2.tgz} + name: hash-sum + version: 1.0.2 + dev: true + + registry.nlark.com/hash-sum/2.0.0: + resolution: {integrity: sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hash-sum/download/hash-sum-2.0.0.tgz} + name: hash-sum + version: 2.0.0 + dev: true + + registry.nlark.com/hash.js/1.1.7: + resolution: {integrity: sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hash.js/download/hash.js-1.1.7.tgz} + name: hash.js + version: 1.1.7 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + dev: true + + registry.nlark.com/he/1.2.0: + resolution: {integrity: sha1-hK5l+n6vsWX922FWauFLrwVmTw8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/he/download/he-1.2.0.tgz} + name: he + version: 1.2.0 + hasBin: true + dev: true + + registry.nlark.com/hex-color-regex/1.1.0: + resolution: {integrity: sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz} + name: hex-color-regex + version: 1.1.0 + dev: true + + registry.nlark.com/hmac-drbg/1.0.1: + resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz} + name: hmac-drbg + version: 1.0.1 + dependencies: + hash.js: registry.nlark.com/hash.js/1.1.7 + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + minimalistic-crypto-utils: registry.nlark.com/minimalistic-crypto-utils/1.0.1 + dev: true + + registry.nlark.com/hoopy/0.1.4: + resolution: {integrity: sha1-YJIH1mEQADOpqUAq096mdzgcGx0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hoopy/download/hoopy-0.1.4.tgz} + name: hoopy + version: 0.1.4 + engines: {node: '>= 6.0.0'} + dev: true + + registry.nlark.com/hosted-git-info/2.8.9: + resolution: {integrity: sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&sync_timestamp=1631603612234&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz} + name: hosted-git-info + version: 2.8.9 + dev: true + + registry.nlark.com/hsl-regex/1.0.0: + resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hsl-regex/download/hsl-regex-1.0.0.tgz} + name: hsl-regex + version: 1.0.0 + dev: true + + registry.nlark.com/hsla-regex/1.0.0: + resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hsla-regex/download/hsla-regex-1.0.0.tgz} + name: hsla-regex + version: 1.0.0 + dev: true + + registry.nlark.com/html-encoding-sniffer/1.0.2: + resolution: {integrity: sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz} + name: html-encoding-sniffer + version: 1.0.2 + dependencies: + whatwg-encoding: registry.nlark.com/whatwg-encoding/1.0.5 + dev: true + + registry.nlark.com/html-entities/1.4.0: + resolution: {integrity: sha1-z70bAdKvr5rcobEK59/6uYxx0tw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-entities/download/html-entities-1.4.0.tgz} + name: html-entities + version: 1.4.0 + dev: true + + registry.nlark.com/html-escaper/2.0.2: + resolution: {integrity: sha1-39YAJ9o2o238viNiYsAKWCJoFFM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-escaper/download/html-escaper-2.0.2.tgz} + name: html-escaper + version: 2.0.2 + dev: true + + registry.nlark.com/html-minifier/3.5.21: + resolution: {integrity: sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-minifier/download/html-minifier-3.5.21.tgz} + name: html-minifier + version: 3.5.21 + engines: {node: '>=4'} + hasBin: true + dependencies: + camel-case: registry.nlark.com/camel-case/3.0.0 + clean-css: registry.npmmirror.com/clean-css/4.2.4 + commander: registry.npmmirror.com/commander/2.17.1 + he: registry.nlark.com/he/1.2.0 + param-case: registry.nlark.com/param-case/2.1.1 + relateurl: registry.nlark.com/relateurl/0.2.7 + uglify-js: registry.npmmirror.com/uglify-js/3.4.10 + dev: true + + registry.nlark.com/html-tags/2.0.0: + resolution: {integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-tags/download/html-tags-2.0.0.tgz} + name: html-tags + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/html-tags/3.1.0: + resolution: {integrity: sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/html-tags/download/html-tags-3.1.0.tgz} + name: html-tags + version: 3.1.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/http-deceiver/1.2.7: + resolution: {integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-deceiver/download/http-deceiver-1.2.7.tgz} + name: http-deceiver + version: 1.2.7 + dev: true + + registry.nlark.com/http-errors/1.6.3: + resolution: {integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-errors/download/http-errors-1.6.3.tgz} + name: http-errors + version: 1.6.3 + engines: {node: '>= 0.6'} + dependencies: + depd: registry.nlark.com/depd/1.1.2 + inherits: registry.nlark.com/inherits/2.0.3 + setprototypeof: registry.nlark.com/setprototypeof/1.1.0 + statuses: registry.nlark.com/statuses/1.4.0 + dev: true + + registry.nlark.com/http-errors/1.7.2: + resolution: {integrity: sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-errors/download/http-errors-1.7.2.tgz} + name: http-errors + version: 1.7.2 + engines: {node: '>= 0.6'} + dependencies: + depd: registry.nlark.com/depd/1.1.2 + inherits: registry.nlark.com/inherits/2.0.3 + setprototypeof: registry.nlark.com/setprototypeof/1.1.1 + statuses: registry.nlark.com/statuses/1.5.0 + toidentifier: registry.npmmirror.com/toidentifier/1.0.0 + dev: true + + registry.nlark.com/http-errors/1.7.3: + resolution: {integrity: sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-errors/download/http-errors-1.7.3.tgz} + name: http-errors + version: 1.7.3 + engines: {node: '>= 0.6'} + dependencies: + depd: registry.nlark.com/depd/1.1.2 + inherits: registry.nlark.com/inherits/2.0.4 + setprototypeof: registry.nlark.com/setprototypeof/1.1.1 + statuses: registry.nlark.com/statuses/1.5.0 + toidentifier: registry.npmmirror.com/toidentifier/1.0.0 + dev: true + + registry.nlark.com/http-parser-js/0.5.3: + resolution: {integrity: sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-parser-js/download/http-parser-js-0.5.3.tgz} + name: http-parser-js + version: 0.5.3 + dev: true + + registry.nlark.com/http-proxy-middleware/0.19.1_debug@4.3.2: + resolution: {integrity: sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz} + id: registry.nlark.com/http-proxy-middleware/0.19.1 + name: http-proxy-middleware + version: 0.19.1 + engines: {node: '>=4.0.0'} + dependencies: + http-proxy: registry.nlark.com/http-proxy/1.18.1_debug@4.3.2 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + lodash: registry.nlark.com/lodash/4.17.21 + micromatch: registry.nlark.com/micromatch/3.1.10 + transitivePeerDependencies: + - debug + dev: true + + registry.nlark.com/http-proxy/1.18.1_debug@4.3.2: + resolution: {integrity: sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-proxy/download/http-proxy-1.18.1.tgz} + id: registry.nlark.com/http-proxy/1.18.1 + name: http-proxy + version: 1.18.1 + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: registry.nlark.com/eventemitter3/4.0.7 + follow-redirects: registry.npmmirror.com/follow-redirects/1.14.5 + requires-port: registry.nlark.com/requires-port/1.0.0 + transitivePeerDependencies: + - debug + dev: true + + registry.nlark.com/http-signature/1.2.0: + resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-signature/download/http-signature-1.2.0.tgz} + name: http-signature + version: 1.2.0 + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: registry.nlark.com/assert-plus/1.0.0 + jsprim: registry.npmmirror.com/jsprim/1.4.1 + sshpk: registry.nlark.com/sshpk/1.16.1 + dev: true + + registry.nlark.com/https-browserify/1.0.0: + resolution: {integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/https-browserify/download/https-browserify-1.0.0.tgz} + name: https-browserify + version: 1.0.0 + dev: true + + registry.nlark.com/human-signals/1.1.1: + resolution: {integrity: sha1-xbHNFPUK6uCatsWf5jujOV/k36M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/human-signals/download/human-signals-1.1.1.tgz} + name: human-signals + version: 1.1.1 + engines: {node: '>=8.12.0'} + dev: true + + registry.nlark.com/iconv-lite/0.4.24: + resolution: {integrity: sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz} + name: iconv-lite + version: 0.4.24 + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: registry.nlark.com/safer-buffer/2.1.2 + dev: true + + registry.nlark.com/icss-utils/4.1.1: + resolution: {integrity: sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/icss-utils/download/icss-utils-4.1.1.tgz} + name: icss-utils + version: 4.1.1 + engines: {node: '>= 6'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/ieee754/1.2.1: + resolution: {integrity: sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz} + name: ieee754 + version: 1.2.1 + dev: true + + registry.nlark.com/iferr/0.1.5: + resolution: {integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/iferr/download/iferr-0.1.5.tgz} + name: iferr + version: 0.1.5 + dev: true + + registry.nlark.com/image-size/0.5.5: + resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/image-size/download/image-size-0.5.5.tgz} + name: image-size + version: 0.5.5 + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + registry.nlark.com/import-cwd/2.1.0: + resolution: {integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/import-cwd/download/import-cwd-2.1.0.tgz} + name: import-cwd + version: 2.1.0 + engines: {node: '>=4'} + dependencies: + import-from: registry.nlark.com/import-from/2.1.0 + dev: true + + registry.nlark.com/import-fresh/2.0.0: + resolution: {integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/import-fresh/download/import-fresh-2.0.0.tgz} + name: import-fresh + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + caller-path: registry.npmmirror.com/caller-path/2.0.0 + resolve-from: registry.nlark.com/resolve-from/3.0.0 + dev: true + + registry.nlark.com/import-fresh/3.3.0: + resolution: {integrity: sha1-NxYsJfy566oublPVtNiM4X2eDCs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz} + name: import-fresh + version: 3.3.0 + engines: {node: '>=6'} + dependencies: + parent-module: registry.npmmirror.com/parent-module/1.0.1 + resolve-from: registry.nlark.com/resolve-from/4.0.0 + dev: true + + registry.nlark.com/import-from/2.1.0: + resolution: {integrity: sha1-M1238qev/VOqpHHUuAId7ja387E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/import-from/download/import-from-2.1.0.tgz} + name: import-from + version: 2.1.0 + engines: {node: '>=4'} + dependencies: + resolve-from: registry.nlark.com/resolve-from/3.0.0 + dev: true + + registry.nlark.com/imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz} + name: imurmurhash + version: 0.1.4 + engines: {node: '>=0.8.19'} + dev: true + + registry.nlark.com/indent-string/4.0.0: + resolution: {integrity: sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/indent-string/download/indent-string-4.0.0.tgz} + name: indent-string + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/indexes-of/1.0.1: + resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/indexes-of/download/indexes-of-1.0.1.tgz} + name: indexes-of + version: 1.0.1 + dev: true + + registry.nlark.com/infer-owner/1.0.4: + resolution: {integrity: sha1-xM78qo5RBRwqQLos6KPScpWvlGc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/infer-owner/download/infer-owner-1.0.4.tgz} + name: infer-owner + version: 1.0.4 + dev: true + + registry.nlark.com/inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/inflight/download/inflight-1.0.6.tgz} + name: inflight + version: 1.0.6 + dependencies: + once: registry.nlark.com/once/1.4.0 + wrappy: registry.nlark.com/wrappy/1.0.2 + + registry.nlark.com/inherits/2.0.1: + resolution: {integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz} + name: inherits + version: 2.0.1 + dev: true + + registry.nlark.com/inherits/2.0.3: + resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz} + name: inherits + version: 2.0.3 + dev: true + + registry.nlark.com/inherits/2.0.4: + resolution: {integrity: sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz} + name: inherits + version: 2.0.4 + + registry.nlark.com/ini/1.3.8: + resolution: {integrity: sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ini/download/ini-1.3.8.tgz} + name: ini + version: 1.3.8 + dev: true + + registry.nlark.com/internal-slot/1.0.3: + resolution: {integrity: sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz} + name: internal-slot + version: 1.0.3 + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: registry.nlark.com/get-intrinsic/1.1.1 + has: registry.nlark.com/has/1.0.3 + side-channel: registry.nlark.com/side-channel/1.0.4 + dev: true + + registry.nlark.com/invariant/2.2.4: + resolution: {integrity: sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/invariant/download/invariant-2.2.4.tgz} + name: invariant + version: 2.2.4 + dependencies: + loose-envify: registry.nlark.com/loose-envify/1.4.0 + dev: true + + registry.nlark.com/ip-regex/2.1.0: + resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz} + name: ip-regex + version: 2.1.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/ip/1.1.5: + resolution: {integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ip/download/ip-1.1.5.tgz} + name: ip + version: 1.1.5 + dev: true + + registry.nlark.com/is-absolute-url/2.1.0: + resolution: {integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz} + name: is-absolute-url + version: 2.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-absolute-url/3.0.3: + resolution: {integrity: sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz} + name: is-absolute-url + version: 3.0.3 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-accessor-descriptor/0.1.6: + resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz} + name: is-accessor-descriptor + version: 0.1.6 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/is-accessor-descriptor/1.0.0: + resolution: {integrity: sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz} + name: is-accessor-descriptor + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/6.0.3 + dev: true + + registry.nlark.com/is-arguments/1.1.1: + resolution: {integrity: sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz} + name: is-arguments + version: 1.1.1 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.nlark.com/is-arrayish/0.2.1: + resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-arrayish/download/is-arrayish-0.2.1.tgz} + name: is-arrayish + version: 0.2.1 + dev: true + + registry.nlark.com/is-arrayish/0.3.2: + resolution: {integrity: sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-arrayish/download/is-arrayish-0.3.2.tgz} + name: is-arrayish + version: 0.3.2 + dev: true + + registry.nlark.com/is-bigint/1.0.4: + resolution: {integrity: sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz} + name: is-bigint + version: 1.0.4 + dependencies: + has-bigints: registry.nlark.com/has-bigints/1.0.1 + dev: true + + registry.nlark.com/is-binary-path/1.0.1: + resolution: {integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz} + name: is-binary-path + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + binary-extensions: registry.nlark.com/binary-extensions/1.13.1 + dev: true + + registry.nlark.com/is-binary-path/2.1.0: + resolution: {integrity: sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz} + name: is-binary-path + version: 2.1.0 + engines: {node: '>=8'} + dependencies: + binary-extensions: registry.nlark.com/binary-extensions/2.2.0 + dev: true + + registry.nlark.com/is-boolean-object/1.1.2: + resolution: {integrity: sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz} + name: is-boolean-object + version: 1.1.2 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.nlark.com/is-buffer/1.1.6: + resolution: {integrity: sha1-76ouqdqg16suoTqXsritUf776L4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz} + name: is-buffer + version: 1.1.6 + dev: true + + registry.nlark.com/is-callable/1.2.4: + resolution: {integrity: sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz} + name: is-callable + version: 1.2.4 + engines: {node: '>= 0.4'} + dev: true + + registry.nlark.com/is-color-stop/1.1.0: + resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-color-stop/download/is-color-stop-1.1.0.tgz} + name: is-color-stop + version: 1.1.0 + dependencies: + css-color-names: registry.nlark.com/css-color-names/0.0.4 + hex-color-regex: registry.nlark.com/hex-color-regex/1.1.0 + hsl-regex: registry.nlark.com/hsl-regex/1.0.0 + hsla-regex: registry.nlark.com/hsla-regex/1.0.0 + rgb-regex: registry.nlark.com/rgb-regex/1.0.1 + rgba-regex: registry.nlark.com/rgba-regex/1.0.0 + dev: true + + registry.nlark.com/is-data-descriptor/0.1.4: + resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz} + name: is-data-descriptor + version: 0.1.4 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/is-data-descriptor/1.0.0: + resolution: {integrity: sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz} + name: is-data-descriptor + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/6.0.3 + dev: true + + registry.nlark.com/is-date-object/1.0.5: + resolution: {integrity: sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz} + name: is-date-object + version: 1.0.5 + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.nlark.com/is-descriptor/0.1.6: + resolution: {integrity: sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-descriptor/download/is-descriptor-0.1.6.tgz} + name: is-descriptor + version: 0.1.6 + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: registry.nlark.com/is-accessor-descriptor/0.1.6 + is-data-descriptor: registry.nlark.com/is-data-descriptor/0.1.4 + kind-of: registry.nlark.com/kind-of/5.1.0 + dev: true + + registry.nlark.com/is-descriptor/1.0.2: + resolution: {integrity: sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz} + name: is-descriptor + version: 1.0.2 + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: registry.nlark.com/is-accessor-descriptor/1.0.0 + is-data-descriptor: registry.nlark.com/is-data-descriptor/1.0.0 + kind-of: registry.nlark.com/kind-of/6.0.3 + dev: true + + registry.nlark.com/is-directory/0.3.1: + resolution: {integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-directory/download/is-directory-0.3.1.tgz} + name: is-directory + version: 0.3.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-docker/2.2.1: + resolution: {integrity: sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-docker/download/is-docker-2.2.1.tgz} + name: is-docker + version: 2.2.1 + engines: {node: '>=8'} + hasBin: true + dev: true + + registry.nlark.com/is-dotfile/1.0.3: + resolution: {integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-dotfile/download/is-dotfile-1.0.3.tgz} + name: is-dotfile + version: 1.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-equal-shallow/0.1.3: + resolution: {integrity: sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz} + name: is-equal-shallow + version: 0.1.3 + engines: {node: '>=0.10.0'} + dependencies: + is-primitive: registry.nlark.com/is-primitive/2.0.0 + dev: true + + registry.nlark.com/is-extendable/0.1.1: + resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz} + name: is-extendable + version: 0.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-extendable/1.0.1: + resolution: {integrity: sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz} + name: is-extendable + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: registry.nlark.com/is-plain-object/2.0.4 + dev: true + + registry.nlark.com/is-extglob/1.0.0: + resolution: {integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-extglob/download/is-extglob-1.0.0.tgz} + name: is-extglob + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz} + name: is-extglob + version: 2.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-fullwidth-code-point/2.0.0: + resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz} + name: is-fullwidth-code-point + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz} + name: is-fullwidth-code-point + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-generator-fn/2.1.0: + resolution: {integrity: sha1-fRQK3DiarzARqPKipM+m+q3/sRg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-generator-fn/download/is-generator-fn-2.1.0.tgz} + name: is-generator-fn + version: 2.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/is-negative-zero/2.0.1: + resolution: {integrity: sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz} + name: is-negative-zero + version: 2.0.1 + engines: {node: '>= 0.4'} + dev: true + + registry.nlark.com/is-number/2.1.0: + resolution: {integrity: sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-2.1.0.tgz} + name: is-number + version: 2.1.0 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/is-number/3.0.0: + resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz} + name: is-number + version: 3.0.0 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/is-number/4.0.0: + resolution: {integrity: sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-4.0.0.tgz} + name: is-number + version: 4.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-number/7.0.0: + resolution: {integrity: sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz} + name: is-number + version: 7.0.0 + engines: {node: '>=0.12.0'} + dev: true + + registry.nlark.com/is-obj/2.0.0: + resolution: {integrity: sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-obj/download/is-obj-2.0.0.tgz} + name: is-obj + version: 2.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-path-cwd/2.2.0: + resolution: {integrity: sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz} + name: is-path-cwd + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/is-path-in-cwd/2.1.0: + resolution: {integrity: sha1-v+Lcomxp85cmWkAJljYCk1oFOss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz} + name: is-path-in-cwd + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + is-path-inside: registry.nlark.com/is-path-inside/2.1.0 + dev: true + + registry.nlark.com/is-path-inside/2.1.0: + resolution: {integrity: sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz} + name: is-path-inside + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + path-is-inside: registry.npmmirror.com/path-is-inside/1.0.2 + dev: true + + registry.nlark.com/is-plain-obj/1.1.0: + resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz} + name: is-plain-obj + version: 1.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-plain-object/2.0.4: + resolution: {integrity: sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz} + name: is-plain-object + version: 2.0.4 + engines: {node: '>=0.10.0'} + dependencies: + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/is-posix-bracket/0.1.1: + resolution: {integrity: sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz} + name: is-posix-bracket + version: 0.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-primitive/2.0.0: + resolution: {integrity: sha1-IHurkWOEmcB7Kt8kCkGochADRXU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-primitive/download/is-primitive-2.0.0.tgz} + name: is-primitive + version: 2.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-regex/1.1.4: + resolution: {integrity: sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz} + name: is-regex + version: 1.1.4 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.nlark.com/is-resolvable/1.1.0: + resolution: {integrity: sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-resolvable/download/is-resolvable-1.1.0.tgz} + name: is-resolvable + version: 1.1.0 + dev: true + + registry.nlark.com/is-stream/1.1.0: + resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz} + name: is-stream + version: 1.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-stream/2.0.1: + resolution: {integrity: sha1-+sHj1TuXrVqdCunO8jifWBClwHc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz} + name: is-stream + version: 2.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-string/1.0.7: + resolution: {integrity: sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz} + name: is-string + version: 1.0.7 + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.nlark.com/is-symbol/1.0.4: + resolution: {integrity: sha1-ptrJO2NbBjymhyI23oiRClevE5w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz} + name: is-symbol + version: 1.0.4 + engines: {node: '>= 0.4'} + dependencies: + has-symbols: registry.nlark.com/has-symbols/1.0.2 + dev: true + + registry.nlark.com/is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-typedarray/download/is-typedarray-1.0.0.tgz} + name: is-typedarray + version: 1.0.0 + dev: true + + registry.nlark.com/is-utf8/0.2.1: + resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-utf8/download/is-utf8-0.2.1.tgz} + name: is-utf8 + version: 0.2.1 + dev: true + + registry.nlark.com/is-whitespace/0.3.0: + resolution: {integrity: sha1-Fjnssb4DauxppUy7QBz77XEUq38=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-whitespace/download/is-whitespace-0.3.0.tgz} + name: is-whitespace + version: 0.3.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-windows/1.0.2: + resolution: {integrity: sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz} + name: is-windows + version: 1.0.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/is-wsl/1.1.0: + resolution: {integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-wsl/download/is-wsl-1.1.0.tgz} + name: is-wsl + version: 1.1.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/is-wsl/2.2.0: + resolution: {integrity: sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-wsl/download/is-wsl-2.2.0.tgz} + name: is-wsl + version: 2.2.0 + engines: {node: '>=8'} + dependencies: + is-docker: registry.nlark.com/is-docker/2.2.1 + dev: true + + registry.nlark.com/isarray/1.0.0: + resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz} + name: isarray + version: 1.0.0 + dev: true + + registry.nlark.com/isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz} + name: isexe + version: 2.0.0 + dev: true + + registry.nlark.com/isobject/2.1.0: + resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz} + name: isobject + version: 2.1.0 + engines: {node: '>=0.10.0'} + dependencies: + isarray: registry.nlark.com/isarray/1.0.0 + dev: true + + registry.nlark.com/isobject/3.0.1: + resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isobject/download/isobject-3.0.1.tgz} + name: isobject + version: 3.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/isstream/0.1.2: + resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz} + name: isstream + version: 0.1.2 + dev: true + + registry.nlark.com/istanbul-lib-report/2.0.8: + resolution: {integrity: sha1-WoETzXRtQ8SInro2qxDn1QybTzM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz} + name: istanbul-lib-report + version: 2.0.8 + engines: {node: '>=6'} + dependencies: + istanbul-lib-coverage: registry.npmmirror.com/istanbul-lib-coverage/2.0.5 + make-dir: registry.nlark.com/make-dir/2.1.0 + supports-color: registry.nlark.com/supports-color/6.1.0 + dev: true + + registry.nlark.com/javascript-stringify/2.1.0: + resolution: {integrity: sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/javascript-stringify/download/javascript-stringify-2.1.0.tgz} + name: javascript-stringify + version: 2.1.0 + dev: true + + registry.nlark.com/jest-docblock/24.9.0: + resolution: {integrity: sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jest-docblock/download/jest-docblock-24.9.0.tgz} + name: jest-docblock + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + detect-newline: registry.npmmirror.com/detect-newline/2.1.0 + dev: true + + registry.nlark.com/jest-regex-util/24.9.0: + resolution: {integrity: sha1-wT+zOAveIr9ldUMsST6o/jeWVjY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jest-regex-util/download/jest-regex-util-24.9.0.tgz} + name: jest-regex-util + version: 24.9.0 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/jest-serializer/24.9.0: + resolution: {integrity: sha1-5tfX75bTHouQeacUdUxdXFgojnM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jest-serializer/download/jest-serializer-24.9.0.tgz} + name: jest-serializer + version: 24.9.0 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/js-cookie/2.2.0: + resolution: {integrity: sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-cookie/download/js-cookie-2.2.0.tgz} + name: js-cookie + version: 2.2.0 + dev: false + + registry.nlark.com/js-message/1.0.7: + resolution: {integrity: sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-message/download/js-message-1.0.7.tgz} + name: js-message + version: 1.0.7 + engines: {node: '>=0.6.0'} + dev: true + + registry.nlark.com/js-tokens/3.0.2: + resolution: {integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-tokens/download/js-tokens-3.0.2.tgz} + name: js-tokens + version: 3.0.2 + dev: true + + registry.nlark.com/js-tokens/4.0.0: + resolution: {integrity: sha1-GSA/tZmR35jjoocFDUZHzerzJJk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz} + name: js-tokens + version: 4.0.0 + dev: true + + registry.nlark.com/js-yaml/3.14.1: + resolution: {integrity: sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1631603539565&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz} + name: js-yaml + version: 3.14.1 + hasBin: true + dependencies: + argparse: registry.nlark.com/argparse/1.0.10 + esprima: registry.nlark.com/esprima/4.0.1 + dev: true + + registry.nlark.com/jsbn/0.1.1: + resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz} + name: jsbn + version: 0.1.1 + dev: true + + registry.nlark.com/jsesc/0.5.0: + resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz} + name: jsesc + version: 0.5.0 + hasBin: true + dev: true + + registry.nlark.com/jsesc/1.3.0: + resolution: {integrity: sha1-RsP+yMGJKxKwgz25vHYiF226s0s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsesc/download/jsesc-1.3.0.tgz} + name: jsesc + version: 1.3.0 + hasBin: true + dev: true + + registry.nlark.com/jsesc/2.5.2: + resolution: {integrity: sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz} + name: jsesc + version: 2.5.2 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.nlark.com/json-parse-better-errors/1.0.2: + resolution: {integrity: sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz} + name: json-parse-better-errors + version: 1.0.2 + dev: true + + registry.nlark.com/json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz} + name: json-parse-even-better-errors + version: 2.3.1 + dev: true + + registry.nlark.com/json-schema-traverse/0.4.1: + resolution: {integrity: sha1-afaofZUTq4u4/mO9sJecRI5oRmA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz} + name: json-schema-traverse + version: 0.4.1 + dev: true + + registry.nlark.com/json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz} + name: json-stable-stringify-without-jsonify + version: 1.0.1 + dev: true + + registry.nlark.com/json-stringify-safe/5.0.1: + resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz} + name: json-stringify-safe + version: 5.0.1 + dev: true + + registry.nlark.com/json5/0.5.1: + resolution: {integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json5/download/json5-0.5.1.tgz} + name: json5 + version: 0.5.1 + hasBin: true + dev: true + + registry.nlark.com/json5/1.0.1: + resolution: {integrity: sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json5/download/json5-1.0.1.tgz} + name: json5 + version: 1.0.1 + hasBin: true + dependencies: + minimist: registry.nlark.com/minimist/1.2.5 + dev: true + + registry.nlark.com/json5/2.2.0: + resolution: {integrity: sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json5/download/json5-2.2.0.tgz} + name: json5 + version: 2.2.0 + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: registry.nlark.com/minimist/1.2.5 + + registry.nlark.com/jsonfile/4.0.0: + resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsonfile/download/jsonfile-4.0.0.tgz} + name: jsonfile + version: 4.0.0 + optionalDependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + dev: true + + registry.nlark.com/killable/1.0.1: + resolution: {integrity: sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/killable/download/killable-1.0.1.tgz} + name: killable + version: 1.0.1 + dev: true + + registry.nlark.com/kind-of/3.2.2: + resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz} + name: kind-of + version: 3.2.2 + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: registry.nlark.com/is-buffer/1.1.6 + dev: true + + registry.nlark.com/kind-of/4.0.0: + resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz} + name: kind-of + version: 4.0.0 + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: registry.nlark.com/is-buffer/1.1.6 + dev: true + + registry.nlark.com/kind-of/5.1.0: + resolution: {integrity: sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz} + name: kind-of + version: 5.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/kind-of/6.0.3: + resolution: {integrity: sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz} + name: kind-of + version: 6.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/kleur/3.0.3: + resolution: {integrity: sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/kleur/download/kleur-3.0.3.tgz} + name: kleur + version: 3.0.3 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/launch-editor-middleware/2.2.1: + resolution: {integrity: sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz} + name: launch-editor-middleware + version: 2.2.1 + dependencies: + launch-editor: registry.nlark.com/launch-editor/2.2.1 + dev: true + + registry.nlark.com/launch-editor/2.2.1: + resolution: {integrity: sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/launch-editor/download/launch-editor-2.2.1.tgz} + name: launch-editor + version: 2.2.1 + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + shell-quote: registry.npmmirror.com/shell-quote/1.7.3 + dev: true + + registry.nlark.com/leven/3.1.0: + resolution: {integrity: sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/leven/download/leven-3.1.0.tgz} + name: leven + version: 3.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/levn/0.3.0: + resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/levn/download/levn-0.3.0.tgz} + name: levn + version: 0.3.0 + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: registry.nlark.com/prelude-ls/1.1.2 + type-check: registry.nlark.com/type-check/0.3.2 + dev: true + + registry.nlark.com/lines-and-columns/1.1.6: + resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz} + name: lines-and-columns + version: 1.1.6 + dev: true + + registry.nlark.com/load-json-file/1.1.0: + resolution: {integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/load-json-file/download/load-json-file-1.1.0.tgz} + name: load-json-file + version: 1.1.0 + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + parse-json: registry.npmmirror.com/parse-json/2.2.0 + pify: registry.nlark.com/pify/2.3.0 + pinkie-promise: registry.nlark.com/pinkie-promise/2.0.1 + strip-bom: registry.nlark.com/strip-bom/2.0.0 + dev: true + + registry.nlark.com/load-json-file/4.0.0: + resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/load-json-file/download/load-json-file-4.0.0.tgz} + name: load-json-file + version: 4.0.0 + engines: {node: '>=4'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + parse-json: registry.npmmirror.com/parse-json/4.0.0 + pify: registry.nlark.com/pify/3.0.0 + strip-bom: registry.nlark.com/strip-bom/3.0.0 + dev: true + + registry.nlark.com/loader-fs-cache/1.0.3: + resolution: {integrity: sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz} + name: loader-fs-cache + version: 1.0.3 + dependencies: + find-cache-dir: registry.nlark.com/find-cache-dir/0.1.1 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + dev: true + + registry.nlark.com/loader-runner/2.4.0: + resolution: {integrity: sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/loader-runner/download/loader-runner-2.4.0.tgz} + name: loader-runner + version: 2.4.0 + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + dev: true + + registry.nlark.com/lodash.debounce/4.0.8: + resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz} + name: lodash.debounce + version: 4.0.8 + dev: true + + registry.nlark.com/lodash.defaultsdeep/4.6.1: + resolution: {integrity: sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz} + name: lodash.defaultsdeep + version: 4.6.1 + dev: true + + registry.nlark.com/lodash.mapvalues/4.6.0: + resolution: {integrity: sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz} + name: lodash.mapvalues + version: 4.6.0 + dev: true + + registry.nlark.com/lodash.memoize/4.1.2: + resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz} + name: lodash.memoize + version: 4.1.2 + dev: true + + registry.nlark.com/lodash.sortby/4.7.0: + resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.sortby/download/lodash.sortby-4.7.0.tgz} + name: lodash.sortby + version: 4.7.0 + dev: true + + registry.nlark.com/lodash.transform/4.6.0: + resolution: {integrity: sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.transform/download/lodash.transform-4.6.0.tgz} + name: lodash.transform + version: 4.6.0 + dev: true + + registry.nlark.com/lodash.uniq/4.5.0: + resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz} + name: lodash.uniq + version: 4.5.0 + dev: true + + registry.nlark.com/lodash/4.17.21: + resolution: {integrity: sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz} + name: lodash + version: 4.17.21 + + registry.nlark.com/lodash/4.17.4: + resolution: {integrity: sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lodash/download/lodash-4.17.4.tgz} + name: lodash + version: 4.17.4 + dev: true + + registry.nlark.com/log-symbols/2.2.0: + resolution: {integrity: sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/log-symbols/download/log-symbols-2.2.0.tgz} + name: log-symbols + version: 2.2.0 + engines: {node: '>=4'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + dev: true + + registry.nlark.com/loglevel/1.7.1: + resolution: {integrity: sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/loglevel/download/loglevel-1.7.1.tgz} + name: loglevel + version: 1.7.1 + engines: {node: '>= 0.6.0'} + dev: true + + registry.nlark.com/loose-envify/1.4.0: + resolution: {integrity: sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz?cache=0&sync_timestamp=1631603579780&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floose-envify%2Fdownload%2Floose-envify-1.4.0.tgz} + name: loose-envify + version: 1.4.0 + hasBin: true + dependencies: + js-tokens: registry.nlark.com/js-tokens/4.0.0 + dev: true + + registry.nlark.com/lower-case/1.1.4: + resolution: {integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lower-case/download/lower-case-1.1.4.tgz} + name: lower-case + version: 1.1.4 + dev: true + + registry.nlark.com/lru-cache/4.1.5: + resolution: {integrity: sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lru-cache/download/lru-cache-4.1.5.tgz} + name: lru-cache + version: 4.1.5 + dependencies: + pseudomap: registry.nlark.com/pseudomap/1.0.2 + yallist: registry.nlark.com/yallist/2.1.2 + dev: true + + registry.nlark.com/lru-cache/5.1.1: + resolution: {integrity: sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lru-cache/download/lru-cache-5.1.1.tgz} + name: lru-cache + version: 5.1.1 + dependencies: + yallist: registry.nlark.com/yallist/3.1.1 + dev: true + + registry.nlark.com/make-dir/2.1.0: + resolution: {integrity: sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz} + name: make-dir + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + pify: registry.nlark.com/pify/4.0.1 + semver: registry.nlark.com/semver/5.7.1 + dev: true + + registry.nlark.com/make-dir/3.1.0: + resolution: {integrity: sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/make-dir/download/make-dir-3.1.0.tgz} + name: make-dir + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + semver: registry.nlark.com/semver/6.3.0 + dev: true + + registry.nlark.com/map-cache/0.2.2: + resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz} + name: map-cache + version: 0.2.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/map-visit/1.0.0: + resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz} + name: map-visit + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + object-visit: registry.nlark.com/object-visit/1.0.1 + dev: true + + registry.nlark.com/math-random/1.0.4: + resolution: {integrity: sha1-XdaUPJOFSCZwFtTjTwV1gwgMUUw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/math-random/download/math-random-1.0.4.tgz} + name: math-random + version: 1.0.4 + dev: true + + registry.nlark.com/md5.js/1.3.5: + resolution: {integrity: sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/md5.js/download/md5.js-1.3.5.tgz} + name: md5.js + version: 1.3.5 + dependencies: + hash-base: registry.nlark.com/hash-base/3.1.0 + inherits: registry.nlark.com/inherits/2.0.4 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/mdn-data/1.1.4: + resolution: {integrity: sha1-ULXU/8RXUnZXPE7tuHgIEqhBnwE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mdn-data/download/mdn-data-1.1.4.tgz} + name: mdn-data + version: 1.1.4 + dev: true + + registry.nlark.com/memory-fs/0.4.1: + resolution: {integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/memory-fs/download/memory-fs-0.4.1.tgz} + name: memory-fs + version: 0.4.1 + dependencies: + errno: registry.nlark.com/errno/0.1.8 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/memory-fs/0.5.0: + resolution: {integrity: sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz} + name: memory-fs + version: 0.5.0 + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + dependencies: + errno: registry.nlark.com/errno/0.1.8 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/merge-options/1.0.1: + resolution: {integrity: sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/merge-options/download/merge-options-1.0.1.tgz} + name: merge-options + version: 1.0.1 + engines: {node: '>=4'} + dependencies: + is-plain-obj: registry.nlark.com/is-plain-obj/1.1.0 + dev: true + + registry.nlark.com/merge-source-map/1.1.0: + resolution: {integrity: sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz} + name: merge-source-map + version: 1.1.0 + dependencies: + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.nlark.com/merge-stream/2.0.0: + resolution: {integrity: sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/merge-stream/download/merge-stream-2.0.0.tgz} + name: merge-stream + version: 2.0.0 + dev: true + + registry.nlark.com/merge2/1.4.1: + resolution: {integrity: sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz} + name: merge2 + version: 1.4.1 + engines: {node: '>= 8'} + dev: true + + registry.nlark.com/methods/1.1.2: + resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/methods/download/methods-1.1.2.tgz} + name: methods + version: 1.1.2 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/micromatch/2.3.11: + resolution: {integrity: sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/micromatch/download/micromatch-2.3.11.tgz} + name: micromatch + version: 2.3.11 + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: registry.nlark.com/arr-diff/2.0.0 + array-unique: registry.nlark.com/array-unique/0.2.1 + braces: registry.nlark.com/braces/1.8.5 + expand-brackets: registry.nlark.com/expand-brackets/0.1.5 + extglob: registry.nlark.com/extglob/0.3.2 + filename-regex: registry.nlark.com/filename-regex/2.0.1 + is-extglob: registry.nlark.com/is-extglob/1.0.0 + is-glob: registry.npmmirror.com/is-glob/2.0.1 + kind-of: registry.nlark.com/kind-of/3.2.2 + normalize-path: registry.nlark.com/normalize-path/2.1.1 + object.omit: registry.nlark.com/object.omit/2.0.1 + parse-glob: registry.nlark.com/parse-glob/3.0.4 + regex-cache: registry.nlark.com/regex-cache/0.4.4 + dev: true + + registry.nlark.com/micromatch/3.1.0: + resolution: {integrity: sha1-UQLU6vILaZfWAI46z+HESj+oFeI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/micromatch/download/micromatch-3.1.0.tgz} + name: micromatch + version: 3.1.0 + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: registry.nlark.com/arr-diff/4.0.0 + array-unique: registry.nlark.com/array-unique/0.3.2 + braces: registry.nlark.com/braces/2.3.2 + define-property: registry.nlark.com/define-property/1.0.0 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + extglob: registry.nlark.com/extglob/2.0.4 + fragment-cache: registry.nlark.com/fragment-cache/0.2.1 + kind-of: registry.nlark.com/kind-of/5.1.0 + nanomatch: registry.nlark.com/nanomatch/1.2.13 + object.pick: registry.nlark.com/object.pick/1.3.0 + regex-not: registry.nlark.com/regex-not/1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/micromatch/3.1.10: + resolution: {integrity: sha1-cIWbyVyYQJUvNZoGij/En57PrCM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz} + name: micromatch + version: 3.1.10 + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: registry.nlark.com/arr-diff/4.0.0 + array-unique: registry.nlark.com/array-unique/0.3.2 + braces: registry.nlark.com/braces/2.3.2 + define-property: registry.nlark.com/define-property/2.0.2 + extend-shallow: registry.nlark.com/extend-shallow/3.0.2 + extglob: registry.nlark.com/extglob/2.0.4 + fragment-cache: registry.nlark.com/fragment-cache/0.2.1 + kind-of: registry.nlark.com/kind-of/6.0.3 + nanomatch: registry.nlark.com/nanomatch/1.2.13 + object.pick: registry.nlark.com/object.pick/1.3.0 + regex-not: registry.nlark.com/regex-not/1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/miller-rabin/4.0.1: + resolution: {integrity: sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.1.tgz} + name: miller-rabin + version: 4.0.1 + hasBin: true + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + brorand: registry.nlark.com/brorand/1.1.0 + dev: true + + registry.nlark.com/mimic-fn/1.2.0: + resolution: {integrity: sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mimic-fn/download/mimic-fn-1.2.0.tgz} + name: mimic-fn + version: 1.2.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/mimic-fn/2.1.0: + resolution: {integrity: sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz} + name: mimic-fn + version: 2.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/minimalistic-assert/1.0.1: + resolution: {integrity: sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz} + name: minimalistic-assert + version: 1.0.1 + dev: true + + registry.nlark.com/minimalistic-crypto-utils/1.0.1: + resolution: {integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz} + name: minimalistic-crypto-utils + version: 1.0.1 + dev: true + + registry.nlark.com/minimatch/3.0.4: + resolution: {integrity: sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz} + name: minimatch + version: 3.0.4 + dependencies: + brace-expansion: registry.nlark.com/brace-expansion/1.1.11 + + registry.nlark.com/minimist/1.2.5: + resolution: {integrity: sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz} + name: minimist + version: 1.2.5 + + registry.nlark.com/minipass/3.1.5: + resolution: {integrity: sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minipass/download/minipass-3.1.5.tgz} + name: minipass + version: 3.1.5 + engines: {node: '>=8'} + dependencies: + yallist: registry.nlark.com/yallist/4.0.0 + dev: true + + registry.nlark.com/mississippi/3.0.0: + resolution: {integrity: sha1-6goykfl+C16HdrNj1fChLZTGcCI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mississippi/download/mississippi-3.0.0.tgz} + name: mississippi + version: 3.0.0 + engines: {node: '>=4.0.0'} + dependencies: + concat-stream: registry.nlark.com/concat-stream/1.6.2 + duplexify: registry.nlark.com/duplexify/3.7.1 + end-of-stream: registry.nlark.com/end-of-stream/1.4.4 + flush-write-stream: registry.nlark.com/flush-write-stream/1.1.1 + from2: registry.nlark.com/from2/2.3.0 + parallel-transform: registry.nlark.com/parallel-transform/1.2.0 + pump: registry.nlark.com/pump/3.0.0 + pumpify: registry.nlark.com/pumpify/1.5.1 + stream-each: registry.nlark.com/stream-each/1.2.3 + through2: registry.nlark.com/through2/2.0.5 + dev: true + + registry.nlark.com/mixin-deep/1.3.2: + resolution: {integrity: sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz} + name: mixin-deep + version: 1.3.2 + engines: {node: '>=0.10.0'} + dependencies: + for-in: registry.nlark.com/for-in/1.0.2 + is-extendable: registry.nlark.com/is-extendable/1.0.1 + dev: true + + registry.nlark.com/mockjs/1.0.1-beta3: + resolution: {integrity: sha1-0jTzwnJWOXVk8slVFC6JGQlTcgk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mockjs/download/mockjs-1.0.1-beta3.tgz} + name: mockjs + version: 1.0.1-beta3 + hasBin: true + dependencies: + commander: registry.npmmirror.com/commander/8.3.0 + dev: true + + registry.nlark.com/move-concurrently/1.0.1: + resolution: {integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/move-concurrently/download/move-concurrently-1.0.1.tgz} + name: move-concurrently + version: 1.0.1 + dependencies: + aproba: registry.nlark.com/aproba/1.2.0 + copy-concurrently: registry.nlark.com/copy-concurrently/1.0.5 + fs-write-stream-atomic: registry.npmmirror.com/fs-write-stream-atomic/1.0.10 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + run-queue: registry.nlark.com/run-queue/1.0.3 + dev: true + + registry.nlark.com/multicast-dns-service-types/1.1.0: + resolution: {integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz} + name: multicast-dns-service-types + version: 1.1.0 + dev: true + + registry.nlark.com/mute-stream/0.0.8: + resolution: {integrity: sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mute-stream/download/mute-stream-0.0.8.tgz} + name: mute-stream + version: 0.0.8 + dev: true + + registry.nlark.com/nan/2.15.0: + resolution: {integrity: sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nan/download/nan-2.15.0.tgz} + name: nan + version: 2.15.0 + requiresBuild: true + dev: true + optional: true + + registry.nlark.com/nanomatch/1.2.13: + resolution: {integrity: sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz} + name: nanomatch + version: 1.2.13 + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: registry.nlark.com/arr-diff/4.0.0 + array-unique: registry.nlark.com/array-unique/0.3.2 + define-property: registry.nlark.com/define-property/2.0.2 + extend-shallow: registry.nlark.com/extend-shallow/3.0.2 + fragment-cache: registry.nlark.com/fragment-cache/0.2.1 + is-windows: registry.nlark.com/is-windows/1.0.2 + kind-of: registry.nlark.com/kind-of/6.0.3 + object.pick: registry.nlark.com/object.pick/1.3.0 + regex-not: registry.nlark.com/regex-not/1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: registry.nlark.com/to-regex/3.0.2 + dev: true + + registry.nlark.com/natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz} + name: natural-compare + version: 1.4.0 + dev: true + + registry.nlark.com/neo-async/2.6.2: + resolution: {integrity: sha1-tKr7k+OustgXTKU88WOrfXMIMF8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/neo-async/download/neo-async-2.6.2.tgz} + name: neo-async + version: 2.6.2 + dev: true + + registry.nlark.com/nice-try/1.0.5: + resolution: {integrity: sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nice-try/download/nice-try-1.0.5.tgz} + name: nice-try + version: 1.0.5 + dev: true + + registry.nlark.com/no-case/2.3.2: + resolution: {integrity: sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/no-case/download/no-case-2.3.2.tgz} + name: no-case + version: 2.3.2 + dependencies: + lower-case: registry.nlark.com/lower-case/1.1.4 + dev: true + + registry.nlark.com/node-forge/0.10.0: + resolution: {integrity: sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-forge/download/node-forge-0.10.0.tgz} + name: node-forge + version: 0.10.0 + engines: {node: '>= 6.0.0'} + dev: true + + registry.nlark.com/node-int64/0.4.0: + resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-int64/download/node-int64-0.4.0.tgz} + name: node-int64 + version: 0.4.0 + dev: true + + registry.nlark.com/node-ipc/9.2.1: + resolution: {integrity: sha1-sy9mEV+dbOhB3E7CAJ1qcz+Yu2s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-ipc/download/node-ipc-9.2.1.tgz} + name: node-ipc + version: 9.2.1 + engines: {node: '>=8.0.0'} + dependencies: + event-pubsub: registry.npmmirror.com/event-pubsub/4.3.0 + js-message: registry.nlark.com/js-message/1.0.7 + js-queue: registry.npmmirror.com/js-queue/2.0.2 + dev: true + + registry.nlark.com/node-libs-browser/2.2.1: + resolution: {integrity: sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz} + name: node-libs-browser + version: 2.2.1 + dependencies: + assert: registry.nlark.com/assert/1.5.0 + browserify-zlib: registry.nlark.com/browserify-zlib/0.2.0 + buffer: registry.nlark.com/buffer/4.9.2 + console-browserify: registry.nlark.com/console-browserify/1.2.0 + constants-browserify: registry.nlark.com/constants-browserify/1.0.0 + crypto-browserify: registry.nlark.com/crypto-browserify/3.12.0 + domain-browser: registry.nlark.com/domain-browser/1.2.0 + events: registry.npmmirror.com/events/3.3.0 + https-browserify: registry.nlark.com/https-browserify/1.0.0 + os-browserify: registry.nlark.com/os-browserify/0.3.0 + path-browserify: registry.nlark.com/path-browserify/0.0.1 + process: registry.nlark.com/process/0.11.10 + punycode: registry.nlark.com/punycode/1.4.1 + querystring-es3: registry.nlark.com/querystring-es3/0.2.1 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + stream-browserify: registry.nlark.com/stream-browserify/2.0.2 + stream-http: registry.nlark.com/stream-http/2.8.3 + string_decoder: registry.nlark.com/string_decoder/1.3.0 + timers-browserify: registry.nlark.com/timers-browserify/2.0.12 + tty-browserify: registry.npmmirror.com/tty-browserify/0.0.0 + url: registry.nlark.com/url/0.11.0 + util: registry.nlark.com/util/0.11.1 + vm-browserify: registry.nlark.com/vm-browserify/1.1.2 + dev: true + + registry.nlark.com/node-modules-regexp/1.0.0: + resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz} + name: node-modules-regexp + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/node-notifier/5.4.5: + resolution: {integrity: sha1-DLwaKw9lhJO0Ald1oTrZOOlgke8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-notifier/download/node-notifier-5.4.5.tgz} + name: node-notifier + version: 5.4.5 + dependencies: + growly: registry.nlark.com/growly/1.3.0 + is-wsl: registry.nlark.com/is-wsl/1.1.0 + semver: registry.nlark.com/semver/5.7.1 + shellwords: registry.nlark.com/shellwords/0.1.1 + which: registry.nlark.com/which/1.3.1 + dev: true + + registry.nlark.com/nopt/5.0.0: + resolution: {integrity: sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nopt/download/nopt-5.0.0.tgz} + name: nopt + version: 5.0.0 + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: registry.nlark.com/abbrev/1.1.1 + dev: true + + registry.nlark.com/normalize-package-data/2.5.0: + resolution: {integrity: sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz} + name: normalize-package-data + version: 2.5.0 + dependencies: + hosted-git-info: registry.nlark.com/hosted-git-info/2.8.9 + resolve: registry.nlark.com/resolve/1.20.0 + semver: registry.nlark.com/semver/5.7.1 + validate-npm-package-license: registry.nlark.com/validate-npm-package-license/3.0.4 + dev: true + + registry.nlark.com/normalize-path/1.0.0: + resolution: {integrity: sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-path/download/normalize-path-1.0.0.tgz?cache=0&sync_timestamp=1631603496389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-path%2Fdownload%2Fnormalize-path-1.0.0.tgz} + name: normalize-path + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/normalize-path/2.1.1: + resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz?cache=0&sync_timestamp=1631603496389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-path%2Fdownload%2Fnormalize-path-2.1.1.tgz} + name: normalize-path + version: 2.1.1 + engines: {node: '>=0.10.0'} + dependencies: + remove-trailing-separator: registry.nlark.com/remove-trailing-separator/1.1.0 + dev: true + + registry.nlark.com/normalize-path/3.0.0: + resolution: {integrity: sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz?cache=0&sync_timestamp=1631603496389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-path%2Fdownload%2Fnormalize-path-3.0.0.tgz} + name: normalize-path + version: 3.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/normalize-range/0.1.2: + resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz} + name: normalize-range + version: 0.1.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/normalize-url/1.9.1: + resolution: {integrity: sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-url/download/normalize-url-1.9.1.tgz} + name: normalize-url + version: 1.9.1 + engines: {node: '>=4'} + dependencies: + object-assign: registry.nlark.com/object-assign/4.1.1 + prepend-http: registry.nlark.com/prepend-http/1.0.4 + query-string: registry.nlark.com/query-string/4.3.4 + sort-keys: registry.nlark.com/sort-keys/1.1.2 + dev: true + + registry.nlark.com/normalize-url/3.3.0: + resolution: {integrity: sha1-suHE3E98bVd0PfczpPWXjRhlBVk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-url/download/normalize-url-3.3.0.tgz} + name: normalize-url + version: 3.3.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/normalize-wheel/1.0.1: + resolution: {integrity: sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-wheel/download/normalize-wheel-1.0.1.tgz} + name: normalize-wheel + version: 1.0.1 + dev: false + + registry.nlark.com/normalize.css/7.0.0: + resolution: {integrity: sha1-q/sd2CRwZ04DIrU86xqvQSk45L8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize.css/download/normalize.css-7.0.0.tgz} + name: normalize.css + version: 7.0.0 + dev: false + + registry.nlark.com/nth-check/1.0.2: + resolution: {integrity: sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nth-check/download/nth-check-1.0.2.tgz} + name: nth-check + version: 1.0.2 + dependencies: + boolbase: registry.nlark.com/boolbase/1.0.0 + dev: true + + registry.nlark.com/nth-check/2.0.1: + resolution: {integrity: sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz} + name: nth-check + version: 2.0.1 + dependencies: + boolbase: registry.nlark.com/boolbase/1.0.0 + dev: true + + registry.nlark.com/num2fraction/1.2.2: + resolution: {integrity: sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/num2fraction/download/num2fraction-1.2.2.tgz} + name: num2fraction + version: 1.2.2 + dev: true + + registry.nlark.com/nwsapi/2.2.0: + resolution: {integrity: sha1-IEh5qePQaP8qVROcLHcngGgaOLc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nwsapi/download/nwsapi-2.2.0.tgz} + name: nwsapi + version: 2.2.0 + dev: true + + registry.nlark.com/oauth-sign/0.9.0: + resolution: {integrity: sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/oauth-sign/download/oauth-sign-0.9.0.tgz} + name: oauth-sign + version: 0.9.0 + dev: true + + registry.nlark.com/object-assign/4.1.1: + resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1631603545414&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz} + name: object-assign + version: 4.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/object-copy/0.1.0: + resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz} + name: object-copy + version: 0.1.0 + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: registry.nlark.com/copy-descriptor/0.1.1 + define-property: registry.nlark.com/define-property/0.2.5 + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/object-hash/1.3.1: + resolution: {integrity: sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-hash/download/object-hash-1.3.1.tgz} + name: object-hash + version: 1.3.1 + engines: {node: '>= 0.10.0'} + dev: true + + registry.nlark.com/object-inspect/1.11.0: + resolution: {integrity: sha1-nc6xRs7dQUig2eUauI00z1CZIrE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz} + name: object-inspect + version: 1.11.0 + + registry.nlark.com/object-is/1.1.5: + resolution: {integrity: sha1-ud7qpfx/GEag+uzc7sE45XePU6w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-is/download/object-is-1.1.5.tgz} + name: object-is + version: 1.1.5 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + dev: true + + registry.nlark.com/object-keys/1.1.1: + resolution: {integrity: sha1-HEfyct8nfzsdrwYWd9nILiMixg4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz} + name: object-keys + version: 1.1.1 + engines: {node: '>= 0.4'} + dev: true + + registry.nlark.com/object-visit/1.0.1: + resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz} + name: object-visit + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/object.assign/4.1.2: + resolution: {integrity: sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz} + name: object.assign + version: 4.1.2 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + object-keys: registry.nlark.com/object-keys/1.1.1 + dev: true + + registry.nlark.com/object.omit/2.0.1: + resolution: {integrity: sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object.omit/download/object.omit-2.0.1.tgz} + name: object.omit + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + for-own: registry.nlark.com/for-own/0.1.5 + is-extendable: registry.nlark.com/is-extendable/0.1.1 + dev: true + + registry.nlark.com/object.pick/1.3.0: + resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz} + name: object.pick + version: 1.3.0 + engines: {node: '>=0.10.0'} + dependencies: + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/obuf/1.1.2: + resolution: {integrity: sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/obuf/download/obuf-1.1.2.tgz} + name: obuf + version: 1.1.2 + dev: true + + registry.nlark.com/on-finished/2.3.0: + resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/on-finished/download/on-finished-2.3.0.tgz} + name: on-finished + version: 2.3.0 + engines: {node: '>= 0.8'} + dependencies: + ee-first: registry.nlark.com/ee-first/1.1.1 + dev: true + + registry.nlark.com/on-headers/1.0.2: + resolution: {integrity: sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz} + name: on-headers + version: 1.0.2 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/once/download/once-1.4.0.tgz} + name: once + version: 1.4.0 + dependencies: + wrappy: registry.nlark.com/wrappy/1.0.2 + + registry.nlark.com/onetime/2.0.1: + resolution: {integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/onetime/download/onetime-2.0.1.tgz} + name: onetime + version: 2.0.1 + engines: {node: '>=4'} + dependencies: + mimic-fn: registry.nlark.com/mimic-fn/1.2.0 + dev: true + + registry.nlark.com/onetime/5.1.2: + resolution: {integrity: sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/onetime/download/onetime-5.1.2.tgz} + name: onetime + version: 5.1.2 + engines: {node: '>=6'} + dependencies: + mimic-fn: registry.nlark.com/mimic-fn/2.1.0 + dev: true + + registry.nlark.com/opener/1.5.2: + resolution: {integrity: sha1-XTfh81B3udysQwE3InGv3rKhNZg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/opener/download/opener-1.5.2.tgz} + name: opener + version: 1.5.2 + hasBin: true + dev: true + + registry.nlark.com/optionator/0.8.3: + resolution: {integrity: sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/optionator/download/optionator-0.8.3.tgz} + name: optionator + version: 0.8.3 + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: registry.nlark.com/deep-is/0.1.4 + fast-levenshtein: registry.nlark.com/fast-levenshtein/2.0.6 + levn: registry.nlark.com/levn/0.3.0 + prelude-ls: registry.nlark.com/prelude-ls/1.1.2 + type-check: registry.nlark.com/type-check/0.3.2 + word-wrap: registry.nlark.com/word-wrap/1.2.3 + dev: true + + registry.nlark.com/ora/3.4.0: + resolution: {integrity: sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ora/download/ora-3.4.0.tgz} + name: ora + version: 3.4.0 + engines: {node: '>=6'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + cli-cursor: registry.nlark.com/cli-cursor/2.1.0 + cli-spinners: registry.npmmirror.com/cli-spinners/2.6.1 + log-symbols: registry.nlark.com/log-symbols/2.2.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + wcwidth: registry.nlark.com/wcwidth/1.0.1 + dev: true + + registry.nlark.com/original/1.0.2: + resolution: {integrity: sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/original/download/original-1.0.2.tgz} + name: original + version: 1.0.2 + dependencies: + url-parse: registry.nlark.com/url-parse/1.5.3 + dev: true + + registry.nlark.com/os-browserify/0.3.0: + resolution: {integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/os-browserify/download/os-browserify-0.3.0.tgz} + name: os-browserify + version: 0.3.0 + dev: true + + registry.nlark.com/os-tmpdir/1.0.2: + resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz} + name: os-tmpdir + version: 1.0.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/p-each-series/1.0.0: + resolution: {integrity: sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-each-series/download/p-each-series-1.0.0.tgz} + name: p-each-series + version: 1.0.0 + engines: {node: '>=4'} + dependencies: + p-reduce: registry.nlark.com/p-reduce/1.0.0 + dev: true + + registry.nlark.com/p-finally/1.0.0: + resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-finally/download/p-finally-1.0.0.tgz} + name: p-finally + version: 1.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/p-finally/2.0.1: + resolution: {integrity: sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-finally/download/p-finally-2.0.1.tgz} + name: p-finally + version: 2.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/p-limit/1.3.0: + resolution: {integrity: sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz} + name: p-limit + version: 1.3.0 + engines: {node: '>=4'} + dependencies: + p-try: registry.npmmirror.com/p-try/1.0.0 + dev: true + + registry.nlark.com/p-limit/2.3.0: + resolution: {integrity: sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz} + name: p-limit + version: 2.3.0 + engines: {node: '>=6'} + dependencies: + p-try: registry.npmmirror.com/p-try/2.2.0 + dev: true + + registry.nlark.com/p-locate/2.0.0: + resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz} + name: p-locate + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + p-limit: registry.nlark.com/p-limit/1.3.0 + dev: true + + registry.nlark.com/p-locate/3.0.0: + resolution: {integrity: sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz} + name: p-locate + version: 3.0.0 + engines: {node: '>=6'} + dependencies: + p-limit: registry.nlark.com/p-limit/2.3.0 + dev: true + + registry.nlark.com/p-locate/4.1.0: + resolution: {integrity: sha1-o0KLtwiLOmApL2aRkni3wpetTwc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz} + name: p-locate + version: 4.1.0 + engines: {node: '>=8'} + dependencies: + p-limit: registry.nlark.com/p-limit/2.3.0 + dev: true + + registry.nlark.com/p-reduce/1.0.0: + resolution: {integrity: sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-reduce/download/p-reduce-1.0.0.tgz} + name: p-reduce + version: 1.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/pako/1.0.11: + resolution: {integrity: sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pako/download/pako-1.0.11.tgz} + name: pako + version: 1.0.11 + dev: true + + registry.nlark.com/parallel-transform/1.2.0: + resolution: {integrity: sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parallel-transform/download/parallel-transform-1.2.0.tgz} + name: parallel-transform + version: 1.2.0 + dependencies: + cyclist: registry.nlark.com/cyclist/1.0.1 + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/param-case/2.1.1: + resolution: {integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/param-case/download/param-case-2.1.1.tgz} + name: param-case + version: 2.1.1 + dependencies: + no-case: registry.nlark.com/no-case/2.3.2 + dev: true + + registry.nlark.com/parse-asn1/5.1.6: + resolution: {integrity: sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.6.tgz} + name: parse-asn1 + version: 5.1.6 + dependencies: + asn1.js: registry.npmmirror.com/asn1.js/5.4.1 + browserify-aes: registry.nlark.com/browserify-aes/1.2.0 + evp_bytestokey: registry.nlark.com/evp_bytestokey/1.0.3 + pbkdf2: registry.nlark.com/pbkdf2/3.1.2 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/parse-glob/3.0.4: + resolution: {integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse-glob/download/parse-glob-3.0.4.tgz} + name: parse-glob + version: 3.0.4 + engines: {node: '>=0.10.0'} + dependencies: + glob-base: registry.nlark.com/glob-base/0.3.0 + is-dotfile: registry.nlark.com/is-dotfile/1.0.3 + is-extglob: registry.nlark.com/is-extglob/1.0.0 + is-glob: registry.npmmirror.com/is-glob/2.0.1 + dev: true + + registry.nlark.com/parse5-htmlparser2-tree-adapter/6.0.1: + resolution: {integrity: sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz} + name: parse5-htmlparser2-tree-adapter + version: 6.0.1 + dependencies: + parse5: registry.nlark.com/parse5/6.0.1 + dev: true + + registry.nlark.com/parse5/4.0.0: + resolution: {integrity: sha1-bXhlbj2o14tOwLkG98CO8d/j9gg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse5/download/parse5-4.0.0.tgz} + name: parse5 + version: 4.0.0 + dev: true + + registry.nlark.com/parse5/5.1.0: + resolution: {integrity: sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse5/download/parse5-5.1.0.tgz} + name: parse5 + version: 5.1.0 + dev: true + + registry.nlark.com/parse5/5.1.1: + resolution: {integrity: sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse5/download/parse5-5.1.1.tgz} + name: parse5 + version: 5.1.1 + dev: true + + registry.nlark.com/parse5/6.0.1: + resolution: {integrity: sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz} + name: parse5 + version: 6.0.1 + dev: true + + registry.nlark.com/parseurl/1.3.3: + resolution: {integrity: sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parseurl/download/parseurl-1.3.3.tgz} + name: parseurl + version: 1.3.3 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/pascalcase/0.1.1: + resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz} + name: pascalcase + version: 0.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/path-browserify/0.0.1: + resolution: {integrity: sha1-5sTd1+06onxoogzE5Q4aTug7vEo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-browserify/download/path-browserify-0.0.1.tgz} + name: path-browserify + version: 0.0.1 + dev: true + + registry.nlark.com/path-dirname/1.0.2: + resolution: {integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-dirname/download/path-dirname-1.0.2.tgz} + name: path-dirname + version: 1.0.2 + dev: true + + registry.nlark.com/path-exists/2.1.0: + resolution: {integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz} + name: path-exists + version: 2.1.0 + engines: {node: '>=0.10.0'} + dependencies: + pinkie-promise: registry.nlark.com/pinkie-promise/2.0.1 + dev: true + + registry.nlark.com/path-exists/3.0.0: + resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz} + name: path-exists + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/path-exists/4.0.0: + resolution: {integrity: sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz} + name: path-exists + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz} + name: path-is-absolute + version: 1.0.1 + engines: {node: '>=0.10.0'} + + registry.nlark.com/path-key/2.0.1: + resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-key/download/path-key-2.0.1.tgz} + name: path-key + version: 2.0.1 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/path-key/3.1.1: + resolution: {integrity: sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-key/download/path-key-3.1.1.tgz} + name: path-key + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/path-parse/1.0.7: + resolution: {integrity: sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz} + name: path-parse + version: 1.0.7 + dev: true + + registry.nlark.com/path-to-regexp/0.1.7: + resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-to-regexp/download/path-to-regexp-0.1.7.tgz} + name: path-to-regexp + version: 0.1.7 + dev: true + + registry.nlark.com/path-to-regexp/2.4.0: + resolution: {integrity: sha1-Nc5/Mz1WFvHB4b/iZsOrouWy5wQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-to-regexp/download/path-to-regexp-2.4.0.tgz} + name: path-to-regexp + version: 2.4.0 + dev: false + + registry.nlark.com/path-type/1.1.0: + resolution: {integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-type/download/path-type-1.1.0.tgz} + name: path-type + version: 1.1.0 + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + pify: registry.nlark.com/pify/2.3.0 + pinkie-promise: registry.nlark.com/pinkie-promise/2.0.1 + dev: true + + registry.nlark.com/path-type/3.0.0: + resolution: {integrity: sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz} + name: path-type + version: 3.0.0 + engines: {node: '>=4'} + dependencies: + pify: registry.nlark.com/pify/3.0.0 + dev: true + + registry.nlark.com/pbkdf2/3.1.2: + resolution: {integrity: sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pbkdf2/download/pbkdf2-3.1.2.tgz} + name: pbkdf2 + version: 3.1.2 + engines: {node: '>=0.12'} + dependencies: + create-hash: registry.nlark.com/create-hash/1.2.0 + create-hmac: registry.nlark.com/create-hmac/1.1.7 + ripemd160: registry.nlark.com/ripemd160/2.0.2 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + sha.js: registry.nlark.com/sha.js/2.4.11 + dev: true + + registry.nlark.com/performance-now/2.1.0: + resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz} + name: performance-now + version: 2.1.0 + dev: true + + registry.nlark.com/picomatch/2.3.0: + resolution: {integrity: sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz} + name: picomatch + version: 2.3.0 + engines: {node: '>=8.6'} + dev: true + + registry.nlark.com/pify/2.3.0: + resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pify/download/pify-2.3.0.tgz} + name: pify + version: 2.3.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/pify/3.0.0: + resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pify/download/pify-3.0.0.tgz} + name: pify + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/pify/4.0.1: + resolution: {integrity: sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pify/download/pify-4.0.1.tgz} + name: pify + version: 4.0.1 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/pinkie-promise/2.0.1: + resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz} + name: pinkie-promise + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + pinkie: registry.nlark.com/pinkie/2.0.4 + dev: true + + registry.nlark.com/pinkie/2.0.4: + resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pinkie/download/pinkie-2.0.4.tgz} + name: pinkie + version: 2.0.4 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/pirates/4.0.1: + resolution: {integrity: sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pirates/download/pirates-4.0.1.tgz} + name: pirates + version: 4.0.1 + engines: {node: '>= 6'} + dependencies: + node-modules-regexp: registry.nlark.com/node-modules-regexp/1.0.0 + dev: true + + registry.nlark.com/pn/1.1.0: + resolution: {integrity: sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pn/download/pn-1.1.0.tgz} + name: pn + version: 1.1.0 + dev: true + + registry.nlark.com/portfinder/1.0.28: + resolution: {integrity: sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/portfinder/download/portfinder-1.0.28.tgz} + name: portfinder + version: 1.0.28 + engines: {node: '>= 0.12.0'} + dependencies: + async: registry.npmmirror.com/async/2.6.3 + debug: registry.npmmirror.com/debug/3.2.7 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + + registry.nlark.com/posix-character-classes/0.1.1: + resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz} + name: posix-character-classes + version: 0.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/postcss-calc/7.0.5: + resolution: {integrity: sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-calc/download/postcss-calc-7.0.5.tgz} + name: postcss-calc + version: 7.0.5 + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + postcss-value-parser: registry.nlark.com/postcss-value-parser/4.1.0 + dev: true + + registry.nlark.com/postcss-discard-comments/4.0.2: + resolution: {integrity: sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz} + name: postcss-discard-comments + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-discard-duplicates/4.0.2: + resolution: {integrity: sha1-P+EzzTyCKC5VD8myORdqkge3hOs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz} + name: postcss-discard-duplicates + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-discard-empty/4.0.1: + resolution: {integrity: sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz} + name: postcss-discard-empty + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-discard-overridden/4.0.1: + resolution: {integrity: sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz} + name: postcss-discard-overridden + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-merge-rules/4.0.3: + resolution: {integrity: sha1-NivqT/Wh+Y5AdacTxsslrv75plA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz} + name: postcss-merge-rules + version: 4.0.3 + engines: {node: '>=6.9.0'} + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + caniuse-api: registry.nlark.com/caniuse-api/3.0.0 + cssnano-util-same-parent: registry.nlark.com/cssnano-util-same-parent/4.0.1 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/3.1.2 + vendors: registry.nlark.com/vendors/1.0.4 + dev: true + + registry.nlark.com/postcss-minify-font-values/4.0.2: + resolution: {integrity: sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz} + name: postcss-minify-font-values + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-minify-params/4.0.2: + resolution: {integrity: sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz} + name: postcss-minify-params + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + alphanum-sort: registry.nlark.com/alphanum-sort/1.0.2 + browserslist: registry.npmmirror.com/browserslist/4.17.6 + cssnano-util-get-arguments: registry.nlark.com/cssnano-util-get-arguments/4.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + uniqs: registry.nlark.com/uniqs/2.0.0 + dev: true + + registry.nlark.com/postcss-minify-selectors/4.0.2: + resolution: {integrity: sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz} + name: postcss-minify-selectors + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + alphanum-sort: registry.nlark.com/alphanum-sort/1.0.2 + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/3.1.2 + dev: true + + registry.nlark.com/postcss-modules-extract-imports/2.0.0: + resolution: {integrity: sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz} + name: postcss-modules-extract-imports + version: 2.0.0 + engines: {node: '>= 6'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-modules-local-by-default/3.0.3: + resolution: {integrity: sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz} + name: postcss-modules-local-by-default + version: 3.0.3 + engines: {node: '>= 6'} + dependencies: + icss-utils: registry.nlark.com/icss-utils/4.1.1 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + postcss-value-parser: registry.nlark.com/postcss-value-parser/4.1.0 + dev: true + + registry.nlark.com/postcss-modules-scope/2.2.0: + resolution: {integrity: sha1-OFyuATzHdD9afXYC0Qc6iequYu4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz} + name: postcss-modules-scope + version: 2.2.0 + engines: {node: '>= 6'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + dev: true + + registry.nlark.com/postcss-modules-values/3.0.0: + resolution: {integrity: sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz} + name: postcss-modules-values + version: 3.0.0 + dependencies: + icss-utils: registry.nlark.com/icss-utils/4.1.1 + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-normalize-charset/4.0.1: + resolution: {integrity: sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz} + name: postcss-normalize-charset + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-normalize-display-values/4.0.2: + resolution: {integrity: sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz} + name: postcss-normalize-display-values + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-match: registry.nlark.com/cssnano-util-get-match/4.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-positions/4.0.2: + resolution: {integrity: sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz} + name: postcss-normalize-positions + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-arguments: registry.nlark.com/cssnano-util-get-arguments/4.0.0 + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-repeat-style/4.0.2: + resolution: {integrity: sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz} + name: postcss-normalize-repeat-style + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-arguments: registry.nlark.com/cssnano-util-get-arguments/4.0.0 + cssnano-util-get-match: registry.nlark.com/cssnano-util-get-match/4.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-string/4.0.2: + resolution: {integrity: sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz} + name: postcss-normalize-string + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-timing-functions/4.0.2: + resolution: {integrity: sha1-jgCcoqOUnNr4rSPmtquZy159KNk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz} + name: postcss-normalize-timing-functions + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-match: registry.nlark.com/cssnano-util-get-match/4.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-unicode/4.0.1: + resolution: {integrity: sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz} + name: postcss-normalize-unicode + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-url/4.0.1: + resolution: {integrity: sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz} + name: postcss-normalize-url + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + is-absolute-url: registry.nlark.com/is-absolute-url/2.1.0 + normalize-url: registry.nlark.com/normalize-url/3.3.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-normalize-whitespace/4.0.2: + resolution: {integrity: sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz} + name: postcss-normalize-whitespace + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-ordered-values/4.1.2: + resolution: {integrity: sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz} + name: postcss-ordered-values + version: 4.1.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-arguments: registry.nlark.com/cssnano-util-get-arguments/4.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-reduce-initial/4.0.3: + resolution: {integrity: sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz} + name: postcss-reduce-initial + version: 4.0.3 + engines: {node: '>=6.9.0'} + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + caniuse-api: registry.nlark.com/caniuse-api/3.0.0 + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.nlark.com/postcss-reduce-transforms/4.0.2: + resolution: {integrity: sha1-F++kBerMbge+NBSlyi0QdGgdTik=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz} + name: postcss-reduce-transforms + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-match: registry.nlark.com/cssnano-util-get-match/4.0.0 + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.nlark.com/postcss-selector-parser/3.1.2: + resolution: {integrity: sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz} + name: postcss-selector-parser + version: 3.1.2 + engines: {node: '>=8'} + dependencies: + dot-prop: registry.nlark.com/dot-prop/5.3.0 + indexes-of: registry.nlark.com/indexes-of/1.0.1 + uniq: registry.nlark.com/uniq/1.0.1 + dev: true + + registry.nlark.com/postcss-selector-parser/6.0.6: + resolution: {integrity: sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz} + name: postcss-selector-parser + version: 6.0.6 + engines: {node: '>=4'} + dependencies: + cssesc: registry.nlark.com/cssesc/3.0.0 + util-deprecate: registry.nlark.com/util-deprecate/1.0.2 + dev: true + + registry.nlark.com/postcss-unique-selectors/4.0.1: + resolution: {integrity: sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz} + name: postcss-unique-selectors + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + alphanum-sort: registry.nlark.com/alphanum-sort/1.0.2 + postcss: registry.npmmirror.com/postcss/7.0.39 + uniqs: registry.nlark.com/uniqs/2.0.0 + dev: true + + registry.nlark.com/postcss-value-parser/3.3.1: + resolution: {integrity: sha1-n/giVH4okyE88cMO+lGsX9G6goE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz} + name: postcss-value-parser + version: 3.3.1 + dev: true + + registry.nlark.com/postcss-value-parser/4.1.0: + resolution: {integrity: sha1-RD9qIM7WSBor2k+oUypuVdeJoss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz} + name: postcss-value-parser + version: 4.1.0 + dev: true + + registry.nlark.com/posthtml/0.9.2: + resolution: {integrity: sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posthtml/download/posthtml-0.9.2.tgz} + name: posthtml + version: 0.9.2 + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: registry.npmmirror.com/posthtml-parser/0.2.1 + posthtml-render: registry.npmmirror.com/posthtml-render/1.4.0 + dev: true + + registry.nlark.com/prelude-ls/1.1.2: + resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/prelude-ls/download/prelude-ls-1.1.2.tgz} + name: prelude-ls + version: 1.1.2 + engines: {node: '>= 0.8.0'} + dev: true + + registry.nlark.com/prepend-http/1.0.4: + resolution: {integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/prepend-http/download/prepend-http-1.0.4.tgz} + name: prepend-http + version: 1.0.4 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/preserve/0.2.0: + resolution: {integrity: sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/preserve/download/preserve-0.2.0.tgz} + name: preserve + version: 0.2.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/prettier/2.4.1: + resolution: {integrity: sha1-Zx4RyJwUpM/Ids5WQQbEpnJsn1w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/prettier/download/prettier-2.4.1.tgz} + name: prettier + version: 2.4.1 + engines: {node: '>=10.13.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + registry.nlark.com/process-nextick-args/2.0.1: + resolution: {integrity: sha1-eCDZsWEgzFXKmud5JoCufbptf+I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz} + name: process-nextick-args + version: 2.0.1 + dev: true + + registry.nlark.com/process/0.11.10: + resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/process/download/process-0.11.10.tgz} + name: process + version: 0.11.10 + engines: {node: '>= 0.6.0'} + dev: true + + registry.nlark.com/progress/2.0.3: + resolution: {integrity: sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/progress/download/progress-2.0.3.tgz} + name: progress + version: 2.0.3 + engines: {node: '>=0.4.0'} + dev: true + + registry.nlark.com/promise-inflight/1.0.1: + resolution: {integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/promise-inflight/download/promise-inflight-1.0.1.tgz} + name: promise-inflight + version: 1.0.1 + dev: true + + registry.nlark.com/proto-list/1.2.4: + resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/proto-list/download/proto-list-1.2.4.tgz} + name: proto-list + version: 1.2.4 + dev: true + + registry.nlark.com/proxy-addr/2.0.7: + resolution: {integrity: sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz} + name: proxy-addr + version: 2.0.7 + engines: {node: '>= 0.10'} + dependencies: + forwarded: registry.nlark.com/forwarded/0.2.0 + ipaddr.js: registry.npmmirror.com/ipaddr.js/1.9.1 + dev: true + + registry.nlark.com/prr/1.0.1: + resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/prr/download/prr-1.0.1.tgz} + name: prr + version: 1.0.1 + dev: true + + registry.nlark.com/pseudomap/1.0.2: + resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pseudomap/download/pseudomap-1.0.2.tgz} + name: pseudomap + version: 1.0.2 + dev: true + + registry.nlark.com/psl/1.8.0: + resolution: {integrity: sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/psl/download/psl-1.8.0.tgz} + name: psl + version: 1.8.0 + dev: true + + registry.nlark.com/public-encrypt/4.0.3: + resolution: {integrity: sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/public-encrypt/download/public-encrypt-4.0.3.tgz} + name: public-encrypt + version: 4.0.3 + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + browserify-rsa: registry.nlark.com/browserify-rsa/4.1.0 + create-hash: registry.nlark.com/create-hash/1.2.0 + parse-asn1: registry.nlark.com/parse-asn1/5.1.6 + randombytes: registry.nlark.com/randombytes/2.1.0 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/pump/2.0.1: + resolution: {integrity: sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pump/download/pump-2.0.1.tgz} + name: pump + version: 2.0.1 + dependencies: + end-of-stream: registry.nlark.com/end-of-stream/1.4.4 + once: registry.nlark.com/once/1.4.0 + dev: true + + registry.nlark.com/pump/3.0.0: + resolution: {integrity: sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pump/download/pump-3.0.0.tgz} + name: pump + version: 3.0.0 + dependencies: + end-of-stream: registry.nlark.com/end-of-stream/1.4.4 + once: registry.nlark.com/once/1.4.0 + dev: true + + registry.nlark.com/pumpify/1.5.1: + resolution: {integrity: sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pumpify/download/pumpify-1.5.1.tgz} + name: pumpify + version: 1.5.1 + dependencies: + duplexify: registry.nlark.com/duplexify/3.7.1 + inherits: registry.nlark.com/inherits/2.0.4 + pump: registry.nlark.com/pump/2.0.1 + dev: true + + registry.nlark.com/punycode/1.3.2: + resolution: {integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/punycode/download/punycode-1.3.2.tgz} + name: punycode + version: 1.3.2 + dev: true + + registry.nlark.com/punycode/1.4.1: + resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/punycode/download/punycode-1.4.1.tgz} + name: punycode + version: 1.4.1 + dev: true + + registry.nlark.com/punycode/2.1.1: + resolution: {integrity: sha1-tYsBCsQMIsVldhbI0sLALHv0eew=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz} + name: punycode + version: 2.1.1 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/q/1.5.1: + resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/q/download/q-1.5.1.tgz} + name: q + version: 1.5.1 + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: true + + registry.nlark.com/qs/6.10.1: + resolution: {integrity: sha1-STFIL6jWR6Wqt5nFJx0hM7mB+2o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/qs/download/qs-6.10.1.tgz} + name: qs + version: 6.10.1 + engines: {node: '>=0.6'} + dependencies: + side-channel: registry.nlark.com/side-channel/1.0.4 + dev: false + + registry.nlark.com/qs/6.5.2: + resolution: {integrity: sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/qs/download/qs-6.5.2.tgz} + name: qs + version: 6.5.2 + engines: {node: '>=0.6'} + dev: true + + registry.nlark.com/qs/6.7.0: + resolution: {integrity: sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/qs/download/qs-6.7.0.tgz} + name: qs + version: 6.7.0 + engines: {node: '>=0.6'} + dev: true + + registry.nlark.com/query-string/4.3.4: + resolution: {integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/query-string/download/query-string-4.3.4.tgz} + name: query-string + version: 4.3.4 + engines: {node: '>=0.10.0'} + dependencies: + object-assign: registry.nlark.com/object-assign/4.1.1 + strict-uri-encode: registry.nlark.com/strict-uri-encode/1.1.0 + dev: true + + registry.nlark.com/querystring-es3/0.2.1: + resolution: {integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz} + name: querystring-es3 + version: 0.2.1 + engines: {node: '>=0.4.x'} + dev: true + + registry.nlark.com/querystringify/2.2.0: + resolution: {integrity: sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/querystringify/download/querystringify-2.2.0.tgz} + name: querystringify + version: 2.2.0 + dev: true + + registry.nlark.com/randomatic/3.1.1: + resolution: {integrity: sha1-t3bvxZN1mE42xTey9RofCv8Noe0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/randomatic/download/randomatic-3.1.1.tgz} + name: randomatic + version: 3.1.1 + engines: {node: '>= 0.10.0'} + dependencies: + is-number: registry.nlark.com/is-number/4.0.0 + kind-of: registry.nlark.com/kind-of/6.0.3 + math-random: registry.nlark.com/math-random/1.0.4 + dev: true + + registry.nlark.com/randombytes/2.1.0: + resolution: {integrity: sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/randombytes/download/randombytes-2.1.0.tgz} + name: randombytes + version: 2.1.0 + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/randomfill/1.0.4: + resolution: {integrity: sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/randomfill/download/randomfill-1.0.4.tgz} + name: randomfill + version: 1.0.4 + dependencies: + randombytes: registry.nlark.com/randombytes/2.1.0 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/range-parser/1.2.1: + resolution: {integrity: sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/range-parser/download/range-parser-1.2.1.tgz} + name: range-parser + version: 1.2.1 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/read-pkg/1.1.0: + resolution: {integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/read-pkg/download/read-pkg-1.1.0.tgz} + name: read-pkg + version: 1.1.0 + engines: {node: '>=0.10.0'} + dependencies: + load-json-file: registry.nlark.com/load-json-file/1.1.0 + normalize-package-data: registry.nlark.com/normalize-package-data/2.5.0 + path-type: registry.nlark.com/path-type/1.1.0 + dev: true + + registry.nlark.com/read-pkg/3.0.0: + resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/read-pkg/download/read-pkg-3.0.0.tgz} + name: read-pkg + version: 3.0.0 + engines: {node: '>=4'} + dependencies: + load-json-file: registry.nlark.com/load-json-file/4.0.0 + normalize-package-data: registry.nlark.com/normalize-package-data/2.5.0 + path-type: registry.nlark.com/path-type/3.0.0 + dev: true + + registry.nlark.com/read-pkg/5.2.0: + resolution: {integrity: sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz} + name: read-pkg + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': registry.nlark.com/@types/normalize-package-data/2.4.1 + normalize-package-data: registry.nlark.com/normalize-package-data/2.5.0 + parse-json: registry.npmmirror.com/parse-json/5.2.0 + type-fest: registry.npmmirror.com/type-fest/0.6.0 + dev: true + + registry.nlark.com/readable-stream/2.3.7: + resolution: {integrity: sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz} + name: readable-stream + version: 2.3.7 + dependencies: + core-util-is: registry.nlark.com/core-util-is/1.0.3 + inherits: registry.nlark.com/inherits/2.0.4 + isarray: registry.nlark.com/isarray/1.0.0 + process-nextick-args: registry.nlark.com/process-nextick-args/2.0.1 + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + string_decoder: registry.nlark.com/string_decoder/1.1.1 + util-deprecate: registry.nlark.com/util-deprecate/1.0.2 + dev: true + + registry.nlark.com/readable-stream/3.6.0: + resolution: {integrity: sha1-M3u9o63AcGvT4CRCaihtS0sskZg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz} + name: readable-stream + version: 3.6.0 + engines: {node: '>= 6'} + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + string_decoder: registry.nlark.com/string_decoder/1.3.0 + util-deprecate: registry.nlark.com/util-deprecate/1.0.2 + dev: true + + registry.nlark.com/readdirp/2.2.1: + resolution: {integrity: sha1-DodiKjMlqjPokihcr4tOhGUppSU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz} + name: readdirp + version: 2.2.1 + engines: {node: '>=0.10'} + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + micromatch: registry.nlark.com/micromatch/3.1.10 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/readdirp/3.6.0: + resolution: {integrity: sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz} + name: readdirp + version: 3.6.0 + engines: {node: '>=8.10.0'} + dependencies: + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + registry.nlark.com/regenerate-unicode-properties/9.0.0: + resolution: {integrity: sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz} + name: regenerate-unicode-properties + version: 9.0.0 + engines: {node: '>=4'} + dependencies: + regenerate: registry.nlark.com/regenerate/1.4.2 + dev: true + + registry.nlark.com/regenerate/1.4.2: + resolution: {integrity: sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerate/download/regenerate-1.4.2.tgz} + name: regenerate + version: 1.4.2 + dev: true + + registry.nlark.com/regenerator-runtime/0.10.5: + resolution: {integrity: sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz} + name: regenerator-runtime + version: 0.10.5 + dev: true + + registry.nlark.com/regenerator-runtime/0.11.1: + resolution: {integrity: sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz} + name: regenerator-runtime + version: 0.11.1 + + registry.nlark.com/regenerator-runtime/0.13.9: + resolution: {integrity: sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz} + name: regenerator-runtime + version: 0.13.9 + dev: true + + registry.nlark.com/regenerator-transform/0.14.5: + resolution: {integrity: sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz} + name: regenerator-transform + version: 0.14.5 + dependencies: + '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.16.3 + dev: true + + registry.nlark.com/regex-cache/0.4.4: + resolution: {integrity: sha1-db3FiioUls7EihKDW8VMjVYjNt0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regex-cache/download/regex-cache-0.4.4.tgz} + name: regex-cache + version: 0.4.4 + engines: {node: '>=0.10.0'} + dependencies: + is-equal-shallow: registry.nlark.com/is-equal-shallow/0.1.3 + dev: true + + registry.nlark.com/regex-not/1.0.2: + resolution: {integrity: sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz} + name: regex-not + version: 1.0.2 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: registry.nlark.com/extend-shallow/3.0.2 + safe-regex: registry.nlark.com/safe-regex/1.1.0 + dev: true + + registry.nlark.com/regexp.prototype.flags/1.3.1: + resolution: {integrity: sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz} + name: regexp.prototype.flags + version: 1.3.1 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + dev: true + + registry.nlark.com/regexpp/2.0.1: + resolution: {integrity: sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexpp/download/regexpp-2.0.1.tgz} + name: regexpp + version: 2.0.1 + engines: {node: '>=6.5.0'} + dev: true + + registry.nlark.com/regexpu-core/4.8.0: + resolution: {integrity: sha1-5WBbo2G2excYR4UBMnUC9EeamPA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexpu-core/download/regexpu-core-4.8.0.tgz} + name: regexpu-core + version: 4.8.0 + engines: {node: '>=4'} + dependencies: + regenerate: registry.nlark.com/regenerate/1.4.2 + regenerate-unicode-properties: registry.nlark.com/regenerate-unicode-properties/9.0.0 + regjsgen: registry.npmmirror.com/regjsgen/0.5.2 + regjsparser: registry.nlark.com/regjsparser/0.7.0 + unicode-match-property-ecmascript: registry.nlark.com/unicode-match-property-ecmascript/2.0.0 + unicode-match-property-value-ecmascript: registry.nlark.com/unicode-match-property-value-ecmascript/2.0.0 + dev: true + + registry.nlark.com/regjsparser/0.7.0: + resolution: {integrity: sha1-prZntUyIXhi1JVTLSWDvcRh+mWg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regjsparser/download/regjsparser-0.7.0.tgz} + name: regjsparser + version: 0.7.0 + hasBin: true + dependencies: + jsesc: registry.nlark.com/jsesc/0.5.0 + dev: true + + registry.nlark.com/relateurl/0.2.7: + resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/relateurl/download/relateurl-0.2.7.tgz} + name: relateurl + version: 0.2.7 + engines: {node: '>= 0.10'} + dev: true + + registry.nlark.com/remove-trailing-separator/1.1.0: + resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz} + name: remove-trailing-separator + version: 1.1.0 + dev: true + + registry.nlark.com/repeat-element/1.1.4: + resolution: {integrity: sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz} + name: repeat-element + version: 1.1.4 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/repeat-string/1.6.1: + resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz} + name: repeat-string + version: 1.6.1 + engines: {node: '>=0.10'} + dev: true + + registry.nlark.com/repeating/2.0.1: + resolution: {integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz} + name: repeating + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + is-finite: registry.npmmirror.com/is-finite/1.1.0 + dev: true + + registry.nlark.com/require-directory/2.1.1: + resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz} + name: require-directory + version: 2.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/require-main-filename/1.0.1: + resolution: {integrity: sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/require-main-filename/download/require-main-filename-1.0.1.tgz} + name: require-main-filename + version: 1.0.1 + dev: true + + registry.nlark.com/require-main-filename/2.0.0: + resolution: {integrity: sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/require-main-filename/download/require-main-filename-2.0.0.tgz} + name: require-main-filename + version: 2.0.0 + dev: true + + registry.nlark.com/requires-port/1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/requires-port/download/requires-port-1.0.0.tgz} + name: requires-port + version: 1.0.0 + dev: true + + registry.nlark.com/resize-observer-polyfill/1.5.1: + resolution: {integrity: sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz} + name: resize-observer-polyfill + version: 1.5.1 + dev: false + + registry.nlark.com/resolve-cwd/2.0.0: + resolution: {integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz} + name: resolve-cwd + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + resolve-from: registry.nlark.com/resolve-from/3.0.0 + dev: true + + registry.nlark.com/resolve-from/3.0.0: + resolution: {integrity: sha1-six699nWiBvItuZTM17rywoYh0g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve-from/download/resolve-from-3.0.0.tgz?cache=0&sync_timestamp=1631603497752&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-3.0.0.tgz} + name: resolve-from + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/resolve-from/4.0.0: + resolution: {integrity: sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz?cache=0&sync_timestamp=1631603497752&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve-from%2Fdownload%2Fresolve-from-4.0.0.tgz} + name: resolve-from + version: 4.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/resolve/1.1.7: + resolution: {integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve/download/resolve-1.1.7.tgz?cache=0&sync_timestamp=1631603497557&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve%2Fdownload%2Fresolve-1.1.7.tgz} + name: resolve + version: 1.1.7 + dev: true + + registry.nlark.com/resolve/1.20.0: + resolution: {integrity: sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1631603497557&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz} + name: resolve + version: 1.20.0 + dependencies: + is-core-module: registry.npmmirror.com/is-core-module/2.8.0 + path-parse: registry.nlark.com/path-parse/1.0.7 + dev: true + + registry.nlark.com/restore-cursor/2.0.0: + resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz} + name: restore-cursor + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + onetime: registry.nlark.com/onetime/2.0.1 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + dev: true + + registry.nlark.com/restore-cursor/3.1.0: + resolution: {integrity: sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz} + name: restore-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + onetime: registry.nlark.com/onetime/5.1.2 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + dev: true + + registry.nlark.com/ret/0.1.15: + resolution: {integrity: sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ret/download/ret-0.1.15.tgz} + name: ret + version: 0.1.15 + engines: {node: '>=0.12'} + dev: true + + registry.nlark.com/retry/0.12.0: + resolution: {integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/retry/download/retry-0.12.0.tgz} + name: retry + version: 0.12.0 + engines: {node: '>= 4'} + dev: true + + registry.nlark.com/rgb-regex/1.0.1: + resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rgb-regex/download/rgb-regex-1.0.1.tgz} + name: rgb-regex + version: 1.0.1 + dev: true + + registry.nlark.com/rgba-regex/1.0.0: + resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rgba-regex/download/rgba-regex-1.0.0.tgz} + name: rgba-regex + version: 1.0.0 + dev: true + + registry.nlark.com/ripemd160/2.0.2: + resolution: {integrity: sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ripemd160/download/ripemd160-2.0.2.tgz} + name: ripemd160 + version: 2.0.2 + dependencies: + hash-base: registry.nlark.com/hash-base/3.1.0 + inherits: registry.nlark.com/inherits/2.0.4 + dev: true + + registry.nlark.com/rsvp/4.8.5: + resolution: {integrity: sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rsvp/download/rsvp-4.8.5.tgz} + name: rsvp + version: 4.8.5 + engines: {node: 6.* || >= 7.*} + dev: true + + registry.nlark.com/run-async/2.4.1: + resolution: {integrity: sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz} + name: run-async + version: 2.4.1 + engines: {node: '>=0.12.0'} + dev: true + + registry.nlark.com/run-queue/1.0.3: + resolution: {integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/run-queue/download/run-queue-1.0.3.tgz} + name: run-queue + version: 1.0.3 + dependencies: + aproba: registry.nlark.com/aproba/1.2.0 + dev: true + + registry.nlark.com/safe-buffer/5.1.2: + resolution: {integrity: sha1-mR7GnSluAxN0fVm9/St0XDX4go0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz} + name: safe-buffer + version: 5.1.2 + dev: true + + registry.nlark.com/safe-buffer/5.2.1: + resolution: {integrity: sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz} + name: safe-buffer + version: 5.2.1 + dev: true + + registry.nlark.com/safe-regex/1.1.0: + resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz} + name: safe-regex + version: 1.1.0 + dependencies: + ret: registry.nlark.com/ret/0.1.15 + dev: true + + registry.nlark.com/safer-buffer/2.1.2: + resolution: {integrity: sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz} + name: safer-buffer + version: 2.1.2 + dev: true + + registry.nlark.com/sax/1.2.4: + resolution: {integrity: sha1-KBYjTiN4vdxOU1T6tcqold9xANk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sax/download/sax-1.2.4.tgz} + name: sax + version: 1.2.4 + dev: true + + registry.nlark.com/schema-utils/1.0.0: + resolution: {integrity: sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz} + name: schema-utils + version: 1.0.0 + engines: {node: '>= 4'} + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + ajv-errors: registry.nlark.com/ajv-errors/1.0.1_ajv@6.12.6 + ajv-keywords: registry.nlark.com/ajv-keywords/3.5.2_ajv@6.12.6 + dev: true + + registry.nlark.com/schema-utils/2.7.1: + resolution: {integrity: sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz} + name: schema-utils + version: 2.7.1 + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': registry.nlark.com/@types/json-schema/7.0.9 + ajv: registry.npmmirror.com/ajv/6.12.6 + ajv-keywords: registry.nlark.com/ajv-keywords/3.5.2_ajv@6.12.6 + dev: true + + registry.nlark.com/select-hose/2.0.0: + resolution: {integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/select-hose/download/select-hose-2.0.0.tgz} + name: select-hose + version: 2.0.0 + dev: true + + registry.nlark.com/selfsigned/1.10.11: + resolution: {integrity: sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz} + name: selfsigned + version: 1.10.11 + dependencies: + node-forge: registry.nlark.com/node-forge/0.10.0 + dev: true + + registry.nlark.com/semver/5.7.1: + resolution: {integrity: sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1631603498811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz} + name: semver + version: 5.7.1 + hasBin: true + dev: true + + registry.nlark.com/semver/6.3.0: + resolution: {integrity: sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1631603498811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz} + name: semver + version: 6.3.0 + hasBin: true + dev: true + + registry.nlark.com/semver/7.0.0: + resolution: {integrity: sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1631603498811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz} + name: semver + version: 7.0.0 + hasBin: true + dev: true + + registry.nlark.com/serialize-javascript/4.0.0: + resolution: {integrity: sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz} + name: serialize-javascript + version: 4.0.0 + dependencies: + randombytes: registry.nlark.com/randombytes/2.1.0 + dev: true + + registry.nlark.com/serve-index/1.9.1: + resolution: {integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/serve-index/download/serve-index-1.9.1.tgz} + name: serve-index + version: 1.9.1 + engines: {node: '>= 0.8.0'} + dependencies: + accepts: registry.nlark.com/accepts/1.3.7 + batch: registry.npmmirror.com/batch/0.6.1 + debug: registry.npmmirror.com/debug/2.6.9 + escape-html: registry.nlark.com/escape-html/1.0.3 + http-errors: registry.nlark.com/http-errors/1.6.3 + mime-types: registry.npmmirror.com/mime-types/2.1.34 + parseurl: registry.nlark.com/parseurl/1.3.3 + dev: true + + registry.nlark.com/serve-static/1.13.2: + resolution: {integrity: sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/serve-static/download/serve-static-1.13.2.tgz} + name: serve-static + version: 1.13.2 + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + parseurl: registry.nlark.com/parseurl/1.3.3 + send: registry.npmmirror.com/send/0.16.2 + dev: true + + registry.nlark.com/serve-static/1.14.1: + resolution: {integrity: sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/serve-static/download/serve-static-1.14.1.tgz} + name: serve-static + version: 1.14.1 + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + parseurl: registry.nlark.com/parseurl/1.3.3 + send: registry.npmmirror.com/send/0.17.1 + dev: true + + registry.nlark.com/set-blocking/2.0.0: + resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz} + name: set-blocking + version: 2.0.0 + dev: true + + registry.nlark.com/set-value/2.0.1: + resolution: {integrity: sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz} + name: set-value + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + is-extendable: registry.nlark.com/is-extendable/0.1.1 + is-plain-object: registry.nlark.com/is-plain-object/2.0.4 + split-string: registry.nlark.com/split-string/3.1.0 + dev: true + + registry.nlark.com/setimmediate/1.0.5: + resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/setimmediate/download/setimmediate-1.0.5.tgz} + name: setimmediate + version: 1.0.5 + dev: true + + registry.nlark.com/setprototypeof/1.1.0: + resolution: {integrity: sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.0.tgz} + name: setprototypeof + version: 1.1.0 + dev: true + + registry.nlark.com/setprototypeof/1.1.1: + resolution: {integrity: sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.1.tgz} + name: setprototypeof + version: 1.1.1 + dev: true + + registry.nlark.com/sha.js/2.4.11: + resolution: {integrity: sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sha.js/download/sha.js-2.4.11.tgz} + name: sha.js + version: 2.4.11 + hasBin: true + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/shallow-clone/3.0.1: + resolution: {integrity: sha1-jymBrZJTH1UDWwH7IwdppA4C76M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz} + name: shallow-clone + version: 3.0.1 + engines: {node: '>=8'} + dependencies: + kind-of: registry.nlark.com/kind-of/6.0.3 + dev: true + + registry.nlark.com/shebang-command/1.2.0: + resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-command/download/shebang-command-1.2.0.tgz} + name: shebang-command + version: 1.2.0 + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: registry.nlark.com/shebang-regex/1.0.0 + dev: true + + registry.nlark.com/shebang-command/2.0.0: + resolution: {integrity: sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz} + name: shebang-command + version: 2.0.0 + engines: {node: '>=8'} + dependencies: + shebang-regex: registry.nlark.com/shebang-regex/3.0.0 + dev: true + + registry.nlark.com/shebang-regex/1.0.0: + resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz} + name: shebang-regex + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/shebang-regex/3.0.0: + resolution: {integrity: sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz} + name: shebang-regex + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/shellwords/0.1.1: + resolution: {integrity: sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shellwords/download/shellwords-0.1.1.tgz} + name: shellwords + version: 0.1.1 + dev: true + + registry.nlark.com/side-channel/1.0.4: + resolution: {integrity: sha1-785cj9wQTudRslxY1CkAEfpeos8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz} + name: side-channel + version: 1.0.4 + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + get-intrinsic: registry.nlark.com/get-intrinsic/1.1.1 + object-inspect: registry.nlark.com/object-inspect/1.11.0 + + registry.nlark.com/sigmund/1.0.1: + resolution: {integrity: sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sigmund/download/sigmund-1.0.1.tgz} + name: sigmund + version: 1.0.1 + dev: true + + registry.nlark.com/sisteransi/1.0.5: + resolution: {integrity: sha1-E01oEpd1ZDfMBcoBNw06elcQde0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sisteransi/download/sisteransi-1.0.5.tgz} + name: sisteransi + version: 1.0.5 + dev: true + + registry.nlark.com/slash/1.0.0: + resolution: {integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/slash/download/slash-1.0.0.tgz} + name: slash + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/slash/2.0.0: + resolution: {integrity: sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/slash/download/slash-2.0.0.tgz} + name: slash + version: 2.0.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/slash/3.0.0: + resolution: {integrity: sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/slash/download/slash-3.0.0.tgz} + name: slash + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/slice-ansi/2.1.0: + resolution: {integrity: sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/slice-ansi/download/slice-ansi-2.1.0.tgz} + name: slice-ansi + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + astral-regex: registry.nlark.com/astral-regex/1.0.0 + is-fullwidth-code-point: registry.nlark.com/is-fullwidth-code-point/2.0.0 + dev: true + + registry.nlark.com/snapdragon-node/2.1.1: + resolution: {integrity: sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz} + name: snapdragon-node + version: 2.1.1 + engines: {node: '>=0.10.0'} + dependencies: + define-property: registry.nlark.com/define-property/1.0.0 + isobject: registry.nlark.com/isobject/3.0.1 + snapdragon-util: registry.nlark.com/snapdragon-util/3.0.1 + dev: true + + registry.nlark.com/snapdragon-util/3.0.1: + resolution: {integrity: sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz} + name: snapdragon-util + version: 3.0.1 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/snapdragon/0.8.2: + resolution: {integrity: sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz} + name: snapdragon + version: 0.8.2 + engines: {node: '>=0.10.0'} + dependencies: + base: registry.nlark.com/base/0.11.2 + debug: registry.npmmirror.com/debug/2.6.9 + define-property: registry.nlark.com/define-property/0.2.5 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + map-cache: registry.nlark.com/map-cache/0.2.2 + source-map: registry.nlark.com/source-map/0.5.7 + source-map-resolve: registry.nlark.com/source-map-resolve/0.5.3 + use: registry.npmmirror.com/use/3.1.1 + dev: true + + registry.nlark.com/sockjs-client/1.5.2: + resolution: {integrity: sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.2.tgz} + name: sockjs-client + version: 1.5.2 + dependencies: + debug: registry.npmmirror.com/debug/3.2.7 + eventsource: registry.nlark.com/eventsource/1.1.0 + faye-websocket: registry.nlark.com/faye-websocket/0.11.4 + inherits: registry.nlark.com/inherits/2.0.4 + json3: registry.npmmirror.com/json3/3.3.3 + url-parse: registry.nlark.com/url-parse/1.5.3 + dev: true + + registry.nlark.com/sockjs/0.3.21: + resolution: {integrity: sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sockjs/download/sockjs-0.3.21.tgz} + name: sockjs + version: 0.3.21 + dependencies: + faye-websocket: registry.nlark.com/faye-websocket/0.11.4 + uuid: registry.npmmirror.com/uuid/3.4.0 + websocket-driver: registry.nlark.com/websocket-driver/0.7.4 + dev: true + + registry.nlark.com/sort-keys/1.1.2: + resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sort-keys/download/sort-keys-1.1.2.tgz} + name: sort-keys + version: 1.1.2 + engines: {node: '>=0.10.0'} + dependencies: + is-plain-obj: registry.nlark.com/is-plain-obj/1.1.0 + dev: true + + registry.nlark.com/source-list-map/2.0.1: + resolution: {integrity: sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-list-map/download/source-list-map-2.0.1.tgz} + name: source-list-map + version: 2.0.1 + dev: true + + registry.nlark.com/source-map-resolve/0.5.3: + resolution: {integrity: sha1-GQhmvs51U+H48mei7oLGBrVQmho=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz} + name: source-map-resolve + version: 0.5.3 + dependencies: + atob: registry.nlark.com/atob/2.1.2 + decode-uri-component: registry.nlark.com/decode-uri-component/0.2.0 + resolve-url: registry.npmmirror.com/resolve-url/0.2.1 + source-map-url: registry.nlark.com/source-map-url/0.4.1 + urix: registry.npmmirror.com/urix/0.1.0 + dev: true + + registry.nlark.com/source-map-support/0.5.20: + resolution: {integrity: sha1-EhZgifj15ejFaSazd2Mzkt0stsk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz} + name: source-map-support + version: 0.5.20 + dependencies: + buffer-from: registry.nlark.com/buffer-from/1.1.2 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.nlark.com/source-map-url/0.4.1: + resolution: {integrity: sha1-CvZmBadFpaL5HPG7+KevvCg97FY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz} + name: source-map-url + version: 0.4.1 + dev: true + + registry.nlark.com/source-map/0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz} + name: source-map + version: 0.5.7 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/source-map/0.6.1: + resolution: {integrity: sha1-dHIq8y6WFOnCh6jQu95IteLxomM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz} + name: source-map + version: 0.6.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/spdx-correct/3.1.1: + resolution: {integrity: sha1-3s6BrJweZxPl99G28X1Gj6U9iak=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdx-correct/download/spdx-correct-3.1.1.tgz} + name: spdx-correct + version: 3.1.1 + dependencies: + spdx-expression-parse: registry.nlark.com/spdx-expression-parse/3.0.1 + spdx-license-ids: registry.nlark.com/spdx-license-ids/3.0.10 + dev: true + + registry.nlark.com/spdx-exceptions/2.3.0: + resolution: {integrity: sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz} + name: spdx-exceptions + version: 2.3.0 + dev: true + + registry.nlark.com/spdx-expression-parse/3.0.1: + resolution: {integrity: sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz} + name: spdx-expression-parse + version: 3.0.1 + dependencies: + spdx-exceptions: registry.nlark.com/spdx-exceptions/2.3.0 + spdx-license-ids: registry.nlark.com/spdx-license-ids/3.0.10 + dev: true + + registry.nlark.com/spdx-license-ids/3.0.10: + resolution: {integrity: sha1-DZvszN5wA9bGWNSH3UijLwvzAUs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.10.tgz} + name: spdx-license-ids + version: 3.0.10 + dev: true + + registry.nlark.com/spdy-transport/3.0.0_supports-color@6.1.0: + resolution: {integrity: sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdy-transport/download/spdy-transport-3.0.0.tgz} + id: registry.nlark.com/spdy-transport/3.0.0 + name: spdy-transport + version: 3.0.0 + dependencies: + debug: registry.npmmirror.com/debug/4.3.2_supports-color@6.1.0 + detect-node: registry.nlark.com/detect-node/2.1.0 + hpack.js: registry.npmmirror.com/hpack.js/2.1.6 + obuf: registry.nlark.com/obuf/1.1.2 + readable-stream: registry.nlark.com/readable-stream/3.6.0 + wbuf: registry.nlark.com/wbuf/1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/spdy/4.0.2_supports-color@6.1.0: + resolution: {integrity: sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdy/download/spdy-4.0.2.tgz} + id: registry.nlark.com/spdy/4.0.2 + name: spdy + version: 4.0.2 + engines: {node: '>=6.0.0'} + dependencies: + debug: registry.npmmirror.com/debug/4.3.2_supports-color@6.1.0 + handle-thing: registry.nlark.com/handle-thing/2.0.1 + http-deceiver: registry.nlark.com/http-deceiver/1.2.7 + select-hose: registry.nlark.com/select-hose/2.0.0 + spdy-transport: registry.nlark.com/spdy-transport/3.0.0_supports-color@6.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/split-string/3.1.0: + resolution: {integrity: sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/split-string/download/split-string-3.1.0.tgz} + name: split-string + version: 3.1.0 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: registry.nlark.com/extend-shallow/3.0.2 + dev: true + + registry.nlark.com/sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz} + name: sprintf-js + version: 1.0.3 + dev: true + + registry.nlark.com/sshpk/1.16.1: + resolution: {integrity: sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz} + name: sshpk + version: 1.16.1 + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: registry.npmmirror.com/asn1/0.2.6 + assert-plus: registry.nlark.com/assert-plus/1.0.0 + bcrypt-pbkdf: registry.nlark.com/bcrypt-pbkdf/1.0.2 + dashdash: registry.nlark.com/dashdash/1.14.1 + ecc-jsbn: registry.nlark.com/ecc-jsbn/0.1.2 + getpass: registry.nlark.com/getpass/0.1.7 + jsbn: registry.nlark.com/jsbn/0.1.1 + safer-buffer: registry.nlark.com/safer-buffer/2.1.2 + tweetnacl: registry.nlark.com/tweetnacl/0.14.5 + dev: true + + registry.nlark.com/ssri/6.0.2: + resolution: {integrity: sha1-FXk5E08gRk5zAd26PpD/qPdyisU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ssri/download/ssri-6.0.2.tgz} + name: ssri + version: 6.0.2 + dependencies: + figgy-pudding: registry.nlark.com/figgy-pudding/3.5.2 + dev: true + + registry.nlark.com/ssri/7.1.1: + resolution: {integrity: sha1-M+RPiWqWcVjjxjRo5H7EZhO5W18=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ssri/download/ssri-7.1.1.tgz} + name: ssri + version: 7.1.1 + engines: {node: '>= 8'} + dependencies: + figgy-pudding: registry.nlark.com/figgy-pudding/3.5.2 + minipass: registry.nlark.com/minipass/3.1.5 + dev: true + + registry.nlark.com/stack-utils/1.0.5: + resolution: {integrity: sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stack-utils/download/stack-utils-1.0.5.tgz} + name: stack-utils + version: 1.0.5 + engines: {node: '>=8'} + dependencies: + escape-string-regexp: registry.nlark.com/escape-string-regexp/2.0.0 + dev: true + + registry.nlark.com/stackframe/1.2.0: + resolution: {integrity: sha1-UkKUktY8YuuYmATBFVLj0i53kwM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stackframe/download/stackframe-1.2.0.tgz} + name: stackframe + version: 1.2.0 + dev: true + + registry.nlark.com/static-extend/0.1.2: + resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz} + name: static-extend + version: 0.1.2 + engines: {node: '>=0.10.0'} + dependencies: + define-property: registry.nlark.com/define-property/0.2.5 + object-copy: registry.nlark.com/object-copy/0.1.0 + dev: true + + registry.nlark.com/statuses/1.3.1: + resolution: {integrity: sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/statuses/download/statuses-1.3.1.tgz} + name: statuses + version: 1.3.1 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/statuses/1.4.0: + resolution: {integrity: sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/statuses/download/statuses-1.4.0.tgz} + name: statuses + version: 1.4.0 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/statuses/1.5.0: + resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/statuses/download/statuses-1.5.0.tgz} + name: statuses + version: 1.5.0 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/stealthy-require/1.1.1: + resolution: {integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stealthy-require/download/stealthy-require-1.1.1.tgz} + name: stealthy-require + version: 1.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/stream-browserify/2.0.2: + resolution: {integrity: sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stream-browserify/download/stream-browserify-2.0.2.tgz} + name: stream-browserify + version: 2.0.2 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.nlark.com/stream-each/1.2.3: + resolution: {integrity: sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stream-each/download/stream-each-1.2.3.tgz} + name: stream-each + version: 1.2.3 + dependencies: + end-of-stream: registry.nlark.com/end-of-stream/1.4.4 + stream-shift: registry.nlark.com/stream-shift/1.0.1 + dev: true + + registry.nlark.com/stream-http/2.8.3: + resolution: {integrity: sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stream-http/download/stream-http-2.8.3.tgz} + name: stream-http + version: 2.8.3 + dependencies: + builtin-status-codes: registry.npmmirror.com/builtin-status-codes/3.0.0 + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + to-arraybuffer: registry.nlark.com/to-arraybuffer/1.0.1 + xtend: registry.nlark.com/xtend/4.0.2 + dev: true + + registry.nlark.com/stream-shift/1.0.1: + resolution: {integrity: sha1-1wiCgVWasneEJCebCHfaPDktWj0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stream-shift/download/stream-shift-1.0.1.tgz} + name: stream-shift + version: 1.0.1 + dev: true + + registry.nlark.com/strict-uri-encode/1.1.0: + resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz} + name: strict-uri-encode + version: 1.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/string-length/2.0.0: + resolution: {integrity: sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string-length/download/string-length-2.0.0.tgz} + name: string-length + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + astral-regex: registry.nlark.com/astral-regex/1.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/4.0.0 + dev: true + + registry.nlark.com/string-length/3.1.0: + resolution: {integrity: sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string-length/download/string-length-3.1.0.tgz} + name: string-length + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + astral-regex: registry.nlark.com/astral-regex/1.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + dev: true + + registry.nlark.com/string.prototype.trimend/1.0.4: + resolution: {integrity: sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz} + name: string.prototype.trimend + version: 1.0.4 + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + dev: true + + registry.nlark.com/string.prototype.trimstart/1.0.4: + resolution: {integrity: sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz} + name: string.prototype.trimstart + version: 1.0.4 + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + dev: true + + registry.nlark.com/string_decoder/1.1.1: + resolution: {integrity: sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string_decoder/download/string_decoder-1.1.1.tgz} + name: string_decoder + version: 1.1.1 + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + dev: true + + registry.nlark.com/string_decoder/1.3.0: + resolution: {integrity: sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz} + name: string_decoder + version: 1.3.0 + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/strip-bom/2.0.0: + resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-bom/download/strip-bom-2.0.0.tgz} + name: strip-bom + version: 2.0.0 + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: registry.nlark.com/is-utf8/0.2.1 + dev: true + + registry.nlark.com/strip-bom/3.0.0: + resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-bom/download/strip-bom-3.0.0.tgz} + name: strip-bom + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/strip-final-newline/2.0.0: + resolution: {integrity: sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz} + name: strip-final-newline + version: 2.0.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/strip-indent/2.0.0: + resolution: {integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz} + name: strip-indent + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/strip-json-comments/2.0.1: + resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz} + name: strip-json-comments + version: 2.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/strip-json-comments/3.1.1: + resolution: {integrity: sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz} + name: strip-json-comments + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/stylehacks/4.0.3: + resolution: {integrity: sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylehacks/download/stylehacks-4.0.3.tgz} + name: stylehacks + version: 4.0.3 + engines: {node: '>=6.9.0'} + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/3.1.2 + dev: true + + registry.nlark.com/supports-color/2.0.0: + resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-2.0.0.tgz} + name: supports-color + version: 2.0.0 + engines: {node: '>=0.8.0'} + dev: true + + registry.nlark.com/supports-color/3.2.3: + resolution: {integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-3.2.3.tgz} + name: supports-color + version: 3.2.3 + engines: {node: '>=0.8.0'} + dependencies: + has-flag: registry.nlark.com/has-flag/1.0.0 + dev: true + + registry.nlark.com/supports-color/4.5.0: + resolution: {integrity: sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-4.5.0.tgz} + name: supports-color + version: 4.5.0 + engines: {node: '>=4'} + dependencies: + has-flag: registry.nlark.com/has-flag/2.0.0 + dev: true + + registry.nlark.com/supports-color/5.5.0: + resolution: {integrity: sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz} + name: supports-color + version: 5.5.0 + engines: {node: '>=4'} + dependencies: + has-flag: registry.nlark.com/has-flag/3.0.0 + dev: true + + registry.nlark.com/supports-color/6.1.0: + resolution: {integrity: sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz} + name: supports-color + version: 6.1.0 + engines: {node: '>=6'} + dependencies: + has-flag: registry.nlark.com/has-flag/3.0.0 + dev: true + + registry.nlark.com/supports-color/7.2.0: + resolution: {integrity: sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz} + name: supports-color + version: 7.2.0 + engines: {node: '>=8'} + dependencies: + has-flag: registry.nlark.com/has-flag/4.0.0 + + registry.nlark.com/svg-baker/1.7.0: + resolution: {integrity: sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/svg-baker/download/svg-baker-1.7.0.tgz} + name: svg-baker + version: 1.7.0 + dependencies: + bluebird: registry.nlark.com/bluebird/3.7.2 + clone: registry.nlark.com/clone/2.1.2 + he: registry.nlark.com/he/1.2.0 + image-size: registry.nlark.com/image-size/0.5.5 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + merge-options: registry.nlark.com/merge-options/1.0.1 + micromatch: registry.nlark.com/micromatch/3.1.0 + postcss: registry.npmmirror.com/postcss/5.2.18 + postcss-prefix-selector: registry.npmmirror.com/postcss-prefix-selector/1.13.0 + posthtml-rename-id: registry.npmmirror.com/posthtml-rename-id/1.0.12 + posthtml-svg-mode: registry.npmmirror.com/posthtml-svg-mode/1.0.3 + query-string: registry.nlark.com/query-string/4.3.4 + traverse: registry.npmmirror.com/traverse/0.6.6 + dev: true + + registry.nlark.com/svg-tags/1.0.0: + resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/svg-tags/download/svg-tags-1.0.0.tgz} + name: svg-tags + version: 1.0.0 + dev: true + + registry.nlark.com/symbol-tree/3.2.4: + resolution: {integrity: sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/symbol-tree/download/symbol-tree-3.2.4.tgz} + name: symbol-tree + version: 3.2.4 + dev: true + + registry.nlark.com/tapable/1.1.3: + resolution: {integrity: sha1-ofzMBrWNth/XpF2i2kT186Pme6I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz} + name: tapable + version: 1.1.3 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/test-exclude/4.2.3: + resolution: {integrity: sha1-qaXmRHTkOYM5JFoKdprXwvSpfCA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/test-exclude/download/test-exclude-4.2.3.tgz} + name: test-exclude + version: 4.2.3 + dependencies: + arrify: registry.nlark.com/arrify/1.0.1 + micromatch: registry.nlark.com/micromatch/2.3.11 + object-assign: registry.nlark.com/object-assign/4.1.1 + read-pkg-up: registry.npmmirror.com/read-pkg-up/1.0.1 + require-main-filename: registry.nlark.com/require-main-filename/1.0.1 + dev: true + + registry.nlark.com/test-exclude/5.2.3: + resolution: {integrity: sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/test-exclude/download/test-exclude-5.2.3.tgz} + name: test-exclude + version: 5.2.3 + engines: {node: '>=6'} + dependencies: + glob: registry.npmmirror.com/glob/7.2.0 + minimatch: registry.nlark.com/minimatch/3.0.4 + read-pkg-up: registry.npmmirror.com/read-pkg-up/4.0.0 + require-main-filename: registry.nlark.com/require-main-filename/2.0.0 + dev: true + + registry.nlark.com/text-table/0.2.0: + resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz} + name: text-table + version: 0.2.0 + dev: true + + registry.nlark.com/thread-loader/2.1.3_webpack@4.46.0: + resolution: {integrity: sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/thread-loader/download/thread-loader-2.1.3.tgz} + id: registry.nlark.com/thread-loader/2.1.3 + name: thread-loader + version: 2.1.3 + engines: {node: '>= 6.9.0 <7.0.0 || >= 8.9.0'} + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + loader-runner: registry.nlark.com/loader-runner/2.4.0 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + neo-async: registry.nlark.com/neo-async/2.6.2 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.nlark.com/throat/4.1.0: + resolution: {integrity: sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/throat/download/throat-4.1.0.tgz} + name: throat + version: 4.1.0 + dev: true + + registry.nlark.com/through/2.3.8: + resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/through/download/through-2.3.8.tgz} + name: through + version: 2.3.8 + dev: true + + registry.nlark.com/through2/2.0.5: + resolution: {integrity: sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/through2/download/through2-2.0.5.tgz} + name: through2 + version: 2.0.5 + dependencies: + readable-stream: registry.nlark.com/readable-stream/2.3.7 + xtend: registry.nlark.com/xtend/4.0.2 + dev: true + + registry.nlark.com/thunky/1.1.0: + resolution: {integrity: sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz} + name: thunky + version: 1.1.0 + dev: true + + registry.nlark.com/timers-browserify/2.0.12: + resolution: {integrity: sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/timers-browserify/download/timers-browserify-2.0.12.tgz} + name: timers-browserify + version: 2.0.12 + engines: {node: '>=0.6.0'} + dependencies: + setimmediate: registry.nlark.com/setimmediate/1.0.5 + dev: true + + registry.nlark.com/timsort/0.3.0: + resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz} + name: timsort + version: 0.3.0 + dev: true + + registry.nlark.com/tmp/0.0.33: + resolution: {integrity: sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tmp/download/tmp-0.0.33.tgz} + name: tmp + version: 0.0.33 + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: registry.nlark.com/os-tmpdir/1.0.2 + dev: true + + registry.nlark.com/tmpl/1.0.5: + resolution: {integrity: sha1-hoPguQK7nCDE9ybjwLafNlGMB8w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tmpl/download/tmpl-1.0.5.tgz} + name: tmpl + version: 1.0.5 + dev: true + + registry.nlark.com/to-arraybuffer/1.0.1: + resolution: {integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz} + name: to-arraybuffer + version: 1.0.1 + dev: true + + registry.nlark.com/to-fast-properties/1.0.3: + resolution: {integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-fast-properties/download/to-fast-properties-1.0.3.tgz} + name: to-fast-properties + version: 1.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/to-fast-properties/2.0.0: + resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz} + name: to-fast-properties + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/to-object-path/0.3.0: + resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz} + name: to-object-path + version: 0.3.0 + engines: {node: '>=0.10.0'} + dependencies: + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.nlark.com/to-regex-range/2.1.1: + resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz} + name: to-regex-range + version: 2.1.1 + engines: {node: '>=0.10.0'} + dependencies: + is-number: registry.nlark.com/is-number/3.0.0 + repeat-string: registry.nlark.com/repeat-string/1.6.1 + dev: true + + registry.nlark.com/to-regex-range/5.0.1: + resolution: {integrity: sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz} + name: to-regex-range + version: 5.0.1 + engines: {node: '>=8.0'} + dependencies: + is-number: registry.nlark.com/is-number/7.0.0 + dev: true + + registry.nlark.com/to-regex/3.0.2: + resolution: {integrity: sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz} + name: to-regex + version: 3.0.2 + engines: {node: '>=0.10.0'} + dependencies: + define-property: registry.nlark.com/define-property/2.0.2 + extend-shallow: registry.nlark.com/extend-shallow/3.0.2 + regex-not: registry.nlark.com/regex-not/1.0.2 + safe-regex: registry.nlark.com/safe-regex/1.1.0 + dev: true + + registry.nlark.com/toposort/1.0.7: + resolution: {integrity: sha1-LmhELZ9k7HILjMieZEOsbKqVACk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/toposort/download/toposort-1.0.7.tgz} + name: toposort + version: 1.0.7 + dev: true + + registry.nlark.com/tough-cookie/2.5.0: + resolution: {integrity: sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tough-cookie/download/tough-cookie-2.5.0.tgz} + name: tough-cookie + version: 2.5.0 + engines: {node: '>=0.8'} + dependencies: + psl: registry.nlark.com/psl/1.8.0 + punycode: registry.nlark.com/punycode/2.1.1 + dev: true + + registry.nlark.com/tough-cookie/3.0.1: + resolution: {integrity: sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tough-cookie/download/tough-cookie-3.0.1.tgz} + name: tough-cookie + version: 3.0.1 + engines: {node: '>=6'} + dependencies: + ip-regex: registry.nlark.com/ip-regex/2.1.0 + psl: registry.nlark.com/psl/1.8.0 + punycode: registry.nlark.com/punycode/2.1.1 + dev: true + + registry.nlark.com/tryer/1.0.1: + resolution: {integrity: sha1-8shUBoALmw90yfdGW4HqrSQSUvg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tryer/download/tryer-1.0.1.tgz} + name: tryer + version: 1.0.1 + dev: true + + registry.nlark.com/tslib/1.14.1: + resolution: {integrity: sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1631603615234&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz} + name: tslib + version: 1.14.1 + dev: true + + registry.nlark.com/tunnel-agent/0.6.0: + resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz} + name: tunnel-agent + version: 0.6.0 + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + dev: true + + registry.nlark.com/tweetnacl/0.14.5: + resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tweetnacl/download/tweetnacl-0.14.5.tgz} + name: tweetnacl + version: 0.14.5 + dev: true + + registry.nlark.com/type-check/0.3.2: + resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-check/download/type-check-0.3.2.tgz} + name: type-check + version: 0.3.2 + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: registry.nlark.com/prelude-ls/1.1.2 + dev: true + + registry.nlark.com/type-is/1.6.18: + resolution: {integrity: sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-is/download/type-is-1.6.18.tgz} + name: type-is + version: 1.6.18 + engines: {node: '>= 0.6'} + dependencies: + media-typer: registry.npmmirror.com/media-typer/0.3.0 + mime-types: registry.npmmirror.com/mime-types/2.1.34 + dev: true + + registry.nlark.com/typedarray/0.0.6: + resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz} + name: typedarray + version: 0.0.6 + dev: true + + registry.nlark.com/unbox-primitive/1.0.1: + resolution: {integrity: sha1-CF4hViXsMWJXTciFmr7nilmxRHE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz} + name: unbox-primitive + version: 1.0.1 + dependencies: + function-bind: registry.nlark.com/function-bind/1.1.1 + has-bigints: registry.nlark.com/has-bigints/1.0.1 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + which-boxed-primitive: registry.nlark.com/which-boxed-primitive/1.0.2 + dev: true + + registry.nlark.com/unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz} + name: unicode-canonical-property-names-ecmascript + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz} + name: unicode-match-property-ecmascript + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: registry.nlark.com/unicode-canonical-property-names-ecmascript/2.0.0 + unicode-property-aliases-ecmascript: registry.nlark.com/unicode-property-aliases-ecmascript/2.0.0 + dev: true + + registry.nlark.com/unicode-match-property-value-ecmascript/2.0.0: + resolution: {integrity: sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz} + name: unicode-match-property-value-ecmascript + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/unicode-property-aliases-ecmascript/2.0.0: + resolution: {integrity: sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz} + name: unicode-property-aliases-ecmascript + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/union-value/1.0.1: + resolution: {integrity: sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz} + name: union-value + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + arr-union: registry.nlark.com/arr-union/3.1.0 + get-value: registry.nlark.com/get-value/2.0.6 + is-extendable: registry.nlark.com/is-extendable/0.1.1 + set-value: registry.nlark.com/set-value/2.0.1 + dev: true + + registry.nlark.com/uniq/1.0.1: + resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uniq/download/uniq-1.0.1.tgz} + name: uniq + version: 1.0.1 + dev: true + + registry.nlark.com/uniqs/2.0.0: + resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uniqs/download/uniqs-2.0.0.tgz} + name: uniqs + version: 2.0.0 + dev: true + + registry.nlark.com/unique-filename/1.1.1: + resolution: {integrity: sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unique-filename/download/unique-filename-1.1.1.tgz} + name: unique-filename + version: 1.1.1 + dependencies: + unique-slug: registry.nlark.com/unique-slug/2.0.2 + dev: true + + registry.nlark.com/unique-slug/2.0.2: + resolution: {integrity: sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz} + name: unique-slug + version: 2.0.2 + dependencies: + imurmurhash: registry.nlark.com/imurmurhash/0.1.4 + dev: true + + registry.nlark.com/universalify/0.1.2: + resolution: {integrity: sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz} + name: universalify + version: 0.1.2 + engines: {node: '>= 4.0.0'} + dev: true + + registry.nlark.com/unpipe/1.0.0: + resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unpipe/download/unpipe-1.0.0.tgz} + name: unpipe + version: 1.0.0 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/unquote/1.1.1: + resolution: {integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unquote/download/unquote-1.1.1.tgz} + name: unquote + version: 1.1.1 + dev: true + + registry.nlark.com/unset-value/1.0.0: + resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz} + name: unset-value + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + has-value: registry.nlark.com/has-value/0.3.1 + isobject: registry.nlark.com/isobject/3.0.1 + dev: true + + registry.nlark.com/upath/1.2.0: + resolution: {integrity: sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/upath/download/upath-1.2.0.tgz} + name: upath + version: 1.2.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/upper-case/1.1.3: + resolution: {integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/upper-case/download/upper-case-1.1.3.tgz} + name: upper-case + version: 1.1.3 + dev: true + + registry.nlark.com/uppercamelcase/1.1.0: + resolution: {integrity: sha1-Mk2YprOvx+iolT4QZBUJsOTiP5c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uppercamelcase/download/uppercamelcase-1.1.0.tgz} + name: uppercamelcase + version: 1.1.0 + dependencies: + camelcase: registry.nlark.com/camelcase/1.2.1 + dev: false + + registry.nlark.com/uri-js/4.4.1: + resolution: {integrity: sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz} + name: uri-js + version: 4.4.1 + dependencies: + punycode: registry.nlark.com/punycode/2.1.1 + dev: true + + registry.nlark.com/url-parse/1.5.3: + resolution: {integrity: sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz} + name: url-parse + version: 1.5.3 + dependencies: + querystringify: registry.nlark.com/querystringify/2.2.0 + requires-port: registry.nlark.com/requires-port/1.0.0 + dev: true + + registry.nlark.com/url/0.11.0: + resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/url/download/url-0.11.0.tgz} + name: url + version: 0.11.0 + dependencies: + punycode: registry.nlark.com/punycode/1.3.2 + querystring: registry.npmmirror.com/querystring/0.2.0 + dev: true + + registry.nlark.com/util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz} + name: util-deprecate + version: 1.0.2 + dev: true + + registry.nlark.com/util.promisify/1.0.0: + resolution: {integrity: sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util.promisify/download/util.promisify-1.0.0.tgz} + name: util.promisify + version: 1.0.0 + dependencies: + define-properties: registry.nlark.com/define-properties/1.1.3 + object.getownpropertydescriptors: registry.npmmirror.com/object.getownpropertydescriptors/2.1.3 + dev: true + + registry.nlark.com/util.promisify/1.0.1: + resolution: {integrity: sha1-a693dLgO6w91INi4HQeYKlmruu4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util.promisify/download/util.promisify-1.0.1.tgz} + name: util.promisify + version: 1.0.1 + dependencies: + define-properties: registry.nlark.com/define-properties/1.1.3 + es-abstract: registry.npmmirror.com/es-abstract/1.19.1 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + object.getownpropertydescriptors: registry.npmmirror.com/object.getownpropertydescriptors/2.1.3 + dev: true + + registry.nlark.com/util.promisify/1.1.1: + resolution: {integrity: sha1-d4MvV87SyUeBdBScrpuW6ZGM1Us=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util.promisify/download/util.promisify-1.1.1.tgz} + name: util.promisify + version: 1.1.1 + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + for-each: registry.nlark.com/for-each/0.3.3 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + object.getownpropertydescriptors: registry.npmmirror.com/object.getownpropertydescriptors/2.1.3 + dev: true + + registry.nlark.com/util/0.10.3: + resolution: {integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util/download/util-0.10.3.tgz} + name: util + version: 0.10.3 + dependencies: + inherits: registry.nlark.com/inherits/2.0.1 + dev: true + + registry.nlark.com/util/0.11.1: + resolution: {integrity: sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/util/download/util-0.11.1.tgz} + name: util + version: 0.11.1 + dependencies: + inherits: registry.nlark.com/inherits/2.0.3 + dev: true + + registry.nlark.com/utila/0.4.0: + resolution: {integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/utila/download/utila-0.4.0.tgz} + name: utila + version: 0.4.0 + dev: true + + registry.nlark.com/utils-merge/1.0.1: + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/utils-merge/download/utils-merge-1.0.1.tgz} + name: utils-merge + version: 1.0.1 + engines: {node: '>= 0.4.0'} + dev: true + + registry.nlark.com/v8-compile-cache/2.3.0: + resolution: {integrity: sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz} + name: v8-compile-cache + version: 2.3.0 + dev: true + + registry.nlark.com/validate-npm-package-license/3.0.4: + resolution: {integrity: sha1-/JH2uce6FchX9MssXe/uw51PQQo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz} + name: validate-npm-package-license + version: 3.0.4 + dependencies: + spdx-correct: registry.nlark.com/spdx-correct/3.1.1 + spdx-expression-parse: registry.nlark.com/spdx-expression-parse/3.0.1 + dev: true + + registry.nlark.com/vary/1.1.2: + resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vary/download/vary-1.1.2.tgz} + name: vary + version: 1.1.2 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/vendors/1.0.4: + resolution: {integrity: sha1-4rgApT56Kbk1BsPPQRANFsTErY4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vendors/download/vendors-1.0.4.tgz} + name: vendors + version: 1.0.4 + dev: true + + registry.nlark.com/vm-browserify/1.1.2: + resolution: {integrity: sha1-eGQcSIuObKkadfUR56OzKobl3aA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vm-browserify/download/vm-browserify-1.1.2.tgz} + name: vm-browserify + version: 1.1.2 + dev: true + + registry.nlark.com/vue-hot-reload-api/2.3.4: + resolution: {integrity: sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz} + name: vue-hot-reload-api + version: 2.3.4 + dev: true + + registry.nlark.com/vue-style-loader/4.1.3: + resolution: {integrity: sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-style-loader/download/vue-style-loader-4.1.3.tgz} + name: vue-style-loader + version: 4.1.3 + dependencies: + hash-sum: registry.nlark.com/hash-sum/1.0.2 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + dev: true + + registry.nlark.com/vue-template-es2015-compiler/1.9.1: + resolution: {integrity: sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz} + name: vue-template-es2015-compiler + version: 1.9.1 + dev: true + + registry.nlark.com/vuex/3.1.0: + resolution: {integrity: sha1-Y0uBUVzwz+l2vR/+lgF1XlH4Q7k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vuex/download/vuex-3.1.0.tgz} + name: vuex + version: 3.1.0 + dev: false + + registry.nlark.com/w3c-hr-time/1.0.2: + resolution: {integrity: sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz} + name: w3c-hr-time + version: 1.0.2 + dependencies: + browser-process-hrtime: registry.nlark.com/browser-process-hrtime/1.0.0 + dev: true + + registry.nlark.com/w3c-xmlserializer/1.1.2: + resolution: {integrity: sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz} + name: w3c-xmlserializer + version: 1.1.2 + dependencies: + domexception: registry.npmmirror.com/domexception/1.0.1 + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + xml-name-validator: registry.nlark.com/xml-name-validator/3.0.0 + dev: true + + registry.nlark.com/watchpack-chokidar2/2.0.1: + resolution: {integrity: sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz} + name: watchpack-chokidar2 + version: 2.0.1 + requiresBuild: true + dependencies: + chokidar: registry.npmmirror.com/chokidar/2.1.8 + dev: true + optional: true + + registry.nlark.com/watchpack/1.7.5: + resolution: {integrity: sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/watchpack/download/watchpack-1.7.5.tgz} + name: watchpack + version: 1.7.5 + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + neo-async: registry.nlark.com/neo-async/2.6.2 + optionalDependencies: + chokidar: registry.npmmirror.com/chokidar/3.5.2 + watchpack-chokidar2: registry.nlark.com/watchpack-chokidar2/2.0.1 + dev: true + + registry.nlark.com/wbuf/1.7.3: + resolution: {integrity: sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wbuf/download/wbuf-1.7.3.tgz} + name: wbuf + version: 1.7.3 + dependencies: + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + dev: true + + registry.nlark.com/wcwidth/1.0.1: + resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wcwidth/download/wcwidth-1.0.1.tgz} + name: wcwidth + version: 1.0.1 + dependencies: + defaults: registry.nlark.com/defaults/1.0.3 + dev: true + + registry.nlark.com/webidl-conversions/4.0.2: + resolution: {integrity: sha1-qFWYCx8LazWbodXZ+zmulB+qY60=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz} + name: webidl-conversions + version: 4.0.2 + dev: true + + registry.nlark.com/webpack-chain/6.5.1: + resolution: {integrity: sha1-TycoTLu2N+PI+970Pu9YjU2GEgY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/webpack-chain/download/webpack-chain-6.5.1.tgz} + name: webpack-chain + version: 6.5.1 + engines: {node: '>=8'} + dependencies: + deepmerge: registry.nlark.com/deepmerge/1.5.2 + javascript-stringify: registry.nlark.com/javascript-stringify/2.1.0 + dev: true + + registry.nlark.com/webpack-log/2.0.0: + resolution: {integrity: sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/webpack-log/download/webpack-log-2.0.0.tgz} + name: webpack-log + version: 2.0.0 + engines: {node: '>= 6'} + dependencies: + ansi-colors: registry.nlark.com/ansi-colors/3.2.4 + uuid: registry.npmmirror.com/uuid/3.4.0 + dev: true + + registry.nlark.com/webpack-merge/4.2.2: + resolution: {integrity: sha1-onxS6ng9E5iv0gh/VH17nS9DY00=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/webpack-merge/download/webpack-merge-4.2.2.tgz} + name: webpack-merge + version: 4.2.2 + dependencies: + lodash: registry.nlark.com/lodash/4.17.21 + dev: true + + registry.nlark.com/webpack-sources/1.4.3: + resolution: {integrity: sha1-7t2OwLko+/HL/plOItLYkPMwqTM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz} + name: webpack-sources + version: 1.4.3 + dependencies: + source-list-map: registry.nlark.com/source-list-map/2.0.1 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.nlark.com/websocket-driver/0.7.4: + resolution: {integrity: sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/websocket-driver/download/websocket-driver-0.7.4.tgz} + name: websocket-driver + version: 0.7.4 + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: registry.nlark.com/http-parser-js/0.5.3 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + websocket-extensions: registry.nlark.com/websocket-extensions/0.1.4 + dev: true + + registry.nlark.com/websocket-extensions/0.1.4: + resolution: {integrity: sha1-f4RzvIOd/YdgituV1+sHUhFXikI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz} + name: websocket-extensions + version: 0.1.4 + engines: {node: '>=0.8.0'} + dev: true + + registry.nlark.com/whatwg-encoding/1.0.5: + resolution: {integrity: sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz} + name: whatwg-encoding + version: 1.0.5 + dependencies: + iconv-lite: registry.nlark.com/iconv-lite/0.4.24 + dev: true + + registry.nlark.com/whatwg-mimetype/2.3.0: + resolution: {integrity: sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz} + name: whatwg-mimetype + version: 2.3.0 + dev: true + + registry.nlark.com/which-boxed-primitive/1.0.2: + resolution: {integrity: sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz} + name: which-boxed-primitive + version: 1.0.2 + dependencies: + is-bigint: registry.nlark.com/is-bigint/1.0.4 + is-boolean-object: registry.nlark.com/is-boolean-object/1.1.2 + is-number-object: registry.npmmirror.com/is-number-object/1.0.6 + is-string: registry.nlark.com/is-string/1.0.7 + is-symbol: registry.nlark.com/is-symbol/1.0.4 + dev: true + + registry.nlark.com/which-module/2.0.0: + resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/which-module/download/which-module-2.0.0.tgz} + name: which-module + version: 2.0.0 + dev: true + + registry.nlark.com/which/1.3.1: + resolution: {integrity: sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/which/download/which-1.3.1.tgz} + name: which + version: 1.3.1 + hasBin: true + dependencies: + isexe: registry.nlark.com/isexe/2.0.0 + dev: true + + registry.nlark.com/which/2.0.2: + resolution: {integrity: sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/which/download/which-2.0.2.tgz} + name: which + version: 2.0.2 + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: registry.nlark.com/isexe/2.0.0 + dev: true + + registry.nlark.com/word-wrap/1.2.3: + resolution: {integrity: sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz} + name: word-wrap + version: 1.2.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/worker-farm/1.7.0: + resolution: {integrity: sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/worker-farm/download/worker-farm-1.7.0.tgz} + name: worker-farm + version: 1.7.0 + dependencies: + errno: registry.nlark.com/errno/0.1.8 + dev: true + + registry.nlark.com/wrap-ansi/5.1.0: + resolution: {integrity: sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz} + name: wrap-ansi + version: 5.1.0 + engines: {node: '>=6'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + string-width: registry.npmmirror.com/string-width/3.1.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + dev: true + + registry.nlark.com/wrap-ansi/6.2.0: + resolution: {integrity: sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz} + name: wrap-ansi + version: 6.2.0 + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.nlark.com/wrap-ansi/7.0.0: + resolution: {integrity: sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz} + name: wrap-ansi + version: 7.0.0 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.nlark.com/wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz} + name: wrappy + version: 1.0.2 + + registry.nlark.com/write-file-atomic/2.4.1: + resolution: {integrity: sha1-0LBUY8GIroBDlv1asqNwBir4dSk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/write-file-atomic/download/write-file-atomic-2.4.1.tgz} + name: write-file-atomic + version: 2.4.1 + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + imurmurhash: registry.nlark.com/imurmurhash/0.1.4 + signal-exit: registry.npmmirror.com/signal-exit/3.0.5 + dev: true + + registry.nlark.com/write/1.0.3: + resolution: {integrity: sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/write/download/write-1.0.3.tgz} + name: write + version: 1.0.3 + engines: {node: '>=4'} + dependencies: + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + dev: true + + registry.nlark.com/xml-name-validator/3.0.0: + resolution: {integrity: sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/xml-name-validator/download/xml-name-validator-3.0.0.tgz} + name: xml-name-validator + version: 3.0.0 + dev: true + + registry.nlark.com/xmlchars/2.2.0: + resolution: {integrity: sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/xmlchars/download/xmlchars-2.2.0.tgz} + name: xmlchars + version: 2.2.0 + dev: true + + registry.nlark.com/xtend/4.0.2: + resolution: {integrity: sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/xtend/download/xtend-4.0.2.tgz} + name: xtend + version: 4.0.2 + engines: {node: '>=0.4'} + dev: true + + registry.nlark.com/y18n/4.0.3: + resolution: {integrity: sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/y18n/download/y18n-4.0.3.tgz} + name: y18n + version: 4.0.3 + dev: true + + registry.nlark.com/y18n/5.0.8: + resolution: {integrity: sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz} + name: y18n + version: 5.0.8 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/yallist/2.1.2: + resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yallist/download/yallist-2.1.2.tgz} + name: yallist + version: 2.1.2 + dev: true + + registry.nlark.com/yallist/3.1.1: + resolution: {integrity: sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz} + name: yallist + version: 3.1.1 + dev: true + + registry.nlark.com/yallist/4.0.0: + resolution: {integrity: sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yallist/download/yallist-4.0.0.tgz} + name: yallist + version: 4.0.0 + dev: true + + registry.nlark.com/yargs-parser/10.1.0: + resolution: {integrity: sha1-cgImW4n36eny5XZeD+c1qQXtuqg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yargs-parser/download/yargs-parser-10.1.0.tgz} + name: yargs-parser + version: 10.1.0 + dependencies: + camelcase: registry.nlark.com/camelcase/4.1.0 + dev: true + + registry.nlark.com/yargs-parser/13.1.2: + resolution: {integrity: sha1-Ew8JcC667vJlDVTObj5XBvek+zg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz} + name: yargs-parser + version: 13.1.2 + dependencies: + camelcase: registry.nlark.com/camelcase/5.3.1 + decamelize: registry.npmmirror.com/decamelize/1.2.0 + dev: true + + registry.nlark.com/yargs-parser/20.2.9: + resolution: {integrity: sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz} + name: yargs-parser + version: 20.2.9 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/@babel/code-frame/7.16.0: + resolution: {integrity: sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz} + name: '@babel/code-frame' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.16.0 + dev: true + + registry.npmmirror.com/@babel/compat-data/7.16.0: + resolution: {integrity: sha1-6iadf3jes6eCbDmkBI7s2lQevao=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.0.tgz} + name: '@babel/compat-data' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/core/7.16.0: + resolution: {integrity: sha1-xP9EBG9f4xBSXMnrTvUUfwxTdNQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.0.tgz} + name: '@babel/core' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + '@babel/generator': registry.npmmirror.com/@babel/generator/7.16.0 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.16.0 + '@babel/helpers': registry.npmmirror.com/@babel/helpers/7.16.3 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + convert-source-map: registry.nlark.com/convert-source-map/1.8.0 + debug: registry.npmmirror.com/debug/4.3.2 + gensync: registry.nlark.com/gensync/1.0.0-beta.2 + json5: registry.nlark.com/json5/2.2.0 + semver: registry.nlark.com/semver/6.3.0 + source-map: registry.nlark.com/source-map/0.5.7 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/generator/7.16.0: + resolution: {integrity: sha1-1A89HVB15i01ALzLZ/PaqKlSZbI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.0.tgz} + name: '@babel/generator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + jsesc: registry.nlark.com/jsesc/2.5.2 + source-map: registry.nlark.com/source-map/0.5.7 + dev: true + + registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0: + resolution: {integrity: sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz} + name: '@babel/helper-annotate-as-pure' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/7.16.0: + resolution: {integrity: sha1-8aaGuS2nlAIMJlguuFLprM0NeII=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz} + name: '@babel/helper-builder-binary-assignment-operator-visitor' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': registry.npmmirror.com/@babel/helper-explode-assignable-expression/7.16.0 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0: + resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz} + id: registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3 + name: '@babel/helper-compilation-targets' + version: 7.16.3 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.16.0 + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-validator-option': registry.nlark.com/@babel/helper-validator-option/7.14.5 + browserslist: registry.npmmirror.com/browserslist/4.17.6 + semver: registry.nlark.com/semver/6.3.0 + dev: true + + registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-CQ1NFms0KgOp/sN+9P1a65x8aks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.0.tgz} + id: registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0 + name: '@babel/helper-create-class-features-plugin' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.16.0 + '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.16.0 + '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.0 + '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.0 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz} + id: registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0 + name: '@babel/helper-create-regexp-features-plugin' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0 + regexpu-core: registry.nlark.com/regexpu-core/4.8.0 + dev: true + + registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.2.4_@babel+core@7.16.0: + resolution: {integrity: sha1-iGeu150+psreQPgB77esXGaRaxA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.4.tgz} + id: registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.2.4 + name: '@babel/helper-define-polyfill-provider' + version: 0.2.4 + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + debug: registry.npmmirror.com/debug/4.3.2 + lodash.debounce: registry.nlark.com/lodash.debounce/4.0.8 + resolve: registry.nlark.com/resolve/1.20.0 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-explode-assignable-expression/7.16.0: + resolution: {integrity: sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz} + name: '@babel/helper-explode-assignable-expression' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-function-name/7.16.0: + resolution: {integrity: sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz} + name: '@babel/helper-function-name' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-get-function-arity': registry.npmmirror.com/@babel/helper-get-function-arity/7.16.0 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-get-function-arity/7.16.0: + resolution: {integrity: sha1-AIjHSGspqctdlIsaHeRttm4InPo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz} + name: '@babel/helper-get-function-arity' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-hoist-variables/7.16.0: + resolution: {integrity: sha1-TJAjwvHe9+KP9G/B2802o5vqqBo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz} + name: '@babel/helper-hoist-variables' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.16.0: + resolution: {integrity: sha1-KShwQO/Rl8d2Nu91GI6B2ovM1aQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.0.tgz} + name: '@babel/helper-member-expression-to-functions' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-module-imports/7.16.0: + resolution: {integrity: sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz} + name: '@babel/helper-module-imports' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-module-transforms/7.16.0: + resolution: {integrity: sha1-HIKo3UyzRXdQLr0pCWmbGUw+m7U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.0.tgz} + name: '@babel/helper-module-transforms' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.0 + '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.16.0 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.0 + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.15.7 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.0: + resolution: {integrity: sha1-zs2xRdcMVAlrFWT46fEM19GTszg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz} + name: '@babel/helper-optimise-call-expression' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.0: + resolution: {integrity: sha1-1ao7CG4Tpf4FI4/0DDpaDC2rPq0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.0.tgz} + name: '@babel/helper-remap-async-to-generator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0 + '@babel/helper-wrap-function': registry.npmmirror.com/@babel/helper-wrap-function/7.16.0 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-replace-supers/7.16.0: + resolution: {integrity: sha1-cwVejTz5vLqN21XK2T/tyGD2jxc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.0.tgz} + name: '@babel/helper-replace-supers' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.16.0 + '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helper-simple-access/7.16.0: + resolution: {integrity: sha1-IdaidiDjg+N1NM9sELugGab5BRc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz} + name: '@babel/helper-simple-access' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0: + resolution: {integrity: sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz} + name: '@babel/helper-skip-transparent-expression-wrappers' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.0: + resolution: {integrity: sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz} + name: '@babel/helper-split-export-declaration' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/helper-wrap-function/7.16.0: + resolution: {integrity: sha1-s88xivzndN/nW4Z2fNbWjzSC5Xw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.0.tgz} + name: '@babel/helper-wrap-function' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.16.0 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/helpers/7.16.3: + resolution: {integrity: sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.3.tgz} + name: '@babel/helpers' + version: 7.16.3 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/highlight/7.16.0: + resolution: {integrity: sha1-bOsysspLj182H7f9gh4/3fShclo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz} + name: '@babel/highlight' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.15.7 + chalk: registry.nlark.com/chalk/2.4.2 + js-tokens: registry.nlark.com/js-tokens/4.0.0 + dev: true + + registry.npmmirror.com/@babel/parser/7.16.3: + resolution: {integrity: sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.3.tgz} + name: '@babel/parser' + version: 7.16.3 + engines: {node: '>=6.0.0'} + hasBin: true + dev: true + + registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.2_@babel+core@7.16.0: + resolution: {integrity: sha1-KXf8qbIS2xU8GVZ05Xz6uAdzMYM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz} + id: registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.2 + name: '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression' + version: 7.16.2 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-NYly6qsAb16wgmGDsMk8vK8T4eI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.0 + name: '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0 + '@babel/plugin-proposal-optional-chaining': registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.0_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-EUJdR6YDZDUvZorV+8HWWWssXK8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.0 + name: '@babel/plugin-proposal-async-generator-functions' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-remap-async-to-generator': registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.0 + '@babel/plugin-syntax-async-generators': registry.nlark.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-wClhgmfd68coD6KG4PjKKieKLRo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.0 + name: '@babel/plugin-proposal-class-properties' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-UpaULFZNgUTIPuo0fQqooLiRcOc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.16.0 + name: '@babel/plugin-proposal-class-static-block' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-class-static-block': registry.nlark.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-decorators/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-UV219okWEcDRdrY+3ghE+9m+eXs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-decorators/7.16.0 + name: '@babel/plugin-proposal-decorators' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-decorators': registry.npmmirror.com/@babel/plugin-syntax-decorators/7.16.0_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-eD7KYdUFJiAvmylglUU5d+iGWfE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.0 + name: '@babel/plugin-proposal-dynamic-import' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-dynamic-import': registry.nlark.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-nAHe5Auda4R7ZWqvSjl2pxdA8iI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.0 + name: '@babel/plugin-proposal-export-namespace-from' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-export-namespace-from': registry.nlark.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-yuNale0dKn+inE3EFUC4SnLpqyU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.0 + name: '@babel/plugin-proposal-json-strings' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-json-strings': registry.nlark.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-pxG4zrP/3dPviNOknobb08x9s/0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.0 + name: '@babel/plugin-proposal-logical-assignment-operators' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-logical-assignment-operators': registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-ROHM4I/iQnSCz0RqkbtFFSjtBZY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.0 + name: '@babel/plugin-proposal-nullish-coalescing-operator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-nullish-coalescing-operator': registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-XUGOT7v4ubfQMSXTpScwQzo3NzQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.0 + name: '@babel/plugin-proposal-numeric-separator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-numeric-separator': registry.nlark.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-X7MvbZJNbmcSgQNipg4SomCYcuY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.16.0 + name: '@babel/plugin-proposal-object-rest-spread' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.16.0 + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-object-rest-spread': registry.nlark.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0 + '@babel/plugin-transform-parameters': registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-WRAIWBGrTCiwDW6/+kqwJ00eXxY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.0 + name: '@babel/plugin-proposal-optional-catch-binding' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-optional-catch-binding': registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-VtvDlwglaDYI6e+1XqgsKi1sjcA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.0 + name: '@babel/plugin-proposal-optional-chaining' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0 + '@babel/plugin-syntax-optional-chaining': registry.nlark.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-tNr7nHF+QwHFd2sw0IDWODyJr/Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.0 + name: '@babel/plugin-proposal-private-methods' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-aek1ssXHnSSIES2IbwxOJ5D+528=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.0 + name: '@babel/plugin-proposal-private-property-in-object' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0 + '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-syntax-private-property-in-object': registry.nlark.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-iQSC38XqN45C4Zpx5wlyjKvxhhI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.0 + name: '@babel/plugin-proposal-unicode-property-regex' + version: 7.16.0 + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-syntax-decorators/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-642BHN0QYPasPACVa/P2M1UFoy8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-syntax-decorators/7.16.0 + name: '@babel/plugin-syntax-decorators' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-+WJDlDFzZamojII1jT+EcRVGmPE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0 + name: '@babel/plugin-syntax-jsx' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-lRcG+LRJyDTtB71HTAkkyUS5Wo4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.0 + name: '@babel/plugin-transform-arrow-functions' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-3xJjf5Yw3foO+dehG8QU1inThgQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.0 + name: '@babel/plugin-transform-async-to-generator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-remap-async-to-generator': registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-xhh2MjOtAoR4BavKxMNFzp3nFF0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.0 + name: '@babel/plugin-transform-block-scoped-functions' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-vPQz+0gv6MPTtOimaxxKjnfTfBY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.0 + name: '@babel/plugin-transform-block-scoping' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-classes/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-VM9f8LIkLGVz11PNS/xwd6iygvU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-classes/7.16.0 + name: '@babel/plugin-transform-classes' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.0 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.16.0 + '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.0 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.0 + globals: registry.npmmirror.com/globals/11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-4MOFUH0h4bCwdtZr7W1SMbhRELc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.0 + name: '@babel/plugin-transform-computed-properties' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-destructuring/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-rT1+dFhK1epOrbHmZCFGxZDe4zw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-destructuring/7.16.0 + name: '@babel/plugin-transform-destructuring' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-ULqwDBCEthYtClioGAMc9XeY4G8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.0 + name: '@babel/plugin-transform-dotall-regex' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-i8LiGBPj6J5eW/O2CqX8RYV1oXY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.0 + name: '@babel/plugin-transform-duplicate-keys' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-oYDNKIHjUzzvnTkB5I2tD77/S+Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.0 + name: '@babel/plugin-transform-exponentiation-operator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-builder-binary-assignment-operator-visitor': registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-96us7RVSYOJGE1m7x8ckispea9I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.0 + name: '@babel/plugin-transform-for-of' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-AuNpnChMYmIjZZn3UQZcXV8fQA4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.0 + name: '@babel/plugin-transform-function-name' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-literals/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-eXEeZw/86zG9KYIp1Q82IfeYDKw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-literals/7.16.0 + name: '@babel/plugin-transform-literals' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-UlG0zOAer4MUQD0hrtsmnXn15ks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.0 + name: '@babel/plugin-transform-member-expression-literals' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-CavUHhjc9P1HnFmMHO97056xM34=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.0 + name: '@babel/plugin-transform-modules-amd' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + babel-plugin-dynamic-import-node: registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-rdWOY4yN3Eh1vZqey1xZRhP2ySI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.16.0 + name: '@babel/plugin-transform-modules-commonjs' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.16.0 + babel-plugin-dynamic-import-node: registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-qSzyQK/rYF9MoWZwRTAkQl5CHqQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.16.0 + name: '@babel/plugin-transform-modules-systemjs' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.16.0 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.15.7 + babel-plugin-dynamic-import-node: registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-GV8mwq1tajkbcIgO/84YzmJeBqc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.0 + name: '@babel/plugin-transform-modules-umd' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-09thzF1bl5hlWZZ81eqD5cMglso=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.16.0 + name: '@babel/plugin-transform-named-capturing-groups-regex' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0_@babel+core@7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-r4I6tXb3UiFaSZN3eaQcplglqzU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.0 + name: '@babel/plugin-transform-new-target' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-+yDVgG3GSRoGKWrBTqjo1v7dpys=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.0 + name: '@babel/plugin-transform-object-super' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.3_@babel+core@7.16.0: + resolution: {integrity: sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.3.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.3 + name: '@babel/plugin-transform-parameters' + version: 7.16.3 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-qVxVIYmpagAFn2d23E4A42kMeNE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.0 + name: '@babel/plugin-transform-property-literals' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-regenerator/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-6u5CLISwIy0Drqfbmcl97q9hJaQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-regenerator/7.16.0 + name: '@babel/plugin-transform-regenerator' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + regenerator-transform: registry.nlark.com/regenerator-transform/0.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-//S53LGeEmGTlL2hctFPLQTAN5w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.0 + name: '@babel/plugin-transform-reserved-words' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-runtime/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-P+DaNsLwg0vvfE0+fystsO4MiQk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-runtime/7.16.0 + name: '@babel/plugin-transform-runtime' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + babel-plugin-polyfill-corejs2: registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.2.3_@babel+core@7.16.0 + babel-plugin-polyfill-corejs3: registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.3.0_@babel+core@7.16.0 + babel-plugin-polyfill-regenerator: registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.2.3_@babel+core@7.16.0 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-CQNy4xQffMMk7XCz2vU3nfL6OE0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.0 + name: '@babel/plugin-transform-shorthand-properties' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-spread/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-0hygmbvVOrMHqGIeAZp70PQM3Ps=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-spread/7.16.0 + name: '@babel/plugin-transform-spread' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-w16jGgLYa+SF9qpRAYS2d6kXOP0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.0 + name: '@babel/plugin-transform-sticky-regex' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-qOztOo57ji1A7E7EVIpFkSYw0wI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.0 + name: '@babel/plugin-transform-template-literals' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-ixmiRMb4ydZo3Kam91Stbq0RKPI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.0 + name: '@babel/plugin-transform-typeof-symbol' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-GjVAZLTEVmOjIzT0b6DPYQC1sfM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.0 + name: '@babel/plugin-transform-unicode-escapes' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-KTuAlQF3yMha7eh87ygCWfuZVAI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.0.tgz} + id: registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.0 + name: '@babel/plugin-transform-unicode-regex' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.16.0_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + dev: true + + registry.npmmirror.com/@babel/preset-env/7.16.0_@babel+core@7.16.0: + resolution: {integrity: sha1-lyKDk9IXVg1qHGxW8K250SvKZ/U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.0.tgz} + id: registry.npmmirror.com/@babel/preset-env/7.16.0 + name: '@babel/preset-env' + version: 7.16.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.16.0 + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/helper-validator-option': registry.nlark.com/@babel/helper-validator-option/7.14.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.2_@babel+core@7.16.0 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-async-generator-functions': registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-class-properties': registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-class-static-block': registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-dynamic-import': registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-export-namespace-from': registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-json-strings': registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-logical-assignment-operators': registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-nullish-coalescing-operator': registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-numeric-separator': registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-object-rest-spread': registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-catch-binding': registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-chaining': registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-methods': registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-property-in-object': registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-unicode-property-regex': registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.0_@babel+core@7.16.0 + '@babel/plugin-syntax-async-generators': registry.nlark.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0 + '@babel/plugin-syntax-class-properties': registry.nlark.com/@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.0 + '@babel/plugin-syntax-class-static-block': registry.nlark.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.16.0 + '@babel/plugin-syntax-dynamic-import': registry.nlark.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-export-namespace-from': registry.nlark.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-json-strings': registry.nlark.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-logical-assignment-operators': registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-nullish-coalescing-operator': registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-numeric-separator': registry.nlark.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-object-rest-spread': registry.nlark.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-catch-binding': registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-chaining': registry.nlark.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-private-property-in-object': registry.nlark.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.16.0 + '@babel/plugin-syntax-top-level-await': registry.nlark.com/@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.16.0 + '@babel/plugin-transform-arrow-functions': registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-async-to-generator': registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoped-functions': registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoping': registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-classes': registry.npmmirror.com/@babel/plugin-transform-classes/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-computed-properties': registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-destructuring': registry.npmmirror.com/@babel/plugin-transform-destructuring/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-dotall-regex': registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-duplicate-keys': registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-exponentiation-operator': registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-for-of': registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-function-name': registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-literals': registry.npmmirror.com/@babel/plugin-transform-literals/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-member-expression-literals': registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-amd': registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-commonjs': registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-systemjs': registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-umd': registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-named-capturing-groups-regex': registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-new-target': registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-object-super': registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-parameters': registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.3_@babel+core@7.16.0 + '@babel/plugin-transform-property-literals': registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-regenerator': registry.npmmirror.com/@babel/plugin-transform-regenerator/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-reserved-words': registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-shorthand-properties': registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-spread': registry.npmmirror.com/@babel/plugin-transform-spread/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-sticky-regex': registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-template-literals': registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-typeof-symbol': registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-unicode-escapes': registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-unicode-regex': registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.0_@babel+core@7.16.0 + '@babel/preset-modules': registry.npmmirror.com/@babel/preset-modules/0.1.5_@babel+core@7.16.0 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + babel-plugin-polyfill-corejs2: registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.2.3_@babel+core@7.16.0 + babel-plugin-polyfill-corejs3: registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.3.0_@babel+core@7.16.0 + babel-plugin-polyfill-regenerator: registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.2.3_@babel+core@7.16.0 + core-js-compat: registry.npmmirror.com/core-js-compat/3.19.1 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/preset-modules/0.1.5_@babel+core@7.16.0: + resolution: {integrity: sha1-75Odbn8miCfhhBY43G/5VRXhFdk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz} + id: registry.npmmirror.com/@babel/preset-modules/0.1.5 + name: '@babel/preset-modules' + version: 0.1.5 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + '@babel/plugin-proposal-unicode-property-regex': registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-dotall-regex': registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.0_@babel+core@7.16.0 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + esutils: registry.nlark.com/esutils/2.0.3 + dev: true + + registry.npmmirror.com/@babel/runtime/7.16.3: + resolution: {integrity: sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.3.tgz} + name: '@babel/runtime' + version: 7.16.3 + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: registry.nlark.com/regenerator-runtime/0.13.9 + dev: true + + registry.npmmirror.com/@babel/template/7.16.0: + resolution: {integrity: sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz} + name: '@babel/template' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + dev: true + + registry.npmmirror.com/@babel/traverse/7.16.3: + resolution: {integrity: sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.3.tgz} + name: '@babel/traverse' + version: 7.16.3 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + '@babel/generator': registry.npmmirror.com/@babel/generator/7.16.0 + '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.16.0 + '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.16.0 + '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.0 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + debug: registry.npmmirror.com/debug/4.3.2 + globals: registry.npmmirror.com/globals/11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@babel/types/7.16.0: + resolution: {integrity: sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz} + name: '@babel/types' + version: 7.16.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.15.7 + to-fast-properties: registry.nlark.com/to-fast-properties/2.0.0 + dev: true + + registry.npmmirror.com/@hapi/address/2.1.4: + resolution: {integrity: sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/address/download/@hapi/address-2.1.4.tgz} + name: '@hapi/address' + version: 2.1.4 + deprecated: Moved to 'npm install @sideway/address' + dev: true + + registry.npmmirror.com/@hapi/bourne/1.3.2: + resolution: {integrity: sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz} + name: '@hapi/bourne' + version: 1.3.2 + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + + registry.npmmirror.com/@hapi/hoek/8.5.1: + resolution: {integrity: sha1-/elgZMpEbeyMVajC8TCVewcMbgY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz} + name: '@hapi/hoek' + version: 8.5.1 + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + + registry.npmmirror.com/@hapi/joi/15.1.1: + resolution: {integrity: sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/joi/download/@hapi/joi-15.1.1.tgz} + name: '@hapi/joi' + version: 15.1.1 + deprecated: Switch to 'npm install joi' + dependencies: + '@hapi/address': registry.npmmirror.com/@hapi/address/2.1.4 + '@hapi/bourne': registry.npmmirror.com/@hapi/bourne/1.3.2 + '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/8.5.1 + '@hapi/topo': registry.nlark.com/@hapi/topo/3.1.6 + dev: true + + registry.npmmirror.com/@jest/console/24.9.0: + resolution: {integrity: sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/console/download/@jest/console-24.9.0.tgz} + name: '@jest/console' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/source-map': registry.nlark.com/@jest/source-map/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + slash: registry.nlark.com/slash/2.0.0 + dev: true + + registry.npmmirror.com/@jest/core/24.9.0: + resolution: {integrity: sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/core/download/@jest/core-24.9.0.tgz} + name: '@jest/core' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/console': registry.npmmirror.com/@jest/console/24.9.0 + '@jest/reporters': registry.npmmirror.com/@jest/reporters/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/transform': registry.npmmirror.com/@jest/transform/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + ansi-escapes: registry.nlark.com/ansi-escapes/3.2.0 + chalk: registry.nlark.com/chalk/2.4.2 + exit: registry.nlark.com/exit/0.1.2 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + jest-changed-files: registry.npmmirror.com/jest-changed-files/24.9.0 + jest-config: registry.npmmirror.com/jest-config/24.9.0 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + jest-resolve-dependencies: registry.npmmirror.com/jest-resolve-dependencies/24.9.0 + jest-runner: registry.npmmirror.com/jest-runner/24.9.0 + jest-runtime: registry.npmmirror.com/jest-runtime/24.9.0 + jest-snapshot: registry.npmmirror.com/jest-snapshot/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-validate: registry.npmmirror.com/jest-validate/24.9.0 + jest-watcher: registry.npmmirror.com/jest-watcher/24.9.0 + micromatch: registry.nlark.com/micromatch/3.1.10 + p-each-series: registry.nlark.com/p-each-series/1.0.0 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + slash: registry.nlark.com/slash/2.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@jest/environment/24.9.0: + resolution: {integrity: sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/environment/download/@jest/environment-24.9.0.tgz} + name: '@jest/environment' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/fake-timers': registry.npmmirror.com/@jest/fake-timers/24.9.0 + '@jest/transform': registry.npmmirror.com/@jest/transform/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@jest/fake-timers/24.9.0: + resolution: {integrity: sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz} + name: '@jest/fake-timers' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + dev: true + + registry.npmmirror.com/@jest/reporters/24.9.0: + resolution: {integrity: sha1-hmYO/44rlmHQQqjpigKLjWMaW0M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/reporters/download/@jest/reporters-24.9.0.tgz} + name: '@jest/reporters' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/transform': registry.npmmirror.com/@jest/transform/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + exit: registry.nlark.com/exit/0.1.2 + glob: registry.npmmirror.com/glob/7.2.0 + istanbul-lib-coverage: registry.npmmirror.com/istanbul-lib-coverage/2.0.5 + istanbul-lib-instrument: registry.npmmirror.com/istanbul-lib-instrument/3.3.0 + istanbul-lib-report: registry.nlark.com/istanbul-lib-report/2.0.8 + istanbul-lib-source-maps: registry.npmmirror.com/istanbul-lib-source-maps/3.0.6 + istanbul-reports: registry.npmmirror.com/istanbul-reports/2.2.7 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + jest-runtime: registry.npmmirror.com/jest-runtime/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-worker: registry.npmmirror.com/jest-worker/24.9.0 + node-notifier: registry.nlark.com/node-notifier/5.4.5 + slash: registry.nlark.com/slash/2.0.0 + source-map: registry.nlark.com/source-map/0.6.1 + string-length: registry.nlark.com/string-length/2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@jest/test-result/24.9.0: + resolution: {integrity: sha1-EXluiqnb+I6gJXV7MVJZWtBroMo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/test-result/download/@jest/test-result-24.9.0.tgz} + name: '@jest/test-result' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/console': registry.npmmirror.com/@jest/console/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + '@types/istanbul-lib-coverage': registry.nlark.com/@types/istanbul-lib-coverage/2.0.3 + dev: true + + registry.npmmirror.com/@jest/test-sequencer/24.9.0: + resolution: {integrity: sha1-+PM081tiWk8vNV8v5+YDba0uazE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz} + name: '@jest/test-sequencer' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-runner: registry.npmmirror.com/jest-runner/24.9.0 + jest-runtime: registry.npmmirror.com/jest-runtime/24.9.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@jest/transform/24.9.0: + resolution: {integrity: sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/transform/download/@jest/transform-24.9.0.tgz} + name: '@jest/transform' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + babel-plugin-istanbul: registry.npmmirror.com/babel-plugin-istanbul/5.2.0 + chalk: registry.nlark.com/chalk/2.4.2 + convert-source-map: registry.nlark.com/convert-source-map/1.8.0 + fast-json-stable-stringify: registry.nlark.com/fast-json-stable-stringify/2.1.0 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + micromatch: registry.nlark.com/micromatch/3.1.10 + pirates: registry.nlark.com/pirates/4.0.1 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + slash: registry.nlark.com/slash/2.0.0 + source-map: registry.nlark.com/source-map/0.6.1 + write-file-atomic: registry.nlark.com/write-file-atomic/2.4.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@jest/types/24.9.0: + resolution: {integrity: sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/types/download/@jest/types-24.9.0.tgz} + name: '@jest/types' + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@types/istanbul-lib-coverage': registry.nlark.com/@types/istanbul-lib-coverage/2.0.3 + '@types/istanbul-reports': registry.nlark.com/@types/istanbul-reports/1.1.2 + '@types/yargs': registry.npmmirror.com/@types/yargs/13.0.12 + dev: true + + registry.npmmirror.com/@soda/get-current-script/1.0.2: + resolution: {integrity: sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz} + name: '@soda/get-current-script' + version: 1.0.2 + dev: true + + registry.npmmirror.com/@types/glob/7.2.0: + resolution: {integrity: sha1-vBtb86qS8lvV3TnzXFc2G9zlsus=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz} + name: '@types/glob' + version: 7.2.0 + dependencies: + '@types/minimatch': registry.nlark.com/@types/minimatch/3.0.5 + '@types/node': registry.npmmirror.com/@types/node/16.11.7 + dev: true + + registry.npmmirror.com/@types/node/16.11.7: + resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/download/@types/node-16.11.7.tgz} + name: '@types/node' + version: 16.11.7 + dev: true + + registry.npmmirror.com/@types/strip-bom/3.0.0: + resolution: {integrity: sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/strip-bom/download/@types/strip-bom-3.0.0.tgz} + name: '@types/strip-bom' + version: 3.0.0 + dev: true + + registry.npmmirror.com/@types/strip-json-comments/0.0.30: + resolution: {integrity: sha1-mqMMBNshKpoGSdaub9UKzMQHSKE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/strip-json-comments/download/@types/strip-json-comments-0.0.30.tgz} + name: '@types/strip-json-comments' + version: 0.0.30 + dev: true + + registry.npmmirror.com/@types/yargs/13.0.12: + resolution: {integrity: sha1-2JWojHA7eK8EZaneiKqSxhQwsJI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/yargs/download/@types/yargs-13.0.12.tgz} + name: '@types/yargs' + version: 13.0.12 + dependencies: + '@types/yargs-parser': registry.nlark.com/@types/yargs-parser/20.2.1 + dev: true + + registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2: + resolution: {integrity: sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz} + name: '@vue/babel-helper-vue-transform-on' + version: 1.0.2 + dev: true + + registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.16.0: + resolution: {integrity: sha1-DFusJ4gNI/iYlM0Daje1XvYd38E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.1.1.tgz} + id: registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1 + name: '@vue/babel-plugin-jsx' + version: 1.1.1 + dependencies: + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + '@vue/babel-helper-vue-transform-on': registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2 + camelcase: registry.nlark.com/camelcase/6.2.0 + html-tags: registry.nlark.com/html-tags/3.1.0 + svg-tags: registry.nlark.com/svg-tags/1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + registry.npmmirror.com/@vue/babel-preset-app/4.5.15_vue@2.6.10: + resolution: {integrity: sha1-9rwI+PZ06YomAAQjTN4YuWbXLrA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.15.tgz} + id: registry.npmmirror.com/@vue/babel-preset-app/4.5.15 + name: '@vue/babel-preset-app' + version: 4.5.15 + peerDependencies: + vue: ^2 || ^3.0.0-0 + peerDependenciesMeta: + core-js: + optional: true + vue: + optional: true + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0 + '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.0 + '@babel/plugin-proposal-class-properties': registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-decorators': registry.npmmirror.com/@babel/plugin-proposal-decorators/7.16.0_@babel+core@7.16.0 + '@babel/plugin-syntax-dynamic-import': registry.nlark.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-jsx': registry.npmmirror.com/@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-runtime': registry.npmmirror.com/@babel/plugin-transform-runtime/7.16.0_@babel+core@7.16.0 + '@babel/preset-env': registry.npmmirror.com/@babel/preset-env/7.16.0_@babel+core@7.16.0 + '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.16.3 + '@vue/babel-plugin-jsx': registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.16.0 + '@vue/babel-preset-jsx': registry.nlark.com/@vue/babel-preset-jsx/1.2.4_@babel+core@7.16.0 + babel-plugin-dynamic-import-node: registry.nlark.com/babel-plugin-dynamic-import-node/2.3.3 + core-js: registry.npmmirror.com/core-js/3.6.5 + core-js-compat: registry.npmmirror.com/core-js-compat/3.19.1 + semver: registry.nlark.com/semver/6.3.0 + vue: registry.npmmirror.com/vue/2.6.10 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@vue/cli-overlay/4.5.15: + resolution: {integrity: sha1-BwD9a605M21Bibo/99JeY46BjJw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-overlay/download/@vue/cli-overlay-4.5.15.tgz} + name: '@vue/cli-overlay' + version: 4.5.15 + dev: true + + registry.npmmirror.com/@vue/cli-plugin-babel/4.4.4_73dc883dde44f18441aa6573f43c88d3: + resolution: {integrity: sha1-GJBLXjgXMpGzcFTC8Dk/uMdI83s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.4.4.tgz} + id: registry.npmmirror.com/@vue/cli-plugin-babel/4.4.4 + name: '@vue/cli-plugin-babel' + version: 4.4.4 + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@vue/babel-preset-app': registry.npmmirror.com/@vue/babel-preset-app/4.5.15_vue@2.6.10 + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + '@vue/cli-shared-utils': registry.npmmirror.com/@vue/cli-shared-utils/4.5.15 + babel-loader: registry.npmmirror.com/babel-loader/8.2.3_1bd60a6cd0f7024f034efd75ae733a3f + cache-loader: registry.nlark.com/cache-loader/4.1.0_webpack@4.46.0 + thread-loader: registry.nlark.com/thread-loader/2.1.3_webpack@4.46.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + transitivePeerDependencies: + - supports-color + - vue + - webpack-cli + - webpack-command + dev: true + + registry.npmmirror.com/@vue/cli-plugin-eslint/4.4.4_4c02ce60bf5d245163a3258a3e654afe: + resolution: {integrity: sha1-Gf0doYY6kFhLeJOczhzpTEntQ4g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.4.4.tgz} + id: registry.npmmirror.com/@vue/cli-plugin-eslint/4.4.4 + name: '@vue/cli-plugin-eslint' + version: 4.4.4 + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + eslint: '>= 1.6.0' + dependencies: + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + '@vue/cli-shared-utils': registry.npmmirror.com/@vue/cli-shared-utils/4.5.15 + eslint: registry.npmmirror.com/eslint/6.7.2 + eslint-loader: registry.npmmirror.com/eslint-loader/2.2.1_eslint@6.7.2+webpack@4.46.0 + globby: registry.nlark.com/globby/9.2.0 + inquirer: registry.npmmirror.com/inquirer/7.3.3 + webpack: registry.npmmirror.com/webpack/4.46.0 + yorkie: registry.npmmirror.com/yorkie/2.0.0 + transitivePeerDependencies: + - webpack-cli + - webpack-command + dev: true + + registry.npmmirror.com/@vue/cli-plugin-router/4.5.15_@vue+cli-service@4.4.4: + resolution: {integrity: sha1-HnXIyJ30LGlPFDufECjePPXWHh4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.15.tgz} + id: registry.npmmirror.com/@vue/cli-plugin-router/4.5.15 + name: '@vue/cli-plugin-router' + version: 4.5.15 + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + dependencies: + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + '@vue/cli-shared-utils': registry.npmmirror.com/@vue/cli-shared-utils/4.5.15 + dev: true + + registry.npmmirror.com/@vue/cli-plugin-unit-jest/4.4.4_1770ede1501523cd138a18b22895daee: + resolution: {integrity: sha1-oi4p7FruNPI+RNLA8+fXo72MGcw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-plugin-unit-jest/download/@vue/cli-plugin-unit-jest-4.4.4.tgz} + id: registry.npmmirror.com/@vue/cli-plugin-unit-jest/4.4.4 + name: '@vue/cli-plugin-unit-jest' + version: 4.4.4 + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/plugin-transform-modules-commonjs': registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.16.0_@babel+core@7.16.0 + '@types/jest': registry.nlark.com/@types/jest/24.9.1 + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + '@vue/cli-shared-utils': registry.npmmirror.com/@vue/cli-shared-utils/4.5.15 + babel-core: registry.npmmirror.com/babel-core/7.0.0-bridge.0_@babel+core@7.16.0 + babel-jest: registry.npmmirror.com/babel-jest/24.9.0_@babel+core@7.16.0 + babel-plugin-transform-es2015-modules-commonjs: registry.npmmirror.com/babel-plugin-transform-es2015-modules-commonjs/6.26.2 + deepmerge: registry.nlark.com/deepmerge/4.2.2 + jest: registry.npmmirror.com/jest/24.9.0 + jest-environment-jsdom-fifteen: registry.npmmirror.com/jest-environment-jsdom-fifteen/1.0.2 + jest-serializer-vue: registry.npmmirror.com/jest-serializer-vue/2.0.2 + jest-transform-stub: registry.npmmirror.com/jest-transform-stub/2.0.0 + jest-watch-typeahead: registry.npmmirror.com/jest-watch-typeahead/0.4.2 + ts-jest: registry.npmmirror.com/ts-jest/24.3.0_jest@24.9.0 + vue-jest: registry.npmmirror.com/vue-jest/3.0.7_9235beb11cb2cd2c17b886f42402aca4 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + - vue + - vue-template-compiler + dev: true + + registry.npmmirror.com/@vue/cli-plugin-vuex/4.5.15_@vue+cli-service@4.4.4: + resolution: {integrity: sha1-RmwfAnd9Av71Opu0mjbMOjvP7E4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.15.tgz} + id: registry.npmmirror.com/@vue/cli-plugin-vuex/4.5.15 + name: '@vue/cli-plugin-vuex' + version: 4.5.15 + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + dependencies: + '@vue/cli-service': registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f + dev: true + + registry.npmmirror.com/@vue/cli-service/4.4.4_718d40b2aeef08a3cca4d73cd22ce32f: + resolution: {integrity: sha1-JWyZDkmi/43FM7dzxQSmVDXHXEw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-service/download/@vue/cli-service-4.4.4.tgz} + id: registry.npmmirror.com/@vue/cli-service/4.4.4 + name: '@vue/cli-service' + version: 4.4.4 + engines: {node: '>=8'} + hasBin: true + peerDependencies: + less-loader: '*' + pug-plain-loader: '*' + raw-loader: '*' + sass-loader: '*' + stylus-loader: '*' + vue-template-compiler: ^2.0.0 + peerDependenciesMeta: + less-loader: + optional: true + pug-plain-loader: + optional: true + raw-loader: + optional: true + sass-loader: + optional: true + stylus-loader: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@intervolga/optimize-cssnano-plugin': registry.nlark.com/@intervolga/optimize-cssnano-plugin/1.0.6_webpack@4.46.0 + '@soda/friendly-errors-webpack-plugin': registry.nlark.com/@soda/friendly-errors-webpack-plugin/1.8.0_webpack@4.46.0 + '@soda/get-current-script': registry.npmmirror.com/@soda/get-current-script/1.0.2 + '@vue/cli-overlay': registry.npmmirror.com/@vue/cli-overlay/4.5.15 + '@vue/cli-plugin-router': registry.npmmirror.com/@vue/cli-plugin-router/4.5.15_@vue+cli-service@4.4.4 + '@vue/cli-plugin-vuex': registry.npmmirror.com/@vue/cli-plugin-vuex/4.5.15_@vue+cli-service@4.4.4 + '@vue/cli-shared-utils': registry.npmmirror.com/@vue/cli-shared-utils/4.5.15 + '@vue/component-compiler-utils': registry.npmmirror.com/@vue/component-compiler-utils/3.3.0 + '@vue/preload-webpack-plugin': registry.nlark.com/@vue/preload-webpack-plugin/1.1.2_502c618fc8a7d35df07e93275324a2d0 + '@vue/web-component-wrapper': registry.nlark.com/@vue/web-component-wrapper/1.3.0 + acorn: registry.nlark.com/acorn/7.4.1 + acorn-walk: registry.nlark.com/acorn-walk/7.2.0 + address: registry.nlark.com/address/1.1.2 + autoprefixer: registry.npmmirror.com/autoprefixer/9.8.8 + browserslist: registry.npmmirror.com/browserslist/4.17.6 + cache-loader: registry.nlark.com/cache-loader/4.1.0_webpack@4.46.0 + case-sensitive-paths-webpack-plugin: registry.nlark.com/case-sensitive-paths-webpack-plugin/2.4.0 + cli-highlight: registry.npmmirror.com/cli-highlight/2.1.11 + clipboardy: registry.npmmirror.com/clipboardy/2.3.0 + cliui: registry.nlark.com/cliui/6.0.0 + copy-webpack-plugin: registry.npmmirror.com/copy-webpack-plugin/5.1.2_webpack@4.46.0 + css-loader: registry.npmmirror.com/css-loader/3.6.0_webpack@4.46.0 + cssnano: registry.npmmirror.com/cssnano/4.1.11 + debug: registry.npmmirror.com/debug/4.3.2 + default-gateway: registry.npmmirror.com/default-gateway/5.0.5 + dotenv: registry.nlark.com/dotenv/8.6.0 + dotenv-expand: registry.nlark.com/dotenv-expand/5.1.0 + file-loader: registry.nlark.com/file-loader/4.3.0_webpack@4.46.0 + fs-extra: registry.nlark.com/fs-extra/7.0.1 + globby: registry.nlark.com/globby/9.2.0 + hash-sum: registry.nlark.com/hash-sum/2.0.0 + html-webpack-plugin: registry.npmmirror.com/html-webpack-plugin/3.2.0_webpack@4.46.0 + launch-editor-middleware: registry.nlark.com/launch-editor-middleware/2.2.1 + lodash.defaultsdeep: registry.nlark.com/lodash.defaultsdeep/4.6.1 + lodash.mapvalues: registry.nlark.com/lodash.mapvalues/4.6.0 + lodash.transform: registry.nlark.com/lodash.transform/4.6.0 + mini-css-extract-plugin: registry.npmmirror.com/mini-css-extract-plugin/0.9.0_webpack@4.46.0 + minimist: registry.nlark.com/minimist/1.2.5 + pnp-webpack-plugin: registry.npmmirror.com/pnp-webpack-plugin/1.7.0 + portfinder: registry.nlark.com/portfinder/1.0.28 + postcss-loader: registry.npmmirror.com/postcss-loader/3.0.0 + sass-loader: registry.npmmirror.com/sass-loader/8.0.2_sass@1.26.8 + ssri: registry.nlark.com/ssri/7.1.1 + terser-webpack-plugin: registry.npmmirror.com/terser-webpack-plugin/2.3.8_webpack@4.46.0 + thread-loader: registry.nlark.com/thread-loader/2.1.3_webpack@4.46.0 + url-loader: registry.npmmirror.com/url-loader/2.3.0_file-loader@4.3.0+webpack@4.46.0 + vue-loader: registry.npmmirror.com/vue-loader/15.9.8_b8d247df3b20733387738da3a99b0112 + vue-style-loader: registry.nlark.com/vue-style-loader/4.1.3 + vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.6.10 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-bundle-analyzer: registry.npmmirror.com/webpack-bundle-analyzer/3.9.0 + webpack-chain: registry.nlark.com/webpack-chain/6.5.1 + webpack-dev-server: registry.npmmirror.com/webpack-dev-server/3.11.3_webpack@4.46.0 + webpack-merge: registry.nlark.com/webpack-merge/4.2.2 + transitivePeerDependencies: + - supports-color + - typescript + - webpack-cli + - webpack-command + dev: true + + registry.npmmirror.com/@vue/cli-shared-utils/4.5.15: + resolution: {integrity: sha1-26OFgWXb40ZXVfJWpIkOaQhFMtY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.15.tgz} + name: '@vue/cli-shared-utils' + version: 4.5.15 + dependencies: + '@hapi/joi': registry.npmmirror.com/@hapi/joi/15.1.1 + chalk: registry.nlark.com/chalk/2.4.2 + execa: registry.nlark.com/execa/1.0.0 + launch-editor: registry.nlark.com/launch-editor/2.2.1 + lru-cache: registry.nlark.com/lru-cache/5.1.1 + node-ipc: registry.nlark.com/node-ipc/9.2.1 + open: registry.npmmirror.com/open/6.4.0 + ora: registry.nlark.com/ora/3.4.0 + read-pkg: registry.nlark.com/read-pkg/5.2.0 + request: registry.npmmirror.com/request/2.88.2 + semver: registry.nlark.com/semver/6.3.0 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.npmmirror.com/@vue/component-compiler-utils/3.3.0: + resolution: {integrity: sha1-+fX7U0ZLDDeyyNLz+/5E32D2Hck=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.3.0.tgz} + name: '@vue/component-compiler-utils' + version: 3.3.0 + dependencies: + consolidate: registry.nlark.com/consolidate/0.15.1 + hash-sum: registry.nlark.com/hash-sum/1.0.2 + lru-cache: registry.nlark.com/lru-cache/4.1.5 + merge-source-map: registry.nlark.com/merge-source-map/1.1.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + source-map: registry.nlark.com/source-map/0.6.1 + vue-template-es2015-compiler: registry.nlark.com/vue-template-es2015-compiler/1.9.1 + optionalDependencies: + prettier: registry.nlark.com/prettier/2.4.1 + dev: true + + registry.npmmirror.com/@vue/test-utils/1.0.0-beta.29_46af323429f830a6028b5e43b9b2e56c: + resolution: {integrity: sha1-yULPJeiRzwgbagMzK0rh70MHJvA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/test-utils/download/@vue/test-utils-1.0.0-beta.29.tgz} + id: registry.npmmirror.com/@vue/test-utils/1.0.0-beta.29 + name: '@vue/test-utils' + version: 1.0.0-beta.29 + peerDependencies: + vue: 2.x + vue-template-compiler: ^2.x + dependencies: + dom-event-types: registry.npmmirror.com/dom-event-types/1.0.0 + lodash: registry.nlark.com/lodash/4.17.21 + vue: registry.npmmirror.com/vue/2.6.10 + vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.6.10 + dev: true + + registry.npmmirror.com/@webassemblyjs/ast/1.9.0: + resolution: {integrity: sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz} + name: '@webassemblyjs/ast' + version: 1.9.0 + dependencies: + '@webassemblyjs/helper-module-context': registry.nlark.com/@webassemblyjs/helper-module-context/1.9.0 + '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0 + '@webassemblyjs/wast-parser': registry.npmmirror.com/@webassemblyjs/wast-parser/1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/helper-api-error/1.9.0: + resolution: {integrity: sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz} + name: '@webassemblyjs/helper-api-error' + version: 1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/helper-buffer/1.9.0: + resolution: {integrity: sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz} + name: '@webassemblyjs/helper-buffer' + version: 1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/helper-code-frame/1.9.0: + resolution: {integrity: sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz} + name: '@webassemblyjs/helper-code-frame' + version: 1.9.0 + dependencies: + '@webassemblyjs/wast-printer': registry.npmmirror.com/@webassemblyjs/wast-printer/1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0: + resolution: {integrity: sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz} + name: '@webassemblyjs/helper-wasm-bytecode' + version: 1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/helper-wasm-section/1.9.0: + resolution: {integrity: sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz} + name: '@webassemblyjs/helper-wasm-section' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.9.0 + '@webassemblyjs/helper-wasm-bytecode': registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/1.9.0 + '@webassemblyjs/wasm-gen': registry.nlark.com/@webassemblyjs/wasm-gen/1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/ieee754/1.9.0: + resolution: {integrity: sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz} + name: '@webassemblyjs/ieee754' + version: 1.9.0 + dependencies: + '@xtuc/ieee754': registry.nlark.com/@xtuc/ieee754/1.2.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/leb128/1.9.0: + resolution: {integrity: sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz} + name: '@webassemblyjs/leb128' + version: 1.9.0 + dependencies: + '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 + dev: true + + registry.npmmirror.com/@webassemblyjs/wasm-opt/1.9.0: + resolution: {integrity: sha1-IhEYHlsxMmRDzIES658LkChyGmE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz} + name: '@webassemblyjs/wasm-opt' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-buffer': registry.npmmirror.com/@webassemblyjs/helper-buffer/1.9.0 + '@webassemblyjs/wasm-gen': registry.nlark.com/@webassemblyjs/wasm-gen/1.9.0 + '@webassemblyjs/wasm-parser': registry.nlark.com/@webassemblyjs/wasm-parser/1.9.0 + dev: true + + registry.npmmirror.com/@webassemblyjs/wast-parser/1.9.0: + resolution: {integrity: sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz} + name: '@webassemblyjs/wast-parser' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/floating-point-hex-parser': registry.nlark.com/@webassemblyjs/floating-point-hex-parser/1.9.0 + '@webassemblyjs/helper-api-error': registry.npmmirror.com/@webassemblyjs/helper-api-error/1.9.0 + '@webassemblyjs/helper-code-frame': registry.npmmirror.com/@webassemblyjs/helper-code-frame/1.9.0 + '@webassemblyjs/helper-fsm': registry.nlark.com/@webassemblyjs/helper-fsm/1.9.0 + '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 + dev: true + + registry.npmmirror.com/@webassemblyjs/wast-printer/1.9.0: + resolution: {integrity: sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz} + name: '@webassemblyjs/wast-printer' + version: 1.9.0 + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/wast-parser': registry.npmmirror.com/@webassemblyjs/wast-parser/1.9.0 + '@xtuc/long': registry.npmmirror.com/@xtuc/long/4.2.2 + dev: true + + registry.npmmirror.com/@xtuc/long/4.2.2: + resolution: {integrity: sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz} + name: '@xtuc/long' + version: 4.2.2 + dev: true + + registry.npmmirror.com/ajv/6.12.6: + resolution: {integrity: sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz} + name: ajv + version: 6.12.6 + dependencies: + fast-deep-equal: registry.nlark.com/fast-deep-equal/3.1.3 + fast-json-stable-stringify: registry.nlark.com/fast-json-stable-stringify/2.1.0 + json-schema-traverse: registry.nlark.com/json-schema-traverse/0.4.1 + uri-js: registry.nlark.com/uri-js/4.4.1 + dev: true + + registry.npmmirror.com/ansi-html-community/0.0.8: + resolution: {integrity: sha1-afvE1sy+OD+XNpNK40w/gpDxv0E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-html-community/download/ansi-html-community-0.0.8.tgz} + name: ansi-html-community + version: 0.0.8 + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true + + registry.npmmirror.com/asn1.js/5.4.1: + resolution: {integrity: sha1-EamAuE67kXgc41sP3C7ilON4Pwc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asn1.js/download/asn1.js-5.4.1.tgz} + name: asn1.js + version: 5.4.1 + dependencies: + bn.js: registry.nlark.com/bn.js/4.12.0 + inherits: registry.nlark.com/inherits/2.0.4 + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + safer-buffer: registry.nlark.com/safer-buffer/2.1.2 + dev: true + + registry.npmmirror.com/asn1/0.2.6: + resolution: {integrity: sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz} + name: asn1 + version: 0.2.6 + dependencies: + safer-buffer: registry.nlark.com/safer-buffer/2.1.2 + dev: true + + registry.npmmirror.com/async-validator/1.8.5: + resolution: {integrity: sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async-validator/download/async-validator-1.8.5.tgz} + name: async-validator + version: 1.8.5 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + dev: false + + registry.npmmirror.com/async/2.6.3: + resolution: {integrity: sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async/download/async-2.6.3.tgz} + name: async + version: 2.6.3 + dependencies: + lodash: registry.nlark.com/lodash/4.17.21 + + registry.npmmirror.com/async/3.2.2: + resolution: {integrity: sha1-LrdnEDS7IZTUXTDjHiTsfn+WcM0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async/download/async-3.2.2.tgz} + name: async + version: 3.2.2 + dev: false + + registry.npmmirror.com/autoprefixer/9.5.1: + resolution: {integrity: sha1-JDsSZ7Z+fpR/KJGdeGtQ07sPs1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.5.1.tgz} + name: autoprefixer + version: 9.5.1 + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001280 + normalize-range: registry.nlark.com/normalize-range/0.1.2 + num2fraction: registry.nlark.com/num2fraction/1.2.2 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.npmmirror.com/autoprefixer/9.8.8: + resolution: {integrity: sha1-/UvUWVOF+m8GWZ3nSaTV96R0lXo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz} + name: autoprefixer + version: 9.8.8 + hasBin: true + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001280 + normalize-range: registry.nlark.com/normalize-range/0.1.2 + num2fraction: registry.nlark.com/num2fraction/1.2.2 + picocolors: registry.npmmirror.com/picocolors/0.2.1 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/4.1.0 + dev: true + + registry.npmmirror.com/axios/0.24.0: + resolution: {integrity: sha1-gE5voeS5xSiFAd2d/1anoJQNINY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/download/axios-0.24.0.tgz} + name: axios + version: 0.24.0 + dependencies: + follow-redirects: registry.npmmirror.com/follow-redirects/1.14.5 + transitivePeerDependencies: + - debug + dev: false + + registry.npmmirror.com/babel-core/7.0.0-bridge.0_@babel+core@7.16.0: + resolution: {integrity: sha1-laSS3dkPm06aSh2hTrM1uHtjTs4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-core/download/babel-core-7.0.0-bridge.0.tgz} + id: registry.npmmirror.com/babel-core/7.0.0-bridge.0 + name: babel-core + version: 7.0.0-bridge.0 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + dev: true + + registry.npmmirror.com/babel-eslint/10.1.0_eslint@6.7.2: + resolution: {integrity: sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-eslint/download/babel-eslint-10.1.0.tgz} + id: registry.npmmirror.com/babel-eslint/10.1.0 + name: babel-eslint + version: 10.1.0 + engines: {node: '>=6'} + deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. + peerDependencies: + eslint: '>= 4.12.1' + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + eslint: registry.npmmirror.com/eslint/6.7.2 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/1.3.0 + resolve: registry.nlark.com/resolve/1.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-generator/6.26.1: + resolution: {integrity: sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-generator/download/babel-generator-6.26.1.tgz} + name: babel-generator + version: 6.26.1 + dependencies: + babel-messages: registry.npmmirror.com/babel-messages/6.23.0 + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + detect-indent: registry.nlark.com/detect-indent/4.0.0 + jsesc: registry.nlark.com/jsesc/1.3.0 + lodash: registry.nlark.com/lodash/4.17.21 + source-map: registry.nlark.com/source-map/0.5.7 + trim-right: registry.npmmirror.com/trim-right/1.0.1 + dev: true + + registry.npmmirror.com/babel-jest/23.6.0: + resolution: {integrity: sha1-pkQjI2ZVeiJAoMCD2msleGGFovE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-jest/download/babel-jest-23.6.0.tgz} + name: babel-jest + version: 23.6.0 + peerDependencies: + babel-core: ^6.0.0 || ^7.0.0-0 + dependencies: + babel-plugin-istanbul: registry.npmmirror.com/babel-plugin-istanbul/4.1.6 + babel-preset-jest: registry.nlark.com/babel-preset-jest/23.2.0 + dev: true + + registry.npmmirror.com/babel-jest/24.9.0_@babel+core@7.16.0: + resolution: {integrity: sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-jest/download/babel-jest-24.9.0.tgz} + id: registry.npmmirror.com/babel-jest/24.9.0 + name: babel-jest + version: 24.9.0 + engines: {node: '>= 6'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@jest/transform': registry.npmmirror.com/@jest/transform/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + '@types/babel__core': registry.nlark.com/@types/babel__core/7.1.16 + babel-plugin-istanbul: registry.npmmirror.com/babel-plugin-istanbul/5.2.0 + babel-preset-jest: registry.nlark.com/babel-preset-jest/24.9.0_@babel+core@7.16.0 + chalk: registry.nlark.com/chalk/2.4.2 + slash: registry.nlark.com/slash/2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-loader/8.2.3_1bd60a6cd0f7024f034efd75ae733a3f: + resolution: {integrity: sha1-iYa0Dxpkys/LS4QpMgCF72ixNC0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-loader/download/babel-loader-8.2.3.tgz} + id: registry.npmmirror.com/babel-loader/8.2.3 + name: babel-loader + version: 8.2.3 + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + find-cache-dir: registry.nlark.com/find-cache-dir/3.3.2 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + make-dir: registry.nlark.com/make-dir/3.1.0 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/babel-messages/6.23.0: + resolution: {integrity: sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-messages/download/babel-messages-6.23.0.tgz} + name: babel-messages + version: 6.23.0 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + dev: true + + registry.npmmirror.com/babel-plugin-istanbul/4.1.6: + resolution: {integrity: sha1-NsWbIZLvzoHFs3gyG3QXWt0cmkU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-istanbul/download/babel-plugin-istanbul-4.1.6.tgz} + name: babel-plugin-istanbul + version: 4.1.6 + dependencies: + babel-plugin-syntax-object-rest-spread: registry.nlark.com/babel-plugin-syntax-object-rest-spread/6.13.0 + find-up: registry.npmmirror.com/find-up/2.1.0 + istanbul-lib-instrument: registry.npmmirror.com/istanbul-lib-instrument/1.10.2 + test-exclude: registry.nlark.com/test-exclude/4.2.3 + dev: true + + registry.npmmirror.com/babel-plugin-istanbul/5.2.0: + resolution: {integrity: sha1-30reg9iXqS3wacTZolzyZxKTyFQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz} + name: babel-plugin-istanbul + version: 5.2.0 + engines: {node: '>=6'} + dependencies: + '@babel/helper-plugin-utils': registry.nlark.com/@babel/helper-plugin-utils/7.14.5 + find-up: registry.npmmirror.com/find-up/3.0.0 + istanbul-lib-instrument: registry.npmmirror.com/istanbul-lib-instrument/3.3.0 + test-exclude: registry.nlark.com/test-exclude/5.2.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.2.3_@babel+core@7.16.0: + resolution: {integrity: sha1-btjjCYGwYvj+asqIc6N+vMjMHA8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.3.tgz} + id: registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.2.3 + name: babel-plugin-polyfill-corejs2 + version: 0.2.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.16.0 + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.2.4_@babel+core@7.16.0 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.3.0_@babel+core@7.16.0: + resolution: {integrity: sha1-+nyj0e6d3GGTYA/7YyyXhdVJGK8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.3.0.tgz} + id: registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.3.0 + name: babel-plugin-polyfill-corejs3 + version: 0.3.0 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.2.4_@babel+core@7.16.0 + core-js-compat: registry.npmmirror.com/core-js-compat/3.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.2.3_@babel+core@7.16.0: + resolution: {integrity: sha1-LpgI9QJ8QzbJlJkrSKQmJYDLjW0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.3.tgz} + id: registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.2.3 + name: babel-plugin-polyfill-regenerator + version: 0.2.3 + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.2.4_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/babel-plugin-transform-es2015-modules-commonjs/6.26.2: + resolution: {integrity: sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz} + name: babel-plugin-transform-es2015-modules-commonjs + version: 6.26.2 + dependencies: + babel-plugin-transform-strict-mode: registry.npmmirror.com/babel-plugin-transform-strict-mode/6.24.1 + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + babel-template: registry.nlark.com/babel-template/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + dev: true + + registry.npmmirror.com/babel-plugin-transform-strict-mode/6.24.1: + resolution: {integrity: sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz} + name: babel-plugin-transform-strict-mode + version: 6.24.1 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + dev: true + + registry.npmmirror.com/babel-polyfill/6.26.0: + resolution: {integrity: sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-polyfill/download/babel-polyfill-6.26.0.tgz} + name: babel-polyfill + version: 6.26.0 + dependencies: + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + core-js: registry.npmmirror.com/core-js/2.6.12 + regenerator-runtime: registry.nlark.com/regenerator-runtime/0.10.5 + dev: true + + registry.npmmirror.com/babel-traverse/6.26.0: + resolution: {integrity: sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-traverse/download/babel-traverse-6.26.0.tgz} + name: babel-traverse + version: 6.26.0 + dependencies: + babel-code-frame: registry.nlark.com/babel-code-frame/6.26.0 + babel-messages: registry.npmmirror.com/babel-messages/6.23.0 + babel-runtime: registry.nlark.com/babel-runtime/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + babylon: registry.nlark.com/babylon/6.18.0 + debug: registry.npmmirror.com/debug/2.6.9 + globals: registry.npmmirror.com/globals/9.18.0 + invariant: registry.nlark.com/invariant/2.2.4 + lodash: registry.nlark.com/lodash/4.17.21 + dev: true + + registry.npmmirror.com/batch/0.6.1: + resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/batch/download/batch-0.6.1.tgz} + name: batch + version: 0.6.1 + dev: true + + registry.npmmirror.com/browserslist/4.17.6: + resolution: {integrity: sha1-x2vjPneGtJf2bK0lpzdWyLk4mF0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/browserslist/download/browserslist-4.17.6.tgz} + name: browserslist + version: 4.17.6 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001280 + electron-to-chromium: registry.npmmirror.com/electron-to-chromium/1.3.895 + escalade: registry.nlark.com/escalade/3.1.1 + node-releases: registry.npmmirror.com/node-releases/2.0.1 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + dev: true + + registry.npmmirror.com/bs-logger/0.2.6: + resolution: {integrity: sha1-6302UwenLPl0zGzadraDVK0za9g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bs-logger/download/bs-logger-0.2.6.tgz} + name: bs-logger + version: 0.2.6 + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: registry.nlark.com/fast-json-stable-stringify/2.1.0 + dev: true + + registry.npmmirror.com/buffer-json/2.0.0: + resolution: {integrity: sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/buffer-json/download/buffer-json-2.0.0.tgz} + name: buffer-json + version: 2.0.0 + dev: true + + registry.npmmirror.com/builtin-status-codes/3.0.0: + resolution: {integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz} + name: builtin-status-codes + version: 3.0.0 + dev: true + + registry.npmmirror.com/cache-base/1.0.1: + resolution: {integrity: sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz} + name: cache-base + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: registry.nlark.com/collection-visit/1.0.0 + component-emitter: registry.nlark.com/component-emitter/1.3.0 + get-value: registry.nlark.com/get-value/2.0.6 + has-value: registry.nlark.com/has-value/1.0.0 + isobject: registry.nlark.com/isobject/3.0.1 + set-value: registry.nlark.com/set-value/2.0.1 + to-object-path: registry.nlark.com/to-object-path/0.3.0 + union-value: registry.nlark.com/union-value/1.0.1 + unset-value: registry.nlark.com/unset-value/1.0.0 + dev: true + + registry.npmmirror.com/caller-callsite/2.0.0: + resolution: {integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz} + name: caller-callsite + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + callsites: registry.nlark.com/callsites/2.0.0 + dev: true + + registry.npmmirror.com/caller-path/2.0.0: + resolution: {integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz} + name: caller-path + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + caller-callsite: registry.npmmirror.com/caller-callsite/2.0.0 + dev: true + + registry.npmmirror.com/caniuse-lite/1.0.30001280: + resolution: {integrity: sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001280.tgz?cache=0&sync_timestamp=1636700365979&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001280.tgz} + name: caniuse-lite + version: 1.0.30001280 + dev: true + + registry.npmmirror.com/chardet/0.7.0: + resolution: {integrity: sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz} + name: chardet + version: 0.7.0 + dev: true + + registry.npmmirror.com/chokidar/2.1.8: + resolution: {integrity: sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz} + name: chokidar + version: 2.1.8 + deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. + dependencies: + anymatch: registry.nlark.com/anymatch/2.0.0 + async-each: registry.nlark.com/async-each/1.0.3 + braces: registry.nlark.com/braces/2.3.2 + glob-parent: registry.npmmirror.com/glob-parent/3.1.0 + inherits: registry.nlark.com/inherits/2.0.4 + is-binary-path: registry.nlark.com/is-binary-path/1.0.1 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + normalize-path: registry.nlark.com/normalize-path/3.0.0 + path-is-absolute: registry.nlark.com/path-is-absolute/1.0.1 + readdirp: registry.nlark.com/readdirp/2.2.1 + upath: registry.nlark.com/upath/1.2.0 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/1.2.13 + dev: true + + registry.npmmirror.com/chokidar/3.5.2: + resolution: {integrity: sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz} + name: chokidar + version: 3.5.2 + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: registry.nlark.com/anymatch/3.1.2 + braces: registry.nlark.com/braces/3.0.2 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + is-binary-path: registry.nlark.com/is-binary-path/2.1.0 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + normalize-path: registry.nlark.com/normalize-path/3.0.0 + readdirp: registry.nlark.com/readdirp/3.6.0 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/clean-css/4.2.4: + resolution: {integrity: sha1-czv0brpOYHxokepXwkqYk1aDEXg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clean-css/download/clean-css-4.2.4.tgz} + name: clean-css + version: 4.2.4 + engines: {node: '>= 4.0'} + dependencies: + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.npmmirror.com/cli-highlight/2.1.11: + resolution: {integrity: sha1-SXNvpFLwqvT65YDjCssmgo0twb8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-highlight/download/cli-highlight-2.1.11.tgz} + name: cli-highlight + version: 2.1.11 + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: registry.nlark.com/chalk/4.1.2 + highlight.js: registry.npmmirror.com/highlight.js/10.7.3 + mz: registry.npmmirror.com/mz/2.7.0 + parse5: registry.nlark.com/parse5/5.1.1 + parse5-htmlparser2-tree-adapter: registry.nlark.com/parse5-htmlparser2-tree-adapter/6.0.1 + yargs: registry.npmmirror.com/yargs/16.2.0 + dev: true + + registry.npmmirror.com/cli-spinners/2.6.1: + resolution: {integrity: sha1-rclU6+KBw3pjGb+kAebdJIj/tw0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-spinners/download/cli-spinners-2.6.1.tgz} + name: cli-spinners + version: 2.6.1 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/clipboardy/2.3.0: + resolution: {integrity: sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clipboardy/download/clipboardy-2.3.0.tgz} + name: clipboardy + version: 2.3.0 + engines: {node: '>=8'} + dependencies: + arch: registry.nlark.com/arch/2.2.0 + execa: registry.nlark.com/execa/1.0.0 + is-wsl: registry.nlark.com/is-wsl/2.2.0 + dev: true + + registry.npmmirror.com/coa/2.0.2: + resolution: {integrity: sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/coa/download/coa-2.0.2.tgz} + name: coa + version: 2.0.2 + engines: {node: '>= 4.0'} + dependencies: + '@types/q': registry.nlark.com/@types/q/1.5.5 + chalk: registry.nlark.com/chalk/2.4.2 + q: registry.nlark.com/q/1.5.1 + dev: true + + registry.npmmirror.com/commander/2.17.1: + resolution: {integrity: sha1-vXerfebelCBc6sxy8XFtKfIKd78=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/download/commander-2.17.1.tgz} + name: commander + version: 2.17.1 + dev: true + + registry.npmmirror.com/commander/2.19.0: + resolution: {integrity: sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/download/commander-2.19.0.tgz} + name: commander + version: 2.19.0 + dev: true + + registry.npmmirror.com/commander/2.20.3: + resolution: {integrity: sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz} + name: commander + version: 2.20.3 + dev: true + + registry.npmmirror.com/commander/8.3.0: + resolution: {integrity: sha1-SDfqGy2me5xhamevuw+v7lZ7ymY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/download/commander-8.3.0.tgz} + name: commander + version: 8.3.0 + engines: {node: '>= 12'} + dev: true + + registry.npmmirror.com/condense-newlines/0.2.1: + resolution: {integrity: sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/condense-newlines/download/condense-newlines-0.2.1.tgz} + name: condense-newlines + version: 0.2.1 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + is-whitespace: registry.nlark.com/is-whitespace/0.3.0 + kind-of: registry.nlark.com/kind-of/3.2.2 + dev: true + + registry.npmmirror.com/content-disposition/0.5.3: + resolution: {integrity: sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/content-disposition/download/content-disposition-0.5.3.tgz} + name: content-disposition + version: 0.5.3 + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: registry.nlark.com/safe-buffer/5.1.2 + dev: true + + registry.npmmirror.com/cookie-signature/1.0.6: + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cookie-signature/download/cookie-signature-1.0.6.tgz} + name: cookie-signature + version: 1.0.6 + dev: true + + registry.npmmirror.com/copy-webpack-plugin/5.1.2_webpack@4.46.0: + resolution: {integrity: sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz} + id: registry.npmmirror.com/copy-webpack-plugin/5.1.2 + name: copy-webpack-plugin + version: 5.1.2 + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + cacache: registry.nlark.com/cacache/12.0.4 + find-cache-dir: registry.nlark.com/find-cache-dir/2.1.0 + glob-parent: registry.npmmirror.com/glob-parent/3.1.0 + globby: registry.nlark.com/globby/7.1.1 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + minimatch: registry.nlark.com/minimatch/3.0.4 + normalize-path: registry.nlark.com/normalize-path/3.0.0 + p-limit: registry.nlark.com/p-limit/2.3.0 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + serialize-javascript: registry.nlark.com/serialize-javascript/4.0.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-log: registry.nlark.com/webpack-log/2.0.0 + dev: true + + registry.npmmirror.com/core-js-compat/3.19.1: + resolution: {integrity: sha1-/lmPGpvzcxDXfDgTlo6ffHu5lHY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.19.1.tgz} + name: core-js-compat + version: 3.19.1 + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + semver: registry.nlark.com/semver/7.0.0 + dev: true + + registry.npmmirror.com/core-js/2.6.12: + resolution: {integrity: sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz} + name: core-js + version: 2.6.12 + deprecated: core-js@<3.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. Please, upgrade your dependencies to the actual version of core-js. + requiresBuild: true + + registry.npmmirror.com/core-js/3.6.5: + resolution: {integrity: sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-js/download/core-js-3.6.5.tgz} + name: core-js + version: 3.6.5 + requiresBuild: true + dev: true + + registry.npmmirror.com/css-loader/3.6.0_webpack@4.46.0: + resolution: {integrity: sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-loader/download/css-loader-3.6.0.tgz} + id: registry.npmmirror.com/css-loader/3.6.0 + name: css-loader + version: 3.6.0 + engines: {node: '>= 8.9.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + camelcase: registry.nlark.com/camelcase/5.3.1 + cssesc: registry.nlark.com/cssesc/3.0.0 + icss-utils: registry.nlark.com/icss-utils/4.1.1 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + normalize-path: registry.nlark.com/normalize-path/3.0.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-modules-extract-imports: registry.nlark.com/postcss-modules-extract-imports/2.0.0 + postcss-modules-local-by-default: registry.nlark.com/postcss-modules-local-by-default/3.0.3 + postcss-modules-scope: registry.nlark.com/postcss-modules-scope/2.2.0 + postcss-modules-values: registry.nlark.com/postcss-modules-values/3.0.0 + postcss-value-parser: registry.nlark.com/postcss-value-parser/4.1.0 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + semver: registry.nlark.com/semver/6.3.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/css-url-regex/1.1.0: + resolution: {integrity: sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-url-regex/download/css-url-regex-1.1.0.tgz} + name: css-url-regex + version: 1.1.0 + dev: true + + registry.npmmirror.com/css-what/3.4.2: + resolution: {integrity: sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-what/download/css-what-3.4.2.tgz} + name: css-what + version: 3.4.2 + engines: {node: '>= 6'} + dev: true + + registry.npmmirror.com/css-what/5.1.0: + resolution: {integrity: sha1-P3tweq32M7r2LCzrhXm1RbtA9/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz} + name: css-what + version: 5.1.0 + engines: {node: '>= 6'} + dev: true + + registry.npmmirror.com/cssnano-preset-default/4.0.8: + resolution: {integrity: sha1-kgYisfwelaNOiDggPxOXpQTy0/8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz} + name: cssnano-preset-default + version: 4.0.8 + engines: {node: '>=6.9.0'} + dependencies: + css-declaration-sorter: registry.nlark.com/css-declaration-sorter/4.0.1 + cssnano-util-raw-cache: registry.nlark.com/cssnano-util-raw-cache/4.0.1 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-calc: registry.nlark.com/postcss-calc/7.0.5 + postcss-colormin: registry.npmmirror.com/postcss-colormin/4.0.3 + postcss-convert-values: registry.npmmirror.com/postcss-convert-values/4.0.1 + postcss-discard-comments: registry.nlark.com/postcss-discard-comments/4.0.2 + postcss-discard-duplicates: registry.nlark.com/postcss-discard-duplicates/4.0.2 + postcss-discard-empty: registry.nlark.com/postcss-discard-empty/4.0.1 + postcss-discard-overridden: registry.nlark.com/postcss-discard-overridden/4.0.1 + postcss-merge-longhand: registry.npmmirror.com/postcss-merge-longhand/4.0.11 + postcss-merge-rules: registry.nlark.com/postcss-merge-rules/4.0.3 + postcss-minify-font-values: registry.nlark.com/postcss-minify-font-values/4.0.2 + postcss-minify-gradients: registry.npmmirror.com/postcss-minify-gradients/4.0.2 + postcss-minify-params: registry.nlark.com/postcss-minify-params/4.0.2 + postcss-minify-selectors: registry.nlark.com/postcss-minify-selectors/4.0.2 + postcss-normalize-charset: registry.nlark.com/postcss-normalize-charset/4.0.1 + postcss-normalize-display-values: registry.nlark.com/postcss-normalize-display-values/4.0.2 + postcss-normalize-positions: registry.nlark.com/postcss-normalize-positions/4.0.2 + postcss-normalize-repeat-style: registry.nlark.com/postcss-normalize-repeat-style/4.0.2 + postcss-normalize-string: registry.nlark.com/postcss-normalize-string/4.0.2 + postcss-normalize-timing-functions: registry.nlark.com/postcss-normalize-timing-functions/4.0.2 + postcss-normalize-unicode: registry.nlark.com/postcss-normalize-unicode/4.0.1 + postcss-normalize-url: registry.nlark.com/postcss-normalize-url/4.0.1 + postcss-normalize-whitespace: registry.nlark.com/postcss-normalize-whitespace/4.0.2 + postcss-ordered-values: registry.nlark.com/postcss-ordered-values/4.1.2 + postcss-reduce-initial: registry.nlark.com/postcss-reduce-initial/4.0.3 + postcss-reduce-transforms: registry.nlark.com/postcss-reduce-transforms/4.0.2 + postcss-svgo: registry.npmmirror.com/postcss-svgo/4.0.3 + postcss-unique-selectors: registry.nlark.com/postcss-unique-selectors/4.0.1 + dev: true + + registry.npmmirror.com/cssnano/4.1.11: + resolution: {integrity: sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cssnano/download/cssnano-4.1.11.tgz} + name: cssnano + version: 4.1.11 + engines: {node: '>=6.9.0'} + dependencies: + cosmiconfig: registry.nlark.com/cosmiconfig/5.2.1 + cssnano-preset-default: registry.npmmirror.com/cssnano-preset-default/4.0.8 + is-resolvable: registry.nlark.com/is-resolvable/1.1.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + dev: true + + registry.npmmirror.com/data-urls/1.1.0: + resolution: {integrity: sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/data-urls/download/data-urls-1.1.0.tgz} + name: data-urls + version: 1.1.0 + dependencies: + abab: registry.nlark.com/abab/2.0.5 + whatwg-mimetype: registry.nlark.com/whatwg-mimetype/2.3.0 + whatwg-url: registry.npmmirror.com/whatwg-url/7.1.0 + dev: true + + registry.npmmirror.com/deasync/0.1.24: + resolution: {integrity: sha512-i98vg42xNfRZCymummMAN0rIcQ1gZFinSe3btvPIvy6JFTaeHcumeKybRo2HTv86nasfmT0nEgAn2ggLZhOCVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deasync/download/deasync-0.1.24.tgz} + name: deasync + version: 0.1.24 + engines: {node: '>=0.11.0'} + requiresBuild: true + dependencies: + bindings: registry.nlark.com/bindings/1.5.0 + node-addon-api: registry.npmmirror.com/node-addon-api/1.7.2 + dev: true + + registry.npmmirror.com/debug/2.6.9: + resolution: {integrity: sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz} + name: debug + version: 2.6.9 + dependencies: + ms: registry.npmmirror.com/ms/2.0.0 + dev: true + + registry.npmmirror.com/debug/3.2.7: + resolution: {integrity: sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz} + name: debug + version: 3.2.7 + dependencies: + ms: registry.npmmirror.com/ms/2.1.3 + + registry.npmmirror.com/debug/4.3.2: + resolution: {integrity: sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/download/debug-4.3.2.tgz} + name: debug + version: 4.3.2 + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: registry.npmmirror.com/ms/2.1.2 + dev: true + + registry.npmmirror.com/debug/4.3.2_supports-color@6.1.0: + resolution: {integrity: sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/download/debug-4.3.2.tgz} + id: registry.npmmirror.com/debug/4.3.2 + name: debug + version: 4.3.2 + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: registry.npmmirror.com/ms/2.1.2 + supports-color: registry.nlark.com/supports-color/6.1.0 + dev: true + + registry.npmmirror.com/decamelize/1.2.0: + resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz} + name: decamelize + version: 1.2.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/default-gateway/4.2.0: + resolution: {integrity: sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz} + name: default-gateway + version: 4.2.0 + engines: {node: '>=6'} + dependencies: + execa: registry.nlark.com/execa/1.0.0 + ip-regex: registry.nlark.com/ip-regex/2.1.0 + dev: true + + registry.npmmirror.com/default-gateway/5.0.5: + resolution: {integrity: sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/default-gateway/download/default-gateway-5.0.5.tgz} + name: default-gateway + version: 5.0.5 + engines: {node: ^8.12.0 || >=9.7.0} + dependencies: + execa: registry.nlark.com/execa/3.4.0 + dev: true + + registry.npmmirror.com/des.js/1.0.1: + resolution: {integrity: sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/des.js/download/des.js-1.0.1.tgz} + name: des.js + version: 1.0.1 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + minimalistic-assert: registry.nlark.com/minimalistic-assert/1.0.1 + dev: true + + registry.npmmirror.com/detect-newline/2.1.0: + resolution: {integrity: sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/detect-newline/download/detect-newline-2.1.0.tgz} + name: detect-newline + version: 2.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/dom-event-types/1.0.0: + resolution: {integrity: sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dom-event-types/download/dom-event-types-1.0.0.tgz} + name: dom-event-types + version: 1.0.0 + dev: true + + registry.npmmirror.com/domexception/1.0.1: + resolution: {integrity: sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domexception/download/domexception-1.0.1.tgz} + name: domexception + version: 1.0.1 + dependencies: + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + dev: true + + registry.npmmirror.com/domready/1.0.8: + resolution: {integrity: sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domready/download/domready-1.0.8.tgz} + name: domready + version: 1.0.8 + dev: true + + registry.npmmirror.com/editorconfig/0.15.3: + resolution: {integrity: sha1-vvhMTnX7jcsM5c7o79UcFZmb78U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/editorconfig/download/editorconfig-0.15.3.tgz} + name: editorconfig + version: 0.15.3 + hasBin: true + dependencies: + commander: registry.npmmirror.com/commander/2.20.3 + lru-cache: registry.nlark.com/lru-cache/4.1.5 + semver: registry.nlark.com/semver/5.7.1 + sigmund: registry.nlark.com/sigmund/1.0.1 + dev: true + + registry.npmmirror.com/ejs/2.7.4: + resolution: {integrity: sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ejs/download/ejs-2.7.4.tgz} + name: ejs + version: 2.7.4 + engines: {node: '>=0.10.0'} + requiresBuild: true + + registry.npmmirror.com/electron-to-chromium/1.3.895: + resolution: {integrity: sha512-9Ww3fB8CWctjqHwkOt7DQbMZMpal2x2reod+/lU4b9axO1XJEDUpPMBxs7YnjLhhqpKXIIB5SRYN/B4K0QpvyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.895.tgz} + name: electron-to-chromium + version: 1.3.895 + dev: true + + registry.npmmirror.com/element-ui/2.13.2_vue@2.6.10: + resolution: {integrity: sha1-WCv0eqqqr+I+oZWPriF6aHrQZEc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/element-ui/download/element-ui-2.13.2.tgz} + id: registry.npmmirror.com/element-ui/2.13.2 + name: element-ui + version: 2.13.2 + peerDependencies: + vue: ^2.5.17 + dependencies: + async-validator: registry.npmmirror.com/async-validator/1.8.5 + babel-helper-vue-jsx-merge-props: registry.nlark.com/babel-helper-vue-jsx-merge-props/2.0.3 + deepmerge: registry.nlark.com/deepmerge/1.5.2 + normalize-wheel: registry.nlark.com/normalize-wheel/1.0.1 + resize-observer-polyfill: registry.nlark.com/resize-observer-polyfill/1.5.1 + throttle-debounce: registry.npmmirror.com/throttle-debounce/1.1.0 + vue: registry.npmmirror.com/vue/2.6.10 + dev: false + + registry.npmmirror.com/emoji-regex/7.0.3: + resolution: {integrity: sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz} + name: emoji-regex + version: 7.0.3 + dev: true + + registry.npmmirror.com/emoji-regex/8.0.0: + resolution: {integrity: sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz} + name: emoji-regex + version: 8.0.0 + dev: true + + registry.npmmirror.com/es-abstract/1.19.1: + resolution: {integrity: sha1-1IhXlodpFpWd547aoN9FZicRXsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz} + name: es-abstract + version: 1.19.1 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + es-to-primitive: registry.nlark.com/es-to-primitive/1.2.1 + function-bind: registry.nlark.com/function-bind/1.1.1 + get-intrinsic: registry.nlark.com/get-intrinsic/1.1.1 + get-symbol-description: registry.nlark.com/get-symbol-description/1.0.0 + has: registry.nlark.com/has/1.0.3 + has-symbols: registry.nlark.com/has-symbols/1.0.2 + internal-slot: registry.nlark.com/internal-slot/1.0.3 + is-callable: registry.nlark.com/is-callable/1.2.4 + is-negative-zero: registry.nlark.com/is-negative-zero/2.0.1 + is-regex: registry.nlark.com/is-regex/1.1.4 + is-shared-array-buffer: registry.npmmirror.com/is-shared-array-buffer/1.0.1 + is-string: registry.nlark.com/is-string/1.0.7 + is-weakref: registry.npmmirror.com/is-weakref/1.0.1 + object-inspect: registry.nlark.com/object-inspect/1.11.0 + object-keys: registry.nlark.com/object-keys/1.1.1 + object.assign: registry.nlark.com/object.assign/4.1.2 + string.prototype.trimend: registry.nlark.com/string.prototype.trimend/1.0.4 + string.prototype.trimstart: registry.nlark.com/string.prototype.trimstart/1.0.4 + unbox-primitive: registry.nlark.com/unbox-primitive/1.0.1 + dev: true + + registry.npmmirror.com/eslint-loader/2.2.1_eslint@6.7.2+webpack@4.46.0: + resolution: {integrity: sha1-KLnBLaVAV68IReKmEScBova/gzc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-loader/download/eslint-loader-2.2.1.tgz} + id: registry.npmmirror.com/eslint-loader/2.2.1 + name: eslint-loader + version: 2.2.1 + deprecated: This loader has been deprecated. Please use eslint-webpack-plugin + peerDependencies: + eslint: '>=1.6.0 <7.0.0' + webpack: '>=2.0.0 <5.0.0' + dependencies: + eslint: registry.npmmirror.com/eslint/6.7.2 + loader-fs-cache: registry.nlark.com/loader-fs-cache/1.0.3 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + object-assign: registry.nlark.com/object-assign/4.1.1 + object-hash: registry.nlark.com/object-hash/1.3.1 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/eslint-plugin-vue/6.2.2_eslint@6.7.2: + resolution: {integrity: sha1-J/7NmjokeJsPER7N1UCp5WGY4P4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz} + id: registry.npmmirror.com/eslint-plugin-vue/6.2.2 + name: eslint-plugin-vue + version: 6.2.2 + engines: {node: '>=8.10'} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 + dependencies: + eslint: registry.npmmirror.com/eslint/6.7.2 + natural-compare: registry.nlark.com/natural-compare/1.4.0 + semver: registry.nlark.com/semver/5.7.1 + vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/7.11.0_eslint@6.7.2 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/eslint-visitor-keys/1.3.0: + resolution: {integrity: sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz} + name: eslint-visitor-keys + version: 1.3.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/eslint/6.7.2: + resolution: {integrity: sha1-wXcHykrXstivmGoz/rpx4Yqf7NE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint/download/eslint-6.7.2.tgz} + name: eslint + version: 6.7.2 + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + hasBin: true + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + ajv: registry.npmmirror.com/ajv/6.12.6 + chalk: registry.nlark.com/chalk/2.4.2 + cross-spawn: registry.nlark.com/cross-spawn/6.0.5 + debug: registry.npmmirror.com/debug/4.3.2 + doctrine: registry.nlark.com/doctrine/3.0.0 + eslint-scope: registry.nlark.com/eslint-scope/5.1.1 + eslint-utils: registry.nlark.com/eslint-utils/1.4.3 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/1.3.0 + espree: registry.nlark.com/espree/6.2.1 + esquery: registry.nlark.com/esquery/1.4.0 + esutils: registry.nlark.com/esutils/2.0.3 + file-entry-cache: registry.nlark.com/file-entry-cache/5.0.1 + functional-red-black-tree: registry.npmmirror.com/functional-red-black-tree/1.0.1 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + globals: registry.npmmirror.com/globals/12.4.0 + ignore: registry.npmmirror.com/ignore/4.0.6 + import-fresh: registry.nlark.com/import-fresh/3.3.0 + imurmurhash: registry.nlark.com/imurmurhash/0.1.4 + inquirer: registry.npmmirror.com/inquirer/7.3.3 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + js-yaml: registry.nlark.com/js-yaml/3.14.1 + json-stable-stringify-without-jsonify: registry.nlark.com/json-stable-stringify-without-jsonify/1.0.1 + levn: registry.nlark.com/levn/0.3.0 + lodash: registry.nlark.com/lodash/4.17.21 + minimatch: registry.nlark.com/minimatch/3.0.4 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + natural-compare: registry.nlark.com/natural-compare/1.4.0 + optionator: registry.nlark.com/optionator/0.8.3 + progress: registry.nlark.com/progress/2.0.3 + regexpp: registry.nlark.com/regexpp/2.0.1 + semver: registry.nlark.com/semver/6.3.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 + table: registry.npmmirror.com/table/5.4.6 + text-table: registry.nlark.com/text-table/0.2.0 + v8-compile-cache: registry.nlark.com/v8-compile-cache/2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/estraverse/4.3.0: + resolution: {integrity: sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz} + name: estraverse + version: 4.3.0 + engines: {node: '>=4.0'} + dev: true + + registry.npmmirror.com/estraverse/5.3.0: + resolution: {integrity: sha1-LupSkHAvJquP5TcDcP+GyWXSESM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz} + name: estraverse + version: 5.3.0 + engines: {node: '>=4.0'} + dev: true + + registry.npmmirror.com/event-pubsub/4.3.0: + resolution: {integrity: sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/event-pubsub/download/event-pubsub-4.3.0.tgz} + name: event-pubsub + version: 4.3.0 + engines: {node: '>=4.0.0'} + dev: true + + registry.npmmirror.com/events/3.3.0: + resolution: {integrity: sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/events/download/events-3.3.0.tgz} + name: events + version: 3.3.0 + engines: {node: '>=0.8.x'} + dev: true + + registry.npmmirror.com/expect/24.9.0: + resolution: {integrity: sha1-t1FltIFwdPpKFXeU9G/p8boVtso=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/expect/download/expect-24.9.0.tgz} + name: expect + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + jest-matcher-utils: registry.npmmirror.com/jest-matcher-utils/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + dev: true + + registry.npmmirror.com/extract-from-css/0.4.4: + resolution: {integrity: sha1-HqffLnx8brmSL6COitrqSG9vj5I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/extract-from-css/download/extract-from-css-0.4.4.tgz} + name: extract-from-css + version: 0.4.4 + engines: {node: '>=0.10.0', npm: '>=2.0.0'} + dependencies: + css: registry.nlark.com/css/2.2.4 + dev: true + + registry.npmmirror.com/extsprintf/1.3.0: + resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz} + name: extsprintf + version: 1.3.0 + engines: {'0': node >=0.6.0} + dev: true + + registry.npmmirror.com/filesize/3.6.1: + resolution: {integrity: sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/filesize/download/filesize-3.6.1.tgz} + name: filesize + version: 3.6.1 + engines: {node: '>= 0.4.0'} + dev: true + + registry.npmmirror.com/find-babel-config/1.2.0: + resolution: {integrity: sha1-qbezF+tbmGDNqdVHQKjIM3oig6I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-babel-config/download/find-babel-config-1.2.0.tgz} + name: find-babel-config + version: 1.2.0 + engines: {node: '>=4.0.0'} + dependencies: + json5: registry.nlark.com/json5/0.5.1 + path-exists: registry.nlark.com/path-exists/3.0.0 + dev: true + + registry.npmmirror.com/find-up/1.1.2: + resolution: {integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz} + name: find-up + version: 1.1.2 + engines: {node: '>=0.10.0'} + dependencies: + path-exists: registry.nlark.com/path-exists/2.1.0 + pinkie-promise: registry.nlark.com/pinkie-promise/2.0.1 + dev: true + + registry.npmmirror.com/find-up/2.1.0: + resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz} + name: find-up + version: 2.1.0 + engines: {node: '>=4'} + dependencies: + locate-path: registry.npmmirror.com/locate-path/2.0.0 + dev: true + + registry.npmmirror.com/find-up/3.0.0: + resolution: {integrity: sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz} + name: find-up + version: 3.0.0 + engines: {node: '>=6'} + dependencies: + locate-path: registry.npmmirror.com/locate-path/3.0.0 + dev: true + + registry.npmmirror.com/find-up/4.1.0: + resolution: {integrity: sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz} + name: find-up + version: 4.1.0 + engines: {node: '>=8'} + dependencies: + locate-path: registry.npmmirror.com/locate-path/5.0.0 + path-exists: registry.nlark.com/path-exists/4.0.0 + dev: true + + registry.npmmirror.com/flatted/2.0.2: + resolution: {integrity: sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz} + name: flatted + version: 2.0.2 + dev: true + + registry.npmmirror.com/follow-redirects/1.14.5: + resolution: {integrity: sha1-8JpYSJgdPHcrU5Iwl3hSP42Fw4E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.5.tgz} + name: follow-redirects + version: 1.14.5 + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + registry.npmmirror.com/fresh/0.5.2: + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fresh/download/fresh-0.5.2.tgz} + name: fresh + version: 0.5.2 + engines: {node: '>= 0.6'} + dev: true + + registry.npmmirror.com/fs-write-stream-atomic/1.0.10: + resolution: {integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz} + name: fs-write-stream-atomic + version: 1.0.10 + dependencies: + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + iferr: registry.nlark.com/iferr/0.1.5 + imurmurhash: registry.nlark.com/imurmurhash/0.1.4 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + dev: true + + registry.npmmirror.com/fsevents/1.2.13: + resolution: {integrity: sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz} + name: fsevents + version: 1.2.13 + engines: {node: '>= 4.0'} + os: [darwin] + deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. + requiresBuild: true + dependencies: + bindings: registry.nlark.com/bindings/1.5.0 + nan: registry.nlark.com/nan/2.15.0 + dev: true + optional: true + + registry.npmmirror.com/fsevents/2.3.2: + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz} + name: fsevents + version: 2.3.2 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/functional-red-black-tree/1.0.1: + resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz} + name: functional-red-black-tree + version: 1.0.1 + dev: true + + registry.npmmirror.com/glob-parent/2.0.0: + resolution: {integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/download/glob-parent-2.0.0.tgz} + name: glob-parent + version: 2.0.0 + dependencies: + is-glob: registry.npmmirror.com/is-glob/2.0.1 + dev: true + + registry.npmmirror.com/glob-parent/3.1.0: + resolution: {integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz} + name: glob-parent + version: 3.1.0 + dependencies: + is-glob: registry.npmmirror.com/is-glob/3.1.0 + path-dirname: registry.nlark.com/path-dirname/1.0.2 + dev: true + + registry.npmmirror.com/glob-parent/5.1.2: + resolution: {integrity: sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz} + name: glob-parent + version: 5.1.2 + engines: {node: '>= 6'} + dependencies: + is-glob: registry.npmmirror.com/is-glob/4.0.3 + dev: true + + registry.npmmirror.com/glob/7.2.0: + resolution: {integrity: sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz?cache=0&sync_timestamp=1636422993768&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob%2Fdownload%2Fglob-7.2.0.tgz} + name: glob + version: 7.2.0 + dependencies: + fs.realpath: registry.nlark.com/fs.realpath/1.0.0 + inflight: registry.nlark.com/inflight/1.0.6 + inherits: registry.nlark.com/inherits/2.0.4 + minimatch: registry.nlark.com/minimatch/3.0.4 + once: registry.nlark.com/once/1.4.0 + path-is-absolute: registry.nlark.com/path-is-absolute/1.0.1 + + registry.npmmirror.com/globals/11.12.0: + resolution: {integrity: sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz} + name: globals + version: 11.12.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/globals/12.4.0: + resolution: {integrity: sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/download/globals-12.4.0.tgz} + name: globals + version: 12.4.0 + engines: {node: '>=8'} + dependencies: + type-fest: registry.npmmirror.com/type-fest/0.8.1 + dev: true + + registry.npmmirror.com/globals/9.18.0: + resolution: {integrity: sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/download/globals-9.18.0.tgz} + name: globals + version: 9.18.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/graceful-fs/4.2.8: + resolution: {integrity: sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz} + name: graceful-fs + version: 4.2.8 + dev: true + + registry.npmmirror.com/har-validator/5.1.5: + resolution: {integrity: sha1-HwgDufjLIMD6E4It8ezds2veHv0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz} + name: har-validator + version: 5.1.5 + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + har-schema: registry.nlark.com/har-schema/2.0.0 + dev: true + + registry.npmmirror.com/highlight.js/10.7.3: + resolution: {integrity: sha1-aXJy45kTVuQMPKxWanTu9oF1ZTE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/highlight.js/download/highlight.js-10.7.3.tgz} + name: highlight.js + version: 10.7.3 + dev: true + + registry.npmmirror.com/hpack.js/2.1.6: + resolution: {integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hpack.js/download/hpack.js-2.1.6.tgz} + name: hpack.js + version: 2.1.6 + dependencies: + inherits: registry.nlark.com/inherits/2.0.4 + obuf: registry.nlark.com/obuf/1.1.2 + readable-stream: registry.nlark.com/readable-stream/2.3.7 + wbuf: registry.nlark.com/wbuf/1.7.3 + dev: true + + registry.npmmirror.com/html-webpack-plugin/3.2.0: + resolution: {integrity: sha1-sBq71yOsqqeze2r0SS69oD2d03s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1635314884190&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz} + name: html-webpack-plugin + version: 3.2.0 + engines: {node: '>=6.9'} + deprecated: 3.x is no longer supported + peerDependencies: + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + html-minifier: registry.nlark.com/html-minifier/3.5.21 + loader-utils: registry.npmmirror.com/loader-utils/0.2.17 + lodash: registry.nlark.com/lodash/4.17.21 + pretty-error: registry.npmmirror.com/pretty-error/2.1.2 + tapable: registry.nlark.com/tapable/1.1.3 + toposort: registry.nlark.com/toposort/1.0.7 + util.promisify: registry.nlark.com/util.promisify/1.0.0 + dev: true + + registry.npmmirror.com/html-webpack-plugin/3.2.0_webpack@4.46.0: + resolution: {integrity: sha1-sBq71yOsqqeze2r0SS69oD2d03s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1635314884190&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz} + id: registry.npmmirror.com/html-webpack-plugin/3.2.0 + name: html-webpack-plugin + version: 3.2.0 + engines: {node: '>=6.9'} + deprecated: 3.x is no longer supported + peerDependencies: + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + html-minifier: registry.nlark.com/html-minifier/3.5.21 + loader-utils: registry.npmmirror.com/loader-utils/0.2.17 + lodash: registry.nlark.com/lodash/4.17.21 + pretty-error: registry.npmmirror.com/pretty-error/2.1.2 + tapable: registry.nlark.com/tapable/1.1.3 + toposort: registry.nlark.com/toposort/1.0.7 + util.promisify: registry.nlark.com/util.promisify/1.0.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/htmlparser2/3.10.1: + resolution: {integrity: sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz} + name: htmlparser2 + version: 3.10.1 + dependencies: + domelementtype: registry.nlark.com/domelementtype/1.3.1 + domhandler: registry.nlark.com/domhandler/2.4.2 + domutils: registry.nlark.com/domutils/1.7.0 + entities: registry.nlark.com/entities/1.1.2 + inherits: registry.nlark.com/inherits/2.0.4 + readable-stream: registry.nlark.com/readable-stream/3.6.0 + dev: true + + registry.npmmirror.com/htmlparser2/6.1.0: + resolution: {integrity: sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/download/htmlparser2-6.1.0.tgz} + name: htmlparser2 + version: 6.1.0 + dependencies: + domelementtype: registry.nlark.com/domelementtype/2.2.0 + domhandler: registry.nlark.com/domhandler/4.2.2 + domutils: registry.nlark.com/domutils/2.8.0 + entities: registry.nlark.com/entities/2.2.0 + dev: true + + registry.npmmirror.com/ignore/3.3.10: + resolution: {integrity: sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/download/ignore-3.3.10.tgz} + name: ignore + version: 3.3.10 + dev: true + + registry.npmmirror.com/ignore/4.0.6: + resolution: {integrity: sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz} + name: ignore + version: 4.0.6 + engines: {node: '>= 4'} + dev: true + + registry.npmmirror.com/import-local/2.0.0: + resolution: {integrity: sha1-VQcL44pZk88Y72236WH1vuXFoJ0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz} + name: import-local + version: 2.0.0 + engines: {node: '>=6'} + hasBin: true + dependencies: + pkg-dir: registry.npmmirror.com/pkg-dir/3.0.0 + resolve-cwd: registry.nlark.com/resolve-cwd/2.0.0 + dev: true + + registry.npmmirror.com/inquirer/7.3.3: + resolution: {integrity: sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inquirer/download/inquirer-7.3.3.tgz} + name: inquirer + version: 7.3.3 + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: registry.nlark.com/ansi-escapes/4.3.2 + chalk: registry.nlark.com/chalk/4.1.2 + cli-cursor: registry.nlark.com/cli-cursor/3.1.0 + cli-width: registry.nlark.com/cli-width/3.0.0 + external-editor: registry.nlark.com/external-editor/3.1.0 + figures: registry.nlark.com/figures/3.2.0 + lodash: registry.nlark.com/lodash/4.17.21 + mute-stream: registry.nlark.com/mute-stream/0.0.8 + run-async: registry.nlark.com/run-async/2.4.1 + rxjs: registry.npmmirror.com/rxjs/6.6.7 + string-width: registry.npmmirror.com/string-width/4.2.3 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + through: registry.nlark.com/through/2.3.8 + dev: true + + registry.npmmirror.com/internal-ip/4.3.0: + resolution: {integrity: sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz} + name: internal-ip + version: 4.3.0 + engines: {node: '>=6'} + dependencies: + default-gateway: registry.npmmirror.com/default-gateway/4.2.0 + ipaddr.js: registry.npmmirror.com/ipaddr.js/1.9.1 + dev: true + + registry.npmmirror.com/ipaddr.js/1.9.1: + resolution: {integrity: sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz} + name: ipaddr.js + version: 1.9.1 + engines: {node: '>= 0.10'} + dev: true + + registry.npmmirror.com/is-ci/1.2.1: + resolution: {integrity: sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-ci/download/is-ci-1.2.1.tgz} + name: is-ci + version: 1.2.1 + hasBin: true + dependencies: + ci-info: registry.nlark.com/ci-info/1.6.0 + dev: true + + registry.npmmirror.com/is-ci/2.0.0: + resolution: {integrity: sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-ci/download/is-ci-2.0.0.tgz} + name: is-ci + version: 2.0.0 + hasBin: true + dependencies: + ci-info: registry.nlark.com/ci-info/2.0.0 + dev: true + + registry.npmmirror.com/is-core-module/2.8.0: + resolution: {integrity: sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz} + name: is-core-module + version: 2.8.0 + dependencies: + has: registry.nlark.com/has/1.0.3 + dev: true + + registry.npmmirror.com/is-finite/1.1.0: + resolution: {integrity: sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-finite/download/is-finite-1.1.0.tgz} + name: is-finite + version: 1.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/is-glob/2.0.1: + resolution: {integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/download/is-glob-2.0.1.tgz} + name: is-glob + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.nlark.com/is-extglob/1.0.0 + dev: true + + registry.npmmirror.com/is-glob/3.1.0: + resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz} + name: is-glob + version: 3.1.0 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.nlark.com/is-extglob/2.1.1 + dev: true + + registry.npmmirror.com/is-glob/4.0.3: + resolution: {integrity: sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz} + name: is-glob + version: 4.0.3 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.nlark.com/is-extglob/2.1.1 + dev: true + + registry.npmmirror.com/is-number-object/1.0.6: + resolution: {integrity: sha1-anqvg4x/BoalC0VT9+VKlklOifA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number-object/download/is-number-object-1.0.6.tgz} + name: is-number-object + version: 1.0.6 + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 + dev: true + + registry.npmmirror.com/is-shared-array-buffer/1.0.1: + resolution: {integrity: sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz} + name: is-shared-array-buffer + version: 1.0.1 + dev: true + + registry.npmmirror.com/is-weakref/1.0.1: + resolution: {integrity: sha1-hC26TsF/qayYUN8tbvvBc3J08qI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.1.tgz} + name: is-weakref + version: 1.0.1 + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + dev: true + + registry.npmmirror.com/istanbul-lib-coverage/1.2.1: + resolution: {integrity: sha1-zPftzQoLubj3Kf7rCTBHD5r2ZPA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-1.2.1.tgz} + name: istanbul-lib-coverage + version: 1.2.1 + dev: true + + registry.npmmirror.com/istanbul-lib-coverage/2.0.5: + resolution: {integrity: sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz} + name: istanbul-lib-coverage + version: 2.0.5 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/istanbul-lib-instrument/1.10.2: + resolution: {integrity: sha1-H1XtEKw8R/K93dUweTUSZ1TQqco=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-1.10.2.tgz} + name: istanbul-lib-instrument + version: 1.10.2 + dependencies: + babel-generator: registry.npmmirror.com/babel-generator/6.26.1 + babel-template: registry.nlark.com/babel-template/6.26.0 + babel-traverse: registry.npmmirror.com/babel-traverse/6.26.0 + babel-types: registry.nlark.com/babel-types/6.26.0 + babylon: registry.nlark.com/babylon/6.18.0 + istanbul-lib-coverage: registry.npmmirror.com/istanbul-lib-coverage/1.2.1 + semver: registry.nlark.com/semver/5.7.1 + dev: true + + registry.npmmirror.com/istanbul-lib-instrument/3.3.0: + resolution: {integrity: sha1-pfY9kfC7wMPkee9MXeAnM17G1jA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz} + name: istanbul-lib-instrument + version: 3.3.0 + engines: {node: '>=6'} + dependencies: + '@babel/generator': registry.npmmirror.com/@babel/generator/7.16.0 + '@babel/parser': registry.npmmirror.com/@babel/parser/7.16.3 + '@babel/template': registry.npmmirror.com/@babel/template/7.16.0 + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + istanbul-lib-coverage: registry.npmmirror.com/istanbul-lib-coverage/2.0.5 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/istanbul-lib-source-maps/3.0.6: + resolution: {integrity: sha1-KEmXxIIRdS7EhiU9qX44ed77qMg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz} + name: istanbul-lib-source-maps + version: 3.0.6 + engines: {node: '>=6'} + dependencies: + debug: registry.npmmirror.com/debug/4.3.2 + istanbul-lib-coverage: registry.npmmirror.com/istanbul-lib-coverage/2.0.5 + make-dir: registry.nlark.com/make-dir/2.1.0 + rimraf: registry.npmmirror.com/rimraf/2.7.1 + source-map: registry.nlark.com/source-map/0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/istanbul-reports/2.2.7: + resolution: {integrity: sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/istanbul-reports/download/istanbul-reports-2.2.7.tgz} + name: istanbul-reports + version: 2.2.7 + engines: {node: '>=6'} + dependencies: + html-escaper: registry.nlark.com/html-escaper/2.0.2 + dev: true + + registry.npmmirror.com/jest-changed-files/24.9.0: + resolution: {integrity: sha1-CNjBXreaf6P8mCabwUtFHugvgDk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-changed-files/download/jest-changed-files-24.9.0.tgz} + name: jest-changed-files + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + execa: registry.nlark.com/execa/1.0.0 + throat: registry.nlark.com/throat/4.1.0 + dev: true + + registry.npmmirror.com/jest-cli/24.9.0: + resolution: {integrity: sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-cli/download/jest-cli-24.9.0.tgz} + name: jest-cli + version: 24.9.0 + engines: {node: '>= 6'} + hasBin: true + dependencies: + '@jest/core': registry.npmmirror.com/@jest/core/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + exit: registry.nlark.com/exit/0.1.2 + import-local: registry.npmmirror.com/import-local/2.0.0 + is-ci: registry.npmmirror.com/is-ci/2.0.0 + jest-config: registry.npmmirror.com/jest-config/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-validate: registry.npmmirror.com/jest-validate/24.9.0 + prompts: registry.npmmirror.com/prompts/2.4.2 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + yargs: registry.npmmirror.com/yargs/13.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-config/24.9.0: + resolution: {integrity: sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-config/download/jest-config-24.9.0.tgz} + name: jest-config + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@babel/core': registry.npmmirror.com/@babel/core/7.16.0 + '@jest/test-sequencer': registry.npmmirror.com/@jest/test-sequencer/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + babel-jest: registry.npmmirror.com/babel-jest/24.9.0_@babel+core@7.16.0 + chalk: registry.nlark.com/chalk/2.4.2 + glob: registry.npmmirror.com/glob/7.2.0 + jest-environment-jsdom: registry.npmmirror.com/jest-environment-jsdom/24.9.0 + jest-environment-node: registry.npmmirror.com/jest-environment-node/24.9.0 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + jest-jasmine2: registry.npmmirror.com/jest-jasmine2/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-validate: registry.npmmirror.com/jest-validate/24.9.0 + micromatch: registry.nlark.com/micromatch/3.1.10 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-diff/24.9.0: + resolution: {integrity: sha1-kxt9DVd4obr3RSy4FuMl43JAVdo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-diff/download/jest-diff-24.9.0.tgz} + name: jest-diff + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + diff-sequences: registry.nlark.com/diff-sequences/24.9.0 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + dev: true + + registry.npmmirror.com/jest-each/24.9.0: + resolution: {integrity: sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-each/download/jest-each-24.9.0.tgz} + name: jest-each + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + dev: true + + registry.npmmirror.com/jest-environment-jsdom-fifteen/1.0.2: + resolution: {integrity: sha1-SaCvVeDTJzemEUoVdd1xRwKtY7A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-environment-jsdom-fifteen/download/jest-environment-jsdom-fifteen-1.0.2.tgz} + name: jest-environment-jsdom-fifteen + version: 1.0.2 + dependencies: + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/fake-timers': registry.npmmirror.com/@jest/fake-timers/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jsdom: registry.npmmirror.com/jsdom/15.2.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + registry.npmmirror.com/jest-environment-jsdom/24.9.0: + resolution: {integrity: sha1-SwgGx/yU+V7bNpppzCd47sK3N1s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz} + name: jest-environment-jsdom + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/fake-timers': registry.npmmirror.com/@jest/fake-timers/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jsdom: registry.npmmirror.com/jsdom/11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-environment-node/24.9.0: + resolution: {integrity: sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-environment-node/download/jest-environment-node-24.9.0.tgz} + name: jest-environment-node + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/fake-timers': registry.npmmirror.com/@jest/fake-timers/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-get-type/24.9.0: + resolution: {integrity: sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-get-type/download/jest-get-type-24.9.0.tgz} + name: jest-get-type + version: 24.9.0 + engines: {node: '>= 6'} + dev: true + + registry.npmmirror.com/jest-haste-map/24.9.0: + resolution: {integrity: sha1-s4pdZCdJNOIfpBeump++t3zqrH0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-haste-map/download/jest-haste-map-24.9.0.tgz} + name: jest-haste-map + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + anymatch: registry.nlark.com/anymatch/2.0.0 + fb-watchman: registry.nlark.com/fb-watchman/2.0.1 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + invariant: registry.nlark.com/invariant/2.2.4 + jest-serializer: registry.nlark.com/jest-serializer/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-worker: registry.npmmirror.com/jest-worker/24.9.0 + micromatch: registry.nlark.com/micromatch/3.1.10 + sane: registry.npmmirror.com/sane/4.1.0 + walker: registry.npmmirror.com/walker/1.0.8 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/1.2.13 + dev: true + + registry.npmmirror.com/jest-jasmine2/24.9.0: + resolution: {integrity: sha1-H3sb0yQsF3TmKsq7NkbZavw75qA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz} + name: jest-jasmine2 + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.16.3 + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + co: registry.nlark.com/co/4.6.0 + expect: registry.npmmirror.com/expect/24.9.0 + is-generator-fn: registry.nlark.com/is-generator-fn/2.1.0 + jest-each: registry.npmmirror.com/jest-each/24.9.0 + jest-matcher-utils: registry.npmmirror.com/jest-matcher-utils/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-runtime: registry.npmmirror.com/jest-runtime/24.9.0 + jest-snapshot: registry.npmmirror.com/jest-snapshot/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + throat: registry.nlark.com/throat/4.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-leak-detector/24.9.0: + resolution: {integrity: sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz} + name: jest-leak-detector + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + dev: true + + registry.npmmirror.com/jest-matcher-utils/24.9.0: + resolution: {integrity: sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz} + name: jest-matcher-utils + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + jest-diff: registry.npmmirror.com/jest-diff/24.9.0 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + dev: true + + registry.npmmirror.com/jest-message-util/24.9.0: + resolution: {integrity: sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-message-util/download/jest-message-util-24.9.0.tgz} + name: jest-message-util + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + '@types/stack-utils': registry.nlark.com/@types/stack-utils/1.0.1 + chalk: registry.nlark.com/chalk/2.4.2 + micromatch: registry.nlark.com/micromatch/3.1.10 + slash: registry.nlark.com/slash/2.0.0 + stack-utils: registry.nlark.com/stack-utils/1.0.5 + dev: true + + registry.npmmirror.com/jest-mock/24.9.0: + resolution: {integrity: sha1-wig1VB7jebkIZzrVEIeiGFwT8cY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-mock/download/jest-mock-24.9.0.tgz} + name: jest-mock + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + dev: true + + registry.npmmirror.com/jest-pnp-resolver/1.2.2_jest-resolve@24.9.0: + resolution: {integrity: sha1-twSsCuAoqJEIpNBAs/kZ393I4zw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz} + id: registry.npmmirror.com/jest-pnp-resolver/1.2.2 + name: jest-pnp-resolver + version: 1.2.2 + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + dev: true + + registry.npmmirror.com/jest-resolve-dependencies/24.9.0: + resolution: {integrity: sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz} + name: jest-resolve-dependencies + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-snapshot: registry.npmmirror.com/jest-snapshot/24.9.0 + dev: true + + registry.npmmirror.com/jest-resolve/24.9.0: + resolution: {integrity: sha1-3/BMdoevNMTdflJIktnPd+XRcyE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-resolve/download/jest-resolve-24.9.0.tgz} + name: jest-resolve + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + browser-resolve: registry.nlark.com/browser-resolve/1.11.3 + chalk: registry.nlark.com/chalk/2.4.2 + jest-pnp-resolver: registry.npmmirror.com/jest-pnp-resolver/1.2.2_jest-resolve@24.9.0 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + dev: true + + registry.npmmirror.com/jest-runner/24.9.0: + resolution: {integrity: sha1-V0+v29VEVcKzS0vfQ2WiOFf830I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-runner/download/jest-runner-24.9.0.tgz} + name: jest-runner + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/console': registry.npmmirror.com/@jest/console/24.9.0 + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + exit: registry.nlark.com/exit/0.1.2 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + jest-config: registry.npmmirror.com/jest-config/24.9.0 + jest-docblock: registry.nlark.com/jest-docblock/24.9.0 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-jasmine2: registry.npmmirror.com/jest-jasmine2/24.9.0 + jest-leak-detector: registry.npmmirror.com/jest-leak-detector/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + jest-runtime: registry.npmmirror.com/jest-runtime/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-worker: registry.npmmirror.com/jest-worker/24.9.0 + source-map-support: registry.nlark.com/source-map-support/0.5.20 + throat: registry.nlark.com/throat/4.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-runtime/24.9.0: + resolution: {integrity: sha1-nxRYOvak9zFKap2fAibhp4HI5Kw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-runtime/download/jest-runtime-24.9.0.tgz} + name: jest-runtime + version: 24.9.0 + engines: {node: '>= 6'} + hasBin: true + dependencies: + '@jest/console': registry.npmmirror.com/@jest/console/24.9.0 + '@jest/environment': registry.npmmirror.com/@jest/environment/24.9.0 + '@jest/source-map': registry.nlark.com/@jest/source-map/24.9.0 + '@jest/transform': registry.npmmirror.com/@jest/transform/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + '@types/yargs': registry.npmmirror.com/@types/yargs/13.0.12 + chalk: registry.nlark.com/chalk/2.4.2 + exit: registry.nlark.com/exit/0.1.2 + glob: registry.npmmirror.com/glob/7.2.0 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + jest-config: registry.npmmirror.com/jest-config/24.9.0 + jest-haste-map: registry.npmmirror.com/jest-haste-map/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-mock: registry.npmmirror.com/jest-mock/24.9.0 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + jest-snapshot: registry.npmmirror.com/jest-snapshot/24.9.0 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + jest-validate: registry.npmmirror.com/jest-validate/24.9.0 + realpath-native: registry.npmmirror.com/realpath-native/1.1.0 + slash: registry.nlark.com/slash/2.0.0 + strip-bom: registry.nlark.com/strip-bom/3.0.0 + yargs: registry.npmmirror.com/yargs/13.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/jest-serializer-vue/2.0.2: + resolution: {integrity: sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-serializer-vue/download/jest-serializer-vue-2.0.2.tgz} + name: jest-serializer-vue + version: 2.0.2 + dependencies: + pretty: registry.npmmirror.com/pretty/2.0.0 + dev: true + + registry.npmmirror.com/jest-snapshot/24.9.0: + resolution: {integrity: sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-snapshot/download/jest-snapshot-24.9.0.tgz} + name: jest-snapshot + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.16.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + chalk: registry.nlark.com/chalk/2.4.2 + expect: registry.npmmirror.com/expect/24.9.0 + jest-diff: registry.npmmirror.com/jest-diff/24.9.0 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + jest-matcher-utils: registry.npmmirror.com/jest-matcher-utils/24.9.0 + jest-message-util: registry.npmmirror.com/jest-message-util/24.9.0 + jest-resolve: registry.npmmirror.com/jest-resolve/24.9.0 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + natural-compare: registry.nlark.com/natural-compare/1.4.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + semver: registry.nlark.com/semver/6.3.0 + dev: true + + registry.npmmirror.com/jest-transform-stub/2.0.0: + resolution: {integrity: sha1-GQGLCFH3VolyFHpdYAdLVfAiWn0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-transform-stub/download/jest-transform-stub-2.0.0.tgz} + name: jest-transform-stub + version: 2.0.0 + dev: true + + registry.npmmirror.com/jest-util/24.9.0: + resolution: {integrity: sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-util/download/jest-util-24.9.0.tgz} + name: jest-util + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/console': registry.npmmirror.com/@jest/console/24.9.0 + '@jest/fake-timers': registry.npmmirror.com/@jest/fake-timers/24.9.0 + '@jest/source-map': registry.nlark.com/@jest/source-map/24.9.0 + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + callsites: registry.nlark.com/callsites/3.1.0 + chalk: registry.nlark.com/chalk/2.4.2 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.8 + is-ci: registry.npmmirror.com/is-ci/2.0.0 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + slash: registry.nlark.com/slash/2.0.0 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.npmmirror.com/jest-validate/24.9.0: + resolution: {integrity: sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-validate/download/jest-validate-24.9.0.tgz} + name: jest-validate + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + camelcase: registry.nlark.com/camelcase/5.3.1 + chalk: registry.nlark.com/chalk/2.4.2 + jest-get-type: registry.npmmirror.com/jest-get-type/24.9.0 + leven: registry.nlark.com/leven/3.1.0 + pretty-format: registry.npmmirror.com/pretty-format/24.9.0 + dev: true + + registry.npmmirror.com/jest-watch-typeahead/0.4.2: + resolution: {integrity: sha1-5b6Vlpin+iMCIppQgsSIw8h4Cko=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-watch-typeahead/download/jest-watch-typeahead-0.4.2.tgz} + name: jest-watch-typeahead + version: 0.4.2 + dependencies: + ansi-escapes: registry.nlark.com/ansi-escapes/4.3.2 + chalk: registry.nlark.com/chalk/2.4.2 + jest-regex-util: registry.nlark.com/jest-regex-util/24.9.0 + jest-watcher: registry.npmmirror.com/jest-watcher/24.9.0 + slash: registry.nlark.com/slash/3.0.0 + string-length: registry.nlark.com/string-length/3.1.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + dev: true + + registry.npmmirror.com/jest-watcher/24.9.0: + resolution: {integrity: sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-watcher/download/jest-watcher-24.9.0.tgz} + name: jest-watcher + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/test-result': registry.npmmirror.com/@jest/test-result/24.9.0 + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + '@types/yargs': registry.npmmirror.com/@types/yargs/13.0.12 + ansi-escapes: registry.nlark.com/ansi-escapes/3.2.0 + chalk: registry.nlark.com/chalk/2.4.2 + jest-util: registry.npmmirror.com/jest-util/24.9.0 + string-length: registry.nlark.com/string-length/2.0.0 + dev: true + + registry.npmmirror.com/jest-worker/24.9.0: + resolution: {integrity: sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-worker/download/jest-worker-24.9.0.tgz} + name: jest-worker + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + merge-stream: registry.nlark.com/merge-stream/2.0.0 + supports-color: registry.nlark.com/supports-color/6.1.0 + dev: true + + registry.npmmirror.com/jest-worker/25.5.0: + resolution: {integrity: sha1-JhHQcbec6g9D7lej0RhZOsFUfbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-worker/download/jest-worker-25.5.0.tgz} + name: jest-worker + version: 25.5.0 + engines: {node: '>= 8.3'} + dependencies: + merge-stream: registry.nlark.com/merge-stream/2.0.0 + supports-color: registry.nlark.com/supports-color/7.2.0 + dev: true + + registry.npmmirror.com/jest/24.9.0: + resolution: {integrity: sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest/download/jest-24.9.0.tgz} + name: jest + version: 24.9.0 + engines: {node: '>= 6'} + hasBin: true + dependencies: + import-local: registry.npmmirror.com/import-local/2.0.0 + jest-cli: registry.npmmirror.com/jest-cli/24.9.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/js-base64/2.6.4: + resolution: {integrity: sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-base64/download/js-base64-2.6.4.tgz} + name: js-base64 + version: 2.6.4 + dev: true + + registry.npmmirror.com/js-beautify/1.14.0: + resolution: {integrity: sha1-LOeQxVXVPOHj1zYyJ6z13GkCTC0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-beautify/download/js-beautify-1.14.0.tgz} + name: js-beautify + version: 1.14.0 + engines: {node: '>=10'} + hasBin: true + dependencies: + config-chain: registry.nlark.com/config-chain/1.1.13 + editorconfig: registry.npmmirror.com/editorconfig/0.15.3 + glob: registry.npmmirror.com/glob/7.2.0 + nopt: registry.nlark.com/nopt/5.0.0 + dev: true + + registry.npmmirror.com/js-queue/2.0.2: + resolution: {integrity: sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-queue/download/js-queue-2.0.2.tgz} + name: js-queue + version: 2.0.2 + engines: {node: '>=1.0.0'} + dependencies: + easy-stack: registry.nlark.com/easy-stack/1.0.1 + dev: true + + registry.npmmirror.com/jsdom/11.12.0: + resolution: {integrity: sha1-GoDUDd03ih3lllbp5txaO6hle8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsdom/download/jsdom-11.12.0.tgz} + name: jsdom + version: 11.12.0 + dependencies: + abab: registry.nlark.com/abab/2.0.5 + acorn: registry.nlark.com/acorn/5.7.4 + acorn-globals: registry.nlark.com/acorn-globals/4.3.4 + array-equal: registry.nlark.com/array-equal/1.0.0 + cssom: registry.nlark.com/cssom/0.3.8 + cssstyle: registry.nlark.com/cssstyle/1.4.0 + data-urls: registry.npmmirror.com/data-urls/1.1.0 + domexception: registry.npmmirror.com/domexception/1.0.1 + escodegen: registry.nlark.com/escodegen/1.14.3 + html-encoding-sniffer: registry.nlark.com/html-encoding-sniffer/1.0.2 + left-pad: registry.npmmirror.com/left-pad/1.3.0 + nwsapi: registry.nlark.com/nwsapi/2.2.0 + parse5: registry.nlark.com/parse5/4.0.0 + pn: registry.nlark.com/pn/1.1.0 + request: registry.npmmirror.com/request/2.88.2 + request-promise-native: registry.npmmirror.com/request-promise-native/1.0.9_request@2.88.2 + sax: registry.nlark.com/sax/1.2.4 + symbol-tree: registry.nlark.com/symbol-tree/3.2.4 + tough-cookie: registry.nlark.com/tough-cookie/2.5.0 + w3c-hr-time: registry.nlark.com/w3c-hr-time/1.0.2 + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + whatwg-encoding: registry.nlark.com/whatwg-encoding/1.0.5 + whatwg-mimetype: registry.nlark.com/whatwg-mimetype/2.3.0 + whatwg-url: registry.npmmirror.com/whatwg-url/6.5.0 + ws: registry.npmmirror.com/ws/5.2.3 + xml-name-validator: registry.nlark.com/xml-name-validator/3.0.0 + dev: true + + registry.npmmirror.com/jsdom/15.2.1: + resolution: {integrity: sha1-0v6xrvcYP4a+UhuMaDP/UpbQfsU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsdom/download/jsdom-15.2.1.tgz} + name: jsdom + version: 15.2.1 + engines: {node: '>=8'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: registry.nlark.com/abab/2.0.5 + acorn: registry.nlark.com/acorn/7.4.1 + acorn-globals: registry.nlark.com/acorn-globals/4.3.4 + array-equal: registry.nlark.com/array-equal/1.0.0 + cssom: registry.nlark.com/cssom/0.4.4 + cssstyle: registry.nlark.com/cssstyle/2.3.0 + data-urls: registry.npmmirror.com/data-urls/1.1.0 + domexception: registry.npmmirror.com/domexception/1.0.1 + escodegen: registry.nlark.com/escodegen/1.14.3 + html-encoding-sniffer: registry.nlark.com/html-encoding-sniffer/1.0.2 + nwsapi: registry.nlark.com/nwsapi/2.2.0 + parse5: registry.nlark.com/parse5/5.1.0 + pn: registry.nlark.com/pn/1.1.0 + request: registry.npmmirror.com/request/2.88.2 + request-promise-native: registry.npmmirror.com/request-promise-native/1.0.9_request@2.88.2 + saxes: registry.npmmirror.com/saxes/3.1.11 + symbol-tree: registry.nlark.com/symbol-tree/3.2.4 + tough-cookie: registry.nlark.com/tough-cookie/3.0.1 + w3c-hr-time: registry.nlark.com/w3c-hr-time/1.0.2 + w3c-xmlserializer: registry.nlark.com/w3c-xmlserializer/1.1.2 + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + whatwg-encoding: registry.nlark.com/whatwg-encoding/1.0.5 + whatwg-mimetype: registry.nlark.com/whatwg-mimetype/2.3.0 + whatwg-url: registry.npmmirror.com/whatwg-url/7.1.0 + ws: registry.npmmirror.com/ws/7.5.5 + xml-name-validator: registry.nlark.com/xml-name-validator/3.0.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + registry.npmmirror.com/json-schema/0.2.3: + resolution: {integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1636424740652&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz} + name: json-schema + version: 0.2.3 + dev: true + + registry.npmmirror.com/json3/3.3.3: + resolution: {integrity: sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz} + name: json3 + version: 3.3.3 + dev: true + + registry.npmmirror.com/jsprim/1.4.1: + resolution: {integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsprim/download/jsprim-1.4.1.tgz} + name: jsprim + version: 1.4.1 + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: registry.nlark.com/assert-plus/1.0.0 + extsprintf: registry.npmmirror.com/extsprintf/1.3.0 + json-schema: registry.npmmirror.com/json-schema/0.2.3 + verror: registry.npmmirror.com/verror/1.10.0 + dev: true + + registry.npmmirror.com/left-pad/1.3.0: + resolution: {integrity: sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/left-pad/download/left-pad-1.3.0.tgz} + name: left-pad + version: 1.3.0 + deprecated: use String.prototype.padStart() + dev: true + + registry.npmmirror.com/loader-utils/0.2.17: + resolution: {integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1636697509282&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz} + name: loader-utils + version: 0.2.17 + dependencies: + big.js: registry.nlark.com/big.js/3.2.0 + emojis-list: registry.nlark.com/emojis-list/2.1.0 + json5: registry.nlark.com/json5/0.5.1 + object-assign: registry.nlark.com/object-assign/4.1.1 + dev: true + + registry.npmmirror.com/loader-utils/1.4.0: + resolution: {integrity: sha1-xXm140yzSxp07cbB+za/o3HVphM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1636697509282&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz} + name: loader-utils + version: 1.4.0 + engines: {node: '>=4.0.0'} + dependencies: + big.js: registry.nlark.com/big.js/5.2.2 + emojis-list: registry.nlark.com/emojis-list/3.0.0 + json5: registry.nlark.com/json5/1.0.1 + dev: true + + registry.npmmirror.com/loader-utils/2.0.2: + resolution: {integrity: sha1-1uO0+4GHByGuTghoqxHdY4NowSk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.2.tgz?cache=0&sync_timestamp=1636697509282&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.2.tgz} + name: loader-utils + version: 2.0.2 + engines: {node: '>=8.9.0'} + dependencies: + big.js: registry.nlark.com/big.js/5.2.2 + emojis-list: registry.nlark.com/emojis-list/3.0.0 + json5: registry.nlark.com/json5/2.2.0 + dev: false + + registry.npmmirror.com/locate-path/2.0.0: + resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/download/locate-path-2.0.0.tgz} + name: locate-path + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + p-locate: registry.nlark.com/p-locate/2.0.0 + path-exists: registry.nlark.com/path-exists/3.0.0 + dev: true + + registry.npmmirror.com/locate-path/3.0.0: + resolution: {integrity: sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/download/locate-path-3.0.0.tgz} + name: locate-path + version: 3.0.0 + engines: {node: '>=6'} + dependencies: + p-locate: registry.nlark.com/p-locate/3.0.0 + path-exists: registry.nlark.com/path-exists/3.0.0 + dev: true + + registry.npmmirror.com/locate-path/5.0.0: + resolution: {integrity: sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/locate-path/download/locate-path-5.0.0.tgz} + name: locate-path + version: 5.0.0 + engines: {node: '>=8'} + dependencies: + p-locate: registry.nlark.com/p-locate/4.1.0 + dev: true + + registry.npmmirror.com/lodash.kebabcase/4.1.1: + resolution: {integrity: sha1-hImxyw0p/4gZXM7KRI/21swpXDY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz} + name: lodash.kebabcase + version: 4.1.1 + dev: true + + registry.npmmirror.com/lodash.padend/4.6.1: + resolution: {integrity: sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.padend/download/lodash.padend-4.6.1.tgz} + name: lodash.padend + version: 4.6.1 + dev: true + + registry.npmmirror.com/make-error/1.3.6: + resolution: {integrity: sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-error/download/make-error-1.3.6.tgz} + name: make-error + version: 1.3.6 + dev: true + + registry.npmmirror.com/makeerror/1.0.12: + resolution: {integrity: sha1-Pl3SB5qC6BLpg8xmEMSiyw6qgBo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/makeerror/download/makeerror-1.0.12.tgz} + name: makeerror + version: 1.0.12 + dependencies: + tmpl: registry.nlark.com/tmpl/1.0.5 + dev: true + + registry.npmmirror.com/media-typer/0.3.0: + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/media-typer/download/media-typer-0.3.0.tgz} + name: media-typer + version: 0.3.0 + engines: {node: '>= 0.6'} + dev: true + + registry.npmmirror.com/merge-descriptors/1.0.1: + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz} + name: merge-descriptors + version: 1.0.1 + dev: true + + registry.npmmirror.com/microargs/1.1.0: + resolution: {integrity: sha1-XsPNi9dzf1fUhVlBMZM+qUMJ+1k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/microargs/download/microargs-1.1.0.tgz} + name: microargs + version: 1.1.0 + engines: {node: '>=6.11.1'} + dev: true + + registry.npmmirror.com/microcli/1.3.1: + resolution: {integrity: sha1-bkm3GlRb55Fqh7nt07rmjMhdZ8w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/microcli/download/microcli-1.3.1.tgz} + name: microcli + version: 1.3.1 + engines: {node: '>=6.11.1'} + dependencies: + lodash: registry.nlark.com/lodash/4.17.4 + microargs: registry.npmmirror.com/microargs/1.1.0 + dev: true + + registry.npmmirror.com/mime-db/1.51.0: + resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz} + name: mime-db + version: 1.51.0 + engines: {node: '>= 0.6'} + dev: true + + registry.npmmirror.com/mime-types/2.1.34: + resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636433581808&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz} + name: mime-types + version: 2.1.34 + engines: {node: '>= 0.6'} + dependencies: + mime-db: registry.npmmirror.com/mime-db/1.51.0 + dev: true + + registry.npmmirror.com/mime/1.4.1: + resolution: {integrity: sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/download/mime-1.4.1.tgz} + name: mime + version: 1.4.1 + hasBin: true + dev: true + + registry.npmmirror.com/mime/1.6.0: + resolution: {integrity: sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz} + name: mime + version: 1.6.0 + engines: {node: '>=4'} + hasBin: true + dev: true + + registry.npmmirror.com/mime/2.6.0: + resolution: {integrity: sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz} + name: mime + version: 2.6.0 + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + registry.npmmirror.com/mini-css-extract-plugin/0.9.0_webpack@4.46.0: + resolution: {integrity: sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1636034430405&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz} + id: registry.npmmirror.com/mini-css-extract-plugin/0.9.0 + name: mini-css-extract-plugin + version: 0.9.0 + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.4.0 + dependencies: + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + normalize-url: registry.nlark.com/normalize-url/1.9.1 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-sources: registry.nlark.com/webpack-sources/1.4.3 + dev: true + + registry.npmmirror.com/minipass-collect/1.0.2: + resolution: {integrity: sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minipass-collect/download/minipass-collect-1.0.2.tgz} + name: minipass-collect + version: 1.0.2 + engines: {node: '>= 8'} + dependencies: + minipass: registry.nlark.com/minipass/3.1.5 + dev: true + + registry.npmmirror.com/minipass-flush/1.0.5: + resolution: {integrity: sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minipass-flush/download/minipass-flush-1.0.5.tgz} + name: minipass-flush + version: 1.0.5 + engines: {node: '>= 8'} + dependencies: + minipass: registry.nlark.com/minipass/3.1.5 + dev: true + + registry.npmmirror.com/minipass-pipeline/1.2.4: + resolution: {integrity: sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz} + name: minipass-pipeline + version: 1.2.4 + engines: {node: '>=8'} + dependencies: + minipass: registry.nlark.com/minipass/3.1.5 + dev: true + + registry.npmmirror.com/mitt/1.1.2: + resolution: {integrity: sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mitt/download/mitt-1.1.2.tgz} + name: mitt + version: 1.1.2 + dev: true + + registry.npmmirror.com/mkdirp/0.5.5: + resolution: {integrity: sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz} + name: mkdirp + version: 0.5.5 + hasBin: true + dependencies: + minimist: registry.nlark.com/minimist/1.2.5 + + registry.npmmirror.com/ms/2.0.0: + resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz} + name: ms + version: 2.0.0 + dev: true + + registry.npmmirror.com/ms/2.1.1: + resolution: {integrity: sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz} + name: ms + version: 2.1.1 + dev: true + + registry.npmmirror.com/ms/2.1.2: + resolution: {integrity: sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz} + name: ms + version: 2.1.2 + dev: true + + registry.npmmirror.com/ms/2.1.3: + resolution: {integrity: sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz} + name: ms + version: 2.1.3 + + registry.npmmirror.com/multicast-dns/6.2.3: + resolution: {integrity: sha1-oOx72QVcQoL3kMPIL04o2zsxsik=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz} + name: multicast-dns + version: 6.2.3 + hasBin: true + dependencies: + dns-packet: registry.nlark.com/dns-packet/1.3.4 + thunky: registry.nlark.com/thunky/1.1.0 + dev: true + + registry.npmmirror.com/mz/2.7.0: + resolution: {integrity: sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mz/download/mz-2.7.0.tgz} + name: mz + version: 2.7.0 + dependencies: + any-promise: registry.nlark.com/any-promise/1.3.0 + object-assign: registry.nlark.com/object-assign/4.1.1 + thenify-all: registry.npmmirror.com/thenify-all/1.6.0 + dev: true + + registry.npmmirror.com/nanoid/3.1.30: + resolution: {integrity: sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz} + name: nanoid + version: 3.1.30 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + registry.npmmirror.com/negotiator/0.6.2: + resolution: {integrity: sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/download/negotiator-0.6.2.tgz} + name: negotiator + version: 0.6.2 + engines: {node: '>= 0.6'} + dev: true + + registry.npmmirror.com/node-addon-api/1.7.2: + resolution: {integrity: sha1-PfMLlXILU8JOWZSLSVMrZiRE9U0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-addon-api/download/node-addon-api-1.7.2.tgz} + name: node-addon-api + version: 1.7.2 + dev: true + + registry.npmmirror.com/node-cache/4.2.1: + resolution: {integrity: sha1-79hHTe5O3sQTjN3tWA9VFlAPczQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-cache/download/node-cache-4.2.1.tgz} + name: node-cache + version: 4.2.1 + engines: {node: '>= 0.4.6'} + dependencies: + clone: registry.nlark.com/clone/2.1.2 + lodash: registry.nlark.com/lodash/4.17.21 + dev: true + + registry.npmmirror.com/node-releases/2.0.1: + resolution: {integrity: sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz} + name: node-releases + version: 2.0.1 + dev: true + + registry.npmmirror.com/npm-run-path/2.0.2: + resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz} + name: npm-run-path + version: 2.0.2 + engines: {node: '>=4'} + dependencies: + path-key: registry.nlark.com/path-key/2.0.1 + dev: true + + registry.npmmirror.com/npm-run-path/4.0.1: + resolution: {integrity: sha1-t+zR5e1T2o43pV4cImnguX7XSOo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz} + name: npm-run-path + version: 4.0.1 + engines: {node: '>=8'} + dependencies: + path-key: registry.nlark.com/path-key/3.1.1 + dev: true + + registry.npmmirror.com/nprogress/0.2.0: + resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nprogress/download/nprogress-0.2.0.tgz} + name: nprogress + version: 0.2.0 + dev: false + + registry.npmmirror.com/object.getownpropertydescriptors/2.1.3: + resolution: {integrity: sha1-siPPOOF/77l6Y8EMkd9yzLOG354=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.3.tgz} + name: object.getownpropertydescriptors + version: 2.1.3 + engines: {node: '>= 0.8'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + es-abstract: registry.npmmirror.com/es-abstract/1.19.1 + dev: true + + registry.npmmirror.com/object.values/1.1.5: + resolution: {integrity: sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz} + name: object.values + version: 1.1.5 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + es-abstract: registry.npmmirror.com/es-abstract/1.19.1 + dev: true + + registry.npmmirror.com/omelette/0.4.5: + resolution: {integrity: sha1-8WvEd7fiY7WXlqZWYZZOR2LprnQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/omelette/download/omelette-0.4.5.tgz} + name: omelette + version: 0.4.5 + engines: {node: '>=0.8.0'} + dev: true + + registry.npmmirror.com/open/6.4.0: + resolution: {integrity: sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/open/download/open-6.4.0.tgz} + name: open + version: 6.4.0 + engines: {node: '>=8'} + dependencies: + is-wsl: registry.nlark.com/is-wsl/1.1.0 + dev: true + + registry.npmmirror.com/opn/5.5.0: + resolution: {integrity: sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz} + name: opn + version: 5.5.0 + engines: {node: '>=4'} + dependencies: + is-wsl: registry.nlark.com/is-wsl/1.1.0 + dev: true + + registry.npmmirror.com/p-map/2.1.0: + resolution: {integrity: sha1-MQko/u+cnsxltosXaTAYpmXOoXU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz} + name: p-map + version: 2.1.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/p-map/3.0.0: + resolution: {integrity: sha1-1wTZr4orpoTiYA2aIVmD1BQal50=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-map/download/p-map-3.0.0.tgz} + name: p-map + version: 3.0.0 + engines: {node: '>=8'} + dependencies: + aggregate-error: registry.nlark.com/aggregate-error/3.1.0 + dev: true + + registry.npmmirror.com/p-retry/3.0.1: + resolution: {integrity: sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz} + name: p-retry + version: 3.0.1 + engines: {node: '>=6'} + dependencies: + retry: registry.nlark.com/retry/0.12.0 + dev: true + + registry.npmmirror.com/p-try/1.0.0: + resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz} + name: p-try + version: 1.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/p-try/2.2.0: + resolution: {integrity: sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz} + name: p-try + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/parent-module/1.0.1: + resolution: {integrity: sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz} + name: parent-module + version: 1.0.1 + engines: {node: '>=6'} + dependencies: + callsites: registry.nlark.com/callsites/3.1.0 + dev: true + + registry.npmmirror.com/parse-json/2.2.0: + resolution: {integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz} + name: parse-json + version: 2.2.0 + engines: {node: '>=0.10.0'} + dependencies: + error-ex: registry.nlark.com/error-ex/1.3.2 + dev: true + + registry.npmmirror.com/parse-json/4.0.0: + resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz} + name: parse-json + version: 4.0.0 + engines: {node: '>=4'} + dependencies: + error-ex: registry.nlark.com/error-ex/1.3.2 + json-parse-better-errors: registry.nlark.com/json-parse-better-errors/1.0.2 + dev: true + + registry.npmmirror.com/parse-json/5.2.0: + resolution: {integrity: sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz} + name: parse-json + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.0 + error-ex: registry.nlark.com/error-ex/1.3.2 + json-parse-even-better-errors: registry.nlark.com/json-parse-even-better-errors/2.3.1 + lines-and-columns: registry.nlark.com/lines-and-columns/1.1.6 + dev: true + + registry.npmmirror.com/path-is-inside/1.0.2: + resolution: {integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-inside/download/path-is-inside-1.0.2.tgz} + name: path-is-inside + version: 1.0.2 + dev: true + + registry.npmmirror.com/picocolors/0.2.1: + resolution: {integrity: sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-0.2.1.tgz} + name: picocolors + version: 0.2.1 + dev: true + + registry.npmmirror.com/picocolors/1.0.0: + resolution: {integrity: sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz} + name: picocolors + version: 1.0.0 + dev: true + + registry.npmmirror.com/pkg-dir/1.0.0: + resolution: {integrity: sha1-ektQio1bstYp1EcFb/TpyTFM89Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pkg-dir/download/pkg-dir-1.0.0.tgz} + name: pkg-dir + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + find-up: registry.npmmirror.com/find-up/1.1.2 + dev: true + + registry.npmmirror.com/pkg-dir/3.0.0: + resolution: {integrity: sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz} + name: pkg-dir + version: 3.0.0 + engines: {node: '>=6'} + dependencies: + find-up: registry.npmmirror.com/find-up/3.0.0 + dev: true + + registry.npmmirror.com/pkg-dir/4.2.0: + resolution: {integrity: sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz} + name: pkg-dir + version: 4.2.0 + engines: {node: '>=8'} + dependencies: + find-up: registry.npmmirror.com/find-up/4.1.0 + dev: true + + registry.npmmirror.com/pnp-webpack-plugin/1.7.0: + resolution: {integrity: sha1-ZXQThPbYBW824iVajWf/wghm9ck=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pnp-webpack-plugin/download/pnp-webpack-plugin-1.7.0.tgz} + name: pnp-webpack-plugin + version: 1.7.0 + engines: {node: '>=6'} + dependencies: + ts-pnp: registry.npmmirror.com/ts-pnp/1.2.0 + transitivePeerDependencies: + - typescript + dev: true + + registry.npmmirror.com/postcss-colormin/4.0.3: + resolution: {integrity: sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz} + name: postcss-colormin + version: 4.0.3 + engines: {node: '>=6.9.0'} + dependencies: + browserslist: registry.npmmirror.com/browserslist/4.17.6 + color: registry.nlark.com/color/3.2.1 + has: registry.nlark.com/has/1.0.3 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.npmmirror.com/postcss-convert-values/4.0.1: + resolution: {integrity: sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz} + name: postcss-convert-values + version: 4.0.1 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.npmmirror.com/postcss-load-config/2.1.2: + resolution: {integrity: sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz} + name: postcss-load-config + version: 2.1.2 + engines: {node: '>= 4'} + dependencies: + cosmiconfig: registry.nlark.com/cosmiconfig/5.2.1 + import-cwd: registry.nlark.com/import-cwd/2.1.0 + dev: true + + registry.npmmirror.com/postcss-loader/3.0.0: + resolution: {integrity: sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-loader/download/postcss-loader-3.0.0.tgz?cache=0&sync_timestamp=1634209341378&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-loader%2Fdownload%2Fpostcss-loader-3.0.0.tgz} + name: postcss-loader + version: 3.0.0 + engines: {node: '>= 6'} + dependencies: + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-load-config: registry.npmmirror.com/postcss-load-config/2.1.2 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + dev: true + + registry.npmmirror.com/postcss-merge-longhand/4.0.11: + resolution: {integrity: sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz} + name: postcss-merge-longhand + version: 4.0.11 + engines: {node: '>=6.9.0'} + dependencies: + css-color-names: registry.nlark.com/css-color-names/0.0.4 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + stylehacks: registry.nlark.com/stylehacks/4.0.3 + dev: true + + registry.npmmirror.com/postcss-minify-gradients/4.0.2: + resolution: {integrity: sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz} + name: postcss-minify-gradients + version: 4.0.2 + engines: {node: '>=6.9.0'} + dependencies: + cssnano-util-get-arguments: registry.nlark.com/cssnano-util-get-arguments/4.0.0 + is-color-stop: registry.nlark.com/is-color-stop/1.1.0 + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + dev: true + + registry.npmmirror.com/postcss-prefix-selector/1.13.0: + resolution: {integrity: sha1-E2w+uEjtrO2QQXuxA4PeVsB1V/Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-prefix-selector/download/postcss-prefix-selector-1.13.0.tgz} + name: postcss-prefix-selector + version: 1.13.0 + dependencies: + postcss: registry.npmmirror.com/postcss/8.3.11 + dev: true + + registry.npmmirror.com/postcss-svgo/4.0.3: + resolution: {integrity: sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz} + name: postcss-svgo + version: 4.0.3 + engines: {node: '>=6.9.0'} + dependencies: + postcss: registry.npmmirror.com/postcss/7.0.39 + postcss-value-parser: registry.nlark.com/postcss-value-parser/3.3.1 + svgo: registry.npmmirror.com/svgo/1.2.2 + dev: true + + registry.npmmirror.com/postcss/5.2.18: + resolution: {integrity: sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/download/postcss-5.2.18.tgz} + name: postcss + version: 5.2.18 + engines: {node: '>=0.12'} + dependencies: + chalk: registry.nlark.com/chalk/1.1.3 + js-base64: registry.npmmirror.com/js-base64/2.6.4 + source-map: registry.nlark.com/source-map/0.5.7 + supports-color: registry.nlark.com/supports-color/3.2.3 + dev: true + + registry.npmmirror.com/postcss/7.0.39: + resolution: {integrity: sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz} + name: postcss + version: 7.0.39 + engines: {node: '>=6.0.0'} + dependencies: + picocolors: registry.npmmirror.com/picocolors/0.2.1 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.npmmirror.com/postcss/8.3.11: + resolution: {integrity: sha1-w77KfqgRzV4cSj7G0udZnvH4+Fg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/download/postcss-8.3.11.tgz} + name: postcss + version: 8.3.11 + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: registry.npmmirror.com/nanoid/3.1.30 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + source-map-js: registry.npmmirror.com/source-map-js/0.6.2 + dev: true + + registry.npmmirror.com/posthtml-parser/0.2.1: + resolution: {integrity: sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/posthtml-parser/download/posthtml-parser-0.2.1.tgz} + name: posthtml-parser + version: 0.2.1 + dependencies: + htmlparser2: registry.npmmirror.com/htmlparser2/3.10.1 + isobject: registry.nlark.com/isobject/2.1.0 + dev: true + + registry.npmmirror.com/posthtml-rename-id/1.0.12: + resolution: {integrity: sha1-z39us3FGvxr6wx5o8YxswZrmFDM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/posthtml-rename-id/download/posthtml-rename-id-1.0.12.tgz} + name: posthtml-rename-id + version: 1.0.12 + dependencies: + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + dev: true + + registry.npmmirror.com/posthtml-render/1.4.0: + resolution: {integrity: sha1-QBFAcMRYgcrLkzR9rj7/U6+8/xM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/posthtml-render/download/posthtml-render-1.4.0.tgz} + name: posthtml-render + version: 1.4.0 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/posthtml-svg-mode/1.0.3: + resolution: {integrity: sha1-q9VU+s6BIjyrDLNn4Y5O/SpOdLA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/posthtml-svg-mode/download/posthtml-svg-mode-1.0.3.tgz} + name: posthtml-svg-mode + version: 1.0.3 + dependencies: + merge-options: registry.nlark.com/merge-options/1.0.1 + posthtml: registry.nlark.com/posthtml/0.9.2 + posthtml-parser: registry.npmmirror.com/posthtml-parser/0.2.1 + posthtml-render: registry.npmmirror.com/posthtml-render/1.4.0 + dev: true + + registry.npmmirror.com/pretty-error/2.1.2: + resolution: {integrity: sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-error/download/pretty-error-2.1.2.tgz} + name: pretty-error + version: 2.1.2 + dependencies: + lodash: registry.nlark.com/lodash/4.17.21 + renderkid: registry.npmmirror.com/renderkid/2.0.7 + dev: true + + registry.npmmirror.com/pretty-format/24.9.0: + resolution: {integrity: sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-format/download/pretty-format-24.9.0.tgz} + name: pretty-format + version: 24.9.0 + engines: {node: '>= 6'} + dependencies: + '@jest/types': registry.npmmirror.com/@jest/types/24.9.0 + ansi-regex: registry.nlark.com/ansi-regex/4.1.0 + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + react-is: registry.npmmirror.com/react-is/16.13.1 + dev: true + + registry.npmmirror.com/pretty/2.0.0: + resolution: {integrity: sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty/download/pretty-2.0.0.tgz} + name: pretty + version: 2.0.0 + engines: {node: '>=0.10.0'} + dependencies: + condense-newlines: registry.npmmirror.com/condense-newlines/0.2.1 + extend-shallow: registry.nlark.com/extend-shallow/2.0.1 + js-beautify: registry.npmmirror.com/js-beautify/1.14.0 + dev: true + + registry.npmmirror.com/prompts/2.4.2: + resolution: {integrity: sha1-e1fnOzpIAprRDr1E90sBcipMsGk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prompts/download/prompts-2.4.2.tgz} + name: prompts + version: 2.4.2 + engines: {node: '>= 6'} + dependencies: + kleur: registry.nlark.com/kleur/3.0.3 + sisteransi: registry.nlark.com/sisteransi/1.0.5 + dev: true + + registry.npmmirror.com/querystring/0.2.0: + resolution: {integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz} + name: querystring + version: 0.2.0 + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + dev: true + + registry.npmmirror.com/raw-body/2.4.0: + resolution: {integrity: sha1-oc5vucm8NWylLoklarWQWeE9AzI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/raw-body/download/raw-body-2.4.0.tgz} + name: raw-body + version: 2.4.0 + engines: {node: '>= 0.8'} + dependencies: + bytes: registry.nlark.com/bytes/3.1.0 + http-errors: registry.nlark.com/http-errors/1.7.2 + iconv-lite: registry.nlark.com/iconv-lite/0.4.24 + unpipe: registry.nlark.com/unpipe/1.0.0 + dev: true + + registry.npmmirror.com/react-is/16.13.1: + resolution: {integrity: sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz} + name: react-is + version: 16.13.1 + dev: true + + registry.npmmirror.com/read-pkg-up/1.0.1: + resolution: {integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz} + name: read-pkg-up + version: 1.0.1 + engines: {node: '>=0.10.0'} + dependencies: + find-up: registry.npmmirror.com/find-up/1.1.2 + read-pkg: registry.nlark.com/read-pkg/1.1.0 + dev: true + + registry.npmmirror.com/read-pkg-up/4.0.0: + resolution: {integrity: sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-4.0.0.tgz} + name: read-pkg-up + version: 4.0.0 + engines: {node: '>=6'} + dependencies: + find-up: registry.npmmirror.com/find-up/3.0.0 + read-pkg: registry.nlark.com/read-pkg/3.0.0 + dev: true + + registry.npmmirror.com/realpath-native/1.1.0: + resolution: {integrity: sha1-IAMpT+oj+wZy8kduviL89Jii1lw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/realpath-native/download/realpath-native-1.1.0.tgz} + name: realpath-native + version: 1.1.0 + engines: {node: '>=4'} + dependencies: + util.promisify: registry.nlark.com/util.promisify/1.1.1 + dev: true + + registry.npmmirror.com/regjsgen/0.5.2: + resolution: {integrity: sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz} + name: regjsgen + version: 0.5.2 + dev: true + + registry.npmmirror.com/renderkid/2.0.7: + resolution: {integrity: sha1-Rk8namvc7mBvShWZP5sp/HTKhgk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/renderkid/download/renderkid-2.0.7.tgz} + name: renderkid + version: 2.0.7 + dependencies: + css-select: registry.nlark.com/css-select/4.1.3 + dom-converter: registry.nlark.com/dom-converter/0.2.0 + htmlparser2: registry.npmmirror.com/htmlparser2/6.1.0 + lodash: registry.nlark.com/lodash/4.17.21 + strip-ansi: registry.npmmirror.com/strip-ansi/3.0.1 + dev: true + + registry.npmmirror.com/request-promise-core/1.1.4_request@2.88.2: + resolution: {integrity: sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/request-promise-core/download/request-promise-core-1.1.4.tgz} + id: registry.npmmirror.com/request-promise-core/1.1.4 + name: request-promise-core + version: 1.1.4 + engines: {node: '>=0.10.0'} + peerDependencies: + request: ^2.34 + dependencies: + lodash: registry.nlark.com/lodash/4.17.21 + request: registry.npmmirror.com/request/2.88.2 + dev: true + + registry.npmmirror.com/request-promise-native/1.0.9_request@2.88.2: + resolution: {integrity: sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/request-promise-native/download/request-promise-native-1.0.9.tgz} + id: registry.npmmirror.com/request-promise-native/1.0.9 + name: request-promise-native + version: 1.0.9 + engines: {node: '>=0.12.0'} + deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 + peerDependencies: + request: ^2.34 + dependencies: + request: registry.npmmirror.com/request/2.88.2 + request-promise-core: registry.npmmirror.com/request-promise-core/1.1.4_request@2.88.2 + stealthy-require: registry.nlark.com/stealthy-require/1.1.1 + tough-cookie: registry.nlark.com/tough-cookie/2.5.0 + dev: true + + registry.npmmirror.com/request/2.88.2: + resolution: {integrity: sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/request/download/request-2.88.2.tgz} + name: request + version: 2.88.2 + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: registry.nlark.com/aws-sign2/0.7.0 + aws4: registry.nlark.com/aws4/1.11.0 + caseless: registry.nlark.com/caseless/0.12.0 + combined-stream: registry.nlark.com/combined-stream/1.0.8 + extend: registry.nlark.com/extend/3.0.2 + forever-agent: registry.nlark.com/forever-agent/0.6.1 + form-data: registry.nlark.com/form-data/2.3.3 + har-validator: registry.npmmirror.com/har-validator/5.1.5 + http-signature: registry.nlark.com/http-signature/1.2.0 + is-typedarray: registry.nlark.com/is-typedarray/1.0.0 + isstream: registry.nlark.com/isstream/0.1.2 + json-stringify-safe: registry.nlark.com/json-stringify-safe/5.0.1 + mime-types: registry.npmmirror.com/mime-types/2.1.34 + oauth-sign: registry.nlark.com/oauth-sign/0.9.0 + performance-now: registry.nlark.com/performance-now/2.1.0 + qs: registry.nlark.com/qs/6.5.2 + safe-buffer: registry.nlark.com/safe-buffer/5.2.1 + tough-cookie: registry.nlark.com/tough-cookie/2.5.0 + tunnel-agent: registry.nlark.com/tunnel-agent/0.6.0 + uuid: registry.npmmirror.com/uuid/3.4.0 + dev: true + + registry.npmmirror.com/resolve-url/0.2.1: + resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz} + name: resolve-url + version: 0.2.1 + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + registry.npmmirror.com/rimraf/2.6.3: + resolution: {integrity: sha1-stEE/g2Psnz54KHNqCYt04M8bKs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rimraf/download/rimraf-2.6.3.tgz} + name: rimraf + version: 2.6.3 + hasBin: true + dependencies: + glob: registry.npmmirror.com/glob/7.2.0 + dev: true + + registry.npmmirror.com/rimraf/2.7.1: + resolution: {integrity: sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz} + name: rimraf + version: 2.7.1 + hasBin: true + dependencies: + glob: registry.npmmirror.com/glob/7.2.0 + dev: true + + registry.npmmirror.com/runjs/4.3.2: + resolution: {integrity: sha1-/KN2covAHNZsznNPO0FkDeKfUq0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/runjs/download/runjs-4.3.2.tgz} + name: runjs + version: 4.3.2 + engines: {node: '>=6.11.1'} + hasBin: true + dependencies: + chalk: registry.nlark.com/chalk/2.3.0 + lodash.padend: registry.npmmirror.com/lodash.padend/4.6.1 + microcli: registry.npmmirror.com/microcli/1.3.1 + omelette: registry.npmmirror.com/omelette/0.4.5 + dev: true + + registry.npmmirror.com/rxjs/6.6.7: + resolution: {integrity: sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz} + name: rxjs + version: 6.6.7 + engines: {npm: '>=2.0.0'} + dependencies: + tslib: registry.nlark.com/tslib/1.14.1 + dev: true + + registry.npmmirror.com/sane/4.1.0: + resolution: {integrity: sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sane/download/sane-4.1.0.tgz} + name: sane + version: 4.1.0 + engines: {node: 6.* || 8.* || >= 10.*} + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added + hasBin: true + dependencies: + '@cnakazawa/watch': registry.nlark.com/@cnakazawa/watch/1.0.4 + anymatch: registry.nlark.com/anymatch/2.0.0 + capture-exit: registry.nlark.com/capture-exit/2.0.0 + exec-sh: registry.nlark.com/exec-sh/0.3.6 + execa: registry.nlark.com/execa/1.0.0 + fb-watchman: registry.nlark.com/fb-watchman/2.0.1 + micromatch: registry.nlark.com/micromatch/3.1.10 + minimist: registry.nlark.com/minimist/1.2.5 + walker: registry.npmmirror.com/walker/1.0.8 + dev: true + + registry.npmmirror.com/sass-loader/8.0.2_sass@1.26.8: + resolution: {integrity: sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-loader/download/sass-loader-8.0.2.tgz} + id: registry.npmmirror.com/sass-loader/8.0.2 + name: sass-loader + version: 8.0.2 + engines: {node: '>= 8.9.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 + sass: ^1.3.0 + webpack: ^4.36.0 || ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + clone-deep: registry.nlark.com/clone-deep/4.0.1 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + neo-async: registry.nlark.com/neo-async/2.6.2 + sass: registry.npmmirror.com/sass/1.26.8 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + semver: registry.nlark.com/semver/6.3.0 + dev: true + + registry.npmmirror.com/sass-resources-loader/2.2.4: + resolution: {integrity: sha1-Gob7pJnnSojLfOlfDJhEnzSNNg4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-resources-loader/download/sass-resources-loader-2.2.4.tgz} + name: sass-resources-loader + version: 2.2.4 + dependencies: + async: registry.npmmirror.com/async/3.2.2 + chalk: registry.nlark.com/chalk/4.1.2 + glob: registry.npmmirror.com/glob/7.2.0 + loader-utils: registry.npmmirror.com/loader-utils/2.0.2 + dev: false + + registry.npmmirror.com/sass/1.26.8: + resolution: {integrity: sha1-MSZSUwch+VaNTEAAsNsH7G6yMyU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass/download/sass-1.26.8.tgz} + name: sass + version: 1.26.8 + engines: {node: '>=8.9.0'} + hasBin: true + dependencies: + chokidar: registry.npmmirror.com/chokidar/3.5.2 + dev: true + + registry.npmmirror.com/saxes/3.1.11: + resolution: {integrity: sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/saxes/download/saxes-3.1.11.tgz} + name: saxes + version: 3.1.11 + engines: {node: '>=8'} + dependencies: + xmlchars: registry.nlark.com/xmlchars/2.2.0 + dev: true + + registry.npmmirror.com/script-ext-html-webpack-plugin/2.1.3_html-webpack-plugin@3.2.0: + resolution: {integrity: sha1-tL9wPN2+PeLm9IPhnf66K17Eq/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/script-ext-html-webpack-plugin/download/script-ext-html-webpack-plugin-2.1.3.tgz} + id: registry.npmmirror.com/script-ext-html-webpack-plugin/2.1.3 + name: script-ext-html-webpack-plugin + version: 2.1.3 + engines: {node: '>=6.11.5'} + peerDependencies: + html-webpack-plugin: ^3.0.0 || ^4.0.0 + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + debug: registry.npmmirror.com/debug/4.3.2 + html-webpack-plugin: registry.npmmirror.com/html-webpack-plugin/3.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/send/0.16.2: + resolution: {integrity: sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/send/download/send-0.16.2.tgz} + name: send + version: 0.16.2 + engines: {node: '>= 0.8.0'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + depd: registry.nlark.com/depd/1.1.2 + destroy: registry.nlark.com/destroy/1.0.4 + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + etag: registry.nlark.com/etag/1.8.1 + fresh: registry.npmmirror.com/fresh/0.5.2 + http-errors: registry.nlark.com/http-errors/1.6.3 + mime: registry.npmmirror.com/mime/1.4.1 + ms: registry.npmmirror.com/ms/2.0.0 + on-finished: registry.nlark.com/on-finished/2.3.0 + range-parser: registry.nlark.com/range-parser/1.2.1 + statuses: registry.nlark.com/statuses/1.4.0 + dev: true + + registry.npmmirror.com/send/0.17.1: + resolution: {integrity: sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/send/download/send-0.17.1.tgz} + name: send + version: 0.17.1 + engines: {node: '>= 0.8.0'} + dependencies: + debug: registry.npmmirror.com/debug/2.6.9 + depd: registry.nlark.com/depd/1.1.2 + destroy: registry.nlark.com/destroy/1.0.4 + encodeurl: registry.nlark.com/encodeurl/1.0.2 + escape-html: registry.nlark.com/escape-html/1.0.3 + etag: registry.nlark.com/etag/1.8.1 + fresh: registry.npmmirror.com/fresh/0.5.2 + http-errors: registry.nlark.com/http-errors/1.7.3 + mime: registry.npmmirror.com/mime/1.6.0 + ms: registry.npmmirror.com/ms/2.1.1 + on-finished: registry.nlark.com/on-finished/2.3.0 + range-parser: registry.nlark.com/range-parser/1.2.1 + statuses: registry.nlark.com/statuses/1.5.0 + dev: true + + registry.npmmirror.com/shell-quote/1.7.3: + resolution: {integrity: sha1-qkDtrBcERbmkMeF7tiwLiBucQSM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shell-quote/download/shell-quote-1.7.3.tgz} + name: shell-quote + version: 1.7.3 + dev: true + + registry.npmmirror.com/shvl/2.0.3: + resolution: {integrity: sha1-60vTdkT1aEu6H8UsMBDJb7Xmr9E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shvl/download/shvl-2.0.3.tgz} + name: shvl + version: 2.0.3 + dev: false + + registry.npmmirror.com/signal-exit/3.0.5: + resolution: {integrity: sha1-nj6MwMdamUcrRDIQM6dwLnc4JS8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.5.tgz} + name: signal-exit + version: 3.0.5 + dev: true + + registry.npmmirror.com/simple-swizzle/0.2.2: + resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz} + name: simple-swizzle + version: 0.2.2 + dependencies: + is-arrayish: registry.nlark.com/is-arrayish/0.3.2 + dev: true + + registry.npmmirror.com/source-map-js/0.6.2: + resolution: {integrity: sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/download/source-map-js-0.6.2.tgz} + name: source-map-js + version: 0.6.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/stable/0.1.8: + resolution: {integrity: sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz} + name: stable + version: 0.1.8 + dev: true + + registry.npmmirror.com/string-width/2.1.1: + resolution: {integrity: sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz} + name: string-width + version: 2.1.1 + engines: {node: '>=4'} + dependencies: + is-fullwidth-code-point: registry.nlark.com/is-fullwidth-code-point/2.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/4.0.0 + dev: true + + registry.npmmirror.com/string-width/3.1.0: + resolution: {integrity: sha1-InZ74htirxCBV0MG9prFG2IgOWE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz} + name: string-width + version: 3.1.0 + engines: {node: '>=6'} + dependencies: + emoji-regex: registry.npmmirror.com/emoji-regex/7.0.3 + is-fullwidth-code-point: registry.nlark.com/is-fullwidth-code-point/2.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/5.2.0 + dev: true + + registry.npmmirror.com/string-width/4.2.3: + resolution: {integrity: sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz} + name: string-width + version: 4.2.3 + engines: {node: '>=8'} + dependencies: + emoji-regex: registry.npmmirror.com/emoji-regex/8.0.0 + is-fullwidth-code-point: registry.nlark.com/is-fullwidth-code-point/3.0.0 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + dev: true + + registry.npmmirror.com/strip-ansi/3.0.1: + resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz} + name: strip-ansi + version: 3.0.1 + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/2.1.1 + dev: true + + registry.npmmirror.com/strip-ansi/4.0.0: + resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz} + name: strip-ansi + version: 4.0.0 + engines: {node: '>=4'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/3.0.0 + dev: true + + registry.npmmirror.com/strip-ansi/5.2.0: + resolution: {integrity: sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz} + name: strip-ansi + version: 5.2.0 + engines: {node: '>=6'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/4.1.0 + dev: true + + registry.npmmirror.com/strip-ansi/6.0.1: + resolution: {integrity: sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz} + name: strip-ansi + version: 6.0.1 + engines: {node: '>=8'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/5.0.1 + dev: true + + registry.npmmirror.com/strip-eof/1.0.0: + resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz} + name: strip-eof + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/svg-baker-runtime/1.4.7: + resolution: {integrity: sha1-9HIGN/W2IC7vY3jYHx/q0IFfik4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/svg-baker-runtime/download/svg-baker-runtime-1.4.7.tgz} + name: svg-baker-runtime + version: 1.4.7 + dependencies: + deepmerge: registry.nlark.com/deepmerge/1.3.2 + mitt: registry.npmmirror.com/mitt/1.1.2 + svg-baker: registry.nlark.com/svg-baker/1.7.0 + dev: true + + registry.npmmirror.com/svg-sprite-loader/4.1.3: + resolution: {integrity: sha1-0lz6daXE5Jn3tSgigdtus72hP+A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/svg-sprite-loader/download/svg-sprite-loader-4.1.3.tgz} + name: svg-sprite-loader + version: 4.1.3 + engines: {node: '>=6'} + dependencies: + bluebird: registry.nlark.com/bluebird/3.7.2 + deepmerge: registry.nlark.com/deepmerge/1.3.2 + domready: registry.npmmirror.com/domready/1.0.8 + escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 + html-webpack-plugin: registry.npmmirror.com/html-webpack-plugin/3.2.0 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + svg-baker: registry.nlark.com/svg-baker/1.7.0 + svg-baker-runtime: registry.npmmirror.com/svg-baker-runtime/1.4.7 + url-slug: registry.npmmirror.com/url-slug/2.0.0 + transitivePeerDependencies: + - webpack + dev: true + + registry.npmmirror.com/svgo/1.2.2: + resolution: {integrity: sha1-AlPTTszyrtStTyg+Ee51GY+dcxY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/svgo/download/svgo-1.2.2.tgz} + name: svgo + version: 1.2.2 + engines: {node: '>=4.0.0'} + deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. + hasBin: true + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + coa: registry.npmmirror.com/coa/2.0.2 + css-select: registry.nlark.com/css-select/2.1.0 + css-select-base-adapter: registry.nlark.com/css-select-base-adapter/0.1.1 + css-tree: registry.nlark.com/css-tree/1.0.0-alpha.28 + css-url-regex: registry.npmmirror.com/css-url-regex/1.1.0 + csso: registry.nlark.com/csso/3.5.1 + js-yaml: registry.nlark.com/js-yaml/3.14.1 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + object.values: registry.npmmirror.com/object.values/1.1.5 + sax: registry.nlark.com/sax/1.2.4 + stable: registry.npmmirror.com/stable/0.1.8 + unquote: registry.nlark.com/unquote/1.1.1 + util.promisify: registry.nlark.com/util.promisify/1.0.1 + dev: true + + registry.npmmirror.com/table/5.4.6: + resolution: {integrity: sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/table/download/table-5.4.6.tgz} + name: table + version: 5.4.6 + engines: {node: '>=6.0.0'} + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + lodash: registry.nlark.com/lodash/4.17.21 + slice-ansi: registry.nlark.com/slice-ansi/2.1.0 + string-width: registry.npmmirror.com/string-width/3.1.0 + dev: true + + registry.npmmirror.com/terser-webpack-plugin/1.4.5_webpack@4.46.0: + resolution: {integrity: sha1-oheu+uozDnNP+sthIOwfoxLWBAs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz} + id: registry.npmmirror.com/terser-webpack-plugin/1.4.5 + name: terser-webpack-plugin + version: 1.4.5 + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.0.0 + dependencies: + cacache: registry.nlark.com/cacache/12.0.4 + find-cache-dir: registry.nlark.com/find-cache-dir/2.1.0 + is-wsl: registry.nlark.com/is-wsl/1.1.0 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + serialize-javascript: registry.nlark.com/serialize-javascript/4.0.0 + source-map: registry.nlark.com/source-map/0.6.1 + terser: registry.npmmirror.com/terser/4.8.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-sources: registry.nlark.com/webpack-sources/1.4.3 + worker-farm: registry.nlark.com/worker-farm/1.7.0 + dev: true + + registry.npmmirror.com/terser-webpack-plugin/2.3.8_webpack@4.46.0: + resolution: {integrity: sha1-iUdkoZsHQ/L3BOfCqEjFKDppZyQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-2.3.8.tgz} + id: registry.npmmirror.com/terser-webpack-plugin/2.3.8 + name: terser-webpack-plugin + version: 2.3.8 + engines: {node: '>= 8.9.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + cacache: registry.nlark.com/cacache/13.0.1 + find-cache-dir: registry.nlark.com/find-cache-dir/3.3.2 + jest-worker: registry.npmmirror.com/jest-worker/25.5.0 + p-limit: registry.nlark.com/p-limit/2.3.0 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + serialize-javascript: registry.nlark.com/serialize-javascript/4.0.0 + source-map: registry.nlark.com/source-map/0.6.1 + terser: registry.npmmirror.com/terser/4.8.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-sources: registry.nlark.com/webpack-sources/1.4.3 + dev: true + + registry.npmmirror.com/terser/4.8.0: + resolution: {integrity: sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser/download/terser-4.8.0.tgz} + name: terser + version: 4.8.0 + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + commander: registry.npmmirror.com/commander/2.20.3 + source-map: registry.nlark.com/source-map/0.6.1 + source-map-support: registry.nlark.com/source-map-support/0.5.20 + dev: true + + registry.npmmirror.com/thenify-all/1.6.0: + resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/thenify-all/download/thenify-all-1.6.0.tgz} + name: thenify-all + version: 1.6.0 + engines: {node: '>=0.8'} + dependencies: + thenify: registry.npmmirror.com/thenify/3.3.1 + dev: true + + registry.npmmirror.com/thenify/3.3.1: + resolution: {integrity: sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/thenify/download/thenify-3.3.1.tgz} + name: thenify + version: 3.3.1 + dependencies: + any-promise: registry.nlark.com/any-promise/1.3.0 + dev: true + + registry.npmmirror.com/throttle-debounce/1.1.0: + resolution: {integrity: sha1-UYU9o3vmihVctugns1FKPEIuic0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/throttle-debounce/download/throttle-debounce-1.1.0.tgz} + name: throttle-debounce + version: 1.1.0 + engines: {node: '>=4'} + dev: false + + registry.npmmirror.com/toidentifier/1.0.0: + resolution: {integrity: sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/toidentifier/download/toidentifier-1.0.0.tgz} + name: toidentifier + version: 1.0.0 + engines: {node: '>=0.6'} + dev: true + + registry.npmmirror.com/tr46/1.0.1: + resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/download/tr46-1.0.1.tgz} + name: tr46 + version: 1.0.1 + dependencies: + punycode: registry.nlark.com/punycode/2.1.1 + dev: true + + registry.npmmirror.com/traverse/0.6.6: + resolution: {integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/traverse/download/traverse-0.6.6.tgz} + name: traverse + version: 0.6.6 + dev: true + + registry.npmmirror.com/trim-right/1.0.1: + resolution: {integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/trim-right/download/trim-right-1.0.1.tgz} + name: trim-right + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/ts-jest/24.3.0_jest@24.9.0: + resolution: {integrity: sha1-uXgU4+qzWeqEChrBEt6uaKpECGk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-jest/download/ts-jest-24.3.0.tgz} + id: registry.npmmirror.com/ts-jest/24.3.0 + name: ts-jest + version: 24.3.0 + engines: {node: '>= 6'} + hasBin: true + peerDependencies: + jest: '>=24 <25' + dependencies: + bs-logger: registry.npmmirror.com/bs-logger/0.2.6 + buffer-from: registry.nlark.com/buffer-from/1.1.2 + fast-json-stable-stringify: registry.nlark.com/fast-json-stable-stringify/2.1.0 + jest: registry.npmmirror.com/jest/24.9.0 + json5: registry.nlark.com/json5/2.2.0 + lodash.memoize: registry.nlark.com/lodash.memoize/4.1.2 + make-error: registry.npmmirror.com/make-error/1.3.6 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + resolve: registry.nlark.com/resolve/1.20.0 + semver: registry.nlark.com/semver/5.7.1 + yargs-parser: registry.nlark.com/yargs-parser/10.1.0 + dev: true + + registry.npmmirror.com/ts-pnp/1.2.0: + resolution: {integrity: sha1-pQCtCEsHmPHDBxrzkeZZEshrypI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-pnp/download/ts-pnp-1.2.0.tgz} + name: ts-pnp + version: 1.2.0 + engines: {node: '>=6'} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dev: true + + registry.npmmirror.com/tsconfig/7.0.0: + resolution: {integrity: sha1-hFOIdaTcIW5cSlQys6Tew9VOkbc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tsconfig/download/tsconfig-7.0.0.tgz} + name: tsconfig + version: 7.0.0 + dependencies: + '@types/strip-bom': registry.npmmirror.com/@types/strip-bom/3.0.0 + '@types/strip-json-comments': registry.npmmirror.com/@types/strip-json-comments/0.0.30 + strip-bom: registry.nlark.com/strip-bom/3.0.0 + strip-json-comments: registry.nlark.com/strip-json-comments/2.0.1 + dev: true + + registry.npmmirror.com/tty-browserify/0.0.0: + resolution: {integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tty-browserify/download/tty-browserify-0.0.0.tgz} + name: tty-browserify + version: 0.0.0 + dev: true + + registry.npmmirror.com/type-fest/0.21.3: + resolution: {integrity: sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz} + name: type-fest + version: 0.21.3 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/type-fest/0.6.0: + resolution: {integrity: sha1-jSojcNPfiG61yQraHFv2GIrPg4s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz} + name: type-fest + version: 0.6.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/type-fest/0.8.1: + resolution: {integrity: sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz} + name: type-fest + version: 0.8.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/uglify-js/3.4.10: + resolution: {integrity: sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uglify-js/download/uglify-js-3.4.10.tgz} + name: uglify-js + version: 3.4.10 + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + commander: registry.npmmirror.com/commander/2.19.0 + source-map: registry.nlark.com/source-map/0.6.1 + dev: true + + registry.npmmirror.com/unidecode/0.1.8: + resolution: {integrity: sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unidecode/download/unidecode-0.1.8.tgz} + name: unidecode + version: 0.1.8 + engines: {node: '>= 0.4.12'} + dev: true + + registry.npmmirror.com/urix/0.1.0: + resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz} + name: urix + version: 0.1.0 + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + registry.npmmirror.com/url-loader/2.3.0_file-loader@4.3.0+webpack@4.46.0: + resolution: {integrity: sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/url-loader/download/url-loader-2.3.0.tgz} + id: registry.npmmirror.com/url-loader/2.3.0 + name: url-loader + version: 2.3.0 + engines: {node: '>= 8.9.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 + peerDependenciesMeta: + file-loader: + optional: true + dependencies: + file-loader: registry.nlark.com/file-loader/4.3.0_webpack@4.46.0 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + mime: registry.npmmirror.com/mime/2.6.0 + schema-utils: registry.nlark.com/schema-utils/2.7.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/url-slug/2.0.0: + resolution: {integrity: sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/url-slug/download/url-slug-2.0.0.tgz} + name: url-slug + version: 2.0.0 + dependencies: + unidecode: registry.npmmirror.com/unidecode/0.1.8 + dev: true + + registry.npmmirror.com/use/3.1.1: + resolution: {integrity: sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/use/download/use-3.1.1.tgz} + name: use + version: 3.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/uuid/3.4.0: + resolution: {integrity: sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1636422997202&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz} + name: uuid + version: 3.4.0 + 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. + hasBin: true + dev: true + + registry.npmmirror.com/verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz} + name: verror + version: 1.10.0 + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: registry.nlark.com/assert-plus/1.0.0 + core-util-is: registry.nlark.com/core-util-is/1.0.2 + extsprintf: registry.npmmirror.com/extsprintf/1.3.0 + dev: true + + registry.npmmirror.com/viewerjs/1.10.2: + resolution: {integrity: sha1-3hb6EGaOTaYyWWmDajJkoEbj75o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/viewerjs/download/viewerjs-1.10.2.tgz} + name: viewerjs + version: 1.10.2 + dev: false + + registry.npmmirror.com/vue-amap/0.5.10: + resolution: {integrity: sha1-RkUWIDrwwIXUBL2Kyr8kAeSjb/Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-amap/download/vue-amap-0.5.10.tgz} + name: vue-amap + version: 0.5.10 + engines: {core-js: ^2.5.0, node: '>= 4.0.0', npm: '>= 3.0.0'} + dependencies: + uppercamelcase: registry.nlark.com/uppercamelcase/1.1.0 + dev: false + + registry.npmmirror.com/vue-eslint-parser/7.11.0_eslint@6.7.2: + resolution: {integrity: sha1-IUtd6pYQB/z/su5luJEjB2KNDa8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-7.11.0.tgz} + id: registry.npmmirror.com/vue-eslint-parser/7.11.0 + name: vue-eslint-parser + version: 7.11.0 + engines: {node: '>=8.10'} + peerDependencies: + eslint: '>=5.0.0' + dependencies: + debug: registry.npmmirror.com/debug/4.3.2 + eslint: registry.npmmirror.com/eslint/6.7.2 + eslint-scope: registry.nlark.com/eslint-scope/5.1.1 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/1.3.0 + espree: registry.nlark.com/espree/6.2.1 + esquery: registry.nlark.com/esquery/1.4.0 + lodash: registry.nlark.com/lodash/4.17.21 + semver: registry.nlark.com/semver/6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/vue-jest/3.0.7_9235beb11cb2cd2c17b886f42402aca4: + resolution: {integrity: sha1-ptKXWKXLTXUPXRJCISvjm+QpajM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-jest/download/vue-jest-3.0.7.tgz} + id: registry.npmmirror.com/vue-jest/3.0.7 + name: vue-jest + version: 3.0.7 + peerDependencies: + babel-core: ^6.25.0 || ^7.0.0-0 + vue: ^2.x + vue-template-compiler: ^2.x + dependencies: + babel-core: registry.npmmirror.com/babel-core/7.0.0-bridge.0_@babel+core@7.16.0 + babel-plugin-transform-es2015-modules-commonjs: registry.npmmirror.com/babel-plugin-transform-es2015-modules-commonjs/6.26.2 + chalk: registry.nlark.com/chalk/2.4.2 + deasync: registry.npmmirror.com/deasync/0.1.24 + extract-from-css: registry.npmmirror.com/extract-from-css/0.4.4 + find-babel-config: registry.npmmirror.com/find-babel-config/1.2.0 + js-beautify: registry.npmmirror.com/js-beautify/1.14.0 + node-cache: registry.npmmirror.com/node-cache/4.2.1 + object-assign: registry.nlark.com/object-assign/4.1.1 + source-map: registry.nlark.com/source-map/0.5.7 + tsconfig: registry.npmmirror.com/tsconfig/7.0.0 + vue: registry.npmmirror.com/vue/2.6.10 + vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.6.10 + vue-template-es2015-compiler: registry.nlark.com/vue-template-es2015-compiler/1.9.1 + dev: true + + registry.npmmirror.com/vue-loader/15.9.8_b8d247df3b20733387738da3a99b0112: + resolution: {integrity: sha1-Sw9gKvr2aplr4eU0+5YJ3EqxDmE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-loader/download/vue-loader-15.9.8.tgz} + id: registry.npmmirror.com/vue-loader/15.9.8 + name: vue-loader + version: 15.9.8 + peerDependencies: + cache-loader: '*' + css-loader: '*' + vue-template-compiler: '*' + webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + cache-loader: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@vue/component-compiler-utils': registry.npmmirror.com/@vue/component-compiler-utils/3.3.0 + cache-loader: registry.nlark.com/cache-loader/4.1.0_webpack@4.46.0 + css-loader: registry.npmmirror.com/css-loader/3.6.0_webpack@4.46.0 + hash-sum: registry.nlark.com/hash-sum/1.0.2 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + vue-hot-reload-api: registry.nlark.com/vue-hot-reload-api/2.3.4 + vue-style-loader: registry.nlark.com/vue-style-loader/4.1.3 + vue-template-compiler: registry.npmmirror.com/vue-template-compiler/2.6.10 + webpack: registry.npmmirror.com/webpack/4.46.0 + dev: true + + registry.npmmirror.com/vue-router/3.0.6: + resolution: {integrity: sha1-Lk8PnLsLltAgWrJpDP5YiTUTasM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-router/download/vue-router-3.0.6.tgz} + name: vue-router + version: 3.0.6 + dev: false + + registry.npmmirror.com/vue-template-compiler/2.6.10: + resolution: {integrity: sha1-MjtPNJXwT6o1AzN6gvXWUHeZycw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-template-compiler/download/vue-template-compiler-2.6.10.tgz} + name: vue-template-compiler + version: 2.6.10 + dependencies: + de-indent: registry.nlark.com/de-indent/1.0.2 + he: registry.nlark.com/he/1.2.0 + dev: true + + registry.npmmirror.com/vue/2.6.10: + resolution: {integrity: sha1-pysaQqTYKnIepDjRtr9V5mGVxjc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue/download/vue-2.6.10.tgz} + name: vue + version: 2.6.10 + dev: false + + registry.npmmirror.com/vuex-persistedstate/4.1.0_vuex@3.1.0: + resolution: {integrity: sha1-EnFl+F9bRTT7MXCl06i+mBG9KlM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuex-persistedstate/download/vuex-persistedstate-4.1.0.tgz} + id: registry.npmmirror.com/vuex-persistedstate/4.1.0 + name: vuex-persistedstate + version: 4.1.0 + peerDependencies: + vuex: ^3.0 || ^4.0.0-rc + dependencies: + deepmerge: registry.nlark.com/deepmerge/4.2.2 + shvl: registry.npmmirror.com/shvl/2.0.3 + vuex: registry.nlark.com/vuex/3.1.0 + dev: false + + registry.npmmirror.com/walker/1.0.8: + resolution: {integrity: sha1-vUmNtHev5XPcBBhfAR06uKjXZT8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/walker/download/walker-1.0.8.tgz} + name: walker + version: 1.0.8 + dependencies: + makeerror: registry.npmmirror.com/makeerror/1.0.12 + dev: true + + registry.npmmirror.com/webpack-bundle-analyzer/3.9.0: + resolution: {integrity: sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz} + name: webpack-bundle-analyzer + version: 3.9.0 + engines: {node: '>= 6.14.4'} + hasBin: true + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + acorn-walk: registry.nlark.com/acorn-walk/7.2.0 + bfj: registry.nlark.com/bfj/6.1.2 + chalk: registry.nlark.com/chalk/2.4.2 + commander: registry.npmmirror.com/commander/2.20.3 + ejs: registry.npmmirror.com/ejs/2.7.4 + express: registry.nlark.com/express/4.17.1 + filesize: registry.npmmirror.com/filesize/3.6.1 + gzip-size: registry.nlark.com/gzip-size/5.1.1 + lodash: registry.nlark.com/lodash/4.17.21 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + opener: registry.nlark.com/opener/1.5.2 + ws: registry.npmmirror.com/ws/6.2.2 + dev: true + + registry.npmmirror.com/webpack-dev-middleware/3.7.3_webpack@4.46.0: + resolution: {integrity: sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz} + id: registry.npmmirror.com/webpack-dev-middleware/3.7.3 + name: webpack-dev-middleware + version: 3.7.3 + engines: {node: '>= 6'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + memory-fs: registry.nlark.com/memory-fs/0.4.1 + mime: registry.npmmirror.com/mime/2.6.0 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + range-parser: registry.nlark.com/range-parser/1.2.1 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-log: registry.nlark.com/webpack-log/2.0.0 + dev: true + + registry.npmmirror.com/webpack-dev-server/3.11.3_webpack@4.46.0: + resolution: {integrity: sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.3.tgz} + id: registry.npmmirror.com/webpack-dev-server/3.11.3 + name: webpack-dev-server + version: 3.11.3 + engines: {node: '>= 6.11.5'} + hasBin: true + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + ansi-html-community: registry.npmmirror.com/ansi-html-community/0.0.8 + bonjour: registry.nlark.com/bonjour/3.5.0 + chokidar: registry.npmmirror.com/chokidar/2.1.8 + compression: registry.nlark.com/compression/1.7.4 + connect-history-api-fallback: registry.nlark.com/connect-history-api-fallback/1.6.0 + debug: registry.npmmirror.com/debug/4.3.2_supports-color@6.1.0 + del: registry.nlark.com/del/4.1.1 + express: registry.nlark.com/express/4.17.1 + html-entities: registry.nlark.com/html-entities/1.4.0 + http-proxy-middleware: registry.nlark.com/http-proxy-middleware/0.19.1_debug@4.3.2 + import-local: registry.npmmirror.com/import-local/2.0.0 + internal-ip: registry.npmmirror.com/internal-ip/4.3.0 + ip: registry.nlark.com/ip/1.1.5 + is-absolute-url: registry.nlark.com/is-absolute-url/3.0.3 + killable: registry.nlark.com/killable/1.0.1 + loglevel: registry.nlark.com/loglevel/1.7.1 + opn: registry.npmmirror.com/opn/5.5.0 + p-retry: registry.npmmirror.com/p-retry/3.0.1 + portfinder: registry.nlark.com/portfinder/1.0.28 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + selfsigned: registry.nlark.com/selfsigned/1.10.11 + semver: registry.nlark.com/semver/6.3.0 + serve-index: registry.nlark.com/serve-index/1.9.1 + sockjs: registry.nlark.com/sockjs/0.3.21 + sockjs-client: registry.nlark.com/sockjs-client/1.5.2 + spdy: registry.nlark.com/spdy/4.0.2_supports-color@6.1.0 + strip-ansi: registry.npmmirror.com/strip-ansi/3.0.1 + supports-color: registry.nlark.com/supports-color/6.1.0 + url: registry.nlark.com/url/0.11.0 + webpack: registry.npmmirror.com/webpack/4.46.0 + webpack-dev-middleware: registry.npmmirror.com/webpack-dev-middleware/3.7.3_webpack@4.46.0 + webpack-log: registry.nlark.com/webpack-log/2.0.0 + ws: registry.npmmirror.com/ws/6.2.2 + yargs: registry.npmmirror.com/yargs/13.3.2 + dev: true + + registry.npmmirror.com/webpack/4.46.0: + resolution: {integrity: sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack/download/webpack-4.46.0.tgz} + name: webpack + version: 4.46.0 + engines: {node: '>=6.11.5'} + hasBin: true + peerDependencies: + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + dependencies: + '@webassemblyjs/ast': registry.npmmirror.com/@webassemblyjs/ast/1.9.0 + '@webassemblyjs/helper-module-context': registry.nlark.com/@webassemblyjs/helper-module-context/1.9.0 + '@webassemblyjs/wasm-edit': registry.nlark.com/@webassemblyjs/wasm-edit/1.9.0 + '@webassemblyjs/wasm-parser': registry.nlark.com/@webassemblyjs/wasm-parser/1.9.0 + acorn: registry.nlark.com/acorn/6.4.2 + ajv: registry.npmmirror.com/ajv/6.12.6 + ajv-keywords: registry.nlark.com/ajv-keywords/3.5.2_ajv@6.12.6 + chrome-trace-event: registry.nlark.com/chrome-trace-event/1.0.3 + enhanced-resolve: registry.nlark.com/enhanced-resolve/4.5.0 + eslint-scope: registry.nlark.com/eslint-scope/4.0.3 + json-parse-better-errors: registry.nlark.com/json-parse-better-errors/1.0.2 + loader-runner: registry.nlark.com/loader-runner/2.4.0 + loader-utils: registry.npmmirror.com/loader-utils/1.4.0 + memory-fs: registry.nlark.com/memory-fs/0.4.1 + micromatch: registry.nlark.com/micromatch/3.1.10 + mkdirp: registry.npmmirror.com/mkdirp/0.5.5 + neo-async: registry.nlark.com/neo-async/2.6.2 + node-libs-browser: registry.nlark.com/node-libs-browser/2.2.1 + schema-utils: registry.nlark.com/schema-utils/1.0.0 + tapable: registry.nlark.com/tapable/1.1.3 + terser-webpack-plugin: registry.npmmirror.com/terser-webpack-plugin/1.4.5_webpack@4.46.0 + watchpack: registry.nlark.com/watchpack/1.7.5 + webpack-sources: registry.nlark.com/webpack-sources/1.4.3 + dev: true + + registry.npmmirror.com/whatwg-url/6.5.0: + resolution: {integrity: sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/download/whatwg-url-6.5.0.tgz} + name: whatwg-url + version: 6.5.0 + dependencies: + lodash.sortby: registry.nlark.com/lodash.sortby/4.7.0 + tr46: registry.npmmirror.com/tr46/1.0.1 + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + dev: true + + registry.npmmirror.com/whatwg-url/7.1.0: + resolution: {integrity: sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/download/whatwg-url-7.1.0.tgz} + name: whatwg-url + version: 7.1.0 + dependencies: + lodash.sortby: registry.nlark.com/lodash.sortby/4.7.0 + tr46: registry.npmmirror.com/tr46/1.0.1 + webidl-conversions: registry.nlark.com/webidl-conversions/4.0.2 + dev: true + + registry.npmmirror.com/ws/5.2.3: + resolution: {integrity: sha1-BVQQU0FJIbwpxjvuFLiw3VCwez0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ws/download/ws-5.2.3.tgz} + name: ws + version: 5.2.3 + dependencies: + async-limiter: registry.nlark.com/async-limiter/1.0.1 + dev: true + + registry.npmmirror.com/ws/6.2.2: + resolution: {integrity: sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz} + name: ws + version: 6.2.2 + dependencies: + async-limiter: registry.nlark.com/async-limiter/1.0.1 + dev: true + + registry.npmmirror.com/ws/7.5.5: + resolution: {integrity: sha1-i0vEr1GM+r0Ec65PmRRCh7M+uIE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ws/download/ws-7.5.5.tgz} + name: ws + version: 7.5.5 + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + registry.npmmirror.com/yargs/13.3.2: + resolution: {integrity: sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz} + name: yargs + version: 13.3.2 + dependencies: + cliui: registry.nlark.com/cliui/5.0.0 + find-up: registry.npmmirror.com/find-up/3.0.0 + get-caller-file: registry.nlark.com/get-caller-file/2.0.5 + require-directory: registry.nlark.com/require-directory/2.1.1 + require-main-filename: registry.nlark.com/require-main-filename/2.0.0 + set-blocking: registry.nlark.com/set-blocking/2.0.0 + string-width: registry.npmmirror.com/string-width/3.1.0 + which-module: registry.nlark.com/which-module/2.0.0 + y18n: registry.nlark.com/y18n/4.0.3 + yargs-parser: registry.nlark.com/yargs-parser/13.1.2 + dev: true + + registry.npmmirror.com/yargs/16.2.0: + resolution: {integrity: sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz} + name: yargs + version: 16.2.0 + engines: {node: '>=10'} + dependencies: + cliui: registry.nlark.com/cliui/7.0.4 + escalade: registry.nlark.com/escalade/3.1.1 + get-caller-file: registry.nlark.com/get-caller-file/2.0.5 + require-directory: registry.nlark.com/require-directory/2.1.1 + string-width: registry.npmmirror.com/string-width/4.2.3 + y18n: registry.nlark.com/y18n/5.0.8 + yargs-parser: registry.nlark.com/yargs-parser/20.2.9 + dev: true + + registry.npmmirror.com/yorkie/2.0.0: + resolution: {integrity: sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yorkie/download/yorkie-2.0.0.tgz} + name: yorkie + version: 2.0.0 + engines: {node: '>=4'} + requiresBuild: true + dependencies: + execa: registry.nlark.com/execa/0.8.0 + is-ci: registry.npmmirror.com/is-ci/1.2.1 + normalize-path: registry.nlark.com/normalize-path/1.0.0 + strip-indent: registry.nlark.com/strip-indent/2.0.0 + dev: true diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..10473ef --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,8 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + 'plugins': { + // to edit target browsers: use "browserslist" field in package.json + 'autoprefixer': {} + } +} diff --git a/public/WebComponentsKit.exe b/public/WebComponentsKit.exe new file mode 100644 index 0000000..6d22708 Binary files /dev/null and b/public/WebComponentsKit.exe differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..79c7c9b Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/faviconhr.ico b/public/faviconhr.ico new file mode 100644 index 0000000..630f5be Binary files /dev/null and b/public/faviconhr.ico differ diff --git a/public/image/liuchengtu.jpg b/public/image/liuchengtu.jpg new file mode 100644 index 0000000..8d891be Binary files /dev/null and b/public/image/liuchengtu.jpg differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..fa2be91 --- /dev/null +++ b/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + <%= webpackConfig.name %> + + + +
+ + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..c65a59a --- /dev/null +++ b/src/App.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/api/Common/Upload.js b/src/api/Common/Upload.js new file mode 100644 index 0000000..c3be171 --- /dev/null +++ b/src/api/Common/Upload.js @@ -0,0 +1,13 @@ +import request from '@/utils/request' +// 上传图片 +export function imageUpload(data){ + return request({ + url: '/jlcyry/file/upload', + method: 'post', + data, + headers:{'Content-Type':'multipart/form-data'} + }) +} +export const uploadFile = '/api/base/v1/basemanufactorsubscription/pictureUpload' + +export const uploadimg_tuiku = '/api/base/v1/basemanufacturerretwareveh/pictureUpload' diff --git a/src/api/Common/areaPicker.js b/src/api/Common/areaPicker.js new file mode 100644 index 0000000..f43d0a3 --- /dev/null +++ b/src/api/Common/areaPicker.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +//区域获取省 +export function getProvince(data) { + return request({ + url: '/system/region/getProvince', + method: 'get' + }) +} +//根据省sid获取该省的所有市 +export function getCity(data) { + return request({ + url: '/system/region/getCity', + method: 'get', + params: data + }) +} +//根据市sid获取该市的所有县区 +export function getCounty(data) { + return request({ + url: '/system/region/getCounty', + method: 'get', + params: data + }) +} diff --git a/src/api/Common/permission.js b/src/api/Common/permission.js new file mode 100644 index 0000000..5c3b562 --- /dev/null +++ b/src/api/Common/permission.js @@ -0,0 +1,13 @@ +import request from '@/utils/request' +// 请求按钮权限 +export default { + + // 查询分页列表,输入当前路径和userSid,返回 + buttonPermission: function(params) { + return request({ + url: '/demopackage/v1/demo/buttonPermission', + method: 'post', + data: params + }) + } +} diff --git a/src/api/User/login.js b/src/api/User/login.js new file mode 100644 index 0000000..399fda6 --- /dev/null +++ b/src/api/User/login.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' +import qs from 'qs' + +class User { + login(data) { // 登录 + return request({ + url: '/system/user/login', + method: 'post', + data + }) + } + logout(data) { // 退出 + return request({ + url: '/portal/v1/sysuser/signOut', + method: 'post', + data: qs.stringify(data) + }) + } + updatePassword(data) { // 退出修改密码 + return request({ + url: '/portal/v1/sysuser/updatePassword', + method: 'post', + data: qs.stringify(data) + }) + } + reGetPwd(data) { + return request({ + url: `/system/user/reGetPwd/${data.userName}/${data.userPhone}`, + method: 'post', + data: qs.stringify(data) + }) + } +} + +export default new User() diff --git a/src/api/flow/cunfangdidianbiangeng.js b/src/api/flow/cunfangdidianbiangeng.js new file mode 100644 index 0000000..3be6324 --- /dev/null +++ b/src/api/flow/cunfangdidianbiangeng.js @@ -0,0 +1,66 @@ +import request from '@/utils/request' + +export default { + // 流程审批(同意) + agreeTask: function(params) { + return request({ + url: 'scm/v1/scmvehiclegression/complete', + method: 'post', + data: params + }) + }, + // 流程审批(驳回) + rejectTask: function(params) { + return request({ + url: 'scm/v1/scmvehiclegression/reject', + method: 'post', + data: params + }) + }, + // 流程审批(终止) + breakTask: function(params) { + return request({ + url: 'scm/v1/scmvehiclegression/breakProcess', + method: 'post', + data: params + }) + }, + // 流程审批(撤回) + revokeTask: function(params) { + return request({ + url: 'scm/v1/scmvehiclegression/revokeProcess', + method: 'post', + data: params + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: 'scm/v1/scmvehiclegression/getNextNodesForSubmit', + method: 'post', + data: data + }) + }, + // 审批流程(驳回、终止)获取下一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: 'scm/v1/scmvehiclegression/getPreviousNodesForReject', + method: 'post', + data: data + }) + }, + // 读取xml文件 + readXml: function(deployId) { + return request({ + url: '/flowable/v1/flowable/task/readXml/' + deployId, + method: 'get' + }) + }, + // 读取image文件 + getFlowViewer: function(procInsId) { + return request({ + url: '/flowable/v1/flowable/task/flowViewer/' + procInsId, + method: 'get' + }) + } +} diff --git a/src/api/flow/flowable.js b/src/api/flow/flowable.js new file mode 100644 index 0000000..2978268 --- /dev/null +++ b/src/api/flow/flowable.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' +// 外采申请表 +export default { + getNextNodes: function(taskid) { + return request({ + url: '/base/baseoutsourcingapplication/getNextTasks/' + taskid, + method: 'post', + headers: { + 'Content-Type': 'application/json' + } + }) + }, + getNextNodesForSubmit: function(data) { + return request({ + url: '/base/baseoutsourcingapplication/getNextNodesForSubmit', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + getPreviousNodesForReject(formobj) { + return request({ + url: '/base/baseoutsourcingapplication/getPreviousNodesForReject', + method: 'post', + data: formobj, + headers: { + 'Content-Type': 'application/json' + } + }) + } +} diff --git a/src/api/flow/tiaochekaipiaoshenqing.js b/src/api/flow/tiaochekaipiaoshenqing.js new file mode 100644 index 0000000..074d689 --- /dev/null +++ b/src/api/flow/tiaochekaipiaoshenqing.js @@ -0,0 +1,80 @@ +import request from '@/utils/request' + +export default { + // 流程审批(同意) + agreeTask: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/complete', + method: 'post', + data: params + }) + }, + agreeTaskCallInToCallOut: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/callInOrgToCallOutOrg', + method: 'post', + data: params + }) + }, + callOutSaleManageExa: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/callOutSaleManageExa', + method: 'post', + data: params + }) + }, + // 流程审批(驳回) + rejectTask: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/reject', + method: 'post', + data: params + }) + }, + // 流程审批(终止) + breakTask: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/breakProcess', + method: 'post', + data: params + }) + }, + // 流程审批(撤回) + revokeTask: function(params) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/revokeProcess', + method: 'post', + data: params + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/getNextNodesForSubmit', + method: 'get', + params: data + }) + }, + // 审批流程(驳回、终止)获取上一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: '/base/v1/baseshuntinginvoicingapply/getPreviousNodesForReject', + method: 'get', + params: data + }) + }, + // 读取xml文件 + readXml: function(deployId) { + return request({ + url: '/flowable/v1/flowable/task/readXml/' + deployId, + method: 'get' + }) + }, + // 读取image文件 + getFlowViewer: function(procInsId) { + return request({ + url: '/flowable/v1/flowable/task/flowViewer/' + procInsId, + method: 'get' + }) + } +} diff --git a/src/api/flow/tiaozhangshenqing.js b/src/api/flow/tiaozhangshenqing.js new file mode 100644 index 0000000..1b4be36 --- /dev/null +++ b/src/api/flow/tiaozhangshenqing.js @@ -0,0 +1,80 @@ +import request from '@/utils/request' + +export default { + // 流程审批(同意) + agreeTask: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/complete', + method: 'post', + data: params + }) + }, + agreeTaskCallInOrCallOut: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/InitiatorToAnswer', + method: 'post', + data: params + }) + }, + agreeTaskOrgChange: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/companyToFinancialCenter', + method: 'post', + data: params + }) + }, + // 流程审批(驳回) + rejectTask: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/reject', + method: 'post', + data: params + }) + }, + // 流程审批(终止) + breakTask: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/breakProcess', + method: 'post', + data: params + }) + }, + // 流程审批(撤回) + revokeTask: function(params) { + return request({ + url: '/base/v1/baseaccadjapply/revokeProcess', + method: 'post', + data: params + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: '/base/v1/baseaccadjapply/getNextNodesForSubmit', + method: 'post', + data: data + }) + }, + // 审批流程(驳回、终止)获取上一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: '/base/v1/baseaccadjapply/getPreviousNodesForReject', + method: 'get', + params: data + }) + }, + // 读取xml文件 + readXml: function(deployId) { + return request({ + url: '/flowable/v1/flowable/task/readXml/' + deployId, + method: 'get' + }) + }, + // 读取image文件 + getFlowViewer: function(procInsId) { + return request({ + url: '/flowable/v1/flowable/task/flowViewer/' + procInsId, + method: 'get' + }) + } +} diff --git a/src/api/flow/todo.js b/src/api/flow/todo.js new file mode 100644 index 0000000..8f193de --- /dev/null +++ b/src/api/flow/todo.js @@ -0,0 +1,50 @@ +import request from '@/utils/request' + +// 代办任务同意办理 +export function businessAgree(params) { + return request({ + url: '/portal/v1/flow/complete', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) +} + +// 代办任务驳回任务 +export function rejectTask(params) { + return request({ + url: '/portal/v1/flow/reject/' + params.businessSid, + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) +} + +// 代办任务终止任务 +export function breakTask(params) { + return request({ + url: '/portal/v1/flow/breakProcess/' + params.businessSid, + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) +} + +// 代办任务撤回任务 +export function revokeTask(params) { + return request({ + url: '/portal/v1/flow/revokeProcess/' + params.userSid + '/' + params.businessSid, + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) +} + diff --git a/src/api/flow/vehicleReturn.js b/src/api/flow/vehicleReturn.js new file mode 100644 index 0000000..b234ccd --- /dev/null +++ b/src/api/flow/vehicleReturn.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + + +///scm/v1/scmvehiclereturn/listPage' +export default { + getPreviousNodesForReject: function(formobj) { + return request({ + url: '/scm/v1/scmvehiclereturn/getPreviousNodesForReject', + method: 'post', + data: formobj, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + getNextNodesForSubmit: function(data) { + return request({ + url: '/scm/v1/scmvehiclereturn/getNextNodesForSubmit', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + // 同意任务 + agreeTask: function(params) { + return request({ + url: '/scm/v1/scmvehiclereturn/complete', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + // 驳回任务 + rejectTask: function(params) { + return request({ + url: '/scm/v1/scmvehiclereturn/reject', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + // 终止任务 + breakTask: function(params) { + return request({ + url: '/scm/v1/scmvehiclereturn/breakProcess', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + // 撤回任务 + revokeTask: function(params) { + return request({ + url: '/scm/v1/scmvehiclereturn/revokeProcess', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) + } +} diff --git a/src/api/hikvision/demo.js b/src/api/hikvision/demo.js new file mode 100644 index 0000000..724a6c5 --- /dev/null +++ b/src/api/hikvision/demo.js @@ -0,0 +1,2019 @@ +// 初始化插件 + +// 全局保存当前选中窗口 +var g_iWndIndex = 0; //可以不用设置这个变量,有窗口参数的接口中,不用传值,开发包会默认使用当前选择窗口 +$(function () { + // 检查插件是否已经安装过 + var iRet = WebVideoCtrl.I_CheckPluginInstall(); + if (-1 == iRet) { + alert("您还未安装过插件,双击开发包目录里的WebComponentsKit.exe安装!"); + return; + } + + // 初始化插件参数及插入插件 + WebVideoCtrl.I_InitPlugin(500, 300, { + bWndFull: true, //是否支持单窗口双击全屏,默认支持 true:支持 false:不支持 + iPackageType: 2, //2:PS 11:MP4 + iWndowType: 2, + bNoPlugin: true, + cbSelWnd: function (xmlDoc) { + g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10); + var szInfo = "当前选择的窗口编号:" + g_iWndIndex; + showCBInfo(szInfo); + }, + cbDoubleClickWnd: function (iWndIndex, bFullScreen) { + var szInfo = "当前放大的窗口编号:" + iWndIndex; + if (!bFullScreen) { + szInfo = "当前还原的窗口编号:" + iWndIndex; + } + showCBInfo(szInfo); + + // 此处可以处理单窗口的码流切换 + /*if (bFullScreen) { + clickStartRealPlay(1); + } else { + clickStartRealPlay(2); + }*/ + }, + cbEvent: function (iEventType, iParam1, iParam2) { + if (2 == iEventType) {// 回放正常结束 + showCBInfo("窗口" + iParam1 + "回放结束!"); + } else if (-1 == iEventType) { + showCBInfo("设备" + iParam1 + "网络错误!"); + } else if (3001 == iEventType) { + clickStopRecord(g_szRecordType, iParam1); + } + }, + cbRemoteConfig: function () { + showCBInfo("关闭远程配置库!"); + }, + cbInitPluginComplete: function () { + WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin"); + + // 检查插件是否最新 + if (-1 == WebVideoCtrl.I_CheckPluginVersion()) { + alert("检测到新的插件版本,双击开发包目录里的WebComponentsKit.exe升级!"); + return; + } + } + }); + + // 窗口事件绑定 + $(window).bind({ + resize: function () { + var $Restart = $("#restartDiv"); + if ($Restart.length > 0) { + var oSize = getWindowSize(); + $Restart.css({ + width: oSize.width + "px", + height: oSize.height + "px" + }); + } + } + }); + + //初始化日期时间 + var szCurTime = dateFormat(new Date(), "yyyy-MM-dd"); + $("#starttime").val(szCurTime + " 00:00:00"); + $("#endtime").val(szCurTime + " 23:59:59"); +}); + +// 显示操作信息 +function showOPInfo(szInfo, status, xmlDoc) { + var szTip = "
" + dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss") + " " + szInfo; + if (typeof status != "undefined" && status != 200) { + var szStatusString = $(xmlDoc).find("statusString").eq(0).text(); + var szSubStatusCode = $(xmlDoc).find("subStatusCode").eq(0).text(); + if ("" === szSubStatusCode) { + szTip += "(" + status + ", " + szStatusString + ")"; + } else { + szTip += "(" + status + ", " + szSubStatusCode + ")"; + } + } + szTip += "
"; + + $("#opinfo").html(szTip + $("#opinfo").html()); +} + +// 显示回调信息 +function showCBInfo(szInfo) { + szInfo = "
" + dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss") + " " + szInfo + "
"; + $("#cbinfo").html(szInfo + $("#cbinfo").html()); +} + +// 格式化时间 +function dateFormat(oDate, fmt) { + var o = { + "M+": oDate.getMonth() + 1, //月份 + "d+": oDate.getDate(), //日 + "h+": oDate.getHours(), //小时 + "m+": oDate.getMinutes(), //分 + "s+": oDate.getSeconds(), //秒 + "q+": Math.floor((oDate.getMonth() + 3) / 3), //季度 + "S": oDate.getMilliseconds()//毫秒 + }; + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (oDate.getFullYear() + "").substr(4 - RegExp.$1.length)); + } + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + } + } + return fmt; +} + +// 获取窗口尺寸 +function getWindowSize() { + var nWidth = $(this).width() + $(this).scrollLeft(), + nHeight = $(this).height() + $(this).scrollTop(); + + return {width: nWidth, height: nHeight}; +} + +// 打开选择框 0:文件夹 1:文件 +function clickOpenFileDlg(id, iType) { + var szDirPath = WebVideoCtrl.I_OpenFileDlg(iType); + + if (szDirPath != -1 && szDirPath != "" && szDirPath != null) { + $("#" + id).val(szDirPath); + } +} + +// 获取本地参数 +function clickGetLocalCfg() { + var xmlDoc = WebVideoCtrl.I_GetLocalCfg(); + + if (xmlDoc != null) { + $("#netsPreach").val($(xmlDoc).find("BuffNumberType").eq(0).text()); + $("#wndSize").val($(xmlDoc).find("PlayWndType").eq(0).text()); + $("#rulesInfo").val($(xmlDoc).find("IVSMode").eq(0).text()); + $("#captureFileFormat").val($(xmlDoc).find("CaptureFileFormat").eq(0).text()); + $("#packSize").val($(xmlDoc).find("PackgeSize").eq(0).text()); + $("#recordPath").val($(xmlDoc).find("RecordPath").eq(0).text()); + $("#downloadPath").val($(xmlDoc).find("DownloadPath").eq(0).text()); + $("#previewPicPath").val($(xmlDoc).find("CapturePath").eq(0).text()); + $("#playbackPicPath").val($(xmlDoc).find("PlaybackPicPath").eq(0).text()); + $("#devicePicPath").val($(xmlDoc).find("DeviceCapturePath").eq(0).text()); + $("#playbackFilePath").val($(xmlDoc).find("PlaybackFilePath").eq(0).text()); + $("#protocolType").val($(xmlDoc).find("ProtocolType").eq(0).text()); + + showOPInfo("本地配置获取成功!"); + } else { + showOPInfo("本地配置获取失败!"); + } +} + +// 设置本地参数 +function clickSetLocalCfg() { + var arrXml = [], + szInfo = ""; + + arrXml.push(""); + arrXml.push("" + $("#packSize").val() + ""); + arrXml.push("" + $("#wndSize").val() + ""); + arrXml.push("" + $("#netsPreach").val() + ""); + arrXml.push("" + $("#recordPath").val() + ""); + arrXml.push("" + $("#previewPicPath").val() + ""); + arrXml.push("" + $("#playbackFilePath").val() + ""); + arrXml.push("" + $("#playbackPicPath").val() + ""); + arrXml.push("" + $("#devicePicPath").val() + ""); + arrXml.push("" + $("#downloadPath").val() + ""); + arrXml.push("" + $("#rulesInfo").val() + ""); + arrXml.push("" + $("#captureFileFormat").val() + ""); + arrXml.push("" + $("#protocolType").val() + ""); + arrXml.push(""); + + var iRet = WebVideoCtrl.I_SetLocalCfg(arrXml.join("")); + + if (0 == iRet) { + szInfo = "本地配置设置成功!"; + } else { + szInfo = "本地配置设置失败!"; + } + showOPInfo(szInfo); +} + +// 窗口分割数 +function changeWndNum(iType) { + iType = parseInt(iType, 10); + WebVideoCtrl.I_ChangeWndNum(iType); +} + +// 登录 +function clickLogin() { + var szIP = $("#loginip").val(), + szPort = $("#port").val(), + szUsername = $("#username").val(), + szPassword = $("#password").val(); + + if ("" == szIP || "" == szPort) { + return; + } + + var szDeviceIdentify = szIP + "_" + szPort; + + var iRet = WebVideoCtrl.I_Login(szIP, 1, szPort, szUsername, szPassword, { + success: function (xmlDoc) { + showOPInfo(szDeviceIdentify + " 登录成功!"); + + $("#ip").prepend(""); + setTimeout(function () { + $("#ip").val(szDeviceIdentify); + getChannelInfo(); + getDevicePort(); + }, 10); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 登录失败!", status, xmlDoc); + } + }); + + if (-1 == iRet) { + showOPInfo(szDeviceIdentify + " 已登录过!"); + } +} + +// 退出 +function clickLogout() { + var szDeviceIdentify = $("#ip").val(), + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + var iRet = WebVideoCtrl.I_Logout(szDeviceIdentify); + if (0 == iRet) { + szInfo = "退出成功!"; + + $("#ip option[value='" + szDeviceIdentify + "']").remove(); + getChannelInfo(); + getDevicePort(); + } else { + szInfo = "退出失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +// 获取设备信息 +function clickGetDeviceInfo() { + var szDeviceIdentify = $("#ip").val(); + + if (null == szDeviceIdentify) { + return; + } + + WebVideoCtrl.I_GetDeviceInfo(szDeviceIdentify, { + success: function (xmlDoc) { + var arrStr = []; + arrStr.push("设备名称:" + $(xmlDoc).find("deviceName").eq(0).text() + "\r\n"); + arrStr.push("设备ID:" + $(xmlDoc).find("deviceID").eq(0).text() + "\r\n"); + arrStr.push("型号:" + $(xmlDoc).find("model").eq(0).text() + "\r\n"); + arrStr.push("设备序列号:" + $(xmlDoc).find("serialNumber").eq(0).text() + "\r\n"); + arrStr.push("MAC地址:" + $(xmlDoc).find("macAddress").eq(0).text() + "\r\n"); + arrStr.push("主控版本:" + $(xmlDoc).find("firmwareVersion").eq(0).text() + " " + $(xmlDoc).find("firmwareReleasedDate").eq(0).text() + "\r\n"); + arrStr.push("编码版本:" + $(xmlDoc).find("encoderVersion").eq(0).text() + " " + $(xmlDoc).find("encoderReleasedDate").eq(0).text() + "\r\n"); + + showOPInfo(szDeviceIdentify + " 获取设备信息成功!"); + alert(arrStr.join("")); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 获取设备信息失败!", status, xmlDoc); + } + }); +} + +// 获取通道 +function getChannelInfo() { + var szDeviceIdentify = $("#ip").val(), + oSel = $("#channels").empty(); + + if (null == szDeviceIdentify) { + return; + } + + // 模拟通道 + WebVideoCtrl.I_GetAnalogChannelInfo(szDeviceIdentify, { + async: false, + success: function (xmlDoc) { + var oChannels = $(xmlDoc).find("VideoInputChannel"); + + $.each(oChannels, function (i) { + var id = $(this).find("id").eq(0).text(), + name = $(this).find("name").eq(0).text(); + if ("" == name) { + name = "Camera " + (i < 9 ? "0" + (i + 1) : (i + 1)); + } + oSel.append(""); + }); + showOPInfo(szDeviceIdentify + " 获取模拟通道成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 获取模拟通道失败!", status, xmlDoc); + } + }); + // 数字通道 + WebVideoCtrl.I_GetDigitalChannelInfo(szDeviceIdentify, { + async: false, + success: function (xmlDoc) { + var oChannels = $(xmlDoc).find("InputProxyChannelStatus"); + + $.each(oChannels, function (i) { + var id = $(this).find("id").eq(0).text(), + name = $(this).find("name").eq(0).text(), + online = $(this).find("online").eq(0).text(); + if ("false" == online) {// 过滤禁用的数字通道 + return true; + } + if ("" == name) { + name = "IPCamera " + (i < 9 ? "0" + (i + 1) : (i + 1)); + } + oSel.append(""); + }); + showOPInfo(szDeviceIdentify + " 获取数字通道成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 获取数字通道失败!", status, xmlDoc); + } + }); + // 零通道 + WebVideoCtrl.I_GetZeroChannelInfo(szDeviceIdentify, { + async: false, + success: function (xmlDoc) { + var oChannels = $(xmlDoc).find("ZeroVideoChannel"); + + $.each(oChannels, function (i) { + var id = $(this).find("id").eq(0).text(), + name = $(this).find("name").eq(0).text(); + if ("" == name) { + name = "Zero Channel " + (i < 9 ? "0" + (i + 1) : (i + 1)); + } + if ("true" == $(this).find("enabled").eq(0).text()) {// 过滤禁用的零通道 + oSel.append(""); + } + }); + showOPInfo(szDeviceIdentify + " 获取零通道成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 获取零通道失败!", status, xmlDoc); + } + }); +} + +// 获取端口 +function getDevicePort() { + var szDeviceIdentify = $("#ip").val(); + + if (null == szDeviceIdentify) { + return; + } + + var oPort = WebVideoCtrl.I_GetDevicePort(szDeviceIdentify); + if (oPort != null) { + $("#deviceport").val(oPort.iDevicePort); + $("#rtspport").val(oPort.iRtspPort); + + showOPInfo(szDeviceIdentify + " 获取端口成功!"); + } else { + showOPInfo(szDeviceIdentify + " 获取端口失败!"); + } +} + +// 获取数字通道 +function clickGetDigitalChannelInfo() { + var szDeviceIdentify = $("#ip").val(), + iAnalogChannelNum = 0; + + $("#digitalchannellist").empty(); + + if (null == szDeviceIdentify) { + return; + } + + // 模拟通道 + WebVideoCtrl.I_GetAnalogChannelInfo(szDeviceIdentify, { + async: false, + success: function (xmlDoc) { + iAnalogChannelNum = $(xmlDoc).find("VideoInputChannel").length; + }, + error: function () { + + } + }); + + // 数字通道 + WebVideoCtrl.I_GetDigitalChannelInfo(szDeviceIdentify, { + async: false, + success: function (xmlDoc) { + var oChannels = $(xmlDoc).find("InputProxyChannelStatus"); + + $.each(oChannels, function () { + var id = parseInt($(this).find("id").eq(0).text(), 10), + ipAddress = $(this).find("ipAddress").eq(0).text(), + srcInputPort = $(this).find("srcInputPort").eq(0).text(), + managePortNo = $(this).find("managePortNo").eq(0).text(), + online = $(this).find("online").eq(0).text(), + proxyProtocol = $(this).find("proxyProtocol").eq(0).text(); + + var objTr = $("#digitalchannellist").get(0).insertRow(-1); + var objTd = objTr.insertCell(0); + objTd.innerHTML = (id - iAnalogChannelNum) < 10 ? "D0" + (id - iAnalogChannelNum) : "D" + (id - iAnalogChannelNum); + objTd = objTr.insertCell(1); + objTd.width = "25%"; + objTd.innerHTML = ipAddress; + objTd = objTr.insertCell(2); + objTd.width = "15%"; + objTd.innerHTML = srcInputPort; + objTd = objTr.insertCell(3); + objTd.width = "20%"; + objTd.innerHTML = managePortNo; + objTd = objTr.insertCell(4); + objTd.width = "15%"; + objTd.innerHTML = "true" == online ? "在线" : "离线"; + objTd = objTr.insertCell(5); + objTd.width = "25%"; + objTd.innerHTML = proxyProtocol; + }); + showOPInfo(szDeviceIdentify + " 获取数字通道成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 没有数字通道!", status, xmlDoc); + } + }); +} + +// 开始预览 +function clickStartRealPlay(iStreamType) { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szDeviceIdentify = $("#ip").val(), + iRtspPort = parseInt($("#rtspport").val(), 10), + iChannelID = parseInt($("#channels").val(), 10), + bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false, + szInfo = ""; + + if ("undefined" === typeof iStreamType) { + iStreamType = parseInt($("#streamtype").val(), 10); + } + + if (null == szDeviceIdentify) { + return; + } + + var startRealPlay = function () { + WebVideoCtrl.I_StartRealPlay(szDeviceIdentify, { + iRtspPort: iRtspPort, + iStreamType: iStreamType, + iChannelID: iChannelID, + bZeroChannel: bZeroChannel, + success: function () { + szInfo = "开始预览成功!"; + showOPInfo(szDeviceIdentify + " " + szInfo); + }, + error: function (status, xmlDoc) { + if (403 === status) { + szInfo = "设备不支持Websocket取流!"; + } else { + szInfo = "开始预览失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); + } + }); + }; + + if (oWndInfo != null) {// 已经在播放了,先停止 + WebVideoCtrl.I_Stop({ + success: function () { + startRealPlay(); + } + }); + } else { + startRealPlay(); + } +} + +// 停止预览 +function clickStopRealPlay() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_Stop({ + success: function () { + szInfo = "停止预览成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "停止预览失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 打开声音 +function clickOpenSound() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var allWndInfo = WebVideoCtrl.I_GetWindowStatus(); + // 循环遍历所有窗口,如果有窗口打开了声音,先关闭 + for (var i = 0, iLen = allWndInfo.length; i < iLen; i++) { + oWndInfo = allWndInfo[i]; + if (oWndInfo.bSound) { + WebVideoCtrl.I_CloseSound(oWndInfo.iIndex); + break; + } + } + + var iRet = WebVideoCtrl.I_OpenSound(); + + if (0 == iRet) { + szInfo = "打开声音成功!"; + } else { + szInfo = "打开声音失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 关闭声音 +function clickCloseSound() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_CloseSound(); + if (0 == iRet) { + szInfo = "关闭声音成功!"; + } else { + szInfo = "关闭声音失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 设置音量 +function clickSetVolume() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + iVolume = parseInt($("#volume").val(), 10), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_SetVolume(iVolume); + if (0 == iRet) { + szInfo = "音量设置成功!"; + } else { + szInfo = "音量设置失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 抓图 +function clickCapturePic() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var xmlDoc = WebVideoCtrl.I_GetLocalCfg(); + var szCaptureFileFormat = "0"; + if (xmlDoc != null) { + szCaptureFileFormat = $(xmlDoc).find("CaptureFileFormat").eq(0).text(); + } + + var szChannelID = $("#channels").val(); + var szPicName = oWndInfo.szDeviceIdentify + "_" + szChannelID + "_" + new Date().getTime(); + + szPicName += ("0" === szCaptureFileFormat) ? ".jpg": ".bmp"; + + var iRet = WebVideoCtrl.I_CapturePic(szPicName, { + bDateDir: true //是否生成日期文件 + }); + if (0 == iRet) { + szInfo = "抓图成功!"; + } else { + szInfo = "抓图失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 开始录像 +var g_szRecordType = ""; +function clickStartRecord(szType) { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + g_szRecordType = szType; + + if (oWndInfo != null) { + var szChannelID = $("#channels").val(), + szFileName = oWndInfo.szDeviceIdentify + "_" + szChannelID + "_" + new Date().getTime(); + + WebVideoCtrl.I_StartRecord(szFileName, { + bDateDir: true, //是否生成日期文件 + success: function () { + if ('realplay' === szType) { + szInfo = "开始录像成功!"; + } else if ('playback' === szType) { + szInfo = "开始剪辑成功!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + if ('realplay' === szType) { + szInfo = "开始录像失败!"; + } else if ('playback' === szType) { + szInfo = "开始剪辑失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 停止录像 +function clickStopRecord(szType, iWndIndex) { + if ("undefined" === typeof iWndIndex) { + iWndIndex = g_iWndIndex; + } + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_StopRecord({ + success: function () { + if ('realplay' === szType) { + szInfo = "停止录像成功!"; + } else if ('playback' === szType) { + szInfo = "停止剪辑成功!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + if ('realplay' === szType) { + szInfo = "停止录像失败!"; + } else if ('playback' === szType) { + szInfo = "停止剪辑失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 获取对讲通道 +function clickGetAudioInfo() { + var szDeviceIdentify = $("#ip").val(); + + if (null == szDeviceIdentify) { + return; + } + + WebVideoCtrl.I_GetAudioInfo(szDeviceIdentify, { + success: function (xmlDoc) { + var oAudioChannels = $(xmlDoc).find("TwoWayAudioChannel"), + oSel = $("#audiochannels").empty(); + $.each(oAudioChannels, function () { + var id = $(this).find("id").eq(0).text(); + + oSel.append(""); + }); + showOPInfo(szDeviceIdentify + " 获取对讲通道成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 获取对讲通道失败!", status, xmlDoc); + } + }); +} + +// 开始对讲 +function clickStartVoiceTalk() { + var szDeviceIdentify = $("#ip").val(), + iAudioChannel = parseInt($("#audiochannels").val(), 10), + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + if (isNaN(iAudioChannel)) { + alert("请选择对讲通道!"); + return; + } + + var iRet = WebVideoCtrl.I_StartVoiceTalk(szDeviceIdentify, iAudioChannel); + + if (0 == iRet) { + szInfo = "开始对讲成功!"; + } else { + szInfo = "开始对讲失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +// 停止对讲 +function clickStopVoiceTalk() { + var szDeviceIdentify = $("#ip").val(), + iRet = WebVideoCtrl.I_StopVoiceTalk(), + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + if (0 == iRet) { + szInfo = "停止对讲成功!"; + } else { + szInfo = "停止对讲失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +// 启用电子放大 +function clickEnableEZoom() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_EnableEZoom(); + if (0 == iRet) { + szInfo = "启用电子放大成功!"; + } else { + szInfo = "启用电子放大失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 禁用电子放大 +function clickDisableEZoom() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_DisableEZoom(); + if (0 == iRet) { + szInfo = "禁用电子放大成功!"; + } else { + szInfo = "禁用电子放大失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 启用3D放大 +function clickEnable3DZoom() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_Enable3DZoom(); + if (0 == iRet) { + szInfo = "启用3D放大成功!"; + } else { + szInfo = "启用3D放大失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 禁用3D放大 +function clickDisable3DZoom() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + var iRet = WebVideoCtrl.I_Disable3DZoom(); + if (0 == iRet) { + szInfo = "禁用3D放大成功!"; + } else { + szInfo = "禁用3D放大失败!"; + } + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } +} + +// 全屏 +function clickFullScreen() { + WebVideoCtrl.I_FullScreen(true); +} + +// PTZ控制 9为自动,1,2,3,4,5,6,7,8为方向PTZ +var g_bPTZAuto = false; +function mouseDownPTZControl(iPTZIndex) { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false, + iPTZSpeed = $("#ptzspeed").val(); + + if (bZeroChannel) {// 零通道不支持云台 + return; + } + + if (oWndInfo != null) { + if (9 == iPTZIndex && g_bPTZAuto) { + iPTZSpeed = 0;// 自动开启后,速度置为0可以关闭自动 + } else { + g_bPTZAuto = false;// 点击其他方向,自动肯定会被关闭 + } + + WebVideoCtrl.I_PTZControl(iPTZIndex, false, { + iPTZSpeed: iPTZSpeed, + success: function (xmlDoc) { + if (9 == iPTZIndex && g_bPTZAuto) { + showOPInfo(oWndInfo.szDeviceIdentify + " 停止云台成功!"); + } else { + showOPInfo(oWndInfo.szDeviceIdentify + " 开启云台成功!"); + } + if (9 == iPTZIndex) { + g_bPTZAuto = !g_bPTZAuto; + } + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 开启云台失败!", status, xmlDoc); + } + }); + } +} + +// 方向PTZ停止 +function mouseUpPTZControl() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(1, true, { + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 停止云台成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 停止云台失败!", status, xmlDoc); + } + }); + } +} + +// 设置预置点 +function clickSetPreset() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + iPresetID = parseInt($("#preset").val(), 10); + + if (oWndInfo != null) { + WebVideoCtrl.I_SetPreset(iPresetID, { + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 设置预置点成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 设置预置点失败!", status, xmlDoc); + } + }); + } +} + +// 调用预置点 +function clickGoPreset() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + iPresetID = parseInt($("#preset").val(), 10); + + if (oWndInfo != null) { + WebVideoCtrl.I_GoPreset(iPresetID, { + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调用预置点成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调用预置点失败!", status, xmlDoc); + } + }); + } +} + +// 搜索录像 +var g_iSearchTimes = 0; +function clickRecordSearch(iType) { + var szDeviceIdentify = $("#ip").val(), + iChannelID = parseInt($("#channels").val(), 10), + bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false, + iStreamType = parseInt($("#record_streamtype").val(), 10), + szStartTime = $("#starttime").val(), + szEndTime = $("#endtime").val(); + + if (null == szDeviceIdentify) { + return; + } + + if (bZeroChannel) {// 零通道不支持录像搜索 + return; + } + + if (0 == iType) {// 首次搜索 + $("#searchlist").empty(); + g_iSearchTimes = 0; + } + + WebVideoCtrl.I_RecordSearch(szDeviceIdentify, iChannelID, szStartTime, szEndTime, { + iStreamType: iStreamType, + iSearchPos: g_iSearchTimes * 40, + success: function (xmlDoc) { + if ("MORE" === $(xmlDoc).find("responseStatusStrg").eq(0).text()) { + + for(var i = 0, nLen = $(xmlDoc).find("searchMatchItem").length; i < nLen; i++) { + var szPlaybackURI = $(xmlDoc).find("playbackURI").eq(i).text(); + if(szPlaybackURI.indexOf("name=") < 0) { + break; + } + var szStartTime = $(xmlDoc).find("startTime").eq(i).text(); + var szEndTime = $(xmlDoc).find("endTime").eq(i).text(); + var szFileName = szPlaybackURI.substring(szPlaybackURI.indexOf("name=") + 5, szPlaybackURI.indexOf("&size=")); + + var objTr = $("#searchlist").get(0).insertRow(-1); + var objTd = objTr.insertCell(0); + objTd.id = "downloadTd" + i; + objTd.innerHTML = g_iSearchTimes * 40 + (i + 1); + objTd = objTr.insertCell(1); + objTd.width = "30%"; + objTd.innerHTML = szFileName; + objTd = objTr.insertCell(2); + objTd.width = "30%"; + objTd.innerHTML = (szStartTime.replace("T", " ")).replace("Z", ""); + objTd = objTr.insertCell(3); + objTd.width = "30%"; + objTd.innerHTML = (szEndTime.replace("T", " ")).replace("Z", ""); + objTd = objTr.insertCell(4); + objTd.width = "10%"; + objTd.innerHTML = "下载"; + $("#downloadTd" + (i + g_iSearchTimes * 40)).data("fileName", szFileName); + $("#downloadTd" + (i + g_iSearchTimes * 40)).data("playbackURI", szPlaybackURI); + } + + g_iSearchTimes++; + clickRecordSearch(1);// 继续搜索 + } else if ("OK" === $(xmlDoc).find("responseStatusStrg").eq(0).text()) { + var iLength = $(xmlDoc).find("searchMatchItem").length; + for(var i = 0; i < iLength; i++) { + var szPlaybackURI = $(xmlDoc).find("playbackURI").eq(i).text(); + if(szPlaybackURI.indexOf("name=") < 0) { + break; + } + var szStartTime = $(xmlDoc).find("startTime").eq(i).text(); + var szEndTime = $(xmlDoc).find("endTime").eq(i).text(); + var szFileName = szPlaybackURI.substring(szPlaybackURI.indexOf("name=") + 5, szPlaybackURI.indexOf("&size=")); + + var objTr = $("#searchlist").get(0).insertRow(-1); + var objTd = objTr.insertCell(0); + objTd.id = "downloadTd" + i; + objTd.innerHTML = g_iSearchTimes * 40 + (i + 1); + objTd = objTr.insertCell(1); + objTd.width = "30%"; + objTd.innerHTML = szFileName; + objTd = objTr.insertCell(2); + objTd.width = "30%"; + objTd.innerHTML = (szStartTime.replace("T", " ")).replace("Z", ""); + objTd = objTr.insertCell(3); + objTd.width = "30%"; + objTd.innerHTML = (szEndTime.replace("T", " ")).replace("Z", ""); + objTd = objTr.insertCell(4); + objTd.width = "10%"; + objTd.innerHTML = "下载"; + $("#downloadTd" + (i + g_iSearchTimes * 40)).data("fileName", szFileName); + $("#downloadTd" + (i + g_iSearchTimes * 40)).data("playbackURI", szPlaybackURI); + } + showOPInfo(szDeviceIdentify + " 搜索录像文件成功!"); + } else if("NO MATCHES" === $(xmlDoc).find("responseStatusStrg").eq(0).text()) { + setTimeout(function() { + showOPInfo(szDeviceIdentify + " 没有录像文件!"); + }, 50); + } + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 搜索录像文件失败!", status, xmlDoc); + } + }); +} + +// 开始回放 +function clickStartPlayback() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szDeviceIdentify = $("#ip").val(), + iRtspPort = parseInt($("#rtspport").val(), 10), + iStreamType = parseInt($("#record_streamtype").val(), 10), + bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false, + iChannelID = parseInt($("#channels").val(), 10), + szStartTime = $("#starttime").val(), + szEndTime = $("#endtime").val(), + szInfo = "", + bChecked = $("#transstream").prop("checked"), + iRet = -1; + + if (null == szDeviceIdentify) { + return; + } + + if (bZeroChannel) {// 零通道不支持回放 + return; + } + + var startPlayback = function () { + if (bChecked) {// 启用转码回放 + var oTransCodeParam = { + TransFrameRate: "14",// 0:全帧率,5:1,6:2,7:4,8:6,9:8,10:10,11:12,12:16,14:15,15:18,13:20,16:22 + TransResolution: "1",// 255:Auto,3:4CIF,2:QCIF,1:CIF + TransBitrate: "19"// 2:32K,3:48K,4:64K,5:80K,6:96K,7:128K,8:160K,9:192K,10:224K,11:256K,12:320K,13:384K,14:448K,15:512K,16:640K,17:768K,18:896K,19:1024K,20:1280K,21:1536K,22:1792K,23:2048K,24:3072K,25:4096K,26:8192K + }; + WebVideoCtrl.I_StartPlayback(szDeviceIdentify, { + iRtspPort: iRtspPort, + iStreamType: iStreamType, + iChannelID: iChannelID, + szStartTime: szStartTime, + szEndTime: szEndTime, + oTransCodeParam: oTransCodeParam, + success: function () { + szInfo = "开始回放成功!"; + showOPInfo(szDeviceIdentify + " " + szInfo); + }, + error: function (status, xmlDoc) { + if (403 === status) { + szInfo = "设备不支持Websocket取流!"; + } else { + szInfo = "开始回放失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); + } + }); + } else { + WebVideoCtrl.I_StartPlayback(szDeviceIdentify, { + iRtspPort: iRtspPort, + iStreamType: iStreamType, + iChannelID: iChannelID, + szStartTime: szStartTime, + szEndTime: szEndTime, + success: function () { + szInfo = "开始回放成功!"; + showOPInfo(szDeviceIdentify + " " + szInfo); + }, + error: function (status, xmlDoc) { + if (403 === status) { + szInfo = "设备不支持Websocket取流!"; + } else { + szInfo = "开始回放失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); + } + }); + } + }; + + if (oWndInfo != null) {// 已经在播放了,先停止 + WebVideoCtrl.I_Stop({ + success: function () { + startPlayback(); + } + }); + } else { + startPlayback(); + } +} + +// 停止回放 +function clickStopPlayback() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_Stop({ + success: function () { + szInfo = "停止回放成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "停止回放失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 开始倒放 +function clickReversePlayback() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szDeviceIdentify = $("#ip").val(), + iRtspPort = parseInt($("#rtspport").val(), 10), + iStreamType = parseInt($("#record_streamtype").val(), 10), + bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false, + iChannelID = parseInt($("#channels").val(), 10), + szStartTime = $("#starttime").val(), + szEndTime = $("#endtime").val(), + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + if (bZeroChannel) {// 零通道不支持倒放 + return; + } + + var reversePlayback = function () { + var iRet = WebVideoCtrl.I_ReversePlayback(szDeviceIdentify, { + iRtspPort: iRtspPort, + iStreamType: iStreamType, + iChannelID: iChannelID, + szStartTime: szStartTime, + szEndTime: szEndTime + }); + + if (0 == iRet) { + szInfo = "开始倒放成功!"; + } else { + szInfo = "开始倒放失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); + }; + + if (oWndInfo != null) {// 已经在播放了,先停止 + WebVideoCtrl.I_Stop({ + success: function () { + reversePlayback(); + } + }); + } else { + reversePlayback(); + } +} + +// 单帧 +function clickFrame() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_Frame({ + success: function () { + szInfo = "单帧播放成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "单帧播放失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 暂停 +function clickPause() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_Pause({ + success: function () { + szInfo = "暂停成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "暂停失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 恢复 +function clickResume() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_Resume({ + success: function () { + szInfo = "恢复成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "恢复失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 慢放 +function clickPlaySlow() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_PlaySlow({ + success: function () { + szInfo = "慢放成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "慢放失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// 快放 +function clickPlayFast() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex), + szInfo = ""; + + if (oWndInfo != null) { + WebVideoCtrl.I_PlayFast({ + success: function () { + szInfo = "快放成功!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + }, + error: function () { + szInfo = "快放失败!"; + showOPInfo(oWndInfo.szDeviceIdentify + " " + szInfo); + } + }); + } +} + +// OSD时间 +function clickGetOSDTime() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + var szTime = WebVideoCtrl.I_GetOSDTime({ + success: function (szOSDTime) { + $("#osdtime").val(szOSDTime); + showOPInfo(oWndInfo.szDeviceIdentify + " 获取OSD时间成功!"); + }, + error: function () { + showOPInfo(oWndInfo.szDeviceIdentify + " 获取OSD时间失败!"); + } + }); + } +} + +// 下载录像 +var g_iDownloadID = -1; +var g_tDownloadProcess = 0; +function clickStartDownloadRecord(i) { + var szDeviceIdentify = $("#ip").val(), + szChannelID = $("#channels").val(), + szFileName = $("#downloadTd" + i).data("fileName"), + szPlaybackURI = $("#downloadTd" + i).data("playbackURI"); + + if (null == szDeviceIdentify) { + return; + } + + g_iDownloadID = WebVideoCtrl.I_StartDownloadRecord(szDeviceIdentify, szPlaybackURI, szFileName, { + bDateDir: true //是否生成日期文件 + }); + + if (g_iDownloadID < 0) { + var iErrorValue = WebVideoCtrl.I_GetLastError(); + if (34 == iErrorValue) { + showOPInfo(szDeviceIdentify + " 已下载!"); + } else if (33 == iErrorValue) { + showOPInfo(szDeviceIdentify + " 空间不足!"); + } else { + showOPInfo(szDeviceIdentify + " 下载失败!"); + } + } else { + $("
").appendTo("body"); + g_tDownloadProcess = setInterval("downProcess(" + i + ")", 1000); + } +} +// 下载进度 +function downProcess() { + var iStatus = WebVideoCtrl.I_GetDownloadStatus(g_iDownloadID); + if (0 == iStatus) { + $("#downProcess").css({ + width: $("#searchlist").width() + "px", + height: "100px", + lineHeight: "100px", + left: $("#searchdiv").offset().left + "px", + top: $("#searchdiv").offset().top + "px" + }); + var iProcess = WebVideoCtrl.I_GetDownloadProgress(g_iDownloadID); + if (iProcess < 0) { + clearInterval(g_tDownloadProcess); + g_tDownloadProcess = 0; + g_iDownloadID = -1; + } else if (iProcess < 100) { + $("#downProcess").text(iProcess + "%"); + } else { + $("#downProcess").text("100%"); + setTimeout(function () { + $("#downProcess").remove(); + }, 1000); + + WebVideoCtrl.I_StopDownloadRecord(g_iDownloadID); + + showOPInfo("录像下载完成!"); + clearInterval(g_tDownloadProcess); + g_tDownloadProcess = 0; + g_iDownloadID = -1; + } + } else { + WebVideoCtrl.I_StopDownloadRecord(g_iDownloadID); + + clearInterval(g_tDownloadProcess); + g_tDownloadProcess = 0; + g_iDownloadID = -1; + } +} + +// 导出配置文件 +function clickExportDeviceConfig() { + var szDeviceIdentify = $("#ip").val(), + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + var iRet = WebVideoCtrl.I_ExportDeviceConfig(szDeviceIdentify); + + if (0 == iRet) { + szInfo = "导出配置文件成功!"; + } else { + szInfo = "导出配置文件失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +// 导入配置文件 +function clickImportDeviceConfig() { + var szDeviceIdentify = $("#ip").val(), + szFileName = $("#configFile").val(); + + if (null == szDeviceIdentify) { + return; + } + + if ("" == szFileName) { + alert("请选择配置文件!"); + return; + } + + var iRet = WebVideoCtrl.I_ImportDeviceConfig(szDeviceIdentify, szFileName); + + if (0 == iRet) { + WebVideoCtrl.I_Restart(szDeviceIdentify, { + success: function (xmlDoc) { + $("
重启中...
").appendTo("body"); + var oSize = getWindowSize(); + $("#restartDiv").css({ + width: oSize.width + "px", + height: oSize.height + "px", + lineHeight: oSize.height + "px", + left: 0, + top: 0 + }); + setTimeout("reconnect('" + szDeviceIdentify + "')", 20000); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 重启失败!", status, xmlDoc); + } + }); + } else { + showOPInfo(szDeviceIdentify + " 导入失败!"); + } +} + +// 重连 +function reconnect(szDeviceIdentify) { + WebVideoCtrl.I_Reconnect(szDeviceIdentify, { + success: function (xmlDoc) { + $("#restartDiv").remove(); + }, + error: function (status, xmlDoc) { + if (401 == status) {// 无插件方案,重启后session已失效,程序执行登出,从已登录设备中删除 + $("#restartDiv").remove(); + clickLogout(); + } else { + setTimeout(function () {reconnect(szDeviceIdentify);}, 5000); + } + } + }); +} + +// 开始升级 +var g_tUpgrade = 0; +function clickStartUpgrade(szDeviceIdentify) { + var szDeviceIdentify = $("#ip").val(), + szFileName = $("#upgradeFile").val(); + + if (null == szDeviceIdentify) { + return; + } + + if ("" == szFileName) { + alert("请选择升级文件!"); + return; + } + + var iRet = WebVideoCtrl.I_StartUpgrade(szDeviceIdentify, szFileName); + if (0 == iRet) { + g_tUpgrade = setInterval("getUpgradeStatus('" + szDeviceIdentify + "')", 1000); + } else { + showOPInfo(szDeviceIdentify + " 升级失败!"); + } +} + +// 获取升级状态 +function getUpgradeStatus(szDeviceIdentify) { + var iStatus = WebVideoCtrl.I_UpgradeStatus(); + if (iStatus == 0) { + var iProcess = WebVideoCtrl.I_UpgradeProgress(); + if (iProcess < 0) { + clearInterval(g_tUpgrade); + g_tUpgrade = 0; + showOPInfo(szDeviceIdentify + " 获取进度失败!"); + return; + } else if (iProcess < 100) { + if (0 == $("#restartDiv").length) { + $("
").appendTo("body"); + var oSize = getWindowSize(); + $("#restartDiv").css({ + width: oSize.width + "px", + height: oSize.height + "px", + lineHeight: oSize.height + "px", + left: 0, + top: 0 + }); + } + $("#restartDiv").text(iProcess + "%"); + } else { + WebVideoCtrl.I_StopUpgrade(); + clearInterval(g_tUpgrade); + g_tUpgrade = 0; + + $("#restartDiv").remove(); + + WebVideoCtrl.I_Restart(szDeviceIdentify, { + success: function (xmlDoc) { + $("
重启中...
").appendTo("body"); + var oSize = getWindowSize(); + $("#restartDiv").css({ + width: oSize.width + "px", + height: oSize.height + "px", + lineHeight: oSize.height + "px", + left: 0, + top: 0 + }); + setTimeout("reconnect('" + szDeviceIdentify + "')", 20000); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 重启失败!", status, xmlDoc); + } + }); + } + } else if (iStatus == 1) { + WebVideoCtrl.I_StopUpgrade(); + showOPInfo(szDeviceIdentify + " 升级失败!"); + clearInterval(g_tUpgrade); + g_tUpgrade = 0; + } else if (iStatus == 2) { + mWebVideoCtrl.I_StopUpgrade(); + showOPInfo(szDeviceIdentify + " 语言不匹配!"); + clearInterval(g_tUpgrade); + g_tUpgrade = 0; + } else { + mWebVideoCtrl.I_StopUpgrade(); + showOPInfo(szDeviceIdentify + " 获取状态失败!"); + clearInterval(g_tUpgrade); + g_tUpgrade = 0; + } +} + +// 检查插件版本 +function clickCheckPluginVersion() { + var iRet = WebVideoCtrl.I_CheckPluginVersion(); + if (0 == iRet) { + alert("您的插件版本已经是最新的!"); + } else { + alert("检测到新的插件版本!"); + } +} + +// 远程配置库 +function clickRemoteConfig() { + var szDeviceIdentify = $("#ip").val(), + iDevicePort = parseInt($("#deviceport").val(), 10) || "", + szInfo = ""; + + if (null == szDeviceIdentify) { + return; + } + + var iRet = WebVideoCtrl.I_RemoteConfig(szDeviceIdentify, { + iDevicePort: iDevicePort, + iLan: 1 + }); + + if (-1 == iRet) { + szInfo = "调用远程配置库失败!"; + } else { + szInfo = "调用远程配置库成功!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +function clickRestoreDefault() { + var szDeviceIdentify = $("#ip").val(), + szMode = "basic"; + WebVideoCtrl.I_RestoreDefault(szDeviceIdentify, szMode, { + timeout: 30000, + success: function (xmlDoc) { + $("#restartDiv").remove(); + showOPInfo(szDeviceIdentify + " 恢复默认参数成功!"); + //恢复完成后需要重启 + WebVideoCtrl.I_Restart(szDeviceIdentify, { + success: function (xmlDoc) { + $("
重启中...
").appendTo("body"); + var oSize = getWindowSize(); + $("#restartDiv").css({ + width: oSize.width + "px", + height: oSize.height + "px", + lineHeight: oSize.height + "px", + left: 0, + top: 0 + }); + setTimeout("reconnect('" + szDeviceIdentify + "')", 20000); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 重启失败!", status, xmlDoc); + } + }); + }, + error: function (status, xmlDoc) { + showOPInfo(szDeviceIdentify + " 恢复默认参数失败!", status, xmlDoc); + } + }); +} + +function PTZZoomIn() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(10, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦+成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦+失败!", status, xmlDoc); + } + }); + } +} + +function PTZZoomout() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(11, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦-成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦-失败!", status, xmlDoc); + } + }); + } +} + +function PTZZoomStop() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(11, true, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦停止成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 调焦停止失败!", status, xmlDoc); + } + }); + } +} + +function PTZFocusIn() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(12, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦+成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦+失败!", status, xmlDoc); + } + }); + } +} + +function PTZFoucusOut() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(13, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦-成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦-失败!", status, xmlDoc); + } + }); + } +} + +function PTZFoucusStop() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(12, true, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦停止成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 聚焦停止失败!", status, xmlDoc); + } + }); + } +} + +function PTZIrisIn() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(14, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈+成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈+失败!", status, xmlDoc); + } + }); + } +} + +function PTZIrisOut() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(15, false, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈-成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈-失败!", status, xmlDoc); + } + }); + } +} + +function PTZIrisStop() { + var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex); + + if (oWndInfo != null) { + WebVideoCtrl.I_PTZControl(14, true, { + iWndIndex: g_iWndIndex, + success: function (xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈停止成功!"); + }, + error: function (status, xmlDoc) { + showOPInfo(oWndInfo.szDeviceIdentify + " 光圈停止失败!", status, xmlDoc); + } + }); + } +} + +// 切换模式 +function changeIPMode(iType) { + var arrPort = [0, 7071, 80]; + + $("#serverport").val(arrPort[iType]); +} + +// 获取设备IP +function clickGetDeviceIP() { + var iDeviceMode = parseInt($("#devicemode").val(), 10), + szAddress = $("#serveraddress").val(), + iPort = parseInt($("#serverport").val(), 10) || 0, + szDeviceID = $("#deviceid").val(), + szDeviceInfo = ""; + + szDeviceInfo = WebVideoCtrl.I_GetIPInfoByMode(iDeviceMode, szAddress, iPort, szDeviceID); + + if ("" == szDeviceInfo) { + showOPInfo("设备IP和端口解析失败!"); + } else { + showOPInfo("设备IP和端口解析成功!"); + + var arrTemp = szDeviceInfo.split("-"); + $("#loginip").val(arrTemp[0]); + $("#deviceport").val(arrTemp[1]); + } +} + +// 启用多边形绘制 +var g_bEnableDraw = false; +function clickEnableDraw() { + var iRet = WebVideoCtrl.I_SetPlayModeType(6);// 多边形模式 + + if (0 === iRet) { + g_bEnableDraw = true; + + showOPInfo("启用绘制成功!"); + } else { + showOPInfo("启用绘制失败!"); + } +} + +// 禁用多边形绘制 +function clickDisableDraw() { + var iRet = WebVideoCtrl.I_SetPlayModeType(0);// 预览模式 + if (0 === iRet) { + g_bEnableDraw = false; + + showOPInfo("禁用绘制成功!"); + } else { + showOPInfo("禁用绘制失败!"); + } +} + +// 添加图形 +function clickAddSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var szId = $("#snapId").val(); + var szName = encodeString($("#snapName").val()); + + var szInfo = ""; + szInfo += ""; + szInfo += ""; + szInfo += "" + szId + ""; // [1, 32] + szInfo += "1"; + szInfo += "17"; // [MinClosed, 17] + szInfo += "4"; // [4, 17] + szInfo += "#" + szId + "#" + szName + ""; + szInfo += "false"; + szInfo += "02550"; + szInfo += ""; + szInfo += ""; + szInfo += ""; + + var iRet = WebVideoCtrl.I_SetSnapPolygonInfo(g_iWndIndex, szInfo); + if (0 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "添加图形成功!"); + } else if (-1 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "添加图形失败!"); + } else if (-2 === iRet) { + alert("参数错误!"); + } else if (-3 === iRet) { + alert("图形个数达到上限!"); + } else if (-4 === iRet) { + alert("图形ID已存在!"); + } + WebVideoCtrl.I_SetSnapDrawMode(g_iWndIndex, 2); +} + +// 删除图形 +function clickDelSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var szId = $("#snapId").val(); + + var iIndex = getSnapPolygon(szId); + if (iIndex != -1) { + var oXML = getSnapPolygon(); + $(oXML).find("SnapPolygon").eq(iIndex).remove(); + + var szInfo = toXMLStr(oXML); + + WebVideoCtrl.I_ClearSnapInfo(g_iWndIndex); + WebVideoCtrl.I_SetSnapPolygonInfo(g_iWndIndex, szInfo); + WebVideoCtrl.I_SetSnapDrawMode(g_iWndIndex, 3); + } else { + alert("图形ID不存在!"); + } +} + +// 编辑图形 +function clickEditSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var iRet = WebVideoCtrl.I_SetSnapDrawMode(g_iWndIndex, 3); + if (0 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "编辑图形成功!"); + } else { + showOPInfo("窗口" + g_iWndIndex + "编辑图形失败!"); + } +} + +// 停止编辑 +function clickStopSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var iRet = WebVideoCtrl.I_SetSnapDrawMode(g_iWndIndex, -1); + if (0 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "停止编辑成功!"); + } else { + showOPInfo("窗口" + g_iWndIndex + "停止编辑失败!"); + } +} + +function getSnapPolygon(szId) { + var szInfo = WebVideoCtrl.I_GetSnapPolygonInfo(g_iWndIndex); + var oXML = loadXML(szInfo); + + if (typeof szId === "undefined") { + return oXML; + } else { + var iIndex = -1; + + var aNodeList = $(oXML).find("SnapPolygon"); + if (aNodeList.length > 0) { + $.each(aNodeList, function (i) { + if ($(this).find("id").text() === szId) { + iIndex = i; + return false; + } + }); + } + + return iIndex; + } +} + +// 获取图形,保存到自己数据库中 +function clickGetSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var szInfo = WebVideoCtrl.I_GetSnapPolygonInfo(g_iWndIndex); + + alert(szInfo); +} + +// 设置图形,页面打开时可以设置以前设置过的图形 +function clickSetSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + WebVideoCtrl.I_ClearSnapInfo(g_iWndIndex); + + var szInfo = ""; + szInfo += ""; + szInfo += ""; + szInfo += "1"; + szInfo += "1"; + szInfo += "#1#设置1"; + szInfo += "true"; + szInfo += "02550"; + szInfo += ""; + szInfo += "0.7379030.229730"; + szInfo += "0.9475810.804054"; + szInfo += "0.3629030.777027"; + szInfo += ""; + szInfo += ""; + szInfo += ""; + szInfo += "2"; + szInfo += "1"; + szInfo += "#2#设置2"; + szInfo += "true"; + szInfo += "02550"; + szInfo += ""; + szInfo += "0.4516130.216216"; + szInfo += "0.4475810.729730"; + szInfo += "0.1169350.554054"; + szInfo += ""; + szInfo += ""; + szInfo += ""; + + var iRet = WebVideoCtrl.I_SetSnapPolygonInfo(g_iWndIndex, szInfo); + if (0 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "设置图形成功!"); + } else if (-1 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "设置图形失败!"); + } else if (-2 === iRet) { + alert("参数错误!"); + } else if (-3 === iRet) { + alert("图形个数达到上限!"); + } else if (-4 === iRet) { + alert("图形ID已存在!"); + } +} + +// 清空图形 +function clickDelAllSnapPolygon() { + if (!g_bEnableDraw) { + return; + } + + var iRet = WebVideoCtrl.I_ClearSnapInfo(g_iWndIndex); + if (0 === iRet) { + showOPInfo("窗口" + g_iWndIndex + "清空图形成功!"); + } else { + showOPInfo("窗口" + g_iWndIndex + "清空图形失败!"); + } +} + +// 设备抓图 +function clickDeviceCapturePic() { + var szInfo = ""; + var szDeviceIdentify = $("#ip").val(); + var bZeroChannel = $("#channels option").eq($("#channels").get(0).selectedIndex).attr("bZero") == "true" ? true : false; + var iChannelID = parseInt($("#channels").val(), 10); + var iResolutionWidth = parseInt($("#resolutionWidth").val(), 10); + var iResolutionHeight = parseInt($("#resolutionHeight").val(), 10); + + if (null == szDeviceIdentify) { + return; + } + + if (bZeroChannel) {// 零通道不支持设备抓图 + return; + } + + var szPicName = szDeviceIdentify + "_" + iChannelID + "_" + new Date().getTime(); + var iRet = WebVideoCtrl.I_DeviceCapturePic(szDeviceIdentify, iChannelID, szPicName, { + bDateDir: true, //是否生成日期文件 + iResolutionWidth: iResolutionWidth, + iResolutionHeight: iResolutionHeight + }); + + if (0 == iRet) { + szInfo = "设备抓图成功!"; + } else { + szInfo = "设备抓图失败!"; + } + showOPInfo(szDeviceIdentify + " " + szInfo); +} + +function loadXML(szXml) { + if(null == szXml || "" == szXml) { + return null; + } + + var oXmlDoc = null; + + if (window.DOMParser) { + var oParser = new DOMParser(); + oXmlDoc = oParser.parseFromString(szXml, "text/xml"); + } else { + oXmlDoc = new ActiveXObject("Microsoft.XMLDOM"); + oXmlDoc.async = false; + oXmlDoc.loadXML(szXml); + } + + return oXmlDoc; +} + +function toXMLStr(oXmlDoc) { + var szXmlDoc = ""; + + try { + var oSerializer = new XMLSerializer(); + szXmlDoc = oSerializer.serializeToString(oXmlDoc); + } catch (e) { + try { + szXmlDoc = oXmlDoc.xml; + } catch (e) { + return ""; + } + } + if (szXmlDoc.indexOf("" + szXmlDoc; + } + + return szXmlDoc; +} + +function encodeString(str) { + if (str) { + return str.replace(/&/g, '&').replace(//g, '>'); + } else { + return ""; + } +} \ No newline at end of file diff --git a/src/api/hikvision/hkVideo.js b/src/api/hikvision/hkVideo.js new file mode 100644 index 0000000..c5bb498 --- /dev/null +++ b/src/api/hikvision/hkVideo.js @@ -0,0 +1,430 @@ +import { Message } from "element-ui"; + +var webVideoCtrl = window.WebVideoCtrl; +var $ = window.$; +/** + * 初始化 + * @param {number} iWndowType 分屏类型:1 - 1*1,2 - 2*2,3 - 3*3,4 - 4*4,默认值1,单画面 + * @param {number} width 插件的宽度(单位为”px”, 100%表示撑满插件容器) + * @param {number} height 插件的高度(单位为”px”, 100%表示撑满插件容器) + * @returns null + */ +let init = (iWndowType, width, height) => { + // 检查浏览器是否支持无插件 + if (!webVideoCtrl.I_SupportNoPlugin()) { + Message.warning( + "当前浏览器不支持无插件预览监控视频,已自动切换成插件模式,如果还未安装插件请安装" + ); + // 检查插件是否已经安装 + const isInstall = webVideoCtrl.I_CheckPluginInstall(); + if (isInstall == -1) { + Message.warning( + "您还未安装过插件,请先下载WebComponentsKit.exe双击安装!" + ); + return; + } + } + // 初始化插件 + webVideoCtrl.I_InitPlugin(width, height, { + szColorProperty: + "plugin-background:ffffff; sub-background:00000; sub-border:D0DAE4; sub-border-select:409EFF", // 表示插件的背景颜色,插件子窗口的背景颜色,窗口边框的颜色,窗口边框选中后的颜色 + iWndowType, + bNoPlugin: true, // 支持无插件 + cbSelWnd: (xmlDoc) => { + let iWndIndex = parseInt($(xmlDoc)?.find("SelectWnd").eq(0).text(), 10); + console.log("当前选择的窗口编号:" + iWndIndex); + }, + cbDoubleClickWnd: (iWndIndex, bFullScreen) => { + let szInfo = "当前放大的窗口编号:" + iWndIndex; + if (!bFullScreen) { + szInfo = "当前还原的窗口编号:" + iWndIndex; + } + console.log(szInfo); + }, // 无插件模式不起效 + cbInitPluginComplete: () => { + // 嵌入播放插件 + webVideoCtrl.I_InsertOBJECTPlugin("divPlugin"); + console.log("初始化成功--------"); + resize(); + // 检查插件是否最新 + if (webVideoCtrl.I_CheckPluginVersion() == -1) { + Message.warning("检测到新的插件版本,双击WebComponentsKit.exe升级!"); + return; + } + // login( + // global.hk_ip, // 设备的 IP 地址或者普通域名 + // global.hk_prototocol,// http 协议,1 表示 http 协议 2 表示 https 协议 + // global.hk_port,//登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口 + // global.hk_username,//登录用户名称 + // global.hk_password//用户密码 + // ); + + login( + "192.168.3.175", // 设备的 IP 地址或者普通域名 + "1",// http 协议,1 表示 http 协议 2 表示 https 协议 + "80",//登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口 + "admin",//登录用户名称 + "Yxt123456"//用户密码 + ); + }, // 插件初始化完成回调,必须要定义 + }); +}; + +let destroy = () => {}; + +/** + * 调整大小 + */ +let resize = () => { + webVideoCtrl.I_Resize($("#divPlugin").width(), $("#divPlugin").height()); +}; + +/** + * 登录 + * @param {string} ip 设备的 IP 地址或者普通域名 + * @param {number} prototocol http 协议,1 表示 http 协议 2 表示 https 协议 + * @param {number} port 登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口 + * @param {string} userName 登录用户名称 + * @param {string} password 用户密码 + */ +let login = (ip, prototocol, port, userName, password) => { + webVideoCtrl.I_Login(ip, prototocol, port, userName, password, { + async: true, // http 交互方式,true 表示异步,false 表示同步 + cgi: 1, // CGI 协议选择,1 表示 ISAPI,2 表示 PSIA,如果不传这个参数,会自动选择一种设备支持的协议. + // 登录成功回调 + success: (xmlDoc) => { + console.log("login success-----------", xmlDoc); + // getAnalogChannelInfo(`${ip}_${port}`, { + // async: true, + // success: (analogChannelInfo) => { + // let analogCameras = analysisAnalogChannelInfo(analogChannelInfo); + // console.log( + // "获取模拟通道----------", + // analogChannelInfo, + // analogCameras + // ); + // }, + // error: (statusA, xmlDocA) => { + // console.log("获取模拟通道 error-----------", statusA, xmlDocA); + // }, + // }); + getDigitalChannelInfo(`${ip}_${port}`, { + async: true, + success: (digitalChannelInfo) => { + let digitalCameras = analysisDigitalChannelInfo(digitalChannelInfo); + console.log( + "获取数字通道----------", + digitalChannelInfo, + digitalCameras + ); + }, + error: (statusD, xmlDocD) => { + console.log("获取数字通道 error-----------", statusD, xmlDocD); + }, + }); + // getZeroChannelInfo(`${ip}_${port}`, { + // async: true, + // success: (zeroChannelInfo) => { + // let zeroCameras = analysisZeroChannelInfo(zeroChannelInfo); + // console.log("获取零通道----------", zeroChannelInfo, zeroCameras); + // }, + // error: (statusZ, xmlDocZ) => { + // console.log("获取零通道 error-----------", statusZ, xmlDocZ); + // }, + // }); + }, + // 失败函数回调 + error: () => { + console.log("login error-----------"); + }, + }); +}; + +/** + * 登出 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @returns 成功返回 0,失败返回-1 + */ +let logout = (deviceIdentify) => { + return webVideoCtrl.I_Logout(deviceIdentify); +}; + +/** + * 获取设备基本信息 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * async http 交互方式,true 表示异步,false 表示同步; + * * success 成功回调函数,有一个参数,表示返回的 XML 内容。; + * * error 失败回调函数,有两个参数,第一个是 http 状态码,第二个是设备返回的 XML(可能为空) + */ +let getDeviceInfo = (deviceIdentify, options) => { + webVideoCtrl.I_GetDeviceInfo(deviceIdentify, options); +}; + +/** + * 获取模拟通道 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * async http 交互方式,true 表示异步,false 表示同步; + * * success 成功回调函数,有一个参数,表示返回的 XML 内容。; + * * error 失败回调函数,有两个参数,第一个是 http 状态码,第二个是设备返回的 XML(可能为空) + */ +let getAnalogChannelInfo = (deviceIdentify, options) => { + webVideoCtrl.I_GetAnalogChannelInfo(deviceIdentify, options); +}; + +/** + * 解析模拟通道XML内容 + * @param {XMLDocument} xmlDoc XML内容 + * @returns cameraList: 监控列表 + */ +let analysisAnalogChannelInfo = (xmlDoc) => { + let cameraList = []; + let channels = $(xmlDoc)?.find("VideoInputChannel"); + $.each(channels, (i, channel) => { + let id = $(channel).find("id").eq(0).text(); + let name = $(channel).find("name").eq(0).text(); + if (name == "") { + name = "Camera " + (i < 9 ? "0" + (i + 1) : i + 1); + } + cameraList.push({ + id, + name, + }); + }); + return cameraList; +}; + +/** + * 获取数字通道 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * async http 交互方式,true 表示异步,false 表示同步; + * * success 成功回调函数,有一个参数,表示返回的 XML 内容。; + * * error 失败回调函数,有两个参数,第一个是 http 状态码,第二个是设备返回的 XML(可能为空) + */ +let getDigitalChannelInfo = (deviceIdentify, options) => { + webVideoCtrl.I_GetDigitalChannelInfo(deviceIdentify, options); +}; + +/** + * 解析数字通道XML内容 + * @param {XMLDocument} xmlDoc XML内容 + * @param {boolean} filterOnline 是否过滤禁用的数字通道 + * @returns cameraList: 监控列表 + */ +let analysisDigitalChannelInfo = (xmlDoc, filterOnline) => { + let cameraList = []; + let channels = $(xmlDoc)?.find("InputProxyChannelStatus"); + + $.each(channels, (i, channel) => { + let id = $(channel).find("id").eq(0).text(); + let name = $(channel).find("name").eq(0).text(); + let online = $(channel).find("online").eq(0).text(); + if (filterOnline && online == "false") { + // 过滤禁用的数字通道 + return true; + } + if (name == "") { + name = "IPCamera " + (i < 9 ? "0" + (i + 1) : i + 1); + } + cameraList.push({ + id, + name, + online, + }); + }); + return cameraList; +}; + +/** + * 获取零通道 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * async http 交互方式,true 表示异步,false 表示同步; + * * success 成功回调函数,有一个参数,表示返回的 XML 内容。; + * * error 失败回调函数,有两个参数,第一个是 http 状态码,第二个是设备返回的 XML(可能为空) + */ +let getZeroChannelInfo = (deviceIdentify, options) => { + webVideoCtrl.I_GetZeroChannelInfo(deviceIdentify, options); +}; + +/** + * 解析零通道XML内容 + * @param {XMLDocument} xmlDoc XML内容 + * @param {boolean} filterEnabled 是否过滤禁用的零通道 + * @returns cameraList: 监控列表 + */ +let analysisZeroChannelInfo = (xmlDoc, filterEnabled) => { + let cameraList = []; + let channels = $(xmlDoc)?.find("ZeroVideoChannel"); + + $.each(channels, (i, channel) => { + let id = $(channel).find("id").eq(0).text(); + let name = $(channel).find("name").eq(0).text(); + if (name == "") { + name = "Zero Channel " + (i < 9 ? "0" + (i + 1) : i + 1); + } + let enabled = $(channel).find("enabled").eq(0).text(); + if (filterEnabled && enabled == "false") { + // 过滤禁用的零通道 + return true; + } + cameraList.push({ + id, + name, + enabled, + }); + }); + return cameraList; +}; + +/** + * 录像搜索 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {string} channelId 通道 ID + * @param {string} startTime 开始时间:如:2013-12-23 00:00:00 + * @param {string} endTime 结束时间:如:2013-12-23 23:59:59 + * @param {*} options 可选参数对象: + * * async http 交互方式,true 表示异步,false 表示同步 + * * iSearchPos 搜索录像的位置(默认为 0),0 表示返回结果的第 0-40 条,40 表示 40-80 条,依次类推 + * * success 成功回调函数,有一个参数,表示返回的 XML 内容。 + * * error 失败回调函数,有两个参数,第一个是 http 状态码,第二个是设备返回的 XML(可能为空) + * * iStreamType 码流类型 1-主码流,2-子码流,默认主码流 + */ +let recordSearch = (deviceIdentify, channelId, startTime, endTime, options) => { + webVideoCtrl.I_RecordSearch( + deviceIdentify, + channelId, + startTime, + endTime, + options + ); +}; + +/** + * 开始预览 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * iWndIndex 播放窗口,如果不传,则默认使用当前选择窗口播放(默认选中窗口 0) + * * iStreamType 码流类型 1-主码流,2-子码流,默认使用主码流预览 + * * iChannelID 播放通道号,默认通道 1 + * * bZeroChannel 是否播放零通道,默认为 false + * * iPort RTSP 端口号,可以选择传入,如果不传,开发包会自动判断设备的 RTSP 端口 + * * success 成功回调函数 + * * error 失败回调函数 + */ +let startRealPlay = (deviceIdentify, options) => { + webVideoCtrl.I_StartRealPlay(deviceIdentify, options); +}; + +/** + * 开始回放 + * @param {string} deviceIdentify 设备标识(IP_Port) + * @param {*} options 可选参数对象: + * * iWndIndex 播放窗口,如果不传,则默认使用当前选择窗口播放(默认选中窗口 0) + * * iStreamType 码流类型 1-主码流,2-子码流,默认使用主码流预览 + * * szStartTime 开始时间,默认为当天 00:00:00,格式如:2013-12-23 00:00:00 + * * szEndTime 结束时间,默认为当天 23:59:59,格式如:2013-12-23 23:59:59 + * * iChannelID 播放通道号,默认通道 1 + * * iPort RTSP 端口号,可以选择传入,如果不传,开发包会自动判断设备的 RTSP 端口 + * * oTransCodeParam 转码回放参数对象,传入此参数,将按照此对象中的编码参数进行转码回放(转码回放需要设备支持,如果不支持,则不要传入这个参数)。 + * * iStreamType 码流类型 1-主码流,2-子码流,默认主码流 + * * success 成功回调函数 + * * error 失败回调函数 + */ +let startPlayBack = (deviceIdentify, options) => { + webVideoCtrl.I_StartPlayback(deviceIdentify, options); +}; + +/** + * 停止播放 + * @param {*} options 可选参数对象: + * * iWndIndex 播放窗口号,可不传,表示操作当前选中窗口 + * * success 成功回调函数 + * * error 失败回调函数 + */ +let stopPlay = (options) => { + webVideoCtrl.I_Stop(options); +}; + +/** + * 暂停 + * @param {*} options 可选参数对象: + * * iWndIndex 播放窗口号,可不传,表示操作当前选中窗口 + * * success 成功回调函数 + * * error 失败回调函数 + */ +let pause = (options) => { + webVideoCtrl.I_Pause(options); +}; + +/** + * 打开声音 + * @param {number} iWndIndex 播放窗口号,可不传,表示操作当前选中窗口 + * @returns 成功返回 0,失败返回-1 + */ +let openSound = (iWndIndex) => { + return webVideoCtrl.I_OpenSound(iWndIndex); +}; + +/** + * 关闭声音 + * @param {number} iWndIndex 播放窗口号,可不传,表示操作当前选中窗口 + * @returns 成功返回 0,失败返回-1 + */ +let closeSound = (iWndIndex) => { + return webVideoCtrl.I_CloseSound(iWndIndex); +}; + +/** + * 设置音量 + * @param {number} iVolume 音量大小 + * @param {number} iWndIndex 播放窗口号,可不传,表示操作当前选中窗口 + * @returns 成功返回 0,失败返回-1 + */ +let setVolume = (iVolume, iWndIndex) => { + return webVideoCtrl.I_SetVolume(iVolume, iWndIndex); +}; + +/** + * 修改画面分割类型 + * @param {number} iWndType 画面分割类型:1- 1*1,2- 2*2,3- 3*3,4- 4*4,5- 5*5,6- 6*6,7- 7*7,8- 8*8 + * @returns 成功返回 0,失败返回-1 + */ +let changeWndNum = (iWndType) => { + return webVideoCtrl.I_ChangeWndNum(iWndType); +}; + +/** + * 全屏播放 + * @param {boolean} full 是否全屏:true-全屏 false-退出全屏 + */ +let fullScreen = (full) => { + webVideoCtrl.I_FullScreen(full); +}; + +export default { + init, + destroy, + resize, + login, + logout, + getDeviceInfo, + getAnalogChannelInfo, + analysisAnalogChannelInfo, + getDigitalChannelInfo, + analysisDigitalChannelInfo, + getZeroChannelInfo, + analysisZeroChannelInfo, + recordSearch, + startRealPlay, + startPlayBack, + stopPlay, + pause, + openSound, + closeSound, + setVolume, + changeWndNum, + fullScreen, +}; diff --git a/src/api/hikvision/jquery-1.7.1.min.js b/src/api/hikvision/jquery-1.7.1.min.js new file mode 100644 index 0000000..835d77d --- /dev/null +++ b/src/api/hikvision/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,t2=/(trident.*rv:)([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i0&& b[1].indexOf("trident")>-1){b[1]="msie"}return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/src/api/hikvision/webVideoCtrl.js b/src/api/hikvision/webVideoCtrl.js new file mode 100644 index 0000000..db7c5bf --- /dev/null +++ b/src/api/hikvision/webVideoCtrl.js @@ -0,0 +1,4379 @@ +! +function(e) { + if (!e.WebVideoCtrl) { + var t = function() { + function t() { + this.id = this.createUUID() + } + + var r = "100%", + s = "100%", + o = "", + i = "", + a = { + szContainerID: "", + szColorProperty: "", + szOcxClassId: "clsid:FDF0038A-CF64-4634-81AB-80F0A7946D6C", + szMimeTypes: "application/webvideo-plugin-kit", + szBasePath: "", + iWndowType: 1, + iPlayMode: 2, + bWndFull: !0, + iPackageType: 2, + bDebugMode: !1, + bNoPlugin: !0, + cbSelWnd: null, + myCbSelWnd: null, + cbDoubleClickWnd: null, + cbEvent: null, + cbRemoteConfig: null, + cbInitPluginComplete: null + }, + c = null, + u = 0, + l = !1, + d = [], + p = [], + P = null, + h = null, + I = null, + f = null, + m = this, + C = null, + S = 1, + v = 2, + y = 200, + g = 0, + x = 1, + D = 2, + z = 3, + T = 4, + b = 5, + A = 6, + M = 0, + R = 2, + L = 3, + q = 21, + G = -1, + W = 0, + X = "IPCamera", + w = "IPDome", + H = "IPZoom", + k = + "3,0,6,23,0,6,27,3,3,611,1,3,62,5,2,81,0,5,59"; + GetSelectWndInfo = function(e) { + // console.log("GetSelectWndInfo", e); + if (re()) { + u = e; + var t = []; + t.push(""), + t.push("" + e + ""), + t.push(""), + a.cbSelWnd && a.cbSelWnd(f.loadXML(t.join(""))) + } else { + var r = f.loadXML2(e); + // console.log("37", r); + if (n.$XML(r).find("SelectWnd", !0).length > 0) { + u = parseInt(n.$XML(r).find("SelectWnd").eq(0).text(), 10), + null === C && U(); + var t = []; + t.push(""), + t.push("" + u + ""), + t.push(""), + a.cbSelWnd && a.cbSelWnd(f.loadXML2(t.join(""))), + a.myCbSelWnd && a.myCbSelWnd(t.join("")) + } else if (n.$XML(r).find("DoubleClickWnd", !0).length > 0) { + var s = parseInt(n.$XML(r).find("DoubleClickWnd").eq(0).text(), 10); + l = "0" === n.$XML(r).find("IsFullScreen").eq(0).text(), + a.cbDoubleClickWnd && a.cbDoubleClickWnd(s, l) + } + } + }, + e.WindowDblClick = function(e) { + l = e, + a.cbDoubleClickWnd && a.cbDoubleClickWnd(u, l) + }, + e.ZoomInfoCallback = function(e) { + var t = m.findWndIndexByIndex(u); + if (-1 != t) { + var n = p[t]; + if (t = m.findDeviceIndexByIP(n.szDeviceIdentify), -1 != t) { + var r = d[t]; + r.oProtocolInc.set3DZoom(r, n, e, { + success: function(e) {}, + error: function() {} + }) + } + } + }, + PluginEventHandler = function(e, t, n) { + re() ? a.cbEvent && a.cbEvent(n, t, "") : (_( + "插件事件:PluginEventHandler iEventType:%s iParam1: %s, iParam2: %s", e, t, n), M == e || R == e ? m + .I_Stop(t) : q == e ? m.I_StopRecord(t) : L == e && m.I_StopVoiceTalk(), a.cbEvent && a.cbEvent(e, t, n) + ) + }, + GetHttpInfo = function(e, t, n) { + _("http响应返回:http状态:%s, http数据:%s", e, t), + ue.prototype.processCallback(e, t) + }, + e.RemoteConfigInfo = function(e) { + a.cbRemoteConfig && a.cbRemoteConfig(e) + }, + e.KeyBoardEventInfo = function(e) { + 100 === parseInt(e, 10) && (l = !1, a.cbDoubleClickWnd && a.cbDoubleClickWnd(u, l)) + }; + var _ = function() { + if (a.bDebugMode) { + var e = E(arguments); + P._alert(e) + } + }, + E = function() { + console.log("arguments>>>>", arguments) + for (var e = arguments[0], t = 1; t < arguments.length; t++) e = e.replace("%s", arguments[t]); + console.log("E>>>>", e) + return e + }, + Z = function(e) { + var t = e.indexOf(":"); + return t > -1 ? e.substring(0, t) : e + }, + B = function(e) { + return "undefined" == typeof e + }, + N = function(e) { + return "[object Object]" === Object.prototype.toString.call(e) + }, + F = function() { + var e = ""; + if (f.browser().msie) e = ""; + else + for (var t = navigator.mimeTypes.length, + n = 0; t > n; n++) navigator.mimeTypes[n].type.toLowerCase() == a.szMimeTypes && (e = + ""); + return e + }, + U = function() { + if (!re() && null !== c) { + var e = c.HWP_GetLocalConfig(); + C = f.loadXML2(e); + // console.log("92 C", C, e); + } + }, + V = function(e) { + m.I_GetDeviceInfo(e.szIP, { + success: function(t) { + e.szDeviceType = n.$XML(t).find("deviceType").eq(0).text() + } + }), + m.I_GetAnalogChannelInfo(e.szIP, { + success: function(t) { + e.iAnalogChannelNum = n.$XML(t).find("VideoInputChannel", !0).length + } + }), + m.I_GetAudioInfo(e.szIP, { + success: function(t) { + var r = n.$XML(t).find("audioCompressionType", !0); + if (r.length > 0) { + var s = n.$XML(r).eq(0).text(), + o = 0; + "G.711ulaw" == s ? o = 1 : "G.711alaw" == s ? o = 2 : "G.726" == s ? o = 3 : "MP2L2" == s || + "MPEL2" == s ? o = 4 : "G.722.1" == s ? o = 0 : "AAC" == s ? o = 5 : "PCM" == s && (o = 6), + e.iAudioType = o + } + "" !== n.$XML(t).find("audioBitRate").eq(0).text() ? e.m_iAudioBitRate = 1e3 * parseInt(n.$XML(t) + .find("audioBitRate").eq(0).text(), 10) : e.m_iAudioBitRate = 0, + "" !== n.$XML(t).find("audioSamplingRate").eq(0).text() ? e.m_iAudioSamplingRate = 1e3 * + parseInt(n.$XML(t).find("audioSamplingRate").eq(0).text(), 10) : e.m_iAudioSamplingRate = 0 + } + }) + }, + j = function(e) { + e.bSupportWebsocket = !1, + e.bSupportSubStreamPlayback = !1, + e.oProtocolInc.getSystemCapa(e, { + success: function(t) { + var r = n.$XML(t).find("NetworkCap").eq(0).find("isSupportWebsocket", !0); + r.length > 0 && (e.bSupportWebsocket = "true" === n.$XML(t).find("NetworkCap").eq(0).find( + "isSupportWebsocket").eq(0).text()), + r = n.$XML(t).find("RacmCap").eq(0).find("isSupportMainAndSubRecord", !0), + r.length > 0 && (e.bSupportSubStreamPlayback = "true" === n.$XML(t).find("RacmCap").eq(0).find( + "isSupportMainAndSubRecord").eq(0).text()) + } + }) + }, + O = function() { + var e = a.bWndFull ? 1 : 0; + c.HWP_SetCanFullScreen(e), + c.HWP_SetPackageType(a.iPackageType) + }, + J = function(e) { + var t = -1, + n = -1, + r = -1, + s = null; + if (ee(e)) s = K(e), + t = s.iRtspPort, + r = s.iDevicePort; + else { + for (var o = Q(e), i = !1, a = 0; a < o.length; a++) + if (o[a].ipv4 == e.szIP || o[a].ipv6 == e.szIP) { + i = !0; + break + } + i ? s = K(e) : (s = Y(e), -1 == s.iRtspPort && -1 == s.iDevicePort && (s = K(e))), + t = s.iRtspPort, + n = s.iHttpPort, + r = s.iDevicePort + } + return s + }, + K = function(e) { + var t = -1, + r = -1, + s = -1; + return e.oProtocolInc.getPortInfo(e, { + async: !1, + success: function(e) { + var o = n.$XML(e).find("AdminAccessProtocol", !0); + t = 554; + for (var i = 0, + a = o.length; a > i; i++) "rtsp" === n.$XML(o).eq(i).find("protocol").eq(0).text() + .toLowerCase() && (t = parseInt(n.$XML(o).eq(i).find("portNo").eq(0).text(), 10)), + "http" === n.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase() && (r = parseInt(n.$XML( + o).eq(i).find("portNo").eq(0).text(), 10)), + "dev_manage" === n.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase() && (s = parseInt(n + .$XML(o).eq(i).find("portNo").eq(0).text(), 10)) + }, + error: function() { + t = -1, + r = -1, + s = -1 + } + }), { + iRtspPort: t, + iHttpPort: r, + iDevicePort: s + } + }, + Y = function(e) { + var t = -1, + r = -1, + s = -1; + return e.oProtocolInc.getUPnPPortStatus(e, { + async: !1, + success: function(e) { + for (var o = n.$XML(e).find("portStatus", !0), i = 0, a = o.length; a > i; i++) "rtsp" == n.$XML( + o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (t = parseInt(n.$XML(o).eq(i) + .find("externalPort").eq(0).text(), 10)), + "http" == n.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (r = parseInt(n + .$XML(o).eq(i).find("externalPort").eq(0).text(), 10)), + "admin" == n.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (s = parseInt(n + .$XML(o).eq(i).find("externalPort").eq(0).text(), 10)) + }, + error: function() { + t = -1, + r = -1, + s = -1 + } + }), { + iRtspPort: t, + iHttpPort: r, + iDevicePort: s + } + }, + Q = function(e) { + var t = []; + return e.oProtocolInc.getNetworkBond(e, { + async: !1, + success: function(r) { + "true" == n.$XML(r).find("enabled").eq(0).text() ? t.push({ + ipv4: n.$XML(r).find("ipAddress").eq(0).text(), + ipv6: n.$XML(r).find("ipv6Address").eq(0).text() + }) : e.oProtocolInc.getNetworkInterface(e, { + async: !1, + success: function(e) { + for (var r = n.$XML(e).find("NetworkInterface", !0), s = 0, o = r.length; o > s; s++) { + t.push({ + ipv4: n.$XML(e).find("ipAddress").eq(0).text(), + ipv6: n.$XML(e).find("ipv6Address").eq(0).text() + }); + break + } + }, + error: function() {} + }) + }, + error: function() { + + e.oProtocolInc.getNetworkInterface(e, { + async: !1, + success: function(e) { + + for (var r = n.$XML(e).find("NetworkInterface", !0), s = 0, o = r.length; o > s; s++) { + t.push({ + ipv4: n.$XML(e).find("ipAddress").eq(0).text(), + ipv6: n.$XML(e).find("ipv6Address").eq(0).text() + }); + break + } + }, + error: function() {} + }) + } + }), + t + }, + ee = function(e) { + var t = !1; + return e.oProtocolInc.getPPPoEStatus(e, { + async: !1, + success: function(e) { + t = n.$XML(e).find("ipAddress", !0).length > 0 ? !0 : n.$XML(e).find("ipv6Address", !0).length > 0 + }, + error: function() { + t = !1 + } + }), + t + }, + te = function(e) { + + e.oStreamCapa.bObtained || e.oProtocolInc instanceof le && e.oProtocolInc.getSDKCapa(e, { + async: !1, + success: function(t) { + + e.oStreamCapa.bObtained = !0, + e.oStreamCapa.bSupportShttpPlay = "true" === n.$XML(t).find("isSupportHttpPlay").eq(0).text(), + e.oStreamCapa.bSupportShttpPlayback = "true" === n.$XML(t).find("isSupportHttpPlayback").eq(0) + .text(), + e.oStreamCapa.bSupportShttpsPlay = "true" === n.$XML(t).find("isSupportHttpsPlay").eq(0).text(), + e.oStreamCapa.bSupportShttpsPlayback = "true" === n.$XML(t).find("isSupportHttpsPlayback").eq(0) + .text(), + e.oStreamCapa.bSupportShttpPlaybackTransCode = "true" === n.$XML(t).find( + "isSupportHttpTransCodePlayback").eq(0).text(), + e.oStreamCapa.bSupportShttpsPlaybackTransCode = "true" === n.$XML(t).find( + "isSupportHttpsTransCodePlayback").eq(0).text(), + n.$XML(t).find("ipChanBase", !0).length > 0 && (e.oStreamCapa.iIpChanBase = parseInt(n.$XML(t) + .find("ipChanBase").eq(0).text(), 10)) + }, + error: function() { + e.oStreamCapa.bObtained = !0 + } + }) + }, + ne = function(e) { + var t = { + TransFrameRate: "", + TransResolution: "", + TransBitrate: "" + }; + if (f.extend(t, e), "" == t.TransFrameRate || "" == t.TransResolution || "" == t.TransBitrate) return ""; + var n = []; + return n.push(""), + n.push(""), + n.push("" + t.TransFrameRate + ""), + n.push("" + t.TransResolution + ""), + n.push("" + t.TransBitrate + ""), + n.push(""), + n.join("") + }, + re = function() { + if (a.bNoPlugin) { + var e = f.browser(); + return !!(e.chrome && parseInt(e.version, 10) > 45 || e.mozilla && parseInt(e.version, 10) > 52) + } + return !1 + }, + se = function(e) { + console.log("location.hostname>>>>>>>>>>>>>", location.hostname) + console.log("location.port>>>>>>>>>>>>>", location.port) + // var t = location.hostname, + // n = location.port || "80"; + var t = "192.168.3.175", + n = "80"; + + return /^(http|https):\/\/([^\/]+)(.+)$/.test(e) && (e = e.replace(RegExp.$2, t + ":" + n)), + f.cookie("webVideoCtrlProxy", RegExp.$2, { + raw: !0 + }), + e + + }, + oe = function() { + var e = ""; + // console.log("224"); + return e += "", + e += "4", + e += "Invalid Operation", + e += "notSupport", + e += "", + f.loadXML(e) + }; + this.I_InitPlugin = function(t, n, o) { + if (r = t, s = n, f.extend(a, o), re()) { + var i = f.getDirName(); + i && ("object" == typeof exports && "undefined" != typeof module || ("function" == typeof define && define + .amd ? require([i + "/jsPlugin-1.0.0.min.js"], + function(t) { + e.JSPlugin = t.JSPlugin, + o.cbInitPluginComplete && o.cbInitPluginComplete() + }) : f.loadScript(i + "/jsPlugin-1.0.0.min.js", + function() { + o.cbInitPluginComplete && o.cbInitPluginComplete() + }))), + addEventListener("resize", + function() { + null !== c && c.JS_Resize(r, s) + }), + B(document.fullScreen) ? B(document.webkitIsFullScreen) ? B(document.mozFullScreen) || document + .addEventListener("mozfullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }) : document.addEventListener("webkitfullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }) : document.addEventListener("fullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }), + addEventListener("unload", + function() { + null !== c && c.JS_DestroyWorker() + }) + } else o.cbInitPluginComplete && o.cbInitPluginComplete() + }, + this.I_InsertOBJECTPlugin = function(t) { + if (B(t) || (a.szContainerID = t), null == document.getElementById(a.szContainerID)) return -1; + if (null != document.getElementById(o) || 0 != document.getElementsByName(o).length) return -1; + if (re()) { + var n = { + szId: t, + iType: 1, + iWidth: r, + iHeight: s, + iMaxSplit: 4, + iCurrentSplit: a.iWndowType, + szBasePath: f.getDirName() + }, + u = a.szColorProperty; + if ("" != u) { + for (var l = {}, + d = u.split(";"), p = "", P = 0, h = d.length; h > P; P++) p = d[P], + p.indexOf("sub-background") > -1 ? l.background = p.split(":")[1] : p.indexOf("sub-border-select") > - + 1 ? l.borderSelect = p.split(":")[1] : p.indexOf("sub-border") > -1 && (l.border = p.split(":")[1]); + n.oStyle = l + } + c = new JSPlugin(n) + } else document.getElementById(a.szContainerID).innerHTML = F(), + c = f.browser().msie ? document.getElementById(o) : document.getElementsByName(i)[0]; + return null == c && null == c.object ? -1 : ("object" == typeof e.attachEvent && f.browser().msie && (c + .attachEvent("GetSelectWndInfo", GetSelectWndInfo), c.attachEvent("ZoomInfoCallback", + ZoomInfoCallback), c.attachEvent("GetHttpInfo", GetHttpInfo), c.attachEvent("PluginEventHandler", + PluginEventHandler), c.attachEvent("RemoteConfigInfo", RemoteConfigInfo), c.attachEvent( + "KeyBoardEventInfo", KeyBoardEventInfo)), U(), 0) + }, + this.I_WriteOBJECT_XHTML = function() { + return re() ? -1 : (document.writeln(F()), c = f.browser().msie ? document.getElementById(o) : document + .getElementsByName(i)[0], null == c && null == c.object ? -1 : ("object" == typeof e.attachEvent && f + .browser().msie && (c.attachEvent("GetSelectWndInfo", GetSelectWndInfo), c.attachEvent( + "ZoomInfoCallback", ZoomInfoCallback), c.attachEvent("GetHttpInfo", GetHttpInfo), c.attachEvent( + "PluginEventHandler", PluginEventHandler), c.attachEvent("RemoteConfigInfo", RemoteConfigInfo), c + .attachEvent("KeyBoardEventInfo", KeyBoardEventInfo)), U(), 0)) + }, + this.I_OpenFileDlg = function(e) { + var t = ""; + if (re()) return t; + if (t = c.HWP_OpenFileBrowser(e, ""), null == t) return ""; + if (1 == e) { + if (t.length > 100) return -1 + } else if (t.length > 130) return -1; + return t + }, + this.I_GetLocalCfg = function() { + var e = null; + if (re()) return e; + var t = c.HWP_GetLocalConfig(), + r = []; + + return C = f.loadXML(t), + r.push(""), + r.push("" + n.$XML(C).find("ProtocolType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PackgeSize").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlayWndType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("BuffNumberType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("RecordPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("CapturePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlaybackFilePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlaybackPicPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("DeviceCapturePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("DownloadPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("IVSMode").eq(0).text() + ""), + r.push("" + n.$XML(C).find("CaptureFileFormat").eq(0).text() + ""), + r.push(""), + e = f.loadXML(r.join("")) + }, + this.I_SetLocalCfg = function(e) { + if (re()) return -1; + // console.log("227"); + var t = f.loadXML(e), + r = !1; + // console.log("285 t", t, e); + return n.$XML(C).find("ProtocolType").eq(0).text(n.$XML(t).find("ProtocolType").eq(0).text()), + n.$XML(C).find("PackgeSize").eq(0).text(n.$XML(t).find("PackgeSize").eq(0).text()), + n.$XML(C).find("PlayWndType").eq(0).text(n.$XML(t).find("PlayWndType").eq(0).text()), + n.$XML(C).find("BuffNumberType").eq(0).text(n.$XML(t).find("BuffNumberType").eq(0).text()), + n.$XML(C).find("RecordPath").eq(0).text(n.$XML(t).find("RecordPath").eq(0).text()), + n.$XML(C).find("CapturePath").eq(0).text(n.$XML(t).find("CapturePath").eq(0).text()), + n.$XML(C).find("PlaybackFilePath").eq(0).text(n.$XML(t).find("PlaybackFilePath").eq(0).text()), + n.$XML(C).find("DeviceCapturePath").eq(0).text(n.$XML(t).find("DeviceCapturePath").eq(0).text()), + n.$XML(C).find("PlaybackPicPath").eq(0).text(n.$XML(t).find("PlaybackPicPath").eq(0).text()), + n.$XML(C).find("DownloadPath").eq(0).text(n.$XML(t).find("DownloadPath").eq(0).text()), + n.$XML(C).find("IVSMode").eq(0).text(n.$XML(t).find("IVSMode").eq(0).text()), + n.$XML(C).find("CaptureFileFormat").eq(0).text(n.$XML(t).find("CaptureFileFormat").eq(0).text()), + r = c.HWP_SetLocalConfig(f.toXMLStr(C)), + r ? 0 : -1 + }; + var ie = function(e, t, n, r, s, o, i) { + var a = { + protocol: t, + success: null, + error: null + }; + f.extend(a, i), + f.extend(a, { + success: function(a) { + var c = new ae; + c.szIP = e, + 2 == t ? (c.szHttpProtocol = "https://", c.iHttpsPort = n) : (c.szHttpProtocol = "http://", c + .iHttpPort = n), + c.iCGIPort = n, + c.szDeviceIdentify = e + "_" + n, + c.szAuth = r, + c.iDeviceProtocol = s, + c.oProtocolInc = o, + d.push(c), + _("使用%s协议登录成功", s), + V(c), + O(), + j(c), + i.success && i.success(a) + }, + error: function(e, t) { + i.error && i.error(e, t) + } + }), + o.login(e, n, r, a) + }; + this.I_Login = function(t, r, s, o, i, a) { + var c = t + "_" + s, + u = this.findDeviceIndexByIP(c); + if (-1 != u) return _("设备已经登录过"), + -1; + var l = h, + p = S; + if (B(a.cgi) || (S == a.cgi ? (l = h, p = S) : (l = I, p = v)), re()) + if (S == p) { + var P = { + success: null, + error: null + }; + f.extend(P, { + success: function(c) { + var u = { + success: null, + error: null + }; + f.extend(u, { + success: function(o) { + var i = new ae; + i.szIP = t, + 2 == r ? (i.szHttpProtocol = "https://", i.iHttpsPort = s) : (i.szHttpProtocol = + "http://", i.iHttpPort = s), + i.iCGIPort = s, + i.szDeviceIdentify = t + "_" + s, + i.szAuth = n.$XML(o).find("sessionID").eq(0).text(), + i.iDeviceProtocol = p, + i.oProtocolInc = l, + d.push(i), + _("使用%s协议登录成功", p), + V(i), + j(i), + i.sessionFailed = 0, + i.sesstionTimer = setInterval(function() { + l.sessionHeartbeat(i, + function() { + i.sessionFailed = 0 + }, + function() { + i.sessionFailed++, + i.sessionFailed >= 5 && (clearInterval(i.sesstionTimer), e + .PluginEventHandler(G, i.szDeviceIdentify)) + }) + }, + 3e4), + a.success && a.success(o) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + l.sessionLogin(t, r, s, o, i, c, u) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + l.getSessionCap(t, r, s, o, P) + } else a.error && a.error(403, oe()); + else { + var m = ""; + if (S == p) { + m = f.Base64.encode(":" + o + ":" + i); + var P = { + success: null, + error: null + }; + f.extend(P, a), + f.extend(P, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = S, + l = h; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + if (!B(a.cgi)) return void(a.error && a.error(e, n)); + m = f.Base64.encode(":" + o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + a.error && a.error(e, n) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, P) + } else { + m = f.Base64.encode(":" + o + ":" + i), + p = v, + l = I; + var P = { + success: null, + error: null + }; + f.extend(P, a), + f.extend(P, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + a.error && a.error(e, n) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, P) + } + } + }, + this.I_Logout = function(e) { + var t = this.findDeviceIndexByIP(e); + if (-1 != t) { + if (re()) { + var n = d[t]; + clearInterval(n.sesstionTimer), + n.oProtocolInc.sessionLogout(n, {}) + } + return d.splice(t, 1), + 0 + } + return -1 + }, + this.I_GetAudioInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if (-1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getAudioInfo(r, s) + } + }, + this.I_GetDeviceInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if (-1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getDeviceInfo(r, s) + } + }, + this.I_GetAnalogChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if (-1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getAnalogChannelInfo(r, s) + } + }, + this.I_GetDigitalChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if (-1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getDigitalChannelInfo(r, s) + } + }, + this.I_GetZeroChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if (-1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getZeroChannelInfo(r, s) + } + }, + this.I_StartRealPlay = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = "", + o = "", + i = -1, + a = 0, + c = 0, + l = !1, + P = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + bZeroChannel: !1 + }; + if (f.extend(P, t), -1 != r) { + te(d[r]); + var h = d[r]; + if (re()) { + if (!h.bSupportWebsocket) return void(t.error && t.error(403, oe())); + s = h.oProtocolInc.CGI.startWsRealPlay, + o = "ws://", + B(P.iWSPort) ? h.iWSPort = 7681 : h.iWSPort = P.iWSPort, + i = h.iWSPort, + c = P.iStreamType, + a = P.iChannelID <= h.iAnalogChannelNum ? P.iChannelID : h.oStreamCapa.iIpChanBase + parseInt(P + .iChannelID, 10) - h.iAnalogChannelNum - 1, + l = !0 + } else { + var I = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + I == W && h.oStreamCapa.bSupportShttpPlay ? (_("SHTTP RealPlay"), s = h.oProtocolInc.CGI + .startShttpRealPlay, o = "http://", c = P.iStreamType - 1, a = P.iChannelID <= h.iAnalogChannelNum ? + P.iChannelID : h.oStreamCapa.iIpChanBase + parseInt(P.iChannelID, 10) - h.iAnalogChannelNum - 1, + l = !0, B(P.iPort) ? "https://" == h.szHttpProtocol ? (-1 == h.iHttpPort && (h.iHttpPort = J(h) + .iHttpPort), i = h.iHttpPort) : i = h.iCGIPort : (h.iHttpPort = P.iPort, i = P.iPort)) : (_( + "RTSP RealPlay"), s = h.oProtocolInc.CGI.startRealPlay, o = "rtsp://", c = P.iStreamType, a = P + .iChannelID, B(P.iRtspPort) || (h.iRtspPort = P.iRtspPort), -1 == h.iRtspPort && (h.iRtspPort = J(h) + .iRtspPort), i = h.iRtspPort) + } + if (-1 == i) return _("获取端口号失败"), + void(t.error && t.error()); + if (f.extend(P, { + urlProtocol: o, + cgi: s, + iPort: i, + iStreamType: c, + iChannelID: a + }), r = this.findWndIndexByIndex(P.iWndIndex), -1 == r) + if (re()) h.oProtocolInc.startRealPlay(h, P).then(function() { + r = this.findWndIndexByIndex(P.iWndIndex); + var e = p[r]; + e.bShttpIPChannel = l, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + // console.log(h, P); + var m = h.oProtocolInc.startRealPlay(h, P); + if (0 == m) { + r = this.findWndIndexByIndex(P.iWndIndex); + var S = p[r]; + S.bShttpIPChannel = l, + t.success && t.success() + } else h.iRtspPort = -1, + t.error && t.error() + } + } else t.error && t.error() + }, + this.I_Stop = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n]; + if (r.bRecord && (re() || c.HWP_StopSave(r.iIndex)), r.bSound && (re() || c.HWP_CloseSound()), r.bEZoom && + (re() || c.HWP_DisableZoom(r.iIndex)), re()) c.JS_Stop(t.iWndIndex).then(function() { + p.splice(n, 1), + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var s = c.HWP_Stop(t.iWndIndex); + 0 == s ? (p.splice(n, 1), t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_OpenSound = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.bSound || (n = re() ? c.JS_OpenSound(e) : c.HWP_OpenSound(e), 0 == n && (r.bSound = !0)) + } + return n + }, + this.I_CloseSound = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.bSound && (n = re() ? c.JS_CloseSound() : c.HWP_CloseSound(), 0 == n && (r.bSound = !1)) + } + return n + }, + this.I_SetVolume = function(e, t) { + var n = -1; + if (e = parseInt(e, 10), isNaN(e)) return n; + if (0 > e || e > 100) return n; + t = B(t) ? u : t; + var r = this.findWndIndexByIndex(t); + return -1 != r && (re() ? (c.JS_SetVolume(t, e), n = 0) : n = c.HWP_SetVolume(t, e)), + n + }, + this.I_CapturePic = function(e, t) { + var n = { + iWndIndex: u, + bDateDir: !0 + }; + N(t) ? f.extend(n, t) : B(t) || (n.iWndIndex = t); + var r = this.findWndIndexByIndex(n.iWndIndex), + s = -1; + if (-1 != r) + if (re()) { + var o = "JPEG"; + ".jpg" === e.slice(-4).toLowerCase() ? e = e.slice(0, -4) : ".jpeg" === e.slice(-5).toLowerCase() ? e = + e.slice(0, -5) : ".bmp" === e.slice(-4).toLowerCase() && (e = e.slice(0, -4), o = "BMP"), + s = c.JS_CapturePicture(n.iWndIndex, e, o) + } else ".jpg" === e.slice(-4).toLowerCase() ? e = e.slice(0, -4) : ".jpeg" === e.slice(-5) + .toLowerCase() && (e = e.slice(0, -5)), + s = c.HWP_CapturePicture(n.iWndIndex, e, n.bDateDir); + return s + }, + this.I_StartRecord = function(e, t) { + var n = { + iWndIndex: u, + bDateDir: !0 + }; + N(t) ? f.extend(n, t) : B(t) || (n.iWndIndex = t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if (-1 != r) { + var s = p[r]; + if (s.bRecord) n.error && n.error(); + else if (re()) { + var o = f.browser(); + o.chrome ? c.JS_StartSave(n.iWndIndex, e).then(function() { + s.bRecord = !0, + n.success && n.success() + }, + function() { + n.error && n.error() + }) : n.error && n.error() + } else { + var i = c.HWP_StartSave(n.iWndIndex, e, n.bDateDir); + 0 == i ? (s.bRecord = !0, n.success && n.success()) : n.error && n.error() + } + } else n.error && n.error() + }, + this.I_StopRecord = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n]; + if (r.bRecord) + if (re()) { + var s = f.browser(); + s.chrome ? c.JS_StopSave(t.iWndIndex).then(function() { + r.bRecord = !1, + t.success && t.success() + }, + function() { + t.error && t.error() + }) : t.error && t.error() + } else { + var o = c.HWP_StopSave(t.iWndIndex); + 0 == o ? (r.bRecord = !1, t.success && t.success()) : t.error && t.error() + } + else t.error && t.error() + } else t.error && t.error() + }, + this.I_StartVoiceTalk = function(e, t) { + if (isNaN(parseInt(t, 10))) return -1; + var n = this.findDeviceIndexByIP(e), + r = -1; + if (-1 != n) { + var s = d[n]; + s.bVoiceTalk || (r = re() ? -1 : s.oProtocolInc.startVoiceTalk(s, t), 0 == r && (d[n].bVoiceTalk = !0)) + } + return r + }, + this.I_StopVoiceTalk = function() { + var e = -1; + if (!re()) { + e = c.HWP_StopVoiceTalk(); + for (var t = 0, + n = d.length; n > t; t++) + if (d[t].bVoiceTalk) { + d[t].bVoiceTalk = !1; + break + } + } + return e + }, + this.I_PTZControl = function(e, t, n) { + // debugger + var r = { + iWndIndex: u, + iPTZIndex: e, + iPTZSpeed: 4 + }; + f.extend(r, n), + f.extend(r, { + async: !1 + }); + var s = this.findWndIndexByIndex(r.iWndIndex); + if (-1 != s) { + var o = p[s]; + if (s = this.findDeviceIndexByIP(o.szIP), -1 != s) { + var i = d[s]; + 9 == e ? i.oProtocolInc.ptzAutoControl(i, t, o, r) : i.oProtocolInc.ptzControl(i, t, o, r) + } + } + }, + this.I_EnableEZoom = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.bEZoom || (n = re() ? c.JS_EnableZoom(e) : c.HWP_EnableZoom(e, 0), 0 == n && (r.bEZoom = !0)) + } + return n + }, + this.I_DisableEZoom = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.bEZoom && (re() ? n = c.JS_DisableZoom(e) : (c.HWP_DisableZoom(e), n = 0), 0 == n && (r.bEZoom = !1)) + } + return n + }, + this.I_Enable3DZoom = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.b3DZoom || (n = re() ? -1 : c.HWP_EnableZoom(e, 1), 0 == n && (r.b3DZoom = !0)) + } + return n + }, + this.I_Disable3DZoom = function(e) { + e = B(e) ? u : e; + var t = this.findWndIndexByIndex(e), + n = -1; + if (-1 != t) { + var r = p[t]; + r.b3DZoom && (re() ? n = -1 : (c.HWP_DisableZoom(e), n = 0), 0 == n && (r.b3DZoom = !1)) + } + return n + }, + this.I_FullScreen = function(e) { + re() ? c.JS_FullScreenDisplay(e) : c.HWP_FullScreenDisplay(e) + }, + this.I_SetPreset = function(e, t) { + var n = { + iWndIndex: u, + iPresetID: e + }; + f.extend(n, t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if (-1 != r) { + var s = p[r]; + if (r = this.findDeviceIndexByIP(s.szIP), -1 != r) { + var o = d[r]; + o.oProtocolInc.setPreset(o, s, n) + } + } + }, + this.I_GoPreset = function(e, t) { + var n = { + iWndIndex: u, + iPresetID: e + }; + f.extend(n, t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if (-1 != r) { + var s = p[r]; + if (r = this.findDeviceIndexByIP(s.szIP), -1 != r) { + var o = d[r]; + o.oProtocolInc.goPreset(o, s, n) + } + } + }, + this.I_RecordSearch = function(e, t, n, r, s) { + var o = this.findDeviceIndexByIP(e); + if (-1 != o) { + var i = d[o], + a = { + iChannelID: t, + szStartTime: n, + szEndTime: r, + iSearchPos: 0, + iStreamType: 1, + success: null, + error: null + }; + f.extend(a, s), + i.oProtocolInc.recordSearch(i, a) + } + }, + this.I_StartPlayback = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = "", + o = "", + i = -1, + a = 1, + c = 0, + l = f.dateFormat(new Date, "yyyy-MM-dd"), + p = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + szStartTime: l + " 00:00:00", + szEndTime: l + " 23:59:59" + }; + if (f.extend(p, t), -1 != r) { + te(d[r]); + var P = d[r]; + if (re()) { + if (!P.bSupportWebsocket) return void(t.error && t.error(403, oe())); + if (!B(p.oTransCodeParam)) return void(t.error && t.error()); + s = P.oProtocolInc.CGI.startWsPlayback, + o = "ws://", + B(p.iWSPort) ? P.iWSPort = 7681 : P.iWSPort = p.iWSPort, + i = P.iWSPort, + c = p.iStreamType, + a = p.iChannelID <= P.iAnalogChannelNum ? p.iChannelID : P.oStreamCapa.iIpChanBase + parseInt(p + .iChannelID, 10) - P.iAnalogChannelNum - 1, + a = 100 * a + c + } else { + var h = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + h == W && P.oStreamCapa.bSupportShttpPlay ? (s = B(p.oTransCodeParam) ? P.oProtocolInc.CGI + .startShttpPlayback : P.oProtocolInc.CGI.startTransCodePlayback, o = "http://", c = p.iStreamType - + 1, a = p.iChannelID <= P.iAnalogChannelNum ? p.iChannelID : P.oStreamCapa.iIpChanBase + parseInt(p + .iChannelID, 10) - P.iAnalogChannelNum - 1, P.bSupportSubStreamPlayback && (a = 100 * a + c), B(p + .iPort) ? "https://" == P.szHttpProtocol ? (-1 == P.iHttpPort && (P.iHttpPort = J(P).iHttpPort), + i = P.iHttpPort) : i = P.iCGIPort : (P.iHttpPort = p.iPort, i = p.iPort)) : (s = P.oProtocolInc + .CGI.startPlayback, o = "rtsp://", c = p.iStreamType, a = 100 * p.iChannelID + c, B(p.iRtspPort) || + (P.iRtspPort = p.iRtspPort), -1 == P.iRtspPort && (P.iRtspPort = J(P).iRtspPort), i = P.iRtspPort) + } + if (-1 == i) return _("获取端口号失败"), + void(t.error && t.error()); + if (f.extend(p, { + urlProtocol: o, + cgi: s, + iPort: i, + iChannelID: a + }), r = this.findWndIndexByIndex(p.iWndIndex), -1 == r) + if (re()) p.szStartTime = p.szStartTime.replace(" ", "T") + "Z", + p.szEndTime = p.szEndTime.replace(" ", "T") + "Z", + P.oProtocolInc.startPlayback(P, p).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + p.szStartTime = p.szStartTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", + p.szEndTime = p.szEndTime.replace(/[-:]/g, "").replace(" ", "T") + "Z"; + var I = P.oProtocolInc.startPlayback(P, p); + 0 == I ? t.success && t.success() : (P.iRtspPort = -1, t.error && t.error()) + } + } else t.error && t.error() + }, + this.I_ReversePlayback = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = -1, + o = "", + i = "", + a = -1, + c = -1, + l = 0, + p = f.dateFormat(new Date, "yyyy-MM-dd"), + P = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + szStartTime: p + " 00:00:00", + szEndTime: p + " 23:59:59" + }; + if (f.extend(P, t), -1 != r) { + te(d[r]); + var h = d[r]; + if (re()) return s; + var I = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + if (I == W && h.oStreamCapa.bSupportShttpPlay ? (o = h.oProtocolInc.CGI.startShttpReversePlayback, i = + "http://", l = P.iStreamType - 1, c = P.iChannelID <= h.iAnalogChannelNum ? P.iChannelID : h + .oStreamCapa.iIpChanBase + parseInt(P.iChannelID, 10) - h.iAnalogChannelNum - 1, c = 100 * c + l, B(P + .iPort) ? "https://" == h.szHttpProtocol ? (-1 == h.iHttpPort && (h.iHttpPort = J(h).iHttpPort), a = + h.iHttpPort) : a = h.iCGIPort : (h.iHttpPort = P.iPort, a = P.iPort)) : (o = h.oProtocolInc.CGI + .startPlayback, i = "rtsp://", l = P.iStreamType, c = 100 * P.iChannelID + l, B(P.iRtspPort) || (h + .iRtspPort = P.iRtspPort), -1 == h.iRtspPort && (h.iRtspPort = J(h).iRtspPort), a = h.iRtspPort), - + 1 == a) return _("获取端口号失败"), + s; + f.extend(P, { + urlProtocol: i, + cgi: o, + iPort: a, + iChannelID: c + }), + r = this.findWndIndexByIndex(P.iWndIndex), + -1 == r && (P.szStartTime = P.szStartTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", P.szEndTime = P + .szEndTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", s = h.oProtocolInc.reversePlayback(h, P)) + } + return -1 == s && (h.iRtspPort = -1), + s + }, + this.I_Frame = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n], + s = r.iPlayStatus; + if (s == D || s == T) + if (re()) c.JS_FrameForward(t.iWndIndex).then(function() { + r.iPlayStatus = T, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var o = c.HWP_FrameForward(t.iWndIndex); + 0 == o ? (r.iPlayStatus = T, t.success && t.success()) : t.error && t.error() + } + else t.error && t.error() + } else t.error && t.error() + }, + this.I_Pause = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n], + s = r.iPlayStatus, + o = -1; + if (s == D) o = z; + else { + if (s != b) return void(t.error && t.error()); + o = A + } + if (re()) c.JS_Pause(t.iWndIndex).then(function() { + r.iPlayStatus = o, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var i = c.HWP_Pause(t.iWndIndex); + 0 == i ? (r.iPlayStatus = o, t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_Resume = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n], + s = r.iPlayStatus, + o = -1; + if (s == z || s == T) o = D; + else { + if (s != A) return void(t.error && t.error()); + o = b + } + if (re()) c.JS_Resume(t.iWndIndex).then(function() { + r.iPlayStatus = o, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var i = c.HWP_Resume(t.iWndIndex); + 0 == i ? (r.iPlayStatus = o, t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_PlaySlow = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n]; + if (r.iPlayStatus == D) + if (re()) { + var s = c.JS_GetWndStatus(t.iWndIndex); + s.iRate <= -4 ? t.error && t.error() : c.JS_Slow(t.iWndIndex).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }) + } else { + var o = c.HWP_Slow(t.iWndIndex); + 0 == o ? t.success && t.success() : t.error && t.error() + } + else t.error && t.error() + } else t.error && t.error() + }, + this.I_PlayFast = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + var r = p[n]; + if (r.iPlayStatus == D) + if (re()) { + var s = c.JS_GetWndStatus(t.iWndIndex); + s.iRate >= 4 ? t.error && t.error() : c.JS_Fast(t.iWndIndex).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }) + } else { + var o = c.HWP_Fast(t.iWndIndex); + 0 == o ? t.success && t.success() : t.error && t.error() + } + else t.error && t.error() + } else t.error && t.error() + }, + this.I_GetOSDTime = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if (-1 != n) { + if (re()) c.JS_GetOSDTime(t.iWndIndex).then(function(e) { + if (t.success) { + var n = f.dateFormat(new Date(1e3 * e), "yyyy-MM-dd hh:mm:ss"); + t.success(n) + } + }, + function() { + t.error && t.error() + }); + else if (t.success) { + var r = c.HWP_GetOSDTime(t.iWndIndex), + s = f.dateFormat(new Date(1e3 * r), "yyyy-MM-dd hh:mm:ss"); + t.success(s) + } + } else t.error && t.error() + }, + this.I_StartDownloadRecord = function(e, t, n, r) { + var s = this.findDeviceIndexByIP(e), + o = -1; + if (-1 != s) { + var i = d[s], + a = { + szPlaybackURI: t, + szFileName: n, + bDateDir: !0 + }; + B(r) || f.extend(a, r), + o = i.oProtocolInc.startDownloadRecord(i, a) + } + return o + }, + this.I_GetDownloadStatus = function(e) { + var t = -1; + return re() ? t : (t = c.HWP_GetDownloadStatus(e), 1 == t && (t = -1), t) + }, + this.I_GetDownloadProgress = function(e) { + return re() ? -1 : c.HWP_GetDownloadProgress(e); + }, + this.I_StopDownloadRecord = function(e) { + return re() ? -1 : c.HWP_StopDownload(e) + }, + this.I_ExportDeviceConfig = function(e) { + var t = this.findDeviceIndexByIP(e), + n = -1; + if (-1 != t) { + var r = d[t]; + if (re()) return n; + n = r.oProtocolInc.exportDeviceConfig(r) + } + return n + }, + this.I_ImportDeviceConfig = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1; + if (-1 != n) { + var s = d[n], + o = { + szFileName: t + }; + if (re()) return r; + r = s.oProtocolInc.importDeviceConfig(s, o) + } + return r + }, + this.I_RestoreDefault = function(e, t, n) { + var r = { + success: null, + error: null + }; + f.extend(r, n); + var s = this.findDeviceIndexByIP(e); + if (-1 != s) { + var o = d[s]; + o.oProtocolInc.restore(o, t, r) + } + }, + this.I_Restart = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = { + success: null, + error: null + }; + if (f.extend(r, t), -1 != n) { + var s = d[n]; + s.oProtocolInc.restart(s, r) + } + }, + this.I_Reconnect = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = { + success: null, + error: null + }; + if (f.extend(r, t), -1 != n) { + var s = d[n]; + s.oProtocolInc.login(s.szIP, s.iCGIPort, s.szAuth, r) + } + }, + this.I_StartUpgrade = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1; + if (-1 != n) { + var s = d[n], + o = { + szFileName: t + }; + if (re()) return r; + r = s.oProtocolInc.startUpgrade(s, o) + } + return r + }, + this.I_UpgradeStatus = function() { + return re() ? -1 : c.HWP_UpgradeStatus() + }, + this.I_UpgradeProgress = function() { + return re() ? -1 : c.HWP_UpgradeProgress() + }, + this.I_StopUpgrade = function() { + return re() ? -1 : c.HWP_StopUpgrade() + }, + this.I_CheckPluginInstall = function() { + var e = -1, + t = f.browser(); + if (re()) e = 0; + else if (t.msie) try { + new ActiveXObject("WebVideoKitActiveX.WebVideoKitActiveXCtrl.1"); + e = 0 + } catch (n) {} else + for (var r = 0, + s = navigator.mimeTypes.length; s > r; r++) + if ("application/webvideo-plugin-kit" == navigator.mimeTypes[r].type.toLowerCase()) { + e = 0; + break + } + return e + }, + this.I_CheckPluginVersion = function() { + return re() ? 0 : c.HWP_CheckPluginUpdate(k) ? -1 : 0 + }, + this.I_SendHTTPRequest = function(e, t, n) { + var r = this.findDeviceIndexByIP(e); + if (!(0 > r)) { + var s = d[r], + o = new ue, + i = s.szHttpProtocol + s.szIP + ":" + s.iCGIPort + "/" + t, + a = { + type: "GET", + url: i, + auth: s.szAuth, + success: null, + error: null + }; + f.extend(a, n), + f.extend(a, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(a), + o.submitRequest() + } + }, + this.I_RemoteConfig = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1, + s = -1; + if (re()) return r; + var o = { + iLan: 0, + iDevicePort: -1, + iType: 0 + }; + if (f.extend(o, t), -1 != n) { + var i = d[n]; + if (-1 == o.iDevicePort) + if (-1 == i.iDevicePort) { + if (i.iDevicePort = J(i).iDevicePort, s = i.iDevicePort, -1 == s) return r + } else s = i.iDevicePort; + else s = o.iDevicePort; + if (":" == f.Base64.decode(i.szAuth)[0]) var a = f.Base64.decode(i.szAuth).split(":")[1], + u = f.Base64.decode(i.szAuth).split(":")[2]; + else var a = f.Base64.decode(i.szAuth).split(":")[0], + u = f.Base64.decode(i.szAuth).split(":")[1]; + var l = "" + o.iType + "" + o.iLan + + "" + i.szIP + "" + s + "" + a + "" + f.Base64 + .encode(u) + ""; + return c.HWP_ShowRemConfig(l) + } + return r + }, + this.I_ChangeWndNum = function(e) { + return isNaN(parseInt(e, 10)) ? -1 : (re() ? c.JS_ArrangeWindow(e) : c.HWP_ArrangeWindow(e), 0) + }, + this.I_GetLastError = function() { + return re() ? -1 : c.HWP_GetLastError() + }, + this.I_GetWindowStatus = function(e) { + if (B(e)) { + var t = []; + return f.extend(t, p), + t + } + var n = this.findWndIndexByIndex(e); + if (-1 != n) { + var t = {}; + return f.extend(t, p[n]), + t + } + return null + }, + this.I_GetIPInfoByMode = function(e, t, n, r) { + return re() ? "" : c.HWP_GetIpInfoByMode(e, t, n, r) + }, + this.I_SetPlayModeType = function(e) { + return re() ? -1 : c.HWP_SetPlayModeType(e) + }, + this.I_SetSnapDrawMode = function(e, t) { + return re() ? -1 : c.HWP_SetSnapDrawMode(e, t) + }, + this.I_SetSnapPolygonInfo = function(e, t) { + if (re()) return -1; + var r, s, o, i, a, u, l, d, p, P, h, I, m, C = c.HWP_GetSnapPolygonInfo(e); + // console.log("921", r); + r = f.loadXML(C), + s = n.$XML(r).find("SnapPolygon", !0); + + var S = s.length, + v = []; + for (o = 0, i = s.length; i > o; o++) a = s[o], + v.push(n.$XML(a).find("id").eq(0).text()); + var y = v.join(","); + // console.log("927"); + if (y = "," + y + ",", r = f.loadXML(t), s = n.$XML(r).find("SnapPolygon", !0), S + s.length > 32) return - + 3; + for (o = 0, i = s.length; i > o; o++) { + if (a = s[o], u = n.$XML(a).find("id").eq(0).text(), !f.isInt(u)) return -2; + if (l = parseInt(u, 10), 1 > l || l > 32) return -2; + if (y.indexOf("," + u + ",") > -1) return -4; + if (d = n.$XML(a).find("tips").eq(0).text(), d.length > 32) return -2; + if (h = "true" === n.$XML(a).find("isClosed").eq(0).text(), !h) { + if (p = n.$XML(a).find("MinClosed").eq(0).text(), !f.isInt(p)) return -2; + if (P = parseInt(p, 10), 4 > P || P > 17) return -2; + if (I = n.$XML(a).find("PointNumMax").eq(0).text(), !f.isInt(I)) return -2; + if (m = parseInt(I, 10), P > m || m > 17) return -2 + } + } + return c.HWP_SetSnapPolygonInfo(e, t) + }, + this.I_GetSnapPolygonInfo = function(e) { + return re() ? "" : c.HWP_GetSnapPolygonInfo(e) + }, + this.I_ClearSnapInfo = function(e) { + return re() ? -1 : c.HWP_ClearSnapInfo(e, 1) + }, + this.I_DeviceCapturePic = function(e, t, n, r) { + var s = this.findDeviceIndexByIP(e), + o = -1; + if (-1 != s) { + var i = d[s], + a = { + bDateDir: !0 + }; + if (f.extend(a, r), !B(a.iResolutionWidth) && !f.isInt(a.iResolutionWidth)) return o; + if (!B(a.iResolutionHeight) && !f.isInt(a.iResolutionHeight)) return o; + o = i.oProtocolInc.deviceCapturePic(i, t, n, a) + } + return o + }, + this.I_SetPackageType = function(e) { + return re() ? -1 : c.HWP_SetPackageType(e) + }, + this.I_GetDevicePort = function(e) { + + var t = this.findDeviceIndexByIP(e), + n = null; + if (-1 != t) { + var r = d[t]; + n = J(r) + } + return n + }, + this.findDeviceIndexByIP = function(e) { + if (e.indexOf("_") > -1) { + for (var t = 0, + n = d.length; n > t; t++) + if (d[t].szDeviceIdentify == e) return t + } else + for (var t = 0, + n = d.length; n > t; t++) + if (d[t].szIP == e) return t; + return -1 + }, + this.findWndIndexByIndex = function(e) { + for (var t = 0, + n = p.length; n > t; t++) + if (p[t].iIndex == e) return t; + return -1 + }; + var ae = function() { + this.szIP = "", + this.szHostName = "", + this.szAuth = "", + this.szHttpProtocol = "http://", + this.iCGIPort = 80, + this.szDeviceIdentify = "", + this.iDevicePort = -1, + this.iHttpPort = -1, + this.iHttpsPort = -1, + this.iRtspPort = -1, + this.iWSPort = -1, + this.iAudioType = 1, + this.m_iAudioBitRate = -1, + this.m_iAudioSamplingRate = -1, + this.iDeviceProtocol = S, + this.oProtocolInc = null, + this.iAnalogChannelNum = 0, + this.szDeviceType = "", + this.bVoiceTalk = !1, + this.oStreamCapa = { + bObtained: !1, + bSupportShttpPlay: !1, + bSupportShttpPlayback: !1, + bSupportShttpsPlay: !1, + bSupportShttpsPlayback: !1, + bSupportShttpPlaybackTransCode: !1, + bSupportShttpsPlaybackTransCode: !1, + iIpChanBase: 1 + } + }, + ce = function() { + this.iIndex = 0, + this.szIP = "", + this.iCGIPort = 80, + this.szDeviceIdentify = "", + this.iChannelID = "", + this.iPlayStatus = g, + this.bSound = !1, + this.bRecord = !1, + this.bPTZAuto = !1, + this.bEZoom = !1, + this.b3DZoom = !1 + }, + ue = function() { + this.options = { + type: "GET", + url: "", + auth: "", + timeout: 1e4, + data: "", + async: !0, + success: null, + error: null + }, + this.m_szHttpHead = "", + this.m_szHttpContent = "", + this.m_szHttpData = "" + }; + ue.prototype.m_httpRequestSet = [], + ue.prototype.setRequestParam = function(e) { + f.extend(this.options, e) + }, + ue.prototype.submitRequest = function() { + var t = null, + n = this; + if (re()) { + console.log("submitRequest>>>>>e") + this.options.auth ? f.cookie("WebSession", this.options.auth) : f.cookie("WebSession", null); + console.log("this.options.auth>>>>>", this.options.auth) + console.log("this.options.url>>>>>", this.options.url) + console.log("this.options.data>>>>>", this.options.data) + var r = se(this.options.url), + // var r = se("http://192.168.3.175:80/ISAPI/Security/sessionLogin"), + s = new XMLHttpRequest(); + s.open(this.options.type, r, this.options.async), + s.setRequestHeader("X-Requested-With", "XMLHttpRequest"), + s.setRequestHeader("If-Modified-Since", "0"), + s.send(this.options.data || null); + var o = function() { + if (4 === s.readyState) { + t = { + funSuccessCallback: n.options.success, + funErrorCallback: n.options.error + }; + var e = s.status + s.responseText; + 0 === s.status && (e = ""), + console.log("submitRequest>>>>>t111", t) + console.log("submitRequest>>>>>e11", e) + n.httpDataAnalyse(t, e) + } + }; + this.options.async ? (s.timeout = this.options.timeout, s.onreadystatechange = function() { + o() + }) : o() + } else { + console.log("submitRequest>>>>>e222") + var i = this.getHttpMethod(this.options.type); + if (this.options.async) { + var a = c.HWP_SubmitHttpRequest(i, this.options.url, this.options.auth, this.options.data, this.options + .timeout); - 1 != a && (t = { + iRequestID: a, + funSuccessCallback: this.options.success, + funErrorCallback: this.options.error + }, + this.m_httpRequestSet.push(t)) + } else { + var u = c.HWP_SendHttpSynRequest(i, this.options.url, this.options.auth, this.options.data, this.options + .timeout); + t = { + funSuccessCallback: this.options.success, + funErrorCallback: this.options.error + }, + this.httpDataAnalyse(t, u) + } + } + }, + ue.prototype.getHttpMethod = function(e) { + var t = { + GET: 1, + POST: 2, + PUT: 5, + DELETE: 6 + }, + n = t[e]; + return n ? n : -1 + }, + ue.prototype.processCallback = function(e, t) { + for (var n = null, r = 0; r < this.m_httpRequestSet.length; r++) + if (e == this.m_httpRequestSet[r].iRequestID) { + n = this.m_httpRequestSet[r], + this.m_httpRequestSet.splice(r, 1); + break + } + null != n && (this.httpDataAnalyse(n, t)) + }, + ue.prototype.httpDataAnalyse = function(e, t) { + console.log("httpDataAnalyse>>>>>e", e) + console.log("httpDataAnalyse>>>>>t", t) + var n = "", + r = 0; + + "" == t || B(t) ? e.funErrorCallback() : (r = parseInt(t.substring(0, 3)), n = t.substring(3, t.length), + isNaN(r) ? e.funErrorCallback() : y == r ? e.funSuccessCallback(f.loadXML2(n)) : e.funErrorCallback(r, f + .loadXML2(n))) + }; + var le = function() {}; + le.prototype.CGI = { + login: "%s%s:%s/ISAPI/Security/userCheck", + getAudioInfo: "%s%s:%s/ISAPI/System/TwoWayAudio/channels", + getDeviceInfo: "%s%s:%s/ISAPI/System/deviceInfo", + getAnalogChannelInfo: "%s%s:%s/ISAPI/System/Video/inputs/channels", + getDigitalChannel: "%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels", + getDigitalChannelInfo: "%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels/status", + getZeroChannelInfo: "%s%s:%s/ISAPI/ContentMgmt/ZeroVideo/channels", + getStreamChannels: { + analog: "%s%s:%s/ISAPI/Streaming/channels", + digital: "%s%s:%s/ISAPI/ContentMgmt/StreamingProxy/channels" + }, + getStreamDynChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels", + startRealPlay: { + channels: "%s%s:%s/PSIA/streaming/channels/%s", + zeroChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s" + }, + startShttpRealPlay: { + channels: "%s%s:%s/SDK/play/%s/004", + zeroChannels: "%s%s:%s/SDK/play/100/004/ZeroStreaming" + }, + startWsRealPlay: { + channels: "%s%s:%s/%s", + zeroChannels: "%s%s:%s/%s" + }, + startVoiceTalk: { + open: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/open", + close: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/close", + audioData: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/audioData" + }, + ptzControl: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/continuous", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/continuous" + }, + ptzAutoControl: { + ipdome: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto", + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/autoPan", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/autoPan" + }, + setPreset: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s" + }, + goPreset: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s/goto" + }, + ptzFocus: { + analog: "%s%s:%s/ISAPI/Image/channels/%s/focus", + digital: "%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/focus", + ipc: "%s%s:%s/ISAPI/System/Video/inputs/channels/%s/focus" + }, + ptzIris: { + analog: "%s%s:%s/ISAPI/Image/channels/%s/iris", + digital: "%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/iris", + ipc: "%s%s:%s/ISAPI/System/Video/inputs/channels/%s/iris" + }, + getNetworkBond: "%s%s:%s/ISAPI/System/Network/Bond", + getNetworkInterface: "%s%s:%s/ISAPI/System/Network/interfaces", + getUPnPPortStatus: "%s%s:%s/ISAPI/System/Network/UPnP/ports/status", + getPPPoEStatus: "%s%s:%s/ISAPI/System/Network/PPPoE/1/status", + getPortInfo: "%s%s:%s/ISAPI/Security/adminAccesses", + recordSearch: "%s%s:%s/ISAPI/ContentMgmt/search", + startPlayback: "%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s", + startWsPlayback: "%s%s:%s/%s", + startShttpPlayback: "%s%s:%s/SDK/playback/%s", + startShttpReversePlayback: "%s%s:%s/SDK/playback/%s/reversePlay", + startTransCodePlayback: "%s%s:%s/SDK/playback/%s/transcoding", + startDownloadRecord: "%s%s:%s/ISAPI/ContentMgmt/download", + deviceConfig: "%s%s:%s/ISAPI/System/configurationData", + restart: "%s%s:%s/ISAPI/System/reboot", + restore: "%s%s:%s/ISAPI/System/factoryReset?mode=%s", + startUpgrade: { + upgrade: "%s%s:%s/ISAPI/System/updateFirmware", + status: "%s%s:%s/ISAPI/System/upgradeStatus" + }, + set3DZoom: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/position3D", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/position3D" + }, + SDKCapabilities: "%s%s:%s/SDK/capabilities", + deviceCapture: { + channels: "%s%s:%s/ISAPI/Streaming/channels/%s/picture" + }, + sessionCap: "%s%s:%s/ISAPI/Security/sessionLogin/capabilities?username=%s", + sessionLogin: "%s%s:%s/ISAPI/Security/sessionLogin", + sessionHeartbeat: "%s%s:%s/ISAPI/Security/sessionHeartbeat", + sessionLogout: "%s%s:%s/ISAPI/Security/sessionLogout", + systemCapabilities: "%s%s:%s/ISAPI/System/capabilities" + }, + le.prototype.login = function(e, t, n, r) { + var s = 2 == r.protocol ? "https://" : "http://", + o = E(this.CGI.login, s, e, t), + i = new ue, + a = { + type: "GET", + url: o, + auth: n, + success: null, + error: null + }; + f.extend(a, r), + f.extend(a, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + i.setRequestParam(a), + i.submitRequest() + }, + le.prototype.getAudioInfo = function(e, t) { + var n = E(this.CGI.getAudioInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getDeviceInfo = function(e, t) { + var r = E(this.CGI.getDeviceInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""), + r.push("" + f.escape(n.$XML(e).find("deviceName").eq(0).text()) + ""), + r.push("" + n.$XML(e).find("deviceID").eq(0).text() + ""), + r.push("" + n.$XML(e).find("deviceType").eq(0).text() + ""), + r.push("" + n.$XML(e).find("model").eq(0).text() + ""), + r.push("" + n.$XML(e).find("serialNumber").eq(0).text() + ""), + r.push("" + n.$XML(e).find("macAddress").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareVersion").eq(0).text() + + ""), + r.push("" + n.$XML(e).find("firmwareReleasedDate").eq(0).text() + + ""), + r.push("" + n.$XML(e).find("encoderVersion").eq(0).text() + + ""), + r.push("" + n.$XML(e).find("encoderReleasedDate").eq(0).text() + + ""), + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getAnalogChannelInfo = function(e, t) { + var r = E(this.CGI.getAnalogChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("VideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + n.$XML(a).find("inputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("" + n.$XML(a).find("videoFormat").eq(0).text() + ""), + r.push("") + } + // console.log("1171", r); + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getDigitalChannel = function(e, t) { + var r = E(this.CGI.getDigitalChannel, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("InputProxyChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("") + } + // console.log("1188", r); + + r.push(""), + e = f.loadXML2(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getDigitalChannelInfo = function(e, t) { + var r = null, + s = {}; + if (this.getDigitalChannel(e, { + async: !1, + success: function(e) { + r = e; + for (var t = n.$XML(r).find("InputProxyChannel", !0), o = 0, i = t.length; i > o; o++) { + var a = t[o], + c = n.$XML(a).find("id").eq(0).text(), + u = n.$XML(a).find("name").eq(0).text(); + s[c] = u + } + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), null !== r) { + var o = E(this.CGI.getDigitalChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + i = new ue, + a = { + type: "GET", + url: o, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(a, t), + f.extend(a, { + success: function(e) { + var r = []; + r.push(""); + for (var o = n.$XML(e).find("InputProxyChannelStatus", !0), i = 0, a = o.length; a > i; i++) { + var c = o[i], + u = n.$XML(c).find("id").eq(0).text(); + r.push(""), + r.push("" + u + ""), + r.push(""), + r.push("" + n.$XML(c).find("proxyProtocol").eq(0).text() + + ""), + r.push("" + n.$XML(c).find("addressingFormatType").eq(0).text() + + ""), + r.push("" + n.$XML(c).find("ipAddress").eq(0).text() + ""), + r.push("" + n.$XML(c).find("managePortNo").eq(0).text() + ""), + r.push("" + n.$XML(c).find("srcInputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(c).find("userName").eq(0).text()) + ""), + r.push("" + n.$XML(c).find("streamType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("online").eq(0).text() + ""), + r.push("" + f.escape(s[u]) + ""), + r.push(""), + r.push("") + } + // console.log("1217", r); + r.push(""), + e = f.loadXML2(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + // t.success && t.success(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + i.setRequestParam(a), + i.submitRequest() + } + }, + le.prototype.getZeroChannelInfo = function(e, t) { + var n = E(this.CGI.getZeroChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getStreamChannels = function(e, t) { + if (0 != e.iAnalogChannelNum) var n = E(this.CGI.getStreamChannels.analog, e.szHttpProtocol, e.szIP, e + .iCGIPort); + else var n = E(this.CGI.getStreamChannels.digital, e.szHttpProtocol, e.szIP, e.iCGIPort); + var r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getPPPoEStatus = function(e, t) { + var n = E(this.CGI.getPPPoEStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getUPnPPortStatus = function(e, t) { + var n = E(this.CGI.getUPnPPortStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getNetworkBond = function(e, t) { + var n = E(this.CGI.getNetworkBond, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getNetworkInterface = function(e, t) { + + var n = E(this.CGI.getNetworkInterface, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getPortInfo = function(e, t) { + var n = E(this.CGI.getPortInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.startRealPlay = function(e, t) { + var n = 100 * t.iChannelID + t.iStreamType, + r = "", + s = -1, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)), + t.bZeroChannel ? (re() && (n = 0), r = E(t.cgi.zeroChannels, t.urlProtocol, o, t.iPort, n)) : r = E(t.cgi + .channels, t.urlProtocol, o, t.iPort, n); + var i = function() { + var n = new ce; + n.iIndex = t.iWndIndex, + n.szIP = e.szIP, + n.iCGIPort = e.iCGIPort, + n.szDeviceIdentify = e.szDeviceIdentify, + n.iChannelID = t.iChannelID, + n.iPlayStatus = x, + p.push(n) + }; + if (re()) { + var a = new Promise(function(n, s) { + c.JS_Play(r, { + session: e.szAuth + }, + t.iWndIndex).then(function() { + i(), + n() + }, + function() { + s() + }) + }); + return a + } + return s = c.HWP_Play(r, e.szAuth, t.iWndIndex, "", ""), + 0 == s && i(), + s + }, + le.prototype.startVoiceTalk = function(e, t) { + var n = E(this.CGI.startVoiceTalk.open, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + r = E(this.CGI.startVoiceTalk.close, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = E(this.CGI.startVoiceTalk.audioData, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = c.HWP_StartVoiceTalkEx(n, r, s, e.szAuth, e.iAudioType, e.m_iAudioBitRate, e.m_iAudioSamplingRate); + return o + }, + le.prototype.ptzAutoControl = function(e, t, n, r) { + var s = n.iChannelID, + o = "", + i = ""; + if (r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed : 100, t && (r.iPTZSpeed = 0), e.szDeviceType != w) o = + s <= e.iAnalogChannelNum ? E(this.CGI.ptzAutoControl.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n + .iChannelID) : n.bShttpIPChannel ? E(this.CGI.ptzAutoControl.digital, e.szHttpProtocol, e.szIP, e + .iCGIPort, n.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(this.CGI + .ptzAutoControl.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID), + i = "" + r.iPTZSpeed + + ""; + else { + var a = 99; + t && (a = 96), + o = E(this.CGI.ptzAutoControl.ipdome, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID, a) + } + var c = new ue, + u = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }, + l = this; + f.extend(u, r), + f.extend(u, { + success: function(e) { + n.bPTZAuto = !n.bPTZAuto, + r.success && r.success(e) + }, + error: function(t, s) { + if (X == e.szDeviceType || H == e.szDeviceType) { + o = n.bShttpIPChannel ? E(l.CGI.ptzControl.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n + .iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(l.CGI.ptzControl + .analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID), + i = "" + r.iPTZSpeed + + "0"; + var a = new ue, + c = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(c, r), + a.setRequestParam(c), + a.submitRequest() + } else r.error && r.error(t, s) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + le.prototype.ptzControl = function(e, t, n, r) { + var s = n.iChannelID, + o = ""; + n.bPTZAuto && this.ptzAutoControl(e, !0, n, { + iPTZSpeed: 0 + }), + t ? r.iPTZSpeed = 0 : r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed : 100; + var i = [{}, + { + pan: 0, + tilt: r.iPTZSpeed + }, + { + pan: 0, + tilt: -r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: 0 + }, + { + pan: r.iPTZSpeed, + tilt: 0 + }, + { + pan: -r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + {}, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + } + ], + a = "", + c = {}; + switch (r.iPTZIndex) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + c = this.CGI.ptzControl, + a = "" + i[r.iPTZIndex].pan + "" + i[r + .iPTZIndex].tilt + ""; + break; + case 10: + case 11: + c = this.CGI.ptzControl, + a = "" + i[r.iPTZIndex].speed + + ""; + break; + case 12: + case 13: + c = this.CGI.ptzFocus, + a = "" + i[r.iPTZIndex].speed + + ""; + break; + case 14: + case 15: + c = this.CGI.ptzIris, + a = "" + i[r.iPTZIndex].speed + + ""; + break; + default: + return void(r.error && r.error()) + } + o = c != this.CGI.ptzFocus && c != this.CGI.ptzIris || e.szDeviceType != X && e.szDeviceType != w && e + .szDeviceType != H ? s <= e.iAnalogChannelNum ? E(c.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n + .iChannelID) : n.bShttpIPChannel ? E(c.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID - e + .oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(c.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, + n.iChannelID) : E(c.ipc, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var u = new ue, + l = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: a, + success: null, + error: null + }; + f.extend(l, r), + f.extend(l, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + u.setRequestParam(l), + u.submitRequest() + }, + le.prototype.setPreset = function(e, t, n) { + var r = t.iChannelID, + s = "", + o = ""; + s = r <= e.iAnalogChannelNum ? E(this.CGI.setPreset.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t + .iChannelID, n.iPresetID) : t.bShttpIPChannel ? E(this.CGI.setPreset.digital, e.szHttpProtocol, e.szIP, + e.iCGIPort, t.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum, n.iPresetID) : E(this + .CGI.setPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID), + o = "", + o += "", + o += "" + n.iPresetID + "", + e.szDeviceType != w && (o += "Preset" + n.iPresetID + ""), + o += ""; + var i = new ue, + a = { + type: "PUT", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(a, n), + f.extend(a, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + i.setRequestParam(a), + i.submitRequest() + }, + le.prototype.goPreset = function(e, t, n) { + var r = t.iChannelID, + s = ""; + s = r <= e.iAnalogChannelNum ? E(this.CGI.goPreset.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t + .iChannelID, n.iPresetID) : t.bShttpIPChannel ? E(this.CGI.goPreset.digital, e.szHttpProtocol, e.szIP, e + .iCGIPort, t.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum, n.iPresetID) : E(this.CGI + .goPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID); + var o = new ue, + i = { + type: "PUT", + url: s, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(i, n), + f.extend(i, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + le.prototype.recordSearch = function(e, r) { + var s = "", + o = "", + i = r.iChannelID, + a = r.iStreamType, + c = r.szStartTime.replace(" ", "T") + "Z", + u = r.szEndTime.replace(" ", "T") + "Z"; + s = E(this.CGI.recordSearch, e.szHttpProtocol, e.szIP, e.iCGIPort), + o = "" + new t + + "" + (100 * i + a) + + "" + c + "" + u + + "40" + r.iSearchPos + + "//metadata.ISAPI.org/VideoMotion"; + var l = new ue, + d = { + type: "POST", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(d, r), + f.extend(d, { + success: function(e) { + var t = []; + t.push(""), + t.push("" + n.$XML(e).find("responseStatus").eq(0).text() + + ""), + t.push("" + n.$XML(e).find("responseStatusStrg").eq(0).text() + + ""), + t.push("" + n.$XML(e).find("numOfMatches").eq(0).text() + ""), + t.push(""); + for (var s = n.$XML(e).find("searchMatchItem", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + t.push(""), + t.push("" + n.$XML(a).find("trackID").eq(0).text() + ""), + t.push("" + n.$XML(a).find("startTime").eq(0).text() + ""), + t.push("" + n.$XML(a).find("endTime").eq(0).text() + ""), + t.push("" + f.escape(n.$XML(a).find("playbackURI").eq(0).text()) + + ""), + t.push("" + n.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[ + 1] + ""), + t.push("") + } + t.push(""), + t.push(""), + e = f.loadXML(t.join("")), + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + l.setRequestParam(d), + l.submitRequest() + }, + le.prototype.startPlayback = function(e, t) { + var n = t.iWndIndex, + r = "", + s = t.szStartTime, + o = t.szEndTime, + i = e.szIP; + if ("rtsp://" === t.urlProtocol && (i = Z(i)), r = re() ? E(t.cgi, t.urlProtocol, i, t.iPort, t + .iChannelID) : E(t.cgi, t.urlProtocol, i, t.iPort, t.iChannelID, s, o), !B(t.oTransCodeParam)) { + var a = ne(t.oTransCodeParam); + if ("" == a) return -1; + c.HWP_SetTrsPlayBackParam(n, a) + } + var u = function() { + var r = new ce; + r.iIndex = n, + r.szIP = e.szIP, + r.iCGIPort = e.iCGIPort, + r.szDeviceIdentify = e.szDeviceIdentify, + r.iChannelID = t.iChannelID, + r.iPlayStatus = D, + p.push(r) + }; + if (re()) { + var l = new Promise(function(t, i) { + c.JS_Play(r, { + session: e.szAuth + }, + n, s, o).then(function() { + u(), + t() + }, + function() { + i() + }) + }); + return l + } + var d = c.HWP_Play(r, e.szAuth, n, s, o); + return 0 == d && u(), + d + }, + le.prototype.reversePlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_ReversePlay(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = b, + p.push(u) + } + return a + }, + le.prototype.startDownloadRecord = function(e, t) { + var n = -1, + r = E(this.CGI.startDownloadRecord, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = " " + f.escape(t.szPlaybackURI) + + ""; + return re() ? (r = se(r), n = c.JS_StartDownload(r, e.szAuth, t.szFileName, s)) : n = c.HWP_StartDownload(r, + e.szAuth, t.szFileName, s, t.bDateDir), + n + }, + le.prototype.exportDeviceConfig = function(e) { + var t = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ExportDeviceConfig(t, e.szAuth, "", 0) + }, + le.prototype.importDeviceConfig = function(e, t) { + var n = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ImportDeviceConfig(n, e.szAuth, t.szFileName, 0) + }, + le.prototype.restart = function(e, t) { + var n = E(this.CGI.restart, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.restore = function(e, t, n) { + var r = E(this.CGI.restore, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.startUpgrade = function(e, t) { + var n = E(this.CGI.startUpgrade.upgrade, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = E(this.CGI.startUpgrade.status, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_StartUpgrade(n, r, e.szAuth, t.szFileName) + }, + le.prototype.set3DZoom = function(e, t, r, s) { + var o = t.iChannelID, + i = ""; + i = o <= e.iAnalogChannelNum ? E(this.CGI.set3DZoom.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t + .iChannelID) : t.bShttpIPChannel ? E(this.CGI.set3DZoom.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t + .iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(this.CGI.set3DZoom.digital, e + .szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID); + var a = f.loadXML(r), + c = parseInt(n.$XML(a).find("StartPoint").eq(0).find("positionX").eq(0).text(), 10), + u = parseInt(n.$XML(a).find("StartPoint").eq(0).find("positionY").eq(0).text(), 10), + l = parseInt(n.$XML(a).find("EndPoint").eq(0).find("positionX").eq(0).text(), 10), + d = parseInt(n.$XML(a).find("EndPoint").eq(0).find("positionY").eq(0).text(), 10), + p = "" + c + + "" + (255 - u) + "" + l + + "" + (255 - d) + "", + P = new ue, + h = { + type: "PUT", + url: i, + data: p, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(h, s), + f.extend(h, { + success: function(e) { + s.success && s.success(e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + P.setRequestParam(h), + P.submitRequest() + }, + le.prototype.getSDKCapa = function(e, t) { + + var n = E(this.CGI.SDKCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.deviceCapturePic = function(e, t, n, r) { + var t = 100 * t + 1, + s = -1, + o = E(this.CGI.deviceCapture.channels, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + i = []; + if (f.isInt(r.iResolutionWidth) && i.push("videoResolutionWidth=" + r.iResolutionWidth), f.isInt(r + .iResolutionHeight) && i.push("videoResolutionHeight=" + r.iResolutionHeight), i.length > 0 && (o += + "?" + i.join("&")), re()) { + var a = function(e, t) { + var n = ".jpg"; + return $("body").append('
  • '), + $("#jsplugin_download_li").trigger("click"), + $("#jsplugin_download_a").remove(), + 0 + }; + o = se(o), + s = a(o, n) + } else s = c.HWP_DeviceCapturePic(o, e.szAuth, n, r.bDateDir); + return s + }, + le.prototype.getSessionCap = function(e, t, n, r, s) { + var o = ""; + o = 2 == t ? "https://" : "http://"; + var i = E(this.CGI.sessionCap, o, e, n, encodeURIComponent(r)), + a = new ue, + c = { + type: "GET", + url: i, + auth: "", + success: null, + error: null + }; + f.extend(c, s), + f.extend(c, { + success: function(e) { + s.success && s.success(e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + a.setRequestParam(c), + a.submitRequest() + }, + le.prototype.sessionLogin = function(e, t, r, s, o, i, a) { + console.log("e>>>", e) + console.log("t>>>", t) + console.log("r>>>", r) + console.log("s>>>", s) + console.log("o>>>", o) + console.log("i>>>", i) + console.log("a>>>", a) + console.log("this.CGI.sessionLogin>>>", this.CGI.sessionLogin) + var c = ""; + c = 2 == t ? "https://" : "http://"; + var u = E(this.CGI.sessionLogin, c, e, r), + // var u = E("http://192.168.3.175/ISAPI/Security/sessionLogin" c, e, r), + l = n.$XML(i).find("sessionID").eq(0).text(), + d = n.$XML(i).find("challenge").eq(0).text(), + p = parseInt(n.$XML(i).find("iterations").eq(0).text(), 10), + P = !1, + h = ""; + n.$XML(i).find("isIrreversible", !0).length > 0 && (P = "true" === n.$XML(i).find("isIrreversible").eq(0) + .text(), h = n.$XML(i).find("salt").eq(0).text()); + var I = ""; + if (P) { + I = f.sha256(s + h + o), + I = f.sha256(I + d); + for (var m = 2; p > m; m++) I = f.sha256(I) + } else { + I = f.sha256(o) + d; + for (var m = 1; p > m; m++) I = f.sha256(I) + } + var C = ""; + C += "" + f.escape(s) + "", + C += "" + I + "", + C += "" + l + "", + C += ""; + var S = new ue, + v = { + type: "POST", + url: u, + data: C, + auth: "", + success: null, + error: null + }; + f.extend(v, a), + f.extend(v, { + success: function(e) { + a.success && a.success(e) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + S.setRequestParam(v), + S.submitRequest() + }, + le.prototype.sessionHeartbeat = function(e, t) { + var n = E(this.CGI.sessionHeartbeat, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.sessionLogout = function(e, t) { + var n = E(this.CGI.sessionLogout, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getSystemCapa = function(e, t) { + var n = E(this.CGI.systemCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }; + var de = function() {}; + de.prototype.CGI = { + login: "%s%s:%s/PSIA/Custom/SelfExt/userCheck", + getAudioInfo: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels", + getDeviceInfo: "%s%s:%s/PSIA/System/deviceInfo", + getAnalogChannelInfo: "%s%s:%s/PSIA/System/Video/inputs/channels", + getDigitalChannel: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels", + getDigitalChannelInfo: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels/status", + getZeroChannelInfo: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroVideo/channels", + getStreamChannels: { + analog: "%s%s:%s/PSIA/Streaming/channels", + digital: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels" + }, + getStreamDynChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels", + startRealPlay: { + channels: "%s%s:%s/PSIA/streaming/channels/%s", + zeroChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s" + }, + startVoiceTalk: { + open: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/open", + close: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/close", + audioData: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/audioData" + }, + ptzControl: "%s%s:%s/PSIA/PTZ/channels/%s/continuous", + ptzAutoControl: "%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/autoptz", + setPreset: "%s%s:%s/PSIA/PTZ/channels/%s/presets/%s", + goPreset: "%s%s:%s/PSIA/PTZ/channels/%s/presets/%s/goto", + ptzFocus: "%s%s:%s/PSIA/System/Video/inputs/channels/%s/focus", + ptzIris: "%s%s:%s/PSIA/System/Video/inputs/channels/%s/iris", + getNetworkBond: "%s%s:%s/PSIA/Custom/SelfExt/Bond", + getNetworkInterface: "%s%s:%s/PSIA/System/Network/interfaces", + getUPnPPortStatus: "%s%s:%s/PSIA/Custom/SelfExt/UPnP/ports/status", + getPPPoEStatus: "%s%s:%s/PSIA/Custom/SelfExt/PPPoE/1/status", + getPortInfo: "%s%s:%s/PSIA/Security/AAA/adminAccesses", + recordSearch: "%s%s:%s/PSIA/ContentMgmt/search", + startPlayback: "%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s", + startDownloadRecord: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/download", + deviceConfig: "%s%s:%s/PSIA/System/configurationData", + restart: "%s%s:%s/PSIA/System/reboot", + restore: "%s%s:%s/PSIA/System/factoryReset?mode=%s", + startUpgrade: { + upgrade: "%s%s:%s/PSIA/System/updateFirmware", + status: "%s%s:%s/PSIA/Custom/SelfExt/upgradeStatus" + }, + set3DZoom: "%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/Set3DZoom", + deviceCapture: { + channels: "%s%s:%s/PSIA/Streaming/channels/%s/picture" + }, + systemCapabilities: "%s%s:%s/PSIA/System/capabilities" + }, + de.prototype.login = function(e, t, r, s) { + var o = 2 == s.protocol ? "https://" : "http://", + i = E(this.CGI.login, o, e, t), + a = new ue, + c = { + type: "GET", + url: i, + auth: r, + success: null, + error: null + }; + f.extend(c, s), + f.extend(c, { + success: function(e) { + "200" == n.$XML(e).find("statusValue").eq(0).text() ? s.success && s.success(e) : s.error && s + .error(401, e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + a.setRequestParam(c), + a.submitRequest() + }, + de.prototype.getAudioInfo = function(e, t) { + var n = E(this.CGI.getAudioInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getDeviceInfo = function(e, t) { + var r = E(this.CGI.getDeviceInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""), + r.push("" + f.escape(n.$XML(e).find("deviceName").eq(0).text()) + ""), + r.push("" + n.$XML(e).find("deviceID").eq(0).text() + ""), + r.push("" + n.$XML(e).find("deviceDescription").eq(0).text() + ""), + r.push("" + n.$XML(e).find("model").eq(0).text() + ""), + r.push("" + n.$XML(e).find("serialNumber").eq(0).text() + ""), + r.push("" + n.$XML(e).find("macAddress").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareVersion").eq(0).text() + + ""), + r.push("" + n.$XML(e).find("firmwareReleasedDate").eq(0).text() + + ""), + r.push("" + n.$XML(e).find("logicVersion").eq(0).text() + ""), + r.push("" + n.$XML(e).find("logicReleasedDate").eq(0).text() + + ""), + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + // console.log("2922",r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getSystemCapa = function(e, t) { + var n = E(this.CGI.systemCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getAnalogChannelInfo = function(e, t) { + var r = E(this.CGI.getAnalogChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("VideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + n.$XML(a).find("inputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("" + n.$XML(a).find("videoFormat").eq(0).text() + ""), + r.push("") + } + + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getDigitalChannel = function(e, t) { + var r = E(this.CGI.getDigitalChannel, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("DynVideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("") + } + + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getDigitalChannelInfo = function(e, t) { + var r = null, + s = {}; + if (this.getDigitalChannel(e, { + async: !1, + success: function(e) { + r = e; + for (var t = n.$XML(r).find("InputProxyChannel", !0), o = 0, i = t.length; i > o; o++) { + var a = t[o], + c = n.$XML(a).find("id").eq(0).text(), + u = n.$XML(a).find("name").eq(0).text(); + s[c] = u + } + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), null !== r) { + var o = E(this.CGI.getDigitalChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + i = new ue, + a = { + type: "GET", + url: o, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(a, t), + f.extend(a, { + success: function(e) { + var r = []; + r.push(""); + for (var o = n.$XML(e).find("DynVideoInputChannelStatus", !0), i = 0, a = o.length; a > + i; i++) { + var c = o[i], + u = n.$XML(c).find("id").eq(0).text(); + r.push(""), + r.push("" + u + ""), + r.push(""), + r.push("" + n.$XML(c).find("adminProtocol").eq(0).text() + + ""), + r.push("" + n.$XML(c).find("addressingFormatType").eq(0).text() + + ""), + r.push("" + n.$XML(c).find("ipAddress").eq(0).text() + ""), + r.push("" + n.$XML(c).find("adminPortNo").eq(0).text() + ""), + r.push("" + n.$XML(c).find("srcInputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(c).find("userName").eq(0).text()) + ""), + r.push("" + n.$XML(c).find("streamType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("online").eq(0).text() + ""), + r.push("" + f.escape(s[u]) + ""), + r.push(""), + r.push("") + } + // console.log("1746"); + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess && t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + i.setRequestParam(a), + i.submitRequest() + } + }, + de.prototype.getZeroChannelInfo = function(e, t) { + var n = E(this.CGI.getZeroChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getPPPoEStatus = function(e, t) { + var n = E(this.CGI.getPPPoEStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getUPnPPortStatus = function(e, t) { + var n = E(this.CGI.getUPnPPortStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getNetworkBond = function(e, t) { + var n = E(this.CGI.getNetworkBond, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getNetworkInterface = function(e, t) { + var n = E(this.CGI.getNetworkInterface, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getPortInfo = function(e, t) { + var r = E(this.CGI.getPortInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(r) { + var s = []; + s.push(""); + for (var o = n.$XML(r).find("AdminAccessProtocol", !0), i = 0, a = o.length; a > i; i++) { + o[i]; + s.push(""), + s.push("" + n.$XML(r).find("id").eq(0).text() + ""), + s.push("" + n.$XML(r).find("enabled").eq(0).text() + ""), + s.push("" + n.$XML(r).find("protocol").eq(0).text().toUpperCase() + ""), + s.push("" + n.$XML(r).find("portNo").eq(0).text() + ""), + s.push("") + } + I.getStreamChannels(e, { + async: !1, + success: function(r) { + if (n.$XML(r).find("rtspPortNo", !0).length > 0) { + var o = parseInt(n.$XML(r).find("rtspPortNo").eq(0).text(), 10); + s.push(""), + s.push("4"), + s.push("true"), + s.push("RTSP"), + s.push("" + o + ""), + s.push(""), + s.push(""); + // console.log("1819"); + var i = f.loadXML(s.join("")); + t.success && t.success(i) + } else I.getStreamDynChannels(e, { + async: !1, + success: function(e) { + if (n.$XML(e).find("rtspPortNo", !0).length > 0) { + var r = parseInt(n.$XML(e).find("rtspPortNo").eq(0).text(), 10); + s.push(""), + s.push("4"), + s.push("true"), + s.push("RTSP"), + s.push("" + r + ""), + s.push(""), + s.push(""); + // console.log("1827"); + var o = f.loadXML(s.join("")); + t.success && t.success(o) + } + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + var r = []; + r.push(""), + I.getStreamChannels(e, { + async: !1, + success: function(s) { + if (n.$XML(s).find("rtspPortNo", !0).length > 0) { + var o = parseInt(n.$XML(s).find("rtspPortNo").eq(0).text(), 10); + r.push(""), + r.push("4"), + r.push("true"), + r.push("RTSP"), + r.push("" + o + ""), + r.push(""), + r.push(""); + var i = f.loadXML(r.join("")); + // console.log("1847"); + t.success && t.success(i) + } else I.getStreamDynChannels(e, { + async: !1, + success: function(e) { + if (n.$XML(e).find("rtspPortNo", !0).length > 0) { + var s = parseInt(n.$XML(e).find("rtspPortNo").eq(0).text(), 10); + r.push(""), + r.push("4"), + r.push("true"), + r.push("RTSP"), + r.push("" + s + ""), + r.push(""), + r.push(""); + var o = f.loadXML(r.join("")); + // console.log("1855"); + t.success && t.success(o) + } + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + t.error && t.error() + } + }) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getStreamChannels = function(e, t) { + if (0 != e.iAnalogChannelNum) var n = E(this.CGI.getStreamChannels.analog, e.szHttpProtocol, e.szIP, e + .iCGIPort); + else var n = E(this.CGI.getStreamChannels.digital, e.szHttpProtocol, e.szIP, e.iCGIPort); + var r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getStreamDynChannels = function(e, t) { + var n = E(this.CGI.getStreamDynChannels, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.startRealPlay = function(e, t) { + var n = 100 * t.iChannelID + t.iStreamType, + r = "", + s = e.szIP; + "rtsp://" === t.urlProtocol && (s = Z(s)), + r = t.bZeroChannel ? E(t.cgi.zeroChannels, t.urlProtocol, s, t.iPort, n) : E(t.cgi.channels, t + .urlProtocol, s, t.iPort, n); + var o = c.HWP_Play(r, e.szAuth, t.iWndIndex, "", ""); + if (0 == o) { + var i = new ce; + i.iIndex = t.iWndIndex, + i.szIP = e.szIP, + i.iCGIPort = e.iCGIPort, + i.szDeviceIdentify = e.szDeviceIdentify, + i.iChannelID = t.iChannelID, + i.iPlayStatus = x, + p.push(i) + } + return o + }, + de.prototype.startVoiceTalk = function(e, t) { + var n = E(this.CGI.startVoiceTalk.open, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + r = E(this.CGI.startVoiceTalk.close, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = E(this.CGI.startVoiceTalk.audioData, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = c.HWP_StartVoiceTalkEx(n, r, s, e.szAuth, e.iAudioTypeoDeviceInfo.m_iAudioBitRate, e + .m_iAudioSamplingRate); + return o + }, + de.prototype.ptzAutoControl = function(e, t, n, r) { + var s = n.iChannelID, + o = "", + i = ""; + if (r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed : 100, t && (r.iPTZSpeed = 0), e.szDeviceType != w) o = + E(this.CGI.ptzAutoControl, e.szHttpProtocol, e.szIP, e.iCGIPort, s), + i = "" + r.iPTZSpeed + + "0"; + else { + var a = 99; + t && (a = 96), + o = E(this.CGI.goPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, s, a) + } + var c = new ue, + u = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }, + l = this; + f.extend(u, r), + f.extend(u, { + success: function(e) { + n.bPTZAuto = !n.bPTZAuto, + r.success && r.success(e) + }, + error: function(t, s) { + if (e.szDeviceType != w) { + o = E(l.CGI.ptzControl, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var a = new ue, + c = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(c, r), + a.setRequestParam(c), + a.submitRequest() + } else r.error && r.error(t, s) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + de.prototype.ptzControl = function(e, t, n, r) { + var s = (n.iChannelID, ""); + n.bPTZAuto && this.ptzAutoControl(e, !0, n, { + iPTZSpeed: 0 + }), + t ? r.iPTZSpeed = 0 : r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed : 100; + var o = [{}, + { + pan: 0, + tilt: r.iPTZSpeed + }, + { + pan: 0, + tilt: -r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: 0 + }, + { + pan: r.iPTZSpeed, + tilt: 0 + }, + { + pan: -r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + {}, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + } + ], + i = "", + a = {}; + switch (r.iPTZIndex) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + a = this.CGI.ptzControl, + i = "" + o[r.iPTZIndex].pan + "" + o[r + .iPTZIndex].tilt + ""; + break; + case 10: + case 11: + a = this.CGI.ptzControl, + i = "" + o[r.iPTZIndex].speed + + ""; + break; + case 12: + case 13: + a = this.CGI.ptzFocus, + i = "" + o[r.iPTZIndex].speed + + ""; + break; + case 14: + case 15: + a = this.CGI.ptzIris, + i = "" + o[r.iPTZIndex].speed + + ""; + break; + default: + return void(r.error && r.error()) + } + s = E(a, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var c = new ue, + u = { + type: "PUT", + url: s, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(u, r), + f.extend(u, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + de.prototype.setPreset = function(e, t, n) { + var r = (t.iChannelID, ""), + s = ""; + r = E(this.CGI.setPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID), + s = "", + s += "", + s += "" + n.iPresetID + "", + e.szDeviceType != w && (s += "Preset" + n.iPresetID + ""), + s += ""; + var o = new ue, + i = { + type: "PUT", + url: r, + auth: e.szAuth, + data: s, + success: null, + error: null + }; + f.extend(i, n), + f.extend(i, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + de.prototype.goPreset = function(e, t, n) { + var r = (t.iChannelID, ""); + r = E(this.CGI.goPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID); + var s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.recordSearch = function(e, r) { + var s = "", + o = "", + i = r.iChannelID, + a = r.iStreamType, + c = r.szStartTime.replace(" ", "T") + "Z", + u = r.szEndTime.replace(" ", "T") + "Z"; + s = E(this.CGI.recordSearch, e.szHttpProtocol, e.szIP, e.iCGIPort), + o = "" + new t + + "" + (100 * i + a) + + "" + c + "" + u + + "40" + r.iSearchPos + + "//metadata.psia.org/VideoMotion"; + var l = new ue, + d = { + type: "POST", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(d, r), + f.extend(d, { + success: function(e) { + var t = []; + t.push(""), + t.push("" + n.$XML(e).find("responseStatus").eq(0).text() + + ""), + t.push("" + n.$XML(e).find("responseStatusStrg").eq(0).text() + + ""), + t.push("" + n.$XML(e).find("numOfMatches").eq(0).text() + ""), + t.push(""); + for (var s = n.$XML(e).find("searchMatchItem", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + t.push(""), + t.push("" + n.$XML(a).find("trackID").eq(0).text() + ""), + t.push("" + n.$XML(a).find("startTime").eq(0).text() + ""), + t.push("" + n.$XML(a).find("endTime").eq(0).text() + ""), + t.push("" + f.escape(n.$XML(a).find("playbackURI").eq(0).text()) + + ""), + t.push("" + n.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[ + 1] + ""), + t.push("") + } + // console.log("2006"); + t.push(""), + t.push(""), + e = f.loadXML(t.join("")), + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + l.setRequestParam(d), + l.submitRequest() + }, + de.prototype.startPlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_Play(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = D, + p.push(u) + } + return a + }, + de.prototype.reversePlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_ReversePlay(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = b, + p.push(u) + } + return a + }, + de.prototype.startDownloadRecord = function(e, t) { + var n = E(this.CGI.startDownloadRecord, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = " " + f.escape(t.szPlaybackURI) + + ""; + return c.HWP_StartDownload(n, e.szAuth, t.szFileName, r, t.bDateDir) + }, + de.prototype.exportDeviceConfig = function(e) { + var t = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ExportDeviceConfig(t, e.szAuth, "", 0) + }, + de.prototype.importDeviceConfig = function(e, t) { + var n = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ImportDeviceConfig(n, e.szAuth, t.szFileName, 0) + }, + de.prototype.restart = function(e, t) { + var n = E(this.CGI.restart, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.restore = function(e, t, n) { + var r = E(this.CGI.restore, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.startUpgrade = function(e, t) { + var n = E(this.CGI.startUpgrade.upgrade, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = E(this.CGI.startUpgrade.status, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_StartUpgrade(n, r, e.szAuth, t.szFileName) + }, + de.prototype.set3DZoom = function(e, t, n, r) { + var s = E(this.CGI.set3DZoom, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID), + o = new ue, + i = { + type: "PUT", + url: s, + data: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(i, r), + f.extend(i, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + de.prototype.deviceCapturePic = function(e, t, n, r) { + var t = 100 * t + 1, + s = E(this.CGI.deviceCapture.channels, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = []; + return f.isInt(r.iResolutionWidth) && o.push("videoResolutionWidth=" + r.iResolutionWidth), + f.isInt(r.iResolutionHeight) && o.push("videoResolutionHeight=" + r.iResolutionHeight), + o.length > 0 && (s += "?" + o.join("&")), + c.HWP_DeviceCapturePic(s, e.szAuth, n, r.bDateDir) + }; + var pe = function() {}; + pe.prototype._alert = function(e) { + a.bDebugMode && console.log(e); + }, + function(t) { + var n = function(e) { + this.elems = [], + this.length = 0, + this.length = this.elems.push(e) + }; + n.prototype.find = function(e, t) { + var n = this.elems[this.length - 1] ? this.elems[this.length - 1].getElementsByTagName(e) : []; + return this.length = this.elems.push(n), + t ? n : this + }, + n.prototype.eq = function(e, t) { + var n = this.elems[this.length - 1].length, + r = null; + return n > 0 && n > e && (r = this.elems[this.length - 1][e]), + this.length = this.elems.push(r), + t ? r : this + }, + n.prototype.text = function(t) { + return this.elems[this.length - 1] ? t ? void(e.DOMParser ? this.elems[this.length - 1].textContent = + t : this.elems[this.length - 1].text = t) : e.DOMParser ? this.elems[this.length - 1].textContent : + this.elems[this.length - 1].text : "" + }, + n.prototype.attr = function(e) { + if (this.elems[this.length - 1]) { + var t = this.elems[this.length - 1].attributes.getNamedItem(e); + return t ? t.value : "" + } + }, + t.$XML = function(e) { + return new n(e) + } + }(this); + var Pe = function() {}; + Pe.prototype.extend = function() { + for (var e, t = arguments[0] || {}, + n = 1, r = arguments.length; r > n; n++) + if (null != (e = arguments[n])) + for (var s in e) { + var o = (t[s], e[s]); + t !== o && ("object" == typeof o ? t[s] = this.extend({}, + o) : void 0 !== o && (t[s] = o)) + } + return t + }, + Pe.prototype.browser = function() { + var e = /(chrome)[ \/]([\w.]+)/, + t = /(safari)[ \/]([\w.]+)/, + n = /(opera)(?:.*version)?[ \/]([\w.]+)/, + r = /(msie) ([\w.]+)/, + s = /(trident.*rv:)([\w.]+)/, + o = /(mozilla)(?:.*? rv:([\w.]+))?/, + i = navigator.userAgent.toLowerCase(), + a = e.exec(i) || t.exec(i) || n.exec(i) || r.exec(i) || s.exec(i) || i.indexOf("compatible") < 0 && o + .exec(i) || ["unknow", "0"]; + a.length > 0 && a[1].indexOf("trident") > -1 && (a[1] = "msie"); + var c = {}; + return c[a[1]] = !0, + c.version = a[2], + c + }, + Pe.prototype.loadXML = function(t) { + if (null == t || "" == t) return null; + var n = null; + //现场硬盘录像机用这段 + if (e.DOMParser) { + var r = new DOMParser; + n = r.parseFromString(t, "text/xml") + // console.log("DOMParser"); + } else { + if (window.ActiveXObject) { + n = new ActiveXObject("Microsoft.XMLDOM"), + n.async = !1, + n.loadXML(t); + // console.log("ActiveXObject"); + } + } + + return n + }, + Pe.prototype.loadXML2 = function(t) { + if (null == t || "" == t) return null; + var n = null; + + try //Internet Explorer + { + n = new ActiveXObject("Microsoft.XMLDOM"); + n.async = "false"; + n.loadXML(t); + } catch (e) { + try //Firefox, Mozilla, Opera, etc. + { + var parser = new DOMParser(); + n = parser.parseFromString(t, "text/xml"); + } catch (e) { + alert(e.message); + return; + } + } + return n + }, + Pe.prototype.toXMLStr = function(e) { + var t = ""; + try { + var n = new XMLSerializer; + t = n.serializeToString(e) + } catch (r) { + try { + t = e.xml + } catch (r) { + return "" + } + } + return -1 == t.indexOf("" + t), + t + }, + Pe.prototype.escape = function(e) { + return e.replace(/&/g, "&").replace(//g, ">") + }, + Pe.prototype.dateFormat = function(e, t) { + var n = { + "M+": e.getMonth() + 1, + "d+": e.getDate(), + "h+": e.getHours(), + "m+": e.getMinutes(), + "s+": e.getSeconds(), + "q+": Math.floor((e.getMonth() + 3) / 3), + S: e.getMilliseconds() + }; + /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))); + for (var r in n) new RegExp("(" + r + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? n[ + r] : ("00" + n[r]).substr(("" + n[r]).length))); + return t + }, + Pe.prototype.Base64 = { + _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + encode: function(e) { + var t, n, r, s, o, i, a, c = "", + u = 0; + for (e = Pe.prototype.Base64._utf8_encode(e); u < e.length;) t = e.charCodeAt(u++), + n = e.charCodeAt(u++), + r = e.charCodeAt(u++), + s = t >> 2, + o = (3 & t) << 4 | n >> 4, + i = (15 & n) << 2 | r >> 6, + a = 63 & r, + isNaN(n) ? i = a = 64 : isNaN(r) && (a = 64), + c = c + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(i) + this._keyStr + .charAt(a); + return c + }, + decode: function(e) { + var t, n, r, s, o, i, a, c = "", + u = 0; + for (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); u < e.length;) s = this._keyStr.indexOf(e.charAt(u++)), + o = this._keyStr.indexOf(e.charAt(u++)), + i = this._keyStr.indexOf(e.charAt(u++)), + a = this._keyStr.indexOf(e.charAt(u++)), + t = s << 2 | o >> 4, + n = (15 & o) << 4 | i >> 2, + r = (3 & i) << 6 | a, + c += String.fromCharCode(t), + 64 != i && (c += String.fromCharCode(n)), + 64 != a && (c += String.fromCharCode(r)); + return c = Pe.prototype.Base64._utf8_decode(c) + }, + _utf8_encode: function(e) { + e = e.replace(/\r\n/g, "\n"); + for (var t = "", + n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 128 > r ? t += String.fromCharCode(r) : r > 127 && 2048 > r ? (t += String.fromCharCode(r >> 6 | 192), + t += String.fromCharCode(63 & r | 128)) : (t += String.fromCharCode(r >> 12 | 224), t += String + .fromCharCode(r >> 6 & 63 | 128), t += String.fromCharCode(63 & r | 128)) + } + return t + }, + _utf8_decode: function(e) { + for (var t = "", + n = 0, + r = c1 = c2 = 0; n < e.length;) r = e.charCodeAt(n), + 128 > r ? (t += String.fromCharCode(r), n++) : r > 191 && 224 > r ? (c2 = e.charCodeAt(n + 1), t += + String.fromCharCode((31 & r) << 6 | 63 & c2), n += 2) : (c2 = e.charCodeAt(n + 1), c3 = e + .charCodeAt(n + 2), t += String.fromCharCode((15 & r) << 12 | (63 & c2) << 6 | 63 & c3), n += 3); + return t + } + }, + Pe.prototype.createEventScript = function(e, t, n) { + var r = document.createElement("script"); + r.htmlFor = e, + r.event = t, + r.innerHTML = n, + document.body.parentNode.appendChild(r) + }, + Pe.prototype.isInt = function(e) { + return /^\d+$/.test(e) + }, + Pe.prototype.getDirName = function() { + var e = ""; + if ("" !== a.szBasePath) e = a.szBasePath; + else { + var t = /[^?#]*\//, + n = document.getElementById("videonode"); + if (n) e = n.src.match(t)[0]; + else { + for (var r = document.scripts, + s = 0, + o = r.length; o > s; s++) + if (r[s].src.indexOf("webVideoCtrl.js") > -1) { + n = r[s]; + break + } + n && (e = n.src.match(t)[0]) + } + } + return e + }, + Pe.prototype.loadScript = function(e, t) { + var n = document.createElement("script"); + n.type = "text/javascript", + n.onload = function() { + t() + }, + n.src = e, + document.getElementsByTagName("head")[0].appendChild(n) + }, + Pe.prototype.sha256 = function(e) { + function t(e, t) { + var n = (65535 & e) + (65535 & t); + return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n + } + + function n(e, t) { + return e >>> t | e << 32 - t + } + + return e = function(e) { + for (var e = e.replace(/\r\n/g, "\n"), t = "", n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 128 > r ? t += String.fromCharCode(r) : (r > 127 && 2048 > r ? t += String.fromCharCode(r >> 6 | + 192) : (t += String.fromCharCode(r >> 12 | 224), t += String.fromCharCode(r >> 6 & 63 | 128)), + t += String.fromCharCode(63 & r | 128)) + } + return t + }(e), + function(e) { + for (var t = "", + n = 0; n < 4 * e.length; n++) t += "0123456789abcdef".charAt(e[n >> 2] >> 8 * (3 - n % 4) + 4 & + 15) + "0123456789abcdef".charAt(e[n >> 2] >> 8 * (3 - n % 4) & 15); + return t + }(function(e, r) { + var s, o, i, a, c, u, l, d, p, P, h, I, f = [1116352408, 1899447441, 3049323471, 3921009573, + 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, + 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, + 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, + 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, + 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, + 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, + 2428436474, 2756734187, 3204031479, 3329325298 + ], + m = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], + C = Array(64); + for (e[r >> 5] |= 128 << 24 - r % 32, e[(r + 64 >> 9 << 4) + 15] = r, p = 0; p < e.length; p += 16) { + for (s = m[0], o = m[1], i = m[2], a = m[3], c = m[4], u = m[5], l = m[6], d = m[7], P = 0; 64 > + P; P++) C[P] = 16 > P ? e[P + p] : t(t(t(n(C[P - 2], 17) ^ n(C[P - 2], 19) ^ C[P - 2] >>> 10, C[ + P - 7]), n(C[P - 15], 7) ^ n(C[P - 15], 18) ^ C[P - 15] >>> 3), C[P - 16]), + h = t(t(t(t(d, n(c, 6) ^ n(c, 11) ^ n(c, 25)), c & u ^ ~c & l), f[P]), C[P]), + I = t(n(s, 2) ^ n(s, 13) ^ n(s, 22), s & o ^ s & i ^ o & i), + d = l, + l = u, + u = c, + c = t(a, h), + a = i, + i = o, + o = s, + s = t(h, I); + m[0] = t(s, m[0]), + m[1] = t(o, m[1]), + m[2] = t(i, m[2]), + m[3] = t(a, m[3]), + m[4] = t(c, m[4]), + m[5] = t(u, m[5]), + m[6] = t(l, m[6]), + m[7] = t(d, m[7]) + } + return m + }(function(e) { + for (var t = [], n = 0; n < 8 * e.length; n += 8) t[n >> 5] |= (255 & e.charCodeAt(n / 8)) << 24 - + n % 32; + return t + }(e), 8 * e.length)) + }, + Pe.prototype.cookie = function(e, t, n) { + if (arguments.length > 1 && (null === t || "object" != typeof t)) { + if (n = this.extend({}, + n), null === t && (n.expires = -1), "number" == typeof n.expires) { + var r = n.expires, + s = n.expires = new Date; + s.setDate(s.getDate() + r) + } + return document.cookie = [encodeURIComponent(e), "=", n.raw ? String(t) : encodeURIComponent(String(t)), n + .expires ? "; expires=" + n.expires.toUTCString() : "", n.path ? "; path=" + n.path : "; path=/", n + .domain ? "; domain=" + n.domain : "", n.secure ? "; secure" : "" + ].join("") + } + n = t || {}; + var o, i = n.raw ? + function(e) { + return e + } : decodeURIComponent; + return (o = new RegExp("(?:^|; )" + encodeURIComponent(e) + "=([^;]*)").exec(document.cookie)) ? i(o[1]) : + null + }, + t.prototype.valueOf = function() { + return this.id + }, + t.prototype.toString = function() { + return this.id + }, + t.prototype.createUUID = function() { + var e = new Date(1582, 10, 15, 0, 0, 0, 0), + n = new Date, + r = n.getTime() - e.getTime(), + s = "-", + o = t.getIntegerBits(r, 0, 31), + i = t.getIntegerBits(r, 32, 47), + a = t.getIntegerBits(r, 48, 59) + "1", + c = t.getIntegerBits(t.rand(4095), 0, 7), + u = t.getIntegerBits(t.rand(4095), 0, 7), + l = t.getIntegerBits(t.rand(8191), 0, 7) + t.getIntegerBits(t.rand(8191), 8, 15) + t.getIntegerBits(t + .rand(8191), 0, 7) + t.getIntegerBits(t.rand(8191), 8, 15) + t.getIntegerBits(t.rand(8191), 0, 15); + return o + s + i + s + a + s + c + u + s + l + }, + t.getIntegerBits = function(e, n, r) { + var s = t.returnBase(e, 16), + o = new Array, + i = "", + a = 0; + for (a = 0; a < s.length; a++) o.push(s.substring(a, a + 1)); + for (a = Math.floor(n / 4); a <= Math.floor(r / 4); a++) i += o[a] && "" != o[a] ? o[a] : "0"; + return i + }, + t.returnBase = function(e, t) { + var n = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "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" + ]; + if (t > e) var r = n[e]; + else { + var s = "" + Math.floor(e / t), + o = e - s * t; + if (s >= t) var r = this.returnBase(s, t) + n[o]; + else var r = n[s] + n[o] + } + return r + }, + t.rand = function(e) { + return Math.floor(Math.random() * e) + }, + h = new le, + I = new de, + P = new pe, + f = new Pe; + var he = f.dateFormat(new Date, "yyyyMMddhhmmss"); + return o = "webVideoCtrl" + he, + i = "webVideoCtrl" + he, + "object" != typeof e.attachEvent && f.browser().msie && (f.createEventScript(o, + "GetSelectWndInfo(SelectWndInfo)", "GetSelectWndInfo(SelectWndInfo);"), f.createEventScript(o, + "ZoomInfoCallback(szZoomInfo)", "ZoomInfoCallback(szZoomInfo);"), f.createEventScript(o, + "GetHttpInfo(lID, lpInfo, lReverse)", "GetHttpInfo(lID, lpInfo, lReverse);"), f.createEventScript(o, + "PluginEventHandler(iEventType, iParam1, iParam2)", "PluginEventHandler(iEventType, iParam1, iParam2);"), + f.createEventScript(o, "RemoteConfigInfo(lID)", "RemoteConfigInfo(lID);"), f.createEventScript(o, + "KeyBoardEventInfo(iKeyCode)", "KeyBoardEventInfo(iKeyCode);")), + this + }(), + n = e.WebVideoCtrl = t; + n.version = "1.1.0" + } +}(this), +"object" == typeof exports && "undefined" != typeof module || ("function" == typeof define && define.amd ? define( + function() { + return WebVideoCtrl + }) : "function" == typeof define && define.cmd && define(function(e, t, n) { + n.exports = WebVideoCtrl +})); +// export{ +// WebVideoCtrl() +// } \ No newline at end of file diff --git a/src/api/system/Role/role.js b/src/api/system/Role/role.js new file mode 100644 index 0000000..7eb16f3 --- /dev/null +++ b/src/api/system/Role/role.js @@ -0,0 +1,47 @@ +import request from '@/utils/request' +import qs from 'qs' +const tokens = window.sessionStorage.getItem('token') +// +export function rolemenus(data) { + return request({ + url: '/system/v1/rolemenus/' + data.roleSid, + method: 'get', + params: data + }) +} + +// 获取左侧菜单 +export function getrolemenus(data) { + return request({ + baseURL: '/api', + url: '/portal/v1/sysmenu/sourcemenutree', + method: 'POST', + async: false, +// data: {userSid: data.userSid, sourceSid: '000011'}, + data: data, + headers: { 'Content-Type': 'application/json', + 'token': tokens } + }) +} + +// 获取角色的主页菜单 +export function sourcesofrole(data) { + return request({ + url: '/system/v1/rolemenus/sourcesofrole', + method: 'POST', + data: data, + headers: { 'Content-Type': 'application/json' } + }) +} +// 根据token值获取登录后的用户信息 +export function loginDetails(data) { + return request({ + baseURL: '/api', + url: '/portal/v1/sysuser/loginDetails', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) +} diff --git a/src/api/system/Role/roleManage.js b/src/api/system/Role/roleManage.js new file mode 100644 index 0000000..e3de51c --- /dev/null +++ b/src/api/system/Role/roleManage.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' +import qs from 'qs' + +// 获取角色 不分页列表 +export function roleList(data) { + return request({ + url: '/system/v1/roles/list/', + method: 'post', + data: qs.stringify(data) + }) +} + + +//获取角色 分页列表 +export function rolePageList(data) { + return request({ + url: '/system/v1/roles/pagelist', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//保存 角色信息 +export function saveRoleInfo(data) { + return request({ + url: '/system/v1/roles', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//根据sid 获取单个角色 信息 +export function getRoleInfo(data) { + return request({ + url: '/system/v1/roles/' + data.sid, + method: 'GET', + data: qs.stringify(data) + }) +} + +//根据sid 修改单个角色 信息 +export function putRoleInfo(data) { + return request({ + url: '/system/v1/roles/' + data.sid, + method: 'PUT', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//根据sid 删除单个角色 信息 +export function delRole(data) { + return request({ + url: '/system/v1/roles/' + data.sid, + method: 'DELETE', + data: qs.stringify(data) + }) +} + +//根据sid 设置单个角色 的状态 +export function setRoleEnable(data) { + return request({ + url: `/system/v1/roles/setIsEnable/${data.sid}/${data.isEnable}`, + method: 'POST', + data: qs.stringify(data) + }) +} diff --git a/src/api/system/basefkManage/index.js b/src/api/system/basefkManage/index.js new file mode 100644 index 0000000..4a5e204 --- /dev/null +++ b/src/api/system/basefkManage/index.js @@ -0,0 +1,138 @@ +import request from '@/utils/request' +import qs from 'qs' +// 用户列表 +let tokens = window.sessionStorage.getItem('token'); +export function userList(data){ + return request({ + url: '/base/v1/basefinbank/listPage', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 根据sid查询一条信息 +export function userSingle(data){ + return request({ + url: '/base/v1/basefinbank/fetchSid/' +data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 新增 +export function userAdd(data){ + return request({ + url: '/portal/v1/sysuser/save', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 更新 +export function userUpdata(data){ + return request({ + url: '/portal/v1/sysuser/update/' +data.sid, + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 删除 +export function delUser(data){ + return request({ + url: '/portal/v1/sysuser/delBySid/' +data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 初始化密码 +export function initPwd(data){ + return request({ + url: '/portal/v1/sysuser/initPwd/' +data.sid, + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 单条用户的角色列表 +export function setRole(data){ + return request({ + url: '/portal/v1/sysrole/listAllByUserSid/' +data.sid, + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 角色列表 +export function saveOrgRole(data){ + return request({ + url: '/portal/v1/sysuserrole/update', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 查询角色列表 +export function roleList(data){ + return request({ + url: '/base/v1/basefinpolicy/listAll', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 查询部门列表 +export function orgList(data){ + return request({ + url: '/portal/v1/sysorganization/list', + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 查询岗位列表 +export function postList(data){ + return request({ + url: '/portal/v1/syspost/fetchByOrgSid/'+data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 获取验证码 +export function getCode(data){ + return request({ + url: '/portal/v1/sysuser/sendMessageCode/'+data.phone, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} diff --git a/src/api/system/dataDict/dataDict.js b/src/api/system/dataDict/dataDict.js new file mode 100644 index 0000000..15df050 --- /dev/null +++ b/src/api/system/dataDict/dataDict.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' +import qs from 'qs' +//获取单位级别 +export function getDwJb(data) { + return request({ + url: '/system/dictCommon/getDwJb', + method: 'GET', + }) +} +// 获取机构单位类别 +export function getDwType(data) { + return request({ + url: '/system/dictCommon/getDwType', + method: 'get', + params: data + }) +} +//获取机构人员类别 +export function getRylb(data) { + return request({ + url: '/system/dictCommon/getRylb', + method: 'get' + }) +} + +// 根据Type值获取数据对象 +export function getDicts(typeCode) { + return request({ + url: '/system/dictCommon/dicts/'+typeCode, + method: 'get' + }) +} diff --git a/src/api/system/departments/departments.js b/src/api/system/departments/departments.js new file mode 100644 index 0000000..6594952 --- /dev/null +++ b/src/api/system/departments/departments.js @@ -0,0 +1,120 @@ +import request from '@/utils/request' +import qs from 'qs'; + +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/sysorganization/listPage', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 查询左侧部门列表 +export function orgList(data){ + return request({ + url: '/portal/v1/sysorganization/list', + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 编辑部门信息 +export function postOrgtree(data){ + return request({ + url: '/portal/v1/sysorganization/update/' +data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 获取 机构分页列表 +export function putOrgtree(data) { + return request({ + url: '/portal/v1/sysorganization/update/' +data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens} + }) +} +// 新增部门信息 +export function addOrgTree(data){ + return request({ + url: '/portal/v1/sysorganization/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 树 节点名称 删除 +export function delOrgtree(data) { + return request({ + url: `/portal/v1/sysorganization/delBySid/`+data.sid, + method: 'get', + data: qs.stringify(data), + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + + + + + + + + +// 获取 机构树形 +export function getOrgTree(data) { + return request({ + url: `/system/v1/departments/departmentTreeList/`+ data.organizationSid, + method: 'GET', + params: data + }) +} +//// 添加 机构树形节点 +//export function addOrgTree(data) { +//return request({ +// url: `/system/v1/departments`, +// method: 'post', +// data: data, +// headers: {'Content-Type': 'application/json'} +//}) +//} + +// 获取 机构分页列表 +export function getPagelist(data) { + return request({ + url: `/system/v1/departments/pagelist`, + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + + + + + + + +// 查看二维码 +export function getQrCode(data) { + return request({ + url: `/system/v1/departments/getQrCode/`+data.sid, + method: 'POST', + data: qs.stringify(data) + }) +} diff --git a/src/api/system/dictType/dictCommon.js b/src/api/system/dictType/dictCommon.js new file mode 100644 index 0000000..efca4ad --- /dev/null +++ b/src/api/system/dictType/dictCommon.js @@ -0,0 +1,52 @@ +import request from '@/utils/request' +import qs from 'qs' +let tokens = window.sessionStorage.getItem('token'); + +//获取字典子集 分页列表 +export function dictCommonList(data) { + return request({ + url: '/portal/v1/dictcommons/pageList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//保存 字典子级 +export function savedictCommon(data) { + return request({ + url: '/portal/v1/dictcommons/save', + method: 'POST', + data: qs.stringify(data), + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +//根据sid 获取单个菜单 信息 +export function getRoleInfo(data) { + return request({ + url: '/system/v1/menus/' + data.sid, + method: 'GET', + data: qs.stringify(data) + }) +} + +//根据sid 修改 数据字典 +export function putdictCommon(data) { + return request({ + url: '/portal/v1/dictcommons/update/' + data.sid, + method: 'POST', + data: qs.stringify(data) + }) +} + +//根据sid 删除菜单 信息 +export function deldictCommon(data) { + return request({ + url: '/portal/v1/dictcommons/delete/' + data.sid, + method: 'DELETE', + data: qs.stringify(data) + }) +} diff --git a/src/api/system/dictType/index.js b/src/api/system/dictType/index.js new file mode 100644 index 0000000..b2d8a1d --- /dev/null +++ b/src/api/system/dictType/index.js @@ -0,0 +1,72 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' +let tokens = window.sessionStorage.getItem('token'); + +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/dicttypes/pageList', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +//根据sid 修改 +export function putDictType(data) { + return request({ + url: '/portal/v1/dicttypes/update/' + data.sid, + method: 'POST', + data: qs.stringify(data) + }) +} + + + + + + + + + + +////获取菜单 分页列表 +//export function dictTypeList(data) { +//return request({ +// url: '/system/dicttype/pageList', +// method: 'post', +// data: data, +// headers: {'Content-Type': 'application/json'} +//}) +//} + +//保存 角色信息 +export function saveDictType(data) { + return request({ + url: '/system/dicttype/save', + method: 'POST', + data: qs.stringify(data) + }) +} + +//根据sid 获取单个菜单 信息 +export function getRoleInfo(data) { + return request({ + url: '/system/v1/menus/' + data.sid, + method: 'GET', + data: qs.stringify(data) + }) +} + + + +//根据sid 删除菜单 信息 +export function delDictType(data) { + return request({ + url: '/system/dicttype/delete/' + data.sid, + method: 'DELETE', + data: qs.stringify(data) + }) +} diff --git a/src/api/system/functional/functional.js b/src/api/system/functional/functional.js new file mode 100644 index 0000000..ed3b066 --- /dev/null +++ b/src/api/system/functional/functional.js @@ -0,0 +1,84 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/sysfunction/listAllVoForSource', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +//新增 +export function savePost(data) { + return request({ + url: '/portal/v1/sysfunction/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +//模块名称 +export function sourceList(data) { + return request({ + url: '/portal/v1/syssource/listAll', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 删除 +export function delOrgroles(data) { + return request({ + url: '/portal/v1/sysfunction/delBySids/'+ data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 修改 +export function getSingleData(data){ + return request({ + url: '/portal/v1/sysfunction/fetchBySid/'+data.id, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +export function putOrgroles(data){ + return request({ + url: '/portal/v1/sysfunction/update/' +data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 功能是否可用状态 +export function IsEnable(data){ + return request({ + url: '/portal/v1/sysfunction/updateIsEnable/' +data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} \ No newline at end of file diff --git a/src/api/system/log/index.js b/src/api/system/log/index.js new file mode 100644 index 0000000..a4dfd39 --- /dev/null +++ b/src/api/system/log/index.js @@ -0,0 +1,16 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function logPageList(data) { + return request({ + url: '/portal/v1/systemlog/listPage', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + diff --git a/src/api/system/menu/index.js b/src/api/system/menu/index.js new file mode 100644 index 0000000..08a617c --- /dev/null +++ b/src/api/system/menu/index.js @@ -0,0 +1,115 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' + +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/sysmenu/listAllVoForSource', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 新增保存 菜单信息 +export function saveMenusInfo(data) { + return request({ + url: '/portal/v1/sysmenu/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} +// 修改保存 菜单信息 +export function putMenusInfo(data) { + return request({ + url: '/portal/v1/sysmenu/update/'+ data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} +//根据sid 删除单个 资源信息 +export function delMenus(data) { + return request({ + url: '/portal/v1/sysmenu/delBySids/' + data.sid, + method: 'get', + data: qs.stringify(data), + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 修改状态 +export function IsEnable(data) { + return request({ + url: '/portal/v1/sysmenu/updateIsEnable/' + data.sid, + method: 'POST', + data: qs.stringify(data), + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + + + + + + + + + + + + + + +// 获取菜单 不分页列表 +export function roleList(data) { + return request({ + url: '/system/v1/menus/list', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//获取菜单 分页列表 +export function menusPageList(data) { + return request({ + url: '/system/v1/menus/pagelist', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +//获取菜单 树形分页列表 +export function menusTreelist(data) { + return request({ + url: '/system/v1/menus/treelist', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + + + +//根据sid 获取单个菜单 信息 +export function getRoleInfo(data) { + return request({ + url: '/system/v1/menus/' + data.sid, + method: 'GET', + data: qs.stringify(data) + }) +} + + + + diff --git a/src/api/system/organization/organization.js b/src/api/system/organization/organization.js new file mode 100644 index 0000000..1cf938e --- /dev/null +++ b/src/api/system/organization/organization.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' +import qs from 'qs' +let tokens = window.sessionStorage.getItem('token'); +class user{ + verifyList(data){ // 获取列表 + return request({ + url: '/system/organization/verifyList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) + } + orgRegisterDetails(data){ // 单位注册信息详情 + return request({ + url: '/system/organization/organizationRegisterDetails/'+data.organizationSid, + method: 'get', + params: data + }) + } + verify(data){ // 审核 + return request({ + url: '/system/organization/verify', + method: 'post', + data: qs.stringify(data) + }) + } + // 删除机构信息 + del(data) { + return request({ + url: '/system/organization/delete/'+data.sid, + method: 'DELETE', + data + }) + } +} +export default new user() diff --git a/src/api/system/postManage/index.js b/src/api/system/postManage/index.js new file mode 100644 index 0000000..5d110f5 --- /dev/null +++ b/src/api/system/postManage/index.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMTE1MjUwfQ.gtn_mVsbwH6ztl835rWmIY4DxeNmRe_TOt-Q0TdldIE' +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/syspost/listPage', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 查询部门列表 +export function orgList(data){ + return request({ + url: '/portal/v1/sysorganization/list', + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 新增 +export function savePost(data){ + return request({ + url: '/portal/v1/syspost/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 修改 +export function putOrgroles(data){ + return request({ + url: '/portal/v1/syspost/update/' +data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 删除 +export function delOrgroles(data){ + return request({ + url: '/portal/v1/syspost/delBySids/' + data.sids, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} \ No newline at end of file diff --git a/src/api/system/roleAdminister/index.js b/src/api/system/roleAdminister/index.js new file mode 100644 index 0000000..da00965 --- /dev/null +++ b/src/api/system/roleAdminister/index.js @@ -0,0 +1,139 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g' +let tokens = window.sessionStorage.getItem('token'); +// 业务角色 列表 +export function roleOrgList(data){ + return request({ + url: '/portal/v1/sysrole/listPage', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 设置是否可用:isEnable:1可用,0不可用 +export function setRoleEnable(data) { + return request({ + url: `/system/v1/orgroles/setIsEnable/${data.sid}/${data.isEnable}`, + method: 'POST', + data: qs.stringify(data) + }) +} + +/** + * <新增 保存角色> + * @orgSid 机构SID + * @remarks 备注 + * @roleName 角色名称 + * */ +export function saveOrgroles(data) { + return request({ + url: '/portal/v1/sysrole/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +/** + * <根据SID 修改角色> + * @sid 角色SID + * @orgSid 机构SID + * @remarks 备注 + * @roleName 角色名称 + * */ +export function putOrgroles(data) { + return request({ + url: `/portal/v1/sysrole/update/${data.sid}`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +/** + * <根据SID 删除角色> + * @sid 角色SID + * */ +export function delOrgroles(data) { + return request({ + url: `/portal/v1/sysrole/delBySids/${data.sid}`, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 菜单授权 +export function roleMenuTree(data) { + return request({ + url: `/portal/v1/sysmenu/listAllByRoleSid`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 菜单授权保存 +export function saveorgrolemenus(data) { + return request({ + url: `/portal/v1/sysmenurole/updateRoleAndMenu`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 资源授权 +export function sourceMenuTree(data) { + return request({ + url: `/portal/v1/syssource/listAllByRoleSid`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 资源授权保存 +export function saveSource(data) { + return request({ + url: `/portal/v1/syssourcerole/updateRoleAndSource`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 功能授权 +export function funMenuTree(data) { + return request({ + url: `/portal/v1/sysfunction/listAllByRoleSid`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 功能授权保存 +export function savefunMenu(data) { + return request({ + url: `/portal/v1/sysrolefunction/updateRoleAndFunction`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} \ No newline at end of file diff --git a/src/api/system/roleAdminister/rolemenus.js b/src/api/system/roleAdminister/rolemenus.js new file mode 100644 index 0000000..b3342eb --- /dev/null +++ b/src/api/system/roleAdminister/rolemenus.js @@ -0,0 +1,31 @@ +import request from '@/utils/request' +import qs from 'qs' + +/** + * < 业务角色授权时菜单列表(拥有的菜单选中)> + * @orgTypeKeys 单位性质(类别 + * @roleSid 业务角色sid + * @userType 用户类型只能为1或2 + * */ +export function roleMenuTree(data){ + return request({ + url: '/system/v1/orgrolemenus/menutree', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +/** + * < 保存角色授权的菜单项 > + * @roleMenus[] 角色权限列表 {menuSid 菜单sid} {orgSid 单位sid} {roleSid 角色sid} + * @roleSid 业务角色sid + * */ +export function saveorgrolemenus(data){ + return request({ + url: '/system/v1/orgrolemenus', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} diff --git a/src/api/system/roleMenus/index.js b/src/api/system/roleMenus/index.js new file mode 100644 index 0000000..9d4e877 --- /dev/null +++ b/src/api/system/roleMenus/index.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' +import qs from 'qs' + +//角色授权时菜单列表(拥有的菜单选中) +export function getrolemenus(data) { + return request({ + url: `/system/v1/rolemenus/${data.roleSid}`, + method: 'GET', + params: data + }) +} + +//保存 角色授权时菜单列表 +export function saverolemenus(data) { + return request({ + url: `/system/v1/rolemenus`, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} diff --git a/src/api/system/sources/index.js b/src/api/system/sources/index.js new file mode 100644 index 0000000..f94cac0 --- /dev/null +++ b/src/api/system/sources/index.js @@ -0,0 +1,111 @@ +import request from '@/utils/request' +import qs from 'qs' +//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY' +let tokens = window.sessionStorage.getItem('token'); +//获取菜单 分页列表 +export function pageList(data) { + return request({ + url: '/portal/v1/syssource/listPage', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +//保存 资源信息 +export function saveSourcesInfo(data) { + return request({ + url: '/portal/v1/syssource/save', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 修改 保存 资源信息 +export function putSourcesInfo(data) { + return request({ + url: '/portal/v1/syssource/update/' + data.sid, + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +//根据sid 删除单个 资源信息 +export function delSources(data) { + return request({ + url: '/portal/v1/syssource/delBySids/' + data.sid, + method: 'get', + data: qs.stringify(data), + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 获取获取资源类别 +export function getZzylb(data) { +return request({ + url: '/portal/v1/syssource/listAll', + method: 'post', + headers: {'Content-Type': 'application/json'} +}) +} + + + + + + + + + + + + + + + +// 获取资源 不分页列表 +export function sourcesList(data) { + return request({ + url: '/system/v1/sources/list', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +// 获取资源列表 不分页下拉 +export function getsourceList(data) { + return request({ + url: '/system/v1/sources/sourceList', + method: 'post' + }) +} + + +////获取资源 分页列表 +//export function sourcesPageList(data) { +//return request({ +// url: '/system/v1/sources/pagelist', +// method: 'POST', +// data: data, +// headers: {'Content-Type': 'application/json'} +//}) +//} + + + +//根据sid 获取单个 资源信息 +export function getSourcesInfo(data) { + return request({ + url: '/system/v1/sources/' + data.sid, + method: 'GET', + data: qs.stringify(data) + }) +} + diff --git a/src/api/system/user/Auser.js b/src/api/system/user/Auser.js new file mode 100644 index 0000000..b2318a8 --- /dev/null +++ b/src/api/system/user/Auser.js @@ -0,0 +1,84 @@ +import request from '@/utils/request' +import qs from 'qs' + +export function verifyList(data){ // 用户列表 + return request({ + url: '/system/user/verifyList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} +// admin用户列表 +export function userListByAdmin(data){ + return request({ + url: '/system/user/userListByAdmin', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +// 设置角色 +export function psotUserRole(data){ + return request({ + url: '/system/v1/userrole', + method: 'post', + data: qs.stringify(data) + }) +} + +// 用户初始化密码 +export function initPwd(data){ + return request({ + url: 'system/user/initPwd/'+data.sid, + method: 'POST', + data: qs.stringify(data) + }) +} + +// 用户删除接口 +export function delUser(data){ + return request({ + url: '/system/user/delete/'+data.sid, + method: 'DELETE', + params: data + }) +} + +// 初始化设置角色 +export function initUserRole(data){ + return request({ + url: '/system/v1/userroles/initUserRole/'+ data.userSid, + method: 'get', + params: data + }) +} + +// 保存角色 +export function saveUserRole(data){ + return request({ + url: '/system/v1/userroles', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +// 用户信息 +export function getUserINfo(data){ + return request({ + url: '/system/user/userRegisterDetails', + method: 'get', + params: data + }) +} + +// 单位信息 +export function getOrgINfo(data){ + return request({ + url: '/system/organization/organizationRegisterDetails/'+ data.organizationSid, + method: 'get', + params: data + }) +} diff --git a/src/api/system/user/login.js b/src/api/system/user/login.js new file mode 100644 index 0000000..5f3aa3b --- /dev/null +++ b/src/api/system/user/login.js @@ -0,0 +1,38 @@ +import request from '@/utils/request' +import qs from 'qs' + + +//获取菜单 分页列表 +export function login1(data) { + return request({ + url: '/portal/v1/sysuser/login', + method: 'POST', + data: data, + headers: {'Content-Type': 'application/json', +// 'token':tokens + } + }) +} + +class user { + login(data) { // 登录 + return request({ + url: '/portal/v1/sysuser/login', + method: 'post', + data + }) + } + logout() { // 退出 + return request({ + url: '/vue-admin-template/user/logout', + method: 'post' + }) + } + updatePassword(data) { // 退出修改密码 + return request({ + url: '/system/user/updatePassword', + method: 'post', + data: qs.stringify(data) + }) + } +} diff --git a/src/api/system/user/user.js b/src/api/system/user/user.js new file mode 100644 index 0000000..6ff564f --- /dev/null +++ b/src/api/system/user/user.js @@ -0,0 +1,43 @@ +import request from '@/utils/request' +import qs from 'qs' +class user{ + verifyList(data){ // 请求审核列表 + return request({ + url: '/system/user/verifyList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) + } + userRegisterDetails(data){ // 获取审核内容 + console.log(data) + return request({ + url: '/system/user/userRegisterDetails', + method: 'get', + params: data + }) + } + verify(data){ // 审核通过不通过 + return request({ + url: '/system/user/verify', + method: 'post', + data: qs.stringify(data) + }) + } + userDelete(data){ // 删除 + return request({ + url: '/system/user/delete/{sid}', + method: 'delete', + data: qs.stringify(data) + }) + } + userNameDelete(data){ // 删除个人注册审核 + return request({ + url: '/system/staffApply/deleteByUserName', + method: 'delete', + data: qs.stringify(data) + }) + } + +} +export default new user() diff --git a/src/api/system/userAdminister/client.js b/src/api/system/userAdminister/client.js new file mode 100644 index 0000000..ffb3861 --- /dev/null +++ b/src/api/system/userAdminister/client.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' +import qs from 'qs' + +// 委托人分页列表 +export function clientList(data){ + return request({ + url: '/jlcyry/v1/clientalterrecords/pagerList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +// 变更选择委托人列表 +export function setclientList(data){ + return request({ + url: '/jlcyry/v1/clientalterrecords/staffClientList', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + +// 变更为被委托人 +export function doClientAlter(data){ + return request({ + url: '/jlcyry/v1/clientalterrecords/doClientAlter', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} diff --git a/src/api/system/userAdminister/index.js b/src/api/system/userAdminister/index.js new file mode 100644 index 0000000..08d3d50 --- /dev/null +++ b/src/api/system/userAdminister/index.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' +import qs from 'qs' +let tokens = window.sessionStorage.getItem('token'); +// 单位用户列表 +export function orgUserList(data){ + return request({ + url: '/system/user/userListByOrg', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json'} + }) +} + + +// 设置角色 +export function psotUserRole(data){ + return request({ + url: '/system/v1/userrole', + method: 'post', + data: qs.stringify(data) + }) +} + +/** + * 获取角色列表 + * orgSid 用户SID + * roleName 角色名称 + * */ +export function orgrolesList(data){ + return request({ + url: '/system/v1/orgroles/list', + method: 'post', + headers: {'Content-Type': 'application/json'}, + data + }) +} +/** + * 保存 设置角色 /system/v1/orguserroles + * */ + export function saveOrgRole(data){ + return request({ + url: '/system/v1/orguserroles', + method: 'post', + headers: {'Content-Type': 'application/json'}, + data + }) + } + +/** + * 部门机构列表 /system/v1/departments/departmentOrgList/{organizationSid} + * */ + export function getOrgList(organizationSid){ + return request({ + url: '/system/v1/departments/departmentOrgList/' + organizationSid, + method: 'get' + }) + } +/** + * 保存 设置部门 /system/v1/orguserroles + * */ + export function saveDepartment(data){ + return request({ + url: '/system/v1/departmentStaffs/setUpDepartment', + method: 'post', + headers: {'Content-Type': 'application/json'}, + data + }) + } + diff --git a/src/api/system/userManage/index.js b/src/api/system/userManage/index.js new file mode 100644 index 0000000..753a8fb --- /dev/null +++ b/src/api/system/userManage/index.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' +import qs from 'qs' +// 用户列表 + +let tokens = window.sessionStorage.getItem('token'); +export function userList(data){ + return request({ + url: '/base/v1/basefinbank/listPage', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 根据sid查询一条信息 +export function userSingle(data){ + return request({ + url: '/base/v1/basefinpolicy/fetchSid/' +data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 新增 +export function userListAdd(data){ + return request({ + url: '/base/v1/basefinbank/save/', + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} +// 更新 +export function userUpdata(data){ + return request({ + url: '/base/v1/basefinbank/update/' +data.sid, + method: 'post', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} + +// 删除 +export function delbank(data){ + return request({ + url: '/base/v1/basefinbank/deleteBySids/' +data.sid, + method: 'get', + data: data, + headers: {'Content-Type': 'application/json', + 'token':tokens + } + }) +} diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 0000000..dba15f7 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,56 @@ +import request from '@/utils/request' +// eslint-disable-next-line no-unused-vars +import qs from 'qs' + +// 登录 +export function login(data) { + return request({ + url: '/portal/v1/sysuser/login', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) +} + +// 用户注册 +export function registUser(data) { + return request({ + url: '/system/user/save', + method: 'post', + data, + headers: { 'Content-Type': 'application/x-www-form-urlencoded;' } + }) +} + +// 获取手机验证码 +export function getVerificationCode(data) { + return request({ + url: '/system/user/getVerificationCode', + method: 'get', + params: data + }) +} + +// 获取登录验证码 +export function imgCode() { + return request({ + url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(), + method: 'get' + }) +} + +// 获取用信息 +export function getInfo(token) { + return request({ + url: '/system/user/loginDetails', + method: 'post' + }) +} + +export function logout(data) { // 退出 + return request({ + url: '/portal/v1/sysuser/signOut', + method: 'post', + data: qs.stringify(data) + }) +} diff --git a/src/assets/404_images/404.png b/src/assets/404_images/404.png new file mode 100644 index 0000000..3d8e230 Binary files /dev/null and b/src/assets/404_images/404.png differ diff --git a/src/assets/404_images/404_cloud.png b/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000..c6281d0 Binary files /dev/null and b/src/assets/404_images/404_cloud.png differ diff --git a/src/assets/home/anrui.png b/src/assets/home/anrui.png new file mode 100644 index 0000000..31de90a Binary files /dev/null and b/src/assets/home/anrui.png differ diff --git a/src/assets/home/bIcon1.png b/src/assets/home/bIcon1.png new file mode 100644 index 0000000..f2c1381 Binary files /dev/null and b/src/assets/home/bIcon1.png differ diff --git a/src/assets/home/bIcon2.png b/src/assets/home/bIcon2.png new file mode 100644 index 0000000..4076e7e Binary files /dev/null and b/src/assets/home/bIcon2.png differ diff --git a/src/assets/home/bIcon3.png b/src/assets/home/bIcon3.png new file mode 100644 index 0000000..bbc6c51 Binary files /dev/null and b/src/assets/home/bIcon3.png differ diff --git a/src/assets/home/bIcon4.png b/src/assets/home/bIcon4.png new file mode 100644 index 0000000..a7ef26f Binary files /dev/null and b/src/assets/home/bIcon4.png differ diff --git a/src/assets/home/bIcon5.png b/src/assets/home/bIcon5.png new file mode 100644 index 0000000..6840128 Binary files /dev/null and b/src/assets/home/bIcon5.png differ diff --git a/src/assets/home/bIcon6.png b/src/assets/home/bIcon6.png new file mode 100644 index 0000000..61c88a8 Binary files /dev/null and b/src/assets/home/bIcon6.png differ diff --git a/src/assets/home/bIcon7.png b/src/assets/home/bIcon7.png new file mode 100644 index 0000000..209f1a5 Binary files /dev/null and b/src/assets/home/bIcon7.png differ diff --git a/src/assets/home/bIcon8.png b/src/assets/home/bIcon8.png new file mode 100644 index 0000000..f2c2e33 Binary files /dev/null and b/src/assets/home/bIcon8.png differ diff --git a/src/assets/home/bottomBg.png b/src/assets/home/bottomBg.png new file mode 100644 index 0000000..334f614 Binary files /dev/null and b/src/assets/home/bottomBg.png differ diff --git a/src/assets/home/line.png b/src/assets/home/line.png new file mode 100644 index 0000000..b828cc3 Binary files /dev/null and b/src/assets/home/line.png differ diff --git a/src/assets/home/ltBg.png b/src/assets/home/ltBg.png new file mode 100644 index 0000000..7c487f7 Binary files /dev/null and b/src/assets/home/ltBg.png differ diff --git a/src/assets/home/ltIcon1.png b/src/assets/home/ltIcon1.png new file mode 100644 index 0000000..0c17623 Binary files /dev/null and b/src/assets/home/ltIcon1.png differ diff --git a/src/assets/home/ltIcon2.png b/src/assets/home/ltIcon2.png new file mode 100644 index 0000000..f4f2531 Binary files /dev/null and b/src/assets/home/ltIcon2.png differ diff --git a/src/assets/home/ltIcon3.png b/src/assets/home/ltIcon3.png new file mode 100644 index 0000000..a69ef7c Binary files /dev/null and b/src/assets/home/ltIcon3.png differ diff --git a/src/assets/home/ltIcon4.png b/src/assets/home/ltIcon4.png new file mode 100644 index 0000000..740cfb3 Binary files /dev/null and b/src/assets/home/ltIcon4.png differ diff --git a/src/assets/home/notice.png b/src/assets/home/notice.png new file mode 100644 index 0000000..f964245 Binary files /dev/null and b/src/assets/home/notice.png differ diff --git a/src/assets/home/rtBg.png b/src/assets/home/rtBg.png new file mode 100644 index 0000000..987b9cb Binary files /dev/null and b/src/assets/home/rtBg.png differ diff --git a/src/assets/images/arrow.png b/src/assets/images/arrow.png new file mode 100644 index 0000000..9e4c33b Binary files /dev/null and b/src/assets/images/arrow.png differ diff --git a/src/assets/images/bdrysh.png b/src/assets/images/bdrysh.png new file mode 100644 index 0000000..c0acee9 Binary files /dev/null and b/src/assets/images/bdrysh.png differ diff --git a/src/assets/images/btn.png b/src/assets/images/btn.png new file mode 100644 index 0000000..4aaf9f0 Binary files /dev/null and b/src/assets/images/btn.png differ diff --git a/src/assets/images/cdgl.png b/src/assets/images/cdgl.png new file mode 100644 index 0000000..d3e20f9 Binary files /dev/null and b/src/assets/images/cdgl.png differ diff --git a/src/assets/images/cxjl.png b/src/assets/images/cxjl.png new file mode 100644 index 0000000..9928500 Binary files /dev/null and b/src/assets/images/cxjl.png differ diff --git a/src/assets/images/czsc.png b/src/assets/images/czsc.png new file mode 100644 index 0000000..00a8f4f Binary files /dev/null and b/src/assets/images/czsc.png differ diff --git a/src/assets/images/dwrysh.png b/src/assets/images/dwrysh.png new file mode 100644 index 0000000..f9804b7 Binary files /dev/null and b/src/assets/images/dwrysh.png differ diff --git a/src/assets/images/dwxxgl.png b/src/assets/images/dwxxgl.png new file mode 100644 index 0000000..c1d9769 Binary files /dev/null and b/src/assets/images/dwxxgl.png differ diff --git a/src/assets/images/dy.png b/src/assets/images/dy.png new file mode 100644 index 0000000..de8157e Binary files /dev/null and b/src/assets/images/dy.png differ diff --git a/src/assets/images/head.png b/src/assets/images/head.png new file mode 100644 index 0000000..abd7101 Binary files /dev/null and b/src/assets/images/head.png differ diff --git a/src/assets/images/info.png b/src/assets/images/info.png new file mode 100644 index 0000000..b681da3 Binary files /dev/null and b/src/assets/images/info.png differ diff --git a/src/assets/images/jcxx.png b/src/assets/images/jcxx.png new file mode 100644 index 0000000..d9c4067 Binary files /dev/null and b/src/assets/images/jcxx.png differ diff --git a/src/assets/images/jggl.png b/src/assets/images/jggl.png new file mode 100644 index 0000000..ab4c742 Binary files /dev/null and b/src/assets/images/jggl.png differ diff --git a/src/assets/images/jlsc.png b/src/assets/images/jlsc.png new file mode 100644 index 0000000..6061b81 Binary files /dev/null and b/src/assets/images/jlsc.png differ diff --git a/src/assets/images/jsgl.png b/src/assets/images/jsgl.png new file mode 100644 index 0000000..2da71f4 Binary files /dev/null and b/src/assets/images/jsgl.png differ diff --git a/src/assets/images/jsxd.png b/src/assets/images/jsxd.png new file mode 100644 index 0000000..e5b3ed0 Binary files /dev/null and b/src/assets/images/jsxd.png differ diff --git a/src/assets/images/login/OAKQ.png b/src/assets/images/login/OAKQ.png new file mode 100644 index 0000000..d237cfb Binary files /dev/null and b/src/assets/images/login/OAKQ.png differ diff --git a/src/assets/images/login/bg2-img.png b/src/assets/images/login/bg2-img.png new file mode 100644 index 0000000..b53bf40 Binary files /dev/null and b/src/assets/images/login/bg2-img.png differ diff --git a/src/assets/images/login/bgimg.jpg b/src/assets/images/login/bgimg.jpg new file mode 100644 index 0000000..1bd964a Binary files /dev/null and b/src/assets/images/login/bgimg.jpg differ diff --git a/src/assets/images/login/nose.png b/src/assets/images/login/nose.png new file mode 100644 index 0000000..b6c8086 Binary files /dev/null and b/src/assets/images/login/nose.png differ diff --git a/src/assets/images/login/pasw.png b/src/assets/images/login/pasw.png new file mode 100644 index 0000000..5244bc4 Binary files /dev/null and b/src/assets/images/login/pasw.png differ diff --git a/src/assets/images/login/user.png b/src/assets/images/login/user.png new file mode 100644 index 0000000..e370214 Binary files /dev/null and b/src/assets/images/login/user.png differ diff --git a/src/assets/images/lzrysh.png b/src/assets/images/lzrysh.png new file mode 100644 index 0000000..03125a1 Binary files /dev/null and b/src/assets/images/lzrysh.png differ diff --git a/src/assets/images/org/headerimg.png b/src/assets/images/org/headerimg.png new file mode 100644 index 0000000..661f06b Binary files /dev/null and b/src/assets/images/org/headerimg.png differ diff --git a/src/assets/images/org/jian.png b/src/assets/images/org/jian.png new file mode 100644 index 0000000..1e528b0 Binary files /dev/null and b/src/assets/images/org/jian.png differ diff --git a/src/assets/images/org/sfz.png b/src/assets/images/org/sfz.png new file mode 100644 index 0000000..7f79b47 Binary files /dev/null and b/src/assets/images/org/sfz.png differ diff --git a/src/assets/images/org/sqs.png b/src/assets/images/org/sqs.png new file mode 100644 index 0000000..8071e21 Binary files /dev/null and b/src/assets/images/org/sqs.png differ diff --git a/src/assets/images/org/success.png b/src/assets/images/org/success.png new file mode 100644 index 0000000..6a54c31 Binary files /dev/null and b/src/assets/images/org/success.png differ diff --git a/src/assets/images/org/yyzz.png b/src/assets/images/org/yyzz.png new file mode 100644 index 0000000..2a11019 Binary files /dev/null and b/src/assets/images/org/yyzz.png differ diff --git a/src/assets/images/place.png b/src/assets/images/place.png new file mode 100644 index 0000000..5e36be9 Binary files /dev/null and b/src/assets/images/place.png differ diff --git a/src/assets/images/qjsh.png b/src/assets/images/qjsh.png new file mode 100644 index 0000000..85c2ce8 Binary files /dev/null and b/src/assets/images/qjsh.png differ diff --git a/src/assets/images/ryda.png b/src/assets/images/ryda.png new file mode 100644 index 0000000..4cddf39 Binary files /dev/null and b/src/assets/images/ryda.png differ diff --git a/src/assets/images/rzgl.png b/src/assets/images/rzgl.png new file mode 100644 index 0000000..068ae3b Binary files /dev/null and b/src/assets/images/rzgl.png differ diff --git a/src/assets/images/select.png b/src/assets/images/select.png new file mode 100644 index 0000000..0a70ffa Binary files /dev/null and b/src/assets/images/select.png differ diff --git a/src/assets/images/sjcc.png b/src/assets/images/sjcc.png new file mode 100644 index 0000000..6f01ae0 Binary files /dev/null and b/src/assets/images/sjcc.png differ diff --git a/src/assets/images/sjzd.png b/src/assets/images/sjzd.png new file mode 100644 index 0000000..06af6b9 Binary files /dev/null and b/src/assets/images/sjzd.png differ diff --git a/src/assets/images/tjfx.png b/src/assets/images/tjfx.png new file mode 100644 index 0000000..e097e3d Binary files /dev/null and b/src/assets/images/tjfx.png differ diff --git a/src/assets/images/tjfx2.png b/src/assets/images/tjfx2.png new file mode 100644 index 0000000..681993c Binary files /dev/null and b/src/assets/images/tjfx2.png differ diff --git a/src/assets/images/wenjian.png b/src/assets/images/wenjian.png new file mode 100644 index 0000000..163e441 Binary files /dev/null and b/src/assets/images/wenjian.png differ diff --git a/src/assets/images/xgmm.png b/src/assets/images/xgmm.png new file mode 100644 index 0000000..46b8d5c Binary files /dev/null and b/src/assets/images/xgmm.png differ diff --git a/src/assets/images/xtbg.png b/src/assets/images/xtbg.png new file mode 100644 index 0000000..8ac2bfc Binary files /dev/null and b/src/assets/images/xtbg.png differ diff --git a/src/assets/images/xtgl.png b/src/assets/images/xtgl.png new file mode 100644 index 0000000..2eeed54 Binary files /dev/null and b/src/assets/images/xtgl.png differ diff --git a/src/assets/images/xxzx.png b/src/assets/images/xxzx.png new file mode 100644 index 0000000..0e3c150 Binary files /dev/null and b/src/assets/images/xxzx.png differ diff --git a/src/assets/images/zwsm.png b/src/assets/images/zwsm.png new file mode 100644 index 0000000..9489169 Binary files /dev/null and b/src/assets/images/zwsm.png differ diff --git a/src/assets/loginImg/account.png b/src/assets/loginImg/account.png new file mode 100644 index 0000000..0531b4a Binary files /dev/null and b/src/assets/loginImg/account.png differ diff --git a/src/assets/loginImg/bgImg.png b/src/assets/loginImg/bgImg.png new file mode 100644 index 0000000..94dba71 Binary files /dev/null and b/src/assets/loginImg/bgImg.png differ diff --git a/src/assets/loginImg/logo.png b/src/assets/loginImg/logo.png new file mode 100644 index 0000000..346b6ae Binary files /dev/null and b/src/assets/loginImg/logo.png differ diff --git a/src/assets/loginImg/password.png b/src/assets/loginImg/password.png new file mode 100644 index 0000000..9426a01 Binary files /dev/null and b/src/assets/loginImg/password.png differ diff --git a/src/assets/videoImg/1.png b/src/assets/videoImg/1.png new file mode 100644 index 0000000..7c46d53 Binary files /dev/null and b/src/assets/videoImg/1.png differ diff --git a/src/assets/videoImg/2.png b/src/assets/videoImg/2.png new file mode 100644 index 0000000..78ac02c Binary files /dev/null and b/src/assets/videoImg/2.png differ diff --git a/src/assets/videoImg/3.png b/src/assets/videoImg/3.png new file mode 100644 index 0000000..6d83d8c Binary files /dev/null and b/src/assets/videoImg/3.png differ diff --git a/src/assets/videoImg/4.png b/src/assets/videoImg/4.png new file mode 100644 index 0000000..f2018be Binary files /dev/null and b/src/assets/videoImg/4.png differ diff --git a/src/assets/videoImg/5.png b/src/assets/videoImg/5.png new file mode 100644 index 0000000..7eb66e4 Binary files /dev/null and b/src/assets/videoImg/5.png differ diff --git a/src/assets/videoImg/6.png b/src/assets/videoImg/6.png new file mode 100644 index 0000000..b61bbc8 Binary files /dev/null and b/src/assets/videoImg/6.png differ diff --git a/src/assets/videoImg/7.png b/src/assets/videoImg/7.png new file mode 100644 index 0000000..742ab09 Binary files /dev/null and b/src/assets/videoImg/7.png differ diff --git a/src/assets/videoImg/8.png b/src/assets/videoImg/8.png new file mode 100644 index 0000000..13a9da7 Binary files /dev/null and b/src/assets/videoImg/8.png differ diff --git a/src/components/AreaPicker/index.vue b/src/components/AreaPicker/index.vue new file mode 100644 index 0000000..105c647 --- /dev/null +++ b/src/components/AreaPicker/index.vue @@ -0,0 +1,151 @@ + + + + + + diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..29f9a04 --- /dev/null +++ b/src/components/Breadcrumb/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/ButtonBar/index.vue b/src/components/ButtonBar/index.vue new file mode 100644 index 0000000..2024ee7 --- /dev/null +++ b/src/components/ButtonBar/index.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/components/E-image/index.vue b/src/components/E-image/index.vue new file mode 100644 index 0000000..9401ce4 --- /dev/null +++ b/src/components/E-image/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/components/ErrorLog/index.vue b/src/components/ErrorLog/index.vue new file mode 100644 index 0000000..6119c03 --- /dev/null +++ b/src/components/ErrorLog/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue new file mode 100644 index 0000000..368b002 --- /dev/null +++ b/src/components/Hamburger/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue new file mode 100644 index 0000000..4735604 --- /dev/null +++ b/src/components/Screenfull/index.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue new file mode 100644 index 0000000..e88065b --- /dev/null +++ b/src/components/SizeSelect/index.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..b07ded2 --- /dev/null +++ b/src/components/SvgIcon/index.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue new file mode 100644 index 0000000..3879c5a --- /dev/null +++ b/src/components/ThemePicker/index.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/src/components/VehicleConfigurationSub/vehicleconfiguration.vue b/src/components/VehicleConfigurationSub/vehicleconfiguration.vue new file mode 100644 index 0000000..c24ec4b --- /dev/null +++ b/src/components/VehicleConfigurationSub/vehicleconfiguration.vue @@ -0,0 +1,368 @@ + + + + diff --git a/src/components/amap/amap.vue b/src/components/amap/amap.vue new file mode 100644 index 0000000..c7d643c --- /dev/null +++ b/src/components/amap/amap.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/src/components/imgCodeRole/index.vue b/src/components/imgCodeRole/index.vue new file mode 100644 index 0000000..852d9f3 --- /dev/null +++ b/src/components/imgCodeRole/index.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/components/pagination/index.vue b/src/components/pagination/index.vue new file mode 100644 index 0000000..29d8bc8 --- /dev/null +++ b/src/components/pagination/index.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/components/pagination/pageye.vue b/src/components/pagination/pageye.vue new file mode 100644 index 0000000..c69dca4 --- /dev/null +++ b/src/components/pagination/pageye.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/components/passwordSafe/index.vue b/src/components/passwordSafe/index.vue new file mode 100644 index 0000000..847af1b --- /dev/null +++ b/src/components/passwordSafe/index.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/components/tab-search/index.vue b/src/components/tab-search/index.vue new file mode 100644 index 0000000..d0f1bfe --- /dev/null +++ b/src/components/tab-search/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/components/uploadFile/FaImages.vue b/src/components/uploadFile/FaImages.vue new file mode 100644 index 0000000..492f4dd --- /dev/null +++ b/src/components/uploadFile/FaImages.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/src/components/uploadFile/FileUpload.vue b/src/components/uploadFile/FileUpload.vue new file mode 100644 index 0000000..7f5fba3 --- /dev/null +++ b/src/components/uploadFile/FileUpload.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/components/uploadFile/ImageUpload.vue b/src/components/uploadFile/ImageUpload.vue new file mode 100644 index 0000000..cadd39d --- /dev/null +++ b/src/components/uploadFile/ImageUpload.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/components/uploadFile/ImageUploadChe.vue b/src/components/uploadFile/ImageUploadChe.vue new file mode 100644 index 0000000..7ef250b --- /dev/null +++ b/src/components/uploadFile/ImageUploadChe.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/src/components/uploadFile/ManyImageUpload.vue b/src/components/uploadFile/ManyImageUpload.vue new file mode 100644 index 0000000..db0daf1 --- /dev/null +++ b/src/components/uploadFile/ManyImageUpload.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/components/uploadFile/index.vue b/src/components/uploadFile/index.vue new file mode 100644 index 0000000..1b2b36b --- /dev/null +++ b/src/components/uploadFile/index.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/src/components/uploadFile/upload.vue b/src/components/uploadFile/upload.vue new file mode 100644 index 0000000..a554e94 --- /dev/null +++ b/src/components/uploadFile/upload.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/src/components/uploadFile/uploadImg.vue b/src/components/uploadFile/uploadImg.vue new file mode 100644 index 0000000..bbca827 --- /dev/null +++ b/src/components/uploadFile/uploadImg.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/src/components/uploadFile/upload_changjiatuku.vue b/src/components/uploadFile/upload_changjiatuku.vue new file mode 100644 index 0000000..2c438ba --- /dev/null +++ b/src/components/uploadFile/upload_changjiatuku.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/src/components/uploadFile/upload_chexing.vue b/src/components/uploadFile/upload_chexing.vue new file mode 100644 index 0000000..30a8108 --- /dev/null +++ b/src/components/uploadFile/upload_chexing.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/src/components/uploadFile/upload_cunfang.vue b/src/components/uploadFile/upload_cunfang.vue new file mode 100644 index 0000000..dc7999d --- /dev/null +++ b/src/components/uploadFile/upload_cunfang.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/src/components/uploadFile/upload_diaoche.vue b/src/components/uploadFile/upload_diaoche.vue new file mode 100644 index 0000000..15794cd --- /dev/null +++ b/src/components/uploadFile/upload_diaoche.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/src/components/uploadFile/upload_jianchabiao.vue b/src/components/uploadFile/upload_jianchabiao.vue new file mode 100644 index 0000000..3958a50 --- /dev/null +++ b/src/components/uploadFile/upload_jianchabiao.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/components/uploadFile/upload_maiduan.vue b/src/components/uploadFile/upload_maiduan.vue new file mode 100644 index 0000000..f96cae3 --- /dev/null +++ b/src/components/uploadFile/upload_maiduan.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/src/components/uploadFile/upload_morebypicture.vue b/src/components/uploadFile/upload_morebypicture.vue new file mode 100644 index 0000000..e62b85e --- /dev/null +++ b/src/components/uploadFile/upload_morebypicture.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/components/uploadFile/upload_picture.vue b/src/components/uploadFile/upload_picture.vue new file mode 100644 index 0000000..fbdfe60 --- /dev/null +++ b/src/components/uploadFile/upload_picture.vue @@ -0,0 +1,245 @@ + + + + + diff --git a/src/components/uploadFile/upload_yanchejiancha.vue b/src/components/uploadFile/upload_yanchejiancha.vue new file mode 100644 index 0000000..0e4c37c --- /dev/null +++ b/src/components/uploadFile/upload_yanchejiancha.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/src/components/uploadFile/upload_yanchejianchaTuBiao.vue b/src/components/uploadFile/upload_yanchejianchaTuBiao.vue new file mode 100644 index 0000000..b7c1089 --- /dev/null +++ b/src/components/uploadFile/upload_yanchejianchaTuBiao.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/components/uploadFileimg/index.vue b/src/components/uploadFileimg/index.vue new file mode 100644 index 0000000..25c53d7 --- /dev/null +++ b/src/components/uploadFileimg/index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/components/uploadFileimg/upload.vue b/src/components/uploadFileimg/upload.vue new file mode 100644 index 0000000..e65f30c --- /dev/null +++ b/src/components/uploadFileimg/upload.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/src/components/viewerjs/index.vue b/src/components/viewerjs/index.vue new file mode 100644 index 0000000..3d6f841 --- /dev/null +++ b/src/components/viewerjs/index.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/icons/index.js b/src/icons/index.js new file mode 100644 index 0000000..2c6b309 --- /dev/null +++ b/src/icons/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' +import SvgIcon from '@/components/SvgIcon'// svg component + +// register globally +Vue.component('svg-icon', SvgIcon) + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) diff --git a/src/icons/svg/404.svg b/src/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/src/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/Import.svg b/src/icons/svg/Import.svg new file mode 100644 index 0000000..184327c --- /dev/null +++ b/src/icons/svg/Import.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/RMB.svg b/src/icons/svg/RMB.svg new file mode 100644 index 0000000..d12196a --- /dev/null +++ b/src/icons/svg/RMB.svg @@ -0,0 +1,2 @@ + diff --git a/src/icons/svg/bug.svg b/src/icons/svg/bug.svg new file mode 100644 index 0000000..05a150d --- /dev/null +++ b/src/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/build.svg b/src/icons/svg/build.svg new file mode 100644 index 0000000..97c4688 --- /dev/null +++ b/src/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/button.svg b/src/icons/svg/button.svg new file mode 100644 index 0000000..904fddc --- /dev/null +++ b/src/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/cascader.svg b/src/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/src/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/chart.svg b/src/icons/svg/chart.svg new file mode 100644 index 0000000..27728fb --- /dev/null +++ b/src/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/checkbox.svg b/src/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/src/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/clipboard.svg b/src/icons/svg/clipboard.svg new file mode 100644 index 0000000..90923ff --- /dev/null +++ b/src/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/code.svg b/src/icons/svg/code.svg new file mode 100644 index 0000000..ed4d23c --- /dev/null +++ b/src/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/color.svg b/src/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/src/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/component.svg b/src/icons/svg/component.svg new file mode 100644 index 0000000..207ada3 --- /dev/null +++ b/src/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/cross.svg b/src/icons/svg/cross.svg new file mode 100644 index 0000000..277d865 --- /dev/null +++ b/src/icons/svg/cross.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/dashboard.svg b/src/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/src/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/date-range.svg b/src/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/src/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/date.svg b/src/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/src/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/del.svg b/src/icons/svg/del.svg new file mode 100644 index 0000000..7c5e8e2 --- /dev/null +++ b/src/icons/svg/del.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/dict.svg b/src/icons/svg/dict.svg new file mode 100644 index 0000000..4849377 --- /dev/null +++ b/src/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/documentation.svg b/src/icons/svg/documentation.svg new file mode 100644 index 0000000..7043122 --- /dev/null +++ b/src/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/download.svg b/src/icons/svg/download.svg new file mode 100644 index 0000000..c896951 --- /dev/null +++ b/src/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/drag.svg b/src/icons/svg/drag.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/src/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/druid.svg b/src/icons/svg/druid.svg new file mode 100644 index 0000000..a2b4b4e --- /dev/null +++ b/src/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/edit.svg b/src/icons/svg/edit.svg new file mode 100644 index 0000000..3a753f9 --- /dev/null +++ b/src/icons/svg/edit.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/education.svg b/src/icons/svg/education.svg new file mode 100644 index 0000000..7bfb01d --- /dev/null +++ b/src/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/email.svg b/src/icons/svg/email.svg new file mode 100644 index 0000000..74d25e2 --- /dev/null +++ b/src/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/example.svg b/src/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/src/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/excel.svg b/src/icons/svg/excel.svg new file mode 100644 index 0000000..74d97b8 --- /dev/null +++ b/src/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/exit-fullscreen.svg b/src/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..485c128 --- /dev/null +++ b/src/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/export.svg b/src/icons/svg/export.svg new file mode 100644 index 0000000..5354b7d --- /dev/null +++ b/src/icons/svg/export.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/exwarehouse.svg b/src/icons/svg/exwarehouse.svg new file mode 100644 index 0000000..2b6092c --- /dev/null +++ b/src/icons/svg/exwarehouse.svg @@ -0,0 +1,2 @@ + diff --git a/src/icons/svg/eye-open.svg b/src/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/src/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/eye.svg b/src/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/src/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/form.svg b/src/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/src/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/fullscreen.svg b/src/icons/svg/fullscreen.svg new file mode 100644 index 0000000..0e86b6f --- /dev/null +++ b/src/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/github.svg b/src/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/src/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/guide.svg b/src/icons/svg/guide.svg new file mode 100644 index 0000000..b271001 --- /dev/null +++ b/src/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/icon.svg b/src/icons/svg/icon.svg new file mode 100644 index 0000000..82be8ee --- /dev/null +++ b/src/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/input.svg b/src/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/src/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/international.svg b/src/icons/svg/international.svg new file mode 100644 index 0000000..e9b56ee --- /dev/null +++ b/src/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/job.svg b/src/icons/svg/job.svg new file mode 100644 index 0000000..2a93a25 --- /dev/null +++ b/src/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/language.svg b/src/icons/svg/language.svg new file mode 100644 index 0000000..0082b57 --- /dev/null +++ b/src/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/link.svg b/src/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/src/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/list.svg b/src/icons/svg/list.svg new file mode 100644 index 0000000..20259ed --- /dev/null +++ b/src/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/lock.svg b/src/icons/svg/lock.svg new file mode 100644 index 0000000..74fee54 --- /dev/null +++ b/src/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/log.svg b/src/icons/svg/log.svg new file mode 100644 index 0000000..d879d33 --- /dev/null +++ b/src/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/logininfor.svg b/src/icons/svg/logininfor.svg new file mode 100644 index 0000000..267f844 --- /dev/null +++ b/src/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/message.svg b/src/icons/svg/message.svg new file mode 100644 index 0000000..14ca817 --- /dev/null +++ b/src/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/money.svg b/src/icons/svg/money.svg new file mode 100644 index 0000000..c1580de --- /dev/null +++ b/src/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/monitor.svg b/src/icons/svg/monitor.svg new file mode 100644 index 0000000..bc308cb --- /dev/null +++ b/src/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/nested.svg b/src/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/src/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/number.svg b/src/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/src/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/online.svg b/src/icons/svg/online.svg new file mode 100644 index 0000000..330a202 --- /dev/null +++ b/src/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/password.svg b/src/icons/svg/password.svg new file mode 100644 index 0000000..e291d85 --- /dev/null +++ b/src/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/pdf.svg b/src/icons/svg/pdf.svg new file mode 100644 index 0000000..957aa0c --- /dev/null +++ b/src/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/people.svg b/src/icons/svg/people.svg new file mode 100644 index 0000000..2bd54ae --- /dev/null +++ b/src/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/peoples.svg b/src/icons/svg/peoples.svg new file mode 100644 index 0000000..aab852e --- /dev/null +++ b/src/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/phone.svg b/src/icons/svg/phone.svg new file mode 100644 index 0000000..ab8e8c4 --- /dev/null +++ b/src/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/plus.svg b/src/icons/svg/plus.svg new file mode 100644 index 0000000..ab7b62f --- /dev/null +++ b/src/icons/svg/plus.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/post.svg b/src/icons/svg/post.svg new file mode 100644 index 0000000..2922c61 --- /dev/null +++ b/src/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/qq.svg b/src/icons/svg/qq.svg new file mode 100644 index 0000000..ee13d4e --- /dev/null +++ b/src/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/question.svg b/src/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/src/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/radio.svg b/src/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/src/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/rate.svg b/src/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/src/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/redis.svg b/src/icons/svg/redis.svg new file mode 100644 index 0000000..2f1d62d --- /dev/null +++ b/src/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/row.svg b/src/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/src/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/search.svg b/src/icons/svg/search.svg new file mode 100644 index 0000000..84233dd --- /dev/null +++ b/src/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/select.svg b/src/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/src/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/server.svg b/src/icons/svg/server.svg new file mode 100644 index 0000000..ca37b00 --- /dev/null +++ b/src/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/shopping.svg b/src/icons/svg/shopping.svg new file mode 100644 index 0000000..87513e7 --- /dev/null +++ b/src/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/size.svg b/src/icons/svg/size.svg new file mode 100644 index 0000000..ddb25b8 --- /dev/null +++ b/src/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/skill.svg b/src/icons/svg/skill.svg new file mode 100644 index 0000000..a3b7312 --- /dev/null +++ b/src/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/slider.svg b/src/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/src/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/star.svg b/src/icons/svg/star.svg new file mode 100644 index 0000000..6cf86e6 --- /dev/null +++ b/src/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/submit.svg b/src/icons/svg/submit.svg new file mode 100644 index 0000000..e2a2957 --- /dev/null +++ b/src/icons/svg/submit.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/swagger.svg b/src/icons/svg/swagger.svg new file mode 100644 index 0000000..05d4e7b --- /dev/null +++ b/src/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/switch.svg b/src/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/src/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/system.svg b/src/icons/svg/system.svg new file mode 100644 index 0000000..dba28cf --- /dev/null +++ b/src/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/icons/svg/tab.svg b/src/icons/svg/tab.svg new file mode 100644 index 0000000..b4b48e4 --- /dev/null +++ b/src/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/table.svg b/src/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/src/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/textarea.svg b/src/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/src/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/theme.svg b/src/icons/svg/theme.svg new file mode 100644 index 0000000..5982a2f --- /dev/null +++ b/src/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/time-range.svg b/src/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/src/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/time.svg b/src/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/src/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/tool.svg b/src/icons/svg/tool.svg new file mode 100644 index 0000000..c813067 --- /dev/null +++ b/src/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/tree-table.svg b/src/icons/svg/tree-table.svg new file mode 100644 index 0000000..8aafdb8 --- /dev/null +++ b/src/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/tree.svg b/src/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/src/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/upload.svg b/src/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/src/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/user.svg b/src/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/src/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/validCode.svg b/src/icons/svg/validCode.svg new file mode 100644 index 0000000..cfb1021 --- /dev/null +++ b/src/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/wechat.svg b/src/icons/svg/wechat.svg new file mode 100644 index 0000000..c586e55 --- /dev/null +++ b/src/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/zip.svg b/src/icons/svg/zip.svg new file mode 100644 index 0000000..f806fc4 --- /dev/null +++ b/src/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svgo.yml b/src/icons/svgo.yml new file mode 100644 index 0000000..d11906a --- /dev/null +++ b/src/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue new file mode 100644 index 0000000..966c6c4 --- /dev/null +++ b/src/layout/components/AppMain.vue @@ -0,0 +1,48 @@ + + + + + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..9e19b73 --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/layout/components/Sidebar/FixiOSBug.js b/src/layout/components/Sidebar/FixiOSBug.js new file mode 100644 index 0000000..bc14856 --- /dev/null +++ b/src/layout/components/Sidebar/FixiOSBug.js @@ -0,0 +1,26 @@ +export default { + computed: { + device() { + return this.$store.state.app.device + } + }, + mounted() { + // In order to fix the click on menu on the ios device will trigger the mouseleave bug + // https://github.com/PanJiaChen/vue-element-admin/issues/1135 + this.fixBugIniOS() + }, + methods: { + fixBugIniOS() { + const $subMenu = this.$refs.subMenu + if ($subMenu) { + const handleMouseleave = $subMenu.handleMouseleave + $subMenu.handleMouseleave = (e) => { + if (this.device === 'mobile') { + return + } + handleMouseleave(e) + } + } + } + } +} diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..aa1f5da --- /dev/null +++ b/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..530b3d5 --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..040fab6 --- /dev/null +++ b/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..ebfa553 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,117 @@ + + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..7faa4b2 --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..e8d682b --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..487d00a --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,333 @@ + + + + + + + diff --git a/src/layout/components/index.js b/src/layout/components/index.js new file mode 100644 index 0000000..686faf6 --- /dev/null +++ b/src/layout/components/index.js @@ -0,0 +1,4 @@ +export { default as Navbar } from './Navbar' +export { default as Sidebar } from './Sidebar' +export { default as AppMain } from './AppMain' +export { default as TagsView } from './TagsView/index.vue' diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..494ea84 --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..e8d0df8 --- /dev/null +++ b/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,45 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('app/closeSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.$_resizeHandler) + }, + beforeDestroy() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + mounted() { + const isMobile = this.$_isMobile() + if (isMobile) { + store.dispatch('app/toggleDevice', 'mobile') + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + $_resizeHandler() { + if (!document.hidden) { + const isMobile = this.$_isMobile() + store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..b54f9e5 --- /dev/null +++ b/src/main.js @@ -0,0 +1,132 @@ +import 'babel-polyfill' +import Vue from 'vue' +import 'normalize.css/normalize.css' // A modern alternative to CSS resets +import ElementUI from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' +import '@/styles/index.scss' // global css +import App from './App' +import store from './store' +import router from './router' + +import '@/icons' // 引入icon文件夹下所有的svg +// 全局自定义组件 +import Pagination from '@/components/pagination/index.vue' +import tabsearch from '@/components/tab-search/index.vue' +import eimage from '@/components/E-image/index.vue' +import moment from 'moment' +import Print from '@/utils/print' // 引入附件的js文件 +import request from '@/utils/request' +import { setDefaultOrgPath, setDefaultOrgPathName, setStorage } from './utils/auth.js' +import VueAMap from 'vue-amap' + +Vue.use(ElementUI) + +import hkVideo from '@/api/hikvision/hkVideo' + +// import '@/permission' //权限控制 + +Vue.prototype.$userInfo = null // 用户信息 +Vue.component('Pagination', Pagination) +Vue.component('tab-search', tabsearch) +Vue.component('eimage', eimage) +Vue.prototype.moment = moment +Vue.filter('dateFormat', function(dateStr, pattern = 'YYYY-MM-DD') { + return moment(dateStr).format(pattern) +}) +Vue.use(Print) // 注册 + +Vue.use(VueAMap) +VueAMap.initAMapApiLoader({ + key: 'ccda12d8bffc72e9f1a32c599323a876', // 此处的key,在高德开放平台申请 + plugin: ['AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PlaceSearch', 'AMap.Geolocation', 'AMap.Geocoder'], // 此处的插件按需添加 + v: '1.4.4', + uiVersion: '1.0' +}) + +Vue.config.productionTip = false + +let token = null +token = GetQueryString('token') +if (token) { + setStorage(token) + const href = window.location.href +// href = href.split(`token=${token}`)[0] +// window.location.href = href.slice(0, href.length - 1) +} + +var one = window.location.href.indexOf('&organizationData') + 18 +if (parseInt(one) > 18) { + const data = window.location.href.substr(one) // url解码unescape()已从web中移除,尽量不使用 + var data1 = decodeURIComponent(data) + if (data1 !== undefined) { + const obj = JSON.parse(data1) + setDefaultOrgPath(obj.defaultOrgPath) + setDefaultOrgPathName(obj.defaultOrgPathName) + } +} + +// 获取登录用户信息 +function getUserInfo() { + return request({ + baseURL: '/api', + url: '/portal/v1/sysuser/loginDetails', + method: 'post', + headers: { + 'Content-Type': 'application/json' + } + }).then(rep => { + const data = rep.data + const user = { + roleSid: data.roleSid, + name: data.name, + userName: data.userName, + departmentName: data.departmentName, // 部门名称 + departmentSid: data.departmentSid, // 部门sid + isAdmin: data.isAdmin, + staffSid: data.staffSid, // 业务员sid + userSid: data.sid, + orgSid: data.organizationSid, // 单位sid + Orgname: data.organizationName, + dwjb: data.dwjb, + orgNamePath: data.orgNamePath, // 使用组织全路径名称 + orgSidPath: data.orgSidPath // 使用组织全路径Sid + } + // 结果存入缓存 + window.sessionStorage.setItem('staffSid', user.staffSid) + window.sessionStorage.setItem('userSid', user.userSid) + window.sessionStorage.setItem('Orgname', user.Orgname) + window.sessionStorage.setItem('orgSid', user.orgSid) + window.sessionStorage.setItem('departmentName', user.departmentName) + window.sessionStorage.setItem('name', user.name) + window.sessionStorage.setItem('user', user) + window.sessionStorage.setItem('departmentName', user.departmentName) + window.sessionStorage.setItem('departmentSid', user.departmentSid) + window.sessionStorage.setItem('orgNamePath', user.orgNamePath) + window.sessionStorage.setItem('orgSidPath', user.orgSidPath) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) + }) +} + +getUserInfo() +function GetQueryString(name) { + var one = window.location.href.indexOf('?token=') + 7 + if (one < 7) { return null } + var two = window.location.href.lastIndexOf('&') // + 1 + var data = window.location.href.substr(one) + if (two > one) { + data = window.location.href.slice(one, two) + console.log('token', data) + } + if (data) { + return data + } + return null + // var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') + // var r = window.location.search.substr(1).match(reg) + // if (r != null) return unescape(r[2]); return null +} diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..d9ee6a5 --- /dev/null +++ b/src/permission.js @@ -0,0 +1,39 @@ +import router from './router' +import store from './store' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +import getPageTitle from '@/utils/get-page-title' +NProgress.configure({ showSpinner: false }) // NProgress Configuration + +import { getRoleRouter } from '@/router/modules/components.js' + +const whiteList = ['/login', '/registUser', '/registOrg'] // no redirect whitelist + +router.beforeEach(async(to, from, next) => { + // start progress bar + NProgress.start() + // set page title + document.title = getPageTitle(to.meta.title) + // determine whether the user has logged in +//const hasToken = getStorage() + const hasToken = window.sessionStorage.getItem('token') + if (hasToken) { + const userInfo = store.getters.userInfo + if (userInfo) { + next() + NProgress.done() + } else { + await store.dispatch('user/getInfo') + let userRoles = await getRoleRouter(store.getters.userInfo.userSid) + router.options.routes = userRoles + router.addRoutes(userRoles) // 动态添加可访问路由表 + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: + } + } else { + window.location.href = process.env.VUE_APP_URL + } +}) +router.afterEach(() => { + // finish progress bar + NProgress.done() +}) diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..1f4b308 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,76 @@ +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +/* Layout */ +import Layout from '@/layout' +/* 所有角色可以访问/没有权限要求的基页 */ + +import codemenu from './modules/codemenu' + +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [{ + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue') + }] + }, + { + path: '/', + redirect: 'index' + }, { + path: '/login', + component: () => import('@/views/login/login.vue') + }, { + path: '/home', + component: () => import('@/views/Home/Home.vue'), + name: 'home' + + }, { + path: '/index', + component: Layout, + redirect: '/index', + children: [{ + path: '/index', + component: () => + import('@/views/index.vue'), + name: 'index', + meta: { + title: '主页', + noCache: true, + affix: true + } + }] + }, + ...codemenu, + { + path: '/404', + component: () => + import('@/views/404'), + hidden: true + } + // 404 page must be placed at the end !!! + // { path: '*', redirect: '/404', hidden: true } +] + +const createRouter = () => new Router({ + // mode: 'history', // require service support + scrollBehavior: () => ({ + y: 0 + }), + routes: constantRoutes +}) + +const router = createRouter() + +// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 +export function resetRouter() { + const newRouter = createRouter() + router.matcher = newRouter.matcher // reset router +} + +export default router diff --git a/src/router/modules/codemenu.js b/src/router/modules/codemenu.js new file mode 100644 index 0000000..f8d4772 --- /dev/null +++ b/src/router/modules/codemenu.js @@ -0,0 +1,20 @@ +import Layout from '@/layout' + +const codemenu = [{ + path: '/spzx', + component: Layout, + redirect: '/monitor/videos', + meta: { + title: '视频中心' + }, + children: [{ + path: '/monitor/videos', + component: () => import('@/views/monitor/videos/index.vue'), + name: 'MonitorVideos', + meta: { + title: '视频中心', + noCache: true + } + }] +}] +export default codemenu diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..adef8a7 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,16 @@ +module.exports = { + + title: '汇融云眼贷后监管平台', + + /** + * @type {boolean} true | false + * @description Whether fix the header + */ + fixedHeader: false, + + /** + * @type {boolean} true | false + * @description Whether show the logo in sidebar + */ + sidebarLogo: false +} diff --git a/src/static/webVideoCtrl.js b/src/static/webVideoCtrl.js new file mode 100644 index 0000000..0c7a211 --- /dev/null +++ b/src/static/webVideoCtrl.js @@ -0,0 +1,4140 @@ +! +function(e) { + if (!e.WebVideoCtrl) { + var t = function() { + function t() { + this.id = this.createUUID() + } + + var r = "100%", + s = "100%", + o = "", + i = "", + a = { + szContainerID: "", + szColorProperty: "", + szOcxClassId: "clsid:FDF0038A-CF64-4634-81AB-80F0A7946D6C", + szMimeTypes: "application/webvideo-plugin-kit", + szBasePath: "", + iWndowType: 1, + iPlayMode: 2, + bWndFull: !0, + iPackageType: 2, + bDebugMode: !1, + bNoPlugin: !0, + cbSelWnd: null, + myCbSelWnd: null, + cbDoubleClickWnd: null, + cbEvent: null, + cbRemoteConfig: null, + cbInitPluginComplete: null + }, + c = null, + u = 0, + l = !1, + d = [], + p = [], + P = null, + h = null, + I = null, + f = null, + m = this, + C = null, + S = 1, + v = 2, + y = 200, + g = 0, + x = 1, + D = 2, + z = 3, + T = 4, + b = 5, + A = 6, + M = 0, + R = 2, + L = 3, + q = 21, + G = -1, + W = 0, + X = "IPCamera", + w = "IPDome", + H = "IPZoom", + k = "3,0,6,23,0,6,27,3,3,611,1,3,62,5,2,81,0,5,59"; + GetSelectWndInfo = function(e) { + // console.log("GetSelectWndInfo", e); + if (re()) { + u = e; + var t = []; + t.push(""), + t.push("" + e + ""), + t.push(""), + a.cbSelWnd && a.cbSelWnd(f.loadXML(t.join(""))) + } else { + var r = f.loadXML2(e); + // console.log("37", r); + if (n.$XML(r).find("SelectWnd", !0).length > 0) { + u = parseInt(n.$XML(r).find("SelectWnd").eq(0).text(), 10), + null === C && U(); + var t = []; + t.push(""), + t.push("" + u + ""), + t.push(""), + a.cbSelWnd && a.cbSelWnd(f.loadXML2(t.join(""))), + a.myCbSelWnd&& a.myCbSelWnd(t.join("")) + } else if (n.$XML(r).find("DoubleClickWnd", !0).length > 0) { + var s = parseInt(n.$XML(r).find("DoubleClickWnd").eq(0).text(), 10); + l = "0" === n.$XML(r).find("IsFullScreen").eq(0).text(), + a.cbDoubleClickWnd && a.cbDoubleClickWnd(s, l) + } + } + }, + e.WindowDblClick = function(e) { + l = e, + a.cbDoubleClickWnd && a.cbDoubleClickWnd(u, l) + }, + e.ZoomInfoCallback = function(e) { + var t = m.findWndIndexByIndex(u); + if ( - 1 != t) { + var n = p[t]; + if (t = m.findDeviceIndexByIP(n.szDeviceIdentify), -1 != t) { + var r = d[t]; + r.oProtocolInc.set3DZoom(r, n, e, { + success: function(e) {}, + error: function() {} + }) + } + } + }, + PluginEventHandler = function(e, t, n) { + re() ? a.cbEvent && a.cbEvent(n, t, "") : (_("插件事件:PluginEventHandler iEventType:%s iParam1: %s, iParam2: %s", e, t, n), M == e || R == e ? m.I_Stop(t) : q == e ? m.I_StopRecord(t) : L == e && m.I_StopVoiceTalk(), a.cbEvent && a.cbEvent(e, t, n)) + }, + GetHttpInfo = function(e, t, n) { + _("http响应返回:http状态:%s, http数据:%s", e, t), + ue.prototype.processCallback(e, t) + }, + e.RemoteConfigInfo = function(e) { + a.cbRemoteConfig && a.cbRemoteConfig(e) + }, + e.KeyBoardEventInfo = function(e) { + 100 === parseInt(e, 10) && (l = !1, a.cbDoubleClickWnd && a.cbDoubleClickWnd(u, l)) + }; + var _ = function() { + if (a.bDebugMode) { + var e = E(arguments); + P._alert(e) + } + }, + E = function() { + for (var e = arguments[0], t = 1; t < arguments.length; t++) e = e.replace("%s", arguments[t]); + return e + }, + Z = function(e) { + var t = e.indexOf(":"); + return t > -1 ? e.substring(0, t) : e + }, + B = function(e) { + return "undefined" == typeof e + }, + N = function(e) { + return "[object Object]" === Object.prototype.toString.call(e) + }, + F = function() { + var e = ""; + if (f.browser().msie) e = ""; + else for (var t = navigator.mimeTypes.length, + n = 0; t > n; n++) navigator.mimeTypes[n].type.toLowerCase() == a.szMimeTypes && (e = ""); + return e + }, + U = function() { + if (!re() && null !== c) { + var e = c.HWP_GetLocalConfig(); + C = f.loadXML2(e); + // console.log("92 C", C, e); + } + }, + V = function(e) { + m.I_GetDeviceInfo(e.szIP, { + success: function(t) { + e.szDeviceType = n.$XML(t).find("deviceType").eq(0).text() + } + }), + m.I_GetAnalogChannelInfo(e.szIP, { + success: function(t) { + e.iAnalogChannelNum = n.$XML(t).find("VideoInputChannel", !0).length + } + }), + m.I_GetAudioInfo(e.szIP, { + success: function(t) { + var r = n.$XML(t).find("audioCompressionType", !0); + if (r.length > 0) { + var s = n.$XML(r).eq(0).text(), + o = 0; + "G.711ulaw" == s ? o = 1 : "G.711alaw" == s ? o = 2 : "G.726" == s ? o = 3 : "MP2L2" == s || "MPEL2" == s ? o = 4 : "G.722.1" == s ? o = 0 : "AAC" == s ? o = 5 : "PCM" == s && (o = 6), + e.iAudioType = o + } + "" !== n.$XML(t).find("audioBitRate").eq(0).text() ? e.m_iAudioBitRate = 1e3 * parseInt(n.$XML(t).find("audioBitRate").eq(0).text(), 10) : e.m_iAudioBitRate = 0, + "" !== n.$XML(t).find("audioSamplingRate").eq(0).text() ? e.m_iAudioSamplingRate = 1e3 * parseInt(n.$XML(t).find("audioSamplingRate").eq(0).text(), 10) : e.m_iAudioSamplingRate = 0 + } + }) + }, + j = function(e) { + e.bSupportWebsocket = !1, + e.bSupportSubStreamPlayback = !1, + e.oProtocolInc.getSystemCapa(e, { + success: function(t) { + var r = n.$XML(t).find("NetworkCap").eq(0).find("isSupportWebsocket", !0); + r.length > 0 && (e.bSupportWebsocket = "true" === n.$XML(t).find("NetworkCap").eq(0).find("isSupportWebsocket").eq(0).text()), + r = n.$XML(t).find("RacmCap").eq(0).find("isSupportMainAndSubRecord", !0), + r.length > 0 && (e.bSupportSubStreamPlayback = "true" === n.$XML(t).find("RacmCap").eq(0).find("isSupportMainAndSubRecord").eq(0).text()) + } + }) + }, + O = function() { + var e = a.bWndFull ? 1 : 0; + c.HWP_SetCanFullScreen(e), + c.HWP_SetPackageType(a.iPackageType) + }, + J = function(e) { + var t = -1, + n = -1, + r = -1, + s = null; + if (ee(e)) s = K(e), + t = s.iRtspPort, + r = s.iDevicePort; + else { + for (var o = Q(e), i = !1, a = 0; a < o.length; a++) if (o[a].ipv4 == e.szIP || o[a].ipv6 == e.szIP) { + i = !0; + break + } + i ? s = K(e) : (s = Y(e), -1 == s.iRtspPort && -1 == s.iDevicePort && (s = K(e))), + t = s.iRtspPort, + n = s.iHttpPort, + r = s.iDevicePort + } + return s + }, + K = function(e) { + var t = -1, + r = -1, + s = -1; + return e.oProtocolInc.getPortInfo(e, { + async: !1, + success: function(e) { + var o = n.$XML(e).find("AdminAccessProtocol", !0); + t = 554; + for (var i = 0, + a = o.length; a > i; i++)"rtsp" === n.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase() && (t = parseInt(n.$XML(o).eq(i).find("portNo").eq(0).text(), 10)), + "http" === n.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase() && (r = parseInt(n.$XML(o).eq(i).find("portNo").eq(0).text(), 10)), + "dev_manage" === n.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase() && (s = parseInt(n.$XML(o).eq(i).find("portNo").eq(0).text(), 10)) + }, + error: function() { + t = -1, + r = -1, + s = -1 + } + }), + { + iRtspPort: t, + iHttpPort: r, + iDevicePort: s + } + }, + Y = function(e) { + var t = -1, + r = -1, + s = -1; + return e.oProtocolInc.getUPnPPortStatus(e, { + async: !1, + success: function(e) { + for (var o = n.$XML(e).find("portStatus", !0), i = 0, a = o.length; a > i; i++)"rtsp" == n.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (t = parseInt(n.$XML(o).eq(i).find("externalPort").eq(0).text(), 10)), + "http" == n.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (r = parseInt(n.$XML(o).eq(i).find("externalPort").eq(0).text(), 10)), + "admin" == n.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase() && (s = parseInt(n.$XML(o).eq(i).find("externalPort").eq(0).text(), 10)) + }, + error: function() { + t = -1, + r = -1, + s = -1 + } + }), + { + iRtspPort: t, + iHttpPort: r, + iDevicePort: s + } + }, + Q = function(e) { + var t = []; + return e.oProtocolInc.getNetworkBond(e, { + async: !1, + success: function(r) { + "true" == n.$XML(r).find("enabled").eq(0).text() ? t.push({ + ipv4: n.$XML(r).find("ipAddress").eq(0).text(), + ipv6: n.$XML(r).find("ipv6Address").eq(0).text() + }) : e.oProtocolInc.getNetworkInterface(e, { + async: !1, + success: function(e) { + for (var r = n.$XML(e).find("NetworkInterface", !0), s = 0, o = r.length; o > s; s++) { + t.push({ + ipv4: n.$XML(e).find("ipAddress").eq(0).text(), + ipv6: n.$XML(e).find("ipv6Address").eq(0).text() + }); + break + } + }, + error: function() {} + }) + }, + error: function() { + + e.oProtocolInc.getNetworkInterface(e, { + async: !1, + success: function(e) { + + for (var r = n.$XML(e).find("NetworkInterface", !0), s = 0, o = r.length; o > s; s++) { + t.push({ + ipv4: n.$XML(e).find("ipAddress").eq(0).text(), + ipv6: n.$XML(e).find("ipv6Address").eq(0).text() + }); + break + } + }, + error: function() { + } + }) + } + }), + t + }, + ee = function(e) { + var t = !1; + return e.oProtocolInc.getPPPoEStatus(e, { + async: !1, + success: function(e) { + t = n.$XML(e).find("ipAddress", !0).length > 0 ? !0 : n.$XML(e).find("ipv6Address", !0).length > 0 + }, + error: function() { + t = !1 + } + }), + t + }, + te = function(e) { + + e.oStreamCapa.bObtained || e.oProtocolInc instanceof le && e.oProtocolInc.getSDKCapa(e, { + async: !1, + success: function(t) { + + e.oStreamCapa.bObtained = !0, + e.oStreamCapa.bSupportShttpPlay = "true" === n.$XML(t).find("isSupportHttpPlay").eq(0).text(), + e.oStreamCapa.bSupportShttpPlayback = "true" === n.$XML(t).find("isSupportHttpPlayback").eq(0).text(), + e.oStreamCapa.bSupportShttpsPlay = "true" === n.$XML(t).find("isSupportHttpsPlay").eq(0).text(), + e.oStreamCapa.bSupportShttpsPlayback = "true" === n.$XML(t).find("isSupportHttpsPlayback").eq(0).text(), + e.oStreamCapa.bSupportShttpPlaybackTransCode = "true" === n.$XML(t).find("isSupportHttpTransCodePlayback").eq(0).text(), + e.oStreamCapa.bSupportShttpsPlaybackTransCode = "true" === n.$XML(t).find("isSupportHttpsTransCodePlayback").eq(0).text(), + n.$XML(t).find("ipChanBase", !0).length > 0 && (e.oStreamCapa.iIpChanBase = parseInt(n.$XML(t).find("ipChanBase").eq(0).text(), 10)) + }, + error: function() { + e.oStreamCapa.bObtained = !0 + } + }) + }, + ne = function(e) { + var t = { + TransFrameRate: "", + TransResolution: "", + TransBitrate: "" + }; + if (f.extend(t, e), "" == t.TransFrameRate || "" == t.TransResolution || "" == t.TransBitrate) return ""; + var n = []; + return n.push(""), + n.push(""), + n.push("" + t.TransFrameRate + ""), + n.push("" + t.TransResolution + ""), + n.push("" + t.TransBitrate + ""), + n.push(""), + n.join("") + }, + re = function() { + if (a.bNoPlugin) { + var e = f.browser(); + return !! (e.chrome && parseInt(e.version, 10) > 45 || e.mozilla && parseInt(e.version, 10) > 52) + } + return ! 1 + }, + se = function(e) { + var t = location.hostname, + n = location.port || "80"; + return /^(http|https):\/\/([^\/]+)(.+)$/.test(e) && (e = e.replace(RegExp.$2, t + ":" + n)), + f.cookie("webVideoCtrlProxy", RegExp.$2, { + raw: !0 + }), + e + }, + oe = function() { + var e = ""; + // console.log("224"); + return e += "", + e += "4", + e += "Invalid Operation", + e += "notSupport", + e += "", + f.loadXML(e) + }; + this.I_InitPlugin = function(t, n, o) { + if (r = t, s = n, f.extend(a, o), re()) { + var i = f.getDirName(); + i && ("object" == typeof exports && "undefined" != typeof module || ("function" == typeof define && define.amd ? require([i + "/jsPlugin-1.0.0.min.js"], + function(t) { + e.JSPlugin = t.JSPlugin, + o.cbInitPluginComplete && o.cbInitPluginComplete() + }) : f.loadScript(i + "/jsPlugin-1.0.0.min.js", + function() { + o.cbInitPluginComplete && o.cbInitPluginComplete() + }))), + addEventListener("resize", + function() { + null !== c && c.JS_Resize(r, s) + }), + B(document.fullScreen) ? B(document.webkitIsFullScreen) ? B(document.mozFullScreen) || document.addEventListener("mozfullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }) : document.addEventListener("webkitfullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }) : document.addEventListener("fullscreenchange", + function(t) { + var n = document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || !1; + l && !n && e.KeyBoardEventInfo(100) + }), + addEventListener("unload", + function() { + null !== c && c.JS_DestroyWorker() + }) + } else o.cbInitPluginComplete && o.cbInitPluginComplete() + }, + this.I_InsertOBJECTPlugin = function(t) { + if (B(t) || (a.szContainerID = t), null == document.getElementById(a.szContainerID)) return - 1; + if (null != document.getElementById(o) || 0 != document.getElementsByName(o).length) return - 1; + if (re()) { + var n = { + szId: t, + iType: 1, + iWidth: r, + iHeight: s, + iMaxSplit: 4, + iCurrentSplit: a.iWndowType, + szBasePath: f.getDirName() + }, + u = a.szColorProperty; + if ("" != u) { + for (var l = {}, + d = u.split(";"), p = "", P = 0, h = d.length; h > P; P++) p = d[P], + p.indexOf("sub-background") > -1 ? l.background = p.split(":")[1] : p.indexOf("sub-border-select") > -1 ? l.borderSelect = p.split(":")[1] : p.indexOf("sub-border") > -1 && (l.border = p.split(":")[1]); + n.oStyle = l + } + c = new JSPlugin(n) + } else document.getElementById(a.szContainerID).innerHTML = F(), + c = f.browser().msie ? document.getElementById(o) : document.getElementsByName(i)[0]; + return null == c && null == c.object ? -1 : ("object" == typeof e.attachEvent && f.browser().msie && (c.attachEvent("GetSelectWndInfo", GetSelectWndInfo), c.attachEvent("ZoomInfoCallback", ZoomInfoCallback), c.attachEvent("GetHttpInfo", GetHttpInfo), c.attachEvent("PluginEventHandler", PluginEventHandler), c.attachEvent("RemoteConfigInfo", RemoteConfigInfo), c.attachEvent("KeyBoardEventInfo", KeyBoardEventInfo)), U(), 0) + }, + this.I_WriteOBJECT_XHTML = function() { + return re() ? -1 : (document.writeln(F()), c = f.browser().msie ? document.getElementById(o) : document.getElementsByName(i)[0], null == c && null == c.object ? -1 : ("object" == typeof e.attachEvent && f.browser().msie && (c.attachEvent("GetSelectWndInfo", GetSelectWndInfo), c.attachEvent("ZoomInfoCallback", ZoomInfoCallback), c.attachEvent("GetHttpInfo", GetHttpInfo), c.attachEvent("PluginEventHandler", PluginEventHandler), c.attachEvent("RemoteConfigInfo", RemoteConfigInfo), c.attachEvent("KeyBoardEventInfo", KeyBoardEventInfo)), U(), 0)) + }, + this.I_OpenFileDlg = function(e) { + var t = ""; + if (re()) return t; + if (t = c.HWP_OpenFileBrowser(e, ""), null == t) return ""; + if (1 == e) { + if (t.length > 100) return - 1 + } else if (t.length > 130) return - 1; + return t + }, + this.I_GetLocalCfg = function() { + var e = null; + if (re()) return e; + var t = c.HWP_GetLocalConfig(), + r = []; + + return C = f.loadXML(t), + r.push(""), + r.push("" + n.$XML(C).find("ProtocolType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PackgeSize").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlayWndType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("BuffNumberType").eq(0).text() + ""), + r.push("" + n.$XML(C).find("RecordPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("CapturePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlaybackFilePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("PlaybackPicPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("DeviceCapturePath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("DownloadPath").eq(0).text() + ""), + r.push("" + n.$XML(C).find("IVSMode").eq(0).text() + ""), + r.push("" + n.$XML(C).find("CaptureFileFormat").eq(0).text() + ""), + r.push(""), + e = f.loadXML(r.join("")) + }, + this.I_SetLocalCfg = function(e) { + if (re()) return - 1; + // console.log("227"); + var t = f.loadXML(e), + r = !1; + // console.log("285 t", t, e); + return n.$XML(C).find("ProtocolType").eq(0).text(n.$XML(t).find("ProtocolType").eq(0).text()), + n.$XML(C).find("PackgeSize").eq(0).text(n.$XML(t).find("PackgeSize").eq(0).text()), + n.$XML(C).find("PlayWndType").eq(0).text(n.$XML(t).find("PlayWndType").eq(0).text()), + n.$XML(C).find("BuffNumberType").eq(0).text(n.$XML(t).find("BuffNumberType").eq(0).text()), + n.$XML(C).find("RecordPath").eq(0).text(n.$XML(t).find("RecordPath").eq(0).text()), + n.$XML(C).find("CapturePath").eq(0).text(n.$XML(t).find("CapturePath").eq(0).text()), + n.$XML(C).find("PlaybackFilePath").eq(0).text(n.$XML(t).find("PlaybackFilePath").eq(0).text()), + n.$XML(C).find("DeviceCapturePath").eq(0).text(n.$XML(t).find("DeviceCapturePath").eq(0).text()), + n.$XML(C).find("PlaybackPicPath").eq(0).text(n.$XML(t).find("PlaybackPicPath").eq(0).text()), + n.$XML(C).find("DownloadPath").eq(0).text(n.$XML(t).find("DownloadPath").eq(0).text()), + n.$XML(C).find("IVSMode").eq(0).text(n.$XML(t).find("IVSMode").eq(0).text()), + n.$XML(C).find("CaptureFileFormat").eq(0).text(n.$XML(t).find("CaptureFileFormat").eq(0).text()), + r = c.HWP_SetLocalConfig(f.toXMLStr(C)), + r ? 0 : -1 + }; + var ie = function(e, t, n, r, s, o, i) { + var a = { + protocol: t, + success: null, + error: null + }; + f.extend(a, i), + f.extend(a, { + success: function(a) { + var c = new ae; + c.szIP = e, + 2 == t ? (c.szHttpProtocol = "https://", c.iHttpsPort = n) : (c.szHttpProtocol = "http://", c.iHttpPort = n), + c.iCGIPort = n, + c.szDeviceIdentify = e + "_" + n, + c.szAuth = r, + c.iDeviceProtocol = s, + c.oProtocolInc = o, + d.push(c), + _("使用%s协议登录成功", s), + V(c), + O(), + j(c), + i.success && i.success(a) + }, + error: function(e, t) { + i.error && i.error(e, t) + } + }), + o.login(e, n, r, a) + }; + this.I_Login = function(t, r, s, o, i, a) { + var c = t + "_" + s, + u = this.findDeviceIndexByIP(c); + if ( - 1 != u) return _("设备已经登录过"), + -1; + var l = h, + p = S; + if (B(a.cgi) || (S == a.cgi ? (l = h, p = S) : (l = I, p = v)), re()) if (S == p) { + var P = { + success: null, + error: null + }; + f.extend(P, { + success: function(c) { + var u = { + success: null, + error: null + }; + f.extend(u, { + success: function(o) { + var i = new ae; + i.szIP = t, + 2 == r ? (i.szHttpProtocol = "https://", i.iHttpsPort = s) : (i.szHttpProtocol = "http://", i.iHttpPort = s), + i.iCGIPort = s, + i.szDeviceIdentify = t + "_" + s, + i.szAuth = n.$XML(o).find("sessionID").eq(0).text(), + i.iDeviceProtocol = p, + i.oProtocolInc = l, + d.push(i), + _("使用%s协议登录成功", p), + V(i), + j(i), + i.sessionFailed = 0, + i.sesstionTimer = setInterval(function() { + l.sessionHeartbeat(i, + function() { + i.sessionFailed = 0 + }, + function() { + i.sessionFailed++, + i.sessionFailed >= 5 && (clearInterval(i.sesstionTimer), e.PluginEventHandler(G, i.szDeviceIdentify)) + }) + }, + 3e4), + a.success && a.success(o) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + l.sessionLogin(t, r, s, o, i, c, u) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + l.getSessionCap(t, r, s, o, P) + } else a.error && a.error(403, oe()); + else { + var m = ""; + if (S == p) { + m = f.Base64.encode(":" + o + ":" + i); + var P = { + success: null, + error: null + }; + f.extend(P, a), + f.extend(P, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = S, + l = h; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + if (!B(a.cgi)) return void(a.error && a.error(e, n)); + m = f.Base64.encode(":" + o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + a.error && a.error(e, n) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, P) + } else { + m = f.Base64.encode(":" + o + ":" + i), + p = v, + l = I; + var P = { + success: null, + error: null + }; + f.extend(P, a), + f.extend(P, { + error: function(e, n) { + m = f.Base64.encode(o + ":" + i), + p = v, + l = I; + var c = { + success: null, + error: null + }; + f.extend(c, a), + f.extend(c, { + error: function() { + a.error && a.error(e, n) + } + }), + ie(t, r, s, m, p, l, c) + } + }), + ie(t, r, s, m, p, l, P) + } + } + }, + this.I_Logout = function(e) { + var t = this.findDeviceIndexByIP(e); + if ( - 1 != t) { + if (re()) { + var n = d[t]; + clearInterval(n.sesstionTimer), + n.oProtocolInc.sessionLogout(n, {}) + } + return d.splice(t, 1), + 0 + } + return - 1 + }, + this.I_GetAudioInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if ( - 1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getAudioInfo(r, s) + } + }, + this.I_GetDeviceInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if ( - 1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getDeviceInfo(r, s) + } + }, + this.I_GetAnalogChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if ( - 1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getAnalogChannelInfo(r, s) + } + }, + this.I_GetDigitalChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if ( - 1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getDigitalChannelInfo(r, s) + } + }, + this.I_GetZeroChannelInfo = function(e, t) { + var n = this.findDeviceIndexByIP(e); + if ( - 1 != n) { + var r = d[n], + s = { + success: null, + error: null + }; + f.extend(s, t), + r.oProtocolInc.getZeroChannelInfo(r, s) + } + }, + this.I_StartRealPlay = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = "", + o = "", + i = -1, + a = 0, + c = 0, + l = !1, + P = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + bZeroChannel: !1 + }; + if (f.extend(P, t), -1 != r) { + te(d[r]); + var h = d[r]; + if (re()) { + if (!h.bSupportWebsocket) return void(t.error && t.error(403, oe())); + s = h.oProtocolInc.CGI.startWsRealPlay, + o = "ws://", + B(P.iWSPort) ? h.iWSPort = 7681 : h.iWSPort = P.iWSPort, + i = h.iWSPort, + c = P.iStreamType, + a = P.iChannelID <= h.iAnalogChannelNum ? P.iChannelID: h.oStreamCapa.iIpChanBase + parseInt(P.iChannelID, 10) - h.iAnalogChannelNum - 1, + l = !0 + } else { + var I = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + I == W && h.oStreamCapa.bSupportShttpPlay ? (_("SHTTP RealPlay"), s = h.oProtocolInc.CGI.startShttpRealPlay, o = "http://", c = P.iStreamType - 1, a = P.iChannelID <= h.iAnalogChannelNum ? P.iChannelID: h.oStreamCapa.iIpChanBase + parseInt(P.iChannelID, 10) - h.iAnalogChannelNum - 1, l = !0, B(P.iPort) ? "https://" == h.szHttpProtocol ? ( - 1 == h.iHttpPort && (h.iHttpPort = J(h).iHttpPort), i = h.iHttpPort) : i = h.iCGIPort: (h.iHttpPort = P.iPort, i = P.iPort)) : (_("RTSP RealPlay"), s = h.oProtocolInc.CGI.startRealPlay, o = "rtsp://", c = P.iStreamType, a = P.iChannelID, B(P.iRtspPort) || (h.iRtspPort = P.iRtspPort), -1 == h.iRtspPort && (h.iRtspPort = J(h).iRtspPort), i = h.iRtspPort) + } + if ( - 1 == i) return _("获取端口号失败"), + void(t.error && t.error()); + if (f.extend(P, { + urlProtocol: o, + cgi: s, + iPort: i, + iStreamType: c, + iChannelID: a + }), r = this.findWndIndexByIndex(P.iWndIndex), -1 == r) if (re()) h.oProtocolInc.startRealPlay(h, P).then(function() { + r = this.findWndIndexByIndex(P.iWndIndex); + var e = p[r]; + e.bShttpIPChannel = l, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + // console.log(h, P); + var m = h.oProtocolInc.startRealPlay(h, P); + if (0 == m) { + r = this.findWndIndexByIndex(P.iWndIndex); + var S = p[r]; + S.bShttpIPChannel = l, + t.success && t.success() + } else h.iRtspPort = -1, + t.error && t.error() + } + } else t.error && t.error() + }, + this.I_Stop = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n]; + if (r.bRecord && (re() || c.HWP_StopSave(r.iIndex)), r.bSound && (re() || c.HWP_CloseSound()), r.bEZoom && (re() || c.HWP_DisableZoom(r.iIndex)), re()) c.JS_Stop(t.iWndIndex).then(function() { + p.splice(n, 1), + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var s = c.HWP_Stop(t.iWndIndex); + 0 == s ? (p.splice(n, 1), t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_OpenSound = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.bSound || (n = re() ? c.JS_OpenSound(e) : c.HWP_OpenSound(e), 0 == n && (r.bSound = !0)) + } + return n + }, + this.I_CloseSound = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.bSound && (n = re() ? c.JS_CloseSound() : c.HWP_CloseSound(), 0 == n && (r.bSound = !1)) + } + return n + }, + this.I_SetVolume = function(e, t) { + var n = -1; + if (e = parseInt(e, 10), isNaN(e)) return n; + if (0 > e || e > 100) return n; + t = B(t) ? u: t; + var r = this.findWndIndexByIndex(t); + return - 1 != r && (re() ? (c.JS_SetVolume(t, e), n = 0) : n = c.HWP_SetVolume(t, e)), + n + }, + this.I_CapturePic = function(e, t) { + var n = { + iWndIndex: u, + bDateDir: !0 + }; + N(t) ? f.extend(n, t) : B(t) || (n.iWndIndex = t); + var r = this.findWndIndexByIndex(n.iWndIndex), + s = -1; + if ( - 1 != r) if (re()) { + var o = "JPEG"; + ".jpg" === e.slice( - 4).toLowerCase() ? e = e.slice(0, -4) : ".jpeg" === e.slice( - 5).toLowerCase() ? e = e.slice(0, -5) : ".bmp" === e.slice( - 4).toLowerCase() && (e = e.slice(0, -4), o = "BMP"), + s = c.JS_CapturePicture(n.iWndIndex, e, o) + } else ".jpg" === e.slice( - 4).toLowerCase() ? e = e.slice(0, -4) : ".jpeg" === e.slice( - 5).toLowerCase() && (e = e.slice(0, -5)), + s = c.HWP_CapturePicture(n.iWndIndex, e, n.bDateDir); + return s + }, + this.I_StartRecord = function(e, t) { + var n = { + iWndIndex: u, + bDateDir: !0 + }; + N(t) ? f.extend(n, t) : B(t) || (n.iWndIndex = t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if ( - 1 != r) { + var s = p[r]; + if (s.bRecord) n.error && n.error(); + else if (re()) { + var o = f.browser(); + o.chrome ? c.JS_StartSave(n.iWndIndex, e).then(function() { + s.bRecord = !0, + n.success && n.success() + }, + function() { + n.error && n.error() + }) : n.error && n.error() + } else { + var i = c.HWP_StartSave(n.iWndIndex, e, n.bDateDir); + 0 == i ? (s.bRecord = !0, n.success && n.success()) : n.error && n.error() + } + } else n.error && n.error() + }, + this.I_StopRecord = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n]; + if (r.bRecord) if (re()) { + var s = f.browser(); + s.chrome ? c.JS_StopSave(t.iWndIndex).then(function() { + r.bRecord = !1, + t.success && t.success() + }, + function() { + t.error && t.error() + }) : t.error && t.error() + } else { + var o = c.HWP_StopSave(t.iWndIndex); + 0 == o ? (r.bRecord = !1, t.success && t.success()) : t.error && t.error() + } else t.error && t.error() + } else t.error && t.error() + }, + this.I_StartVoiceTalk = function(e, t) { + if (isNaN(parseInt(t, 10))) return - 1; + var n = this.findDeviceIndexByIP(e), + r = -1; + if ( - 1 != n) { + var s = d[n]; + s.bVoiceTalk || (r = re() ? -1 : s.oProtocolInc.startVoiceTalk(s, t), 0 == r && (d[n].bVoiceTalk = !0)) + } + return r + }, + this.I_StopVoiceTalk = function() { + var e = -1; + if (!re()) { + e = c.HWP_StopVoiceTalk(); + for (var t = 0, + n = d.length; n > t; t++) if (d[t].bVoiceTalk) { + d[t].bVoiceTalk = !1; + break + } + } + return e + }, + this.I_PTZControl = function(e, t, n) { + // debugger + var r = { + iWndIndex: u, + iPTZIndex: e, + iPTZSpeed: 4 + }; + f.extend(r, n), + f.extend(r, { + async: !1 + }); + var s = this.findWndIndexByIndex(r.iWndIndex); + if ( - 1 != s) { + var o = p[s]; + if (s = this.findDeviceIndexByIP(o.szIP), -1 != s) { + var i = d[s]; + 9 == e ? i.oProtocolInc.ptzAutoControl(i, t, o, r) : i.oProtocolInc.ptzControl(i, t, o, r) + } + } + }, + this.I_EnableEZoom = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.bEZoom || (n = re() ? c.JS_EnableZoom(e) : c.HWP_EnableZoom(e, 0), 0 == n && (r.bEZoom = !0)) + } + return n + }, + this.I_DisableEZoom = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.bEZoom && (re() ? n = c.JS_DisableZoom(e) : (c.HWP_DisableZoom(e), n = 0), 0 == n && (r.bEZoom = !1)) + } + return n + }, + this.I_Enable3DZoom = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.b3DZoom || (n = re() ? -1 : c.HWP_EnableZoom(e, 1), 0 == n && (r.b3DZoom = !0)) + } + return n + }, + this.I_Disable3DZoom = function(e) { + e = B(e) ? u: e; + var t = this.findWndIndexByIndex(e), + n = -1; + if ( - 1 != t) { + var r = p[t]; + r.b3DZoom && (re() ? n = -1 : (c.HWP_DisableZoom(e), n = 0), 0 == n && (r.b3DZoom = !1)) + } + return n + }, + this.I_FullScreen = function(e) { + re() ? c.JS_FullScreenDisplay(e) : c.HWP_FullScreenDisplay(e) + }, + this.I_SetPreset = function(e, t) { + var n = { + iWndIndex: u, + iPresetID: e + }; + f.extend(n, t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if ( - 1 != r) { + var s = p[r]; + if (r = this.findDeviceIndexByIP(s.szIP), -1 != r) { + var o = d[r]; + o.oProtocolInc.setPreset(o, s, n) + } + } + }, + this.I_GoPreset = function(e, t) { + var n = { + iWndIndex: u, + iPresetID: e + }; + f.extend(n, t); + var r = this.findWndIndexByIndex(n.iWndIndex); + if ( - 1 != r) { + var s = p[r]; + if (r = this.findDeviceIndexByIP(s.szIP), -1 != r) { + var o = d[r]; + o.oProtocolInc.goPreset(o, s, n) + } + } + }, + this.I_RecordSearch = function(e, t, n, r, s) { + var o = this.findDeviceIndexByIP(e); + if ( - 1 != o) { + var i = d[o], + a = { + iChannelID: t, + szStartTime: n, + szEndTime: r, + iSearchPos: 0, + iStreamType: 1, + success: null, + error: null + }; + f.extend(a, s), + i.oProtocolInc.recordSearch(i, a) + } + }, + this.I_StartPlayback = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = "", + o = "", + i = -1, + a = 1, + c = 0, + l = f.dateFormat(new Date, "yyyy-MM-dd"), + p = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + szStartTime: l + " 00:00:00", + szEndTime: l + " 23:59:59" + }; + if (f.extend(p, t), -1 != r) { + te(d[r]); + var P = d[r]; + if (re()) { + if (!P.bSupportWebsocket) return void(t.error && t.error(403, oe())); + if (!B(p.oTransCodeParam)) return void(t.error && t.error()); + s = P.oProtocolInc.CGI.startWsPlayback, + o = "ws://", + B(p.iWSPort) ? P.iWSPort = 7681 : P.iWSPort = p.iWSPort, + i = P.iWSPort, + c = p.iStreamType, + a = p.iChannelID <= P.iAnalogChannelNum ? p.iChannelID: P.oStreamCapa.iIpChanBase + parseInt(p.iChannelID, 10) - P.iAnalogChannelNum - 1, + a = 100 * a + c + } else { + var h = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + h == W && P.oStreamCapa.bSupportShttpPlay ? (s = B(p.oTransCodeParam) ? P.oProtocolInc.CGI.startShttpPlayback: P.oProtocolInc.CGI.startTransCodePlayback, o = "http://", c = p.iStreamType - 1, a = p.iChannelID <= P.iAnalogChannelNum ? p.iChannelID: P.oStreamCapa.iIpChanBase + parseInt(p.iChannelID, 10) - P.iAnalogChannelNum - 1, P.bSupportSubStreamPlayback && (a = 100 * a + c), B(p.iPort) ? "https://" == P.szHttpProtocol ? ( - 1 == P.iHttpPort && (P.iHttpPort = J(P).iHttpPort), i = P.iHttpPort) : i = P.iCGIPort: (P.iHttpPort = p.iPort, i = p.iPort)) : (s = P.oProtocolInc.CGI.startPlayback, o = "rtsp://", c = p.iStreamType, a = 100 * p.iChannelID + c, B(p.iRtspPort) || (P.iRtspPort = p.iRtspPort), -1 == P.iRtspPort && (P.iRtspPort = J(P).iRtspPort), i = P.iRtspPort) + } + if ( - 1 == i) return _("获取端口号失败"), + void(t.error && t.error()); + if (f.extend(p, { + urlProtocol: o, + cgi: s, + iPort: i, + iChannelID: a + }), r = this.findWndIndexByIndex(p.iWndIndex), -1 == r) if (re()) p.szStartTime = p.szStartTime.replace(" ", "T") + "Z", + p.szEndTime = p.szEndTime.replace(" ", "T") + "Z", + P.oProtocolInc.startPlayback(P, p).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + p.szStartTime = p.szStartTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", + p.szEndTime = p.szEndTime.replace(/[-:]/g, "").replace(" ", "T") + "Z"; + var I = P.oProtocolInc.startPlayback(P, p); + 0 == I ? t.success && t.success() : (P.iRtspPort = -1, t.error && t.error()) + } + } else t.error && t.error() + }, + this.I_ReversePlayback = function(e, t) { + var r = this.findDeviceIndexByIP(e), + s = -1, + o = "", + i = "", + a = -1, + c = -1, + l = 0, + p = f.dateFormat(new Date, "yyyy-MM-dd"), + P = { + iWndIndex: u, + iStreamType: 1, + iChannelID: 1, + szStartTime: p + " 00:00:00", + szEndTime: p + " 23:59:59" + }; + if (f.extend(P, t), -1 != r) { + te(d[r]); + var h = d[r]; + if (re()) return s; + var I = parseInt(n.$XML(C).find("ProtocolType").eq(0).text(), 10); + if (I == W && h.oStreamCapa.bSupportShttpPlay ? (o = h.oProtocolInc.CGI.startShttpReversePlayback, i = "http://", l = P.iStreamType - 1, c = P.iChannelID <= h.iAnalogChannelNum ? P.iChannelID: h.oStreamCapa.iIpChanBase + parseInt(P.iChannelID, 10) - h.iAnalogChannelNum - 1, c = 100 * c + l, B(P.iPort) ? "https://" == h.szHttpProtocol ? ( - 1 == h.iHttpPort && (h.iHttpPort = J(h).iHttpPort), a = h.iHttpPort) : a = h.iCGIPort: (h.iHttpPort = P.iPort, a = P.iPort)) : (o = h.oProtocolInc.CGI.startPlayback, i = "rtsp://", l = P.iStreamType, c = 100 * P.iChannelID + l, B(P.iRtspPort) || (h.iRtspPort = P.iRtspPort), -1 == h.iRtspPort && (h.iRtspPort = J(h).iRtspPort), a = h.iRtspPort), -1 == a) return _("获取端口号失败"), + s; + f.extend(P, { + urlProtocol: i, + cgi: o, + iPort: a, + iChannelID: c + }), + r = this.findWndIndexByIndex(P.iWndIndex), + -1 == r && (P.szStartTime = P.szStartTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", P.szEndTime = P.szEndTime.replace(/[-:]/g, "").replace(" ", "T") + "Z", s = h.oProtocolInc.reversePlayback(h, P)) + } + return - 1 == s && (h.iRtspPort = -1), + s + }, + this.I_Frame = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n], + s = r.iPlayStatus; + if (s == D || s == T) if (re()) c.JS_FrameForward(t.iWndIndex).then(function() { + r.iPlayStatus = T, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var o = c.HWP_FrameForward(t.iWndIndex); + 0 == o ? (r.iPlayStatus = T, t.success && t.success()) : t.error && t.error() + } else t.error && t.error() + } else t.error && t.error() + }, + this.I_Pause = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n], + s = r.iPlayStatus, + o = -1; + if (s == D) o = z; + else { + if (s != b) return void(t.error && t.error()); + o = A + } + if (re()) c.JS_Pause(t.iWndIndex).then(function() { + r.iPlayStatus = o, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var i = c.HWP_Pause(t.iWndIndex); + 0 == i ? (r.iPlayStatus = o, t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_Resume = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n], + s = r.iPlayStatus, + o = -1; + if (s == z || s == T) o = D; + else { + if (s != A) return void(t.error && t.error()); + o = b + } + if (re()) c.JS_Resume(t.iWndIndex).then(function() { + r.iPlayStatus = o, + t.success && t.success() + }, + function() { + t.error && t.error() + }); + else { + var i = c.HWP_Resume(t.iWndIndex); + 0 == i ? (r.iPlayStatus = o, t.success && t.success()) : t.error && t.error() + } + } else t.error && t.error() + }, + this.I_PlaySlow = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n]; + if (r.iPlayStatus == D) if (re()) { + var s = c.JS_GetWndStatus(t.iWndIndex); + s.iRate <= -4 ? t.error && t.error() : c.JS_Slow(t.iWndIndex).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }) + } else { + var o = c.HWP_Slow(t.iWndIndex); + 0 == o ? t.success && t.success() : t.error && t.error() + } else t.error && t.error() + } else t.error && t.error() + }, + this.I_PlayFast = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + var r = p[n]; + if (r.iPlayStatus == D) if (re()) { + var s = c.JS_GetWndStatus(t.iWndIndex); + s.iRate >= 4 ? t.error && t.error() : c.JS_Fast(t.iWndIndex).then(function() { + t.success && t.success() + }, + function() { + t.error && t.error() + }) + } else { + var o = c.HWP_Fast(t.iWndIndex); + 0 == o ? t.success && t.success() : t.error && t.error() + } else t.error && t.error() + } else t.error && t.error() + }, + this.I_GetOSDTime = function(e) { + var t = { + iWndIndex: u + }; + N(e) ? f.extend(t, e) : B(e) || (t.iWndIndex = e); + var n = this.findWndIndexByIndex(t.iWndIndex); + if ( - 1 != n) { + if (re()) c.JS_GetOSDTime(t.iWndIndex).then(function(e) { + if (t.success) { + var n = f.dateFormat(new Date(1e3 * e), "yyyy-MM-dd hh:mm:ss"); + t.success(n) + } + }, + function() { + t.error && t.error() + }); + else if (t.success) { + var r = c.HWP_GetOSDTime(t.iWndIndex), + s = f.dateFormat(new Date(1e3 * r), "yyyy-MM-dd hh:mm:ss"); + t.success(s) + } + } else t.error && t.error() + }, + this.I_StartDownloadRecord = function(e, t, n, r) { + var s = this.findDeviceIndexByIP(e), + o = -1; + if ( - 1 != s) { + var i = d[s], + a = { + szPlaybackURI: t, + szFileName: n, + bDateDir: !0 + }; + B(r) || f.extend(a, r), + o = i.oProtocolInc.startDownloadRecord(i, a) + } + return o + }, + this.I_GetDownloadStatus = function(e) { + var t = -1; + return re() ? t: (t = c.HWP_GetDownloadStatus(e), 1 == t && (t = -1), t) + }, + this.I_GetDownloadProgress = function(e) { + return re() ? -1 : c.HWP_GetDownloadProgress(e); + }, + this.I_StopDownloadRecord = function(e) { + return re() ? -1 : c.HWP_StopDownload(e) + }, + this.I_ExportDeviceConfig = function(e) { + var t = this.findDeviceIndexByIP(e), + n = -1; + if ( - 1 != t) { + var r = d[t]; + if (re()) return n; + n = r.oProtocolInc.exportDeviceConfig(r) + } + return n + }, + this.I_ImportDeviceConfig = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1; + if ( - 1 != n) { + var s = d[n], + o = { + szFileName: t + }; + if (re()) return r; + r = s.oProtocolInc.importDeviceConfig(s, o) + } + return r + }, + this.I_RestoreDefault = function(e, t, n) { + var r = { + success: null, + error: null + }; + f.extend(r, n); + var s = this.findDeviceIndexByIP(e); + if ( - 1 != s) { + var o = d[s]; + o.oProtocolInc.restore(o, t, r) + } + }, + this.I_Restart = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = { + success: null, + error: null + }; + if (f.extend(r, t), -1 != n) { + var s = d[n]; + s.oProtocolInc.restart(s, r) + } + }, + this.I_Reconnect = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = { + success: null, + error: null + }; + if (f.extend(r, t), -1 != n) { + var s = d[n]; + s.oProtocolInc.login(s.szIP, s.iCGIPort, s.szAuth, r) + } + }, + this.I_StartUpgrade = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1; + if ( - 1 != n) { + var s = d[n], + o = { + szFileName: t + }; + if (re()) return r; + r = s.oProtocolInc.startUpgrade(s, o) + } + return r + }, + this.I_UpgradeStatus = function() { + return re() ? -1 : c.HWP_UpgradeStatus() + }, + this.I_UpgradeProgress = function() { + return re() ? -1 : c.HWP_UpgradeProgress() + }, + this.I_StopUpgrade = function() { + return re() ? -1 : c.HWP_StopUpgrade() + }, + this.I_CheckPluginInstall = function() { + var e = -1, + t = f.browser(); + if (re()) e = 0; + else if (t.msie) try { + new ActiveXObject("WebVideoKitActiveX.WebVideoKitActiveXCtrl.1"); + e = 0 + } catch(n) {} else for (var r = 0, + s = navigator.mimeTypes.length; s > r; r++) if ("application/webvideo-plugin-kit" == navigator.mimeTypes[r].type.toLowerCase()) { + e = 0; + break + } + return e + }, + this.I_CheckPluginVersion = function() { + return re() ? 0 : c.HWP_CheckPluginUpdate(k) ? -1 : 0 + }, + this.I_SendHTTPRequest = function(e, t, n) { + var r = this.findDeviceIndexByIP(e); + if (! (0 > r)) { + var s = d[r], + o = new ue, + i = s.szHttpProtocol + s.szIP + ":" + s.iCGIPort + "/" + t, + a = { + type: "GET", + url: i, + auth: s.szAuth, + success: null, + error: null + }; + f.extend(a, n), + f.extend(a, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(a), + o.submitRequest() + } + }, + this.I_RemoteConfig = function(e, t) { + var n = this.findDeviceIndexByIP(e), + r = -1, + s = -1; + if (re()) return r; + var o = { + iLan: 0, + iDevicePort: -1, + iType: 0 + }; + if (f.extend(o, t), -1 != n) { + var i = d[n]; + if ( - 1 == o.iDevicePort) if ( - 1 == i.iDevicePort) { + if (i.iDevicePort = J(i).iDevicePort, s = i.iDevicePort, -1 == s) return r + } else s = i.iDevicePort; + else s = o.iDevicePort; + if (":" == f.Base64.decode(i.szAuth)[0]) var a = f.Base64.decode(i.szAuth).split(":")[1], + u = f.Base64.decode(i.szAuth).split(":")[2]; + else var a = f.Base64.decode(i.szAuth).split(":")[0], + u = f.Base64.decode(i.szAuth).split(":")[1]; + var l = "" + o.iType + "" + o.iLan + "" + i.szIP + "" + s + "" + a + "" + f.Base64.encode(u) + ""; + return c.HWP_ShowRemConfig(l) + } + return r + }, + this.I_ChangeWndNum = function(e) { + return isNaN(parseInt(e, 10)) ? -1 : (re() ? c.JS_ArrangeWindow(e) : c.HWP_ArrangeWindow(e), 0) + }, + this.I_GetLastError = function() { + return re() ? -1 : c.HWP_GetLastError() + }, + this.I_GetWindowStatus = function(e) { + if (B(e)) { + var t = []; + return f.extend(t, p), + t + } + var n = this.findWndIndexByIndex(e); + if ( - 1 != n) { + var t = {}; + return f.extend(t, p[n]), + t + } + return null + }, + this.I_GetIPInfoByMode = function(e, t, n, r) { + return re() ? "": c.HWP_GetIpInfoByMode(e, t, n, r) + }, + this.I_SetPlayModeType = function(e) { + return re() ? -1 : c.HWP_SetPlayModeType(e) + }, + this.I_SetSnapDrawMode = function(e, t) { + return re() ? -1 : c.HWP_SetSnapDrawMode(e, t) + }, + this.I_SetSnapPolygonInfo = function(e, t) { + if (re()) return - 1; + var r, s, o, i, a, u, l, d, p, P, h, I, m, C = c.HWP_GetSnapPolygonInfo(e); + // console.log("921", r); + r = f.loadXML(C), + s = n.$XML(r).find("SnapPolygon", !0); + + var S = s.length, + v = []; + for (o = 0, i = s.length; i > o; o++) a = s[o], + v.push(n.$XML(a).find("id").eq(0).text()); + var y = v.join(","); + // console.log("927"); + if (y = "," + y + ",", r = f.loadXML(t), s = n.$XML(r).find("SnapPolygon", !0), S + s.length > 32) return - 3; + for (o = 0, i = s.length; i > o; o++) { + if (a = s[o], u = n.$XML(a).find("id").eq(0).text(), !f.isInt(u)) return - 2; + if (l = parseInt(u, 10), 1 > l || l > 32) return - 2; + if (y.indexOf("," + u + ",") > -1) return - 4; + if (d = n.$XML(a).find("tips").eq(0).text(), d.length > 32) return - 2; + if (h = "true" === n.$XML(a).find("isClosed").eq(0).text(), !h) { + if (p = n.$XML(a).find("MinClosed").eq(0).text(), !f.isInt(p)) return - 2; + if (P = parseInt(p, 10), 4 > P || P > 17) return - 2; + if (I = n.$XML(a).find("PointNumMax").eq(0).text(), !f.isInt(I)) return - 2; + if (m = parseInt(I, 10), P > m || m > 17) return - 2 + } + } + return c.HWP_SetSnapPolygonInfo(e, t) + }, + this.I_GetSnapPolygonInfo = function(e) { + return re() ? "": c.HWP_GetSnapPolygonInfo(e) + }, + this.I_ClearSnapInfo = function(e) { + return re() ? -1 : c.HWP_ClearSnapInfo(e, 1) + }, + this.I_DeviceCapturePic = function(e, t, n, r) { + var s = this.findDeviceIndexByIP(e), + o = -1; + if ( - 1 != s) { + var i = d[s], + a = { + bDateDir: !0 + }; + if (f.extend(a, r), !B(a.iResolutionWidth) && !f.isInt(a.iResolutionWidth)) return o; + if (!B(a.iResolutionHeight) && !f.isInt(a.iResolutionHeight)) return o; + o = i.oProtocolInc.deviceCapturePic(i, t, n, a) + } + return o + }, + this.I_SetPackageType = function(e) { + return re() ? -1 : c.HWP_SetPackageType(e) + }, + this.I_GetDevicePort = function(e) { + + var t = this.findDeviceIndexByIP(e), + n = null; + if ( - 1 != t) { + var r = d[t]; + n = J(r) + } + return n + }, + this.findDeviceIndexByIP = function(e) { + if (e.indexOf("_") > -1) { + for (var t = 0, + n = d.length; n > t; t++) if (d[t].szDeviceIdentify == e) return t + } else for (var t = 0, + n = d.length; n > t; t++) if (d[t].szIP == e) return t; + return - 1 + }, + this.findWndIndexByIndex = function(e) { + for (var t = 0, + n = p.length; n > t; t++) if (p[t].iIndex == e) return t; + return - 1 + }; + var ae = function() { + this.szIP = "", + this.szHostName = "", + this.szAuth = "", + this.szHttpProtocol = "http://", + this.iCGIPort = 80, + this.szDeviceIdentify = "", + this.iDevicePort = -1, + this.iHttpPort = -1, + this.iHttpsPort = -1, + this.iRtspPort = -1, + this.iWSPort = -1, + this.iAudioType = 1, + this.m_iAudioBitRate = -1, + this.m_iAudioSamplingRate = -1, + this.iDeviceProtocol = S, + this.oProtocolInc = null, + this.iAnalogChannelNum = 0, + this.szDeviceType = "", + this.bVoiceTalk = !1, + this.oStreamCapa = { + bObtained: !1, + bSupportShttpPlay: !1, + bSupportShttpPlayback: !1, + bSupportShttpsPlay: !1, + bSupportShttpsPlayback: !1, + bSupportShttpPlaybackTransCode: !1, + bSupportShttpsPlaybackTransCode: !1, + iIpChanBase: 1 + } + }, + ce = function() { + this.iIndex = 0, + this.szIP = "", + this.iCGIPort = 80, + this.szDeviceIdentify = "", + this.iChannelID = "", + this.iPlayStatus = g, + this.bSound = !1, + this.bRecord = !1, + this.bPTZAuto = !1, + this.bEZoom = !1, + this.b3DZoom = !1 + }, + ue = function() { + this.options = { + type: "GET", + url: "", + auth: "", + timeout: 1e4, + data: "", + async: !0, + success: null, + error: null + }, + this.m_szHttpHead = "", + this.m_szHttpContent = "", + this.m_szHttpData = "" + }; + ue.prototype.m_httpRequestSet = [], + ue.prototype.setRequestParam = function(e) { + f.extend(this.options, e) + }, + ue.prototype.submitRequest = function() { + var t = null, + n = this; + if (re()) { + this.options.auth ? f.cookie("WebSession", this.options.auth) : f.cookie("WebSession", null); + var r = se(this.options.url), + s = new XMLHttpRequest(); + s.open(this.options.type, r, this.options.async), + s.setRequestHeader("X-Requested-With", "XMLHttpRequest"), + s.setRequestHeader("If-Modified-Since", "0"), + s.send(this.options.data || null); + var o = function() { + if (4 === s.readyState) { + t = { + funSuccessCallback: n.options.success, + funErrorCallback: n.options.error + }; + var e = s.status + s.responseText; + 0 === s.status && (e = ""), + n.httpDataAnalyse(t, e) + } + }; + this.options.async ? (s.timeout = this.options.timeout, s.onreadystatechange = function() { + o() + }) : o() + } else { + var i = this.getHttpMethod(this.options.type); + if (this.options.async) { + var a = c.HWP_SubmitHttpRequest(i, this.options.url, this.options.auth, this.options.data, this.options.timeout); - 1 != a && (t = { + iRequestID: a, + funSuccessCallback: this.options.success, + funErrorCallback: this.options.error + }, + this.m_httpRequestSet.push(t)) + } else { + var u = c.HWP_SendHttpSynRequest(i, this.options.url, this.options.auth, this.options.data, this.options.timeout); + t = { + funSuccessCallback: this.options.success, + funErrorCallback: this.options.error + }, + this.httpDataAnalyse(t, u) + } + } + }, + ue.prototype.getHttpMethod = function(e) { + var t = { + GET: 1, + POST: 2, + PUT: 5, + DELETE: 6 + }, + n = t[e]; + return n ? n: -1 + }, + ue.prototype.processCallback = function(e, t) { + for (var n = null, + r = 0; r < this.m_httpRequestSet.length; r++) if (e == this.m_httpRequestSet[r].iRequestID) { + n = this.m_httpRequestSet[r], + this.m_httpRequestSet.splice(r, 1); + break + } + null != n && (this.httpDataAnalyse(n, t), delete n) + }, + ue.prototype.httpDataAnalyse = function(e, t) { + var n = "", + r = 0; + + "" == t || B(t) ? e.funErrorCallback() : (r = parseInt(t.substring(0, 3)), n = t.substring(3, t.length), isNaN(r) ? e.funErrorCallback() : y == r ? e.funSuccessCallback(f.loadXML2(n)) : e.funErrorCallback(r, f.loadXML2(n))) + }; + var le = function() {}; + le.prototype.CGI = { + login: "%s%s:%s/ISAPI/Security/userCheck", + getAudioInfo: "%s%s:%s/ISAPI/System/TwoWayAudio/channels", + getDeviceInfo: "%s%s:%s/ISAPI/System/deviceInfo", + getAnalogChannelInfo: "%s%s:%s/ISAPI/System/Video/inputs/channels", + getDigitalChannel: "%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels", + getDigitalChannelInfo: "%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels/status", + getZeroChannelInfo: "%s%s:%s/ISAPI/ContentMgmt/ZeroVideo/channels", + getStreamChannels: { + analog: "%s%s:%s/ISAPI/Streaming/channels", + digital: "%s%s:%s/ISAPI/ContentMgmt/StreamingProxy/channels" + }, + getStreamDynChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels", + startRealPlay: { + channels: "%s%s:%s/PSIA/streaming/channels/%s", + zeroChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s" + }, + startShttpRealPlay: { + channels: "%s%s:%s/SDK/play/%s/004", + zeroChannels: "%s%s:%s/SDK/play/100/004/ZeroStreaming" + }, + startWsRealPlay: { + channels: "%s%s:%s/%s", + zeroChannels: "%s%s:%s/%s" + }, + startVoiceTalk: { + open: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/open", + close: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/close", + audioData: "%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/audioData" + }, + ptzControl: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/continuous", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/continuous" + }, + ptzAutoControl: { + ipdome: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto", + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/autoPan", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/autoPan" + }, + setPreset: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s" + }, + goPreset: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s/goto" + }, + ptzFocus: { + analog: "%s%s:%s/ISAPI/Image/channels/%s/focus", + digital: "%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/focus", + ipc: "%s%s:%s/ISAPI/System/Video/inputs/channels/%s/focus" + }, + ptzIris: { + analog: "%s%s:%s/ISAPI/Image/channels/%s/iris", + digital: "%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/iris", + ipc: "%s%s:%s/ISAPI/System/Video/inputs/channels/%s/iris" + }, + getNetworkBond: "%s%s:%s/ISAPI/System/Network/Bond", + getNetworkInterface: "%s%s:%s/ISAPI/System/Network/interfaces", + getUPnPPortStatus: "%s%s:%s/ISAPI/System/Network/UPnP/ports/status", + getPPPoEStatus: "%s%s:%s/ISAPI/System/Network/PPPoE/1/status", + getPortInfo: "%s%s:%s/ISAPI/Security/adminAccesses", + recordSearch: "%s%s:%s/ISAPI/ContentMgmt/search", + startPlayback: "%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s", + startWsPlayback: "%s%s:%s/%s", + startShttpPlayback: "%s%s:%s/SDK/playback/%s", + startShttpReversePlayback: "%s%s:%s/SDK/playback/%s/reversePlay", + startTransCodePlayback: "%s%s:%s/SDK/playback/%s/transcoding", + startDownloadRecord: "%s%s:%s/ISAPI/ContentMgmt/download", + deviceConfig: "%s%s:%s/ISAPI/System/configurationData", + restart: "%s%s:%s/ISAPI/System/reboot", + restore: "%s%s:%s/ISAPI/System/factoryReset?mode=%s", + startUpgrade: { + upgrade: "%s%s:%s/ISAPI/System/updateFirmware", + status: "%s%s:%s/ISAPI/System/upgradeStatus" + }, + set3DZoom: { + analog: "%s%s:%s/ISAPI/PTZCtrl/channels/%s/position3D", + digital: "%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/position3D" + }, + SDKCapabilities: "%s%s:%s/SDK/capabilities", + deviceCapture: { + channels: "%s%s:%s/ISAPI/Streaming/channels/%s/picture" + }, + sessionCap: "%s%s:%s/ISAPI/Security/sessionLogin/capabilities?username=%s", + sessionLogin: "%s%s:%s/ISAPI/Security/sessionLogin", + sessionHeartbeat: "%s%s:%s/ISAPI/Security/sessionHeartbeat", + sessionLogout: "%s%s:%s/ISAPI/Security/sessionLogout", + systemCapabilities: "%s%s:%s/ISAPI/System/capabilities" + }, + le.prototype.login = function(e, t, n, r) { + var s = 2 == r.protocol ? "https://": "http://", + o = E(this.CGI.login, s, e, t), + i = new ue, + a = { + type: "GET", + url: o, + auth: n, + success: null, + error: null + }; + f.extend(a, r), + f.extend(a, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + i.setRequestParam(a), + i.submitRequest() + }, + le.prototype.getAudioInfo = function(e, t) { + var n = E(this.CGI.getAudioInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getDeviceInfo = function(e, t) { + var r = E(this.CGI.getDeviceInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""), + r.push("" + f.escape(n.$XML(e).find("deviceName").eq(0).text()) + ""), + r.push("" + n.$XML(e).find("deviceID").eq(0).text() + ""), + r.push("" + n.$XML(e).find("deviceType").eq(0).text() + ""), + r.push("" + n.$XML(e).find("model").eq(0).text() + ""), + r.push("" + n.$XML(e).find("serialNumber").eq(0).text() + ""), + r.push("" + n.$XML(e).find("macAddress").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareVersion").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareReleasedDate").eq(0).text() + ""), + r.push("" + n.$XML(e).find("encoderVersion").eq(0).text() + ""), + r.push("" + n.$XML(e).find("encoderReleasedDate").eq(0).text() + ""), + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getAnalogChannelInfo = function(e, t) { + var r = E(this.CGI.getAnalogChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("VideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + n.$XML(a).find("inputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("" + n.$XML(a).find("videoFormat").eq(0).text() + ""), + r.push("") + } + // console.log("1171", r); + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getDigitalChannel = function(e, t) { + var r = E(this.CGI.getDigitalChannel, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("InputProxyChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("") + } + // console.log("1188", r); + + r.push(""), + e = f.loadXML2(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.getDigitalChannelInfo = function(e, t) { + var r = null, + s = {}; + if (this.getDigitalChannel(e, { + async: !1, + success: function(e) { + r = e; + for (var t = n.$XML(r).find("InputProxyChannel", !0), o = 0, i = t.length; i > o; o++) { + var a = t[o], + c = n.$XML(a).find("id").eq(0).text(), + u = n.$XML(a).find("name").eq(0).text(); + s[c] = u + } + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), null !== r) { + var o = E(this.CGI.getDigitalChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + i = new ue, + a = { + type: "GET", + url: o, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(a, t), + f.extend(a, { + success: function(e) { + var r = []; + r.push(""); + for (var o = n.$XML(e).find("InputProxyChannelStatus", !0), i = 0, a = o.length; a > i; i++) { + var c = o[i], + u = n.$XML(c).find("id").eq(0).text(); + r.push(""), + r.push("" + u + ""), + r.push(""), + r.push("" + n.$XML(c).find("proxyProtocol").eq(0).text() + ""), + r.push("" + n.$XML(c).find("addressingFormatType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("ipAddress").eq(0).text() + ""), + r.push("" + n.$XML(c).find("managePortNo").eq(0).text() + ""), + r.push("" + n.$XML(c).find("srcInputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(c).find("userName").eq(0).text()) + ""), + r.push("" + n.$XML(c).find("streamType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("online").eq(0).text() + ""), + r.push("" + f.escape(s[u]) + ""), + r.push(""), + r.push("") + } + // console.log("1217", r); + r.push(""), + e = f.loadXML2(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + // t.success && t.success(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + i.setRequestParam(a), + i.submitRequest() + } + }, + le.prototype.getZeroChannelInfo = function(e, t) { + var n = E(this.CGI.getZeroChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getStreamChannels = function(e, t) { + if (0 != e.iAnalogChannelNum) var n = E(this.CGI.getStreamChannels.analog, e.szHttpProtocol, e.szIP, e.iCGIPort); + else var n = E(this.CGI.getStreamChannels.digital, e.szHttpProtocol, e.szIP, e.iCGIPort); + var r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getPPPoEStatus = function(e, t) { + var n = E(this.CGI.getPPPoEStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getUPnPPortStatus = function(e, t) { + var n = E(this.CGI.getUPnPPortStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getNetworkBond = function(e, t) { + var n = E(this.CGI.getNetworkBond, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getNetworkInterface = function(e, t) { + + var n = E(this.CGI.getNetworkInterface, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getPortInfo = function(e, t) { + var n = E(this.CGI.getPortInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.startRealPlay = function(e, t) { + var n = 100 * t.iChannelID + t.iStreamType, + r = "", + s = -1, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)), + t.bZeroChannel ? (re() && (n = 0), r = E(t.cgi.zeroChannels, t.urlProtocol, o, t.iPort, n)) : r = E(t.cgi.channels, t.urlProtocol, o, t.iPort, n); + var i = function() { + var n = new ce; + n.iIndex = t.iWndIndex, + n.szIP = e.szIP, + n.iCGIPort = e.iCGIPort, + n.szDeviceIdentify = e.szDeviceIdentify, + n.iChannelID = t.iChannelID, + n.iPlayStatus = x, + p.push(n) + }; + if (re()) { + var a = new Promise(function(n, s) { + c.JS_Play(r, { + session: e.szAuth + }, + t.iWndIndex).then(function() { + i(), + n() + }, + function() { + s() + }) + }); + return a + } + return s = c.HWP_Play(r, e.szAuth, t.iWndIndex, "", ""), + 0 == s && i(), + s + }, + le.prototype.startVoiceTalk = function(e, t) { + var n = E(this.CGI.startVoiceTalk.open, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + r = E(this.CGI.startVoiceTalk.close, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = E(this.CGI.startVoiceTalk.audioData, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = c.HWP_StartVoiceTalkEx(n, r, s, e.szAuth, e.iAudioType, e.m_iAudioBitRate, e.m_iAudioSamplingRate); + return o + }, + le.prototype.ptzAutoControl = function(e, t, n, r) { + var s = n.iChannelID, + o = "", + i = ""; + if (r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed: 100, t && (r.iPTZSpeed = 0), e.szDeviceType != w) o = s <= e.iAnalogChannelNum ? E(this.CGI.ptzAutoControl.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID) : n.bShttpIPChannel ? E(this.CGI.ptzAutoControl.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(this.CGI.ptzAutoControl.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID), + i = "" + r.iPTZSpeed + ""; + else { + var a = 99; + t && (a = 96), + o = E(this.CGI.ptzAutoControl.ipdome, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID, a) + } + var c = new ue, + u = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }, + l = this; + f.extend(u, r), + f.extend(u, { + success: function(e) { + n.bPTZAuto = !n.bPTZAuto, + r.success && r.success(e) + }, + error: function(t, s) { + if (X == e.szDeviceType || H == e.szDeviceType) { + o = n.bShttpIPChannel ? E(l.CGI.ptzControl.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(l.CGI.ptzControl.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID), + i = "" + r.iPTZSpeed + "0"; + var a = new ue, + c = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(c, r), + a.setRequestParam(c), + a.submitRequest() + } else r.error && r.error(t, s) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + le.prototype.ptzControl = function(e, t, n, r) { + var s = n.iChannelID, + o = ""; + n.bPTZAuto && this.ptzAutoControl(e, !0, n, { + iPTZSpeed: 0 + }), + t ? r.iPTZSpeed = 0 : r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed: 100; + var i = [{}, + { + pan: 0, + tilt: r.iPTZSpeed + }, + { + pan: 0, + tilt: -r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: 0 + }, + { + pan: r.iPTZSpeed, + tilt: 0 + }, + { + pan: -r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + {}, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }], + a = "", + c = {}; + switch (r.iPTZIndex) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + c = this.CGI.ptzControl, + a = "" + i[r.iPTZIndex].pan + "" + i[r.iPTZIndex].tilt + ""; + break; + case 10: + case 11: + c = this.CGI.ptzControl, + a = "" + i[r.iPTZIndex].speed + ""; + break; + case 12: + case 13: + c = this.CGI.ptzFocus, + a = "" + i[r.iPTZIndex].speed + ""; + break; + case 14: + case 15: + c = this.CGI.ptzIris, + a = "" + i[r.iPTZIndex].speed + ""; + break; + default: + return void(r.error && r.error()) + } + o = c != this.CGI.ptzFocus && c != this.CGI.ptzIris || e.szDeviceType != X && e.szDeviceType != w && e.szDeviceType != H ? s <= e.iAnalogChannelNum ? E(c.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID) : n.bShttpIPChannel ? E(c.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(c.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID) : E(c.ipc, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var u = new ue, + l = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: a, + success: null, + error: null + }; + f.extend(l, r), + f.extend(l, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + u.setRequestParam(l), + u.submitRequest() + }, + le.prototype.setPreset = function(e, t, n) { + var r = t.iChannelID, + s = "", + o = ""; + s = r <= e.iAnalogChannelNum ? E(this.CGI.setPreset.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID) : t.bShttpIPChannel ? E(this.CGI.setPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum, n.iPresetID) : E(this.CGI.setPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID), + o = "", + o += "", + o += "" + n.iPresetID + "", + e.szDeviceType != w && (o += "Preset" + n.iPresetID + ""), + o += ""; + var i = new ue, + a = { + type: "PUT", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(a, n), + f.extend(a, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + i.setRequestParam(a), + i.submitRequest() + }, + le.prototype.goPreset = function(e, t, n) { + var r = t.iChannelID, + s = ""; + s = r <= e.iAnalogChannelNum ? E(this.CGI.goPreset.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID) : t.bShttpIPChannel ? E(this.CGI.goPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum, n.iPresetID) : E(this.CGI.goPreset.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID); + var o = new ue, + i = { + type: "PUT", + url: s, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(i, n), + f.extend(i, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + le.prototype.recordSearch = function(e, r) { + var s = "", + o = "", + i = r.iChannelID, + a = r.iStreamType, + c = r.szStartTime.replace(" ", "T") + "Z", + u = r.szEndTime.replace(" ", "T") + "Z"; + s = E(this.CGI.recordSearch, e.szHttpProtocol, e.szIP, e.iCGIPort), + o = "" + new t + "" + (100 * i + a) + "" + c + "" + u + "40" + r.iSearchPos + "//metadata.ISAPI.org/VideoMotion"; + var l = new ue, + d = { + type: "POST", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(d, r), + f.extend(d, { + success: function(e) { + var t = []; + t.push(""), + t.push("" + n.$XML(e).find("responseStatus").eq(0).text() + ""), + t.push("" + n.$XML(e).find("responseStatusStrg").eq(0).text() + ""), + t.push("" + n.$XML(e).find("numOfMatches").eq(0).text() + ""), + t.push(""); + for (var s = n.$XML(e).find("searchMatchItem", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + t.push(""), + t.push("" + n.$XML(a).find("trackID").eq(0).text() + ""), + t.push("" + n.$XML(a).find("startTime").eq(0).text() + ""), + t.push("" + n.$XML(a).find("endTime").eq(0).text() + ""), + t.push("" + f.escape(n.$XML(a).find("playbackURI").eq(0).text()) + ""), + t.push("" + n.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1] + ""), + t.push("") + } + t.push(""), + t.push(""), + e = f.loadXML(t.join("")), + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + l.setRequestParam(d), + l.submitRequest() + }, + le.prototype.startPlayback = function(e, t) { + var n = t.iWndIndex, + r = "", + s = t.szStartTime, + o = t.szEndTime, + i = e.szIP; + if ("rtsp://" === t.urlProtocol && (i = Z(i)), r = re() ? E(t.cgi, t.urlProtocol, i, t.iPort, t.iChannelID) : E(t.cgi, t.urlProtocol, i, t.iPort, t.iChannelID, s, o), !B(t.oTransCodeParam)) { + var a = ne(t.oTransCodeParam); + if ("" == a) return - 1; + c.HWP_SetTrsPlayBackParam(n, a) + } + var u = function() { + var r = new ce; + r.iIndex = n, + r.szIP = e.szIP, + r.iCGIPort = e.iCGIPort, + r.szDeviceIdentify = e.szDeviceIdentify, + r.iChannelID = t.iChannelID, + r.iPlayStatus = D, + p.push(r) + }; + if (re()) { + var l = new Promise(function(t, i) { + c.JS_Play(r, { + session: e.szAuth + }, + n, s, o).then(function() { + u(), + t() + }, + function() { + i() + }) + }); + return l + } + var d = c.HWP_Play(r, e.szAuth, n, s, o); + return 0 == d && u(), + d + }, + le.prototype.reversePlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_ReversePlay(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = b, + p.push(u) + } + return a + }, + le.prototype.startDownloadRecord = function(e, t) { + var n = -1, + r = E(this.CGI.startDownloadRecord, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = " " + f.escape(t.szPlaybackURI) + ""; + return re() ? (r = se(r), n = c.JS_StartDownload(r, e.szAuth, t.szFileName, s)) : n = c.HWP_StartDownload(r, e.szAuth, t.szFileName, s, t.bDateDir), + n + }, + le.prototype.exportDeviceConfig = function(e) { + var t = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ExportDeviceConfig(t, e.szAuth, "", 0) + }, + le.prototype.importDeviceConfig = function(e, t) { + var n = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ImportDeviceConfig(n, e.szAuth, t.szFileName, 0) + }, + le.prototype.restart = function(e, t) { + var n = E(this.CGI.restart, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.restore = function(e, t, n) { + var r = E(this.CGI.restore, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + le.prototype.startUpgrade = function(e, t) { + var n = E(this.CGI.startUpgrade.upgrade, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = E(this.CGI.startUpgrade.status, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_StartUpgrade(n, r, e.szAuth, t.szFileName) + }, + le.prototype.set3DZoom = function(e, t, r, s) { + var o = t.iChannelID, + i = ""; + i = o <= e.iAnalogChannelNum ? E(this.CGI.set3DZoom.analog, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID) : t.bShttpIPChannel ? E(this.CGI.set3DZoom.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID - e.oStreamCapa.iIpChanBase + 1 + e.iAnalogChannelNum) : E(this.CGI.set3DZoom.digital, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID); + var a = f.loadXML(r), + c = parseInt(n.$XML(a).find("StartPoint").eq(0).find("positionX").eq(0).text(), 10), + u = parseInt(n.$XML(a).find("StartPoint").eq(0).find("positionY").eq(0).text(), 10), + l = parseInt(n.$XML(a).find("EndPoint").eq(0).find("positionX").eq(0).text(), 10), + d = parseInt(n.$XML(a).find("EndPoint").eq(0).find("positionY").eq(0).text(), 10), + p = "" + c + "" + (255 - u) + "" + l + "" + (255 - d) + "", + P = new ue, + h = { + type: "PUT", + url: i, + data: p, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(h, s), + f.extend(h, { + success: function(e) { + s.success && s.success(e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + P.setRequestParam(h), + P.submitRequest() + }, + le.prototype.getSDKCapa = function(e, t) { + + var n = E(this.CGI.SDKCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.deviceCapturePic = function(e, t, n, r) { + var t = 100 * t + 1, + s = -1, + o = E(this.CGI.deviceCapture.channels, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + i = []; + if (f.isInt(r.iResolutionWidth) && i.push("videoResolutionWidth=" + r.iResolutionWidth), f.isInt(r.iResolutionHeight) && i.push("videoResolutionHeight=" + r.iResolutionHeight), i.length > 0 && (o += "?" + i.join("&")), re()) { + var a = function(e, t) { + var n = ".jpg"; + return $("body").append('
  • '), + $("#jsplugin_download_li").trigger("click"), + $("#jsplugin_download_a").remove(), + 0 + }; + o = se(o), + s = a(o, n) + } else s = c.HWP_DeviceCapturePic(o, e.szAuth, n, r.bDateDir); + return s + }, + le.prototype.getSessionCap = function(e, t, n, r, s) { + var o = ""; + o = 2 == t ? "https://": "http://"; + var i = E(this.CGI.sessionCap, o, e, n, encodeURIComponent(r)), + a = new ue, + c = { + type: "GET", + url: i, + auth: "", + success: null, + error: null + }; + f.extend(c, s), + f.extend(c, { + success: function(e) { + s.success && s.success(e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + a.setRequestParam(c), + a.submitRequest() + }, + le.prototype.sessionLogin = function(e, t, r, s, o, i, a) { + var c = ""; + c = 2 == t ? "https://": "http://"; + var u = E(this.CGI.sessionLogin, c, e, r), + l = n.$XML(i).find("sessionID").eq(0).text(), + d = n.$XML(i).find("challenge").eq(0).text(), + p = parseInt(n.$XML(i).find("iterations").eq(0).text(), 10), + P = !1, + h = ""; + n.$XML(i).find("isIrreversible", !0).length > 0 && (P = "true" === n.$XML(i).find("isIrreversible").eq(0).text(), h = n.$XML(i).find("salt").eq(0).text()); + var I = ""; + if (P) { + I = f.sha256(s + h + o), + I = f.sha256(I + d); + for (var m = 2; p > m; m++) I = f.sha256(I) + } else { + I = f.sha256(o) + d; + for (var m = 1; p > m; m++) I = f.sha256(I) + } + var C = ""; + C += "" + f.escape(s) + "", + C += "" + I + "", + C += "" + l + "", + C += ""; + var S = new ue, + v = { + type: "POST", + url: u, + data: C, + auth: "", + success: null, + error: null + }; + f.extend(v, a), + f.extend(v, { + success: function(e) { + a.success && a.success(e) + }, + error: function(e, t) { + a.error && a.error(e, t) + } + }), + S.setRequestParam(v), + S.submitRequest() + }, + le.prototype.sessionHeartbeat = function(e, t) { + var n = E(this.CGI.sessionHeartbeat, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.sessionLogout = function(e, t) { + var n = E(this.CGI.sessionLogout, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + le.prototype.getSystemCapa = function(e, t) { + var n = E(this.CGI.systemCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }; + var de = function() {}; + de.prototype.CGI = { + login: "%s%s:%s/PSIA/Custom/SelfExt/userCheck", + getAudioInfo: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels", + getDeviceInfo: "%s%s:%s/PSIA/System/deviceInfo", + getAnalogChannelInfo: "%s%s:%s/PSIA/System/Video/inputs/channels", + getDigitalChannel: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels", + getDigitalChannelInfo: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels/status", + getZeroChannelInfo: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroVideo/channels", + getStreamChannels: { + analog: "%s%s:%s/PSIA/Streaming/channels", + digital: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels" + }, + getStreamDynChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels", + startRealPlay: { + channels: "%s%s:%s/PSIA/streaming/channels/%s", + zeroChannels: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s" + }, + startVoiceTalk: { + open: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/open", + close: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/close", + audioData: "%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/audioData" + }, + ptzControl: "%s%s:%s/PSIA/PTZ/channels/%s/continuous", + ptzAutoControl: "%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/autoptz", + setPreset: "%s%s:%s/PSIA/PTZ/channels/%s/presets/%s", + goPreset: "%s%s:%s/PSIA/PTZ/channels/%s/presets/%s/goto", + ptzFocus: "%s%s:%s/PSIA/System/Video/inputs/channels/%s/focus", + ptzIris: "%s%s:%s/PSIA/System/Video/inputs/channels/%s/iris", + getNetworkBond: "%s%s:%s/PSIA/Custom/SelfExt/Bond", + getNetworkInterface: "%s%s:%s/PSIA/System/Network/interfaces", + getUPnPPortStatus: "%s%s:%s/PSIA/Custom/SelfExt/UPnP/ports/status", + getPPPoEStatus: "%s%s:%s/PSIA/Custom/SelfExt/PPPoE/1/status", + getPortInfo: "%s%s:%s/PSIA/Security/AAA/adminAccesses", + recordSearch: "%s%s:%s/PSIA/ContentMgmt/search", + startPlayback: "%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s", + startDownloadRecord: "%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/download", + deviceConfig: "%s%s:%s/PSIA/System/configurationData", + restart: "%s%s:%s/PSIA/System/reboot", + restore: "%s%s:%s/PSIA/System/factoryReset?mode=%s", + startUpgrade: { + upgrade: "%s%s:%s/PSIA/System/updateFirmware", + status: "%s%s:%s/PSIA/Custom/SelfExt/upgradeStatus" + }, + set3DZoom: "%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/Set3DZoom", + deviceCapture: { + channels: "%s%s:%s/PSIA/Streaming/channels/%s/picture" + }, + systemCapabilities: "%s%s:%s/PSIA/System/capabilities" + }, + de.prototype.login = function(e, t, r, s) { + var o = 2 == s.protocol ? "https://": "http://", + i = E(this.CGI.login, o, e, t), + a = new ue, + c = { + type: "GET", + url: i, + auth: r, + success: null, + error: null + }; + f.extend(c, s), + f.extend(c, { + success: function(e) { + "200" == n.$XML(e).find("statusValue").eq(0).text() ? s.success && s.success(e) : s.error && s.error(401, e) + }, + error: function(e, t) { + s.error && s.error(e, t) + } + }), + a.setRequestParam(c), + a.submitRequest() + }, + de.prototype.getAudioInfo = function(e, t) { + var n = E(this.CGI.getAudioInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getDeviceInfo = function(e, t) { + var r = E(this.CGI.getDeviceInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""), + r.push("" + f.escape(n.$XML(e).find("deviceName").eq(0).text()) + ""), + r.push("" + n.$XML(e).find("deviceID").eq(0).text() + ""), + r.push("" + n.$XML(e).find("deviceDescription").eq(0).text() + ""), + r.push("" + n.$XML(e).find("model").eq(0).text() + ""), + r.push("" + n.$XML(e).find("serialNumber").eq(0).text() + ""), + r.push("" + n.$XML(e).find("macAddress").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareVersion").eq(0).text() + ""), + r.push("" + n.$XML(e).find("firmwareReleasedDate").eq(0).text() + ""), + r.push("" + n.$XML(e).find("logicVersion").eq(0).text() + ""), + r.push("" + n.$XML(e).find("logicReleasedDate").eq(0).text() + ""), + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + // console.log("2922",r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getSystemCapa = function(e, t) { + var n = E(this.CGI.systemCapabilities, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getAnalogChannelInfo = function(e, t) { + var r = E(this.CGI.getAnalogChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("VideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + n.$XML(a).find("inputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("" + n.$XML(a).find("videoFormat").eq(0).text() + ""), + r.push("") + } + + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getDigitalChannel = function(e, t) { + var r = E(this.CGI.getDigitalChannel, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(e) { + var r = []; + r.push(""); + for (var s = n.$XML(e).find("DynVideoInputChannel", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + r.push(""), + r.push("" + n.$XML(a).find("id").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(a).find("name").eq(0).text()) + ""), + r.push("") + } + + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getDigitalChannelInfo = function(e, t) { + var r = null, + s = {}; + if (this.getDigitalChannel(e, { + async: !1, + success: function(e) { + r = e; + for (var t = n.$XML(r).find("InputProxyChannel", !0), o = 0, i = t.length; i > o; o++) { + var a = t[o], + c = n.$XML(a).find("id").eq(0).text(), + u = n.$XML(a).find("name").eq(0).text(); + s[c] = u + } + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), null !== r) { + var o = E(this.CGI.getDigitalChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + i = new ue, + a = { + type: "GET", + url: o, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(a, t), + f.extend(a, { + success: function(e) { + var r = []; + r.push(""); + for (var o = n.$XML(e).find("DynVideoInputChannelStatus", !0), i = 0, a = o.length; a > i; i++) { + var c = o[i], + u = n.$XML(c).find("id").eq(0).text(); + r.push(""), + r.push("" + u + ""), + r.push(""), + r.push("" + n.$XML(c).find("adminProtocol").eq(0).text() + ""), + r.push("" + n.$XML(c).find("addressingFormatType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("ipAddress").eq(0).text() + ""), + r.push("" + n.$XML(c).find("adminPortNo").eq(0).text() + ""), + r.push("" + n.$XML(c).find("srcInputPort").eq(0).text() + ""), + r.push("" + f.escape(n.$XML(c).find("userName").eq(0).text()) + ""), + r.push("" + n.$XML(c).find("streamType").eq(0).text() + ""), + r.push("" + n.$XML(c).find("online").eq(0).text() + ""), + r.push("" + f.escape(s[u]) + ""), + r.push(""), + r.push("") + } + // console.log("1746"); + r.push(""), + e = f.loadXML(r.join("")), + t.success && t.success(e), + t.mysuccess &&t.mysuccess(r.join("")) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + i.setRequestParam(a), + i.submitRequest() + } + }, + de.prototype.getZeroChannelInfo = function(e, t) { + var n = E(this.CGI.getZeroChannelInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getPPPoEStatus = function(e, t) { + var n = E(this.CGI.getPPPoEStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getUPnPPortStatus = function(e, t) { + var n = E(this.CGI.getUPnPPortStatus, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getNetworkBond = function(e, t) { + var n = E(this.CGI.getNetworkBond, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getNetworkInterface = function(e, t) { + var n = E(this.CGI.getNetworkInterface, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getPortInfo = function(e, t) { + var r = E(this.CGI.getPortInfo, e.szHttpProtocol, e.szIP, e.iCGIPort), + s = new ue, + o = { + type: "GET", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, t), + f.extend(o, { + success: function(r) { + var s = []; + s.push(""); + for (var o = n.$XML(r).find("AdminAccessProtocol", !0), i = 0, a = o.length; a > i; i++) { + o[i]; + s.push(""), + s.push("" + n.$XML(r).find("id").eq(0).text() + ""), + s.push("" + n.$XML(r).find("enabled").eq(0).text() + ""), + s.push("" + n.$XML(r).find("protocol").eq(0).text().toUpperCase() + ""), + s.push("" + n.$XML(r).find("portNo").eq(0).text() + ""), + s.push("") + } + I.getStreamChannels(e, { + async: !1, + success: function(r) { + if (n.$XML(r).find("rtspPortNo", !0).length > 0) { + var o = parseInt(n.$XML(r).find("rtspPortNo").eq(0).text(), 10); + s.push(""), + s.push("4"), + s.push("true"), + s.push("RTSP"), + s.push("" + o + ""), + s.push(""), + s.push(""); + // console.log("1819"); + var i = f.loadXML(s.join("")); + t.success && t.success(i) + } else I.getStreamDynChannels(e, { + async: !1, + success: function(e) { + if (n.$XML(e).find("rtspPortNo", !0).length > 0) { + var r = parseInt(n.$XML(e).find("rtspPortNo").eq(0).text(), 10); + s.push(""), + s.push("4"), + s.push("true"), + s.push("RTSP"), + s.push("" + r + ""), + s.push(""), + s.push(""); + // console.log("1827"); + var o = f.loadXML(s.join("")); + t.success && t.success(o) + } + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + var r = []; + r.push(""), + I.getStreamChannels(e, { + async: !1, + success: function(s) { + if (n.$XML(s).find("rtspPortNo", !0).length > 0) { + var o = parseInt(n.$XML(s).find("rtspPortNo").eq(0).text(), 10); + r.push(""), + r.push("4"), + r.push("true"), + r.push("RTSP"), + r.push("" + o + ""), + r.push(""), + r.push(""); + var i = f.loadXML(r.join("")); + // console.log("1847"); + t.success && t.success(i) + } else I.getStreamDynChannels(e, { + async: !1, + success: function(e) { + if (n.$XML(e).find("rtspPortNo", !0).length > 0) { + var s = parseInt(n.$XML(e).find("rtspPortNo").eq(0).text(), 10); + r.push(""), + r.push("4"), + r.push("true"), + r.push("RTSP"), + r.push("" + s + ""), + r.push(""), + r.push(""); + var o = f.loadXML(r.join("")); + // console.log("1855"); + t.success && t.success(o) + } + }, + error: function() { + t.error && t.error() + } + }) + }, + error: function() { + t.error && t.error() + } + }) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.getStreamChannels = function(e, t) { + if (0 != e.iAnalogChannelNum) var n = E(this.CGI.getStreamChannels.analog, e.szHttpProtocol, e.szIP, e.iCGIPort); + else var n = E(this.CGI.getStreamChannels.digital, e.szHttpProtocol, e.szIP, e.iCGIPort); + var r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.getStreamDynChannels = function(e, t) { + var n = E(this.CGI.getStreamDynChannels, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "GET", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.startRealPlay = function(e, t) { + var n = 100 * t.iChannelID + t.iStreamType, + r = "", + s = e.szIP; + "rtsp://" === t.urlProtocol && (s = Z(s)), + r = t.bZeroChannel ? E(t.cgi.zeroChannels, t.urlProtocol, s, t.iPort, n) : E(t.cgi.channels, t.urlProtocol, s, t.iPort, n); + var o = c.HWP_Play(r, e.szAuth, t.iWndIndex, "", ""); + if (0 == o) { + var i = new ce; + i.iIndex = t.iWndIndex, + i.szIP = e.szIP, + i.iCGIPort = e.iCGIPort, + i.szDeviceIdentify = e.szDeviceIdentify, + i.iChannelID = t.iChannelID, + i.iPlayStatus = x, + p.push(i) + } + return o + }, + de.prototype.startVoiceTalk = function(e, t) { + var n = E(this.CGI.startVoiceTalk.open, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + r = E(this.CGI.startVoiceTalk.close, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = E(this.CGI.startVoiceTalk.audioData, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = c.HWP_StartVoiceTalkEx(n, r, s, e.szAuth, e.iAudioTypeoDeviceInfo.m_iAudioBitRate, e.m_iAudioSamplingRate); + return o + }, + de.prototype.ptzAutoControl = function(e, t, n, r) { + var s = n.iChannelID, + o = "", + i = ""; + if (r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed: 100, t && (r.iPTZSpeed = 0), e.szDeviceType != w) o = E(this.CGI.ptzAutoControl, e.szHttpProtocol, e.szIP, e.iCGIPort, s), + i = "" + r.iPTZSpeed + "0"; + else { + var a = 99; + t && (a = 96), + o = E(this.CGI.goPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, s, a) + } + var c = new ue, + u = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }, + l = this; + f.extend(u, r), + f.extend(u, { + success: function(e) { + n.bPTZAuto = !n.bPTZAuto, + r.success && r.success(e) + }, + error: function(t, s) { + if (e.szDeviceType != w) { + o = E(l.CGI.ptzControl, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var a = new ue, + c = { + type: "PUT", + url: o, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(c, r), + a.setRequestParam(c), + a.submitRequest() + } else r.error && r.error(t, s) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + de.prototype.ptzControl = function(e, t, n, r) { + var s = (n.iChannelID, ""); + n.bPTZAuto && this.ptzAutoControl(e, !0, n, { + iPTZSpeed: 0 + }), + t ? r.iPTZSpeed = 0 : r.iPTZSpeed = r.iPTZSpeed < 7 ? 15 * r.iPTZSpeed: 100; + var o = [{}, + { + pan: 0, + tilt: r.iPTZSpeed + }, + { + pan: 0, + tilt: -r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: 0 + }, + { + pan: r.iPTZSpeed, + tilt: 0 + }, + { + pan: -r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: -r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: r.iPTZSpeed + }, + { + pan: r.iPTZSpeed, + tilt: -r.iPTZSpeed + }, + {}, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }, + { + speed: r.iPTZSpeed + }, + { + speed: -r.iPTZSpeed + }], + i = "", + a = {}; + switch (r.iPTZIndex) { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + a = this.CGI.ptzControl, + i = "" + o[r.iPTZIndex].pan + "" + o[r.iPTZIndex].tilt + ""; + break; + case 10: + case 11: + a = this.CGI.ptzControl, + i = "" + o[r.iPTZIndex].speed + ""; + break; + case 12: + case 13: + a = this.CGI.ptzFocus, + i = "" + o[r.iPTZIndex].speed + ""; + break; + case 14: + case 15: + a = this.CGI.ptzIris, + i = "" + o[r.iPTZIndex].speed + ""; + break; + default: + return void(r.error && r.error()) + } + s = E(a, e.szHttpProtocol, e.szIP, e.iCGIPort, n.iChannelID); + var c = new ue, + u = { + type: "PUT", + url: s, + async: !1, + auth: e.szAuth, + data: i, + success: null, + error: null + }; + f.extend(u, r), + f.extend(u, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + c.setRequestParam(u), + c.submitRequest() + }, + de.prototype.setPreset = function(e, t, n) { + var r = (t.iChannelID, ""), + s = ""; + r = E(this.CGI.setPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID), + s = "", + s += "", + s += "" + n.iPresetID + "", + e.szDeviceType != w && (s += "Preset" + n.iPresetID + ""), + s += ""; + var o = new ue, + i = { + type: "PUT", + url: r, + auth: e.szAuth, + data: s, + success: null, + error: null + }; + f.extend(i, n), + f.extend(i, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + de.prototype.goPreset = function(e, t, n) { + var r = (t.iChannelID, ""); + r = E(this.CGI.goPreset, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID, n.iPresetID); + var s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.recordSearch = function(e, r) { + var s = "", + o = "", + i = r.iChannelID, + a = r.iStreamType, + c = r.szStartTime.replace(" ", "T") + "Z", + u = r.szEndTime.replace(" ", "T") + "Z"; + s = E(this.CGI.recordSearch, e.szHttpProtocol, e.szIP, e.iCGIPort), + o = "" + new t + "" + (100 * i + a) + "" + c + "" + u + "40" + r.iSearchPos + "//metadata.psia.org/VideoMotion"; + var l = new ue, + d = { + type: "POST", + url: s, + auth: e.szAuth, + data: o, + success: null, + error: null + }; + f.extend(d, r), + f.extend(d, { + success: function(e) { + var t = []; + t.push(""), + t.push("" + n.$XML(e).find("responseStatus").eq(0).text() + ""), + t.push("" + n.$XML(e).find("responseStatusStrg").eq(0).text() + ""), + t.push("" + n.$XML(e).find("numOfMatches").eq(0).text() + ""), + t.push(""); + for (var s = n.$XML(e).find("searchMatchItem", !0), o = 0, i = s.length; i > o; o++) { + var a = s[o]; + t.push(""), + t.push("" + n.$XML(a).find("trackID").eq(0).text() + ""), + t.push("" + n.$XML(a).find("startTime").eq(0).text() + ""), + t.push("" + n.$XML(a).find("endTime").eq(0).text() + ""), + t.push("" + f.escape(n.$XML(a).find("playbackURI").eq(0).text()) + ""), + t.push("" + n.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1] + ""), + t.push("") + } + // console.log("2006"); + t.push(""), + t.push(""), + e = f.loadXML(t.join("")), + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + l.setRequestParam(d), + l.submitRequest() + }, + de.prototype.startPlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_Play(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = D, + p.push(u) + } + return a + }, + de.prototype.reversePlayback = function(e, t) { + var n = t.iWndIndex, + r = t.szStartTime, + s = t.szEndTime, + o = e.szIP; + "rtsp://" === t.urlProtocol && (o = Z(o)); + var i = E(t.cgi, t.urlProtocol, o, t.iPort, t.iChannelID, r, s), + a = c.HWP_ReversePlay(i, e.szAuth, n, r, s); + if (0 == a) { + var u = new ce; + u.iIndex = n, + u.szIP = e.szIP, + u.iCGIPort = e.iCGIPort, + u.szDeviceIdentify = e.szDeviceIdentify, + u.iChannelID = t.iChannelID, + u.iPlayStatus = b, + p.push(u) + } + return a + }, + de.prototype.startDownloadRecord = function(e, t) { + var n = E(this.CGI.startDownloadRecord, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = " " + f.escape(t.szPlaybackURI) + ""; + return c.HWP_StartDownload(n, e.szAuth, t.szFileName, r, t.bDateDir) + }, + de.prototype.exportDeviceConfig = function(e) { + var t = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ExportDeviceConfig(t, e.szAuth, "", 0) + }, + de.prototype.importDeviceConfig = function(e, t) { + var n = E(this.CGI.deviceConfig, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_ImportDeviceConfig(n, e.szAuth, t.szFileName, 0) + }, + de.prototype.restart = function(e, t) { + var n = E(this.CGI.restart, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = new ue, + s = { + type: "PUT", + url: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(s, t), + f.extend(s, { + success: function(e) { + t.success && t.success(e) + }, + error: function(e, n) { + t.error && t.error(e, n) + } + }), + r.setRequestParam(s), + r.submitRequest() + }, + de.prototype.restore = function(e, t, n) { + var r = E(this.CGI.restore, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + s = new ue, + o = { + type: "PUT", + url: r, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(o, n), + f.extend(o, { + success: function(e) { + n.success && n.success(e) + }, + error: function(e, t) { + n.error && n.error(e, t) + } + }), + s.setRequestParam(o), + s.submitRequest() + }, + de.prototype.startUpgrade = function(e, t) { + var n = E(this.CGI.startUpgrade.upgrade, e.szHttpProtocol, e.szIP, e.iCGIPort), + r = E(this.CGI.startUpgrade.status, e.szHttpProtocol, e.szIP, e.iCGIPort); + return c.HWP_StartUpgrade(n, r, e.szAuth, t.szFileName) + }, + de.prototype.set3DZoom = function(e, t, n, r) { + var s = E(this.CGI.set3DZoom, e.szHttpProtocol, e.szIP, e.iCGIPort, t.iChannelID), + o = new ue, + i = { + type: "PUT", + url: s, + data: n, + auth: e.szAuth, + success: null, + error: null + }; + f.extend(i, r), + f.extend(i, { + success: function(e) { + r.success && r.success(e) + }, + error: function(e, t) { + r.error && r.error(e, t) + } + }), + o.setRequestParam(i), + o.submitRequest() + }, + de.prototype.deviceCapturePic = function(e, t, n, r) { + var t = 100 * t + 1, + s = E(this.CGI.deviceCapture.channels, e.szHttpProtocol, e.szIP, e.iCGIPort, t), + o = []; + return f.isInt(r.iResolutionWidth) && o.push("videoResolutionWidth=" + r.iResolutionWidth), + f.isInt(r.iResolutionHeight) && o.push("videoResolutionHeight=" + r.iResolutionHeight), + o.length > 0 && (s += "?" + o.join("&")), + c.HWP_DeviceCapturePic(s, e.szAuth, n, r.bDateDir) + }; + var pe = function() {}; + pe.prototype._alert = function(e) { + a.bDebugMode && console.log(e); + }, + function(t) { + var n = function(e) { + this.elems = [], + this.length = 0, + this.length = this.elems.push(e) + }; + n.prototype.find = function(e, t) { + var n = this.elems[this.length - 1] ? this.elems[this.length - 1].getElementsByTagName(e) : []; + return this.length = this.elems.push(n), + t ? n: this + }, + n.prototype.eq = function(e, t) { + var n = this.elems[this.length - 1].length, + r = null; + return n > 0 && n > e && (r = this.elems[this.length - 1][e]), + this.length = this.elems.push(r), + t ? r: this + }, + n.prototype.text = function(t) { + return this.elems[this.length - 1] ? t ? void(e.DOMParser ? this.elems[this.length - 1].textContent = t: this.elems[this.length - 1].text = t) : e.DOMParser ? this.elems[this.length - 1].textContent: this.elems[this.length - 1].text: "" + }, + n.prototype.attr = function(e) { + if (this.elems[this.length - 1]) { + var t = this.elems[this.length - 1].attributes.getNamedItem(e); + return t ? t.value: "" + } + }, + t.$XML = function(e) { + return new n(e) + } + } (this); + var Pe = function() {}; + Pe.prototype.extend = function() { + for (var e, t = arguments[0] || {}, + n = 1, r = arguments.length; r > n; n++) if (null != (e = arguments[n])) for (var s in e) { + var o = (t[s], e[s]); + t !== o && ("object" == typeof o ? t[s] = this.extend({}, + o) : void 0 !== o && (t[s] = o)) + } + return t + }, + Pe.prototype.browser = function() { + var e = /(chrome)[ \/]([\w.]+)/, + t = /(safari)[ \/]([\w.]+)/, + n = /(opera)(?:.*version)?[ \/]([\w.]+)/, + r = /(msie) ([\w.]+)/, + s = /(trident.*rv:)([\w.]+)/, + o = /(mozilla)(?:.*? rv:([\w.]+))?/, + i = navigator.userAgent.toLowerCase(), + a = e.exec(i) || t.exec(i) || n.exec(i) || r.exec(i) || s.exec(i) || i.indexOf("compatible") < 0 && o.exec(i) || ["unknow", "0"]; + a.length > 0 && a[1].indexOf("trident") > -1 && (a[1] = "msie"); + var c = {}; + return c[a[1]] = !0, + c.version = a[2], + c + }, + Pe.prototype.loadXML = function(t) { + if (null == t || "" == t) return null; + var n = null; + //现场硬盘录像机用这段 + if (e.DOMParser) { + var r = new DOMParser; + n = r.parseFromString(t, "text/xml") + // console.log("DOMParser"); + } else { + if (window.ActiveXObject) { + n = new ActiveXObject("Microsoft.XMLDOM"), + n.async = !1, + n.loadXML(t); + // console.log("ActiveXObject"); + } + } + + return n + }, + Pe.prototype.loadXML2 = function(t) { + if (null == t || "" == t) return null; + var n = null; + + try //Internet Explorer + { + n = new ActiveXObject("Microsoft.XMLDOM"); + n.async = "false"; + n.loadXML(t); + } catch(e) { + try //Firefox, Mozilla, Opera, etc. + { + var parser = new DOMParser(); + n = parser.parseFromString(t, "text/xml"); + } catch(e) { + alert(e.message); + return; + } + } + return n + }, + Pe.prototype.toXMLStr = function(e) { + var t = ""; + try { + var n = new XMLSerializer; + t = n.serializeToString(e) + } catch(r) { + try { + t = e.xml + } catch(r) { + return "" + } + } + return - 1 == t.indexOf("" + t), + t + }, + Pe.prototype.escape = function(e) { + return e.replace(/&/g, "&").replace(//g, ">") + }, + Pe.prototype.dateFormat = function(e, t) { + var n = { + "M+": e.getMonth() + 1, + "d+": e.getDate(), + "h+": e.getHours(), + "m+": e.getMinutes(), + "s+": e.getSeconds(), + "q+": Math.floor((e.getMonth() + 3) / 3), + S: e.getMilliseconds() + }; + /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))); + for (var r in n) new RegExp("(" + r + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? n[r] : ("00" + n[r]).substr(("" + n[r]).length))); + return t + }, + Pe.prototype.Base64 = { + _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + encode: function(e) { + var t, n, r, s, o, i, a, c = "", + u = 0; + for (e = Pe.prototype.Base64._utf8_encode(e); u < e.length;) t = e.charCodeAt(u++), + n = e.charCodeAt(u++), + r = e.charCodeAt(u++), + s = t >> 2, + o = (3 & t) << 4 | n >> 4, + i = (15 & n) << 2 | r >> 6, + a = 63 & r, + isNaN(n) ? i = a = 64 : isNaN(r) && (a = 64), + c = c + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(i) + this._keyStr.charAt(a); + return c + }, + decode: function(e) { + var t, n, r, s, o, i, a, c = "", + u = 0; + for (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); u < e.length;) s = this._keyStr.indexOf(e.charAt(u++)), + o = this._keyStr.indexOf(e.charAt(u++)), + i = this._keyStr.indexOf(e.charAt(u++)), + a = this._keyStr.indexOf(e.charAt(u++)), + t = s << 2 | o >> 4, + n = (15 & o) << 4 | i >> 2, + r = (3 & i) << 6 | a, + c += String.fromCharCode(t), + 64 != i && (c += String.fromCharCode(n)), + 64 != a && (c += String.fromCharCode(r)); + return c = Pe.prototype.Base64._utf8_decode(c) + }, + _utf8_encode: function(e) { + e = e.replace(/\r\n/g, "\n"); + for (var t = "", + n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 128 > r ? t += String.fromCharCode(r) : r > 127 && 2048 > r ? (t += String.fromCharCode(r >> 6 | 192), t += String.fromCharCode(63 & r | 128)) : (t += String.fromCharCode(r >> 12 | 224), t += String.fromCharCode(r >> 6 & 63 | 128), t += String.fromCharCode(63 & r | 128)) + } + return t + }, + _utf8_decode: function(e) { + for (var t = "", + n = 0, + r = c1 = c2 = 0; n < e.length;) r = e.charCodeAt(n), + 128 > r ? (t += String.fromCharCode(r), n++) : r > 191 && 224 > r ? (c2 = e.charCodeAt(n + 1), t += String.fromCharCode((31 & r) << 6 | 63 & c2), n += 2) : (c2 = e.charCodeAt(n + 1), c3 = e.charCodeAt(n + 2), t += String.fromCharCode((15 & r) << 12 | (63 & c2) << 6 | 63 & c3), n += 3); + return t + } + }, + Pe.prototype.createEventScript = function(e, t, n) { + var r = document.createElement("script"); + r.htmlFor = e, + r.event = t, + r.innerHTML = n, + document.body.parentNode.appendChild(r) + }, + Pe.prototype.isInt = function(e) { + return /^\d+$/.test(e) + }, + Pe.prototype.getDirName = function() { + var e = ""; + if ("" !== a.szBasePath) e = a.szBasePath; + else { + var t = /[^?#]*\//, + n = document.getElementById("videonode"); + if (n) e = n.src.match(t)[0]; + else { + for (var r = document.scripts, + s = 0, + o = r.length; o > s; s++) if (r[s].src.indexOf("webVideoCtrl.js") > -1) { + n = r[s]; + break + } + n && (e = n.src.match(t)[0]) + } + } + return e + }, + Pe.prototype.loadScript = function(e, t) { + var n = document.createElement("script"); + n.type = "text/javascript", + n.onload = function() { + t() + }, + n.src = e, + document.getElementsByTagName("head")[0].appendChild(n) + }, + Pe.prototype.sha256 = function(e) { + function t(e, t) { + var n = (65535 & e) + (65535 & t); + return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n + } + + function n(e, t) { + return e >>> t | e << 32 - t + } + + return e = function(e) { + for (var e = e.replace(/\r\n/g, "\n"), t = "", n = 0; n < e.length; n++) { + var r = e.charCodeAt(n); + 128 > r ? t += String.fromCharCode(r) : (r > 127 && 2048 > r ? t += String.fromCharCode(r >> 6 | 192) : (t += String.fromCharCode(r >> 12 | 224), t += String.fromCharCode(r >> 6 & 63 | 128)), t += String.fromCharCode(63 & r | 128)) + } + return t + } (e), + function(e) { + for (var t = "", + n = 0; n < 4 * e.length; n++) t += "0123456789abcdef".charAt(e[n >> 2] >> 8 * (3 - n % 4) + 4 & 15) + "0123456789abcdef".charAt(e[n >> 2] >> 8 * (3 - n % 4) & 15); + return t + } (function(e, r) { + var s, o, i, a, c, u, l, d, p, P, h, I, f = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], + m = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], + C = Array(64); + for (e[r >> 5] |= 128 << 24 - r % 32, e[(r + 64 >> 9 << 4) + 15] = r, p = 0; p < e.length; p += 16) { + for (s = m[0], o = m[1], i = m[2], a = m[3], c = m[4], u = m[5], l = m[6], d = m[7], P = 0; 64 > P; P++) C[P] = 16 > P ? e[P + p] : t(t(t(n(C[P - 2], 17) ^ n(C[P - 2], 19) ^ C[P - 2] >>> 10, C[P - 7]), n(C[P - 15], 7) ^ n(C[P - 15], 18) ^ C[P - 15] >>> 3), C[P - 16]), + h = t(t(t(t(d, n(c, 6) ^ n(c, 11) ^ n(c, 25)), c & u ^ ~c & l), f[P]), C[P]), + I = t(n(s, 2) ^ n(s, 13) ^ n(s, 22), s & o ^ s & i ^ o & i), + d = l, + l = u, + u = c, + c = t(a, h), + a = i, + i = o, + o = s, + s = t(h, I); + m[0] = t(s, m[0]), + m[1] = t(o, m[1]), + m[2] = t(i, m[2]), + m[3] = t(a, m[3]), + m[4] = t(c, m[4]), + m[5] = t(u, m[5]), + m[6] = t(l, m[6]), + m[7] = t(d, m[7]) + } + return m + } (function(e) { + for (var t = [], n = 0; n < 8 * e.length; n += 8) t[n >> 5] |= (255 & e.charCodeAt(n / 8)) << 24 - n % 32; + return t + } (e), 8 * e.length)) + }, + Pe.prototype.cookie = function(e, t, n) { + if (arguments.length > 1 && (null === t || "object" != typeof t)) { + if (n = this.extend({}, + n), null === t && (n.expires = -1), "number" == typeof n.expires) { + var r = n.expires, + s = n.expires = new Date; + s.setDate(s.getDate() + r) + } + return document.cookie = [encodeURIComponent(e), "=", n.raw ? String(t) : encodeURIComponent(String(t)), n.expires ? "; expires=" + n.expires.toUTCString() : "", n.path ? "; path=" + n.path: "; path=/", n.domain ? "; domain=" + n.domain: "", n.secure ? "; secure": ""].join("") + } + n = t || {}; + var o, i = n.raw ? + function(e) { + return e + }: decodeURIComponent; + return (o = new RegExp("(?:^|; )" + encodeURIComponent(e) + "=([^;]*)").exec(document.cookie)) ? i(o[1]) : null + }, + t.prototype.valueOf = function() { + return this.id + }, + t.prototype.toString = function() { + return this.id + }, + t.prototype.createUUID = function() { + var e = new Date(1582, 10, 15, 0, 0, 0, 0), + n = new Date, + r = n.getTime() - e.getTime(), + s = "-", + o = t.getIntegerBits(r, 0, 31), + i = t.getIntegerBits(r, 32, 47), + a = t.getIntegerBits(r, 48, 59) + "1", + c = t.getIntegerBits(t.rand(4095), 0, 7), + u = t.getIntegerBits(t.rand(4095), 0, 7), + l = t.getIntegerBits(t.rand(8191), 0, 7) + t.getIntegerBits(t.rand(8191), 8, 15) + t.getIntegerBits(t.rand(8191), 0, 7) + t.getIntegerBits(t.rand(8191), 8, 15) + t.getIntegerBits(t.rand(8191), 0, 15); + return o + s + i + s + a + s + c + u + s + l + }, + t.getIntegerBits = function(e, n, r) { + var s = t.returnBase(e, 16), + o = new Array, + i = "", + a = 0; + for (a = 0; a < s.length; a++) o.push(s.substring(a, a + 1)); + for (a = Math.floor(n / 4); a <= Math.floor(r / 4); a++) i += o[a] && "" != o[a] ? o[a] : "0"; + return i + }, + t.returnBase = function(e, t) { + var n = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "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"]; + if (t > e) var r = n[e]; + else { + var s = "" + Math.floor(e / t), + o = e - s * t; + if (s >= t) var r = this.returnBase(s, t) + n[o]; + else var r = n[s] + n[o] + } + return r + }, + t.rand = function(e) { + return Math.floor(Math.random() * e) + }, + h = new le, + I = new de, + P = new pe, + f = new Pe; + var he = f.dateFormat(new Date, "yyyyMMddhhmmss"); + return o = "webVideoCtrl" + he, + i = "webVideoCtrl" + he, + "object" != typeof e.attachEvent && f.browser().msie && (f.createEventScript(o, "GetSelectWndInfo(SelectWndInfo)", "GetSelectWndInfo(SelectWndInfo);"), f.createEventScript(o, "ZoomInfoCallback(szZoomInfo)", "ZoomInfoCallback(szZoomInfo);"), f.createEventScript(o, "GetHttpInfo(lID, lpInfo, lReverse)", "GetHttpInfo(lID, lpInfo, lReverse);"), f.createEventScript(o, "PluginEventHandler(iEventType, iParam1, iParam2)", "PluginEventHandler(iEventType, iParam1, iParam2);"), f.createEventScript(o, "RemoteConfigInfo(lID)", "RemoteConfigInfo(lID);"), f.createEventScript(o, "KeyBoardEventInfo(iKeyCode)", "KeyBoardEventInfo(iKeyCode);")), + this + } (), + n = e.WebVideoCtrl = t; + n.version = "1.1.0" + } +} (this), +"object" == typeof exports && "undefined" != typeof module || ("function" == typeof define && define.amd ? define(function() { + return WebVideoCtrl +}) : "function" == typeof define && define.cmd && define(function(e, t, n) { + n.exports = WebVideoCtrl +})); +// export{ +// WebVideoCtrl() +// } diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..eb3a120 --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,4 @@ +const getters = { + orgSid: state => state.user.orgSid +} +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..4a2159a --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,36 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import getters from './getters' + +Vue.use(Vuex) + +// https://webpack.js.org/guides/dependency-management/#requirecontext +const modulesFiles = require.context('./modules', true, /\.js$/) + +// you do not need `import app from './modules/app'` +// it will auto require all vuex module from modules file +const modules = modulesFiles.keys().reduce((modules, modulePath) => { + // set './app.js' => 'app' + const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') + const value = modulesFiles(modulePath) + modules[moduleName] = value.default + return modules +}, {}) + +const store = new Vuex.Store({ + state: { + counter: 0, + distributionSid: '' + + }, + mutations: { + + }, + actions: { + + }, + modules, + getters, +}) + +export default store diff --git a/src/store/modules/app.js b/src/store/modules/app.js new file mode 100644 index 0000000..45d89bb --- /dev/null +++ b/src/store/modules/app.js @@ -0,0 +1,56 @@ +import Cookies from 'js-cookie' + +const state = { + sidebar: { + opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, + withoutAnimation: false + }, + device: 'desktop', + size: Cookies.get('size') || 'medium' +} + +const mutations = { + TOGGLE_SIDEBAR: state => { + state.sidebar.opened = !state.sidebar.opened + state.sidebar.withoutAnimation = false + if (state.sidebar.opened) { + Cookies.set('sidebarStatus', 1) + } else { + Cookies.set('sidebarStatus', 0) + } + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Cookies.set('sidebarStatus', 0) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + }, + SET_SIZE: (state, size) => { + state.size = size + Cookies.set('size', size) + } +} + +const actions = { + toggleSideBar({ commit }) { + commit('TOGGLE_SIDEBAR') + }, + closeSideBar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + toggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + }, + setSize({ commit }, size) { + commit('SET_SIZE', size) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/modules/errorLog.js b/src/store/modules/errorLog.js new file mode 100644 index 0000000..6b01f95 --- /dev/null +++ b/src/store/modules/errorLog.js @@ -0,0 +1,28 @@ +const state = { + logs: [] +} + +const mutations = { + ADD_ERROR_LOG: (state, log) => { + state.logs.push(log) + }, + CLEAR_ERROR_LOG: (state) => { + state.logs.splice(0) + } +} + +const actions = { + addErrorLog({ commit }, log) { + commit('ADD_ERROR_LOG', log) + }, + clearErrorLog({ commit }) { + commit('CLEAR_ERROR_LOG') + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js new file mode 100644 index 0000000..d56d1ba --- /dev/null +++ b/src/store/modules/permission.js @@ -0,0 +1,69 @@ +import { asyncRoutes, constantRoutes } from '@/router' // + +/** + * Use meta.role to determine if the current user has permission + * @param roles + * @param route + */ +function hasPermission(roles, route) { + if (route.meta && route.meta.roles) { + return roles.some(role => route.meta.roles.includes(role)) + } else { + return true + } +} + +/** + * Filter asynchronous routing tables by recursion + * @param routes asyncRoutes + * @param roles + */ +export function filterAsyncRoutes(routes, roles) { + const res = [] + + routes.forEach(route => { + const tmp = { ...route } + if (hasPermission(roles, tmp)) { + if (tmp.children) { + tmp.children = filterAsyncRoutes(tmp.children, roles) + } + res.push(tmp) + } + }) + + return res +} + +const state = { + routes: [], + addRoutes: [] +} + +const mutations = { + SET_ROUTES: (state, routes) => { + state.addRoutes = routes + state.routes = constantRoutes.concat(routes) + } +} + +const actions = { + generateRoutes({ commit }, roles) { + return new Promise(resolve => { + let accessedRoutes + if (roles.includes('admin')) { + accessedRoutes = asyncRoutes || [] + } else { + accessedRoutes = filterAsyncRoutes(asyncRoutes, roles) + } + commit('SET_ROUTES', accessedRoutes) + resolve(accessedRoutes) + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 0000000..110533f --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,35 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings + +const state = { + theme: variables.theme, + showSettings: showSettings, + tagsView: tagsView, + fixedHeader: fixedHeader, + sidebarLogo: sidebarLogo +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + // eslint-disable-next-line no-prototype-builtins + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/store/modules/tagsView.js b/src/store/modules/tagsView.js new file mode 100644 index 0000000..57e7242 --- /dev/null +++ b/src/store/modules/tagsView.js @@ -0,0 +1,160 @@ +const state = { + visitedViews: [], + cachedViews: [] +} + +const mutations = { + ADD_VISITED_VIEW: (state, view) => { + if (state.visitedViews.some(v => v.path === view.path)) return + state.visitedViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + ADD_CACHED_VIEW: (state, view) => { + if (state.cachedViews.includes(view.name)) return + if (!view.meta.noCache) { + state.cachedViews.push(view.name) + } + }, + + DEL_VISITED_VIEW: (state, view) => { + for (const [i, v] of state.visitedViews.entries()) { + if (v.path === view.path) { + state.visitedViews.splice(i, 1) + break + } + } + }, + DEL_CACHED_VIEW: (state, view) => { + const index = state.cachedViews.indexOf(view.name) + index > -1 && state.cachedViews.splice(index, 1) + }, + + DEL_OTHERS_VISITED_VIEWS: (state, view) => { + state.visitedViews = state.visitedViews.filter(v => { + return v.meta.affix || v.path === view.path + }) + }, + DEL_OTHERS_CACHED_VIEWS: (state, view) => { + const index = state.cachedViews.indexOf(view.name) + if (index > -1) { + state.cachedViews = state.cachedViews.slice(index, index + 1) + } else { + // if index = -1, there is no cached tags + state.cachedViews = [] + } + }, + + DEL_ALL_VISITED_VIEWS: state => { + // keep affix tags + const affixTags = state.visitedViews.filter(tag => tag.meta.affix) + state.visitedViews = affixTags + }, + DEL_ALL_CACHED_VIEWS: state => { + state.cachedViews = [] + }, + + UPDATE_VISITED_VIEW: (state, view) => { + for (let v of state.visitedViews) { + if (v.path === view.path) { + v = Object.assign(v, view) + break + } + } + } +} + +const actions = { + addView({ dispatch }, view) { + dispatch('addVisitedView', view) + dispatch('addCachedView', view) + }, + addVisitedView({ commit }, view) { + commit('ADD_VISITED_VIEW', view) + }, + addCachedView({ commit }, view) { + commit('ADD_CACHED_VIEW', view) + }, + + delView({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delVisitedView', view) + dispatch('delCachedView', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delVisitedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_VISITED_VIEW', view) + resolve([...state.visitedViews]) + }) + }, + delCachedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_CACHED_VIEW', view) + resolve([...state.cachedViews]) + }) + }, + + delOthersViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delOthersVisitedViews', view) + dispatch('delOthersCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delOthersVisitedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_VISITED_VIEWS', view) + resolve([...state.visitedViews]) + }) + }, + delOthersCachedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_CACHED_VIEWS', view) + resolve([...state.cachedViews]) + }) + }, + + delAllViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delAllVisitedViews', view) + dispatch('delAllCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delAllVisitedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_VISITED_VIEWS') + resolve([...state.visitedViews]) + }) + }, + delAllCachedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_CACHED_VIEWS') + resolve([...state.cachedViews]) + }) + }, + + updateVisitedView({ commit }, view) { + commit('UPDATE_VISITED_VIEW', view) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..265a757 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,17 @@ +const user = { + state:{ + orgSid: '' + }, + mutations: { + setOrgSid: (state, orgSid) => { + state.orgSid = orgSid + } + }, + actions: { + commitOrgSid({commit}, orgSid) { + commit('setOrgSid', orgSid) + } + } +} + +export default user diff --git a/src/store/modules/user1.js b/src/store/modules/user1.js new file mode 100644 index 0000000..e00ca0a --- /dev/null +++ b/src/store/modules/user1.js @@ -0,0 +1,150 @@ +import { login, logout, getInfo } from '@/api/user' +import { getStorage, setStorage, removeStorage } from '@/utils/auth' + +import router, { resetRouter } from '@/router' + +const state = { + token: getStorage(), + userInfo: '', + menus: '', +} + +const mutations = { + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_UESRINFO: (state, userInfo) => { + state.userInfo = userInfo + }, + SET_MENUS: (state, menus) => { + state.menus = menus + } +} + +const actions = { + // user login + login({ commit }, userInfo) { + return new Promise((resolve, reject) => { + login(userInfo).then(response => { + const { data } = response + commit('SET_TOKEN', data.token) + setStorage(data.token) + let user = { + roleSid: data.roleSid, + name: data.name, + userName: data.userName, + departmentName: data.departmentName, + isAdmin: data.isAdmin, + staffSid: data.staffSid, + userSid: data.sid, + orgSid: data.organizationSid, + Orgname: data.organizationName, + dwjb: data.dwjb + } + commit('SET_UESRINFO', user) + window.sessionStorage.setItem('userSid', user.userSid); + window.sessionStorage.setItem('Orgname', user.Orgname); + window.sessionStorage.setItem('departmentName', user.departmentName); + window.sessionStorage.setItem('name', user.name); + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + + // get user info + getInfo({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo().then(response => { + const { data } = response + if (!data) { + removeStorage() + reject('Verification failed, please Login again.') + } + let user = { + roleSid: data.roleSid, + name: data.name, + userName: data.userName, + orgRoleName: data.orgRoleName, + isAdmin: data.isAdmin, + staffSid: data.staffSid, + userSid: data.sid, + orgSid: data.organizationSid, + Orgname: data.organizationName, + dwjb: data.dwjb + } + commit('SET_UESRINFO', user) + resolve(data) + }).catch(error => { + removeStorage() + router.push({path: '/'}) + // reject(error) + }) + }) + }, + + getMenus({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo().then(response => { + const { data } = response + commit('SET_UESRINFO', user) + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + + // user logout + logout({ commit, state, dispatch }) { + return new Promise((resolve, reject) => { + logout(state.token).then(() => { + commit('SET_TOKEN', '') + commit('SET_UESRINFO', '') + removeStorage() + resetRouter() + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // remove token + // resetToken({ commit }) { + // return new Promise(resolve => { + // commit('SET_TOKEN', '') + // commit('SET_ROLES', []) + // removeToken() + // resolve() + // }) + // }, + + // dynamically modify permissions + // async changeRoles({ commit, dispatch }, role) { + // const token = role + '-token' + + // commit('SET_TOKEN', token) + // setToken(token) + + // const { roles } = await dispatch('getInfo') + + // resetRouter() + + // // generate accessible routes map based on roles + // const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true }) + // // dynamically add accessible routes + // router.addRoutes(accessRoutes) + + // // reset visited views and cached views + // dispatch('tagsView/delAllViews', null, { root: true }) + // } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/styles/e-row.scss b/src/styles/e-row.scss new file mode 100644 index 0000000..899a4da --- /dev/null +++ b/src/styles/e-row.scss @@ -0,0 +1,291 @@ +//finginvoiceapply添加部分 +.invoiceform { + .topline { + margin-bottom: 16px; + display: flex; + flex-direction: row; + justify-content: center; + + .el-form-item { + margin-bottom: 0 !important; + + .el-form-item__content { + margin-left: 0 !important; + + .el-input { + width: 120% !important; + } + } + } + + .el-input__inner { + border-style: none; + text-align: center; + } + } + + //第一行 + .lineone { + border-bottom: 2px solid #e0e3eb; + } + + .invoiceadd { + margin: 22px 28px; + border-top: 2px solid #e0e3eb; + + .el-form-item__label { + width: auto !important; + } + + .el-row { + height: 40px; + border-left: 2px solid #e0e3eb; + + .addlabel { + height: 100%; + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + + .el-form-item { + height: 100%; + margin-bottom: 0; + display: flex; + flex-direction: row-reverse; + } + } + + .addinput { + height: 100%; + padding: 0 40px 0 10px; + border-right: 2px solid #e0e3eb !important; + border-bottom: 2px solid #e0e3eb !important; + + .el-form-item { + height: 100%; + margin-bottom: 0; + + .el-form-item__content { + width: 100%; + height: 100%; + line-height: 38px; + margin: 0 !important; + + .el-input { + width: 100%; + height: 100%; + + .el-input__inner { + height: 33px; + } + } + + .el-select { + width: 100% !important; + } + } + } + } + + .addlabelTwo { + height: 100%; + border-right: 2px solid #e0e3eb; + + .el-form-item { + height: 100%; + margin-bottom: 0; + display: flex; + flex-direction: row-reverse; + } + } + + .addlabelThree { + height: 100%; + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + text-align: center; + line-height: 40px; + + .el-form-item { + height: 100%; + margin-bottom: 0; + display: flex; + flex-direction: column; + align-items: center; + line-height: 40px; + text-align: center; + } + + .el-form-item__label { + padding: 0 !important; + } + } + + .addlabelFour { + height: 100%; + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + line-height: 40px; + padding: 0 10px; + + .el-form-item { + height: 100%; + margin-bottom: 0; + + .el-form-item__content { + margin-left: 5px !important; + } + } + } + + .addinputRadio { + height: 100%; + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + line-height: 40px; + padding: 0 10px; + } + + .lastchild { + border-bottom: 2px solid #e0e3eb; + } + + } + + } +} + +.tabletitle { + height: 40px; + width: 100%; + padding: 0 10px; + background: #018ad2; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + color: white; + + .el-button--primary { + background: #0476aa; + } + +} + +//finreceipt添加部分 +.receiptadd { + + .topline { + margin-bottom: 16px; + display: flex; + flex-direction: row; + justify-content: center; + + .el-form-item { + margin-bottom: 0 !important; + + .el-form-item__content { + margin-left: 0 !important; + + .el-input { + width: 120% !important; + } + } + } + + .el-input__inner { + border-style: none; + text-align: center; + } + } + + //第一行 + .lineone { + border-bottom: 2px solid #e0e3eb; + } + + //中间的部分 + .linetwo, .linethree { + .el-col-24 { + border-bottom: 2px solid #e0e3eb; + } + + .grid-content { + display: flex; + flex-direction: row; + justify-content: center; + align-items: flex-start; + } + } + + .linetwo { + .el-col { + padding: 0 32px; + } + } +} + +.tabletitle .addbtn { + width: 84px; + background: #0476aa; + border: 0; + outline: none; + padding: 9px 12px; + color: #ffffff; + font-size: 14px; + border-radius: 3px; + cursor: pointer; +} + +.tabletitle .addbtn:hover { + border-color: #0476aa; + background-color: #34a1db; +} + +.tableTotal { + padding: 20px 0; + font-weight: bold; + font-size: 14px; +} + +.tableinput .el-input__inner { + border-style: none; + text-align: center; +} + +.inforow { + height: 120px !important; + + .el-form-item { + height: 100%; + margin-bottom: 0; + display: flex; + flex-direction: row-reverse; + align-items: center; + } + + .infocol { + height: 100%; + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + display: flex; + flex-direction: column; + justify-content: space-around; + + .collineone, .collinetwo { + margin-left: 10px; + } + + .collineone, .collinetwo { + display: flex; + flex-direction: row; + } + } +} + +.blockone, .blocktwo, .blockfour, .blockfive { + min-width: 142px; +} + +.blockthree, .blocksix { + min-width: 266px; +} diff --git a/src/styles/e-table.scss b/src/styles/e-table.scss new file mode 100644 index 0000000..dcd6375 --- /dev/null +++ b/src/styles/e-table.scss @@ -0,0 +1,40 @@ +.e-table { + width: 100%; + padding: 0 30px; + + tr:first-child th { + background-color: #c1f4cd; + } + + tr { + td { + border: 1px solid #e6e9f0; + border-right: 0; + border-bottom: 0; + padding: 10px 20px; + } + + td:last-child { + border-right: 1px solid #e6e9f0; + } + } + + tr:last-child { + td { + border-bottom: 1px solid #e6e9f0; + } + } + + td:nth-child(2n-1) { + text-align: right; + } + + td:nth-child(2n) { + text-align: left; + } +} + +.tableinput .el-input__inner { + border-style: none; + text-align: center; +} diff --git a/src/styles/el-form.scss b/src/styles/el-form.scss new file mode 100644 index 0000000..73288e1 --- /dev/null +++ b/src/styles/el-form.scss @@ -0,0 +1,67 @@ +.listconadd .title { + text-align: center; + font-size: 28px; + //line-height: 90px; +} + +.listaddtop { + padding: 0 212px; + border-bottom: 2px solid #e0e3eb; + display: flex; + justify-content: space-between; + align-items: center; + line-height: 34px; + + span { + padding: 0 15px; + } +} + +.listconadd .demo-ruleForm { + padding: 22px 28px; +} + +.el-collapse-item__header { + .el-icon-arrow-right:before { + content: ""; + font-size: 20px; + } +} + +.demo-ruleForm table { + width: 100%; + border-collapse: collapse; + border: 2px solid #e0e3eb; + border-spacing: 0; + //text-align: right; + td { + border-right: 2px solid #e0e3eb; + border-bottom: 2px solid #e0e3eb; + border-top: 2px solid #e0e3eb; + } + + tr { + height: 40px; + } + + .el-form-item { + display: inline-block; + } + + .el-input { + display: inline-block; + } +} + +.tleftb { + text-align: right; + font-size: 14px; + color: #606266; + line-height: 40px !important; + font-weight: 600; +} + +.icon { + color: #e84026; + margin-right: 4px; +} diff --git a/src/styles/el-search.scss b/src/styles/el-search.scss new file mode 100644 index 0000000..e6a18fb --- /dev/null +++ b/src/styles/el-search.scss @@ -0,0 +1,20 @@ +//finginvoiceapply页面个别按钮 +.applyseaech { + padding: 0 34px !important; + margin-right: 0 !important; +} + +//finreceipt页面个别按钮 +.recpicker { + width: 154px !important; +} + +.recselect { + padding: 0 34px !important; +} + +// +.iteminput { + padding: 0 49px !important; +} + diff --git a/src/styles/element-table.scss b/src/styles/element-table.scss new file mode 100644 index 0000000..e79ae75 --- /dev/null +++ b/src/styles/element-table.scss @@ -0,0 +1,38 @@ +.el-table { + .el-table__header { + tr th { + background: #edf1f7; + color: #333333; + padding: 8px 0; + font-size: 16px; + } + } +} + +.el-table { + .el-table__row { + .cell { + line-height:15px; + } + } +} + +.el-table { + .el-table__body { + tr td { + padding: 6px 0 !important; + } + } +} + +.table-describe { + border: 1px solid #dfe4ed; + border-bottom: 0 solid #dfe4ed; + + h4 { + float: left; + margin: 0; + line-height: 34px; + padding: 0 15px; + } +} diff --git a/src/styles/element-tabs.scss b/src/styles/element-tabs.scss new file mode 100644 index 0000000..26321fb --- /dev/null +++ b/src/styles/element-tabs.scss @@ -0,0 +1,25 @@ +.el-tabs--card{ + .el-tabs__header{ + .el-tabs__nav-scroll{ + padding-left: 3px; + padding-bottom: 10px; + border-bottom: 1px solid #018ad2; + .el-tabs__nav { + border: none; + } + .el-tabs__item { + border: 1px solid #dfe4ed; + margin-right: 12px; + margin-left: 2px; + } + .el-tabs__item:first-child { + border-left: 1px solid #dfe4ed; + } + .el-tabs__item.is-active{ + border-bottom-color: #018ad2; + background-color: #018ad2; + color: #fff; + } + } + } +} diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss new file mode 100644 index 0000000..50c4dc3 --- /dev/null +++ b/src/styles/element-ui.scss @@ -0,0 +1,62 @@ +.el-image .el-image__inner--center{ + top: 0; + left: 0; + transform: none; +} + +.tablerow-click{ + color: #007FFF; + cursor: pointer; +} +// cover some element-ui styles + +.el-breadcrumb__inner, +.el-breadcrumb__inner a { + font-weight: 400 !important; +} + +.el-upload { + input[type="file"] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + + +// to fixed https://github.com/ElemeFE/element/issues/2461 +.el-dialog { + transform: none; + left: 0; + position: relative; + margin: 0 auto; +} + +// refine element ui upload +.upload-container { + .el-upload { + width: 100%; + + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +// dropdown +.el-dropdown-menu { + a { + display: block + } +} + +// to fix el-date-picker css style +.el-range-separator { + box-sizing: content-box; +} + + + diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss new file mode 100644 index 0000000..ecd0728 --- /dev/null +++ b/src/styles/element-variables.scss @@ -0,0 +1,35 @@ +/** +* I think element-ui's default theme color is too light for long-term use. +* So I modified the default color and you can modify it to your liking. +**/ + +/* theme color */ +// $--color-primary: #018ad2; +// $--color-success: #13ce66; +// $--color-warning: #ffba00; +// $--color-danger: #ff4949; +// $--color-info: #1E1E1E; +$--color-primary: #018ad2; +$--color-success: #2cab69; +$--color-warning: #ffba00; +$--color-danger: #e84026; +$--color-info: #cccccc; +$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; + +$--border-color-light: #dfe4ed; +$--border-color-lighter: #e6ebf5; + +$--table-border: 1px solid #dfe6ec; + +/* icon font path, required */ +$--font-path: "~element-ui/lib/theme-chalk/fonts"; + +@import "~element-ui/packages/theme-chalk/src/index"; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--color-primary; +} diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 0000000..ce38090 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,435 @@ +@import './variables.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './table.scss'; +@import './el-form.scss'; +@import './el-search.scss'; +@import './e-row.scss'; +@import './e-table.scss'; +@import './element-table.scss'; +@import './element-tabs.scss'; +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} +.bg-primary{ + background-color: $color-primary !important; +} +// main-container global css +.container{ + min-height: 100%; + height: 100%; + background-color: #FFFFFF; + box-sizing: border-box; + padding: 10px 0; +} + +.fl{ + float: left; +} +.fr{ + float: right; +} +.text-center{ + text-align: center; +} +.color-red{ + color: red !important; +} + +.pd-b10{ + padding-bottom: 10px; +} + +.pd-y40 { + padding: 40px 0; +} + +.pd-y20 { + padding: 20px 0; +} + +.fs20 { + font-size: 20px; +} + +// 页面上的button按钮 +.app-container { + .el-button--medium { + padding: 10px 14px; + font-size: 16px; + } + + .el-button--small { + padding: 8px 12px; + font-size: 14px; + } + + .el-button--mini { + padding: 7px 10px; + font-size: 12px; + } +} +// 添加样式 +.app-container { + margin: 5px 0 5px 0; + background-color: #fff; +} +// 设置了滚动区域 +.main-content{ overflow-x: hidden;overflow-y: auto;height: calc(100vh - 200px);padding: 0 20px;} +.listcon{height: calc(100vh - 425px);overflow-y: auto;overflow-x: hidden;} +.listconadd{height: calc(100vh - 200px);overflow-y: auto;overflow-x: hidden;} +.listconadd{ + .titwu { + font-size: 28px; + text-align: center; + padding: 30px 0 20px 0; + } +} +.listconsub { + height: calc(100vh - 310px); + overflow-y: auto; + overflow-x: hidden; +} + +.listconsubjxs { + height: calc(100vh - 300px); + overflow-y: auto; + overflow-x: hidden; +} + +// 搜索的 +.webtop { + // position: fixed;top: 110px;width: calc(100% - 240px);z-index: 6000; + background-color: #fff; + display: flex !important; + flex-direction: row; + justify-content: space-between !important; + align-items: center; + margin-bottom: 0px !important; + font-size: 20px; +} + +// 设置了页面头部的内边距和背景色 +.tab-header { + font-size: 20px; + font-weight: bold; +} +// 设置了搜索条件里的样式 +.search { + .tab-header { + .el-form-item { + margin-right: 16px; + .el-form-item__label { + font-size: 16px; + font-weight: 500; + } + } + } +} +.filter-item { + padding: 0 10px; + width: 220px; + display: inline-block; +} + +// 设置列表页面内容布局 +.listtop { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0 0 0 15px; + margin-top: 0; + border: 1px solid #dfe4ed; + height: 42px; + line-height: 42px; +} + +.listtop .tit { + font-weight: bold; + font-size: 16px +} + +.listtop .pagination { + margin: 0; + padding: 0; +} + +.pages { + display: flex; + flex-direction: row; + justify-content: flex-end; + align-items: flex-end; + padding: 0 0 15px 15px; +} +.pages .tit{font-weight: bold;} +.pages .pagination{margin: 0;} +// .formadd{padding: 20px ;} +// .listeltable{overflow-y: auto;height: calc(100vh - 420px);} + +.formadd { + padding: 10px 40px 0 40px; + font-size: 16px; + // height: calc(100vh - 200px);overflow-y: auto; + .title { + padding: 12px; + font-weight: bold; + font-size: 16px; + background-color: $header-bg; + text-align: left; + color: #ffffff; + } + .first_row{ + border-top: 1px solid $table-border-color; + } + .el-row { + display: flex; + flex-wrap: wrap; + border-left: 1px solid $table-border-color; + .el-col { + border-right: 1px solid $table-border-color; + border-bottom: 1px solid $table-border-color; + padding: 0 15px; + min-height: 42px; + line-height: 1; + + .el-form-item { + margin-bottom: 0; + line-height: 42px; + // .addinputw{width: 400px;} + .addinputw { + width: 80%; + line-height: 42px; + } + .el-input__inner { + height: 36px; + } + } + } + } + .footer{margin: 20px;} +} + + +.formaddcopy02 { + padding: 10px 40px 0 40px; + .title { + padding: 12px; + font-weight: bold; + font-size: 16px; + background-color: #0294d7; + color: #ffffff; + text-align: left; + } + + .el-row { + display: flex; + flex-wrap: wrap; + border-left: 1px solid $table-border-color; + + .el-col { + border-right: 1px solid $table-border-color; + border-bottom: 1px solid $table-border-color; + min-height: 42px; + padding: 0 15px; + line-height: 42px; + position: relative; + .span-sty { + position: absolute; + top: 0; + bottom: 0; + left: 0; + line-height: 42px; + text-align: right; + font-size: 14px; + color: #606266; + font-weight: 600; + width: 70px; + padding-right: 5px; + border-right: 1px solid #e0e3eb; + } + + .el-form-item { + margin-bottom: 0; + line-height: 42px; + .addinputw { + //padding: 5px 0; + width: 65%; + margin-left: 80px; + line-height: 42px; + } + + .addinputInfo { + margin-left: 80px; + line-height: 42px; + } + + .el-input__inner { + height: 36px; + } + } + } + + } + + .footer { + margin: 20px; + } +} + +.forminfo { + padding: 10px 40px 0 40px; + font-size: 16px; + .title { + padding: 12px; + font-weight: bold; + font-size: 16px; + background-color: $header-bg; + text-align: left; + color: #ffffff; + } + .el-row { + display:flex; + flex-wrap: wrap; + border-left: 1px solid $table-border-color; + .trightb{ text-align: right;font-weight: bold;color: #606266; } + .tleft{ text-align: left; } + .el-col{ + border-right: 1px solid $table-border-color; + border-bottom: 1px solid $table-border-color; + padding: 0 15px 0 15px !important; + min-height: 50px; + line-height: 50px; + font-size: 14px; + } + + } + .footer{margin: 20px;} +} + +.el-form-item__error { + z-index: 100; +} +.bluezi{color: $header-bg; cursor: pointer} +// 经销商添加样式 +.titcon{ + display: flex; + flex-direction: row; + justify-content: space-around; + background-color: #0294d7; + flex: 3; +} + +.titcon .title { + padding: 10px; + font-weight: bold; + font-size: 20px; + text-align: center; + color: #ffffff; +} + +.titcon .baocun { + text-align: right; + flex: 2; + padding: 5px 20px; +} + +.addinputwda { + width: 600px; +} + +//.searchcon{margin: 0px 0 10px 0;} +//.searchcon .searchbtn{margin: 10px 0;border: #2cab69 1px solid;color: #2cab69;} +// 隐藏显示按钮 +.main-content { + .searchcon { + .searchbtn { + margin: 5px 0; + border: #2cab69 1px solid; + color: #2cab69; + } + } +} + + +.search .btn { + padding: 5px 0; + border: 1px solid #e0e3eb; + text-align: center; + margin-bottom: 5px; +} + + +// 弹出窗口按钮 +.btnCancel{ + background: #e84026 !important;outline: none;border: none;color: #fff !important; +} +.btnCancel:hover{ + background: #ed6651 !important; +} +.btnFalses{ + background: #2cab69 !important;outline: none;border: none; +} +.btnFalses:hover{ + background: #3dc47e !important; +} +.btntopblueline{background-color: #066bc9 !important;} +.btntopblueline:hover{background-color: #34a1db !important;} +.btntophui{background-color: #cccccc !important;} +.btntophui:hover{background-color: #d6d6d6 !important;} +.bordertopline{ border-top: 1px solid $table-border-color;} +.lookimg img{width: 250px;margin: 10px;} +.listimg{width: 80px;} diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss new file mode 100644 index 0000000..36b74bb --- /dev/null +++ b/src/styles/mixin.scss @@ -0,0 +1,28 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss new file mode 100644 index 0000000..4d304e2 --- /dev/null +++ b/src/styles/sidebar.scss @@ -0,0 +1,262 @@ +#app { + background-color: #f7f9fc; + + .main-container { + height: 100vh; + transition: margin-left .28s; + padding-left: $sideBarWidth; + padding-top: 60px; + position: relative; + overflow: hidden; + } + //.TagsView{ + // height: 50px; + //} + .home-box{ + position: fixed; + top: 60px; + left: 0; + background-color: $menuBg; + border: 1px solid $menuHover; + line-height: 40px; + width: 210px; + z-index: 1000; + a{ + display: inline-block; + line-height: 40px; + box-sizing: border-box; + width: 50%; + text-align: center; + font-size: 16px; + font-weight: 500; + color: #FFFFFF; + } + a:last-child{ + border:0; + background-color: $menuHover; + } + } + .sidebar-container { + transition: width 0.28s; + width: $sideBarWidth !important; + background-color: $menuBg; + height: calc(100% - 60px) ; + position: absolute; + font-size: 0px; + top: 60px; + bottom: 0; + left: 0; + z-index: 8; + overflow: hidden; + padding-top: 40px; + + // reset element-ui css + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + height: calc(100% - 40px) ; //此高度是100%减去页面底部的栏高 + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .sub-el-icon { + margin-right: 12px; + margin-left: -2px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + // menu hover + .submenu-title-noDropdown, + .el-submenu__title { + &:hover { + background-color: $menuHover !important; + } + } + .el-submenu__title i{ + color: #FFFFFF; + } + .is-active>.el-submenu__title { + color: $subMenuActiveText !important; + } + + & .nest-menu .el-submenu>.el-submenu__title, + & .el-submenu .el-menu-item { + min-width: $sideBarWidth !important; + background-color: $subMenuBg !important; + + &:hover { + background-color: $subMenuHover !important; + } + } + & .el-menu-item.is-active { + background-color: $subMenuHover !important; + } + } + + // .hideSidebar { + // .sidebar-container { + // width: 54px !important; + // } + + // .main-container { + // margin-left: 54px; + // } + + // .submenu-title-noDropdown { + // padding: 0 !important; + // position: relative; + + // .el-tooltip { + // padding: 0 !important; + + // .svg-icon { + // margin-left: 20px; + // } + + // .sub-el-icon { + // margin-left: 19px; + // } + // } + // } + + // .el-submenu { + // overflow: hidden; + + // &>.el-submenu__title { + // padding: 0 !important; + + // .svg-icon { + // margin-left: 20px; + // } + + // .sub-el-icon { + // margin-left: 19px; + // } + + // .el-submenu__icon-arrow { + // display: none; + // } + // } + // } + + // .el-menu--collapse { + // .el-submenu { + // &>.el-submenu__title { + // &>span { + // height: 0; + // width: 0; + // overflow: hidden; + // visibility: hidden; + // display: inline-block; + // } + // } + // } + // } + // } + + .el-menu--collapse .el-menu .el-submenu { + min-width: $sideBarWidth !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $sideBarWidth !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$sideBarWidth, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + &>.el-menu { + .svg-icon { + margin-right: 16px; + } + .sub-el-icon { + margin-right: 12px; + margin-left: -2px; + } + } + + .nest-menu .el-submenu>.el-submenu__title, + .el-menu-item { + &:hover { + // you can use $subMenuHover + background-color: $menuHover !important; + } + } + + // the scroll bar appears when the subMenu is too long + >.el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/src/styles/table.scss b/src/styles/table.scss new file mode 100644 index 0000000..08e9142 --- /dev/null +++ b/src/styles/table.scss @@ -0,0 +1,48 @@ +.container{ + /* 头 */ + .el-table thead{ + color: $text-color; + } + .el-table .cell{ + a{ + display: block; + color: $table-a-color; + } + .el-button--text{ + color: $table-a-color; + } + } + .el-table td, .el-table th{ + padding: 8px 0; + } + .el-table.is-group th{ + background-color: $table-bg-color; + } + .el-table--enable-row-hover .el-table__body tr:hover>td { + background-color: $table-bg-color !important; + } + .el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { + border-right: 1px solid $table-border-color; + } + .el-table td, .el-table th.is-leaf{ + border-bottom: 1px solid $table-border-color; + } + .table-fixed { + .el-table__fixed-right { + height: 100% !important; //设置高优先,以覆盖内联样式 + } + } +} + +.children-box { + padding: 10px; + .table-header { + padding: 0 20px 5px 20px; + border-bottom: 2px solid $border-color; + .el-page-header { + line-height: 40px; + font-weight: 500; + + } + } +} diff --git a/src/styles/transition.scss b/src/styles/transition.scss new file mode 100644 index 0000000..4cb27cc --- /dev/null +++ b/src/styles/transition.scss @@ -0,0 +1,48 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/src/styles/variables.scss b/src/styles/variables.scss new file mode 100644 index 0000000..9ff78c5 --- /dev/null +++ b/src/styles/variables.scss @@ -0,0 +1,52 @@ +// 行为色 +$color-primary: #018ad2; +$color-success: #4cd964; +$color-warning: #f0ad4e; +$color-error: #dd524d; +// header +$header-bg:#0294d7; +// sidebar +$menuText: rgba($color: #FFFFFF, $alpha: 0.9); +$menuActiveText:#ffffff; +$subMenuActiveText:#ffffff; //https://github.com/ElemeFE/element/issues/12951 + +$menuBg:#0294d7; +$menuHover:#087dba; + +$subMenuBg:#0294d7; +$subMenuHover:#087dba; + +$sideBarWidth: 210px; + +/* 表格的相关样式 */ +$search-bg:#edf1f7; // 表格搜索景色 +$table-bg-color:#edf1f7; // 表格背景 +$table-border-color:#e0e3eb; // 表格边框色 +// 文字 +$table-a-color:#018ad2; +/* 表格的相关样式 */ + +/* 边框颜色 */ +$border-color:#018ad2; +/* 文字基本颜色 */ +$text-color:#333;//基本色 +$text-color-inverse:#fff;//反色 +$text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$text-color-placeholder: #808080; +$text-color-disable:#c0c0c0; +$text-red: #d00000; + +$a-color:#018ad2; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + menuText: $menuText; + menuActiveText: $menuActiveText; + subMenuActiveText: $subMenuActiveText; + menuBg: $menuBg; + menuHover: $menuHover; + subMenuBg: $subMenuBg; + subMenuHover: $subMenuHover; + sideBarWidth: $sideBarWidth; +} diff --git a/src/utils/auth.js b/src/utils/auth.js new file mode 100644 index 0000000..854cf3e --- /dev/null +++ b/src/utils/auth.js @@ -0,0 +1,37 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'token' +const sessionKey = 'token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token, { expires: 7, path: '/' }) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} + +export function getStorage() { + return sessionStorage.getItem('token') + // return 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI0MjdhMmZiMC02MGM1LTQwOWYtYmVhNC00ZWI0NDEwNDFhZTYiLCJpc3MiOiJXQksiLCJleHAiOjE2NzQzMTY4MDN9.8vGjlZLr_SrOUJks_qUPGjgZ8Yoegm5U9Jaq5noFL3w' +} + +export function setStorage(session) { + return sessionStorage.setItem('token', session) +} + +export function setDefaultOrgPathName(data) { + return sessionStorage.setItem('defaultOrgPathName', data) +} + +export function setDefaultOrgPath(data) { + return sessionStorage.setItem('defaultOrgPath', data) +} + +export function removeStorage() { + return sessionStorage.removeItem('token') +} diff --git a/src/utils/axios.js b/src/utils/axios.js new file mode 100644 index 0000000..5357837 --- /dev/null +++ b/src/utils/axios.js @@ -0,0 +1,248 @@ +import axios from 'axios' +import router from '@/router' +import { Message } from 'element-ui' +import { removeToken, getToken } from '@/utils/auth' +// 统一请求路径前缀 +const base = process.env.VUE_APP_BASE_API +// 超时设定 +axios.defaults.timeout = 120000 + +axios.interceptors.request.use( + config => { + // console.log('请求拦截器数据', config) + return config + }, + err => { + Message.error('请求超时') + return Promise.resolve(err) + } +) + +// http response 拦截器 +axios.interceptors.response.use( + response => { + const data = response.data + // console.log('响应拦截器数据', response) + // console.log('data.code:' + data.code) + // 根据返回的code值来做不同的处理(和后端约定) + switch (data.code) { + case 401: + // Message.error('登录失效,请重新登录!') + console.log('登录失效,请重新登录!') + // 未登录 + // removeToken().then(() => { // 清除已登录状态 + // router.push('/login') + // }) + // if (router.history.current.name !== 'login') { + // console.log(router.history.current.name) + // if (data.msg !== null) { + // Message.error(data.msg) + // } else { + // Message.error('未知错误,请重新登录') + // } + // } + break + case 403: + // 没有权限 + if (data.msg !== null) { + Message.error(data.msg) + } else { + Message.error('未知错误') + } + break + case 500: + // 错误 + if (data.msg !== null) { + Message.error(data.msg) + } else { + Message.error('未知错误') + } + break + case 99: + if (data.msg !== null) { + if (data.msg == '登录状态已过期') { + // 未登录 + // removeToken().then(() => { // 清除已登录状态 + // router.push('/login') + // }) + } else { + // Message.error(data.msg) + return data + } + } else { + Message.error('未知错误') + } + break + default: + return data + } + return Promise.reject(new Error(response.msg || 'Error')) + }, + error => { + // 返回状态码不为200时候的错误处理 + Message.error(error.toString()) + if (error.request.responseURL.indexOf('/sys/security/needLogin')) { + // removeToken().then(() => { // 清除已登录状态 + // router.push('/login') + // }) + } + // return err + return Promise.reject(error) + } +) + +export const getRequest = (url, params) => { + const accessToken = getToken() + console.log(`-------------------${base}${url}`) + return axios({ + method: 'get', + url: `${base}${url}`, + params: params, + headers: { + accessToken: accessToken + } + }) +} + +export const postRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + data: params, + transformRequest: [ + function(data) { + let ret = '' + for (const it in data) { + ret += + encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + return ret + } + ], + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + accessToken: accessToken + } + }) +} + +export const post = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + data: params, + headers: { + 'Content-Type': 'application/json;charset=utf-8', + // 'Content-Type': 'multipart/form-data', + accessToken: accessToken + } + }) +} + +// export const postExport = (url, params) => { +// const accessToken = getToken() +// return axios({ +// method: 'post', +// url: `${base}${url}`, +// data: params, +// headers: { +// 'Content-Type': 'application/json;charset=utf-8', +// // 'Content-Type': 'multipart/form-data', +// accessToken: accessToken +// }, +// responseType: 'blob' // 表明返回服务器返回的数据类型 +// }) +// } + +export const putRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'put', + url: `${base}${url}`, + data: params, + transformRequest: [ + function(data) { + let ret = '' + for (const it in data) { + ret += + encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' + } + return ret + } + ], + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + accessToken: accessToken + } + }) +} + +export const deleteRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'delete', + url: `${base}${url}`, + params: params, + headers: { + accessToken: accessToken + } + }) +} + +export const importRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + data: params, + headers: { + accessToken: accessToken + } + }) +} + +export const uploadFileRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + params: params, + headers: { + accessToken: accessToken + } + }) +} + +export const getDownLoadUrl = (url) => { + const accessToken = getToken() + return base + url + '?accessToken=' + accessToken +} + +export const uploadFileRequestJianCai = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + data: params, + headers: { + 'Content-Type': 'multipart/form-data', + contentType: false, + processData: false, + accessToken: accessToken + } + }) +} + +export const postBodyRequest = (url, params) => { + const accessToken = getToken() + return axios({ + method: 'post', + url: `${base}${url}`, + data: params, + headers: { + accessToken: accessToken + } + }) +} diff --git a/src/utils/baocun.js b/src/utils/baocun.js new file mode 100644 index 0000000..3103840 --- /dev/null +++ b/src/utils/baocun.js @@ -0,0 +1,66 @@ +const TokenKey = 'AdminWuJingToken' +const userInfo = 'wj_user' + +// 保存基础信息 +export function getuser() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setuser(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 保存修改基础信息 +export function getXiu() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setXiu(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 保存查看基础信息 +export function getLook() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setLook(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 信息 +export function getChe() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setChe(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 经销商保存 +export function getJing() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setJing(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 车辆 +// 车型名称保存 +export function getCHeap() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setCHeap(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} + +// 车型sid保存 +export function getMIng() { + return JSON.parse(localStorage.getItem(userInfo)) +} + +export function setMIng(obj) { + return localStorage.setItem(userInfo, JSON.stringify(obj)) +} diff --git a/src/utils/get-page-title.js b/src/utils/get-page-title.js new file mode 100644 index 0000000..a6de99d --- /dev/null +++ b/src/utils/get-page-title.js @@ -0,0 +1,10 @@ +import defaultSettings from '@/settings' + +const title = defaultSettings.title || 'Vue Admin Template' + +export default function getPageTitle(pageTitle) { + if (pageTitle) { + return `${pageTitle} - ${title}` + } + return `${title}` +} diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 0000000..4830c04 --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,117 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * Parse the time to string + * @param {(Object|string|number)} time + * @param {string} cFormat + * @returns {string | null} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0 || !time) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string')) { + if ((/^[0-9]+$/.test(time))) { + // support "1548221490638" + time = parseInt(time) + } else { + // support safari + // https://stackoverflow.com/questions/4310953/invalid-date-in-safari + time = time.replace(new RegExp(/-/gm), '/') + } + } + + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { + const value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] } + return value.toString().padStart(2, '0') + }) + return time_str +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') + if (!search) { + return {} + } + const obj = {} + const searchArr = search.split('&') + searchArr.forEach(v => { + const index = v.indexOf('=') + if (index !== -1) { + const name = v.substring(0, index) + const val = v.substring(index + 1, v.length) + obj[name] = val + } + }) + return obj +} diff --git a/src/utils/print.js b/src/utils/print.js new file mode 100644 index 0000000..799a333 --- /dev/null +++ b/src/utils/print.js @@ -0,0 +1,123 @@ +// 打印类属性、方法定义 +/* eslint-disable */ +const Print =function(dom, options) { + if (!(this instanceof Print)) return new Print(dom, options); + + this.options = this.extend({ + 'noPrint': '.no-print' + }, options); + + if ((typeof dom) === "string") { + this.dom = document.querySelector(dom); + } else { + this.dom = dom; + } + + this.init(); +}; +Print.prototype = { + init: function () { + var content = this.getStyle() + this.getHtml(); + this.writeIframe(content); + }, + extend: function (obj, obj2) { + for (var k in obj2) { + obj[k] = obj2[k]; + } + return obj; + }, + + getStyle: function () { + var str = "", + styles = document.querySelectorAll('style,link'); + for (var i = 0; i < styles.length; i++) { + str += styles[i].outerHTML; + } + str += ""; + + return str; + }, + + getHtml: function () { + var inputs = document.querySelectorAll('input'); + var textareas = document.querySelectorAll('textarea'); + var selects = document.querySelectorAll('select'); + + for (var k in inputs) { + if (inputs[k].type == "checkbox" || inputs[k].type == "radio") { + if (inputs[k].checked == true) { + inputs[k].setAttribute('checked', "checked") + } else { + inputs[k].removeAttribute('checked') + } + } else if (inputs[k].type == "text") { + inputs[k].setAttribute('value', inputs[k].value) + } + } + + for (var k2 in textareas) { + if (textareas[k2].type == 'textarea') { + textareas[k2].innerHTML = textareas[k2].value + } + } + + for (var k3 in selects) { + if (selects[k3].type == 'select-one') { + var child = selects[k3].children; + for (var i in child) { + if (child[i].tagName == 'OPTION') { + if (child[i].selected == true) { + child[i].setAttribute('selected', "selected") + } else { + child[i].removeAttribute('selected') + } + } + } + } + } + + return this.dom.outerHTML; + }, + + writeIframe: function (content) { + var w, doc, iframe = document.createElement('iframe'), + f = document.body.appendChild(iframe); + iframe.id = "myIframe"; + iframe.style = "position:absolute;width:0;height:0;top:-10px;left:-10px;"; + + w = f.contentWindow || f.contentDocument; + doc = f.contentDocument || f.contentWindow.document; + doc.open(); + doc.write(content); + doc.close(); + this.toPrint(w); + + setTimeout(function () { + document.body.removeChild(iframe) + }, 100) + }, + + toPrint: function (frameWindow) { + try { + setTimeout(function () { + frameWindow.focus(); + try { + if (!frameWindow.document.execCommand('print', false, null)) { + frameWindow.print(); + } + } catch (e) { + frameWindow.print(); + } + frameWindow.close(); + }, 10); + } catch (err) { + console.log('err', err); + } + } +}; +const MyPlugin = {} +MyPlugin.install = function (Vue, options) { + // 4. 添加实例方法 + Vue.prototype.$print = Print +} +export default MyPlugin \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..12093fa --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,103 @@ +import axios from 'axios' +import { MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken, getStorage } from '@/utils/auth' + +// create an axios instance +const service = axios.create({ + baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url + // withCredentials: true, // send cookies when cross-domain requests + timeout: 30000 // request timeout +}) + +// request interceptor +service.interceptors.request.use( + config => { + // do something before request is sent + + // if (store.getters.token) { + // // let each request carry token + // // ['X-Token'] is a custom headers key + // // please modify it according to the actual situation + // config.headers['X-Token'] = getToken() + // } + if (getStorage()) { + // let each request carry token + // ['X-Token'] is a custom headers key + // please modify it according to the actual situation + config.headers['token'] = getStorage() + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } +) + +// response interceptor +service.interceptors.response.use( + /** + * If you want to get http information such as headers or status + * Please return response => response + */ + + /** + * Determine the request status by custom code + * Here is just an example + * You can also judge the status by HTTP Status Code + */ + response => { + const res = response.data + const statusCode = response.status + + // if the custom code is not 20000, it is judged as an error. + if (statusCode !== 200) { + Message({ + message: res.msg || response.message || 'Error', + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + + // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; + if (statusCode === 401 || res.code === '5000' || res.code === 5000 || res.code === 50012 || res.code === 50014) { + // to re-login + MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + store.dispatch('logout').then(() => { + location.href = 'http://120.46.131.15/#/login' + // location.reload() + }) + }) + } + return Promise.reject(new Error(res.message || 'Error')) + } else { + if (!res.success) { + Message({ + message: res.msg || 'Error', + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + } + return res + } + }, + error => { + console.log('err' + error) // for debug + Message({ + message: error.message, + type: 'error', + showClose: true, + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +export default service diff --git a/src/utils/roles.js b/src/utils/roles.js new file mode 100644 index 0000000..07a6557 --- /dev/null +++ b/src/utils/roles.js @@ -0,0 +1,98 @@ +/** + * 表单校验规则 + * 不符合规则时,返回错误文案 + * 符合规则时,返回false + */ + +var rules = {} + +// 是否必填 +rules.required = function (value) { + return (!!value || value === 0) ? false : "请输入内容" +}; + +// 最大字符长度 +rules.maxLength = function (value, size) { + var size = size || 256; + return String(value).length <= size ? false : ("最大不超过" + size + "个字符") +} + +// 只允许字母和数字 +rules.onlyAlphabetic = function (value) { + var reg = /^[0-9a-zA-Z]+$/; + return reg.test(value) ? false : "只能输入字母和数字" +} + +// 只允许字母数字和下划线 +rules.onlyAlphabeticUnderline = function (value) { + var reg = /^[0-9a-zA-Z_]+$/; + return reg.test(value) ? false : "只能输入字母、数字或下划线" +} + +// 只允许数字 +rules.onlyNumber = function (value) { + var reg = /^[0-9]+$/; + return reg.test(value) ? false : "只能输入数字" +} + +// 只允许字母 +rules.onlyLetter = function (value) { + var reg = /^[a-zA-Z]+$/; + return reg.test(value) ? false : "只能输入字母" +} + +// 特殊字符 +rules.noSpecial = function (value) { + var regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im, + regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im; + return regEn.test(value) || regCn.test(value) ? false : "不能输入特殊字符" +} + +// 邮箱 +rules.email = function (value) { + var reg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/; + return reg.test(value) ? false : "邮箱格式错误" +} + +// 手机号(以1开头的11位数字) +rules.phone = function (value) { + var reg = /^[1][3,4,5,7,8][0-9]{9}$/; + return reg.test(value) ? false : "手机格式错误" +} + +// 只允许汉字 +rules.chinese = function (value) { + var reg = /^[\u4e00-\u9fa5]+$/; + return reg.test(value) ? false : "只能输入汉字" +} + +// 密码格式校验 +rules.password = function (value) { + if (String(value).length < 6) { + return "密码长度不小于6位" + } + if (String(value).length > 18) { + return "密码长度不超过18位" + } + var level = 0; + if (value.search(/[a-z]/) > -1) { + level++; //密码中包含小写字母 + } + if (value.search(/[A-Z]/) > -1) { + level++; //密码中包含大写字母 + } + if (value.search(/[0-9]/) > -1) { + level++; //密码中包含数组 + } + if (value.search(/[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im) > -1) { + level++; //密码中包含特殊符号 + } + if(level<2){ + return "密码至少包含大写字母、小写字母、数字、标点符号中的两种" + }else{ + return level; // 当前密码强度为level(2/3/4) + } +} + + +export default rules; \ No newline at end of file diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..8d962ad --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,20 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} diff --git a/src/views/404.vue b/src/views/404.vue new file mode 100644 index 0000000..1791f55 --- /dev/null +++ b/src/views/404.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue new file mode 100644 index 0000000..d1c0b2f --- /dev/null +++ b/src/views/Home/Home.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/views/Process/BpmData.js b/src/views/Process/BpmData.js new file mode 100644 index 0000000..672ca44 --- /dev/null +++ b/src/views/Process/BpmData.js @@ -0,0 +1,68 @@ +/** + * 存储流程设计相关参数 + */ +export default class BpmData { + constructor() { + this.controls = [] // 设计器控件 + this.init() + } + + init() { + this.controls = [ + { + action: 'create.start-event', + title: '开始' + }, + { + action: 'create.intermediate-event', + title: '中间' + }, + { + action: 'create.end-event', + title: '结束' + }, + { + action: 'create.exclusive-gateway', + title: '网关' + }, + { + action: 'create.task', + title: '任务' + }, + { + action: 'create.user-task', + title: '用户任务' + }, + { + action: 'create.user-sign-task', + title: '会签任务' + }, + { + action: 'create.subprocess-expanded', + title: '子流程' + }, + { + action: 'create.data-object', + title: '数据对象' + }, + { + action: 'create.data-store', + title: '数据存储' + }, + { + action: 'create.participant-expanded', + title: '扩展流程' + }, + { + action: 'create.group', + title: '分组' + } + ] + } + + // 获取控件配置信息 + getControl(action) { + const result = this.controls.filter(item => item.action === action) + return result[0] || {} + } +} diff --git a/src/views/Process/PropertyPanel.vue b/src/views/Process/PropertyPanel.vue new file mode 100644 index 0000000..970bd0f --- /dev/null +++ b/src/views/Process/PropertyPanel.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/views/Process/common/customTranslate.js b/src/views/Process/common/customTranslate.js new file mode 100644 index 0000000..fa05f9d --- /dev/null +++ b/src/views/Process/common/customTranslate.js @@ -0,0 +1,20 @@ +import translations from '../lang/zh' + +export default function customTranslate(template, replacements) { + replacements = replacements || {} + + // Translate + template = translations[template] || template + + // Replace + return template.replace(/{([^}]+)}/g, function(_, key) { + var str = replacements[key] + if ( + translations[replacements[key]] !== null && + translations[replacements[key]] !== 'undefined' + ) { + str = translations[replacements[key]] + } + return str || '{' + key + '}' + }) +} diff --git a/src/views/Process/common/mixinExecutionListener.js b/src/views/Process/common/mixinExecutionListener.js new file mode 100644 index 0000000..23295b0 --- /dev/null +++ b/src/views/Process/common/mixinExecutionListener.js @@ -0,0 +1,24 @@ + +import executionListenerDialog from '../components/nodePanel/property/executionListener' +export default { + components: { + executionListenerDialog + }, + data() { + return { + executionListenerLength: 0, + dialogName: null + } + }, + methods: { + computedExecutionListenerLength() { + this.executionListenerLength = this.element.businessObject.extensionElements?.values?.length ?? 0 + }, + finishExecutionListener() { + if (this.dialogName === 'executionListenerDialog') { + this.computedExecutionListenerLength() + } + this.dialogName = '' + } + } +} diff --git a/src/views/Process/common/mixinPanel.js b/src/views/Process/common/mixinPanel.js new file mode 100644 index 0000000..8686b98 --- /dev/null +++ b/src/views/Process/common/mixinPanel.js @@ -0,0 +1,70 @@ +import xcrud from 'xcrud' +import golbalConfig from 'xcrud/package/common/config' +import showConfig from '../flowable/showConfig' +golbalConfig.set({ + input: { + // size: 'mini' + }, + select: { + // size: 'mini' + }, + colorPicker: { + showAlpha: true + }, + xform: { + form: { + labelWidth: 'auto' + // size: 'mini' + } + } +}) +export default { + components: { xForm: xcrud.xForm }, + props: { + modeler: { + type: Object, + required: true + }, + element: { + type: Object, + required: true + }, + categorys: { + type: Array, + default: () => [] + } + }, + watch: { + 'formData.id': function(val) { + this.updateProperties({ id: val }) + }, + 'formData.name': function(val) { + this.updateProperties({ name: val }) + }, + 'formData.documentation': function(val) { + if (!val) { + this.updateProperties({ documentation: [] }) + return + } + const documentationElement = this.modeler.get('moddle').create('bpmn:Documentation', { text: val }) + this.updateProperties({ documentation: [documentationElement] }) + } + }, + methods: { + updateProperties(properties) { + const modeling = this.modeler.get('modeling') + modeling.updateProperties(this.element, properties) + } + }, + computed: { + elementType() { + const bizObj = this.element.businessObject + return bizObj.eventDefinitions + ? bizObj.eventDefinitions[0].$type + : bizObj.$type + }, + showConfig() { + return showConfig[this.elementType] || {} + } + } +} diff --git a/src/views/Process/common/mixinXcrud.js b/src/views/Process/common/mixinXcrud.js new file mode 100644 index 0000000..1f7ee5b --- /dev/null +++ b/src/views/Process/common/mixinXcrud.js @@ -0,0 +1,22 @@ +import xcrud from 'xcrud' +import golbalConfig from 'xcrud/package/common/config' +golbalConfig.set({ + input: { + // size: 'mini' + }, + select: { + // size: 'mini' + }, + colorPicker: { + showAlpha: true + }, + xform: { + form: { + labelWidth: 'auto' + // size: 'mini' + } + } +}) +export default { + components: { xForm: xcrud.xForm } +} diff --git a/src/views/Process/common/parseElement.js b/src/views/Process/common/parseElement.js new file mode 100644 index 0000000..63cf336 --- /dev/null +++ b/src/views/Process/common/parseElement.js @@ -0,0 +1,53 @@ +export function commonParse(element) { + const result = { + ...element.businessObject, + ...element.businessObject.$attrs + } + return formatJsonKeyValue(result) +} + +export function formatJsonKeyValue(result) { + // 移除flowable前缀,格式化数组 + for (const key in result) { + if (key.indexOf('flowable:') === 0) { + const newKey = key.replace('flowable:', '') + result[newKey] = result[key] + delete result[key] + } + } + result = documentationParse(result) + return result +} + +export function documentationParse(obj) { + if ('documentation' in obj) { + let str = '' + obj.documentation.forEach(item => { + str += item.text + }) + obj.documentation = str + } + return obj +} + +export function conditionExpressionParse(obj) { + if ('conditionExpression' in obj) { + obj.conditionExpression = obj.conditionExpression.body + } + return obj +} + +export function userTaskParse(obj) { + for (const key in obj) { + if (key === 'candidateUsers') { + obj.userType = 'candidateUsers' + obj[key] = obj[key]?.split(',') || [] + } else if (key === 'candidateGroups') { + obj.userType = 'candidateGroups' + obj[key] = obj[key]?.split(',') || [] + } else if (key === 'assignee') { + obj.userType = 'assignee' + } + } + return obj +} diff --git a/src/views/Process/components/custom/customContextPad.vue b/src/views/Process/components/custom/customContextPad.vue new file mode 100644 index 0000000..89c2f68 --- /dev/null +++ b/src/views/Process/components/custom/customContextPad.vue @@ -0,0 +1,24 @@ +export default class CustomContextPad { + constructor(config, contextPad, create, elementFactory, injector, translate) { + this.create = create; + this.elementFactory = elementFactory; + this.translate = translate; + + if (config.autoPlace !== false) { + this.autoPlace = injector.get('autoPlace', false); + } + + contextPad.registerProvider(this); // 定义这是一个contextPad + } + + getContextPadEntries(element) {} +} + +CustomContextPad.$inject = [ + 'config', + 'contextPad', + 'create', + 'elementFactory', + 'injector', + 'translate' +]; diff --git a/src/views/Process/components/nodePanel/gateway.vue b/src/views/Process/components/nodePanel/gateway.vue new file mode 100644 index 0000000..db18153 --- /dev/null +++ b/src/views/Process/components/nodePanel/gateway.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/process.vue b/src/views/Process/components/nodePanel/process.vue new file mode 100644 index 0000000..6946f1e --- /dev/null +++ b/src/views/Process/components/nodePanel/process.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/property/executionListener.vue b/src/views/Process/components/nodePanel/property/executionListener.vue new file mode 100644 index 0000000..1a15b8a --- /dev/null +++ b/src/views/Process/components/nodePanel/property/executionListener.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/property/listenerParam.vue b/src/views/Process/components/nodePanel/property/listenerParam.vue new file mode 100644 index 0000000..dd8ace1 --- /dev/null +++ b/src/views/Process/components/nodePanel/property/listenerParam.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/property/multiInstance.vue b/src/views/Process/components/nodePanel/property/multiInstance.vue new file mode 100644 index 0000000..357b716 --- /dev/null +++ b/src/views/Process/components/nodePanel/property/multiInstance.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/property/signal.vue b/src/views/Process/components/nodePanel/property/signal.vue new file mode 100644 index 0000000..2c29d73 --- /dev/null +++ b/src/views/Process/components/nodePanel/property/signal.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/property/taskListener.vue b/src/views/Process/components/nodePanel/property/taskListener.vue new file mode 100644 index 0000000..0f72a89 --- /dev/null +++ b/src/views/Process/components/nodePanel/property/taskListener.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/sequenceFlow.vue b/src/views/Process/components/nodePanel/sequenceFlow.vue new file mode 100644 index 0000000..178cd7d --- /dev/null +++ b/src/views/Process/components/nodePanel/sequenceFlow.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/startEnd.vue b/src/views/Process/components/nodePanel/startEnd.vue new file mode 100644 index 0000000..2740bf6 --- /dev/null +++ b/src/views/Process/components/nodePanel/startEnd.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/views/Process/components/nodePanel/task.vue b/src/views/Process/components/nodePanel/task.vue new file mode 100644 index 0000000..61a00d1 --- /dev/null +++ b/src/views/Process/components/nodePanel/task.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/src/views/Process/flowable/flowable.json b/src/views/Process/flowable/flowable.json new file mode 100644 index 0000000..73ac308 --- /dev/null +++ b/src/views/Process/flowable/flowable.json @@ -0,0 +1,1194 @@ +{ + "name": "Flowable", + "uri": "http://flowable.org/bpmn", + "prefix": "flowable", + "xml": { + "tagAlias": "lowerCase" + }, + "associations": [], + "types": [ + { + "name": "InOutBinding", + "superClass": ["Element"], + "isAbstract": true, + "properties": [ + { + "name": "source", + "isAttr": true, + "type": "String" + }, + { + "name": "sourceExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "target", + "isAttr": true, + "type": "String" + }, + { + "name": "businessKey", + "isAttr": true, + "type": "String" + }, + { + "name": "local", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "variables", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "In", + "superClass": ["InOutBinding"], + "meta": { + "allowedIn": ["bpmn:CallActivity"] + } + }, + { + "name": "Out", + "superClass": ["InOutBinding"], + "meta": { + "allowedIn": ["bpmn:CallActivity"] + } + }, + { + "name": "AsyncCapable", + "isAbstract": true, + "extends": ["bpmn:Activity", "bpmn:Gateway", "bpmn:Event"], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncBefore", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "asyncAfter", + "isAttr": true, + "type": "Boolean", + "default": false + }, + { + "name": "exclusive", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "flowable:in", + "superClass": ["Element"], + "properties": [ + { + "name": "source", + "type": "string", + "isAttr": true + }, + { + "name": "target", + "type": "string", + "isAttr": true + } + ] + }, + { + "name": "flowable:out", + "superClass": ["Element"], + "properties": [ + { + "name": "source", + "type": "string", + "isAttr": true + }, + { + "name": "target", + "type": "string", + "isAttr": true + } + ] + }, + { + "name": "BoundaryEvent", + "superClass": ["CatchEvent"], + "properties": [ + { + "name": "cancelActivity", + "default": true, + "isAttr": true, + "type": "Boolean" + }, + { + "name": "attachedToRef", + "type": "Activity", + "isAttr": true, + "isReference": true + } + ] + }, + { + "name": "JobPriorized", + "isAbstract": true, + "extends": ["bpmn:Process", "flowable:AsyncCapable"], + "properties": [ + { + "name": "jobPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "SignalEventDefinition", + "isAbstract": true, + "extends": ["bpmn:SignalEventDefinition"], + "properties": [ + { + "name": "async", + "isAttr": true, + "type": "Boolean", + "default": false + } + ] + }, + { + "name": "ErrorEventDefinition", + "isAbstract": true, + "extends": ["bpmn:ErrorEventDefinition"], + "properties": [ + { + "name": "errorCodeVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "errorMessageVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Error", + "isAbstract": true, + "extends": ["bpmn:Error"], + "properties": [ + { + "name": "flowable:errorMessage", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "PotentialStarter", + "superClass": ["Element"], + "properties": [ + { + "name": "resourceAssignmentExpression", + "type": "bpmn:ResourceAssignmentExpression" + } + ] + }, + { + "name": "UserTask", + "isAbstract": true, + "extends": ["bpmn:UserTask"], + "properties": [ + { + "name": "timerEventDefinition", + "type": "Expression" + }, + { + "name": "multiInstanceLoopCharacteristics", + "type": "MultiInstanceLoopCharacteristics" + } + ] + }, + { + "name": "StartEvent", + "isAbstract": true, + "extends": ["bpmn:StartEvent"], + "properties": [ + { + "name": "timerEventDefinition", + "type": "Expression" + } + ] + }, + { + "name": "FormSupported", + "isAbstract": true, + "extends": ["bpmn:StartEvent", "bpmn:UserTask"], + "properties": [ + { + "name": "formHandlerClass", + "isAttr": true, + "type": "String" + }, + { + "name": "formKey", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TemplateSupported", + "isAbstract": true, + "extends": ["bpmn:Process", "bpmn:FlowElement"], + "properties": [ + { + "name": "modelerTemplate", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Initiator", + "isAbstract": true, + "extends": ["bpmn:StartEvent"], + "properties": [ + { + "name": "initiator", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ScriptTask", + "isAbstract": true, + "extends": ["bpmn:ScriptTask"], + "properties": [ + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Process", + "isAbstract": true, + "extends": ["bpmn:Process"], + "properties": [ + { + "name": "candidateStarterGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "candidateStarterUsers", + "isAttr": true, + "type": "String" + }, + { + "name": "versionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "historyTimeToLive", + "isAttr": true, + "type": "String" + }, + { + "name": "isStartableInTasklist", + "isAttr": true, + "type": "Boolean", + "default": true + } + ] + }, + { + "name": "EscalationEventDefinition", + "isAbstract": true, + "extends": ["bpmn:EscalationEventDefinition"], + "properties": [ + { + "name": "escalationCodeVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "FormalExpression", + "isAbstract": true, + "extends": ["bpmn:FormalExpression"], + "properties": [ + { + "name": "resource", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Assignable", + "extends": ["bpmn:UserTask"], + "properties": [ + { + "name": "candidateGroups", + "isAttr": true, + "type": "String" + }, + { + "name": "dueDate", + "isAttr": true, + "type": "String" + }, + { + "name": "followUpDate", + "isAttr": true, + "type": "String" + }, + { + "name": "priority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "CallActivity", + "extends": ["bpmn:CallActivity"], + "properties": [ + { + "name": "calledElementBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "calledElementVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementVersionTag", + "isAttr": true, + "type": "String" + }, + { + "name": "calledElementTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "caseRef", + "isAttr": true, + "type": "String" + }, + { + "name": "caseBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "caseVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "caseTenantId", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingClass", + "isAttr": true, + "type": "String" + }, + { + "name": "variableMappingDelegateExpression", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ServiceTaskLike", + "extends": [ + "bpmn:ServiceTask", + "bpmn:BusinessRuleTask", + "bpmn:SendTask", + "bpmn:MessageEventDefinition" + ], + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "resultVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ExclusiveGateway", + "isAbstract": true, + "extends": ["bpmn:ExclusiveGateway"], + "properties": [ + { + "name": "serviceClass", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "DmnCapable", + "extends": ["bpmn:BusinessRuleTask"], + "properties": [ + { + "name": "decisionRef", + "isAttr": true, + "type": "String" + }, + { + "name": "decisionRefBinding", + "isAttr": true, + "type": "String", + "default": "latest" + }, + { + "name": "decisionRefVersion", + "isAttr": true, + "type": "String" + }, + { + "name": "mapDecisionResult", + "isAttr": true, + "type": "String", + "default": "resultList" + }, + { + "name": "decisionRefTenantId", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "ExternalCapable", + "extends": ["flowable:ServiceTaskLike"], + "properties": [ + { + "name": "type", + "isAttr": true, + "type": "String" + }, + { + "name": "topic", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "TaskPriorized", + "extends": ["bpmn:Process", "flowable:ExternalCapable"], + "properties": [ + { + "name": "taskPriority", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "Properties", + "superClass": ["Element"], + "meta": { + "allowedIn": ["*"] + }, + "properties": [ + { + "name": "values", + "type": "Property", + "isMany": true + } + ] + }, + { + "name": "Property", + "superClass": ["Element"], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "value", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "Connector", + "superClass": ["Element"], + "meta": { + "allowedIn": ["flowable:ServiceTaskLike"] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + } + ] + }, + { + "name": "InputOutput", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:FlowNode", "flowable:Connector"] + }, + "properties": [ + { + "name": "inputOutput", + "type": "InputOutput" + }, + { + "name": "connectorId", + "type": "String" + }, + { + "name": "inputParameters", + "isMany": true, + "type": "InputParameter" + }, + { + "name": "outputParameters", + "isMany": true, + "type": "OutputParameter" + } + ] + }, + { + "name": "InputOutputParameter", + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "InputOutputParameterDefinition", + "isAbstract": true + }, + { + "name": "List", + "superClass": ["InputOutputParameterDefinition"], + "properties": [ + { + "name": "items", + "isMany": true, + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Map", + "superClass": ["InputOutputParameterDefinition"], + "properties": [ + { + "name": "entries", + "isMany": true, + "type": "Entry" + } + ] + }, + { + "name": "Entry", + "properties": [ + { + "name": "key", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + }, + { + "name": "definition", + "type": "InputOutputParameterDefinition" + } + ] + }, + { + "name": "Value", + "superClass": ["InputOutputParameterDefinition"], + "properties": [ + { + "name": "id", + "isAttr": true, + "type": "String" + }, + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Script", + "superClass": ["InputOutputParameterDefinition"], + "properties": [ + { + "name": "scriptFormat", + "isAttr": true, + "type": "String" + }, + { + "name": "resource", + "isAttr": true, + "type": "String" + }, + { + "name": "value", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "Field", + "superClass": ["Element"], + "meta": { + "allowedIn": [ + "flowable:ServiceTaskLike", + "flowable:ExecutionListener", + "flowable:TaskListener" + ] + }, + "properties": [ + { + "name": "name", + "isAttr": true, + "type": "String" + }, + { + "name": "expression", + "isAttr": true, + "type": "expression" + }, + { + "name": "string", + "type": "string" + }, + { + "name": "stringValue", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "string", + "superClass": ["Element"], + "meta": { + "allowedIn": [ + "flowable:Field" + ] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "expression", + "superClass": ["Element"], + "meta": { + "allowedIn": [ + "flowable:Field" + ] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "InputParameter", + "superClass": ["InputOutputParameter"] + }, + { + "name": "OutputParameter", + "superClass": ["InputOutputParameter"] + }, + { + "name": "Collectable", + "isAbstract": true, + "extends": ["bpmn:MultiInstanceLoopCharacteristics"], + "superClass": ["flowable:AsyncCapable"], + "properties": [ + { + "name": "collection", + "isAttr": true, + "type": "String" + }, + { + "name": "elementVariable", + "isAttr": true, + "type": "String" + } + ] + }, + { + "name": "SequenceFlow", + "superClass": ["FlowElement"], + "properties": [ + { + "name": "isImmediate", + "isAttr": true, + "type": "Boolean" + }, + { + "name": "conditionExpression", + "type": "Expression" + }, + { + "name": "sourceRef", + "type": "FlowNode", + "isAttr": true, + "isReference": true + }, + { + "name": "targetRef", + "type": "FlowNode", + "isAttr": true, + "isReference": true + } + ] + }, + { + "name": "MultiInstanceLoopCharacteristics", + "superClass": ["LoopCharacteristics"], + "properties": [ + { + "name": "isSequential", + "default": false, + "isAttr": true, + "type": "Boolean" + }, + { + "name": "behavior", + "type": "MultiInstanceBehavior", + "default": "All", + "isAttr": true + }, + { + "name": "loopCardinality", + "type": "Expression", + "xml": { + "serialize": "xsi:type" + } + }, + { + "name": "loopDataInputRef", + "type": "ItemAwareElement", + "isReference": true + }, + { + "name": "loopDataOutputRef", + "type": "ItemAwareElement", + "isReference": true + }, + { + "name": "inputDataItem", + "type": "DataInput", + "xml": { + "serialize": "property" + } + }, + { + "name": "outputDataItem", + "type": "DataOutput", + "xml": { + "serialize": "property" + } + }, + { + "name": "complexBehaviorDefinition", + "type": "ComplexBehaviorDefinition", + "isMany": true + }, + { + "name": "completionCondition", + "type": "Expression", + "xml": { + "serialize": "xsi:type" + } + }, + { + "name": "oneBehaviorEventRef", + "type": "EventDefinition", + "isAttr": true, + "isReference": true + }, + { + "name": "noneBehaviorEventRef", + "type": "EventDefinition", + "isAttr": true, + "isReference": true + } + ] + }, + { + "name": "FailedJobRetryTimeCycle", + "superClass": ["Element"], + "meta": { + "allowedIn": ["flowable:AsyncCapable", "bpmn:MultiInstanceLoopCharacteristics"] + }, + "properties": [ + { + "name": "body", + "isBody": true, + "type": "String" + } + ] + }, + { + "name": "ExecutionListener", + "superClass": ["Element"], + "meta": { + "allowedIn": [ + "bpmn:Task", + "bpmn:ServiceTask", + "bpmn:UserTask", + "bpmn:BusinessRuleTask", + "bpmn:ScriptTask", + "bpmn:ReceiveTask", + "bpmn:ManualTask", + "bpmn:ExclusiveGateway", + "bpmn:SequenceFlow", + "bpmn:ParallelGateway", + "bpmn:InclusiveGateway", + "bpmn:EventBasedGateway", + "bpmn:StartEvent", + "bpmn:IntermediateCatchEvent", + "bpmn:IntermediateThrowEvent", + "bpmn:EndEvent", + "bpmn:BoundaryEvent", + "bpmn:CallActivity", + "bpmn:SubProcess", + "bpmn:Process" + ] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "TaskListener", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:UserTask"] + }, + "properties": [ + { + "name": "expression", + "isAttr": true, + "type": "String" + }, + { + "name": "class", + "isAttr": true, + "type": "String" + }, + { + "name": "delegateExpression", + "isAttr": true, + "type": "String" + }, + { + "name": "event", + "isAttr": true, + "type": "String" + }, + { + "name": "script", + "type": "Script" + }, + { + "name": "fields", + "type": "Field", + "isMany": true + } + ] + }, + { + "name": "FormProperty", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:StartEvent", "bpmn:UserTask"] + }, + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "required", + "type": "String", + "isAttr": true + }, + { + "name": "readable", + "type": "String", + "isAttr": true + }, + { + "name": "writable", + "type": "String", + "isAttr": true + }, + { + "name": "variable", + "type": "String", + "isAttr": true + }, + { + "name": "expression", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "default", + "type": "String", + "isAttr": true + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "FormData", + "superClass": ["Element"], + "meta": { + "allowedIn": ["bpmn:StartEvent", "bpmn:UserTask"] + }, + "properties": [ + { + "name": "fields", + "type": "FormField", + "isMany": true + }, + { + "name": "businessKey", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "FormField", + "superClass": ["Element"], + "properties": [ + { + "name": "id", + "type": "String", + "isAttr": true + }, + { + "name": "label", + "type": "String", + "isAttr": true + }, + { + "name": "type", + "type": "String", + "isAttr": true + }, + { + "name": "datePattern", + "type": "String", + "isAttr": true + }, + { + "name": "defaultValue", + "type": "String", + "isAttr": true + }, + { + "name": "properties", + "type": "Properties" + }, + { + "name": "validation", + "type": "Validation" + }, + { + "name": "values", + "type": "Value", + "isMany": true + } + ] + }, + { + "name": "Validation", + "superClass": ["Element"], + "properties": [ + { + "name": "constraints", + "type": "Constraint", + "isMany": true + } + ] + }, + { + "name": "Constraint", + "superClass": ["Element"], + "properties": [ + { + "name": "name", + "type": "String", + "isAttr": true + }, + { + "name": "config", + "type": "String", + "isAttr": true + } + ] + }, + { + "name": "ConditionalEventDefinition", + "isAbstract": true, + "extends": ["bpmn:ConditionalEventDefinition"], + "properties": [ + { + "name": "variableName", + "isAttr": true, + "type": "String" + }, + { + "name": "variableEvent", + "isAttr": true, + "type": "String" + } + ] + } + ], + "emumerations": [] + } diff --git a/src/views/Process/flowable/init.js b/src/views/Process/flowable/init.js new file mode 100644 index 0000000..ec9e282 --- /dev/null +++ b/src/views/Process/flowable/init.js @@ -0,0 +1,24 @@ + +function randomStr() { + return Math.random().toString(36).slice(-8) +} + +export default function() { + return ` + + + + + + + + + + + + + + + + ` +} diff --git a/src/views/Process/flowable/showConfig.js b/src/views/Process/flowable/showConfig.js new file mode 100644 index 0000000..69ba83e --- /dev/null +++ b/src/views/Process/flowable/showConfig.js @@ -0,0 +1,55 @@ +export default { + 'bpmn:EndEvent': {}, + 'bpmn:StartEvent': { + initiator: true, + formKey: true + }, + 'bpmn:UserTask': { + userType: true, + dataType: true, + assignee: true, + candidateUsers: true, + candidateGroups: true, + // assigneeFixed: true, + // candidateUsersFixed: true, + // candidateGroupsFixed: true, + async: true, + priority: true, + formKey: true, + skipExpression: true, + dueDate: true, + taskListener: true + }, + 'bpmn:ServiceTask': { + async: true, + skipExpression: true, + isForCompensation: true, + triggerable: true, + class: true + }, + 'bpmn:ScriptTask': { + async: true, + isForCompensation: true, + autoStoreVariables: true + }, + 'bpmn:ManualTask': { + async: true, + isForCompensation: true + }, + 'bpmn:ReceiveTask': { + async: true, + isForCompensation: true + }, + 'bpmn:SendTask': { + async: true, + isForCompensation: true + }, + 'bpmn:BusinessRuleTask': { + async: true, + isForCompensation: true, + ruleVariablesInput: true, + rules: true, + resultVariable: true, + exclude: true + } +} diff --git a/src/views/Process/index.js b/src/views/Process/index.js new file mode 100644 index 0000000..f78489d --- /dev/null +++ b/src/views/Process/index.js @@ -0,0 +1,5 @@ +import workflowBpmnModeler from './index.vue' + +workflowBpmnModeler.install = Vue => Vue.component(workflowBpmnModeler.name, workflowBpmnModeler) // 给组件配置install方法 + +export default workflowBpmnModeler diff --git a/src/views/Process/index.vue b/src/views/Process/index.vue new file mode 100644 index 0000000..fd40e36 --- /dev/null +++ b/src/views/Process/index.vue @@ -0,0 +1,467 @@ + + + + + diff --git a/src/views/Process/lang/zh.js b/src/views/Process/lang/zh.js new file mode 100644 index 0000000..003c0cc --- /dev/null +++ b/src/views/Process/lang/zh.js @@ -0,0 +1,227 @@ +export default { + // Labels + 'Activate the global connect tool': '激活全局连接工具', + 'Append {type}': '添加 {type}', + 'Add Lane above': '在上面添加道', + 'Divide into two Lanes': '分割成两个道', + 'Divide into three Lanes': '分割成三个道', + 'Add Lane below': '在下面添加道', + 'Append compensation activity': '追加补偿活动', + 'Change type': '修改类型', + 'Connect using Association': '使用关联连接', + 'Connect using Sequence/MessageFlow or Association': '使用顺序/消息流或者关联连接', + 'Connect using DataInputAssociation': '使用数据输入关联连接', + 'Remove': '移除', + 'Activate the hand tool': '激活抓手工具', + 'Activate the lasso tool': '激活套索工具', + 'Activate the create/remove space tool': '激活创建/删除空间工具', + 'Create expanded SubProcess': '创建扩展子过程', + 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间抛出事件/边界事件', + 'Create Pool/Participant': '创建池/参与者', + 'Parallel Multi Instance': '并行多重事件', + 'Sequential Multi Instance': '时序多重事件', + 'DataObjectReference': '数据对象参考', + 'DataStoreReference': '数据存储参考', + 'Loop': '循环', + 'Ad-hoc': '即席', + 'Create {type}': '创建 {type}', + 'Task': '任务', + 'Send Task': '发送任务', + 'Receive Task': '接收任务', + 'User Task': '用户任务', + 'Manual Task': '手工任务', + 'Business Rule Task': '业务规则任务', + 'Service Task': '服务任务', + 'Script Task': '脚本任务', + 'Call Activity': '调用活动', + 'Sub Process (collapsed)': '子流程(折叠的)', + 'Sub Process (expanded)': '子流程(展开的)', + 'Start Event': '开始事件', + 'StartEvent': '开始事件', + 'Intermediate Throw Event': '中间事件', + 'End Event': '结束事件', + 'EndEvent': '结束事件', + 'Create Gateway': '创建网关', + 'Create Intermediate/Boundary Event': '创建中间/边界事件', + 'Message Start Event': '消息开始事件', + 'Timer Start Event': '定时开始事件', + 'Conditional Start Event': '条件开始事件', + 'Signal Start Event': '信号开始事件', + 'Error Start Event': '错误开始事件', + 'Escalation Start Event': '升级开始事件', + 'Compensation Start Event': '补偿开始事件', + 'Message Start Event (non-interrupting)': '消息开始事件(非中断)', + 'Timer Start Event (non-interrupting)': '定时开始事件(非中断)', + 'Conditional Start Event (non-interrupting)': '条件开始事件(非中断)', + 'Signal Start Event (non-interrupting)': '信号开始事件(非中断)', + 'Escalation Start Event (non-interrupting)': '升级开始事件(非中断)', + 'Message Intermediate Catch Event': '消息中间捕获事件', + 'Message Intermediate Throw Event': '消息中间抛出事件', + 'Timer Intermediate Catch Event': '定时中间捕获事件', + 'Escalation Intermediate Throw Event': '升级中间抛出事件', + 'Conditional Intermediate Catch Event': '条件中间捕获事件', + 'Link Intermediate Catch Event': '链接中间捕获事件', + 'Link Intermediate Throw Event': '链接中间抛出事件', + 'Compensation Intermediate Throw Event': '补偿中间抛出事件', + 'Signal Intermediate Catch Event': '信号中间捕获事件', + 'Signal Intermediate Throw Event': '信号中间抛出事件', + 'Message End Event': '消息结束事件', + 'Escalation End Event': '定时结束事件', + 'Error End Event': '错误结束事件', + 'Cancel End Event': '取消结束事件', + 'Compensation End Event': '补偿结束事件', + 'Signal End Event': '信号结束事件', + 'Terminate End Event': '终止结束事件', + 'Message Boundary Event': '消息边界事件', + 'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)', + 'Timer Boundary Event': '定时边界事件', + 'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)', + 'Escalation Boundary Event': '升级边界事件', + 'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)', + 'Conditional Boundary Event': '条件边界事件', + 'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)', + 'Error Boundary Event': '错误边界事件', + 'Cancel Boundary Event': '取消边界事件', + 'Signal Boundary Event': '信号边界事件', + 'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)', + 'Compensation Boundary Event': '补偿边界事件', + 'Exclusive Gateway': '互斥网关', + 'Parallel Gateway': '并行网关', + 'Inclusive Gateway': '相容网关', + 'Complex Gateway': '复杂网关', + 'Event based Gateway': '事件网关', + 'Transaction': '转运', + 'Sub Process': '子流程', + 'Event Sub Process': '事件子流程', + 'Collapsed Pool': '折叠池', + 'Expanded Pool': '展开池', + // Errors + 'no parent for {element} in {parent}': '在{parent}里,{element}没有父类', + 'no shape type specified': '没有指定的形状类型', + 'flow elements must be children of pools/participants': '流元素必须是池/参与者的子类', + 'out of bounds release': 'out of bounds release', + 'more than {count} child lanes': '子道大于{count} ', + 'element required': '元素不能为空', + 'diagram not part of bpmn:Definitions': '流程图不符合bpmn规范', + 'no diagram to display': '没有可展示的流程图', + 'no process or collaboration to display': '没有可展示的流程/协作', + 'element {element} referenced by {referenced}#{property} not yet drawn': '由{referenced}#{property}引用的{element}元素仍未绘制', + 'already rendered {element}': '{element} 已被渲染', + 'failed to import {element}': '导入{element}失败', + // 属性面板的参数 + 'Id': '标识', + 'Name': '名称', + 'General': '常规', + 'Details': '详情', + 'Message Name': '消息名称', + 'Message': '消息', + 'Initiator': '创建者', + 'Asynchronous Continuations': '持续异步', + 'Asynchronous Before': '异步前', + 'Asynchronous After': '异步后', + 'Job Configuration': '工作配置', + 'Exclusive': '排除', + 'Job Priority': '工作优先级', + 'Retry Time Cycle': '重试时间周期', + 'Documentation': '文档', + 'Element Documentation': '元素文档', + 'History Configuration': '历史配置', + 'History Time To Live': '历史的生存时间', + 'Forms': '表单', + 'Form Key': '表单key', + 'Form Fields': '表单字段', + 'Business Key': '业务key', + 'Form Field': '表单字段', + 'ID': '编号', + 'Type': '类型', + 'Label': '名称', + 'Default Value': '默认值', + 'Validation': '校验', + 'Add Constraint': '添加约束', + 'Config': '配置', + 'Properties': '属性', + 'Add Property': '添加属性', + 'Value': '值', + 'Listeners': '监听器', + 'Execution Listener': '执行监听', + 'Event Type': '事件类型', + 'Listener Type': '监听器类型', + 'Java Class': 'Java类', + 'Expression': '表达式', + 'Must provide a value': '必须提供一个值', + 'Delegate Expression': '代理表达式', + 'Script': '脚本', + 'Script Format': '脚本格式', + 'Script Type': '脚本类型', + 'Inline Script': '内联脚本', + 'External Script': '外部脚本', + 'Resource': '资源', + 'Field Injection': '字段注入', + 'Extensions': '扩展', + 'Input/Output': '输入/输出', + 'Input Parameters': '输入参数', + 'Output Parameters': '输出参数', + 'Parameters': '参数', + 'Output Parameter': '输出参数', + 'Timer Definition Type': '定时器定义类型', + 'Timer Definition': '定时器定义', + 'Date': '日期', + 'Duration': '持续', + 'Cycle': '循环', + 'Signal': '信号', + 'Signal Name': '信号名称', + 'Escalation': '升级', + 'Error': '错误', + 'Link Name': '链接名称', + 'Condition': '条件名称', + 'Variable Name': '变量名称', + 'Variable Event': '变量事件', + 'Specify more than one variable change event as a comma separated list.': '多个变量事件以逗号隔开', + 'Wait for Completion': '等待完成', + 'Activity Ref': '活动参考', + 'Version Tag': '版本标签', + 'Executable': '可执行文件', + 'External Task Configuration': '扩展任务配置', + 'Task Priority': '任务优先级', + 'External': '外部', + 'Connector': '连接器', + 'Must configure Connector': '必须配置连接器', + 'Connector Id': '连接器编号', + 'Implementation': '实现方式', + 'Field Injections': '字段注入', + 'Fields': '字段', + 'Result Variable': '结果变量', + 'Topic': '主题', + 'Configure Connector': '配置连接器', + 'Input Parameter': '输入参数', + 'Assignee': '代理人', + 'Candidate Users': '候选用户', + 'Candidate Groups': '候选组', + 'Due Date': '到期时间', + 'Follow Up Date': '跟踪日期', + 'Priority': '优先级', + 'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)': '跟踪日期必须符合EL表达式,如: ${someDate} ,或者一个ISO标准日期,如:2015-06-26T09:54:00', + 'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)': '跟踪日期必须符合EL表达式,如: ${someDate} ,或者一个ISO标准日期,如:2015-06-26T09:54:00', + 'Variables': '变量' +} + +export const NodeName = { + 'bpmn:Process': '流程', + 'bpmn:StartEvent': '开始事件', + 'bpmn:IntermediateThrowEvent': '中间事件', + 'bpmn:Task': '任务', + 'bpmn:SendTask': '发送任务', + 'bpmn:ReceiveTask': '接收任务', + 'bpmn:UserTask': '用户任务', + 'bpmn:ManualTask': '手工任务', + 'bpmn:BusinessRuleTask': '业务规则任务', + 'bpmn:ServiceTask': '服务任务', + 'bpmn:ScriptTask': '脚本任务', + 'bpmn:EndEvent': '结束事件', + 'bpmn:SequenceFlow': '流程线', + 'bpmn:ExclusiveGateway': '互斥网关', + 'bpmn:ParallelGateway': '并行网关', + 'bpmn:InclusiveGateway': '相容网关', + 'bpmn:ComplexGateway': '复杂网关', + 'bpmn:EventBasedGateway': '事件网关' +} diff --git a/src/views/index.vue b/src/views/index.vue new file mode 100644 index 0000000..32f742c --- /dev/null +++ b/src/views/index.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/views/login/login.vue b/src/views/login/login.vue new file mode 100644 index 0000000..985a79b --- /dev/null +++ b/src/views/login/login.vue @@ -0,0 +1,232 @@ + + + + + + diff --git a/src/views/monitor/videos/index.vue b/src/views/monitor/videos/index.vue new file mode 100644 index 0000000..8bdcacf --- /dev/null +++ b/src/views/monitor/videos/index.vue @@ -0,0 +1,323 @@ + + + + diff --git a/src/views/monitor/videos/index2.vue b/src/views/monitor/videos/index2.vue new file mode 100644 index 0000000..5df609a --- /dev/null +++ b/src/views/monitor/videos/index2.vue @@ -0,0 +1,303 @@ + + + + diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue new file mode 100644 index 0000000..db4c1d6 --- /dev/null +++ b/src/views/redirect/index.vue @@ -0,0 +1,12 @@ + diff --git a/tests/unit/.eslintrc.js b/tests/unit/.eslintrc.js new file mode 100644 index 0000000..958d51b --- /dev/null +++ b/tests/unit/.eslintrc.js @@ -0,0 +1,5 @@ +module.exports = { + env: { + jest: true + } +} diff --git a/tests/unit/components/Breadcrumb.spec.js b/tests/unit/components/Breadcrumb.spec.js new file mode 100644 index 0000000..1d94c8f --- /dev/null +++ b/tests/unit/components/Breadcrumb.spec.js @@ -0,0 +1,98 @@ +import { mount, createLocalVue } from '@vue/test-utils' +import VueRouter from 'vue-router' +import ElementUI from 'element-ui' +import Breadcrumb from '@/components/Breadcrumb/index.vue' + +const localVue = createLocalVue() +localVue.use(VueRouter) +localVue.use(ElementUI) + +const routes = [ + { + path: '/', + name: 'home', + children: [{ + path: 'dashboard', + name: 'dashboard' + }] + }, + { + path: '/menu', + name: 'menu', + children: [{ + path: 'menu1', + name: 'menu1', + meta: { title: 'menu1' }, + children: [{ + path: 'menu1-1', + name: 'menu1-1', + meta: { title: 'menu1-1' } + }, + { + path: 'menu1-2', + name: 'menu1-2', + redirect: 'noredirect', + meta: { title: 'menu1-2' }, + children: [{ + path: 'menu1-2-1', + name: 'menu1-2-1', + meta: { title: 'menu1-2-1' } + }, + { + path: 'menu1-2-2', + name: 'menu1-2-2' + }] + }] + }] + }] + +const router = new VueRouter({ + routes +}) + +describe('Breadcrumb.vue', () => { + const wrapper = mount(Breadcrumb, { + localVue, + router + }) + it('dashboard', () => { + router.push('/dashboard') + const len = wrapper.findAll('.el-breadcrumb__inner').length + expect(len).toBe(1) + }) + it('normal route', () => { + router.push('/menu/menu1') + const len = wrapper.findAll('.el-breadcrumb__inner').length + expect(len).toBe(2) + }) + it('nested route', () => { + router.push('/menu/menu1/menu1-2/menu1-2-1') + const len = wrapper.findAll('.el-breadcrumb__inner').length + expect(len).toBe(4) + }) + it('no meta.title', () => { + router.push('/menu/menu1/menu1-2/menu1-2-2') + const len = wrapper.findAll('.el-breadcrumb__inner').length + expect(len).toBe(3) + }) + // it('click link', () => { + // router.push('/menu/menu1/menu1-2/menu1-2-2') + // const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner') + // const second = breadcrumbArray.at(1) + // console.log(breadcrumbArray) + // const href = second.find('a').attributes().href + // expect(href).toBe('#/menu/menu1') + // }) + // it('noRedirect', () => { + // router.push('/menu/menu1/menu1-2/menu1-2-1') + // const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner') + // const redirectBreadcrumb = breadcrumbArray.at(2) + // expect(redirectBreadcrumb.contains('a')).toBe(false) + // }) + it('last breadcrumb', () => { + router.push('/menu/menu1/menu1-2/menu1-2-1') + const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner') + const redirectBreadcrumb = breadcrumbArray.at(3) + expect(redirectBreadcrumb.contains('a')).toBe(false) + }) +}) diff --git a/tests/unit/components/Hamburger.spec.js b/tests/unit/components/Hamburger.spec.js new file mode 100644 index 0000000..01ea303 --- /dev/null +++ b/tests/unit/components/Hamburger.spec.js @@ -0,0 +1,18 @@ +import { shallowMount } from '@vue/test-utils' +import Hamburger from '@/components/Hamburger/index.vue' +describe('Hamburger.vue', () => { + it('toggle click', () => { + const wrapper = shallowMount(Hamburger) + const mockFn = jest.fn() + wrapper.vm.$on('toggleClick', mockFn) + wrapper.find('.hamburger').trigger('click') + expect(mockFn).toBeCalled() + }) + it('prop isActive', () => { + const wrapper = shallowMount(Hamburger) + wrapper.setProps({ isActive: true }) + expect(wrapper.contains('.is-active')).toBe(true) + wrapper.setProps({ isActive: false }) + expect(wrapper.contains('.is-active')).toBe(false) + }) +}) diff --git a/tests/unit/components/SvgIcon.spec.js b/tests/unit/components/SvgIcon.spec.js new file mode 100644 index 0000000..31467a9 --- /dev/null +++ b/tests/unit/components/SvgIcon.spec.js @@ -0,0 +1,22 @@ +import { shallowMount } from '@vue/test-utils' +import SvgIcon from '@/components/SvgIcon/index.vue' +describe('SvgIcon.vue', () => { + it('iconClass', () => { + const wrapper = shallowMount(SvgIcon, { + propsData: { + iconClass: 'test' + } + }) + expect(wrapper.find('use').attributes().href).toBe('#icon-test') + }) + it('className', () => { + const wrapper = shallowMount(SvgIcon, { + propsData: { + iconClass: 'test' + } + }) + expect(wrapper.classes().length).toBe(1) + wrapper.setProps({ className: 'test' }) + expect(wrapper.classes().includes('test')).toBe(true) + }) +}) diff --git a/tests/unit/utils/formatTime.spec.js b/tests/unit/utils/formatTime.spec.js new file mode 100644 index 0000000..24e165b --- /dev/null +++ b/tests/unit/utils/formatTime.spec.js @@ -0,0 +1,30 @@ +import { formatTime } from '@/utils/index.js' + +describe('Utils:formatTime', () => { + const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01" + const retrofit = 5 * 1000 + + it('ten digits timestamp', () => { + expect(formatTime((d / 1000).toFixed(0))).toBe('7月13日17时54分') + }) + it('test now', () => { + expect(formatTime(+new Date() - 1)).toBe('刚刚') + }) + it('less two minute', () => { + expect(formatTime(+new Date() - 60 * 2 * 1000 + retrofit)).toBe('2分钟前') + }) + it('less two hour', () => { + expect(formatTime(+new Date() - 60 * 60 * 2 * 1000 + retrofit)).toBe('2小时前') + }) + it('less one day', () => { + expect(formatTime(+new Date() - 60 * 60 * 24 * 1 * 1000)).toBe('1天前') + }) + it('more than one day', () => { + expect(formatTime(d)).toBe('7月13日17时54分') + }) + it('format', () => { + expect(formatTime(d, '{y}-{m}-{d} {h}:{i}')).toBe('2018-07-13 17:54') + expect(formatTime(d, '{y}-{m}-{d}')).toBe('2018-07-13') + expect(formatTime(d, '{y}/{m}/{d} {h}-{i}')).toBe('2018/07/13 17-54') + }) +}) diff --git a/tests/unit/utils/param2Obj.spec.js b/tests/unit/utils/param2Obj.spec.js new file mode 100644 index 0000000..e106ed8 --- /dev/null +++ b/tests/unit/utils/param2Obj.spec.js @@ -0,0 +1,14 @@ +import { param2Obj } from '@/utils/index.js' +describe('Utils:param2Obj', () => { + const url = 'https://github.com/PanJiaChen/vue-element-admin?name=bill&age=29&sex=1&field=dGVzdA==&key=%E6%B5%8B%E8%AF%95' + + it('param2Obj test', () => { + expect(param2Obj(url)).toEqual({ + name: 'bill', + age: '29', + sex: '1', + field: window.btoa('test'), + key: '测试' + }) + }) +}) diff --git a/tests/unit/utils/parseTime.spec.js b/tests/unit/utils/parseTime.spec.js new file mode 100644 index 0000000..56045af --- /dev/null +++ b/tests/unit/utils/parseTime.spec.js @@ -0,0 +1,35 @@ +import { parseTime } from '@/utils/index.js' + +describe('Utils:parseTime', () => { + const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01" + it('timestamp', () => { + expect(parseTime(d)).toBe('2018-07-13 17:54:01') + }) + it('timestamp string', () => { + expect(parseTime((d + ''))).toBe('2018-07-13 17:54:01') + }) + it('ten digits timestamp', () => { + expect(parseTime((d / 1000).toFixed(0))).toBe('2018-07-13 17:54:01') + }) + it('new Date', () => { + expect(parseTime(new Date(d))).toBe('2018-07-13 17:54:01') + }) + it('format', () => { + expect(parseTime(d, '{y}-{m}-{d} {h}:{i}')).toBe('2018-07-13 17:54') + expect(parseTime(d, '{y}-{m}-{d}')).toBe('2018-07-13') + expect(parseTime(d, '{y}/{m}/{d} {h}-{i}')).toBe('2018/07/13 17-54') + }) + it('get the day of the week', () => { + expect(parseTime(d, '{a}')).toBe('五') // 星期五 + }) + it('get the day of the week', () => { + expect(parseTime(+d + 1000 * 60 * 60 * 24 * 2, '{a}')).toBe('日') // 星期日 + }) + it('empty argument', () => { + expect(parseTime()).toBeNull() + }) + + it('null', () => { + expect(parseTime(null)).toBeNull() + }) +}) diff --git a/tests/unit/utils/validate.spec.js b/tests/unit/utils/validate.spec.js new file mode 100644 index 0000000..f774905 --- /dev/null +++ b/tests/unit/utils/validate.spec.js @@ -0,0 +1,17 @@ +import { validUsername, isExternal } from '@/utils/validate.js' + +describe('Utils:validate', () => { + it('validUsername', () => { + expect(validUsername('admin')).toBe(true) + expect(validUsername('editor')).toBe(true) + expect(validUsername('xxxx')).toBe(false) + }) + it('isExternal', () => { + expect(isExternal('https://github.com/PanJiaChen/vue-element-admin')).toBe(true) + expect(isExternal('http://github.com/PanJiaChen/vue-element-admin')).toBe(true) + expect(isExternal('github.com/PanJiaChen/vue-element-admin')).toBe(false) + expect(isExternal('/dashboard')).toBe(false) + expect(isExternal('./dashboard')).toBe(false) + expect(isExternal('dashboard')).toBe(false) + }) +}) diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..35f96af --- /dev/null +++ b/vue.config.js @@ -0,0 +1,142 @@ +'use strict' +const path = require('path') +const defaultSettings = require('./src/settings.js') + +function resolve(dir) { + return path.join(__dirname, dir) +} + +const name = defaultSettings.title || '汇融云眼贷后监管平台' // page title + +// 如果端口设置为80, +// 使用管理员权限执行命令行。 +// 例如,Mac:sudo npm run +// 可以通过以下方法更改端口: +// port=9528 npm run dev或npm run dev--port=9528 +const port = process.env.port || process.env.npm_config_port || 9531 // dev port + +// 所有配置项说明都可以在中找到https://cli.vuejs.org/config/ +module.exports = { + /** + *如果计划在子路径下部署站点,则需要设置publicPath, + *例如GitHub页面。如果您计划将站点部署到https://foo.github.io/bar/, + *然后publicPath应设置为“/bar/”。 + *在大多数情况下,请使用“/”!!! + *详细信息:https://cli.vuejs.org/config/#publicpath + */ + publicPath: process.env.NODE_ENV === 'production' ? '/monitor/' : '/', + outputDir: 'monitor-ui', + assetsDir: 'static', + lintOnSave: process.env.NODE_ENV === 'development', + productionSourceMap: false, + devServer: { + hot: true, // 自动保存 + host: '0.0.0.0', + port: port, + open: true, + overlay: { + warnings: false, + errors: true + }, + proxy: { + '/api': { // 匹配所有以 '/api'开头的请求路径 + // target: 'http://192.168.1.109:8111', + target: process.env.VUE_APP_URL, // 代理目标的基础路径 + changeOrigin: true, // 支持跨域 + pathRewrite: { // 重写路径: 去掉路径中开头的'/api' + '^/api': '' + } + }, + '/upload': { // 匹配所有以 '/api'开头的请求路径 + // target: 'http://120.46.131.15:8111', + target: process.env.VUE_APP_URL, // 代理目标的基础路径 + changeOrigin: true, // 支持跨域 + pathRewrite: { // 重写路径: 去掉路径中开头的'/api' + '^/upload': '' + } + } + }, + disableHostCheck: true + }, + configureWebpack: { + // 在webpack的name字段中提供应用程序的标题,以便 + // 它可以在索引.html插入正确的标题。 + name: name, + resolve: { + alias: { + '@': resolve('src'), + '@C': resolve('src/components') + } + } + }, + chainWebpack(config) { + // 它可以提高第一屏的速度,建议打开预加载 + config.plugin('preload').tap(() => [{ + rel: 'preload', + // 忽略 runtime.js + // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171 + fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/], + include: 'initial' + }]) + + // 当有很多页面时,会导致太多无意义的请求 + config.plugins.delete('prefetch') + + // set svg-sprite-loader 设置 svg精灵加载程序 + config.module + .rule('svg') + .exclude.add(resolve('src/icons')) + .end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]' + }) + .end() + + config + .when(process.env.NODE_ENV !== 'development', + config => { + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use('script-ext-html-webpack-plugin', [{ + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/ + }]) + .end() + config + .optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + libs: { + name: 'chunk-libs', + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: 'initial' // only package third parties that are initially dependent + }, + elementUI: { + name: 'chunk-elementUI', // split elementUI into a single package + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm + }, + commons: { + name: 'chunk-commons', + test: resolve('src/components'), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true + } + } + }) + // https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk + config.optimization.runtimeChunk('single') + } + ) + } +}