commit aba62601548fe54ff0560962ef4dbd768153f898 Author: yujialong <479214531@qq.com> Date: Tue Aug 10 17:26:09 2021 +0800 重构完成 diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..9dee646 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1c3aae3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +.DS_Store +node_modules +/dist +example.html +favicon.ico +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..c5f454b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "tabWidth": 4, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 140 +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1ef7d3e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016-2019 vue-manage-system + +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. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..57fdcd9 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# 该项目是前端项目基础模板 +## 拉取该项目就可以直接上手开发. + +--- + +### 注意事项: +1. api里面存放接口地址 +2. assets里面存放静态文件,注意图片跟svg最好分开,方便后期管理 +3. components存放公共组件 +4. layouts存放页面布局组件,注意导航跟头部是分开的,放在一起太臃肿 +5. libs存放工具包.封装了cookie,localStorate,sessionStorage的增删改查; auth是用来生成角色权限里控制的按钮,生成后添加到store里面; route是做动态路由的,同时把生成的路由集合添加到store里面 +6. mixins可以自定义mixin +7. pages存放页面,一个模块为一个文件夹,默认有个list文件夹,默认跳转到list,要添加子模块的话直接建list的同级文件夹,里面统一命名index.vue +8. plugins里面aliplayer是阿里云播放器,按需引用; auth是按钮级别的鉴权; filters可以自定义filter; requests是全局请求配置文件; throttle为防抖 +9. router为路由,跟pages一样,一个模块为一个文件夹,存放在modules里面; permission为路由全局控制; route里引用modules里面定义的路由模块,每加一个模块就要在这里引用 +10. store存放store模块,直接在modules里定义文件就会自动引用,一个模块为一个文件夹,模块之间勿混淆使用 +11. styles存放全局scss. default里设置项目主题色; font存放字体文件; layout存放布局样式; lib里面有定义工具class,可以直接引用里面的class; pages为页面的公用样式; common为全局公共样式; var可以定义mixin和全局变量 + +--- + +#### 全局配置都放在setting.js里面,项目参数,比如默认密码,平台id,都放在这里,页面里直接引入该文件即可 + +#### vue.config.js里要定义固定端口,不然项目启动多了会乱,每开一个项目就开一个新的端口,每个项目端口不要冲突 \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..ba17966 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/app' + ] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..38de21f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13615 @@ +{ + "name": "vue-manage-system", + "version": "4.2.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", + "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", + "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-call-delegate": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz", + "integrity": "sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", + "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "dev": true, + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helpers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "dev": true, + "requires": { + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", + "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz", + "integrity": "sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.7.4.tgz", + "integrity": "sha512-GftcVDcLCwVdzKmwOBDjATd548+IE+mBo7ttgatqNDR7VG7GqIuZPtRWlMLHbhTXhcnFZiGER8iIYl1n/imtsg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.7.4" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.7.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", + "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.7.4.tgz", + "integrity": "sha512-0oNLWNH4k5ZbBVfAwiTU53rKFWIeTh6ZlaWOXWJc4ywxs0tjz5fc3uZ6jKAnZSxN98eXVgg7bJIuzjX+3SXY+A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz", + "integrity": "sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", + "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", + "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", + "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.7.4", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", + "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", + "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.4.tgz", + "integrity": "sha512-O8kSkS5fP74Ad/8pfsCMGa8sBRdLxYoSReaARRNSz3FbFQj3z/QUvoUmJ28gn9BO93YfnXc3j+Xyaqe8cKDNBQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/preset-env": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/runtime": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.4.tgz", + "integrity": "sha512-r24eVUUr0QqNZa+qrImUk8fn5SPhHq+IfYvIoIMg0do3GdK9sMdiLKP3GYVVaxpPKORgm8KRKaNTEhAjgIpLMw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + } + } + }, + "@babel/runtime-corejs2": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.7.4.tgz", + "integrity": "sha512-hKNcmHQbBSJFnZ82ewYtWDZ3fXkP/l1XcfRtm7c8gHPM/DMecJtFFBEp7KMLZTuHwwb7RfemHdsEnd7L916Z6A==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + } + } + }, + "@babel/runtime-corejs3": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.9.tgz", + "integrity": "sha512-64RiH2ON4/y8qYtoa8rUiyam/tUVyGqRyNYhe+vCRGmjnV4bUlZvY+mwd0RrmLoCpJpdq3RsrNqKb7SJdw/4kw==", + "optional": true, + "requires": { + "core-js-pure": "^3.16.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "optional": true + } + } + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz", + "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", + "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "12.12.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", + "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/raf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", + "optional": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", + "dev": true + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", + "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.12.1.tgz", + "integrity": "sha512-Zjy5jQaikV1Pz+ri0YgXFS7q4/5wCxB5tRkDOEIt5+4105u0Feb/pvH20nVL6nx9GyXrECFfcm7Yxr/z++OaPQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.4.0", + "@babel/preset-env": "^7.0.0 < 7.4.0", + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.2.0", + "@vue/babel-preset-jsx": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-module-resolver": "3.2.0", + "core-js": "^2.6.5" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", + "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "@vue/babel-sugar-functional-vue": "^1.1.2", + "@vue/babel-sugar-inject-h": "^1.1.2", + "@vue/babel-sugar-v-model": "^1.1.2", + "@vue/babel-sugar-v-on": "^1.1.2" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", + "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", + "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", + "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", + "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0" + } + }, + "@vue/cli-overlay": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-3.12.1.tgz", + "integrity": "sha512-Bym92EN+lj+cNRN2ozbYyH+V8DMXWGbCDUk+hiJ4EYDBZfBkZKvalk1/mOBFwyxiopnnbOEBAAhL/UuMQ1xARg==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.12.1.tgz", + "integrity": "sha512-Zetvz8PikLCGomeKOKu8pC9YQ7cfxs7pGpvEOzaxGdhMnebhjAYR6i6dOB57A6N5lhxQksXCtYTv26QgfiIpdg==", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "@vue/babel-preset-app": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "babel-loader": "^8.0.5", + "webpack": "^4.0.0" + } + }, + "@vue/cli-service": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-3.12.1.tgz", + "integrity": "sha512-PDxNrTGnSKzeV1ruFlsRIAO8JcPizwT0EJXq9GeyooU+p+sOkv7aKkCBJQVYNjZapD1NOGWx6CvAAC/wAW+gew==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@vue/cli-overlay": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "@vue/component-compiler-utils": "^3.0.0", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^6.1.1", + "acorn-walk": "^6.1.1", + "address": "^1.0.3", + "autoprefixer": "^9.5.1", + "browserslist": "^4.5.4", + "cache-loader": "^2.0.1", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-highlight": "^2.1.0", + "clipboardy": "^2.0.0", + "cliui": "^5.0.0", + "copy-webpack-plugin": "^4.6.0", + "css-loader": "^1.0.1", + "cssnano": "^4.1.10", + "current-script-polyfill": "^1.0.0", + "debug": "^4.1.1", + "default-gateway": "^5.0.2", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "escape-string-regexp": "^1.0.5", + "file-loader": "^3.0.1", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^1.0.2", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.8.0", + "minimist": "^1.2.0", + "ora": "^3.4.0", + "portfinder": "^1.0.20", + "postcss-loader": "^3.0.0", + "read-pkg": "^5.0.0", + "semver": "^6.0.0", + "slash": "^2.0.0", + "source-map-url": "^0.4.0", + "ssri": "^6.0.1", + "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^1.2.3", + "thread-loader": "^2.1.2", + "url-loader": "^1.1.2", + "vue-loader": "^15.7.0", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.3.0", + "webpack-chain": "^4.11.0", + "webpack-dev-server": "^3.4.1", + "webpack-merge": "^4.2.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/cli-shared-utils": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.12.1.tgz", + "integrity": "sha512-jFblzRFjutGwu5utOKdVlPlsbA1lBUNNQlAThzNqej+JtTKJjnvjlhjKX0Gq0oOny5FjKWhoyfQ74p9h1qE6JQ==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.1", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.7", + "semver": "^6.0.0", + "string.prototype.padstart": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.2.tgz", + "integrity": "sha512-BSnY2PmW4QwU1AOcGSNYAmEPLjdQ9itl1YpLCWtpwMA5Jy/aqWNuzZ9+ZZ8h6yZJ53W95tVkEP6yrXJ/zUHdEA==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^5.0.0", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", + "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "requires": { + "babel-runtime": "6.x" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.3.tgz", + "integrity": "sha512-8T5Y1C5Iyj6PgkPSFd0ODvK9DIleuPKUPYniNxybS47g2k2wFgLZ46lGQHlBuGKIAEV8fbCDfKCCRS1tvOgc3Q==", + "dev": true, + "requires": { + "browserslist": "^4.8.0", + "caniuse-lite": "^1.0.30001012", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.23", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", + "dev": true, + "requires": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + } + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", + "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.0.tgz", + "integrity": "sha512-HYnxc/oLRWvJ3TsGegR0SRL/UDnknGq2s/a8dYYEO+kOQ9m9apKoS5oiathLKZdh/e9uE+/J3j92qPlGD/vTqA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001012", + "electron-to-chromium": "^1.3.317", + "node-releases": "^1.1.41" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", + "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001012", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", + "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==" + }, + "canvg": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.7.tgz", + "integrity": "sha512-4sq6iL5Q4VOXS3PL1BapiXIZItpxYyANVzsAKpTPS5oq4u3SKbGfUcbZh2gdLCQ3jWpG/y5wRkMlBBAJhXeiZA==", + "optional": true, + "requires": { + "@babel/runtime-corejs3": "^7.9.6", + "@types/raf": "^3.4.0", + "raf": "^3.4.1", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^5.0.5" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", + "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "highlight.js": "^9.6.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz", + "integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true + }, + "clipboardy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz", + "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + }, + "core-js-pure": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.1.tgz", + "integrity": "sha512-TyofCdMzx0KMhi84mVRS8rL1XsRk2SPUNz2azmth53iRN0/08Uim9fdhQTaZTG1LqaXHYVci4RDHka6WrXfnvg==", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cropperjs": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.5.6.tgz", + "integrity": "sha512-eAgWf4j7sNJIG329qUHIFi17PSV0VtuWyAu9glZSgu/KlQSrfTQOC2zAz+jHGa5fAB+bJldEnQwvJEaJ8zRf5A==" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-line-break": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.0.1.tgz", + "integrity": "sha512-gwKYIMUn7xodIcb346wgUhE2Dt5O1Kmrc16PWi8sL4FTfyDj8P5095rzH7+O8CTZudJr+uw2GCI/hwEkDJFI2w==", + "requires": { + "base64-arraybuffer": "^0.2.0" + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true, + "requires": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" + }, + "dependencies": { + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "dev": true + }, + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "current-script-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz", + "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.0.tgz", + "integrity": "sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "dompurify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.0.tgz", + "integrity": "sha512-VV5C6Kr53YVHGOBKO/F86OYX6/iLTw2yVSI721gKetxpHCK/V5TaLEf9ODjRgl1KLSWRMY6cUhAbv/c+IUnwQw==", + "optional": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.8.0.tgz", + "integrity": "sha512-YwShpug8fWngj/RlgxDaYrLBoD+LsZUArrusjNPHpAF+is+gGe38xx4W848AwWMGoi745t3OXM52JedNrv+F6g==", + "requires": { + "zrender": "4.3.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.321.tgz", + "integrity": "sha512-jJy/BZK2s2eAjMPXVMSaCmo7/pSY2aKkfQ+LoAb5Wk39qAhyP9r8KU74c4qTgr9cD/lPUhJgReZxxqU0n5puog==" + }, + "element-theme": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/element-theme/-/element-theme-2.0.1.tgz", + "integrity": "sha512-3FOUq8xff4CuJfUxNaUCc7bRtf1cEkmIIKwJ9HS5dd7ujegfj5oqPj4MAgPvYr9wSzqbHuknNj+qWvr6O5lGtA==", + "requires": { + "commander": "^2.9.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^4.0.0", + "gulp-cssmin": "^0.1.7", + "gulp-nop": "0.0.3", + "gulp-sass": "^3.1.0", + "ora": "^0.3.0", + "run-sequence": "^1.2.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-spinners": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.2.0.tgz", + "integrity": "sha1-hQeHN5E7iA9uyf/ntl6D7Hd2KE8=" + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "requires": { + "chalk": "^1.0.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + }, + "ora": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.3.0.tgz", + "integrity": "sha1-NnoHitJc+wltpQERXrW0AeB9dJU=", + "requires": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.2.0", + "log-symbols": "^1.0.2" + } + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "element-theme-chalk": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/element-theme-chalk/-/element-theme-chalk-2.13.0.tgz", + "integrity": "sha512-xiftE/xHeBPH+sj3jO1Yv3FqGiVhYawVCixmHiPp3pyv6e4Ie8gAw6kvVif0/6fZh0b3+/MtoowphlBSDpuBDA==", + "dev": true + }, + "element-ui": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.0.tgz", + "integrity": "sha512-KYsHWsBXYbLELS8cdfvgJTOMSUby3UEjvsPV1V1VmgJ/DdkOAS4z3MiOrPxrT9w2Cc5lZ4eVSQiGhYFR5NVChw==", + "requires": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz", + "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.0" + } + }, + "es-abstract": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", + "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "requires": { + "glob": "^4.3.1", + "glob2base": "^0.0.12", + "minimatch": "^2.0.1", + "ordered-read-streams": "^0.1.0", + "through2": "^0.6.1", + "unique-stream": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "requires": { + "gaze": "^0.5.1" + }, + "dependencies": { + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "requires": { + "globule": "~0.1.0" + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "requires": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=" + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=" + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "requires": { + "find-index": "^0.1.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "gulp": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", + "requires": { + "archy": "^1.0.0", + "chalk": "^1.0.0", + "deprecated": "^0.0.1", + "gulp-util": "^3.0.0", + "interpret": "^1.0.0", + "liftoff": "^2.1.0", + "minimist": "^1.1.0", + "orchestrator": "^0.3.0", + "pretty-hrtime": "^1.0.0", + "semver": "^4.1.0", + "tildify": "^1.0.0", + "v8flags": "^2.0.2", + "vinyl-fs": "^0.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "gulp-autoprefixer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-4.1.0.tgz", + "integrity": "sha1-Bkr3PMAsrayP800L+T/9+5TqEqo=", + "requires": { + "autoprefixer": "^7.0.0", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "postcss": "^6.0.1", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "requires": { + "browserslist": "^2.11.3", + "caniuse-lite": "^1.0.30000805", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.17", + "postcss-value-parser": "^3.2.3" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "requires": { + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "gulp-cssmin": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/gulp-cssmin/-/gulp-cssmin-0.1.7.tgz", + "integrity": "sha1-9Xb+UhHRB7qpQBUEJJv4eu0VVr0=", + "requires": { + "clean-css": "^3.1.9", + "filesize": "~2.0.0", + "graceful-fs": "~2.0.0", + "gulp-rename": "~1.1.0", + "gulp-util": "~2.2.0", + "map-stream": "0.0.4", + "temp-write": "~0.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + } + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "filesize": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-2.0.4.tgz", + "integrity": "sha1-eAWUHGD83+Y/RtfqNYxZreEcEyU=" + }, + "graceful-fs": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=" + }, + "gulp-util": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", + "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", + "requires": { + "chalk": "^0.5.0", + "dateformat": "^1.0.7-1.2.3", + "lodash._reinterpolate": "^2.4.1", + "lodash.template": "^2.4.1", + "minimist": "^0.2.0", + "multipipe": "^0.1.0", + "through2": "^0.5.0", + "vinyl": "^0.2.1" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=" + }, + "lodash.escape": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", + "requires": { + "lodash._escapehtmlchar": "~2.4.1", + "lodash._reunescapedhtml": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash.template": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", + "requires": { + "lodash._escapestringchar": "~2.4.1", + "lodash._reinterpolate": "~2.4.1", + "lodash.defaults": "~2.4.1", + "lodash.escape": "~2.4.1", + "lodash.keys": "~2.4.1", + "lodash.templatesettings": "~2.4.1", + "lodash.values": "~2.4.1" + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", + "requires": { + "lodash._reinterpolate": "~2.4.1", + "lodash.escape": "~2.4.1" + } + }, + "minimist": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz", + "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" + }, + "through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "vinyl": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", + "requires": { + "clone-stats": "~0.0.1" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=" + } + } + }, + "gulp-nop": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/gulp-nop/-/gulp-nop-0.0.3.tgz", + "integrity": "sha1-6ezYuZTVWBerXOFroY9hTXgQ7L4=", + "requires": { + "gulp-util": "~2.2.14", + "through": "~2.3.4" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "gulp-util": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", + "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", + "requires": { + "chalk": "^0.5.0", + "dateformat": "^1.0.7-1.2.3", + "lodash._reinterpolate": "^2.4.1", + "lodash.template": "^2.4.1", + "minimist": "^0.2.0", + "multipipe": "^0.1.0", + "through2": "^0.5.0", + "vinyl": "^0.2.1" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=" + }, + "lodash.escape": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", + "requires": { + "lodash._escapehtmlchar": "~2.4.1", + "lodash._reunescapedhtml": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash.template": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", + "requires": { + "lodash._escapestringchar": "~2.4.1", + "lodash._reinterpolate": "~2.4.1", + "lodash.defaults": "~2.4.1", + "lodash.escape": "~2.4.1", + "lodash.keys": "~2.4.1", + "lodash.templatesettings": "~2.4.1", + "lodash.values": "~2.4.1" + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", + "requires": { + "lodash._reinterpolate": "~2.4.1", + "lodash.escape": "~2.4.1" + } + }, + "minimist": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz", + "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" + }, + "through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "vinyl": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", + "requires": { + "clone-stats": "~0.0.1" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=" + } + } + }, + "gulp-rename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.1.0.tgz", + "integrity": "sha1-kwkKqvTThsB/IFOKaIjxXvunJ6E=", + "requires": { + "map-stream": ">=0.0.4" + } + }, + "gulp-sass": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-3.2.1.tgz", + "integrity": "sha512-UATbRpSDsyXCnpYSPBUEvdvtSEzksJs7/oQ0CujIpzKqKrO6vlnYwhX2UTsGrf4rNLwqlSSaM271It0uHYvJ3Q==", + "requires": { + "gulp-util": "^3.0", + "lodash.clonedeep": "^4.3.2", + "node-sass": "^4.8.3", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "requires": { + "glogg": "^1.0.0" + } + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "9.16.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.16.2.tgz", + "integrity": "sha512-feMUrVLZvjy0oC7FVJQcSQRqbBq9kwqnYE4+Kj9ZjbHh3g+BisiPgF49NyQbVLNdrL/qqZr3Ca9yOKwgn2i/tw==" + }, + "highlight.js-async-webpack": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/highlight.js-async-webpack/-/highlight.js-async-webpack-1.0.4.tgz", + "integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "html2canvas": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.2.1.tgz", + "integrity": "sha512-XoP12gER5pvxBADy4KKTMinZ69PP/+EZbILEk+WDCJFPIkhbREwMy2nhuMBFWPUDGWCw1DCrhDlbADJ5m8dC5g==", + "requires": { + "css-line-break": "2.0.1" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + } + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==" + }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-message": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true + }, + "js-queue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "requires": { + "easy-stack": "^1.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jspdf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.3.1.tgz", + "integrity": "sha512-1vp0USP1mQi1h7NKpwxjFgQkJ5ncZvtH858aLpycUc/M+r/RpWJT8PixAU7Cw/3fPd4fpC8eB/Bj42LnsR21YQ==", + "requires": { + "atob": "^2.1.2", + "btoa": "^1.2.1", + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.2.0", + "fflate": "^0.4.8", + "html2canvas": "^1.0.0-rc.5" + }, + "dependencies": { + "core-js": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz", + "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==", + "optional": true + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" + }, + "lodash._escapehtmlchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=", + "requires": { + "lodash._htmlescapes": "~2.4.1" + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=" + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._htmlescapes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=", + "requires": { + "lodash._htmlescapes": "~2.4.1", + "lodash.keys": "~2.4.1" + }, + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + } + } + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" + }, + "lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.defaults": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", + "requires": { + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + }, + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + } + } + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "lodash.values": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", + "requires": { + "lodash.keys": "~2.4.1" + }, + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + } + } + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.4.tgz", + "integrity": "sha1-XsbekCE+9sey65Nn6a3o2k79tos=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "mavon-editor": { + "version": "2.7.7", + "resolved": "https://registry.npmjs.org/mavon-editor/-/mavon-editor-2.7.7.tgz", + "integrity": "sha512-lXnYe+dztKepbv8bi2nedRqG/AwyUDF8gmkv9lHD3fpVJ1+pzAS6YILRIryKCvO9qPIOPEThHsda2DxtlzRsZA==", + "requires": { + "highlight.js": "^9.11.0", + "highlight.js-async-webpack": "^1.0.4" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "mime-db": { + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" + }, + "mime-types": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "requires": { + "mime-db": "1.42.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", + "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "requires": { + "duplexer2": "0.0.2" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natives": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", + "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + } + } + }, + "node-ipc": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", + "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.41", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", + "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "node-sass": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz", + "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + } + }, + "orchestrator": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "requires": { + "end-of-stream": "~0.1.5", + "sequencify": "~0.0.7", + "stream-consume": "~0.1.0" + }, + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "requires": { + "once": "~1.3.0" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=" + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", + "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", + "dev": true, + "requires": { + "parse5": "^5.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pdfjs-dist": { + "version": "2.5.207", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.5.207.tgz", + "integrity": "sha512-xGDUhnCYPfHy+unMXCLCJtlpZaaZ17Ew3WIL0tnSgKFUZXHAPD49GO9xScyszSsQMoutNDgRb+rfBXIaX/lJbw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + } + } + }, + "portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.23.tgz", + "integrity": "sha512-hOlMf3ouRIFXD+j2VJecwssTwbvsPGJVMzupptg+85WA+i7MwyrydmQAgY3R+m0Bc0exunhbJmijy8u8+vufuQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.5", + "postcss-selector-parser": "^5.0.0-rc.4", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-px2rem": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/postcss-px2rem/-/postcss-px2rem-0.3.0.tgz", + "integrity": "sha1-DfpOiiaPp0eCc/DEtHxhmDSJQEE=", + "requires": { + "postcss": "^5.0.0", + "px2rem": "~0.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.5.0.tgz", + "integrity": "sha512-4vqUjKi2huMu1OJiLhi3jN6jeeKvMZdI1tYgi/njW5zV52jNLgSAZSdN16m9bJFe61/cT8ulmw4qFitV9QRsEA==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "px2rem": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/px2rem/-/px2rem-0.5.0.tgz", + "integrity": "sha1-JLOmz3TRSttO13byB4cdmJPkEOI=", + "requires": { + "chalk": "~0.5.1", + "commander": "~2.6.0", + "css": "~2.2.0", + "extend": "~3.0.0", + "fs-extra": "~0.16.3" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "commander": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" + }, + "fs-extra": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.5.tgz", + "integrity": "sha1-GtZh+myGyWCM0bSe/G/Og0k5p1A=", + "requires": { + "graceful-fs": "^3.0.5", + "jsonfile": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "graceful-fs": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz", + "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==", + "requires": { + "natives": "^1.1.3" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "optional": true + } + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" + } + } + }, + "px2rem-loader": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/px2rem-loader/-/px2rem-loader-0.1.9.tgz", + "integrity": "sha512-3Ew8At5W/HHIIUe/KZk+FBRRb20KtgP1N1c/BnMlXk6LNkqrFmUIUF35GF/evzNdj/Q63iWJpkmn/c5qSMplRg==", + "requires": { + "loader-utils": "^1.1.0", + "px2rem": "^0.5.0" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", + "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0=", + "optional": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "run-sequence": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/run-sequence/-/run-sequence-1.2.2.tgz", + "integrity": "sha1-UJWgvr6YczsBQL0I3YDsAw3azes=", + "requires": { + "chalk": "*", + "gulp-util": "*" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "sass-loader": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", + "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", + "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schart.js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schart.js/-/schart.js-3.0.0.tgz", + "integrity": "sha512-TaEBroDGyaHwPad4UXwsGgMd0xz0s/TpcwiMPVkpqE5Haz4hTk293m1F0f6a8MKscssKNhlyKz48ZMPI8wYqHg==" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=" + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sortablejs": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.1.tgz", + "integrity": "sha512-N6r7GrVmO8RW1rn0cTdvK3JR0BcqecAJ0PmYMCL3ZuqTH3pY+9QyqkmJSkkLyyDvd+AJnwaxTP22Ybr/83V9hQ==" + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackblur-canvas": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz", + "integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==", + "optional": true + }, + "stackframe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", + "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-consume": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==" + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.padend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", + "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "string.prototype.padstart": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz", + "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-pathdata": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-5.0.5.tgz", + "integrity": "sha512-TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow==", + "optional": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "temp-write": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-0.1.1.tgz", + "integrity": "sha1-C2Rng43Xf79/YqDJPah5cy/9qTI=", + "requires": { + "graceful-fs": "~2.0.0", + "tempfile": "~0.1.2" + }, + "dependencies": { + "graceful-fs": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=" + } + } + }, + "tempfile": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz", + "integrity": "sha1-fWtxAEcznTn4RzJ6BW2t8YMQMBA=", + "requires": { + "uuid": "~1.4.0" + }, + "dependencies": { + "uuid": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-1.4.2.tgz", + "integrity": "sha1-RTAZ9oaWam34PNxSROfJkOzDMvw=" + } + } + }, + "terser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.1.tgz", + "integrity": "sha512-e05giplw+8sIYh50qXYHZmr0b76O5dOSm9JwSDebGFLri4ItYzxsnumiAK+yuI56R+H7uIjT9KbVEKNkrprzHw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "requires": { + "os-homedir": "^1.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "requires": { + "glob": "^7.1.2" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "requires": { + "user-home": "^1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + } + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "requires": { + "defaults": "^1.0.0", + "glob-stream": "^3.1.5", + "glob-watcher": "^0.0.6", + "graceful-fs": "^3.0.0", + "mkdirp": "^0.5.0", + "strip-bom": "^1.0.0", + "through2": "^0.6.1", + "vinyl": "^0.4.0" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" + }, + "graceful-fs": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz", + "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==", + "requires": { + "natives": "^1.1.3" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "requires": { + "first-chunk-stream": "^1.0.0", + "is-utf8": "^0.2.0" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "requires": { + "source-map": "^0.5.1" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", + "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" + }, + "vue-cropperjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vue-cropperjs/-/vue-cropperjs-3.0.0.tgz", + "integrity": "sha512-vNdtSLjjcvbMVHqD/JapGKIsP0C+hgyxCiqEDGaxwnSWkj6nQGD2vcXx67Qk8JQfz6Hx/1UVh9jzpyZAeKRU8Q==", + "requires": { + "cropperjs": "^1.1.3" + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-i18n": { + "version": "8.15.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.15.1.tgz", + "integrity": "sha512-GBbz8qYCu0U2LNu4IcuFLZiuyninG4k26knvhL7GZG5Ncp4RR2VKDEH6g8gQ6I+UUBCvH2MBQVPSdxWe4DBkPw==" + }, + "vue-loader": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.2.tgz", + "integrity": "sha512-H/P9xt/nkocyu4hZKg5TzPqyCT1oKOaCSk9zs0JCbJuy0Q8KtR0bjJpnT/5R5x/Ckd1GFkkLQnQ1C4x6xXeLZg==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.0.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "vue-pdf": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-pdf/-/vue-pdf-4.2.0.tgz", + "integrity": "sha512-GpAbZfM48Hom1R8f4XL5ZzoVBLlbyy+4z0VYmTQORVOSieVIIu+XtnNl0RY6EXg60Qni6T6nIgrmsCcCkWv39A==", + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "loader-utils": "^1.4.0", + "pdfjs-dist": "^2.5.207", + "raw-loader": "^4.0.1", + "vue-resize-sensor": "^2.0.0", + "worker-loader": "^2.0.0" + }, + "dependencies": { + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "vue-quill-editor": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", + "requires": { + "object-assign": "^4.1.1", + "quill": "^1.3.4" + } + }, + "vue-resize-sensor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz", + "integrity": "sha512-W+y2EAI/BxS4Vlcca9scQv8ifeBFck56DRtSwWJ2H4Cw1GLNUYxiZxUHHkuzuI5JPW/cYtL1bPO5xPyEXx4LmQ==" + }, + "vue-router": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz", + "integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ==" + }, + "vue-schart": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-schart/-/vue-schart-2.0.0.tgz", + "integrity": "sha512-qAu3e5wfMcq26wK1xeHExEWfGpnjfoN1R/9QXblNi+AsU/p52X7tTwhi+Fw7H/otfEufhEY2X7z7emaoF4QO+g==", + "requires": { + "schart.js": "^3.0.0" + } + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", + "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuedraggable": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.2.tgz", + "integrity": "sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==", + "requires": { + "sortablejs": "^1.10.1" + } + }, + "vuex": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.4.0.tgz", + "integrity": "sha512-ajtqwEW/QhnrBZQsZxCLHThZZaa+Db45c92Asf46ZDXu6uHXgbfVuBaJ4gzD2r4UX0oMJHstFwd2r2HM4l8umg==" + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.41.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", + "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + } + }, + "webpack-bundle-analyzer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz", + "integrity": "sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-walk": "^6.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + } + }, + "webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz", + "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.4", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "worker-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz", + "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==", + "requires": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz", + "integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz", + "integrity": "sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^16.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "zrender": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.1.tgz", + "integrity": "sha512-CeH2TpJeCdG0TAGYoPSAcFX2ogdug1K7LIn9UO/q9HWqQ54gWhrMAlDP9AwWYMUDhrPe4VeazQ4DW3msD96nUQ==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a77fa8e --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "vue-manage-system", + "version": "4.2.0", + "private": true, + "scripts": { + "dev": "npm run serve", + "serve": "vue-cli-service serve", + "build": "vue-cli-service build" + }, + "dependencies": { + "axios": "^0.18.0", + "babel-polyfill": "^6.26.0", + "echarts": "^4.8.0", + "element-theme": "^2.0.1", + "element-ui": "^2.13.0", + "html2canvas": "^1.2.1", + "js-cookie": "^2.2.1", + "jspdf": "^2.3.1", + "mavon-editor": "^2.6.17", + "postcss-px2rem": "^0.3.0", + "px2rem-loader": "^0.1.9", + "vue": "^2.6.10", + "vue-cropperjs": "^3.0.0", + "vue-i18n": "^8.10.0", + "vue-pdf": "^4.2.0", + "vue-quill-editor": "^3.0.6", + "vue-router": "^3.0.3", + "vue-schart": "^2.0.0", + "vuedraggable": "^2.17.0", + "vuex": "^3.4.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^3.9.0", + "@vue/cli-service": "^3.9.0", + "element-theme-chalk": "^2.13.0", + "node-sass": "^4.13.0", + "sass-loader": "^8.0.0", + "vue-template-compiler": "^2.6.10" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..961986e --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..1c28a1a --- /dev/null +++ b/public/index.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> + <link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css"> + <title>职站</title> + </head> + <body> + <noscript> + <strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> + </noscript> + <div id="app"></div> + <!-- built files will be auto injected --> + </body> + +</html> diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..db71ed9 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,24 @@ +<template> + <div id="app" > + <router-view></router-view> + </div> +</template> + +<script> + import Setting from '@/setting'; + import util from '@/libs/util'; + export default { + name: 'App', + created () { + //在页面加载时读取localStorage里的状态信息 + if (util.local.get(Setting.storeKey) ) { + this.$store.replaceState(Object.assign({}, this.$store.state,util.local.get(Setting.storeKey))) + } + + //在页面刷新时将vuex里的信息保存到localStorage里 + window.addEventListener("beforeunload",()=>{ + util.local.get(Setting.tokenKey) && util.local.set(Setting.storeKey,this.$store.state) + }) + } + } +</script> \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..03841f6 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,158 @@ +import Setting from '@/setting' +let host = `${Setting.apiBaseURL}evaluation/` +let loginhost = `${Setting.apiBaseURL}liuwanr/` + +export default { + host, + logins: `${loginhost}userInfo/logins`, //登录 + updateLogInNumber: `${loginhost}userInfo/updateLogInNumber`, //用户登录修改登录次数和登陆时间 + uploadUserAvatars: `${loginhost}userInfo/uploadUserAvatars`, //上传头像 + loginSchool: `${loginhost}userInfo/loginSchoolClient`, //登陆查询学校 + loginRole: `${loginhost}userInfo/loginRole`, //登陆查询角色 + save: `${host}tms/userInfo/add`, //注册 + + queryToken: `${loginhost}userInfo/queryToken`, + queryWorkNumberIsExist:`${loginhost}userInfo/queryWorkNumberIsExist`,//查询学号、工号是否存在 + queryAccountIsExist:`${loginhost}userInfo/queryAccountIsExist`,//查询员工,学生账号是否存在接口 + + addStuPro: `${host}stuProfessionalArchitecture/addStuProfessionalArchitecture`, //添加学生专业 + queryStuPro: `${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`, //查询学生专业 + queryStuGrade: `${host}stuProfessionalArchitecture/queryStuGrade`, //查询学生年级 + queryStuClass: `${host}stuProfessionalArchitecture/queryStuClass`, //查询学生班级 + deleteStuPro: `${host}stuProfessionalArchitecture/deleteStuProfessionalArchitecture`, //删除学生专业 + updateStuPro: `${host}stuProfessionalArchitecture/updateStuProfessionalArchitecture`, //编辑学生专业 + + findPasswordByEmail: `${host}tms/userInfo/findPasswordByEmail`, + findPasswordByPhone: `${host}tms/userInfo/findPasswordByPhone`, + resetPassword: `${host}tms/userInfo/resetPassword`, + checkCode: `${host}tms/userInfo/checkCode`, + + queryStudentData: `${host}student/queryStudent`, //查询学生 + queryStudentDetails: `${host}student/queryStudentDetails`, //查询学生详情 + addStudent: `${host}student/addStudent`, //添加学生 + deleteStudent: `${host}student/deleteStudent`, //删除学生 + updateStudent: `${host}student/updateStudent`, //编辑学生 + updateStuGrade: `${host}stuProfessionalArchitecture/updateStuGrade`, //编辑学生年级 + addStuGrade: `${host}stuProfessionalArchitecture/addStuGrade`, //添加学生年级 + deleteStuGrade: `${host}stuProfessionalArchitecture/deleteStuGrade`, //删除学生年级 + updateStuClass: `${host}stuProfessionalArchitecture/updateStuClass`, //编辑学生班级 + addStuClass: `${host}stuProfessionalArchitecture/addStuClass`, //添加学生班级 + deleteStuClass: `${host}stuProfessionalArchitecture/deleteStuClass`, //删除学生班级 + + queryPersonalCenter:`${host}personalCenter/queryPersonalCenter`, + addStaffPro: `${host}staffProfessionalArchitecture/addStaffProfessionalArchitecture`, //添加员工专业 + queryStaffPro: `${host}staffProfessionalArchitecture/queryAllStaffProfessionalArchitecture`, //查询员工专业 + deleteStaffPro: `${host}staffProfessionalArchitecture/deleteStaffProfessionalArchitecture`, //删除员工专业 + deleteStaffGrade: `${host}staffGrade/deleteStaffGrade`, //删除员工部门 + updateStaffPro: `${host}staffProfessionalArchitecture/updateStaffProfessionalArchitecture`, //编辑员工专业 + queryStaffGrade: `${host}staffGrade/queryStaffGrade`, //查询员工部门 + queryStaffGradeDetails: `${host}staffGrade/queryStaffGradeDetails`, //查询员工部门详情 + addStaffGrade: `${host}staffGrade/addStaffGrade`, //新增员工部门 + updateStaffGrade: `${host}staffGrade/updateStaffGrade`, //编辑员工部门 + queryCourseDiscipline: `${loginhost}course/queryCourseDiscipline`, //查询课程学科 + queryCourseProfessionalClass: `${loginhost}course/queryCourseProfessionalClass`, //查询专业类 + queryCourseProfessional: `${loginhost}course/queryCourseProfessional`, //查询专业 + queryPhone: `${loginhost}userInfo/queryPhone`, //查询电话是否存在 + + queryStaff: `${host}staff/queryStaff`, //查询员工 + addStaff: `${host}staff/addStaff`, //添加员工 + queryStaffDetails: `${host}staff/queryStaffDetails`, //员工详情 + deleteStaff: `${host}staff/deleteStaff`, //删除员工 + updateStaff: `${host}staff/updateStaff`, //更新员工 + readStaff: `${host}staff/readStaff`, //上传员工模板 + + queryGetByClassName:`${host}makeuplist/queryGetByClassName`, + deleteExperimentalClass:`${host}experimentalClass/deleteExperimentalClass`,//删除实验班级 + queryAssesmentcondition:`${host}assesment/queryAssesmentcondition`,//考核成绩表格 + queryGetById:`${host}assesment/queryGetById`,//查询考核信息 + updateAssesment:`${host}assesment/updateAssesment`,//修改考核 + updateState:`${host}assesment/updateState`,//点击启动修改考核时间 + updateAssesmentTime:`${host}assesment/updateAssesmentTime`,//点击提前结束获取当前时间 + queryAssesmentScore:`${host}assesment/queryAssesmentScore`,//获取查询成绩页面 + queryAssesmentAchievement:`${host}assesment/queryAssesmentAchievement`,//查询成绩明细板块 + excelExport:`${host}makeuplist/excelExport`,//模板下载 + importMakeuplist:`${host}makeuplist/importMakeuplist`, //模板上传 + queryAllExperiment:`${host}experiment/queryAllExperiment`,//实验项目渲染, + queryAttendanceSignIn:`${host}attendance/queryAttendanceSignIn`,//获得用户ID 及考勤总数 + insertAttendance:`${host}Experimentallearning/insertAttendance`,//改变签到状态 + queryExperimentallearning:`${host}Experimentallearning/queryExperimentallearning`,//获取项目名和签到状态 + queryCourseDetails:`${host}course/queryCourseDetails`,//获取课程简介和课程目标 + queryTeacherName:`${host}Experimentallearning/queryTeacherName`,//获取教师信息 + queryStudentName:`${host}Experimentallearning/queryStudentName`,//获取学生信息 + queryPracticeVo:`${host}experiment/queryPracticeVo`,//获取表格数据 + queryStudentAssessment:`${host}assesmentRecord/queryStudentAssessment`, //查询姓名和个人平均分和最高分 + queryAssesmentRecordMaxScore:`${host}assesmentRecord/queryAssesmentRecordMaxScore`, //查询学校平均分最高分 + queryAssesmentRecordWhole:`${host}assesmentRecord/queryAssesmentRecordWhole`,//查询全国平均考核得分 + queryAssesmentRecordMaxWhole:`${host}assesmentRecord/queryAssesmentRecordMaxWhole`, //查询全国平均分最高分 + queryStudentByPage:`${host}experiment/queryStudentByPage`, //查询练习记录表格数据 + queryProject:`${host}ProjectAndCourse/queryProject`,//实验项目信息展示 + updateIsExperiment:`${host}ProjectAndCourse/updateIsExperiment`,//修改是否开启项目 + updateIsAttendance:`${host}ProjectAndCourse/updateIsAttendance`,//修改是否考勤 + addAssesment:`${host}assesment/addAssesment`,//添加考核 + queryStuProfessionalArchitecture:`${host}stuProfessionalArchitecture/queryStuProfessionalArchitecture`,//修改是否考勤 + queryStuGrade:`${host}stuProfessionalArchitecture/queryStuGrade`,//修改是否考勤 + queryStuClass:`${host}stuProfessionalArchitecture/queryStuClass`,//修改是否考勤 + queryStudent:`${host}stuProfessionalArchitecture/queryStudent`,//修改是否考勤 + queryAttendanceDetailed:`${host}attendance/queryAttendanceDetailed`,//获取考勤列表数据 + + queryExperimentClass:`${host}experimentalClass/queryExperimentalClass`,//查询实验班级 + queryExperimentalClassSP:`${host}experimentalClass/queryExperimentalClassSP`,//查询实验班级学生专业 + queryStudentClass:`${host}experimentalClass/queryStudentClass`,//查询学生行政班级 + queryClassDetails:`${host}experimentalClass/queryExperimentClassDetails`,//查询实验班级详情 + updateClassName:`${host}experimentalClass/updateExperimentClassName`,//修改实验班级名称 + updateState:`${host}assesment/updateState`,//修改考核状态 + experimentClassDeleteStudent:`${host}experimentalClass/experimentClassDeleteStudent`, //移除实验班学生 + addExperimentalClass:`${host}experimentalClass/addExperimentalClass`,//添加实验班级 + platformQueryCourse:`${host}course/platformQueryCourse`, + queryAssesment:`${host}Experimentallearning/queryAssesment`, + getCourse:`${host}course/getCourse`,//获取课程简介,教学目标,课程名称 + getProfessionals:`${host}experimentalClass/getProfessionals`,// 请求专业下拉框数据 + getStudentClass:`${host}experimentalClass/getStudentClass`,//请求行政班级下拉框数据 + getCourseSchedule:`${host}ProjectAndCourse/getCourseSchedule`,//课程进度 + releaseAssesment:`${host}assesment/releaseAssesment`,//发布考核 + experimentClassAddStudent:`${host}experimentalClass/experimentClassAddStudent`,//发布考核 + getExperimentalClass:`${host}assesment/getExperimentalClass`,//实验班级一级标题 + getCreationTime:`${host}assesment/getCreationTime`,//实验班级二级标题 + deleteAssesment:`${host}assesment/deleteAssesment`,//删除考核 + queryStudentCourse:`${host}Experimentallearning/queryStudentCourse`,//学生查询课程 + getByCourseId:`${host}assesment/getByCourseId`,//查询系统列表 + getCoursevideo:`${host}tms/classTech/simulationPlayList`,//开始课程-课程视频 + queryStaffPAN:`${host}staffProfessionalArchitecture/queryStaffPAN`,//查询员工专业是否存在 + queryStudentisAssess:`${host}assesment/queryStudentisAssess`,//查看正在参与考核的学生 + + queryProvince: `${loginhost}province/queryProvince`, //查询省份 + queryCity: `${loginhost}city/queryCity`, //查询城市 + querySchoolData: `${loginhost}customer/querySchool`, //根据学校名称查询学校信息 + + examinePassword:`${host}tms/user/examinePassword`,//更换密码 + userinfoUpdate:`${host}tms/user/update`,//个人中心信息修改 + userinfo:`${host}tms/user/userinfo`,//个人中心信息展示 + sendEmailCode:`${host}tms/user/sendEmailCode`,//发送邮箱验证码 + bingEmail:`${host}tms/user/bingEmail`,//邮箱验证并更新 + sendPhoneCode:`${host}tms/user/sendPhoneCode`,//发送手机验证码 + bindPhone:`${host}tms/user/bindPhone`,//校验手机验证码 + + canExperiment: `${host}tms/evaluationrecord/can_experiment`, //查询是否能够开启实验 + openExercise: `${host}tms/evaluationrecord/openExercise`, //查询是否能够开启虚拟仿真实验 + openTeaching: `${host}tms/evaluationrecord/openTeaching`, //查询是否能够开启教学实验 + experimentDetail: `${host}tms/evaluationrecord/detail`, //成绩详情 + experimentNext: `${host}tms/evaluationrecord/next`, //下一题 + experimentNotmade: `${host}tms/evaluationrecord/not_made`, //提交之前查询是否还有未做完的试题 + experimentPrevious: `${host}tms/evaluationrecord/previous`, //上一题 + experimentRemaining: `${host}tms/evaluationrecord/remaining`, //获取测评剩余时间 + experimentStart: `${host}tms/evaluationrecord/start`, //开始测评 + experimentSubmit: `${host}tms/evaluationrecord/submit`, //提交测评 + + fictitiousRecord: `${host}fictitious/projectrecord/user/record`, //用户端实验记录 + exportProjectRecord: `${host}fictitious/projectrecord/user/exportProjectRecord`, //虚拟实验记录导出 + exportExperimentProjectRecord: `${host}fictitious/projectrecord/user/exportExperimentProjectRecord`, //个人实验记录导出 + fictitiousScore: `${host}fictitious/projectrecord/user/score`, //个人实验概览 + experimentRecord: `${host}fictitious/projectrecord/user/experimentRecord`, //用户端教学实验记录 + + joinPractice: `${host}tms/classTech/joinPractice`, //通过邀请码进入实验 + queryArchievement: `${host}tms/classTech/queryExperimentalReport`, //查看教学实验报告 + queryVirtualReport: `${host}tms/classTech/queryVirtualReport`, //查看虚仿实验报告 + checkInvitationCode: `${host}tms/classTech/checkInvitationCode`, //校验是否需要邀请码 + userRecord: `${host}tms/classTech/userRecord`, //查询班级实验列表信息 + modifyReport: `${host}Achievement/modify`, +} \ No newline at end of file diff --git a/src/assets/img/05学生-练习记录_03.png b/src/assets/img/05学生-练习记录_03.png new file mode 100644 index 0000000..b8ac8df Binary files /dev/null and b/src/assets/img/05学生-练习记录_03.png differ diff --git a/src/assets/img/05学生-练习记录_05.png b/src/assets/img/05学生-练习记录_05.png new file mode 100644 index 0000000..4ce1390 Binary files /dev/null and b/src/assets/img/05学生-练习记录_05.png differ diff --git a/src/assets/img/17查看成绩1.png b/src/assets/img/17查看成绩1.png new file mode 100644 index 0000000..d72e431 Binary files /dev/null and b/src/assets/img/17查看成绩1.png differ diff --git a/src/assets/img/17查看成绩2.png b/src/assets/img/17查看成绩2.png new file mode 100644 index 0000000..2cbad43 Binary files /dev/null and b/src/assets/img/17查看成绩2.png differ diff --git a/src/assets/img/17查看成绩3.png b/src/assets/img/17查看成绩3.png new file mode 100644 index 0000000..255f71e Binary files /dev/null and b/src/assets/img/17查看成绩3.png differ diff --git a/src/assets/img/17查看成绩4.png b/src/assets/img/17查看成绩4.png new file mode 100644 index 0000000..5f19251 Binary files /dev/null and b/src/assets/img/17查看成绩4.png differ diff --git a/src/assets/img/17查看成绩5.png b/src/assets/img/17查看成绩5.png new file mode 100644 index 0000000..e1ddec9 Binary files /dev/null and b/src/assets/img/17查看成绩5.png differ diff --git a/src/assets/img/17查看成绩6.png b/src/assets/img/17查看成绩6.png new file mode 100644 index 0000000..cccb558 Binary files /dev/null and b/src/assets/img/17查看成绩6.png differ diff --git a/src/assets/img/17查看成绩7.png b/src/assets/img/17查看成绩7.png new file mode 100644 index 0000000..55ce53a Binary files /dev/null and b/src/assets/img/17查看成绩7.png differ diff --git a/src/assets/img/3.png b/src/assets/img/3.png new file mode 100644 index 0000000..7b4c970 Binary files /dev/null and b/src/assets/img/3.png differ diff --git a/src/assets/img/back.png b/src/assets/img/back.png new file mode 100644 index 0000000..1eb13f7 Binary files /dev/null and b/src/assets/img/back.png differ diff --git a/src/assets/img/bg_1.png b/src/assets/img/bg_1.png new file mode 100644 index 0000000..02fb9f7 Binary files /dev/null and b/src/assets/img/bg_1.png differ diff --git a/src/assets/img/bg_2.png b/src/assets/img/bg_2.png new file mode 100644 index 0000000..62311da Binary files /dev/null and b/src/assets/img/bg_2.png differ diff --git a/src/assets/img/bind.png b/src/assets/img/bind.png new file mode 100644 index 0000000..84626d5 Binary files /dev/null and b/src/assets/img/bind.png differ diff --git a/src/assets/img/cup.png b/src/assets/img/cup.png new file mode 100644 index 0000000..6fe22a5 Binary files /dev/null and b/src/assets/img/cup.png differ diff --git a/src/assets/img/date.png b/src/assets/img/date.png new file mode 100644 index 0000000..0844163 Binary files /dev/null and b/src/assets/img/date.png differ diff --git a/src/assets/img/edit.png b/src/assets/img/edit.png new file mode 100644 index 0000000..8aab22d Binary files /dev/null and b/src/assets/img/edit.png differ diff --git a/src/assets/img/evaluation_bg1.png b/src/assets/img/evaluation_bg1.png new file mode 100644 index 0000000..f2b3351 Binary files /dev/null and b/src/assets/img/evaluation_bg1.png differ diff --git a/src/assets/img/evaluation_bg2.png b/src/assets/img/evaluation_bg2.png new file mode 100644 index 0000000..99bdf13 Binary files /dev/null and b/src/assets/img/evaluation_bg2.png differ diff --git a/src/assets/img/evaluation_bg3.png b/src/assets/img/evaluation_bg3.png new file mode 100644 index 0000000..3abf350 Binary files /dev/null and b/src/assets/img/evaluation_bg3.png differ diff --git a/src/assets/img/false.png b/src/assets/img/false.png new file mode 100644 index 0000000..352a207 Binary files /dev/null and b/src/assets/img/false.png differ diff --git a/src/assets/img/get.png b/src/assets/img/get.png new file mode 100644 index 0000000..1408b1d Binary files /dev/null and b/src/assets/img/get.png differ diff --git a/src/assets/img/hourglass.png b/src/assets/img/hourglass.png new file mode 100644 index 0000000..5e24de0 Binary files /dev/null and b/src/assets/img/hourglass.png differ diff --git a/src/assets/img/icon-weigouxuan.png b/src/assets/img/icon-weigouxuan.png new file mode 100644 index 0000000..e74d5c2 Binary files /dev/null and b/src/assets/img/icon-weigouxuan.png differ diff --git a/src/assets/img/icon-xiangyou.png b/src/assets/img/icon-xiangyou.png new file mode 100644 index 0000000..63a09e1 Binary files /dev/null and b/src/assets/img/icon-xiangyou.png differ diff --git a/src/assets/img/icon-yigouxuan.png b/src/assets/img/icon-yigouxuan.png new file mode 100644 index 0000000..d1c0d1c Binary files /dev/null and b/src/assets/img/icon-yigouxuan.png differ diff --git a/src/assets/img/icon_1.png b/src/assets/img/icon_1.png new file mode 100644 index 0000000..a134364 Binary files /dev/null and b/src/assets/img/icon_1.png differ diff --git a/src/assets/img/icon_2.png b/src/assets/img/icon_2.png new file mode 100644 index 0000000..e045a83 Binary files /dev/null and b/src/assets/img/icon_2.png differ diff --git a/src/assets/img/icon_qq.png b/src/assets/img/icon_qq.png new file mode 100644 index 0000000..203ecf1 Binary files /dev/null and b/src/assets/img/icon_qq.png differ diff --git a/src/assets/img/icon_wechat.png b/src/assets/img/icon_wechat.png new file mode 100644 index 0000000..00d0604 Binary files /dev/null and b/src/assets/img/icon_wechat.png differ diff --git a/src/assets/img/idcard.png b/src/assets/img/idcard.png new file mode 100644 index 0000000..0b71982 Binary files /dev/null and b/src/assets/img/idcard.png differ diff --git a/src/assets/img/img.jpg b/src/assets/img/img.jpg new file mode 100644 index 0000000..cbe6c00 Binary files /dev/null and b/src/assets/img/img.jpg differ diff --git a/src/assets/img/login_icon_close.png b/src/assets/img/login_icon_close.png new file mode 100644 index 0000000..f9f10dd Binary files /dev/null and b/src/assets/img/login_icon_close.png differ diff --git a/src/assets/img/logo-hh.png b/src/assets/img/logo-hh.png new file mode 100644 index 0000000..90075d6 Binary files /dev/null and b/src/assets/img/logo-hh.png differ diff --git a/src/assets/img/logo-hh1.png b/src/assets/img/logo-hh1.png new file mode 100644 index 0000000..4eec715 Binary files /dev/null and b/src/assets/img/logo-hh1.png differ diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png new file mode 100644 index 0000000..8782314 Binary files /dev/null and b/src/assets/img/logo.png differ diff --git a/src/assets/img/open.png b/src/assets/img/open.png new file mode 100644 index 0000000..caba915 Binary files /dev/null and b/src/assets/img/open.png differ diff --git a/src/assets/img/person/bg.png b/src/assets/img/person/bg.png new file mode 100644 index 0000000..3cd9a55 Binary files /dev/null and b/src/assets/img/person/bg.png differ diff --git a/src/assets/img/person/manag.png b/src/assets/img/person/manag.png new file mode 100644 index 0000000..5cb92fd Binary files /dev/null and b/src/assets/img/person/manag.png differ diff --git a/src/assets/img/person/user.png b/src/assets/img/person/user.png new file mode 100644 index 0000000..6a2cafc Binary files /dev/null and b/src/assets/img/person/user.png differ diff --git a/src/assets/img/ques1.png b/src/assets/img/ques1.png new file mode 100644 index 0000000..bc722d0 Binary files /dev/null and b/src/assets/img/ques1.png differ diff --git a/src/assets/img/school.png b/src/assets/img/school.png new file mode 100644 index 0000000..53d8523 Binary files /dev/null and b/src/assets/img/school.png differ diff --git a/src/assets/img/select.png b/src/assets/img/select.png new file mode 100644 index 0000000..1099f6f Binary files /dev/null and b/src/assets/img/select.png differ diff --git a/src/assets/img/station1.png b/src/assets/img/station1.png new file mode 100644 index 0000000..2e91783 Binary files /dev/null and b/src/assets/img/station1.png differ diff --git a/src/assets/img/station10.png b/src/assets/img/station10.png new file mode 100644 index 0000000..17014ed Binary files /dev/null and b/src/assets/img/station10.png differ diff --git a/src/assets/img/station11.png b/src/assets/img/station11.png new file mode 100644 index 0000000..af52b2e Binary files /dev/null and b/src/assets/img/station11.png differ diff --git a/src/assets/img/station12.png b/src/assets/img/station12.png new file mode 100644 index 0000000..0dc928f Binary files /dev/null and b/src/assets/img/station12.png differ diff --git a/src/assets/img/station2.png b/src/assets/img/station2.png new file mode 100644 index 0000000..56ec266 Binary files /dev/null and b/src/assets/img/station2.png differ diff --git a/src/assets/img/station3.png b/src/assets/img/station3.png new file mode 100644 index 0000000..44b75d2 Binary files /dev/null and b/src/assets/img/station3.png differ diff --git a/src/assets/img/station4.png b/src/assets/img/station4.png new file mode 100644 index 0000000..9126c65 Binary files /dev/null and b/src/assets/img/station4.png differ diff --git a/src/assets/img/station5.png b/src/assets/img/station5.png new file mode 100644 index 0000000..b4f5fe5 Binary files /dev/null and b/src/assets/img/station5.png differ diff --git a/src/assets/img/station6.png b/src/assets/img/station6.png new file mode 100644 index 0000000..66c7e19 Binary files /dev/null and b/src/assets/img/station6.png differ diff --git a/src/assets/img/station7.png b/src/assets/img/station7.png new file mode 100644 index 0000000..4e4df0d Binary files /dev/null and b/src/assets/img/station7.png differ diff --git a/src/assets/img/station8.png b/src/assets/img/station8.png new file mode 100644 index 0000000..cc3246f Binary files /dev/null and b/src/assets/img/station8.png differ diff --git a/src/assets/img/station9.png b/src/assets/img/station9.png new file mode 100644 index 0000000..29fe2a6 Binary files /dev/null and b/src/assets/img/station9.png differ diff --git a/src/assets/img/student1.png b/src/assets/img/student1.png new file mode 100644 index 0000000..7b4971c Binary files /dev/null and b/src/assets/img/student1.png differ diff --git a/src/assets/img/student2.png b/src/assets/img/student2.png new file mode 100644 index 0000000..0da0bed Binary files /dev/null and b/src/assets/img/student2.png differ diff --git a/src/assets/img/student3.png b/src/assets/img/student3.png new file mode 100644 index 0000000..027bcd7 Binary files /dev/null and b/src/assets/img/student3.png differ diff --git a/src/assets/img/student4.png b/src/assets/img/student4.png new file mode 100644 index 0000000..8a1c60d Binary files /dev/null and b/src/assets/img/student4.png differ diff --git a/src/assets/img/true.png b/src/assets/img/true.png new file mode 100644 index 0000000..abd335a Binary files /dev/null and b/src/assets/img/true.png differ diff --git a/src/components/pdf/index.vue b/src/components/pdf/index.vue new file mode 100644 index 0000000..e822cb5 --- /dev/null +++ b/src/components/pdf/index.vue @@ -0,0 +1,124 @@ +<template> + <div> + <el-dialog + custom-class="pdf-dia" + :close-on-click-modal="false" + :visible.sync="visible" + @close="closePdf" + :fullscreen="true" + :modal="false" + :append-to-body="true"> + <div> + <button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="closePdf"><i class="el-dialog__close el-icon el-icon-close"></i></button> + <div class="pdf"> + <p class="arrow"> + <span @click="changePdfPage(0)" class="turn el-icon-arrow-left" :class="{grey: currentPage==1}"></span> + {{currentPage}} / {{pageCount}} + <span @click="changePdfPage(1)" class="turn el-icon-arrow-right" :class="{grey: currentPage==pageCount}"></span> + </p> + <pdf + class="pdf-wrap" + :src="src" + :page="currentPage" + @num-pages="pageCount=$event" + @page-loaded="currentPage=$event" + @loaded="loadPdfHandler" + > + </pdf> + </div> + </div> + </el-dialog> + </div> +</template> +<script> +import pdf from "vue-pdf"; +export default { + props: ['visible','src'], + data() { + return { + pdfVisible: false, + pdfSrc: '', + currentPage: 0, + pageCount: 0, + fileType: 'pdf', + }; + }, + components: { pdf }, + mounted(){ + this.addEvent() + }, + methods: { + closePdf(){ + this.$emit('update:visible',false) + this.$emit('update:src','') + this.currentPage = 1 + }, + changePdfPage (val) { + if (val === 0 && this.currentPage > 1) { + this.currentPage-- + } + if (val === 1 && this.currentPage < this.pageCount) { + this.currentPage++ + } + }, + loadPdfHandler (e) { + this.currentPage = 1 + }, + addEvent(){ + document.onkeydown = e => { + let key = window.event.keyCode + if(key == 37){ + this.changePdfPage(0) + }else if(key == 39){ + this.changePdfPage(1) + } + } + this.$once('hook:beforeDestroy',() => { + document.onkeydown = null + }) + } + } +}; +</script> +<style lang="scss" scoped> + /deep/.pdf-dia{ + border-radius: 0 !important; + .el-dialog__header{ + display: none; + } + .el-dialog__body{ + padding: 0; + } + .el-dialog__headerbtn{ + top: 10px; + .el-dialog__close{ + color: #fff; + font-size: 16px; + } + } + + .pdf{ + .arrow{ + display: flex; + justify-content: center; + align-items: center; + width: 100%; + padding: 10px 0; + font-size: 16px; + color: #fff; + background-color: #333; + .turn{ + margin: 0 10px; + font-size: 18px; + cursor: pointer; + } + } + .pdf-wrap{ + height: calc(100vh - 45px); + margin: 0 auto; + overflow: auto; + } + } + } + +</style> \ No newline at end of file diff --git a/src/components/quill/index.vue b/src/components/quill/index.vue new file mode 100644 index 0000000..f4d2118 --- /dev/null +++ b/src/components/quill/index.vue @@ -0,0 +1,179 @@ +<template> + <div class="quill" :class="classes"> + <div ref="editor" :style="styles" v-loading="loading"></div> + + <el-upload :action="this.api.fileupload" :before-upload="beforeUpload" :on-success="editorUploadSuccess" style="display: none"> + <el-button class="editorUpload" size="small" type="primary">点击上传</el-button> + </el-upload> + </div> +</template> + +<script> + import Quill from 'quill'; + import 'quill/dist/quill.core.css'; + import 'quill/dist/quill.snow.css'; + import 'quill/dist/quill.bubble.css'; + import toolbarOptions from './options' + + export default { + name: 'quill', + props: { + value: { + type: String, + default: '' + }, + readonly: { + type: Boolean, + default: false + }, + toTop: { + type: Boolean, + default: true + }, + border: { + type: Boolean, + default: false + }, + height: { + type: Number + }, + minHeight: { + type: Number + } + }, + data () { + return { + Quill: null, + currentValue: '', + options: { + theme: 'snow', + bounds: document.body, + debug: 'warn', + modules: { + toolbar: { + container: toolbarOptions, + handlers: { + 'image': function (value) { + if (value) { + // 调用iview图片上传 + document.querySelector('.editorUpload').click() + } else { + this.Quill.format('image', false); + } + } + } + } + }, + placeholder: '', + readOnly: this.readonly + }, + loading: false + } + }, + computed: { + classes () { + return [ + { + 'quill-no-border': !this.border + } + ]; + }, + styles () { + let style = {}; + if (this.minHeight) { + style.minHeight = `${this.minHeight}px`; + } + if (this.height) { + style.height = `${this.height}px`; + } + return style; + } + }, + watch: { + value: { + handler (val) { + if (val !== this.currentValue) { + this.currentValue = val; + if (this.Quill) { + this.Quill.pasteHTML(this.value); + } + } + }, + immediate: true + } + }, + mounted () { + this.init(); + }, + beforeDestroy () { + // 在组件销毁后销毁实例 + this.Quill = null; + }, + methods: { + init () { + const editor = this.$refs.editor; + // 初始化编辑器 + this.Quill = new Quill(editor, this.options); + // 默认值 + this.Quill.pasteHTML(this.currentValue); + if(this.toTop){ + this.$nextTick(() => { + window.scrollTo(0,0) + }) + } + // 绑定事件 + this.Quill.on('text-change', (delta, oldDelta, source) => { + const html = this.$refs.editor.children[0].innerHTML; + const text = this.Quill.getText(); + const quill = this.Quill; + // 更新内部的值 + this.currentValue = html; + // 发出事件 v-model + this.$emit('input', html); + // 发出事件 + this.$emit('on-change', { html, text, quill }); + }); + // 将一些 quill 自带的事件传递出去 + this.Quill.on('text-change', (delta, oldDelta, source) => { + this.$emit('on-text-change', delta, oldDelta, source); + }); + this.Quill.on('selection-change', (range, oldRange, source) => { + this.$emit('on-selection-change', range, oldRange, source); + }); + this.Quill.on('editor-change', (eventName, ...args) => { + this.$emit('on-editor-change', eventName, ...args); + }); + }, + beforeUpload(file){ + this.loading = true + }, + editorUploadSuccess (res) { + // 获取富文本组件实例 + let quill = this.Quill + // 如果上传成功 + if (res.data.filesResult.fileUrl) { + // 获取光标所在位置 + let length = quill.getSelection().index; + // 插入图片,res为服务器返回的图片链接地址 + quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl) + // 调整光标到最后 + quill.setSelection(length + 1) + } else { + this.$message.success('图片插入失败') + } + this.loading = false + }, + } + } +</script> +<style lang="scss" scoped> + .quill-no-border{ + .ql-toolbar.ql-snow{ + border: none; + border-bottom: 1px solid #e8eaec; + } + .ql-container.ql-snow{ + border: none; + } + } +</style> diff --git a/src/components/quill/options.js b/src/components/quill/options.js new file mode 100644 index 0000000..5a90edd --- /dev/null +++ b/src/components/quill/options.js @@ -0,0 +1,16 @@ +export default [ + ['bold', 'italic', 'underline', 'strike'], + ['blockquote', 'code-block'], + [{ 'header': 1 }, { 'header': 2 }], + [{ 'list': 'ordered' }, { 'list': 'bullet' }], + [{ 'script': 'sub' }, { 'script': 'super' }], + [{ 'indent': '-1' }, { 'indent': '+1' }], + [{ 'direction': 'rtl' }], + [{ 'size': ['small', false, 'large', 'huge'] }], + [{ 'header': [1, 2, 3, 4, 5, 6, false] }], + [{ 'color': [] }, { 'background': [] }], + [{ 'font': [] }], + [{ 'align': [] }], + ['clean'], + ['link', 'image', 'video'] +] \ No newline at end of file diff --git a/src/i18n/index.js b/src/i18n/index.js new file mode 100644 index 0000000..299d2da --- /dev/null +++ b/src/i18n/index.js @@ -0,0 +1,30 @@ +export const messages = { + 'zh': { + i18n: { + breadcrumb: '国际化产品', + tips: '通过切换语言按钮,来改变当前内容的语言。', + btn: '切换英文', + title1: '常用用法', + p1: '要是你把你的秘密告诉了风,那就别怪风把它带给树。', + p2: '没有什么比信念更能支撑我们度过艰难的时光了。', + p3: '只要能把自己的事做好,并让自己快乐,你就领先于大多数人了。', + title2: '组件插值', + info: 'Element组件需要国际化,请参考 {action}。', + value: '文档' + } + }, + 'en': { + i18n: { + breadcrumb: 'International Products', + tips: 'Click on the button to change the current language. ', + btn: 'Switch Chinese', + title1: 'Common usage', + p1: "If you reveal your secrets to the wind you should not blame the wind for revealing them to the trees.", + p2: "Nothing can help us endure dark times better than our faith. ", + p3: "If you can do what you do best and be happy, you're further along in life than most people.", + title2: 'Component interpolation', + info: 'The default language of Element is Chinese. If you wish to use another language, please refer to the {action}.', + value: 'documentation' + } + } +} \ No newline at end of file diff --git a/src/layouts/footer/index.vue b/src/layouts/footer/index.vue new file mode 100644 index 0000000..b00f26e --- /dev/null +++ b/src/layouts/footer/index.vue @@ -0,0 +1,43 @@ +<template> + <div> + <div class="copyright"> + <a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">粤ICP备20072679号</a> + </div> + </div> +</template> +<script> +export default { + data() { + return { + + }; + }, + mounted(){ + + }, + methods: { + + }, +}; +</script> +<style lang="scss" scoped> + .copyright{ + padding: 20px 0; + color: rgba(0, 0, 0, 0.45); + font-size: 12px; + text-align: center; + background-color: #333; + p{ + margin-bottom: 10px; + color: #fff; + font-size: 12px; + } + a{ + color:#fff; + font-size: 12px; + &:hover{ + opacity: .8; + } + } + } +</style> \ No newline at end of file diff --git a/src/layouts/header/index.vue b/src/layouts/header/index.vue new file mode 100644 index 0000000..581fe02 --- /dev/null +++ b/src/layouts/header/index.vue @@ -0,0 +1,121 @@ +<template> + <div class="header"> + <div v-if="this.$route.path=='/setting/person'" class="goBack" @click="back"><i class="el-icon-arrow-left"></i>返回</div> + <template v-else> + <img class="logo hh" v-if="isHh" src="@/assets/img/logo-hh.png" /> + <img class="logo" v-else src="@/assets/img/logo.png"> + </template> + <div class="header-right"> + <div class="header-user-con"> + <div class="user" @click="toPersonal"> + <el-avatar :size="40" :src="avatar"></el-avatar> + <span class="user-avator">{{userName}}</span> + </div> + <el-divider class="ml20" direction="vertical"></el-divider> + <el-button type="text" class="ml20" @click="logout">退出</el-button> + </div> + </div> + </div> +</template> +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +export default { + data() { + return { + isHh: Setting.isHh, + }; + }, + computed: { + ...mapState('user', [ + 'avatar','userName' + ]), + }, + mounted(){ + + }, + methods: { + ...mapActions('user', [ + 'logout' + ]), + toPersonal(){ + this.$router.push('/setting/person') + }, + back(){ + if(this.$route.path == '/addassessment'){ + this.$router.push({ path: '/teacherhome', query: { active: true }}) + }else{ + this.$router.go(-1) + } + } + }, +}; +</script> +<style scoped lang="scss"> +.goBack{ + cursor: pointer; + line-height: 60px; + height: 60px; + font-size: 16px; + font-weight: bold; + margin-left: 20px; +} +.goBack i{ + color: #9278ff; + font-size: 20px; +} +.header { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + width: 100%; + height: 60px; + font-size: 16px; + color: #333; +} +.header .logo { + width: 150px; + margin-left: 20px; + &.hh{ + width: 500px; + } +} +.header-right { + padding-right: 50px; +} +.header-user-con { + display: flex; + align-items: center; + + .user{ + display: inline-flex; + align-items: center; + cursor: pointer; + } +} +.user-avator { + margin-left: 10px; +} +.ml20{ + margin-left: 20px; +} +.user-avator img { + display: block; + width: 40px; + height: 40px; + border-radius: 50%; +} +.header-right .el-button--text{ + color: #333; +} +.header-right .el-divider--vertical{ + width: 2px; + height: 15px; +} +.header-right .el-divider{ + background-color: #333; +} +</style> diff --git a/src/layouts/home/index.vue b/src/layouts/home/index.vue new file mode 100644 index 0000000..fee3944 --- /dev/null +++ b/src/layouts/home/index.vue @@ -0,0 +1,69 @@ +<template> + <div class="main"> + <v-head></v-head> + <div class="layout"> + <navbar v-if="!hideNavList.includes($route.path)"></navbar> + <div class="content"> + <transition name="move" mode="out-in"> + <router-view class="view"></router-view> + </transition> + <el-backtop target=".content"></el-backtop> + <v-footer ref="footer"></v-footer> + </div> + </div> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +import vHead from '../header' +import navbar from '../navbar' +import vFooter from '../footer' +export default { + data() { + return { + hideNavList: ['/record/show','/setting/person'] + }; + }, + components: { + vHead, + navbar, + vFooter + }, + computed: { + + }, + mounted() { + this.autoLogout() + }, + methods: { + ...mapActions('user', [ + 'logout' + ]), + autoLogout(){ + let lastTime = new Date().getTime() + document.onmousedown = () => { + lastTime = new Date().getTime() + } + + setInterval(() => { + if(util.local.get(Setting.tokenKey) && (new Date().getTime() - lastTime) > Setting.autoLogoutTime){ + util.errorMsg('用户登录过期,请重新登录') + setTimeout(this.logout,1500) + } + },1000) + } + } +}; +</script> +<style lang="scss" scoped> + .main{ + min-height: 100%; + .view{ + min-height: calc(100vh - 175px); + padding: 24px; + } + } +</style> \ No newline at end of file diff --git a/src/layouts/navbar/index.vue b/src/layouts/navbar/index.vue new file mode 100644 index 0000000..493e852 --- /dev/null +++ b/src/layouts/navbar/index.vue @@ -0,0 +1,69 @@ +<template> + <div> + <el-tabs v-model="active" @tab-click="jump"> + <el-tab-pane v-for="(item,index) in menus" :key="index" :label="item.label" :name="item.index"></el-tab-pane> + </el-tabs> + </div> +</template> + +<script> +import { mapState,mapActions } from 'vuex' +import Setting from '@/setting' +import util from '@/libs/util' +export default { + data() { + return { + active: this.$route.path, + menus: [ + { + index: '/preview/list', + label: '课前预习' + }, + { + index: '/station/list', + label: '实验台' + }, + { + index: '/ass/list', + label: '考核列表' + }, + { + index: '/record/list', + label: '实验记录' + }, + ], + }; + }, + watch: { + '$route'(to,from) { + this.active = this.$route.path + } + }, + mounted() { + + }, + methods: { + jump(tab){ + this.active = tab.name + this.$router.push(tab.name).catch(err => {}) + }, + } +}; +</script> + +<style lang="scss" scoped> + /deep/.el-tabs__header{ + z-index: 2; + padding: 20px 60px 0; + margin: 0; + box-shadow:0px 0px 25px 2px rgba(48,115,248,0.14); + background-color: #fff; + .el-tabs__nav-wrap::after{ + background-color: #fff; + .el-tabs__item{ + padding: 0 30px; + outline: none; + } + } + } +</style> \ No newline at end of file diff --git a/src/libs/auth/generateBtnPermission.js b/src/libs/auth/generateBtnPermission.js new file mode 100644 index 0000000..d8ed295 --- /dev/null +++ b/src/libs/auth/generateBtnPermission.js @@ -0,0 +1,25 @@ +/** + * @description 生成按钮级别权限组 + * */ + +import store from '@/store'; +export default function(data){ + let result = [] + data.map(e => { + if(e.select){ + e.children.map(n => { + if(n.select){ + if(n.children.length){ + result.push(`${e.name}:${n.name}`) + n.children.map(j => { + j.select && (e.path ? result.push(`${e.path}:${n.name}:${j.name}`) : result.push(`${n.path}:${j.name}`)) + }) + }else{ + result.push(`${e.path}:${n.name}`) + } + } + }) + } + }) + store.dispatch('auth/addBtnAuth',result) +} diff --git a/src/libs/bus.js b/src/libs/bus.js new file mode 100644 index 0000000..b433c90 --- /dev/null +++ b/src/libs/bus.js @@ -0,0 +1,6 @@ +import Vue from 'vue'; + +// 使用 Event Bus +const bus = new Vue(); + +export default bus; \ No newline at end of file diff --git a/src/libs/random_str.js b/src/libs/random_str.js new file mode 100644 index 0000000..d9b5838 --- /dev/null +++ b/src/libs/random_str.js @@ -0,0 +1,10 @@ +// 生成随机字符串 +export default function (len = 32) { + const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'; + const maxPos = $chars.length; + let str = ''; + for (let i = 0; i < len; i++) { + str += $chars.charAt(Math.floor(Math.random() * maxPos)); + } + return str; +} diff --git a/src/libs/resize/index.js b/src/libs/resize/index.js new file mode 100644 index 0000000..0bf38b6 --- /dev/null +++ b/src/libs/resize/index.js @@ -0,0 +1,16 @@ +// rem等比适配配置文件 +// 基准大小 +const baseSize = 16 +// 设置 rem 函数 +function setRem () { + // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。 + const scale = document.documentElement.clientWidth / 1920 + // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整) + document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px' +} +// 初始化 +setRem() +// 改变窗口大小时重新设置 rem +window.onresize = function () { + setRem() +} \ No newline at end of file diff --git a/src/libs/route/addRoutes.js b/src/libs/route/addRoutes.js new file mode 100644 index 0000000..ea953ee --- /dev/null +++ b/src/libs/route/addRoutes.js @@ -0,0 +1,32 @@ +import store from '@/store'; +import router from '@/router'; +import generateBtnPermission from '../auth/generateBtnPermission'; + +const newRoutes = [] + +function createMeta(item){ + let meta = { title: item.name } + return meta +} + +function createRoute(data){ + data.map(e => { + if(e.select && e.path){ + let meta = createMeta(e) + newRoutes.push({ + name: e.path, + path: e.path, + path: () => import(`@/pages/${e.path}.vue`), + meta + }) + } + e.children && e.children.length && createRoute(e.children) + }) +} + +export default function(data,path){ + generateBtnPermission(data) + createRoute(data) + store.dispatch('auth/addRoutes',newRoutes) + // router.addRoutes(routes) +} \ No newline at end of file diff --git a/src/libs/route/generateRoutes.js b/src/libs/route/generateRoutes.js new file mode 100644 index 0000000..638f846 --- /dev/null +++ b/src/libs/route/generateRoutes.js @@ -0,0 +1,26 @@ +import store from '@/store'; +import router from '@/router'; + +export default function(){ + setTimeout(() => { + let routes = store.state.auth.routes + routes.forEach(e => { + if(e.path == '/'){ + e.component = () => import('@/layouts/home/index.vue') + }else{ + e.component = () => import(`@/pages/${e.path}.vue`) + } + + e.children && e.children.forEach(n => { + n.path && (n.component = () => import(`@/pages/${n.path}.vue`)) + }) + }) + + routes.push({ + path: '*', + redirect: '404' + }) + + router.addRoutes(routes) + },500) +} \ No newline at end of file diff --git a/src/libs/route/resetRouter.js b/src/libs/route/resetRouter.js new file mode 100644 index 0000000..096e4f5 --- /dev/null +++ b/src/libs/route/resetRouter.js @@ -0,0 +1,6 @@ +import router from '@/router'; + +export default function(){ + const newRouter = createRouter() + router.matcher = newRouter.matcher +} \ No newline at end of file diff --git a/src/libs/util.cookies.js b/src/libs/util.cookies.js new file mode 100644 index 0000000..63c9a8b --- /dev/null +++ b/src/libs/util.cookies.js @@ -0,0 +1,43 @@ +import Cookies from 'js-cookie'; +import Setting from '@/setting'; + +const cookies = {}; + +/** + * @description 存储 cookie 值 + * @param {String} name cookie name + * @param {String} value cookie value + * @param {Object} cookieSetting cookie setting + */ +cookies.set = function (name = 'default', value = '', cookieSetting = {}) { + let currentCookieSetting = { + expires: Setting.cookiesExpires + }; + Object.assign(currentCookieSetting, cookieSetting); + Cookies.set(`admin-${name}`, value, currentCookieSetting); +}; + +/** + * @description 拿到 cookie 值 + * @param {String} name cookie name + */ +cookies.get = function (name = 'default') { + return Cookies.get(`admin-${name}`); +}; + +/** + * @description 拿到 cookie 全部的值 + */ +cookies.getAll = function () { + return Cookies.get(); +}; + +/** + * @description 删除 cookie + * @param {String} name cookie name + */ +cookies.remove = function (name = 'default') { + return Cookies.remove(`admin-${name}`); +}; + +export default cookies; diff --git a/src/libs/util.db.js b/src/libs/util.db.js new file mode 100644 index 0000000..944ea81 --- /dev/null +++ b/src/libs/util.db.js @@ -0,0 +1,83 @@ +/** + * localStorage + * @调用:_local.set('access_token', '123456', 5000); + * @调用:_local.get('access_token'); + */ + +var _local = { + //存储,可设置过期时间 + set(key, value, expires) { + let params = { key, value, expires }; + if (expires) { + // 记录何时将值存入缓存,毫秒级 + var data = Object.assign(params, { startTime: new Date().getTime() }); + localStorage.setItem(key, JSON.stringify(data)); + } else { + if (Object.prototype.toString.call(value) == '[object Object]') { + value = JSON.stringify(value); + } + if (Object.prototype.toString.call(value) == '[object Array]') { + value = JSON.stringify(value); + } + localStorage.setItem(key, value); + } + }, + //取出 + get(key) { + let item = localStorage.getItem(key); + // 先将拿到的试着进行json转为对象的形式 + try { + item = JSON.parse(item); + } catch (error) { + // eslint-disable-next-line no-self-assign + item = item; + } + // 如果有startTime的值,说明设置了失效时间 + if (item && item.startTime) { + let date = new Date().getTime(); + + // 如果大于就是过期了,如果小于或等于就还没过期 + if (date - item.startTime > item.expires) { + localStorage.removeItem(key); + return false; + } else { + return item.value; + } + } else { + return item; + } + }, + // 删除 + remove(key) { + localStorage.removeItem(key); + }, + // 清除全部 + clear() { + localStorage.clear(); + } +} + +/** + * sessionStorage + */ +var _session = { + get: function (key) { + var data = sessionStorage[key]; + if (!data || data === "null") { + return null; + } + return data; + }, + set: function (key, value) { + sessionStorage[key] = value; + }, + // 删除 + remove(key) { + sessionStorage.removeItem(key); + }, + // 清除全部 + clear() { + sessionStorage.clear(); + } +} +export { _local, _session } \ No newline at end of file diff --git a/src/libs/util.js b/src/libs/util.js new file mode 100644 index 0000000..ad0d0ba --- /dev/null +++ b/src/libs/util.js @@ -0,0 +1,159 @@ +import cookies from './util.cookies' +import {_local,_session} from './util.db' +import { Message } from 'element-ui' +import store from '@/store' +import axios from 'axios' +import api from '@/api' +import Setting from '@/setting' + +let logout = false +const util = { + cookies, + local: _local, + session: _session, + // 传入身份证获取生日 + getBirth(idCard) { + var birthday = ""; + if(idCard != null && idCard != ""){ + if(idCard.length == 15){ + birthday = "19"+idCard.slice(6,12); + } else if(idCard.length == 18){ + birthday = idCard.slice(6,14); + } + birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-"); + //通过正则表达式来指定输出格式为:1990-01-01 + } + return birthday; + }, + // new Date('2020-11-12 00:00:00') 在IE下失效,因此把-替换成/ + dateCompatible(date) { + return date.replace(/\-/g, '/') + }, + // 日期时间前面补零 + formateTime(num) { + return num < 10 ? `0${num}` : num + }, + //返回格式化时间,传参例如:"yyyy-MM-dd hh:mm:ss" + formatDate(fmt,date) { + var date = date ? date : new Date() + var o = { + "M+" : date.getMonth()+1, //月份 + "d+" : date.getDate(), //日 + "h+" : date.getHours(), //小时 + "m+" : date.getMinutes(), //分 + "s+" : date.getSeconds(), //秒 + "q+" : Math.floor((date.getMonth()+3)/3), //季度 + "S" : date.getMilliseconds() //毫秒 + }; + if(/(y+)/.test(fmt)) { + fmt=fmt.replace(RegExp.$1, (date.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; + }, + // 移除数组中指定值 + removeByValue(arr, val) { + for(var i=0; i<arr.length; i++) { + if(arr[i] == val) { + arr.splice(i, 1); + break; + } + } + }, + // 传入文件后缀判断是否是视频 + isVideo(ext) { + if('mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv'.includes(ext)) return true + return false + }, + // 传入文件后缀判断是否是音频 + isAudio(ext) { + if('mp3,aac,ape,flac,wav,wma,amr,mid'.includes(ext)) return true + return false + }, + // 传入文件后缀判断是否是图片 + isImg(ext) { + if('jpg,jpeg,png,gif,svg,psd'.includes(ext)) return true + return false + }, + // 传入文件后缀判断是否是pdf以外的文档 + isDoc(ext) { + if(!util.isVideo(ext) && !util.isAudio(ext) && !util.isImg(ext) && ext != 'pdf') return true + return false + }, + // 循环去除html标签 + removeHtmlTag(list,attr) { + list.map(n => { + n[attr] = n[attr].replace(/<\/?.+?>/gi,'') + }) + return list + }, + // 传入文件名获取文件后缀 + getFileExt(fileName) { + return fileName.substring(fileName.lastIndexOf('.') + 1) + }, + // 传入文件名和路径,下载图片视频,支持跨域,a标签加download不支持跨域 + downloadFile(fileName,url) { + var x = new XMLHttpRequest() + x.open("GET", url, true) + x.responseType = 'blob' + x.onload=function(e) { + var url = window.URL.createObjectURL(x.response) + var a = document.createElement('a') + a.href = url + a.download = fileName + a.click() + } + x.send() + }, + // 传入文件名和数据,下载文件 + downloadFileDirect(fileName,data) { + if ('download' in document.createElement('a')) { // 非IE下载 + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'none' + elink.href = URL.createObjectURL(data) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) // 释放URL 对象 + document.body.removeChild(elink) + } else { // IE10+下载 + navigator.msSaveBlob(data, fileName) + } + }, + // 成功提示 + successMsg(message,duration = 3000) { + return Message.success({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) + }, + // 警告提示 + warningMsg(message,duration = 3000) { + return Message.warning({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) + }, + // 错误提示 + errorMsg(message,duration = 3000) { + return Message.error({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration}) + }, + // 登录互踢 + getToken(){ + if(process.env.NODE_ENV == 'production'){ + if(store.state.user.dataTime && !logout){ + axios.get(`${api.queryToken}?token=${_local.get(Setting.tokenKey)}`).then(res => { + if(store.state.user.dataTime && (res.data.message != store.state.user.dataTime)){ + logout || Message.error('您已在另一台设备登录,本次登录已下线!') + logout = true + setTimeout(() => { + _local.remove(Setting.storeKey) + _local.remove(Setting.tokenKey) + location.reload() + },1500) + } + }).catch(err => {}) + } + } + } +} + +export default util \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..5a63a36 --- /dev/null +++ b/src/main.js @@ -0,0 +1,45 @@ +import Vue from 'vue'; +import App from '@/App.vue'; +import router from '@/router'; +import ElementUI from 'element-ui'; +import '@/styles/index.scss' +import VueI18n from 'vue-i18n'; +import mixinApp from '@/mixins/app'; +import { messages } from '@/i18n'; +import 'babel-polyfill'; +import '@/libs/resize'; +import {post,get,del,put} from '@/plugins/requests/index.js'; +import api from '@/api'; +import store from '@/store' +import Setting from '@/setting'; +import permission from '@/router/permission'; + +// 插件 +import plugins from '@/plugins'; +import filters from '@/plugins/filters' + +Vue.use(plugins); + +Object.keys(filters).forEach(item => Vue.filter(item,filters[item])) + +Vue.prototype.api = api; +Vue.prototype.$get = get; +Vue.prototype.$post = post; +Vue.prototype.$del = del; +Vue.prototype.$put = put; + +Vue.config.productionTip = false; +Vue.use(VueI18n); +Vue.use(ElementUI); +const i18n = new VueI18n({ + locale: Setting.i18n.default, + messages +}); + +new Vue({ + mixins: [mixinApp], + router, + i18n, + store, + render: h => h(App) +}).$mount('#app'); diff --git a/src/mixins/app.js b/src/mixins/app.js new file mode 100644 index 0000000..64aaa70 --- /dev/null +++ b/src/mixins/app.js @@ -0,0 +1,11 @@ +/** + * 通用混合 + * */ +export default { + methods: { + // 当 $route 更新时触发 + appRouteChange (to, from) { + + } + } +} diff --git a/src/mixins/setBackground/index.js b/src/mixins/setBackground/index.js new file mode 100644 index 0000000..9d9fd4a --- /dev/null +++ b/src/mixins/setBackground/index.js @@ -0,0 +1,8 @@ +export default { + beforeCreate() { + document.querySelector('body').setAttribute('style', 'background-color:#fff') + }, + beforeDestroy() { + document.body.removeAttribute('style') + } +} \ No newline at end of file diff --git a/src/pages/account/login/index.vue b/src/pages/account/login/index.vue new file mode 100644 index 0000000..e3f5fb9 --- /dev/null +++ b/src/pages/account/login/index.vue @@ -0,0 +1,574 @@ +<template> + <div class="wrap"> + <div class="header" v-if="!isHh"> + <img class="logo" src="@/assets/img/logo.png" /> + </div> + + <div class="bg"> + <div class="left"> + <div class="text" v-if="isHh"> + <p>欢迎使用</p> + <p style="margin-bottom: 15px">商学院金融工程</p> + <p>与大数据实验平台</p> + </div> + <div class="text" v-else> + <p>欢迎使用</p> + <p>Occupation Lab</p> + </div> + </div> + <div class="right"></div> + </div> + + <div class="right-form"> + <img v-if="isHh" class="logo" src="@/assets/img/logo-hh1.png" /> + + <div class="form"> + <div class="back" v-show="isReg" @click="toReg(false)"> + <i class="el-icon-back"></i> + </div> + <div v-if="!isReg"> + <el-tabs v-model="activeName"> + <el-tab-pane label="账号登录" name="0"> + <el-form :model="loginForm" :rules="loginRules" ref="loginForm" style="margin-top: 20px"> + <el-form-item label="用户名" prop="username"> + <el-input v-model="loginForm.username" placeholder="请输入账号"></el-input> + </el-form-item> + <el-form-item label="密码" prop="password"> + <el-input + type="password" + placeholder="请输入密码" + v-model="loginForm.password" + @keyup.enter.native="getSchool('loginForm')" + > + </el-input> + </el-form-item> + <el-button class="submit" type="primary" @click="getSchool('loginForm')">登录</el-button> + </el-form> + </el-tab-pane> + + <el-tab-pane label="手机号/邮箱登录" name="1"> + <el-form :model="phoneParam" :rules="phoneRules" ref="phoneParam" style="margin-top: 20px"> + <el-form-item label="手机号/邮箱" prop="userphone"> + <el-input v-model="phoneParam.userphone" placeholder="请输入手机号/邮箱"></el-input> + </el-form-item> + <el-form-item label="密码" prop="phonePassword"> + <el-input + type="password" + placeholder="请输入密码" + v-model="phoneParam.phonePassword" + @keyup.enter.native="getSchool('phoneParam')" + > + </el-input> + </el-form-item> + <el-button class="submit" type="primary" @click="getSchool('phoneParam')">登录</el-button> + </el-form> + </el-tab-pane> + </el-tabs> + <div class="links"> + <!-- <el-button type="text" class="ques" @click="toReg(true)">前往注册</el-button> --> + <el-button type="text" class="forget" @click="forget">忘记密码?</el-button> + </div> + </div> + <register v-else :isReg.sync="isReg" @updateInfo="updateInfo"></register> + </div> + </div> + + <v-footer ref="footer"></v-footer> + + <el-dialog title="选择角色" :visible.sync="roleDialog" width="24%" center :close-on-click-modal="false"> + <div> + <el-select v-model="roleId" placeholder="请选择角色"> + <el-option v-for="(item,index) in roleList" :key="index" :label="item.roleName" :value="item.roleId"></el-option> + </el-select> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="cancleRoleDia">取 消</el-button> + <el-button v-if="activeName == '0'" type="primary" @click="roleSure('loginForm')">确 定</el-button> + <el-button v-else type="primary" @click="roleSure('phoneParam')">确 定</el-button> + </span> + </el-dialog> + + <el-dialog :title="phoneReset ? '手机重置密码' : '邮箱重置密码'" :visible.sync="forgetVisible" :close-on-click-modal="false" @close="closeForget" width="30%"> + <template v-if="phoneReset"> + <el-form ref="form" label-width="60px"> + <el-form-item label="手机号"> + <el-input placeholder="请输入手机号" v-model.number="phone" maxlength="11"></el-input> + </el-form-item> + <el-form-item label="验证码"> + <div class="flex-between"> + <el-input v-model.number="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input> + <el-button style="margin-left: 10px" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{phoneBtnText}}</el-button> + </div> + </el-form-item> + <el-form-item label="新密码"> + <el-input type="password" placeholder="请输入新密码" v-model="newPassword"></el-input> + </el-form-item> + </el-form> + <div class="switch" @click="switchType(false)"><span>邮箱重置密码</span></div> + <span slot="footer" class="dialog-footer"> + <el-button @click="forgetVisible = false">取 消</el-button> + <el-button type="primary" @click="updatePassword(1)">确 定</el-button> + </span> + </template> + <template v-else> + <el-form ref="form" label-width="60px"> + <el-form-item label="邮箱"> + <el-input placeholder="请输入邮箱" v-model="email"></el-input> + </el-form-item> + <el-form-item label="验证码"> + <div class="flex-between"> + <el-input v-model.number="emailCode" placeholder="请输入验证码" maxlength="6"></el-input> + <el-button style="margin-left: 10px" type="text" @click="sendEmailCode" :disabled="emailDisabled">{{emailBtnText}}</el-button> + </div> + </el-form-item> + <el-form-item label="新密码"> + <el-input type="password" placeholder="请输入新密码" v-model="newPassword"></el-input> + </el-form-item> + </el-form> + <div class="switch" @click="switchType(true)"><span>手机重置密码</span></div> + <span slot="footer" class="dialog-footer"> + <el-button @click="forgetVisible = false">取 消</el-button> + <el-button type="primary" @click="updatePassword">确 定</el-button> + </span> + </template> + </el-dialog> + </div> +</template> + +<script> +import register from '../register' +import vFooter from '@/layouts/footer' +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +export default { + data: function() { + return { + isHh: Setting.isHh, + schoolId: Setting.schoolId, + activeName: '0', + isReg: false, + loginForm: { + username: '', + password: '', + }, + loginRules: { + username: [{ required: true, message: '请输入用户名', trigger: 'blur' }], + password: [{ required: true, message: '请输入密码', trigger: 'blur' }], + }, + phoneParam: { + userphone: '', + phonePassword: '' + }, + phoneRules: { + userphone: [{ required: true, message: '请输入手机号/邮箱', trigger: 'blur' }], + phonePassword: [{ required: true, message: '请输入密码', trigger: 'blur' }], + }, + roleDialog: false, + userId: '', + roleId: '', + roleList: [], + forgetVisible: false, + phoneReset: true, + email: '', + emailBtnText: '发送验证码', + emailCode: '', + emailDisabled: false, + emailTimer: null, + phone: '', + phoneBtnText: '发送验证码', + phoneCode: '', + phoneDisabled: false, + phoneTimer: null, + newPassword: '', + emailOpener: '', + phoneOpener: '' + }; + }, + components: { + register, + vFooter + }, + mounted(){ + this.$once('hook:beforeDestroy', function () { + clearInterval(this.phoneTimer) + this.phoneTimer = null + clearInterval(this.emailTimer) + this.emailTimer = null + }) + }, + methods: { + ...mapActions('user', [ + 'setInfo' + ]), + getSchool(form) { + this.$refs[form].validate(valid => { + if (valid) { + let data = { + account: this.activeName == '0' ? this.loginForm.username : this.phoneParam.userphone, + password: this.activeName == '0' ? this.loginForm.password : this.phoneParam.phonePassword, + schoolId: this.schoolId, + source: this.activeName + }; + this.$get(this.api.loginSchool, data) + .then(res => { + this.schoolList = [...res.message.staffList,...res.message.studentList] + let indexs = {} + this.schoolList = this.schoolList.reduce((cur,next) => { + indexs[next.schoolId] ? '' : indexs[next.schoolId] = true && cur.push(next) + return cur + },[]) + if(this.schoolList.length >= 1) { + this.schoolId = this.schoolList[0].schoolId + this.userId = this.schoolList[0].userId + this.studentId = this.schoolList[0].studentId + this.getRole(form) + }else{ + util.errorMsg('账号不存在') + } + }) + .catch(res => {}) + } else { + util.errorMsg('请输入账号和密码') + return false + } + }); + }, + getRole(form) { + let data = { + userId: this.userId, + schoolId: this.schoolId + }; + this.$get(this.api.loginRole, data) + .then(res => { + this.roleList = [...res.message.staffList,...res.message.studentList] + let indexs = {} + this.roleList = this.roleList.reduce((cur,next) => { + indexs[next.roleId] ? '' : indexs[next.roleId] = true && cur.push(next) + return cur + },[]) + this.roleList.forEach((n,k) => { + switch(n.roleId){ + case 2: + n.roleName = '管理员' + break + case 3: + n.roleName = '老师' + break + case 4: + n.roleName = '学生' + break + } + }) + if(this.roleList.length > 1) { + this.roleDialog = true + }else{ + this.roleId = this.roleList[0].roleId + this.submitForm(form) + } + }) + .catch(res => {}); + }, + updateInfo(data){ + this.loginForm.username = data.username + this.loginForm.password = data.password + }, + roleSure(form){ + if(this.roleId){ + this.submitForm(form) + }else{ + util.errorMsg('请选择角色!') + } + }, + submitForm(form) { + this.$refs[form].validate(valid => { + if (valid) { + let data = { + roleId: this.roleId, + userId: this.userId, + schoolId: this.schoolId + } + this.$get(this.api.logins,data).then(res => { + this.$post(this.api.updateLogInNumber,{userId: this.userId}).then(res => {}).catch(res => {}) + let data = res.message.user + util.local.set(Setting.tokenKey,data.token,Setting.tokenExpires) + this.setInfo({ + userId: this.userId, + roleId: this.roleId, + studentId: this.studentId, + schoolId: this.schoolId, + avatar: data.userAvatars, + userName: data.userName, + dataTime: data.dataTime, + }) + util.successMsg('登录成功') + let redirect = decodeURIComponent(this.$route.query.redirect || '/index') + this.$router.replace(redirect) + }).catch(res => {}); + } + }); + }, + cancleRoleDia() { + this.roleId = '' + this.roleDialog = false + }, + toReg(status) { + this.isReg = status + }, + forget(){ + this.forgetVisible = true + }, + emailCountdown(){ + let count = 60 + if(!this.emailTimer){ + this.emailDisabled = true + this.emailTimer = setInterval(() => { + if(count > 0){ + count-- + this.emailBtnText = `${count}秒后重试` + }else{ + this.emailDisabled = false + clearInterval(this.emailTimer) + this.emailTimer = null + this.emailBtnText = `发送验证码` + } + },1000) + } + }, + phoneCountdown(){ + let count = 60 + if(!this.phoneTimer){ + this.phoneDisabled = true + this.phoneTimer = setInterval(() => { + if(count > 0){ + count-- + this.phoneBtnText = `${count}秒后重试` + }else{ + this.phoneDisabled = false + clearInterval(this.phoneTimer) + this.phoneTimer = null + this.phoneBtnText = `发送验证码` + } + },1000) + } + }, + closeForget(){ + this.phoneCode = '' + this.emailCode = '' + this.userId = '' + this.newPassword = '' + }, + sendEmailCode(){ + if(!this.email) return util.warningMsg('请输入邮箱') + if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') + let data = { + email: this.email + } + this.$get(this.api.findPasswordByEmail,data).then(res => { + if(res.errmessage == 'success'){ + util.successMsg('发送成功') + this.emailCountdown() + this.userId = res.data.userId + this.emailOpener = res.data.opener + } + }).catch(res => {}) + }, + sendPhoneCode(){ + if(!this.phone) return util.warningMsg('请输入手机号') + if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') + let data = { + phone: this.phone + } + this.$get(this.api.findPasswordByPhone,data).then(res => { + if(res.errmessage == 'success'){ + util.successMsg('发送成功') + this.phoneCountdown() + this.userId = res.data.userId + this.phoneOpener = res.data.opener + } + }).catch(res => {}) + }, + async updatePassword(type){ + if(type == 1){ + if(!this.phone) return util.warningMsg('请输入手机号') + if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') + if(!this.phoneCode) return util.warningMsg('请输入验证码') + }else{ + if(!this.email) return util.warningMsg('请输入邮箱') + if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') + if(!this.emailCode) return util.warningMsg('请输入验证码') + } + if(!this.newPassword) return util.warningMsg('请输入新密码') + + let checkData = { + code: type == 1 ? this.phoneCode : this.emailCode, + opener: type == 1 ? this.phoneOpener : this.emailOpener + } + let checkRes = await this.$post(this.api.checkCode,checkData) + if(checkRes.errmessage == 'success'){ + let resetData = { + userId: this.userId, + password: this.newPassword + } + let resetRes = await this.$post(this.api.resetPassword,resetData) + if(resetRes.errmessage == 'success'){ + util.successMsg('重置成功') + this.forgetVisible = false + } + } + }, + switchType(type){ + this.phoneReset = type + } + }, +}; +</script> + +<style scoped lang="scss"> + .wrap { + position: relative; + width: 100%; + height: 100%; + overflow: hidden; + + .header { + width: 100%; + height: 60px; + background-color: #fff; + display: flex; + justify-content: space-between; + align-items: center; + font-size: 18px; + box-shadow: 1px 1px 3px 2px #ececec; + .logo { + width: 150px; + margin-left: 20px; + } + } + .bg{ + display: flex; + justify-content: space-between; + align-items: center; + height: calc(100% - 116px); + .left{ + position: relative; + width: 40%; + height: 100%; + background: url(../../../assets/img/bg_2.png) 0 0/100% 100% no-repeat; + .text{ + position: absolute; + top: 35%; + left: 15%; + color: #fff; + font-size: 46px; + font-weight: bold; + p:first-child{ + margin-bottom: 20px; + } + } + } + .right{ + width: 50%; + height: 100%; + background: url(../../../assets/img/bg_1.png) center center/80% auto no-repeat; + } + } + + + /deep/.right-form{ + position: absolute; + top: 47%; + right: 12%; + transform: translateY(-50%); + width: 30%; + + .logo{ + width: 100%; + margin-bottom: 40px; + } + .form{ + padding: 50px 20px 20px; + background-color: #fff; + border-radius: 16px; + box-sizing: border-box; + box-shadow: 0 1px 20px rgba(146,120,255,0.3); + } + .back{ + position: absolute; + top: 20px; + left: 20px; + font-size: 24px; + color: #9278ff; + cursor: pointer; + + &:hover{ + opacity: .8; + } + } + .el-tabs__nav-scroll{ + display: flex; + justify-content: center; + } + + h2{ + padding-bottom: 10px; + font-size: 20px; + font-weight: 400; + color: #8F73FF; + text-align: center; + border-bottom: 1px solid #f3f3f3; + } + .el-form{ + width: 70%; + margin: 30px auto 0; + .label{ + line-height: 1.8; + color: #929292; + } + /deep/.el-input__inner{ + height: 46px; + padding: 0 23px; + line-height: 46px; + border: 1px solid #E5E5E5; + border-radius: 8px !important; + } + /deep/.el-form-item__error{ + top: 105%; + left: auto; + right: 0; + color: #FFA94E; + } + .submit{ + width: 100%; + height: 48px; + margin-top: 40px; + line-height: 48px; + padding: 0; + font-size: 18px; + background-color: #9278ff; + border-radius: 6px; + border: 0; + } + } + } + } + .switch{ + span{ + cursor: pointer; + color: #9076FF; + } + } + .links{ + width: 70%; + margin: 20px auto 0; + text-align: right; + } + .ques{ + color: #9278ff; + font-size: 14px; + } + .forget{ + color: #ffa94e; + font-size: 14px; + } +</style> \ No newline at end of file diff --git a/src/pages/account/register/index.vue b/src/pages/account/register/index.vue new file mode 100644 index 0000000..ab9f6f5 --- /dev/null +++ b/src/pages/account/register/index.vue @@ -0,0 +1,237 @@ +<template> + <div> + <!-- <h2><div class="back" @click="toLogin"><i class="el-icon-arrow-left">返回</i></div> 学生注册</h2> --> + <h2>账号注册</h2> + + <el-form class="register" :model="regForm" :rules="regRules" ref="reg" label-width="0px"> + <div class="line"> + <el-form-item prop="userName"> + <p class="label">*学生姓名</p> + <el-input v-model="regForm.userName" placeholder="姓名"></el-input> + </el-form-item> + <el-form-item prop="workNumber" style="margin-right: 5%"> + <p class="label">学生学号</p> + <el-input v-model="regForm.workNumber" placeholder="学生学号" @change="worknumberChange"></el-input> + </el-form-item> + <el-form-item prop="phone"> + <p class="label">*手机号</p> + <el-input v-model="regForm.phone" placeholder="手机号" maxlength="11" @change="phoneChange"></el-input> + </el-form-item> + </div> + + <p class="label">*学校</p> + <div class="line"> + <el-form-item prop="provinceId"> + <p class="prop">省份</p> + <el-select v-model="regForm.provinceId" placeholder="省份" @change="getCity"> + <el-option + v-for="item in provinceList" + :key="item.value" + :label="item.provinceName" + :value="item.provinceId" + ></el-option> + </el-select> + </el-form-item> + <el-form-item prop="cityId" style="margin-right: 5%"> + <p class="prop">城市</p> + <el-select v-model="regForm.cityId" placeholder="城市" @change="getSchoolData"> + <el-option + v-for="item in cityList" + :key="item.value" + :label="item.cityName" + :value="item.cityId" + ></el-option> + </el-select> + </el-form-item> + <el-form-item prop="schoolAppellationId"> + <p class="prop">学校</p> + <el-select v-model="regForm.schoolAppellationId" placeholder="学校名称"> + <el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option> + </el-select> + </el-form-item> + </div> + <!-- <div class="line"> + <el-form-item prop="phone"> + <p class="label">手机号</p> + <el-input v-model="regForm.phone" placeholder="请输入手机号"></el-input> + </el-form-item> + <el-form-item style="margin-right: 5%"> + <button type="button" class="code-btn">发送验证码</button> + </el-form-item> + <el-form-item prop="code"> + <el-input v-model="regForm.code" placeholder="输入验证码"></el-input> + </el-form-item> + </div> --> + <div class="line"> + <el-form-item prop="password"> + <p class="label">*密码设置</p> + <el-input type="password" v-model="regForm.password" placeholder="请输入密码"></el-input> + </el-form-item> + <el-form-item prop="rePassword"> + <el-input type="password" v-model="regForm.rePassword" placeholder="请再次输入密码" @keyup.enter.native="registerForm"></el-input> + </el-form-item> + </div> + + <el-button class="submit" type="primary" @click="registerForm">注册</el-button> + </el-form> + </div> +</template> + +<script> +export default { + data: function() { + return { + regForm: { + userName: '', + workNumber: '', + provinceId: '', + cityId: '', + schoolAppellationId: '', + phone: '', + password: '', + rePassword: '', + roleId: 4, + schoolId: this.$config.schoolId + }, + regRules: { + userName: [{ required: true, message: '请输入学生姓名', trigger: 'blur' }], + workNumber: [{ required: true, message: '请输入学生学号', trigger: 'blur' }], + provinceId: [{ required: true, message: '请选择省份', trigger: 'change' }], + cityId: [{ required: true, message: '请选择城市', trigger: 'change' }], + schoolAppellationId: [{ required: true, message: '请选择学校', trigger: 'change' }], + phone: [ + { required: true, message: '请输入手机号', trigger: 'blur' }, + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } + ], + password: [ + { required: true, message: '请输入密码', trigger: 'blur' }, + { pattern: /^.{6,}$/, message: '请输入6位数以上的密码', trigger: 'blur' } + ], + rePassword: [ + { required: true, message: '请再次输入密码', trigger: 'blur' }, + { pattern: /^.{6,}$/, message: '请输入6位数以上的密码', trigger: 'blur' } + ] + }, + provinceList: this.$store.state.provinceList, //省份 + cityList: [], //城市 + schoolList: [], + phoneRepeat: false, + workNumberReapeat: false + }; + }, + mounted() { + this.getProvince() + this.getSchoolData() + }, + methods: { + getProvince(){ + this.$get(this.api.queryProvince).then(res => { + this.provinceList = res.message + this.$store.commit("provinceData", { provinceList : this.provinceList}); + }).catch(res => {}); + }, + // 获取城市 + getCity(){ + this.regForm.cityId = '' + this.$get(this.api.queryCity,{provinceId: this.regForm.provinceId}).then(res => { + this.cityList = res.message + this.getSchoolData() + }).catch(res => {}) + }, + // 获取学校名称 + getSchoolData(){ + this.regForm.schoolAppellationId = '' + this.$get(this.api.querySchoolData,{provinceId: this.regForm.provinceId,cityId: this.regForm.cityId,schoolName: ''}).then(res => { + this.schoolList = res.message + }).catch(res => {}); + }, + registerForm() { + this.$refs.reg.validate(valid => { + if (valid) { + if(this.phoneRepeat) return util.warningMsg('该手机号已存在') + if(this.workNumberReapeat) return util.warningMsg('该学生学号已存在') + if(this.regForm.password !== this.regForm.rePassword) return util.warningMsg('两次输入的密码不一致,请重新输入') + + let data = this.regForm + data.account = data.phone + data.uniqueIdentificationAccount = new Date().getTime() + this.$post(`${this.api.save}?workNumber=${this.regForm.workNumber}`,data).then(res => { + util.successMsg('注册成功') + this.$emit('update:isReg',false) + this.$emit('updateInfo',{username: this.regForm.phone,password: this.regForm.password}) + this.$refs.reg.resetFields() + }).catch(res => {}); + } else { + // util.errorMsg('请输入账号和密码'); + return false; + } + }); + }, + async phoneChange(){ + let res = await this.$get(this.api.queryPhone, { phone: this.regForm.phone }); + if(res.message.length != 0){ + util.warningMsg('该手机号已存在'); + this.phoneRepeat = true + }else{ + this.phoneRepeat = false + } + }, + async worknumberChange(){ + let res = await this.$get(this.api.queryWorkNumberIsExist, { + workNumber: this.regForm.workNumber, + roleId: 4, + schoolAppellationId: this.regForm.schoolAppellationId + }); + if(JSON.stringify(res.message) != '{}'){ + util.warningMsg('该学生学号已存在'); + this.workNumberReapeat = true + }else{ + this.workNumberReapeat = false + } + }, + toLogin() { + this.$emit('update:isReg',false) + } + }, +}; +</script> + +<style scoped lang="scss"> + .wrap { + .form{ + .register{ + width: 90% !important; + .line{ + display: flex; + justify-content: space-between; + align-items: flex-end; + } + .el-form-item{ + &:first-child{ + margin-right: 5%; + } + } + .label{ + margin-bottom: 0; + } + .prop{ + color: #929292; + } + .code-btn{ + min-width: 120px; + height: 46px; + padding: 0 10px; + line-height: 46px; + color: #fff; + font-size: 14px; + border-radius: 23px; + border: 0; + background-color: #105cb2; + } + .submit{ + margin-bottom: 20px; + } + } + } + } +</style> \ No newline at end of file diff --git a/src/pages/ass/list/index.vue b/src/pages/ass/list/index.vue new file mode 100644 index 0000000..a1afca6 --- /dev/null +++ b/src/pages/ass/list/index.vue @@ -0,0 +1,369 @@ +<template> + <div> + <div class="page"> + <h6 class="p-title">筛选</h6> + <div class="tool"> + <ul class="filter"> + <li> + <label>考核时间</label> + <el-radio-group size="small" v-model="form.month" @change="getData"> + <el-radio v-for="(item,index) in dateList" :key="index" :label="item.id" border>{{item.name}}</el-radio> + </el-radio-group> + <el-date-picker size="small" v-model="date" align="right" unlink-panels type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable></el-date-picker> + </li> + <li> + <label>实验状态</label> + <el-select size="small" v-model="form.status" placeholder="请选择实验状态" @change="getData"> + <el-option v-for="(item,index) in statusList" :key="index" :label="item.name" :value="item.value"></el-option> + </el-select> + </li> + <li> + <el-input size="small" placeholder="请输入实验班级/考核名称" prefix-icon="el-icon-search" v-model="keyword" clearable></el-input> + </li> + </ul> + </div> + + <el-table :data="listData" class="table" stripe header-align="center" :row-key="getRowKeys"> + <el-table-column type="index" width="100" label="序号" align="center"> + <template slot-scope="scope"> + {{scope.$index + (page - 1) * pageSize + 1}} + </template> + </el-table-column> + <el-table-column prop="experimentalName" label="考核名称" align="center"> + </el-table-column> + <el-table-column prop="experimentalClassName" label="实验班级" align="center"> + </el-table-column> + <el-table-column prop="experimentalNumber" label="实验人数" align="center"></el-table-column> + <el-table-column prop="experimentDuration" label="考试时长" align="center"> + </el-table-column> + <el-table-column prop="creationTime" label="创建时间" align="center"> + </el-table-column> + <el-table-column prop="startTime" label="起始时间" align="center"> + </el-table-column> + <el-table-column prop="stopTime" label="结束时间" align="center"> + </el-table-column> + <el-table-column label="倒计时" align="center"> + <template slot-scope="scope"> + <span v-countdown="scope.row.surplusTime">{{scope.row.surplusTime}}</span> + </template> + </el-table-column> + <el-table-column label="实验状态" align="center"> + <template slot-scope="scope"> + <span class="ellipsis">{{status[scope.row.status]}}</span> + </template> + </el-table-column> + <el-table-column label="操作" align="center"> + <template slot-scope="scope"> + <el-button v-if="scope.row.status == 3 && !scope.row.done" type="text" disabled>未参加</el-button> + <el-button v-if="scope.row.status != 3 && !scope.row.done" type="text" @click="entry(scope.row)" :disabled="scope.row.status != 2">进入</el-button> + <el-button v-if="scope.row.status == 2 && scope.row.done" type="text" disabled>已提交</el-button> + <el-button v-if="scope.row.status == 3 && scope.row.done" type="text" @click="show(scope.row)">查看成绩</el-button> + </template> + </el-table-column> + </el-table> + <div class="pagination"> + <el-pagination background layout="total, prev, pager, next" :total="totals" @current-change="handleCurrentChange" :current-page="page"></el-pagination> + </div> + </div> + + <el-dialog title="请输入邀请码" :visible.sync="icVisible" width="30%" @close="closeIc" center :close-on-click-modal="false"> + <el-input v-model="invitationCode" placeholder="邀请码" maxlength="6"></el-input> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="saveIc">确 定</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { mapState,mapActions } from 'vuex' +import Setting from '@/setting' +import util from '@/libs/util' +export default { + name: 'ass', + data() { + return { + host: Setting.host, + status: ['','待开始','进行中','已完成'], + statusList: [{ + name:'不限', + value: 0 + },{ + name:'待开始', + value: 1 + },{ + name:'进行中', + value: 2 + },{ + name:'已完成', + value: 3 + }], + listData: [], + date: [], + form: { + month:'', + startTime: '', + endTime: '', + status: 0, + }, + keyword: '', + dateList: [ + { + id: '', + name: '不限' + }, + { + id: 1, + name: '近一个月' + }, + { + id: 3, + name: '近三个月' + }, + { + id: 6, + name: '近六个月' + } + ], + page: 1, + pageSize: 10, + totals: 0, + icVisible: false, + invitationCode: '', + searchTimer: null, + timerList: [], + curRow: {} + }; + }, + computed: { + ...mapState('user', [ + 'userId','schoolId','studentId','userName' + ]), + }, + watch: { + 'form.month': function(val){ + if(val){ + let unit = 24 * 60 * 60 * 1000 + this.date = [util.formatDate('yyyy-MM-dd',new Date(new Date().getTime() - unit * 30 * val)),util.formatDate('yyyy-MM-dd',new Date(new Date().getTime() + unit))] + }else{ + this.date = [] + } + }, + date: function(val){ + if(val){ + this.form.startTime = val[0] + this.form.endTime = val[1] + }else{ + this.form.startTime = '' + this.form.endTime = '' + } + this.getData() + }, + keyword: function(val) { + clearTimeout(this.searchTimer) + this.searchTimer = setTimeout(() => { + this.getData() + },500) + } + }, + mounted() { + this.getData() + this.$once('hook:beforeDestroy', function () { + this.timerList.forEach((n,k) => { + clearInterval(n) + }) + this.timerList = [] + }) + }, + directives: { + countdown: { + bind: function(el,binding,vnode) { + let that = vnode.context + let time = binding.value + let timer = setInterval(() => { + let timeList = time.split(':') + let total = Number.parseInt(timeList[0] * 60 * 60) + Number.parseInt(timeList[1] * 60) + Number.parseInt(timeList[2]) + if(total > 0){ + --total + let hours = Math.floor(total / (60 * 60)) + let minutes = Math.floor(total % (60 * 60) / 60) + let seconds = Math.floor(total % (60 * 60) % 60) + time = `${that.core.formateTime(hours)}:${that.core.formateTime(minutes)}:${that.core.formateTime(seconds)}` + }else{ + clearInterval(timer) + } + el.innerHTML = time + },1000) + that.timerList.push(timer) + } + } + }, + methods: { + getData() { + let data = { + schoolId: this.schoolId, + month: this.form.month, + startTime: this.form.startTime, + endTime: this.form.endTime, + condition: this.keyword, + status: this.form.status, + page: this.page, + size: this.pageSize, + rowId: '', + projectId: '' + } + this.$get(this.api.userRecord,data).then(res => { + let list = res.page.list + this.totals = res.page.totalCount + let doneNum = 0 + let recordList = [] + for(let i = 1; i < 11; i++){ + if(i != 2 && i != 3){ + this.$get(this.api.experimentRecord, { + userid: this.userId, + page: 1, + size: 10000, + systemId: i + }).then(res => { + doneNum++ + recordList = recordList.concat(res.data.list) + if(doneNum == 8){ + list.map(n => { + let same = recordList.find(e => e.id == n.id) + if(same){ + n.done = true + n.recordid = same.recordid + n.reportId = same.reportId + } + }) + this.listData = list + } + }).catch(err => {}) + } + } + }).catch(res => {}) + }, + add(){ + this.$store.commit("listData", { customer_id : ''}); + this.$router.push('/addclass'); + }, + edit(row){ + this.$store.commit("listData", { customer_id : row.customerId }); + this.$router.push('/addcustomer'); + }, + getRowKeys(row) { + return row.customerId; + }, + onSearch(){ + this.page = 1 + this.getData() + }, + handleCurrentChange(val) { + this.page = val + this.getData() + }, + entry(row) { + if(row.status == 1){ + return util.warningMsg('该实验尚未开始') + }else if(row.status == 3){ + return util.warningMsg('该实验已经结束') + }else{ + this.curRow = row + if(row.isCode == 1){ + this.goSubSystem() + }else{ + this.$get(this.api.checkInvitationCode,{ + userId: this.userId, + id: row.id + }).then(res => { + if(res.errmessage == 'false'){ + this.icVisible = true + }else{ + this.goSubSystem() + } + }).catch(res => {}); + } + } + }, + show(row) { + this.$router.push(`/showExperiment?id=${row.id}&recordId=${row.recordid}&reportId=${row.reportId}`) + }, + saveIc() { + if(!this.invitationCode) return util.warningMsg('请输入邀请码') + if(!this.invitationCode || String(this.invitationCode).length < 6 || isNaN(this.invitationCode)) return util.warningMsg('请输入6位纯数字邀请码') + let data = { + id: this.curRow.id, + userId: this.userId, + invitationCode: Number(this.invitationCode) + } + this.$post(this.api.joinPractice,data).then(res => { + if(res.errmessage == 'success') { + util.successMsg('验证成功!') + this.icVisible = false + setTimeout(() => { + this.goSubSystem() + },1000) + } + }).catch(res => {}); + }, + closeIc() { + this.invitationCode = '' + }, + goback() { + this.$router.back() + }, + goSubSystem(){ + let host = this.host + util.cookies.set("assessmentId",this.curRow.id) + util.cookies.set("studentId",this.studentId) + util.cookies.set("userId",this.userId) + util.cookies.set("projectId",this.curRow.projectId) + util.cookies.set("startTime",this.curRow.startTime) + util.cookies.set("stopTime",this.curRow.stopTime) + let systemId = this.curRow.systemId + let href = '' + switch(systemId){ + case 1: + href = `${host}pyTrials/#/` + break; + case 4: + href = `${host}pyFinance/#/` + break; + case 5: + href = `${host}pyProjects/#/` + break; + case 6: + href = `${host}pyRandom/#/` + break; + case 7: + href = `${host}pyQuantification/#/` + break; + case 8: + href = `${host}pyAnalysis/#/` + break; + case 9: + href = `${host}pyDataclean/#/` + break; + case 10: + href = `${host}pyAcquisition/#/` + break; + } + if(!href) return util.errorMsg('该考核非Python考核,请选择其他考核') + location.href = href + // location.href = 'http://192.168.31.154:8080/' + }, + } +}; +</script> + +<style lang="scss" scoped> + /deep/.el-tabs__nav-wrap::after{ + display: none; + } + .no-mb /deep/.el-form-item{ + margin-bottom: 0; + } + .el-radio.is-bordered+.el-radio.is-bordered{ + margin-left: 0; + } +</style> \ No newline at end of file diff --git a/src/pages/exception/error/403/index.vue b/src/pages/exception/error/403/index.vue new file mode 100644 index 0000000..e6576d2 --- /dev/null +++ b/src/pages/exception/error/403/index.vue @@ -0,0 +1,59 @@ +<template> + <div class="error-page"> + <div class="error-code">4<span>0</span>3</div> + <div class="error-desc">啊哦~ 你没有权限访问该页面哦</div> + <div class="error-handle"> + <router-link to="/"> + <el-button type="primary" size="large" @click="toIndex">返回首页</el-button> + </router-link> + <el-button class="error-btn" type="primary" size="large" @click="goBack">返回上一页</el-button> + </div> + </div> +</template> + +<script> +export default { + methods: { + toIndex(){ + this.$router.push('/') + }, + goBack(){ + this.$router.go(-1); + } + } +} +</script> + + +<style scoped> + .error-page{ + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + width: 100%; + height: 100%; + background: #f3f3f3; + box-sizing: border-box; + } + .error-code{ + line-height: 1; + font-size: 250px; + font-weight: bolder; + color: #f02d2d; + } + .error-code span{ + color: #00a854; + } + .error-desc{ + font-size: 30px; + color: #777; + } + .error-handle{ + margin-top: 30px; + padding-bottom: 200px; + } + .error-btn{ + margin-left: 100px; + } +</style> diff --git a/src/pages/exception/error/404/index.vue b/src/pages/exception/error/404/index.vue new file mode 100644 index 0000000..bbb8580 --- /dev/null +++ b/src/pages/exception/error/404/index.vue @@ -0,0 +1,59 @@ +<template> + <div class="error-page"> + <div class="error-code">4<span>0</span>4</div> + <div class="error-desc">啊哦~ 你所访问的页面不存在</div> + <div class="error-handle"> + <router-link to="/"> + <el-button type="primary" size="large" @click="toIndex">返回首页</el-button> + </router-link> + <el-button class="error-btn" type="primary" size="large" @click="goBack">返回上一页</el-button> + </div> + </div> +</template> + +<script> +export default { + methods: { + toIndex(){ + this.$router.push('/') + }, + goBack(){ + this.$router.go(-1); + } + } +} +</script> + + +<style scoped> + .error-page{ + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + width: 100%; + height: 100%; + background: #f3f3f3; + box-sizing: border-box; + } + .error-code{ + line-height: 1; + font-size: 250px; + font-weight: bolder; + color: #2d8cf0; + } + .error-code span{ + color: #00a854; + } + .error-desc{ + font-size: 30px; + color: #777; + } + .error-handle{ + margin-top: 30px; + padding-bottom: 200px; + } + .error-btn{ + margin-left: 100px; + } +</style> diff --git a/src/pages/exception/i18n/index.vue b/src/pages/exception/i18n/index.vue new file mode 100644 index 0000000..69074bd --- /dev/null +++ b/src/pages/exception/i18n/index.vue @@ -0,0 +1,46 @@ +<template> + <section class="main"> + <div class="crumbs"> + <el-breadcrumb separator="/"> + <el-breadcrumb-item><i class="el-icon-lx-global"></i> {{$t('i18n.breadcrumb')}}</el-breadcrumb-item> + </el-breadcrumb> + </div> + <div class="container"> + <span>{{$t('i18n.tips')}}</span> + <el-button type="primary" @click="$i18n.locale = $i18n.locale === 'zh'?'en':'zh';">{{$t('i18n.btn')}}</el-button> + <div class="list"> + <h2>{{$t('i18n.title1')}}</h2> + <p>{{$t('i18n.p1')}}</p> + <p>{{$t('i18n.p2')}}</p> + <p>{{$t('i18n.p3')}}</p> + </div> + <h2>{{$t('i18n.title2')}}</h2> + <div> + <i18n path="i18n.info" tag="p"> + <a place="action" href="https://element.eleme.cn/2.0/#/zh-CN/component/i18n">{{ $t('i18n.value') }}</a> + </i18n> + </div> + </div> + </section> +</template> + +<script> +export default { + data(){ + return { + } + } +} +</script> + +<style scoped> +.list{ + padding: 30px 0; +} +.list p{ + margin-bottom: 20px; +} +a{ + color: #cb221c; +} +</style> diff --git a/src/pages/exception/icon/index.vue b/src/pages/exception/icon/index.vue new file mode 100644 index 0000000..352d38b --- /dev/null +++ b/src/pages/exception/icon/index.vue @@ -0,0 +1,225 @@ +<template> + <div> + <div class="crumbs"> + <el-breadcrumb separator="/"> + <el-breadcrumb-item><i class="el-icon-lx-emoji"></i> 自定义图标</el-breadcrumb-item> + </el-breadcrumb> + </div> + <div class="container"> + <h2>使用方法</h2> + <p style="line-height: 50px;"> + 直接通过设置类名为 el-icon-lx-iconName 来使用即可。例如:(共{{iconList.length}}个图标) + </p> + <p class="example-p"> + <i class="el-icon-lx-redpacket_fill" style="font-size: 30px;color: #ff5900"></i> + <span><i class="el-icon-lx-redpacket_fill"></i></span> + </p> + <p class="example-p"> + <i class="el-icon-lx-weibo" style="font-size: 30px;color:#fd5656"></i> + <span><i class="el-icon-lx-weibo"></i></span> + </p> + <p class="example-p"> + <i class="el-icon-lx-emojifill" style="font-size: 30px;color: #ffc300"></i> + <span><i class="el-icon-lx-emojifill"></i></span> + </p> + <br> + <h2>图标</h2> + <div class="search-box"> + <el-input class="search" size="large" v-model="keyword" clearable placeholder="请输入图标名称"></el-input> + </div> + <ul> + <li class="icon-li" v-for="(item,index) in list" :key="index"> + <div class="icon-li-content"> + <i :class="`el-icon-lx-${item}`"></i> + <span>{{item}}</span> + </div> + </li> + </ul> + </div> + + </div> +</template> + +<script> + export default { + data: function(){ + return { + keyword: '', + iconList: [ + 'attentionforbid', + 'attentionforbidfill', + 'attention', + 'attentionfill', + 'tag', + 'tagfill', + 'people', + 'peoplefill', + 'notice', + 'noticefill', + 'mobile', + 'mobilefill', + 'voice', + 'voicefill', + 'unlock', + 'lock', + 'home', + 'homefill', + 'delete', + 'deletefill', + 'notification', + 'notificationfill', + 'notificationforbidfill', + 'like', + 'likefill', + 'comment', + 'commentfill', + 'camera', + 'camerafill', + 'warn', + 'warnfill', + 'time', + 'timefill', + 'location', + 'locationfill', + 'favor', + 'favorfill', + 'skin', + 'skinfill', + 'news', + 'newsfill', + 'record', + 'recordfill', + 'emoji', + 'emojifill', + 'message', + 'messagefill', + 'goods', + 'goodsfill', + 'crown', + 'crownfill', + 'move', + 'add', + 'hot', + 'hotfill', + 'service', + 'servicefill', + 'present', + 'presentfill', + 'pic', + 'picfill', + 'rank', + 'rankfill', + 'male', + 'female', + 'down', + 'top', + 'recharge', + 'rechargefill', + 'forward', + 'forwardfill', + 'info', + 'infofill', + 'redpacket', + 'redpacket_fill', + 'roundadd', + 'roundaddfill', + 'friendadd', + 'friendaddfill', + 'cart', + 'cartfill', + 'more', + 'moreandroid', + 'back', + 'right', + 'shop', + 'shopfill', + 'question', + 'questionfill', + 'roundclose', + 'roundclosefill', + 'roundcheck', + 'roundcheckfill', + 'global', + 'mail', + 'punch', + 'exit', + 'upload', + 'read', + 'file', + 'link', + 'full', + 'group', + 'friend', + 'profile', + 'addressbook', + 'calendar', + 'text', + 'copy', + 'share', + 'wifi', + 'vipcard', + 'weibo', + 'remind', + 'refresh', + 'filter', + 'settings', + 'scan', + 'qrcode', + 'cascades', + 'apps', + 'sort', + 'searchlist', + 'search', + 'edit' + ] + } + }, + computed: { + list(){ + return this.iconList.filter((item) => { + return item.indexOf(this.keyword) !== -1; + }) + } + } + } +</script> + +<style scoped> +.example-p{ + height: 45px; + display: flex; + align-items: center; +} +.search-box{ + text-align: center; + margin-top: 10px; +} +.search{ + width: 300px; +} +ul,li{ + list-style: none; +} +.icon-li{ + display: inline-block; + padding: 10px; + width: 120px; + height: 120px; +} +.icon-li-content{ + display: flex; + height: 100%; + flex-direction: column; + align-items: center; + justify-content: center; + cursor: pointer; +} +.icon-li-content i{ + font-size: 36px; + color: #606266; +} +.icon-li-content span{ + margin-top: 10px; + color: #787878; +} +</style> \ No newline at end of file diff --git a/src/pages/index/list/index.vue b/src/pages/index/list/index.vue new file mode 100644 index 0000000..7424de2 --- /dev/null +++ b/src/pages/index/list/index.vue @@ -0,0 +1,31 @@ +<template> + <div class="wrap"> + + </div> +</template> + +<script> +import { mapState } from 'vuex' +export default { + name: 'index', + data() { + return { + + } + }, + mounted() { + this.getHot() + }, + methods: { + getData(){ + + }, + } +}; +</script> + +<style lang="scss" scoped> + .wrap{ + + } +</style> \ No newline at end of file diff --git a/src/pages/preview/list/index.vue b/src/pages/preview/list/index.vue new file mode 100644 index 0000000..f66dff1 --- /dev/null +++ b/src/pages/preview/list/index.vue @@ -0,0 +1,1615 @@ +<template> + <div class="box" style="overflow-x: hidden"> + <el-row :gutter="20" style="padding-top: 20px;"> + <el-col :span="24"> + <el-col :span="18"> + <div class="cover"> + <img v-if="coverUrl" :src="coverUrl" alt="" width="100%" height="100%"> + <template v-else-if="iframeSrc"> + <iframe class="inner fileIframe" id="fileIframe" :src="iframeSrc" frameborder="0"></iframe> + <template v-if="showMask"> + <div class="mask" style="width: 500px;height: 30px;top: 53px;right: 320px"></div> + <div class="mask" style="width: 175px;height: 30px;top: 53px;right: 5px"></div> + </template> + <template v-if="showMask1"> + <div class="word-mask" style="height: 40px;"></div> + <div class="word-mask2" style="top: 55px;left: 28%;width: 44%;height: calc(100% - 80px);"></div> + </template> + <template v-if="showMask2"> + <div class="excel-mask1" style="height: 48px;"></div> + </template> + </template> + <div class="pdf inner" v-else-if="pdfSrc"> + <pdf :visible.sync="pdfVisible" :src.sync="pdfSrc"></pdf> + </div> + <div v-else> + <video ref="video" controls class="video_wid" :src="videoSrc" controlsList="nodownload"></video> + </div> + </div> + </el-col> + <el-col :span="6"> + <div class="catalog"> + <div class="btns"> + <!-- <el-button type="primary" @click="toEvaluation(1,2)">虚拟仿真实验</el-button> + <el-button type="primary" @click="toEvaluation(1,3)">教学实验</el-button> --> + <el-button type="primary" @click="toEvaluation(0,2)">能力测评</el-button> + </div> + <ul class="filter" style="margin: 10px 0"> + <li> + <label>系统</label> + <el-select v-model="systemId" placeholder="请选择" @change="systemChange"> + <el-option + v-for="item in systemList" + :key="item.value" + :label="item.label" + :value="item.id" + ></el-option> + </el-select> + </li> + </ul> + + <div class="list_he"> + <h4 class="list_title">学习资源</h4> + <template v-if="systemId == 1"> + <div v-for="(item,index) in videoList1" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 4"> + <div v-for="(item,index) in videoList4" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 5"> + <div v-for="(item,index) in videoList5" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 6"> + <div v-for="(item,index) in videoList6" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 7"> + <div v-for="(item,index) in videoList7" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 8"> + <div v-for="(item,index) in videoList8" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 9"> + <div v-for="(item,index) in videoList9" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else-if="systemId == 10"> + <div v-for="(item,index) in videoList10" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + <template v-else> + <div v-for="(item,index) in videoList1" :key="index"> + <div class="flex-between list_catalog"> + <p class="experimental_title" :class="{active: curLink == item.title}" @click="preview(item)">{{index+1}} {{item.title}}</p> + </div> + </div> + </template> + </div> + </div> + </el-col> + </el-col> + </el-row> + + <!-- 答题弹框 --> + <el-dialog :visible.sync="evaluationVisible" width="30%" custom-class="evaluation_dialog" center :close-on-click-modal="false"> + <div class="title">能力测评</div> + + <div class="ques-wrap"> + <p class="serial">{{question.currentQuestionSortNo}}/{{question.totalQuestionNum}}</p> + <p class="type">({{question.questionTypeName}})</p> + <div class="ques">{{question.questionStem}}</div> + <div class="countdown flex-center"> + <img src="@/assets/img/hourglass.png" alt=""> + <span>倒计时:{{countdown}}</span> + </div> + <ul class="options" :class="{isDone}"> + <li v-for="(item,key) in question.options" :key="key" :class="{active: selected.includes(key)}" @click="selectOption(key)"><em>{{key}}.</em><span>{{item}}</span></li> + </ul> + </div> + + <div slot="footer" class="dialog-footer" v-if="!isDone"> + <template v-if="lastOne"> + <el-button @click="prevQues">上一题</el-button> + <el-button type="primary" @click="submitQues">提交</el-button> + </template> + <template v-else> + <el-button class="first" @click="prevQues">上一题</el-button> + <el-button class="second" type="primary" @click="nextQues">下一题</el-button> + </template> + </div> + </el-dialog> + + <!-- 提交成绩弹框 --> + <el-dialog :visible.sync="resultVisible" width="30%" custom-class="result_dialog" center :close-on-click-modal="false"> + <div class="result"><span>{{result.isPassed}}</span></div> + + <div class="ques-wrap"> + <div class="point"> + <span>{{result.totalScore}}</span>分 + </div> + <p class="tips">{{result.isPassed == '通过' ? '恭喜' : ''}}你答对{{result.correctQuestionNum}}题,正确率{{result.correctRate}}!</p> + </div> + + <div slot="footer" class="dialog-footer"> + <el-button class="first" @click="toEvaluation(0)">再试一次</el-button> + <el-button class="second" type="primary" @click="getDetail">成绩详情</el-button> + <el-button v-if="result.isPassed == '通过'" class="third" type="primary" @click="goSubSystem">进入实训</el-button> + </div> + </el-dialog> + + <!-- 成绩详情弹框 --> + <el-dialog :visible.sync="detailVisible" width="30%" custom-class="detail_dialog" center :close-on-click-modal="false"> + <div class="title">成绩详情</div> + <div style="min-height: 370px"> + <el-table :data="detailData" height="340" border style="width: 100%"> + <el-table-column type="index" label="序号" width="60" align="center"></el-table-column> + <el-table-column prop="date" label="正误" min-width="45" align="center"> + <template slot-scope="scope"> + <img v-if="scope.row.questionScore" width="15" src="@/assets/img/true.png" alt=""> + <img v-else width="15" src="@/assets/img/false.png" alt=""> + </template> + </el-table-column> + <el-table-column prop="questionScore" label="得分" min-width="45" align="center"></el-table-column> + <el-table-column prop="answer" label="正确答案" min-width="70" align="center"></el-table-column> + <el-table-column prop="userAnswer" label="你的答案" min-width="70" align="center"></el-table-column> + <el-table-column prop="answerAnalysis" label="解析" min-width="80"></el-table-column> + </el-table> + </div> + <p class="total">得分:{{totalScore}}分</p> + </el-dialog> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +import pdf from '@/components/pdf' +export default { + components: { pdf }, + data() { + return { + systemId: Setting.systemId, + systemList: Setting.systemList, + video: 'http://liuwanr.oss-cn-shenzhen.aliyuncs.com/mp4/20200519/1589871025648.mp4', + videoSrc: '', + curLink: '', + videoList1: [ { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/print%28%29%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目一 print()函数" + },{ + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/项目一.mp4", + "isdel": 0, + "title": "项目一 print()函数(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%8E%E6%8B%BC%E6%8E%A5.pptx", + "isdel": 0, + "title": "项目二 数据转换与拼接" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/程序设计项目二数据转换与拼接.mp4", + "isdel": 0, + "title": "项目二 数据转换与拼接(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/if%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD%E8%AF%AD%E5%8F%A5.pptx", + "isdel": 0, + "title": "项目三 if条件判断语句" + },{ + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/if.mp4", + "isdel": 0, + "title": "项目三 if条件判断语句(操作视频)" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/input%28%29%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目四 input()函数" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/进阶(input)函数.mp4", + "isdel": 0, + "title": "项目四 input()函数(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%88%97%E8%A1%A8%E5%85%83%E7%BB%84%E5%AD%97%E5%85%B8.pptx", + "isdel": 0, + "title": "项目五 列表元组字典" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/列表元组字典.mp4", + "isdel": 0, + "title": "项目五 列表元组字典(操作视频)" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/for%E5%BE%AA%E7%8E%AF.pptx", + "isdel": 0, + "title": "项目六 for循环" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/for循环.mp4", + "isdel": 0, + "title": "项目六 for循环(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/while%E5%BE%AA%E7%8E%AF.pptx", + "isdel": 0, + "title": "项目七 while循环" + },{ + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/while循环.mp4", + "isdel": 0, + "title": "项目七 while循环(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%87%BD%E6%95%B0.pptx", + "isdel": 0, + "title": "项目八 函数" + },{ + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/函数.mp4", + "isdel": 0, + "title": "项目八 函数(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%B8%80.pptx", + "isdel": 0, + "title": "项目九 类与对象一" + },{ + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象1.mp4", + "isdel": 0, + "title": "项目九 类与对象一(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%B1%BB%E4%B8%8E%E5%AF%B9%E8%B1%A1%E4%BA%8C.pptx", + "isdel": 0, + "title": "项目十 类与对象二" + },{ + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/类与对象2.mp4", + "isdel": 0, + "title": "项目十 类与对象二(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%A8%A1%E5%9D%97.pptx", + "isdel": 0, + "title": "项目十一 模块" + },{ + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/模块.mp4", + "isdel": 0, + "title": "项目十一 模块(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%BB%BC%E5%90%88%E8%AE%AD%E7%BB%83.pptx", + "isdel": 0, + "title": "项目十二 综合训练" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/综合训练1.mp4", + "isdel": 0, + "title": "项目十二 综合训练(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E5%BA%8F%E5%88%97%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十三 序列应用" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/序列应用.mp4", + "isdel": 0, + "title": "项目十三 序列应用(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E5%BA%93.pptx", + "isdel": 0, + "title": "项目十四 数据库" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/数据库(1).mp4", + "isdel": 0, + "title": "项目十四 数据库(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E7%88%AC%E8%99%AB.pptx", + "isdel": 0, + "title": "项目十五 爬虫" + },{ + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/爬虫.mp4", + "isdel": 0, + "title": "项目十五 爬虫(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1ppt%281%29/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E7%AE%97%E6%B3%95.pptx", + "isdel": 0, + "title": "项目十六 朴素贝叶斯分类算法" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/programming/贝叶斯.mp4", + "isdel": 0, + "title": "项目十六 朴素贝叶斯分类算法(操作视频)" + }], + videoList4: [{ + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.pptx", + "isdel": 0, + "title": "项目一 货币时间价值" + },{ + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E8%B4%A7%E5%B8%81%E6%97%B6%E9%97%B4%E4%BB%B7%E5%80%BC.mp4", + "isdel": 0, + "title": "项目一 货币时间价值(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.pptx", + "isdel": 0, + "title": "项目二 数据驱动的财务决策" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%B4%A2%E5%8A%A1%E5%86%B3%E7%AD%96.mp4", + "isdel": 0, + "title": "项目二 数据驱动的财务决策(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目三 债券的定价" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%89%EF%BC%9A%E5%80%BA%E5%88%B8%E7%9A%84%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目三 债券的定价(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目四 欧式期权的定价" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%9B%9B%EF%BC%9A%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目四 欧式期权的定价(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E7%A5%A8%E7%9A%84%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目五 股票的定价" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%BA%94%EF%BC%9A%E8%82%A1%E7%A5%A8%E5%AE%9A%E4%BB%B7.mp4", + "isdel": 0, + "title": "项目五 股票的定价(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.pptx", + "isdel": 0, + "title": "项目六 固定收益证券计算" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AD%EF%BC%9A%E5%9B%BA%E5%AE%9A%E6%94%B6%E7%9B%8A%E8%AF%81%E5%88%B8%E8%AE%A1%E7%AE%97.mp4", + "isdel": 0, + "title": "项目六 固定收益证券计算(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.pptx", + "isdel": 0, + "title": "项目七 估计β系数" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B8%83%EF%BC%9A%E4%BC%B0%E8%AE%A1%CE%B2%E7%B3%BB%E6%95%B0.mp4", + "isdel": 0, + "title": "项目七 估计β系数(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7.pptx", + "isdel": 0, + "title": "项目八 国债期货" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%85%AB%EF%BC%9A%E5%9B%BD%E5%80%BA%E6%9C%9F%E8%B4%A7%E6%A8%A1%E6%8B%9F%E8%AE%BE%E8%AE%A1.mp4", + "isdel": 0, + "title": "项目八 国债期货(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目九 股指期货套期保障策略设计" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E4%B9%9D%EF%BC%9A%E8%82%A1%E6%8C%87%E6%9C%9F%E8%B4%A7%E5%A5%97%E6%9C%9F%E4%BF%9D%E9%9A%9C%E7%AD%96%E7%95%A5%E8%AE%BE%E8%AE%A1.mp4", + "isdel": 0, + "title": "项目九 股指期货套期保障策略设计(操作视频)" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/JR%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十 JR二叉树欧式期权设计" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十 JR二叉树欧式期权设计(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十一 布莱克-舒尔斯欧式期权设计" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B%E2%80%94%E8%88%92%E5%B0%94%E6%96%AF%E6%AC%A7%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十一 布莱克-舒尔斯欧式期权设计(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十二 二叉树美式期权设计" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E3%80%81.mp4", + "isdel": 0, + "title": "项目十二 二叉树美式期权设计(操作视频)" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83%E8%AE%BE%E8%AE%A1.pptx", + "isdel": 0, + "title": "项目十三 布莱克-舒尔斯美式期权设计" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%EF%BC%9A%E5%B8%83%E8%8E%B1%E5%85%8B-%E8%88%92%E5%B0%94%E6%96%AF%E7%BE%8E%E5%BC%8F%E6%9C%9F%E6%9D%83.mp4", + "isdel": 0, + "title": "项目十三 布莱克-舒尔斯美式期权设计(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Covered%20Call.pptx", + "isdel": 0, + "title": "项目十四 Covered Call" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%EF%BC%9ACovered%20Call.mp4", + "isdel": 0, + "title": "项目十四 Covered Call(操作视频)" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E9%87%91%E8%9E%8D%E5%BB%BA%E6%A8%A1ppt%281%29/Butterfiy%20Spread.pptx", + "isdel": 0, + "title": "项目十五 Butterfiy Spread" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/jinrong/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%EF%BC%9A%E7%A2%9F%E5%BC%8F%E4%BB%B7%E5%B7%AE.mp4", + "isdel": 0, + "title": "项目十五 Butterfiy Spread(操作视频)" + }], + videoList5: [{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E4%BA%86%E8%A7%A3matplotlib.pptx", + "isdel": 0, + "title": "项目一 了解matplotlib" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%9F%BA%E7%A1%801%E2%80%94%E2%80%94%E4%BA%86%E8%A7%A3matplotlib%E7%9A%84%E5%8A%9F%E8%83%BD.mp4", + "isdel": 0, + "title": "项目一 了解matplotlib(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E7%BB%98%E5%88%B6%E6%9D%A1%E5%BD%A2%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目二 绘制条形图" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E4%BA%8C%EF%BC%9A%E5%9F%BA%E7%A1%802%E2%80%94%E2%80%94%E5%9B%BE%E5%BD%A2%E7%9A%84%E7%BB%98%E5%88%B6%28%E6%9D%A1%E5%BD%A2%E5%9B%BE%29.mp4", + "isdel": 0, + "title": "项目二 绘制条形图(操作视频)" + },{ + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%89%20%E7%BB%98%E5%88%B6%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目三 绘制直方图" + },{ + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目三:基础3——图形的绘制(直方图).mp4", + "isdel": 0, + "title": "项目三 绘制直方图(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%9B%9B%20%E7%BB%98%E5%88%B6%E6%8A%98%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目四 绘制折线图" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目四:基础4——图形的绘制(折线图).mp4", + "isdel": 0, + "title": "项目四 绘制折线图(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%BA%94%20%E7%BB%98%E5%88%B6%E6%95%A3%E7%82%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目五 绘制散点图" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目五:基础5——图形的绘制(散点图).mp4", + "isdel": 0, + "title": "项目五 绘制散点图(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AD%20%E7%BB%98%E5%88%B6%E7%AE%B1%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目六 绘制箱线图" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目六:基础6——图形的绘制(箱线图).mp4", + "isdel": 0, + "title": "项目六 绘制箱线图(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B8%83%20%E7%BB%98%E5%88%B6%E9%A5%BC%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目七 绘制饼图" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目七:基础7——图形的绘制(饼图).mp4", + "isdel": 0, + "title": "项目七 绘制饼图(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E7%BB%98%E5%88%B6%E9%9D%A2%E7%A7%AF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目八 绘制面积图" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目八:基础8——图形的绘制(面积图).mp4", + "isdel": 0, + "title": "项目八 绘制面积图(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E7%BB%98%E5%88%B62D%E7%AD%89%E9%AB%98%E7%BA%BF%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目九 绘制2D等高线图" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目九:进阶1——绘制2D等高线图.mp4", + "isdel": 0, + "title": "项目九 绘制2D等高线图(操作视频)" + }, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E5%BD%93%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%9C%89%E4%B8%A4%E5%BC%A0%E6%88%96%E5%A4%9A%E5%BC%A0%E6%97%B6%E4%BF%9D%E8%AF%81%E5%9B%BE%E7%89%87%E4%B8%8D%E8%A6%86%E7%9B%96.pptx", + "isdel": 0, + "title": "项目十 当生成的图片有两张或多张时保证图片不覆盖" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%80%20%E7%BB%99%E6%89%80%E7%94%9F%E6%88%90%E7%9A%84%E5%9B%BE%E7%89%87%E6%B7%BB%E5%8A%A0%E6%A0%87%E7%AD%BE.pptx", + "isdel": 0, + "title": "项目十一 给所生成的图片添加标签" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十一:进阶3——给所生成的图片添加标签.mp4", + "isdel": 0, + "title": "项目十一 给所生成的图片添加标签(操作视频)" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%8C%20%E5%A4%9A%E5%AD%90%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目十二 多子图" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十二:进阶4——多子图.mp4", + "isdel": 0, + "title": "项目十二 多子图(操作视频)" + }, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%89%20%E7%BB%98%E5%88%B6%E4%BA%8C%E7%BB%B4%E7%9B%B4%E6%96%B9%E5%9B%BE.pptx", + "isdel": 0, + "title": "项目十三 绘制二维直方图" + }, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十三:进阶5——绘制一张二维直方图.mp4", + "isdel": 0, + "title": "项目十三 绘制二维直方图(操作视频)" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E5%9B%9B%20%E8%87%AA%E5%AE%9A%E4%B9%89%E8%89%B2%E9%98%B6.pptx", + "isdel": 0, + "title": "项目十四 自定义色阶" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十四:进阶6——在一张图中绘制3组不同的直方图,并给所生成的图片设置透明度.mp4", + "isdel": 0, + "title": "项目十四 自定义色阶(操作视频)" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%8F%AF%E8%A7%86%E5%8C%96ppt%281%29%281%29/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%BA%94%20%E4%B8%89%E7%BB%B4%E5%9B%BE%E5%83%8F.pptx", + "isdel": 0, + "title": "项目十五 三维图像" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十五:进阶7——自定义色阶.mp4", + "isdel": 0, + "title": "项目十五 三维图像(操作视频)" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/项目十六:进阶8——三维图像.mp4", + "isdel": 0, + "title": "项目十六 进阶8——三维图像(操作视频)" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/visualization/%E9%A1%B9%E7%9B%AE%E5%8D%81%E4%B8%83%EF%BC%9A%E7%BB%88%E9%98%B6%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.mp4", + "isdel": 0, + "title": "项目十七 终阶——数据可视化" + }], + videoList6: [{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B8%80%EF%BC%9A%E5%80%BA%E5%88%B8%E5%92%8C%E5%88%A9%E7%8E%87.pptx", + "isdel": 0, + "title": "项目一 债券和利率" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目一. 债券与利率.MP4", + "isdel": 0, + "title": "项目一 债券和利率(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%BA%8C%20%E8%B5%84%E4%BA%A7%E7%BB%84%E5%90%88.pptx", + "isdel": 0, + "title": "项目二 资产组合" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目二资产组合.mp4", + "isdel": 0, + "title": "项目二 资产组合(操作视频)" + },{ + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/3%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7%E7%90%86%E8%AE%BA%E5%92%8C%E5%A5%97%E5%88%A9%E5%AE%9A%E4%BB%B7.pptx", + "isdel": 0, + "title": "项目三 期权定价理论和套利定价" + },{ + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目三.期权定价理论和套利定价.mp4", + "isdel": 0, + "title": "项目三 期权定价理论和套利定价(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E5%9B%9Bppt.pptx", + "isdel": 0, + "title": "项目四 证券市场和股票的波动" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目四.证券市场和股票的波动.mp4", + "isdel": 0, + "title": "项目四 证券市场和股票的波动(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/5-%E9%A1%B9%E7%9B%AEppt.pptx", + "isdel": 0, + "title": "项目五 正态随机过程" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目五:正态随机过程.mp4", + "isdel": 0, + "title": "项目五 正态随机过程(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/6Poisson%E8%BF%87%E7%A8%8B.pptx", + "isdel": 0, + "title": "项目六 Poisson过程" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目六.Poisson过程.mp4", + "isdel": 0, + "title": "项目六 Poisson过程(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/7Python%E9%87%91%E8%9E%8D%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E5%AE%9E%E9%AA%8C%E6%95%99%E5%AD%A6%E7%B3%BB%E7%BB%9F%EF%BC%88%E7%AC%AC%E4%B8%83%E9%A1%B9%EF%BC%89.pptx", + "isdel": 0, + "title": "项目七 平稳随机过程" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/系统一 项目七 金融随机过程.mp4", + "isdel": 0, + "title": "项目七 平稳随机过程(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/8%E7%A6%BB%E6%95%A3%E5%8F%82%E6%95%B0Markov%E9%93%BE.pptx", + "isdel": 0, + "title": "项目八 离散参数Markov链" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目八:离散参数Markov链.mp4", + "isdel": 0, + "title": "项目八 离散参数Markov链(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE%E4%B9%9D%20%E8%BF%9E%E7%BB%AD%E6%97%B6%E9%97%B4Markov%E9%93%BE.pptx", + "isdel": 0, + "title": "项目九 连续时间Markov链" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目九.连续时间Markov链.mp4", + "isdel": 0, + "title": "项目九 连续时间Markov链(操作视频)" + }, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE10_%E5%B8%83%E6%9C%97%E8%BF%90%E5%8A%A8.pptx", + "isdel": 0, + "title": "项目十 布朗运动" + }, { + "id": 11, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十.布朗运动.mp4", + "isdel": 0, + "title": "项目十 布朗运动(操作视频)" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE11_%E9%9E%85%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十一 鞅及其应用" + }, { + "id": 12, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十一.鞅及其应用.mp4", + "isdel": 0, + "title": "项目十一 鞅及其应用(操作视频)" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E9%A1%B9%E7%9B%AE12_%E9%9A%8F%E6%9C%BA%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E5%8F%8A%E5%85%B6%E5%9C%A8%E9%87%91%E8%9E%8D%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.pptx", + "isdel": 0, + "title": "项目十二 随机微分方程及其在金融中的应用" + }, { + "id": 13, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/系统一项目十二:随机微分方程及其在金融中的应用.mp4", + "isdel": 0, + "title": "项目十二 随机微分方程及其在金融中的应用(操作视频)" + }], + videoList7: [{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/1.pptx", + "isdel": 0, + "title": "项目一 了解matplotlib的功能" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目一:基础了解maplab.mp4", + "isdel": 0, + "title": "项目一 了解matplotlib的功能(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/2.pptx", + "isdel": 0, + "title": "项目二 K线图" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目二:基础——K线图.mp4", + "isdel": 0, + "title": "项目二 K线图(操作视频)" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/3.pptx", + "isdel": 0, + "title": "项目三 动量交易策略" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目三:基础——动量交易策略.mp4", + "isdel": 0, + "title": "项目三 动量交易策略(操作视频)" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/4.pptx", + "isdel": 0, + "title": "项目四 RSI相对强弱指标" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目四:基础——RSI相对强弱指标.mp4", + "isdel": 0, + "title": "项目四 RSI相对强弱指标(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/5.pptx", + "isdel": 0, + "title": "项目五 简单移动平均" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目五:基础——简单移动平均.mp4", + "isdel": 0, + "title": "项目五 简单移动平均(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/6.pptx", + "isdel": 0, + "title": "项目六 加权移动平均" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目六:基础——加权移动平均.mp4", + "isdel": 0, + "title": "项目六 加权移动平均(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/7.pptx", + "isdel": 0, + "title": "项目七 通道突破策略" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目七:进阶1——通道突破策略.mp4", + "isdel": 0, + "title": "项目七 通道突破策略(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/8.pptx", + "isdel": 0, + "title": "项目八 KDJ交易策略" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目八:进阶2——KDJ交易策略.mp4", + "isdel": 0, + "title": "项目八 KDJ交易策略(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/9.pptx", + "isdel": 0, + "title": "项目九 OBV指标交易策略" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目九:进阶3——OBV指标交易策略.mp4", + "isdel": 0, + "title": "项目九 OBV指标交易策略(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E7%B3%BB%E7%BB%9F%E4%BA%8C-%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84%281%29/10.pptx", + "isdel": 0, + "title": "项目十 基于机器学习的量化投资策略概览" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/zz/量化投资项目十:终阶——基于机器学习的量化投资概览.mp4", + "isdel": 0, + "title": "项目十 基于机器学习的量化投资策略概览(操作视频)" + }], + videoList8: [{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E4%B8%80%20%E6%95%B0%E6%8D%AE%E5%8C%85%E7%9A%84%E4%BD%BF%E7%94%A8.pptx", + "isdel": 0, + "title": "项目一 数据包的使用" + },{ + "id": 1, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目一.mp4", + "isdel": 0, + "title": "项目一 数据包的使用(操作视频)" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--2.pptx", + "isdel": 0, + "title": "项目二 使用numpy定义一维数组" + }, { + "id": 3, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目二.mp4", + "isdel": 0, + "title": "项目二 使用numpy定义一维数组(操作视频)" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas%E5%AE%9A%E4%B9%89%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84--3.pptx", + "isdel": 0, + "title": "项目三 使用pandas定义一维数组" + }, { + "id": 6, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目三.mp4", + "isdel": 0, + "title": "项目三 使用pandas定义一维数组(操作视频)" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8numpy%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--4.pptx", + "isdel": 0, + "title": "项目四 使用numpy定义二维数据结构" + }, { + "id": 5, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目四.mp4", + "isdel": 0, + "title": "项目四 使用numpy定义二维数据结构(操作视频)" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E4%BD%BF%E7%94%A8pandas-DataFrame%EF%BC%88%E6%95%B0%E6%8D%AE%E6%A1%86%EF%BC%89%E5%AE%9A%E4%B9%89%E4%BA%8C%E7%BB%B4%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84--5.pptx", + "isdel": 0, + "title": "项目五 使用Pandas-DataFrame(数据框)定义二维数据结构" + }, { + "id": 2, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目五.mp4", + "isdel": 0, + "title": "项目五 使用Pandas-DataFrame(数据框)定义二维数据结构(操作视频)" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E5%9F%BA%E7%A1%80%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E9%9B%86%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF--6.pptx", + "isdel": 0, + "title": "项目六 数据集描述统计信息" + }, { + "id": 7, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目六.mp4", + "isdel": 0, + "title": "项目六 数据集描述统计信息(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE7_%E7%90%86%E8%A7%A3%E6%95%B0%E6%8D%AE.pptx", + "isdel": 0, + "title": "项目七 理解数据" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目七.mp4", + "isdel": 0, + "title": "项目七 理解数据(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%85%AB%20%E6%A8%A1%E5%9E%8B%E6%9E%84%E5%BB%BA.pptx", + "isdel": 0, + "title": "项目八 模型构建" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目八.mp4", + "isdel": 0, + "title": "项目八 模型构建(操作视频)" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E8%BF%9B%E9%98%B63%E2%80%94%E2%80%94%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97--9.pptx", + "isdel": 0, + "title": "项目九 数据清洗" + }, { + "id": 4, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目九.mp4", + "isdel": 0, + "title": "项目九 数据清洗(操作视频)" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/ppt/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E5%8D%81%20%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96.pptx", + "isdel": 0, + "title": "项目十 数据可视化" + }, { + "id": 9, + "links": "https://huoran.oss-cn-shenzhen.aliyuncs.com/video/dataAnalysis/系统三项目十.mp4", + "isdel": 0, + "title": "项目十 数据可视化(操作视频)" + }], + evaluationVisible: false, + resultVisible: false, + detailVisible: false, + lastOne: false, + question: { + options: {} + }, + countdown: '', + selected: '', + result: {}, + detail: {}, + timer: null, + totalScore: 0, + detailData: [], + isDone: false, + history: [], + btnType: 1, + + coverUrl: '', + playAuth: '', + player: null, + previewImg: '', + iframeSrc: '', + isWord: false, + isPPT: false, + isExcel: false, + showMask: false, + showMask1: false, + showMask2: false, + closePosi: { + top: '80px' + }, + pdfVisible: false, + pdfSrc: '', + }; + }, + computed: { + ...mapState('user', [ + 'studentId','userId' + ]), + }, + watch: { + question: { + handler(newVal,oldVal) { + for(let n in newVal.options) { + if(newVal.options[n] == '') delete(newVal.options[n]) + } + }, + deep: true + } + }, + mounted() { + this.insertScript() + // this.getData() + this.preview(this.videoList1[0]) + this.$once('hook:beforeDestroy', function () { + clearInterval(this.timer) + this.timer = null + }) + }, + methods: { + // async getData(){ + // let res = await this.$get(this.api.getCoursevideo, { + // page: 1, + // size: 10 + // }) + // this.videoList = res.data.list + // }, + async toEvaluation(type,btn) { + clearInterval(this.timer) + this.lastOne = false + this.selected = '' + this.resultVisible = false + this.history = [] + if(btn) this.btnType = btn + if(type){ + let res = null + if(btn == 2){ + res = await this.$get(this.api.openExercise, { userId: this.userId }) + }else{ + res = await this.$get(this.api.openTeaching, { userId: this.userId }) + } + if(res.errmessage == 'true'){ + if(btn == 2){ + this.goSubSystem() + } + if(btn == 3){ + this.$router.push('/project') + } + }else{ + this.$alert('请先完成能力测评并达到60分以上才可以进行实验', '提示', { + confirmButtonText: '进入测评', + callback: action => { + action == 'confirm' && this.toEvaluation(0) + } + }); + } + }else{ + this.start() + this.getCountdown() + } + }, + handleQues() { + this.question.options = {} + for(let n in this.question) { + if(n.includes('option') && n != 'options') { + this.question.options[n.replace('option','')] = this.question[n] + } + } + if(this.question.currentQuestionSortNo == this.question.totalQuestionNum){ + this.lastOne = true + }else{ + this.lastOne = false + } + }, + async start() { + let res = await this.$get(this.api.experimentStart, { userId: this.userId,types: this.btnType }) + if(res.data){ + this.question = res.data + this.isDone = false + this.question.currentQuestionSortNo == 1 && this.$store.commit("answerHistoryData", { answerHistory : []}) + this.handleQues() + this.evaluationVisible = true + }else{ + util.warningMsg(res.message) + } + }, + async getCountdown() { + let res = await this.$get(this.api.experimentRemaining, { userId: this.userId }) + res.data && this.countDown(res.data) + // this.countDown('00:00:05') + }, + countDown(time) { + this.countdown = time + this.timer = setInterval(() => { + let timeList = this.countdown.split(':') + let total = Number.parseInt(timeList[1] * 60) + Number.parseInt(timeList[2]) + if(total > 0){ + --total + let minutes = Math.floor(total / 60) + let seconds = Math.floor(total % 60) + this.countdown = `00:${util.formateTime(minutes)}:${util.formateTime(seconds)}` + }else{ + this.isDone = true + util.warningMsg('测评时间结束'); + clearInterval(this.timer) + this.prevQues() + } + },1000) + }, + selectOption(option) { + if(!this.isDone) { + if(this.selected.includes(option)) { + this.selected = this.selected.replace(option,'') + }else{ + if(this.question.questionType == 2) { + this.selected += option + }else{ + this.selected = option + } + } + } + }, + getHistory() { + this.history = this.$store.state.answerHistory + }, + async nextQues() { + if(!this.selected) return util.warningMsg('请选择答案') + this.getHistory() + if(this.history.length > this.question.currentQuestionSortNo){ + this.history[this.question.currentQuestionSortNo-1] = this.selected + }else if(this.history.length < this.question.currentQuestionSortNo){ + this.history.push(this.selected) + } + this.$store.commit("answerHistoryData", { answerHistory : this.history}) + let res = await this.$post(this.api.experimentNext, { + id: this.question.id, + currentQuestionSortNo: this.question.currentQuestionSortNo, + // userAnswer: this.selected.split('').sort().join(',') + userAnswer: this.selected + }) + if(res.data){ + this.question = res.data + this.selected = '' + if(this.history.length >= this.question.currentQuestionSortNo){ + this.selected = this.history[this.question.currentQuestionSortNo-1] + }else{ + this.selected = '' + } + this.handleQues() + } + }, + async prevQues() { + if(this.question.currentQuestionSortNo > 1){ + this.getHistory() + let res = await this.$post(this.api.experimentPrevious, { + id: this.question.id, + currentQuestionSortNo: this.question.currentQuestionSortNo, + // userAnswer: this.selected.split('').sort().join(',') + userAnswer: this.selected + }) + if(res.data){ + this.question = res.data + this.selected = this.history[this.question.currentQuestionSortNo-1] + this.isDone ? this.submitQues() : this.handleQues() + } + }else if(this.isDone){ + if(!this.selected) this.selected = 'A' + this.submitQues() + } + }, + async submitQues() { + if(!this.selected) return util.warningMsg('请选择答案'); + let res = await this.$post(this.api.experimentSubmit, { + id: this.question.id, + currentQuestionSortNo: this.question.currentQuestionSortNo, + // userAnswer: this.selected.split('').sort().join(','), + userAnswer: this.selected, + userId: this.userId, + types: this.btnType + }) + if(res.data) { + this.result = res.data + this.evaluationVisible = false + this.resultVisible = true + } + }, + async getDetail() { + let res = await this.$get(this.api.experimentDetail, { + evaluationRecordId: this.question.id + }) + if(res.data){ + this.totalScore = res.data.totalScore + this.detailData = res.data.evaluationDetailVOS + this.resultVisible = false + this.detailVisible = true + } + }, + systemChange(){ + this.videoSrc = '' + this.preview(this[`videoList${this.systemId}`][0]) + }, + preview(row){ + let url = row.links + this.videoSrc = '' + this.coverUrl = '' + this.pdfSrc = '' + this.iframeSrc = '' + this.curLink = row.title + let ext = util.getFileExt(url) + if(util.isVideo(ext)){ + this.videoSrc = url + }else if(ext == 'pdf'){ + this.pdfSrc = url + this.pdfVisible = true + }else if(util.isImg(ext)){ + window.open(url) + }else if(util.isDoc(ext)){ + if(ext == 'pptx'){ + this.isPPT = true + this.isWord = false + this.isExcel = false + }else if(ext == 'doc' || ext == 'docx'){ + this.isPPT = false + this.isWord = true + this.isExcel = false + }else if(ext == 'xls' || ext == 'xlsx'){ + this.isExcel = true + this.isPPT = false + this.isWord = false + }else{ + this.isPPT = false + this.isWord = false + this.isExcel = false + } + if(this.isPPT){ + this.showMask = true + }else{ + this.showMask = false + } + if(this.isWord){ + this.showMask1 = true + }else{ + this.showMask1 = false + } + if(this.isExcel){ + this.showMask2 = true + }else{ + this.showMask2 = false + } + this.iframeSrc = `https://view.officeapps.live.com/op/view.aspx?src=${url}` + } + }, + closeIframe(){ + this.iframeSrc = '' + this.showMask = false + this.showMask1 = false + this.showMask2 = false + this.curLink = '' + }, + insertScript(){ + const linkTag = document.createElement('link') + linkTag.id = 'aliplayerLink' + linkTag.rel = 'stylesheet' + linkTag.href = 'https://g.alicdn.com/de/prismplayer/2.8.2/skins/default/aliplayer-min.css' + document.body.appendChild(linkTag) + + const scriptTag = document.createElement('script') + scriptTag.id = 'aliplayerScript' + scriptTag.type = 'text/javascript' + scriptTag.src = 'https://g.alicdn.com/de/prismplayer/2.8.2/aliplayer-min.js' + document.body.appendChild(scriptTag) + this.$once('hook:beforeDestroy', function () { + document.body.removeChild(document.querySelector('#aliplayerLink')) + document.body.removeChild(document.querySelector('#aliplayerScript')) + }) + }, + goSubSystem(){ + util.cookies.set("assessmentId",'',-1) + util.cookies.set("studentId",this.studentId) + util.cookies.set("projectId",'',-1) + util.cookies.set("startTime",'',-1) + util.cookies.set("stopTime",'',-1) + location.href = this.$config.subSystem + }, + } +}; +</script> + +<style lang="scss" scoped> +.video_wid{ + width: 100%; + height: 650px; + border: 0; +} +.video_wid:focus{ + outline: none; +} +.title_view{ + background-color: #2F3236; + padding: 12px 10px; +} +h3{ + color: #9076FF; + margin-bottom: 10px; +} +.catalog .title_view .el-button{ + padding: 8px 20px; +} +.btns{ + display: flex; + justify-content: space-between; +} +.btns .el-button{ + flex: 1; + height: 90px; + font-size: 30px; + background: transparent url(../../../assets/img/ques1.png) 0 0/100% 100% no-repeat; + border: 0; +} +.list_he{ + height: 500px; + overflow-y: auto; + padding: 20px 12px; + background: #3f4449; +} +.list_he ul{ + padding: 20px 0; +} +.list_he ul li:first-child{ + margin-top: 0; +} +.list_he ul li{ + margin-top: 10px; + font-size: 14px; +} +.list_title{ + color: #9278FF; + font-size: 20px; + margin-left: 12px; +} +.list_catalog{ + padding: 0 8px; + font-size: 14px; + margin-top: 15px; + cursor: pointer; +} +.mar0{ + margin-top: 0; +} +.list_catalog .catalog_button .el-button{ + background-color: #2F3236; + border:1px solid rgba(144,118,255,1); + color: #9278FF; + padding: 6px 8px; +} +.experimental_title{ + color: #fff; + word-wrap: break-word; + &.active{ + color: #9278FF; + } +} +.experimental_status{ + margin-right: 10px; + color: #7A7A7A; +} +.curriculum_name{ + color: #fff; +} +.curriculum_name i{ + margin-left: 5px; + margin-right: 5px; +} +.curriculum_status{ + color: #7A7A7A; +} +/deep/.evaluation_dialog{ + min-height: 700px; + background: url(../../../assets/img/evaluation_bg1.png) 0 0/100% 100% no-repeat; +} +/deep/.evaluation_dialog .el-dialog__headerbtn,/deep/.evaluation_dialog .el-dialog__headerbtn,/deep/.detail_dialog .el-dialog__headerbtn{ + font-size: 28px; +} +/deep/.evaluation_dialog .title,/deep/.detail_dialog .title{ + margin-bottom: 45px; + text-align: center; + font-size: 24px +} +/deep/.evaluation_dialog .title{ + margin-bottom: 55px; +} +/deep/.evaluation_dialog .serial{ + font-size: 12px; + text-align: center; +} +/deep/.evaluation_dialog .ques-wrap{ + width: 80%; + margin: 0 auto; +} +/deep/.evaluation_dialog .type{ + color: #666; +} +/deep/.evaluation_dialog .ques{ + margin: 20px 0; + min-height: 145px; + color: #666; + font-size: 16px; +} +/deep/.evaluation_dialog .countdown{ + margin-bottom: 20px; + justify-content: center; + text-align: center; + color: #DC3434; + font-size: 14px; +} +/deep/.evaluation_dialog .countdown img{ + width: 15px !important; + margin-right: 10px; +} +/deep/.evaluation_dialog .options{ + display: flex; + flex-direction: column; + min-height: 340px; +} +/deep/.evaluation_dialog .options.isDone{ + min-height: 395px; +} +/deep/.evaluation_dialog .options li{ + padding: 0 15px; + margin-bottom: 15px; + line-height: 40px; + border: 1px solid #9070FF; + border-radius: 20px; + color: #666; + cursor: pointer; +} +/deep/.evaluation_dialog .options li:hover{ + color: #fff; + background-color: #b038bb; + border-color: #b038bb; +} +/deep/.evaluation_dialog .options li.active{ + color: #fff; + background-color: #916CFF; + border-color: #916CFF; +} +/deep/.evaluation_dialog .options em{ + margin-right: 10px; + font-weight: bold; + font-style: normal; + font-size: 16px; +} +/deep/.evaluation_dialog .options span{ + font-size: 16px; +} +/deep/.evaluation_dialog .el-dialog__footer{ + text-align: center; +} +/deep/.evaluation_dialog .first,/deep/.result_dialog .first{ + color: #fff; + background-color: #9268FF; + border-color: #9268FF; +} +/deep/.evaluation_dialog .second,/deep/.result_dialog .second{ + color: #fff; + background-color: #E371DA; + border-color: #E371DA; +} + +/deep/.result_dialog{ + min-height: 500px; + background: url(../../../assets/img/evaluation_bg2.png) 0 0/100% 100% no-repeat; +} +/deep/.result_dialog .el-dialog__headerbtn .el-dialog__close{ + color: #5a5a5a; + font-size: 28px; +} +/deep/.result_dialog .result{ + margin-top: 60px; + text-align: center; + color: #fff; + font-size: 24px; +} +/deep/.result_dialog .point{ + margin: 30px 0 20px; + text-align: center; + font-size: 30px; + color: #666; +} +/deep/.result_dialog .point span{ + font-size: 120px; + font-weight: bold; +} +/deep/.result_dialog .tips{ + color: #666; + text-align: center; + font-size: 14px; +} +/deep/.result_dialog .third{ + color: #fff; + background-color: #418cf5; + border-color: #418cf5; +} + +/deep/.detail_dialog{ + background: url(../../../assets/img/evaluation_bg3.png) 0 0/100% 100% no-repeat; +} +/deep/.detail_dialog .title{ + margin-top: -20px; +} +/deep/.detail_dialog .el-table__header th:nth-last-child(2){ + text-align: center; +} +/deep/.detail_dialog .total{ + margin-top: 20px; + text-align: center; + font-size: 30px; + color: #DC3434; +} +/deep/.evaluation_dialog{ + margin:0 !important; + position:absolute; + top:50%; + left:50%; + transform:translate(-50%,-50%); + max-height:calc(100% - 30px); + max-width:calc(100% - 30px); +} +/deep/.evaluation_dialog .el-dialog__body{ + flex:1; + overflow: auto; +} + +.mask{ + z-index: 9; + position: absolute; + background-color: rgb(57,58,61); +} +.word-mask{ + z-index: 9; + position: absolute; + top: 0; + right: 0; + width: 100%; + background-color: rgb(243,242,241); +} +.word-mask1{ + z-index: 9; + position: absolute; + top: 0; + right: 0; + width: 100%; + background-color: #185abd; +} +.word-mask2{ + z-index: 9; + position: absolute; + background-color: transparent; +} +.excel-mask1{ + z-index: 9; + position: absolute; + top: 0; + left: 20%; + width: 60%; + background-color: #107c41; +} +$height: 650px; +.cover{ + position: relative; + height: $height; + border: 0; + .fileIframe{ + width: 100%; + height: $height !important; + } +} +</style> \ No newline at end of file diff --git a/src/pages/record/list/ass.vue b/src/pages/record/list/ass.vue new file mode 100644 index 0000000..3187841 --- /dev/null +++ b/src/pages/record/list/ass.vue @@ -0,0 +1,97 @@ +<template> + <div> + <el-table + :cell-style="tableRowStyle" + :header-cell-style="{background:'#9278FF',color:'#FFFFFF'}" + :data="listData" + stripe + > + <el-table-column prop="id" label="次序" width="120" align="center" type="index"></el-table-column> + <el-table-column prop="experimentalName" label="考核名称" align="center"></el-table-column> + <el-table-column prop="experimentalClassName" label="班级" align="center"></el-table-column> + <el-table-column prop="projectName" label="实验项目名称" align="center"></el-table-column> + <el-table-column prop="score" label="得分" align="center"></el-table-column> + <el-table-column prop="timeSum" label="耗时" align="center"> + <template slot-scope="scope"> + {{scope.row.timeSum}}分 + </template> + </el-table-column> + <el-table-column prop="startTime" label="起始时间" align="center"></el-table-column> + <el-table-column prop="endTime" label="结束时间" align="center"></el-table-column> + <el-table-column label="操作" align="center"> + <template slot-scope="scope"> + <el-button type="text" @click="toReport(scope.row)">实验成绩报告</el-button> + </template> + </el-table-column> + </el-table> + <div class="pagination"> + <el-pagination background :current-page="page" layout="total, prev, pager, next" :total="total" @current-change="handleCurrentChange"></el-pagination> + </div> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +export default { + props: ['systemId'], + data() { + return { + listData: [], + page: 1, + pageSize: 10, + total: 0, + }; + }, + computed: { + ...mapState('user', [ + 'userId' + ]), + }, + mounted() { + this.getData() + }, + methods: { + ...mapActions('project', [ + 'setSystemId' + ]), + tableRowStyle({ row, column, rowIndex, columnIndex }) { + if (rowIndex % 2 === 0) { + return 'background-color: #FFF' + } else { + return 'background-color: #F5F2FF' + } + }, + handleCurrentChange(val) { + this.page = val + this.getData() + }, + getData() { + this.$get(this.api.experimentRecord, { + userid: this.userId, + page: this.page, + size: this.pageSize, + systemId: this.systemId + }) + .then(res => { + let data = res.data + this.listData = data.list + this.total = data.totalCount + }) + .catch(err => {}) + }, + exportData() { + location.href = `${this.api.exportProjectRecord}?userId=${this.userId}` + }, + toReport(row) { + this.setSystemId(this.systemId) + this.$router.push(`show?id=${row.id}&recordId=${row.recordid}&reportId=${row.reportId}`) + } + } +}; +</script> + +<style lang="scss" scopted> + +</style> \ No newline at end of file diff --git a/src/pages/record/list/index.vue b/src/pages/record/list/index.vue new file mode 100644 index 0000000..8355a97 --- /dev/null +++ b/src/pages/record/list/index.vue @@ -0,0 +1,188 @@ +<template> + <div> + <el-card shadow="hover" class="m-b-20"> + <div class="overview"> + <h6>实验概览</h6> + <div class="nums"> + <div class="item"> + <p class="name">姓名</p> + <p class="val">{{overview.userName}}</p> + </div> + + <div class="item"> + <p class="name">实验次数</p> + <p class="val">{{overview.experimentNumber}}</p> + </div> + + <div class="item"> + <p class="name">实验总时长</p> + <p class="val">{{overview.totalTime ? overview.totalTime : 0}}小时</p> + </div> + + <div class="item"> + <p class="name">实验平均分</p> + <p class="val">{{overview.avgScore ? overview.avgScore.toFixed(2) : overview.avgScore}}</p> + </div> + </div> + </div> + </el-card> + + <div class="page"> + <div class="tabs"> + <a class="item" v-for="(item,index) in tabList" :key="index" :class="{active: index == active}" @click="tabChange(index)">{{item}}</a> + </div> + + <div class="tool" style="align-items: center"> + <p style="font-size: 16px">实验记录明细</p> + <ul class="filter" style="flex: 0 1 auto;"> + <li style="margin-right: 0"> + <label>系统</label> + <el-select size="small" v-model="systemId" placeholder="请选择系统"> + <el-option v-for="item in systemList" :key="item.value" :label="item.label" :value="item.id"></el-option> + </el-select> + <el-button style="margin-left: 10px;" size="small" round type="primary" @click="exportData">导出</el-button> + </li> + </ul> + </div> + + <practice v-if="active == 'practice'" :systemId.sync="systemId" :key="systemId"></practice> + <ass v-else :systemId.sync="systemId" :key="systemId"></ass> + </div> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +import practice from './practice' +import ass from './ass' +export default { + data() { + return { + systemId: 1, + systemList: Setting.systemList, + overview: {}, + active: 'practice', + tabList: { + practice: '练习', + ass: '考核' + } + }; + }, + computed: { + ...mapState('user', [ + 'userId' + ]), + ...mapState('project', [ + 'lastRecordType','lastSystemId' + ]), + }, + mounted() { + this.systemId = this.lastSystemId ? this.lastSystemId : Setting.systemId + this.active = this.lastRecordType ? this.lastRecordType : 'practice' + this.getData() + }, + methods: { + ...mapActions('user', [ + 'setRecord' + ]), + getData() { + this.$get(`${this.api.fictitiousScore}/${this.userId}`).then(res => { + this.overview = res.data + }).catch(err => {}) + }, + exportData() { + if(this.active == 'practice'){ + location.href = `${this.api.exportProjectRecord}?userId=${this.userId}` + }else{ + location.href = `${this.api.exportExperimentProjectRecord}?userId=${this.userId}` + } + }, + tabChange(index){ + this.active = index + this.setRecord(this.actice) + }, + }, + components: { + practice, + ass + } +}; +</script> + +<style lang="scss" scoped> + .tabs{ + display: flex; + align-items: center; + padding: 20px 0 0; + margin-bottom: 10px; + background-color: #fff; + .item{ + padding: 12px 20px; + margin-right: 10px; + color:#606266; + line-height: 1; + border-radius: 4px; + background-color: #fff; + border: 1px solid #dcdfe6; + cursor: pointer; + + &.active{ + color: #fff; + background-color: #9278ff; + border-color: #9278ff; + } + } + } + .overview { + padding: 20px; + margin-top: 20px; + background: rgba(255, 255, 255, 1); + box-shadow: 0px 0px 21px 0px rgba(48, 115, 248, 0.1); + border-radius: 10px; + h6{ + margin-bottom: 10px; + font-size: 16px; + font-weight: 400; + } + .nums { + display: flex; + justify-content: space-between; + .item:nth-child(1) { + background-image: url('../../../assets/img/student1.png'); + box-shadow: 0px 25px 20px -22px #ec92e0; + } + .item:nth-child(2) { + background-image: url('../../../assets/img/student2.png'); + box-shadow: 0px 25px 20px -22px #60b8f6; + } + .item:nth-child(3) { + background-image: url('../../../assets/img/student3.png'); + box-shadow: 0px 25px 20px -22px #fe787a; + } + .item:nth-child(4) { + background-image: url('../../../assets/img/student4.png'); + box-shadow: 0px 25px 20px -22px #fbbb6e; + } + + .item { + width: 24%; + padding: 20px 30px; + box-shadow: 0px 3px 18px 0px rgba(84, 84, 84, 0.09); + border-radius: 8px; + background-size: 100% 100%; + background-repeat: no-repeat; + .name { + font-size: 18px; + color: #ffffff; + } + .val{ + margin-top: 10px; + color: #ffffff; + font-size: 30px; + } + } + } + } +</style> \ No newline at end of file diff --git a/src/pages/record/list/practice.vue b/src/pages/record/list/practice.vue new file mode 100644 index 0000000..5ddfa84 --- /dev/null +++ b/src/pages/record/list/practice.vue @@ -0,0 +1,91 @@ +<template> + <div> + <el-table :cell-style="tableRowStyle" :header-cell-style="{background:'#9278FF',color:'#FFFFFF'}" :data="listData" stripe> + <el-table-column prop="id" label="次序" width="120" align="center" type="index"></el-table-column> + <el-table-column prop="projectName" label="实验项目名称" align="center"></el-table-column> + <el-table-column prop="score" label="得分" align="center"></el-table-column> + <el-table-column prop="timeSum" label="耗时" align="center"> + <template slot-scope="scope"> + {{scope.row.timeSum}}分 + </template> + </el-table-column> + <el-table-column prop="startingTime" label="起始时间" align="center"></el-table-column> + <el-table-column prop="submitTime" label="结束时间" align="center"></el-table-column> + <el-table-column prop="creationTime" label="操作" align="center"> + <template slot-scope="scope"> + <el-button type="text" @click="toReport(scope.row)">实验报告</el-button> + </template> + </el-table-column> + </el-table> + <div class="pagination"> + <el-pagination background :current-page="page" layout="total, prev, pager, next" :total="total" @current-change="handleCurrentChange"></el-pagination> + </div> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +export default { + props: ['systemId'], + data() { + return { + listData: [], + page: 1, + pageSize: 10, + total: 0 + }; + }, + computed: { + ...mapState('user', [ + 'userId' + ]), + }, + mounted() { + this.getData() + }, + methods: { + ...mapActions('project', [ + 'setSystemId' + ]), + tableRowStyle({ row, column, rowIndex, columnIndex }) { + if (rowIndex % 2 === 0) { + return 'background-color: #FFF' + } else { + return 'background-color: #F5F2FF' + } + }, + handleCurrentChange(val) { + this.page = val + this.getData() + }, + getData() { + this.$get(this.api.fictitiousRecord, { + userId: this.userId, + page: this.page, + size: this.pageSize, + projectPermissions: 0, + systemId: this.systemId + }) + .then(res => { + let data = res.data + this.listData = data.list + this.total = data.totalCount + }) + .catch(err => {}) + }, + exportData() { + location.href = `${this.api.exportProjectRecord}?userId=${this.userId}` + }, + toReport(row) { + this.setSystemId(this.systemId) + this.$router.push(`show?id=${row.recordId}&reportId=${row.reportId}&type=1`) + } + } +}; +</script> + +<style lang="scss" scoped> + +</style> \ No newline at end of file diff --git a/src/pages/record/show/index.vue b/src/pages/record/show/index.vue new file mode 100644 index 0000000..e4384ec --- /dev/null +++ b/src/pages/record/show/index.vue @@ -0,0 +1,488 @@ +<template> + <div class="box"> + <div class="exp-header"> + <div class="flex-between"> + <el-page-header @back="goBack" content="查看报告"></el-page-header> + <div> + <el-button type="primary" size="mini" @click="exportPage">导出实验报告</el-button> + </div> + </div> + </div> + <div class="report-wrap" :class="{loading}" id="pdfDom"> + <div style="position: relative;"> + <h6 style="text-align: center;font-size: 20px">标准实验报告</h6> + <el-button v-if="!loading" style="position: absolute;top: 0;right: 0;" size="mini" @click="editReport">{{editing ? '保存' : '编辑'}}</el-button> + </div> + + <div class="flex-center m-b-20 user_header"> + <p class="addhr_tag"></p> + <span style="font-size: 18px">基本信息</span> + </div> + + <div> + <el-table :data="infoData" class="info-table" stripe header-align="center"> + <el-table-column prop="userName" label="学生姓名" align="center"> + </el-table-column> + <el-table-column prop="workNumber" label="学生学号" align="center"> + </el-table-column> + <el-table-column prop="experimentalClassName" label="学生班级" align="center"> + <template slot-scope="scope"> + <template v-if="editing"> + <el-input v-model="form.experimentalClassName"></el-input> + </template> + <template v-else>{{form.experimentalClassName}}</template> + </template> + </el-table-column> + <el-table-column prop="instructor" label="指导老师" align="center"> + <template slot-scope="scope"> + <template v-if="editing"> + <el-input v-model="form.instructor"></el-input> + </template> + <template v-else>{{form.instructor}}</template> + </template> + </el-table-column> + <el-table-column prop="period" label="实验学时" align="center"> + <template slot-scope="scope"> + <template v-if="editing"> + <el-input v-model="form.period"></el-input> + </template> + <template v-else>{{form.period}}</template> + </template> + </el-table-column> + <el-table-column prop="submitTime" label="实验时间" align="center"></el-table-column> + <el-table-column prop="score" label="实验成绩" align="center"> + </el-table-column> + </el-table> + </div> + + <div class="m-b-20"> + <div class="meta-title-wrap"> + <p class="meta-title"><img src="@/assets/img/cup.png" alt=""> 实验项目名称</p> + </div> + <el-input v-model="form.proName" type="textarea" :disabled="!editing" rows="5"></el-input> + </div> + + <div class="m-b-20"> + <div class="meta-title-wrap"> + <p class="meta-title">实验目的</p> + </div> + <div class="pre-wrap" v-html="form.purpose"></div> + <!-- <el-input v-model="form.purpose" type="textarea" :disabled="!editing" rows="5"></el-input> --> + </div> + + <div class="m-b-20"> + <div class="meta-title-wrap"> + <p class="meta-title">实验数据</p> + </div> + <el-table :data="expData" class="table" stripe header-align="center"> + <el-table-column type="index" width="100" label="序号" align="center"> + <template slot-scope="scope"> + {{scope.$index + 1}} + </template> + </el-table-column> + <el-table-column prop="judgmentPointsName" label="任务名称" align="center"> + </el-table-column> + <el-table-column prop="userAnswer" label="学生答案"> + <template slot-scope="scope"> + <pre v-html="scope.row.userAnswer" style="white-space: pre-wrap"></pre> + </template> + </el-table-column> + <el-table-column prop="answer" label="参考答案"> + <template slot-scope="scope"> + <pre v-html="scope.row.answer" style="white-space: pre-wrap"></pre> + </template> + </el-table-column> + <el-table-column prop="codeScore" label="得分" align="center"></el-table-column> + </el-table> + </div> + + <div class="m-b-20"> + <div class="meta-title-wrap"> + <p class="meta-title">实验总结与体会</p> + </div> + <el-input type="textarea" v-model="form.summarize" rows="5" :disabled="!editing"></el-input> + </div> + </div> + </div> +</template> + +<script> + import { Loading } from 'element-ui' + import html2Canvas from 'html2canvas' + import JsPDF from 'jspdf' + import { mapState, mapActions } from 'vuex' + import util from '@/libs/util' + import Setting from '@/setting' + export default { + data (){ + return { + title: '实验报告', + form: { + analysis: '', + conclusion: '', + content: ``, + data: '', + purpose: ``, + experimentId: '', + experimentalClassName: '', + improvement: '', + laboratory: '', + period: '', + principle: ``, + proName: '', + score: 0, + step: ``, + submitTime: '', + summarize: '', + instructor: '', + userId: this.userId, + userName: '', + workNumber: '', + }, + type: this.$route.query.type, + id: this.$route.query.id, + recordId: this.$route.query.recordId, + reportId: this.$route.query.reportId, + infoData: [], + expData: [], + accountData: [], + showData: '1', + autograph: '1', + pages: 1, + ipVisible: false, + fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}], + conclusionOptions: [ + { + value: 1, + label: '结论符合预期' + } + ], + editing: false, + loadIns: null, + loading: false + } + }, + computed: { + ...mapState('user', [ + 'userId','studentId' + ]), + }, + mounted(){ + this.getData() + }, + methods: { + getData(){ + if(this.type){ + let data = { + recordId: this.id, + } + this.$get(this.api.queryVirtualReport,data).then(res => { + this.form = res.data.report + let expData = res.data.data + let form = this.form + let score = form.score + + if(expData){ + if(score){ + expData.map(n => { + if(n.isError){ + score -= n.codeScore + n.codeScore = 0 + } + }) + form.score = score + } + expData[0].answer = expData[0].answer.replace('<pre class="ql-syntax" spellcheck="false">','') + expData[0].answer = expData[0].answer.replace('</pre>','') + + this.expData = expData + } + this.infoData.push({ + workNumber: form.workNumber, + experimentalClassName: form.experimentalClassName, + instructor: form.instructor, + period: form.period, + laboratory: form.laboratory, + submitTime: form.submitTime, + score: form.score, + userName: form.userName + }) + }).catch(res => {}); + }else{ + let data = { + studentId: this.studentId, + projectId: this.id, + recordId: this.recordId, + reportId: this.reportId + } + this.$get(this.api.queryArchievement,data).then(res => { + this.form = res.data.report ? res.data.report : {} + let expData = res.data.data + let form = this.form + let score = form.score + + if(expData){ + if(score){ + expData.map(n => { + if(n.isError){ + score -= n.codeScore + n.codeScore = 0 + } + }) + form.score = score + } + + this.expData = expData + } + this.infoData.push({ + workNumber: form.workNumber, + experimentalClassName: form.experimentalClassName, + instructor: form.instructor, + period: form.period, + laboratory: form.laboratory, + submitTime: form.submitTime, + score: form.score, + userName: form.userName + }) + }).catch(res => {}); + } + }, + handleRemove(file, fileList) { + console.log(file, fileList); + }, + handlePreview(file) { + console.log(file); + }, + saveAdd(){ + let data = { + systemId: this.configId, + systemName: this.form.systemName, + systemType: this.form.systemType, + systemAttribution: this.form.systemAttribution, + } + if(this.configId){ + this.$post(this.api.updateServiceConfig,data).then((res) => { + util.successMsg('编辑成功'); + this.goBack() + }).catch((res) => { + }) + }else{ + this.$post(this.api.updateServiceConfig,data).then((res) => { + util.successMsg('添加成功'); + this.goBack() + }).catch((res) => { + }) + } + }, + handleRemove(file, fileList) { + console.log(file, fileList); + }, + handlePictureCardPreview(file) { + this.dialogImageUrl = file.url; + this.dialogVisible = true; + }, + SpanMethod({ row, column, rowIndex, columnIndex }) { + if (rowIndex % 2 === 0) { + if (columnIndex === 6) { + if(!row.Intranet){ + return [1, 2]; + } + } + // else if (columnIndex === 1) { + // return [0, 0]; + // } + } + }, + goBack(){ + this.$router.go(-1) + }, + exportPage(){ + document.querySelector('body').setAttribute('style', 'overflow: visible') + this.loading = true + this.loadIns = Loading.service({ + background: 'rgba(255,255,255,.6)' + }) + document.querySelector('#pdfDom').scrollTop = 0 + var title = this.title; + let dom = document.querySelector('#pdfDom') + setTimeout(() => { + html2Canvas(dom, { + height: dom.scrollHeight, + allowTaint: true, + }).then((canvas) => { + let contentWidth = canvas.width + let contentHeight = canvas.height + let pageHeight = contentWidth / 592.28 * 841.89 + let leftHeight = contentHeight + let position = 0 + let imgWidth = 595.28 + let imgHeight = 592.28 / contentWidth * contentHeight + let pageData = canvas.toDataURL('image/jpeg', 1.0) + let PDF = new JsPDF('', 'pt', 'a4') + if (leftHeight < pageHeight) { + PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight) + } else { + while (leftHeight > 0) { + PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight) + leftHeight -= pageHeight + position -= 841.89 + if (leftHeight > 0) { + PDF.addPage() + } + } + } + this.loadIns.close() + this.loading = false + document.querySelector('body').setAttribute('style', 'overflow: hidden') + PDF.save(title + '.pdf') + } + ) + },1000) + }, + editReport(){ + if(this.editing){ + let data = { + period: this.form.period, + proName: this.form.proName, + purpose: this.form.purpose, + summarize: this.form.summarize, + instructor: this.form.instructor, + reportId: Number(this.reportId), + experimentalClassName: this.form.experimentalClassName + } + this.$post(`${this.api.modifyReport}`,data) + .then(res => { + this.editing = false + util.successMsg('修改成功') + console.log(11,this.form) + }).catch(err => {}) + }else{ + this.editing = true + } + } + } + } +</script> + +<style lang="scss" scoped> + .box{ + background-color: #fff; + } + .exp-header{ + padding: 20px 100px; + box-shadow:0px 0px 25px 2px rgba(48,115,248,0.14); + z-index: 999; + margin-top: 2px; + } + /deep/.el-textarea.is-disabled .el-textarea__inner{ + color: #777; + background-color: #e5dfff; + } + #pdfDom{ + height: calc(100vh - 170px); + overflow: auto; + padding: 30px 100px; + box-sizing: border-box; + &.loading{ + height: auto; + overflow: visible; + } + /deep/.info-table{ + margin-bottom: 40px; + border: 0; + th{ + background-color: #fff !important; + .cell{ + color: #444; + } + } + tr{ + border: 0; + } + tr:hover,tr:hover>td{ + background-color: #e5dfff !important; + } + td{ + border: { + left: 4px solid #fff; + right: 4px solid #fff; + } + &:first-child{ + border-left: 0; + } + &:last-child{ + border-right: 0; + } + background-color: #e5dfff; + border-bottom: 0; + } + } + /deep/.table th{ + background-color: #e1eaff !important; + .cell{ + color: #555555; + } + } + } + .pre-wrap{ + min-height: 117px; + padding: 5px 15px; + color: #777; + background-color: #e5dfff; + } + + /deep/.cell{ + font-size: 12px; + } + // /deep/.el-row{ + // // padding-top: 20px; + // margin: 0 !important; + // } + .form-item{ + display: flex; + align-items: center; + } + .form-item .el-input{ + width: auto; + } + .form-item span{ + margin-right: 10px; + } + .meta-title-wrap{ + display: flex; + justify-content: space-between; + align-items: center; + span{ + font-size: 13px; + color: #444; + } + } + .flex-between{ + span{ + font-size: 13px; + color: #444; + } + } + .meta-title{ + display: flex; + align-items: center; + padding: 10px 20px; + margin-bottom: 10px; + font-size: 16px; + color: #fff; + background-color: #9278ff; + img{ + width: 20px; + margin-right: 10px; + } + } + .step-title{ + margin-bottom: 10px; + font-size: 16px; + color: #9278ff; + } + .bd-title{ + padding-top: 20px; + border-top: 1px dashed #ccc; + } +</style> \ No newline at end of file diff --git a/src/pages/setting/person/index.vue b/src/pages/setting/person/index.vue new file mode 100644 index 0000000..09ce200 --- /dev/null +++ b/src/pages/setting/person/index.vue @@ -0,0 +1,1360 @@ +<template> + <div class="wrap"> + <!-- 头像部分 --> + <div class="header"> + <el-avatar :size="80" :src="this.avatar" class="Headtop"></el-avatar> + <div style="color:#9278FF;font-size:14px;font-family:MicrosoftYaHei;margin-top:5px;"> + <el-upload + class="upload-demo" + :action="this.api.uploadUserAvatars" + :data="{userId: this.userId}" + name="file" + :limit="3" + :on-success="getRes" + > + <div>点击更改头像</div> + </el-upload> + </div> + </div> + + <!-- 用户信息 --> + <div class="card" style="margin-top: -65px"> + <p class="block-title" style="display: flex;justify-content: space-between;align-items: center;"> + <span><img src="@/assets/img/person/user.png" alt=""> 用户信息</span> + <el-button type="primary" size="small" @click="save">更新资料</el-button> + </p> + <p class="meta-title"> + <span>个人信息</span> + </p> + <div class="information"> + <div class="line"> + <div class="item"> + <span>姓名</span> + <input id="username" class="username" placeholder="请输入姓名" type="text" v-model="personalInformation.userName"/> + <!-- <label for="username"> + <i class="el-icon-edit"></i> + </label> --> + </div> + <div class="item"> + <span>所在国家</span> + <el-select + v-model="personalInformation.countries" + placeholder + > + <el-option + v-for="item in countryList" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </div> + </div> + <div class="line"> + <div class="item"> + <span>性别</span> + <div class="sexRadio"> + <el-radio v-model="personalInformation.sex" :label="1">男</el-radio> + <el-radio v-model="personalInformation.sex" :label="2">女</el-radio> + </div> + <!-- <el-select + v-model="personalInformation.sex" + placeholder + > + <el-option + v-for="item in sexList" + :key="item.value" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> --> + </div> + <div class="item"> + <span>所在地</span> + <div class="selects"> + <el-select + v-model="personalInformation.countries" + placeholder + > + <el-option + v-for="item in countryList" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + <el-select + v-model="personalInformation.provinceId" + placeholder + @change="id => getCity(id,1)" + > + <el-option + v-for="item in provinceList" + :key="item.provinceId" + :label="item.provinceName" + :value="item.provinceId" + ></el-option> + </el-select> + <el-select + v-model="personalInformation.cityId" + placeholder + :disabled="personalInformation.provinceId ? false : true" + > + <el-option + v-for="item in cityList" + :key="item.cityId" + :label="item.cityName" + :value="item.cityId" + ></el-option> + </el-select> + </div> + </div> + </div> + <div class="line"> + <div class="item"> + <span>出生年月日</span> + <el-date-picker + v-model="personalInformation.dateBirth" + :clearable="false" + class="block-right" + type="date"> + </el-date-picker> + </div> + <div class="item"> + <span>证件</span> + <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" id="idnumber" class="idnumber" placeholder="请输入证件" type="text" v-model="personalInformation.idNumber"/> + </div> + </div> + <div class="line"> + <div class="item"> + <span>教育程度</span> + <el-select + v-model="personalInformation.educationDegree" + placeholder="请选择教育程度" + > + <el-option + v-for="(item,index) in educationDegreeList" + :key="index" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> + </div> + <div class="item"> + <span>当前所在学校</span> + <input id="schoolName" class="school" disabled placeholder="所在学校" type="text" v-model="personalInformation.schoolName"/> + </div> + </div> + + <!-- 个人档案 --> + <p class="meta-title plus"> + <span>个人档案</span> + <el-button type="text" icon="el-icon-plus" @click="addArch">新增</el-button> + </p> + </div> + + <div class="information" style="margin-top: 20px;"> + <div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch"> + <div class="line"> + <div class="item"> + <span>职业</span> + <el-select + v-model="archive.personalCareerId" + placeholder="选择职业" + > + <el-option + v-for="item in occupationList" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </div> + <div class="item"> + <span>国家</span> + <el-select + v-model="personalInformation.countries" + placeholder + > + <el-option + v-for="item in countryList" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </div> + </div> + <div class="line"> + <div class="item"> + <span>学校名称</span> + <el-select + v-model="archive.schoolId" + filterable + placeholder="选择学校" + @change="id => getSchoolName(id,index)" + > + <el-option + v-for="item in schoolList" + :key="item.value" + :label="item.schoolName" + :value="item.schoolId" + ></el-option> + </el-select> + </div> + <div class="item"> + <span>专业学科</span> + <el-select + v-model="archive.disciplineId" + placeholder="选择专业学科" + @change="id => getItemProfessionalClass(id,index)" + @clear="() => clearItemClass(index)" + > + <el-option + v-for="item in subjectList" + :key="item.value" + :label="item.disciplineName" + :value="item.disciplineId" + ></el-option> + </el-select> + </div> + </div> + <div class="line"> + <div class="item"> + <span>专业类</span> + <el-select + v-model="archive.professionalClassId" + placeholder="选择专业类" + :disabled="archive.disciplineId ? false : true" + @change="id => getItemProfessional(id,index)" + @clear="() => clearItemProfess(index)" + > + <el-option + v-for="item in archive.ProfessionalClassList" + :key="item.professionalClassId" + :label="item.professionalClassName" + :value="item.professionalClassId" + ></el-option> + </el-select> + </div> + <div class="item"> + <span>专业</span> + <el-select + v-model="archive.professionalId" + placeholder="选择专业" + :disabled="archive.professionalClassId ? false : true" + @change="getItemStuGrade" + > + <el-option + v-for="item in archive.ProfessionalList" + :key="item.professionalId" + :label="item.professionalName" + :value="item.professionalId" + ></el-option> + </el-select> + </div> + </div> + </div> + </div> + + <div class="fold" v-if="archivesList.length > 1"> + <img :class="{ 'arrowTransform': showArch, 'arrowTransformReturn': !showArch}" style="width: 21px;height: 17px;" src="@/assets/img/open.png" alt="" @click="foldArch"> + </div> + </div> + + <div class="card mgb20"> + <p class="block-title" style="margin-bottom: 15px"> + <span><img src="@/assets/img/person/manag.png" alt=""> 账号信息</span> + </p> + <div class="information"> + <div class="line"> + <div class="item"> + <span>用户账号</span> + <input + id="account" + type="text" + class="username" placeholder="请输入用户账号" + v-model="personalInformation.account" + /> + </div> + <div class="item"> + <span>手机号</span> + <div class="btns flex-between"> + <span>{{personalInformation.phone}}</span> + <el-button v-if="personalInformation.phone" type="primary" size="small" @click="bindPhone">更换</el-button> + <el-button v-else type="primary" size="small" @click="bindPhone">绑定</el-button> + </div> + </div> + </div> + <div class="line"> + <div class="item"> + <span>邮箱</span> + <div class="btns flex-between"> + <span>{{personalInformation.email}}</span> + <el-button v-if="personalInformation.email" type="primary" size="small" @click="bindEmail">更换</el-button> + <el-button v-else type="primary" size="small" @click="bindEmail">绑定</el-button> + </div> + </div> + <!-- <div class="item"> + <span>微信</span> + <input id="weChat" class="weChat" disabled placeholder="微信" type="text" v-model="personalInformation.weChatID"/> + </div> --> + <div class="item"> + <span>密码</span> + <div class="btns flex-between"> + <p>******</p> + <el-button type="primary" size="small" @click="bindPassword">更换</el-button> + </div> + </div> + <!-- <div class="item"></div> --> + </div> + </div> + </div> + + <el-dialog + :title="personalInformation.email ? '更换邮箱' : '绑定邮箱'" + :visible.sync="emailVisible" + :close-on-click-modal="false" + @close="closeEmail" + width="30%"> + <el-form ref="form" :model="form" label-width="60px"> + <el-form-item label="邮箱"> + <el-input placeholder="请输入邮箱" v-model="email"></el-input> + </el-form-item> + <el-form-item label="验证码"> + <div class="flex-between"> + <el-input v-model="emailCode" placeholder="请输入验证码" maxlength="6"></el-input> + <el-button style="margin-left: 10px" type="text" @click="sendEmailCode" :disabled="emailDisabled">{{emailBtnText}}</el-button> + </div> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="emailVisible = false">取 消</el-button> + <el-button type="primary" @click="emailSubmit">确 定</el-button> + </span> + </el-dialog> + + <el-dialog + :title="personalInformation.phone ? '更换手机号' : '绑定手机号'" + :visible.sync="phoneVisible" + :close-on-click-modal="false" + @close="closePhone" + width="30%"> + <el-form ref="form" :model="form" label-width="60px"> + <el-form-item label="手机号"> + <el-input placeholder="请输入手机号" v-model="phone" maxlength="11"></el-input> + </el-form-item> + <el-form-item label="验证码"> + <div class="flex-between"> + <el-input v-model="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input> + <el-button style="margin-left: 10px" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{phoneBtnText}}</el-button> + </div> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="phoneVisible = false">取 消</el-button> + <el-button type="primary" @click="phoneSubmit">确 定</el-button> + </span> + </el-dialog> + + <el-dialog + title="更换密码" + :visible.sync="passwordVisible" + :close-on-click-modal="false" + @close="closePassword" + width="30%"> + <el-form ref="passwordForm" :model="form" label-width="60px"> + <el-form-item label="原密码"> + <el-input type="password" v-model="passwordForm.password" placeholder="请输入原密码"></el-input> + </el-form-item> + <el-form-item label="新密码"> + <el-input type="password" v-model="passwordForm.newPassword" placeholder="请输入新密码" @keyup.enter.native="editPassword"></el-input> + </el-form-item> + <el-form-item label="新密码"> + <el-input type="password" v-model="passwordForm.reNewPassword" placeholder="请确认新密码" @keyup.enter.native="editPassword"></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="passwordVisible = false">取 消</el-button> + <el-button type="primary" @click="editPassword">确 定</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import Setting from '@/setting' +import util from '@/libs/util' +import { mapState, mapActions } from 'vuex' +export default { + data() { + return { + personalInformation: { + userName: '', + name:'', + workNumber:'', + password:"", + phone:'', + email:'', + provinceName:'', + cityName:'', + schoolName:'', + professionalName:'', + experimentName:'', + sex: 1, + dateBirth: '', + educationDegree: '' + }, + profession: [ + { + value: '1', + label: '学生' + }, + { + value: '2', + label: '老师' + } + ], + emailVisible: false, + passwordVisible: false, + phoneVisible: false, + showArch: false, + passwordForm: { + password: '', + newPassword: '', + reNewPassword: '' + }, + sexList: [ + { + name: '男', + value: 1 + }, + { + name: '女', + value: 2 + } + ], + countryList: [ + { + label: '中国' + } + ], + form: {}, + occupationList: [{ + value: 1, + label: '学生' + }, + { + value: 2, + label: '老师' + }], + provinceList: [], + cityList: [], + // 教育程度 + educationDegreeList: [ + { + name: '专科', + value: 1 + }, + { + name: '本科', + value: 2 + }, + { + name: '硕士', + value: 3 + }, + { + name: '博士', + value: 4 + }, + { + name: '其他', + value: 5 + } + ], + subjectList: [], //专业学科 + ProfessionalClassList: [], //专业类 + ProfessionalList: [], //专业 + schoolList: [], + + archivesList: [], + archivesForm: { + //个人档案 + personalCareerId: '', //职业 + schoolId: '', //院校 + schoolName: '', //院校名称 + professionalClassId: '', //专业类 + professionalClassName: '', //专业类名称 + disciplineId: '', //专业学科 + disciplineName: '', //专业学科名称 + professionalId: '', //专业 + professionalName: '', //专业名称 + userId: this.userId + }, + email: '', + emailBtnText: '发送验证码', + emailCode: '', + emailDisabled: false, + emailTimer: null, + phone: '', + phoneBtnText: '发送验证码', + phoneCode: '', + phoneDisabled: false, + phoneTimer: null, + emailOpener: '', + phoneOpener: '', + originAccount: '', + accountReapeat: false + }; + }, + computed: { + ...mapState('user', [ + 'userId','avatar' + ]), + }, + mounted() { + this.getdata(); + this.getProvince() + this.getSchoolData() + this.getSubject() + + }, + methods: { + ...mapActions('user', [ + 'setAvatar','setUserName' + ]), + getProvince(){ + this.$get(this.api.queryProvince).then(res => { + this.provinceList = res.message + }).catch(res => {}); + }, + // 获取城市 + getCity(id,type,index){ + if(type == 1){ + if(this.personalInformation.provinceId){ + this.personalInformation.cityId = 1 + this.getCityData(type,index) + } + }else{ + if(this.archivesList[index].provinceId){ + this.archivesList[index].provinceName = this.provinceList[id-1].provinceName + this.archivesList[index].cityId = 1 + this.getCityData(type,index) + } + } + }, + getCityData(type,index){ + let provinceId = type == 1 ? this.personalInformation.provinceId : this.archivesList[index].provinceId + this.$get(this.api.queryCity,{provinceId}).then(res => { + if(type == 1){ + this.cityList = res.message + }else{ + this.archivesList[index].cityList = res.message + } + }).catch(res => {}); + }, + getCityName(id,index){ + this.archivesList[index].cityName = this.archivesList[index].cityList[id-1].cityName + }, + getSchoolName(id,index){ + this.archivesList[index].schoolName = this.schoolList[id-1].schoolName + }, + // 获取学校名称 + getSchoolData(){ + this.$get(this.api.querySchoolData,{schoolName: '',provinceId: '',cityId: ''}).then(res => { + this.schoolList = res.message + }).catch(res => {}); + }, + //取得头像地址 + getRes(res) { + this.setAvatar(res.message) + }, + uploadHeadImg: function() { + this.$el.querySelector('.hiddenInput').click(); + }, + async accountChange(){ + if(this.originAccount != this.personalInformation.account){ + let res = await this.$get(this.api.queryAccountIsExist, { + account: this.personalInformation.account, + schoolId: this.personalInformation.schoolId + }); + if(res.message.user.length){ + util.warningMsg('该账号已存在'); + this.accountReapeat = true + }else{ + this.accountReapeat = false + } + }else{ + this.accountReapeat = false + } + }, + getdata() { + this.$get(`${this.api.userinfo}/${this.userId}`) + .then(res => { + this.personalInformation = Object.assign(this.personalInformation,res.data.userInfo[0]) + this.personalInformation.idNumber = this.personalInformation.IDNumber + this.originAccount = this.personalInformation.account + this.archivesList = res.data.userPersonalFile + this.$nextTick(() => { + if(this.personalInformation.provinceId){ + this.getCityData(1) + } + if(this.archivesList.length != 0){ + this.archivesList.forEach((e,k) =>{ + this.$set(e, 'subjectList', this.subjectList); + this.$set(e, 'disciplineId', e.disciplineId ? e.disciplineId : ''); + this.$set(e, 'disciplineName', e.disciplineName ? e.disciplineName : ''); + this.$set(e, 'professionalClassId', e.professionalClassId ? e.professionalClassId : ''); + this.$set(e, 'professionalClassName', e.professionalClassName ? e.professionalClassName : ''); + this.$set(e, 'professionalId', e.professionalId ? e.professionalId : ''); + this.$set(e, 'professionalName', e.professionalName ? e.professionalName : ''); + this.$set(e, 'schoolId', e.schoolId ? e.schoolId : ''); + this.$set(e, 'schoolName', e.schoolName ? e.schoolName : ''); + + if(e.disciplineId){ + this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: e.disciplineId }).then(res => { + this.$set(e, 'ProfessionalClassList', res.message); + }).catch(res => {}); + }else{ + this.$set(e, 'ProfessionalClassList', []); + } + if(e.professionalClassId){ + this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => { + this.$set(e, 'ProfessionalList', res.message); + }).catch(res => {}); + }else{ + this.$set(e, 'ProfessionalList', []); + } + // if(e.provinceId){ + // this.$get(this.api.queryCity,{provinceId: e.provinceId}).then(res => { + // this.$set(e, 'cityList', res.message); + // }).catch(res => {}); + // }else{ + // this.$set(e, 'cityList', []); + // } + }) + }else{ + this.concatArch(1) + } + }) + }) + .catch(err => { + console.log(err); + }); + }, + concatArch(isLoadData) { + this.archivesList = this.archivesList.concat({ + isNew: true, + personalCareerId: '', //职业 + schoolId: '', //院校 + schoolName: '', //院校名称 + subjectList: this.subjectList, //专业学科 + disciplineId: '', //专业学科 + disciplineName: '', //专业学科名称 + ProfessionalClassList: [], //专业类 + professionalClassId: '', //专业类 + professionalClassName: '', //专业类名称 + ProfessionalList: [], //专业 + professionalId: '', //专业 + professionalName: '', //专业名称 + userId: this.userId, + personalFileId: '' + }) + if(!isLoadData){ + this.$nextTick(() => { + document.body.scrollTop = document.querySelector('.content-box').scrollHeight + document.documentElement.scrollTop = document.querySelector('.content-box').scrollHeight + }) + } + }, + addArch() { + let isEmpty = false + this.archivesList.forEach((n,k) => { + if(!n.personalCareerId) isEmpty = true + }) + if(isEmpty) return util.warningMsg('请选择职业'); + this.showArch = true + this.concatArch() + }, + bindEmail() { + this.email = this.personalInformation.email + this.emailVisible = true + }, + bindPhone() { + this.phone = this.personalInformation.phone + this.phoneVisible = true + }, + bindPassword() { + this.passwordVisible = true + }, + editPassword() { + if(!this.passwordForm.password) return util.warningMsg('请输入原密码') + if(!this.passwordForm.newPassword) return util.warningMsg('请输入新密码') + if(!this.passwordForm.reNewPassword) return util.warningMsg('请确认新密码') + if(this.passwordForm.newPassword.length < 6 || this.passwordForm.reNewPassword.length < 6) return util.warningMsg('请输入6位数以上的密码') + if(this.passwordForm.newPassword !== this.passwordForm.reNewPassword) return util.warningMsg('输入的新密码不一致,请重新确认') + if(this.passwordForm.password === this.passwordForm.newPassword) return util.warningMsg('原密码跟新密码不能一致') + + let data = this.passwordForm + data.userid = this.userId + this.$post(this.api.examinePassword,data) + .then(res => { + if(res.errmessage == 'success'){ + util.successMsg('更换成功') + this.passwordVisible = false + } + }) + .catch(err => { + console.log(err); + }); + }, + closePassword() { + this.passwordForm = { + password: '', + newPassword: '', + reNewPassword: '' + } + }, + foldArch() { + this.showArch = !this.showArch + // this.$nextTick(() => { + // document.body.scrollTop = document.querySelector('.content-box').scrollHeight + // document.documentElement.scrollTop = document.querySelector('.content-box').scrollHeight + // }) + }, + // 获取学科类别 + getSubject(){ + this.$get(this.api.queryCourseDiscipline).then(res => { + this.subjectList = res.message + }).catch(res => {}); + }, + // 清除学科类别 + clearClass(){ + this.archivesForm.professionalClassId = '', + this.archivesForm.professionalId = '' + }, + // 获取专业类 + getProfessionalClass(val){ + this.clearClass() + if(val){ + let obj = {}; + obj = this.subjectList.find((item)=>{ + return item.disciplineId === val; + }); + this.archivesForm.disciplineName = obj.disciplineName + this.getProfessionalClassData(val) + } + }, + clearItemClass(index){ + this.archivesList[index].professionalClassId = '' + this.archivesList[index].professionalClassName = '' + this.archivesList[index].professionalId = '' + this.archivesList[index].professionalName = '' + // this.archivesList.map(e =>{ + // if(e.disciplineId == item){ + // e.professionalClassId = '', + // e.professionalClassName = '', + // e.professionalId = '', + // e.professionalName = '' + // } + // }) + }, + getItemProfessionalClass(item,index){ + this.clearItemClass(index) + if(item){ + let obj = {}; + obj = this.subjectList.find(r =>{ + return r.disciplineId === item; + }); + this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: item }).then(res => { + this.archivesList.map(e =>{ + if(e.disciplineId == item){ + e.ProfessionalClassList = res.message + e.disciplineName = obj.disciplineName + } + }) + }).catch(res => {}); + } + }, + getProfessionalClassData(value){ + this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: value }).then(res => { + this.ProfessionalClassList = res.message + }).catch(res => {}); + }, + // 清除专业类 + clearProfess(){ + this.archivesForm.professionalId = '' + }, + // 获取专业 + getProfessional(val){ + this.clearProfess() + if(val){ + let obj = {}; + obj = this.ProfessionalClassList.find((item)=>{ + return item.professionalClassId === val; + }); + this.archivesForm.professionalClassName = obj.professionalClassName + this.getProfessionalData(val) + } + }, + clearItemProfess(index){ + this.archivesList[index].professionalId = '' + this.archivesList[index].professionalName = '' + // this.archivesList.map(e =>{ + // if(e.professionalClassId == item){ + // e.professionalId = '', + // e.professionalName = '' + // } + // }) + }, + getItemProfessional(item,index){ + this.clearItemProfess(index) + if(item){ + this.$get(this.api.queryCourseProfessional,{ professionalClassId: item }).then(res => { + this.archivesList.map(e =>{ + if(e.professionalClassId == item){ + let obj = {}; + obj = e.ProfessionalClassList.find(r =>{ + return r.professionalClassId === item; + }); + e.ProfessionalList = res.message + e.professionalClassName = obj.professionalClassName + } + }) + }).catch(res => {}); + } + }, + getProfessionalData(value){ + this.$get(this.api.queryCourseProfessional,{professionalClassId: value}).then(res => { + this.ProfessionalList = res.message + }).catch(res => {}); + }, + // 获取专业名称 + getStuGrade(val){ + if(val){ + let obj = {}; + obj = this.ProfessionalList.find(r =>{ + return r.professionalId === val; + }); + this.archivesForm.professionalName = obj.professionalName + } + }, + getItemStuGrade(item){ + if(item){ + this.archivesList.map(e =>{ + if(e.professionalId == item){ + let obj = {}; + obj = e.ProfessionalList.find(r =>{ + return r.professionalId === item; + }); + e.professionalName = obj.professionalName + } + }) + } + }, + save() { + let isEmpty = false + this.archivesList.forEach((n,k) => { + if(!n.personalCareerId) isEmpty = true + n.userId = this.userId + }) + if(isEmpty) return util.warningMsg('请选择职业') + if(this.accountReapeat) return util.warningMsg('该账号已存在') + if(this.personalInformation.idNumber && !/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/.test(this.personalInformation.idNumber)) return util.warningMsg('请输入正确的证件号码') + let personalInformation = this.personalInformation + let userInfoEntity = { + idNumber: personalInformation.idNumber, + account: personalInformation.account, + cityId: personalInformation.cityId, + countries: personalInformation.countries, + dateBirth: personalInformation.dateBirth, + educationDegree: personalInformation.educationDegree, + email: personalInformation.email, + phone: personalInformation.phone, + provinceId: personalInformation.provinceId, + schoolId: personalInformation.schoolId, + sex: personalInformation.sex, + userId: this.userId, + userName: personalInformation.userName, + weChatID: personalInformation.weChatID, + } + let personalFileEntities = [] + this.archivesList.forEach((n,k) => { + personalFileEntities.push({ + cityId: n.cityId, + cityName: n.cityName, + disciplineId: n.disciplineId, + disciplineName: n.disciplineName, + personalCareerId: n.personalCareerId, + personalFileId: n.personalFileId, + professionalClassId: n.professionalClassId, + professionalClassName: n.professionalClassName, + professionalId: n.professionalId, + professionalName: n.professionalName, + provinceId: n.provinceId, + provinceName: n.provinceName, + schoolId: n.schoolId, + schoolName: n.schoolName, + userId: this.userId + }) + }) + let data = { + userInfoEntity, + personalFileEntities + } + this.$put(this.api.userinfoUpdate,data).then(res => { + this.setUserName(personalInformation.userName) + // bus.$emit('updateAccount',personalInformation.userName) + util.successMsg('提交成功!') + }).catch(res => {}); + }, + emailCountdown(){ + let count = 60 + if(!this.emailTimer){ + this.emailDisabled = true + this.emailTimer = setInterval(() => { + console.log('倒计时中') + if(count > 0){ + count-- + this.emailBtnText = `${count}秒后重试` + }else{ + this.emailDisabled = false + clearInterval(this.emailTimer) + this.emailTimer = null + this.emailBtnText = `发送验证码` + } + },1000) + } + }, + phoneCountdown(){ + let count = 60 + if(!this.phoneTimer){ + this.phoneDisabled = true + this.phoneTimer = setInterval(() => { + console.log('倒计时中') + if(count > 0){ + count-- + this.phoneBtnText = `${count}秒后重试` + }else{ + this.phoneDisabled = false + clearInterval(this.phoneTimer) + this.phoneTimer = null + this.phoneBtnText = `发送验证码` + } + },1000) + } + }, + closeEmail(){ + if(!this.emailDisabled){ + this.emailCode = '' + } + }, + sendEmailCode(){ + if(!this.email) return util.warningMsg('请输入邮箱') + if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') + let data = { + userId: this.userId, + email: this.email, + types: 1 + } + this.$post(this.api.sendEmailCode,data).then(res => { + if(res.errmessage == 'success'){ + this.emailCountdown() + this.emailOpener = res.data + } + }).catch(res => {}); + }, + emailSubmit(){ + if(!this.email) return util.warningMsg('请输入邮箱') + if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') + if(!this.emailCode) return util.warningMsg('请输入验证码') + let data = { + userId: this.userId, + email: this.email, + types: 1, + code: this.emailCode, + opener: this.emailOpener + } + this.$put(this.api.bingEmail,data).then(res => { + if(res.errmessage == 'success'){ + util.successMsg('绑定成功') + this.personalInformation.email = this.email + this.emailVisible = false + } + }).catch(res => {}); + }, + closePhone(){ + if(!this.emailDisabled){ + this.emailCode = '' + } + }, + sendPhoneCode(){ + if(!this.phone) return util.warningMsg('请输入手机号') + if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') + let data = { + userId: this.userId, + phone: this.phone, + types: 2 + } + this.$post(this.api.sendPhoneCode,data).then(res => { + if(res.errmessage == 'success'){ + this.phoneCountdown() + this.phoneOpener = res.data + } + }).catch(res => {}); + }, + phoneSubmit(){ + if(!this.phone) return util.warningMsg('请输入手机号') + if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') + if(!this.phoneCode) return util.warningMsg('请输入验证码') + let data = { + userId: this.userId, + phone: this.phone, + types: 2, + code: this.phoneCode, + opener: this.phoneOpener + } + this.$put(this.api.bindPhone,data).then(res => { + if(res.errmessage == 'success'){ + util.successMsg('绑定成功') + this.personalInformation.phone = this.phone + this.phoneVisible = false + } + }).catch(res => {}); + }, + } +}; +</script> + +<style lang="scss" scoped> +.arrowTransform{ + transition: 0.5s; + transform-origin: center; + transform: rotateZ(180deg); +} +.arrowTransformReturn{ + transition: 0.5s; + transform-origin: center; + transform: rotateZ(0deg); +} +.wrap{ + display:flex; + align-items: center; + flex-direction:column; + background: #f6f6f6 url(../../../assets/img/person/bg.png) 0 0/100% 500px no-repeat; +} +.header{ + z-index: 2; + padding-top: 170px; + background-color: transparent; +} +.header /deep/.el-upload-list__item-name { + display: none; +} + +.header /deep/.el-icon-upload-success{ + display: none; +} + +.header /deep/.el-upload-list__item-status-label{ + display: none; +} +.header /deep/ .el-upload-list{ + display: none; +} + +/deep/.el-input__inner{ + height: 32px !important; +} +/deep/.el-select .el-input .el-select__caret{ + line-height: 32px; +} +input:focus { + outline: 0; +} +.openfile { + cursor: pointer; +} +.Headtop { + margin-top: 10px; + + .head { + width: 34px; + height: 34px; + background: rgba(255, 255, 255, 1); + border-radius: 50%; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + position: relative; + .eee { + height: 10px; + width: 16px; + background-color: rgba(255, 255, 255, 1); + margin-bottom: -10px; + position: absolute; + top: 8px; + z-index: 2; + } + .Semicircle { + width: 12px; + height: 12px; + border: 2px solid #9278ff; + border-radius: 50px; + margin-bottom: 10px; + position: absolute; + } + } + .body { + color: #9278ff; + width: 30px; + height: 20px; + border: 3px solid #f5f5f5; + border-radius: 100%; + margin-top: 5px; + margin-bottom: -10px; + } + .body::after { + content: ''; + width: 40px; + height: 30px; + display: inline-block; + background-color: #9278ff; + margin-top: 8px; + margin-left: -6px; + } +} + +.card { + width: 1000px; + margin-top: 10px; + padding: 60px 100px; + background: rgba(255, 255, 255, 1); + box-shadow: 0px 0px 21px 0px rgba(48, 115, 248, 0.1); + border-radius: 4px; + position: relative; + box-sizing: border-box; + .block-title{ + span{ + display: inline-flex; + align-items: center; + color: #444; + font-size: 18px; + img{ + width: 20px; + margin-right: 5px; + } + } + + } + .meta-title{ + padding-left: 6px; + margin: 20px 0 10px 0; + line-height: 1; + border-left: 4px solid #9278ff; + span{ + font-size: 16px; + color: #9278ff; + } + /deep/ .el-button{ + padding: 0 0; + font-size: 16px; + color: #9278ff; + } + } + .el-icon-document { + color: #9278ff; + font-size: 30px; + } + .el-icon-collection { + color: #9278ff; + position: absolute; + left: 31px; + top: 31px; + font-size: 30px; + } + span { + color: #333333; + font-size: 20px; + } + .plus{ + display: flex; + justify-content: space-between; + i{ + font-size: 22px; + color: #21d749; + cursor: pointer; + } + } + .information { + .archives{ + padding: 15px; + margin-bottom: 20px; + border: 1px dashed #c9c9c9; + border-radius: 8px; + } + .line { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + .item{ + display: inline-flex; + align-items: center; + margin-bottom: 20px; + span{ + width: 90px; + margin-right: 15px; + text-align: right; + font-size: 15px; + color: #656565; + white-space: nowrap; + } + .username { + background:url('~@/assets/img/edit.png') no-repeat 10px center; + background-size: 16px 15px; + background-position: 98% 50%; + box-sizing: border-box; + } + .idnumber { + background:url('~@/assets/img/idcard.png') no-repeat 10px center; + background-size: 20px 16px; + background-position: 98% 50%; + box-sizing: border-box; + } + .school { + background: url('~@/assets/img/school.png') no-repeat; + background-size: 22px 17px; + background-position: 98% 50%; + box-sizing: border-box; + } + .weChat{ + background: url('~@/assets/img/bind.png') no-repeat; + background-size: 19px 18px; + background-position: 98% 50%; + box-sizing: border-box; + } + input { + height: 36px; + width: 260px; + color: #727272; + border: 0; + border-bottom: 1px solid #b5b5b5; + outline: none; + padding-left: 15px; + } + .read{ + width: 260px; + color: #727272; + } + .el-select,.btns{ + width: 260px; + } + .btns{ + display: inline-flex; + align-items: center; + border-bottom: 1px solid #b5b5b5; + padding: 5px 0; + } + .flex-end-content{ + justify-content: flex-end; + } + .selects{ + display: inline-flex; + align-items: center; + width: 260px; + .el-select{ + width: 100px; + font-size: 12px; + &:first-child{ + width: 82px; + } + } + } + } + /deep/.el-date-editor{ + width: 260px; + } + /deep/.el-date-editor .el-input__prefix{ + line-height: 32px; + } + /deep/.el-input__prefix,/deep/.el-input__suffix{ + left: auto; + right: 0; + } + /deep/.el-input__inner { + color: #656565; + font-size: 14px; + border-radius: 0 !important; + border: 0px; + border-bottom: 1px solid #b5b5b5; + } + /deep/.el-input--prefix .el-input__inner{ + padding-left: 15px; + } + /deep/.el-input__icon { + color: #9278ff; + &.el-icon-date{ + font-size: 14px; + &:before{ + content: ""; + background: url('~@/assets/img/date.png') center center no-repeat; + position: absolute; + width: 20px; + height: 18px; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } + } + /deep/.el-icon-arrow-up:before { + content: ""; + background: url('~@/assets/img/select.png') center center no-repeat; + position: absolute; + width: 12px; + height: 7px; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } + } + .fold{ + margin-top: 20px; + text-align: center; + i{ + font-size: 22px; + color: #8e8e8e; + cursor: pointer; + &:hover{ + opacity: .8; + } + } + } + .sexRadio /deep/ .el-radio__input.is-checked .el-radio__inner{ + border-color: #9278ff; + background: #9278ff; + } + .sexRadio /deep/ .el-radio__input.is-checked + .el-radio__label{ + color: #9278ff; + } + .sexRadio /deep/ .el-radio__inner:hover{ + border-color: #9278ff; + } + /deep/ input::-webkit-input-placeholder { + font-size: 14px; + color: #c0c0c0; + } + /deep/ input::-moz-input-placeholder { + font-size: 14px; + color: #c0c0c0; + } + /deep/ input::-ms-input-placeholder { + font-size: 14px; + color: #c0c0c0; + } +} +</style> \ No newline at end of file diff --git a/src/pages/station/list/index.vue b/src/pages/station/list/index.vue new file mode 100644 index 0000000..db39587 --- /dev/null +++ b/src/pages/station/list/index.vue @@ -0,0 +1,269 @@ +<template> + <div class="box"> + <div class="search"> + <input type="text" placeholder="请输入关键词" v-model="keyword"> + <button>搜索</button> + </div> + <div class="wrap" :class="isHh ? 'isHh' : (isBeta ? '' : 'isOccu')"> + <template v-for="(item,index) in systemList"> + <a class="item" @click="goSubSystem(item)" :key="index" v-if="!keyword || item.name.includes(keyword)"> + <img :src="item.imgSrc" alt=""> + <p class="text" v-html="item.name"></p> + </a> + </template> + </div> + </div> +</template> + +<script> +import { mapState, mapActions } from 'vuex' +import util from '@/libs/util' +import Setting from '@/setting' +export default { + name: 'backstage', + data() { + return { + host: Setting.host, + isHh: Setting.isHh, + isBeta: Setting.isBeta, + keyword: '', + searchTimer: null, + systemList: Setting.isHh ? [{ + id: 1, + imgSrc: require('@/assets/img/station1.png'), + name: 'Python程序设计<br>教学系统' + },{ + id: 4, + imgSrc: require('@/assets/img/station2.png'), + name: '经济金融建模<br>实验教学系统' + }, + { + id: 6, + imgSrc: require('@/assets/img/station8.png'), + name: '金融随机过程<br>实验教学系统' + },{ + id: 7, + imgSrc: require('@/assets/img/station9.png'), + name: '量化投资策略建模<br>实验教学系统' + },{ + id: 8, + imgSrc: require('@/assets/img/station10.png'), + name: '大数据分析<br>实验教学系统' + }] : (Setting.isBeta ? [{ + id: 1, + imgSrc: require('@/assets/img/station1.png'), + name: 'Python程序设计<br>教学系统' + },{ + id: 4, + imgSrc: require('@/assets/img/station2.png'), + name: '经济金融建模<br>实验教学系统' + },{ + id: 5, + imgSrc: require('@/assets/img/station3.png'), + name: 'Python可视化<br>实验教学系统' + },{ + id: 6, + imgSrc: require('@/assets/img/station8.png'), + name: '金融随机过程<br>实验教学系统' + },{ + id: 7, + imgSrc: require('@/assets/img/station9.png'), + name: '量化投资策略建模<br>实验教学系统' + },{ + id: 8, + imgSrc: require('@/assets/img/station10.png'), + name: '大数据分析<br>实验教学系统' + },{ + id: 9, + imgSrc: require('@/assets/img/station11.png'), + name: 'Python数据清洗<br>教学实验系统' + },{ + id: 10, + imgSrc: require('@/assets/img/station12.png'), + name: 'Python数据采集(爬虫)<br>教学实验系统' + },{ + id: 21, + imgSrc: require('@/assets/img/station4.png'), + name: '数字货币交易' + }, + { + id: 22, + imgSrc: require('@/assets/img/station6.png'), + name: '担保实训教学系统' + }, + + + // { + // imgSrc: require('@/assets/img/station5.png'), + // name: '小额贷款业务实训系统' + // }, + // { + // imgSrc: require('@/assets/img/station7.png'), + // name: '投资银行实验教学系统' + // }, + ] : [{ + id: 1, + imgSrc: require('@/assets/img/station1.png'), + name: 'Python程序设计<br>教学系统' + },{ + id: 4, + imgSrc: require('@/assets/img/station2.png'), + name: '经济金融建模<br>实验教学系统' + },{ + id: 5, + imgSrc: require('@/assets/img/station3.png'), + name: 'Python可视化<br>实验教学系统' + },{ + id: 6, + imgSrc: require('@/assets/img/station8.png'), + name: '金融随机过程<br>实验教学系统' + },{ + id: 7, + imgSrc: require('@/assets/img/station9.png'), + name: '量化投资策略建模<br>实验教学系统' + },{ + id: 8, + imgSrc: require('@/assets/img/station10.png'), + name: '大数据分析<br>实验教学系统' + },{ + id: 9, + imgSrc: require('@/assets/img/station11.png'), + name: 'Python数据清洗<br>教学实验系统' + },{ + id: 10, + imgSrc: require('@/assets/img/station12.png'), + name: 'Python数据采集(爬虫)<br>教学实验系统' + }]) + }; + }, + computed: { + ...mapState('user', [ + 'userId','schoolId','studentId','roleId','userName' + ]), + }, + mounted() { + util.getToken() + }, + methods: { + goSubSystem(item){ + let host = this.host + let href = '' + let roleId = this.roleId == 4 ? 0 : 1 + let userName = window.btoa(encodeURIComponent(this.userName)) + let type = item.id + if(type == 1){ + href = `${host}pyTrials/#/` + if(process.env.NODE_ENV === 'development') href = 'http://192.168.31.154:8080/' + }else if(type == 4){ + href = `${host}pyFinance/#/` + }else if(type == 5){ + href = `${host}pyProjects/#/` + }else if(type == 6){ + href = `${host}pyRandom/#/` + }else if(type == 7){ + href = `${host}pyQuantification/#/` + }else if(type == 8){ + href = `${host}pyAnalysis/#/` + }else if(type == 9){ + href = `${host}pyDataclean/#/` + }else if(type == 10){ + href = `${host}pyAcquisition/#/` + }else if(type == 21){ + window.open(`http://121.37.29.24:80/yyyflogin?userId=${this.userId}&userName=${userName}&userType=${roleId}&reqType=1&reqId=3989a0ad671849b99dcbdcc208782333&caseId=9681f86902314b10bc752909121f9ab9&authorization=87DIVy348Oxzj3ha&classId=1876&courserId=7ff5d4715b114b7398b6f26c20fac460`) + }else if(type == 22){ + window.open(`https://danbao.czcyedu.com/#/loginFromYyyf?userId=${this.userId}&userName=${userName}&userType=${roleId}&reqType=1&reqId=eb7d8355119d449184c548b07dc01ed9&caseId=1198241070647873538&authorization=87DIVy348Oxzj3ha&classId=1876&courserId=faaedd82adb9444285a5785e4a3dd4f9`) + } + + if(type != 21 && type != 22){ + util.cookies.set("userId",this.userId) + util.cookies.set("studentId",this.studentId) + util.cookies.set("schoolId",this.schoolId) + util.cookies.set("assessmentId",'',-1) + util.cookies.set("projectId",'',-1) + util.cookies.set("startTime",'',-1) + util.cookies.set("stopTime",'',-1) + location.href = href + } + }, + } +}; +</script> + +<style lang="scss" scoped> + .box{ + padding: 20px; + background-color: #fff; + } + /deep/.el-card{ + margin-bottom: 0; + } + .search{ + position: relative; + width: 30%; + margin: 100px auto 150px; + border-radius: 30px; + border: 1px solid #9076FF; + border-right: 0; + overflow: hidden; + input{ + width: 100%; + height: 44px; + line-height: 44px; + padding: 0 20px; + font-size: 14px; + color: #333; + border: 0; + outline: none !important; + box-sizing: border-box; + } + button{ + position: absolute; + top: 0; + right: 0; + padding: 0 20px; + line-height: 46px; + color: #fff; + background-color: #9076FF; + border: 0; + outline: none !important; + } + } + .wrap{ + display: flex; + flex-wrap: wrap; + width: 70%; + margin: 0 auto; + min-height: calc(100vh - 520px); + box-sizing: border-box; + + .item{ + width: 16%; + margin: 20px; + text-align: center; + cursor: pointer; + &:hover{ + opacity: .9; + } + img{ + width: 100px; + height: 100px; + margin: 0 auto 6px; + } + .text{ + font-size: 14px; + text-align: center; + color: #333; + } + } + &.isHh{ + .item{ + width: 16%; + } + } + &.isOccu{ + .item{ + width: 21%; + } + } + } +</style> \ No newline at end of file diff --git a/src/plugins/aliplayer/aliplayer-min.css b/src/plugins/aliplayer/aliplayer-min.css new file mode 100644 index 0000000..c3fac55 --- /dev/null +++ b/src/plugins/aliplayer/aliplayer-min.css @@ -0,0 +1 @@ +.prism-player .prism-big-play-btn{background:url(./img/bigplay.png) no-repeat;background-size:contain;width:64px;height:64px}.prism-player .prism-big-play-btn .outter{border:7px solid rgba(255,255,255,.51);width:64px;height:64px;border-radius:100%;position:absolute;box-sizing:border-box;top:0;left:0}.prism-player .prism-big-play-btn:hover{cursor:pointer}.prism-player .prism-play-btn{width:24px;height:24px;background:url(./img/smallplay.png) no-repeat;background-size:contain}.prism-player .prism-play-btn:hover{cursor:pointer}.prism-player .prism-live-display{font-size:12px;color:#ebecec;line-height:44px;text-align:center;margin:0}.prism-player .live-shift-display:hover{cursor:pointer;font-size:14px}.prism-player .prism-play-btn.playing{background:url(./img/smallpause.png) no-repeat;background-size:contain}.prism-player .prism-play-btn.playing:hover{cursor:pointer}.prism-player .prism-fullscreen-btn{width:24px;height:24px;background:url(./img/fullscreen.png) no-repeat;background-size:contain}.prism-player .prism-fullscreen-btn:hover{cursor:pointer}.prism-player .prism-fullscreen-btn.fullscreen{background:url(./img/smallscreen.png) no-repeat;background-size:contain}.prism-player .prism-fullscreen-btn.fullscreen:hover{animation:hoverAnimationScale 1s 1;-moz-animation:hoverAnimationScale 1s 1;-webkit-animation:hoverAnimationScale 1s 1;-o-animation:hoverAnimationScale 1s 1;cursor:pointer}.prism-player .prism-volume{position:relative}.prism-player .prism-volume .volume-icon{width:28px;height:28px;background:url(./img/volume.png);background-size:contain}.prism-player .prism-volume .volume-icon .long-horizontal{width:3px;background:#ebecec;height:18px;position:absolute;right:5px;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%)}.prism-player .prism-volume .volume-icon .short-horizontal{width:3px;background:#ebecec;height:8px;position:absolute;right:10px;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%)}.prism-player .prism-volume .volume-icon:hover{-ms-transform-origin:0 50%;transform-origin:0 50%;background-size:contain;cursor:pointer}.prism-player .prism-volume .mute .long-horizontal{-ms-transform:rotate(-45deg);transform:rotate(-45deg);height:12px;top:10px;left:22px}.prism-player .prism-volume .mute .short-horizontal{-ms-transform:rotate(45deg);transform:rotate(45deg);height:12px;top:10px;left:22px}.prism-player .prism-volume-control{position:absolute;bottom:44px;display:none;background:rgba(60,60,60,.95);box-shadow:0 0 6px 0 rgba(0,0,0,.1);width:32px;height:130px;z-index:10000}.prism-player .prism-volume-control .volume-control-icon{width:32px;height:32px;background:url(./img/unmutevolume.png) no-repeat;background-size:contain}.prism-player .prism-volume-control .volume-control-icon:hover{cursor:pointer;background:url(./img/volumehover.png) no-repeat;background-size:contain}.prism-player .prism-volume-control .volume-control-icon.mute{background:url(./img/volumemute.png) no-repeat;background-size:contain}.prism-player .prism-volume-control .volume-control-icon.mute:hover{background:url(./img/volumemutehover.png) no-repeat;background-size:contain;cursor:pointer}.prism-player .prism-volume-control:hover{cursor:pointer}.prism-player .prism-volume-control .volume-control-icon{position:absolute;bottom:6px;left:8px;width:26px;height:26px}.prism-player .prism-volume-control .volume-range{position:absolute;left:14px;bottom:10px;border-radius:1px;background:#6c6262;box-shadow:inset 1px 1px 1px 0 rgba(0,0,0,.06);width:4px;height:100px}.prism-player .prism-volume-control .volume-value{width:100%;height:0%;background:#30adf2;position:absolute;border-radius:1px;bottom:0}.prism-player .prism-volume-control .volume-cursor{position:absolute;bottom:0;background:#fff;width:15px;height:15px;border-radius:15px;left:-6px}.prism-player .prism-volume-control .volume-cursor:hover{background:#00c1de}.prism-player .prism-animation{width:64px;height:64px;border-radius:64px;opacity:0;position:absolute;left:50%;top:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.prism-player .prism-play-animation{background:url(./img/playanimation.png) no-repeat;background-size:contain}.prism-player .prism-pause-animation{background:url(./img/pauseanimation.png) no-repeat;background-size:contain}.prism-player .play-apply-animation{animation:prismplayanimation 1s 1;-moz-animation:prismplayanimation 1s 1;-webkit-animation:prismplayanimation 1s 1;-o-animation:prismplayanimation 1s 1;animation-fill-mode:both}@keyframes prismplayanimation{0%{width:32px;height:32px;border-radius:32px;opacity:0}50%{width:32px;height:32px;border-radius:32px;opacity:1}99%{width:76px;height:76px;border-radius:76px;opacity:0}100%{width:0;height:0}}@keyframes spinoffPulse{0%{transform:rotate(0);-webkit-transform:rotate(0);-moz-transform:rotate(0)}100%{transform:rotate(360deg);-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg)}}@keyframes hoverAnimationRotate{0%{transform:rotate(0);-webkit-transform:rotate(0);-moz-transform:rotate(0)}50%{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg)}100%{transform:rotate(0);-webkit-transform:rotate(0);-moz-transform:rotate(0)}}@keyframes hoverAnimationScale{0%{transform:scale(1);-webkit-transform:scale(1);-moz-transform:scale(1)}50%{transform:scale(1.2);-webkit-transform:scale(1.2);-moz-transform:scale(1.2)}100%{transform:scale(1);-webkit-transform:scale(1);-moz-transform:scale(1)}}@keyframes hoverAnimationScaleX{0%{transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1)}50%{transform:scaleX(1.2);-webkit-transform:scaleX(1.2);-moz-transform:scaleX(1.2)}100%{transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1)}}@keyframes hoverVolumeAnimation{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.volume-hover-animation{animation:hoverVolumeAnimation .3s 1;-moz-animation:hoverVolumeAnimation .3s 1;-webkit-animation:hoverVolumeAnimation .3s 1;-o-animation:hoverVolumeAnimation .3s 1}@keyframes hoverPlayButtonAnimation{0%{width:63px;height:63px;border:7px solid #fff}60%{width:90px;height:90px;border:7px solid rgba(255,255,255,.51)}100%{width:97px;height:97px;border:14px solid rgba(255,255,255,0)}}@keyframes warn{0%{transform:scale(1);opacity:0}25%{transform:scale(1);opacity:.1}50%{transform:scale(1.1);opacity:.3}75%{transform:scale(1.5);opacity:.5}100%{transform:scale(2);opacity:0}}.big-playbtn-hover-animation{animation:warn 1s ease-out;-moz-animation:warn 1s ease-out;-webkit-animation:warn 1s ease-out;-o-animation:warn 1s ease-out}.big-playbtn-hover-animation1{animation:hoverPlayButtonAnimation 1s 1;-moz-animation:hoverPlayButtonAnimation 1s 1;-webkit-animation:hoverPlayButtonAnimation 1s 1;-o-animation:hoverPlayButtonAnimation 1s 1}.prism-player{background-color:#000;position:relative}.prism-player a{text-decoration:none}.prism-player video{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform-origin:center;-moz-transform-origin:center;-webkit-transform-origin:center;-o-transform-origin:center}.prism-player .x5-full-screen{object-fit:fill;object-position:50% 50%}.prism-player .x5-top-left{object-fit:contain;object-position:0 0}.prism-player .prism-cover{width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;position:absolute;top:0;left:0;z-index:11}.prism-player .prism-ErrorMessage{width:100%;height:100%;background-color:#000;background-repeat:no-repeat;background-position:center;background-size:contain;position:absolute;z-index:99;top:0;left:0;overflow:hidden;display:none}.prism-player .prism-ErrorMessage .prism-error-content{margin-top:20px;padding:0 5px}.prism-player .prism-ErrorMessage .prism-error-content p{text-align:center;font-size:12px;color:#fff}.prism-player .prism-ErrorMessage .prism-error-operation{margin-top:10px;margin-bottom:10px;padding-bottom:5px;border-bottom:1.5px;border-bottom-color:rgba(255,255,255,.15);border-bottom-style:dotted;text-align:center}.prism-player .prism-ErrorMessage .prism-error-operation a{width:80px;height:32px;line-height:32px;vertical-align:top;display:inline-block;margin-left:10px}.prism-player .prism-ErrorMessage .prism-error-operation a.prism-button-refresh{color:#21c5e0;border:solid 1px #21c5e0}.prism-player .prism-ErrorMessage .prism-error-operation a.prism-button-refresh:hover{color:#05d3f5;border-color:#05d3f5;cursor:pointer}.prism-player .prism-ErrorMessage .prism-error-operation a.prism-button-refresh:active{color:#026a7b;border-color:#026a7b}.prism-player .prism-ErrorMessage .prism-error-operation .prism-button-orange:visited{color:#05d3f5}.prism-player .prism-ErrorMessage .prism-detect-info{color:#fff;font-size:10px}.prism-player .prism-ErrorMessage .prism-detect-info p{padding:0 5px;word-break:break-all;margin:0 0 4px}.prism-player .prism-ErrorMessage .prism-detect-info span.info-label{display:inline-block;font-weight:700}.prism-player .prism-ErrorMessage .prism-detect-info span.info-content{color:gray}.prism-player .prism-big-play-btn{display:none;z-index:1000}.prism-player .prism-controlbar{width:100%;height:44px;position:relative;z-index:10;font-size:14px}.prism-player .prism-controlbar .prism-controlbar-bg{background:rgba(75,75,75,.15);width:100%;height:40px;position:absolute;bottom:0;left:0;z-index:-1}.prism-player .prism-time-display{height:40px;line-height:40px;color:#a4aab3;font-size:12px}.prism-player .prism-time-display .current-time{color:#fff}.prism-player .prism-live-time-display{height:44px;line-height:44px;color:#a4aab3;font-size:12px}.prism-player .prism-live-time-display span{display:inline}.prism-player .prism-live-time-display .live-text{margin-left:5px;font-size:12px;color:#ebecec}.prism-player .prism-live-time-display .current-time{color:#fff}.prism-player .prism-fullscreen-btn:hover{animation:hoverAnimationScale 1s 1;-moz-animation:hoverAnimationScale 1s 1;-webkit-animation:hoverAnimationScale 1s 1;-o-animation:hoverAnimationScale 1s 1}.prism-player .prism-liveshift-progress,.prism-player .prism-progress{bottom:40px!important;width:100%;height:4px;background:rgba(195,197,198,.5);box-shadow:inset 1px 1px 1px 0 rgba(0,0,0,.06);position:relative;cursor:pointer}.prism-player .prism-liveshift-progress .prism-progress-time,.prism-player .prism-progress .prism-progress-time{position:absolute;top:-25px;background:rgba(0,0,0,.8);box-shadow:0 0 5px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.1);color:#fff;font-size:14px;border-radius:7.5px;padding:0 6px 0 6px;text-align:center;white-space:nowrap}.prism-player .prism-liveshift-progress .prism-progress-loaded,.prism-player .prism-progress .prism-progress-loaded{position:absolute;top:0;left:0;width:0;height:100%;background:#c3c5c6}.prism-player .prism-liveshift-progress .prism-progress-played,.prism-player .prism-progress .prism-progress-played{position:absolute;top:0;left:0;width:0;height:100%;background-color:#00c1de}.prism-player .prism-liveshift-progress .prism-progress-cursor,.prism-player .prism-progress .prism-progress-cursor{position:absolute;border-radius:8px;top:-5px;width:16px;height:16px;overflow:hidden;box-sizing:content-box;background:url(./img/dragcursorhover.png) center;display:none}.prism-player .prism-liveshift-progress .prism-progress-cursor img,.prism-player .prism-progress .prism-progress-cursor img{width:14px;height:14px;position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.prism-player .prism-liveshift-progress .cursor-hover,.prism-player .prism-progress .cursor-hover{border-radius:9px;width:18px;height:18px;top:-5px!important}.prism-player .prism-liveshift-progress .cursor-hover img,.prism-player .prism-progress .cursor-hover img{width:16px;height:16px}.prism-player .prism-liveshift-progress .prism-progress-marker,.prism-player .prism-progress .prism-progress-marker{width:100%;height:100%;position:absolute}.prism-player .prism-liveshift-progress .prism-progress-marker .prism-marker-dot,.prism-player .prism-progress .prism-progress-marker .prism-marker-dot{position:absolute;background:#d9edf7;width:5px;height:100%;border-radius:20%}.prism-player .prism-progress-hover{cursor:pointer;height:6px;transition:height .1s}.prism-player .prism-progress-hover .prism-marker-dot{width:10px;height:80%;top:8%;border-radius:30%}.prism-player .prism-progress-hover .prism-progress-cursor{top:-4px}.prism-player .prism-liveshift-progress{background:0 0}.prism-player .prism-liveshift-progress .prism-enable-liveshift{cursor:pointer;position:absolute;background:#fff;height:4px}.prism-player .prism-liveshift-progress .prism-enable-liveshift:hover{height:6px;transition:height .1s}.prism-player .prism-liveshift-progress .prism-liveshift-seperator{height:15px;position:absolute;right:0;top:-8px;color:#fff;margin-right:5px;margin-left:5px;right:-65px}.prism-player .prism-marker-text{padding:5px;background:rgba(0,0,0,.8);position:absolute;max-width:180px;max-height:100px;bottom:50px;color:#fff;border-radius:3px;z-index:9999;display:none;overflow:auto}.prism-player .prism-marker-text p{text-align:center;word-break:break-all;margin:0;font-size:12px}.prism-player .prism-loading{width:55px;height:55px;z-index:10}.prism-player .prism-loading .circle{background-color:rgba(0,0,0,0);border:5px solid;border-color:rgba(0,193,222,.2) rgba(0,193,222,.5) rgba(0,193,222,.7) rgba(0,193,222,.1);opacity:.9;border-radius:50px;width:45px;height:45px;margin:0 auto;-moz-animation:spinoffPulse .9s infinite linear;-webkit-animation:spinoffPulse .9s infinite linear}.prism-player .prism-hide{display:none}.prism-player .prism-snapshot-btn{width:32px;height:32px;background:url(./img/snapshot.png) no-repeat;background-size:contain}.prism-player .prism-snapshot-btn:hover{animation:hoverAnimationScale 1s 1;-moz-animation:hoverAnimationScale 1s 1;-webkit-animation:hoverAnimationScale 1s 1;-o-animation:hoverAnimationScale 1s 1;cursor:pointer}.prism-player .prism-snapshot-btn:active{displa:block}.prism-player .prism-info-display{width:100%;color:#fff;font-size:18px;text-align:center;top:50%;position:absolute;z-index:900;height:44px;line-height:28px;font-size:16px;padding:10px 12px 10px 12px}.prism-player .prism-info-display span{color:#00c1de}.prism-player .prism-info-left-bottom{width:auto!important;top:auto!important;bottom:70px;left:20px!important;text-align:left}.prism-player .prism-info-top-center{width:auto!important;top:20px!important;left:50%!important;text-align:left!important;-ms-transform:translateX(-50%)!important;transform:translateX(-50%)!important;color:red!important}.prism-player .prism-info-black{color:#000!important}.prism-player .prism-auto-stream-selector{position:absolute;bottom:50%;width:100%;margin:auto;color:#efeff4;display:none}.prism-player .prism-auto-stream-selector p.tip-text{text-align:center}.prism-player .prism-auto-stream-selector .operators{width:100px;margin:auto}.prism-player .prism-button-cancel{font-size:16px;border:1px #ffffffa8 solid;padding:2px 5px 2px 5px;color:#ffffffa8;margin-left:5px;background:#503f3f3d}.prism-player .prism-button-ok{font-size:16px;border:1px #fff solid;padding:2px 5px 2px 5px;color:#fff;background:#503f3f63}.prism-player .prism-button-cancel:hover,.prism-player .prism-button-ok:hover{color:#f5f5f5}.prism-player .prism-cc-btn{height:24px;width:24px;background:url(./img/cc.png) center no-repeat;background-size:contain}.prism-player .prism-cc-btn:hover{cursor:pointer;animation:hoverAnimationScale 1s 1;-moz-animation:hoverAnimationScale 1s 1;-webkit-animation:hoverAnimationScale 1s 1;-o-animation:hoverAnimationScale 1s 1}.prism-player .prism-setting-btn{height:24px;width:24px;background:url(./img/setting.png) center no-repeat;background-size:contain}.prism-player .prism-setting-btn:hover{cursor:pointer;animation:hoverAnimationRotate 1s 1;-moz-animation:hoverAnimationRotate 1s 1;-webkit-animation:hoverAnimationRotate 1s 1;-o-animation:hoverAnimationRotate 1s 1}.prism-player .prism-setting-list{background:rgba(60,60,60,.95);width:220px;position:absolute;right:14px;bottom:45px;display:none;z-index:10000;text-align:left}.prism-player .prism-setting-list .prism-setting-item{font-size:14px;color:#ebecec;height:30px}.prism-player .prism-setting-list .prism-setting-item .setting-content{width:100%}.prism-player .prism-setting-list .prism-setting-item .setting-content:hover{background:rgba(216,216,216,.1);cursor:pointer}.prism-player .prism-setting-list .prism-setting-item .setting-content span{line-height:30px}.prism-player .prism-setting-list .prism-setting-item .setting-content .setting-title{margin-left:15px}.prism-player .prism-setting-list .prism-setting-item .setting-content .current-setting{float:right}.prism-player .prism-setting-list .prism-setting-item .array{display:inline-block;border-right:2px solid;border-bottom:2px solid;border-color:#fff;width:8px;height:8px;-ms-transform:rotate(-45deg);transform:rotate(-45deg);margin-right:10px;margin-top:10px;margin-left:10px;float:right}.prism-player .prism-setting-selector{right:40px;position:absolute;bottom:45px;width:150px;background:rgba(60,60,60,.95);font-size:14px;color:#ebecec;display:none;z-index:10000;text-align:left}.prism-player .prism-setting-selector .header{background:#242424;width:150px;height:30px}.prism-player .prism-setting-selector .header:hover{cursor:pointer}.prism-player .prism-setting-selector .header .left-array{display:inline-block;border-left:2px solid;border-bottom:2px solid;border-color:#fff;width:8px;height:8px;-ms-transform:rotate(45deg);transform:rotate(45deg);margin-right:6px;margin-top:12px;margin-left:16px;float:left}.prism-player .prism-setting-selector .header span{line-height:30px}.prism-player .prism-setting-selector ul{list-style-type:none;padding-left:0;max-height:150px;overflow-y:auto;padding-left:16px;margin-top:5px}.prism-player .prism-setting-selector ul li{height:28px;padding-left:10px}.prism-player .prism-setting-selector ul li.current{color:#30adf2;padding-left:0}.prism-player .prism-setting-selector ul li.current:before{content:"";display:inline-block;line-height:0;border:5px solid transparent;border-left-color:#30adf2;border-right-width:0;margin-top:5px;padding-right:5px}.prism-player .prism-setting-selector ul li:hover{background:rgba(216,216,216,.1);cursor:pointer}.prism-player .prism-setting-selector ul span{line-height:28px}.prism-player .prism-thumbnail{border:1px solid rgba(0,0,0,.8);width:174px;height:98px;position:absolute;bottom:50px;display:none}.prism-player .prism-thumbnail .none{border:none}.prism-player .prism-thumbnail span{font-size:12px;color:#fff;line-height:20px;background:rgba(0,0,0,.8);text-align:center;text-shadow:1px 1px 4px #373d41;padding-left:5px;padding-right:5px;display:inline-block;position:absolute;bottom:0;left:33%}.prism-player .prism-tooltip{background:#3c3c3c;box-shadow:0 0 5px 0 rgba(0,0,0,.1);height:28px;margin:0;padding-left:5px;padding-right:5px;padding-top:0;padding-bottom:0;position:absolute;bottom:50px;color:#fff;line-height:28px;font-size:10px;white-space:nowrap;display:none}:-webkit-full-screen{width:100%!important;height:100%!important}:-moz-full-screen{width:100%!important;height:100%!important}:-ms-full-screen{width:100%!important;height:100%!important}:-ms-fullscreen{width:100%!important;height:100%!important}:-webkit-full-screen{width:100%!important;height:100%!important}:fullscreen{width:100%!important;height:100%!important}body.prism-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.prism-fullscreen{position:fixed;overflow:hidden;z-index:99999;left:0!important;top:0!important;bottom:0!important;right:0!important;width:100%!important;height:100%!important;position:absolute}.prism-button{cursor:pointer;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.3);border-radius:.5em;box-shadow:0 1px 2px rgba(0,0,0,.2)}.prism-button-orange{color:#a56117;border:solid 1px #a56117}.prism-button-retry{color:#f2dede;border:solid 1px #f2dede}.prism-button-orange:hover{color:#d67400;border-color:#d67400}.prism-button-orange:active{color:#d67400;border-color:#d67400}.prism-button-orange:visited{color:#d67400}.prism-button-retry:hover{color:#fcf8e3;border-color:#fcf8e3}.prism-button-retry:active{color:#fcf8e3;border-color:#fcf8e3}.prism-button-retry:visited{color:#fcf8e3}.prism-center{position:absolute;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.prism-width90{width:90%}.prism-stream-selector{font-size:16px;position:relative;line-height:32px}.prism-stream-selector .current-stream-selector{text-align:center;width:70px;display:none;color:#efeff4}.prism-stream-selector .current-stream-selector:hover{cursor:pointer;color:#00c1de}.prism-stream-selector .stream-selector-tip{color:#fff;text-align:center;padding:2px 5px 2px 5px;display:none;position:absolute;bottom:61.5px;white-space:nowrap;left:43%;font-size:18px}.prism-stream-selector .stream-selector-list{position:absolute;bottom:32px;background:rgba(0,0,0,.5);color:#efeff4;padding:5px 5px 0 5px;width:70px;margin:0;display:none}.prism-stream-selector .stream-selector-list li{list-style-type:none;text-align:center;white-space:nowrap;padding:0 2px 0 2px;line-height:24px}.prism-stream-selector .stream-selector-list li:last-child{margin-bottom:10px}.prism-stream-selector .stream-selector-list li.current{color:#00c1de}.prism-stream-selector .stream-selector-list li span.current{color:#00c1de}.prism-stream-selector .stream-selector-list li:hover{cursor:pointer;color:#00c1de}.prism-speed-selector{font-size:16px;position:relative;line-height:32px}.prism-speed-selector .current-speed-selector{color:#efeff4;text-align:center;width:60px}.prism-speed-selector .current-speed-selector:hover{cursor:pointer;color:#00c1de}.prism-speed-selector .speed-selector-list{position:absolute;bottom:32px;background:rgba(0,0,0,.5);color:#efeff4;padding:5px 5px 0 5px;display:none;margin:0}.prism-speed-selector .speed-selector-list li{list-style-type:none;text-align:center;white-space:nowrap;padding:0 2px 0 2px;line-height:24px}.prism-speed-selector .speed-selector-list li:last-child{margin-bottom:10px}.prism-speed-selector .speed-selector-list li.current{color:#00c1de}.prism-speed-selector .speed-selector-list li span.current{color:#00c1de}.prism-speed-selector .speed-selector-list li:hover{cursor:pointer;color:#00c1de}.prism-ai-container{position:absolute;overflow:hidden}.prism-ai-container .prism-ai-marking{font-size:12px;position:absolute}.prism-ai-container .prism-ai-marking[vh=large]{font-size:18px}.prism-ai-container .prism-ai-marking[vh=middle]{font-size:16px}.prism-ai-container .prism-ai-marking .prism-ai-rect-region{position:relative;display:inline-block}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-title{height:0;-ms-transform:translateY(-40px);transform:translateY(-40px)}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-title p{background:#ff1d00;text-align:center;width:100%;color:#fff;word-break:keep-all;margin:10px 0 0 0}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-title .top-left-anchor{width:5px;height:5px;border-top-color:red;border-top-style:solid;border-left-color:red;border-left-style:solid;border-width:1px;-ms-transform:translate(-5px,10px);transform:translate(-5px,10px)}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-title .top-right-anchor{width:5px;height:5px;border-top-color:red;border-top-style:solid;border-right-color:red;border-right-style:solid;border-width:1px;-ms-transform:translate(5px,5px);transform:translate(5px,5px);float:right}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-rect{border-style:solid;border-color:#ff1d00;border-width:1px;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;color:rgba(255,29,0,.3);background:rgba(255,29,0,.1)}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-rect .prism-ai-slash-container{overflow:hidden;width:100%;height:100%;position:absolute}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-rect .prism-ai-slash{content:"";display:block;box-sizing:border-box;border-top-width:1px;border-top-style:solid;height:10px;margin-top:15px;border-bottom-width:1px;border-bottom-style:solid;transform:rotateZ(-45deg) scaleX(2);-ms-transform-origin:bottom center;transform-origin:bottom center}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .prism-ai-rect .prism-ai-top-slash{margin-top:-10px!important}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .anchor-plug{position:absolute}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .top-left{top:-7px;left:-2px}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .top-right{top:-7px;right:-2px}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .bottom-left{bottom:-8px;left:-2px}.prism-ai-container .prism-ai-marking .prism-ai-rect-region .bottom-right{bottom:-8px;right:-2px}.prism-ai-container .prism-ai-marking .prism-ai-labels{color:#fff;float:right;background:rgba(0,0,0,.4);padding-top:5px;padding-bottom:5px}.prism-ai-container .prism-ai-marking .prism-ai-labels p{text-align:left;padding-left:5px;padding-right:5px;margin:0}.prism-ai-container .prism-ai-marking .prism-ai-labels a{padding-left:5px;padding-right:5px}.prism-ai-container .prism-ai-marking .prism-ai-labels p[vh=large]{padding-left:25px;padding-right:25px}.prism-ai-container .prism-ai-marking .prism-ai-labels p[vh=middle]{padding-left:15px;padding-right:15px}video::-webkit-media-text-track-container{overflow:visible!important}video::cue{line-height:1.7}.disabled{pointer-events:none;color:gray}.center{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)} \ No newline at end of file diff --git a/src/plugins/aliplayer/aliplayer-min.js b/src/plugins/aliplayer/aliplayer-min.js new file mode 100644 index 0000000..d06872e --- /dev/null +++ b/src/plugins/aliplayer/aliplayer-min.js @@ -0,0 +1,2 @@ +/*! Aliplayer - v2.8.2 - 2019-05-09 16.34.41 */ +!function n(a,s,l){function u(t,e){if(!s[t]){if(!a[t]){var i="function"==typeof require&&require;if(!e&&i)return i(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var o=s[t]={exports:{}};a[t][0].call(o.exports,function(e){return u(a[t][1][e]||e)},o,o.exports,n,a,s,l)}return s[t].exports}for(var c="function"==typeof require&&require,e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,t,i){!function(){"use strict";function l(o,e){var t;if(e=e||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=e.touchBoundary||10,this.layer=o,this.tapDelay=e.tapDelay||200,this.tapTimeout=e.tapTimeout||700,!l.notNeeded(o)){for(var i=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],r=this,n=0,a=i.length;n<a;n++)r[i[n]]=s(r[i[n]],r);u&&(o.addEventListener("mouseover",this.onMouse,!0),o.addEventListener("mousedown",this.onMouse,!0),o.addEventListener("mouseup",this.onMouse,!0)),o.addEventListener("click",this.onClick,!0),o.addEventListener("touchstart",this.onTouchStart,!1),o.addEventListener("touchmove",this.onTouchMove,!1),o.addEventListener("touchend",this.onTouchEnd,!1),o.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(o.removeEventListener=function(e,t,i){var r=Node.prototype.removeEventListener;"click"===e?r.call(o,e,t.hijacked||t,i):r.call(o,e,t,i)},o.addEventListener=function(e,t,i){var r=Node.prototype.addEventListener;"click"===e?r.call(o,e,t.hijacked||(t.hijacked=function(e){e.propagationStopped||t(e)}),i):r.call(o,e,t,i)}),"function"==typeof o.onclick&&(t=o.onclick,o.addEventListener("click",function(e){t(e)},!1),o.onclick=null)}function s(e,t){return function(){return e.apply(t,arguments)}}}var e=0<=navigator.userAgent.indexOf("Windows Phone"),u=0<navigator.userAgent.indexOf("Android")&&!e,s=/iP(ad|hone|od)/.test(navigator.userAgent)&&!e,c=s&&/OS 4_\d(_\d)?/.test(navigator.userAgent),d=s&&/OS [6-7]_\d/.test(navigator.userAgent),o=0<navigator.userAgent.indexOf("BB10");l.prototype.needsClick=function(e){switch(e.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(e.disabled)return!0;break;case"input":if(s&&"file"===e.type||e.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(e.className)},l.prototype.needsFocus=function(e){switch(e.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!u;case"input":switch(e.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!e.disabled&&!e.readOnly;default:return/\bneedsfocus\b/.test(e.className)}},l.prototype.sendClick=function(e,t){var i,r;document.activeElement&&document.activeElement!==e&&document.activeElement.blur(),r=t.changedTouches[0],(i=document.createEvent("MouseEvents")).initMouseEvent(this.determineEventType(e),!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),i.forwardedTouchEvent=!0,e.dispatchEvent(i)},l.prototype.determineEventType=function(e){return u&&"select"===e.tagName.toLowerCase()?"mousedown":"click"},l.prototype.focus=function(e){var t;s&&e.setSelectionRange&&0!==e.type.indexOf("date")&&"time"!==e.type&&"month"!==e.type?(t=e.value.length,e.setSelectionRange(t,t)):e.focus()},l.prototype.updateScrollParent=function(e){var t,i;if(!(t=e.fastClickScrollParent)||!t.contains(e)){i=e;do{if(i.scrollHeight>i.offsetHeight){t=i,e.fastClickScrollParent=i;break}i=i.parentElement}while(i)}t&&(t.fastClickLastScrollTop=t.scrollTop)},l.prototype.getTargetElementFromEventTarget=function(e){return e.nodeType===Node.TEXT_NODE?e.parentNode:e},l.prototype.onTouchStart=function(e){var t,i,r;if(1<e.targetTouches.length)return!0;if(t=this.getTargetElementFromEventTarget(e.target),i=e.targetTouches[0],s){if((r=window.getSelection()).rangeCount&&!r.isCollapsed)return!0;if(!c){if(i.identifier&&i.identifier===this.lastTouchIdentifier)return e.preventDefault(),!1;this.lastTouchIdentifier=i.identifier,this.updateScrollParent(t)}}return this.trackingClick=!0,this.trackingClickStart=e.timeStamp,this.targetElement=t,this.touchStartX=i.pageX,this.touchStartY=i.pageY,e.timeStamp-this.lastClickTime<this.tapDelay&&e.preventDefault(),!0},l.prototype.touchHasMoved=function(e){var t=e.changedTouches[0],i=this.touchBoundary;return Math.abs(t.pageX-this.touchStartX)>i||Math.abs(t.pageY-this.touchStartY)>i},l.prototype.onTouchMove=function(e){return this.trackingClick&&(this.targetElement!==this.getTargetElementFromEventTarget(e.target)||this.touchHasMoved(e))&&(this.trackingClick=!1,this.targetElement=null),!0},l.prototype.findControl=function(e){return void 0!==e.control?e.control:e.htmlFor?document.getElementById(e.htmlFor):e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},l.prototype.onTouchEnd=function(e){var t,i,r,o,n,a=this.targetElement;if(!this.trackingClick)return!0;if(e.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0;if(e.timeStamp-this.trackingClickStart>this.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=e.timeStamp,i=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,d&&(n=e.changedTouches[0],(a=document.elementFromPoint(n.pageX-window.pageXOffset,n.pageY-window.pageYOffset)||a).fastClickScrollParent=this.targetElement.fastClickScrollParent),"label"===(r=a.tagName.toLowerCase())){if(t=this.findControl(a)){if(this.focus(a),u)return!1;a=t}}else if(this.needsFocus(a))return 100<e.timeStamp-i||s&&window.top!==window&&"input"===r?this.targetElement=null:(this.focus(a),this.sendClick(a,e),s&&"select"===r||(this.targetElement=null,e.preventDefault())),!1;return!(!s||c||!(o=a.fastClickScrollParent)||o.fastClickLastScrollTop===o.scrollTop)||(this.needsClick(a)||(e.preventDefault(),this.sendClick(a,e)),!1)},l.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},l.prototype.onMouse=function(e){return!this.targetElement||(!!e.forwardedTouchEvent||(!e.cancelable||(!(!this.needsClick(this.targetElement)||this.cancelNextClick)||(e.stopImmediatePropagation?e.stopImmediatePropagation():e.propagationStopped=!0,e.stopPropagation(),e.preventDefault(),!1))))},l.prototype.onClick=function(e){var t;return this.trackingClick?(this.targetElement=null,!(this.trackingClick=!1)):"submit"===e.target.type&&0===e.detail||((t=this.onMouse(e))||(this.targetElement=null),t)},l.prototype.destroy=function(){var e=this.layer;u&&(e.removeEventListener("mouseover",this.onMouse,!0),e.removeEventListener("mousedown",this.onMouse,!0),e.removeEventListener("mouseup",this.onMouse,!0)),e.removeEventListener("click",this.onClick,!0),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1),e.removeEventListener("touchcancel",this.onTouchCancel,!1)},l.notNeeded=function(e){var t,i,r;if(void 0===window.ontouchstart)return!0;if(i=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!u)return!0;if(t=document.querySelector("meta[name=viewport]")){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(31<i&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(o&&10<=(r=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/))[1]&&3<=r[2]&&(t=document.querySelector("meta[name=viewport]"))){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===e.style.msTouchAction||"manipulation"===e.style.touchAction||(!!(27<=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]&&(t=document.querySelector("meta[name=viewport]"))&&(-1!==t.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))||("none"===e.style.touchAction||"manipulation"===e.style.touchAction))},l.attach=function(e,t){return new l(e,t)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return l}):void 0!==t&&t.exports?(t.exports=l.attach,t.exports.FastClick=l):window.FastClick=l}()},{}],2:[function(e,t,i){var r=e("../ui/component"),o=(e("../lib/util"),e("../lib/dom")),n=e("../lib/event"),a=(e("../lib/ua"),e("../lang/index")),s=e("../player/base/event/eventtype"),l=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-auto-stream-selector",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML="<div><p class='tip-text'></p></div><div class='operators'><a class='prism-button prism-button-ok' type='button'>"+a.get("OK_Text")+"</a><a class='prism-button prism-button-cancel' target='_blank'>"+a.get("Cancel_Text")+"</a></div>",e},bindEvent:function(){var r=this;r._player.on(s.Private.AutoStreamShow,function(e){var t=document.querySelector("#"+r.getId()+" .tip-text");if(r._player._getLowerQualityLevel){var i=r._player._getLowerQualityLevel();i&&(r._switchUrl=i,t.innerText=a.get("Auto_Stream_Tip_Text").replace("$$",i.item.desc),o.css(r.el(),"display","block"))}}),r._player.on(s.Private.AutoStreamHide,function(e){document.querySelector("#"+r.getId()+" .tip-text");o.css(r.el(),"display","none")});var e=document.querySelector("#"+r.getId()+" .prism-button-ok");n.on(e,"click",function(){r._player._changeStream&&r._switchUrl&&r._player._changeStream(r._switchUrl.index,a.get("Quality_Change_Text")),o.css(r.el(),"display","none")});var t=document.querySelector("#"+r.getId()+" .prism-button-cancel");n.on(t,"click",function(){o.css(r.el(),"display","none")})}});t.exports=l},{"../lang/index":11,"../lib/dom":18,"../lib/event":19,"../lib/ua":31,"../lib/util":33,"../player/base/event/eventtype":43,"../ui/component":94}],3:[function(e,t,i){var r=e("../ui/component"),s=e("../lib/dom"),o=e("../lib/event"),n=e("../lib/ua"),a=e("../lib/function"),l=(e("../lang/index"),e("../lib/util")),u=e("../config"),c=e("../lib/playerutil"),d=e("../player/base/event/eventtype"),p=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-liveshift-progress",this.addClass(this.className),this._liveshiftService=e._liveshiftService},createEl:function(){var e=r.prototype.createEl.call(this);return e.innerHTML='<div class="prism-enable-liveshift"><div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p><div class="prism-liveshift-seperator">00:00:00</div></div><div class="prism-disable-liveshift"></div>',e},bindEvent:function(){var i=this;this.loadedNode=document.querySelector("#"+this.id()+" .prism-progress-loaded"),this.playedNode=document.querySelector("#"+this.id()+" .prism-progress-played"),this.cursorNode=document.querySelector("#"+this.id()+" .prism-progress-cursor"),this.timeNode=document.querySelector("#"+this.id()+" .prism-progress-time"),this.controlNode=document.querySelector("#"+this._player._options.id+" .prism-controlbar"),this.seperatorNode=document.querySelector("#"+this.id()+" .prism-liveshift-seperator"),this.progressNode=document.querySelector("#"+this.id()+" .prism-enable-liveshift");var e=document.querySelector("#"+this.id()+" .prism-progress-cursor img"),t="//"+u.domain+"/de/prismplayer/"+u.h5Version+"/skins/default/img/dragcursor.png";u.domain?-1<u.domain.indexOf("localhost")&&(t="//"+u.domain+"/build/skins/default/img/dragcursor.png"):t="de/prismplayer/"+u.h5Version+"/skins/default/img/dragcursor.png",e.src=t,o.on(this.cursorNode,"mousedown",function(e){i._onMouseDown(e)}),o.on(this.cursorNode,"touchstart",function(e){i._onMouseDown(e)}),o.on(this.progressNode,"mousemove",function(e){i._progressMove(e)}),o.on(this.progressNode,"touchmove",function(e){i._progressMove(e)}),o.on(this._el,"click",function(e){i._onMouseClick(e)}),this._player.on(d.Private.HideProgress,function(e){i._hideProgress(e)}),this._player.on(d.Private.CancelHideProgress,function(e){i._cancelHideProgress(e)}),this._player.on(d.Private.ShowBar,function(){i._updateLayout()}),o.on(this.progressNode,d.Private.MouseOver,function(e){i._onMouseOver(e)}),o.on(this.progressNode,d.Private.MouseOut,function(e){i._onMouseOut(e)}),this.bindTimeupdate=a.bind(this,this._onTimeupdate),this._player.on(d.Player.TimeUpdate,this.bindTimeupdate),c.isLiveShift(this._player._options)&&this._player.on(d.Player.Play,function(){i._liveshiftService.start(6e4,function(e){var t={mediaId:i._player._options.vid?i._player._options.vid:"",error_code:e.Code,error_msg:e.Message};i._player.logError(t),i._player.trigger(d.Player.Error,t)})}),this._player.on(d.Private.LiveShiftQueryCompleted,function(){i._updateSeperator(),i._updateLayout()}),this._player.on(d.Player.Pause,function(){i._liveshiftService.stop()}),n.IS_IPAD?this.interval=setInterval(function(){i._onProgress()},500):this._player.on(d.Video.Progress,function(){i._onProgress()})},_updateSeperator:function(){this._liveshiftService.currentTimeDisplay&&(this.seperatorNode.innerText=this._liveshiftService.currentTimeDisplay)},_updateLayout:function(){var e=this.seperatorNode.offsetWidth,t=this.el().offsetWidth,i=t-e;0!=e&&0!=i&&(s.css(this.progressNode,"width",100*(i-10)/t+"%"),s.css(this.seperatorNode,"right",-1*(e+10)+"px"))},_progressMove:function(e){var t=this._getSeconds(e),i=this._liveshiftService.availableLiveShiftTime;this.timeNode.innerText="-"+l.formatTime(i-t);var r=i?t/i:0,o=1-this.timeNode.clientWidth/this.el().clientWidth;o<r&&(r=o),this.timeNode&&s.css(this.timeNode,"left",100*r+"%")},_hideProgress:function(e){o.off(this.cursorNode,"mousedown"),o.off(this.cursorNode,"touchstart")},_cancelHideProgress:function(e){var t=this;o.on(this.cursorNode,"mousedown",function(e){t._onMouseDown(e)}),o.on(this.cursorNode,"touchstart",function(e){t._onMouseDown(e)})},_canSeekable:function(e){var t=!0;return"function"==typeof this._player.canSeekable&&(t=this._player.canSeekable(e)),t},_onMouseOver:function(e){this._updateCursorPosition(this._getCurrentTime()),s.css(this.timeNode,"display","block")},_onMouseOut:function(e){s.css(this.timeNode,"display","none")},_getSeconds:function(e){for(var t=this.el().offsetLeft,i=this.el();i=i.offsetParent;){var r=s.getTranslateX(i);t+=i.offsetLeft+r}var o=(e.touches?e.touches[0].pageX:e.pageX)-t,n=this.progressNode.offsetWidth,a=this._liveshiftService.availableLiveShiftTime;return sec=a?o/n*a:0,sec<0&&(sec=0),sec>a&&(sec=a),sec},_onMouseClick:function(e){var t=this,i=this._getSeconds(e),r=this._liveshiftService.availableLiveShiftTime-i;this._player.trigger(d.Private.SeekStart,{fromTime:this._getCurrentTime()});var o=this._liveshiftService.getSourceUrl(r),n=t._player._options.source,a=c.isHls(t._player._options.source);a&&o==n?t._player.seek(i):t._player._loadByUrlInner(o,i,!0),t._player.trigger(d.Private.Play_Btn_Hide),t._liveshiftService.seekTime=i,t._player.trigger(d.Private.EndStart,{toTime:i}),t._updateCursorPosition(i),a&&setTimeout(function(){t._player.play()})},_onMouseDown:function(e){var t=this;e.preventDefault(),this._player.trigger(d.Private.SeekStart,{fromTime:this._getCurrentTime()}),o.on(this.controlNode,"mousemove",function(e){t._onMouseMove(e)}),o.on(this.controlNode,"touchmove",function(e){t._onMouseMove(e)}),o.on(this._player.tag,"mouseup",function(e){t._onMouseUp(e)}),o.on(this._player.tag,"touchend",function(e){t._onMouseUp(e)}),o.on(this.controlNode,"mouseup",function(e){t._onMouseUp(e)}),o.on(this.controlNode,"touchend",function(e){t._onMouseUp(e)})},_onMouseUp:function(e){e.preventDefault(),o.off(this.controlNode,"mousemove"),o.off(this.controlNode,"touchmove"),o.off(this._player.tag,"mouseup"),o.off(this._player.tag,"touchend"),o.off(this.controlNode,"mouseup"),o.off(this.controlNode,"touchend");var t=this._liveshiftService.availableLiveShiftTime,i=this.playedNode.offsetWidth/this.el().offsetWidth*t;this._player.seek(i),this._player.trigger(d.Private.Play_Btn_Hide),this._liveshiftService.seekTime=i,this._player.trigger(d.Private.EndStart,{toTime:i})},_onMouseMove:function(e){e.preventDefault();var t=this._getSeconds(e);this._updateProgressBar(this.playedNode,t),this._updateCursorPosition(t)},_onTimeupdate:function(e){this._updateProgressBar(this.playedNode,this._getCurrentTime()),this._updateCursorPosition(this._getCurrentTime()),this._player.trigger(d.Private.UpdateProgressBar,{time:this._getCurrentTime()})},_getCurrentTime:function(){var e=this._liveshiftService.seekTime;return-1==e&&(e=0),this._player.getCurrentTime()+e},_onProgress:function(e){this._player.getDuration()&&1<=this._player.getBuffered().length&&this._updateProgressBar(this.loadedNode,this._player.getBuffered().end(this._player.getBuffered().length-1))},_updateProgressBar:function(e,t){if(1!=this._player._switchSourcing){var i=0;if(-1==this._liveshiftService.seekTime)i=1;else{var r=this._liveshiftService.availableLiveShiftTime;1<(i=r?t/r:0)&&(i=1,this._liveshiftService.seekTime=-1)}this.liveShiftStartDisplay;e&&s.css(e,"width",100*i+"%")}},_updateCursorPosition:function(e){if(this._player.el()&&1!=this._player._switchSourcing&&(0!=e||0!=this._player.tag.readyState)){var t=0,i=1,r=this._player.el().clientWidth;if(-1==this._liveshiftService.seekTime)t=1;else{var o=this._liveshiftService.availableLiveShiftTime;1<(t=o?e/o:0)&&(this._liveshiftService.seekTime=-1)}if(0!=r){var n=18/r;i=1-n,t-=n}this.cursorNode&&(i<t?(s.css(this.cursorNode,"right","0px"),s.css(this.cursorNode,"left","auto")):(s.css(this.cursorNode,"right","auto"),s.css(this.cursorNode,"left",100*t+"%")))}}});t.exports=p},{"../config":5,"../lang/index":11,"../lib/dom":18,"../lib/event":19,"../lib/function":20,"../lib/playerutil":29,"../lib/ua":31,"../lib/util":33,"../player/base/event/eventtype":43,"../ui/component":94}],4:[function(e,t,i){var r=e("../ui/component"),n=e("../lib/util"),a=e("../player/base/event/eventtype"),o=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-live-time-display",this.addClass(this.className),this._liveshiftService=e._liveshiftService},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="end-time">00:00</span><span class="live-text">Live: </span><span class="live-time"></span>',e},bindEvent:function(){var o=this;this._player.on(a.Video.TimeUpdate,function(){var e=o._liveshiftService,t=document.querySelector("#"+o.id()+" .current-time");if(e.liveShiftStartDisplay&&e.availableLiveShiftTime>e.seekTime&&-1!=e.seekTime){var i=o._liveshiftService.getBaseTime(),r=n.formatTime(i+o._player.getCurrentTime());t.innerText=r}else e.currentTimeDisplay&&(t.innerText=e.currentTimeDisplay)}),this._player.on(a.Private.LiveShiftQueryCompleted,function(){o.updateTime()})},updateTime:function(){document.querySelector("#"+this.id()+" .end-time").innerText=this._liveshiftService.liveTimeRange.endDisplay,document.querySelector("#"+this.id()+" .live-time").innerText=this._liveshiftService.currentTimeDisplay}});t.exports=o},{"../lib/util":33,"../player/base/event/eventtype":43,"../ui/component":94}],5:[function(e,t,i){t.exports={domain:"g.alicdn.com",flashVersion:"2.8.2",h5Version:"2.8.2",cityBrain:!0,logDuration:10,logCount:100,logReportTo:"https://videocloud.cn-hangzhou.log.aliyuncs.com/logstores/newplayer/track"}},{}],6:[function(e,t,i){e("./lang/index").load();var r=e("./player/adaptivePlayer"),o=e("./lib/componentutil"),n=e("./config"),a=function(e,t){return r.create(e,t)};a.getVersion=function(){return n.h5Version},o.register(a);var s=window.Aliplayer=a;a.players={},"function"==typeof define&&define.amd?define([],function(){return s}):"object"==typeof i&&"object"==typeof t&&(t.exports=s),"undefined"!=typeof Uint8Array&&(Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:Array.prototype.slice}))},{"./config":5,"./lang/index":11,"./lib/componentutil":14,"./player/adaptivePlayer":40}],7:[function(e,t,i){var r=e("../lib/oo"),o=e("../lang/index"),n=r.extend({init:function(e,t){this._player=e,this._options=e.options()}});n.prototype.handle=function(e){if(this._options.autoPlayDelay){var t=this._options.autoPlayDelayDisplayText;t||(t=o.get("AutoPlayDelayDisplayText").replace("$$",this._options.autoPlayDelay)),this._player.trigger("info_show",t),this._player.trigger("h5_loading_hide"),this._player.trigger("play_btn_hide");var i=this;this._timeHandler=setTimeout(function(){i._player.trigger("info_hide"),i._options.autoPlayDelay=0,e&&e()},1e3*this._options.autoPlayDelay),this._player.on("play",function(){a(i)}),this._player.on("pause",function(){a(i)})}},n.prototype.dispose=function(){a(this),this._player=null};var a=function(e){e._timeHandler&&(clearTimeout(e._timeHandler),e._timeHandler=null)};t.exports=n},{"../lang/index":11,"../lib/oo":27}],8:[function(e,t,i){t.exports=t.exports={OD:"OD",FD:"360p",LD:"540p",SD:"720p",HD:"1080p","2K":"2K","4K":"4K",FHD:"FHD",XLD:"XLD",SQ:"SQ",HQ:"HQ",Speed:"Speed",Speed_05X_Text:"0.5X",Speed_1X_Text:"Normal",Speed_125X_Text:"1.25X",Speed_15X_Text:"1.5X",Speed_2X_Text:"2X",Refresh_Text:"Refresh",Cancel:"Cancel",Mute:"Mute",Snapshot:"Snapshot",Detection_Text:"Diagnosis",Play_DateTime:"Time",Quality_Change_Fail_Switch_Text:"Cannot play, switch to ",Quality_Change_Text:"Switch to ",Quality_The_Url:"The url",AutoPlayDelayDisplayText:"Play in $$ seconds",Error_Load_Abort_Text:"Data abort erro",Error_Network_Text:"Loading failed due to network error",Error_Decode_Text:"Decode error",Error_Server_Network_NotSupport_Text:"Network error or \xa0the format of video is unsupported",Error_Offline_Text:"The network is unreachable, please click Refresh",Error_Play_Text:"Error occured while playing",Error_Retry_Text:" Please close or refresh",Error_AuthKey_Text:"Authentication expired or the domain is not in white list",Error_H5_Not_Support_Text:"The format of video is not supported by\xa0h5 player\uff0cplease use flash player",Error_Not_Support_M3U8_Text:"The format of m3u8 is not supported by this explorer",Error_Not_Support_MP4_Text:"The format of mp4\xa0is not supported by this explorer",Error_Not_Support_encrypt_Text:"Play the encrypted video,please set encryptType to 1",Error_Vod_URL_Is_Empty_Text:"The url is empty",Error_Vod_Fetch_Urls_Text:"Error occured when fetch urls\uff0cplease close or refresh",Fetch_Playauth_Error:"Error occured when fetch playauth close or refresh",Error_Playauth_Decode_Text:"PlayAuth parse failed",Error_Vid_Not_Same_Text:"Cannot renew url due to vid changed",Error_Playauth_Expired_Text:"Playauth expired, please close or refresh",Error_MTS_Fetch_Urls_Text:"Error occurred while requesting mst server",Error_Load_M3U8_Failed_Text:"The\xa0m3u8 file loaded failed",Error_Load_M3U8_Timeout_Text:"Timeout error occored\xa0when the\xa0m3u8 file loaded",Error_M3U8_Decode_Text:"The m3u8 file decoded failed",Error_TX_Decode_Text:"Video decoded failed",Error_Waiting_Timeout_Text:"Buffering timeout,\xa0please close or refresh",Error_Invalidate_Source:"Video shoud be mp4\u3001mp3\u3001m3u8\u3001mpd or flv",Error_Empty_Source:"Video URL shouldn't be empty",Error_Vid_Empty_Source:"vid's video URL hasn't been fetched",Error_Fetch_NotStream:"The vid has no stream to play",Error_Not_Found:"Url is not found",Live_End:"Live has finished",Play_Before_Fullscreen:"Please play before fullscreen",Can_Not_Seekable:"Can not seek to this position",Cancel_Text:"Cancel",OK_Text:"OK",Auto_Stream_Tip_Text:"Internet is slow, does switch to $$",Request_Block_Text:"This request is blocked, the video Url should be over https",Open_Html_By_File:"Html page should be on the server",Maybe_Cors_Error:"please make sure enable cors,<a href='https://help.aliyun.com/document_detail/62950.html?spm=a2c4g.11186623.2.21.Y3n2oi' target='_blank'>refer to document</a>",Speed_Switch_To:"Speed switch to ",Curent_Volume:"Current volume:",Volume_Mute:"set to mute",Volume_UnMute:"set to unmute",ShiftLiveTime_Error:"Live start time should not be greater than over time",Error_Not_Support_Format_On_Mobile:"flv\u3001rmtp can't be supported on mobile\uff0cplease use m3u8",SessionId_Ticket_Invalid:"please assign value for sessionId and ticket properties",Http_Error:" An HTTP network request failed with an error, but not from the server.",Http_Timeout:"A network request timed out",DRM_License_Expired:"DRM license is expired, please refresh",Not_Support_DRM:"Browser doesn't support DRM",CC_Switch_To:"Subtitle switch to ",AudioTrack_Switch_To:"Audio tracks switch to ",Subtitle:"Subtitle/CC",AudioTrack:"Audio Track",Quality:"Quality",Auto:"Auto",Quality_Switch_To:"Quality switch to ",Fullscreen:"Full Screen",Setting:"Settings",Volume:"Volume",Play:"Play",Pause:"Pause",CloseSubtitle:"Close CC",OpenSubtitle:"Open CC",ExistFullScreen:"Exit Full Screen",Muted:"Muted",Retry:"Retry",SwitchToLive:"Return to live",iOSNotSupportVodEncription:"iOS desn't suport Vod's encription video",UseChromeForVodEncription:"This browser desn't suport Vod's encription video, please use latest Chrome"}},{}],9:[function(e,t,i){t.exports=t.exports={OD:"OD",LD:"360p",FD:"540p",SD:"720p",HD:"1080p","2K":"2K","4K":"4K",FHD:"FHD",XLD:"XLD",SQ:"SQ",HQ:"HQ",Forbidden_Text:"Internal information is strictly forbidden to outsider",Refresh:"Refresh",Diagnosis:"Diagnosis",Live_Finished:"Live has finished, thanks for watching",Play:"Play",Pause:"Pause",Snapshot:"Snapshot",Replay:"Replay",Live:"Live",Encrypt:"Encrypt",Sound:"Sound",Fullscreen:"Full Screen",Exist_Fullscreen:"Exit Full-screen",Resolution:"Resolution",Next:"Next Video",Brightness:"Brightness",Default:"Default",Contrast:"Contrast",Titles_Credits:"Titles\xa0and\xa0Credits",Skip_Titles:"Skip Titles",Skip_Credits:"Skip Credits",Not_Support_Out_Site:"The video is not supported for outside website, please watch it by TaoTV",Watch_Now:"Watch now",Network_Error:"Network is unreachable, please try to refresh",Video_Error:"Playing a video error,\xa0please try to refresh",Decode_Error:"Data decoding\xa0error",Live_Not_Start:"Live has not started, to be expected",Live_Loading:"Live information is loading,\xa0please try to refresh",Fetch_Playauth_Error:"Error occured when fetch playauth close or refresh",Live_End:"Live has finished",Live_Abrot:"Signal aborted,\xa0please try to refresh",Corss_Domain_Error:"Please ensure your domain has obtained IPC license and combined CNAME, \r\n or to set\xa0\xa0cross-domain accessing available",Url_Timeout_Error:"The video url is timeout,\xa0please try to refresh",Connetction_Error:"Sorry\uff0cthe video cannot play because of connection error, please try to watch other videos",Fetch_MTS_Error:"Fetching video list failed, please ensure",Token_Expired_Error:"Requesting open api failed, please ensure token expired or not",Video_Lists_Empty_Error:"The video list is empty, please check the format of video",Encrypted_Failed_Error:"Fetching encrypted file failed, please check the permission of player",Fetch_Failed_Permission_Error:"Fetching video list failed, please check the permission of player",Invalidate_Param_Error:"No video url, please check the parameters",AutoPlayDelayDisplayText:"Play in $$ seconds",Fetch_MTS_NOT_NotStream_Error:"The vid has no stream to play",Cancel_Text:"Cancel",OK_Text:"OK",Auto_Stream_Tip_Text:"Internet is slow, does switch to $$",Open_Html_By_File:"Html page should be on the server",Cant_Use_Flash_On_Mobile:"Mobile doesn't support flash player\uff0cplease use h5 player",Flash_Not_Ready:"Flash Player plugin hasn't been installed <a href='https://www.flash.cn/' target='_blank'>install plugin</a>, or check if disable Flash plugin"}},{}],10:[function(e,t,i){t.exports=t.exports={OD:"\u539f\u753b",FD:"\u6d41\u7545",LD:"\u6807\u6e05",SD:"\u9ad8\u6e05",HD:"\u8d85\u6e05","2K":"2K","4K":"4K",FHD:"\u5168\u9ad8\u6e05",XLD:"\u6781\u901f",SQ:"\u666e\u901a\u97f3\u8d28",HQ:"\u9ad8\u97f3\u8d28",Forbidden_Text:"\u5185\u90e8\u4fe1\u606f\uff0c\u4e25\u7981\u5916\u4f20",Refresh:"\u5237\u65b0",Diagnosis:"\u8bca\u65ad",Live_Finished:"\u76f4\u64ad\u5df2\u7ed3\u675f,\u8c22\u8c22\u89c2\u770b",Play:"\u64ad\u653e",Pause:"\u6682\u505c",Snapshot:"\u622a\u56fe",Replay:"\u91cd\u64ad",Live:"\u76f4\u64ad",Encrypt:"\u52a0\u5bc6",Sound:"\u58f0\u97f3",Fullscreen:"\u5168\u5c4f",Exist_Fullscreen:"\u9000\u51fa\u5168\u5c4f",Resolution:"\u6e05\u6670\u5ea6",Next:"\u4e0b\u4e00\u96c6",Brightness:"\u4eae\u5ea6",Default:"\u9ed8\u8ba4",Contrast:"\u5bf9\u6bd4\u5ea6",Titles_Credits:"\u7247\u5934\u7247\u5c3e",Skip_Titles:"\u8df3\u8fc7\u7247\u5934",Skip_Credits:"\u8df3\u8fc7\u7247\u5c3e",Not_Support_Out_Site:"\u8be5\u89c6\u9891\u6682\u4e0d\u652f\u6301\u7ad9\u5916\u64ad\u653e\uff0c\u8bf7\u5230\u6dd8TV\u89c2\u770b",Watch_Now:"\u7acb\u5373\u89c2\u770b",Network_Error:"\u7f51\u7edc\u65e0\u6cd5\u8fde\u63a5\uff0c\u8bf7\u5c1d\u8bd5\u68c0\u67e5\u7f51\u7edc\u540e\u5237\u65b0\u8bd5\u8bd5",Video_Error:"\u89c6\u9891\u64ad\u653e\u5f02\u5e38\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5",Decode_Error:"\u64ad\u653e\u6570\u636e\u89e3\u7801\u9519\u8bef",Live_Not_Start:"\u4eb2\uff0c\u76f4\u64ad\u8fd8\u672a\u5f00\u59cb\u54e6\uff0c\u656c\u8bf7\u671f\u5f85",Live_Loading:"\u76f4\u64ad\u4fe1\u606f\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5",Live_End:"\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f",Live_Abrot:"\u5f53\u524d\u76f4\u64ad\u4fe1\u53f7\u4e2d\u65ad\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5",Corss_Domain_Error:"\u8bf7\u786e\u8ba4\u60a8\u7684\u57df\u540d\u5df2\u5b8c\u6210\u5907\u6848\u548cCNAME\u7ed1\u5b9a\uff0c\r\n\u5e76\u5904\u4e8e\u542f\u7528\u72b6\u6001\uff0c\u6216\u8d44\u6e90\u5141\u8bb8\u8de8\u8d8a\u8bbf\u95ee",Url_Timeout_Error:"\u60a8\u6240\u89c2\u770b\u7684\u89c6\u9891\u5730\u5740\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5",Connetction_Error:"\u62b1\u6b49,\u8be5\u89c6\u9891\u7531\u4e8e\u8fde\u63a5\u9519\u8bef\u6682\u65f6\u4e0d\u80fd\u64ad\u653e,\u8bf7\u89c2\u770b\u5176\u5b83\u89c6\u9891",Fetch_MTS_Error:"\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4",Token_Expired_Error:"\u8bf7\u6c42\u63a5\u53e3\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4Token\u662f\u5426\u8fc7\u671f",Video_Lists_Empty_Error:"\u83b7\u53d6\u89c6\u9891\u5217\u8868\u4e3a\u7a7a\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6570\u636e\u4e0e\u683c\u5f0f",Encrypted_Failed_Error:"\u83b7\u53d6\u89c6\u9891\u52a0\u5bc6\u79d8\u94a5\u9519\u8bef\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650",Fetch_Failed_Permission_Error:"\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650",Invalidate_Param_Error:"\u65e0\u8f93\u5165\u89c6\u9891\uff0c\u8bf7\u786e\u8ba4\u8f93\u5165\u53c2\u6570",AutoPlayDelayDisplayText:"$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e",Fetch_MTS_NOT_NotStream_Error:"\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891",Cancel_Text:"\u53d6\u6d88",OK_Text:"\u786e\u8ba4",Auto_Stream_Tip_Text:"\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$",Fetch_Playauth_Error:"\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Open_Html_By_File:"\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef",Cant_Use_Flash_On_Mobile:"\u79fb\u52a8\u7aef\u4e0d\u652f\u6301Flash\u64ad\u653e\u5668\uff0c\u8bf7\u4f7f\u7528h5\u64ad\u653e\u5668",Flash_Not_Ready:"Flash Player\u63d2\u4ef6\u672a\u5b89\u88c5<a href='https://www.flash.cn/' target='_blank'>\u5b89\u88c5\u63d2\u4ef6</a>\uff0c\u5982\u679c\u5df2\u7ecf\u5b89\u88c5\u8bf7\u68c0\u67e5\u662f\u5426\u88ab\u7981\u7528"}},{}],11:[function(n,e,t){var i=n("../config"),a=n("../lib/storage"),o=(n("../lib/io"),"aliplayer_lang"),s=function(){if(void 0===window[o]||!window[o]){var e=(navigator.language||navigator.browserLanguage).toLowerCase();e=e&&-1<e.indexOf("zh")?"zh-cn":"en-us",window[o]=e}return window[o]},l=function(e,t){var i=d(e),r="",o=c();r="flash"==e?"en-us"==o?n("./flash/en-us"):"zh-cn"==o?n("./flash/zh-cn"):t[o]:"en-us"==o?n("./en-us"):"zh-cn"==o?n("./zh-cn"):t[o],a.set(i,JSON.stringify(r)),u(e,r)},u=function(e,t){var i=d(e);window[i]=t},c=function(){return s()},d=function(e){var t=c();return e||(e="h5"),"aliplayer_lang_data_"+e+"_"+i.h5Version.replace(/\./g,"_")+"_"+t};e.exports.setCurrentLanguage=function(e,t,i){var r=window[o];if(void 0!==e&&e||(e=s()),"en-us"!=e&&"zh-cn"!=e&&(!i||i&&!i[e]))throw new Error("There is not language resource for "+e+", please specify the language resource by languageTexts property");window[o]=e,l(t,i),e!=r&&n("../lib/constants").updateByLanguage()},e.exports.getCurrentLanguage=s,e.exports.getLanguageData=function(e,t){var i=d(e);return window[i]},e.exports.load=l,e.exports.get=function(e,t){t||(t="h5");var i=d(t),r=window[i];if(r)return r[e]}},{"../config":5,"../lib/constants":15,"../lib/io":24,"../lib/storage":30,"./en-us":8,"./flash/en-us":9,"./flash/zh-cn":10,"./zh-cn":12}],12:[function(e,t,i){t.exports=t.exports={OD:"\u539f\u753b",FD:"\u6d41\u7545",LD:"\u6807\u6e05",SD:"\u9ad8\u6e05",HD:"\u8d85\u6e05","2K":"2K","4K":"4K",FHD:"\u5168\u9ad8\u6e05",XLD:"\u6781\u901f",SQ:"\u666e\u901a\u97f3\u8d28",HQ:"\u9ad8\u97f3\u8d28",Speed:"\u500d\u901f",Speed_05X_Text:"0.5X",Speed_1X_Text:"\u6b63\u5e38",Speed_125X_Text:"1.25X",Speed_15X_Text:"1.5X",Speed_2X_Text:"2X",Quality_Change_Fail_Switch_Text:"\u4e0d\u80fd\u64ad\u653e\uff0c\u5207\u6362\u4e3a",Quality_Change_Text:"\u6b63\u5728\u4e3a\u60a8\u5207\u6362\u5230 ",Quality_The_Url:"\u6b64\u5730\u5740",Refresh_Text:"\u5237\u65b0",Detection_Text:"\u8bca\u65ad",Cancel:"\u53d6\u6d88",Mute:"\u9759\u97f3",Snapshot:"\u622a\u56fe",Play_DateTime:"\u64ad\u653e\u65f6\u95f4",AutoPlayDelayDisplayText:"$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e",Error_Load_Abort_Text:"\u83b7\u53d6\u6570\u636e\u8fc7\u7a0b\u88ab\u4e2d\u6b62",Error_Network_Text:"\u7f51\u7edc\u9519\u8bef\u52a0\u8f7d\u6570\u636e\u5931\u8d25",Error_Decode_Text:"\u89e3\u7801\u9519\u8bef",Error_Server_Network_NotSupport_Text:"\u670d\u52a1\u5668\u3001\u7f51\u7edc\u9519\u8bef\u6216\u683c\u5f0f\u4e0d\u652f\u6301",Error_Offline_Text:"\u7f51\u7edc\u4e0d\u53ef\u7528\uff0c\u8bf7\u786e\u5b9a",Error_Play_Text:"\u64ad\u653e\u51fa\u9519\u5566",Error_Retry_Text:"\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Error_AuthKey_Text:"\u53ef\u80fd\u9274\u6743\u8fc7\u671f\u3001\u57df\u540d\u4e0d\u5728\u767d\u540d\u5355\u6216\u8bf7\u6c42\u88ab\u62e6\u622a",Error_H5_Not_Support_Text:"h5\u4e0d\u652f\u6301\u6b64\u683c\u5f0f\uff0c\u8bf7\u4f7f\u7528flash\u64ad\u653e\u5668",Error_Not_Support_M3U8_Text:"\u6d4f\u89c8\u5668\u4e0d\u652f\u6301m3u8\u89c6\u9891\u64ad\u653e",Error_Not_Support_MP4_Text:"\u6d4f\u89c8\u5668\u4e0d\u652f\u6301mp4\u89c6\u9891\u64ad\u653e",Error_Not_Support_encrypt_Text:"\u64ad\u653e\u52a0\u5bc6\u89c6\u9891\uff0c\u8bf7\u8bbe\u7f6e\u5c5e\u6027encryptType to 1",Error_Vod_URL_Is_Empty_Text:"\u83b7\u53d6\u64ad\u653e\u5730\u5740\u4e3a\u7a7a",Error_Vod_Fetch_Urls_Text:"\u83b7\u53d6\u5730\u5740\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Fetch_Playauth_Error:"\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Error_Playauth_Decode_Text:"playauth\u89e3\u6790\u9519\u8bef",Error_Vid_Not_Same_Text:"\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4",Error_Playauth_Expired_Text:"\u51ed\u8bc1\u5df2\u8fc7\u671f\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Error_MTS_Fetch_Urls_Text:"MTS\u83b7\u53d6\u53d6\u6570\u5931\u8d25",Error_Load_M3U8_Failed_Text:"\u83b7\u53d6m3u8\u6587\u4ef6\u5931\u8d25",Error_Load_M3U8_Timeout_Text:"\u83b7\u53d6m3u8\u6587\u4ef6\u8d85\u65f6",Error_M3U8_Decode_Text:"\u83b7\u53d6m3u8\u6587\u4ef6\u89e3\u6790\u5931\u8d25",Error_TX_Decode_Text:"\u89e3\u6790\u6570\u636e\u51fa\u9519",Error_Waiting_Timeout_Text:"\u7f13\u51b2\u6570\u636e\u8d85\u65f6\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0",Error_Invalidate_Source:"\u64ad\u653e\u5730\u5740\u683c\u5f0f\u9700\u8981\u4e3amp4\u3001mp3\u3001m3u8\u3001mpd\u6216flv",Error_Empty_Source:"\u64ad\u653e\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a",Error_Vid_Empty_Source:"vid\u5bf9\u5e94\u7684\u89c6\u9891\u5730\u5740\u8fd8\u672a\u83b7\u53d6\u5230",Error_Fetch_NotStream:"\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891",Error_Not_Found:"\u64ad\u653e\u5730\u5740\u4e0d\u5b58\u5728",Live_End:"\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f",Play_Before_Fullscreen:"\u64ad\u653e\u540e\u518d\u5168\u5c4f",Can_Not_Seekable:"\u4e0d\u80fdseek\u5230\u8fd9\u91cc",Cancel_Text:"\u53d6\u6d88",OK_Text:"\u786e\u8ba4",Auto_Stream_Tip_Text:"\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$",Request_Block_Text:"\u6d4f\u89c8\u5668\u5b89\u5168\u7b56\u7565\u89c6\u9891\u5730\u5740\u4e0d\u80fd\u4e3ahttp\u534f\u8bae\uff0c\u4e0e\u7f51\u7ad9https\u534f\u8bae\u4e0d\u4e00\u81f4",Open_Html_By_File:"\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef",Maybe_Cors_Error:"\u8bf7\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86\u5141\u8bb8\u8de8\u57df\u8bbf\u95ee<a href='https://help.aliyun.com/document_detail/62950.html' target='_blank'>\u53c2\u8003\u6587\u6863</a>",Speed_Switch_To:"\u500d\u901f\u5207\u6362\u5230 ",Curent_Volume:"\u5f53\u524d\u97f3\u91cf\uff1a",Volume_Mute:"\u8bbe\u7f6e\u4e3a\u9759\u97f3",Volume_UnMute:"\u8bbe\u7f6e\u4e3a\u975e\u9759\u97f3",ShiftLiveTime_Error:"\u76f4\u64ad\u5f00\u59cb\u65f6\u95f4\u4e0d\u80fd\u5927\u4e8e\u76f4\u64ad\u7ed3\u675f\u65f6\u95f4",Error_Not_Support_Format_On_Mobile:"\u79fb\u52a8\u7aef\u4e0d\u652f\u6301flv\u3001rmtp\u89c6\u9891\uff0c\u8bf7\u4f7f\u7528m3u8",SessionId_Ticket_Invalid:"DRM\u89c6\u9891\u64ad\u653e\uff0csessionId\u548cticket\u5c5e\u6027\u4e0d\u80fd\u4e3a\u7a7a",Http_Error:"Http\u7f51\u7edc\u8bf7\u6c42\u5931\u8d25",Http_Timeout:"http\u8bf7\u6c42\u8d85\u65f6",DRM_License_Expired:"DRM license\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0",Not_Support_DRM:"\u6d4f\u89c8\u5668\u4e0d\u652f\u6301DRM\u89c6\u9891\u7684\u64ad\u653e",CC_Switch_To:"\u5b57\u5e55\u5207\u6362\u5230 ",AudioTrack_Switch_To:"\u97f3\u8f68\u5207\u6362\u5230 ",Subtitle:"\u5b57\u5e55",AudioTrack:"\u97f3\u8f68",Quality:"\u6e05\u6670\u5ea6",Auto:"\u81ea\u52a8",Quality_Switch_To:"\u6e05\u6670\u5ea6\u5207\u6362\u5230 ",Fullscreen:"\u5168\u5c4f",Setting:"\u8bbe\u7f6e",Volume:"\u97f3\u91cf",Play:"\u64ad\u653e",Pause:"\u6682\u505c",CloseSubtitle:"\u5173\u95ed\u5b57\u5e55",OpenSubtitle:"\u6253\u5f00\u5b57\u5e55",ExistFullScreen:"\u9000\u51fa\u5168\u5c4f",Muted:"\u9759\u97f3",Retry:"\u91cd\u8bd5",SwitchToLive:"\u8fd4\u56de\u76f4\u64ad",iOSNotSupportVodEncription:"iOS\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e",UseChromeForVodEncription:"\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e\uff0c\u8bf7\u4f7f\u7528\u6700\u65b0Chrome\u6d4f\u89c8\u5668"}},{}],13:[function(e,t,i){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";if(window.Uint8Array)for(var d=new Uint8Array(256),r=0;r<n.length;r++)d[n.charCodeAt(r)]=r;var u=function(e){for(var t="",i=0;i<e.length;i+=16e3){var r=e.subarray(i,i+16e3);t+=String.fromCharCode.apply(null,r)}return t};unpackPlayReady=function(e){var t=function(e,t,i){if(!e)return"";var r;if(i||e.byteLength%2==0||console.log("Data has an incorrect length, must be even."),e instanceof ArrayBuffer)r=e;else{var o=new Uint8Array(e.byteLength);o.set(new Uint8Array(e)),r=o.buffer}for(var n=Math.floor(e.byteLength/2),a=new Uint16Array(n),s=new DataView(r),l=0;l<n;l++)a[l]=s.getUint16(2*l,t);return u(a)}(e,!0,!0);if(-1!=t.indexOf("PlayReadyKeyMessage")){for(var i=(new DOMParser).parseFromString(t,"application/xml"),r=i.getElementsByTagName("HttpHeader"),o={},n=0;n<r.length;++n){var a=r[n].querySelector("name"),s=r[n].querySelector("value");o[a.textContent]=s.textContent}return{header:o,changange:i.querySelector("Challenge").textContent}}console.log("PlayReady request is already unwrapped.")},t.exports={decode:function(e){var t,i,r,o,n,a=.75*e.length,s=e.length,l=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var u=new ArrayBuffer(a),c=new Uint8Array(u);for(t=0;t<s;t+=4)i=d[e.charCodeAt(t)],r=d[e.charCodeAt(t+1)],o=d[e.charCodeAt(t+2)],n=d[e.charCodeAt(t+3)],c[l++]=i<<2|r>>4,c[l++]=(15&r)<<4|o>>2,c[l++]=(3&o)<<6|63&n;return u},encode:function(e){var t,i=new Uint8Array(e),r=i.length,o="";for(t=0;t<r;t+=3)o+=n[i[t]>>2],o+=n[(3&i[t])<<4|i[t+1]>>4],o+=n[(15&i[t+1])<<2|i[t+2]>>6],o+=n[63&i[t+2]];return r%3==2?o=o.substring(0,o.length-1)+"=":r%3==1&&(o=o.substring(0,o.length-2)+"=="),o},unpackPlayReady:unpackPlayReady}},{}],14:[function(e,t,i){var r=e("./oo"),o=e("../player/base/event/eventtype");t.exports.stopPropagation=function(e){window.event?window.event.cancelBubble=!0:e.stopPropagation()},t.exports.register=function(e){e.util={stopPropagation:t.exports.stopPropagation},e.Component=r.extend,e.EventType=o.Player}},{"../player/base/event/eventtype":43,"./oo":27}],15:[function(e,t,i){var r=e("../lang/index");t.exports.LOAD_START="loadstart",t.exports.LOADED_METADATA="loadedmetadata",t.exports.LOADED_DATA="loadeddata",t.exports.PROGRESS="progress",t.exports.CAN_PLAY="canplay",t.exports.CAN_PLYA_THROUGH="canplaythrough",t.exports.PLAY="play",t.exports.PAUSE="pause",t.exports.ENDED="ended",t.exports.PLAYING="playing",t.exports.WAITING="waiting",t.exports.ERROR="error",t.exports.SUSPEND="suspend",t.exports.STALLED="stalled",t.exports.AuthKeyExpiredEvent="authkeyexpired",t.exports.DRMKeySystem={4:"com.microsoft.playready",5:"com.widevine.alpha"},t.exports.EncryptionType={Private:1,Standard:2,ChinaDRM:3,PlayReady:4,Widevine:5},t.exports.VodEncryptionType={AliyunVoDEncryption:1,HLSEncryption:2},t.exports.DRMType={Widevine:"Widevine",PlayReady:"PlayReady"},t.exports.ErrorCode={InvalidParameter:4001,AuthKeyExpired:4002,InvalidSourceURL:4003,NotFoundSourceURL:4004,StartLoadData:4005,LoadedMetadata:4006,PlayingError:4007,LoadingTimeout:4008,RequestDataError:4009,EncrptyVideoNotSupport:4010,FormatNotSupport:4011,PlayauthDecode:4012,PlayDataDecode:4013,NetworkUnavaiable:4014,UserAbort:4015,NetworkError:4016,URLsIsEmpty:4017,CrossDomain:4027,OtherError:4400,ServerAPIError:4500,FlashNotInstalled:4600},t.exports.AuthKeyExpired=7200,t.exports.AuthKeyRefreshExpired=7e3,t.exports.AuthInfoExpired=100,t.exports.VideoErrorCode={1:4015,2:4016,3:4013,4:4400},t.exports.IconType={FontClass:"fontclass",Symbol:"symbol",Sprite:"Sprite"},t.exports.SelectedStreamLevel="selectedStreamLevel",t.exports.SelectedCC="selectedCC",t.exports.WidthMapToLevel={0:"OD",640:"FD",960:"LD",1280:"SD",1920:"HD",2580:"2K",3840:"4K"};var o=function(){t.exports.VideoErrorCodeText={1:r.get("Error_Load_Abort_Text"),2:r.get("Error_Network_Text"),3:r.get("Error_Decode_Text"),4:r.get("Error_Server_Network_NotSupport_Text")},t.exports.VideoLevels={0:r.get("OD"),640:r.get("FD"),960:r.get("LD"),1280:r.get("SD"),1920:r.get("HD"),2580:r.get("2K"),3840:r.get("4K")},t.exports.QualityLevels={OD:r.get("OD"),LD:r.get("LD"),FD:r.get("FD"),SD:r.get("SD"),HD:r.get("HD"),"2K":r.get("2K"),"4K":r.get("4K"),XLD:r.get("XLD"),FHD:r.get("FHD"),SQ:r.get("SQ"),HQ:r.get("HQ")},t.exports.SpeedLevels=[{key:.5,text:r.get("Speed_05X_Text")},{key:1,text:r.get("Speed_1X_Text")},{key:1.25,text:r.get("Speed_125X_Text")},{key:1.5,text:r.get("Speed_15X_Text")},{key:2,text:r.get("Speed_2X_Text")}]};o(),t.exports.updateByLanguage=o},{"../lang/index":11}],16:[function(e,t,i){t.exports.get=function(e){for(var t=e+"",i=document.cookie.split(";"),r=0;r<i.length;r++){var o=i[r].trim();if(0==o.indexOf(t))return unescape(o.substring(t.length+1,o.length))}return""},t.exports.set=function(e,t,i){var r=new Date;r.setTime(r.getTime()+24*i*60*60*1e3);var o="expires="+r.toGMTString();document.cookie=e+"="+escape(t)+"; "+o}},{}],17:[function(e,i,t){var r=e("./object");i.exports.cache={},i.exports.guid=function(e,t){var i,r,o="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),n=[];if(t=t||o.length,e)for(i=0;i<e;i++)n[i]=o[0|Math.random()*t];else for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",i=0;i<36;i++)n[i]||(r=0|16*Math.random(),n[i]=o[19==i?3&r|8:r]);return n.join("")},i.exports.expando="vdata"+(new Date).getTime(),i.exports.getData=function(e){var t=e[i.exports.expando];return t||(t=e[i.exports.expando]=i.exports.guid(),i.exports.cache[t]={}),i.exports.cache[t]},i.exports.hasData=function(e){var t="";return e&&(t=e[i.exports.expando]),!(!t||r.isEmpty(i.exports.cache[t]))},i.exports.removeData=function(t){var e="";if(t&&(e=t[i.exports.expando]),e){delete i.exports.cache[e];try{delete t[i.exports.expando]}catch(e){t.removeAttribute?t.removeAttribute(i.exports.expando):t[i.exports.expando]=null}}}},{"./object":26}],18:[function(e,c,t){var r=e("./object");c.exports.el=function(e){return document.getElementById(e)},c.exports.createEl=function(e,t){var i;return e=e||"div",t=t||{},i=document.createElement(e),r.each(t,function(e,t){-1!==e.indexOf("aria-")||"role"==e?i.setAttribute(e,t):i[e]=t}),i},c.exports.addClass=function(e,t){-1==(" "+e.className+" ").indexOf(" "+t+" ")&&(e.className=""===e.className?t:e.className+" "+t)},c.exports.removeClass=function(e,t){var i,r;if(-1!=e.className.indexOf(t)){for(r=(i=e.className.split(" ")).length-1;0<=r;r--)i[r]===t&&i.splice(r,1);e.className=i.join(" ")}},c.exports.hasClass=function(e,t){return-1!=e.className.indexOf(t)},c.exports.getClasses=function(e){return e.className?e.className.split(" "):[]},c.exports.getElementAttributes=function(e){var t,i,r,o,n;if(t={},i=",autoplay,controls,loop,muted,default,",e&&e.attributes&&0<e.attributes.length)for(var a=(r=e.attributes).length-1;0<=a;a--)o=r[a].name,n=r[a].value,"boolean"!=typeof e[o]&&-1===i.indexOf(","+o+",")||(n=null!==n),t[o]=n;return t},c.exports.insertFirst=function(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)},c.exports.blockTextSelection=function(){document.body.focus(),document.onselectstart=function(){return!1}},c.exports.unblockTextSelection=function(){document.onselectstart=function(){return!0}},c.exports.css=function(i,e,t){return!(!i||!i.style)&&(e&&t?(i.style[e]=t,!0):t||"string"!=typeof e?!t&&"object"==typeof e&&(r.each(e,function(e,t){i.style[e]=t}),!0):i.style[e])},c.exports.getTransformName=function(e){var t,i,r=["transform","WebkitTransform","MozTransform","msTransform","OTransform"],o=r[0];for(t=0,i=r.length;t<i;t++)if(void 0!==e.style[r[t]]){o=r[t];break}return o},c.exports.getTransformEventName=function(e,t){var i,r,o=["","Webkit","Moz","ms","O"],n=t.toLowerCase(),a=["transform","WebkitTransform","MozTransform","msTransform","OTransform"];for(i=0,r=a.length;i<r;i++)if(void 0!==e.style[a[i]]){0!=i&&(n=o[i]+t);break}return n},c.exports.addCssByStyle=function(e){var t=document,i=t.createElement("style");if(i.setAttribute("type","text/css"),i.styleSheet)i.styleSheet.cssText=e;else{var r=t.createTextNode(e);i.appendChild(r)}var o=t.getElementsByTagName("head");o.length?o[0].appendChild(i):t.documentElement.appendChild(i)},c.exports.getTranslateX=function(e){var t=0;if(e)try{var i=window.getComputedStyle(e),r=c.exports.getTransformName(e);t=new WebKitCSSMatrix(i[r]).m41}catch(e){console.log(e)}return t},c.exports.getPointerPosition=function(e,t){var i={},r=c.exports.findPosition(e),o=e.offsetWidth,n=e.offsetHeight,a=r.top,s=r.left,l=t.pageY,u=t.pageX;return t.changedTouches&&(u=t.changedTouches[0].pageX,l=t.changedTouches[0].pageY),i.y=Math.max(0,Math.min(1,(a-l+n)/n)),i.x=Math.max(0,Math.min(1,(u-s)/o)),i},c.exports.findPosition=function(e){var t;if(e.getBoundingClientRect&&e.parentNode&&(t=e.getBoundingClientRect()),!t)return{left:0,top:0};var i=document.documentElement,r=document.body,o=i.clientLeft||r.clientLeft||0,n=window.pageXOffset||r.scrollLeft,a=t.left+n-o,s=i.clientTop||r.clientTop||0,l=window.pageYOffset||r.scrollTop,u=t.top+l-s;return{left:Math.round(a),top:Math.round(u)}}},{"./object":26}],19:[function(e,l,t){var u=e("./object"),c=e("./data"),i=e("./ua"),r=e("fastclick");function d(t,i,e,r){u.each(e,function(e){t(i,e,r)})}l.exports.on=function(n,e,t){if(n){if(u.isArray(e))return d(l.exports.on,n,e,t);i.IS_MOBILE&&"click"==e&&r(n);var a=c.getData(n);a.handlers||(a.handlers={}),a.handlers[e]||(a.handlers[e]=[]),t.guid||(t.guid=c.guid()),a.handlers[e].push(t),a.dispatcher||(a.disabled=!1,a.dispatcher=function(e){if(!a.disabled){e=l.exports.fixEvent(e);var t=a.handlers[e.type];if(t)for(var i=t.slice(0),r=0,o=i.length;r<o&&!e.isImmediatePropagationStopped();r++)i[r].call(n,e)}}),1==a.handlers[e].length&&(n.addEventListener?n.addEventListener(e,a.dispatcher,!1):n.attachEvent&&n.attachEvent("on"+e,a.dispatcher))}},l.exports.off=function(t,e,i){if(t&&c.hasData(t)){var r=c.getData(t);if(r.handlers){if(u.isArray(e))return d(l.exports.off,t,e,i);var o=function(e){r.handlers[e]=[],l.exports.cleanUpEvents(t,e)};if(e){var n=r.handlers[e];if(n)if(i){if(i.guid)for(var a=0;a<n.length;a++)n[a].guid===i.guid&&n.splice(a--,1);l.exports.cleanUpEvents(t,e)}else o(e)}else for(var s in r.handlers)o(s)}}},l.exports.cleanUpEvents=function(e,t){var i=c.getData(e);0===i.handlers[t].length&&(delete i.handlers[t],e.removeEventListener?e.removeEventListener(t,i.dispatcher,!1):e.detachEvent&&e.detachEvent("on"+t,i.dispatcher)),u.isEmpty(i.handlers)&&(delete i.handlers,delete i.dispatcher,delete i.disabled),u.isEmpty(i)&&c.removeData(e)},l.exports.fixEvent=function(e){function t(){return!0}function i(){return!1}if(!e||!e.isPropagationStopped){var r=e||window.event;for(var o in e={},r)"layerX"!==o&&"layerY"!==o&&"keyboardEvent.keyLocation"!==o&&("returnValue"==o&&r.preventDefault||(e[o]=r[o]));if(e.target||(e.target=e.srcElement||document),e.relatedTarget=e.fromElement===e.target?e.toElement:e.fromElement,e.preventDefault=function(){r.preventDefault&&r.preventDefault(),e.returnValue=!1,e.isDefaultPrevented=t,e.defaultPrevented=!0},e.isDefaultPrevented=i,e.defaultPrevented=!1,e.stopPropagation=function(){r.stopPropagation&&r.stopPropagation(),e.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=i,e.stopImmediatePropagation=function(){r.stopImmediatePropagation&&r.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=i,null!=e.clientX){var n=document.documentElement,a=document.body;e.pageX=e.clientX+(n&&n.scrollLeft||a&&a.scrollLeft||0)-(n&&n.clientLeft||a&&a.clientLeft||0),e.pageY=e.clientY+(n&&n.scrollTop||a&&a.scrollTop||0)-(n&&n.clientTop||a&&a.clientTop||0)}e.which=e.charCode||e.keyCode,null!=e.button&&(e.button=1&e.button?0:4&e.button?1:2&e.button?2:0)}return e},l.exports.trigger=function(e,t){if(e){var i=c.hasData(e)?c.getData(e):{},r=e.parentNode||e.ownerDocument;if("string"==typeof t){var o=null;(e.paramData||0==e.paramData)&&(o=e.paramData,e.paramData=null,e.removeAttribute(o)),t={type:t,target:e,paramData:o}}if(t=l.exports.fixEvent(t),i.dispatcher&&i.dispatcher.call(e,t),r&&!t.isPropagationStopped()&&!1!==t.bubbles)l.exports.trigger(r,t);else if(!r&&!t.defaultPrevented){var n=c.getData(t.target);t.target[t.type]&&(n.disabled=!0,"function"==typeof t.target[t.type]&&t.target[t.type](),n.disabled=!1)}return!t.defaultPrevented}},l.exports.one=function(e,t,i){if(e){if(u.isArray(t))return d(l.exports.one,e,t,i);var r=function(){l.exports.off(e,t,r),i.apply(this,arguments)};r.guid=i.guid=i.guid||c.guid(),l.exports.on(e,t,r)}}},{"./data":17,"./object":26,"./ua":31,fastclick:1}],20:[function(e,t,i){var o=e("./data");t.exports.bind=function(e,t,i){t.guid||(t.guid=o.guid());var r=function(){return t.apply(e,arguments)};return r.guid=i?i+"_"+t.guid:t.guid,r}},{"./data":17}],21:[function(e,t,i){var r=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/\;?#]*)?(.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,c=/^([^\/;?#]*)(.*)$/,o=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,d={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=d.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");return r.path=d.normalizePath(r.path),d.buildURLFromParts(r)}var o=d.parseURL(t);if(!o)throw new Error("Error trying to parse relative URL.");if(o.scheme)return i.alwaysNormalize?(o.path=d.normalizePath(o.path),d.buildURLFromParts(o)):t;var n=d.parseURL(e);if(!n)throw new Error("Error trying to parse base URL.");if(!n.netLoc&&n.path&&"/"!==n.path[0]){var a=c.exec(n.path);n.netLoc=a[1],n.path=a[2]}n.netLoc&&!n.path&&(n.path="/");var s={scheme:n.scheme,netLoc:o.netLoc,path:null,params:o.params,query:o.query,fragment:o.fragment};if(!o.netLoc&&(s.netLoc=n.netLoc,"/"!==o.path[0]))if(o.path){var l=n.path,u=l.substring(0,l.lastIndexOf("/")+1)+o.path;s.path=d.normalizePath(u)}else s.path=n.path,o.params||(s.params=n.params,o.query||(s.query=n.query));return null===s.path&&(s.path=i.alwaysNormalize?d.normalizePath(o.path):o.path),d.buildURLFromParts(s)},parseURL:function(e){var t=r.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(o,"");e.length!==(e=e.replace(n,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};t.exports=d},{}],22:[function(e,t,i){var r=/^(\d+)x(\d+)$/,o=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,n=function(e){for(var t in"string"==typeof e&&(e=this.parseAttrList(e)),e)e.hasOwnProperty(t)&&(this[t]=e[t])};n.prototype={decimalInteger:function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},hexadecimalInteger:function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var i=new Uint8Array(t.length/2),r=0;r<t.length/2;r++)i[r]=parseInt(t.slice(2*r,2*r+2),16);return i}return null},hexadecimalIntegerAsNumber:function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},decimalFloatingPoint:function(e){return parseFloat(this[e])},enumeratedString:function(e){return this[e]},decimalResolution:function(e){var t=r.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},parseAttrList:function(e){var t,i={};for(o.lastIndex=0;null!==(t=o.exec(e));){var r=t[2];0===r.indexOf('"')&&r.lastIndexOf('"')===r.length-1&&(r=r.slice(1,-1)),i[t[1]]=r}return i}},t.exports=n},{}],23:[function(e,t,i){var P=e("./attrlist"),r=e("../io"),o=e("./URLToolkit"),c=/#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g,u=/#EXT-X-MEDIA:(.*)/g,w=new RegExp([/#EXTINF:(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/|(?!#)(\S+)/.source,/|#EXT-X-BYTERANGE:*(.+)/.source,/|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/|#.*/.source].join(""),"g"),C=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)(.*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/,k=function(){this.method=null,this.key=null,this.iv=null,this._uri=null},I=function(){this._url=null,this._byteRange=null,this._decryptdata=null,this.tagList=[]};I.prototype.getUrl=function(){return!this._url&&this.relurl&&(this._url=o.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url},I.prototype.Seturl=function(e){this._url=e},I.prototype.getProgramDateTime=function(){return!this._programDateTime&&this.rawProgramDateTime&&(this._programDateTime=new Date(Date.parse(this.rawProgramDateTime))),this._programDateTime},I.prototype.GetbyteRange=function(){if(!this._byteRange){var e=this._byteRange=[];if(this.rawByteRange){var t=this.rawByteRange.split("@",2);if(1===t.length){var i=this.lastByteRangeEndOffset;e[0]=i||0}else e[0]=parseInt(t[1]);e[1]=parseInt(t[0])+e[0]}}return this._byteRange},I.prototype.getByteRangeStartOffset=function(){return this.byteRange[0]},I.prototype.getByteRangeEndOffset=function(){return this.byteRange[1]};I.prototype.getDecryptdata=function(){return this._decryptdata||(this._decryptdata=this.fragmentDecryptdataFromLevelkey(this.levelkey,this.sn)),this._decryptdata};var n=function(){this.loaders={}};n.prototype={parseMasterPlaylist:function(e,t){var i,r=[];for(c.lastIndex=0;null!=(i=c.exec(e));){var o={},n=o.attrs=new P(i[1]);o.url=this.resolve(i[2],t);var a=n.decimalResolution("RESOLUTION");a&&(o.width=a.width,o.height=a.height),o.bitrate=n.decimalInteger("AVERAGE-BANDWIDTH")||n.decimalInteger("BANDWIDTH"),o.name=n.NAME;var s=n.CODECS;if(s){s=s.split(/[ ,]+/);for(var l=0;l<s.length;l++){var u=s[l];-1!==u.indexOf("avc1")?o.videoCodec=this.avc1toavcoti(u):-1!==u.indexOf("hvc1")?o.videoCodec=u:o.audioCodec=u}}r.push(o)}return r},parseMasterPlaylistMedia:function(e,t,i,r){var o,n=[],a=0;for(u.lastIndex=0;null!=(o=u.exec(e));){var s={},l=new P(o[1]);l.TYPE===i&&(s.groupId=l["GROUP-ID"],s.name=l.NAME,s.type=i,s["default"]="YES"===l.DEFAULT,s.autoselect="YES"===l.AUTOSELECT,s.forced="YES"===l.FORCED,l.URI&&(s.url=this.resolve(l.URI,t)),s.lang=l.LANGUAGE,s.name||(s.name=s.lang),r&&(s.audioCodec=r),s.id=a++,n.push(s))}return n},avc1toavcoti:function(e){var t,i=e.split(".");return 2<i.length?(t=i.shift()+".",t+=parseInt(i.shift()).toString(16),t+=("000"+parseInt(i.shift()).toString(16)).substr(-4)):t=e,t},parseLevelPlaylist:function(e,t,i,r){var o,n,a=0,s=0,l={type:null,version:null,url:t,fragments:[],live:!0,startSN:0},u=new k,c=0,d=null,p=new I;for(w.lastIndex=0;null!==(o=w.exec(e));){var h=o[1];if(h){p.duration=parseFloat(h);var f=(" "+o[2]).slice(1);p.title=f||null,p.tagList.push(f?["INF",h,f]:["INF",h])}else if(o[3]){if(!isNaN(p.duration)){var _=a++;p.type=r,p.start=s,p.levelkey=u,p.sn=_,p.level=i,p.cc=c,p.baseurl=t,p.relurl=(" "+o[3]).slice(1),l.fragments.push(p),s+=(d=p).duration,p=new I}}else if(o[4]){if(p.rawByteRange=(" "+o[4]).slice(1),d){var g=d.byteRangeEndOffset;g&&(p.lastByteRangeEndOffset=g)}}else if(o[5])p.rawProgramDateTime=(" "+o[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),void 0===l.programDateTime&&(l.programDateTime=new Date(new Date(Date.parse(o[5]))-1e3*s));else{for(o=o[0].match(C),n=1;n<o.length&&void 0===o[n];n++);var y=(" "+o[n+1]).slice(1),v=(" "+o[n+2]).slice(1);switch(o[n]){case"#":p.tagList.push(v?[y,v]:[y]);break;case"PLAYLIST-TYPE":l.type=y.toUpperCase();break;case"MEDIA-SEQUENCE":a=l.startSN=parseInt(y);break;case"TARGETDURATION":l.targetduration=parseFloat(y);break;case"VERSION":l.version=parseInt(y);break;case"EXTM3U":break;case"ENDLIST":l.live=!1;break;case"DIS":c++,p.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":c=parseInt(y);break;case"KEY":var m=new P(y),S=m.enumeratedString("METHOD"),T=m.URI,b=m.hexadecimalInteger("IV");S&&(u=new k,T&&0<=["AES-128","SAMPLE-AES"].indexOf(S)&&(u.method=S,u.baseuri=t,u.reluri=T,u.key=null,u.iv=b));break;case"START":var x=new P(y).decimalFloatingPoint("TIME-OFFSET");isNaN(x)||(l.startTimeOffset=x);break;case"MAP":var E=new P(y);p.relurl=E.URI,p.rawByteRange=E.BYTERANGE,p.baseurl=t,p.level=i,p.type=r,p.sn="initSegment",l.initSegment=p,p=new I;break;default:console.log("line parsed but not handled: result")}}}return(p=d)&&!p.relurl&&(l.fragments.pop(),s-=p.duration),l.totalduration=s,l.averagetargetduration=s/l.fragments.length,l.endSN=a-1,l},load:function(n,a){var s=this;r.get(n,function(e){var t=s.parseMasterPlaylist(e,n);if(t.length){var i=s.parseMasterPlaylistMedia(e,n,"AUDIO",t[0].audioCodec),r=s.parseMasterPlaylistMedia(e,n,"SUBTITLES");if(i.length){var o=!1;i.forEach(function(e){e.url||(o=!0)}),!1===o&&t[0].audioCodec&&!t[0].attrs.AUDIO&&(console.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"),i.unshift({type:"main",name:"main"}))}}a({levels:t,audioTracks:i,subtitles:r,url:n})},function(e){console.log(e)})},resolve:function(e,t){return o.buildAbsoluteURL(t,e,{alwaysNormalize:!0})},parseMasterPlaylist:function(e,t){var i,r=[];for(c.lastIndex=0;null!=(i=c.exec(e));){var o={},n=o.attrs=new P(i[1]);o.url=this.resolve(i[2],t);var a=n.decimalResolution("RESOLUTION");a&&(o.width=a.width,o.height=a.height),o.bitrate=n.decimalInteger("AVERAGE-BANDWIDTH")||n.decimalInteger("BANDWIDTH"),o.name=n.NAME;var s=n.CODECS;if(s){s=s.split(/[ ,]+/);for(var l=0;l<s.length;l++){var u=s[l];-1!==u.indexOf("avc1")?o.videoCodec=this.avc1toavcoti(u):-1!==u.indexOf("hvc1")?o.videoCodec=u:o.audioCodec=u}}r.push(o)}return r},parseMasterPlaylistMedia:function(e,t,i,r){var o,n=[],a=0;for(u.lastIndex=0;null!=(o=u.exec(e));){var s={},l=new P(o[1]);l.TYPE===i&&(s.groupId=l["GROUP-ID"],s.name=l.NAME,s.type=i,s["default"]="YES"===l.DEFAULT,s.autoselect="YES"===l.AUTOSELECT,s.forced="YES"===l.FORCED,l.URI&&(s.url=this.resolve(l.URI,t)),s.lang=l.LANGUAGE,s.name||(s.name=s.lang),r&&(s.audioCodec=r),s.id=a++,n.push(s))}return n},avc1toavcoti:function(e){var t,i=e.split(".");return 2<i.length?(t=i.shift()+".",t+=parseInt(i.shift()).toString(16),t+=("000"+parseInt(i.shift()).toString(16)).substr(-4)):t=e,t},parseLevelPlaylist:function(e,t,i,r){var o,n,a=0,s=0,l={type:null,version:null,url:t,fragments:[],live:!0,startSN:0},u=new k,c=0,d=null,p=new I;for(w.lastIndex=0;null!==(o=w.exec(e));){var h=o[1];if(h){p.duration=parseFloat(h);var f=(" "+o[2]).slice(1);p.title=f||null,p.tagList.push(f?["INF",h,f]:["INF",h])}else if(o[3]){if(!isNaN(p.duration)){var _=a++;p.type=r,p.start=s,p.levelkey=u,p.sn=_,p.level=i,p.cc=c,p.baseurl=t,p.relurl=(" "+o[3]).slice(1),l.fragments.push(p),s+=(d=p).duration,p=new I}}else if(o[4]){if(p.rawByteRange=(" "+o[4]).slice(1),d){var g=d.byteRangeEndOffset;g&&(p.lastByteRangeEndOffset=g)}}else if(o[5])p.rawProgramDateTime=(" "+o[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),void 0===l.programDateTime&&(l.programDateTime=new Date(new Date(Date.parse(o[5]))-1e3*s));else{for(o=o[0].match(C),n=1;n<o.length&&void 0===o[n];n++);var y=(" "+o[n+1]).slice(1),v=(" "+o[n+2]).slice(1);switch(o[n]){case"#":p.tagList.push(v?[y,v]:[y]);break;case"PLAYLIST-TYPE":l.type=y.toUpperCase();break;case"MEDIA-SEQUENCE":a=l.startSN=parseInt(y);break;case"TARGETDURATION":l.targetduration=parseFloat(y);break;case"VERSION":l.version=parseInt(y);break;case"EXTM3U":break;case"ENDLIST":l.live=!1;break;case"DIS":c++,p.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":c=parseInt(y);break;case"KEY":var m=new P(y),S=m.enumeratedString("METHOD"),T=m.URI,b=m.hexadecimalInteger("IV");S&&(u=new k,T&&0<=["AES-128","SAMPLE-AES"].indexOf(S)&&(u.method=S,u.baseuri=t,u.reluri=T,u.key=null,u.iv=b));break;case"START":var x=new P(y).decimalFloatingPoint("TIME-OFFSET");isNaN(x)||(l.startTimeOffset=x);break;case"MAP":var E=new P(y);p.relurl=E.URI,p.rawByteRange=E.BYTERANGE,p.baseurl=t,p.level=i,p.type=r,p.sn="initSegment",l.initSegment=p,p=new I;break;default:console.log("line parsed but not handled: "+o)}}}return(p=d)&&!p.relurl&&(l.fragments.pop(),s-=p.duration),l.totalduration=s,l.averagetargetduration=s/l.fragments.length,l.endSN=a-1,l}},t.exports=n},{"../io":24,"./URLToolkit":21,"./attrlist":22}],24:[function(e,s,t){var h=e("./url");s.exports.get=function(e,t,i,r,o){s.exports.ajax("GET",e,{},t,i,r,o)},s.exports.post=function(e,t,i,r,o,n){var a={"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json"};s.exports.ajax("POST",e,t,i,r,o,n,a)},s.exports.postWithHeader=function(e,t,i,r,o){s.exports.ajax("POST",e,t,r,o,!0,!1,i)},s.exports.ajax=function(e,t,i,r,o,n,a,s){var l,u,c,d;o=o||function(){},"undefined"==typeof XMLHttpRequest&&(window.XMLHttpRequest=function(){try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("This browser does not support XMLHttpRequest.")}),u=new XMLHttpRequest,c=h.parseUrl(t),d=window.location,!(c.protocol+c.host!==d.protocol+d.host)||!window.XDomainRequest||"withCredentials"in u?(l="file:"==c.protocol||"file:"==d.protocol,u.onreadystatechange=function(){4===u.readyState&&(200===u.status||l&&0===u.status?r(u.responseText):o(u.responseText))}):((u=new window.XDomainRequest).onload=function(){r(u.responseText)},u.onerror=o,u.onprogress=function(){},u.ontimeout=o);try{if(void 0===n&&(n=!0),u.open(e,t,n),a&&(u.withCredentials=!0),s)for(var p in s)s.hasOwnProperty(p)&&u.setRequestHeader(p,s[p])}catch(e){return void o(e)}try{u.send(i)}catch(e){o(e)}},s.exports.jsonp=function(e,t,i){var r="jsonp_callback_"+Math.round(1e5*Math.random()),o=document.createElement("script");e&&(o.src=e+(0<=e.indexOf("?")?"&":"?")+"callback="+r+"&cb="+r,o.onerror=function(){delete window[r],document.body.removeChild(o),i()},o.onload=function(){setTimeout(function(){window[r]&&(delete window[r],document.body.removeChild(o))},0)},window[r]=function(e){delete window[r],document.body.removeChild(o),t(e)},document.body.appendChild(o))},s.exports.loadJS=function(e,t){var i=document.getElementsByTagName("HEAD").item(0),r=document.createElement("script");r.type="text/javascript",r.src=e,r.onload=function(){t&&t()},i.appendChild(r)}},{"./url":32}],25:[function(e,t,i){var s=e("./dom");t.exports.render=function(e,t){var i=t.align?t.align:"tl",r=t.x?t.x:0,o=t.y?t.y:0,n=r.indexOf&&0<r.indexOf("%")?"":"px",a=o.indexOf&&0<o.indexOf("%")?"":"px";"tl"===i?s.css(e,{"float":"left","margin-left":r+n,"margin-top":o+a}):"tr"===i?s.css(e,{"float":"right","margin-right":r+n,"margin-top":o+a}):"tlabs"===i?s.css(e,{position:"absolute",left:r+n,top:o+a}):"trabs"===i?s.css(e,{position:"absolute",right:r+n,top:o+a}):"blabs"===i?s.css(e,{position:"absolute",left:r+n,bottom:o+a}):"brabs"===i?s.css(e,{position:"absolute",right:r+n,bottom:o+a}):"cc"===i&&s.addClass(e,"center")}},{"./dom":18}],26:[function(e,a,t){var s=Object.prototype.hasOwnProperty;a.exports.create=Object.create||function(e){function t(){}return t.prototype=e,new t},a.exports.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(arg)},a.exports.isEmpty=function(e){for(var t in e)if(null!==e[t])return!1;return!0},a.exports.each=function(e,t,i){if(a.exports.isArray(e))for(var r=0,o=e.length;r<o&&!1!==t.call(i||this,e[r],r);++r);else for(var n in e)if(s.call(e,n)&&!1===t.call(i||this,n,e[n]))break;return e},a.exports.merge=function(e,t){if(!t)return e;for(var i in t)s.call(t,i)&&(e[i]=t[i]);return e},a.exports.deepMerge=function(e,t){var i,r,o;for(i in e=a.exports.copy(e),t)s.call(t,i)&&(r=e[i],o=t[i],a.exports.isPlain(r)&&a.exports.isPlain(o)?e[i]=a.exports.deepMerge(r,o):e[i]=t[i]);return e},a.exports.copy=function(e){return a.exports.merge({},e)},a.exports.isPlain=function(e){return!!e&&"object"==typeof e&&"[object Object]"===e.toString()&&e.constructor===Object},a.exports.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a.exports.unescape=function(e){return e.replace(/&([^;]+);/g,function(e,t){return{amp:"&",lt:"<",gt:">",quot:'"',"#x27":"'","#x60":"`"}[t.toLowerCase()]||e})}},{}],27:[function(e,t,i){var o=e("./object"),n=function(){};(n=function(){}).extend=function(e){var t,i;for(var r in t=(e=e||{}).init||e.init||this.prototype.init||this.prototype.init||function(){},(((i=function(){t.apply(this,arguments)}).prototype=o.create(this.prototype)).constructor=i).extend=n.extend,i.create=n.create,e)e.hasOwnProperty(r)&&(i.prototype[r]=e[r]);return i},n.create=function(){var e=o.create(this.prototype);return this.apply(e,arguments),e},t.exports=n},{"./object":26}],28:[function(e,f,t){var _=e("./object"),i=e("../config"),r=e("./dom"),o=e("./cookie"),n=e("./constants"),a=e("../lang/index"),s=e("./ua"),g=e("../player/base/plugin/defaultemptycomponent"),y={preload:!0,autoplay:!0,useNativeControls:!1,width:"100%",height:"300px",cover:"",from:"",trackLog:!0,logBatched:!0,isLive:!1,playsinline:!0,showBarTime:5e3,rePlay:!1,liveRetry:5,liveRetryInterval:1,liveRetryStep:0,vodRetry:3,format:"",definition:"",defaultDefinition:"",loadDataTimeout:20,waitingTimeout:60,delayLoadingShow:1,controlBarForOver:!1,controlBarVisibility:"hover",enableSystemMenu:!1,qualitySort:"asc",x5_video_position:"normal",x5_type:"",x5_fullscreen:!1,x5_orientation:"landscape|portrait",x5LandscapeAsFullScreen:!0,autoPlayDelay:0,autoPlayDelayDisplayText:"",useHlsPluginForSafari:!1,enableMSEForAndroid:!0,encryptType:0,language:"zh-cn",languageTexts:{},mediaType:"video",outputType:"",playConfig:{},reAuthInfo:{},components:[],liveTimeShiftUrl:"",liveShiftSource:"",liveShiftTime:"",videoHeight:"100%",videoWidth:"100%",enableWorker:!0,authTimeout:"",enableMockFullscreen:!1,region:"cn-shanghai",debug:!1,progressMarkers:[],snapshotWatermark:{left:"500",top:"100",text:"",font:"16px \u5b8b\u4f53",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},liveStartTime:"",liveOverTime:"",enableStashBufferForFlv:!0,stashInitialSizeForFlv:32,flvOption:{},hlsOption:{stopLoadAsPaused:!1},hlsLoadingTimeOut:2e4,useHlsPlugOnMobile:!0,nudgeMaxRetry:5,tracks:[],recreatePlayer:function(){},diagnosisButtonVisible:!0,_native:!0,ai:{label:!1,meta:{url:"http://172.19.61.105:8085/meta/query",getMeta:""},boxes:"",host:"",app:"",streamName:"",startDateTime:0,waitMetaDataTime:2,displayAttrs:{header:"\u59d3\u540d","\u8bc1\u4ef6\u53f7\u7801":"text","\u6027\u522b":"text","\u5e74\u9f84":"text","\u53d1\u578b":"text","\u4eba\u8138\u5927\u56fe":function(e){},"\u4eba\u8138\u5c0f\u56fe":function(e){}},getClass:function(e,t){return""}},thumbnailUrl:"",skinRes:"//"+i.domain+"/de/prismplayer-flash/"+i.flashVersion+"/atlas/defaultSkin"};f.exports.defaultH5Layout=[{name:"bigPlayButton",align:"blabs",x:30,y:80},{name:"H5Loading",align:"cc"},{name:"errorDisplay",align:"tlabs",x:0,y:0},{name:"infoDisplay"},{name:"tooltip",align:"blabs",x:0,y:50},{name:"thumbnail"},{name:"controlBar",align:"blabs",x:0,y:0,children:[{name:"progress",align:"blabs",x:0,y:44},{name:"playButton",align:"tl",x:15,y:12},{name:"timeDisplay",align:"tl",x:10,y:5},{name:"fullScreenButton",align:"tr",x:10,y:12},{name:"subtitle",align:"tr",x:15,y:12},{name:"setting",align:"tr",x:15,y:12},{name:"volume",align:"tr",x:5,y:10}]}],f.exports.defaultAudioLayout=[{name:"controlBar",align:"blabs",x:0,y:0,children:[{name:"progress",align:"blabs",x:0,y:44},{name:"playButton",align:"tl",x:15,y:12},{name:"timeDisplay",align:"tl",x:10,y:5},{name:"volume",align:"tr",x:5,y:10}]}],f.exports.defaultFlashLayout=[{name:"bigPlayButton",align:"blabs",x:30,y:80},{name:"controlBar",align:"blabs",x:0,y:0,children:[{name:"progress",align:"tlabs",x:0,y:0},{name:"playButton",align:"tl",x:15,y:26},{name:"nextButton",align:"tl",x:10,y:26},{name:"timeDisplay",align:"tl",x:10,y:24},{name:"fullScreenButton",align:"tr",x:10,y:25},{name:"streamButton",align:"tr",x:10,y:23},{name:"volume",align:"tr",x:10,y:25}]},{name:"fullControlBar",align:"tlabs",x:0,y:0,children:[{name:"fullTitle",align:"tl",x:25,y:6},{name:"fullNormalScreenButton",align:"tr",x:24,y:13},{name:"fullTimeDisplay",align:"tr",x:10,y:12},{name:"fullZoom",align:"cc"}]}],f.exports.canPlayType=function(e){var t=document.createElement("video");return t.canPlayType?t.canPlayType(e):""},f.exports.canPlayHls=function(){return""!=f.exports.canPlayType("application/x-mpegURL")},f.exports.isUsedHlsPluginOnMobile=function(e){return!(!s.IS_MOBILE||!s.IS_CHROME&&!s.IS_FIREFOX)},f.exports.isSafariUsedHlsPlugin=function(e){return!!(s.os.pc&&s.browser.safari&&e)},f.exports.hasUIComponent=function(e,t){if(void 0===e||!e||0==e.length)return!1;for(var i=0,r=e.length;i<r;i++){var o=e[i].name;if(o==t)return!0;if("controlBar"==o)return f.exports.hasUIComponent(e[i].children,t)}return!1},f.exports.validateSource=function(e){return!0},f.exports.supportH5Video=function(){return void 0!==document.createElement("video").canPlayType},f.exports.createWrapper=function(e){var t,i=e.id;if(!(t="string"==typeof i?(0===i.indexOf("#")&&(i=i.slice(1)),r.el(i)):i)||!t.nodeName)throw new TypeError("\u6ca1\u6709\u4e3a\u64ad\u653e\u5668\u6307\u5b9a\u5bb9\u5668");return f.exports.adjustContainerLayout(t,e),t},f.exports.adjustContainerLayout=function(e,t){t.width&&!e.style.width&&(e.style.width=t.width),t.height&&!e.style.height&&(e.style.height=t.height)},f.exports.isSupportHls=function(){var e=window.MediaSource=window.MediaSource||window.WebKitMediaSource,t=window.SourceBuffer=window.SourceBuffer||window.WebKitSourceBuffer,i=e&&"function"==typeof e.isTypeSupported&&e.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),r=!t||t.prototype&&"function"==typeof t.prototype.appendBuffer&&"function"==typeof t.prototype.remove;return i&&r},f.exports.isSupportFlv=function(){return f.exports.isSupportHls()},f.exports.isSupportMSE=function(){return!!window.Promise&&!!window.Uint8Array&&!!Array.prototype.forEach&&f.exports.isSupportedMediaSource()},f.exports.isSupportedMediaSource=function(){return!!window.MediaSource&&!!MediaSource.isTypeSupported},f.exports.isSupportedDrm=function(){return!!(window.MediaKeys&&window.navigator&&window.navigator.requestMediaKeySystemAccess&&window.MediaKeySystemAccess&&window.MediaKeySystemAccess.prototype.getConfiguration)&&f.exports.isSupportMSE()},f.exports.isAudio=function(e){return e&&0<e.toLowerCase().indexOf(".mp3")},f.exports.isLiveShift=function(e){return e.isLive&&e.liveStartTime&&e.liveOverTime},f.exports.isHls=function(e){return e&&0<e.toLowerCase().indexOf(".m3u8")},f.exports.isDash=function(e){return e&&0<e.toLowerCase().indexOf(".mpd")},f.exports.isFlv=function(e){return e&&0<e.toLowerCase().indexOf(".flv")},f.exports.isRTMP=function(e){return e&&-1<e.toLowerCase().indexOf("rtmp:")},f.exports.checkSecuritSupport=function(){return f.exports.isSupportHls()?"":s.IS_IOS?a.get("iOSNotSupportVodEncription"):a.get("UseChromeForVodEncription")},f.exports.findSelectedStreamLevel=function(e,t){var i=t;if(!i&&!(i=o.get(n.SelectedStreamLevel)))return o.set(n.SelectedStreamLevel,e[0].definition,365),0;for(var r=0;r<e.length;r++)if(e[r].definition==i)return r;return 0},f.exports.handleOption=function(e,t){var i=_.merge(_.copy(y),e),r=[{name:"fullScreenButton",align:"tr",x:20,y:12},{name:"subtitle",align:"tr",x:15,y:12},{name:"setting",align:"tr",x:15,y:12},{name:"volume",align:"tr",x:5,y:10}],o=!1;if(e.useFlashPrism||f.exports.isRTMP(e.source))o=!0,r=[{name:"liveIco",align:"tlabs",x:15,y:25},{name:"fullScreenButton",align:"tr",x:10,y:25},{name:"volume",align:"tr",x:10,y:25}];else{var n=f.exports.isLiveShift(i);n?(r.push({name:"liveShiftProgress",align:"tlabs",x:0,y:0}),r.push({name:"playButton",align:"tl",x:15,y:12}),r.push({name:"liveDisplay",align:"tl",x:15,y:6})):r.push({name:"liveDisplay",align:"tlabs",x:15,y:6})}if(e.isLive)if(void 0===e.skinLayout)i.skinLayout=[{name:"errorDisplay",align:"tlabs",x:0,y:0},{name:"infoDisplay"},{name:"bigPlayButton",align:"blabs",x:30,y:80},{name:"tooltip",align:"blabs",x:0,y:56},{name:"H5Loading",align:"cc"},{name:"controlBar",align:"blabs",x:0,y:0,children:r}];else if(0!=e.skinLayout){for(var a=e.skinLayout.length,s=[],l=-1,u=0;u<a;u++)if("controlBar"==i.skinLayout[u].name){l=u;for(var c=i.skinLayout[u].children.length,d=0;d<c;d++){var p=i.skinLayout[u].children[d].name;if("liveDisplay"==p||"liveIco"==p||"fullScreenButton"==p||"volume"==p||"snapshot"==p||"setting"==p||"subtitle"==p||n&&("progress"==p||"playButton"==p||"timeDisplay"==p)){var h=i.skinLayout[u].children[d];"progress"==p?h.name="liveShiftProgress":"timeDisplay"==p?h.name="liveShiftTimeDisplay":o&&"liveDisplay"==p&&(h.name="liveIco"),s.push(h)}}break}-1!=l&&(i.skinLayout[l].children=s)}return(void 0===e.components||!e.components||_.isArray(e.components)&&0==e.components.length)&&"false"!=e.components&&(i.components=[g]),i}},{"../config":5,"../lang/index":11,"../player/base/plugin/defaultemptycomponent":63,"./constants":15,"./cookie":16,"./dom":18,"./object":26,"./ua":31}],29:[function(e,t,i){arguments[4][28][0].apply(i,arguments)},{"../config":5,"../lang/index":11,"../player/base/plugin/defaultemptycomponent":63,"./constants":15,"./cookie":16,"./dom":18,"./object":26,"./ua":31,dup:28}],30:[function(e,t,i){t.exports.set=function(t,i){try{window.localStorage&&localStorage.setItem(t,i)}catch(e){window[t+"_localStorage"]=i}},t.exports.get=function(t){try{if(window.localStorage)return localStorage.getItem(t)}catch(e){return window[t+"_localStorage"]}return""}},{}],31:[function(e,C,t){if(C.exports.USER_AGENT=navigator.userAgent,C.exports.IS_IPHONE=/iPhone/i.test(C.exports.USER_AGENT),C.exports.IS_IPAD=/iPad/i.test(C.exports.USER_AGENT),C.exports.IS_IPOD=/iPod/i.test(C.exports.USER_AGENT),C.exports.IS_MAC=/mac/i.test(C.exports.USER_AGENT),C.exports.IS_EDGE=/Edge/i.test(C.exports.USER_AGENT),C.exports.IS_IE11=/Trident\/7.0/i.test(C.exports.USER_AGENT),C.exports.IS_X5=/qqbrowser/i.test(C.exports.USER_AGENT.toLowerCase()),C.exports.IS_CHROME=/Chrome/i.test(C.exports.USER_AGENT)&&!C.exports.IS_EDGE&&!C.exports.IS_X5,C.exports.IS_SAFARI=/Safari/i.test(C.exports.USER_AGENT)&&!C.exports.IS_CHROME,C.exports.IS_FIREFOX=/Firefox/i.test(C.exports.USER_AGENT),document.all)try{var i=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");C.exports.HAS_FLASH=!!i}catch(e){C.exports.HAS_FLASH=!1}else if(navigator.plugins&&0<navigator.plugins.length){i=navigator.plugins["Shockwave Flash"];C.exports.HAS_FLASH=!!i}else C.exports.HAS_FLASH=!1;var r,o,n,a;C.exports.IS_MAC_SAFARI=C.exports.IS_MAC&&C.exports.IS_SAFARI&&!C.exports.IS_CHROME&&!C.exports.HAS_FLASH,C.exports.IS_IOS=C.exports.IS_IPHONE||C.exports.IS_IPAD||C.exports.IS_IPOD,C.exports.IOS_VERSION=function(){var e=C.exports.USER_AGENT.match(/OS (\d+)_/i);if(e&&e[1])return e[1]}(),C.exports.IS_ANDROID=/Android/i.test(C.exports.USER_AGENT),C.exports.ANDROID_VERSION=(n=C.exports.USER_AGENT.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i))?(r=n[1]&&parseFloat(n[1]),o=n[2]&&parseFloat(n[2]),r&&o?parseFloat(n[1]+"."+n[2]):r||null):null,C.exports.IS_OLD_ANDROID=C.exports.IS_ANDROID&&/webkit/i.test(C.exports.USER_AGENT)&&C.exports.ANDROID_VERSION<2.3,C.exports.TOUCH_ENABLED=!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),C.exports.IS_MOBILE=C.exports.IS_IOS||C.exports.IS_ANDROID,C.exports.IS_H5=C.exports.IS_MOBILE||!C.exports.HAS_FLASH,C.exports.IS_PC=!C.exports.IS_MOBILE,C.exports.is_X5=/micromessenger/i.test(C.exports.USER_AGENT)||/qqbrowser/i.test(C.exports.USER_AGENT),C.exports.getHost=function(e){var t="";if(void 0===e||null==e||""==e)return"";var i=e.indexOf("//"),r=e;-1<i&&(r=e.substring(i+2));t=r;var o=r.split("/");return o&&0<o.length&&(t=o[0]),(o=t.split(":"))&&0<o.length&&(t=o[0]),t},C.exports.dingTalk=function(){var e=C.exports.USER_AGENT.toLowerCase();return/dingtalk/i.test(e)},C.exports.wechat=function(){var e=C.exports.USER_AGENT.toLowerCase();return/micromessenger/i.test(e)},C.exports.inIFrame=function(){return self!=top},C.exports.getReferer=function(){var t=document.referrer;if(C.exports.inIFrame())try{t=top.document.referrer}catch(e){t=document.referrer}return t},C.exports.getHref=function(){location.href;if(C.exports.inIFrame())try{top.location.href}catch(e){location.href}return location.href},a=C.exports,function(e,t){var i=this.os={},r=this.browser={},o=e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),n=e.match(/(Android);?[\s\/]+([\d.]+)?/),a=!!e.match(/\(Macintosh\; Intel /),s=e.match(/(iPad).*OS\s([\d_]+)/),l=e.match(/(iPod)(.*OS\s([\d_]+))?/),u=!s&&e.match(/(iPhone\sOS)\s([\d_]+)/),c=e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),d=/Win\d{2}|Windows/.test(t),p=e.match(/Windows Phone ([\d.]+)/),h=c&&e.match(/TouchPad/),f=e.match(/Kindle\/([\d.]+)/),_=e.match(/Silk\/([\d._]+)/),g=e.match(/(BlackBerry).*Version\/([\d.]+)/),y=e.match(/(BB10).*Version\/([\d.]+)/),v=e.match(/(RIM\sTablet\sOS)\s([\d.]+)/),m=e.match(/PlayBook/),S=e.match(/Chrome\/([\d.]+)/)||e.match(/CriOS\/([\d.]+)/),T=e.match(/Firefox\/([\d.]+)/),b=e.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/),x=e.match(/MSIE\s([\d.]+)/)||e.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),E=!S&&e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),P=E||e.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/);if((r.webkit=!!o)&&(r.version=o[1]),n&&(i.android=!0,i.version=n[2]),u&&!l&&(i.ios=i.iphone=!0,i.version=u[2].replace(/_/g,".")),s&&(i.ios=i.ipad=!0,i.version=s[2].replace(/_/g,".")),l&&(i.ios=i.ipod=!0,i.version=l[3]?l[3].replace(/_/g,"."):null),p&&(i.wp=!0,i.version=p[1]),c&&(i.webos=!0,i.version=c[2]),h&&(i.touchpad=!0),g&&(i.blackberry=!0,i.version=g[2]),y&&(i.bb10=!0,i.version=y[2]),v&&(i.rimtabletos=!0,i.version=v[2]),m&&(r.playbook=!0),f&&(i.kindle=!0,i.version=f[1]),_&&(r.silk=!0,r.version=_[1]),!_&&i.android&&e.match(/Kindle Fire/)&&(r.silk=!0),S&&(r.chrome=!0,r.version=S[1]),T&&(r.firefox=!0,r.version=T[1]),b&&(i.firefoxos=!0,i.version=b[1]),x&&(r.ie=!0,r.version=x[1]),P&&(a||i.ios||d||n)&&(r.safari=!0,i.ios||(r.version=P[1])),E&&(r.webview=!0),a){var w=e.match(/[\d]*_[\d]*_[\d]*/);w&&0<w.length&&w[0]&&(i.version=w[0].replace(/_/g,"."))}i.tablet=!!(s||m||n&&!e.match(/Mobile/)||T&&e.match(/Tablet/)||x&&!e.match(/Phone/)&&e.match(/Touch/)),i.phone=!(i.tablet||i.ipod||!(n||u||c||g||y||S&&e.match(/Android/)||S&&e.match(/CriOS\/([\d.]+)/)||T&&e.match(/Mobile/)||x&&e.match(/Touch/))),i.pc=!i.tablet&&!i.phone,a?i.name="macOS":d?(i.name="windows",i.version=function(){var e=navigator.userAgent,t="";return(-1<e.indexOf("Windows NT 5.0")||-1<e.indexOf("Windows 2000"))&&(t="2000"),(-1<e.indexOf("Windows NT 5.1")||-1<e.indexOf("Windows XP"))&&(t="XP"),(-1<e.indexOf("Windows NT 5.2")||-1<e.indexOf("Windows 2003"))&&(t="2003"),(-1<e.indexOf("Windows NT 6.0")||-1<e.indexOf("Windows Vista"))&&(t="Vista"),(-1<e.indexOf("Windows NT 6.1")||-1<e.indexOf("Windows 7"))&&(t="7"),(-1<e.indexOf("Windows NT 6.2")||-1<e.indexOf("Windows 8"))&&(t="8"),(-1<e.indexOf("Windows NT 6.3")||-1<e.indexOf("Windows 8.1"))&&(t="8.1"),(-1<e.indexOf("Windows NT 10")||-1<e.indexOf("Windows 10"))&&(t="10"),t}()):i.name=function(){var e=navigator.userAgent,t="other",i=C.exports.os;if(i.ios)return"iOS";if(i.android)return"android";if(-1<e.indexOf("Baiduspider"))return"Baiduspider";if(-1<e.indexOf("PlayStation"))return"PS4";var r="Win32"==navigator.platform||"Windows"==navigator.platform||-1<e.indexOf("Windows"),o="Mac68K"==navigator.platform||"MacPPC"==navigator.platform||"Macintosh"==navigator.platform||"MacIntel"==navigator.platform;return o&&(t="macOS"),"X11"!=navigator.platform||r||o||(t="Unix"),-1<String(navigator.platform).indexOf("Linux")&&(t="Linux"),r?"windows":t}(),r.name=function(){var e=navigator.userAgent.toLowerCase(),t=C.exports.browser;return t.firefox?"Firefox":t.ie?/edge/.test(e)?"Edge":"IE":/micromessenger/.test(e)?"\u5fae\u4fe1\u5185\u7f6e\u6d4f\u89c8\u5668":/qqbrowser/.test(e)?"QQ\u6d4f\u89c8\u5668":t.webview?"webview":t.chrome?"Chrome":t.safari?"Safari":/baiduspider/.test(e)?"Baiduspider":/ucweb/.test(e)||/UCBrowser/.test(e)?"UC":/opera/.test(e)?"Opera":/ucweb/.test(e)?"UC":/360se/.test(e)?"360\u6d4f\u89c8\u5668":/bidubrowser/.test(e)?"\u767e\u5ea6\u6d4f\u89c8\u5668":/metasr/.test(e)?"\u641c\u72d7\u6d4f\u89c8\u5668":/lbbrowser/.test(e)?"\u730e\u8c79\u6d4f\u89c8\u5668":/playstation/.test(e)?"PS4\u6d4f\u89c8\u5668":void 0}()}.call(a,navigator.userAgent,navigator.platform)},{}],32:[function(e,t,i){var s=e("./dom");t.exports.getAbsoluteURL=function(e){return e.match(/^https?:\/\//)||(e=s.createEl("div",{innerHTML:'<a href="'+e+'">x</a>'}).firstChild.href),e},t.exports.parseUrl=function(e){var t,i,r,o,n;o=["protocol","hostname","port","pathname","search","hash","host"],(r=""===(i=s.createEl("a",{href:e})).host&&"file:"!==i.protocol)&&((t=s.createEl("div")).innerHTML='<a href="'+e+'"></a>',i=t.firstChild,t.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(t)),n={};for(var a=0;a<o.length;a++)n[o[a]]=i[o[a]];return n.segments=i.pathname.replace(/^\//,"").split("/"),r&&document.body.removeChild(t),n}},{"./dom":18}],33:[function(e,r,t){var i=e("./dom"),o=e("./ua"),n=e("./playerutil");r.exports.formatTime=function(e){var t,i,r,o=Math.floor(e);return t=Math.floor(o/3600),o%=3600,i=Math.floor(o/60),r=o%60,!(t===1/0||isNaN(t)||i===1/0||isNaN(i)||r===1/0||isNaN(r))&&("00"===(t=10<=t?t:"0"+t)?"":t+":")+(i=10<=i?i:"0"+i)+":"+(r=10<=r?r:"0"+r)},r.exports.extractTime=function(e){if(e){var t=parseInt(e.getHours()),i=parseInt(e.getMinutes()),r=parseInt(e.getSeconds());return("00"===(t=10<=t?t:"0"+t)?"":t+":")+(i=10<=i?i:"0"+i)+":"+(r=10<=r?r:"0"+r)}return""},r.exports.convertToTimestamp=function(e,t){var i="";return e&&(t?i=e.gettime():(i=Date.parse(e),i/=1e3)),i},r.exports.convertToDate=function(e,t){var i="";if(e){t||1e3,(i=new Date).setTime(1e3*e)}return i},r.exports.parseTime=function(e){if(!e)return"00:00:00";var t=e.split(":"),i=0,r=0,o=0;return 3===t.length?(i=t[0],r=t[1],o=t[2]):2===t.length?(r=t[0],o=t[1]):1===t.length&&(o=t[0]),3600*(i=parseInt(i,10))+60*(r=parseInt(r,10))+(o=Math.ceil(parseFloat(o)))},r.exports.formatDate=function(e,t){var i={"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()};for(var r in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),i)new RegExp("("+r+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[r]:("00"+i[r]).substr((""+i[r]).length)));return t},r.exports.sleep=function(e){for(var t=Date.now();Date.now()-t<=e;);},r.exports.htmlEncodeAll=function(e){return null==e?"":e.replace(/\</g,"<").replace(/\>/g,">").replace(/\&/g,"&").replace(/"/g,""").replace(/'/g,"'")},r.exports.toBinary=function(e){if(!window.atob)return"";for(var t=atob(e),i=t.length,r=new Uint8Array(i),o=0;o<i;o++)r[o]=t.charCodeAt(o);return r},r.exports.readyBinary=function(e){for(var t=new Uint8Array(e),i=t.length,r="",o=0;o<i;o++)r+=t[o];return r},r.exports.delayHide=function(e,t){e&&(void 0===t&&(t=1e3),e.delayHanlder&&clearTimeout(e.delayHanlder),e.delayHanlder=setTimeout(function(){i.css(e,"display","none")},t))},r.exports.openInFile=function(){return-1!=window.location.protocol.toLowerCase().indexOf("file")},r.exports.contentProtocolMixed=function(e){return!!(o.os.pc&&(n.isHls(e)&&!o.browser.safari||n.isFlv(e))&&"https:"==window.location.protocol.toLowerCase()&&e&&-1<e.toLowerCase().indexOf("http://"))},r.exports.queryString=function(e){var t,i,r,o,n;return 2!==(i=(e=decodeURIComponent(e)).split("?")).length?{}:(n=i[1],(t=n.split("&"))?(r={},o=0,$(t).each(function(){var e;2===(e=t[o].split("=")).length&&(r[e[0]]=e[1].replace(/\+/g," ")),o++}),r):{})},r.exports.log=function(e){var t=window.location.href,i=r.exports.queryString(t);i&&1==i.debug&&console.log(e)}},{"./dom":18,"./playerutil":29,"./ua":31}],34:[function(e,t,i){var s=e("./vttparse"),l=function(e){for(var t=5381,i=e.length;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()},r={parse:function(e,t,i){var r,o=e.trim().replace(/\r\n|\n\r|\n|\r/g,"\n").split("\n"),n=[],a=new s;a.oncue=function(e){e.id=l(e.startTime)+l(e.endTime)+l(e.text),e.text=decodeURIComponent(escape(e.text)),e.isBig=!1;var t=e.text.split("#xywh=");if(2==t.length){var i=t[1].split(",");e.x=i[0],e.y=i[1],e.w=i[2],e.h=i[3],e.isBig=!0}0<e.endTime&&n.push(e)},a.onparsingerror=function(e){r=e},a.onflush=function(){if(r&&i)return i(r),void console.log(r);t(n)},o.forEach(function(e){a.parse(e+"\n")}),a.flush()}};t.exports=r},{"./vttparse":36}],35:[function(e,t,i){t.exports=function(){if("undefined"!=typeof window&&window.VTTCue)return window.VTTCue;var S={"":!0,lr:!0,rl:!0},t={start:!0,middle:!0,end:!0,left:!0,right:!0};function T(e){return"string"==typeof e&&(!!t[e.toLowerCase()]&&e.toLowerCase())}function b(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)e[r]=i[r]}return e}function e(e,t,i){var r=this,o=function(){if("undefined"!=typeof navigator)return/MSIE\s8\.0/.test(navigator.userAgent)}(),n={};o?r=document.createElement("custom"):n.enumerable=!0,r.hasBeenReset=!1;var a="",s=!1,l=e,u=t,c=i,d=null,p="",h=!0,f="auto",_="start",g=50,y="middle",v=50,m="middle";if(Object.defineProperty(r,"id",b({},n,{get:function(){return a},set:function(e){a=""+e}})),Object.defineProperty(r,"pauseOnExit",b({},n,{get:function(){return s},set:function(e){s=!!e}})),Object.defineProperty(r,"startTime",b({},n,{get:function(){return l},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");l=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",b({},n,{get:function(){return u},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",b({},n,{get:function(){return c},set:function(e){c=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",b({},n,{get:function(){return d},set:function(e){d=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",b({},n,{get:function(){return p},set:function(e){var t=function(e){return"string"==typeof e&&!!S[e.toLowerCase()]&&e.toLowerCase()}(e);if(!1===t)throw new SyntaxError("An invalid or illegal string was specified.");p=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",b({},n,{get:function(){return h},set:function(e){h=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",b({},n,{get:function(){return f},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");f=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",b({},n,{get:function(){return _},set:function(e){var t=T(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");_=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",b({},n,{get:function(){return g},set:function(e){if(e<0||100<e)throw new Error("Position must be between 0 and 100.");g=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",b({},n,{get:function(){return y},set:function(e){var t=T(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");y=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",b({},n,{get:function(){return v},set:function(e){if(e<0||100<e)throw new Error("Size must be between 0 and 100.");v=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",b({},n,{get:function(){return m},set:function(e){var t=T(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");m=t,this.hasBeenReset=!0}})),r.displayState=void 0,o)return r}return e.prototype.getCueAsHTML=function(){return window.WebVTT.convertCueToDOMTree(window,this.text)},e}()},{}],36:[function(e,t,i){var s=e("./vttcue"),r=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}};function o(){this.window=window,this.state="INITIAL",this.buffer="",this.decoder=new r,this.regionList=[]}function l(){this.values=Object.create(null)}function u(e,t,i,r){var o=r?e.split(r):[e];for(var n in o)if("string"==typeof o[n]){var a=o[n].split(i);if(2===a.length)t(a[0],a[1])}}l.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,i){for(var r=0;r<i.length;++r)if(t===i[r]){this.set(e,t);break}},integer:function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&0<=(t=parseFloat(t))&&t<=100)&&(this.set(e,t),!0)}};var c=new s(0,0,0),d="middle"===c.align?"middle":"center";function p(t,e,a){var i=t;function r(){var e=function(e){function t(e,t,i,r){return 3600*(0|e)+60*(0|t)+(0|i)+(0|r)/1e3}var i=e.match(/^(\d+):(\d{2})(:\d{2})?(\.\d{3})?/);if(!i)return null;var r=i[4];return r&&(r=r.replace(".","")),i[3]?t(i[1],i[2],i[3].replace(":",""),r):59<i[1]?t(i[1],i[2],0,r):t(0,i[1],i[2],r)}(t);if(null===e)throw new Error("Malformed timestamp: "+i);return t=t.replace(/^[^\sa-zA-Z-]+/,""),e}function o(){t=t.replace(/^\s+/,"")}if(o(),e.startTime=r(),o(),"--\x3e"!==t.substr(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i);t=t.substr(3),o(),e.endTime=r(),o(),function(e,t){var n=new l;u(e,function(e,t){switch(e){case"region":for(var i=a.length-1;0<=i;i--)if(a[i].id===t){n.set(e,a[i].region);break}break;case"vertical":n.alt(e,t,["rl","lr"]);break;case"line":var r=t.split(","),o=r[0];n.integer(e,o),n.percent(e,o)&&n.set("snapToLines",!1),n.alt(e,o,["auto"]),2===r.length&&n.alt("lineAlign",r[1],["start",d,"end"]);break;case"position":r=t.split(","),n.percent(e,r[0]),2===r.length&&n.alt("positionAlign",r[1],["start",d,"end","line-left","line-right","auto"]);break;case"size":n.percent(e,t);break;case"align":n.alt(e,t,["start",d,"end","left","right"])}},/:/,/\s/),t.region=n.get("region",null),t.vertical=n.get("vertical","");var i=n.get("line","auto");"auto"===i&&-1===c.line&&(i=-1),t.line=i,t.lineAlign=n.get("lineAlign","start"),t.snapToLines=n.get("snapToLines",!0),t.size=n.get("size",100),t.align=n.get("align",d);var r=n.get("position","auto");"auto"===r&&50===c.position&&(r="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=r}(t,e)}o.prototype={parse:function(e){var r=this;function t(){var e=r.buffer,t=0;for(e=function(e){return e.replace(/<br(?: \/)?>/gi,"\n")}(e);t<e.length&&"\r"!==e[t]&&"\n"!==e[t];)++t;var i=e.substr(0,t);return"\r"===e[t]&&++t,"\n"===e[t]&&++t,r.buffer=e.substr(t),i}e&&(r.buffer+=r.decoder.decode(e,{stream:!0}));try{var i;if("INITIAL"===r.state){if(!/\r\n|\n/.test(r.buffer))return this;var o=(i=t()).match(/^WEBVTT([ \t].*)?$/);if(!o||!o[0])throw new Error("Malformed WebVTT signature.");r.state="HEADER"}for(var n=!1;r.buffer;){if(!/\r\n|\n/.test(r.buffer))return this;switch(n?n=!1:i=t(),r.state){case"HEADER":/:/.test(i)?u(i,function(e,t){switch(e){case"Region":console.log("parse region",t)}},/:/):i||(r.state="ID");continue;case"NOTE":i||(r.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(i)){r.state="NOTE";break}if(!i)continue;if(r.cue=new s(0,0,""),r.state="CUE",-1===i.indexOf("--\x3e")){r.cue.id=i;continue}case"CUE":try{p(i,r.cue,r.regionList)}catch(e){r.cue=null,r.state="BADCUE";continue}r.state="CUETEXT";continue;case"CUETEXT":var a=-1!==i.indexOf("--\x3e");if(!i||a&&(n=!0)){r.oncue&&r.oncue(r.cue),r.cue=null,r.state="ID";continue}r.cue.text&&(r.cue.text+="\n"),r.cue.text+=i;continue;case"BADCUE":i||(r.state="ID");continue}}}catch(e){"CUETEXT"===r.state&&r.cue&&r.oncue&&r.oncue(r.cue),r.cue=null,r.state="INITIAL"===r.state?"BADWEBVTT":"BADCUE"}return this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),(e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state)throw new Error("Malformed WebVTT signature.")}catch(e){throw e}return e.onflush&&e.onflush(),this}},t.exports=o},{"./vttcue":35}],37:[function(e,t,i){var o=e("../lib/io");e("../lib/storage");function r(e){this._uploadDuration=e.logDuration||5,this._uploadCount=e.logCount||10,this._logReportTo=e.logReportTo,this._logs=[],this._retry=0,this._disposed=!1,this._supportLocalStorage=!0;var t=this;window&&(window.onbeforeunload=function(e){if(0<t._logs.length)if(t._supportLocalStorage)localStorage.setItem("__aliplayer_log_data",JSON.stringify(t._logs));else{t._report();!function(e){for(var t=(new Date).getTime(),i=t;i<t+e;)i=(new Date).getTime()}(500)}});try{if(localStorage){var i=localStorage.getItem("__aliplayer_log_data");localStorage.removeItem("__aliplayer_log_data"),i&&(this._logs=JSON.parse(i))}else this._supportLocalStorage=!1}catch(e){this._supportLocalStorage=!1}this._start()}r.prototype.add=function(e){var t=this._logs.length;if(e.__time__=Math.round(new Date/1e3),0<t&&"4001"==e.e){var i=this._logs[t-1];if("4001"==i.e&&i.__time__-e.__time__<5)return}this._logs.push(e),(this._logs.length>this._uploadCount||"4001"==e.e||"2002"==e.e)&&this._report()},r.prototype.dispose=function(){this._report(),this._disposed=!0},r.prototype._start=function(){this._disposed=!1;this._retry=0,this._report()},r.prototype._report=function(t){if(this._tickHandler&&(clearTimeout(this._tickHandler),this._tickHandler=null),t||(t=this._logs.splice(0,this._uploadCount)),0<t.length){var e=JSON.stringify({__logs__:t,__source__:""}),i=this,r={"Content-Type":"application/json;charset=UTF-8","x-log-apiversion":"0.6.0","x-log-bodyrawsize":e.length};o.postWithHeader(this._logReportTo,e,r,function(e){i._tick()},function(e){0==i._retry?(i._retry=1,i._report(t)):i._tick()})}else this._tick()},r.prototype._tick=function(){if(!this._disposed){this._retry=0;var e=this;this._logs.length>this._uploadCount?e._report():this._tickHandler=setTimeout(function(){e._report()},1e3*this._uploadDuration)}},t.exports=r},{"../lib/io":24,"../lib/storage":30}],38:[function(e,t,i){var r=e("../lib/oo"),u=e("../lib/object"),v=e("../lib/data"),c=e("../lib/io"),m=e("../lib/ua"),S=e("../config"),o=e("../player/base/event/eventtype"),T=e("./util"),b=e("./log"),n=0,d={STARTFETCHDATA:1003,COMPLETEFETCHDATA:1004,PREPARE:1101,PREPAREEND:1102,STARTPLAY:2e3,PLAY:2001,STOP:2002,PAUSE:2003,SEEK:2004,FULLSREEM:2005,QUITFULLSCREEM:2006,RESOLUTION:2007,RESOLUTION_DONE:2008,RECOVER:2010,SEEK_END:2011,FETCHEDIP:2020,CDNDETECT:2021,DETECT:2022,UNDERLOAD:3002,LOADED:3001,HEARTBEAT:9001,ERROR:4001,ERRORRETRY:4002,SNAPSHOT:2027,ROTATE:2028,IMAGE:2029,THUMBNAILSTART:2031,THUMBNAILCOMPLETE:2032,CCSTART:2033,CCCOMPLETE:2034,AUDIOTRACKSTART:2033,AUDIOTRACKCOMPLETE:2034},a=r.extend({init:function(e,t,i){void 0===i&&(i=!0),this.trackLog=i,this.player=e,this.requestId="",this.sessionId=v.guid(),this.playId=0,this.firstPlay=!0,this.osName=m.os.name,this.osVersion=m.os.version||"",this.exName=m.browser.name,this.exVersion=m.browser.version||"",this._logService="",t.logBatched&&(this._logService=new b(S));var r=this.player.getOptions(),o=t.from?t.from:"",n=(r.isLive,r.isLive?"live":"vod"),a="pc";m.IS_IPAD?a="pad":m.os.phone&&(a="phone");var s=this.encodeURL(m.getReferer()),l=m.getHref(),u=this.encodeURL(l),c="";l&&(c=m.getHost(l));var d=S.h5Version,p=T.getUuid(),h=r.source?this.encodeURL(r.source):"",f=m.getHost(r.source),_=r.userId?r.userId+"":"0",g=this.sessionId,y=(new Date).getTime();this._userNetInfo={cdnIp:"",localIp:""};this.opt={APIVersion:"0.6.0",t:y,ll:"info",lv:"1.0",pd:"player",md:"saas_player",ui:"saas_player",sm:"play",os:this.osName,ov:this.osVersion,et:this.exName,ev:this.exVersion,uat:m.USER_AGENT,hn:"0.0.0.0",bi:o,ri:g,e:"0",args:"0",vt:n,tt:a,dm:"h5",av:d,uuid:p,vu:h,vd:f,ua:_,dn:"custom",cdn_ip:"0.0.0.0",app_n:c,r:s,pu:u},this.bindEvent()},updateVideoInfo:function(e){var t=e.from?e.from:"";this.opt.bi=t+"",this.updateSourceInfo()},updateSourceInfo:function(){var e=this.player.getOptions();if(e){var t=e.source?this.encodeURL(e.source):"",i=m.getHost(e.source);this.opt.vu=t,this.opt.vd=i}},replay:function(){this.reset(),this.player.trigger(o.Video.LoadStart),this.player.trigger(o.Video.LoadedMetadata),this.player.trigger(o.Video.LoadedData)},bindEvent:function(){var t=this;this.player.on(o.Player.Init,function(){t._onPlayerInit()}),this.player.on(o.Video.LoadStart,function(){t._onPlayerloadstart()}),this.player.on(o.Video.LoadedMetadata,function(){t._onPlayerLoadMetadata()}),this.player.on(o.Video.LoadedData,function(){t._onPlayerLoaddata()}),this.player.on(o.Video.Play,function(){t._onPlayerPlay()}),this.player.on(o.Video.Playing,function(){t._onPlayerReady()}),this.player.on(o.Video.Ended,function(){t._onPlayerFinish()}),this.player.on(o.Video.Pause,function(){t._onPlayerPause()}),this.player.on(o.Private.SeekStart,function(e){t._onPlayerSeekStart(e)}),this.player.on(o.Private.EndStart,function(e){t._seekEndData=e.paramData}),this.player.on(o.Player.Waiting,function(){t._waitingDelayLoadingShowHandle&&(clearTimeout(t._waitingDelayLoadingShowHandle),t._waitingDelayLoadingShowHandle=null),t._waitingDelayLoadingShowHandle=setTimeout(function(){t._onPlayerLoaded()},1e3*t.player._options.delayLoadingShow)}),this.player.on(o.Video.CanPlayThrough,function(){}),this.player.on(o.Video.CanPlay,function(){t._waitingDelayLoadingShowHandle&&(clearTimeout(t._waitingDelayLoadingShowHandle),t._waitingDelayLoadingShowHandle=null),t._onPlayerUnderload(),t._onPlayerCanplay()}),this.player.on(o.Video.TimeUpdate,function(){t._waitingDelayLoadingShowHandle&&(clearTimeout(t._waitingDelayLoadingShowHandle),t._waitingDelayLoadingShowHandle=null),t._seekEndData&&t.seeking&&t._onPlayerSeekEnd()}),this.player.on(o.Player.Error,function(){t._onPlayerError()}),this.player.on(o.Player.RequestFullScreen,function(){t._onFullscreenChange(1)}),this.player.on(o.Player.CancelFullScreen,function(){t._onFullscreenChange(0)}),this.player.on(o.Private.PREPARE,function(e){t._prepareTime=(new Date).getTime(),t._log("PREPARE",{dn:e.paramData})}),this.player.on(o.Player.Snapshoted,function(){t._log("SNAPSHOT")}),setInterval(function(){if(t.player.getCurrentTime()){var e=Math.floor(1e3*t.player.getCurrentTime());t.player.paused()||30<=++n&&(t._log("HEARTBEAT",{vt:e,interval:1e3*n}),n=0)}},1e3)},removeEvent:function(){this.player.off("init"),this.player.off("ready"),this.player.off("ended"),this.player.off("play"),this.player.off("pause"),this.player.off("seekStart"),this.player.off("seekEnd"),this.player.off("canplaythrough"),this.player.off("playing"),this.player.off("timeupdate"),this.player.off("error"),this.player.off("fullscreenchange"),this.player.off(o.Private.PREPARE),this._logService&&this._logService.dispose()},reset:function(){this.startTimePlay=0,this.buffer_flag=0,this.firstPlay=!1,this.playId=0,this.loadstarted=0,this._LoadedData=0,this._canPlay=0},encodeURL:function(e){if(!e)return"";var t=this.player.getOptions();return t&&!t.logBatched?encodeURIComponent(e):e},_onFullscreenChange:function(e){e?this._log("FULLSREEM",{}):this._log("QUITFULLSCREEM",{})},_onPlayerloadstart:function(){this.loadstartTime=(new Date).getTime(),this.playId=v.guid(),!this.loadstarted&&this.player._isPreload()&&(this.loadstarted=1,this._log("STARTPLAY",{vt:(new Date).getTime()}))},_onPlayerLoadMetadata:function(){this.loadMetaDataCost=(new Date).getTime()-this.loadstartTime},_onPlayerLoaddata:function(){if(!this._LoadedData&&!this.buffer_flag){var e=0,t=0;this.player.tag&&(e=this.player.tag.videoWidth,t=this.player.tag.videoHeight),this._log("PREPAREEND",{tc:(new Date).getTime()-this._prepareTime,cc:(new Date).getTime()-this.loadstartTime,md:this.loadMetaDataCost,mi:JSON.stringify({type:"video",definition:e+"*"+t})})}this._LoadedData=1},_onPlayerCanplay:function(){this._canPlay=1,this._reportPlay()},_onPlayerInit:function(){this.buffer_flag=0,this.pause_flag=0,this.startTimePlay=0,this.loadstarted=0,this._LoadedData=0,this._canPlay=0},_onPlayerReady:function(){this.startTimePlay||(this.startTimePlay=(new Date).getTime())},_onPlayerFinish:function(){this._log("STOP",{vt:Math.floor(1e3*this.player.getCurrentTime())}),this.reset()},_reportPlay:function(){return!(this.buffer_flag||!this._LoadedData||!this.playstartTime)&&(this.first_play_time=(new Date).getTime(),this._log("PLAY",{dsm:"fix",tc:this.first_play_time-this.loadstartTime,fc:this.first_play_time-this.playstartTime}),this.buffer_flag=1,!0)},_onPlayerPlay:function(){this.playstartTime=(new Date).getTime(),0==this.playId&&(this.playId=v.guid()),this.firstPlay||0!=this.pause_flag||this.seeking||(this.sessionId=v.guid()),this.player._isPreload()||(this._log("STARTPLAY",{vt:(new Date).getTime()}),this.loadstartTime=(new Date).getTime()),this._canPlay&&this._reportPlay()||this.buffer_flag&&this.pause_flag&&(this.pause_flag=0,this.pauseEndTime=(new Date).getTime(),this._log("RECOVER",{vt:Math.floor(1e3*this.player.getCurrentTime()),cost:this.pauseEndTime-this.pauseTime}))},_onPlayerPause:function(){this.buffer_flag&&this.startTimePlay&&(this.seeking||(this.pause_flag=1,this.pauseTime=(new Date).getTime(),this._log("PAUSE",{vt:Math.floor(1e3*this.player.getCurrentTime())})))},_onPlayerSeekStart:function(e){this.seekStartTime=e.paramData.fromTime,this.seeking=!0,this.startTimePlay=0,this.seekStartStamp=(new Date).getTime()},_onPlayerSeekEnd:function(){this.seekEndStamp=(new Date).getTime(),this._log("SEEK",{drag_from_timestamp:Math.floor(1e3*this.seekStartTime),drag_to_timestamp:Math.floor(1e3*this._seekEndData.toTime)}),this._log("SEEK_END",{vt:Math.floor(1e3*this.player.getCurrentTime()),cost:this.seekEndStamp-this.seekStartStamp}),this.seeking=!1,this._seekEndData=null},_onPlayerLoaded:function(){this.buffer_flag&&this.startTimePlay&&(this.stucking||this.seeking||(this.stuckStartTime=(new Date).getTime(),this.stuckStartTime-this.startTimePlay<=1e3||(this.stucking=!0,this._log("UNDERLOAD",{vt:Math.floor(1e3*this.player.getCurrentTime())}),this.stuckStartTime=(new Date).getTime())))},_onPlayerUnderload:function(){if((this.buffer_flag||!this.player._options||!this.player._options.autoplay)&&this.stucking&&!this.seeking){var e=Math.floor(1e3*this.player.getCurrentTime()),t=this.stuckStartTime||(new Date).getTime(),i=Math.floor((new Date).getTime()-t);0<i&&this._log("LOADED",{vt:e,cost:i}),this.stucking=!1}},_onPlayerHeartBeat:function(){if(!this.seeking){var e=Math.floor(1e3*this.player.getCurrentTime()),t=this;this.timer||(this.timer=setTimeout(function(){!t.seeking&&t._log("HEARTBEAT",{progress:e}),clearTimeout(t.timer),t.timer=null},6e4)),console.log("timeupdate")}},_onPlayerError:function(){this.playId=0,this._LoadedData=1,this.buffer_flag||this._reportPlay()},_log:function(e,t){if(this.trackLog){this.updateSourceInfo();var i=u.copy(this.opt);this.requestId=v.guid();var r=S.logReportTo;i.e=d[e]+"",i.ri=this.sessionId,i.t=(new Date).getTime()+"",i.cdn_ip=this._userNetInfo.cdnIp,i.hn=this._userNetInfo.localIp;var o=this.player.getCurrentQuality();""!=o&&(i.definition=o.definition);var n=[];u.each(t,function(e,t){n.push(e+"="+t)});var a="",s=this.player.getOptions();s&&s.vid&&(a=s.vid),n.push("vid="+a);try{Aliplayer&&Aliplayer.__logCallback__&&(i.args=n,Aliplayer.__logCallback__(i))}catch(e){console.log(e)}if(""==(n=n.join("&"))&&(n="0"),i.args=this.encodeURL(n),this._logService)this._logService.add(i);else{var l=[];u.each(i,function(e,t){l.push(e+"="+t)}),l=l.join("&"),c.jsonp(r+"?"+l,function(){},function(){})}return this.sessionId}}});t.exports=a},{"../config":5,"../lib/data":17,"../lib/io":24,"../lib/object":26,"../lib/oo":27,"../lib/ua":31,"../player/base/event/eventtype":43,"./log":37,"./util":39}],39:[function(e,t,i){var r=e("../lib/cookie"),o=e("../lib/data"),n=e("../lib/ua");t.exports.getUuid=function(){var e=r.get("p_h5_u");return e||(e=o.guid(),r.set("p_h5_u",e,730)),e},t.exports.getTerminalType=function(){var e="pc";return n.IS_IPAD?e="pad":n.IS_ANDROID?e="android":n.IS_IOS&&(e="iphone"),e},t.exports.returnUTCDate=function(e){var t=e.getUTCFullYear(),i=e.getUTCMonth(),r=e.getUTCDate(),o=e.getUTCHours(),n=e.getUTCMinutes(),a=e.getUTCSeconds(),s=e.getUTCMilliseconds();return Date.UTC(t,i,r,o,n,a,s)},t.exports.getRfc822=function(e){return e.toUTCString().replace("UTC","GMT")}},{"../lib/cookie":16,"../lib/data":17,"../lib/ua":31}],40:[function(e,t,i){var s=e("./base/player"),l=e("./flash/flashplayer"),u=e("./saas/mtsplayer"),c=e("./saas/vodplayer"),d=e("./taotv/taotvplayer"),p=e("./audio/audioplayer"),h=e("./hls/hlsplayer"),f=e("./flv/flvplayer"),_=e("./drm/drmplayer"),g=e("../lib/ua"),y=e("../lib/playerutil"),v=(e("../lib/dom"),e("../lib/io"),e("../lang/index"));t.exports.create=function(e,t){"function"!=typeof t&&(t=function(){}),e.readyCallback=t,v.setCurrentLanguage(e.language,"h5",e.languageTexts);var i=y.handleOption(e),r=i.source,o=y.isAudio(r);o&&(i.mediaType="audio");var n,a=y.createWrapper(i);return a.player?a.player:(o?n=new p(a,i):!i.useFlashPrism&&y.isFlv(r)&&y.isSupportFlv()?n=new f(a,i):g.IS_MOBILE||!i.useFlashPrism&&!y.isRTMP(r)?i.vid&&!i.source?n=i.authInfo?new u(a,i):i.playauth||i.accessKeyId&&i.accessKeySecret?new c(a,i):new d(a,i):y.isDash(r)&&y.isSupportMSE()?n=new _(a,i):y.isHls(r)?y.canPlayHls()?n=y.isSupportHls()&&(y.isUsedHlsPluginOnMobile()||y.isSafariUsedHlsPlugin(i.useHlsPluginForSafari))?new h(a,i):new s(a,i):y.isSupportHls()?n=new h(a,i):g.os.pc?i.userH5Prism||i.useH5Prism||(n=new l(a,i)):n=new s(a,i):n=(g.os.pc,new s(a,i)):n=new l(a,i),n)}},{"../lang/index":11,"../lib/dom":18,"../lib/io":24,"../lib/playerutil":29,"../lib/ua":31,"./audio/audioplayer":41,"./base/player":62,"./drm/drmplayer":69,"./flash/flashplayer":70,"./flv/flvplayer":72,"./hls/hlsplayer":74,"./saas/mtsplayer":78,"./saas/vodplayer":84,"./taotv/taotvplayer":93}],41:[function(e,t,i){var r=e("../base/player"),o=e("../../ui/component"),n=e("../../lib/dom"),a=e("../../lib/object"),s=e("../../lib/playerutil"),l=r.extend({init:function(e,t){this._isAudio=!0,void 0===t.skinLayout&&(t.skinLayout=s.defaultAudioLayout),r.call(this,e,t)}});l.prototype.createEl=function(){"AUDIO"!==this.tag.tagName&&(this._el=this.tag,this.tag=o.prototype.createEl.call(this,"audio"));var t=this._el,e=this.tag;e.player=this;var i=n.getElementAttributes(e);return a.each(i,function(e){t.setAttribute(e,i[e])}),this.setVideoAttrs(),e.parentNode&&e.parentNode.insertBefore(t,e),n.insertFirst(e,t),t},t.exports=l},{"../../lib/dom":18,"../../lib/object":26,"../../lib/playerutil":29,"../../ui/component":94,"../base/player":62}],42:[function(e,t,i){var a=e("../../../lib/event"),s=e("./eventtype"),r=e("../eventHandler/video/index"),o=e("../eventHandler/player/index");t.exports.offAll=function(e){var t=e.tag,i=e._el;for(var r in s.Video)a.off(t,s.Video[r]);for(var o in s.Player)a.off(i,s.Player[o]);for(var n in s.Private)a.off(i,s.Private[n])},t.exports.onAll=function(e){r.bind(e),o.bind(e)}},{"../../../lib/event":19,"../eventHandler/player/index":47,"../eventHandler/video/index":56,"./eventtype":43}],43:[function(e,t,i){t.exports={Video:{TimeUpdate:"timeupdate",Play:"play",Playing:"playing",Pause:"pause",CanPlay:"canplay",Waiting:"waiting",Ended:"ended",Error:"error",Suspend:"suspend",Stalled:"stalled",LoadStart:"loadstart",DurationChange:"durationchange",LoadedData:"loadeddata",LoadedMetadata:"loadedmetadata",Progress:"progress",CanPlayThrough:"canplaythrough",ContextMenu:"contextmenu",Seeking:"seeking",Seeked:"seeked",ManualEnded:"manualended"},Player:{TimeUpdate:"timeupdate",DurationChange:"durationchange",Init:"init",Ready:"ready",Play:"play",Pause:"pause",CanPlay:"canplay",Waiting:"waiting",Ended:"ended",Error:"error",RequestFullScreen:"requestFullScreen",CancelFullScreen:"cancelFullScreen",Snapshoted:"snapshoted",Snapshoting:"snapshoting",OnM3u8Retry:"onM3u8Retry",LiveStreamStop:"liveStreamStop",AutoPlayPrevented:"autoPlayPrevented",AutoPlay:"autoplay",StartSeek:"startSeek",CompleteSeek:"completeSeek",TextTrackReady:"textTrackReady",AudioTrackReady:"audioTrackReady",AudioTrackUpdated:"audioTrackUpdated",LevelsLoaded:"levelsLoaded",AudioTrackSwitch:"audioTrackSwitch",AudioTrackSwitched:"audioTrackSwitched",LevelSwitch:"levelSwitch",LevelSwitched:"levelSwitched",MarkerDotOver:"markerDotOver",MarkerDotOut:"markerDotOut"},Private:{Play_Btn_Show:"play_btn_show",UiH5Ready:"uiH5Ready",Error_Hide:"error_hide",Error_Show:"error_show",Info_Show:"info_show",Info_Hide:"info_hide",H5_Loading_Show:"h5_loading_show",H5_Loading_Hide:"h5_loading_hide",HideProgress:"hideProgress",CancelHideProgress:"cancelHideProgress",Click:"click",MouseOver:"mouseover",MouseOut:"mouseout",MouseEnter:"mouseenter",MouseLeave:"mouseleave",TouchStart:"touchstart",TouchMove:"touchmove",TouchEnd:"touchend",HideBar:"hideBar",ShowBar:"showBar",ReadyState:"readyState",SourceLoaded:"sourceloaded",QualityChange:"qualitychange",Play_Btn_Hide:"play_btn_hide",Cover_Hide:"cover_hide",Cover_Show:"cover_show",SeekStart:"seekStart",EndStart:"endStart",UpdateProgressBar:"updateProgressBar",LifeCycleChanged:"lifeCycleChanged",Dispose:"dispose",Created:"created",Snapshot_Hide:"snapshot_hide",AutoStreamShow:"auto_stream_show",AutoStreamHide:"auto_stream_hide",VolumnChanged:"volumnchanged",LiveShiftQueryCompleted:"liveShiftQueryCompleted",StreamSelectorHide:"streamSelectorHide",SpeedSelectorHide:"speedSelectorHide",SettingShow:"settingShow",SettingHide:"settingHide",SelectorShow:"selectorShow",SelectorHide:"selectorHide",SettingListShow:"settingListShow",SettingListHide:"settingListHide",ThumbnailHide:"thumbnailHide",ThumbnailShow:"thumbnailShow",ThumbnailLoaded:"thumbnailLoaded",TooltipShow:"tooltipShow",TooltipHide:"tooltipHide",SelectorUpdateList:"selectorUpdateList",SelectorValueChange:"selectorValueChange",VolumeVisibilityChange:"volumeVisibilityChange",ChangeURL:"changeURL",UpdateToSettingList:"updateToSettingList",CCChanged:"CCChanged",CCStateChanged:"CCStateChanged",PlayClick:"click",ProgressMarkerLoaded:"progressMarkerLoaded",MarkerTextShow:"markerTextShow",MarkerTextHide:"markerTextHide",PREPARE:"prepare",ProgressMarkerChanged:"progressMarkerChanged"}}},{}],44:[function(e,t,i){e("../../event/eventtype");var r=e("../../../../lib/dom"),o=e("../../../../lib/ua");t.exports.handle=function(){o.IS_IOS||r.removeClass(this.el(),"prism-fullscreen")}},{"../../../../lib/dom":18,"../../../../lib/ua":31,"../../event/eventtype":43}],45:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e){var t=this;this._enteredProgressMarker&&t.one(r.Player.CanPlay,function(){t.pause()}),t._seeking=!1,t.trigger(r.Player.CompleteSeek,e.paramData.toTime)}},{"../../event/eventtype":43}],46:[function(e,t,i){var r=e("../../event/eventtype"),o=(e("../../../../lib/constants"),e("../../../../lang/index"),e("../../../../monitor/util"));t.exports.handle=function(e){var t=this,i=e.paramData;t.trigger(r.Private.H5_Loading_Hide),t.trigger(r.Private.Cover_Hide),t.trigger(r.Private.Play_Btn_Hide),t.trigger(r.Private.SettingListHide),t.trigger(r.Private.SelectorHide),t.trigger(r.Private.VolumeVisibilityChange,""),i=i||{},t._monitor&&(i.uuid=o.getUuid(),i.requestId=t._serverRequestId,i.cdnIp=t._monitor._userNetInfo.cdnIp,i.localIp=t._monitor._userNetInfo.localIp),t._isError=!0,t.trigger(r.Private.Error_Show,i),t.trigger(r.Private.LifeCycleChanged,{type:r.Player.Error,data:i})}},{"../../../../lang/index":11,"../../../../lib/constants":15,"../../../../monitor/util":39,"../../event/eventtype":43}],47:[function(e,t,i){var r=e("../../event/eventtype"),o=e("../../../../lib/event"),n=e("./lifecyclecommon"),a={endStart:e("./endstart"),seekStart:e("./seekstart"),requestFullScreen:e("./requestfullscreen"),cancelFullScreen:e("./cancelfullscreen"),error:e("./error")},s=[r.Private.EndStart,r.Private.SeekStart,r.Player.RequestFullScreen,r.Player.CancelFullScreen,r.Player.Error,r.Player.Ready,r.Private.Dispose,r.Private.Created],l=function(t,i,r){var e=t.el();o.on(e,i,function(e){(r&&r.handle?r.handle:n.handle).call(t,e,i)})};t.exports.bind=function(e){e.el();for(var t=0;t<s.length;t++){var i=s[t];"undefined"!=a[i]&&l(e,i,a[i])}}},{"../../../../lib/event":19,"../../event/eventtype":43,"./cancelfullscreen":44,"./endstart":45,"./error":46,"./lifecyclecommon":48,"./requestfullscreen":49,"./seekstart":50}],48:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e,t){this.trigger(r.Private.LifeCycleChanged,{type:t,data:e})}},{"../../event/eventtype":43}],49:[function(e,t,i){e("../../event/eventtype");var r=e("../../../../lib/dom"),o=e("../../../../lib/ua");t.exports.handle=function(){o.IS_IOS||r.addClass(this.el(),"prism-fullscreen")}},{"../../../../lib/dom":18,"../../../../lib/ua":31,"../../event/eventtype":43}],50:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e){this._seeking=!0,this.trigger(r.Player.StartSeek,e.paramData.fromTime)}},{"../../event/eventtype":43}],51:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e){var t=this;t._retrySwitchUrlCount=0,t._liveRetryCount=0,t._clearLiveErrorHandle();var i=(new Date).getTime()-t.readyTime;t._options.autoplay||t._options._autoplay||!t.paused()||(t.trigger(r.Private.H5_Loading_Hide),t.trigger(r.Private.Play_Btn_Show)),t.trigger(r.Player.CanPlay,{loadtime:i})}},{"../../event/eventtype":43}],52:[function(e,t,i){var r=e("../../event/eventtype"),o=e("../../../../lib/dom"),n=e("../../../../lib/ua");t.exports.handle=function(e){var t=this.tag;"none"===t.style.display&&n.IS_IOS&&setTimeout(function(){o.css(t,"display","block")},100),this.trigger(r.Video.CanPlayThrough)}},{"../../../../lib/dom":18,"../../../../lib/ua":31,"../../event/eventtype":43}],53:[function(e,t,i){t.exports.handle=function(e,t){var i="";e&&e.paramData&&(i=e.paramData),this.trigger(t,i)}},{}],54:[function(e,t,i){var r=e("../../event/eventtype");e("../../../../lang/index");t.exports.handle=function(e){var t=this;t.waiting=!1,t._ended=!0,t._monitor&&t._monitor._onPlayerInit(),t._options.rePlay?(t.seek(0),t.tag.play()):t._options.isLive&&t.trigger(r.Private.H5_Loading_Hide),t.trigger(r.Private.Play_Btn_Show),t.trigger(r.Player.Ended)}},{"../../../../lang/index":11,"../../event/eventtype":43}],55:[function(e,t,i){var c=e("../../event/eventtype"),d=(e("../../../../lib/ua"),e("../../../../lib/playerutil"),e("../../../../lib/constants")),p=e("../../../../lang/index");t.exports.handle=function(e){var t=this;if(t.waiting=!1,t._clearTimeout(),t.checkOnline()){var i,r="",o=e.target||e.srcElement,n=o.error.message;r="";if(o.error.code&&(i=o.error.code,r=d.VideoErrorCode[o.error.code],n=i+" || "+n),t._options.isLive)t._options.liveRetry>t._liveRetryCount?t._reloadAndPlayForM3u8():(t._liveRetryCount=0,t.trigger(c.Player.LiveStreamStop),t._liveErrorHandle=setTimeout(function(){var e={mediaId:"ISLIVE",error_code:r,error_msg:p.get("Error_Play_Text")+"\uff0c"+p.get("Error_Retry_Text")};t.logError(e),t.trigger("error",e)}));else if(t._reloadForVod());else{var a=p.get("Error_Play_Text"),s=!1;if(i<4){if(3==i&&t._firstDecodeError){var l=t.getCurrentTime()+1;return t._loadByUrlInner(t._options.source,l,!0),void(t._firstDecodeError=!1)}a=d.VideoErrorCodeText[i]}else t._eventState==d.SUSPEND?(a=p.get("Error_Load_Abort_Text"),r=d.ErrorCode.RequestDataError):t._eventState==d.LOAD_START?(a=p.get("Error_Network_Text"),0<t._options.source.indexOf("auth_key")&&(a=a+"\uff0c"+p.get("Error_AuthKey_Text")),r=d.ErrorCode.StartLoadData):t._eventState==d.LOADED_METADATA&&(a=p.get("Error_Play_Text"),r=d.ErrorCode.PlayingError);a=a+"\uff0c"+p.get("Error_Retry_Text"),1<t._urls.length&&t._retrySwitchUrlCount<3&&-1==t._options.source.indexOf(".mpd")&&(t.switchUrl(),s=!0);var u={mediaId:t._options.vid?t._options.vid:"",error_code:r,error_msg:n};s||(t.logError(u),u.display_msg=a,t.trigger(c.Player.Error,u))}}}},{"../../../../lang/index":11,"../../../../lib/constants":15,"../../../../lib/playerutil":29,"../../../../lib/ua":31,"../../event/eventtype":43}],56:[function(e,t,i){var o=e("../../../../lib/event"),n=e("../../event/eventtype"),r={canplay:e("./canplay"),canplaythrough:e("./canplaythrough"),common:e("./common"),ended:e("./ended"),error:e("./error"),pause:e("./pause"),play:e("./play"),playing:e("./playing"),waiting:e("./waiting"),timeupdate:e("./timeupdate"),manualended:e("./ended")},a=function(t,i,r){var e=t.tag;o.on(e,i,function(e){r.handle.call(t,e,i),i!=n.Video.Error&&(i==n.Video.ManualEnded&&(i=n.Video.Ended),t.trigger(n.Private.LifeCycleChanged,{type:i,data:e}))})};t.exports.bind=function(e){e.tag;for(var t in n.Video){var i=n.Video[t];a(e,i,void 0!==r[i]?r[i]:r.common)}}},{"../../../../lib/event":19,"../../event/eventtype":43,"./canplay":51,"./canplaythrough":52,"./common":53,"./ended":54,"./error":55,"./pause":57,"./play":58,"./playing":59,"./timeupdate":60,"./waiting":61}],57:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e){var t=this;t._clearTimeout(),t.trigger(r.Private.AutoStreamHide),t.trigger(r.Player.Pause),t._isManualPause&&(t.trigger(r.Private.Play_Btn_Show),t.trigger(r.Private.H5_Loading_Hide)),t.waiting=!1}},{"../../event/eventtype":43}],58:[function(e,t,i){var r=e("../../event/eventtype");t.exports.handle=function(e){var t=this;t.trigger(r.Private.Error_Hide),t.trigger(r.Private.Cover_Hide),t.trigger(r.Private.AutoStreamHide),t.waiting=!1,t.trigger(r.Player.Play)}},{"../../event/eventtype":43}],59:[function(e,t,i){var o=e("../../event/eventtype");t.exports.handle=function(e){var t=this;t.trigger(o.Private.H5_Loading_Hide),t.trigger(o.Private.Cover_Hide),t.trigger(o.Private.Info_Hide),t.waiting=!1,t._ended=!1,t._liveRetryCount=0,t._vodRetryCount=0,t._firstDecodeError=!0;var i=t.getCurrentTime();if(t._waitingReloadTime!=i&&(t._waitingTimeoutCount=0),t._checkTimeoutHandle&&(clearTimeout(t._checkTimeoutHandle),t._checkTimeoutHandle=null),t._waitingLoadedHandle&&(clearTimeout(t._waitingLoadedHandle),t._waitingLoadedHandle=null),t._waitingDelayLoadingShowHandle&&(clearTimeout(t._waitingDelayLoadingShowHandle),t._waitingDelayLoadingShowHandle=null),t._waitingTimeoutHandle&&(clearTimeout(t._waitingTimeoutHandle),t._waitingTimeoutHandle=null,t._ccService&&t._options.isLive)){var r=t._ccService.getCurrentSubtitle();t._setDefaultCC=!0,r&&t._ccService["switch"](r)}t.trigger(o.Private.AutoStreamHide),t.trigger(o.Player.Playing),t.trigger(o.Private.Play_Btn_Hide),t.trigger(o.Private.Error_Hide)}},{"../../event/eventtype":43}],60:[function(e,t,i){var n=e("../../event/eventtype"),a=e("../../../../lib/ua"),s=e("../../../../lib/event"),l=e("../../plugin/status");t.exports.handle=function(e){var i=this;i.trigger(n.Player.TimeUpdate,e.timeStamp);var t=i.getCurrentTime();if(i.waiting&&!i._TimeUpdateStamp&&(i._TimeUpdateStamp=t),0!=i.waiting&&i._TimeUpdateStamp==t||(i.trigger(n.Private.H5_Loading_Hide),i.trigger(n.Private.AutoStreamHide),i._checkTimeoutHandle&&clearTimeout(i._checkTimeoutHandle),i._waitingTimeoutHandle&&clearTimeout(i._waitingTimeoutHandle),i._waitingLoadedHandle&&clearTimeout(i._waitingLoadedHandle),i.waiting=!1),i._TimeUpdateStamp=t,!i._options.isLive){var r=i.getDuration(),o=!1;r<t&&!i.paused()?o=!0:r-t<.2&&0<=a.browser.version.indexOf("49.")&&!i.paused()?o=!0:i.exceedPreviewTime(t)&&(o=!0),o&&!i._ended&&(i.pause(),s.trigger(i.tag,n.Video.ManualEnded))}i._playingSlientPause&&(clearTimeout(i._playingSlientPause),i._playingSlientPause=null),i._playingSlientPause=setTimeout(function(){if(i._status==l.playing){var e=i.getCurrentTime(),t=i._options.isLive?0:e;i._loadByUrlInner(i._options.source,t,!0)}},2e3)}},{"../../../../lib/event":19,"../../../../lib/ua":31,"../../event/eventtype":43,"../../plugin/status":66}],61:[function(e,t,i){var n=e("../../event/eventtype"),a=e("../../../../lib/constants"),s=e("../../../../lib/event"),l=e("../../../../lang/index");t.exports.handle=function(e){var i=this;if(!i._options.isLive){var t=this.getCurrentTime(),r=this.getDuration();if(r-t<.5||r<t)return i.pause(),i._ended=!0,void s.trigger(this.tag,n.Video.ManualEnded)}i.waiting=!0;var o=function(){i._checkTimeoutHandle&&(clearTimeout(i._checkTimeoutHandle),i._checkTimeoutHandle=null),i._waitingTimeoutHandle&&(clearTimeout(i._waitingTimeoutHandle),i._waitingTimeoutHandle=null),i._waitingLoadedHandle&&(clearTimeout(i._waitingLoadedHandle),i._waitingLoadedHandle=null),i._waitingDelayLoadingShowHandle&&(clearTimeout(i._waitingDelayLoadingShowHandle),i._waitingDelayLoadingShowHandle=null)};o(),i._waitingDelayLoadingShowHandle=setTimeout(function(){i.trigger(n.Private.H5_Loading_Show)},1e3*i._options.delayLoadingShow),i._TimeUpdateStamp=null,i._checkTimeoutHandle=setTimeout(function(){i.trigger(n.Private.AutoStreamShow)},1e3*i._options.loadDataTimeout),i.trigger(n.Player.Waiting),i._waitingTimeoutHandle=setTimeout(function(){if(i.tag&&i._options){i.pause();var e={mediaId:i._options.vid?i._options.vid:"",error_code:a.ErrorCode.LoadingTimeout,error_msg:l.get("Error_Waiting_Timeout_Text")};i.logError(e),i.trigger("error",e)}},1e3*i._options.waitingTimeout),i._waitingLoadedHandle=setTimeout(function(){var e=i.getCurrentTime();if(0==i._waitingTimeoutCount&&e!=i._waitingReloadTime){i._waitingTimeoutCount=1,i._waitingReloadTime=e;var t=i._options.isLive?0:e;i._loadByUrlInner(i._options.source,t,!0)}},i._options.waitingTimeout/2*1e3),i.on("error",function(){o()})}},{"../../../../lang/index":11,"../../../../lib/constants":15,"../../../../lib/event":19,"../../event/eventtype":43}],62:[function(e,t,i){var n=e("../../ui/component"),a=e("../../lib/object"),o=e("../../lib/dom"),s=e("../../lib/event"),l=(e("../../lib/io"),e("../../ui/exports")),u=e("../../monitor/monitor"),r=e("../../lib/ua"),c=e("../../lib/constants"),d=e("../../lib/util"),p=(e("../../config"),e("../../lib/playerutil")),h=e("./x5play"),f=e("../../lib/cookie"),_=e("../../lang/index"),g=e("../../feature/autoPlayDelay"),y=e("./event/eventmanager"),v=e("../../ui/component/cover"),m=e("../../ui/component/play-animation"),S=e("../../commonui/autostreamselector"),T=e("./event/eventtype"),b=e("./plugin/lifecyclemanager"),x=e("../service/export"),E=e("../../ui/component/progressmarker"),P=n.extend({init:function(e,t){if(this.tag=e,this.loaded=!1,this.played=!1,this.waiting=!1,this._urls=[],this._currentPlayIndex=0,this._retrySwitchUrlCount=0,this._isError=!1,this._isHls=!1,this._liveRetryCount=0,this._vodRetryCount=0,this._seeking=!1,this._serverRequestId=0,this._waitingTimeoutCount=0,this._waitingReloadTime=0,this._created=!1,this._firstDecodeError=!0,this._enteredProgressMarker=!1,this._liveShiftSeekStartTime=0,this._duration=0,this.__disposed=!1,void 0===t.skinLayout&&(t.skinLayout=p.defaultH5Layout),n.call(this,this,t),this.addClass("prism-player"),t.plugins&&a.each(t.plugins,function(e,t){this[e](t)},this),this._createService(),this.UI={},t.useNativeControls?this.tag.setAttribute("controls","controls"):this.UI=l,this.initChildren(),y.onAll(this),this._lifeCycleManager=new b(this),this._options.trackLog&&(this._monitor=new u(this,{video_id:0,album_id:0,from:this._options.from,source:this._options.source,logBatched:this._options.logBatched},this._options.trackLog)),this._overrideNativePlay(),!this._liveshiftService||this._liveshiftService.validate()){if(this._options.extraInfo){var i=this._options.extraInfo;i.liveRetry&&(this._options.liveRetry=i.liveRetry)}if(this.on(T.Private.ReadyState,function(){this.trigger(T.Player.Ready)}),this._thumbnailService&&this._options.thumbnailUrl&&this._thumbnailService.get(this._options.thumbnailUrl),0<this._options.progressMarkers.length&&this.trigger(T.Private.ProgressMarkerLoaded,this._options.progressMarkers),this._options.source&&this._options._native&&this._executeReadyCallback(),this._options.autoplay||this._options.preload?this.trigger(T.Private.H5_Loading_Show):this.trigger(T.Private.Play_Btn_Show),this._extraMultiSources(),this._options.source)if(this.trigger(T.Private.PREPARE,"custom"),this._options.autoPlayDelay){this._autoPlayDelay=new g(this);var r=this;this._autoPlayDelay.handle(function(){r.initPlay()})}else this.initPlay()}else{var o={mediaId:this._options.vid?this._options.vid:"",error_code:c.ErrorCode.InvalidParameter,error_msg:_.get("ShiftLiveTime_Error")};this.trigger(T.Player.Error,o)}}});P.prototype.initPlay=function(e){this._initPlayBehavior(e,this._options.source)},P.prototype.initChildren=function(){var e=this.options(),t=e.skinLayout;if(!1!==t&&!a.isArray(t))throw new Error("PrismPlayer Error: skinLayout should be false or type of array!");!1!==t&&0!==t.length&&(this.options({children:t}),n.prototype.initChildren.call(this)),this.UI.cover=v,this.addChild("cover",e),this.UI.playanimation=m,this.addChild("playanimation",e),this.UI.autoStreamSelector=S,this.addChild("autoStreamSelector",e),this.UI.progressMarker=E,this.addChild("progressMarker",e),this.trigger(T.Private.UiH5Ready)},P.prototype.createEl=function(){var e=!1;"VIDEO"!==this.tag.tagName?(this._el=this.tag,this.tag=n.prototype.createEl.call(this,"video"),this._options.playsinline&&(this.tag.setAttribute("webkit-playsinline",""),this.tag.setAttribute("playsinline",""),this.tag.setAttribute("x-webkit-airplay",""),this.tag.setAttribute("x5-playsinline",""))):(e=!0,this._el=this.tag.parentNode);var t=this._el,i=this.tag;this._options.enableSystemMenu||(i.addEventListener?i.addEventListener("contextmenu",function(e){e.preventDefault()},!1):i.attachEvent("oncontextmenu",function(){window.event.returnValue=!1})),i.player=this;var r=o.getElementAttributes(i);return a.each(r,function(e){t.setAttribute(e,r[e])}),this.setVideoAttrs(),e||(i.parentNode&&i.parentNode.insertBefore(t,i),o.insertFirst(i,t)),t},P.prototype.setVideoAttrs=function(){var e=this._options.preload,t=this._options.autoplay;if(this.tag.style.width=this._options.videoWidth||"100%",this.tag.style.height=this._options.videoHeight||"100%",e&&this.tag.setAttribute("preload","preload"),t&&!this._isEnabledAILabel()&&this.tag.setAttribute("autoplay","autoplay"),r.IS_IOS&&this.tag.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAAMZJREFUeAHt0DEBAAAAwqD1T20LL4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAc2CcpAABaODCqQAAAABJRU5ErkJggg=="),this._options.extraInfo)for(var i in this._options.extraInfo)this.tag.setAttribute(i,this._options.extraInfo[i]);h.adaptX5Play(this)},P.prototype.checkOnline=function(){if(!this._options||this._options.debug)return!0;if(0!=navigator.onLine)return!0;var e={mediaId:this._options.vid?this._options.vid:"",error_code:c.ErrorCode.NetworkUnavaiable,error_msg:_.get("Error_Offline_Text")};return e.display_msg=_.get("Error_Offline_Text"),this.trigger(T.Player.Error,e),!1},P.prototype.id=function(){return this.el().id},P.prototype.renderUI=function(){},P.prototype.switchUrl=function(){if(0!=this._urls.length){this._currentPlayIndex=this._currentPlayIndex+1,this._urls.length<=this._currentPlayIndex&&(this._currentPlayIndex=0,this._retrySwitchUrlCount++);var e=this._urls[this._currentPlayIndex];f.set(c.SelectedStreamLevel,e.definition,365),this.trigger(T.Private.QualityChange,_.get("Quality_Change_Fail_Switch_Text"));var t=this.getCurrentTime();this._vodRetryCount=0,this._originalSource="",this._loadByUrlInner(e.Url,t,!0)}},P.prototype.setControls=function(){var e=this.options();if(e.useNativeControls)this.tag.setAttribute("controls","controls");else if("object"==typeof e.controls){var t=this._initControlBar(e.controls);this.addChild(t)}},P.prototype._initControlBar=function(e){return new ControlBar(this,e)},P.prototype.getMetaData=function(){var t=this,i=this.tag;t._readyStateTimer&&clearInterval(t._readyStateTimer),t._readyStateTimer=window.setInterval(function(e){t.tag?i&&0<i.readyState&&(t._duration=i.duration<1?0:i.duration,t.trigger(T.Private.ReadyState),clearInterval(t._readyStateTimer)):clearInterval(t._readyStateTimer)},100)},P.prototype.getReadyTime=function(){return this.readyTime},P.prototype.readyState=function(){return this.tag.readyState},P.prototype.getError=function(){return this.tag.error},P.prototype.getRecentOccuredEvent=function(){return this._eventState},P.prototype.getSourceUrl=function(){return this._options?this._options.source:""},P.prototype.getMonitorInfo=function(){return this._monitor?this._monitor.opt:{}},P.prototype.getCurrentQuality=function(){if(0<this._urls.length){var e=this._urls[this._currentPlayIndex];return{width:e.width,url:e.Url,definition:e.definition}}return""},P.prototype.setSpeed=function(e){this.tag&&(this._originalPlaybackRate=e,this.tag.playbackRate=e)},P.prototype.play=function(e){return this.tag&&(this.tag.ended||this._ended?this.replay():((this._options.preload||this.loaded)&&this.tag.src||this._initLoad(this._options.source),this.trigger(T.Private.Cover_Hide),this.tag.play())),this._isManualPlay=e||!1,this},P.prototype.replay=function(){return this._monitor&&this._monitor.replay(),this.seek(0),this.tag.play(),this},P.prototype.pause=function(e){return this.tag&&this.tag.pause(),this._isManualPause=e||!1,this},P.prototype.stop=function(){return this.tag.setAttribute("src",null),this},P.prototype.paused=function(){if(this.tag)return!1!==this.tag.paused},P.prototype.getDuration=function(){var e=0;return this.tag&&(e=this.isPreview()?this._vodDuration||this.tag.duration:this._duration&&this._duration!=1/0?this._duration:this.tag.duration),e},P.prototype.getDisplayDuration=function(){var e=0;return this.tag&&(e=this._vodDuration||this.getDuration()),e},P.prototype.getCurrentTime=function(){return this.tag?this.tag.currentTime:0},P.prototype.seek=function(e){e===this.tag.duration&&e--;var t=this._originalPlaybackRate||this.tag.playbackRate;try{var i=this;this.tag.currentTime=e,setTimeout(function(){i.tag&&(i.tag.playbackRate=t)})}catch(e){console.log(e)}return this},P.prototype.firstNewUrlloadByUrl=function(e,t){this._clearTimeout(),this._options.vid=0,this._options.source=e,this._monitor&&this._monitor.updateVideoInfo({video_id:0,album_id:0,source:e,from:this._options.from}),this.trigger(T.Private.ChangeURL),this.initPlay(),this._options.autoplay&&this.trigger(T.Private.Cover_Hide),this._options.autoplay?this.trigger(T.Player.Play):this.trigger(T.Player.Pause),t||(t=0),!t&&0!=t||isNaN(t)||this.seek(t)},P.prototype._loadByUrlInner=function(e,t,i){this.loadByUrl(e,t,i,!0)},P.prototype.loadByUrl=function(e,t,i,r){this._monitor&&!r&&this._monitor.reset(),this._isError=!1,this._duration=0,this._clearTimeout(),this.trigger(T.Private.Error_Hide),this._options.vid=0,this._options.source=e,this._monitor&&this._monitor.updateVideoInfo({video_id:0,album_id:0,source:e,from:this._options.from}),r||(this.trigger(T.Private.ChangeURL),this._vodRetryCount=0),this._options._autoplay=i,this.initPlay(i),(this._options.autoplay||i)&&this.trigger(T.Private.Cover_Hide),this._options.autoplay||i?this.trigger(T.Player.Play):this.trigger(T.Player.Pause);var o=this;this._options.isLive||s.one(this.tag,T.Video.CanPlay,function(e){!t&&0!=t||isNaN(t)||o.seek(t)})},P.prototype.dispose=function(){this.__disposed=!0,this.trigger(T.Private.Dispose),this.tag.pause(),y.offAll(this),this._monitor&&(this._monitor.removeEvent(),this._monitor=null),this._autoPlayDelay&&this._autoPlayDelay.dispose(),this._checkTimeoutHandle&&(clearTimeout(this._checkTimeoutHandle),this._checkTimeoutHandle=null),this._waitingTimeoutHandle&&(clearTimeout(this._waitingTimeoutHandle),this._waitingTimeoutHandle=null),this._playingSlientPause&&(clearTimeout(this._playingSlientPause),this._playingSlientPause=null),this._waitingLoadedHandle&&(clearTimeout(this._waitingLoadedHandle),this._waitingLoadedHandle=null),this._readyStateTimer&&(clearInterval(this._readyStateTimer),this._readyStateTimer=null),this._vodRetryCountHandle&&(clearTimeout(this._vodRetryCountHandle),this._vodRetryCountHandle=null),this._waitingDelayLoadingShowHandle&&(clearTimeout(this._waitingDelayLoadingShowHandle),this._waitingDelayLoadingShowHandle=null),this._disposeService(),this._clearLiveErrorHandle(),this._el.innerHTML="",this.destroy(),this.tag=null,this._options.recreatePlayer=null,this._options=null},P.prototype.mute=function(){this._muteInner(),this._originalVolumn=this.tag.volume;var e=_.get("Volume_Mute");return this._player.trigger(T.Private.Info_Show,{text:e,duration:1e3,align:"lb"}),this._setInnerVolume(0),this},P.prototype._muteInner=function(){this.tag.muted=!0,this.trigger(T.Private.VolumnChanged,-1)},P.prototype.unMute=function(){this._unMuteInner();var e=_.get("Volume_UnMute");return this._player.trigger(T.Private.Info_Show,{text:e,duration:1e3,align:"lb"}),this._setInnerVolume(this._originalVolumn||.5),this},P.prototype._unMuteInner=function(){this.tag.muted=!1,this.trigger(T.Private.VolumnChanged,-2)},P.prototype.muted=function(){return this.tag.muted},P.prototype.getVolume=function(){return this.tag.volume},P.prototype.getOptions=function(){return this._options},P.prototype.setVolume=function(e,t){0!=e?this._unMuteInner():0==e&&this._muteInner(),this._setInnerVolume(e);var i=_.get("Curent_Volume")+"<span>"+(100*e).toFixed()+"%</span>";this._player.trigger(T.Private.Info_Show,{text:i,duration:1e3,align:"lb"})},P.prototype._setInnerVolume=function(e){this.tag.volume=e,this.trigger(T.Private.VolumnChanged,e)},P.prototype.hideProgress=function(){this.trigger(T.Private.HideProgress)},P.prototype.cancelHideProgress=function(){this.trigger(T.Private.CancelHideProgress)},P.prototype.setPlayerSize=function(e,t){this._el.style.width=e,this._el.style.height=t},P.prototype.getBuffered=function(){return this.tag.buffered},P.prototype.setRotate=function(e){this.tag&&(this._rotate=e,this._setTransform(),this.log("ROTATE",{rotation:e}))},P.prototype.getRotate=function(e){return void 0===this._rotate?0:this._rotate},P.prototype.setImage=function(e){this.tag&&(this._image=e,this._setTransform(),this.log("IMAGE",{mirror:"horizon"==e?2:1,text:e}))},P.prototype.getImage=function(){return this._image},P.prototype.cancelImage=function(){this.tag&&(this._image="",this._setTransform(),this.log("IMAGE",{mirror:0}))},P.prototype.setCover=function(e){var t=document.querySelector("#"+this.id()+" .prism-cover");t&&e&&(t.style.backgroundImage="url("+e+")",this._options.cover=e,this.trigger(T.Private.Cover_Show))},P.prototype._setTransform=function(){this._transformProp||(this._transformProp=o.getTransformName(this.tag));var e=" translate(-50%, -50%)";this._rotate&&(e+=" rotate("+this._rotate+"deg)"),this._image&&("vertical"==this._image?e+=" scaleY(-1)":"horizon"==this._image&&(e+=" scaleX(-1)")),this.tag.style[this._transformProp]=e},P.prototype._startPlay=function(){this.tag.paused&&this.tag.play()},P.prototype._initPlayBehavior=function(e,t){if(this._checkSupportVideoType())return!1;if(p.validateSource(t))return void 0===e&&(e=!1),this._created||(this._created=!0,this.trigger(T.Private.Created)),this.loaded||this.trigger(T.Player.Init),this._options.autoplay||this._options._autoplay||this._options.preload||e?(this._options._preload=!0,this._initLoad(t),(this._options.autoplay||this._options._autoplay)&&this._startPlay()):this.trigger(T.Private.Play_Btn_Show),!0;var i={mediaId:this._options.vid?this._options.vid:"",error_code:c.ErrorCode.InvalidSourceURL,error_msg:"InvalidSourceURL"};return i.display_msg=_.get("Error_Invalidate_Source"),this.trigger(T.Player.Error,i),!1},P.prototype._isPreload=function(){return this._options.autoplay||this._options.preload||this._options._preload},P.prototype._initLoad=function(e){this.getMetaData(),e&&(this._isPreload()&&!r.IS_MOBILE?this.trigger(T.Private.H5_Loading_Show):(this.trigger(T.Private.H5_Loading_Hide),this.trigger(T.Private.Play_Btn_Show)),this.tag.setAttribute("src",e),this.loaded=!0)},P.prototype._clearLiveErrorHandle=function(){this._liveErrorHandle&&(clearTimeout(this._liveErrorHandle),this._liveErrorHandle=null)},P.prototype._reloadAndPlayForM3u8=function(){0==this._liveRetryCount&&this.trigger(T.Player.OnM3u8Retry);var e=this._options,t=e.liveRetryInterval+e.liveRetryStep*this._liveRetryCount;d.sleep(1e3*t),this._liveRetryCount++,this.tag.load(this._options.source),this.tag.play()},P.prototype._checkSupportVideoType=function(){if(!this.tag.canPlayType||!this._options.source||!r.IS_MOBILE)return"";var e=this._options.source,t="";if(0<e.indexOf("m3u8")?""!=this.tag.canPlayType("application/x-mpegURL")||p.isSupportHls()||(t=_.get("Error_Not_Support_M3U8_Text")):0<e.indexOf("mp4")?""==this.tag.canPlayType("video/mp4")&&(t=_.get("Error_Not_Support_MP4_Text")):(p.isRTMP(e)||p.isFlv(e))&&r.IS_MOBILE&&(t=_.get("Error_Not_Support_Format_On_Mobile")),t){var i={mediaId:this._options.vid?this._options.vid:"",error_code:c.ErrorCode.FormatNotSupport,error_msg:t};this.logError(i),i.display_msg=t,this.trigger(T.Player.Error,i)}return t},P.prototype.getComponent=function(e){return this._lifeCycleManager.getComponent(e)},P.prototype.logError=function(e,t){e||(e={}),e.vt=this.getCurrentTime(),this._serverRequestId=this.log(t?"ERRORRETRY":"ERROR",e)},P.prototype.log=function(e,t){var i=0,r=0;if(this._monitor)return this._options&&(i=this._options.vid||"0",r=this._options.from||"0"),this._monitor.updateVideoInfo({video_id:i,album_id:0,source:this._options.source,from:r}),this._monitor._log(e,t)},P.prototype.setSanpshotProperties=function(e,t,i){if(this._snapshotMatric||(this._snapshotMatric={}),this._snapshotMatric.width=e,this._snapshotMatric.height=t,1<i)throw new Error("rate doesn't allow more than 1");this._snapshotMatric.rate=i},P.prototype.getStatus=function(){return this._status?this._status:"init"},P.prototype.enterProgressMarker=function(){this._enteredProgressMarker=!0},P.prototype.isInProgressMarker=function(){return this._enteredProgressMarker},P.prototype.exitProgressMarker=function(){this._enteredProgressMarker=!1},P.prototype.setProgressMarkers=function(e){e||(e=[]),this.trigger(T.Private.ProgressMarkerChanged,e)},P.prototype.getProgressMarkers=function(){return this._progressMarkerService?this._progressMarkerService.progressMarkers:[]},P.prototype.setPreviewTime=function(e){this._options.playConfig||(this._options.playConfig={}),this._options.playConfig.PreviewTime=e},P.prototype.getPreviewTime=function(){var e=0;return this._options.playConfig&&(e=this._options.playConfig.PreviewTime),e},P.prototype.exceedPreviewTime=function(e){return this.isPreview()&&e>=this._options.playConfig.PreviewTime},P.prototype.isPreview=function(){var e=this._options.playConfig.PreviewTime,t=this._vodDuration||this.tag.duration;return 0<e&&e<t},P.prototype._getSanpshotMatric=function(){return this._snapshotMatric||(this._snapshotMatric={}),this._snapshotMatric},P.prototype._overrideNativePlay=function(){var r=this.tag.play,o=this;this.tag.play=function(){if(console.log("do play"),!o._options.source){var e={mediaId:o._options.vid?o._options.vid:"",error_code:c.ErrorCode.InvalidSourceURL,error_msg:"InvalidSourceURL"};return o._options.vid?e.display_msg=_.get("Error_Vid_Empty_Source"):e.display_msg=_.get("Error_Empty_Source"),void o.trigger(T.Player.Error,e)}o.readyTime=(new Date).getTime();var t=r.apply(o.tag);void 0!==t&&t.then(function(){o.trigger(T.Player.AutoPlay,!0),console.log("do play successfully")})["catch"](function(e){console.log("do play failed"),!o.tag||!o.tag.paused||o._isError||o._options._autoplay||o._switchedLevel||(o.trigger(T.Private.Play_Btn_Show),o.trigger(T.Private.H5_Loading_Hide),o.trigger(T.Player.AutoPlayPrevented),o.trigger(T.Player.AutoPlay,!1),o._options.cover&&o.trigger(T.Private.Cover_Show))});var i=o._originalPlaybackRate||o.tag.playbackRate;setTimeout(function(){o.tag&&(o.tag.playbackRate=i)})}},P.prototype._extraMultiSources=function(){var e=this._options.source;if(e&&-1<e.indexOf("{")&&-1<e.indexOf("}")){var t="";try{t=JSON.parse(e)}catch(e){console.error(e),console.error("\u5730\u5740json\u4e32\u683c\u5f0f\u4e0d\u5bf9")}var i=[];for(var r in t){var o=c.QualityLevels[r];i.push({definition:r,Url:t[r],desc:o||r})}if(0<i.length){this._currentPlayIndex=p.findSelectedStreamLevel(i);var n=i[this._currentPlayIndex];this._urls=i,this._options.source=n.Url,this.trigger(T.Private.SourceLoaded,n)}}},P.prototype._isEnabledAILabel=function(){return this._options.ai&&this._options.ai.label},P.prototype._createService=function(){if(x)for(var e=x.length,t=0;t<e;t++){var i=x[t],r=i.condition;void 0===r?r=!0:"function"==typeof r&&(r=r.call(this)),r&&(this[i.name]=new i.service(this))}},P.prototype._disposeService=function(){if(x)for(var e=x.length,t=0;t<e;t++){var i=this[x[t].name];void 0!==i&&i.dispose&&i.dispose()}},P.prototype._executeReadyCallback=function(){try{this._options.autoplay||this._options.preload||(this.trigger(T.Private.H5_Loading_Hide),this.trigger(T.Private.Play_Btn_Show)),this._options.readyCallback(this)}catch(e){console.log(e)}},P.prototype._clearTimeout=function(){this._checkTimeoutHandle&&(clearTimeout(this._checkTimeoutHandle),this._checkTimeoutHandle=null),this._waitingTimeoutHandle&&(clearTimeout(this._waitingTimeoutHandle),this._waitingTimeoutHandle=null),this._clearLiveErrorHandle()},P.prototype._reloadForVod=function(){if(this._originalSource||(this._originalSource=this._options.source),this._vodRetryCount<this._options.vodRetry&&navigator.onLine){var e=this.getCurrentTime(),t=this._originalSource;t.indexOf("auth_key=")<0&&(t=t&&0<t.indexOf("?")?t+"&_t="+(new Date).valueOf():t+"?_t="+(new Date).valueOf()),this._vodRetryCountHandle&&clearTimeout(this._vodRetryCountHandle);var i=this;return console.log("_reloadForVod"),this._vodRetryCountHandle=setTimeout(function(){console.log("reload vod because failed"),i._loadByUrlInner(t,e,!0)},100*this._vodRetryCount),this._vodRetryCount=this._vodRetryCount+1,!0}return!1},t.exports=P},{"../../commonui/autostreamselector":2,"../../config":5,"../../feature/autoPlayDelay":7,"../../lang/index":11,"../../lib/constants":15,"../../lib/cookie":16,"../../lib/dom":18,"../../lib/event":19,"../../lib/io":24,"../../lib/object":26,"../../lib/playerutil":29,"../../lib/ua":31,"../../lib/util":33,"../../monitor/monitor":38,"../../ui/component":94,"../../ui/component/cover":98,"../../ui/component/play-animation":104,"../../ui/component/progressmarker":107,"../../ui/exports":124,"../service/export":87,"./event/eventmanager":42,"./event/eventtype":43,"./plugin/lifecyclemanager":65,"./x5play":67}],63:[function(e,t,i){var r=e("../../../lib/oo").extend({});t.exports=r},{"../../../lib/oo":27}],64:[function(e,t,i){t.exports={createEl:"createEl",created:"created",ready:"ready",loading:"loading",play:"play",pause:"pause",playing:"playing",waiting:"waiting",timeUpdate:"timeupdate",error:"error",ended:"ended",dispose:"dispose",markerDotOver:"markerDotOver",markerDotOut:"markerDotOut"}},{}],65:[function(e,t,i){var s=e("../../../lib/object"),u=e("../event/eventtype"),c=e("./lifecycle"),r=e("./status"),o=function(t){(this._player=t)._status="init",this.components=[];var e=t.getOptions().components;if(e&&s.isArray(e)&&0<e.length)for(var i=0;i<e.length;i++){var r=e[i];if(!r)return void console.log("The "+i+" custome component is "+r);if(constr=void 0===r.type?r:r.type,args=void 0===r.args?[]:r.args,name=void 0===r.name?"":r.name,!constr)return void console.log(name+" compenent is "+constr);args&&0<args.length?args=[].concat.call([constr],args):args=[];var o=new(Function.prototype.bind.apply(constr,args)),n=o[c.createEl];n&&"function"==typeof n&&n.call(o,t.el(),t),this.components.push({name:name,obj:o})}var a=this;t.on(u.Private.LifeCycleChanged,function(e){0!=a.components.length&&l.call(a,t,e)})};o.prototype.getComponent=function(e){var t=null,i=this.components.length;if(e)for(var r=0;r<i;r++)if(this.components[r].name==e){t=this.components[r].obj;break}return t};var l=function(e,t){if(t){var i=t.paramData,r=i.type,o=i.data;(function(e){return e==u.Video.LoadStart||e==u.Video.LoadedData||e==u.Video.LoadedMetadata})(r)&&(r=c.loading),d(e,r);for(var n=this.components.length,a=0;a<n;a++){var s=this.components[a].obj,l=s[r];l&&"function"==typeof l&&l.call(s,e,o)}r==u.Private.Dispose&&(this.components=[])}},d=function(e,t){void 0!==r[t]&&(t!=r.pause||e._status!=r.error&&e._status!=r.ended)&&(e._status=t)};t.exports=o},{"../../../lib/object":26,"../event/eventtype":43,"./lifecycle":64,"./status":66}],66:[function(e,t,i){t.exports={init:"init",ready:"ready",loading:"loading",play:"play",pause:"pause",playing:"playing",waiting:"waiting",error:"error",ended:"ended"}},{}],67:[function(e,t,i){var r=e("../../lib/ua"),o=e("../../lib/dom"),n=function(e,t){var i=e.el().style.height,r=e.el().style.width;e.originalLayout={container:{height:i,width:r},video:{width:e.tag.style.width,height:e.tag.style.height}};var o=document.body.clientHeight*(window.devicePixelRatio||1)+"px",n=document.body.clientWidth+"px";t?(height=o,width=n):(height=i.indexOf("%")?i:i+"px",width=r.indexOf("%")?r:r+"px"),e.tag.style.width=n,e.tag.style.height=o,e.el().style.height=t?o:height};t.exports.isAndroidX5=function(){return r.os.android&&r.is_X5||r.dingTalk()},t.exports.adaptX5Play=function(e){r.os.android&&r.is_X5&&("h5"==e._options.x5_type&&(e.tag.setAttribute("x5-video-player-type",e._options.x5_type),window.onresize=function(){n(e,e._options.x5_fullscreen||"center"==e._options.x5_video_position),function(e){if("landscape"==e._x5VideoOrientation){e._originalTagWidth=e.tag.style.width,e._originalTagHeight=e.tag.style.height;var t=document.querySelector("#"+e.id()+" .prism-controlbar");t&&parseFloat(t.offsetHeight),e.tag.style.height="100%",e.tag.style.width=window.screen.width+"px"}}(e)},e.tag.addEventListener("x5videoenterfullscreen",function(){n(e,e._options.x5_fullscreen||"center"==e._options.x5_video_position),e.trigger("x5requestFullScreen")}),e.tag.addEventListener("x5videoexitfullscreen",function(){!function(e,t){if(e.originalLayout){var i=e.originalLayout;e.el().style.height=i.container.height,e.el().style.width=i.container.width,e.tag.style.width=i.video.width,e.tag.style.height=i.video.height}}(e),e.trigger("x5cancelFullScreen"),e.fullscreenService.getIsFullScreen()&&e.fullscreenService.cancelFullScreen()}),e.on("requestFullScreen",function(){"top"==e._options.x5_video_position&&o.removeClass(e.tag,"x5-top-left"),r.os.android&&r.is_X5&&e._options.x5LandscapeAsFullScreen&&(e.tag.setAttribute("x5-video-orientation","landscape"),e._x5VideoOrientation="landscape")}),e.on("cancelFullScreen",function(){"top"==e._options.x5_video_position&&o.addClass(e.tag,"x5-top-left"),r.os.android&&r.is_X5&&e._options.x5LandscapeAsFullScreen&&(e.tag.setAttribute("x5-video-orientation","portrait"),n(e,e._options.x5_fullscreen||"center"==e._options.x5_video_position),e._x5VideoOrientation="portrait")})),void 0!==e._options.x5_fullscreen&&e._options.x5_fullscreen&&(e.tag.setAttribute("x5-video-player-fullscreen",e._options.x5_fullscreen),o.addClass(e.tag,"x5-full-screen")),"top"==e._options.x5_video_position&&o.addClass(e.tag,"x5-top-left"),void 0!==e._options.x5_orientation&&e.tag.setAttribute("x5-video-orientation",e._options.x5_orientation))}},{"../../lib/dom":18,"../../lib/ua":31}],68:[function(e,t,i){var c=e("../../lib/io"),d=e("../../config"),p=e("../../lib/constants"),h=e("../../lib/util"),f=e("../../lib/playerutil"),_=(e("../../lib/dom"),e("../../lang/index")),g=e("../base/event/eventtype"),y=e("../saas/drm");t.exports.inject=function(e,t,i,r,a,o,n){var s=r.source;if(o||function(e,t){return!(e._drm||!f.isDash(t))}(e,s)){t.prototype._checkDrmReady=function(){if(null==e._drm)throw new Error("please invoke this method after ready event")},e._isDrm=!0,e._drm=null,e._isLoadedDrm=!1,t.prototype.play=function(e){this._checkDrmReady(),this._isManualPlay=e||!1;if(this.trigger(g.Private.Cover_Hide),this.tag.ended)this.replay();else{this.getCurrentTime();this.tag.paused&&this.tag.play()}return this},t.prototype.replay=function(){if(this.tag.paused){this._monitor&&this._monitor.replay();var e=this;this._drm.load(this._options.source).then(function(){e._options._autoplay=!0,e._initPlayBehavior(!0),console.log("The video has now been loaded!")})["catch"](u)}return this},t.prototype.pause=function(e){return this._checkDrmReady(),this._isManualPause=e||!1,this.tag.pause(),this},t.prototype.stop=function(){return this._checkDrmReady(),this.tag.setAttribute("src",null),this},t.prototype.initPlay=function(e){if(h.contentProtocolMixed(s)){var t={mediaId:this._options.vid?this._options.vid:"",error_code:p.ErrorCode.InvalidSourceURL,error_msg:"InvalidSourceURL"};return t.display_msg=_.get("Request_Block_Text"),void this.trigger(g.Player.Error,t)}function i(i,t){var r=!i._drm,o=function(){l(i,i._drm);var e={drm:{requestLicenseKey:y.requestLicenseKey(i),servers:{}}};p.DRMKeySystem[4]&&(e.drm.servers[p.DRMKeySystem[5]]="https://foo.bar/drm/widevine",e.drm.servers[p.DRMKeySystem[4]]="https://foo.bar/drm/playready"),i._drm.configure(e),a&&a(i._drm),r&&i._executeReadyCallback(),i._drm.load(i._options.source).then(function(){i._initPlayBehavior(t),console.log("The video has now been loaded!")})["catch"](function(e){u(i,e)})},n=function(e){if(!e||i.__support&&i.__support.drm[e])o();else{var t={mediaId:i._options.vid?i._options.vid:"",error_code:p.ErrorCode.EncrptyVideoNotSupport,error_msg:_.get("Not_Support_DRM")};i.trigger(g.Player.Error,t)}};i.destroy(function(t){try{t._drm=new shaka.Player(t.tag);var e=t._getItemBySource();if(e){var i=p.DRMKeySystem[e.encryptionType];t.__support?n(i):shaka.Player.probeSupport().then(function(e){t.__support=e,n(i)})}else o()}catch(e){console.log(e)}})}(that=this)._isLoadedDrm&&"undefined"!=typeof shaka?i(this,e):(this.trigger(g.Private.H5_Loading_Show),function(e){var t="aliplayer-drm-min.js",i="https://"+d.domain+"/de/prismplayer/"+d.h5Version+"/drm/"+t;d.domain?-1<d.domain.indexOf("g-assets.daily")?i="http://"+d.domain+"/de/prismplayer/"+d.h5Version+"/drm/"+t:-1<d.domain.indexOf("localhost")&&(i="http://"+d.domain+"/build/drm/"+t):i="de/prismplayer/"+d.h5Version+"/drm/"+t;var r=this;c.loadJS(i,function(){shaka.polyfill.installAll(),e.apply(r)})}.call(that,function(){this._isLoadedDrm=!0,i(this,e)}))},t.prototype.destroy=function(e){if(this._drm){var t=this;this._drm.destroy().then(function(){t._drm=null,e(t)})}else e(this)},t.prototype.dispose=function(){i.dispose.call(this),this.destroy()},t.prototype._getDRMEncryptItem=function(){var e=this._urls;if(e&&0<e.length){for(var t=e.length,i=0;i<t;i++){var r=e[i];if(r.Url==this._options.source&&1*r.encryption)return r}return""}return""},t.prototype._getItemBySource=function(){var e=this._urls;if(e&&0<e.length){for(var t=e.length,i=0;i<t;i++){var r=e[i];if(r.Url==this._options.source)return r}return""}return""};var l=function(t,e){e.addEventListener("error",function(e){!function(e,t){u(e,t.detail)}(t,e)})}}function u(t,i){var r="Error code:"+i.code+"message:"+i.message;console.log(r);var o=p.ErrorCode.OtherError;r=_.get("Error_Play_Text");i.code==shaka.util.Error.Code.EXPIRED?(o=p.ErrorCode.AuthKeyExpired,r=_.get("DRM_License_Expired")):i.code==shaka.util.Error.Code.HTTP_ERROR?(o=p.ErrorCode.NetworkError,r=_.get("Http_Error")):i.code==shaka.util.Error.Code.HTTP_ERROR?(o=p.ErrorCode.LoadingTimeout,r=_.get("Http_Timeout")):i.category==shaka.util.Error.NETWORK&&(o=p.ErrorCode.NetworkError,r=_.get("Error_Network_Text"));!function(){if(setTimeout(function(){t.trigger(g.Private.Play_Btn_Hide)}),t.checkOnline()){var e={mediaId:t._options.vid?t._options.vid:"",error_code:o,error_msg:i.message};t.logError(e),e.display_msg=i.code+"|"+r,t.trigger(g.Player.Error,e)}}()}}},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/dom":18,"../../lib/io":24,"../../lib/playerutil":29,"../../lib/util":33,"../base/event/eventtype":43,"../saas/drm":76}],69:[function(e,t,i){var r=e("../base/player"),o=e("./drminjector"),n=r.extend({init:function(e,t){o.inject(this,n,r.prototype,t,function(e){}),t._native=!1,r.call(this,e,t)}});t.exports=n},{"../base/player":62,"./drminjector":68}],70:[function(e,t,i){var o=e("../../ui/component"),n=e("../../lib/data"),s=e("../../lib/ua"),a=e("../../lib/constants"),l=e("../../lib/dom"),u=e("../../lib/object"),c=e("../../config"),d=e("../../lang/index"),p=e("../../lib/playerutil"),h=e("../../lib/util"),r=e("../../ui/component/info-display"),f=e("../../ui/component/error-display"),_=e("../../feature/autoPlayDelay"),g=e("../../commonui/autostreamselector"),y=e("../base/event/eventtype"),v=e("../saas/ststoken"),m=o.extend({init:function(e,t){if(void 0===t.skinLayout&&(t.skinLayout=p.defaultFlashLayout),o.call(this,this,t),this._id="prism-player-"+n.guid(),this.tag=e,this._el=this.tag,this._childrenUI=[f],this.initChildren(),this.id=this._id,window[this.id]=this,d.setCurrentLanguage(this._options.language,"flash",this._options.languageTexts),h.openInFile()){var i={mediaId:this._options.vid?this._options.vid:"",error_code:a.ErrorCode.FormatNotSupport,error_msg:d.get("Open_Html_By_File","flash")};this.trigger(y.Private.Error_Show,i)}else if(s.IS_MOBILE)this.trigger(y.Private.Error_Show,{mediaId:this._options.vid?this._options.vid:"",error_code:a.ErrorCode.FormatNotSupport,error_msg:d.get("Cant_Use_Flash_On_Mobile","flash")});else{if(this._options.vid&&this._options.accessKeyId&&this._options.securityToken&&this._options.accessKeySecret){var r=this;v.getPlayAuth(this._options,function(e){r._options.playauth=e,r._createPlayer()},function(e){var t={mediaId:r._options.vid,error_code:e.Code,error_msg:e.Message};e.sri&&(t.sri=e.sri),t.display_msg=e.display_msg,r.trigger(y.Private.Error_Show,t)},"flash")}else this._createPlayer();this._status="init"}},_createPlayer:function(){if(this._options.autoPlayDelay){var e=new _(this),t=this;e.handle(function(){t._options.autoplay=!0,t._initPlayer(),t._childrenUI=[r,g],t.initChildren()})}else this._initPlayer(),this._childrenUI=[r,g],this.initChildren();if(!s.HAS_FLASH){var i=d.get("Flash_Not_Ready","flash");this.trigger(y.Private.Info_Show,{text:i,align:"tc",isBlack:!1})}},_initPlayer:function(){var e="//"+c.domain+"/de/prismplayer-flash/"+c.flashVersion+"/PrismPlayer.swf";this._options.playerSwfPath?e=this._options.playerSwfPath:c.domain?-1<c.domain.indexOf("localhost")&&(e="//"+c.domain+"/build/flash//PrismPlayer.swf"):e="de/prismplayer-flash/"+c.flashVersion+"/PrismPlayer.swf";var t=this._comboFlashVars(),i=this._options.wmode?this._options.wmode:"opaque";this.tag.innerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="100%" id="'+this.id+'"><param name=movie value="'+e+'"><param name=quality value=High><param name="FlashVars" value="'+t+'"><param name="WMode" value="'+i+'"><param name="AllowScriptAccess" value="always"><param name="AllowFullScreen" value="true"><param name="AllowFullScreenInteractive" value="true"><embed name="'+this.id+'" src="'+e+'" quality=high pluginspage="//www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%" AllowScriptAccess="always" AllowFullScreen="true" AllowFullScreenInteractive="true" WMode="'+i+'" FlashVars="'+t+'"></embed></object>'},_getPlayer:function(e){return-1!=navigator.appName.indexOf("Microsoft")?document.getElementById(e):document[e]},_getLowerQualityLevel:function(){var e=this._getVideoUrls();if(!e)return"";var t=e.Urls,i=e.index;return t&&0==t.length||-1==i?"":0<i?{item:t[i-1],index:i-1}:""},_comboFlashVars:function(){var e=encodeURIComponent(s.getReferer()),t=s.getHref(),i=encodeURIComponent(t),r="";t&&(r=s.getHost(t));var o=this._options,n={autoPlay:o.autoplay?1:0,isInner:0,actRequest:1,vid:o.vid,diagnosisButtonVisible:o.diagnosisButtonVisible?1:0,domain:o.domain?o.domain:"//tv.taobao.com",statisticService:o.statisticService?o.statisticService:c.logReportTo,videoInfoService:o.videoInfoService?o.videoInfoService:"/player/json/getBaseVideoInfo.do",disablePing:o.trackLog?0:1,namespace:this.id,barMode:0!=o.barMode?1:0,isLive:o.isLive?1:0,waterMark:o.waterMark,environment:o.environment,vurl:o.source?encodeURIComponent(o.source):"",plugins:o.plugins?o.plugins:"",snapShotShow:o.snapshot?1:0,accessId:o.accId?o.accId:"",accessKey:o.accSecret?o.accSecret:"",apiKey:o.apiKey?o.apiKey:"",flashApiKey:o.flashApiKey?o.flashApiKey:"",disableSeek:o.disableSeek?1:0,disableFullScreen:o.disableFullScreen?1:0,stsToken:o.stsToken?o.stsToken:"",domainRegion:o.domainRegion?o.domainRegion:"",authInfo:o.authInfo?encodeURIComponent(o.authInfo):"",playDomain:o.playDomain?o.playDomain:"",stretcherZoomType:o.stretcherZoomType?o.stretcherZoomType:"",playauth:o.playauth?o.playauth.replace(/\+/g,"%2B"):"",prismType:o.prismType?o.prismType:0,formats:o.formats?o.formats:"",notShowTips:o.notShowTips?1:0,showBarTime:o.showBarTime?o.showBarTime:0,showBuffer:0==o.showBuffer?0:1,rePlay:o.rePlay?1:0,encryp:o.encryp?o.encryp:"",secret:o.secret?o.secret:"",mediaType:"video",logInfo:{ud:s.getHost(o.source),os:s.os.name,ov:s.os.version||"",et:s.browser.name,ev:s.browser.version||"",uat:s.USER_AGENT,r:e,pu:i,app_n:r}},a=[];return void 0!==o.rtmpBufferTime&&(n.rtmpBufferTime=o.rtmpBufferTime),o.cover&&(n.cover=o.cover),o.extraInfo&&(n.extraInfo=encodeURIComponent(JSON.stringify(o.extraInfo))),n.logInfo&&(n.logInfo=encodeURIComponent(JSON.stringify(n.logInfo))),n.languageData=encodeURIComponent(JSON.stringify(d.getLanguageData("flash"))),n.language=d.getCurrentLanguage(),u.each(n,function(e,t){a.push(e+"="+t)}),a.join("&")},initChildren:function(){for(var e=this._childrenUI.length,t=0;t<e;t++){var i=new this._childrenUI[t](this,this._options),r=i.el();r.id=i.id(),this.contentEl().appendChild(r),i.bindEvent()}var o=document.querySelector("#"+this._options.id+" .prism-info-display");l.css(o,"display","none")},flashReady:function(){this.flashPlayer=this._getPlayer(this.id),this._isReady=!0;var e,t=this._options.skinRes,i=this._options.skinLayout;if(!1!==i&&!u.isArray(i))throw new Error("PrismPlayer Error: skinLayout should be false or type of array!");if("string"!=typeof t)throw new Error("PrismPlayer Error: skinRes should be string!");e=0!=i&&0!==i.length&&{skinRes:t,skinLayout:i},this.flashPlayer.setPlayerSkin(e),this.trigger("ready");var r=this;window.addEventListener("beforeunload",function(){try{r.flashPlayer.setPlayerCloseStatus()}catch(e){}})},jsReady:function(){return!0},snapshoted:function(e){var t=h.toBinary(e),i="data:image/jpeg;base64,"+e;this.trigger("snapshoted",{time:this.getCurrentTime(),base64:i,binary:t})},uiReady:function(){this._status="ready",this.trigger("uiReady")},loadedmetadata:function(){"ended"!=this._status&&(this._status="loading",this.trigger("loadedmetadata"))},onPlay:function(){this._status="play",this.trigger("play"),this._clearTimeoutHandle(),this.trigger(y.Private.AutoStreamHide)},onEnded:function(){this._clearTimeoutHandle(),this._status="ended",this.trigger("ended")},onPause:function(){this._status="pause",this._clearTimeoutHandle(),this.trigger(y.Private.AutoStreamHide),this.trigger("pause")},onBulletScreenReady:function(){this.trigger("bSReady")},onBulletScreenMsgSend:function(e){this.trigger("bSSendMsg",e)},onVideoRender:function(e){this._clearTimeoutHandle(),this.trigger("videoRender"),this.trigger("canplay",{loadtime:e})},onVideoError:function(e){this._clearTimeoutHandle(),this._status="error",this.trigger("error",{errortype:e})},onM3u8Retry:function(){this.trigger("m3u8Retry")},hideBar:function(){this.trigger("hideBar")},showBar:function(){this.trigger("showBar")},liveStreamStop:function(){this.trigger("liveStreamStop")},stsTokenExpired:function(){this._status="error",this.trigger("stsTokenExpired")},onVideoBuffer:function(){if("pause"!=this._status){this._status="waiting",this.trigger("waiting"),this._clearTimeoutHandle();var e=this;this._checkTimeoutHandle=setTimeout(function(){e.trigger(y.Private.AutoStreamShow)},1e3*this._options.loadDataTimeout),this._checkVideoStatus()}},startSeek:function(e){this.trigger("startSeek",e)},completeSeek:function(e){this.trigger("completeSeek",e)},_invoke:function(){var e=arguments[0],t=arguments;if(Array.prototype.shift.call(t),!this.flashPlayer)throw new Error("PrismPlayer Error: flash player is not ready\uff0cplease use api after ready event occured!");if("function"!=typeof this.flashPlayer[e])throw new Error("PrismPlayer Error: function "+e+" is not found!");return this.flashPlayer[e].apply(this.flashPlayer,t)},play:function(){this._invoke("playVideo")},replay:function(){this._invoke("replayVideo")},pause:function(){this._invoke("pauseVideo")},stop:function(){this._invoke("stopVideo")},seek:function(e){this._invoke("seekVideo",e)},getCurrentTime:function(){return this._invoke("getCurrentTime")},getDuration:function(){return this._invoke("getDuration")},getStatus:function(){return this._status},_getVideoUrls:function(){var e=this._invoke("getVideoUrls"),t=[];if(e&&e.Urls)for(var i=0;i<e.Urls.length;i++){var r=e.Urls[i].value,o=r.desc.indexOf("_"),n=d.get(r.definition,"flash");r.desc=0<o?n+"_"+r.height:n,t.push(r)}return{Urls:t,index:e.index}},_getVideoStatus:function(){return this._invoke("getVideoStatus")},_checkVideoStatus:function(){if(this.flashPlayer&&!this._checkVideoStatusHandler){var t=this,i=function(){t._checkVideoStatusHandler=setTimeout(function(){var e=t._getVideoStatus();"playing"==e.videoStatus&&"bufferFull"==e.bufferStatus?(t._status="playing",t._clearTimeoutHandle()):"videoPlayOver"==e.videoStatus&&(t._status="ended",t._clearTimeoutHandle()),i()},500)};i()}},_clearTimeoutHandle:function(){this._checkTimeoutHandle&&(clearTimeout(this._checkTimeoutHandle),this._checkTimeoutHandle=null)},_changeStream:function(e){return this._invoke("changeStream",e)},mute:function(){this.setVolume(0)},unMute:function(){this.setVolume(.5)},getVolume:function(){return this._invoke("getVolume")},setVolume:function(e){this._invoke("setVolume",e)},loadByVid:function(e){this._invoke("loadByVid",e,!1)},loadByUrl:function(e,t){this._invoke("loadByUrl",e,t)},dispose:function(){this._clearTimeoutHandle(),this._checkVideoStatusHandler&&(clearTimeout(this._checkVideoStatusHandler),this._checkVideoStatusHandler=null),this._invoke("pauseVideo");var e=this;setTimeout(function(){e.off("completeSeek"),e.off("startSeek"),e.off("stsTokenExpired"),e.off("liveStreamStop"),e.off("showBar"),e.off("hideBar"),e.off("m3u8Retry"),e.off("error"),e.off("canplay"),e.off("pause"),e.off("ended"),e.off("play"),e.off("loadedmetadata"),e.off("snapshoted"),e.off("uiReady"),e.off("ready"),e.flashPlayer=null,e._el&&(e._el.innerHTML="")})},showBSMsg:function(e){this._invoke("showBSMsg",e)},setToastEnabled:function(e){this._invoke("setToastEnabled",e)},setLoadingInvisible:function(){this._invoke("setLoadingInvisible")},setPlayerSize:function(e,t){this._el.style.width=e,this._el.style.height=t}});t.exports=m},{"../../commonui/autostreamselector":2,"../../config":5,"../../feature/autoPlayDelay":7,"../../lang/index":11,"../../lib/constants":15,"../../lib/data":17,"../../lib/dom":18,"../../lib/object":26,"../../lib/playerutil":29,"../../lib/ua":31,"../../lib/util":33,"../../ui/component":94,"../../ui/component/error-display":99,"../../ui/component/info-display":102,"../base/event/eventtype":43,"../saas/ststoken":81}],71:[function(e,t,i){var a=e("../../lib/io"),d=e("../../config"),p=e("../../lib/constants"),h=e("../../lib/util"),u=e("../../lib/playerutil"),c=(e("../../lib/dom"),e("../../lib/ua")),f=e("../../lang/index"),_=e("../base/event/eventtype");e("../base/player");t.exports.inject=function(e,t,i,r,s,o){var n=r.source;if(o||function(e,t){return!(e._flv||!u.isFlv(t))}(e,n)){e._Type=t,e._superType=i,e._superPt=i.prototype,e._disposed=!1,t.prototype._checkFlvReady=function(){if(null==e._flv)throw new Error("please invoke this method after ready event")},e._isFlv=!0,e._flv=null,e._isLoadedFlv=!1,e._originalUrl="",t.prototype.play=function(e){this._checkFlvReady(),this._isManualPlay=e||!1;if(this.trigger(_.Private.Cover_Hide),this._options.isLive&&e)this._loadByUrlInner(this._options.source,0,liveForceLoad);else if(this.tag.ended||this._ended)this.replay();else{if(0==this._seeking){var t=0;this.tag.ended||this._ended||0==(t=this.getCurrentTime())&&(t=-1),-1!=t&&this.seek(t)}this.tag.paused&&(this._hasLoaded||(this.getMetaData(),this._flv.load()),this._flv.play())}return this},t.prototype.seek=function(e){this._checkFlvReady(),e===this.tag.duration&&e--;try{this._flv.currentTime=e}catch(e){console.log(e)}return this},t.prototype.pause=function(e){return this._checkFlvReady(),this._isManualPause=e||!1,this._flv.pause(),this},t.prototype.getProgramDateTime=function(){if(this._checkFlvReady(),!this._metadata)return"";var e=this._flv.getFirstSample(),t=e&&e.pts?e.pts:0;return console.log("\u63a8\u6d41\u65f6\u95f4\uff1a"+this._metadata.NtpTime),console.log("\u9996\u5e27PTS\uff1a"+t),this._metadata.NtpTime+t},t.prototype.initPlay=function(e){if(c.browser.safari&&this.trigger(_.Private.Snapshot_Hide),h.contentProtocolMixed(n)){var t={mediaId:this._options.vid?this._options.vid:"",error_code:p.ErrorCode.InvalidSourceURL,error_msg:"InvalidSourceURL"};return t.display_msg=f.get("Request_Block_Text"),void this.trigger(_.Player.Error,t)}function i(t,e){var i=!t._flv;t._destroyFlv();var r=t._options.isLive,o={isLive:r,enableWorker:t._options.enableWorker,stashInitialSize:2048},n={type:"flv",isLive:r,url:t._options.source};for(var a in r?(o.enableStashBuffer=t._options.enableStashBufferForFlv,stashInitialSize=t._options.stashInitialSizeForFlv,o.autoCleanupSourceBuffer=!1):o.lazyLoadMaxDuration=600,t._options.flvOption)"cors"==a||"hasAudio"==a||"withCredentials"==a||"hasVideo"==a||"type"==a?n[a]=t._options.flvOption[a]:o[a]=t._options.flvOption[a];t._originalUrl=t._options.source,flvjs.LoggingControl.enableAll=t._options.debug,t._flv=flvjs.createPlayer(n,o),l(t,t._flv),t._flv.on(flvjs.Events.MEDIA_INFO,function(e){t._metadata=e.metadata}),t._flv.attachMediaElement(t.tag),t._initPlayBehavior(e)&&((t._options.preload||t._options.autoplay)&&(t._hasLoaded=!0,t._flv.load()),t._options.autoplay&&!t.tag.paused&&t._flv.play(),s&&s(t._flv),i&&t._executeReadyCallback())}(that=this)._isLoadedFlv&&"undefined"!=typeof Hls?setTimeout(function(){i(that,e)},1e3):(this.trigger(_.Private.H5_Loading_Show),function(e,t){var i="aliplayer-flv-min.js",r="https://"+d.domain+"/de/prismplayer/"+d.h5Version+"/flv/"+i;d.domain?-1<d.domain.indexOf("g-assets.daily")?r="http://"+d.domain+"/de/prismplayer/"+d.h5Version+"/flv/"+i:-1<d.domain.indexOf("localhost")&&(r="http://"+d.domain+"/build/flv/"+i):r="de/prismplayer/"+d.h5Version+"/flv/"+i;var o=this;a.loadJS(r,function(){e.apply(o)})}.call(that,function(){this._isLoadedFlv=!0,i(that,e)},this._options.debug))},t.prototype._destroyFlv=function(){try{this._flv&&(this._flv.pause(),this._flv.destroy())}catch(e){console.log(e)}this.loaded=!1,this._hasLoaded=!1,this._flv=null},t.prototype.dispose=function(){this._disposed||(this._disposed=!0,this._superPt&&this._superPt.dispose.call(this),this._destroyFlv(),this._superPt&&(t.prototype.play=this._superPt.play,t.prototype.pause=this._superPt.pause,t.prototype.initPlay=this._superPt.initPlay,t.prototype.seek=this._superPt.seek,t.prototype.canSeekable=this._superPt.canSeekable))},t.prototype.canSeekable=function(e){var t=this._flv.mediaInfo;return!(!this._flv._isTimepointBuffered(e)&&t&&!t.hasKeyframesIndex)};var l=function(u,e){var c=!1;e.on(flvjs.Events.ERROR,function(e,t,i){var r=p.ErrorCode.OtherError,o=f.get("Error_Play_Text");if(t==flvjs.ErrorDetails.NETWORK_EXCEPTION){var n=u.getOptions().source;!n||0!=n.toLowerCase().indexOf("http://")&&0!=n.toLowerCase().indexOf("https://")?(r=p.ErrorCode.InvalidSourceURL,o=f.get("Error_Invalidate_Source_Widthout_Protocal"),c=!0):o=navigator.onLine?(r=p.ErrorCode.RequestDataError,f.get("Maybe_Cors_Error")):(r=p.ErrorCode.NetworkError,f.get("Error_Network_Text"))}else t==flvjs.ErrorDetails.NETWORK_STATUS_CODE_INVALID?"404"==i.code?(r=p.ErrorCode.NotFoundSourceURL,o=f.get("Error_Not_Found")):"403"==i.code?(r=p.ErrorCode.AuthKeyExpired,o=f.get("Error_AuthKey_Text"),c=!0):(r=p.ErrorCode.NetworkError,o=f.get("Error_Network_Text")):t==flvjs.ErrorDetails.NETWORK_TIMEOUT?(r=p.ErrorCode.LoadingTimeout,o=f.get("Error_Waiting_Timeout_Text")):t!=flvjs.ErrorDetails.MEDIA_FORMAT_UNSUPPORTED&&t!=flvjs.ErrorDetails.MEDIA_CODEC_UNSUPPORTED||(r=p.ErrorCode.FormatNotSupport,o=f.get("Error_H5_Not_Support_Text"),c=!0);var a=function(){if(setTimeout(function(){u.trigger(_.Private.Play_Btn_Hide)}),u.checkOnline()){var e={mediaId:u._options&&u._options.vid?u._options.vid:"",error_code:r,error_msg:i.msg};u.logError(e),e.display_msg=o,d.cityBrain&&(u.flv=null),u.trigger(_.Player.Error,e)}};if(u._options&&u._options.isLive&&!c){var s=u._options;if(s.liveRetry>u._liveRetryCount){0==u._liveRetryCount&&u.trigger(_.Player.OnM3u8Retry);var l=s.liveRetryInterval+s.liveRetryStep*u._liveRetryCount;u._liveRetryCount++,h.sleep(1e3*l),u._loadByUrlInner(s.source)}else u._liveErrorHandle&&clearTimeout(u._liveErrorHandle),u.trigger(_.Player.LiveStreamStop),u._liveErrorHandle=setTimeout(a,500)}else{if(u._reloadForVod())return;a()}})}}}},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/dom":18,"../../lib/io":24,"../../lib/playerutil":29,"../../lib/ua":31,"../../lib/util":33,"../base/event/eventtype":43,"../base/player":62}],72:[function(e,t,i){var r=e("../base/player"),o=e("./flvinjector"),n=r.extend({init:function(e,t){o.inject(this,n,r,t,function(e){}),t._native=!1,r.call(this,e,t)}});t.exports=n},{"../base/player":62,"./flvinjector":71}],73:[function(e,t,i){var c=e("../../lib/io"),d=e("../../config"),p=e("../../lib/constants"),h=e("../../lib/util"),f=e("../../lib/playerutil"),_=(e("../../lib/dom"),e("../../lib/ua")),g=e("../../lang/index"),y=e("../base/event/eventtype");e("../base/player");t.exports.inject=function(e,t,i,r,n,o){var a=r.source,s=r.useHlsPluginForSafari,l=r.useHlsPlugOnMobile;if(n||o||function(e,t,i,r){return!(e._hls||!f.isHls(t)||!(!f.canPlayHls()||f.isSafariUsedHlsPlugin(i)||r&&f.isUsedHlsPluginOnMobile()))}(e,a,s,l)){e._Type=t,e._superType=i,e._superPt=i.prototype,e._disposed=!1,t.prototype._checkHlsReady=function(){if(null==e._hls)throw new Error("please invoke this method after ready event")},e._isHls=!0,e._hls=null,e._isLoadedHls=!1,e._stopLoadAsPaused=!0,t.prototype.play=function(e){this._checkHlsReady(),this._isManualPlay=e||!1;if(this.trigger(y.Private.Cover_Hide),this._options.autoplay||this._options.preload||this._loadSourced||(this._loadSourced=!0,this._options._autoplay=!0,this._hls.loadSource(this._options.source)),this.tag.ended||this._ended)this.replay();else if(this.tag.paused&&(this.tag.play(),this._stopLoadAsPaused)){var t=this.getCurrentTime();this._hls.startLoad(t)}return this},t.prototype.replay=function(){return this._monitor&&this._monitor.replay(),this._hls.startLoad(0),this.tag.play(),this},t.prototype.pause=function(e){return this.tag&&(this._checkHlsReady(),this.tag.pause(),this._stopLoadAsPaused&&this._hls.stopLoad()),this._isManualPause=e||!1,this},t.prototype.stop=function(){return this._checkHlsReady(),this.tag.setAttribute("src",null),this._hls.stopLoad(),this},t.prototype.seek=function(e){this._checkHlsReady();try{this._superPt.seek.call(this,e),this.tag.paused&&this._stopLoadAsPaused&&this._hls.startLoad(e)}catch(e){console.log(e)}return this},t.prototype.getProgramDateTime=function(){if(this._checkHlsReady(),-1==this._hls.currentLevel)return"";var e=this._hls.currentLevel,t=this._hls.levels[e].details;if(t){var i=t.programDateTime;if(console.log("ProgramDateTime="+i),i)return new Date(i).valueOf()}return 0},t.prototype._reloadAndPlayForM3u8=function(){0==this._liveRetryCount&&this.trigger(y.Player.OnM3u8Retry),this._liveRetryCount++},t.prototype._switchLevel=function(e){this.trigger(y.Player.LevelSwitch);for(var t=this._hls.levels,i=0;i<t.length;i++)if(t[i].url==e){this._hls.currentLevel=i;break}this._switchedLevel=!0;var r=this;setTimeout(function(){r.trigger(y.Player.LevelSwitched),this._switchedLevel=!1},1e3)},t.prototype.initPlay=function(e){if(h.contentProtocolMixed(a)){var t={mediaId:this._options.vid?this._options.vid:"",error_code:p.ErrorCode.InvalidSourceURL,error_msg:"InvalidSourceURL"};return t.display_msg=g.get("Request_Block_Text"),void this.trigger(y.Player.Error,t)}function i(a,e){var t=!a._hls;a._destroyHls();var i={xhrSetup:function(e,t){e.withCredentials=a._options.withCredentials||!1}},r=a._options.loadingTimeOut||a._options.hlsLoadingTimeOut;for(var o in r&&(i.manifestLoadingTimeOut=r,i.levelLoadingTimeOut=r,i.fragLoadingTimeOut=r),a._options.nudgeMaxRetry&&(i.nudgeMaxRetry=a._options.nudgeMaxRetry),a._options.maxMaxBufferLength&&(i.maxMaxBufferLength=a._options.maxMaxBufferLength),a._options.maxBufferSize&&(i.maxBufferSize=a._options.maxBufferSize),a._options.maxBufferLength&&(i.maxBufferLength=a._options.maxBufferLength),n&&(i._sce_dlgtqredxx=n),i.enableWorker=a._options.enableWorker,i.debug=a._options.debug,a._stopLoadAsPaused=a._options.hlsOption.stopLoadAsPaused,a._options.hlsOption)i[o]=a._options.hlsOption[o];_.IS_IE11&&n&&(i.enableWorker=!1),a._hls=new Hls(i),u(a,a._hls),a._loadSourced=!1,a._hls.attachMedia(a.tag),a._hls.on(Hls.Events.MEDIA_ATTACHED,function(){(a._options.autoplay||a._options.preload||e)&&(a._loadSourced=!0,a._hls.loadSource(a._options.source)),a._hls.on(Hls.Events.MANIFEST_PARSED,function(){a._initPlayBehavior(e||a._loadSourced)}),a._hls.on(Hls.Events.AUDIO_TRACKS_UPDATED,function(e,t){a.trigger(y.Player.AudioTrackUpdated,t)}),a._hls.on(Hls.Events.MANIFEST_LOADED,function(e,t){a.trigger(y.Player.LevelsLoaded,t)}),a._hls.on(Hls.Events.LEVEL_SWITCHED,function(e,t){if(a._qualityService){for(var i=a._hls.levels[t.level].url,r=a._qualityService.levels,o="",n=0;n<r.length;n++)if(r[n].Url==i){o=r[n].desc;break}o&&a.trigger(y.Private.QualityChange,{levelSwitch:!0,url:i,desc:o})}}),a._hls.on(Hls.Events.AUDIO_TRACK_SWITCH,function(e,t){a.trigger(y.Player.AudioTrackSwitch,t),setTimeout(function(){a.trigger(y.Player.AudioTrackSwitched,t)},1e3)}),t&&a._executeReadyCallback()})}this._isLoadedHls&&"undefined"!=typeof Hls?i(this,e):(this.trigger(y.Private.H5_Loading_Show),function(e,t,i){var r="aliplayer-hls-min.js",o="https://"+d.domain+"/de/prismplayer/"+d.h5Version+"/hls/"+r;d.domain?-1<d.domain.indexOf("g-assets.daily")?o="http://"+d.domain+"/de/prismplayer/"+d.h5Version+"/hls/"+r:-1<d.domain.indexOf("localhost")&&(o="http://"+d.domain+"/build/hls/"+r):o="de/prismplayer/"+d.h5Version+"/hls/"+r;var n=this;c.loadJS(o,function(){e.apply(n)})}.call(this,function(){this._isLoadedHls=!0,i(this,e)},this._options.debug))},t.prototype._destroyHls=function(){this._hls&&this._hls.destroy(),this._hls=null},t.prototype.dispose=function(){this._disposed||(this._disposed=!0,this._superPt&&this._superPt.dispose.call(this),this._destroyHls(),this._superPt&&(t.prototype.play=this._superPt.play,t.prototype.pause=this._superPt.pause,t.prototype.initPlay=this._superPt.initPlay,t.prototype.replay=this._superPt.replay,t.prototype.stop=this._superPt.stop,t.prototype.seek=this._superPt.seek))};var u=function(l,e){e.on(Hls.Events.ERROR,function(e,t){if(l._options&&t.details!=Hls.ErrorDetails.FRAG_LOOP_LOADING_ERROR&&1!=l._seeking&&(0!=t.fatal||t.type==Hls.ErrorTypes.NETWORK_ERROR)){l._clearTimeout();var i=p.ErrorCode.LoadedMetadata,r=g.get("Error_Play_Text"),o=!1;if(t.details==Hls.ErrorDetails.MANIFEST_LOAD_ERROR){o=!0;t.networkDetails;r=t.response?"404"==t.response.code?(i=p.ErrorCode.NotFoundSourceURL,g.get("Error_Not_Found")):"403"==t.response.code?(i=p.ErrorCode.AuthKeyExpired,g.get("Error_AuthKey_Text")):"0"==t.response.code&&navigator.onLine?(i=p.ErrorCode.RequestDataError,r+"\uff0c"+g.get("Maybe_Cors_Error")):g.get("Error_Load_M3U8_Failed_Text"):g.get("Error_Load_M3U8_Failed_Text")}else t.details==Hls.ErrorDetails.MANIFEST_LOAD_TIMEOUT?(o=!0,r=g.get("Error_Load_M3U8_Timeout_Text")):t.details==Hls.ErrorDetails.MANIFEST_PARSING_ERROR||t.details==Hls.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR?(o=!0,r=g.get("Error_M3U8_Decode_Text")):t.type==Hls.ErrorTypes.NETWORK_ERROR?(i=p.ErrorCode.NetworkError,r=g.get("Error_Network_Text")):t.type!=Hls.ErrorTypes.MUX_ERROR&&t.type!=Hls.ErrorTypes.MEDIA_ERROR||(i=p.ErrorCode.PlayDataDecode,r=g.get("Error_TX_Decode_Text"));r=r+"("+t.details+")";var n=function(){if(l.pause(),setTimeout(function(){l.trigger(y.Private.Play_Btn_Hide)}),l.checkOnline()){var e={mediaId:l._options&&l._options.vid?l._options.vid:"",error_code:i,error_msg:t.details};l.logError(e),e.display_msg=r,l.trigger(y.Player.Error,e)}};if(l._options&&l._options.isLive){var a=l._options;if(a.liveRetry>l._liveRetryCount){0==l._liveRetryCount&&l.trigger(y.Player.OnM3u8Retry);var s=a.liveRetryInterval+a.liveRetryStep*l._liveRetryCount;l._liveRetryCount++,h.sleep(1e3*s),o&&l._loadByUrlInner(l._options.source,0,!0)}else l._liveErrorHandle&&clearTimeout(l._liveErrorHandle),l.trigger(y.Player.LiveStreamStop),l._liveErrorHandle=setTimeout(n,500)}else{if(l._reloadForVod())return;n()}}})}}}},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/dom":18,"../../lib/io":24,"../../lib/playerutil":29,"../../lib/ua":31,"../../lib/util":33,"../base/event/eventtype":43,"../base/player":62}],74:[function(e,t,i){var r=e("../base/player"),o=e("./hlsinjector"),n=r.extend({init:function(e,t){t._native=!1,o.inject(this,n,r,t),r.call(this,e,t)}});t.exports=n},{"../base/player":62,"./hlsinjector":73}],75:[function(e,t,i){var r=e("../../lib/constants"),o=e("../../lib/oo").extend({init:function(e){this.player=e,this.tickhandle=null}});o.prototype.tick=function(e,t){var i=this;this.tickhandle=setTimeout(function(){i.player&&i.player.trigger(r.AuthKeyExpiredEvent),t&&t()},1e3*e)},o.prototype.clearTick=function(e){this.tickhandle&&clearTimeout(this.tickhandle)},t.exports=o},{"../../lib/constants":15,"../../lib/oo":27}],76:[function(e,t,i){var l=e("../../lib/io"),u=(e("../../lib/ua"),e("../../lib/bufferbase64")),c=e("../../lib/constants"),d=e("./signature"),p=e("./util"),h=e("../../lang/index"),f=function(e,r,o){var t=d.randomUUID(),i="https://mts."+e.domainRegion+".aliyuncs.com/?",n={AccessKeyId:e.accessId,Action:"GetLicense",MediaId:e.vid,LicenseUrl:i,data:e.data,SecurityToken:e.stsToken,Format:"JSON",Type:e.encryptionType,Version:"2014-06-18",SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",SignatureNonce:t};e.header&&(n.Header=e.header);var a=i+("Signature="+d.AliyunEncodeURI(d.makeChangeSiga(n,e.accessSecret,"POST"))),s=d.makeUTF8sort(n,"=","&");l.post(a,s,function(e){if(e){var t=JSON.parse(e);if(r){var i=t.License;r(i)}}else o&&o(p.createError("MPS\u83b7\u53d6License\u5931\u8d25"))},function(e){if(o){var t={Code:"",Message:h.get("Error_MTS_Fetch_Urls_Text")};try{t=JSON.parse(e)}catch(e){}o({Code:c.ErrorCode.ServerAPIError,Message:t.Code+"|"+t.Message,sri:t.requestId||""})}})};t.exports.requestLicenseKey=function(e){var l=e;return l._options.vid&&(l.__vid=l._options.vid),function(e,i){var t=l._options,r=l._getDRMEncryptItem();if(r){var o={vid:l.__vid,accessId:t.accId,accessSecret:t.accSecret,stsToken:t.stsToken,domainRegion:t.domainRegion,authInfo:t.authInfo,encryptionType:r.encryptionType};if(r.encryptionType==c.EncryptionType.Widevine)o.data=u.encode(e.message);else if(r.encryptionType==c.EncryptionType.PlayReady){var n=u.unpackPlayReady(e.message);o.data=n.changange,n.header&&(o.header=JSON.stringify(n.header))}console.log(o.data);var a=l.__licenseKeys,s=l.__vid+r.Url;a&&a[s],f(o,function(e){l.__licenseKeys||(l.__licenseKeys={}),10<o.data.length&&(l.__licenseKeys[s]=e);var t=u.decode(e);i(t)},function(e){var t={mediaId:l.__vid,error_code:e.Code,error_msg:e.Message};l.logError(t),l.trigger("error",t)})}}}},{"../../lang/index":11,"../../lib/bufferbase64":13,"../../lib/constants":15,"../../lib/io":24,"../../lib/ua":31,"./signature":80,"./util":82}],77:[function(e,t,i){var n=e("../../lib/io"),u=e("../../lib/constants"),c=e("./signature"),d=e("./util"),p=e("../../lang/index"),h=e("../../lib/ua");var f=function(e,o){var t="";e.sort(function(e,t){var i=parseInt(e.bitrate),r=parseInt(t.bitrate);if("desc"==o){if(r<i)return-1;if(i<r)return 1}else{if(i<r)return-1;if(r<i)return 1}});for(var i=e.length,r=0;r<i;r++){var n=e[r],a=u.QualityLevels[n.definition],s="";s=void 0===a?n.bitrate:t==a?a+n.bitrate:a,n.desc=s,t=a}},_=function(e,o){var t="";e.sort(function(e,t){var i=parseInt(e.width),r=parseInt(t.width);if("desc"==o){if(r<i)return-1;if(i<r)return 1}else{if(i<r)return-1;if(r<i)return 1}});for(var i=e.length,r=0;r<i;r++){var n=e[r],a=u.QualityLevels[n.definition],s="";s=void 0===a?"":t==a?a+n.height:a,n.desc=s,t=a}};t.exports.getDataByAuthInfo=function(e,a,s,l){c.returnUTCDate(),c.randomUUID();var t=c.randomUUID(),i={AccessKeyId:e.accessId,Action:"PlayInfo",MediaId:e.vid,Formats:e.format,AuthInfo:e.authInfo,AuthTimeout:e.authTimeout||u.AuthKeyExpired,IncludeSnapshotList:e.includeSnapshotList,Rand:e.rand,SecurityToken:e.stsToken,Format:"JSON",Version:"2014-06-18",SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",Terminal:h.IS_CHROME?"Chrome":h.IS_EDGE?"Edge":h.IS_IE11?"IE":h.IS_SAFARI?"Safari":h.IS_FIREFOX?"Firefox":"",SignatureNonce:t},r=c.makeUTF8sort(i,"=","&")+"&Signature="+c.AliyunEncodeURI(c.makeChangeSiga(i,e.accessSecret)),o="https://mts."+e.domainRegion+".aliyuncs.com/?"+r;n.get(o,function(e){if(e){var t=JSON.parse(e),i=t.PlayInfoList.PlayInfo,r=t.SnapshotList?t.SnapshotList.Snapshot:[],o="";r&&0<r.length&&(o=r[0].Url);var n=function(e,t){for(var i=[],r=[],o=[],n=[],a=e.length-1;0<=a;a--){var s=e[a];"mp4"==s.format?r.push(s):"mp3"==s.format?o.push(s):"m3u8"==s.format?i.push(s):n.push(s)}return 0<o.length?(f(o,t),o):0<r.length?(_(r,t),r):0<i.length?(_(i,t),i):(_(n,t),n)}(i,a);s&&s({requestId:t.RequestId,urls:n,thumbnailUrl:o})}else l&&l(d.createError("MPS\u83b7\u53d6\u53d6\u6570\u5931\u8d25"))},function(e){if(l){var t={Code:"",Message:p.get("Error_MTS_Fetch_Urls_Text")};try{t=JSON.parse(e)}catch(e){}l({Code:u.ErrorCode.ServerAPIError,Message:t.Code+"|"+t.Message,sri:t.requestId||""})}})}},{"../../lang/index":11,"../../lib/constants":15,"../../lib/io":24,"../../lib/ua":31,"./signature":80,"./util":82}],78:[function(e,t,i){var r=e("./saasplayer"),o=(e("../../lib/constants"),e("./mts")),n=r.extend({init:function(e,t){r.call(this,e,t),this.service=o,this.loadByMts()}});n.prototype.loadByMts=function(e){var t={vid:this._options.vid,accessId:this._options.accId,accessSecret:this._options.accSecret,stsToken:this._options.stsToken,domainRegion:this._options.domainRegion,authInfo:this._options.authInfo,format:this._options.format,includeSnapshotList:this._options.includeSnapshotList||!1,defaultDefinition:this._options.defaultDefinition,authTimeout:this._options.authTimeout};this.loadData(t,e)},n.prototype.replayByVidAndAuthInfo=function(e,t,i,r,o,n){this.trigger("error_hide"),this._options.source="",this._isError=!1,this._duration=0,this._options.cover="",this._vodRetryCount=0,this._clearTimeout(),this.reloadNewVideoInfo(e,t,i,r,o,n)},n.prototype.reloadNewVideoInfo=function(e,t,i,r,o,n){if(this.trigger("error_hide"),this._options.source="",e&&(this._options.vid=e,this._options.accId=t,this._options.accessSecret=i,this._options.stsToken=r,this._options.domainRegion=n,this._options.authInfo=o),!(this._options.vid&&this._options.accId&&this._options.accessSecret&&this._options.stsToken&&this._options.domainRegion&&this._options.authInfo))throw new Error("\u9700\u8981\u63d0\u4f9bvid\u3001accId\u3001accessSecret\u3001stsToken\u3001domainRegion\u548cauthInfo\u53c2\u6570");this.log("STARTFETCHDATA",JSON.stringify({it:"mps",pa:{vid:e}})),this.loadByMts(!0)},t.exports=n},{"../../lib/constants":15,"./mts":77,"./saasplayer":79}],79:[function(e,t,i){var c=e("../base/player"),r=e("../audio/audioplayer"),n=(e("../../lib/event"),e("../../lib/io")),d=e("../../lib/constants"),o=e("./signature"),a=e("./authkeyexpiredhandle"),p=e("../hls/hlsinjector"),h=e("../flv/flvinjector"),f=e("../drm/drminjector"),_=(e("../../lib/cookie"),e("../../lang/index")),s=e("../../config"),g=e("../../lib/playerutil"),y=e("../base/event/eventtype"),v=c.extend({init:function(e,t){this._authKeyExpiredHandle=new a(this),c.prototype._videoCreateEl||(c.prototype._videoCreateEl=c.prototype.createEl),"mp3"==t.format?(t.height="auto",t.mediaType="audio",c.prototype.createEl=r.prototype.createEl,r.call(this,e,t)):(c.prototype.createEl=c.prototype._videoCreateEl,t._native=!1,c.call(this,e,t))}});v.prototype.loadData=function(e,t){if("undefined"!=typeof _sce_r_skjhfnck||""!=e.format&&"m3u8"!=e.format&&1!=this._options.encryptType)this._loadData(e,t);else{var i="aliplayer-vod-min.js",r="https://"+s.domain+"/de/prismplayer/"+s.h5Version+"/hls/"+i;s.domain?-1<s.domain.indexOf("g-assets.daily")?r="http://"+s.domain+"/de/prismplayer/"+s.h5Version+"/hls/"+i:-1<s.domain.indexOf("localhost")&&(r="http://"+s.domain+"/build/hls/"+i):r="de/prismplayer/"+s.h5Version+"/hls/"+i;var o=this;n.loadJS(r,function(){o._loadData(e,t)})}},v.prototype._loadData=function(n,a){var s=(new Date).getTime(),l=this;if(this._urls=[],this._currentPlayIndex=0,this._retrySwitchUrlCount=0,this._authKeyExpiredHandle.clearTick(),""!=n.format&&"m3u8"!=n.format||1!=this._options.encryptType)n.rand=o.randomUUID();else{var u=_sce_r_skjhfnck();n.rand=_sce_lgtcaygl(u)}this.trigger(y.Private.H5_Loading_Show),this.service.getDataByAuthInfo(n,this._options.qualitySort,function(e){if(l.log("COMPLETEFETCHDATA",{cost:(new Date).getTime()-s}),e.urls&&0==e.urls.length)l._mtsError_message(l,{Code:d.ErrorCode.URLsIsEmpty,Message:_.get("Error_Vod_URL_Is_Empty_Text")+(n.format?"(format:"+n.format+")":"")},"");else{l.log("COMPLETEFETCHDATA",{cost:(new Date).getTime()-s,mi:JSON.stringify(e.urls)}),l._urls=e.urls,l._currentPlayIndex=g.findSelectedStreamLevel(l._urls,n.defaultDefinition);var t=e.urls[l._currentPlayIndex],i=t.Url;if(l._vodDuration=t.duration||0,l._options.source=i,l.encType="",l.trigger(y.Private.PREPARE,t.definition),l.UI.cover&&e.coverUrl&&!l._options.cover&&l.setCover(e.coverUrl),g.isHls(i)){var r="";if(t.encryptionType==d.EncryptionType.Private){l.encType=t.encryptionType;var o=g.checkSecuritSupport();if(o)return void l._mtsError_message(l,{Code:d.ErrorCode.EncrptyVideoNotSupport,Message:o,display_msg:o},"");r=_sce_dlgtqred(u,t.rand,t.plaintext)}p.inject(l,v,c,l._options,r)}else g.isFlv(i)?h.inject(l,v,c,l._options):g.isDash(i)?f.inject(l,v,c,l._options):l._player._executeReadyCallback();l._authKeyExpiredHandle.tick(d.AuthKeyRefreshExpired),l.trigger(y.Private.SourceLoaded,t),l.initPlay(a),l.trigger(y.Private.ChangeURL),e.thumbnailUrl&&l._thumbnailService.get(e.thumbnailUrl)}},function(e){l._mtsError_message(l,e,"")})},v.prototype._changeStream=function(e,t){this._urls.length>e&&(this.loadByUrl(this._urls[e].Url,this.getCurrentTime()),this._currentPlayIndex=e,this.trigger(y.Private.QualityChange,t||_.get("Quality_Change_Fail_Switch_Text")))},v.prototype._getLowerQualityLevel=function(){if(0==this._urls.length||-1==this._currentPlayIndex)return"";if("asc"==this.options().qualitySort){if(0<this._currentPlayIndex)return{item:this._urls[this._currentPlayIndex-1],index:this._currentPlayIndex-1}}else if(this._currentPlayIndex<this._urls.length-1)return{item:this._urls[this._currentPlayIndex+1],index:this._currentPlayIndex+1};return""},v.prototype._mtsError_message=function(e,t,i){var r=e;r.trigger(y.Private.H5_Loading_Hide);var o=t.Code?t.Code:"OTHER_ERR_CODE",n=t.Message?t.Message:"OTHER_ERR_MSG",a=(d.ErrorCode.ServerAPIError,t.display_msg||"");-1<n.indexOf("InvalidParameter.Rand")||-1<n.indexOf('"Rand" is not valid.')?(d.ErrorCode.EncrptyVideoNotSupport,a=_.get("Error_Not_Support_encrypt_Text")):-1<n.indexOf("SecurityToken.Expired")?(d.ErrorCode.AuthKeyExpired,a=_.get("Error_Playauth_Expired_Text")):-1<n.indexOf("InvalidVideo.NoneStream")&&(d.ErrorCode.URLsIsEmpty,a=_.get("Error_Fetch_NotStream")+"("+r._options.format+"|"+r._options.definition+")");var s=r._options.vid?r._options.vid:"0",l=(r._options.from&&r._options.from,{mediaId:s,error_code:o,error_msg:n});t.sri&&(l.sri=t.sri),r.logError(l),l.display_msg=(a||_.get("Error_Vod_Fetch_Urls_Text"))+"</br>"+n,r.trigger("error",l),console.log("PrismPlayer Error: "+i+"! error_msg :"+n+";")},t.exports=v},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/cookie":16,"../../lib/event":19,"../../lib/io":24,"../../lib/playerutil":29,"../audio/audioplayer":41,"../base/event/eventtype":43,"../base/player":62,"../drm/drminjector":68,"../flv/flvinjector":71,"../hls/hlsinjector":73,"./authkeyexpiredhandle":75,"./signature":80}],80:[function(e,c,t){var r=e("crypto-js/hmac-sha1"),o=e("crypto-js/enc-base64"),i=e("crypto-js/enc-utf8");c.exports.randomUUID=function(){for(var e=[],t="0123456789abcdef",i=0;i<36;i++)e[i]=t.substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]=t.substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")},c.exports.returnUTCDate=function(){var e=new Date,t=e.getUTCFullYear(),i=e.getUTCMonth(),r=e.getUTCDate(),o=e.getUTCHours(),n=e.getUTCMinutes(),a=e.getUTCSeconds(),s=e.getUTCMilliseconds();return Date.UTC(t,i,r,o,n,a,s)},c.exports.AliyunEncodeURI=function(e){var t=encodeURIComponent(e);return t=(t=(t=t.replace("+","%2B")).replace("*","%2A")).replace("%7E","~")},c.exports.makesort=function(e,t,i){if(!e)throw new Error("PrismPlayer Error: vid should not be null!");var r=[];for(var o in e)r.push(o);var n=r.sort(),a="",s=n.length;for(o=0;o<s;o++)""==a?a=n[o]+t+e[n[o]]:a+=i+n[o]+t+e[n[o]];return a},c.exports.makeUTF8sort=function(e,t,i){if(!e)throw new Error("PrismPlayer Error: vid should not be null!");var r=[];for(var o in e)r.push(o);var n=r.sort(),a="",s=n.length;for(o=0;o<s;o++){var l=c.exports.AliyunEncodeURI(n[o]),u=c.exports.AliyunEncodeURI(e[n[o]]);""==a?a=l+t+u:a+=i+l+t+u}return a},c.exports.makeChangeSiga=function(e,t,i){if(!e)throw new Error("PrismPlayer Error: vid should not be null!");return i||(i="GET"),o.stringify(r(i+"&"+c.exports.AliyunEncodeURI("/")+"&"+c.exports.AliyunEncodeURI(c.exports.makeUTF8sort(e,"=","&")),t+"&"))},c.exports.ISODateString=function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"Z"},c.exports.encPlayAuth=function(e){if(!(e=i.stringify(o.parse(e))))throw new Error("playuth\u53c2\u6570\u89e3\u6790\u4e3a\u7a7a");return JSON.parse(e)},c.exports.encRsa=function(){}},{"crypto-js/enc-base64":126,"crypto-js/enc-utf8":127,"crypto-js/hmac-sha1":128}],81:[function(e,t,i){var l=e("../../lib/io"),u=e("../../lib/constants"),c=e("./signature"),d=e("./util"),p=e("../../lang/index");t.exports.getPlayAuth=function(e,i,r,o){c.randomUUID();var t=c.randomUUID(),n={AccessKeyId:e.accessKeyId,Action:"GetVideoPlayAuth",VideoId:e.vid,AuthTimeout:u.AuthInfoExpired,SecurityToken:e.securityToken,Format:"JSON",Version:"2017-03-21",SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",SignatureNonce:t},a=c.makeUTF8sort(n,"=","&")+"&Signature="+c.AliyunEncodeURI(c.makeChangeSiga(n,e.accessKeySecret)),s="https://vod."+e.region+".aliyuncs.com/?"+a;l.get(s,function(e){if(e){var t=JSON.parse(e);i&&i(t.PlayAuth)}else r&&r(d.createError("\u83b7\u53d6\u89c6\u9891\u64ad\u653e\u51ed\u8bc1\u5931\u8d25"))},function(e){if(r){var t={Code:"",Message:p.get("Fetch_Playauth_Error")};try{(t=JSON.parse(e)).Code}catch(e){}r({Code:u.ErrorCode.ServerAPIError,Message:t.Code+"|"+t.Message,sri:t.requestId,display_msg:p.get("Fetch_Playauth_Error",o)})}})}},{"../../lang/index":11,"../../lib/constants":15,"../../lib/io":24,"./signature":80,"./util":82}],82:[function(e,t,i){t.exports.createError=function(e,t){return{requestId:"",code:t||"",message:e}}},{}],83:[function(e,t,i){var l=e("../../lib/io"),p=e("../../lib/constants"),u=e("./signature"),c=e("./util"),d=e("../../config"),h=e("../../lang/index");t.exports.getDataByAuthInfo=function(e,n,a,s){u.randomUUID();var t=u.randomUUID(),i={AccessKeyId:e.accessId,Action:"GetPlayInfo",VideoId:e.vid,Formats:e.format,AuthTimeout:e.authTimeout||p.AuthKeyExpired,Rand:e.rand,SecurityToken:e.stsToken,StreamType:e.mediaType,Format:"JSON",Version:"2017-03-21",SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",SignatureNonce:t,PlayerVersion:d.h5Version,Definition:e.definition,Channel:"HTML5"};e.authInfo&&(i.AuthInfo=e.authInfo),e.outputType&&(i.OutputType=e.outputType),e.playConfig&&(i.PlayConfig=JSON.stringify(e.playConfig)),e.reAuthInfo&&(i.ReAuthInfo=JSON.stringify(e.reAuthInfo));var r=u.makeUTF8sort(i,"=","&")+"&Signature="+u.AliyunEncodeURI(u.makeChangeSiga(i,e.accessSecret)),o="https://vod."+e.domainRegion+".aliyuncs.com/?"+r;l.get(o,function(e){if(e){var t=JSON.parse(e),i="",r=t.VideoBase.ThumbnailList;r&&r.Thumbnail&&0<r.Thumbnail.length&&(i=r.Thumbnail[0].URL);var o=function(e,t){for(var i=[],r=[],o=[],n=[],a=e.length-1;0<=a;a--){var s=e[a],l=(c=void 0,(c={}).width=(u=s).Width,c.height=u.Height,c.definition=u.Definition,c.Url=u.PlayURL,c.format=u.Format,c.desc=p.QualityLevels[c.definition],c.encryptionType=p.VodEncryptionType[u.EncryptType],c.plaintext=u.Plaintext,c.rand=u.Rand,c.encrypt=u.Encrypt,c.duration=u.Duration,c);"mp4"==l.format?r.push(l):"mp3"==l.format?o.push(l):"m3u8"==l.format?i.push(l):n.push(l)}var u,c,d=[];return d=0<o.length?o:0<r.length?r:0<i.length?i:n,"asc"==t&&d.reverse(),d}(t.PlayInfoList.PlayInfo,n);a&&a({requestId:t.RequestId,urls:o,thumbnailUrl:i,coverUrl:t.VideoBase.CoverURL})}else s&&s(c.createError("\u70b9\u64ad\u670d\u52a1\u83b7\u53d6\u53d6\u6570\u5931\u8d25"))},function(e){if(s){var t={Code:"",Message:h.get("Error_Vod_Fetch_Urls_Text")};try{t=JSON.parse(e)}catch(e){}s({Code:p.ErrorCode.ServerAPIError,Message:t.Code+"|"+t.Message,sri:t.requestId||""})}})}},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/io":24,"./signature":80,"./util":82}],84:[function(e,t,i){var r=e("./saasplayer"),l=e("../../lib/constants"),o=e("./vod"),u=e("./signature"),n=(e("./authkeyexpiredhandle"),e("./ststoken"),r.extend({init:function(e,t){r.call(this,e,t),this.service=o,this.loadByVod()}}));n.prototype.loadByVod=function(e){var t="",i="",r="",o="",n="";if(this._options.accessKeyId&&this._options.accessKeySecret)t=this._options.accessKeyId,i=this._options.accessKeySecret,r=this._options.securityToken,o=this._options.region,this.log("STARTFETCHDATA",JSON.stringify({it:"sts",pa:{vid:this._options.vid}}));else{try{var a=u.encPlayAuth(this._options.playauth);t=a.AccessKeyId,i=a.AccessKeySecret,r=a.SecurityToken,o=a.Region,n=a.AuthInfo}catch(e){var s={Code:l.ErrorCode.PlayauthDecode,Message:"playauth decoded failed.",displayMessage:"playauth\u89e3\u6790\u9519\u8bef"};return void this._mtsError_message(this,s,this._options.playauth)}this._options.from=a.CustomerId?a.CustomerId:"",this.log("STARTFETCHDATA",JSON.stringify({it:"playAuth",pa:{vid:this._options.vid}}))}this._loadByVodBySTS(t,i,r,o,n,e)},n.prototype.replayByVidAndPlayAuth=function(e,t){this.trigger("error_hide"),this._options.source="",this._options.vid=e,this._options.playauth=t,this._isError=!1,this._duration=0,this._options.cover="",this._vodRetryCount=0,this._clearTimeout(),this.loadByVod(!0)},n.prototype.updateSourcesByVidAndPlayAuth=function(e,t){if(e==this._options.vid){this._options.vid=e,this._options.playauth=t;try{var i=u.encPlayAuth(this._options.playauth)}catch(e){return void console.log("playauth\u89e3\u6790\u9519\u8bef")}var r={vid:e,accessId:i.AccessKeyId,accessSecret:i.AccessKeySecret,stsToken:i.SecurityToken,domainRegion:i.Region,authInfo:i.AuthInfo,playDomain:i.PlayDomain,format:this._options.format,mediaType:this._options.mediaType};this._authKeyExpiredHandle.clearTick();var o=this;this.service.loadData(r,this._options.qualitySort,function(e){o._serverRequestId=e.requestId,0!=e.urls.length&&(o._urls=e.urls),o._authKeyExpiredHandle.tick(l.AuthKeyRefreshExpired)},function(e){console.log(e)})}else console.log("\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4")},n.prototype.reloaduserPlayInfoAndVidRequestMts=function(e,t){this.replayByVidAndPlayAuth(e,t,accessSecret)},n.prototype._loadByVodBySTS=function(e,t,i,r,o,n){var a={vid:this._options.vid,accessId:e,accessSecret:t,stsToken:i,authInfo:o,domainRegion:r,format:this._options.format,mediaType:this._options.mediaType,definition:this._options.definition,defaultDefinition:this._options.defaultDefinition,authTimeout:this._options.authTimeout,outputType:this._options.outputType,playConfig:this._options.playConfig,reAuthInfo:this._options.reAuthInfo};this.loadData(a,n)},t.exports=n},{"../../lib/constants":15,"./authkeyexpiredhandle":75,"./saasplayer":79,"./signature":80,"./ststoken":81,"./vod":83}],85:[function(e,t,i){var o=e("../base/event/eventtype"),r=function(i){this._player=i,this._video=i.tag;var r=this;this._isCreated=!1,this._canPlayTriggered=!1,this._defaultTrack="",i.on(o.Private.ChangeURL,function(){r._isCreated=!1,r._canPlayTriggered=!1,r._defaultTrack=""}),i.on(o.Player.CanPlay,function(){if(!r._player._drm&&!r._canPlayTriggered){var e=r._getTracks();e&&(r._isCreated=!0,i.trigger(o.Player.AudioTrackReady,e),r._notifyDefaultValue(e)),r._canPlayTriggered=!0}}),i.on(o.Player.AudioTrackUpdated,function(e){if(!r._isCreated){var t=r._getTracks(e.paramData.audioTracks);t&&(r._isCreated=!0,i.trigger(o.Player.AudioTrackReady,t),r._notifyDefaultValue(t))}})};r.prototype._notifyDefaultValue=function(e){!this._defaultTrack&&0<e.length&&(this._defaultTrack=e[0]),this._defaultTrack&&this._player.trigger(o.Private.SelectorUpdateList,{type:"audio",text:this._defaultTrack.text})},r.prototype.support=function(){return!!this._video.audioTracks},r.prototype._getTracks=function(e){if(!this.support()&&!e)return null;this._video&&this._video.audioTracks&&(!e||e&&0==e.length)&&(e=this._video.audioTracks);for(var t=[],i=e?e.length:0,r=0;r<i;r++){var o=e[r],n={value:o.id,text:o.label||o.name||o.language};(o["default"]||o.enabled)&&(this._defaultTrack=n),t.push(n)}return t},r.prototype["switch"]=function(e){if(this._player._hls)this._player._hls.audioTrack=1*e;else for(var t=this._video.audioTracks?this._video.audioTracks.length:0,i=0;i<t;i++){var r=this._video.audioTracks[i];r.id==e?r.enabled=!0:r.enabled=!1}},r.prototype.dispose=function(){this._player=null},t.exports=r},{"../base/event/eventtype":43}],86:[function(e,t,i){var r=e("../base/event/eventtype"),o=e("../../lib/dom"),n=e("../../lib/ua"),l=e("../../lib/cookie"),u=e("../../lib/constants"),a=function(e){this._video=e.tag,this._player=e,this._isCreated=!1,this._backupCC="",this.tracks=[],this._defaultTrack="",this._currentValue="";var t=this;e.on(r.Private.ChangeURL,function(){t._disabledTracks(),t._isCreated=!1,t._defaultTrack=""}),e.on(r.Player.CanPlay,function(){t._player._drm||(t._isCreated||(t.tracks=t._getTracks(),e.trigger(r.Player.TextTrackReady,t.tracks)),t._isCreated&&!t._player._setDefaultCC||!t._defaultTrack||(e.trigger(r.Private.SelectorUpdateList,{type:"cc",text:t._defaultTrack.text}),t["switch"](t._defaultTrack.value),t._player._setDefaultCC=!1,t._isCreated=!0))}),this._adaptiveCueStype(),e.on(r.Player.RequestFullScreen,function(){t._adaptiveCueStype()}),e.on(r.Player.CancelFullScreen,function(){t._adaptiveCueStype()})};a.prototype._adaptiveCueStype=function(){var e=-10;if(n.IS_SAFARI){e=-65;var t=this._player.fullscreenService;t&&t.getIsFullScreen()&&(e=-95)}else n.IS_MOBILE&&(e=-30);o.addCssByStyle("video::-webkit-media-text-track-container{transform: translateY("+e+"px) !important;}")},a.prototype.close=function(){for(var e=this._video&&this._video.textTracks?this._video.textTracks.length:0,t=0;t<e;t++){var i=this._video.textTracks[t];"expired"!=i.mode&&("showing"==i.mode&&(this._backupCC=i),i.mode="disabled")}},a.prototype.open=function(){if(this.tracks&&!(this.tracks.length<2)){var e=this._backupCC?this._backupCC.language:"",t=this._backupCC?this._backupCC.label:"";return e||(e=this.tracks[1].value,t=this.tracks[1].text),this["switch"](e),t}},a.prototype.getCurrentSubtitle=function(){return this._currentValue},a.prototype._getTracks=function(){if(this._player._drm)return[];var e=this._video&&this._video.textTracks?this._video.textTracks.length:0;this._defaultTrack={value:"off",text:"Off"};for(var t=[this._defaultTrack],i=l.get(u.SelectedCC),r="",o=!1,n=0;n<e;n++){var a=this._video.textTracks[n];if("expired"!=a.mode&&"subtitles"==a.kind){var s={value:a.language,text:a.label};a["default"]&&(this._defaultTrack=s,o=!0),s.value==i&&(r=s),t.push(s)}}return!o&&r&&(this._defaultTrack=r),t},a.prototype._disabledTracks=function(){for(var e=this._video&&this._video.textTracks?this._video.textTracks.length:0,t=0;t<e;t++){this._video.textTracks[t].mode="expired"}},a.prototype["switch"]=function(e){if(this.close(),"off"!=e){for(var t=this._video&&this._video.textTracks?this._video.textTracks.length:0,i=0;i<t;i++){var r=this._video.textTracks[i];r.language===e&&"expired"!=r.mode&&(this._video.textTracks[i].mode="showing")}this._currentValue=e}else this.close()},a.prototype.dispose=function(){this._player=null},t.exports=a},{"../../lib/constants":15,"../../lib/cookie":16,"../../lib/dom":18,"../../lib/ua":31,"../base/event/eventtype":43}],87:[function(e,t,i){var r=e("../../lib/playerutil");t.exports=[{service:e("./ccservice"),name:"_ccService",condition:!0},{service:e("./audiotrackservice"),name:"_audioTrackService"},{service:e("./qualityservice"),name:"_qualityService"},{service:e("./fullscreenservice"),name:"fullscreenService",condition:function(){return!0}},{service:e("./liveshiftservice"),name:"_liveshiftService",condition:function(){var e=this.options();return r.isLiveShift(e)}},{service:e("./thumbnailservice"),name:"_thumbnailService",condition:function(){return!0}},{service:e("./progressmarkerservice"),name:"_progressMarkerService",condition:function(){return!0}}]},{"../../lib/playerutil":29,"./audiotrackservice":85,"./ccservice":86,"./fullscreenservice":88,"./liveshiftservice":89,"./progressmarkerservice":90,"./qualityservice":91,"./thumbnailservice":92}],88:[function(e,t,i){var o=e("../../lib/ua"),n=e("../../lib/dom"),a=e("../../lib/event"),s=e("../base/event/eventtype"),r=e("../base/x5play"),l=e("../../lang/index"),u=function(){var e;n.createEl("div");var t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullScreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","webkitfullScreen"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","webkitIsFullScreen"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror","mozFullScreen"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError","MSFullScreen"]],i=!(e={});if(o.IS_IOS&&(e.requestFn="webkitEnterFullscreen",e.cancelFn="webkitExitFullscreen",e.fullscreenElement="webkitFullscreenElement",e.eventName="webkitfullscreenchange",e.isFullScreen="webkitDisplayingFullscreen",document[e.requestFn]&&(i=!0)),!i){for(var r=0;r<5;r++)if(t[r][1]in document){e.requestFn=t[r][0],e.cancelFn=t[r][1],e.fullscreenElement=t[r][2],e.eventName=t[r][4],e.isFullScreen=t[r][6];break}"requestFullscreen"in document?e.requestFn="requestFullscreen":"webkitRequestFullscreen"in document?e.requestFn="webkitRequestFullscreen":"webkitRequestFullScreen"in document?e.requestFn="webkitRequestFullScreen":"webkitEnterFullscreen"in document?e.requestFn="webkitEnterFullscreen":"mozRequestFullScreen"in document?e.requestFn="mozRequestFullScreen":"msRequestFullscreen"in document&&(e.requestFn="msRequestFullscreen"),"fullscreenchange"in document?e.eventName="fullscreenchange":"webkitfullscreenchange"in document?e.eventName="webkitfullscreenchange":"webkitfullscreenchange"in document?e.eventName="webkitfullscreenchange":"webkitfullscreenchange"in document?e.eventName="webkitfullscreenchange":"mozfullscreenchange"in document?e.eventName="mozfullscreenchange":"MSFullscreenChange"in document&&(e.eventName="MSFullscreenChange"),"fullScreen"in document?e.isFullScreen="fullScreen":"webkitfullScreen"in document?e.isFullScreen="webkitfullScreen":"webkitIsFullScreen"in document?e.isFullScreen="webkitIsFullScreen":"webkitDisplayingFullscreen"in document?e.isFullScreen="webkitDisplayingFullscreen":"mozFullScreen"in document?e.isFullScreen="mozFullScreen":"mozfullScreen"in document?e.isFullScreen="mozfullScreen":"MSFullScreen"in document&&(e.isFullScreen="MSFullScreen"),"fullscreenElement"in document?e.fullscreenElement="fullscreenElement":"webkitFullscreenElement"in document?e.fullscreenElement="webkitFullscreenElement":"webkitFullScreenElement"in document?e.fullscreenElement="webkitFullScreenElement":"mozFullScreenElement"in document?e.fullscreenElement="mozFullScreenElement":"msFullscreenElement"in document?e.fullscreenElement="msFullscreenElement":"MSFullscreenElement"in document&&(e.fullscreenElement="MSFullscreenElement")}return e.requestFn?e:null}(),c=function(e){this.isFullWindow=!1,this.isFullScreen=!1,this.isFullScreenChanged=!1,this._requestFullScreenTimer=null,this._cancelFullScreenTimer=null,this._player=e;var r=this,o=u;this._fullscreenChanged=function(e){if(null!=r._player){var t=document[o.isFullScreen];if(void 0!==t)r.isFullScreen=t;else{var i=document[o.fullscreenElement];r.isFullScreen=null!=i}(r.isFullScreenChanged=!0)===r.isFullScreen?r._player.trigger(s.Player.RequestFullScreen):r._player.trigger(s.Player.CancelFullScreen)}},o&&a.on(document,o.eventName,this._fullscreenChanged)};c.prototype.requestFullScreen=function(){if(!r.isAndroidX5()||!this._player.paused()){var e=u,t=this._player.el(),i=this;if(o.IS_IOS)return(t=this._player.tag)[e.requestFn](),i._player.trigger(s.Player.RequestFullScreen),this;this.isFullScreen=!0,this.isFullScreenChanged=!1,this._requestFullScreenTimer=null,this._cancelFullScreenTimer||clearTimeout(this._cancelFullScreenTimer);i=this;return e&&!this._player._options.enableMockFullscreen?(t[e.requestFn](),this._requestFullScreenTimer=setTimeout(function(){i.isFullScreenChanged||(d.apply(i),i._player.trigger(s.Player.RequestFullScreen)),i._requestFullScreenTimer=null},1e3)):(d.apply(i),this._player.trigger(s.Player.RequestFullScreen)),this._player}this._player.trigger(s.Private.Info_Show,l.get("Play_Before_Fullscreen"))},c.prototype.cancelFullScreen=function(){var e=u;this.isFullScreen=!1,this.isFullScreenChanged=!1,this._cancelFullScreenTimer=null,this._requestFullScreenTimer||clearTimeout(this._requestFullScreenTimer);var t=this;return e&&!this._player._options.enableMockFullscreen?(document[e.cancelFn](),t._cancelFullScreenTimer=setTimeout(function(){t.isFullScreenChanged||(p.apply(t),t._player.trigger(s.Player.CancelFullScreen)),t._cancelFullScreenTimer=null},500)):(p.apply(t),this._player.trigger(s.Player.CancelFullScreen)),this._player.tag.paused||this._player.trigger(s.Player.Play),this._player},c.prototype.getIsFullScreen=function(){return this.isFullScreen},c.prototype.dispose=function(){this._player=null;var e=u;a.off(document,e.eventName,this._fullscreenChanged)};var d=function(){this.isFullWindow=!0,this.docOrigOverflow=document.documentElement.style.overflow,document.documentElement.style.overflow="hidden",n.addClass(document.getElementsByTagName("body")[0],"prism-full-window")},p=function(){this.isFullWindow=!1,document.documentElement.style.overflow=this.docOrigOverflow,n.removeClass(document.getElementsByTagName("body")[0],"prism-full-window")};t.exports=c},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/ua":31,"../base/event/eventtype":43,"../base/x5play":67}],89:[function(e,t,i){var o=e("../../lib/io"),n=e("../../lib/util"),a=e("../../lib/playerUtil"),s=e("../../lang/index"),l=(e("../flv/flvinjector"),e("../hls/hlsinjector")),u=e("../../lib/constants"),c=e("../base/event/eventtype"),d=(e("../../lib/url"),function(e,t){if(e&&e){var i=new Date(e),r=new Date(t),o=r.valueOf()/1e3-i.valueOf()/1e3;return{start:i,end:r,endDisplay:n.extractTime(r),totalTime:o}}}),p=function(e,t){t&&(e.currentTimestamp=t,e.currentTime=n.convertToDate(t),e.currentTimeDisplay=n.extractTime(e.currentTime),e.liveShiftStart=e.liveTimeRange.start,e.liveShiftEnd=e.liveTimeRange.end,e.liveShiftStartDisplay=n.extractTime(e.liveShiftStart),e.liveShiftEndDisplay=n.extractTime(e.liveShiftEnd),e.availableLiveShiftTime=t-e.liveShiftStart.valueOf()/1e3,e.timestampStart=n.convertToTimestamp(e.liveShiftStart),e.timestampEnd,n.convertToTimestamp(e.liveShiftEnd))},r=function(t){this._player=t,this._isLiveShift=!1;var r=this,e=function(){var e=t._options.source;this._originalPlayUrl=e,this._liveShiftUrl=t._options.liveTimeShiftUrl,this.liveTimeRange=d(t._options.liveStartTime,t._options.liveOverTime),this.availableLiveShiftTime=0,this.seekTime=-1};e.call(this),t.liveShiftSerivce={setLiveTimeRange:function(e,t){r.setLiveTimeRange(e,t)},queryLiveShift:function(e,t,i){r.queryLiveShift(e,t,i)}},t.on(c.Private.ChangeURL,function(){e.call(r)})};r.prototype.validate=function(){return!(this.liveTimeRange.start>=this.liveTimeRange.end)},r.prototype.switchToLive=function(){var e=that._player._options.recreatePlayer;e&&this._isLiveShift&&(this._player.dispose(),setTimeout(function(){e()},1e3),this._isLiveShift=!1)},r.prototype.getBaseTime=function(){this.liveShiftStartDisplay;return-1==this.seekTime?n.parseTime(this.currentTimeDisplay):n.parseTime(this.liveShiftStartDisplay)+this.seekTime},r.prototype.getSourceUrl=function(e,t){var i=this._originalPlayUrl;return this.availableLiveShiftTime<=e?i:(this._isLiveShift=!0,(e=parseInt(e))<=5&&(e=5),(i=this._switchLiveShiftPlayer(t))&&(i=i.replace("lhs_offset_unix_s_0","z")),i=-1==i.indexOf("?")?i+"?lhs_offset_unix_s_0="+e:i+"&lhs_offset_unix_s_0="+e)},r.prototype._switchLiveShiftPlayer=function(e){var t=this._originalPlayUrl,i=this._player._options.liveShiftSource,r=this._player._options.source;if(a.isHls(r))t=r;else if(a.isFlv(t)&&i&&a.isHls(i)){this._player._flv&&this._player._destroyFlv();var o=this._player._superType,n=this._player._Type;return this._player._options._autoplay=!0,l.inject(this._player,n,o,this._player._options,"",!0),i}return t},r.prototype.getTimeline=function(i,r){if(this._player.trigger(c.Private.LiveShiftQueryCompleted),!this._liveShiftUrl)return p(this,(new Date).valueOf()/1e3),void(i&&i());var o=this;this.queryLiveShift(this._liveShiftUrl,function(e){if(e){var t=e;0==t.retCode?(p(o,t.content.current),i&&i()):r({Code:u.ErrorCode.ServerAPIError,Message:t.retCode+"|"+t.description+"|"+t.content})}else console.log("\u83b7\u53d6\u76f4\u64ad\u65f6\u79fb\u6570\u636e\u5931\u8d25")},function(e){if(r&&e){var t={};if(e){if(-1<e.indexOf("403 Forbidden"))t.Code=u.ErrorCode.AuthKeyExpired,t.Message="Query liveshift failed:"+s.get("Error_AuthKey_Text");else{var i;t=e;try{i=JSON.parse(e)}catch(e){}i&&(t.Code=u.ErrorCode.ServerAPIError,t.Message=i.retCode+"|"+i.description+"|"+i.content)}r(t)}}})},r.prototype.start=function(e,t){var i=this,r=function(){i._loopHandler=setTimeout(function(){i.getTimeline(function(){},t),r()},e)};i.getTimeline(function(e){i._localLiveTimeHandler||i.tickLocalLiveTime()},t),r()},r.prototype.tickLocalLiveTime=function(){var e=this,t=function(){e._localLiveTimeHandler=setTimeout(function(){e.currentTimestamp++,p(e,e.currentTimestamp),e._player.trigger(c.Private.LiveShiftQueryCompleted),t()},1e3)};t()},r.prototype.setLiveTimeRange=function(e,t){e||(e=this._player._options.liveStartTime),t||(t=this._player._options.liveOverTime),this.liveTimeRange=d(e,t),p(this,this.currentTimestamp),this._player.trigger(c.Private.LiveShiftQueryCompleted)},r.prototype.queryLiveShift=function(e,i,r){o.get(e,function(e){if(e){var t=JSON.parse(e);0==t.retCode?i&&i(t):r&&r(t)}else r&&r(e)},function(e){r&&r(e)})},r.prototype.stop=function(e){this._loopHandler&&(clearTimeout(this._loopHandler),this._loopHandler=null)},r.prototype.dispose=function(){this.stop(),this._localLiveTimeHandler&&(clearTimeout(this._localLiveTimeHandler),this._localLiveTimeHandler=null),this._player=null},t.exports=r},{"../../lang/index":11,"../../lib/constants":15,"../../lib/io":24,"../../lib/playerUtil":28,"../../lib/url":32,"../../lib/util":33,"../base/event/eventtype":43,"../flv/flvinjector":71,"../hls/hlsinjector":73}],90:[function(e,t,i){var c=e("../base/event/eventtype"),d=(e("../../lang/index"),e("../../lib/hls/hlsparse"),e("../../lib/object"),e("../../lib/dom")),p=e("../../lib/event"),r=(e("../../lib/playerutil"),function(l){this.progressMarkers=[],this._player=l;var u=this;l.on(c.Private.ProgressMarkerLoaded,function(e){var t=e.paramData;t&&0<t.length&&(u.progressMarkers=t)});var i=function(){var e=document.querySelector("#"+l.id()+" .prism-progress-marker");if(e){e.innerHTML="";var n=u._player.getDuration();if(0<n){for(var t=0;t<u.progressMarkers.length;t++){var i=u.progressMarkers[t];if(void 0!==i.offset&&""!==i.offset){var r=document.createElement("div");d.addClass(r,"prism-marker-dot");var o=u.progressMarkers[t].offset/n;r.style.left=100*o+"%",e.appendChild(r);var a=function(e,t){return function(){u._player.trigger(c.Private.MarkerTextShow,{left:e,progressMarker:t})}}(o,u.progressMarkers[t]);p.on(r,"mouseover",a),p.on(r,"mouseout",function(e){u._player.trigger(c.Private.MarkerTextHide)}),p.on(r,"touchstart",a),p.on(r,"mousemove",function(e){e.preventDefault()}),p.on(r,"touchmove",function(e){e.preventDefault()})}}var s=document.querySelector("#"+u._player.id()+" .prism-progress-cursor");u._player.on(s,"click",function(e){for(var t=u._player.getCurrentTime(),i=0;i<u.progressMarkers.length;i++){var r=u.progressMarkers[i];if(r&&(t-1<r.offset&&r.offset<t+1)){var o=r.offset/n*100+"%";u._player.trigger(c.Private.MarkerTextShow,{left:o,progressMarker:r})}}})}}};l.on(c.Private.ProgressMarkerChanged,function(e){var t=e.paramData;t&&0<t.length&&(u.progressMarkers=t,i())}),l.on(c.Video.LoadedMetadata,i)});r.prototype.dispose=function(){this._player=null,this.progressMarkers=[]},t.exports=r},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/hls/hlsparse":23,"../../lib/object":26,"../../lib/playerutil":29,"../base/event/eventtype":43}],91:[function(e,t,i){var l=e("../base/event/eventtype"),u=e("../../lang/index"),r=e("../../lib/hls/hlsparse"),c=e("../../lib/object"),o=e("../../lib/playerutil"),n=function(a){this.levels=[],this._player=a;var s=this;a.on(l.Player.LevelsLoaded,function(e){if(0<s.levels.length&&(s.levels=[]),(e=e.paramData)&&e.levels){for(var t=e.levels.length-1;-1<t;t--){var i=e.levels[t];if(i.url&&0<i.url.length&&i.attrs&&i.attrs.BANDWIDTH){var r=i.url;c.isArray(r)&&(r=r[0]);var o={Url:r,desc:i.height||i.width,bitrate:i.bitrate,resolution:i.attrs.RESOLUTION,bandwidth:i.attrs.BANDWIDTH};s.levels.push(o)}}if(0<s.levels.length){var n=u.get("Auto");s.levels.push({Url:e.url,desc:n}),a.trigger(l.Private.SelectorUpdateList,{type:"quality",text:n})}}}),a.on(l.Video.LoadStart,function(){if(a._options){var e=a._options.source;!a._hls&&e&&o.isHls(e)&&s.loadLevels(e)}})};(n.prototype={loadLevels:function(e){var t=new r,i=this;t.load(e,function(e){i._player.trigger(l.Player.LevelsLoaded,e)})}}).dispose=function(){this._player=null},t.exports=n},{"../../lang/index":11,"../../lib/hls/hlsparse":23,"../../lib/object":26,"../../lib/playerutil":29,"../base/event/eventtype":43}],92:[function(e,t,i){var r=e("../../lib/io"),o=e("../../lib/url"),n=e("../../lib/vtt/thumbnailvtt"),a=e("../base/event/eventtype"),s=function(e){this._player=e,this.cues=[],this.baseUrl="";var t=this;e.on(a.Private.ChangeURL,function(){t.cues=[],t.baseUrl=""})};(s.prototype={get:function(e){var t=this;this.baseUrl=function(e){var t=o.parseUrl(e);if(t){var i=t.segments;if(i&&0<i.length){var r=i[i.length-1];baseUrl=e.replace(r,"")}}return baseUrl}(e),r.get(e,function(e){e&&n.parse(e,function(e){t.cues=e,t._player.trigger(a.Private.ThumbnailLoaded,e)})},function(e){console.log(e)})},findAvailableCue:function(e){for(var t=this.cues.length,i=0;i<t;i++){var r=this.cues[i];if(r.startTime<=e&&e<r.endTime)return r}return null},makeUrl:function(e){return-1==e.indexOf("://")&&(e=this.baseUrl+e),e}}).dispose=function(){this._player=null},t.exports=s},{"../../lib/io":24,"../../lib/url":32,"../../lib/vtt/thumbnailvtt":34,"../base/event/eventtype":43}],93:[function(e,t,i){var a=e("../base/player"),s=e("../hls/hlsinjector"),r=e("../../lib/io"),o=a.extend({init:function(e,t){a.call(this,e,t),this.loadVideoInfo()}});o.prototype.loadVideoInfo=function(i){this.trigger("error_hide");var o=this._options.vid,n=this;if(!o)throw new Error("PrismPlayer Error: vid should not be null!");r.jsonp("//tv.taobao.com/player/json/getBaseVideoInfo.do?vid="+o+"&playerType=3",function(e){if(1!==e.status||!e.data.source)throw new Error("PrismPlayer Error: #vid:"+o+" cannot find video resource!");var t,r=-1;_.each(e.data.source,function(e,t){var i=+e.substring(1);r<i&&(r=i)}),t=e.data.source["v"+r],t=_.unescape(t),n._options.source=t,s.inject(n,TaobaoTVPlayer,a.prototype,n._options),n.initPlay(),i&&i()},function(){throw new Error("PrismPlayer Error: network error!")})},o.prototype.loadByVid=function(e){this._options.vid=e;var t=this;if(!e)throw new Error("PrismPlayer Error: vid should not be null!");this._monitor&&this._monitor.updateVideoInfo({video_id:e,album_id:data.data.baseInfo.aid,source:src,from:t._options.from}),this._options.autoplay=!0,this.loadVideoInfo(function(){t.cover&&t._options.autoplay&&(Dom.css(t.cover,"display","none"),delete t.cover),t.tag.play()})},t.exports=o},{"../../lib/io":24,"../base/player":62,"../hls/hlsinjector":73}],94:[function(e,t,i){var r=e("../lib/oo"),o=e("../lib/data"),a=e("../lib/object"),n=e("../lib/dom"),s=e("../lib/event"),l=e("../lib/function"),u=e("../lib/layout"),c=(e("../lib/constants"),e("../lib/util"),e("../player/base/event/eventtype")),d=e("./component/util"),p=r.extend({init:function(e,t){var i=this;this._player=e,this._eventState="",this._options=a.copy(t),this._el=this.createEl();var r=e.id;"function"==typeof e.id&&(r=e.id()),this._id=r+"_component_"+o.guid(),this._children=[],this._childIndex={},this._player.on(c.Private.UiH5Ready,function(){i.renderUI(),i.syncUI(),i.bindEvent()})}});p.prototype.renderUI=function(){u.render(this.el(),this.options()),this.el().id=this.id()},p.prototype.syncUI=function(){},p.prototype.bindEvent=function(){},p.prototype.createEl=function(e,t){return n.createEl(e,t)},p.prototype.options=function(e){return void 0===e?this._options:this._options=a.merge(this._options,e)},p.prototype.el=function(){return this._el},p.prototype._contentEl,p.prototype.player=function(){return this._player},p.prototype.contentEl=function(){return this._contentEl||this._el},p.prototype._id,p.prototype.id=function(){return this._id},p.prototype.getId=function(){return this._id},p.prototype.addChild=function(e,t){var i;if("string"==typeof e){if(!this._player.UI[e])return;i=new this._player.UI[e](this._player,t)}else i=e;if(this._children.push(i),"function"==typeof i.id&&(this._childIndex[i.id()]=i),"function"==typeof i.el&&i.el()){var r=i.el();r.id=i.id(),this.contentEl().appendChild(r)}return i},p.prototype.removeChild=function(e){if(e&&this._children){for(var t=!1,i=this._children.length-1;0<=i;i--)if(this._children[i]===e){t=!0,this._children.splice(i,1);break}if(t){this._childIndex[e.id]=null;var r=e.el();r&&r.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}},p.prototype.initChildren=function(){var i,e,t,r,o;if(e=(i=this).options().children)if(a.isArray(e))for(var n=0;n<e.length;n++)o="string"==typeof(t=e[n])?(r=t,{}):(r=t.name,t),i.addChild(r,o);else a.each(e,function(e,t){!1!==t&&i.addChild(e,t)})},p.prototype.on=function(e,t){return s.on(this._el,e,l.bind(this,t)),this},p.prototype.off=function(e,t){return s.off(this._el,e,t),this},p.prototype.one=function(e,t){return s.one(this._el,e,l.bind(this,t)),this},p.prototype.trigger=function(e,t){if(this._el)return(t||0==t)&&(this._el.paramData=t),this._eventState=e,s.trigger(this._el,e),this},p.prototype.off=function(e){return s.off(this._el,e),this},p.prototype.addClass=function(e){return n.addClass(this._el,e),this},p.prototype.removeClass=function(e){return n.removeClass(this._el,e),this},p.prototype.show=function(){return this._el.style.display="block",this},p.prototype.hide=function(){return this._el.style.display="none",this},p.prototype.destroy=function(){if(this.trigger({type:"destroy",bubbles:!1}),this._children)for(var e=this._children.length-1;0<=e;e--)this._children[e].destroy&&this._children[e].destroy();"function"==typeof this.disposeUI&&this.disposeUI(),this.children_=null,this.childIndex_=null,this.off(),this._el.parentNode&&this._el.id!=this._player.id()&&this._el.parentNode.removeChild(this._el),o.removeData(this._el),this._el=null},p.prototype.registerControlBarTooltip=d.registerTooltipEvent,t.exports=p},{"../lib/constants":15,"../lib/data":17,"../lib/dom":18,"../lib/event":19,"../lib/function":20,"../lib/layout":25,"../lib/object":26,"../lib/oo":27,"../lib/util":33,"../player/base/event/eventtype":43,"./component/util":121}],95:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),n=e("../../lib/event"),a=e("../../player/base/event/eventtype"),s=e("../../player/base/plugin/status"),l=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-big-play-btn")},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<div class="outter"></div>',e},bindEvent:function(){var t=this;this._player.on(a.Player.Play,function(){t.addClass("playing"),t.removeClass("pause"),t._hide()}),this._player.on(a.Player.Pause,function(){if(!t._player._switchSourcing){t.removeClass("playing"),t.addClass("pause");var e=t._player._status;e!=s.ended&&e!=s.error&&e!=s.playing&&t._show()}});var e=document.querySelector("#"+t.id()+" .outter");n.on(this.el(),"mouseover",function(){o.addClass(e,"big-playbtn-hover-animation")}),n.on(this.el(),"mouseout",function(){o.removeClass(e,"big-playbtn-hover-animation")}),this.on(a.Private.PlayClick,function(){if(t._player.paused()){var e=t._player.getCurrentTime();(t._player.getDuration()<=e||t._player._ended||t._player.exceedPreviewTime(e))&&t._player.seek(0),t._player.play(!0)}else t._player.pause(!0)}),this._player.on(a.Private.Play_Btn_Show,function(){t._show()}),this._player.on(a.Private.Play_Btn_Hide,function(){t._hide()})},_show:function(){o.css(this.el(),"display","block")},_hide:function(){o.css(this.el(),"display","none")}});t.exports=l},{"../../lib/dom":18,"../../lib/event":19,"../../player/base/event/eventtype":43,"../../player/base/plugin/status":66,"../component":94}],96:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),n=e("./util"),a=e("../../lang/index"),s=e("../../player/base/event/eventtype"),l=r.extend({init:function(e,t){this.isOpened=!1,r.call(this,e,t),this.addClass(t.className||"prism-cc-btn")},createEl:function(){return r.prototype.createEl.call(this,"div")},bindEvent:function(){var i=this;this.on("click",function(){o.addClass(i._el,"disabled");var e="on",t="";i.isOpened?(i._player._ccService.close(),e="off"):t=i._player._ccService.open(),i.isOpened=!i.isOpened,i._player.trigger(s.Private.CCStateChanged,{value:e,lang:t}),i.disabledHandler&&clearTimeout(i.disabledHandler),i.disabledHandler=setTimeout(function(){o.removeClass(i._el,"disabled")},1e3),i._player.trigger(s.Private.MarkerTextHide)}),this._player.on(s.Private.CCChanged,function(e){var t=e.paramData;i.isOpened="off"!=t}),n.registerTooltipEvent.call(this,this.el(),function(){return i.isOpened?a.get("CloseSubtitle"):a.get("OpenSubtitle")})},disposeUI:function(){this.disabledHandler&&(clearTimeout(this.disabledHandler),this.disabledHandler=null)}});t.exports=l},{"../../lang/index":11,"../../lib/dom":18,"../../player/base/event/eventtype":43,"../component":94,"./util":121}],97:[function(e,t,i){var r=e("../component"),n=e("../../player/base/event/eventtype"),a=e("../../lib/event"),s=e("../../lib/dom"),o=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-controlbar"),this.initChildren(),this.onEvent()},createEl:function(){var e=r.prototype.createEl.call(this);return e.innerHTML='<div class="prism-controlbar-bg"></div>',e},onEvent:function(){var i=this.player(),e=i.options(),r=this;a.on(this._el,"mouseover",function(){var e=document.querySelector("#"+r.id()+" .prism-progress-cursor");s.css(e,"display","block")}),a.on(this._el,"mouseout",function(e){var t=document.querySelector("#"+r.id()+" .prism-progress-cursor");s.css(t,"display","none"),i.trigger(n.Private.ThumbnailHide)}),this.timer=null;var t=e.controlBarVisibility;if(1==e.controlBarForOver&&(t="hover"),"hover"==t){r.hide();var o=function(){r._hideHandler&&clearTimeout(r._hideHandler),r._show(),i.fullscreenService.getIsFullScreen()&&r._hide()};i.on(n.Private.MouseOver,function(){o()}),a.on(this._player.tag,"click",function(e){e&&e.target==e.currentTarget&&o()}),a.on(this._player.tag,"touchstart",function(e){e&&e.target==e.currentTarget&&o()}),i.on(n.Private.MouseOut,function(){r._hideHandler=setTimeout(function(){r.hide(),i.trigger(n.Private.HideBar),i.trigger(n.Private.VolumeVisibilityChange,""),i.trigger(n.Private.SettingListHide)})})}else"click"==t?(i.on(n.Private.Click,function(e){i._isError||(e.preventDefault(),e.stopPropagation(),r._show(),r._hide())}),i.on(n.Player.Ready,function(){r._hide()}),i.on(n.Private.TouchStart,function(){r._show()}),i.on(n.Private.TouchMove,function(){r._show()}),i.on(n.Private.TouchEnd,function(){r._hide()})):r._show()},_show:function(){this.show(),this._player.trigger(n.Private.ShowBar),this.timer&&(clearTimeout(this.timer),this.timer=null)},_hide:function(){var e=this,t=this.player().options().showBarTime;this.timer=setTimeout(function(){e.hide(),e._player.trigger(n.Private.HideBar),e._player.trigger(n.Private.VolumeVisibilityChange,""),e._player.trigger(n.Private.SettingListHide)},t)},disposeUI:function(){this.timer&&(clearTimeout(this.timer),this.timer=null),this._hideHandler&&(clearTimeout(this._hideHandler),this._hideHandler=null)}});t.exports=o},{"../../lib/dom":18,"../../lib/event":19,"../../player/base/event/eventtype":43,"../component":94}],98:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),n=e("../../player/base/event/eventtype"),a=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-cover")},createEl:function(){var e=r.prototype.createEl.call(this,"div"),t=this.options().cover;return t?e.style.backgroundImage="url("+t+")":o.css(e,"display","none"),e},_hide:function(e){var t=document.querySelector("#"+this.id()+" .prism-cover");t&&o.css(t,"display","none")},_show:function(e){var t=document.querySelector("#"+this.id()+" .prism-cover");t&&o.css(t,"display","block")},bindEvent:function(){this._player.on(n.Private.Cover_Show,this._show),this._player.on(n.Private.Cover_Hide,this._hide)}});t.exports=a},{"../../lib/dom":18,"../../player/base/event/eventtype":43,"../component":94}],99:[function(e,t,i){var r=e("../component"),h=e("../../lib/util"),f=e("../../lib/dom"),o=e("../../lib/event"),n=e("../../lib/ua"),_=e("../../lang/index"),a=e("../../player/base/event/eventtype"),s=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-ErrorMessage",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML="<div class='prism-error-content'><p></p></div><div class='prism-error-operation'><a class='prism-button prism-button-refresh'>"+_.get("Refresh_Text")+"</a><a class='prism-button prism-button-retry' target='_blank'>"+_.get("Retry")+"</a><a class='prism-button prism-button-orange' target='_blank'>"+_.get("Detection_Text")+"</a></div><div class='prism-detect-info prism-center'><p class='errorCode'><span class='info-label'>code\uff1a</span><span class='info-content'></span></p><p class='vid'><span class='info-label'>vid:</span><span class='info-content'></span></p><p class='uuid'><span class='info-label'>uuid:</span><span class='info-content'></span></p><p class='requestId'><span class='info-label'>requestId:</span><span class='info-content'></span></p><p class='dateTime'><span class='info-label'>"+_.get("Play_DateTime")+"\uff1a</span><span class='info-content'></span></p></div>",e},bindEvent:function(){var i=this;i._player.on(a.Private.Error_Show,function(e){var t=null;i._player.getMonitorInfo&&(t=i._player.getMonitorInfo()),i._show(e,t)}),i._player.on(a.Private.Error_Hide,function(){i._hide()});var e=document.querySelector("#"+i.id()+" .prism-button-refresh");if(o.on(e,"click",function(){location.reload(!0)}),n.IS_MOBILE){e=document.querySelector("#"+i.id()+" .prism-detect-info");f.addClass(e,"prism-width90")}var t=document.querySelector("#"+i.id()+" .prism-button-retry");o.on(t,"click",function(){var e=i._player.getCurrentTime(),t=i._player._options.source;i._player._setDefaultCC=!0,i._player._loadByUrlInner(t,e,!0)})},_show:function(e,t){var i=e.paramData,r="",o="";i.mediaId&&(r=i.mediaId);var n=document.querySelector("#"+this.id()+" .prism-button-orange");if(n){if(t&&this._player._options.diagnosisButtonVisible){t.vu?o=decodeURIComponent(t.vu):f.css(n,"display","none");var a="//player.alicdn.com/detection.html?from=h5&vid="+r+"&source="+(o?encodeURIComponent(o):"")+"&uuid="+t.uuid+"&lang="+_.getCurrentLanguage();n&&(n.href=a)}else f.css(n,"display","none");var s=i.display_msg||i.error_msg;document.querySelector("#"+this.id()+" .prism-error-content p").innerHTML=s,document.querySelector("#"+this.id()+" .errorCode .info-content").innerText=i.error_code;var l=document.querySelector("#"+this.id()+" .vid");if(i.mediaId?(f.css(l,"display","block"),document.querySelector("#"+this.id()+" .vid .info-content").innerText=i.mediaId):f.css(l,"display","none"),i.uuid)document.querySelector("#"+this.id()+" .uuid .info-content").innerText=i.uuid;else{var u=document.querySelector("#"+this.id()+" .uuid");f.css(u,"display","none")}if(i.requestId)document.querySelector("#"+this.id()+" .requestId .info-content").innerText=i.requestId;else{var c=document.querySelector("#"+this.id()+" .requestId");f.css(c,"display","none")}document.querySelector("#"+this.id()+" .dateTime .info-content").innerText=h.formatDate(new Date,"yyyy-MM-dd HH:mm:ss");var d=document.querySelector("#"+this.id());f.css(d,"display","block");var p=this;p.playHideHandler&&clearTimeout(p.playHideHandler),p.playHideHandler=setTimeout(function(){p._player.trigger("play_btn_hide")})}},_hide:function(){var e=document.querySelector("#"+this.id());f.css(e,"display","none")},disposeUI:function(){this.playHideHandler&&(clearTimeout(this.playHideHandler),this.playHideHandler=null)}});t.exports=s},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/ua":31,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],100:[function(e,t,i){var r=e("../component"),o=e("../../player/base/event/eventtype"),n=(e("../../lib/event"),e("../../lib/ua")),a=e("../../lang/index"),s=e("./util"),l=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-fullscreen-btn")},bindEvent:function(){var e=this;this._player.on(o.Player.RequestFullScreen,function(){n.IS_IOS||e.addClass("fullscreen")}),this._player.on(o.Player.CancelFullScreen,function(){e.removeClass("fullscreen")}),s.registerTooltipEvent.call(this,this.el(),function(){return e._player.fullscreenService.getIsFullScreen()?a.get("ExistFullScreen"):a.get("Fullscreen")}),this.on("click",function(){e._player.fullscreenService.getIsFullScreen()?e._player.fullscreenService.cancelFullScreen():e._player.fullscreenService.requestFullScreen(),e._player.trigger(o.Private.MarkerTextHide)})}});t.exports=l},{"../../lang/index":11,"../../lib/event":19,"../../lib/ua":31,"../../player/base/event/eventtype":43,"../component":94,"./util":121}],101:[function(e,t,i){"use strict";var r=e("../component"),o=e("../../lib/dom"),n=e("../../player/base/event/eventtype"),a=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-hide")},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<div class="circle"></div> <div class="circle1"></div>',e},_loading_hide:function(e){var t=document.querySelector("#"+this.id()+" .prism-loading");t&&(o.removeClass(t,"prism-loading"),o.addClass(t,"prism-hide"))},_loading_show:function(e){var t=document.querySelector("#"+this.id()+" .prism-hide");t&&(o.removeClass(t,"prism-hide"),o.addClass(t,"prism-loading"))},bindEvent:function(){this._player.on(n.Private.H5_Loading_Show,this._loading_show),this._player.on(n.Private.H5_Loading_Hide,this._loading_hide)}});t.exports=a},{"../../lib/dom":18,"../../player/base/event/eventtype":43,"../component":94}],102:[function(e,t,i){var r=e("../component"),o=(e("../../lib/util"),e("../../lib/dom")),n=(e("../../lib/event"),e("../../lib/ua"),e("../../lang/index"),e("../../player/base/event/eventtype")),a=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-info-display",this.addClass(this.className)},createEl:function(){return r.prototype.createEl.call(this,"p")},bindEvent:function(){var r=this;r._player.on(n.Private.Info_Show,function(e){var t=document.querySelector("#"+r.id()),i=e.paramData;i&&(void 0!==i.text&&i.text?(t.innerHTML=i.text,void 0!==i.duration&&i.duration&&(r.handler&&clearTimeout(r.handler),r.handler=setTimeout(function(){o.css(t,"display","none")},i.duration)),"lb"==i.align?(o.addClass(t,"prism-info-left-bottom"),o.removeClass(t,"prism-info-top-center")):"tc"==i.align?(o.addClass(t,"prism-info-top-center"),o.removeClass(t,"prism-info-left-bottom")):(o.removeClass(t,"prism-info-left-bottom"),o.removeClass(t,"prism-info-top-center")),i.isBlack?o.addClass(t,"prism-info-black"):o.removeClass(t,"prism-info-black")):t.innerHTML=i,o.css(t,"display","block"))}),r._player.on(n.Private.Info_Hide,function(e){var t=document.querySelector("#"+r.id());o.css(t,"display","none")})},disposeUI:function(){this.handler&&(clearTimeout(this.handler),this.handler=null)}});t.exports=a},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/ua":31,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],103:[function(e,t,i){var r=e("../component"),o=e("./util"),n=(e("../../lib/util"),e("../../lib/dom")),a=e("../../lib/event"),s=e("../../lib/playerUtil"),l=e("../../lang/index"),u=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-live-display",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"p");return e.innerText="LIVE",s.isLiveShift(this._player._options)&&n.addClass(e,"live-shift-display"),e},bindEvent:function(){var e=document.querySelector("#"+this.id()),t=this;s.isLiveShift(this._player._options)&&(a.on(e,"click",function(){t._player._liveshiftService.switchToLive()}),o.registerTooltipEvent.call(this,this.el(),l.get("SwitchToLive")))}});t.exports=u},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/playerUtil":28,"../../lib/util":33,"../component":94,"./util":121}],104:[function(e,t,i){var r=e("../component"),o=(e("../../lib/dom"),e("../../lib/event"),e("../../player/base/event/eventtype")),n=e("../../player/base/plugin/status"),a=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-animation")},bindEvent:function(){var t=this;this._player.on(o.Player.Play,function(){t._player._isManualPlay&&(t.removeClass("prism-pause-animation"),t.addClass("prism-play-animation"),t.removeClass("play-apply-animation"),t.playHandler&&clearTimeout(t.playHandler),t.playHandler=setTimeout(function(){t.addClass("play-apply-animation")}))}),this._player.on(o.Player.Pause,function(){var e=t._player._status;e!=n.ended&&e!=n.error&&t._player._isManualPause&&(t.removeClass("prism-play-animation"),t.addClass("prism-pause-animation"),t.removeClass("play-apply-animation"),t.pauseHandler&&clearTimeout(t.pauseHandler),t.pauseHandler=setTimeout(function(){t.addClass("play-apply-animation")}))})},disposeUI:function(){this.playHandler&&(clearTimeout(this.playHandler),this.playHandler=null),this.pauseHandler&&(clearTimeout(this.pauseHandler),this.pauseHandler=null)}});t.exports=a},{"../../lib/dom":18,"../../lib/event":19,"../../player/base/event/eventtype":43,"../../player/base/plugin/status":66,"../component":94}],105:[function(e,t,i){var r=e("../component"),o=e("../../player/base/event/eventtype"),n=e("./util"),a=e("../../lang/index"),s=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-play-btn")},bindEvent:function(){var t=this;this._player.on(o.Player.Play,function(){t.addClass("playing")}),this._player.on(o.Player.Pause,function(){t.removeClass("playing")}),this.on(o.Private.PlayClick,function(){if(t._player.paused()){var e=t._player.getCurrentTime();(t._player.getDuration()<=e||t._player._ended||t._player.exceedPreviewTime(e))&&t._player.seek(0),t._player.play(!0),t.addClass("playing")}else t._player.pause(!0),t.removeClass("playing");t._player.trigger(o.Private.MarkerTextHide)}),n.registerTooltipEvent.call(this,this.el(),function(){return t._player.paused()?a.get("Play"):a.get("Pause")})}});t.exports=s},{"../../lang/index":11,"../../player/base/event/eventtype":43,"../component":94,"./util":121}],106:[function(e,t,i){var r=e("../component"),a=e("../../lib/dom"),n=(e("../../lib/constants"),e("../../lib/event")),s=e("../../lib/ua"),l=e("../../lib/function"),o=e("../../lang/index"),u=e("../../config"),c=e("../../lib/util"),d=e("../../player/base/event/eventtype"),p=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-progress",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this);return e.innerHTML='<div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-marker"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p>',e},bindEvent:function(){var t=this;this.loadedNode=document.querySelector("#"+this.id()+" .prism-progress-loaded"),this.playedNode=document.querySelector("#"+this.id()+" .prism-progress-played"),this.cursorNode=document.querySelector("#"+this.id()+" .prism-progress-cursor"),this.timeNode=document.querySelector("#"+this.id()+" .prism-progress-time"),this.timeNode=document.querySelector("#"+this._player._options.id+" .prism-progress-time");var i=document.querySelector("#"+this.id()),e=document.querySelector("#"+this.id()+" .prism-progress-cursor img"),r="https://"+u.domain+"/de/prismplayer/"+u.h5Version+"/skins/default/img/dragcursor.png";u.domain?-1<u.domain.indexOf("localhost")&&(r="//"+u.domain+"/build/skins/default/img/dragcursor.png"):r="de/prismplayer/"+u.h5Version+"/skins/default/img/dragcursor.png",e.src=r,n.on(this.cursorNode,"mousedown",function(e){t._onMouseDown(e)}),n.on(this.cursorNode,"touchstart",function(e){t._onMouseDown(e)}),n.on(i,"mousemove",function(e){t._progressMove(e)}),n.on(i,"touchmove",function(e){t._progressMove(e)});var o=function(e){t._progressDown=e};n.on(i,"mousedown",function(e){o(!0)}),n.on(i,"touchstart",function(e){o(!0)}),n.on(i,"mouseup",function(e){o(!1)}),n.on(i,"touchend",function(e){o(!1)}),n.on(this._el,"click",function(e){t._onMouseClick(e)}),this._player.on(d.Private.HideProgress,function(e){t._hideProgress(e)}),this._player.on(d.Private.CancelHideProgress,function(e){t._cancelHideProgress(e)}),n.on(i,d.Private.MouseOver,function(e){t._onMouseOver(e)}),n.on(i,d.Private.MouseOut,function(e){t._onMouseOut(e)}),n.on(this.controlNode,d.Private.MouseLeave,function(e){t._offMouseUp()}),s.IS_PC?(n.on(i,"mouseover",function(){a.addClass(i,"prism-progress-hover"),a.addClass(t.cursorNode,"cursor-hover")}),n.on(i,"mouseout",function(e){a.removeClass(i,"prism-progress-hover"),a.removeClass(t.cursorNode,"cursor-hover"),t._progressDown=!1})):(a.addClass(i,"prism-progress-hover"),a.addClass(t.cursorNode,"cursor-hover")),this.bindTimeupdate=l.bind(this,this._onTimeupdate),this._player.on(d.Player.TimeUpdate,this.bindTimeupdate),s.IS_IPAD?this.interval=setInterval(function(){t._onProgress()},500):this._player.on(d.Video.Progress,function(){t._onProgress()})},_progressMove:function(e){e.preventDefault();var t=this._getSeconds(e);if(t!=1/0){var i=c.formatTime(t),r=this._getDistance(e);this.cursorNode&&(this._player.trigger(d.Private.ThumbnailShow,{time:t,formatTime:i,left:r,progressWidth:this.el().offsetWidth}),this._progressDown&&this._onMouseMove(e))}},_hideProgress:function(e){n.off(this.cursorNode,"mousedown"),n.off(this.cursorNode,"touchstart")},_cancelHideProgress:function(e){var t=this;n.on(this.cursorNode,"mousedown",function(e){t._onMouseDown(e)}),n.on(this.cursorNode,"touchstart",function(e){t._onMouseDown(e)})},_canSeekable:function(e){var t=!0;return"function"==typeof this._player.canSeekable&&(t=this._player.canSeekable(e)),t},_onMouseOver:function(e){this._cursorHideHandler&&(clearTimeout(this._cursorHideHandler),this._cursorHideHandler=null),this._mouseInProgress||this._updateCursorPosition(this._player.getCurrentTime()),this._mouseInProgress=!0},_onMouseOut:function(e){var t=this;this._cursorHideHandler&&clearTimeout(this._cursorHideHandler),this._cursorHideHandler=setTimeout(function(){t._player.trigger(d.Private.ThumbnailHide),t._mouseInProgress=!1})},_getSeconds:function(e){var t=this._getDistance(e),i=this.el().offsetWidth,r=this._player.getDuration()?t/i*this._player.getDuration():0;return r<0&&(r=0),r>this._player.getDuration()&&(r=this._player.getDuration()),r},_getDistance:function(e){for(var t=this.el().offsetLeft,i=this.el();i=i.offsetParent;){var r=a.getTranslateX(i);t+=i.offsetLeft+r}var o=e.touches?e.touches[0].pageX:e.pageX;return Math.abs(o-t)},_onMouseClick:function(e){var t=this,i=t._getSeconds(e);if(t._canSeekable(i)){t._player.exceedPreviewTime(i)&&(i=t._player.getPreviewTime()),t._updateCursorPosition(i);this._mouseClickTimeHandle&&clearTimeout(this._mouseClickTimeHandle),this._mouseClickTimeHandle=setTimeout(function(){t._player._seeking=!0,t._player.trigger(d.Private.SeekStart,{fromTime:t._player.getCurrentTime()}),t._player.seek(i),t._player.trigger(d.Private.EndStart,{toTime:i}),t._mouseClickTimeHandle=null,t._inWaitingSeek=!1},300),this._inWaitingSeek=!0}else t._player.trigger(d.Private.Info_Show,{text:o.get("Can_Not_Seekable"),duration:2e3})},_onMouseDown:function(e){var t=this;e.preventDefault(),this._player.trigger(d.Private.SeekStart,{fromTime:this._player.getCurrentTime()}),n.on(this.controlNode,"mousemove",function(e){t._onMouseMove(e)}),n.on(this.controlNode,"touchmove",function(e){t._onMouseMove(e)}),n.on(this._player.tag,"mouseup",function(e){t._onPlayerMouseUp(e)}),n.on(this._player.tag,"touchend",function(e){t._onPlayerMouseUp(e)}),n.on(this.controlNode,"mouseup",function(e){t._onControlBarMouseUp(e)}),n.on(this.controlNode,"touchend",function(e){t._onControlBarMouseUp(e)})},_onMouseUp:function(e){this._onMouseUpIntern(e)},_onControlBarMouseUp:function(e){this._onMouseUpIntern(e)},_onPlayerMouseUp:function(e){this._onMouseUpIntern(e)},_offMouseUp:function(){n.off(this.controlNode,"mousemove"),n.off(this.controlNode,"touchmove"),n.off(this._player.tag,"mouseup"),n.off(this._player.tag,"touchend"),n.off(this.controlNode,"mouseup"),n.off(this.controlNode,"touchend")},_onMouseUpIntern:function(e){e.preventDefault(),this._offMouseUp();var t=this.playedNode.offsetWidth/this.el().offsetWidth*this._player.getDuration();this._player.getDuration();isNaN(t)||this._player.seek(t),this._player.trigger(d.Private.EndStart,{toTime:t})},_onMouseMove:function(e){e.preventDefault();var t=this._getSeconds(e);this._player.exceedPreviewTime(t)&&(t=this._player.getPreviewTime()),this._player.seek(t),this._updateProgressBar(this.playedNode,t),this._updateCursorPosition(t)},_onTimeupdate:function(e){this._inWaitingSeek||this._player._seeking||this._progressDown||(this._updateProgressBar(this.playedNode,this._player.getCurrentTime()),this._updateCursorPosition(this._player.getCurrentTime()),this._player.trigger(d.Private.UpdateProgressBar,{time:this._player.getCurrentTime()}))},_onProgress:function(e){this._player.getDuration()&&1<=this._player.getBuffered().length&&this._updateProgressBar(this.loadedNode,this._player.getBuffered().end(this._player.getBuffered().length-1))},_updateProgressBar:function(e,t){var i=this._player.getDuration();if(1!=this._player._switchSourcing&&i){var r=t/i+.005;1<r&&(r=1),e&&a.css(e,"width",100*r+"%")}},_updateCursorPosition:function(e){var t=this._player.getDuration();if(1!=this._player._switchSourcing&&t){var i=1,r=this._player.el().clientWidth,o=10/r,n=e/t-o;0!=r&&(i=1-o),n=n<0?0:n,this.cursorNode&&(i<n?(a.css(this.cursorNode,"right","0px"),a.css(this.cursorNode,"left","auto")):(a.css(this.cursorNode,"right","auto"),a.css(this.cursorNode,"left",100*n+"%")))}},disposeUI:function(){this.cursorNodeHandler&&(clearTimeout(this.cursorNodeHandler),this.cursorNodeHandler=null),this._cursorHideHandler&&(clearTimeout(this._cursorHideHandler),this._cursorHideHandler=null),this._mouseClickTimeHandle&&(clearTimeout(this._mouseClickTimeHandle),this._mouseClickTimeHandle=null)}});t.exports=p},{"../../config":5,"../../lang/index":11,"../../lib/constants":15,"../../lib/dom":18,"../../lib/event":19,"../../lib/function":20,"../../lib/ua":31,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],107:[function(e,t,i){var r=e("../component"),o=(e("../../lib/util"),e("../../lib/dom")),n=e("../../lib/event"),a=e("../../player/base/event/eventtype"),s=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-marker-text",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML="<p></p>",e},bindEvent:function(){var r=this;r._player.on(a.Private.MarkerTextShow,function(e){var t=e.paramData,i=a.Player.MarkerDotOver;if(r._player.trigger(i,e.paramData),t.progressMarker.isCustomized)r._player.trigger(a.Private.LifeCycleChanged,{type:i,data:e.paramData});else{r._thumbnailShowHanlde&&(o.css(r.el(),"display","none"),clearTimeout(r._thumbnailShowHanlde)),r._thumbnailShowHanlde=setTimeout(function(){if(document.querySelector("#"+r.id()+" p").innerText=t.progressMarker.text||"",t){o.css(r.el(),"display","block");var e=r._player.el().offsetWidth;left=e*t.left,width=r.el().offsetWidth,left+width>e?(o.css(r.el(),"right","0px"),o.css(r.el(),"left","auto")):(left-=width/2,left=left<0?0:left,o.css(r.el(),"right","auto"),o.css(r.el(),"left",left+"px"))}},30)}}),r._player.on(a.Private.MarkerTextHide,function(e){r._player.trigger(a.Player.MarkerDotOut),r._player.trigger(a.Private.LifeCycleChanged,{type:a.Player.MarkerDotOut,data:""}),r._thumbnailShowHanlde&&clearTimeout(r._thumbnailShowHanlde),o.css(r.el(),"display","none")}),n.on(r._player.tag,"click",function(e){e&&e.target==e.currentTarget&&r._player.trigger(a.Private.MarkerTextHide)}),n.on(r._player.tag,"touchstart",function(e){e&&e.target==e.currentTarget&&r._player.trigger(a.Private.MarkerTextHide)})},disposeUI:function(){this._thumbnailShowHanlde&&(clearTimeout(this._thumbnailShowHanlde),this._thumbnailShowHanlde=null)}});t.exports=s},{"../../lib/dom":18,"../../lib/event":19,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],108:[function(e,t,i){var r=e("./selector"),s=e("../../../lib/object"),u=(e("../../../lib/util"),e("../../../lib/cookie")),l=e("../../../lib/dom"),c=(e("../../../lib/event"),e("../../../lib/constants")),d=e("../../../lang/index"),p=e("../../../player/base/event/eventtype"),o=r.extend({init:function(e,t){this.Name=d.get("Quality"),this.Type="quality",this.Tooltip=d.get("Quality_Switch_To"),r.call(this,e,t),this._isMasterLevel=!1},showTip:function(e,t){this._player.trigger(p.Private.Info_Show,{text:e,duration:t,align:"lb"})},bindEvent:function(){this.bindCommonEvent();var s=this;this._player.on(p.Private.QualityChange,function(e){var t=s._player._urls,i=e.paramData;if(i.levelSwitch){var r=i.desc;s._autoSWitchDesc=r,s._updateText(r)}else if(0<s._player._currentPlayIndex){s._autoSWitchDesc="";var o=s._player._currentPlayIndex,n=t[o-1].desc,a=t[o].desc;s.showTip(n+e.paramData+a,1e3),s._player.trigger(p.Private.SelectorValueChange,t[o].Url)}});var e=document.querySelector("#"+s.id()+" .selector-list");this._player.on(p.Player.LevelSwitch,function(){l.addClass(e,"disabled")}),this._player.on(p.Player.LevelSwitched,function(){l.removeClass(e,"disabled")})},generateList:function(e){var t=this._player._urls,o=this._player._currentPlayIndex,i=this._player._qualityService.levels;0<i.length&&(this._isMasterLevel=!0,o=(t=i).length-1);var n=document.querySelector("#"+this.id()+" .selector-list");if(0<t.length){var a=this;s.each(t,function(e,t){if(e.desc){var i=l.createEl.call(this,"li",{key:e.Url,index:t,text:e.desc}),r=l.createEl.call(this,"span",{key:e.Url,index:t,text:e.desc});t==o&&(l.addClass(i,"current"),a._previousSelection=i),r.innerText=e.desc,i.appendChild(r),n.appendChild(i)}})}this._autoSWitchDesc&&this._updateText(this._autoSWitchDesc)},execute:function(e){if(this._player._switchSourcing=!0,this._isMasterLevel){var t=this._player._qualityService.levels;for(n=0;n<t.length;n++)t[n].Url==e&&t[n].desc!=d.get("Auto")&&this._updateText("");this._player._switchLevel&&this._player._switchLevel(e)}else{for(var i=this._player._urls.length,r=this._player._currentPlayIndex,o=-1,n=0;n<i;n++)if(this._player._urls[n].Url==e){o=this._player._currentPlayIndex=n,u.set(c.SelectedStreamLevel,this._player._urls[n].definition,365);break}if(r!=o&&-1<o){var a=this._player.getCurrentTime();this._previousCurrentTime?"playing"!=this._player._status&&(a=this._previousCurrentTime):this._previousCurrentTime=a,this._previousCurrentTime=a;var s=this._player.autoplay||"pause"!=this._player._status;this._player.autoplay||0!=a||(s=!1),this._player._loadByUrlInner(e,a,s)}}var l=this;setTimeout(function(){l._player._switchSourcing=!1})},_updateText:function(e){var t=document.querySelector("#"+this.id()+" .selector-list .current"),i=document.querySelector("#"+this.id()+" .selector-list .current span"),r=d.get("Auto");i&&i.innerText&&-1<i.innerText.indexOf(r)&&(r+=e?"("+e+")":"",i.innerText=r,t&&(t.text=r))}});t.exports=o},{"../../../lang/index":11,"../../../lib/constants":15,"../../../lib/cookie":16,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/object":26,"../../../lib/util":33,"../../../player/base/event/eventtype":43,"./selector":114}],109:[function(e,t,i){var r=e("./selector"),a=e("../../../lib/object"),s=(e("../../../lib/util"),e("../../../lib/cookie"),e("../../../lib/dom")),o=(e("../../../lib/event"),e("./util"),e("../../../lang/index")),l=e("../../../player/base/event/eventtype"),n=r.extend({init:function(e,t){this.Name=o.get("AudioTrack"),this.Type="audio",this.Tooltip=o.get("AudioTrack_Switch_To"),r.call(this,e,t)},bindEvent:function(){this.bindCommonEvent();var o=this,n=document.querySelector("#"+o.id()+" .selector-list");document.querySelector("#"+o.id()+" .header");o._player.on(l.Private.ChangeURL,function(){o._hasGeneratedList=!1}),this._player.on(l.Player.AudioTrackSwitch,function(){s.addClass(n,"disabled")}),this._player.on(l.Player.AudioTrackSwitched,function(){s.removeClass(n,"disabled")}),o._player.on(l.Player.AudioTrackReady,function(e){o._hasGeneratedList||(o._clear(),(e=e.paramData)&&(a.each(e,function(e,t){var i=s.createEl.call(o,"li",{key:e.value,text:e.text}),r=s.createEl.call(o,"span",{key:e.value,text:e.text});r.innerText=e.text,i.appendChild(r),n.appendChild(i)}),o._hasGeneratedList=!0))})},execute:function(e){this._player._audioTrackService["switch"](e)}});t.exports=n},{"../../../lang/index":11,"../../../lib/cookie":16,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/object":26,"../../../lib/util":33,"../../../player/base/event/eventtype":43,"./selector":114,"./util":116}],110:[function(e,t,i){var r=e("../../component"),o=(e("../../../lib/dom"),e("../../../player/base/event/eventtype")),n=e("./list"),a=e("../../../lang/index"),s=e("../util"),l=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-setting-btn"),this._settingList=new n(e,t),e.addChild(this._settingList,t)},createEl:function(){return r.prototype.createEl.call(this,"div")},bindEvent:function(){var e=this;this.on("click",function(){e._settingList.isOpened?e._player.trigger(o.Private.SettingListHide):e._player.trigger(o.Private.SettingListShow),e._player.trigger(o.Private.SelectorHide),e._player.trigger(o.Private.MarkerTextHide),e._player.trigger(o.Private.VolumeVisibilityChange,"")}),s.registerTooltipEvent.call(this,this.el(),a.get("Setting"))}});t.exports=l},{"../../../lang/index":11,"../../../lib/dom":18,"../../../player/base/event/eventtype":43,"../../component":94,"../util":121,"./list":113}],111:[function(e,t,i){var r=e("./selector"),s=e("../../../lib/object"),l=e("../../../lib/dom"),o=(e("../../../lib/event"),e("./util"),e("../../../lib/cookie")),n=e("../../../lib/constants"),a=e("../../../lang/index"),u=e("../../../player/base/event/eventtype"),c=r.extend({init:function(e,t){this.Name=a.get("Subtitle"),this.Type="cc",this.Tooltip=a.get("CC_Switch_To"),r.call(this,e,t)},bindEvent:function(){this.bindCommonEvent();var o=this;this._player.on(u.Private.CCStateChanged,function(e){var t=e.paramData.value,i=e.paramData.lang;"on"==t&&i?o._backCCText=i:"off"==t&&""==o._backCCText&&(o._backCCText=o._previousSelection.text);var r="Off";"on"==t&&(r=o._backCCText),o._player.trigger(u.Private.SelectorUpdateList,{type:"cc",text:r})})},generateList:function(o){var n=document.querySelector("#"+this.id()+" .selector-list"),e=this._player._ccService.tracks,a=this;s.each(e,function(e,t){var i=l.createEl.call(this,"li",{key:e.value,text:e.text}),r=l.createEl.call(this,"span",{key:e.value,text:e.text});e.text==o&&(l.addClass(i,"current"),a._previousSelection=i),r.innerText=e.text,i.appendChild(r),n.appendChild(i)})},execute:function(e){this._backCCText="",o.set(n.SelectedCC,e,365),this._player._ccService["switch"](e),this._player.trigger(u.Private.CCChanged,e)}});t.exports=c},{"../../../lang/index":11,"../../../lib/constants":15,"../../../lib/cookie":16,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/object":26,"../../../player/base/event/eventtype":43,"./selector":114,"./util":116}],112:[function(e,t,i){t.exports={CC:e("./cc"),Speed:e("./speed"),Quality:e("./Quality"),Audio:e("./audio")}},{"./Quality":108,"./audio":109,"./cc":111,"./speed":115}],113:[function(e,t,i){var a=e("../../component"),r=e("../../../lib/dom"),n=e("../../../lib/ua"),s=e("../../../lib/event"),l=e("../../../player/base/event/eventtype"),o=e("./export"),u=e("./util"),c=e("../../../lang/index"),d=a.extend({init:function(e,t){for(var i in this.isOpened=!1,a.call(this,e,t),this.addClass(t.className||"prism-setting-list"),o){var r=new o[i](e,t);e.addChild(r,t)}},createEl:function(){var e=a.prototype.createEl.call(this,"div"),t="<div class='prism-setting-item prism-setting-{type}' type={type}><div class='setting-content'><span class='setting-title'>{value}</span><span class='array'></span><span class='current-setting'></span></div></div>",i=t.replace(/{type}/g,"speed").replace("{value}",c.get("Speed")),r=t.replace(/{type}/g,"cc").replace("{value}",c.get("Subtitle")),o=t.replace(/{type}/g,"audio").replace("{value}",c.get("AudioTrack")),n=t.replace(/{type}/g,"quality").replace("{value}",c.get("Quality"));return e.innerHTML=i+r+o+n,e},bindEvent:function(){document.querySelector("#"+this.id()+" .prism-setting-speed .current-setting").innerText=c.get("Speed_1X_Text");var o=this,t=function(){o._player.trigger(l.Private.SettingListHide),o.isOpened=!1},i=function(e){e&&e.text&&(document.querySelector("#"+o.id()+" .prism-setting-"+e.type+" .current-setting").innerText=e.text)};this._player.on(l.Private.SettingListShow,function(e){o.isOpened=!0;e=e.paramData;i(e),r.css(o.el(),"display","block")}),this._player.on(l.Private.UpdateToSettingList,function(e){e=e.paramData;i(e)}),this._player.on(l.Private.SelectorUpdateList,function(e){e=e.paramData;i(e),o._player.trigger(l.Private.SelectorValueChange,e)}),this._player.on(l.Private.SettingListHide,function(){o.isOpened=!1,r.css(o.el(),"display","none")}),s.on(this.el(),"click",function(e){o._player.trigger(l.Private.SettingListHide);var t=e.srcElement?e.srcElement:e.target;if(t=u.findItemElementForList(t)){var i=t.getAttribute("type");o._player.trigger(l.Private.SelectorShow,{type:i})}});var e=n.IS_MOBILE?"touchleave":"mouseleave";s.on(this.el(),e,function(){t()}),s.on(this._player.tag,"click",function(e){e&&e.target==e.currentTarget&&t()}),s.on(this._player.tag,"touchstart",function(e){e&&e.target==e.currentTarget&&t()}),this._player.on(l.Private.QualityChange,function(e){var t=e.paramData;if(t.levelSwitch){var i=document.querySelector("#"+o.id()+" .prism-setting-quality .current-setting"),r=c.get("Auto");-1<i.innerText.indexOf(r)&&(i.innerText=r+(t.desc?"("+t.desc+")":""))}})}});t.exports=d},{"../../../lang/index":11,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/ua":31,"../../../player/base/event/eventtype":43,"../../component":94,"./export":112,"./util":116}],114:[function(e,t,i){var r=e("../../component"),o=(e("../../../lib/object"),e("../../../lib/util"),e("../../../lib/ua")),a=(e("../../../lib/cookie"),e("../../../lib/dom")),s=e("../../../lib/event"),l=e("./util"),u=(e("../../../lang/index"),e("../../../player/base/event/eventtype")),n=r.extend({init:function(e,t){this._hasGeneratedList=!1,this._previousSelection=null,this._backupSelector="",r.call(this,e,t),this.className=t.className?t.className:"prism-"+this.Type+"-selector prism-setting-selector",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<div class="header"><div class="left-array"></div><span>'+this.Name+'</span></div><ul class="selector-list"></ul>',e},bindEvent:function(){this.bindCommonEvent()},bindCommonEvent:function(){var n=this,e=document.querySelector("#"+n.id()+" .selector-list"),t=document.querySelector("#"+n.id()+" .header");this._player.on(u.Private.ChangeURL,function(){n._hasGeneratedList=!1}),s.on(t,"click",function(){n._player.trigger(u.Private.SelectorHide),n._player.trigger(u.Private.SettingListShow,{type:n.Type,text:n._previousSelection?n._previousSelection.text:""})}),s.on(e,"click",function(e){var t=e.srcElement?e.srcElement:e.target,i=t.key,r=t.text;if(void 0!==r){n._previousSelection&&a.removeClass(n._previousSelection,"current"),n._previousSelection=l.findliElementForSelector(t),a.addClass(n._previousSelection,"current"),n.execute&&n.execute(i);var o=n.Tooltip+"<span>"+r+"</span>";n._player.trigger(u.Private.Info_Show,{text:o,duration:1e3,align:"lb"})}}),n._player.on(u.Private.SelectorHide,function(){i()}),n._player.on(u.Private.SelectorValueChange,function(e){var t=e.paramData;if(t){if(t.type!=n.Type)return;var i=document.querySelectorAll("#"+n.id()+" .selector-list li");if(i){var r=i.length;0==r&&(n._backupSelector=t.text);for(var o=0;o<r;o++)if(i[o].text==t.text){n._previousSelection&&a.removeClass(n._previousSelection,"current"),a.addClass(i[o],"current"),n._previousSelection=i[o];break}}}}),n._player.on(u.Private.SelectorShow,function(e){if((e=e.paramData).type==n.Type){var t=document.querySelector("#"+n._player.id()+" .prism-"+e.type+"-selector");n._hasGeneratedList||(n._clear(),n.generateList(n._backupSelector),n._backupSelector="",n._hasGeneratedList=!0),a.css(t,"display","block")}});var i=function(){a.css(n.el(),"display","none"),n._player.trigger(u.Private.UpdateToSettingList,{type:n.Type,text:n._previousSelection?n._previousSelection.text:""})},r=o.IS_MOBILE?"touchleave":"mouseleave";s.on(this.el(),r,function(){i()}),s.on(this._player.tag,"click",function(e){e&&e.target==e.currentTarget&&i()}),s.on(this._player.tag,"touchstart",function(e){e&&e.target==e.currentTarget&&i()})},setSelected:function(e){},generateList:function(){},_clear:function(){document.querySelector("#"+this.id()+" .selector-list").innerHTML=""}});t.exports=n},{"../../../lang/index":11,"../../../lib/cookie":16,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/object":26,"../../../lib/ua":31,"../../../lib/util":33,"../../../player/base/event/eventtype":43,"../../component":94,"./util":116}],115:[function(e,t,i){var r=e("./selector"),a=e("../../../lib/object"),s=(e("../../../lib/util"),e("../../../lib/cookie"),e("../../../lib/dom")),l=(e("../../../lib/event"),e("./util"),e("../../../lib/constants")),u=e("../../../lang/index"),o=(e("../../../player/base/event/eventtype"),r.extend({init:function(e,t){this.Name=u.get("Speed"),this.Type="speed",this.Tooltip=u.get("Speed_Switch_To"),r.call(this,e,t)},generateList:function(){var o=document.querySelector("#"+this.id()+" .selector-list"),e=l.SpeedLevels,n=this;a.each(e,function(e,t){var i=s.createEl.call(this,"li",{key:e.key,text:e.text}),r=s.createEl.call(this,"span",{key:e.key,text:e.text});r.innerText=e.text,e.text==u.get("Speed_1X_Text")&&(s.addClass(i,"current"),n._previousSelection=i),i.appendChild(r),o.appendChild(i)})},execute:function(e){this._player.setSpeed(e)}}));t.exports=o},{"../../../lang/index":11,"../../../lib/constants":15,"../../../lib/cookie":16,"../../../lib/dom":18,"../../../lib/event":19,"../../../lib/object":26,"../../../lib/util":33,"../../../player/base/event/eventtype":43,"./selector":114,"./util":116}],116:[function(e,i,t){i.exports.findliElementForSelector=function(e){if(!e||"li"==e.tagName.toLowerCase())return e;var t=e.parentElement;return t&&"li"==t.tagName.toLowerCase()?t:null},i.exports.findliElementByKey=function(e,t){document.querySelectors(e);return null},i.exports.findItemElementForList=function(e){if(!e||-1<e.className.indexOf("prism-setting-item"))return e;var t=e.parentElement;return t&&(e=i.exports.findItemElementForList(t)),e}},{}],117:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),f=e("../../lib/util"),n=e("../../lang/index"),_=e("../../player/base/event/eventtype"),a=e("./util"),s=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-snapshot-btn")},createEl:function(){return r.prototype.createEl.call(this,"div")},bindEvent:function(){var h=this;this._player.on(_.Private.Snapshot_Hide,function(){o.css(h._el,"display","none")}),a.registerTooltipEvent.call(this,this.el(),n.get("Snapshot")),this.on("click",function(){h.trigger(_.Player.Snapshoting);var e=document.createElement("canvas"),t=h._player.tag,i=t.videoWidth,r=t.videoHeight,o=h._player._getSanpshotMatric();e.width=o.width||i,e.height=o.height||r;var n=h._player.getCurrentTime(),a=e.getContext("2d");a.save();var s=h._player.getImage();"vertical"==s?(a.translate(0,e.height),a.scale(1,-1)):"horizon"==s&&(a.translate(e.width,0),a.scale(-1,1)),a.drawImage(t,0,0,i,r),a.restore(),g(a,h._player.getOptions());var l="",u="";try{l=e.toDataURL("image/jpeg",o.rate||1)}catch(e){u=e}var c="",d="",p="";l&&(d=(c=l).substr(c.indexOf(",")+1),p=f.toBinary(d)),h.trigger(_.Player.Snapshoted,{time:n,base64:c,binary:p,error:u})})}}),g=function(e,t){var i=t.snapshotWatermark;i&&i.text&&(e.font=i.font,i.fillColor&&(e.fillStyle=i.fillColor,e.fillText(i.text,i.left,i.top)),i.strokeColor&&(e.strokeStyle=i.strokeColor,e.strokeText(i.text,i.left,i.top)),e.stroke())};t.exports=s},{"../../lang/index":11,"../../lib/dom":18,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94,"./util":121}],118:[function(e,t,i){var r=e("../component"),c=(e("../../lib/util"),e("../../lib/dom")),o=e("../../lib/event"),n=(e("../../lib/ua"),e("../../lang/index"),e("../../player/base/event/eventtype")),a=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-thumbnail",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML="<img></img><span></span>",e},bindEvent:function(){var u=this;o.on(this._el,"mousemove",function(e){e.preventDefault()}),o.on(this._el,"touchmove",function(e){e.preventDefault()}),u._player.on(n.Private.ThumbnailLoaded,function(e){var t=e.paramData;if(t&&0<t.length){var i=u._player._thumbnailService.makeUrl(t[0].text);u._player.log("THUMBNAILSTART",{tu:encodeURIComponent(i)});var r=(new Date).getTime();if(t[0].isBig)c.css(u.el(),"background","url("+i+")"),c.css(u.el(),"width",t[0].w+"px"),c.css(u.el(),"height",t[0].h+"px"),u._player.log("THUMBNAILCOMPLETE",{ftt:(new Date).getTime()-r});else{var o=document.querySelector("#"+u.id()+" img");o.onload=function(){var e=o.width,t=o.height;c.css(u.el(),"width",e+"px"),c.css(u.el(),"height",t+"px"),u._player.log("THUMBNAILCOMPLETE",{ftt:(new Date).getTime()-r})},o.src=i}}}),u._player.on(n.Private.ThumbnailShow,function(l){u._thumbnailShowHanlde&&clearTimeout(u._thumbnailShowHanlde),u._thumbnailShowHanlde=setTimeout(function(){var e=document.querySelector("#"+u.id()+" span"),t=l.paramData;if(e.innerText=t.formatTime,t){var i=u._player._thumbnailService.findAvailableCue(t.time);if(i)if(i.isBig){var r=u._player._thumbnailService.makeUrl(i.text);c.css(u.el(),"background","url("+r+")"),i.w,i.h;var o=-1*i.x+"px "+-1*i.y+"px";c.css(u.el(),"background-position",o)}else{var n=document.querySelector("#"+u.id()+" img");r=u._player._thumbnailService.makeUrl(i.text),n.src!=r&&(n.src=r)}else c.css(u.el(),"border","none"),c.css(e,"left","0px");c.css(u.el(),"display","block");var a=0,s=i?u.el().offsetWidth:e.offsetWidth;a=t.left+s>t.progressWidth?t.left-s:(a=t.left-s/2)<0?0:a,c.css(u.el(),"left",a+"px")}},30)}),u._player.on(n.Private.ThumbnailHide,function(e){u._thumbnailShowHanlde&&clearTimeout(u._thumbnailShowHanlde),c.css(u.el(),"display","none")})},_createSamllThumbnail:function(){},disposeUI:function(){this._thumbnailShowHanlde&&(clearTimeout(this._thumbnailShowHanlde),this._thumbnailShowHanlde=null)}});t.exports=a},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../lib/ua":31,"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],119:[function(e,t,i){var r=e("../component"),o=e("../../lib/util"),n=e("../../player/base/event/eventtype"),a=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-time-display",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="duration">00:00</span>',e},bindEvent:function(){var i=this;this._player.on(n.Video.DurationChange,function(){var e=o.formatTime(i._player.getDisplayDuration());e?(document.querySelector("#"+i.id()+" .time-bound").style.display="inline",document.querySelector("#"+i.id()+" .duration").style.display="inline",document.querySelector("#"+i.id()+" .duration").innerText=e):(document.querySelector("#"+i.id()+" .duration").style.display="none",document.querySelector("#"+i.id()+" .time-bound").style.display="none")}),this._player.on(n.Video.TimeUpdate,function(){var e=i._player.getCurrentTime(),t=o.formatTime(e);document.querySelector("#"+i.id()+" .current-time")&&(t?(document.querySelector("#"+i.id()+" .current-time").style.display="inline",document.querySelector("#"+i.id()+" .current-time").innerText=t):document.querySelector("#"+i.id()+" .current-time").style.display="none")})}});t.exports=a},{"../../lib/util":33,"../../player/base/event/eventtype":43,"../component":94}],120:[function(e,t,i){var r=e("../component"),s=e("../../lib/dom"),o=e("../../player/base/event/eventtype"),n=r.extend({init:function(e,t){r.call(this,e,t),this.className=t.className?t.className:"prism-tooltip",this.addClass(this.className)},createEl:function(){var e=r.prototype.createEl.call(this,"p");return e.innerText="\u63d0\u793a\u4fe1\u606f",e},bindEvent:function(){var a=this;a._player.on(o.Private.TooltipShow,function(e){var t=document.querySelector("#"+a.id()),i=e.paramData;t.innerText=i.text,s.css(t,"display","block");var r=t.offsetWidth,o=document.querySelector("#"+a._player.id()+" .prism-controlbar");if(o){var n=o.offsetWidth;i.left+r>n?s.css(t,"left",n-r+"px"):s.css(t,"left",i.left-(r-i.width)/2+"px")}}),a._player.on(o.Private.TooltipHide,function(e){var t=document.querySelector("#"+a.id());s.css(t,"display","none")})}});t.exports=n},{"../../lib/dom":18,"../../player/base/event/eventtype":43,"../component":94}],121:[function(e,t,i){var r=e("../../lib/event"),s=e("../../player/base/event/eventtype");t.exports.registerTooltipEvent=function(e,o){var n=this,a=function(){n._controlbarTooltipHandler&&(clearTimeout(n._controlbarTooltipHandler),n._controlbarTooltipHandler=null)};r.on(this.el(),"mouseover",function(e){a(),n._controlbarTooltipHandler=setTimeout(function(){n._player.trigger(s.Private.TooltipHide)},4e3);var t=n.el().offsetLeft,i=n.el().offsetWidth,r=o;"function"==typeof r&&(r=o.call(this)),n._player.trigger(s.Private.TooltipShow,{left:t,width:i,text:r})}),r.on(this.el(),"mouseout",function(){a(),n._player.trigger(s.Private.TooltipHide)})},t.exports.throttle=function(i,r){var o=Date.now();return function(){var e=arguments,t=Date.now();r<=t-o&&(i(e),o=t)}}},{"../../lib/event":19,"../../player/base/event/eventtype":43}],122:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),n=e("../../lib/event"),a=e("../../player/base/event/eventtype"),s=e("./util"),l=e("../../lang/index"),u=e("./volumecontrol"),c=r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-volume");var i=new u(e,t);e.addChild(i,t)},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<div class="volume-icon"><div class="short-horizontal"></div><div class="long-horizontal"></div></div>',e},bindEvent:function(){var i=this;this.icon=document.querySelector("#"+i.id()+" .volume-icon"),s.registerTooltipEvent.call(this,this.el(),function(){return i._player.muted()||0==i._player.getVolume()?l.get("Muted"):l.get("Volume")}),n.on(this.icon,"click",function(e){var t=i.el().offsetLeft;i._player.trigger(a.Private.SettingListHide),i._player.trigger(a.Private.SelectorHide),i._player.trigger(a.Private.VolumeVisibilityChange,t),i._player.trigger(a.Private.MarkerTextHide)});var e=document.querySelector("#"+i.id()+" .long-horizontal"),t=document.querySelector("#"+i.id()+" .short-horizontal");n.on(this.el(),"mouseover",function(){o.removeClass(e,"volume-hover-animation"),setTimeout(function(){o.addClass(e,"volume-hover-animation")}),setTimeout(function(){o.removeClass(e,"volume-hover-animation"),o.addClass(t,"volume-hover-animation"),setTimeout(function(){o.removeClass(t,"volume-hover-animation"),o.addClass(e,"volume-hover-animation")},300)},300)})}});t.exports=c},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../player/base/event/eventtype":43,"../component":94,"./util":121,"./volumecontrol":123}],123:[function(e,t,i){var r=e("../component"),o=e("../../lib/dom"),n=e("../../lib/event"),a=e("../../player/base/event/eventtype"),s=(e("./util"),e("../../lang/index"),r.extend({init:function(e,t){r.call(this,e,t),this.addClass(t.className||"prism-volume-control"),this._shown=!1},createEl:function(){var e=r.prototype.createEl.call(this,"div");return e.innerHTML='<div class="volume-range"><div class="volume-value"></div><div class="volume-cursor"></div></div>',e},bindEvent:function(){var r=this;this.icon=document.querySelector("#"+r._player.id()+" .volume-icon"),this.control=document.querySelector("#"+r.id()),this.volumnValue=document.querySelector("#"+r.id()+" .volume-value"),this.volumnRange=document.querySelector("#"+r.id()+" .volume-range"),this.volumnCursor=document.querySelector("#"+r.id()+" .volume-cursor"),this._player.on(a.Private.VolumeVisibilityChange,function(e){var t=e.paramData;if(!r._shown&&t){var i=r._player.getVolume();r._setVolumnUI(i),o.css(r.control,"display","block"),t&&o.css(r.control,"left",t-5+"px"),r._shown=!0}else o.css(r.control,"display","none"),r._shown=!1}),n.on(this.volumnRange,"click",function(e){var t=o.getPointerPosition(r.volumnRange,e).y;t<0||1<t||(t<0&&(t=0),1<t&&(t=1),r._setVolumnUI(t),r._setMuteUI(t),r._player.setVolume(t))}),n.on(this._player.tag,"click",function(e){e&&e.target==e.currentTarget&&o.css(r.control,"display","none")}),n.on(this._player.tag,"touchstart",function(e){e&&e.target==e.currentTarget&&o.css(r.control,"display","none")}),n.on(this.volumnCursor,"mousedown",function(e){r._onMouseDown(e)}),n.on(this.volumnCursor,"touchstart",function(e){r._onMouseDown(e)}),this._player.on(a.Private.VolumnChanged,function(e){var t=e.paramData;-1<t&&r._setVolumnUI(t),r._setMuteUI(t)}),n.on(this.control,"mouseleave",function(){o.css(r.control,"display","none"),r._shown=!1}),n.on(this.control,"mouseover",function(){o.addClass(r.control,"hover")}),r._rangeBottom=r._getBottom()},_getBottom:function(){if(window.getComputedStyle){var e=window.getComputedStyle(this.volumnRange,null).getPropertyValue("bottom");return parseFloat(e)}return 26},_onMouseDown:function(e){var t=this;e.preventDefault(),n.on(this.control,"mousemove",function(e){t._onMouseMove(e)}),n.on(this.control,"touchmove",function(e){t._onMouseMove(e)}),n.on(this._player.tag,"mouseup",function(e){t._onMouseUp(e)}),n.on(this._player.tag,"touchend",function(e){t._onMouseUp(e)}),n.on(this.control,"mouseup",function(e){t._onMouseUp(e)}),n.on(this.control,"touchend",function(e){t._onMouseUp(e)})},_onMouseUp:function(e){if(e.preventDefault(),this._offEvent(),this.volumnRange.offsetHeight){var t=(this.volumnValue.offsetHeight/this.volumnRange.offsetHeight).toFixed(2);this._player.setVolume(t),this._setMuteUI(t)}},_onMouseMove:function(e){e.preventDefault();var t=o.getPointerPosition(this.volumnRange,e).y;t<0||1<t||(t<0&&(t=0),1<t&&(t=1),this._setVolumnUI(t))},_getPosition:function(e){for(var t=this.volumnRange,i=0;t=t.offsetParent;)i+=t.offsetTop;var r=this.volumnRange.offsetHeight,o=this.volumnCursor.offsetHeight,n=e.touches?e.touches[0].pageY:e.pageY;return r<n-i&&(n=e.clientY),(r-(n-i)+o)/(r=this.volumnRange.offsetHeight)},_offEvent:function(){n.off(this._player.tag,"mouseup"),n.off(this._player.tag,"touchend"),n.off(this.control,"mousemove"),n.off(this.control,"touchmove"),n.off(this.control,"mouseup"),n.off(this.control,"touchend")},_setMuteUI:function(e){isNaN(e)||(0==e||-1==e?o.addClass(this.icon,"mute"):o.removeClass(this.icon,"mute"))},_setVolumnUI:function(e){isNaN(e)||(o.css(this.volumnValue,"height",100*e+"%"),1==e&&(e=.99),o.css(this.volumnCursor,"bottom",100*e+"%"))}}));t.exports=s},{"../../lang/index":11,"../../lib/dom":18,"../../lib/event":19,"../../player/base/event/eventtype":43,"../component":94,"./util":121}],124:[function(e,t,i){t.exports={H5Loading:e("./component/h5-loading"),bigPlayButton:e("./component/big-play-button"),controlBar:e("./component/controlbar"),progress:e("./component/progress"),playButton:e("./component/play-button"),liveDisplay:e("./component/live-display"),timeDisplay:e("./component/time-display"),fullScreenButton:e("./component/fullscreen-button"),volume:e("./component/volume"),snapshot:e("./component/snapshot"),errorDisplay:e("./component/error-display"),infoDisplay:e("./component/info-display"),liveShiftProgress:e("../commonui/liveshiftprogress"),liveShiftTimeDisplay:e("../commonui/livetimedisplay"),setting:e("./component/setting/button"),subtitle:e("./component/cc-button"),thumbnail:e("./component/thumbnail"),tooltip:e("./component/tooltip")}},{"../commonui/liveshiftprogress":3,"../commonui/livetimedisplay":4,"./component/big-play-button":95,"./component/cc-button":96,"./component/controlbar":97,"./component/error-display":99,"./component/fullscreen-button":100,"./component/h5-loading":101,"./component/info-display":102,"./component/live-display":103,"./component/play-button":105,"./component/progress":106,"./component/setting/button":110,"./component/snapshot":117,"./component/thumbnail":118,"./component/time-display":119,"./component/tooltip":120,"./component/volume":122}],125:[function(e,t,i){var r,o;r=this,o=function(){var c,i,e,t,r,d,o,n,a,s,l,u,p=p||(c=Math,i=Object.create||function(){function i(){}return function(e){var t;return i.prototype=e,t=new i,i.prototype=null,t}}(),t=(e={}).lib={},r=t.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=t).$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},d=t.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||n).stringify(this)},concat:function(e){var t=this.words,i=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var n=0;n<o;n++){var a=i[n>>>2]>>>24-n%4*8&255;t[r+n>>>2]|=a<<24-(r+n)%4*8}else for(n=0;n<o;n+=4)t[r+n>>>2]=i[n>>>2];return this.sigBytes+=o,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=c.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t,i=[],r=function(t){t=t;var i=987654321,r=4294967295;return function(){var e=((i=36969*(65535&i)+(i>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return e/=4294967296,(e+=.5)*(.5<c.random()?1:-1)}},o=0;o<e;o+=4){var n=r(4294967296*(t||c.random()));t=987654071*n(),i.push(4294967296*n()|0)}return new d.init(i,e)}}),o=e.enc={},n=o.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],o=0;o<i;o++){var n=t[o>>>2]>>>24-o%4*8&255;r.push((n>>>4).toString(16)),r.push((15&n).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r<t;r+=2)i[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new d.init(i,t/2)}},a=o.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],o=0;o<i;o++){var n=t[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(n))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r<t;r++)i[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new d.init(i,t)}},s=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(a.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return a.parse(unescape(encodeURIComponent(e)))}},l=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=s.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,i=t.words,r=t.sigBytes,o=this.blockSize,n=r/(4*o),a=(n=e?c.ceil(n):c.max((0|n)-this._minBufferSize,0))*o,s=c.min(4*a,r);if(a){for(var l=0;l<a;l+=o)this._doProcessBlock(i,l);var u=i.splice(0,a);t.sigBytes-=s}return new d.init(u,s)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),t.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(i){return function(e,t){return new i.init(t).finalize(e)}},_createHmacHelper:function(i){return function(e,t){return new u.HMAC.init(i,t).finalize(e)}}}),u=e.algo={},e);return p},"object"==typeof i?t.exports=i=o():"function"==typeof define&&define.amd?define([],o):r.CryptoJS=o()},{}],126:[function(e,t,i){var r,o;r=this,o=function(e){var t,l;return l=(t=e).lib.WordArray,t.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,r=this._map;e.clamp();for(var o=[],n=0;n<i;n+=3)for(var a=(t[n>>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,s=0;s<4&&n+.75*s<i;s++)o.push(r.charAt(a>>>6*(3-s)&63));var l=r.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e){var t=e.length,i=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var o=0;o<i.length;o++)r[i.charCodeAt(o)]=o}var n=i.charAt(64);if(n){var a=e.indexOf(n);-1!==a&&(t=a)}return function(e,t,i){for(var r=[],o=0,n=0;n<t;n++)if(n%4){var a=i[e.charCodeAt(n-1)]<<n%4*2,s=i[e.charCodeAt(n)]>>>6-n%4*2;r[o>>>2]|=(a|s)<<24-o%4*8,o++}return l.create(r,o)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},e.enc.Base64},"object"==typeof i?t.exports=i=o(e("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(r.CryptoJS)},{"./core":125}],127:[function(e,t,i){var r,o;r=this,o=function(e){return e.enc.Utf8},"object"==typeof i?t.exports=i=o(e("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(r.CryptoJS)},{"./core":125}],128:[function(e,t,i){var r,o;r=this,o=function(e){return e.HmacSHA1},"object"==typeof i?t.exports=i=o(e("./core"),e("./sha1"),e("./hmac")):"function"==typeof define&&define.amd?define(["./core","./sha1","./hmac"],o):o(r.CryptoJS)},{"./core":125,"./hmac":129,"./sha1":130}],129:[function(e,t,i){var r,o;r=this,o=function(e){var t,i,u;i=(t=e).lib.Base,u=t.enc.Utf8,t.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=u.parse(t));var i=e.blockSize,r=4*i;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),n=this._iKey=t.clone(),a=o.words,s=n.words,l=0;l<i;l++)a[l]^=1549556828,s[l]^=909522486;o.sigBytes=n.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,i=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(i))}})},"object"==typeof i?t.exports=i=o(e("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(r.CryptoJS)},{"./core":125}],130:[function(e,t,i){var r,o;r=this,o=function(e){var t,i,r,o,n,d,a;return i=(t=e).lib,r=i.WordArray,o=i.Hasher,n=t.algo,d=[],a=n.SHA1=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],o=i[1],n=i[2],a=i[3],s=i[4],l=0;l<80;l++){if(l<16)d[l]=0|e[t+l];else{var u=d[l-3]^d[l-8]^d[l-14]^d[l-16];d[l]=u<<1|u>>>31}var c=(r<<5|r>>>27)+s+d[l];c+=l<20?1518500249+(o&n|~o&a):l<40?1859775393+(o^n^a):l<60?(o&n|o&a|n&a)-1894007588:(o^n^a)-899497514,s=a,a=n,n=o<<30|o>>>2,o=r,r=c}i[0]=i[0]+r|0,i[1]=i[1]+o|0,i[2]=i[2]+n|0,i[3]=i[3]+a|0,i[4]=i[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(64+r>>>9<<4)]=Math.floor(i/4294967296),t[15+(64+r>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA1=o._createHelper(a),t.HmacSHA1=o._createHmacHelper(a),e.SHA1},"object"==typeof i?t.exports=i=o(e("./core")):"function"==typeof define&&define.amd?define(["./core"],o):o(r.CryptoJS)},{"./core":125}]},{},[6]); \ No newline at end of file diff --git a/src/plugins/auth/index.js b/src/plugins/auth/index.js new file mode 100644 index 0000000..7e14fb0 --- /dev/null +++ b/src/plugins/auth/index.js @@ -0,0 +1,25 @@ +/** + * @description 鉴权指令 + * 当传入的权限当前用户没有时,会移除该组件 + * 用例:<Tag v-auth>text</Tag> 或者:<Tag v-auth="'user:编辑'">text</Tag> + * */ +import store from '@/store' + +export default { + inserted (el, binding, vnode) { + let btnText = '' + if(binding.value){ + btnText = binding.value + }else{ + btnText = `${vnode.context.$route.path}:${el.innerText}` + } + const btnPermissions = store.state.auth.btns + + if (btnText && btnPermissions && btnPermissions.length) { + const isPermission = btnPermissions.includes(btnText) + if (!isPermission) { + el.parentNode && el.parentNode.removeChild(el) + } + } + } +} diff --git a/src/plugins/filters/index.js b/src/plugins/filters/index.js new file mode 100644 index 0000000..4eb253f --- /dev/null +++ b/src/plugins/filters/index.js @@ -0,0 +1,12 @@ +/** + * @description 返回缺省值 + * 传入的如果是null,就返回'--' + * 用例:<Tag :default="val">text</Tag> 或者:<Tag>{{val | default}}</Tag> + * */ +const defaultShow = (val) => { + return val == null ? '--' : val +} + +module.exports = { + defaultShow +} \ No newline at end of file diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 0000000..c81b9a1 --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,14 @@ +/** + * 插件 + * */ + +import directiveAuth from '@/plugins/auth'; +import throttle from '@/plugins/throttle'; + +export default { + async install (Vue, options) { + // 指令 + Vue.directive('auth', directiveAuth); + Vue.directive('throttle', throttle); + } +} \ No newline at end of file diff --git a/src/plugins/requests/index.js b/src/plugins/requests/index.js new file mode 100644 index 0000000..ff509cc --- /dev/null +++ b/src/plugins/requests/index.js @@ -0,0 +1,141 @@ +import axios from 'axios' +import util from '@/libs/util' +import router from '@/router/index' +import Setting from '@/setting' + +const service = axios.create({ + baseURL: Setting.apiBaseURL, + timeout: 10000000 +}) + +// post请求头 +service.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8' + +// 请求拦截器 +service.interceptors.request.use(config => { + util.getToken() + let token = util.local.get(Setting.tokenKey) + if(token) config.headers.token = token + return config +},err => { + util.errorMsg({ + message: '退出登陆', + onClose: function () { + router.push({name: '/login'}) + } + }) + return Promise.reject(err) +}) + +// 响应拦截器 +service.interceptors.response.use( + response => { + const res = response.data + if(res.status == 200 || res.status == 10000) { + return Promise.resolve(res).catch(e => {}) + }else if(!res.status){ + return Promise.resolve(res).catch(e => {}) + }else { + util.errorMsg(res.errmessage) + return Promise.reject(res) + } + }, + // 服务器状态码不是200的情况 + error => { + if (error.response.status) { + switch (error.response.status) { + // 401: 未登录 + // 未登录则跳转登录页面,并携带当前页面的路径 + // 在登录成功后返回当前页面,这一步需要在登录页操作。 + case 401: + util.local.remove(Setting.storeKey) + util.local.remove(Setting.tokenKey) + util.errorMsg('登录过期,请重新登录') + setTimeout(() => { + router.replace({ + path: '/login', + query: { + redirect: router.currentRoute.fullPath + } + }) + }, 1000) + break + case 500: + util.errorMsg('网络错误') + break + // 403 token过期 + // 登录过期对用户进行提示 + // 清除本地token和清空vuex中token对象 + // 跳转登录页面 + case 403: + util.local.remove(Setting.storeKey) + util.local.remove(Setting.tokenKey) + util.errorMsg('登录过期,请重新登录') + // 清除token + // store.commit('loginSuccess', null); + // 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面 + setTimeout(() => { + router.replace({ + path: '/login', + query: { + redirect: router.currentRoute.fullPath + } + }) + }, 1000) + break + // 404请求不存在 + case 404: + util.errorMsg('网络请求不存在!') + break + // 其他错误,直接抛出错误提示 + default: + util.errorMsg(error.response.data.message) + Promise.reject(res) + } + return Promise.reject(error.response) + } + } +); + +function get(url, params){ + return new Promise((resolve, reject) =>{ + service.get(url, {params: params}).then(res => { + resolve(res) + }).catch(err => { + reject(err) + }) + }) +} + +function post(url, params){ + return new Promise((resolve, reject) =>{ + service.post(url,params).then(res => { + resolve(res) + }).catch(err => { + reject(err.data) + }) + }) +} + +function del(url, params){ + return new Promise((resolve, reject) =>{ + service.delete(url, { + params + }).then(res => { + resolve(res) + }).catch(err => { + reject(err.data) + }) + }) +} + +function put(url, params){ + return new Promise((resolve, reject) =>{ + service.put(url, params).then(res => { + resolve(res) + }).catch(err => { + reject(err.data) + }) + }) +} +export { get,post,del,put } \ No newline at end of file diff --git a/src/plugins/throttle/index.js b/src/plugins/throttle/index.js new file mode 100644 index 0000000..7f286b3 --- /dev/null +++ b/src/plugins/throttle/index.js @@ -0,0 +1,18 @@ +/** + * @description 节流指令 + * 限制连续快速点击按钮 + * 用例:<Tag v-throttle>text</Tag> + * */ + +export default{ + inserted (el, binding, vnode) { + el.addEventListener('click', () => { + if (!el.disabled) { + el.disabled = true + setTimeout(() => { + el.disabled = false + }, binding.value || 1000) + } + }) + } +} \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..6601291 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +import Router from 'vue-router' +import routes from './routes' +import Setting from '@/setting' + +Vue.use(Router) + +const createRouter = () => new Router({ + mode: Setting.routerMode, + base: process.env.BASE_URL, + scrollBehavior: () => ({ y: 0 }), + routes +}) + +export function resetRouter () { + const newRouter = createRouter() + router.matcher = newRouter.matcher +} + +let router = createRouter() + +export default router \ No newline at end of file diff --git a/src/router/modules/ass.js b/src/router/modules/ass.js new file mode 100644 index 0000000..d7ea696 --- /dev/null +++ b/src/router/modules/ass.js @@ -0,0 +1,23 @@ +import BasicLayout from '@/layouts/home' + +const meta = {} + +const pre = 'ass-' + +export default { + path: '/ass', + name: 'ass', + redirect: { + name: `${pre}list` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}list`, + path: `list`, + component: () => import('@/pages/ass/list'), + meta: { title: '考核列表' } + }, + ] +}; \ No newline at end of file diff --git a/src/router/modules/index.js b/src/router/modules/index.js new file mode 100644 index 0000000..ec9fd1d --- /dev/null +++ b/src/router/modules/index.js @@ -0,0 +1,23 @@ +import BasicLayout from '@/layouts/home'; + +const meta = {}; + +const pre = 'index-'; + +export default { + path: '/index', + name: 'index', + redirect: { + name: `${pre}list` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}list`, + path: `list`, + component: () => import('@/pages/index/list'), + meta: { title: '首页' } + }, + ] +}; diff --git a/src/router/modules/preview.js b/src/router/modules/preview.js new file mode 100644 index 0000000..7fcaf35 --- /dev/null +++ b/src/router/modules/preview.js @@ -0,0 +1,23 @@ +import BasicLayout from '@/layouts/home' + +const meta = {} + +const pre = 'preview-' + +export default { + path: '/preview', + name: 'preview', + redirect: { + name: `${pre}list` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}list`, + path: `list`, + component: () => import('@/pages/preview/list'), + meta: { title: '课前预习' } + }, + ] +}; \ No newline at end of file diff --git a/src/router/modules/record.js b/src/router/modules/record.js new file mode 100644 index 0000000..e33367b --- /dev/null +++ b/src/router/modules/record.js @@ -0,0 +1,28 @@ +import BasicLayout from '@/layouts/home' + +const meta = {} + +const pre = 'record-' + +export default { + path: '/record', + name: 'record', + redirect: { + name: `${pre}list` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}list`, + path: `list`, + component: () => import('@/pages/record/list'), + meta: { title: '实验记录' } + },{ + name: `${pre}show`, + path: `show`, + component: () => import('@/pages/record/show'), + meta: { title: '查看报告' } + }, + ] +}; \ No newline at end of file diff --git a/src/router/modules/setting.js b/src/router/modules/setting.js new file mode 100644 index 0000000..2559db6 --- /dev/null +++ b/src/router/modules/setting.js @@ -0,0 +1,23 @@ +import BasicLayout from '@/layouts/home' + +const meta = {} + +const pre = 'setting-' + +export default { + path: '/setting', + name: 'setting', + redirect: { + name: `${pre}person` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}person`, + path: `person`, + component: () => import('@/pages/setting/person'), + meta: { title: '个人中心' } + }, + ] +}; \ No newline at end of file diff --git a/src/router/modules/station.js b/src/router/modules/station.js new file mode 100644 index 0000000..b8d4bbb --- /dev/null +++ b/src/router/modules/station.js @@ -0,0 +1,23 @@ +import BasicLayout from '@/layouts/home' + +const meta = {} + +const pre = 'station-' + +export default { + path: '/station', + name: 'station', + redirect: { + name: `${pre}list` + }, + meta, + component: BasicLayout, + children: [ + { + name: `${pre}list`, + path: `list`, + component: () => import('@/pages/station/list'), + meta: { title: '实验台' } + }, + ] +}; \ No newline at end of file diff --git a/src/router/permission.js b/src/router/permission.js new file mode 100644 index 0000000..e90d86e --- /dev/null +++ b/src/router/permission.js @@ -0,0 +1,27 @@ +import router from './index' +import Setting from '@/setting' +import util from '@/libs/util' + +router.beforeEach((to, from, next) => { + document.title = Setting.titleSuffix + const role = util.local.get(Setting.tokenKey) + if (!role && to.path !== '/login') { + next('/login') + } else if(role && to.path == '/login') { + next('/index') + } else { + let mg = from.query.mg + if(mg){ + if(!to.query.mg){ + next({ + path: to.path, + query: {mg} + }) + }else{ + next() + } + }else{ + next() + } + } +}); \ No newline at end of file diff --git a/src/router/routes.js b/src/router/routes.js new file mode 100644 index 0000000..94e940e --- /dev/null +++ b/src/router/routes.js @@ -0,0 +1,80 @@ +import index from './modules/index' +import preview from './modules/preview' +import station from './modules/station' +import ass from './modules/ass' +import record from './modules/record' +import setting from './modules/setting' + +import BasicLayout from '@/layouts/home' + +const frameIn = [ + { + path: '/', + redirect: '/login', + }, + { + path: '/index', + redirect: '/preview', + }, + { + path: '/', + component: () => BasicLayout, + meta: { title: '首页' }, + children: [] + }, + index, + preview, + station, + ass, + record, + setting +] + +/** + * 在主框架之外显示 + */ + +const frameOut = [ + // 登录 + { + path: '/login', + name: 'login', + meta: { + title: '登录' + }, + component: () => import('@/pages/account/login') + } +]; + +/** + * 错误页面 + */ + +const errorPage = [ + { + path: '/403', + name: '403', + meta: { + title: '403' + }, + component: () => import('@/pages/exception/error/403') + }, + { + path: '*', + name: '404', + meta: { + title: '404' + }, + component: () => import('@/pages/exception/error/404') + } +]; + +// 导出需要显示菜单的 +export const frameInRoutes = frameIn; + +// 重新组织后导出 +export default [ + ...frameIn, + ...frameOut, + ...errorPage +]; \ No newline at end of file diff --git a/src/setting.env.js b/src/setting.env.js new file mode 100644 index 0000000..d41b26b --- /dev/null +++ b/src/setting.env.js @@ -0,0 +1,21 @@ +/** + * 开发配置 + * */ + +const env = process.env.NODE_ENV; + +const Setting = { + // 是否使用 Mock 的数据,默认 开发环境为 true,生产环境为 false + isMock: true, + // 部署应用包时的基本 URL + publicPath: env === 'development' ? './' : '', + // 生产环境构建文件的目录名 + outputDir: 'dist', + // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。 + assetsDir: 'static', + // 开发环境每次保存时 lint 代码,会将 lint 错误输出为编译警告 + // true || false || error + lintOnSave: true, +}; + +module.exports = Setting; diff --git a/src/setting.js b/src/setting.js new file mode 100644 index 0000000..8d3332a --- /dev/null +++ b/src/setting.js @@ -0,0 +1,148 @@ +/** + * 业务配置 + * */ + +const isDev = process.env.NODE_ENV === 'development' +const url = location.host +const isHh = location.host.includes('10.196.131.73') //是否是河海版本 +const isBeta = process.env.NODE_ENV === 'development' || location.host.includes('liuwanr.cn') //是否是职站测试 + +const Setting = { + /** + * 基础配置 + * */ + // 网页标题的后缀 + titleSuffix: isHh ? '学生端' : '职站', + // 路由模式,可选值为 history 或 hash + routerMode: 'hash', + // 页面切换时,是否显示模拟的进度条 + showProgressBar: true, + // 接口请求地址 + apiBaseURL: (isDev || url.includes('liuwanr.cn')) ? 'http://www.liuwanr.cn/' : (url.includes('10.196.131.73') ? 'http://10.196.131.73/' : 'http://www.occupationlab.com/'), + // 是否是河海版本 + isHh, + // 学校id,河海为729,职站为2105 + schoolId: isHh ? 729 : 2105, + // 默认系统id + systemId: 1, + // 子系统列表.改的时候留意要改的是哪个环境,别影响到了其他环境 + systemList: isHh ? [{ + id: 1, + label: 'Python程序设计教学系统' + },{ + id: 4, + label: '经济金融建模实验教学系统' + },{ + id: 6, + label: '金融随机过程实验教学系统' + },{ + id: 7, + label: '量化投资策略建模实验教学系统' + },{ + id: 8, + label: '大数据分析实验教学系统' + }] : (isBeta ? [{ + id: 1, + label: 'Python程序设计教学系统' + } + // 下面这两个是川大和科大子系统,目前没有在职站开启,只有在科大川大才会开放对应的子系统 + // ,{ + // id: 2, + // label: '跨国仿真系统' + // },{ + // id: 3, + // label: '期权期货系统' + // } + ,{ + id: 4, + label: '经济金融建模实验教学系统' + },{ + id: 5, + label: 'Python可视化实验教学系统' + },{ + id: 6, + label: '金融随机过程实验教学系统' + },{ + id: 7, + label: '量化投资策略建模实验教学系统' + },{ + id: 8, + label: '大数据分析实验教学系统' + },{ + id: 9, + label: 'Python数据清洗教学实验系统' + },{ + id: 10, + label: 'Python数据采集(爬虫)教学实验系统' + }] : [{ + id: 1, + label: 'Python程序设计教学系统' + },{ + id: 4, + label: '经济金融建模实验教学系统' + },{ + id: 5, + label: 'Python可视化实验教学系统' + },{ + id: 6, + label: '金融随机过程实验教学系统' + },{ + id: 7, + label: '量化投资策略建模实验教学系统' + },{ + id: 8, + label: '大数据分析实验教学系统' + },{ + id: 9, + label: 'Python数据清洗教学实验系统' + },{ + id: 10, + label: 'Python数据采集(爬虫)教学实验系统' + }]), + // 长时间未操作,自动退出登录时间 + autoLogoutTime: 3600000, + // 接口请求返回错误时,弹窗的持续时间,单位:秒 + modalDuration: 3, + // 接口请求返回错误时,弹窗的类型,可选值为 Message 或 Notice + errorModalType: 'Message', + // Cookies 默认保存时间,单位:天 + cookiesExpires: 1, + // token在localStorage的时间(毫秒) + tokenExpires: 1296000000, + /** + * 免登录保存的token的key + */ + tokenKey: 'oc_client_token', + /** + * sessionStorage里state的key + */ + storeKey: 'oc_client_store', + /** + * 默认密码 + */ + initialPassword: '111aaa', + /** + * 多语言配置 + * */ + i18n: { + // 默认语言 + default: 'zh', + // 是否根据用户电脑配置自动设置语言(仅第一次有效) + auto: false + }, + /** + * 布局配置 + * */ + layout: { + + }, + /** + * 功能配置 + * */ + // 相同路由,不同参数间进行切换,是否强力更新 + sameRouteForceUpdate: false, + // 是否使用动态路由 + dynamicRoute: false, +}; + +export default Setting; diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..9afd359 --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,4 @@ +const getters = { + +} +export default getters \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..5371a5c --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,25 @@ +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({ + modules, + getters +}) + +export default store \ No newline at end of file diff --git a/src/store/modules/layout.js b/src/store/modules/layout.js new file mode 100644 index 0000000..535ebc4 --- /dev/null +++ b/src/store/modules/layout.js @@ -0,0 +1,24 @@ +/** + * 布局管理 + * */ + + // 是否IE +function isIE() { + if (!!window.ActiveXObject || "ActiveXObject" in window) return true + return false +} + +export default { + namespaced: true, + state: { + isIE: isIE() + }, + mutations: { + SET_IE: (state, val) => { + state.isIE = val + }, + }, + actions: { + + } +} \ No newline at end of file diff --git a/src/store/modules/project.js b/src/store/modules/project.js new file mode 100644 index 0000000..0374181 --- /dev/null +++ b/src/store/modules/project.js @@ -0,0 +1,26 @@ +/** + * 项目、系统相关 + * */ + export default { + namespaced: true, + state: { + lastSystemId: 1, + lastRecordType: 'practice' + }, + mutations: { + SET_SYSTEM_ID: (state, systemId) => { + state.lastSystemId = systemId + }, + SET_RECORD: (state, type) => { + state.lastRecordType = type + }, + }, + actions: { + setSystemId({ state,commit },systemId) { + commit('SET_SYSTEM_ID',systemId) + }, + setRecord({ state,commit },type) { + commit('SET_RECORD',type) + }, + } +} \ No newline at end of file diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..a7f5f6a --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,82 @@ + +import Setting from '@/setting' +import util from '@/libs/util' +import {post,get,del,put} from '@/plugins/requests/index.js' +import api from '@/api' +import addRoutes from '@/libs/route/addRoutes' + +/** + * 用户信息 + * */ +export default { + namespaced: true, + state: { + avatar: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png', + userId: '', + studentId: '', + userName: '', + schoolId: '', + roleId: '', + dataTime: '' + }, + mutations: { + SET_INFO: (state, info) => { + if(info.avatar) state.avatar = info.avatar + state.userId = info.userId + state.studentId = info.studentId + state.schoolId = info.schoolId + state.userName = info.userName + state.roleId = info.roleId + state.dataTime = info.dataTime + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + }, + SET_USERNAME: (state, userName) => { + state.userName = userName + }, + }, + actions: { + login({ state,commit }, userInfo) { + const { account, password, source } = userInfo + return new Promise((resolve, reject) => { + get(api.logins,{ + account, + password, + source, + }).then(res => { + if(res.status == 200){ + let data = res.message.retvalue + res.message.listValue && Setting.dynamicRoute && addRoutes(res.message.listValue) + util.local.set(Setting.tokenKey,data.token,Setting.tokenExpires) + util.successMsg('登录成功') + commit('SET_INFO',data) + resolve() + }else{ + util.errorMsg(res.errmessage) + reject(res) + } + }).catch(error => { + reject(error) + }) + }) + }, + logout({ commit, state, dispatch }) { + return new Promise((resolve, reject) => { + util.local.remove(Setting.storeKey) + util.local.remove(Setting.tokenKey) + location.reload() + resolve() + }) + }, + setAvatar({ state,commit },avatar) { + commit('SET_AVATAR',avatar) + }, + setInfo({ state,commit },info) { + commit('SET_INFO',info) + }, + setUserName({ state,commit },userName) { + commit('SET_USERNAME',userName) + }, + } +} \ No newline at end of file diff --git a/src/styles/common.scss b/src/styles/common.scss new file mode 100644 index 0000000..0272d6d --- /dev/null +++ b/src/styles/common.scss @@ -0,0 +1,248 @@ +@import "./default/index.scss"; + +@font-face{ + font-family: youshe; + src: url('font/YouSheBiaoTiHei.ttf'); +} + +[v-cloak] { + display: none; +} + +.flex-between{ + display: flex; + justify-content: space-between; + align-items: center; +} + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-thumb { + width: 5px; + border-radius: 6px; + background: rgba(142,123,253,.75); +} + +.p-title{ + padding-left: 5px; + margin-bottom: 24px; + line-height: 1; + font-size: 14px; + color: #585858; + border-left: 3px solid $--color-primary; +} + +.el-input{ + .el-input__inner{ + border-color: rgba(0, 0, 0, 0.15); + } +} + +.filter{ + display: inline-flex; + align-items: center; + flex: 1; + li{ + display: inline-flex; + align-items: center; + margin-right: 30px; + label{ + margin-right: 10px; + font-size: 14px; + line-height: 14px; + color: rgba(0,0,0,.65); + white-space: nowrap; + } + .el-radio{ + margin-right: 10px!important; + .el-radio__input{ + display: none!important; + } + } + } +} +.page{ + position: relative; + padding: 24px; + background-color: #fff; + border-radius: 8px; + .tool{ + display: flex; + justify-content: space-between; + margin-bottom: 24px; + + .single-choice{ + dl { + display: flex; + line-height: 30px; + dt { + color: rgba(0,0,0,.65); + font-size: 14px; + white-space: nowrap; + } + dd { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + span { + padding: 0 10px; + margin: 0 10px; + color: #333; + font-size: 14px; + line-height: 1.8; + white-space: nowrap; + + cursor: pointer; + &:hover { + color: $--color-primary; + } + &.active { + border-radius: 4px; + color: #fff; + background-color: $--color-primary; + } + } + } + } + } + } +} + +.pagination { + margin: 20px 0; + text-align: center; + button,.number{ + color: rgba(0,0,0,.65) !important; + background-color: transparent !important; + border: 1px solid rgba(0, 0, 0, 0.15) !important; + border-radius: 4px !important; + } + button i{ + color: #333; + } + .active{ + color: #fff !important; + background-color: $--color-primary !important; + } +} + +.el-table{ + border-radius: 8px; + border: 1px solid rgba(0, 0, 0, 0.06); + border-bottom: 0; + th{ + background: $--color-primary !important; + .cell{ + color: #fff; + font-size: 14px; + font-weight: normal; + .el-checkbox{ + &:before{ + opacity: 1; + } + } + } + } +} + +.el-message{ + padding: 11px 20px; + .el-message__icon{ + font-size: 16px; + } + .el-message__content{ + font-size: 14px; + color: rgba(0, 0, 0, 0.65); + } + .el-icon-close{ + font-size: 14px; + color: #92998d; + } + .el-message--success{ + border: 1px solid #B7EB8F; + background: #F6FFED; + .el-message__icon{ + color: #00c700; + } + } + .el-message--warning{ + border: 1px solid #FFE58F; + background: #FFFBE6; + .el-message__icon{ + color: #ffa900; + } + } +} + +.el-message-box{ + padding-bottom: 24px; + .el-message-box__header{ + padding: 32px 32px 12px 50px; + span{ + font-size: 16px; + color: rgba(0, 0, 0, 0.85); + font-weight: 500; + } + } + .el-message-box__status{ + top: -30px; + } + .el-message-box__status + .el-message-box__message{ + font-size: 14px; + color: rgba(0, 0, 0, 0.65); + } + .el-message-box__btns{ + padding-right: 32px; + &.el-icon-warning{ + color: #ffa900; + } + } + &:not(.normal){ + .el-button--primary{ + color: #606266; + background: #fff; + border-color: #DCDFE6; + &:hover{ + color: $--color-primary; + border-color: #efbdbb; + background-color: #fae9e8; + } + } + } +} + +.el-dialog__wrapper{ + .el-dialog{ + border-radius: 4px; + .el-dialog__header{ + border-bottom: 1px solid rgba(0, 0, 0, 0.06); + .el-dialog__title{ + font-size: 16px; + color: rgba(0, 0, 0, 0.85); + } + } + .el-dialog__footer{ + padding: 10px 16px; + border-top: 1px solid rgba(0, 0, 0, 0.06); + .el-button{ + font-size: 14px; + border-radius: 4px; + border-color: rgba(0, 0, 0, 0.15); + } + } + } +} + +.el-tooltip__popper{ + width: 300px; +} + +@media(max-width: 1600px){ + .el-table{ + .el-switch__label--right.is-active{ + left: 8px; + } + } +} \ No newline at end of file diff --git a/src/styles/default/index.scss b/src/styles/default/index.scss new file mode 100644 index 0000000..4419db2 --- /dev/null +++ b/src/styles/default/index.scss @@ -0,0 +1,7 @@ +/* 改变主题色变量 */ + +$--color-primary: #9076FF; + +/* 改变 icon 字体路径变量,必需 */ +$--font-path: '~element-ui/lib/theme-chalk/fonts'; +@import "~element-ui/packages/theme-chalk/src/index"; \ No newline at end of file diff --git a/src/styles/font/YouSheBiaoTiHei.ttf b/src/styles/font/YouSheBiaoTiHei.ttf new file mode 100644 index 0000000..3729151 Binary files /dev/null and b/src/styles/font/YouSheBiaoTiHei.ttf differ diff --git a/src/styles/font/icon/demo.css b/src/styles/font/icon/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/styles/font/icon/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/styles/font/icon/demo_index.html b/src/styles/font/icon/demo_index.html new file mode 100644 index 0000000..f13c801 --- /dev/null +++ b/src/styles/font/icon/demo_index.html @@ -0,0 +1,446 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"/> + <title>IconFont Demo</title> + <link rel="shortcut icon" href="https://img.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/> + <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css"> + <link rel="stylesheet" href="demo.css"> + <link rel="stylesheet" href="iconfont.css"> + <script src="iconfont.js"></script> + <!-- jQuery --> + <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script> + <!-- 代码高亮 --> + <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script> +</head> +<body> + <div class="main"> + <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank"></a></h1> + <div class="nav-tabs"> + <ul id="tabs" class="dib-box"> + <li class="dib active"><span>Unicode</span></li> + <li class="dib"><span>Font class</span></li> + <li class="dib"><span>Symbol</span></li> + </ul> + + <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=1540265" target="_blank" class="nav-more">查看项目</a> + + </div> + <div class="tab-container"> + <div class="content unicode" style="display: block;"> + <ul class="icon_lists dib-box"> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">已勾选32</div> + <div class="code-name">&#xe63d;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">未勾选32</div> + <div class="code-name">&#xe63e;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">未勾选40</div> + <div class="code-name">&#xe64a;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">已勾选40</div> + <div class="code-name">&#xe64b;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">实 向右箭头-01</div> + <div class="code-name">&#xe626;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">实 向下箭头-01</div> + <div class="code-name">&#xe625;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">加号-填充</div> + <div class="code-name">&#xe72d;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">42指向上、上箭头</div> + <div class="code-name">&#xe769;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">44指向下、下箭头</div> + <div class="code-name">&#xe76b;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">群蜂删除-充</div> + <div class="code-name">&#xe6e9;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">qq</div> + <div class="code-name">&#xe614;</div> + </li> + + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">微信-36</div> + <div class="code-name">&#xe68a;</div> + </li> + + </ul> + <div class="article markdown"> + <h2 id="unicode-">Unicode 引用</h2> + <hr> + + <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p> + <ul> + <li>兼容性最好,支持 IE6+,及所有现代浏览器。</li> + <li>支持按字体的方式去动态调整图标大小,颜色等等。</li> + <li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li> + </ul> + <blockquote> + <p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式</p> + </blockquote> + <p>Unicode 使用步骤如下:</p> + <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3> +<pre><code class="language-css" +>@font-face { + font-family: 'iconfont'; + src: url('iconfont.eot'); + src: url('iconfont.eot?#iefix') format('embedded-opentype'), + url('iconfont.woff2') format('woff2'), + url('iconfont.woff') format('woff'), + url('iconfont.ttf') format('truetype'), + url('iconfont.svg#iconfont') format('svg'); +} +</code></pre> + <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> +<pre><code class="language-css" +>.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +</code></pre> + <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3> +<pre> +<code class="language-html" +><span class="iconfont">&#x33;</span> +</code></pre> + <blockquote> + <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p> + </blockquote> + </div> + </div> + <div class="content font-class"> + <ul class="icon_lists dib-box"> + + <li class="dib"> + <span class="icon iconfont icon-yigouxuan"></span> + <div class="name"> + 已勾选32 + </div> + <div class="code-name">.icon-yigouxuan + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-weigouxuan"></span> + <div class="name"> + 未勾选32 + </div> + <div class="code-name">.icon-weigouxuan + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-weigouxuan1"></span> + <div class="name"> + 未勾选40 + </div> + <div class="code-name">.icon-weigouxuan1 + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-yigouxuan1"></span> + <div class="name"> + 已勾选40 + </div> + <div class="code-name">.icon-yigouxuan1 + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-shixiangyoujiantou-"></span> + <div class="name"> + 实 向右箭头-01 + </div> + <div class="code-name">.icon-shixiangyoujiantou- + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-shixiangxiajiantou-"></span> + <div class="name"> + 实 向下箭头-01 + </div> + <div class="code-name">.icon-shixiangxiajiantou- + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-jiahao"></span> + <div class="name"> + 加号-填充 + </div> + <div class="code-name">.icon-jiahao + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-up"></span> + <div class="name"> + 42指向上、上箭头 + </div> + <div class="code-name">.icon-up + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-down"></span> + <div class="name"> + 44指向下、下箭头 + </div> + <div class="code-name">.icon-down + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-delete"></span> + <div class="name"> + 群蜂删除-充 + </div> + <div class="code-name">.icon-delete + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-qq"></span> + <div class="name"> + qq + </div> + <div class="code-name">.icon-qq + </div> + </li> + + <li class="dib"> + <span class="icon iconfont icon-weixin"></span> + <div class="name"> + 微信-36 + </div> + <div class="code-name">.icon-weixin + </div> + </li> + + </ul> + <div class="article markdown"> + <h2 id="font-class-">font-class 引用</h2> + <hr> + + <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p> + <p>与 Unicode 使用方式相比,具有如下特点:</p> + <ul> + <li>兼容性良好,支持 IE8+,及所有现代浏览器。</li> + <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li> + <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li> + <li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li> + </ul> + <p>使用步骤如下:</p> + <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3> +<pre><code class="language-html"><link rel="stylesheet" href="./iconfont.css"> +</code></pre> + <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3> +<pre><code class="language-html"><span class="iconfont icon-xxx"></span> +</code></pre> + <blockquote> + <p>" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p> + </blockquote> + </div> + </div> + <div class="content symbol"> + <ul class="icon_lists dib-box"> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-yigouxuan"></use> + </svg> + <div class="name">已勾选32</div> + <div class="code-name">#icon-yigouxuan</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-weigouxuan"></use> + </svg> + <div class="name">未勾选32</div> + <div class="code-name">#icon-weigouxuan</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-weigouxuan1"></use> + </svg> + <div class="name">未勾选40</div> + <div class="code-name">#icon-weigouxuan1</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-yigouxuan1"></use> + </svg> + <div class="name">已勾选40</div> + <div class="code-name">#icon-yigouxuan1</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-shixiangyoujiantou-"></use> + </svg> + <div class="name">实 向右箭头-01</div> + <div class="code-name">#icon-shixiangyoujiantou-</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-shixiangxiajiantou-"></use> + </svg> + <div class="name">实 向下箭头-01</div> + <div class="code-name">#icon-shixiangxiajiantou-</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-jiahao"></use> + </svg> + <div class="name">加号-填充</div> + <div class="code-name">#icon-jiahao</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-up"></use> + </svg> + <div class="name">42指向上、上箭头</div> + <div class="code-name">#icon-up</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-down"></use> + </svg> + <div class="name">44指向下、下箭头</div> + <div class="code-name">#icon-down</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-delete"></use> + </svg> + <div class="name">群蜂删除-充</div> + <div class="code-name">#icon-delete</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-qq"></use> + </svg> + <div class="name">qq</div> + <div class="code-name">#icon-qq</div> + </li> + + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-weixin"></use> + </svg> + <div class="name">微信-36</div> + <div class="code-name">#icon-weixin</div> + </li> + + </ul> + <div class="article markdown"> + <h2 id="symbol-">Symbol 引用</h2> + <hr> + + <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a> + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p> + <ul> + <li>支持多色图标了,不再受单色限制。</li> + <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li> + <li>兼容性较差,支持 IE9+,及现代浏览器。</li> + <li>浏览器渲染 SVG 的性能一般,还不如 png。</li> + </ul> + <p>使用步骤如下:</p> + <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3> +<pre><code class="language-html"><script src="./iconfont.js"></script> +</code></pre> + <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3> +<pre><code class="language-html"><style> +.icon { + width: 1em; + height: 1em; + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; +} +</style> +</code></pre> + <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3> +<pre><code class="language-html"><svg class="icon" aria-hidden="true"> + <use xlink:href="#icon-xxx"></use> +</svg> +</code></pre> + </div> + </div> + + </div> + </div> + <script> + $(document).ready(function () { + $('.tab-container .content:first').show() + + $('#tabs li').click(function (e) { + var tabContent = $('.tab-container .content') + var index = $(this).index() + + if ($(this).hasClass('active')) { + return + } else { + $('#tabs li').removeClass('active') + $(this).addClass('active') + + tabContent.hide().eq(index).fadeIn() + } + }) + }) + </script> +</body> +</html> diff --git a/src/styles/font/icon/iconfont.css b/src/styles/font/icon/iconfont.css new file mode 100644 index 0000000..255baba --- /dev/null +++ b/src/styles/font/icon/iconfont.css @@ -0,0 +1,71 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1589437921018'); /* IE9 */ + src: url('iconfont.eot?t=1589437921018#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAdgAAsAAAAADwwAAAcTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCESgqOeIt2ATYCJAM0CxwABCAFhG0HgTMbpQxRlHBSFNlX2JThXqSJ4cz0aLyxzNkVgYOP2N97wQhUeQbPDZA1QByDeHha+9+5M7PrD1FpdI8mCSqJLulDJPFDxCQTvUQS6Qtka3ukU0/kuK8wfBBwMr1kmeTIb8hUohVh6lTeCHDCrRPPf5v6f+sQfS+QqgmpiZLNw+ZI6zMXZGL3nXY47elJFnjALaE4zjzyjJN773yuzM/7H4oZ9NV+v/q1g1ddvP1QmE5JlPRM7uAv5klMk0vWTBWTLpoJEUIja6hWSkNhOklN/ds4n0BvhyLMuZ6hKdArLC1Q4a4iG0Gfi1JaHEMbXtfsW8S8SpsepzuAJ+HLx28hoSepMmvby3e6LdC2EN2eV0ykW36MR/MlQFiJjGNAEej7WvtLgB6aM6evXtwH1glnTloW1snRYnBhky+LxyuL9glaGNmaDbRsJYR1tl+seImrgUGtEtLc//GMeo1WR9QYfUSrp7nohWgXDRrJBqpBcoAqkGagAGkBSiADQBlkEKiAbAI/N/mCYHoWi1HDEgWoBbGjlg7M/OpbgEMgnUf0fxab8kjK0tvq8cZ6/dpKwk4bNsXFx4bHR4RHcty4LVnR4xp/2TFxDN42tgefhUpEMeeqppXCU50JyT/gkVCD+EiEgl56LOkMN+6cAfyKs3dvomHU7fvnq96Uc/duIXMMqWmhNRoax1m8jNWfPorp2jlqumvHrolfe/2TcuIPCt3K589dhUNiT5OSEh4KoM9Jp1vK2GMnFjDdyaeFMrd06ki1gn9CmEz3OErpebmp+GzyAN+lMLw6dwkKh6Ve5dOnzp4W0+Y25TTfhHB10isXpxIB5GHDKcggnof+NCpCD+okAFyTPNGuRVgahmhLjZo1rnqnMlpD0ORJSluuY6jT+gPWHtaIeDKOaoradNDPruOQzulPGcBtz0C2YdbLrSFPIMGTrcNRDGC3YnJOm1JLceYK2sCWY5lqxICXIEU0gki2nkPFUteBwoqLMyTdKE7ZlOzE3yHfdSyOU2shl8RoxPJlx1bQ6C0Li3DLg+Sdi+c5evEkhtF3rBdfXpe0IiNcfW27+x6u5U4vs8zZZdu1R7Gblyc6AV9OB4Xp65HRDqcvw0Pi1DGbddntOKzYgkbhXJq+Y4bRVqszl746KdRPFV5FxSUb6XmKomd1yCb0nJbpz+aOIZskx0phXx8sHfNKyRjPsM8LGU/xJ9Qrv2JugdVBkBg/ZpUIDvpN0jfHD550XPKNDgkKEZ46l4dwq0sOxIecJlX2pxxA8GTwkCGMFqxVFf5PRZplCky9uCIQL/s/RFabTYZNkhtkQXFR28vKXwKUP5rZbFg+s3VAFTu5dBZG4G07t5tHuM2cFirh2BisrHKYoE8lzO1h/LkwjSD+VZF0qs1hQVK+d0xHOLN80q4B/P9utxQDmGt4DaEKE6Lc5lnI6VxDf/35owQHCAuKw95VG6l1bvXPY3J1slpepPBXdCx8EM+ubbd2tV48b2UtWLtYb89PZhvg2jsq5+zkBdIVVTFHfhEwNv0CxNiT02LKVxGSus1dt9VsXDZulogOJB1AkGQVg4e833uzaWatx7bPrLKyhBeBqlC3xGqNoe3MVQHmDmBs4jm+xFjW/sjcAgOiPOFawwe3bUeTa20vGNZgbV6tCtL/qEL/fmiFLjqCCDpZdQpkdKgx6tSuzlCdqnrMFsLMhWn9sKH4ezmjmvpp9Selw9oCS0Vtcbox4f967yYpc1lNwUzPAUT3N0R32yz0bof5Wblw2jzkuw4VkWFptzoKckHRUwszvHJS8IgkAfys2IvKr/LtZBa1LzvfHBmFD6/V9enLD7LLJD2tz7n3E8BkFcwVyA/DL8P0fCpXAdLntBfy9tQCpuUP2QBAWkwyYccYGYFWWc/HS8Of6pVNf1r8p8n48bn+wPLzm5gyWoneAh3ivzATiiRKljoz8hQTN3S0itSojpnbgvjFod7uBf2Rtsa7dej63gKVRdenkDS2Q9baZyzWY1AZnIBa6yT0juo9eLCWhhOlwxFrCYRVjkKywhfIVrlrLNa3UNngB9RWBQe9mxF1zMGBUFCnRoyUWLBpCStm1SU5sRRFFSeI7HUYtawUeswQzaNk4PKSsmJBL3ERbY4dPD65glIJS5rqxD3kYsThULFbU23ETEuslLobSkuluh1LzKoTkLM0hBH1A1pgJku2CjOVizQ+hUrPP4GQeTkYaS0tarYzCI2HMnusXImyHsZe3dWrxb1U9/CRVaBMggS79TUqJ6yHSSAcdq4Kc9evZUOYUSWsI7LdGpQy7Ul99ZL1qfObT4CedX+zSJGjRBV1NNFGF30MMcYsVugeKLLqDXiNLuQnSQjRvRwtrRzlsSoBxeiSl1SvLVQoF1FcZj0Jqi46odWosl43b1H9Lp2FOAgl7OKibs6cgOICAA==') format('woff2'), + url('iconfont.woff?t=1589437921018') format('woff'), + url('iconfont.ttf?t=1589437921018') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1589437921018#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-yigouxuan:before { + content: "\e63d"; +} + +.icon-weigouxuan:before { + content: "\e63e"; +} + +.icon-weigouxuan1:before { + content: "\e64a"; +} + +.icon-yigouxuan1:before { + content: "\e64b"; +} + +.icon-shixiangyoujiantou-:before { + content: "\e626"; +} + +.icon-shixiangxiajiantou-:before { + content: "\e625"; +} + +.icon-jiahao:before { + content: "\e72d"; +} + +.icon-up:before { + content: "\e769"; +} + +.icon-down:before { + content: "\e76b"; +} + +.icon-delete:before { + content: "\e6e9"; +} + +.icon-qq:before { + content: "\e614"; + font-size: 60px; + color: #22aaf8; + margin-left: 32px; +} + +.icon-weixin:before { + content: "\e68a"; + font-size: 60px; + color: #10b747; + margin-right: 32px; +} + diff --git a/src/styles/font/icon/iconfont.eot b/src/styles/font/icon/iconfont.eot new file mode 100644 index 0000000..743624c Binary files /dev/null and b/src/styles/font/icon/iconfont.eot differ diff --git a/src/styles/font/icon/iconfont.js b/src/styles/font/icon/iconfont.js new file mode 100644 index 0000000..04b61c2 --- /dev/null +++ b/src/styles/font/icon/iconfont.js @@ -0,0 +1 @@ +!function(n){var t,c='<svg><symbol id="icon-yigouxuan" viewBox="0 0 1024 1024"><path d="M196.923077 0h630.153846a196.923077 196.923077 0 0 1 196.923077 196.923077v630.153846a196.923077 196.923077 0 0 1-196.923077 196.923077H196.923077a196.923077 196.923077 0 0 1-196.923077-196.923077V196.923077a196.923077 196.923077 0 0 1 196.923077-196.923077z m0 78.769231a118.153846 118.153846 0 0 0-118.153846 118.153846v630.153846a118.153846 118.153846 0 0 0 118.153846 118.153846h630.153846a118.153846 118.153846 0 0 0 118.153846-118.153846V196.923077a118.153846 118.153846 0 0 0-118.153846-118.153846H196.923077z m584.900923 258.205538a36.509538 36.509538 0 0 1 1.260308 51.633231l-299.480616 313.107692c-0.118154 0.157538-0.393846 0.236308-0.630154 0.472616l-0.393846 0.551384c-2.166154 2.126769-4.726154 3.229538-7.207384 4.726154-1.575385 0.866462-2.796308 2.166154-4.411077 2.835692a35.800615 35.800615 0 0 1-27.490462 0.07877c-1.260308-0.512-2.284308-1.614769-3.544615-2.284308-2.756923-1.457231-5.592615-2.835692-8.034462-5.12-0.196923-0.157538-0.275692-0.433231-0.512-0.669538-0.196923-0.118154-0.393846-0.196923-0.551384-0.354462l-150.843077-156.593231a36.430769 36.430769 0 0 1 0.945231-51.633231 36.391385 36.391385 0 0 1 51.63323 0.945231l124.455385 129.102769 273.092923-285.61723a36.548923 36.548923 0 0 1 51.712-1.181539z" ></path></symbol><symbol id="icon-weigouxuan" viewBox="0 0 1024 1024"><path d="M196.923077 78.769231a118.153846 118.153846 0 0 0-118.153846 118.153846v630.153846a118.153846 118.153846 0 0 0 118.153846 118.153846h630.153846a118.153846 118.153846 0 0 0 118.153846-118.153846V196.923077a118.153846 118.153846 0 0 0-118.153846-118.153846H196.923077z m0-78.769231h630.153846a196.923077 196.923077 0 0 1 196.923077 196.923077v630.153846a196.923077 196.923077 0 0 1-196.923077 196.923077H196.923077a196.923077 196.923077 0 0 1-196.923077-196.923077V196.923077a196.923077 196.923077 0 0 1 196.923077-196.923077z" ></path></symbol><symbol id="icon-weigouxuan1" viewBox="0 0 1024 1024"><path d="M256 128a128 128 0 0 0-128 128v512a128 128 0 0 0 128 128h512a128 128 0 0 0 128-128V256a128 128 0 0 0-128-128H256z m0-51.2h512a179.2 179.2 0 0 1 179.2 179.2v512a179.2 179.2 0 0 1-179.2 179.2H256a179.2 179.2 0 0 1-179.2-179.2V256a179.2 179.2 0 0 1 179.2-179.2z" ></path></symbol><symbol id="icon-yigouxuan1" viewBox="0 0 1024 1024"><path d="M796.912941 297.562353L407.491765 692.705882l-156.611765-172.272941a30.177882 30.177882 0 0 0-44.574118 40.658824L361.411765 734.569412a60.235294 60.235294 0 0 0 85.232941 3.915294l2.409412-2.409412 390.927058-396.348235a30.117647 30.117647 0 1 0-43.068235-42.164706z" ></path><path d="M813.176471 0H210.823529a210.823529 210.823529 0 0 0-210.823529 210.823529v602.352942a210.823529 210.823529 0 0 0 210.823529 210.823529h602.352942a210.823529 210.823529 0 0 0 210.823529-210.823529V210.823529a210.823529 210.823529 0 0 0-210.823529-210.823529z m150.588235 813.176471a150.588235 150.588235 0 0 1-150.588235 150.588235H210.823529a150.588235 150.588235 0 0 1-150.588235-150.588235V210.823529a150.588235 150.588235 0 0 1 150.588235-150.588235h602.352942a150.588235 150.588235 0 0 1 150.588235 150.588235z" ></path></symbol><symbol id="icon-shixiangyoujiantou-" viewBox="0 0 1024 1024"><path d="M701.44 512L322.56 796.587V227.413L701.44 512z" ></path></symbol><symbol id="icon-shixiangxiajiantou-" viewBox="0 0 1024 1024"><path d="M512 701.44L227.413 322.56h569.174L512 701.44z" ></path></symbol><symbol id="icon-jiahao" viewBox="0 0 1024 1024"><path d="M512 32C246.4 32 32 246.4 32 512s214.4 480 480 480 480-214.4 480-480S777.6 32 512 32z m256 512h-224v224c0 19.2-12.8 32-32 32s-32-12.8-32-32v-224H256c-19.2 0-32-12.8-32-32s12.8-32 32-32h224V256c0-19.2 12.8-32 32-32s32 12.8 32 32v224h224c19.2 0 32 12.8 32 32s-12.8 32-32 32z" ></path></symbol><symbol id="icon-up" viewBox="0 0 1024 1024"><path d="M508.4 450.1l1.8-1.8-1.8 1.8zM508.2 448.1l2.2 2.2c-0.7-0.8-1.4-1.5-2.2-2.2zM511.1 411l1.8 1.8-1.8-1.8z" fill="#FFFFFF" ></path><path d="M510.9 413l2.2-2.2c-0.8 0.7-1.5 1.4-2.2 2.2z" fill="#FFFFFF" ></path><path d="M544 374.7v336c0 17.6-14.4 32-32 32s-32-14.4-32-32v-336c0-17.6 14.4-32 32-32s32 14.4 32 32z" fill="" ></path><path d="M511.9 281.3c-8.3 0-15.8 3.1-21.5 8.3l-2.2 2.2-21.5 21.5L291 489c-12.4 12.4-12.4 32.8 0 45.3 12.4 12.4 32.8 12.4 45.3 0L512 358.5l175.8 175.7c12.4 12.4 32.8 12.4 45.3 0 12.4-12.4 12.4-32.8-0.1-45.2L557.3 313.3l-21.8-21.8-1.8-1.8c-5.7-5.3-13.4-8.5-21.8-8.4z" fill="" ></path></symbol><symbol id="icon-down" viewBox="0 0 1024 1024"><path d="M515.6 573.9l-1.8 1.8 1.8-1.8zM515.8 575.9l-2.2-2.2c0.7 0.8 1.4 1.5 2.2 2.2zM512.9 613l-1.8-1.8 1.8 1.8zM513.1 611l-2.2 2.2c0.8-0.7 1.5-1.4 2.2-2.2z" fill="#FFFFFF" ></path><path d="M480 649.3v-336c0-17.6 14.4-32 32-32s32 14.4 32 32v336c0 17.6-14.4 32-32 32s-32-14.4-32-32z" fill="" ></path><path d="M512.1 742.7c8.3 0 15.8-3.1 21.5-8.3l2.2-2.2 21.5-21.5L733 535c12.4-12.4 12.4-32.8 0-45.3-12.4-12.4-32.8-12.4-45.3 0L512 665.5 336.2 489.8c-12.4-12.4-32.8-12.4-45.3 0-12.4 12.4-12.4 32.8 0.1 45.2l175.7 175.7 21.8 21.8 1.8 1.8c5.7 5.3 13.4 8.5 21.8 8.4z" fill="" ></path></symbol><symbol id="icon-delete" viewBox="0 0 1025 1024"><path d="M512.019034 0C229.689856 0 0 229.689856 0 512.019034c0 282.306337 229.689856 511.980966 512.019034 511.980966 282.321564 0 512.01142-229.67463 512.01142-511.980966C1024.030454 229.689856 794.340597 0 512.019034 0zM713.257467 721.030788c-0.007613 22.109428-17.92965 40.107599-39.955331 40.107599L352.936215 761.138388c-22.02568 0-39.940104-17.990558-39.940104-40.107599L312.996111 402.088581c0-7.704801 6.265861-13.978275 13.978275-13.978275 7.704801 0 13.970661 6.273474 13.970661 13.978275l0 318.942208c0 6.70744 5.382702 12.158663 11.991167 12.158663l320.365921 0c6.608465 0 11.991167-5.451223 11.991167-12.158663L685.293303 402.088581c0-7.704801 6.265861-13.978275 13.978275-13.978275s13.978275 6.273474 13.978275 13.978275L713.249853 721.030788zM431.956104 679.979123 431.956104 402.088581c0-7.704801 6.265861-13.978275 13.970661-13.978275 7.712414 0 13.978275 6.273474 13.978275 13.978275l0 277.882928c0 7.712414-6.265861 13.978275-13.978275 13.978275C438.229578 693.949784 431.956104 687.683923 431.956104 679.979123zM566.340924 679.979123 566.340924 402.088581c0-7.704801 6.265861-13.978275 13.978275-13.978275 7.704801 0 13.970661 6.273474 13.970661 13.978275l0 277.882928c0 7.712414-6.265861 13.978275-13.970661 13.978275C572.606785 693.949784 566.340924 687.683923 566.340924 679.979123zM762.059614 346.997732 615.554197 346.997732c-3.730585 0-7.240381-1.454167-9.882244-4.09603l-52.08354-52.08354L471.987569 290.818162l-62.17896 52.844884c-2.497208 2.139377-5.717693 3.334687-9.044766 3.334687L261.978453 346.997732c-7.712414 0-13.978275-6.273474-13.978275-13.978275s6.265861-13.978275 13.978275-13.978275l133.653931 0 62.171347-52.844884c2.535275-2.14699 5.748147-3.327073 9.05238-3.327073l92.518517 0c3.730585 0 7.240381 1.454167 9.882244 4.09603l52.08354 52.08354 140.711589 0c7.712414 0 13.978275 6.265861 13.978275 13.970661C776.037889 340.724258 769.764415 346.997732 762.059614 346.997732z" ></path></symbol><symbol id="icon-qq" viewBox="0 0 1024 1024"><path d="M512 1024C229.226667 1024 0 794.773333 0 512 0 229.226667 229.226667 0 512 0 794.773333 0 1024 229.226667 1024 512 1024 794.773333 794.773333 1024 512 1024ZM693.333333 458.666667C689.024 438.634667 682.666667 426.666667 682.666667 426.666667 682.666667 426.666667 682.944 397.333333 650.666667 330.666667 618.389333 264 522.666667 256 522.666667 256L512 256C512 256 416.277333 264 384 330.666667 351.722667 397.333333 352 426.666667 352 426.666667 352 426.666667 345.642667 438.634667 341.333333 458.666667 337.024 478.698667 341.333333 490.666667 341.333333 490.666667 341.333333 490.666667 286.656 546.421333 288 586.666667 289.344 626.912 299.221333 652.544 320 629.333333 340.778667 606.122667 341.333333 608 341.333333 608 341.333333 608 340.970667 625.333333 352 640 363.029333 654.666667 373.333333 661.333333 373.333333 661.333333 373.333333 661.333333 317.386667 689.034667 330.666667 725.333333 343.946667 761.632 384.874667 768.288 416 768 447.125333 767.712 512 746.666667 512 746.666667L522.666667 746.666667C522.666667 746.666667 587.541333 767.712 618.666667 768 649.792 768.288 690.72 761.632 704 725.333333 717.28 689.034667 661.333333 661.333333 661.333333 661.333333 661.333333 661.333333 671.637333 654.666667 682.666667 640 693.696 625.333333 693.333333 608 693.333333 608 693.333333 608 693.888 606.122667 714.666667 629.333333 735.445333 652.544 745.322667 626.912 746.666667 586.666667 748.010667 546.421333 693.333333 490.666667 693.333333 490.666667 693.333333 490.666667 697.642667 478.698667 693.333333 458.666667Z" ></path></symbol><symbol id="icon-weixin" viewBox="0 0 1024 1024"><path d="M512 1024C229.2 1024 0 794.8 0 512S229.2 0 512 0s512 229.2 512 512-229.2 512-512 512z m105.6-582.1c-91.1 0-164.9 63.6-164.9 139.3 0 81.5 73.8 145.1 164.9 148.6 25.8-3.5 50.1-8.7 73.3-18.6l45.8 27.9-9.2-46.4c32.6-26.8 54.9-65.4 54.9-111.4 0.1-75.7-73.7-139.4-164.8-139.4z m-54.9 111.4c-17.2 0-27.5-10.4-27.5-27.9 0-8.2 10.3-18.6 27.5-18.6 8.1 0 18.3 10.4 18.3 18.6 0 17.5-10.2 27.9-18.3 27.9z m109.9 0c-8 0-18.3-10.4-18.3-27.9 0-8.2 10.3-18.6 18.3-18.6 17.2 0 27.5 10.4 27.5 18.6 0 17.5-10.2 27.9-27.5 27.9z m-55-130c2.5 3.1 5.9 3.4 9.2 0-13.7-77.2-94-139.3-192.4-139.3C328.6 284 242 358.9 242 451.1c0 53 28.3 99.9 73.3 130l-18.3 65 64.1-37.1c25.5 5.2 49.4 9.5 73.3 9.3 4 0.2 6.8 0 9.2 0-3-12-5-24.4-9.2-37.1 4.2-85.6 84-154.8 183.2-157.9z m-109.9-55.7c17.2 0 27.5 10.4 27.5 18.6 0 17.5-10.3 27.9-27.5 27.9-8 0-18.3-10.4-18.3-27.9 0-8.2 10.2-18.6 18.3-18.6z m-174.1 18.5c0-8.2 10.3-18.6 18.3-18.6 17.2 0 27.5 10.4 27.5 18.6 0 17.5-10.3 27.9-27.5 27.9-8 0-18.3-10.4-18.3-27.9z" ></path></symbol></svg>',a=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss");if(a&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}!function(t){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var a=function(){document.removeEventListener("DOMContentLoaded",a,!1),t()};document.addEventListener("DOMContentLoaded",a,!1)}else document.attachEvent&&(o=t,i=n.document,l=!1,(c=function(){try{i.documentElement.doScroll("left")}catch(t){return void setTimeout(c,50)}e()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,e())});function e(){l||(l=!0,o())}var o,i,l,c}(function(){var t,a,e,o,i,l;(t=document.createElement("div")).innerHTML=c,c=null,(a=t.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",e=a,(o=document.body).firstChild?(i=e,(l=o.firstChild).parentNode.insertBefore(i,l)):o.appendChild(e))})}(window); \ No newline at end of file diff --git a/src/styles/font/icon/iconfont.json b/src/styles/font/icon/iconfont.json new file mode 100644 index 0000000..fc5a6c1 --- /dev/null +++ b/src/styles/font/icon/iconfont.json @@ -0,0 +1,93 @@ +{ + "id": "1540265", + "name": "education", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "2716513", + "name": "已勾选32", + "font_class": "yigouxuan", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "2716516", + "name": "未勾选32", + "font_class": "weigouxuan", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "2892929", + "name": "未勾选40", + "font_class": "weigouxuan1", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "2892954", + "name": "已勾选40", + "font_class": "yigouxuan1", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "5979965", + "name": "实 向右箭头-01", + "font_class": "shixiangyoujiantou-", + "unicode": "e626", + "unicode_decimal": 58918 + }, + { + "icon_id": "5979966", + "name": "实 向下箭头-01", + "font_class": "shixiangxiajiantou-", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "8349103", + "name": "加号-填充", + "font_class": "jiahao", + "unicode": "e72d", + "unicode_decimal": 59181 + }, + { + "icon_id": "6129078", + "name": "42指向上、上箭头", + "font_class": "up", + "unicode": "e769", + "unicode_decimal": 59241 + }, + { + "icon_id": "6129081", + "name": "44指向下、下箭头", + "font_class": "down", + "unicode": "e76b", + "unicode_decimal": 59243 + }, + { + "icon_id": "410692", + "name": "群蜂删除-充", + "font_class": "delete", + "unicode": "e6e9", + "unicode_decimal": 59113 + }, + { + "icon_id": "468193", + "name": "qq", + "font_class": "qq", + "unicode": "e614", + "unicode_decimal": 58900 + }, + { + "icon_id": "7009153", + "name": "微信-36", + "font_class": "weixin", + "unicode": "e68a", + "unicode_decimal": 59018 + } + ] +} diff --git a/src/styles/font/icon/iconfont.svg b/src/styles/font/icon/iconfont.svg new file mode 100644 index 0000000..0ea2980 --- /dev/null +++ b/src/styles/font/icon/iconfont.svg @@ -0,0 +1,62 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<!-- +2013-9-30: Created. +--> +<svg> +<metadata> +Created by iconfont +</metadata> +<defs> + +<font id="iconfont" horiz-adv-x="1024" > + <font-face + font-family="iconfont" + font-weight="500" + font-stretch="normal" + units-per-em="1024" + ascent="896" + descent="-128" + /> + <missing-glyph /> + + <glyph glyph-name="yigouxuan" unicode="" d="M196.923077 896h630.153846a196.923077 196.923077 0 0 0 196.923077-196.923077v-630.153846a196.923077 196.923077 0 0 0-196.923077-196.923077H196.923077a196.923077 196.923077 0 0 0-196.923077 196.923077V699.076923a196.923077 196.923077 0 0 0 196.923077 196.923077z m0-78.769231a118.153846 118.153846 0 0 1-118.153846-118.153846v-630.153846a118.153846 118.153846 0 0 1 118.153846-118.153846h630.153846a118.153846 118.153846 0 0 1 118.153846 118.153846V699.076923a118.153846 118.153846 0 0 1-118.153846 118.153846H196.923077z m584.900923-258.205538a36.509538 36.509538 0 0 0 1.260308-51.633231l-299.480616-313.107692c-0.118154-0.157538-0.393846-0.236308-0.630154-0.472616l-0.393846-0.551384c-2.166154-2.126769-4.726154-3.229538-7.207384-4.726154-1.575385-0.866462-2.796308-2.166154-4.411077-2.835692a35.800615 35.800615 0 0 0-27.490462-0.07877c-1.260308 0.512-2.284308 1.614769-3.544615 2.284308-2.756923 1.457231-5.592615 2.835692-8.034462 5.12-0.196923 0.157538-0.275692 0.433231-0.512 0.669538-0.196923 0.118154-0.393846 0.196923-0.551384 0.354462l-150.843077 156.593231a36.430769 36.430769 0 0 0 0.945231 51.633231 36.391385 36.391385 0 0 0 51.63323-0.945231l124.455385-129.102769 273.092923 285.61723a36.548923 36.548923 0 0 0 51.712 1.181539z" horiz-adv-x="1024" /> + + + <glyph glyph-name="weigouxuan" unicode="" d="M196.923077 817.230769a118.153846 118.153846 0 0 1-118.153846-118.153846v-630.153846a118.153846 118.153846 0 0 1 118.153846-118.153846h630.153846a118.153846 118.153846 0 0 1 118.153846 118.153846V699.076923a118.153846 118.153846 0 0 1-118.153846 118.153846H196.923077z m0 78.769231h630.153846a196.923077 196.923077 0 0 0 196.923077-196.923077v-630.153846a196.923077 196.923077 0 0 0-196.923077-196.923077H196.923077a196.923077 196.923077 0 0 0-196.923077 196.923077V699.076923a196.923077 196.923077 0 0 0 196.923077 196.923077z" horiz-adv-x="1024" /> + + + <glyph glyph-name="weigouxuan1" unicode="" d="M256 768a128 128 0 0 1-128-128v-512a128 128 0 0 1 128-128h512a128 128 0 0 1 128 128V640a128 128 0 0 1-128 128H256z m0 51.2h512a179.2 179.2 0 0 0 179.2-179.2v-512a179.2 179.2 0 0 0-179.2-179.2H256a179.2 179.2 0 0 0-179.2 179.2V640a179.2 179.2 0 0 0 179.2 179.2z" horiz-adv-x="1024" /> + + + <glyph glyph-name="yigouxuan1" unicode="" d="M796.912941 598.437647L407.491765 203.294118l-156.611765 172.272941a30.177882 30.177882 0 0 1-44.574118-40.658824L361.411765 161.430588a60.235294 60.235294 0 0 1 85.232941-3.915294l2.409412 2.409412 390.927058 396.348235a30.117647 30.117647 0 1 1-43.068235 42.164706zM813.176471 896H210.823529a210.823529 210.823529 0 0 1-210.823529-210.823529v-602.352942a210.823529 210.823529 0 0 1 210.823529-210.823529h602.352942a210.823529 210.823529 0 0 1 210.823529 210.823529V685.176471a210.823529 210.823529 0 0 1-210.823529 210.823529z m150.588235-813.176471a150.588235 150.588235 0 0 0-150.588235-150.588235H210.823529a150.588235 150.588235 0 0 0-150.588235 150.588235V685.176471a150.588235 150.588235 0 0 0 150.588235 150.588235h602.352942a150.588235 150.588235 0 0 0 150.588235-150.588235z" horiz-adv-x="1024" /> + + + <glyph glyph-name="shixiangyoujiantou-" unicode="" d="M701.44 384L322.56 99.413V668.587L701.44 384z" horiz-adv-x="1024" /> + + + <glyph glyph-name="shixiangxiajiantou-" unicode="" d="M512 194.56L227.413 573.44h569.174L512 194.56z" horiz-adv-x="1024" /> + + + <glyph glyph-name="jiahao" unicode="" d="M512 864C246.4 864 32 649.6 32 384s214.4-480 480-480 480 214.4 480 480S777.6 864 512 864z m256-512h-224v-224c0-19.2-12.8-32-32-32s-32 12.8-32 32v224H256c-19.2 0-32 12.8-32 32s12.8 32 32 32h224V640c0 19.2 12.8 32 32 32s32-12.8 32-32v-224h224c19.2 0 32-12.8 32-32s-12.8-32-32-32z" horiz-adv-x="1024" /> + + + <glyph glyph-name="up" unicode="" d="M508.4 445.9l1.8 1.8-1.8-1.8zM508.2 447.9l2.2-2.2c-0.7 0.8-1.4 1.5-2.2 2.2zM511.1 485l1.8-1.8-1.8 1.8zM510.9 483l2.2 2.2c-0.8-0.7-1.5-1.4-2.2-2.2zM544 521.3v-336c0-17.6-14.4-32-32-32s-32 14.4-32 32v336c0 17.6 14.4 32 32 32s32-14.4 32-32zM511.9 614.7c-8.3 0-15.8-3.1-21.5-8.3l-2.2-2.2-21.5-21.5L291 407c-12.4-12.4-12.4-32.8 0-45.3 12.4-12.4 32.8-12.4 45.3 0L512 537.5l175.8-175.7c12.4-12.4 32.8-12.4 45.3 0 12.4 12.4 12.4 32.8-0.1 45.2L557.3 582.7l-21.8 21.8-1.8 1.8c-5.7 5.3-13.4 8.5-21.8 8.4z" horiz-adv-x="1024" /> + + + <glyph glyph-name="down" unicode="" d="M515.6 322.1l-1.8-1.8 1.8 1.8zM515.8 320.1l-2.2 2.2c0.7-0.8 1.4-1.5 2.2-2.2zM512.9 283l-1.8 1.8 1.8-1.8zM513.1 285l-2.2-2.2c0.8 0.7 1.5 1.4 2.2 2.2zM480 246.70000000000005v336c0 17.6 14.4 32 32 32s32-14.4 32-32v-336c0-17.6-14.4-32-32-32s-32 14.4-32 32zM512.1 153.29999999999995c8.3 0 15.8 3.1 21.5 8.3l2.2 2.2 21.5 21.5L733 361c12.4 12.4 12.4 32.8 0 45.3-12.4 12.4-32.8 12.4-45.3 0L512 230.5 336.2 406.2c-12.4 12.4-32.8 12.4-45.3 0-12.4-12.4-12.4-32.8 0.1-45.2l175.7-175.7 21.8-21.8 1.8-1.8c5.7-5.3 13.4-8.5 21.8-8.4z" horiz-adv-x="1024" /> + + + <glyph glyph-name="delete" unicode="" d="M512.019034 896C229.689856 896 0 666.310144 0 383.98096599999997c0-282.306337 229.689856-511.980966 512.019034-511.980966 282.321564 0 512.01142 229.67463 512.01142 511.980966C1024.030454 666.310144 794.340597 896 512.019034 896zM713.257467 174.96921199999997c-0.007613-22.109428-17.92965-40.107599-39.955331-40.107599L352.936215 134.86161200000004c-22.02568 0-39.940104 17.990558-39.940104 40.107599L312.996111 493.911419c0 7.704801 6.265861 13.978275 13.978275 13.978275 7.704801 0 13.970661-6.273474 13.970661-13.978275l0-318.942208c0-6.70744 5.382702-12.158663 11.991167-12.158663l320.365921 0c6.608465 0 11.991167 5.451223 11.991167 12.158663L685.293303 493.911419c0 7.704801 6.265861 13.978275 13.978275 13.978275s13.978275-6.273474 13.978275-13.978275L713.249853 174.96921199999997zM431.956104 216.02087700000004L431.956104 493.911419c0 7.704801 6.265861 13.978275 13.970661 13.978275 7.712414 0 13.978275-6.273474 13.978275-13.978275l0-277.882928c0-7.712414-6.265861-13.978275-13.978275-13.978275C438.229578 202.05021599999998 431.956104 208.31607699999995 431.956104 216.02087700000004zM566.340924 216.02087700000004L566.340924 493.911419c0 7.704801 6.265861 13.978275 13.978275 13.978275 7.704801 0 13.970661-6.273474 13.970661-13.978275l0-277.882928c0-7.712414-6.265861-13.978275-13.970661-13.978275C572.606785 202.05021599999998 566.340924 208.31607699999995 566.340924 216.02087700000004zM762.059614 549.002268L615.554197 549.002268c-3.730585 0-7.240381 1.454167-9.882244 4.09603l-52.08354 52.08354L471.987569 605.181838l-62.17896-52.844884c-2.497208-2.139377-5.717693-3.334687-9.044766-3.334687L261.978453 549.002268c-7.712414 0-13.978275 6.273474-13.978275 13.978275s6.265861 13.978275 13.978275 13.978275l133.653931 0 62.171347 52.844884c2.535275 2.14699 5.748147 3.327073 9.05238 3.327073l92.518517 0c3.730585 0 7.240381-1.454167 9.882244-4.09603l52.08354-52.08354 140.711589 0c7.712414 0 13.978275-6.265861 13.978275-13.970661C776.037889 555.275742 769.764415 549.002268 762.059614 549.002268z" horiz-adv-x="1025" /> + + + <glyph glyph-name="qq" unicode="" d="M512-128C229.226667-128 0 101.22666700000002 0 384 0 666.773333 229.226667 896 512 896 794.773333 896 1024 666.773333 1024 384 1024 101.22666700000002 794.773333-128 512-128ZM693.333333 437.333333C689.024 457.365333 682.666667 469.333333 682.666667 469.333333 682.666667 469.333333 682.944 498.666667 650.666667 565.333333 618.389333 632 522.666667 640 522.666667 640L512 640C512 640 416.277333 632 384 565.333333 351.722667 498.666667 352 469.333333 352 469.333333 352 469.333333 345.642667 457.365333 341.333333 437.333333 337.024 417.301333 341.333333 405.333333 341.333333 405.333333 341.333333 405.333333 286.656 349.578667 288 309.33333300000004 289.344 269.08799999999997 299.221333 243.45600000000002 320 266.66666699999996 340.778667 289.877333 341.333333 288 341.333333 288 341.333333 288 340.970667 270.66666699999996 352 256 363.029333 241.33333300000004 373.333333 234.66666699999996 373.333333 234.66666699999996 373.333333 234.66666699999996 317.386667 206.965333 330.666667 170.66666699999996 343.946667 134.36800000000005 384.874667 127.71199999999999 416 128 447.125333 128.288 512 149.33333300000004 512 149.33333300000004L522.666667 149.33333300000004C522.666667 149.33333300000004 587.541333 128.288 618.666667 128 649.792 127.71199999999999 690.72 134.36800000000005 704 170.66666699999996 717.28 206.965333 661.333333 234.66666699999996 661.333333 234.66666699999996 661.333333 234.66666699999996 671.637333 241.33333300000004 682.666667 256 693.696 270.66666699999996 693.333333 288 693.333333 288 693.333333 288 693.888 289.877333 714.666667 266.66666699999996 735.445333 243.45600000000002 745.322667 269.08799999999997 746.666667 309.33333300000004 748.010667 349.578667 693.333333 405.333333 693.333333 405.333333 693.333333 405.333333 697.642667 417.301333 693.333333 437.333333Z" horiz-adv-x="1024" /> + + + <glyph glyph-name="weixin" unicode="" d="M512-128C229.2-128 0 101.20000000000005 0 384S229.2 896 512 896s512-229.2 512-512-229.2-512-512-512z m105.6 582.1c-91.1 0-164.9-63.6-164.9-139.3 0-81.5 73.8-145.1 164.9-148.6 25.8 3.5 50.1 8.7 73.3 18.6l45.8-27.9-9.2 46.4c32.6 26.8 54.9 65.4 54.9 111.4 0.1 75.7-73.7 139.4-164.8 139.4z m-54.9-111.4c-17.2 0-27.5 10.4-27.5 27.9 0 8.2 10.3 18.6 27.5 18.6 8.1 0 18.3-10.4 18.3-18.6 0-17.5-10.2-27.9-18.3-27.9z m109.9 0c-8 0-18.3 10.4-18.3 27.9 0 8.2 10.3 18.6 18.3 18.6 17.2 0 27.5-10.4 27.5-18.6 0-17.5-10.2-27.9-27.5-27.9z m-55 130c2.5-3.1 5.9-3.4 9.2 0-13.7 77.2-94 139.3-192.4 139.3C328.6 612 242 537.1 242 444.9c0-53 28.3-99.9 73.3-130l-18.3-65 64.1 37.1c25.5-5.2 49.4-9.5 73.3-9.3 4-0.2 6.8 0 9.2 0-3 12-5 24.4-9.2 37.1 4.2 85.6 84 154.8 183.2 157.9z m-109.9 55.7c17.2 0 27.5-10.4 27.5-18.6 0-17.5-10.3-27.9-27.5-27.9-8 0-18.3 10.4-18.3 27.9 0 8.2 10.2 18.6 18.3 18.6z m-174.1-18.5c0 8.2 10.3 18.6 18.3 18.6 17.2 0 27.5-10.4 27.5-18.6 0-17.5-10.3-27.9-27.5-27.9-8 0-18.3 10.4-18.3 27.9z" horiz-adv-x="1024" /> + + + + + </font> +</defs></svg> diff --git a/src/styles/font/icon/iconfont.ttf b/src/styles/font/icon/iconfont.ttf new file mode 100644 index 0000000..a9d1c1c Binary files /dev/null and b/src/styles/font/icon/iconfont.ttf differ diff --git a/src/styles/font/icon/iconfont.woff b/src/styles/font/icon/iconfont.woff new file mode 100644 index 0000000..ba2e0b9 Binary files /dev/null and b/src/styles/font/icon/iconfont.woff differ diff --git a/src/styles/font/icon/iconfont.woff2 b/src/styles/font/icon/iconfont.woff2 new file mode 100644 index 0000000..3e9817b Binary files /dev/null and b/src/styles/font/icon/iconfont.woff2 differ diff --git a/src/styles/font/iconfont.css b/src/styles/font/iconfont.css new file mode 100644 index 0000000..fe8fbef --- /dev/null +++ b/src/styles/font/iconfont.css @@ -0,0 +1,3 @@ +[class*=" icon-"], [class^=icon-] { + font-family: iconfont!important; +} \ No newline at end of file diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 0000000..adbf797 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,6 @@ +@import "./default/index.scss"; +@import "./font/iconfont.css"; +@import "./font/icon/iconfont.css"; +@import "./lib/index.scss"; +@import "./layout/index.scss"; +@import "./common.scss"; \ No newline at end of file diff --git a/src/styles/layout/index.scss b/src/styles/layout/index.scss new file mode 100644 index 0000000..450a447 --- /dev/null +++ b/src/styles/layout/index.scss @@ -0,0 +1,16 @@ +@import "lib/var"; +@import "var"; +html, +body, +#app, +.wrapper { + width: 100%; + height: 100%; +} + +body { + min-width: 1280px; + font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; + font-size: 14px; + background: rgba(0, 0, 0, 0.02); +} \ No newline at end of file diff --git a/src/styles/lib/_background.scss b/src/styles/lib/_background.scss new file mode 100644 index 0000000..3cbcf57 --- /dev/null +++ b/src/styles/lib/_background.scss @@ -0,0 +1,7 @@ +@import "var"; + +@each $name, $color in $bg-colors { + .bg-#{$name} { + background-color: $color; + } +} diff --git a/src/styles/lib/_border.scss b/src/styles/lib/_border.scss new file mode 100644 index 0000000..1e241d3 --- /dev/null +++ b/src/styles/lib/_border.scss @@ -0,0 +1,78 @@ +@import "var"; + +.border { + border: 1px solid $color-border; +} + +// vertical +.b-v { + border-top: 1px solid $color-border; + border-bottom: 1px solid $color-border; +} + +// horizontal +.b-h { + border-left: 1px solid $color-border; + border-right: 1px solid $color-border; +} + +// border double +.b-double { + border: double $color-border; +} + +.b-w-thin { + border-width: 0.55px; +} + +.b-round { + border-radius: 50%; +} + +.b-none { + border: none; +} + +@each $side in left, right, top, bottom { + .b-#{str-slice($side, 0, 1)} { + border-#{$side}: 1px solid $color-border; + } +} + +// border-style +@each $style in dotted, dashed { + .border-#{$style} { + border: 1px $style $color-border + } + .b-v-#{$style} { + border-top: 1px $style $color-border; + border-bottom: 1px $style $color-border; + } + .b-h-#{$style} { + border-left: 1px $style $color-border; + border-right: 1px $style $color-border; + } + @each $side in left, right, top, bottom { + .b-#{str-slice($side, 0, 1)}-#{$style} { + border-#{$side}: 1px $style $color-border; + } + } +} + +@for $size from 0 through $border-width-through { + .b-#{$size} { + border-width: #{$size}px; + } +} + +@for $size from 0 through $border-radius-through { + .b-radius-#{$size}, .b-r-#{$size} { + border-radius: #{$size}px; + } +} + +@each $name, $color in $border-colors { + .b-#{$name} { + border-color: $color; + } +} \ No newline at end of file diff --git a/src/styles/lib/_box.scss b/src/styles/lib/_box.scss new file mode 100644 index 0000000..d7a07b9 --- /dev/null +++ b/src/styles/lib/_box.scss @@ -0,0 +1,56 @@ +@import "var"; + +/** + * margin padding + * @each 循环多次保证优先级 + */ + +.m-auto { + margin-left: auto; + margin-right: auto; +} + +@each $size in $box-sizes { + .m-#{$size}, .margin-#{$size} { + margin: #{$size}px; + } + @if $size >= 0 { + .p-#{$size}, .padding-#{$size} { + padding: #{$size}px; + } + } +} + +@each $size in $box-sizes { + .m-h-#{$size} { + margin-left: #{$size}px; + margin-right: #{$size}px; + } + .m-v-#{$size} { + margin-top: #{$size}px; + margin-bottom: #{$size}px; + } + @if $size >= 0 { + .p-h-#{$size} { + padding-left: #{$size}px; + padding-right: #{$size}px; + } + .p-v-#{$size} { + padding-top: #{$size}px; + padding-bottom: #{$size}px; + } + } +} + +@each $size in $box-sizes { + @each $side in top right bottom left { + .m-#{str-slice($side, 0, 1)}-#{$size} { + margin-#{$side}: #{$size}px; + } + @if $size >= 0 { + .p-#{str-slice($side, 0, 1)}-#{$size} { + padding-#{$side}: #{$size}px; + } + } + } +} diff --git a/src/styles/lib/_cursor.scss b/src/styles/lib/_cursor.scss new file mode 100644 index 0000000..2bfba77 --- /dev/null +++ b/src/styles/lib/_cursor.scss @@ -0,0 +1,5 @@ +@each $type in default, auto, crosshair, pointer, move, text, wait, help { + .cursor-#{$type} { + cursor: $type; + } +} \ No newline at end of file diff --git a/src/styles/lib/_display.scss b/src/styles/lib/_display.scss new file mode 100644 index 0000000..a03ed93 --- /dev/null +++ b/src/styles/lib/_display.scss @@ -0,0 +1,15 @@ +@import "var"; + +@each $type in inherit, none, inline, inline-block, block, table, inline-table, table-cell { + .d-#{$type} { + display: #{$type}; + } +} + +.hide { + display: none; +} + +.show { + display: block +} diff --git a/src/styles/lib/_flex.scss b/src/styles/lib/_flex.scss new file mode 100644 index 0000000..8e8494b --- /dev/null +++ b/src/styles/lib/_flex.scss @@ -0,0 +1,54 @@ +.flex { + display: flex; +} + +.flex-column { + display: flex; + flex-direction: column; +} + +.j-start { + justify-content: flex-start; +} +.j-end { + justify-content: flex-end; +} +.j-center { + justify-content: center; +} +.j-between { + justify-content: space-between; +} +.j-around { + justify-content: space-around; +} + +.a-start { + align-items: flex-start; +} + +.a-center { + align-items: center; +} + +.a-end { + align-items: flex-end; +} + +@each $type in nowrap, wrap, wrap-reverse { + .flex-#{$type} { + flex-wrap: $type; + } +} + +@each $size in 1, 2, 3 { + .flex-#{$size} { + flex: $size; + } +} + +@for $i from 0 through 3 { + .flex-s-#{$i} { + flex-shrink: $i; + } +} \ No newline at end of file diff --git a/src/styles/lib/_float.scss b/src/styles/lib/_float.scss new file mode 100644 index 0000000..570b643 --- /dev/null +++ b/src/styles/lib/_float.scss @@ -0,0 +1,16 @@ +.cl { + &:before, &:after { + content: ' '; + display: table; + } + &:after { + clear: both; + } +} +.fl { + float: left; +} + +.fr { + float: right; +} \ No newline at end of file diff --git a/src/styles/lib/_font-size.scss b/src/styles/lib/_font-size.scss new file mode 100644 index 0000000..30c1646 --- /dev/null +++ b/src/styles/lib/_font-size.scss @@ -0,0 +1,41 @@ +@import "var"; + +@for $size from 0 through $font-size-em-through { + .fs-em-#{$size} { + font-size: #{$size}em; + } + @if $size <= $font-size-em-decimal-through { + @for $i from 0 to 10 { + .fs-em-#{$size}_#{$i} { + font-size: #{$size}#{'.'}#{$i}em; + } + } + } @else { + .fs-em-#{$size}_5 { + font-size: #{$size}#{'.5'}em; + } + } +} + +@for $size from 0 through $font-size-rem-through { + .fs-rem-#{$size} { + font-size: #{$size}rem; + } + @if $size <= $font-size-rem-decimal-through { + @for $i from 0 to 10 { + .fs-rem-#{$size}_#{$i} { + font-size: #{$size}#{'.'}#{$i}rem; + } + } + } @else { + .fs-rem-#{$size}_5 { + font-size: #{$size}#{'.5'}rem; + } + } +} + +@for $size from 12 through $font-size-px-through { + .fs-#{$size} { + font-size: #{$size}px; + } +} diff --git a/src/styles/lib/_font-weight.scss b/src/styles/lib/_font-weight.scss new file mode 100644 index 0000000..564f821 --- /dev/null +++ b/src/styles/lib/_font-weight.scss @@ -0,0 +1,17 @@ +.bold { + font-weight: bold; +} + +.normal { + font-weight: normal; +} + +.lighter { + font-weight: lighter; +} + +@each $weight in 100, 200, 300, 400, 500, 600, 700, 800, 900 { + .fw-#{$weight} { + font-weight: $weight; + } +} diff --git a/src/styles/lib/_line-height.scss b/src/styles/lib/_line-height.scss new file mode 100644 index 0000000..4cfd3b1 --- /dev/null +++ b/src/styles/lib/_line-height.scss @@ -0,0 +1,24 @@ +@import "var"; + +@for $size from 0 through $line-height-through { + .l-h-#{$size} { + line-height: #{$size}em; + } + @if $size <= $line-height-decimal-through { + @for $i from 0 to 10 { + .l-h-#{$size}_#{$i} { + line-height: #{$size}#{'.'}#{$i}em; + } + } + } @else { + .l-h-#{$size}_5 { + line-height: #{$size}#{'.5'}em; + } + } +} + +@for $size from 0 through $line-height-px-through { + .lh-#{$size} { + line-height: #{$size}px; + } +} diff --git a/src/styles/lib/_link.scss b/src/styles/lib/_link.scss new file mode 100644 index 0000000..aedde39 --- /dev/null +++ b/src/styles/lib/_link.scss @@ -0,0 +1,13 @@ +@import "var"; + +@each $name, $color in $text-colors { + .link-#{$name} { + color: $color; + text-decoration: none; + cursor: pointer; + &:hover, &:active, &:focus { + color: darken($color, 10%); + text-decoration: underline; + } + } +} \ No newline at end of file diff --git a/src/styles/lib/_overflow.scss b/src/styles/lib/_overflow.scss new file mode 100644 index 0000000..a82ffc4 --- /dev/null +++ b/src/styles/lib/_overflow.scss @@ -0,0 +1,11 @@ +@each $type in visible, hidden, scroll, auto, inherit { + .o-#{$type} { + overflow: $type; + } + .o-x-#{$type} { + overflow-x: $type; + } + .o-y-#{$type} { + overflow-y: $type; + } +} diff --git a/src/styles/lib/_position.scss b/src/styles/lib/_position.scss new file mode 100644 index 0000000..d9796b5 --- /dev/null +++ b/src/styles/lib/_position.scss @@ -0,0 +1,16 @@ + +@import "var"; + +@each $type in static, relative, absolute, fixed, sticky { + .#{$type} { + position: $type; + } +} + +@each $size in $box-sizes { + @each $side in top, right, bottom, left { + .#{$side}-#{$size} { + #{$side}: #{$size}px; + } + } +} diff --git a/src/styles/lib/_reset.scss b/src/styles/lib/_reset.scss new file mode 100644 index 0000000..a7864e8 --- /dev/null +++ b/src/styles/lib/_reset.scss @@ -0,0 +1,379 @@ +@import "var"; +// reset 初始化浏览器样式 +* { + box-sizing: border-box; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +*:before, +*:after { + box-sizing: border-box; +} + +html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body, +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +form, +fieldset, +legend, +input, +textarea, +p, +blockquote, +th, +td, +hr, +button, +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + margin: 0; + padding: 0; +} + +button, +input, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +input::-ms-clear, +input::-ms-reveal { + display: none; +} + +ol,ul{ + li{ + list-style: none; + } +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +figcaption, +figure, +main { + display: block; +} + +figure { + margin: 1em 40px; +} + +li:focus { + outline-width: 0; +} + +i{ + font-style: normal; +} + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; + -webkit-text-decoration-skip: objects; + text-decoration: none; + color: inherit; +} + +a:active { + color: inherit; +} + +a:active, +a:hover, +a:focus { + outline-width: 0; +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +dfn { + font-style: italic; +} + +mark { + background-color: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +audio, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +img { + border-style: none; + vertical-align: middle; +} + +svg:not(:root) { + overflow: hidden; +} + +button, +input, +optgroup, +select, +textarea { + font-size: 100%; + line-height: 1.15; + margin: 0; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button:focus{ + outline: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Change the border, margin, and padding in all browsers (opinionated). + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; + resize: vertical; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} diff --git a/src/styles/lib/_size.scss b/src/styles/lib/_size.scss new file mode 100644 index 0000000..3d83a27 --- /dev/null +++ b/src/styles/lib/_size.scss @@ -0,0 +1,53 @@ +@import "var"; + +.w-full { + width: 100%; +} + +.h-full { + height: 100%; +} + +@for $percent from 0 to 100 { + .w-p-#{$percent} { + width: #{$percent}#{'%'}; + } + .h-p-#{$percent} { + height: #{$percent}#{'%'}; + } +} + + +@for $i from 1 through 30 { + .h-#{$i} { + height: #{$i}px; + } +} + +@for $i from 1 through 30 { + .w-#{$i} { + width: #{$i}px; + } +} + + +@each $i in $sizes { + .w-#{$i} { + width: #{$i}px; + } + .h-#{$i} { + height: #{$i}px; + } + .max-w-#{$i} { + max-width: #{$i}px; + } + .max-h-#{$i} { + max-height: #{$i}px; + } + .min-w-#{$i} { + min-width: #{$i}px; + } + .min-h-#{$i} { + min-height: #{$i}px; + } +} diff --git a/src/styles/lib/_style.scss b/src/styles/lib/_style.scss new file mode 100644 index 0000000..4b81d96 --- /dev/null +++ b/src/styles/lib/_style.scss @@ -0,0 +1,3 @@ +html { + font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; +} diff --git a/src/styles/lib/_text-align.scss b/src/styles/lib/_text-align.scss new file mode 100644 index 0000000..d3c3081 --- /dev/null +++ b/src/styles/lib/_text-align.scss @@ -0,0 +1,8 @@ +/** + * 任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit" + */ +@each $type in left, right, center, justify, inherit { + .text-#{$type} { + text-align: #{$type}; + } +} diff --git a/src/styles/lib/_text-color.scss b/src/styles/lib/_text-color.scss new file mode 100644 index 0000000..625937e --- /dev/null +++ b/src/styles/lib/_text-color.scss @@ -0,0 +1,7 @@ +@import "var"; + +@each $name, $color in $text-colors { + .text-#{$name} { + color: $color; + } +} diff --git a/src/styles/lib/_var.scss b/src/styles/lib/_var.scss new file mode 100644 index 0000000..71d5045 --- /dev/null +++ b/src/styles/lib/_var.scss @@ -0,0 +1,80 @@ +// 颜色 size范围 +$color-black: #333 !default; +$color-white: #ffffff !default; +$color-grey: #888 !default; +$color-green: #19be6b !default; +$color-blue: #61c3ff !default; +$color-yellow: #ff9900 !default; +$color-red: #f35958 !default; + +$color-title: #17233d !default; +$color-content: #515a6e !default; +$color-disabled: #c5c8ce !default; + +$bg-grey:#f0f0f0 !default; +$bg-white: #ffffff !default; +$bg-black: #393D49 !default; + +$color-border: #dcdfe6 !default; + +// 主题背景色 +$bg-colors: ( + 'white': $bg-white, + 'black': $bg-black, + 'grey': $bg-grey, + 'green': $color-green, + 'blue': $color-blue, + 'yellow': $color-yellow, + 'red': $color-red, +) !default; + +// 文本颜色 +$text-colors: ( + 'white': $color-white, + 'black': $color-black, + 'grey': $color-grey, + 'green': $color-green, + 'blue': $color-blue, + 'yellow': $color-yellow, + 'red': $color-red, + 'title': $color-title, + 'content': $color-content, + 'disabled': $color-disabled +) !default; + +// 边框颜色 +$border-colors: ( + 'white': $color-white, + 'black': $color-black, + 'grey': $color-border, + 'green': $color-green, + 'blue': $color-blue, + 'yellow': $color-yellow, + 'red': $color-red +) !default; + +// border +$border-width-through: 20 !default; +$border-radius-through: 20 !default; + +// margin padding left right top bottom +$box-sizes: ( + -20, -15, -12, -10, -8, -6, -5, -4, -3, -2, -1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 25, 30, 35, 40, 50, 60, 80, 100) !default; + +// width height +$sizes: ( + 40, 50, 60, 70, 80, 90, 100, + 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000, 1200) !default; + +// font-size +$font-size-em-through: 10 !default; +$font-size-em-decimal-through: 5 !default; +$font-size-rem-through: 10 !default; +$font-size-rem-decimal-through: 5 !default; +$font-size-px-through: 80 !default; + +// line-height +$line-height-through: 20 !default; +$line-height-decimal-through: 5 !default; +$line-height-px-through: 100 !default; diff --git a/src/styles/lib/_vertical-align.scss b/src/styles/lib/_vertical-align.scss new file mode 100644 index 0000000..53ab691 --- /dev/null +++ b/src/styles/lib/_vertical-align.scss @@ -0,0 +1,7 @@ +$types: (baseline, sub, super, top, text-top, middle, bottom, text-bottom, inherit); + +@each $type in $types { + .v-a-#{$type} { + vertical-align: $type; + } +} diff --git a/src/styles/lib/_visibility.scss b/src/styles/lib/_visibility.scss new file mode 100644 index 0000000..2bbcd8a --- /dev/null +++ b/src/styles/lib/_visibility.scss @@ -0,0 +1,7 @@ +.visible { + visibility: visible; +} + +.hidden { + visibility: hidden; +} \ No newline at end of file diff --git a/src/styles/lib/_white-space.scss b/src/styles/lib/_white-space.scss new file mode 100644 index 0000000..affca1f --- /dev/null +++ b/src/styles/lib/_white-space.scss @@ -0,0 +1,5 @@ +@each $type in normal, nowrap, pre, pre-wrap, pre-line { + .text-#{$type} { + white-space: $type; + } +} \ No newline at end of file diff --git a/src/styles/lib/index.scss b/src/styles/lib/index.scss new file mode 100644 index 0000000..6003530 --- /dev/null +++ b/src/styles/lib/index.scss @@ -0,0 +1,28 @@ +/*! +* quickly-css +* Github: https://gitee.com/zj1024/quickly-css +* Author: zhangjing +*/ +@import "reset"; + +@import "background"; +@import "border"; +@import "box"; +@import "cursor"; +@import "display"; +@import "flex"; +@import "float"; +@import "font-size"; +@import "font-weight"; +@import "line-height"; +@import "link"; +@import "overflow"; +@import "position"; +@import "size"; +@import "text-align"; +@import "text-color"; +@import "vertical-align"; +@import "visibility"; +@import "white-space"; + +@import "style"; \ No newline at end of file diff --git a/src/styles/var.scss b/src/styles/var.scss new file mode 100644 index 0000000..978ada7 --- /dev/null +++ b/src/styles/var.scss @@ -0,0 +1,25 @@ +$main-color: #9076FF; +$inner-width: 1440px; + +@mixin ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +@mixin mul-ellipsis($num) { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: $num; + text-overflow: ellipsis; + overflow: hidden; +} + +.ellipsis{ + @include ellipsis(); +} +.mul-ellipsis2{ + @include mul-ellipsis(2); +} +.mul-ellipsis3{ + @include mul-ellipsis(3); +} \ No newline at end of file diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..7292c8b --- /dev/null +++ b/vue.config.js @@ -0,0 +1,19 @@ +const Setting = require('./src/setting.env') + +// 使用等比适配插件 +module.exports = { + lintOnSave: true, + css: { + loaderOptions: { + sass: { + prependData: `@import "@/styles/var.scss";` + }, + } + }, + publicPath: Setting.publicPath, + outputDir: Setting.outputDir, + assetsDir: Setting.assetsDir, + devServer: { + port: 8099 // 固定端口 + } +} \ No newline at end of file