diff --git a/Vue-shopping/.babelrc b/Vue-shopping/.babelrc new file mode 100644 index 0000000..c06df4d --- /dev/null +++ b/Vue-shopping/.babelrc @@ -0,0 +1,18 @@ +{ + "presets": [ + ["env", { + "modules": false, + "targets": { + "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] + } + }], + "stage-2" + ], + "plugins": ["transform-runtime"], + "env": { + "test": { + "presets": ["env", "stage-2"], + "plugins": ["istanbul"] + } + } +} diff --git a/Vue-shopping/.editorconfig b/Vue-shopping/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/Vue-shopping/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/Vue-shopping/.gitignore b/Vue-shopping/.gitignore new file mode 100644 index 0000000..1622bc4 --- /dev/null +++ b/Vue-shopping/.gitignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln diff --git a/Vue-shopping/.postcssrc.js b/Vue-shopping/.postcssrc.js new file mode 100644 index 0000000..09948d6 --- /dev/null +++ b/Vue-shopping/.postcssrc.js @@ -0,0 +1,8 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + "plugins": { + // to edit target browsers: use "browserslist" field in package.json + "autoprefixer": {} + } +} diff --git a/Vue-shopping/README.md b/Vue-shopping/README.md new file mode 100644 index 0000000..abedefc --- /dev/null +++ b/Vue-shopping/README.md @@ -0,0 +1,34 @@ +# shopping + +> Vue2.0+Vue-router+Vuex打造商城购物网站 + +主要功能: + +商品详情 + +商品添加购物车 + +商品购买 + +地址选择 + +结账(模拟) + + +## Build Setup + +``` bash +# install dependencies +npm install + +# serve with hot reload at localhost:8080 +npm run dev + +# build for production with minification +npm run build + +# build for production and view the bundle analyzer report +npm run build +``` + +For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). diff --git a/Vue-shopping/build/build.js b/Vue-shopping/build/build.js new file mode 100644 index 0000000..a645011 --- /dev/null +++ b/Vue-shopping/build/build.js @@ -0,0 +1,40 @@ +require('./check-versions')() + +process.env.NODE_ENV = 'production' + +var ora = require('ora') +var rm = require('rimraf') +var path = require('path') +var chalk = require('chalk') +var webpack = require('webpack') +var config = require('../config') +var webpackConfig = require('./webpack.prod.conf') + +var spinner = ora('building for production...') +spinner.start() + +rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { + if (err) throw err + webpack(webpackConfig, function (err, stats) { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, + chunks: false, + chunkModules: false + }) + '\n\n') + + if (stats.hasErrors()) { + console.log(chalk.red(' Build failed with errors.\n')) + process.exit(1) + } + + console.log(chalk.cyan(' Build complete.\n')) + console.log(chalk.yellow( + ' Tip: built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' + )) + }) +}) diff --git a/Vue-shopping/build/check-versions.js b/Vue-shopping/build/check-versions.js new file mode 100644 index 0000000..b3e7e17 --- /dev/null +++ b/Vue-shopping/build/check-versions.js @@ -0,0 +1,48 @@ +var chalk = require('chalk') +var semver = require('semver') +var packageConfig = require('../package.json') +var shell = require('shelljs') +function exec (cmd) { + return require('child_process').execSync(cmd).toString().trim() +} + +var versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + } +] + +if (shell.which('npm')) { + versionRequirements.push({ + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + }) +} + +module.exports = function () { + var warnings = [] + for (var i = 0; i < versionRequirements.length; i++) { + var mod = versionRequirements[i] + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + for (var i = 0; i < warnings.length; i++) { + var warning = warnings[i] + console.log(' ' + warning) + } + console.log() + process.exit(1) + } +} diff --git a/Vue-shopping/build/dev-client.js b/Vue-shopping/build/dev-client.js new file mode 100644 index 0000000..18aa1e2 --- /dev/null +++ b/Vue-shopping/build/dev-client.js @@ -0,0 +1,9 @@ +/* eslint-disable */ +require('eventsource-polyfill') +var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') + +hotClient.subscribe(function (event) { + if (event.action === 'reload') { + window.location.reload() + } +}) diff --git a/Vue-shopping/build/dev-server.js b/Vue-shopping/build/dev-server.js new file mode 100644 index 0000000..28b135c --- /dev/null +++ b/Vue-shopping/build/dev-server.js @@ -0,0 +1,90 @@ +require('./check-versions')() + +var config = require('../config') +if (!process.env.NODE_ENV) { + process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) +} + +var opn = require('opn') +var path = require('path') +var express = require('express') +var webpack = require('webpack') +var proxyMiddleware = require('http-proxy-middleware') +var webpackConfig = require('./webpack.dev.conf') + +// default port where dev server listens for incoming traffic +var port = process.env.PORT || config.dev.port +// automatically open browser, if not set will be false +var autoOpenBrowser = !!config.dev.autoOpenBrowser +// Define HTTP proxies to your custom API backend +// https://github.com/chimurai/http-proxy-middleware +var proxyTable = config.dev.proxyTable + +var app = express() +var compiler = webpack(webpackConfig) + +var devMiddleware = require('webpack-dev-middleware')(compiler, { + publicPath: webpackConfig.output.publicPath, + quiet: true +}) + +var hotMiddleware = require('webpack-hot-middleware')(compiler, { + log: false, + heartbeat: 2000 +}) +// force page reload when html-webpack-plugin template changes +compiler.plugin('compilation', function (compilation) { + compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { + hotMiddleware.publish({ action: 'reload' }) + cb() + }) +}) + +// proxy api requests +Object.keys(proxyTable).forEach(function (context) { + var options = proxyTable[context] + if (typeof options === 'string') { + options = { target: options } + } + app.use(proxyMiddleware(options.filter || context, options)) +}) + +// handle fallback for HTML5 history API +app.use(require('connect-history-api-fallback')()) + +// serve webpack bundle output +app.use(devMiddleware) + +// enable hot-reload and state-preserving +// compilation error display +app.use(hotMiddleware) + +// serve pure static assets +var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) +app.use(staticPath, express.static('./static')) + +var uri = 'http://localhost:' + port + +var _resolve +var readyPromise = new Promise(resolve => { + _resolve = resolve +}) + +console.log('> Starting dev server...') +devMiddleware.waitUntilValid(() => { + console.log('> Listening at ' + uri + '\n') + // when env is testing, don't need open it + if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { + opn(uri) + } + _resolve() +}) + +var server = app.listen(port) + +module.exports = { + ready: readyPromise, + close: () => { + server.close() + } +} diff --git a/Vue-shopping/build/utils.js b/Vue-shopping/build/utils.js new file mode 100644 index 0000000..b1d54b4 --- /dev/null +++ b/Vue-shopping/build/utils.js @@ -0,0 +1,71 @@ +var path = require('path') +var config = require('../config') +var ExtractTextPlugin = require('extract-text-webpack-plugin') + +exports.assetsPath = function (_path) { + var assetsSubDirectory = process.env.NODE_ENV === 'production' + ? config.build.assetsSubDirectory + : config.dev.assetsSubDirectory + return path.posix.join(assetsSubDirectory, _path) +} + +exports.cssLoaders = function (options) { + options = options || {} + + var cssLoader = { + loader: 'css-loader', + options: { + minimize: process.env.NODE_ENV === 'production', + sourceMap: options.sourceMap + } + } + + // generate loader string to be used with extract text plugin + function generateLoaders (loader, loaderOptions) { + var loaders = [cssLoader] + if (loader) { + loaders.push({ + loader: loader + '-loader', + options: Object.assign({}, loaderOptions, { + sourceMap: options.sourceMap + }) + }) + } + + // Extract CSS when that option is specified + // (which is the case during production build) + if (options.extract) { + return ExtractTextPlugin.extract({ + use: loaders, + fallback: 'vue-style-loader' + }) + } else { + return ['vue-style-loader'].concat(loaders) + } + } + + // https://vue-loader.vuejs.org/en/configurations/extract-css.html + return { + css: generateLoaders(), + postcss: generateLoaders(), + less: generateLoaders('less'), + sass: generateLoaders('sass', { indentedSyntax: true }), + scss: generateLoaders('sass'), + stylus: generateLoaders('stylus'), + styl: generateLoaders('stylus') + } +} + +// Generate loaders for standalone style files (outside of .vue) +exports.styleLoaders = function (options) { + var output = [] + var loaders = exports.cssLoaders(options) + for (var extension in loaders) { + var loader = loaders[extension] + output.push({ + test: new RegExp('\\.' + extension + '$'), + use: loader + }) + } + return output +} diff --git a/Vue-shopping/build/vue-loader.conf.js b/Vue-shopping/build/vue-loader.conf.js new file mode 100644 index 0000000..8a346d5 --- /dev/null +++ b/Vue-shopping/build/vue-loader.conf.js @@ -0,0 +1,18 @@ +var utils = require('./utils') +var config = require('../config') +var isProduction = process.env.NODE_ENV === 'production' + +module.exports = { + loaders: utils.cssLoaders({ + sourceMap: isProduction + ? config.build.productionSourceMap + : config.dev.cssSourceMap, + extract: isProduction + }), + transformToRequire: { + video: 'src', + source: 'src', + img: 'src', + image: 'xlink:href' + } +} diff --git a/Vue-shopping/build/webpack.base.conf.js b/Vue-shopping/build/webpack.base.conf.js new file mode 100644 index 0000000..e1962aa --- /dev/null +++ b/Vue-shopping/build/webpack.base.conf.js @@ -0,0 +1,66 @@ +var path = require('path') +var utils = require('./utils') +var config = require('../config') +var vueLoaderConfig = require('./vue-loader.conf') + +function resolve (dir) { + return path.join(__dirname, '..', dir) +} + +module.exports = { + entry: { + app: './src/main.js' + }, + output: { + path: config.build.assetsRoot, + filename: '[name].js', + publicPath: process.env.NODE_ENV === 'production' + ? config.build.assetsPublicPath + : config.dev.assetsPublicPath + }, + resolve: { + extensions: ['.js', '.vue', '.json'], + alias: { + 'vue$': 'vue/dist/vue.esm.js', + '@': resolve('src'), + } + }, + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue-loader', + options: vueLoaderConfig + }, + { + test: /\.js$/, + loader: 'babel-loader', + include: [resolve('src'), resolve('test')] + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('media/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + } +} diff --git a/Vue-shopping/build/webpack.dev.conf.js b/Vue-shopping/build/webpack.dev.conf.js new file mode 100644 index 0000000..5470402 --- /dev/null +++ b/Vue-shopping/build/webpack.dev.conf.js @@ -0,0 +1,35 @@ +var utils = require('./utils') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') + +// add hot-reload related code to entry chunks +Object.keys(baseWebpackConfig.entry).forEach(function (name) { + baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) +}) + +module.exports = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) + }, + // cheap-module-eval-source-map is faster for development + devtool: '#cheap-module-eval-source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': config.dev.env + }), + // https://github.com/glenjamin/webpack-hot-middleware#installation--usage + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin(), + // https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: 'index.html', + template: 'index.html', + inject: true + }), + new FriendlyErrorsPlugin() + ] +}) diff --git a/Vue-shopping/build/webpack.prod.conf.js b/Vue-shopping/build/webpack.prod.conf.js new file mode 100644 index 0000000..092c304 --- /dev/null +++ b/Vue-shopping/build/webpack.prod.conf.js @@ -0,0 +1,122 @@ +var path = require('path') +var utils = require('./utils') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var CopyWebpackPlugin = require('copy-webpack-plugin') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var ExtractTextPlugin = require('extract-text-webpack-plugin') +var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') + +var env = config.build.env + +var webpackConfig = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ + sourceMap: config.build.productionSourceMap, + extract: true + }) + }, + devtool: config.build.productionSourceMap ? '#source-map' : false, + output: { + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + }, + plugins: [ + // http://vuejs.github.io/vue-loader/en/workflow/production.html + new webpack.DefinePlugin({ + 'process.env': env + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + }, + sourceMap: true + }), + // extract css into its own file + new ExtractTextPlugin({ + filename: utils.assetsPath('css/[name].[contenthash].css') + }), + // Compress extracted CSS. We are using this plugin so that possible + // duplicated CSS from different components can be deduped. + new OptimizeCSSPlugin({ + cssProcessorOptions: { + safe: true + } + }), + // generate dist index.html with correct asset hash for caching. + // you can customize output by editing /index.html + // see https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: config.build.index, + template: 'index.html', + inject: true, + minify: { + removeComments: true, + collapseWhitespace: true, + removeAttributeQuotes: true + // more options: + // https://github.com/kangax/html-minifier#options-quick-reference + }, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // keep module.id stable when vender modules does not change + new webpack.HashedModuleIdsPlugin(), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks: function (module, count) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + /\.js$/.test(module.resource) && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) + } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + chunks: ['vendor'] + }), + // copy custom static assets + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, '../static'), + to: config.build.assetsSubDirectory, + ignore: ['.*'] + } + ]) + ] +}) + +if (config.build.productionGzip) { + var CompressionWebpackPlugin = require('compression-webpack-plugin') + + webpackConfig.plugins.push( + new CompressionWebpackPlugin({ + asset: '[path].gz[query]', + algorithm: 'gzip', + test: new RegExp( + '\\.(' + + config.build.productionGzipExtensions.join('|') + + ')$' + ), + threshold: 10240, + minRatio: 0.8 + }) + ) +} + +if (config.build.bundleAnalyzerReport) { + var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin + webpackConfig.plugins.push(new BundleAnalyzerPlugin()) +} + +module.exports = webpackConfig diff --git a/Vue-shopping/config/dev.env.js b/Vue-shopping/config/dev.env.js new file mode 100644 index 0000000..efead7c --- /dev/null +++ b/Vue-shopping/config/dev.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var prodEnv = require('./prod.env') + +module.exports = merge(prodEnv, { + NODE_ENV: '"development"' +}) diff --git a/Vue-shopping/config/index.js b/Vue-shopping/config/index.js new file mode 100644 index 0000000..196da1f --- /dev/null +++ b/Vue-shopping/config/index.js @@ -0,0 +1,38 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + env: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/', + productionSourceMap: true, + // Gzip off by default as many popular static hosts such as + // Surge or Netlify already gzip all static assets for you. + // Before setting to `true`, make sure to: + // npm install --save-dev compression-webpack-plugin + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + // Run the build command with an extra argument to + // View the bundle analyzer report after build finishes: + // `npm run build --report` + // Set to `true` or `false` to always turn it on or off + bundleAnalyzerReport: process.env.npm_config_report + }, + dev: { + env: require('./dev.env'), + port: 8080, + autoOpenBrowser: true, + assetsSubDirectory: 'static', + assetsPublicPath: '/', + proxyTable: {}, + // CSS Sourcemaps off by default because relative paths are "buggy" + // with this option, according to the CSS-Loader README + // (https://github.com/webpack/css-loader#sourcemaps) + // In our experience, they generally work as expected, + // just be aware of this issue when enabling this option. + cssSourceMap: false + } +} diff --git a/Vue-shopping/config/prod.env.js b/Vue-shopping/config/prod.env.js new file mode 100644 index 0000000..773d263 --- /dev/null +++ b/Vue-shopping/config/prod.env.js @@ -0,0 +1,3 @@ +module.exports = { + NODE_ENV: '"production"' +} diff --git a/Vue-shopping/index.html b/Vue-shopping/index.html new file mode 100644 index 0000000..12904bf --- /dev/null +++ b/Vue-shopping/index.html @@ -0,0 +1,12 @@ + + + + + 五色鲜-购鲜果首选 + + + +
+ + + diff --git a/Vue-shopping/package-lock.json b/Vue-shopping/package-lock.json new file mode 100644 index 0000000..8079aaf --- /dev/null +++ b/Vue-shopping/package-lock.json @@ -0,0 +1,9259 @@ +{ + "name": "123", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "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": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "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-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": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "dependencies": { + "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, + "optional": true + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "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==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "optional": true + }, + "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-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=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "optional": true + }, + "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, + "optional": true + }, + "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.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz", + "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", + "dev": true, + "requires": { + "babel-runtime": "6.x" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "optional": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "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" + } + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.2.tgz?cache=0&sync_timestamp=1594827675434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.2.tgz", + "integrity": "sha1-PqNsXYgY0NX4qKl6bTa4bNwAyyc=", + "dev": true, + "requires": { + "follow-redirects": "1.5.10" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + } + } + }, + "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-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" + } + }, + "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-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "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=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + } + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "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=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "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-processor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "check-types": "^7.3.0", + "tryer": "^1.0.0" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true + }, + "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": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "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" + } + }, + "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==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "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": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" + } + }, + "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-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": "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" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "optional": true, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": 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": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30001105", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001105.tgz", + "integrity": "sha512-GZytZn8lOiru/Tw+/X5sFxrFt2uPdSvkxVKzRMJyX20JGwfwOuTiRg5IMVF9II8Lao/7C4YeHR8YnZzpTvYXdQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001105", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001105.tgz", + "integrity": "sha512-JupOe6+dGMr7E20siZHIZQwYqrllxotAhiaej96y6x00b/48rPt42o+SzOSCPbrpsDWvRja40Hwrj0g0q6LZJg==", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "dev": true + }, + "chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", + "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.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, + "optional": true + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "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" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "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" + } + }, + "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 + } + } + }, + "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==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "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-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "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=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "optional": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "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==", + "dev": true, + "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=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "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==", + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "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 + }, + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "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=", + "dev": true, + "optional": true + }, + "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" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": 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=", + "dev": true + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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" + } + }, + "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-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-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "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": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "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-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "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 + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "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": "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" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "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=", + "dev": true, + "optional": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "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-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "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" + } + }, + "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.504", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.504.tgz", + "integrity": "sha512-yOXnuPaaLAIZUVuXHYDCo3EeaiEfbFgYWCPH1tBMp+jznCq/zQYKnf6HmkKBmLJ0VES81avl18JZO1lx/XAHOw==", + "dev": true + }, + "element-resize-detector": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.1.tgz", + "integrity": "sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==", + "requires": { + "batch-processor": "1.0.0" + } + }, + "element-ui": { + "version": "2.13.2", + "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.2.tgz", + "integrity": "sha1-WCv0eqqqr+I+oZWPriF6aHrQZEc=", + "dev": true, + "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.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "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": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "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==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "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=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "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 + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "eventsource-polyfill": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz", + "integrity": "sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw=", + "dev": true + }, + "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" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + } + }, + "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" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "extract-text-webpack-plugin": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz", + "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=", + "dev": true, + "requires": { + "async": "^2.1.2", + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "file-loader": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", + "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "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": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, + "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.12.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz", + "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "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=", + "dev": true, + "optional": true, + "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 + }, + "friendly-errors-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "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" + } + }, + "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 + } + } + }, + "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-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=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "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" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^3.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + } + } + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "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 + }, + "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" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "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.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "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" + } + }, + "html-webpack-plugin": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", + "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", + "dev": true, + "requires": { + "bluebird": "^3.4.7", + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "toposort": "^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 + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "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" + } + } + } + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^3.1.0", + "lodash": "^4.17.2", + "micromatch": "^2.3.11" + }, + "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" + } + } + } + }, + "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 + }, + "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" + } + }, + "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 + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.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==", + "dev": true + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true + } + } + }, + "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-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.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==", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "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==", + "dev": true, + "optional": true + }, + "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=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "js-base64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz", + "integrity": "sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==", + "dev": true + }, + "js-calendar": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz", + "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw==" + }, + "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 + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "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=", + "dev": true, + "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": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.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==", + "dev": true, + "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.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "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.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "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" + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "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" + } + }, + "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": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "optional": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "optional": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-expression-evaluator": { + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz", + "integrity": "sha512-L0j0tFVZBQQLeEjmWOvDLoRciIY8gQGWahvkztXUal8jH8R5Rlqo9GCvgqvXcy9LQhEWdQCVvzqAbxgYNt4blQ==", + "dev": true + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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 + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "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 + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.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 + }, + "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==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "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" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "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=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "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-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" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "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" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "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" + } + }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=", + "dev": true + }, + "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=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "optional": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": 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" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "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" + } + }, + "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" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-2.0.0.tgz", + "integrity": "sha1-UcrnEjDskaTBV2SXFeR0mODLRgs=", + "dev": true, + "requires": { + "underscore": "^1.8.3", + "webpack-sources": "^0.1.0" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=", + "dev": true, + "requires": { + "source-list-map": "~0.1.7", + "source-map": "~0.5.3" + } + } + } + }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.1", + "log-symbols": "^2.1.0" + } + }, + "os-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=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.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=", + "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-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.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "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" + } + }, + "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-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "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=", + "dev": true, + "optional": true + }, + "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, + "optional": 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=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-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" + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "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" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "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" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "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=", + "dev": true, + "optional": true + }, + "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" + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "^5.0.16" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "^5.0.5" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.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==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "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 + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "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" + } + }, + "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==", + "dev": true + }, + "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.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "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=", + "dev": true + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "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" + } + }, + "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" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "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 + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "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" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "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=", + "dev": true + } + } + }, + "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=", + "dev": true, + "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=", + "dev": true, + "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=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "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" + }, + "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" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "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 + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true, + "optional": true + }, + "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==", + "dev": true, + "optional": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "optional": true, + "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==", + "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 + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "^5.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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": { + "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 + } + } + }, + "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-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=", + "dev": true + }, + "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==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "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" + } + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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==", + "dev": true, + "optional": true, + "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": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "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==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "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" + } + }, + "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.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "optional": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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=", + "dev": true, + "optional": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "optional": true, + "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 + }, + "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" + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "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=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "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 + }, + "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-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.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "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==", + "dev": true, + "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=", + "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" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "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" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + } + }, + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "dev": true + }, + "throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz", + "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "time-stamp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", + "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==", + "dev": true + }, + "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" + } + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "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": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "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=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "optional": true, + "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": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + } + } + }, + "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 + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "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 + }, + "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 + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "underscore": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", + "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==", + "dev": true, + "optional": true, + "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" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "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=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": 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 + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "optional": true + }, + "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": "0.5.9", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", + "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "mime": "1.3.x" + }, + "dependencies": { + "mime": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "optional": true + }, + "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=", + "dev": true + }, + "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 + }, + "v-click-outside-x": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.7.1.tgz", + "integrity": "sha512-WmUgmcIXr9clVpm1AYS/FgHtcDicfnfoxgQCNg4O6vfk9GVnxA0vSqO321ogUo0b7czYTidj7fQENvWFMWOkUg==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "view-design": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/view-design/-/view-design-4.3.2.tgz", + "integrity": "sha512-58GH2fu5TVtUeeXWWu0VQXqgV01fGKHXhViw4p80OM/+SzhCJS2qzZYYpVyXaGKQM1OfeJHZrVFA/xLfpXK+0w==", + "requires": { + "async-validator": "^3.3.0", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^3.7.1" + }, + "dependencies": { + "async-validator": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.3.0.tgz", + "integrity": "sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg==" + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + } + } + }, + "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.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", + "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" + }, + "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-loader": { + "version": "13.7.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", + "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", + "dev": true, + "requires": { + "consolidate": "^0.14.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "lru-cache": "^4.1.1", + "postcss": "^6.0.8", + "postcss-load-config": "^1.1.0", + "postcss-selector-parser": "^2.0.0", + "prettier": "^1.7.0", + "resolve": "^1.4.0", + "source-map": "^0.6.1", + "vue-hot-reload-api": "^2.2.0", + "vue-style-loader": "^3.0.0", + "vue-template-es2015-compiler": "^1.6.0" + } + }, + "vue-router": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz", + "integrity": "sha512-MC4jacHBhTPKtmcfzvaj2N7g6jgJ/Z/eIjZdt+yUaUOM1iKC0OUIlO/xCtz6OZFFTNUJs/1YNro2GN/lE+nOXA==" + }, + "vue-style-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", + "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", + "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "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 + }, + "vuex": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-2.5.0.tgz", + "integrity": "sha512-5oJPOJySBgSgSzoeO+gZB/BbN/XsapgIF6tz34UwJqnGZMQurzIO3B4KIBf862gfc9ya+oduY5sSkq+5/oOilQ==" + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": 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" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, + "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": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "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==", + "dev": true, + "optional": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extglob": "^2.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==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "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, + "optional": true, + "requires": { + "binary-extensions": "^1.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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "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, + "optional": true + }, + "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, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "webpack": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", + "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^4.7.0", + "ajv-keywords": "^1.1.1", + "async": "^2.1.2", + "enhanced-resolve": "^3.3.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^0.2.16", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^3.1.0", + "tapable": "~0.2.5", + "uglify-js": "^2.8.27", + "watchpack": "^1.3.1", + "webpack-sources": "^1.0.1", + "yargs": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "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 + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "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" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "dev": true, + "requires": { + "acorn": "^5.3.0", + "bfj-node4": "^5.2.0", + "chalk": "^2.3.0", + "commander": "^2.13.0", + "ejs": "^2.5.7", + "express": "^4.16.2", + "filesize": "^3.5.11", + "gzip-size": "^4.1.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "opener": "^1.4.3", + "ws": "^4.0.0" + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + } + }, + "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" + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "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": "^4.2.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/Vue-shopping/package.json b/Vue-shopping/package.json new file mode 100644 index 0000000..33f2d6a --- /dev/null +++ b/Vue-shopping/package.json @@ -0,0 +1,65 @@ +{ + "name": "123", + "version": "1.0.0", + "description": "A Vue.js project", + "author": "yush <389636851@qq.com>", + "private": true, + "scripts": { + "dev": "node build/dev-server.js", + "start": "node build/dev-server.js", + "build": "node build/build.js" + }, + "dependencies": { + "view-design": "^4.3.2", + "vue": "^2.4.2", + "vue-router": "^2.7.0", + "vuex": "^2.4.0" + }, + "devDependencies": { + "autoprefixer": "^7.1.2", + "axios": "^0.19.2", + "babel-core": "^6.22.1", + "babel-loader": "^7.1.1", + "babel-plugin-transform-runtime": "^6.22.0", + "babel-preset-env": "^1.3.2", + "babel-preset-stage-2": "^6.22.0", + "babel-register": "^6.22.0", + "chalk": "^2.0.1", + "connect-history-api-fallback": "^1.3.0", + "copy-webpack-plugin": "^4.0.1", + "css-loader": "^0.28.0", + "cssnano": "^3.10.0", + "element-ui": "^2.13.2", + "eventsource-polyfill": "^0.9.6", + "express": "^4.14.1", + "extract-text-webpack-plugin": "^2.0.0", + "file-loader": "^0.11.1", + "friendly-errors-webpack-plugin": "^1.1.3", + "html-webpack-plugin": "^2.28.0", + "http-proxy-middleware": "^0.17.3", + "opn": "^5.1.0", + "optimize-css-assets-webpack-plugin": "^2.0.0", + "ora": "^1.2.0", + "rimraf": "^2.6.0", + "semver": "^5.3.0", + "shelljs": "^0.7.6", + "url-loader": "^0.5.8", + "vue-loader": "^13.0.4", + "vue-style-loader": "^3.0.1", + "vue-template-compiler": "^2.4.2", + "webpack": "^2.6.1", + "webpack-bundle-analyzer": "^2.2.1", + "webpack-dev-middleware": "^1.10.0", + "webpack-hot-middleware": "^2.18.0", + "webpack-merge": "^4.1.0" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ] +} diff --git a/Vue-shopping/src/App.vue b/Vue-shopping/src/App.vue new file mode 100644 index 0000000..fdf96d5 --- /dev/null +++ b/Vue-shopping/src/App.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/Vue-shopping/src/assets/css/account.css b/Vue-shopping/src/assets/css/account.css new file mode 100644 index 0000000..cf24a75 --- /dev/null +++ b/Vue-shopping/src/assets/css/account.css @@ -0,0 +1,92 @@ +@charset "utf-8"; +.content{ + clear: both; + width: 1220px; + min-height: 600px; + padding: 0 0 25px; + margin: 0 auto; +} +.account-wrapper{ + position: relative; + min-height: 550px; +} +.account-sidebar{ + position: absolute; + left: 0; + top: 0; + width: 210px; +} +.gray-box, .gray-btn-menu-on:hover{ + background: #FFF; +} +.gray-box{ + overflow: hidden; + border: 1px solid #D1D1D1; + border-color: rgba(0,0,0,.14); + border-radius: 8px; + box-shadow: 0 3px 8px -6px rgba(0,0,0,.1); +} +.account-sidebar .avatar{ + padding-top: 20px; + margin: 0 0 20px; + border-radius: 10px; + text-align: center; +} +.account-sidebar .avatar img{ + width: 168px; + height: 168px; + display: inline-block; +} +.account-sidebar .account-nav{ + padding-top: 15px; +} +.account-sidebar .account-nav li{ + position: relative; + height: 48px; + border-top: 1px solid #EBEBEB; + line-height: 48px; +} +.account-sidebar .account-nav .current{ + border: none; +} +.account-sidebar .account-nav a{ + display: block; + height: 48px; + padding: 0 30px; + color: #666; + -moz-transition: none; + -webkit-transition: none; + transition: none; +} +.account-sidebar .account-nav .current a, .account-sidebar .account-nav a:hover{ + position: relative; + top: -1px; + z-index: 1; + height: 50px; + background-color: #98AFEE; + line-height: 50px; + color: #FFF; +} +.account-content{ + margin-left: 230px; +} +.gray-box .title{ + height: 60px; + padding: 0 10px 0 28px; + background: #F5F5F5; + background: linear-gradient(#FFF,#F5F5F5); + border-bottom: 1px solid #DCDCDC; + border-radius: 10px 10px 0 0; + box-shadow: 0 1px 7px rgba(0,0,0,.06); + line-height: 60px; + color: #646464; +} +.gray-box .pre-title{ + position: relative; + z-index: 2; +} +.gray-box .title h2{ + font-size: 18px; + font-weight: 400; + color: #626262; +} \ No newline at end of file diff --git a/Vue-shopping/src/assets/css/address.css b/Vue-shopping/src/assets/css/address.css new file mode 100644 index 0000000..3703747 --- /dev/null +++ b/Vue-shopping/src/assets/css/address.css @@ -0,0 +1,285 @@ +@charset "utf-8"; +.blue-btn, .gray-blue-btn, .gray-btn, .gray-icon-btn, .light-blue-btn, .light-gray-btn{ + display: inline-block; + height: 38px; + padding: 0 20px; + border-radius: 8px; + line-height: 38px; + font-size: 14px; + cursor: pointer; +} +.gray-blue-btn{ + padding: 0; + background: #A2A2A2; +} +.gray-box .title span{ + overflow: hidden; + float: right; + margin-top: 11px; +} +.blue-btn a, .gray-blue-btn a, .gray-btn a, .gray-icon-btn a, .light-blue-btn a, .light-gray-btn a{ + display: block; +} +.gray-blue-btn a{ + height: 38px; + line-height: 38px; + color: #FFF; +} +.gray-blue-btn a.add{ + padding: 0 13px 0 38px; + background: url(../img/btn-icon-new.png) 0 -6px no-repeat; + transition: none; +} +.gray-blue-btn:hover{ + background: #7595e4; + box-shadow: none; +} +.address-form{ + width: 370px; + margin: 0 auto; +} +.account-address .address-form{ + padding: 30px; + margin: 0; +} +.module-form-row{ + position: relative; + padding-bottom: 10px; + margin: 0 auto; +} +.address-form .module-form-row{ + padding-bottom: 15px; +} +.module-form-row .form-item-v3{ + position: relative; + height: 46px; + background: #FFF; + border: 1px solid #CCC; + border-radius: 6px; + box-shadow: 0 3px 5px -4px rgba(0,0,0,.4) inset, -1px 0 3px -2px rgba(0,0,0,.1) inset; + line-height: 46px; + font-size: 18px; + opacity: .618; + transition: opacity .3s ease; +} +.module-form-row .form-item-v3 i{ + position: absolute; + left: 15px; + top: 0; + font-size: 16px; + color: #BEBEBE; +} +.module-form-row .form-item-v3 input{ + padding: 0 15px; + background-color: transparent; + border: none; + font-size: 16px; +} +.address-form .form-item-v3 input{ + width: 330px; +} +.address-form .area-code-w{ + width: 118px; +} +.address-form .telephone-w{ + width: 238px; +} +.module-form-row div.select-item{ + width: auto; + height: auto; + margin: 0; + background: 0 0; + border: none; + box-shadow: none; + opacity: 1; +} +.module-form-row .form-item-v3 select{ + margin: 0 0 0 15px; + background-color: transparent; + border: none; + font-size: 16px; + color: #333; +} +.address-form .select-province{ + width: 370px; +} +.form-focus-item{ + z-index: 1; + opacity: 1; + border: 1px solid #6B93F2; +} +.module-form-row div.select-item{ + width: auto; + height: auto; + margin: 0; + background: 0 0; + border: none; + box-shadow: none; + opacity: 1; +} +.module-form-row .form-item-v3 select{ + height: 48px; + padding: 0 15px; + margin: 0; + background: -webkit-linear-gradient(top,#FAFAFA,#F5F5F5); + background: linear-gradient(#FAFAFA,#F5F5F5); + border: 1px solid #CCC; + border-radius: 6px; + box-shadow: 2px 0 0 rgba(255,255,255,.4) inset, 1px 0 0 rgba(255,255,255,.3); + line-height: 48px; + text-indent: 0; + outline: 0; + -webkit-appearance: none; + -moz-appearance: none; + cursor: pointer; +} +.address-form .select-city, .address-form .select-district{ + width: 180px; +} +.blue-checkbox, .blue-checkbox-disable, .blue-checkbox-on{ + display: inline-block; + position: relative; + width: 20px; + height: 20px; + background: url(../img/checkbox-bg.png) no-repeat; + cursor: pointer; +} +.address-form .blue-checkbox{ + top: 0; + float: left; + margin-right: 5px; +} +.dialog-blue-btn{ + padding: 1px; + background: #6383C6; + background: linear-gradient(#6383C6,#4262AF); + border-radius: 6px; + text-align: center; + color: #FFF; +} +.disabled-btn{ + opacity: .4; +} +.disabled-btn, .disabled-btn a{ + cursor: not-allowed; + -webkit-transition: none; + transition: none; + pointer-events: none; +} +.dialog-blue-btn a{ + display: block; + padding: 2px 0; + background: #5F7ED7; + background: linear-gradient(#6F97E5,#527ED9); + border-radius: 5px; + box-shadow: inset 0 1px 2px #7EA1E8; + text-shadow: 0 -1px 0 #4F70B3; + color: #FFF; +} +.big-main-btn a{ + height: 42px; + line-height: 42px; + font-size: 18px; +} +.account-address .address-list-item{ + height: 75px; + padding: 20px 0; + border-bottom: 1px solid #CFCFCF; + line-height: 24px; +} +.account-address .address-list-item:last-child{ + border-bottom: none; + border-radius: 0 0 7px 7px; +} +.account-address .address-list-item .name{ + display: table; + width: 106px; + height: 100%; + padding: 0 20px 0 24px; +} +.account-address .address-list-item .name-cell{ + display: table-cell; + vertical-align: middle; +} +.account-address .address-list-item .detail{ + display: table; + width: 440px; + height: 100%; + text-align: left; +} +.account-address .address-list-item .detail-cell{ + display: table-cell; + vertical-align: middle; +} +.account-address .address-list-item .operation{ + display: -webkit-box; + -webkit-box-pack: center; + -webkit-box-align: center; + width: 135px; + padding: 24px 0; +} +.account-address .address-list-item .operation-cell{ + display: flex; + text-align: center; +} +.gray-edit-btn, .red-del-btn{ + width: 26px; + height: 26px; + border-radius: 5px; + overflow: hidden; +} +.gray-edit-btn{ + display: inline-block; + background: url(../img/btn-icon-new.png) -9px -112px no-repeat #A2A2A2; + text-indent: -9999em; +} +.account-address .address-list-item .operation .gray-edit-btn{ + margin-right: 6px; +} +.gray-edit-btn, .red-del-btn{ + width: 26px; + height: 26px; + border-radius: 5px; + overflow: hidden; +} +.red-del-btn{ + position: relative; + display: inline-block; + background: #d84747; + background: linear-gradient(#f97474,#e05b5b); + line-height: 26px; + opacity: .62; + cursor: pointer; + transition: none; +} +.red-del-btn a{ + display: block; + width: 26px; + height: 26px; + background: url(../img/btn-icon-new.png) -9px -262px no-repeat; + text-indent: -9999em; + color: #FFF; + transition: none; +} +.red-del-btn em{ + position: absolute; + left: 0; + top: 0; + display: none; + height: 26px; + text-indent: 0; + font-size: 12px; + color: #FFF; +} +.account-address .address-list-item .default{ + width: 80px; + line-height: 75px; + text-align: center; + font-size: 12px; +} +.account-address .address-list-item .telephone{ + width: 160px; + height: 100%; + line-height: 75px; + text-align: center; +} diff --git a/Vue-shopping/src/assets/css/cart.css b/Vue-shopping/src/assets/css/cart.css new file mode 100644 index 0000000..247e842 --- /dev/null +++ b/Vue-shopping/src/assets/css/cart.css @@ -0,0 +1,457 @@ +@charset "utf-8"; +.nav-cart{ + visibility: hidden; +} +.nav-sub{ + display: none; +} +.cart-box{ + position: relative; + margin-top: 40px; + overflow: hidden; + background: #fff; + border-radius: 8px; + border: 1px solid #dcdcdc; + border-color: rgba(0,0,0,.14); + box-shadow: 0 3px 8px -6px rgba(0,0,0,.1); +} +.cart-box .title{ + position: relative; + z-index: 10; + height: 60px; + padding: 0 10px 0 30px; + border-bottom: 1px solid #d4d4d4; + border-radius: 8px 8px 0 0; + box-shadow: rgba(0,0,0,.06) 0 1px 7px; + background: #f3f3f3; + background: linear-gradient(#fbfbfb,#ececec); + line-height: 60px; + font-size: 18px; + color: #333; +} +.cart-inner{ + padding-bottom: 91px; +} +.empty-label{ + height: 49px; + padding: 385px 0 0 0; + background: url(../img/cart-box-empty.png) no-repeat center 50px; + text-align: center; +} +.empty-label h3{ + font-size: 14px; + line-height: 1.5; + color: #8d8d8d; + margin-bottom: 17px; +} +.empty-label>a.link{ + width: 151px; + line-height: 38px; + height: 38px; + border: 1px solid #e5e5e5; + border-radius: 4px; + display: inline-block; + color: #999; + font-size: 12px; + background: #f9f9f9; + background: -webkit-linear-gradient(#fff,#f0f0f0); + background: linear-gradient(#fff,#f0f0f0); +} +.cart-table-title{ + position: relative; + z-index: 1; + line-height: 38px; + height: 38px; + padding: 0 0 0 30px; + font-size: 12px; + background: #eee; + border-bottom: 1px solid #dbdbdb; + border-bottom-color: rgba(0,0,0,.08); +} +.cart-table-title span { + float: right; + text-align: center; +} +.cart-table-title .name{ + float: left; + text-align: left; +} +.cart-table-title .operation, +.cart-table-title .num, +.cart-table-title .price, +.cart-table-title .subtotal{ + width: 137px; +} +.cart-table-title .subtotal{ + text-align: right; +} +.cart-group{ + position: relative; +} +.cart-group .cart-items{ + border-top: 1px dashed #eee; + position: relative; + height: 140px; + margin-left: 74px; +} +.cart-group .cart-top-items:first-child .cart-items{ + border-top: none; +} +.cart-items .items-choose, .cart-items .items-thumb, .cart-items .name{ + float: left; +} +.cart-items .items-choose{ + position: absolute; + left: -74px; + top: 0; + width: 74px; + height: 20px; + padding: 60px 0 0 31px; + font-size: 12px; + color: #999; +} +.blue-checkbox-new{ + display: inline-block; + position: relative; + width: 20px; + height: 20px; + background: url(../img/checkbox-new.png) no-repeat 0 -20px; + cursor: pointer; + vertical-align: middle; +} +.checkbox-on{ + background: url(../img/checkbox-new.png) no-repeat 0 0; +} +.cart-items .items-thumb{ + position: relative; + margin-top: 30px; + overflow: hidden; +} +.cart-items .items-thumb, .cart-items .items-thumb img{ + width: 80px; + height: 80px; +} +.cart-items .items-thumb>a, .cart-items .items-thumb>i{ + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + border-radius: 3px; + border: 0 solid rgba(255,255,255,.1); + box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); +} +.cart-items .name{ + width: 380px; + margin-left: 20px; + color: #323232; + display: table; +} +.hide-row{ + overflow: hidden; + word-break: keep-all; + white-space: nowrap; + text-overflow: ellipsis; +} +.cart-items .name-table{ + display: table-cell; + vertical-align: middle; + height: 140px; +} +.cart-items .name a{ + color: #333; + font-size: 16px; +} +.cart-items .name .attribute, .cart-items .name p{ + color: #999; + font-size: 12px; + padding-top: 4px; + line-height: 17px; +} +.cart-items .name .attribute li{ + float: left; + padding: 0 10px; + position: relative; +} +.cart-items .name .attribute li:first-child{ + padding-left: 0; +} +.cart-items .item-cols-num, +.cart-items .operation, +.cart-items .price, +.cart-items .subtotal{ + overflow: hidden; + float: right; + width: 137px; + text-align: center; + color: #666; + line-height: 140px; +} +.cart-items .operation{ + padding: 58px 0 0; + font-size: 12px; + line-height: 24px; +} +.cart-items .operation .items-delete-btn{ + display: block; + width: 24px; + height: 24px; + margin: 0 auto; + color: #C2C2C2; + background: url(../img/delete-btn-icon.jpg); + background-size: 100% auto; + transition: none; +} +.cart-items .operation .items-delete-btn:hover{ + background-position: 0 -36px; +} +.cart-items .subtotal{ + font-weight: 700; + text-align: right; +} +.cart-items .item-cols-num{ + padding-top: 50px; + line-height: 40px; +} +.cart-items .select{ + width: 112px; + height: 40px; + padding-top: 4px; + margin: 0 auto; + line-height: 40px; +} +.select .down, .select .up{ + overflow: hidden; + float: left; + display: inline-block; + width: 34px; + height: 37px; + margin-right: 5px; + background: url(../img/cart-updown.jpg) no-repeat; + background-image: url(../img/cart-updown.jpg); + background-size: 100% auto; + line-height: 40px; + text-indent: -9999em; + cursor: pointer; + user-select: none; +} +.select .down{ + background-position: 0 -60px; +} +.select .down:hover{ + background-position: 0 -180px; +} +.select .down.down-disabled, .select .down.down-disabled:hover{ + background-position: 0 -300px; + cursor: not-allowed; +} +.select .num{ + position: relative; + overflow: hidden; + float: left; + display: inline-block; + width: 36px; + height: 18px; + margin: 7px 0 0; + border: none; + border-radius: 3px; + line-height: 18px; + text-align: center; + font-size: 14px; +} +.select input{ + width: 36px; + height: 18px; + background-color: transparent; + border: none; + border-radius: 3px; + text-align: center; + line-height: 18px; + font-size: 14px; + padding: 0; +} +.select ul{ + display: none; + position: absolute; + left: 0; + top: 0; + width: 36px; +} +.select ul li{ + width: 36px; + height: 18px; +} +.select .up{ + float: right; + margin: 0; + background-position: 0 0; +} +.select .up:hover{ + background-position: 0 -120px; +} +.select .up.up-disabled, .select .up.up-disabled:hover{ + background-position: 0 -240px; + cursor: not-allowed; +} +.gray-box .cart-bottom-bg{ + /*height: 80px; + background: url(../img/store/library/cart-wrapper-bg.jpg) repeat-x; + border-top: 1px solid #D9D9D9;*/ + border-radius: 0 0 8px 8px; +} +.fix-bottom{ + height: 90px; + width: 100%; + position: absolute; + bottom: 0; + z-index: 1; + background-position: center; + background: #fdfdfd; + background: linear-gradient(#fdfdfd,#f9f9f9); + border-top: 1px solid #e9e9e9; + box-shadow: 0 -3px 8px rgba(0,0,0,.04); +} +.cart-bar-operation{ + float: left; + padding: 35px 26px; + font-size: 12px; +} +.choose-all, .delete-choose-goods, .selected-count{ + float: left; + height: 20px; + line-height: 20px; + cursor: pointer; + position: relative; +} +.delete-choose-goods{ + position: relative; + margin-left: 21px; + color: #bbb; +} +.delete-choose-goods-disabled{ + cursor: not-allowed; +} +.shipping{ + display: inline-block; + float: right; + padding: 20px 30px; +} +.shipping-box{ + display: inline-block; + padding-top: 1px; + margin-right: 10px; +} +.shipping-total{ + display: inline-block; + border-left: 1px solid #e1e1e1; + padding: 0 20px; +} +.shipping-total:first-child{ + border: none; +} +.shipping-total.shipping-num{ + text-align: right; +} +.shipping-total h4{ + color: #323232; +} +.shipping-total h4 i{ + font-size: 18px; + font-weight: 700; +} +.shipping-total.shipping-num i{ + width: 28px; + display: inline-block; + text-align: center; +} +.shipping-total h4.highlight i, .shipping-total h4.highlight span{ + color: #d44d44; +} +.shipping-total h5{ + color: #959595; +} +.shipping-total h5 i{ + width: 28px; + display: inline-block; + text-align: center; +} +.shipping-total{ + display: inline-block; + border-left: 1px solid #e1e1e1; + padding: 0 20px; +} +.shipping-total.shipping-price{ + width: 155px; + padding-right: 0; +} +.blue-main-btn, .gray-main-btn, .jianguo-blue-main-btn{ + display: block; + padding: 1px; + margin: 0 auto; + border-radius: 9px; + background: #015e94; + background: linear-gradient(#5598c9,#2a6da2); + text-align: center; + text-shadow: rgba(255,255,255,.496094) 0 1px 0; + cursor: pointer; + user-select: none; +} +.jianguo-blue-main-btn{ + background: #567CE6; + background: linear-gradient(#799CEA,#567CE6); + box-shadow: 0 1px 3px rgba(0,0,0,.1), inset 0 -1px 2px rgba(0,0,0,.2); +} +.big-main-btn{ + height: 48px; +} +.big-main-btn{ + float: right; + background: #5d86e5; + background: -webkit-linear-gradient(#688fe8,#5079e1); + background: linear-gradient(#688fe8,#5079e1); +} +.big-main-btn.jianguo-blue-main-btn.disabled-btn{ + background: #A9A9A9; + background: linear-gradient(#BFBFBF,#999); + box-shadow: none; +} +.blue-main-btn a, .gray-main-btn a, .jianguo-blue-main-btn a{ + display: block; + padding: 2px 0; + border-radius: 9px; + background: #5f7ed7; + background: linear-gradient(#739fe1,#5f7ed7); + box-shadow: inset 0 1px 3px #92b6ec, inset 0 0 2px #627dca, inset 0 -2px 3px #4c69b8; + text-shadow: #4f70b3 0 -1px 0; + cursor: pointer; + color: #fff; + transition: all .3s ease; +} +.jianguo-blue-main-btn a{ + background: #6C94F3; + background: linear-gradient(#7EA3F5,#5A82F0); + box-shadow: none; + text-shadow: none; + color: #FFF; + transition: all .3s ease; +} +.big-main-btn a{ + height: 44px; + line-height: 45px; + font-size: 18px; +} +.big-main-btn a{ + padding: 2px 32px; + font-size: 16px; +} +.jianguo-blue-main-btn.disabled-btn a, +.jianguo-blue-main-btn.disabled-btn:active a, +.jianguo-blue-main-btn.disabled-btn:hover a{ + background: #B7B7B7; + background: linear-gradient(#C3C3C3,#ABAAAA); + box-shadow: inset 0 1px 3px #CCC; +} +.disabled-btn, .disabled-btn a{ + opacity: .7; + cursor: not-allowed; +} diff --git a/Vue-shopping/src/assets/css/checkout.css b/Vue-shopping/src/assets/css/checkout.css new file mode 100644 index 0000000..eac8a72 --- /dev/null +++ b/Vue-shopping/src/assets/css/checkout.css @@ -0,0 +1,463 @@ +@charset "utf-8"; +.nav-sub{ + display: none; +} +.content{ + clear: both; + width: 1220px; + min-height: 600px; + padding: 0 0 25px; + margin: 0 auto; +} +.page-order-checkout{ + padding-top: 40px; +} +.gray-box{ + overflow: hidden; + border: 1px solid #D1D1D1; + border-color: rgba(0,0,0,.14); + border-radius: 8px; + box-shadow: 0 3px 8px -6px rgba(0,0,0,.1); +} +.gray-box, .gray-btn-menu-on:hover{ + background: #FFF; +} +.page-order-checkout .gray-box{ + margin-bottom: 30px; +} +.gray-box .title{ + height: 60px; + padding: 0 10px 0 28px; + background: #F5F5F5; + background: linear-gradient(#FFF,#F5F5F5); + border-bottom: 1px solid #DCDCDC; + border-radius: 10px 10px 0 0; + box-shadow: 0 1px 7px rgba(0,0,0,.06); + line-height: 60px; + color: #646464; +} +.gray-box .pre-title{ + position: relative; + z-index: 2; +} +.gray-box .title h2{ + font-size: 18px; + font-weight: 400; + color: #626262; +} +.gray-box .columns-title h2{ + float: left; +} +.address-common-table .address-item-list{ + padding: 30px 13px 0; +} +.address-common-table .address-item-list li{ + position: relative; + overflow: hidden; + float: left; + width: 276px; + height: 158px; + margin: 0 0 30px 16px; + border: 1px solid #E5E5E5; + border-radius: 3px; + background: #FAFAFA; + line-height: 14px; + text-align: left; + word-wrap: break-word; + word-break: normal; + color: #626262; + cursor: pointer; + user-select: none; +} +.address-common-table .address-item-list li.selected-address-item{ + background: #FFF; + border-color: #6A8FE5; +} +.address-common-table .address-item-list .address-item{ + padding: 19px 14px 0 19px; +} +.address-common-table .name-section{ + height: 16px; + padding-right: 20px; + line-height: 16px; + font-size: 16px; + color: #666; +} +.address-common-table .mobile-section{ + height: 14px; + padding-top: 17px; + line-height: 14px; + color: #999; +} +.address-common-table .detail-section{ + padding-top: 6px; + line-height: 24px; + color: #999; +} +.address-common-table .address-item-list li.selected-address-item:after{ + content: '√'; + display: block; + position: absolute; + right: 17px; + top: 19px; + font-size: 24px; + color: #6A8FE5; +} +.address-common-table .operation-section{ + visibility: hidden; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 28px; + background: #E1E1E1; + border-top: 1px solid #E1E1E1; + transform: translate(0,29px); +} +.address-common-table .operation-section .delete-btn, .address-common-table .operation-section .update-btn{ + float: left; + display: block; + height: 28px; + background: #FFF; + text-align: center; + line-height: 28px; + font-size: 12px; + transition: background .15s ease; +} +.address-common-table .operation-section .update-btn{ + width: 137px; +} +.address-common-table .operation-section .delete-btn{ + float: right; + width: 138px; +} +.address-common-table .add-address-item::before{ + content: '+'; + display: block; + position: absolute; + left: 50%; + top: 54px; + height: 24px; + margin-left: -10px; + line-height: 24px; + text-align: center; + font-size: 24px; + color: #626262; +} +.address-common-table .add-address-item p{ + height: 14px; + padding-top: 85px; + line-height: 14px; + text-align: center; + color: #999; +} +.address-common-table .address-item-list li:hover{ + background: #F2F2F2; +} +.page-order-checkout .invoice-box{ + padding: 22px 29px 29px 28px; +} +.page-order-checkout .invoice-box .invoice-detail{ + position: relative; + height: 36px; + line-height: 36px; + color: #666; +} +.page-order-checkout .invoice-box .radio-box{ + position: absolute; + left: 65px; + top: 0; + padding: 0; + margin: 0; +} +.page-order-checkout .invoice-box .radio-box>label{ + margin-right: 5px; +} +.blue-radio{ + overflow: hidden; + display: inline-block; + position: relative; + top: 2px; + width: 10px; + height: 10px; + padding: 4px; + background: #F9F9F9; + background: linear-gradient(#F5F6F6,#FDFDFD); + border: 1px solid #E6E6E6; + border-radius: 10px; + box-shadow: 0 2px 4px rgba(0,0,0,.05) inset; + cursor: pointer; +} +.page-order-checkout .invoice-box .blue-radio{ + top: 4px; + margin: 0 3px 0 6px; +} +.blue-radio-on a, .choose-radio-on .blue-radio a{ + overflow: hidden; + display: block; + width: 8px; + height: 8px; + background: #6C94F3; + background: linear-gradient(#749AF4,#668EF2); + border: 1px solid #5D81D9; + border-radius: 10px; + box-shadow: 0 1px 2px rgba(0,0,0,.2); +} +.module-form-row .small-item{ + width: 180px; + height: 36px; + border-radius: 4px; + line-height: 36px; + font-size: 14px; +} +.page-order-checkout .invoice-box .module-form-row{ + position: absolute; + left: 215px; + top: -1px; + padding: 0; + margin: 0; +} +.module-form-item-wrapper i{ + position: absolute; + left: 15px; + top: 0; + font-style: normal; + font-size: 16px; + color: #bebebe; +} +.module-form-row .small-item i{ + font-size: 14px; +} +.page-order-checkout .invoice-box .module-form-item-wrapper{ + width: 338px; + height: 34px; + line-height: 34px; +} +.module-form-item-wrapper{ + display: block; + position: relative; + width: 372px; + height: 46px; + background-color: #FFF; + box-shadow: 0 3px 5px -4px rgba(0,0,0,.4) inset, -1px 0 3px -2px rgba(0,0,0,.1) inset; + border: 1px solid #CCC; + border-radius: 6px; + line-height: 46px; + font-size: 16px; + opacity: .618; + transition: opacity .3s ease-in; +} +.page-order-checkout .invoice-box .module-form-item-wrapper i{ + left: 11px; +} +.module-form-item-wrapper input{ + position: relative; + z-index: 3; + width: 290px; + padding: 0 13px 0 15px; + background: 0 0; + border: none; + font-size: 16px; + color: #333; +} +.module-form-row .small-item input{ + padding-left: 15px; + margin-top: 8px; + width: 137px; + font-size: 14px; +} +.page-order-checkout .invoice-box .module-form-item-wrapper input{ + width: 310px; + padding-left: 11px; +} +.page-order-checkout .invoice-box .invoice-label{ + position: relative; + padding-top: 25px; + margin-top: 11px; + border-top: 1px solid #E5E5E5; + line-height: 12px; + text-indent: 10px; + font-size: 12px; + color: #999; +} +.gray-box .gray-sub-title{ + height: 38px; + padding: 0 24px; + background: #EEE; + border-top: 1px solid #DBDBDB; + border-bottom: 1px solid #DBDBDB; + line-height: 38px; + font-size: 12px; + color: #666; +} +.ui-goods-cart .cart-table-title{ + padding: 0 0 0 29px; + border-top: none; + font-size: 12px; +} +.ui-goods-cart .cart-table-title span{ + float: right; + text-align: center; +} +.ui-goods-cart .cart-table-title .name{ + float: left; + text-align: left; +} +.ui-goods-cart .cart-table-title .num, .ui-goods-cart .cart-table-title .operation, .ui-goods-cart .cart-table-title .price, .ui-goods-cart .cart-table-title .subtotal{ + width: 130px; + padding-right: 29px; + text-align: right; +} +.ui-goods-cart .cart-table-title .num{ + width: 132px; +} +.ui-goods-cart .cart-table-title .price{ + width: 120px; +} +.ui-goods-cart .cart-group, .ui-goods-cart .cart-items{ + border-top: 1px solid #EBEBEB; +} +.ui-goods-cart .cart-items{ + position: relative; + height: 110px; + padding-left: 29px; + color: #666; +} +.ui-goods-cart .cart-group:first-child, .ui-goods-cart .cart-items:first-child{ + border-top: none; +} +.ui-goods-cart .cart-items .items-choose, .ui-goods-cart .cart-items .items-thumb, .ui-goods-cart .cart-items .name{ + float: left; +} +.ui-goods-cart .cart-items .items-thumb, .ui-goods-cart .cart-items .items-thumb img{ + width: 78px; + height: 78px; + border-radius: 4px; +} +.ui-goods-cart .cart-items .items-thumb{ + margin-top: 15px; + border: 1px solid #EBEBEB; +} +.ui-goods-cart .cart-items .name{ + display: table; + width: 420px; + height: 100%; + margin-left: 30px; + line-height: 24px; +} +.ui-goods-cart .cart-items .name-cell{ + display: table-cell; + vertical-align: middle; +} +.ui-goods-cart .cart-items .name a{ + color: #333; +} +.ui-goods-cart .cart-items .subtotal{ + float: right; + display: table; + width: 129px; + height: 100%; + padding-right: 29px; + text-align: right; + line-height: 24px; + color: #333; +} +.ui-goods-cart .cart-items .subtotal-cell{ + display: table-cell; + vertical-align: middle; +} +.ui-goods-cart .cart-items .goods-num, .ui-goods-cart .cart-items .operation, .ui-goods-cart .cart-items .price, .ui-goods-cart .cart-items .select{ + overflow: hidden; + float: right; + width: 129px; + padding-right: 29px; + line-height: 110px; + text-align: right; + color: #333; +} +.ui-goods-cart .cart-items .goods-num{ + width: 64px; + padding: 0 9px 0 90px; + text-align: center; +} +.ui-goods-cart .cart-items .price{ + width: 120px; +} +.page-order-checkout .order-discount-line{ + padding: 21px 30px; + border-top: 1px solid #EBEBEB; + line-height: 30px; + text-align: right; +} +.page-order-checkout .order-discount-line span{ + float: right; + width: 157px; +} +.page-order-checkout .last-payment{ + padding: 22px 29px 19px 30px; + background: linear-gradient(#FCFCFC,#F5F5F5); + border-top: 1px solid #DADADA; + box-shadow: -3px 0 8px rgba(0,0,0,.04); +} +.blue-main-btn, .gray-main-btn, .jianguo-blue-main-btn{ + display: block; + padding: 1px; + margin: 0 auto; + border-radius: 6px; + background: #015e94; + background: linear-gradient(#5598c9,#2a6da2); + text-align: center; + text-shadow: rgba(255,255,255,.496094) 0 1px 0; + font-family: 'Microsoft Yahei','微软雅黑','PingFang SC',sans-serif; + cursor: pointer; + -webkit-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} +.jianguo-blue-main-btn{ + background: #6383C6; + background: linear-gradient(#6383C6,#4262AF); + box-shadow: none; +} +.big-main-btn{ + height: 46px; +} +.page-order-checkout .payment-blue-bt, .page-order-checkout .payment-blue-bt a{ + width: 136px; + font-size: 16px; +} +.blue-main-btn a, .gray-main-btn a, .jianguo-blue-main-btn a{ + display: block; + padding: 2px 0; + border-radius: 6px; +} +.jianguo-blue-main-btn a{ + background: linear-gradient(#6F97E5,#527ED9); + box-shadow: inset 0 1px 2px #7EA1E8; + text-shadow: 0 -1px 0 #4F70B3; + color: #FFF; + transition: all .3s ease; +} +.big-main-btn a{ + height: 42px; + line-height: 42px; + width: 136px; + font-size: 16px; +} +.jianguo-blue-main-btn:hover a{ + box-shadow: inset 0 1px 1px #7696DE, inset 0 0 2px #627DCA, inset 0 -2px 3px #5A77C7, inset 0 0 100px rgba(48,77,147,.4); +} +.page-order-checkout .last-payment .prices{ + padding: 0 40px; + line-height: 50px; + font-size: 14px; +} +.page-order-checkout .last-payment .prices em{ + display: inline-block; + position: relative; + top: 3px; + margin-top: -4px; + font-size: 24px; + color: #D44D44; +} diff --git a/Vue-shopping/src/assets/css/font-awesome.css b/Vue-shopping/src/assets/css/font-awesome.css new file mode 100644 index 0000000..ee906a8 --- /dev/null +++ b/Vue-shopping/src/assets/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/Vue-shopping/src/assets/css/font-awesome.min.css b/Vue-shopping/src/assets/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/Vue-shopping/src/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/Vue-shopping/src/assets/css/goodsList.css b/Vue-shopping/src/assets/css/goodsList.css new file mode 100644 index 0000000..3c0475b --- /dev/null +++ b/Vue-shopping/src/assets/css/goodsList.css @@ -0,0 +1,225 @@ +@charset "utf-8"; +.sku-box{ + position: relative; +} +.sort-option{ + border-top: 1px solid #D8D8D8; + color: #999; +} +.sort-option ul{ + height: 60px; + line-height: 60px; +} +.sort-option li{ + position: relative; + float: left; + padding-left: 42px; +} +.sort-option li:first-child{ + padding-left: 9px; +} +.sort-option li:before{ + content: ' '; + display: block; + position: absolute; + left: 20px; + top: 50%; + width: 2px; + height: 2px; + margin-top: -1px; + background: #C7C7C7; +} +.sort-option li:first-child:before{ + display: none; +} +.sort-option a{ + display: block; + font-size: 12px; + color: #999; +} +.sort-option a.active, .sort-option a:hover{ + color: #5683EA; +} +.gray-box{ + overflow: hidden; + background: #fff; + border-radius: 8px; + border: 1px solid #dcdcdc; + border-color: rgba(0,0,0,.14); + box-shadow: 0 3px 8px -6px rgba(0,0,0,.1); +} +.sku-box .item-box{ + clear: both; + overflow: hidden; + margin: 0 -1px -1px -1px; +} +.sku-box .item{ + position: relative; + float: left; + border-right: 1px solid #efefef; + border-bottom: 1px solid #efefef; + width: 25%; + height: 429px; + background: #fff; + box-sizing: border-box +} +.sku-box .item:hover{ + box-shadow: 0 0 38px rgba(0,0,0,.08) inset; + transition: all .15s ease; +} +.sku-box .item .item-img img{ + display: block; + width: 206px; + height: 206px; + margin: 50px auto 10px; +} +.sku-box .item h3, .sku-box .item h6{ + overflow: hidden; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; +} +.sku-box .item h6{ + line-height: 1.2; + font-size: 16px; + color: #424242; + margin: 0 auto; + padding: 0 14px; +} +.sku-box .item h3{ + line-height: 1.2; + font-size: 12px; + color: #d0d0d0; + margin: 8px auto 14px; +} +.sku-box .item .params-colors{ + margin-top: 23px; + text-align: center; +} +.sku-box .item .colors-list{ + display: inline-block; + overflow: hidden; +} +.sku-box .item .colors-list li{ + float: left; + margin: 0 5px; +} +.sku-box .item .colors-list>li a{ + width: 8px; + height: 8px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + padding: 2px; + display: block; +} +.sku-box .item .colors-list>li a.active{ + box-shadow: inset 0 0 0 1px #b2b2b2; + border-color: #b2b2b2; +} +.sku-box .item .colors-list>li img{ + width: inherit; + height: inherit; + border-radius: 50%; + display: block; +} +.sku-box .item .item-btns{ + position: absolute; + left: 0; + right: 0; + bottom: 29px; + text-align: center; + opacity: 0; + z-index: 10; +} +.sku-box .item:hover .item-btns{ + opacity: 1; + transition: all .2s ease-in; +} +.sku-box .item .item-btns .item-blue-btn, .sku-box .item .item-btns .item-disabled-btn, .sku-box .item .item-btns .item-gray-btn, .sku-box .item .item-btns .item-green-btn{ + display: inline-block; + box-sizing: border-box; + width: 100px; + height: 30px; + font-size: 12px; + line-height: 28px; + border-radius: 4px; + cursor: pointer; + font-weight: 200; + transition: all .1s ease; +} +.sku-box .item .item-btns .item-gray-btn{ + border: 1px solid #d5d5d5; + color: #646464; +} +.sku-box .item .item-btns .item-gray-btn a{ + display: block; + color: #a1a1a1; +} +.sku-box .item .item-btns .item-gray-btn:hover{ + background-image: linear-gradient(#f6f6f6,#ededed); +} +.sku-box .item .item-btns .item-blue-btn{ + background-color: #5c85e5; + background-image: linear-gradient(#779ae9,#5078df); + border: 1px solid #5c81e3; + color: #fff; + margin-left: 10px; +} +.sku-box .item .item-btns .item-blue-btn:hover{ + border: 1px solid #5374c8; + background-color: #5074db; + background-image: linear-gradient(#6e8ed5,#4769c2); +} +.sku-box .item .item-btns .item-blue-btn:active{ + border: 1px solid #3e61d7; + background-color: #5c85e5; + background-image: linear-gradient(#4d72de,#6189e6); +} +.sku-box .item .item-price{ + font-family: Arial; + color: #c30a18; + margin-top: 24px; + text-align: center; + opacity: 1; +} +.sku-box .item .item-price i{ + font-size: 16px; +} +.sku-box .item .item-price span{ + font-size: 18px; + padding-left: 4px; +} +.sku-box .item:hover .item-price{ + opacity: 0; + transition: all .1s ease-out; +} +.sku-box .item .discount-icon{ + display: none; +} +.sku-box .item .item-cover a{ + display: block; + position: absolute; + left: 0; + top: 0; + z-index: 20; + width: 100%; + height: 310px; +} + + + + + + + + + + + + + + + + diff --git a/Vue-shopping/src/assets/css/header.css b/Vue-shopping/src/assets/css/header.css new file mode 100644 index 0000000..b41de0c --- /dev/null +++ b/Vue-shopping/src/assets/css/header.css @@ -0,0 +1,540 @@ +@charset "utf-8"; +.nav-global{ + height: 100px; + background-color: #e8fae7; +} +.container{ + height: 100%; + width: 1220px; + margin: 0 auto; +} +/*logo*/ +.nav-logo{ + float: left; +} +.nav-logo a{ + display: inline-block; + width: 76px; + height: 98px; + background: url(../img/test1.png) no-repeat; + background-size: cover; +} +/*导航*/ +.nav-global .nav-list{ + float: right; + line-height: 28px; + margin: 36px 23px 0 0; +} +.nav-global .nav-list li{ + float: left; + +} +.nav-global .nav-list a{ + color: #000000; + display: inline-block; + font-size: 14px; + padding: 0 25px; +} +.nav-global .nav-list a:hover{ + color: #05aa34; +} +.nav-aside{ + box-sizing: border-box; + float: right; + margin-top: 38px; + border-left: 1px solid rgba(255,255,255,.2); +} +.nav-aside>li{ + position: relative; + float: left; +} +.nav-aside>li>a{ + font-size: 0; +} + +/*用户列表*/ +.nav-user{ + margin-left: 40px; + width: 36px; +} +.nav-user>a:before{ + content: " "; + position: absolute; + left: 8px; + width: 20px; + top: 0; + height: 20px; + background: url(../img/account-icon.png) -155px 0; + background-size: 240px 107px; + transition: none; +} +/* .nav-user:hover>a:before{ + background-position: -5px 0; +} */ +.nav-user-wrapper{ + position: absolute; + z-index: 30; + padding-top: 18px; + opacity: 0; + visibility: hidden; + top: -3000px; + width: 168px; + left: 50%; + margin-left: -70px; +} +.nav-user:hover .nav-user-wrapper{ + top: 18px; + visibility: visible; + opacity: 1; + transition: opacity .15s ease-out; +} +.nav-user-list{ + position: relative; + width: 168px; + padding-top: 20px; + background: #fff; + border: 1px solid #d6d6d6; + border-color: rgba(0,0,0,.08); + border-radius: 8px; + box-shadow: 0 20px 40px rgba(0,0,0,.15) +} +.nav-user-list:before{ + position: absolute; + content: " "; + background: url(../img/account-icon.png) no-repeat -49px -43px; + background-size: 240px 107px; + width: 20px; + height: 8px; + left: 50%; + top: -8px; + margin-left: -25px; +} +.nav-user-avatar>dd{ + display: block; + position: relative; + margin: 0 auto; + width: 46px; + height: 46px; + margin-bottom: 8px; +} +.nav-user-avatar>dd:before{ + content: ""; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + border-radius: 50%; + box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); +} +.nav-user-avatar span{ + border-radius: 50%; + display: block; + width: 100%; + height: 100%; + background: url(../img/user-avatar.png) no-repeat; + background-size: contain; +} +.nav-user-avatar dt{ + margin-bottom: 16px; + font-size: 12px; + line-height: 1.5; + text-align: center; + color: #757575; +} +.nav-user-list li a{ + position: relative; + border-top: 1px solid #f5f5f5; + display: block; + padding-left: 54px; + line-height: 44px; + height: 44px; + color: #616161; + font-size: 12px; +} +.nav-user-list li a:hover{ + background-color: #05aa34; +} +.nav-user-list li a:before{ + background: url(../img/account-icon.png) no-repeat; + background-size: 240px 107px; + content: ' '; + display: block; + position: absolute; + left: 22px; + top: 50%; + width: 20px; + height: 20px; + margin-top: -8px; +} +.nav-user-list li.order a:before{ + background-position: 0 -44px; +} +.nav-user-list li.support a:before{ + background-position: -20px -44px; +} +.nav-user-list li.coupon a:before{ + background-position: -20px -84px; +} +.nav-user-list li.information a:before{ + background-position: 0 -64px; +} +.nav-user-list li.address a:before{ + background-position: -20px -64px; +} +.nav-user-list li.logout a:before{ + background-position: 0 -84px; +} +/*购物车*/ +.nav-cart{ + margin-left: 21px; + width: 61px; +} +.nav-cart>a{ + display: block; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 1; +} +.nav-cart>a:before{ + content: ' '; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 30px; + height: 20px; + background: url(../img/account-icon.png) -150px -22px; + background-size: 240px 107px; +} +/* .nav-cart:hover>a:before{ + background-position: 0 -22px; +} */ +.cart-empty-num{ + position: relative; + margin-left: 31px; + margin-top: -1px; + min-width: 30px; + text-indent: 0; + line-height: 20px; +} +.cart-empty-num i{ + font-style: normal; + display: inline-block; + width: 20px; + height: 20px; + line-height: 20px; + border-radius: 10px; + color: #fff; + font-size: 12px; + text-align: center; + background: #969696; + background-image: linear-gradient(#A4A4A4,#909090); + box-shadow: inset 0 0 1px #838383, 0 1px 2px #838383; +} +.cart-num i { + background: #eb746b; + background-image: linear-gradient(#eb746b,#e25147); + box-shadow: inset 0 0 1px rgba(255,255,255,.15), 0 1px 2px rgba(255,255,255,.15); +} +.nav-cart-wrapper{ + position: absolute; + right: 0; + padding-top: 18px; + opacity: 1; + top: 18px; + z-index: 30; + width: 360px; +} +.nav-cart-wrapper:before{ + position: absolute; + content: ' '; + background: url(../img/account-icon.png) no-repeat -49px -43px; + -webkit-background-size: 240px 107px; + background-size: 240px 107px; + width: 20px; + height: 8px; + right: 34px; + top: 10px; + z-index: 11; +} +.nav-cart.active .nav-cart-wrapper{ + display: block; + top: 18px; + opacity: 1; + visibility: visible; +} +.nav-cart-list{ + position: relative; + z-index: 10; + background: #fff; + border: 0 solid rgba(255,255,255,.01); + border-radius: 8px; + box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 20px 40px rgba(0,0,0,.15); + overflow: hidden; +} +.nav-cart-list .empty{ + overflow: hidden; + height: 134px; + padding-top: 180px; + background: url(../img/cart-empty.png) center 90px no-repeat; + background-size: auto 62px; + text-align: center; +} +.nav-cart-list .empty h3{ + font-size: 18px; + color: #333; + margin-bottom: 7px; +} +.nav-cart-list .empty p{ + font-size: 12px; + color: #bcbcbc; +} +.nav-cart-list .full{ + border-radius: 8px; + overflow: hidden; +} +.nav-cart-list .nav-cart-items{ + max-height: 665px; + overflow-x: hidden; + overflow-y: auto; +} +.nav-cart-list .cart-item{ + height: 120px; + width: 100%; + overflow: hidden; + border-top: 1px solid #f0f0f0; +} +.nav-cart-list .cart-item:first-child{ + border-top: none; + border-radius: 8px 8px 0 0; + overflow: hidden; +} +.nav-cart-list .cart-item-inner{ + height: 80px; + padding: 20px; + position: relative; +} +.nav-cart-list .item-thumb{ + position: relative; + float: left; + width: 80px; + height: 80px; + border-radius: 3px; +} +.nav-cart-list .item-thumb:before{ + content: ""; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 2; + border: 1px solid #f0f0f0; + border: 0 solid transparent; + box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); + border-radius: 3px; +} +.nav-cart-list .item-thumb img{ + display: block; + width: 80px; + height: 80px; + border-radius: 3px; + overflow: hidden; +} +.nav-cart-list .item-desc{ + margin-left: 98px; + display: table; + width: 205px; + height: 80px; +} +.nav-cart-list .cart-cell{ + display: table-cell; + vertical-align: middle; +} +.nav-cart-list .item-desc h4, .nav-cart-list .item-desc h4 a{ + color: #000; +} +.nav-cart-list .item-desc h4{ + width: 185px; + overflow: hidden; + word-break: keep-all; + white-space: nowrap; + text-overflow: ellipsis; + font-size: 14px; + line-height: 16px; + margin-bottom: 10px; +} +.nav-cart-list .item-desc .attrs{ + font-size: 0; +} +.nav-cart-list .item-desc .attrs span{ + position: relative; */ + display: inline-block; + margin-right: 20px; + font-size: 14px; + line-height: 14px; + color: #999; +} +.nav-cart-list .item-desc .attrs span:last-child{ + margin-right: 0; +} +.nav-cart-list .item-desc h6{ + color: #cacaca; + font-size: 12px; + line-height: 14px; + margin-top: 20px; +} +.nav-cart-list .del-btn{ + cursor: pointer; + display: none; + overflow: hidden; + width: 20px; + height: 20px; + position: absolute; + right: 20px; + top: 50%; + margin-top: -11px; + background: url(../img/account-icon.png) -50px -60px no-repeat; + background-size: 240px 107px; + text-indent: -9999em; +} +.nav-cart-list .cart-item:hover .del-btn{ + display: block; +} +.nav-cart-list .del-btn:hover{ + background-position: -75px -60px; +} +.nav-cart-list .nav-cart-total{ + position: relative; + padding: 20px; + height: 40px; + background: #fafafa; + border-top: 1px solid #f0f0f0; + border-radius: 0 0 8px 8px; + box-shadow: inset 0 -1px 0 rgba(255,255,255,.5), 0 -3px 8px rgba(0,0,0,.04); + background: linear-gradient(#fafafa,#f5f5f5); +} +.nav-cart-list .nav-cart-total p{ + margin-bottom: 4px; + line-height: 16px; + font-size: 12px; + color: #c1c1c1; +} +.nav-cart-list .nav-cart-total h5{ + line-height: 20px; + font-size: 14px; + color: #6f6f6f; +} +.nav-cart-list .nav-cart-total h5 span{ + font-size: 18px; + color: #de4037; + display: inline-block; + font-weight: 700; +} +.nav-cart-list .nav-cart-total h5 span:first-child{ + font-size: 12px; + margin-right: 5px; +} +.nav-cart-list .nav-cart-total h5 span{ + font-size: 18px; + color: #de4037; + display: inline-block; + font-weight: 700; +} +.nav-cart-list .nav-cart-total h6{ + position: absolute; + right: 20px; + top: 20px; + width: 108px; + +} +.nav-aside .nav-cart-btn{ + display: block; + height: 38px; + background: #688fe8; + background: linear-gradient(#688fe8,#5079e1); + border: 1px solid #5c81e3; + border-radius: 6px; + box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 3px rgba(0,0,0,.2); + line-height: 38px; + text-align: center; + color: #FFF; + text-shadow: 0 -1px 0 rgba(0,0,0,.15) +} +/*次导航*/ +.nav-sub{ + position: relative; + z-index: 20; + height: 90px; +} +.nav-sub-wrapper{ + padding: 31px 0; + height: 28px; + position: relative; +} +.nav-sub .nav-list{ + float: left; + height: 28px; + line-height: 28px; +} +.nav-sub .nav-list li{ + position: relative; + float: left; + padding-left: 2px; +} +.nav-sub .nav-list li:first-child{ + padding-left: 0; +} +.nav-sub .nav-list li:before{ + content: ' '; + position: absolute; + left: 0; + top: 13px; + width: 2px; + height: 2px; + background: #bdbdbd; +} +.nav-sub .nav-list li:first-child:before{ + display: none; +} +.nav-sub .nav-list li a{ + display: block; + padding: 0 20px; + color: #666; +} +.nav-sub .nav-list li:first-child a{ + padding-left: 10px; +} +.nav-sub .nav-list li.active a{ + font-weight: 700; +} +.nav-sub .nav-list li a:hover{ + color: #05aa34; +} +.nav-global .addcart-mask{ + position: absolute; + left: 0; + top: -5px; + padding: 0; + width: 32px; + height: 32px; + pointer-events: none; + z-index: 240; + transform: translate3d(0,0,0); +} +.nav-global .addcart-mask .mask-item{ + pointer-events: none; + width: 32px; + height: 32px; + box-sizing: border-box; + overflow: hidden; + border-radius: 50%; + background: #fff; + box-shadow: 0 0 0 1px rgba(0,0,0,.05), 0 3px 8px rgba(0,0,0,.1); + background-size: contain; + transform: translate3d(0,0,0); +} diff --git a/Vue-shopping/src/assets/css/item.css b/Vue-shopping/src/assets/css/item.css new file mode 100644 index 0000000..b4bcba3 --- /dev/null +++ b/Vue-shopping/src/assets/css/item.css @@ -0,0 +1,297 @@ +@charset "utf-8"; +.item-box{ + width: 1098px; + padding: 60px; + margin-bottom: 20px; + display: table; + overflow: hidden; + background: #fff; + border-radius: 8px; + border: 1px solid #dcdcdc; + border-color: rgba(0,0,0,.14); + box-shadow: 0 3px 8px -6px rgba(0,0,0,.1); +} +.banner, .gallery-wrapper{ + display: table-cell; +} +.gallery-wrapper{ + vertical-align: top; +} +.gallery{ + float: left; + width: 540px; + display: table-cell; +} +.thumb, .thumbnail{ + display: table-cell; + vertical-align: middle; +} +.thumbnail li{ + width: 54px; + height: 54px; + margin-top: 10px; + padding: 12px; + border: 1px solid rgba(0,0,0,.06); + border-radius: 5px; + cursor: pointer; +} +.thumbnail li:first-child{ + margin-top: 0; +} +.thumbnail li.on{ + padding: 10px; + border: 3px solid #ccc; + border: 3px solid rgba(0,0,0,.2); +} +item-box img{ + max-width: 100%; + height: auto; +} +.thumb>ul{ + margin-left: 20px; + width: 440px; + height: 440px; + position: relative; +} +.thumb li{ + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + opacity: 0; + text-align: center;\ + user-select: none; +} +.thumb li.on{ + animation: thumb-change .35s ease-out 1; + position: relative; + display: block; + z-index: 1; + opacity: 1; +} +.item-box .banner{ + vertical-align: middle; + width: 450px; + margin-left: 10px; +} +.item-box .banner .sku-custom-title{ + overflow: hidden; + padding: 8px 8px 18px 10px; + position: relative; +} +.item-box .banner .params-price{ + position: absolute; + right: 8px; + bottom: 19px; +} +.item-box .banner .params-price span{ + display: block; + color: #de4037; + font-weight: 700; + font-size: 16px; + line-height: 20px; + text-align: right; +} +.item-box .banner .params-price span i{ + padding-left: 2px; + font-size: 24px; +} +.item-box .banner .sku-custom-title .params-info{ + width: 360px; +} +.item-box .banner .sku-custom-title h4{ + font-size: 24px; + line-height: 1.25; + color: #000; + margin-bottom: 13px; +} +.item-box .banner .sku-custom-title h6{ + font-size: 14px; + line-height: 1.5; + color: #bdbdbd; +} +.item-box .banner .sku-dynamic-params-panel{ + padding: 29px 0 8px 10px; + border-top: 1px solid #ebebeb; +} +.item-box .banner .sku-dynamic-params{ + margin-bottom: 19px; +} +.item-box .banner .params-name{ + float: left; + padding-right: 20px; + font-size: 14px; + color: #8d8d8d; + line-height: 36px; +} +.item-box .banner .sku-dynamic-params .params-colors{ + float: left; + line-height: 36px; + margin: -10px 0 0 -10px; + width: 402px; +} +.item-box .banner .sku-dynamic-params .params-colors>li{ + float: left; + margin: 10px 0 0 10px; +} +.item-box .banner .sku-dynamic-params .params-colors>li a{ + display: block; + width: 26px; + height: 26px; + border: 2px solid #E5E5E5; + padding: 3px; + text-align: center; + color: #757575; + border-radius: 50%; +} +.item-box .banner .sku-dynamic-params .params-colors>li.cur a{ + border-color: #B2B2B2; + box-shadow: inset 0 0 0 1px #B2B2B2; +} +.item-box .banner .sku-dynamic-params .params-colors>li i, .item-box .banner .sku-dynamic-params .params-colors>li img{ + position: relative; + display: block; + width: 100%; + border-radius: 50%; +} +.item-box .banner .sku-dynamic-params{ + margin-bottom: 19px; +} +.item-box .banner .params-detail{ + line-height: 36px; + float: left; + width: 392px; +} +.item-box .item-num{ + float: left; + width: 128px; +} +.item-box .item-num .down:before, .item-box .item-num .up:before{ + content: ''; + position: absolute; + left: -4px; + right: -4px; + top: 0; + height: 45px; + background: url(../img/cart-updown-item.png) no-repeat; + background-size: 100% auto; +} +.item-box .item-num .down:before{ + content: " "; + background-position: 0 -60px; +} +.item-box .item-num .down:hover:before{ + content: " "; + background-position: 0 -180px; +} +.item-box .item-num .down.down-disabled:before, .item-box .item-num .down.down-disabled:hover:before{ + content: " "; + background-position: 0 -300px; +} +.item-box .item-num .down, .item-box .item-num .up{ + position: relative; + float: left; + display: inline-block; + width: 36px; + height: 36px; + line-height: 40px; + text-indent: -9999em; + cursor: pointer; + user-select: none; +} +.item-box .item-num .down.down-disabled, .item-box .item-num .up.up-disabled{ + cursor: not-allowed; +} +.item-box .item-num .up:before{ + background-position: 0 0; +} +.item-box .item-num .up:hover:before{ + background-position: 0 -120px; +} +.item-box .item-num .up.up-disabled:before, .item-box .item-num .up.up-disabled:hover:before{ + content: " "; + background-position: 0 -240px; +} +.item-box .item-num .num{ + position: relative; + overflow: hidden; + float: left; + display: inline-block; + width: 56px; + height: 18px; + margin: 7px 0 0; + border: none; + border-radius: 3px; + line-height: 18px; + text-align: center; + font-size: 14px; +} +.item-box .item-num input{ + width: 56px; + height: 18px; + background-color: transparent; + border: none; + border-radius: 3px; + text-align: center; + font-size: 14px; + line-height: 18px; + padding: 0; +} +.item-box .item-num ul{ + /*display: none;*/ + position: absolute; + left: 0; + top: 0; + width: 56px; +} +.item-box .item-num ul li{ + width: 56px; + height: 18px; +} +.item-box .sku-status{ + position: relative; + border-top: 1px solid #ebebeb; + padding: 30px 0 0 10px; +} +.item-box .blue-title-btn{ + float: left; + display: inline-block; + width: 143px; + height: 48px; + line-height: 48px; + text-align: center; + border-radius: 7px; + border: 1px solid #5c81e3; + background-color: #5c85e5; + background-image: linear-gradient(#779ae9,#5078df); + color: #fff; + cursor: pointer; +} +.item-box .blue-title-btn:hover{ + transition: all .15s ease-out; + box-shadow: inset 0 1px 1px #7696DE, inset 0 0 2px #627DCA, inset 0 -2px 3px #5A77C7, inset 0 0 100px rgba(48,77,147,.4); +} +.item-box .blue-title-btn a, .item-box .green-title-btn a{ + color: #fff; +} +.item-box .cart-operation-wrapper .gray-title-btn{ + margin-left: 20px; +} +.item-box .gray-title-btn{ + display: inline-block; + width: 143px; + height: 48px; + line-height: 48px; + text-align: center; + background: linear-gradient(#fff,#fafafa); + border: 1px solid #e0e0e0; + border-radius: 7px; + color: #8c8c8c; + cursor: pointer; +} +.item-box .gray-title-btn:hover{ + transition: all .15s ease-out; + background: linear-gradient(#f6f6f6,#ededed); +} diff --git a/Vue-shopping/src/assets/css/order.css b/Vue-shopping/src/assets/css/order.css new file mode 100644 index 0000000..26fef95 --- /dev/null +++ b/Vue-shopping/src/assets/css/order.css @@ -0,0 +1,288 @@ +@charset "utf-8"; +.account-order .gray-box{ + margin-bottom: 20px; +} +.gray-box .columns-title h2{ + float: left; +} +.gray-btn-menu{ + display: inline-block; + height: 36px; + background: #F2F2F2; + background: linear-gradient(#FFF,#F5F5F5); + border: 1px solid #DBDDE2; + border-radius: 4px; + line-height: 36px; + cursor: pointer; + text-align: center; + user-select: none; +} +.account-order .sort-status-menu{ + width: 112px; +} +.gray-box .title .gray-btn-menu, .gray-box .title span.gray-normal-btn{ + margin: 10px 0 0 10px; +} +.gray-box .title .gray-btn-menu{ + overflow: visible; + float: right; +} +.gray-btn-menu .label{ + position: relative; + z-index: 1; + display: block; + padding: 0 13px 0 16px; + text-align: left; + color: #666; +} +.gray-box .title .gray-btn-menu .label{ + overflow: visible; + float: none; + margin-top: 0; +} +.gray-btn-menu .label .arrow{ + float: right; + width: 10px; + height: 7px; + margin: 16px 0 0 6px; + background: url(../img/btn-icon-new.png) -15px -571px no-repeat; +} +.gray-btn-menu .menu-list{ + display: none; + position: absolute; + right: -1px; + top: -1px; + width: 100%; + padding: 38px 0 6px; + background: #FFF; + border: 1px solid #dbdde2; + border-radius: 4px; + box-shadow: 0 1px 3px 0 #EEE; +} +.gray-btn-menu-on .menu-list, .white-btn-menu-on .menu-list{ + display: block; +} +.gray-btn-menu .menu-list li{ + height: 24px; + line-height: 24px; + padding: 0 3px 3px; + text-align: left; + font-size: 12px; +} +.gray-btn-menu .menu-list li a{ + display: block; + padding: 0 15px; + border-radius: 3px; + color: #999; +} +.gray-btn-menu .menu-list li a:hover{ + background: #C7C7CA; + color: #FFF; +} +.gray-btn-menu .menu-list li.selected a{ + background: #8F9096; + color: #FFF; + cursor: default; +} +.account-order .sort-time-menu{ + width: 118px; +} +.gray-btn-menu-on .label .arrow, .white-btn-menu-on .label .arrow{ + margin-top: 15px; + background-position: -15px -521px; +} +.gray-btn-menu-on, .white-btn-menu-on{ + position: relative; + z-index: 10; + height: auto; + background: #FFF; +} +.gray-btn-menu-on{ + border: 1px solid #DBDDE2; +} +.gray-box, .gray-btn-menu-on:hover{ + background: #FFF; +} +.gray-box .gray-sub-title{ + height: 38px; + padding: 0 24px; + background: #EEE; + border-top: 1px solid #DBDBDB; + border-bottom: 1px solid #DBDBDB; + line-height: 38px; + font-size: 12px; + color: #666; +} +.account-order .gray-box .box-inner:first-child .gray-sub-title{ + border-top: none; +} +.order-list-cart .cart-title span{ + float: right; + text-align: center; +} +.order-list-cart .cart-title .operation, .order-list-cart .cart-title .order-detail, .order-list-cart .cart-title .sub-total{ + float: right; +} +.order-list-cart .cart-title .date, .order-list-cart .cart-title .order-id{ + float: left; + text-align: left; +} +.order-list-cart .cart-title .date{ + width: 108px; + padding-left: 6px; +} +.order-list-cart .cart-title .order-detail{ + width: 82px; + padding-left: 24px; + text-align: center; +} +.order-list-cart .cart-title .sub-total{ + width: 102px; + padding-right: 18px; + border-left: 1px solid #DBDBDB; + text-align: right; +} +.order-list-cart .cart-title .operation{ + width: 95px; + height: 38px; + padding-right: 23px; +} +.order-list-cart .cart-title .num{ + width: 70px; +} +.order-list-cart .cart-title .price{ + width: 85px; + padding-right: 27px; + text-align: right; +} +.gray-box .gray-sub-title a{ + color: #6989E0; +} +.order-list-cart .cart{ + float: left; + width: 737px; + padding: 0; + border-right: 1px solid #EBEBEB; +} +.order-cart .cart-items{ + position: relative; + padding: 18px 0 28px; + border-top: 1px solid #EFEFEF; +} +.order-list-cart .cart-items{ + height: 110px; + padding: 0; +} +.order-cart .cart-items:first-child{ + border-top: none; +} +.order-cart .prod-info{ + position: relative; + margin-left: 138px; +} +.order-list-cart .prod-info{ + padding: 15px 0 15px 111px; + margin-left: 0; + position: relative; +} +.order-list-cart .items-thumb{ + position: absolute; + left: 30px; + top: 15px; + width: 78px; + height: 78px; + border: 1px solid #EBEBEB; + border-radius: 3px; +} +.order-list-cart .items-thumb img{ + width: 78px; + height: 78px; +} +.order-list-cart .items-params{ + float: left; + height: 50px; + padding: 15px 0; + margin-left: 29px; + border-bottom: none; + line-height: 25px; +} +.order-cart .items-params .name{ + overflow: hidden; + float: left; + color: #666; + width: 435px; + height: 44px; + text-align: left; +} +.order-list-cart .prod-info .name{ + float: none; + width: 220px; + height: 25px; + line-height: 25px; +} +.order-list-cart .prod-info .vh-center{ + height: auto; + line-height: 50px; +} +.hide-row, .order-cart .items-params .name, .support-cart .items-detail .detail{ + text-overflow: ellipsis; + white-space: nowrap; +} +.order-list-cart .prod-info .num, .order-list-cart .prod-info .operation, .order-list-cart .prod-info .price, .order-list-cart .prod-info .subtotal{ + float: right; + line-height: 80px; + text-align: center; +} +.order-list-cart .prod-info .operation{ + display: table; + width: 95px; + height: 80px; + padding-right: 23px; + line-height: 25px; +} +.order-list-cart .prod-info .num{ + width: 70px; +} +.order-list-cart .prod-info .price{ + width: 85px; + padding-right: 27px; + text-align: right; +} +.order-list-cart .prod-operation{ + float: right; + display: table; + height: 110px; +} +.order-list-cart .prod-operation .total{ + display: table-cell; + padding-right: 18px; + line-height: 14px; + text-align: right; + vertical-align: middle; +} +.order-list-cart .prod-operation .status{ + display: table-cell; + width: 80px; + padding: 0 24px; + text-align: center; + vertical-align: middle; +} +.blue-small-btn, .orange-small-btn, .white-gray-small-btn{ + display: inline-block; + height: 30px; + padding: 0 13px; + border-radius: 4px; + line-height: 30px; + font-size: 12px; + cursor: pointer; +} +.blue-small-btn{ + background: #6383C6; + background: linear-gradient(#7EA3F5,#5A82F0); + box-shadow: 0 1px 2px rgba(255,255,255,.1) inset, 0 0 0 1px rgba(0,0,0,.2) inset, 0 1px 3px rgba(0,0,0,.1); + color: #FFF; +} +.blue-small-btn:hover{ + box-shadow: 0 1px 1px #7696DE inset, 0 0 2px #627DCA inset, 0 -2px 3px #5A77C7 inset, 0 0 100px rgba(48,77,147,.4) inset, 0 0 0 1px rgba(0,0,0,.3) inset, 0 1px 3px rgba(0,0,0,.1); + color: #FFF; +} diff --git a/Vue-shopping/src/assets/css/reset.css b/Vue-shopping/src/assets/css/reset.css new file mode 100644 index 0000000..646941a --- /dev/null +++ b/Vue-shopping/src/assets/css/reset.css @@ -0,0 +1,125 @@ +@charset "utf-8"; +/* CSS Document */ +/*html,body { user-select: none; -moz-user-select: none; -webkit-user-select: none; }*/ +body, +ul, +ol, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +p, +input, +select, +textarea, +form { + margin: 0; + padding: 0; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: 400; +} +html { + height: 100%; + background: #ededed; +} +body { + font-family: "PingFang SC", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft Yahei", 微软雅黑, STHeiti, 华文细黑, sans-serif; + color: rgb(102, 102, 102); + font-size: 14px; + min-width: 1220px; + background-color: aliceblue; +} +li { + list-style: none; +} +img { + border: none; + display: block; +} +input, +select, +textarea, +button { + font-family: tahoma, arial, 'Hiragino Sans GB', '微软雅黑', sans-serif; + outline: none; + border: none; + background-color: transparent; +} +em, +i, +dfn { + font-style: normal; +} +textarea { + resize: none; + overflow: auto; + outline: none; +} +a { + text-decoration: none; + color: #666; + outline: none; + cursor: pointer; +} +a:hover { + outline: none; +} +button { + cursor: pointer; +} +button:focus { + border: none; + outline: none; +} +pre { + white-space: pre-wrap!important; + word-wrap: break-word!important; + *white-space:normal!important; +} +.fl { + float: left; +} +.fr { + float: right; +} +.clear:after, +.clear:before { + content: ""; + display: table; +} +.clear:after { + clear: both; +} +.clear { + *zoom: 1; +} +.store-content{ + width: 1220px; + min-height: 600px; + padding: 0 0 25px; + margin: 0 auto; + position: relative; +} +.hide{ + display: none!important; +} +.fn-left, .fn-right{ + display: inline; +} +.fn-left{ + float: left; +} +.fn-right{ + float: right; +} \ No newline at end of file diff --git a/Vue-shopping/src/assets/img/192028-1532604028454e.jpg b/Vue-shopping/src/assets/img/192028-1532604028454e.jpg new file mode 100644 index 0000000..15b71c7 Binary files /dev/null and b/Vue-shopping/src/assets/img/192028-1532604028454e.jpg differ diff --git a/Vue-shopping/src/assets/img/33.jpg b/Vue-shopping/src/assets/img/33.jpg new file mode 100644 index 0000000..82cc3a6 Binary files /dev/null and b/Vue-shopping/src/assets/img/33.jpg differ diff --git a/Vue-shopping/src/assets/img/44.png b/Vue-shopping/src/assets/img/44.png new file mode 100644 index 0000000..67d55c5 Binary files /dev/null and b/Vue-shopping/src/assets/img/44.png differ diff --git a/Vue-shopping/src/assets/img/account-bottom-bar-bg.png b/Vue-shopping/src/assets/img/account-bottom-bar-bg.png new file mode 100644 index 0000000..4228a62 Binary files /dev/null and b/Vue-shopping/src/assets/img/account-bottom-bar-bg.png differ diff --git a/Vue-shopping/src/assets/img/account-icon.png b/Vue-shopping/src/assets/img/account-icon.png new file mode 100644 index 0000000..0ca6153 Binary files /dev/null and b/Vue-shopping/src/assets/img/account-icon.png differ diff --git a/Vue-shopping/src/assets/img/btn-icon-new.png b/Vue-shopping/src/assets/img/btn-icon-new.png new file mode 100644 index 0000000..edccbc4 Binary files /dev/null and b/Vue-shopping/src/assets/img/btn-icon-new.png differ diff --git a/Vue-shopping/src/assets/img/cart-box-empty.png b/Vue-shopping/src/assets/img/cart-box-empty.png new file mode 100644 index 0000000..6d6accc Binary files /dev/null and b/Vue-shopping/src/assets/img/cart-box-empty.png differ diff --git a/Vue-shopping/src/assets/img/cart-empty.png b/Vue-shopping/src/assets/img/cart-empty.png new file mode 100644 index 0000000..5064e60 Binary files /dev/null and b/Vue-shopping/src/assets/img/cart-empty.png differ diff --git a/Vue-shopping/src/assets/img/cart-updown-item.png b/Vue-shopping/src/assets/img/cart-updown-item.png new file mode 100644 index 0000000..2e05aae Binary files /dev/null and b/Vue-shopping/src/assets/img/cart-updown-item.png differ diff --git a/Vue-shopping/src/assets/img/cart-updown.jpg b/Vue-shopping/src/assets/img/cart-updown.jpg new file mode 100644 index 0000000..13d0114 Binary files /dev/null and b/Vue-shopping/src/assets/img/cart-updown.jpg differ diff --git a/Vue-shopping/src/assets/img/checkbox-bg.png b/Vue-shopping/src/assets/img/checkbox-bg.png new file mode 100644 index 0000000..90899fe Binary files /dev/null and b/Vue-shopping/src/assets/img/checkbox-bg.png differ diff --git a/Vue-shopping/src/assets/img/checkbox-new.png b/Vue-shopping/src/assets/img/checkbox-new.png new file mode 100644 index 0000000..e755146 Binary files /dev/null and b/Vue-shopping/src/assets/img/checkbox-new.png differ diff --git a/Vue-shopping/src/assets/img/delete-btn-icon.jpg b/Vue-shopping/src/assets/img/delete-btn-icon.jpg new file mode 100644 index 0000000..9c3916c Binary files /dev/null and b/Vue-shopping/src/assets/img/delete-btn-icon.jpg differ diff --git a/Vue-shopping/src/assets/img/global-logo.png b/Vue-shopping/src/assets/img/global-logo.png new file mode 100644 index 0000000..560dbf0 Binary files /dev/null and b/Vue-shopping/src/assets/img/global-logo.png differ diff --git a/Vue-shopping/src/assets/img/global-logo1.png b/Vue-shopping/src/assets/img/global-logo1.png new file mode 100644 index 0000000..89f4c84 Binary files /dev/null and b/Vue-shopping/src/assets/img/global-logo1.png differ diff --git a/Vue-shopping/src/assets/img/goods/1.jpg b/Vue-shopping/src/assets/img/goods/1.jpg new file mode 100644 index 0000000..387e6be Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/1.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/1.png b/Vue-shopping/src/assets/img/goods/1.png new file mode 100644 index 0000000..59a5692 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/1.png differ diff --git a/Vue-shopping/src/assets/img/goods/2.jpg b/Vue-shopping/src/assets/img/goods/2.jpg new file mode 100644 index 0000000..23738c3 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/2.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/2.png b/Vue-shopping/src/assets/img/goods/2.png new file mode 100644 index 0000000..c016f35 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/2.png differ diff --git a/Vue-shopping/src/assets/img/goods/3.jpg b/Vue-shopping/src/assets/img/goods/3.jpg new file mode 100644 index 0000000..6a95362 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/3.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/3.png b/Vue-shopping/src/assets/img/goods/3.png new file mode 100644 index 0000000..64914b4 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/3.png differ diff --git a/Vue-shopping/src/assets/img/goods/4.jpg b/Vue-shopping/src/assets/img/goods/4.jpg new file mode 100644 index 0000000..387e6be Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/4.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/4.png b/Vue-shopping/src/assets/img/goods/4.png new file mode 100644 index 0000000..e140a54 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/4.png differ diff --git a/Vue-shopping/src/assets/img/goods/b1.jpg b/Vue-shopping/src/assets/img/goods/b1.jpg new file mode 100644 index 0000000..6014237 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/b1.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/b1.png b/Vue-shopping/src/assets/img/goods/b1.png new file mode 100644 index 0000000..7d43005 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/b1.png differ diff --git a/Vue-shopping/src/assets/img/goods/b2.png b/Vue-shopping/src/assets/img/goods/b2.png new file mode 100644 index 0000000..b2f07f8 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/b2.png differ diff --git a/Vue-shopping/src/assets/img/goods/s1.jpg b/Vue-shopping/src/assets/img/goods/s1.jpg new file mode 100644 index 0000000..23738c3 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/s1.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/ss1.jpg b/Vue-shopping/src/assets/img/goods/ss1.jpg new file mode 100644 index 0000000..b21ce32 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/ss1.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/ss2.jpg b/Vue-shopping/src/assets/img/goods/ss2.jpg new file mode 100644 index 0000000..fe649dd Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/ss2.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/ss3.jpg b/Vue-shopping/src/assets/img/goods/ss3.jpg new file mode 100644 index 0000000..02c5716 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/ss3.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/ss4.jpg b/Vue-shopping/src/assets/img/goods/ss4.jpg new file mode 100644 index 0000000..f0af578 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/ss4.jpg differ diff --git a/Vue-shopping/src/assets/img/goods/ss5.jpg b/Vue-shopping/src/assets/img/goods/ss5.jpg new file mode 100644 index 0000000..3dcb576 Binary files /dev/null and b/Vue-shopping/src/assets/img/goods/ss5.jpg differ diff --git a/Vue-shopping/src/assets/img/logo.png b/Vue-shopping/src/assets/img/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/Vue-shopping/src/assets/img/logo.png differ diff --git a/Vue-shopping/src/assets/img/test1.png b/Vue-shopping/src/assets/img/test1.png new file mode 100644 index 0000000..6d16c4a Binary files /dev/null and b/Vue-shopping/src/assets/img/test1.png differ diff --git a/Vue-shopping/src/assets/img/ui.png b/Vue-shopping/src/assets/img/ui.png new file mode 100644 index 0000000..de22f6e Binary files /dev/null and b/Vue-shopping/src/assets/img/ui.png differ diff --git a/Vue-shopping/src/assets/img/user-avatar.png b/Vue-shopping/src/assets/img/user-avatar.png new file mode 100644 index 0000000..25987b0 Binary files /dev/null and b/Vue-shopping/src/assets/img/user-avatar.png differ diff --git a/Vue-shopping/src/assets/js/goods.js b/Vue-shopping/src/assets/js/goods.js new file mode 100644 index 0000000..dd0b19d --- /dev/null +++ b/Vue-shopping/src/assets/js/goods.js @@ -0,0 +1,371 @@ +var goodData = [ +{ + "id": 1000299, + "name":"Smartisan 快充移动电源 10000mAh", + "price":199.00,"sale_status":3, + "product_info": + { + "product_name":"Smartisan 快充移动电源 10000mAh", + "product_code":"1000299", + "brand_id":"1", + "category_id":"59", + "product_type":"1", + "delivery_type":"5", + "delivery_area":"7", + "supply_type":"A", + "tax_rate":"17", + "desc":"", + "is_package":"0", + "is_mobile":0, + "is_insurance":0, + "accessory_goods":[] + }, + "shop_info": + { + "spu_title":"Smartisan 快充移动电源 10000mAh", + "spu_sub_title":"10000mAh 双向快充、轻盈便携、高标准安全保护", + "spu_promo_title":"", + "sale_model":"1", + "book_num":null, + "spec_v2":[ + { + "spec_id":"1", + "spec_name":"颜色", + "visiable":"0", + "show_type":"2", + "spec_values":[ + { + "id":"70", + "spec_id":"1", + "item_value":"灰色", + "show_name":"灰色", + "image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/" + } + ], + "image_pre":"http://img01.smartisanos.cn/", + "image_name":"origin.jpg" + } + ], + "tpl_id":"base", + "tpl_content": + { + "base": + { + "images": + { + "1x":[], + "2x":[], + "mobile":[], + "image_pre":"", + "image_name":"", + "ali": + { + "url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg", + "width":1220, + "height":6478, + "piece_height":1440, + "pieces_num":5 + }, + "ali_mobile": + { + "url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg", + "width":1220, + "height":6478, + "piece_height":1440, + "pieces_num":5 + } + }, + "attributes":[ + { + "title":"", + "list":[ + { + "name":"", + "value":"" + } + ] + } + ], + "aftersale":[ + { + "title":"", + "content":"" + } + ], + "extra":[ + { + "title":"", + "content":"" + } + ] + } + }, + "buy_notes":[] + }, + "sku_info":[ + { + "sku_id":"100029901", + "title":"Smartisan 快充移动电源 10000mAh", + "sub_title":"10000mAh 双向快充、轻盈便携、高标准安全保护", + "promo_title":"", + "color_id":"70", + "appearance_color_id":"", + "image":null, + "ali_image":"http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg", + "direct_to_cart":true, + "price":"199.00", + "spec_json":[ + { + "spec_id":"1", + "spec_value_id":"70", + "show_name":"灰色", + "image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/" + } + ] + } + ], + "acc_info": + { + "package_list":"" + }, + "after_sell_info": + { + "is_back":"1", + "back_deadline":"7", + "is_exchange":"1", + "exchange_deadline":"15", + "is_repair":"1" + }, + "created_at":1493017027000, + "updated_at":1497715202000 +}, +{ + "id":1000298, + "name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)", + "price":49.00,"sale_status":3, + "product_info": + { + "product_name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)", + "product_code":"1000298", + "brand_id":"1", + "category_id":"73", + "product_type":"1", + "delivery_type":"0", + "delivery_area":"0", + "supply_type":"A", + "tax_rate":"17", + "desc":"", + "is_package":"0", + "is_mobile":0, + "is_insurance":0, + "accessory_goods":[] + }, + "shop_info": + { + "spu_title":"坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)", + "spu_sub_title":"仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)", + "spu_promo_title":"", + "sale_model":"1", + "book_num":null, + "spec_v2":[ + { + "spec_id":"1", + "spec_name":"颜色", + "visiable":"0", + "show_type":"2", + "spec_values":[ + { + "id":"211", + "spec_id":"1", + "item_value":"透明", + "show_name":"透明", + "image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/" + } + ], + "image_pre":"http://img01.smartisanos.cn/", + "image_name":"origin.jpg" + } + ], + "tpl_id":"base,doodle,weibo", + "tpl_content": + { + "base": + { + "images": + { + "1x":[], + "2x":[], + "mobile":[], + "image_pre":"", + "image_name":"", + "ali": + { + "url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg", + "width":1220, + "height":4390 + }, + "ali_mobile": + { + "url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg", + "width":1220, + "height":4390 + } + }, + "attributes":[ + { + "title":"", + "list":[ + { + "name":"", + "value":"" + } + ] + } + ], + "aftersale":[ + { + "title":"", + "content":"" + } + ], + "extra":[ + { + "title":"", + "content":"" + } + ] + }, + "doodle": + { + "text":"", + "images": + { + "1x":[], + "2x":[], + "mobile":[], + "image_pre":"", + "image_name":"", + "ali": + { + "url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg", + "width":1220, + "height":4390, + "piece_height":1440, + "pieces_num":4 + }, + "ali_mobile": + { + "url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg", + "width":1220, + "height":4390, + "piece_height":1440, + "pieces_num":4 + } + } + }, + "weibo": + { + "text":"", + "images": + { + "1x":"", + "2x":"", + "mobile":"", + "image_pre":"", + "image_name":"" + } + } + }, + "buy_notes":[ + "坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)" + ] + }, + "sku_info":[ + { + "sku_id":"100029801", + "title":"坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)", + "sub_title":"仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)", + "promo_title":"", + "color_id":"211", + "appearance_color_id":"", + "image":null, + "ali_image":"http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg", + "direct_to_cart":true, + "price":"49.00", + "spec_json":[ + { + "spec_id":"1", + "spec_value_id":"211", + "show_name":"透明", + "image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/" + } + ] + } + ], + "acc_info": + { + "package_list":"" + }, + "after_sell_info": + { + "is_back":"1", + "back_deadline":"7", + "is_exchange":"1", + "exchange_deadline":"15", + "is_repair":"0" + }, + "created_at":1492769862000, + "updated_at":1497862955000 +}, +{"id":1000275, +"name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)", +"price":49.00, +"sale_status":3, +"product_info":{"product_name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)", +"product_code":"1000275", +"brand_id":"1", +"category_id":"73", +"product_type":"1", +"delivery_type":"0", +"delivery_area":"0", +"supply_type":"A", +"tax_rate":"17", +"desc":"", +"is_package":"0", +"is_mobile":0, +"is_insurance":0, +"accessory_goods":[]}, +"shop_info":{"spu_title":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)", +"spu_sub_title":"9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计", +"spu_promo_title":"", +"sale_model":"1", +"book_num":null, +"spec_v2":[{"spec_id":"1", +"spec_name":"颜色", +"visiable":"0", +"show_type":"2", +"spec_values":[{"id":"36", +"spec_id":"1", +"item_value":"黑色", +"show_name":"黑色", +"image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}, +{"id":"201", +"spec_id":"1", +"item_value":"酒红色", +"show_name":"酒红色", +"image":"attr/v2/1000275/948F029DCF134EF23267994487994DA5/"}], +"image_pre":"http://img01.smartisanos.cn/", +"image_name":"origin.jpg"}], +"tpl_id":"base,doodle,weibo", +"tpl_content":{"base":{"images":{"1x":[], +"2x":[], +"mobile":[], +"image_pre":"", +"image_name":"", +"ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg", +"width":1220, +"height":4354}, +"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg", +"width":1220, +"height":4354}}, +"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"buy_notes":[]},"sku_info":[{"sku_id":"100027501","title":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)","sub_title":"9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计","promo_title":"","color_id":"36","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"36","show_name":"黑色","image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":"1","back_deadline":"7","is_exchange":"1","exchange_deadline":"15","is_repair":"0"},"created_at":1492582165000,"updated_at":1495784908000},{"id":1000274,"name":"坚果 Pro 钢化玻璃保护膜 (前屏用)","price":49.00,"sale_status":3,"product_info":{"product_name":"坚果 Pro 钢化玻璃保护膜 (前屏用)","product_code":"1000274","brand_id":1,"category_id":73,"product_type":1,"delivery_type":0,"delivery_area":0,"supply_type":"A","tax_rate":17,"desc":"","is_package":0,"is_mobile":0,"is_insurance":0,"accessory_goods":[]},"shop_info":{"spu_title":"坚果 Pro 钢化玻璃保护膜(前屏用)","spu_sub_title":"高达 92% 的超强透光率、耐刮花、防指纹","spu_promo_title":"","sale_model":"1","book_num":null,"spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"211","spec_id":"1","item_value":"透明","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"buy_notes":[]},"sku_info":[{"sku_id":"100027401","title":"坚果 Pro 钢化玻璃保护膜(前屏用)","sub_title":"高达 92% 的超强透光率、耐刮花、防指纹","promo_title":"","color_id":"211","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"211","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":1,"back_deadline":7,"is_exchange":1,"exchange_deadline":15,"is_repair":0},"created_at":1492574149000,"updated_at":1495784908000},{"id":1000271,"name":"坚果 Pro 软胶保护套","price":49.00,"sale_status":3,"product_info":{"product_name":"坚果 Pro 软胶保护套","product_code":"1000271","brand_id":1,"category_id":70,"product_type":1,"delivery_type":5,"delivery_area":7,"supply_type":"A","tax_rate":17,"desc":"","is_package":0,"is_mobile":0,"is_insurance":0,"accessory_goods":[]},"shop_info":{"spu_title":"坚果 Pro 软胶保护套","spu_sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","spu_promo_title":"","sale_model":"1","book_num":null,"spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"buy_notes":[]},"sku_info":[{"sku_id":"100027101","title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","color_id":"35","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"35","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"}]},{"sku_id":"100027102","title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","color_id":"36","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"36","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"}]},{"sku_id":"100027103","title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","color_id":"41","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"41","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"}]},{"sku_id":"100027104","title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","color_id":"207","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png","direct_to_cart":true,"price":"49.00","spec_json":[{"spec_id":"1","spec_value_id":"207","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":1,"back_deadline":7,"is_exchange":1,"exchange_deadline":15,"is_repair":0},"created_at":1492484266000,"updated_at":1497410146000},{"id":1000268,"name":"Smartisan 耳机转接头","price":19.00,"sale_status":3,"product_info":{"product_name":"Smartisan 耳机转接头","product_code":"1000268","brand_id":1,"category_id":41,"product_type":1,"delivery_type":5,"delivery_area":7,"supply_type":"A","tax_rate":17,"desc":"","is_package":0,"is_mobile":0,"is_insurance":0,"accessory_goods":[]},"shop_info":{"spu_title":"Smartisan 耳机转接头","spu_sub_title":"即插即用、全面兼容","spu_promo_title":"","sale_model":"1","book_num":null,"spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"buy_notes":[]},"sku_info":[{"sku_id":"100026801","title":"Smartisan 耳机转接头","sub_title":"即插即用、全面兼容","promo_title":"","color_id":"37","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","direct_to_cart":true,"price":"19.00","spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":1,"back_deadline":7,"is_exchange":1,"exchange_deadline":15,"is_repair":1},"created_at":1492420907000,"updated_at":1495784908000},{"id":1000267,"name":"Smartisan 原装快充充电器 18W","price":59.00,"sale_status":3,"product_info":{"product_name":"Smartisan 原装快充充电器 18W","product_code":"1000267","brand_id":1,"category_id":41,"product_type":1,"delivery_type":5,"delivery_area":7,"supply_type":"A","tax_rate":17,"desc":"","is_package":0,"is_mobile":0,"is_insurance":0,"accessory_goods":[]},"shop_info":{"spu_title":"Smartisan 原装快充充电器 18W","spu_sub_title":"18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议","spu_promo_title":"","sale_model":"1","book_num":null,"spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"buy_notes":[]},"sku_info":[{"sku_id":"100026701","title":"Smartisan 原装快充充电器 18W","sub_title":"18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议","promo_title":"","color_id":"37","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","direct_to_cart":true,"price":"59.00","spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":1,"back_deadline":7,"is_exchange":1,"exchange_deadline":15,"is_repair":1},"created_at":1492420420000,"updated_at":1495627685000},{"id":1000266,"name":"Smartisan 原装 Type-C 数据线","price":39.00,"sale_status":3,"product_info":{"product_name":"Smartisan 原装 Type-C 数据线","product_code":"1000266","brand_id":1,"category_id":56,"product_type":1,"delivery_type":5,"delivery_area":7,"supply_type":"A","tax_rate":17,"desc":"","is_package":0,"is_mobile":0,"is_insurance":0,"accessory_goods":[]},"shop_info":{"spu_title":"Smartisan 原装 Type-C 数据线","spu_sub_title":"PTC 过温保护、凹形设计、TPE 环保材质","spu_promo_title":"","sale_model":"1","book_num":null,"spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"buy_notes":[]},"sku_info":[{"sku_id":"100026601","title":"Smartisan 原装 Type-C 数据线","sub_title":"PTC 过温保护、凹形设计、TPE 环保材质","promo_title":"","color_id":"37","appearance_color_id":"","image":null,"ali_image":"http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","direct_to_cart":true,"price":"39.00","spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}]}],"acc_info":{"package_list":""},"after_sell_info":{"is_back":1,"back_deadline":7,"is_exchange":1,"exchange_deadline":15,"is_repair":1},"created_at":1492154240000,"updated_at":1495784908000}] \ No newline at end of file diff --git a/Vue-shopping/src/assets/js/goods.min.js b/Vue-shopping/src/assets/js/goods.min.js new file mode 100644 index 0000000..e3c6d44 --- /dev/null +++ b/Vue-shopping/src/assets/js/goods.min.js @@ -0,0 +1 @@ +var goodData = [{id: 1000299, name: 'Smartisan 快充移动电源 10000mAh', price: 199, sale_status: 3, product_info: {product_name: 'Smartisan 快充移动电源 10000mAh', product_code: '1000299', brand_id: '1', category_id: '59', product_type: '1', delivery_type: '5', delivery_area: '7', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: 'Smartisan 快充移动电源 10000mAh', spu_sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '70', spec_id: '1', item_value: '灰色', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, buy_notes: []}, sku_info: [{sku_id: '100029901', title: 'Smartisan 快充移动电源 10000mAh', sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', promo_title: '', color_id: '70', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', direct_to_cart: !0, price: '199.00', spec_json: [{spec_id: '1', spec_value_id: '70', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '1'}, created_at: 1493017027e3, updated_at: 1497715202e3}, {id: 1000298, name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', price: 49, sale_status: 3, product_info: {product_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', product_code: '1000298', brand_id: '1', category_id: '73', product_type: '1', delivery_type: '0', delivery_area: '0', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', spu_sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, buy_notes: ['坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)']}, sku_info: [{sku_id: '100029801', title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', promo_title: '', color_id: '211', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '0'}, created_at: 1492769862e3, updated_at: 1497862955e3}, {id: 1000275, name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', price: 49, sale_status: 3, product_info: {product_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', product_code: '1000275', brand_id: '1', category_id: '73', product_type: '1', delivery_type: '0', delivery_area: '0', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', spu_sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '201', spec_id: '1', item_value: '酒红色', show_name: '酒红色', image: 'attr/v2/1000275/948F029DCF134EF23267994487994DA5/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, buy_notes: []}, sku_info: [{sku_id: '100027501', title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', promo_title: '', color_id: '36', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '0'}, created_at: 1492582165e3, updated_at: 1495784908e3}, {id: 1000274, name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', price: 49, sale_status: 3, product_info: {product_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', product_code: '1000274', brand_id: 1, category_id: 73, product_type: 1, delivery_type: 0, delivery_area: 0, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: '坚果 Pro 钢化玻璃保护膜(前屏用)', spu_sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, buy_notes: []}, sku_info: [{sku_id: '100027401', title: '坚果 Pro 钢化玻璃保护膜(前屏用)', sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', promo_title: '', color_id: '211', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 0}, created_at: 1492574149e3, updated_at: 1495784908e3}, {id: 1000271, name: '坚果 Pro 软胶保护套', price: 49, sale_status: 3, product_info: {product_name: '坚果 Pro 软胶保护套', product_code: '1000271', brand_id: 1, category_id: 70, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: '坚果 Pro 软胶保护套', spu_sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, buy_notes: []}, sku_info: [{sku_id: '100027101', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '35', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '35', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}]}, {sku_id: '100027102', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '36', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}]}, {sku_id: '100027103', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '41', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '41', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}]}, {sku_id: '100027104', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '207', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png', direct_to_cart: !0, price: '49.00', spec_json: [{spec_id: '1', spec_value_id: '207', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 0}, created_at: 1492484266e3, updated_at: 1497410146e3}, {id: 1000268, name: 'Smartisan 耳机转接头', price: 19, sale_status: 3, product_info: {product_name: 'Smartisan 耳机转接头', product_code: '1000268', brand_id: 1, category_id: 41, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: 'Smartisan 耳机转接头', spu_sub_title: '即插即用、全面兼容', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, buy_notes: []}, sku_info: [{sku_id: '100026801', title: 'Smartisan 耳机转接头', sub_title: '即插即用、全面兼容', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', direct_to_cart: !0, price: '19.00', spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1}, created_at: 1492420907e3, updated_at: 1495784908e3}, {id: 1000267, name: 'Smartisan 原装快充充电器 18W', price: 59, sale_status: 3, product_info: {product_name: 'Smartisan 原装快充充电器 18W', product_code: '1000267', brand_id: 1, category_id: 41, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: 'Smartisan 原装快充充电器 18W', spu_sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, buy_notes: []}, sku_info: [{sku_id: '100026701', title: 'Smartisan 原装快充充电器 18W', sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', direct_to_cart: !0, price: '59.00', spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1}, created_at: 149242042e4, updated_at: 1495627685e3}, {id: 1000266, name: 'Smartisan 原装 Type-C 数据线', price: 39, sale_status: 3, product_info: {product_name: 'Smartisan 原装 Type-C 数据线', product_code: '1000266', brand_id: 1, category_id: 56, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: []}, shop_info: {spu_title: 'Smartisan 原装 Type-C 数据线', spu_sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http: //img01.smartisanos.cn/', image_name: 'origin.jpg'}], tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, buy_notes: []}, sku_info: [{sku_id: '100026601', title: 'Smartisan 原装 Type-C 数据线', sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http: //image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', direct_to_cart: !0, price: '39.00', spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}]}], acc_info: {package_list: ''}, after_sell_info: {is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1}, created_at: 149215424e4, updated_at: 1495784908e3}] diff --git a/Vue-shopping/src/assets/js/items.js b/Vue-shopping/src/assets/js/items.js new file mode 100644 index 0000000..323bae4 --- /dev/null +++ b/Vue-shopping/src/assets/js/items.js @@ -0,0 +1,8 @@ +var itemsData = [{"id":100029901,"price":199.00,"name":"Smartisan 快充移动电源 10000mAh(灰色)","spu_id":1000299,"sale_status":3,"product_info":{"goods_name":"Smartisan 快充移动电源 10000mAh(灰色)","goods_code":"100029901","barcode":"6970643021295","sapcode":"ACC130001AGD","package_type":"0","product_code":"1000299","product_name":"Smartisan 快充移动电源 10000mAh","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 快充移动电源 10000mAh","sub_title":"10000mAh 双向快充、轻盈便携、高标准安全保护","promo_title":"","limit_num":"1","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"70","spec_id":"1","item_value":"灰色","show_name":"灰色","image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"70","show_name":"灰色","image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","http://image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg","http://image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg","http://image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg","http://image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg"],"ali_image":"http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg","width":1220,"height":6478,"piece_height":1440,"pieces_num":5},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg","width":1220,"height":6478,"piece_height":1440,"pieces_num":5}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"灰色","spec_value_id":"70"}},"created_at":1493017027000,"updated_at":1497715201000,"sku_list":[{"id":100029901,"price":199.00,"name":"Smartisan 快充移动电源 10000mAh(灰色)","spu_id":1000299,"sale_status":3,"product_info":{"goods_name":"Smartisan 快充移动电源 10000mAh(灰色)","goods_code":"100029901","barcode":"6970643021295","sapcode":"ACC130001AGD","package_type":"0","product_code":"1000299","product_name":"Smartisan 快充移动电源 10000mAh","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 快充移动电源 10000mAh","sub_title":"10000mAh 双向快充、轻盈便携、高标准安全保护","promo_title":"","limit_num":"1","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"70","spec_id":"1","item_value":"灰色","show_name":"灰色","image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"70","show_name":"灰色","image":"attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","http://image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg","http://image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg","http://image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg","http://image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg"],"ali_image":"http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg","width":1220,"height":6478,"piece_height":1440,"pieces_num":5},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg","width":1220,"height":6478,"piece_height":1440,"pieces_num":5}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"灰色","spec_value_id":"70"}},"created_at":1493017027000,"updated_at":1497715201000}],"in_stock":true}, +{"id":100029801,"price":49.00,"name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)","spu_id":1000298,"sale_status":3,"product_info":{"goods_name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)","goods_code":"100029801","barcode":"6970643021226","sapcode":"ACC210005CTS","package_type":"0","product_code":"1000298","product_name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)","sub_title":"仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"211","spec_id":"1","item_value":"透明","show_name":"透明","image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"211","show_name":"透明","image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],"buy_notes":["坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)"],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg"],"ali_image":"http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390,"piece_height":1440,"pieces_num":4}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"透明","spec_value_id":"211"}},"created_at":1492769862000,"updated_at":1497862955000,"sku_list":[{"id":100029801,"price":49.00,"name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)","spu_id":1000298,"sale_status":3,"product_info":{"goods_name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)","goods_code":"100029801","barcode":"6970643021226","sapcode":"ACC210005CTS","package_type":"0","product_code":"1000298","product_name":"坚果Pro 钢化玻璃手感膜 无孔 (后壳用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)","sub_title":"仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"211","spec_id":"1","item_value":"透明","show_name":"透明","image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"211","show_name":"透明","image":"attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],"buy_notes":["坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)"],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg"],"ali_image":"http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg","width":1220,"height":4390,"piece_height":1440,"pieces_num":4}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"透明","spec_value_id":"211"}},"created_at":1492769862000,"updated_at":1497862955000}],"in_stock":true}, +{"id":100027501,"price":49.00,"name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)","spu_id":1000275,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)","goods_code":"100027501","barcode":"6970643024913","sapcode":"ACC210005DBS","package_type":"0","product_code":"1000275","product_name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)","sub_title":"9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"201","spec_id":"1","item_value":"酒红色","show_name":"酒红色","image":"attr/v2/1000275/948F029DCF134EF23267994487994DA5/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"36","show_name":"黑色","image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg"],"ali_image":"http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"黑色","spec_value_id":"36"}},"created_at":1492582165000,"updated_at":1495784909000,"sku_list":[{"id":100027501,"price":49.00,"name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)","spu_id":1000275,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)","goods_code":"100027501","barcode":"6970643024913","sapcode":"ACC210005DBS","package_type":"0","product_code":"1000275","product_name":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)","sub_title":"9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"201","spec_id":"1","item_value":"酒红色","show_name":"酒红色","image":"attr/v2/1000275/948F029DCF134EF23267994487994DA5/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"36","show_name":"黑色","image":"attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg"],"ali_image":"http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg","width":1220,"height":4354,"piece_height":1440,"pieces_num":4}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"黑色","spec_value_id":"36"}},"created_at":1492582165000,"updated_at":1495784909000}],"in_stock":true}, +{"id":100027401,"price":49.00,"name":"坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)","spu_id":1000274,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)","goods_code":"100027401","barcode":"6970643021219","sapcode":"ACC210005BTS","package_type":"0","product_code":"1000274","product_name":"坚果 Pro 钢化玻璃保护膜 (前屏用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃保护膜(前屏用)","sub_title":"高达 92% 的超强透光率、耐刮花、防指纹","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"211","spec_id":"1","item_value":"透明","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"211","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg"],"ali_image":"http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"透明","spec_value_id":"211"}},"created_at":1492574149000,"updated_at":1495784909000,"sku_list":[{"id":100027401,"price":49.00,"name":"坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)","spu_id":1000274,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)","goods_code":"100027401","barcode":"6970643021219","sapcode":"ACC210005BTS","package_type":"0","product_code":"1000274","product_name":"坚果 Pro 钢化玻璃保护膜 (前屏用)","is_mobile":0,"is_insurance":0,"goods_type":"20","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 钢化玻璃保护膜(前屏用)","sub_title":"高达 92% 的超强透光率、耐刮花、防指纹","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"211","spec_id":"1","item_value":"透明","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"211","show_name":"透明","image":"attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg"],"ali_image":"http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base,doodle,weibo","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]},"doodle":{"text":"","images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg","width":1220,"height":4299,"piece_height":1440,"pieces_num":3}}},"weibo":{"text":"","images":{"1x":"","2x":"","mobile":"","image_pre":"","image_name":""}}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"透明","spec_value_id":"211"}},"created_at":1492574149000,"updated_at":1495784909000}],"in_stock":true}, +{"id":100027101,"price":49.00,"name":"坚果 Pro 软胶保护套(红色)","spu_id":1000271,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 软胶保护套(红色)","goods_code":"100027101","barcode":"6970643021165","sapcode":"ACC200005ARS","package_type":"0","product_code":"1000271","product_name":"坚果 Pro 软胶保护套","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"35","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","http://image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg","http://image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg","http://image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg","http://image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg"],"ali_image":"http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"红色","spec_value_id":"35"}},"created_at":1492484266000,"updated_at":1497410146000,"sku_list":[{"id":100027101,"price":49.00,"name":"坚果 Pro 软胶保护套(红色)","spu_id":1000271,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 软胶保护套(红色)","goods_code":"100027101","barcode":"6970643021165","sapcode":"ACC200005ARS","package_type":"0","product_code":"1000271","product_name":"坚果 Pro 软胶保护套","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"35","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","http://image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg","http://image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg","http://image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg","http://image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg"],"ali_image":"http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"红色","spec_value_id":"35"}},"created_at":1492484266000,"updated_at":1497410146000},{"id":100027102,"price":49.00,"name":"坚果 Pro 软胶保护套(黑色)","spu_id":1000271,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 软胶保护套(黑色)","goods_code":"100027102","barcode":"6970643021196","sapcode":"ACC200005ABS","package_type":"0","product_code":"1000271","product_name":"坚果 Pro 软胶保护套","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"36","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg","http://image.smartisanos.cn/resource/01f25111e1a2c238a0f77e84aebd0796.jpg","http://image.smartisanos.cn/resource/2841709c21ef07616f621fd863dcf2f3.jpg","http://image.smartisanos.cn/resource/1b6fd01e415c380947cd98f62fa44817.jpg","http://image.smartisanos.cn/resource/9e40a858dff00faa2f139587b7085249.jpg"],"ali_image":"http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"黑色","spec_value_id":"36"}},"created_at":1492484266000,"updated_at":1497410146000},{"id":100027103,"price":49.00,"name":"坚果 Pro 软胶保护套(巧克力色)","spu_id":1000271,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 软胶保护套(巧克力色)","goods_code":"100027103","barcode":"6970643021172","sapcode":"ACC200005AMS","package_type":"0","product_code":"1000271","product_name":"坚果 Pro 软胶保护套","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"41","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png","http://image.smartisanos.cn/resource/cf8a5f1de06e47d726f0a63566a0ad92.jpg","http://image.smartisanos.cn/resource/67b870558df49c45d0471bf9c20168bb.jpg","http://image.smartisanos.cn/resource/f3723c1a4ce684f63f1c110743818885.jpg","http://image.smartisanos.cn/resource/9f6816add135bf15a6d8018efde77b14.jpg"],"ali_image":"http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"咖啡色","spec_value_id":"41"}},"created_at":1492484266000,"updated_at":1497410146000},{"id":100027104,"price":49.00,"name":"坚果 Pro 软胶保护套(浅金色)","spu_id":1000271,"sale_status":3,"product_info":{"goods_name":"坚果 Pro 软胶保护套(浅金色)","goods_code":"100027104","barcode":"6970643021189","sapcode":"ACC200005ACS","package_type":"0","product_code":"1000271","product_name":"坚果 Pro 软胶保护套","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"坚果 Pro 软胶保护套","sub_title":"TPU 环保材质、耐磨、耐油、耐久性强","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"35","spec_id":"1","item_value":"红色","show_name":"红色","image":"attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{"id":"36","spec_id":"1","item_value":"黑色","show_name":"黑色","image":"attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{"id":"41","spec_id":"1","item_value":"咖啡色","show_name":"巧克力色","image":"attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{"id":"207","spec_id":"1","item_value":"浅金色","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"207","show_name":"浅金色","image":"attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png","http://image.smartisanos.cn/resource/29ab28a5b6b9ffe2a03c32580dbc4309.jpg","http://image.smartisanos.cn/resource/1aa0b641eaa31f06c875d37259cdbedd.jpg","http://image.smartisanos.cn/resource/d370f3afd3d65dd8f16e89f3124b9915.jpg","http://image.smartisanos.cn/resource/5d08ab8393986c9337f329f09070091b.jpg"],"ali_image":"http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali_mobile":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10},"ali":{"url":["http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],"width":2440,"height":14000,"piece_height":1440,"pieces_num":10}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"浅金色","spec_value_id":"207"}},"created_at":1494387839000,"updated_at":1497410146000}],"in_stock":true}, +{"id":100026801,"price":19.00,"name":"Smartisan 耳机转接头(白色)","spu_id":1000268,"sale_status":3,"product_info":{"goods_name":"Smartisan 耳机转接头(白色)","goods_code":"100026801","barcode":"6970643021288","sapcode":"ACC100005AWK","package_type":"0","product_code":"1000268","product_name":"Smartisan 耳机转接头","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 耳机转接头","sub_title":"即插即用、全面兼容","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","http://image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg","http://image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg","http://image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg"],"ali_image":"http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492420907000,"updated_at":1495784909000,"sku_list":[{"id":100026801,"price":19.00,"name":"Smartisan 耳机转接头(白色)","spu_id":1000268,"sale_status":3,"product_info":{"goods_name":"Smartisan 耳机转接头(白色)","goods_code":"100026801","barcode":"6970643021288","sapcode":"ACC100005AWK","package_type":"0","product_code":"1000268","product_name":"Smartisan 耳机转接头","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 耳机转接头","sub_title":"即插即用、全面兼容","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","http://image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg","http://image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg","http://image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg"],"ali_image":"http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg","width":1220,"height":4715,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492420907000,"updated_at":1495784909000}],"in_stock":true}, +{"id":100026701,"price":59.00,"name":"Smartisan 原装快充充电器 18W(白色)","spu_id":1000267,"sale_status":3,"product_info":{"goods_name":"Smartisan 原装快充充电器 18W(白色)","goods_code":"100026701","barcode":"6970643021332","sapcode":"ACC120002AWR","package_type":"0","product_code":"1000267","product_name":"Smartisan 原装快充充电器 18W","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 原装快充充电器 18W","sub_title":"18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","http://image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg","http://image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg","http://image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg","http://image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg"],"ali_image":"http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492420420000,"updated_at":1495627685000,"sku_list":[{"id":100026701,"price":59.00,"name":"Smartisan 原装快充充电器 18W(白色)","spu_id":1000267,"sale_status":3,"product_info":{"goods_name":"Smartisan 原装快充充电器 18W(白色)","goods_code":"100026701","barcode":"6970643021332","sapcode":"ACC120002AWR","package_type":"0","product_code":"1000267","product_name":"Smartisan 原装快充充电器 18W","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 原装快充充电器 18W","sub_title":"18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","http://image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg","http://image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg","http://image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg","http://image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg"],"ali_image":"http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg","width":1220,"height":4526,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492420420000,"updated_at":1495627685000}],"in_stock":true}, +{"id":100026601,"price":39.00,"name":"Smartisan 原装 Type-C 数据线(白色)","spu_id":1000266,"sale_status":3,"product_info":{"goods_name":"Smartisan 原装 Type-C 数据线(白色)","goods_code":"100026601","barcode":"6970643021349","sapcode":"ACC100006AWK","package_type":"0","product_code":"1000266","product_name":"Smartisan 原装 Type-C 数据线","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 原装 Type-C 数据线","sub_title":"PTC 过温保护、凹形设计、TPE 环保材质","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","http://image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg","http://image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg","http://image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg","http://image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg"],"ali_image":"http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492154240000,"updated_at":1495784909000,"sku_list":[{"id":100026601,"price":39.00,"name":"Smartisan 原装 Type-C 数据线(白色)","spu_id":1000266,"sale_status":3,"product_info":{"goods_name":"Smartisan 原装 Type-C 数据线(白色)","goods_code":"100026601","barcode":"6970643021349","sapcode":"ACC100006AWK","package_type":"0","product_code":"1000266","product_name":"Smartisan 原装 Type-C 数据线","is_mobile":0,"is_insurance":0,"goods_type":"0","is_package":false,"package_goods":[]},"shop_info":{"title":"Smartisan 原装 Type-C 数据线","sub_title":"PTC 过温保护、凹形设计、TPE 环保材质","promo_title":"","limit_num":"5","spec_v2":[{"spec_id":"1","spec_name":"颜色","visiable":"0","show_type":"2","spec_values":[{"id":"37","spec_id":"1","item_value":"白色","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],"image_pre":"http://img01.smartisanos.cn/","image_name":"origin.jpg"}],"spec_json":[{"spec_id":"1","spec_value_id":"37","show_name":"白色","image":"attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],"buy_notes":[],"images":null,"image":null,"ali_images":["http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","http://image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg","http://image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg","http://image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg","http://image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg"],"ali_image":"http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","image_default_name":"origin.jpg","is_custom":"0","is_mobile":"0","is_package":"0","tpl_id":"base","tpl_content":{"base":{"images":{"1x":[],"2x":[],"mobile":[],"image_pre":"","image_name":"","ali":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4},"ali_mobile":{"url":"http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg","width":1220,"height":4829,"piece_height":1440,"pieces_num":4}},"attributes":[{"title":"","list":[{"name":"","value":""}]}],"aftersale":[{"title":"","content":""}],"extra":[{"title":"","content":""}]}},"doodle_stage":"99"},"attr_info":{"1":{"spec_id":"1","spec_name":"颜色","value":"白色","spec_value_id":"37"}},"created_at":1492154240000,"updated_at":1495784909000}],"in_stock":true}] diff --git a/Vue-shopping/src/assets/js/items.min.js b/Vue-shopping/src/assets/js/items.min.js new file mode 100644 index 0000000..b67eb10 --- /dev/null +++ b/Vue-shopping/src/assets/js/items.min.js @@ -0,0 +1 @@ +var itemsData = [{id: 100029901,price: 199,name: "Smartisan 快充移动电源 10000mAh(灰色)",spu_id: 1000299,sale_status: 3,product_info: {goods_name: "Smartisan 快充移动电源 10000mAh(灰色)",goods_code: "100029901",barcode: "6970643021295",sapcode: "ACC130001AGD",package_type: "0",product_code: "1000299",product_name: "Smartisan 快充移动电源 10000mAh",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 快充移动电源 10000mAh",sub_title: "10000mAh 双向快充、轻盈便携、高标准安全保护",promo_title: "",limit_num: "1",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "70",spec_id: "1",item_value: "灰色",show_name: "灰色",image: "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "70",show_name: "灰色",image: "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","http: //image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg","http: //image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg","http: //image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg","http: //image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg"],ali_image: "http: //image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg",width: 1220,height: 6478,piece_height: 1440,pieces_num: 5},ali_mobile: {url: "http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg",width: 1220,height: 6478,piece_height: 1440,pieces_num: 5}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "灰色",spec_value_id: "70"}},created_at: 1493017027e3,updated_at: 1497715201e3,sku_list: [{id: 100029901,price: 199,name: "Smartisan 快充移动电源 10000mAh(灰色)",spu_id: 1000299,sale_status: 3,product_info: {goods_name: "Smartisan 快充移动电源 10000mAh(灰色)",goods_code: "100029901",barcode: "6970643021295",sapcode: "ACC130001AGD",package_type: "0",product_code: "1000299",product_name: "Smartisan 快充移动电源 10000mAh",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 快充移动电源 10000mAh",sub_title: "10000mAh 双向快充、轻盈便携、高标准安全保护",promo_title: "",limit_num: "1",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "70",spec_id: "1",item_value: "灰色",show_name: "灰色",image: "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "70",show_name: "灰色",image: "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg","http: //image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg","http: //image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg","http: //image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg","http: //image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg"],ali_image: "http: //image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg",width: 1220,height: 6478,piece_height: 1440,pieces_num: 5},ali_mobile: {url: "http: //image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg",width: 1220,height: 6478,piece_height: 1440,pieces_num: 5}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "灰色",spec_value_id: "70"}},created_at: 1493017027e3,updated_at: 1497715201e3}],in_stock: !0},{id: 100029801,price: 49,name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)",spu_id: 1000298,sale_status: 3,product_info: {goods_name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)",goods_code: "100029801",barcode: "6970643021226",sapcode: "ACC210005CTS",package_type: "0",product_code: "1000298",product_name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)",sub_title: "仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "211",spec_id: "1",item_value: "透明",show_name: "透明",image: "attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "211",show_name: "透明",image: "attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],buy_notes: ["坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)"],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg"],ali_image: "http: //image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390},ali_mobile: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390,piece_height: 1440,pieces_num: 4}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "透明",spec_value_id: "211"}},created_at: 1492769862e3,updated_at: 1497862955e3,sku_list: [{id: 100029801,price: 49,name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)",spu_id: 1000298,sale_status: 3,product_info: {goods_name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)",goods_code: "100029801",barcode: "6970643021226",sapcode: "ACC210005CTS",package_type: "0",product_code: "1000298",product_name: "坚果Pro 钢化玻璃手感膜 无孔 (后壳用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)",sub_title: "仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "211",spec_id: "1",item_value: "透明",show_name: "透明",image: "attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "211",show_name: "透明",image: "attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/"}],buy_notes: ["坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)"],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg"],ali_image: "http: //image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390},ali_mobile: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg",width: 1220,height: 4390,piece_height: 1440,pieces_num: 4}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "透明",spec_value_id: "211"}},created_at: 1492769862e3,updated_at: 1497862955e3}],in_stock: !0},{id: 100027501,price: 49,name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)",spu_id: 1000275,sale_status: 3,product_info: {goods_name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)",goods_code: "100027501",barcode: "6970643024913",sapcode: "ACC210005DBS",package_type: "0",product_code: "1000275",product_name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)",sub_title: "9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"},{id: "201",spec_id: "1",item_value: "酒红色",show_name: "酒红色",image: "attr/v2/1000275/948F029DCF134EF23267994487994DA5/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "36",show_name: "黑色",image: "attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg"],ali_image: "http: //image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354},ali_mobile: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354,piece_height: 1440,pieces_num: 4}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "黑色",spec_value_id: "36"}},created_at: 1492582165e3,updated_at: 1495784909e3,sku_list: [{id: 100027501,price: 49,name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)",spu_id: 1000275,sale_status: 3,product_info: {goods_name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)",goods_code: "100027501",barcode: "6970643024913",sapcode: "ACC210005DBS",package_type: "0",product_code: "1000275",product_name: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)",sub_title: "9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"},{id: "201",spec_id: "1",item_value: "酒红色",show_name: "酒红色",image: "attr/v2/1000275/948F029DCF134EF23267994487994DA5/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "36",show_name: "黑色",image: "attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg"],ali_image: "http: //image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354},ali_mobile: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg",width: 1220,height: 4354,piece_height: 1440,pieces_num: 4}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "黑色",spec_value_id: "36"}},created_at: 1492582165e3,updated_at: 1495784909e3}],in_stock: !0},{id: 100027401,price: 49,name: "坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)",spu_id: 1000274,sale_status: 3,product_info: {goods_name: "坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)",goods_code: "100027401",barcode: "6970643021219",sapcode: "ACC210005BTS",package_type: "0",product_code: "1000274",product_name: "坚果 Pro 钢化玻璃保护膜 (前屏用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃保护膜(前屏用)",sub_title: "高达 92% 的超强透光率、耐刮花、防指纹",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "211",spec_id: "1",item_value: "透明",show_name: "透明",image: "attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "211",show_name: "透明",image: "attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg"],ali_image: "http: //image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299},ali_mobile: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299,piece_height: 1440,pieces_num: 3},ali_mobile: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299,piece_height: 1440,pieces_num: 3}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "透明",spec_value_id: "211"}},created_at: 1492574149e3,updated_at: 1495784909e3,sku_list: [{id: 100027401,price: 49,name: "坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)",spu_id: 1000274,sale_status: 3,product_info: {goods_name: "坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)",goods_code: "100027401",barcode: "6970643021219",sapcode: "ACC210005BTS",package_type: "0",product_code: "1000274",product_name: "坚果 Pro 钢化玻璃保护膜 (前屏用)",is_mobile: 0,is_insurance: 0,goods_type: "20",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 钢化玻璃保护膜(前屏用)",sub_title: "高达 92% 的超强透光率、耐刮花、防指纹",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "211",spec_id: "1",item_value: "透明",show_name: "透明",image: "attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "211",show_name: "透明",image: "attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg"],ali_image: "http: //image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base,doodle,weibo",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299},ali_mobile: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]},doodle: {text: "",images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299,piece_height: 1440,pieces_num: 3},ali_mobile: {url: "http: //image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg",width: 1220,height: 4299,piece_height: 1440,pieces_num: 3}}},weibo: {text: "",images: {"1x": "","2x": "",mobile: "",image_pre: "",image_name: ""}}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "透明",spec_value_id: "211"}},created_at: 1492574149e3,updated_at: 1495784909e3}],in_stock: !0},{id: 100027101,price: 49,name: "坚果 Pro 软胶保护套(红色)",spu_id: 1000271,sale_status: 3,product_info: {goods_name: "坚果 Pro 软胶保护套(红色)",goods_code: "100027101",barcode: "6970643021165",sapcode: "ACC200005ARS",package_type: "0",product_code: "1000271",product_name: "坚果 Pro 软胶保护套",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 软胶保护套",sub_title: "TPU 环保材质、耐磨、耐油、耐久性强",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "35",spec_id: "1",item_value: "红色",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{id: "41",spec_id: "1",item_value: "咖啡色",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{id: "207",spec_id: "1",item_value: "浅金色",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "35",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","http: //image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg","http: //image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg","http: //image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg","http: //image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg"],ali_image: "http: //image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali_mobile: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10},ali: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "红色",spec_value_id: "35"}},created_at: 1492484266e3,updated_at: 1497410146e3,sku_list: [{id: 100027101,price: 49,name: "坚果 Pro 软胶保护套(红色)",spu_id: 1000271,sale_status: 3,product_info: {goods_name: "坚果 Pro 软胶保护套(红色)",goods_code: "100027101",barcode: "6970643021165",sapcode: "ACC200005ARS",package_type: "0",product_code: "1000271",product_name: "坚果 Pro 软胶保护套",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 软胶保护套",sub_title: "TPU 环保材质、耐磨、耐油、耐久性强",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "35",spec_id: "1",item_value: "红色",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{id: "41",spec_id: "1",item_value: "咖啡色",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{id: "207",spec_id: "1",item_value: "浅金色",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "35",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg","http: //image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg","http: //image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg","http: //image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg","http: //image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg"],ali_image: "http: //image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali_mobile: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10},ali: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "红色",spec_value_id: "35"}},created_at: 1492484266e3,updated_at: 1497410146e3},{id: 100027102,price: 49,name: "坚果 Pro 软胶保护套(黑色)",spu_id: 1000271,sale_status: 3,product_info: {goods_name: "坚果 Pro 软胶保护套(黑色)",goods_code: "100027102",barcode: "6970643021196",sapcode: "ACC200005ABS",package_type: "0",product_code: "1000271",product_name: "坚果 Pro 软胶保护套",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 软胶保护套",sub_title: "TPU 环保材质、耐磨、耐油、耐久性强",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "35",spec_id: "1",item_value: "红色",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{id: "41",spec_id: "1",item_value: "咖啡色",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{id: "207",spec_id: "1",item_value: "浅金色",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "36",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg","http: //image.smartisanos.cn/resource/01f25111e1a2c238a0f77e84aebd0796.jpg","http: //image.smartisanos.cn/resource/2841709c21ef07616f621fd863dcf2f3.jpg","http: //image.smartisanos.cn/resource/1b6fd01e415c380947cd98f62fa44817.jpg","http: //image.smartisanos.cn/resource/9e40a858dff00faa2f139587b7085249.jpg"],ali_image: "http: //image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali_mobile: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10},ali: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "黑色",spec_value_id: "36"}},created_at: 1492484266e3,updated_at: 1497410146e3},{id: 100027103,price: 49,name: "坚果 Pro 软胶保护套(巧克力色)",spu_id: 1000271,sale_status: 3,product_info: {goods_name: "坚果 Pro 软胶保护套(巧克力色)",goods_code: "100027103",barcode: "6970643021172",sapcode: "ACC200005AMS",package_type: "0",product_code: "1000271",product_name: "坚果 Pro 软胶保护套",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 软胶保护套",sub_title: "TPU 环保材质、耐磨、耐油、耐久性强",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "35",spec_id: "1",item_value: "红色",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{id: "41",spec_id: "1",item_value: "咖啡色",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{id: "207",spec_id: "1",item_value: "浅金色",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "41",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png","http: //image.smartisanos.cn/resource/cf8a5f1de06e47d726f0a63566a0ad92.jpg","http: //image.smartisanos.cn/resource/67b870558df49c45d0471bf9c20168bb.jpg","http: //image.smartisanos.cn/resource/f3723c1a4ce684f63f1c110743818885.jpg","http: //image.smartisanos.cn/resource/9f6816add135bf15a6d8018efde77b14.jpg"],ali_image: "http: //image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali_mobile: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10},ali: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "咖啡色",spec_value_id: "41"}},created_at: 1492484266e3,updated_at: 1497410146e3},{id: 100027104,price: 49,name: "坚果 Pro 软胶保护套(浅金色)",spu_id: 1000271,sale_status: 3,product_info: {goods_name: "坚果 Pro 软胶保护套(浅金色)",goods_code: "100027104",barcode: "6970643021189",sapcode: "ACC200005ACS",package_type: "0",product_code: "1000271",product_name: "坚果 Pro 软胶保护套",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "坚果 Pro 软胶保护套",sub_title: "TPU 环保材质、耐磨、耐油、耐久性强",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "35",spec_id: "1",item_value: "红色",show_name: "红色",image: "attr/v2/1000271/948F029DCF134EF23267994487994DA5/"},{id: "36",spec_id: "1",item_value: "黑色",show_name: "黑色",image: "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/"},{id: "41",spec_id: "1",item_value: "咖啡色",show_name: "巧克力色",image: "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/"},{id: "207",spec_id: "1",item_value: "浅金色",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "207",show_name: "浅金色",image: "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png","http: //image.smartisanos.cn/resource/29ab28a5b6b9ffe2a03c32580dbc4309.jpg","http: //image.smartisanos.cn/resource/1aa0b641eaa31f06c875d37259cdbedd.jpg","http: //image.smartisanos.cn/resource/d370f3afd3d65dd8f16e89f3124b9915.jpg","http: //image.smartisanos.cn/resource/5d08ab8393986c9337f329f09070091b.jpg"],ali_image: "http: //image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali_mobile: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10},ali: {url: ["http: //image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg"],width: 2440,height: 14e3,piece_height: 1440,pieces_num: 10}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "浅金色",spec_value_id: "207"}},created_at: 1494387839e3,updated_at: 1497410146e3}],in_stock: !0},{id: 100026801,price: 19,name: "Smartisan 耳机转接头(白色)",spu_id: 1000268,sale_status: 3,product_info: {goods_name: "Smartisan 耳机转接头(白色)",goods_code: "100026801",barcode: "6970643021288",sapcode: "ACC100005AWK",package_type: "0",product_code: "1000268",product_name: "Smartisan 耳机转接头",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 耳机转接头",sub_title: "即插即用、全面兼容",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","http: //image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg","http: //image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg","http: //image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg"],ali_image: "http: //image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg",width: 1220,height: 4715,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg",width: 1220,height: 4715,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 1492420907e3,updated_at: 1495784909e3,sku_list: [{id: 100026801,price: 19,name: "Smartisan 耳机转接头(白色)",spu_id: 1000268,sale_status: 3,product_info: {goods_name: "Smartisan 耳机转接头(白色)",goods_code: "100026801",barcode: "6970643021288",sapcode: "ACC100005AWK",package_type: "0",product_code: "1000268",product_name: "Smartisan 耳机转接头",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 耳机转接头",sub_title: "即插即用、全面兼容",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg","http: //image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg","http: //image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg","http: //image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg"],ali_image: "http: //image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg",width: 1220,height: 4715,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg",width: 1220,height: 4715,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 1492420907e3,updated_at: 1495784909e3}],in_stock: !0},{id: 100026701,price: 59,name: "Smartisan 原装快充充电器 18W(白色)",spu_id: 1000267,sale_status: 3,product_info: {goods_name: "Smartisan 原装快充充电器 18W(白色)",goods_code: "100026701",barcode: "6970643021332",sapcode: "ACC120002AWR",package_type: "0",product_code: "1000267",product_name: "Smartisan 原装快充充电器 18W",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 原装快充充电器 18W",sub_title: "18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","http: //image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg","http: //image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg","http: //image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg","http: //image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg"],ali_image: "http: //image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg",width: 1220,height: 4526,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg",width: 1220,height: 4526,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 149242042e4,updated_at: 1495627685e3,sku_list: [{id: 100026701,price: 59,name: "Smartisan 原装快充充电器 18W(白色)",spu_id: 1000267,sale_status: 3,product_info: {goods_name: "Smartisan 原装快充充电器 18W(白色)",goods_code: "100026701",barcode: "6970643021332",sapcode: "ACC120002AWR",package_type: "0",product_code: "1000267",product_name: "Smartisan 原装快充充电器 18W",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 原装快充充电器 18W",sub_title: "18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg","http: //image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg","http: //image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg","http: //image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg","http: //image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg"],ali_image: "http: //image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg",width: 1220,height: 4526,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg",width: 1220,height: 4526,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 149242042e4,updated_at: 1495627685e3}],in_stock: !0},{id: 100026601,price: 39,name: "Smartisan 原装 Type-C 数据线(白色)",spu_id: 1000266,sale_status: 3,product_info: {goods_name: "Smartisan 原装 Type-C 数据线(白色)",goods_code: "100026601",barcode: "6970643021349",sapcode: "ACC100006AWK",package_type: "0",product_code: "1000266",product_name: "Smartisan 原装 Type-C 数据线",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 原装 Type-C 数据线",sub_title: "PTC 过温保护、凹形设计、TPE 环保材质",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","http: //image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg","http: //image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg","http: //image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg","http: //image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg"],ali_image: "http: //image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg",width: 1220,height: 4829,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg",width: 1220,height: 4829,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 149215424e4,updated_at: 1495784909e3,sku_list: [{id: 100026601,price: 39,name: "Smartisan 原装 Type-C 数据线(白色)",spu_id: 1000266,sale_status: 3,product_info: {goods_name: "Smartisan 原装 Type-C 数据线(白色)",goods_code: "100026601",barcode: "6970643021349",sapcode: "ACC100006AWK",package_type: "0",product_code: "1000266",product_name: "Smartisan 原装 Type-C 数据线",is_mobile: 0,is_insurance: 0,goods_type: "0",is_package: !1,package_goods: []},shop_info: {title: "Smartisan 原装 Type-C 数据线",sub_title: "PTC 过温保护、凹形设计、TPE 环保材质",promo_title: "",limit_num: "5",spec_v2: [{spec_id: "1",spec_name: "颜色",visiable: "0",show_type: "2",spec_values: [{id: "37",spec_id: "1",item_value: "白色",show_name: "白色",image: "attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],image_pre: "http: //img01.smartisanos.cn/",image_name: "origin.jpg"}],spec_json: [{spec_id: "1",spec_value_id: "37",show_name: "白色",image: "attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/"}],buy_notes: [],images: null,image: null,ali_images: ["http: //image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg","http: //image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg","http: //image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg","http: //image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg","http: //image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg"],ali_image: "http: //image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg",image_default_name: "origin.jpg",is_custom: "0",is_mobile: "0",is_package: "0",tpl_id: "base",tpl_content: {base: {images: {"1x": [],"2x": [],mobile: [],image_pre: "",image_name: "",ali: {url: "http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg",width: 1220,height: 4829,piece_height: 1440,pieces_num: 4},ali_mobile: {url: "http: //image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg",width: 1220,height: 4829,piece_height: 1440,pieces_num: 4}},attributes: [{title: "",list: [{name: "",value: ""}]}],aftersale: [{title: "",content: ""}],extra: [{title: "",content: ""}]}},doodle_stage: "99"},attr_info: {1: {spec_id: "1",spec_name: "颜色",value: "白色",spec_value_id: "37"}},created_at: 149215424e4,updated_at: 1495784909e3}],in_stock: !0}] diff --git a/Vue-shopping/src/assets/logo.png b/Vue-shopping/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/Vue-shopping/src/assets/logo.png differ diff --git a/Vue-shopping/src/components/Hello.vue b/Vue-shopping/src/components/Hello.vue new file mode 100644 index 0000000..2d80539 --- /dev/null +++ b/Vue-shopping/src/components/Hello.vue @@ -0,0 +1,53 @@ + + + + + + diff --git a/Vue-shopping/src/components/address-pop.vue b/Vue-shopping/src/components/address-pop.vue new file mode 100644 index 0000000..f7107bb --- /dev/null +++ b/Vue-shopping/src/components/address-pop.vue @@ -0,0 +1,492 @@ + + + + + \ No newline at end of file diff --git a/Vue-shopping/src/components/car-panel.vue b/Vue-shopping/src/components/car-panel.vue new file mode 100644 index 0000000..0c14b38 --- /dev/null +++ b/Vue-shopping/src/components/car-panel.vue @@ -0,0 +1,146 @@ + + + + diff --git a/Vue-shopping/src/components/header-nav.vue b/Vue-shopping/src/components/header-nav.vue new file mode 100644 index 0000000..9838a67 --- /dev/null +++ b/Vue-shopping/src/components/header-nav.vue @@ -0,0 +1,76 @@ + + diff --git a/Vue-shopping/src/components/prompt.vue b/Vue-shopping/src/components/prompt.vue new file mode 100644 index 0000000..c8dec9b --- /dev/null +++ b/Vue-shopping/src/components/prompt.vue @@ -0,0 +1,209 @@ + + + + + \ No newline at end of file diff --git a/Vue-shopping/src/components/shop-item.vue b/Vue-shopping/src/components/shop-item.vue new file mode 100644 index 0000000..a84ed63 --- /dev/null +++ b/Vue-shopping/src/components/shop-item.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/Vue-shopping/src/lib/addList.js b/Vue-shopping/src/lib/addList.js new file mode 100644 index 0000000..43b0d1d --- /dev/null +++ b/Vue-shopping/src/lib/addList.js @@ -0,0 +1,7 @@ +const provinceList = +[{"area_id": 110000, "area_name": "北京市", "city_list": [{"area_name": "市辖区", "area_id": 110100, "county_list": [{"area_name": "东城区", "area_id": 110101}, {"area_name": "海淀区", "area_id": 110106}]}, {"area_name": "县", "area_id": 110200, "county_list": [{"area_name": "密云县", "area_id": 110228}, {"area_name": "延庆县", "area_id": 110229}]}]}, +{"area_id": 440000, "area_name": "广东省", "city_list": [{"area_id": 440300, "area_name": "深圳市", "county_list": [{"area_name": "罗湖区", "area_id": 440303}, {"area_name": "福田区", "area_id": 440304}]}, {"area_id": 440100, "area_name": "广州市", "county_list": [{"area_name": "荔湾区", "area_id": 440103}, {"area_name": "越秀区", "area_id": 440104}]}]}, +{"area_id": 310000, "area_name":"上海市", "city_list": [{"area_id": 310100, "area_name": "市辖区", "county_list": [{"area_id": 310113, "area_name": "宝山区"}, {"area_id": 310105, "area_name": "长宁区"}]}, {"area_id": 310200, "area_name": "县", "county_list": [{"area_name": "崇明县", "area_id": 310230}]}]}] +export default provinceList + + diff --git a/Vue-shopping/src/lib/goodData.js b/Vue-shopping/src/lib/goodData.js new file mode 100644 index 0000000..048acea --- /dev/null +++ b/Vue-shopping/src/lib/goodData.js @@ -0,0 +1,3 @@ +let goodData = [{ id: 1000299, name: 'Smartisan 快充移动电源 10000mAh', price: 199, sale_status: 3, product_info: { product_name: 'Smartisan 快充移动电源 10000mAh', product_code: '1000299', brand_id: '1', category_id: '59', product_type: '1', delivery_type: '5', delivery_area: '7', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: 'Smartisan 快充移动电源 10000mAh', spu_sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '70', spec_id: '1', item_value: '灰色', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] } }, buy_notes: [] }, sku_info: [{ sku_id: '100029901', title: 'Smartisan 快充移动电源 10000mAh', sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', promo_title: '', color_id: '70', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', direct_to_cart: !0, price: '199.00', spec_json: [{ spec_id: '1', spec_value_id: '70', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '1' }, created_at: 1493017027e3, updated_at: 1497715202e3 }, { id: 1000298, name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', price: 49, sale_status: 3, product_info: { product_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', product_code: '1000298', brand_id: '1', category_id: '73', product_type: '1', delivery_type: '0', delivery_area: '0', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', spu_sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base, doodle, weibo', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] }, doodle: { text: '', images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4 } } }, weibo: { text: '', images: { '1x': '', '2x': '', mobile: '', image_pre: '', image_name: '' } } }, buy_notes: ['坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)'] }, sku_info: [{ sku_id: '100029801', title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', promo_title: '', color_id: '211', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '0' }, created_at: 1492769862e3, updated_at: 1497862955e3 }, { id: 1000275, name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', price: 49, sale_status: 3, product_info: { product_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', product_code: '1000275', brand_id: '1', category_id: '73', product_type: '1', delivery_type: '0', delivery_area: '0', supply_type: 'A', tax_rate: '17', desc: '', is_package: '0', is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', spu_sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/' }, { id: '201', spec_id: '1', item_value: '酒红色', show_name: '酒红色', image: 'attr/v2/1000275/948F029DCF134EF23267994487994DA5/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base, doodle, weibo', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] }, doodle: { text: '', images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4 } } }, weibo: { text: '', images: { '1x': '', '2x': '', mobile: '', image_pre: '', image_name: '' } } }, buy_notes: [] }, sku_info: [{ sku_id: '100027501', title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', promo_title: '', color_id: '36', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: '1', back_deadline: '7', is_exchange: '1', exchange_deadline: '15', is_repair: '0' }, created_at: 1492582165e3, updated_at: 1495784908e3 }, { id: 1000274, name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', price: 49, sale_status: 3, product_info: { product_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', product_code: '1000274', brand_id: 1, category_id: 73, product_type: 1, delivery_type: 0, delivery_area: 0, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: '坚果 Pro 钢化玻璃保护膜(前屏用)', spu_sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base, doodle, weibo', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] }, doodle: { text: '', images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3 } } }, weibo: { text: '', images: { '1x': '', '2x': '', mobile: '', image_pre: '', image_name: '' } } }, buy_notes: [] }, sku_info: [{ sku_id: '100027401', title: '坚果 Pro 钢化玻璃保护膜(前屏用)', sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', promo_title: '', color_id: '211', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 0 }, created_at: 1492574149e3, updated_at: 1495784908e3 }, { id: 1000271, name: '坚果 Pro 软胶保护套', price: 49, sale_status: 3, product_info: { product_name: '坚果 Pro 软胶保护套', product_code: '1000271', brand_id: 1, category_id: 70, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: '坚果 Pro 软胶保护套', spu_sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/' }, { id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/' }, { id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/' }, { id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: { url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10 }, ali: { url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] } }, buy_notes: [] }, sku_info: [{ sku_id: '100027101', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '35', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '35', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/' }] }, { sku_id: '100027102', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '36', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/' }] }, { sku_id: '100027103', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '41', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '41', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/' }] }, { sku_id: '100027104', title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', color_id: '207', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png', direct_to_cart: !0, price: '49.00', spec_json: [{ spec_id: '1', spec_value_id: '207', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 0 }, created_at: 1492484266e3, updated_at: 1497410146e3 }, { id: 1000268, name: 'Smartisan 耳机转接头', price: 19, sale_status: 3, product_info: { product_name: 'Smartisan 耳机转接头', product_code: '1000268', brand_id: 1, category_id: 41, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: 'Smartisan 耳机转接头', spu_sub_title: '即插即用、全面兼容', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] } }, buy_notes: [] }, sku_info: [{ sku_id: '100026801', title: 'Smartisan 耳机转接头', sub_title: '即插即用、全面兼容', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', direct_to_cart: !0, price: '19.00', spec_json: [{ spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1 }, created_at: 1492420907e3, updated_at: 1495784908e3 }, { id: 1000267, name: 'Smartisan 原装快充充电器 18W', price: 59, sale_status: 3, product_info: { product_name: 'Smartisan 原装快充充电器 18W', product_code: '1000267', brand_id: 1, category_id: 41, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: 'Smartisan 原装快充充电器 18W', spu_sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] } }, buy_notes: [] }, sku_info: [{ sku_id: '100026701', title: 'Smartisan 原装快充充电器 18W', sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', direct_to_cart: !0, price: '59.00', spec_json: [{ spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1 }, created_at: 149242042e4, updated_at: 1495627685e3 }, { id: 1000266, name: 'Smartisan 原装 Type-C 数据线', price: 39, sale_status: 3, product_info: { product_name: 'Smartisan 原装 Type-C 数据线', product_code: '1000266', brand_id: 1, category_id: 56, product_type: 1, delivery_type: 5, delivery_area: 7, supply_type: 'A', tax_rate: 17, desc: '', is_package: 0, is_mobile: 0, is_insurance: 0, accessory_goods: [] }, shop_info: { spu_title: 'Smartisan 原装 Type-C 数据线', spu_sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', spu_promo_title: '', sale_model: '1', book_num: null, spec_v2: [{ spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{ id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/' }], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg' }], tpl_id: 'base', tpl_content: { base: { images: { '1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: { url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4 }, ali_mobile: { url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4 } }, attributes: [{ title: '', list: [{ name: '', value: '' }] }], aftersale: [{ title: '', content: '' }], extra: [{ title: '', content: '' }] } }, buy_notes: [] }, sku_info: [{ sku_id: '100026601', title: 'Smartisan 原装 Type-C 数据线', sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', promo_title: '', color_id: '37', appearance_color_id: '', image: null, ali_image: 'http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', direct_to_cart: !0, price: '39.00', spec_json: [{ spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/' }] }], acc_info: { package_list: '' }, after_sell_info: { is_back: 1, back_deadline: 7, is_exchange: 1, exchange_deadline: 15, is_repair: 1 }, created_at: 149215424e4, updated_at: 1495784908e3 }] + +export default goodData diff --git a/Vue-shopping/src/lib/itemsData.js b/Vue-shopping/src/lib/itemsData.js new file mode 100644 index 0000000..81af650 --- /dev/null +++ b/Vue-shopping/src/lib/itemsData.js @@ -0,0 +1,3 @@ +let itemsData = [{id: 100029901, price: 199, name: 'Smartisan 快充移动电源 10000mAh(灰色)', spu_id: 1000299, sale_status: 3, product_info: {goods_name: 'Smartisan 快充移动电源 10000mAh(灰色)', goods_code: '100029901', barcode: '6970643021295', sapcode: 'ACC130001AGD', package_type: '0', product_code: '1000299', product_name: 'Smartisan 快充移动电源 10000mAh', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 快充移动电源 10000mAh', sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', promo_title: '', limit_num: '1', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '70', spec_id: '1', item_value: '灰色', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '70', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', 'http://image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg', 'http://image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg', 'http://image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg', 'http://image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg'], ali_image: 'http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '灰色', spec_value_id: '70'}}, created_at: 1493017027e3, updated_at: 1497715201e3, sku_list: [{id: 100029901, price: 199, name: 'Smartisan 快充移动电源 10000mAh(灰色)', spu_id: 1000299, sale_status: 3, product_info: {goods_name: 'Smartisan 快充移动电源 10000mAh(灰色)', goods_code: '100029901', barcode: '6970643021295', sapcode: 'ACC130001AGD', package_type: '0', product_code: '1000299', product_name: 'Smartisan 快充移动电源 10000mAh', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 快充移动电源 10000mAh', sub_title: '10000mAh 双向快充、轻盈便携、高标准安全保护', promo_title: '', limit_num: '1', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '70', spec_id: '1', item_value: '灰色', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '70', show_name: '灰色', image: 'attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', 'http://image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg', 'http://image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg', 'http://image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg', 'http://image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg'], ali_image: 'http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/d930be42185ab064035d0894f37ea179.jpg', width: 1220, height: 6478, piece_height: 1440, pieces_num: 5}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '灰色', spec_value_id: '70'}}, created_at: 1493017027e3, updated_at: 1497715201e3}], in_stock: !0}, {id: 100029801, price: 49, name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)', spu_id: 1000298, sale_status: 3, product_info: {goods_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)', goods_code: '100029801', barcode: '6970643021226', sapcode: 'ACC210005CTS', package_type: '0', product_code: '1000298', product_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}], buy_notes: ['坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)'], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg'], ali_image: 'http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '透明', spec_value_id: '211'}}, created_at: 1492769862e3, updated_at: 1497862955e3, sku_list: [{id: 100029801, price: 49, name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)', spu_id: 1000298, sale_status: 3, product_info: {goods_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)(透明)', goods_code: '100029801', barcode: '6970643021226', sapcode: 'ACC210005CTS', package_type: '0', product_code: '1000298', product_name: '坚果Pro 钢化玻璃手感膜 无孔 (后壳用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)', sub_title: '仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000298/B1D74DE1EB579A14D2F97F6F56F508C4/'}], buy_notes: ['坚果 Pro 钢化玻璃手感膜 无孔 (后壳用)仅适用于坚果 Pro (酒红色版、浅金色版、巧克力色版和 32G 碳黑色版)'], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg'], ali_image: 'http://image.smartisanos.cn/resource/f6f081615fdd6f92206c3d127501843a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/cca8534ffae2cb1d2626d707ee653dbd.jpg', width: 1220, height: 4390, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '透明', spec_value_id: '211'}}, created_at: 1492769862e3, updated_at: 1497862955e3}], in_stock: !0}, {id: 100027501, price: 49, name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)', spu_id: 1000275, sale_status: 3, product_info: {goods_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)', goods_code: '100027501', barcode: '6970643024913', sapcode: 'ACC210005DBS', package_type: '0', product_code: '1000275', product_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '201', spec_id: '1', item_value: '酒红色', show_name: '酒红色', image: 'attr/v2/1000275/948F029DCF134EF23267994487994DA5/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg'], ali_image: 'http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '黑色', spec_value_id: '36'}}, created_at: 1492582165e3, updated_at: 1495784909e3, sku_list: [{id: 100027501, price: 49, name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)', spu_id: 1000275, sale_status: 3, product_info: {goods_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)(黑色)', goods_code: '100027501', barcode: '6970643024913', sapcode: 'ACC210005DBS', package_type: '0', product_code: '1000275', product_name: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃手感膜 开孔 (后壳用)', sub_title: '9H 超强硬度、超 4 小时钢化时长、2.5D 弧边设计', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '201', spec_id: '1', item_value: '酒红色', show_name: '酒红色', image: 'attr/v2/1000275/948F029DCF134EF23267994487994DA5/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000275/649AD35E36A9703BACBE1555AEB6D266/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg'], ali_image: 'http://image.smartisanos.cn/resource/3802197aa7e78f9429eb5f6048a25047.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/0b42c35b463f23c73cedffef08a7fdb3.jpg', width: 1220, height: 4354, piece_height: 1440, pieces_num: 4}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '黑色', spec_value_id: '36'}}, created_at: 1492582165e3, updated_at: 1495784909e3}], in_stock: !0}, {id: 100027401, price: 49, name: '坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)', spu_id: 1000274, sale_status: 3, product_info: {goods_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)', goods_code: '100027401', barcode: '6970643021219', sapcode: 'ACC210005BTS', package_type: '0', product_code: '1000274', product_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃保护膜(前屏用)', sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg'], ali_image: 'http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '透明', spec_value_id: '211'}}, created_at: 1492574149e3, updated_at: 1495784909e3, sku_list: [{id: 100027401, price: 49, name: '坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)', spu_id: 1000274, sale_status: 3, product_info: {goods_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)(透明)', goods_code: '100027401', barcode: '6970643021219', sapcode: 'ACC210005BTS', package_type: '0', product_code: '1000274', product_name: '坚果 Pro 钢化玻璃保护膜 (前屏用)', is_mobile: 0, is_insurance: 0, goods_type: '20', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 钢化玻璃保护膜(前屏用)', sub_title: '高达 92% 的超强透光率、耐刮花、防指纹', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '211', spec_id: '1', item_value: '透明', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '211', show_name: '透明', image: 'attr/v2/1000274/3555AF9D0704A3AE3ECB7DC7C6866775/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg'], ali_image: 'http://image.smartisanos.cn/resource/30cacf4088f7105d16452c661afd9299.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base, doodle, weibo', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}, doodle: {text: '', images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/2d14b61e931a6e83ccb7e2c98b252695.jpg', width: 1220, height: 4299, piece_height: 1440, pieces_num: 3}}}, weibo: {text: '', images: {'1x': '', '2x': '', mobile: '', image_pre: '', image_name: ''}}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '透明', spec_value_id: '211'}}, created_at: 1492574149e3, updated_at: 1495784909e3}], in_stock: !0}, {id: 100027101, price: 49, name: '坚果 Pro 软胶保护套(红色)', spu_id: 1000271, sale_status: 3, product_info: {goods_name: '坚果 Pro 软胶保护套(红色)', goods_code: '100027101', barcode: '6970643021165', sapcode: 'ACC200005ARS', package_type: '0', product_code: '1000271', product_name: '坚果 Pro 软胶保护套', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '35', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', 'http://image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg', 'http://image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg', 'http://image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg', 'http://image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg'], ali_image: 'http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '红色', spec_value_id: '35'}}, created_at: 1492484266e3, updated_at: 1497410146e3, sku_list: [{id: 100027101, price: 49, name: '坚果 Pro 软胶保护套(红色)', spu_id: 1000271, sale_status: 3, product_info: {goods_name: '坚果 Pro 软胶保护套(红色)', goods_code: '100027101', barcode: '6970643021165', sapcode: 'ACC200005ARS', package_type: '0', product_code: '1000271', product_name: '坚果 Pro 软胶保护套', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '35', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', 'http://image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg', 'http://image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg', 'http://image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg', 'http://image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg'], ali_image: 'http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '红色', spec_value_id: '35'}}, created_at: 1492484266e3, updated_at: 1497410146e3}, {id: 100027102, price: 49, name: '坚果 Pro 软胶保护套(黑色)', spu_id: 1000271, sale_status: 3, product_info: {goods_name: '坚果 Pro 软胶保护套(黑色)', goods_code: '100027102', barcode: '6970643021196', sapcode: 'ACC200005ABS', package_type: '0', product_code: '1000271', product_name: '坚果 Pro 软胶保护套', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '36', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg', 'http://image.smartisanos.cn/resource/01f25111e1a2c238a0f77e84aebd0796.jpg', 'http://image.smartisanos.cn/resource/2841709c21ef07616f621fd863dcf2f3.jpg', 'http://image.smartisanos.cn/resource/1b6fd01e415c380947cd98f62fa44817.jpg', 'http://image.smartisanos.cn/resource/9e40a858dff00faa2f139587b7085249.jpg'], ali_image: 'http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '黑色', spec_value_id: '36'}}, created_at: 1492484266e3, updated_at: 1497410146e3}, {id: 100027103, price: 49, name: '坚果 Pro 软胶保护套(巧克力色)', spu_id: 1000271, sale_status: 3, product_info: {goods_name: '坚果 Pro 软胶保护套(巧克力色)', goods_code: '100027103', barcode: '6970643021172', sapcode: 'ACC200005AMS', package_type: '0', product_code: '1000271', product_name: '坚果 Pro 软胶保护套', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '41', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png', 'http://image.smartisanos.cn/resource/cf8a5f1de06e47d726f0a63566a0ad92.jpg', 'http://image.smartisanos.cn/resource/67b870558df49c45d0471bf9c20168bb.jpg', 'http://image.smartisanos.cn/resource/f3723c1a4ce684f63f1c110743818885.jpg', 'http://image.smartisanos.cn/resource/9f6816add135bf15a6d8018efde77b14.jpg'], ali_image: 'http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '咖啡色', spec_value_id: '41'}}, created_at: 1492484266e3, updated_at: 1497410146e3}, {id: 100027104, price: 49, name: '坚果 Pro 软胶保护套(浅金色)', spu_id: 1000271, sale_status: 3, product_info: {goods_name: '坚果 Pro 软胶保护套(浅金色)', goods_code: '100027104', barcode: '6970643021189', sapcode: 'ACC200005ACS', package_type: '0', product_code: '1000271', product_name: '坚果 Pro 软胶保护套', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: '坚果 Pro 软胶保护套', sub_title: 'TPU 环保材质、耐磨、耐油、耐久性强', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '35', spec_id: '1', item_value: '红色', show_name: '红色', image: 'attr/v2/1000271/948F029DCF134EF23267994487994DA5/'}, {id: '36', spec_id: '1', item_value: '黑色', show_name: '黑色', image: 'attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/'}, {id: '41', spec_id: '1', item_value: '咖啡色', show_name: '巧克力色', image: 'attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/'}, {id: '207', spec_id: '1', item_value: '浅金色', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '207', show_name: '浅金色', image: 'attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png', 'http://image.smartisanos.cn/resource/29ab28a5b6b9ffe2a03c32580dbc4309.jpg', 'http://image.smartisanos.cn/resource/1aa0b641eaa31f06c875d37259cdbedd.jpg', 'http://image.smartisanos.cn/resource/d370f3afd3d65dd8f16e89f3124b9915.jpg', 'http://image.smartisanos.cn/resource/5d08ab8393986c9337f329f09070091b.jpg'], ali_image: 'http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali_mobile: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}, ali: {url: ['http://image.smartisanos.cn/resource/98521dbfe1dd1e67db3f7ca21e76c9ef.jpg'], width: 2440, height: 14e3, piece_height: 1440, pieces_num: 10}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '浅金色', spec_value_id: '207'}}, created_at: 1494387839e3, updated_at: 1497410146e3}], in_stock: !0}, {id: 100026801, price: 19, name: 'Smartisan 耳机转接头(白色)', spu_id: 1000268, sale_status: 3, product_info: {goods_name: 'Smartisan 耳机转接头(白色)', goods_code: '100026801', barcode: '6970643021288', sapcode: 'ACC100005AWK', package_type: '0', product_code: '1000268', product_name: 'Smartisan 耳机转接头', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 耳机转接头', sub_title: '即插即用、全面兼容', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', 'http://image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg', 'http://image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg', 'http://image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg'], ali_image: 'http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 1492420907e3, updated_at: 1495784909e3, sku_list: [{id: 100026801, price: 19, name: 'Smartisan 耳机转接头(白色)', spu_id: 1000268, sale_status: 3, product_info: {goods_name: 'Smartisan 耳机转接头(白色)', goods_code: '100026801', barcode: '6970643021288', sapcode: 'ACC100005AWK', package_type: '0', product_code: '1000268', product_name: 'Smartisan 耳机转接头', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 耳机转接头', sub_title: '即插即用、全面兼容', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000268/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', 'http://image.smartisanos.cn/resource/6c0f0d0a3daf70ae3008210a8834035f.jpg', 'http://image.smartisanos.cn/resource/b896eb8a621c2ab201c622860d23c138.jpg', 'http://image.smartisanos.cn/resource/561c002e74f6a5982dfaf3b4a44c9af4.jpg'], ali_image: 'http://image.smartisanos.cn/resource/1dddddf6488ba89d592a37e9db93ffa2.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/586f7bfcf88f14935918943bb0421c26.jpg', width: 1220, height: 4715, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 1492420907e3, updated_at: 1495784909e3}], in_stock: !0}, {id: 100026701, price: 59, name: 'Smartisan 原装快充充电器 18W(白色)', spu_id: 1000267, sale_status: 3, product_info: {goods_name: 'Smartisan 原装快充充电器 18W(白色)', goods_code: '100026701', barcode: '6970643021332', sapcode: 'ACC120002AWR', package_type: '0', product_code: '1000267', product_name: 'Smartisan 原装快充充电器 18W', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 原装快充充电器 18W', sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', 'http://image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg', 'http://image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg', 'http://image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg', 'http://image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg'], ali_image: 'http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 149242042e4, updated_at: 1495627685e3, sku_list: [{id: 100026701, price: 59, name: 'Smartisan 原装快充充电器 18W(白色)', spu_id: 1000267, sale_status: 3, product_info: {goods_name: 'Smartisan 原装快充充电器 18W(白色)', goods_code: '100026701', barcode: '6970643021332', sapcode: 'ACC120002AWR', package_type: '0', product_code: '1000267', product_name: 'Smartisan 原装快充充电器 18W', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 原装快充充电器 18W', sub_title: '18W 安全快充、支持主流 QC3.0, MTK PE+2.0 快充协议', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000267/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', 'http://image.smartisanos.cn/resource/1047f5f47f3e825210ddcb745e5772a9.jpg', 'http://image.smartisanos.cn/resource/47461596fad00d37cb7a032a03d79286.jpg', 'http://image.smartisanos.cn/resource/f4f6346bea727862087b4761fc8b01d2.jpg', 'http://image.smartisanos.cn/resource/0286c84dba36577f37591f1af2b97402.jpg'], ali_image: 'http://image.smartisanos.cn/resource/dc53bd870ee64d2053ecc51750ece43a.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/4a7b87fe01ec8339985702ee922d205a.jpg', width: 1220, height: 4526, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 149242042e4, updated_at: 1495627685e3}], in_stock: !0}, {id: 100026601, price: 39, name: 'Smartisan 原装 Type-C 数据线(白色)', spu_id: 1000266, sale_status: 3, product_info: {goods_name: 'Smartisan 原装 Type-C 数据线(白色)', goods_code: '100026601', barcode: '6970643021349', sapcode: 'ACC100006AWK', package_type: '0', product_code: '1000266', product_name: 'Smartisan 原装 Type-C 数据线', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 原装 Type-C 数据线', sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', 'http://image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg', 'http://image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg', 'http://image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg', 'http://image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg'], ali_image: 'http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 149215424e4, updated_at: 1495784909e3, sku_list: [{id: 100026601, price: 39, name: 'Smartisan 原装 Type-C 数据线(白色)', spu_id: 1000266, sale_status: 3, product_info: {goods_name: 'Smartisan 原装 Type-C 数据线(白色)', goods_code: '100026601', barcode: '6970643021349', sapcode: 'ACC100006AWK', package_type: '0', product_code: '1000266', product_name: 'Smartisan 原装 Type-C 数据线', is_mobile: 0, is_insurance: 0, goods_type: '0', is_package: !1, package_goods: []}, shop_info: {title: 'Smartisan 原装 Type-C 数据线', sub_title: 'PTC 过温保护、凹形设计、TPE 环保材质', promo_title: '', limit_num: '5', spec_v2: [{spec_id: '1', spec_name: '颜色', visiable: '0', show_type: '2', spec_values: [{id: '37', spec_id: '1', item_value: '白色', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}], image_pre: 'http://img01.smartisanos.cn/', image_name: 'origin.jpg'}], spec_json: [{spec_id: '1', spec_value_id: '37', show_name: '白色', image: 'attr/v2/1000266/E647E77234F9ED0FDE9DD4084D35FF57/'}], buy_notes: [], images: null, image: null, ali_images: ['http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', 'http://image.smartisanos.cn/resource/85dcf195cfd5d3f5e18e6c04902ab827.jpg', 'http://image.smartisanos.cn/resource/bb86aab0a22550515c4dd1ea4261f047.jpg', 'http://image.smartisanos.cn/resource/84160bf185d10d8f6250b503e38993c3.jpg', 'http://image.smartisanos.cn/resource/0db3ed8368c13b626e5f3f16b93eaeae.jpg'], ali_image: 'http://image.smartisanos.cn/resource/c79a73ffc6f8e782160d978f49f543dc.jpg', image_default_name: 'origin.jpg', is_custom: '0', is_mobile: '0', is_package: '0', tpl_id: 'base', tpl_content: {base: {images: {'1x': [], '2x': [], mobile: [], image_pre: '', image_name: '', ali: {url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}, ali_mobile: {url: 'http://image.smartisanos.cn/resource/b3d7b420e3e609e858a8d75f19cbfd7c.jpg', width: 1220, height: 4829, piece_height: 1440, pieces_num: 4}}, attributes: [{title: '', list: [{name: '', value: ''}]}], aftersale: [{title: '', content: ''}], extra: [{title: '', content: ''}]}}, doodle_stage: '99'}, attr_info: {1: {spec_id: '1', spec_name: '颜色', value: '白色', spec_value_id: '37'}}, created_at: 149215424e4, updated_at: 1495784909e3}], in_stock: !0}] + +export default itemsData \ No newline at end of file diff --git a/Vue-shopping/src/lib/newGoodsData.js b/Vue-shopping/src/lib/newGoodsData.js new file mode 100644 index 0000000..c7b54a5 --- /dev/null +++ b/Vue-shopping/src/lib/newGoodsData.js @@ -0,0 +1,139 @@ +let goodsData = [ + [{ + "id": 1000271, + "name": "坚果 Pro 软胶保护套", + "name_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "price": 49, + "sku_info": [{ + "sku_id": 100027101, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "show_name": "红色" + } + },{ + "sku_id": 100027102, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "show_name": "黑色" + } + },{ + "sku_id": 100027103, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "show_name": "巧克力色" + } + },{ + "sku_id": 100027104, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "show_name": "浅金色" + } + }] + },{ + "id": 1000299, + "name": "Smartisan 快充移动电源 10000mAh", + "name_title": "10000mAh 双向快充、轻盈便携、高标准安全保护", + "price": 199, + "sku_info": [{ + "sku_id": 100029901, + "title": "Smartisan 快充移动电源 10000mAh", + "sub_title": "10000mAh 双向快充、轻盈便携、高标准安全保护", + "ali_image": "http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg", + "price": 199, + "limit_num": 1, + "spec_json": { + "image": "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/", + "show_name": "灰色" + } + }] + } +],[{ + "id": 1000271, + "name": "坚果 Pro 手机", + "name_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "price": 49, + "sku_info": [{ + "sku_id": 100027101, + "title": "坚果 Pro 手机", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "show_name": "红色" + } + },{ + "sku_id": 100027102, + "title": "坚果 Pro 手机", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "show_name": "黑色" + } + },{ + "sku_id": 100027103, + "title": "坚果 Pro 手机", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "show_name": "巧克力色" + } + },{ + "sku_id": 100027104, + "title": "坚果 Pro 手机", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "show_name": "浅金色" + } + }] +},{ + "id": 1000299, + "name": "Smartisan 手机 10000mAh", + "name_title": "10000mAh 双向快充、轻盈便携、高标准安全保护", + "price": 199, + "sku_info": [{ + "sku_id": 100029901, + "title": "Smartisan 手机 10000mAh", + "sub_title": "10000mAh 双向快充、轻盈便携、高标准安全保护", + "ali_image": "http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg", + "price": 199, + "limit_num": 1, + "spec_json": { + "image": "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/", + "show_name": "灰色" + } + }] +}]] + +export default goodsData diff --git a/Vue-shopping/src/lib/newItemsData.js b/Vue-shopping/src/lib/newItemsData.js new file mode 100644 index 0000000..1a6d5b9 --- /dev/null +++ b/Vue-shopping/src/lib/newItemsData.js @@ -0,0 +1,184 @@ +let itemsData = [{ + "sku_id": 100027101, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "show_name": "红色" + }, + "ali_images": [ + "http://image.smartisanos.cn/resource/902befd5f32a8caf4ca79b55d39ee25a.jpg", + "http://image.smartisanos.cn/resource/ca760e50409c796a4e770c54554f92bf.jpg", + "http://image.smartisanos.cn/resource/493c65d42fe83ec3daaf058d79fc1a95.jpg", + "http://image.smartisanos.cn/resource/0bf30081dd17431c4fdfbd237c53743f.jpg", + "http://image.smartisanos.cn/resource/cba7b4cdb2fc41d7f29fb45d94972e41.jpg" + ], + "sku_list": [{ + "id": 100027101, + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "limit_num": 5, + "color": "红色" + },{ + "id": 100027102, + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "limit_num": 5, + "color": "黑色" + },{ + "id": 100027103, + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "limit_num": 5, + "color": "巧克力色" + },{ + "id": 100027104, + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "limit_num": 5, + "color": "浅金色" + }] +},{ + "sku_id": 100027102, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "show_name": "黑色" + }, + "ali_images": [ + "http://image.smartisanos.cn/resource/554da94d8e4f84f03e0015fd1c997f46.jpg", + "http://image.smartisanos.cn/resource/01f25111e1a2c238a0f77e84aebd0796.jpg", + "http://image.smartisanos.cn/resource/2841709c21ef07616f621fd863dcf2f3.jpg", + "http://image.smartisanos.cn/resource/1b6fd01e415c380947cd98f62fa44817.jpg", + "http://image.smartisanos.cn/resource/9e40a858dff00faa2f139587b7085249.jpg" + ], + "sku_list": [{ + "id": 100027101, + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "limit_num": 5, + "color": "红色" + },{ + "id": 100027102, + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "limit_num": 5, + "color": "黑色" + },{ + "id": 100027103, + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "limit_num": 5, + "color": "巧克力色" + },{ + "id": 100027104, + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "limit_num": 5, + "color": "浅金色" + }] +},{ + "sku_id": 100027103, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/84b58718b8f8da3c08e0931e19fdc62e.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "show_name": "巧克力色" + }, + "ali_images": [ + "http://image.smartisanos.cn/resource/6d39130f5ad4bfe1241c0c17211472c2.jpg", + "http://image.smartisanos.cn/resource/5694eb55ad2777a87096677d9d39cc58.jpg", + "http://image.smartisanos.cn/resource/bffbb5411470d97a13f2f380006c96e4.jpg", + "http://image.smartisanos.cn/resource/701052c09e45bd4069d3f8280d0d1435.jpg", + "http://image.smartisanos.cn/resource/4fa7c5f81b02f71be4cae051ce547433.jpg" + ], + "sku_list": [{ + "id": 100027101, + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "limit_num": 5, + "color": "红色" + },{ + "id": 100027102, + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "limit_num": 5, + "color": "黑色" + },{ + "id": 100027103, + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "limit_num": 5, + "color": "巧克力色" + },{ + "id": 100027104, + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "limit_num": 5, + "color": "浅金色" + }] +},{ + "sku_id": 100027104, + "title": "坚果 Pro 软胶保护套", + "sub_title": "TPU 环保材质、耐磨、耐油、耐久性强", + "ali_image": "http://image.smartisanos.cn/resource/b20055215ae3db0f2c8b7ba4db68866f.png", + "price": 49, + "limit_num": 5, + "spec_json": { + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "show_name": "浅金色" + }, + "ali_images": [ + "http://image.smartisanos.cn/resource/46d4b1cc072c7daa0c69756ac62ab46e.jpg", + "http://image.smartisanos.cn/resource/e0d86a84c13b995fe87910324b3c7771.jpg", + "http://image.smartisanos.cn/resource/1febef151c00c073d65eb37f68b75faf.jpg", + "http://image.smartisanos.cn/resource/520666f8a84d92963320cf94bd74c05c.jpg", + "http://image.smartisanos.cn/resource/7087d8239dec31662978c4c44c8501ba.jpg" + ], + "sku_list": [{ + "id": 100027101, + "image": "attr/v2/1000271/948F029DCF134EF23267994487994DA5/", + "limit_num": 5, + "color": "红色" + },{ + "id": 100027102, + "image": "attr/v2/1000271/649AD35E36A9703BACBE1555AEB6D266/", + "limit_num": 5, + "color": "黑色" + },{ + "id": 100027103, + "image": "attr/v2/1000271/07BAF8C0EF046224A84B593DEEBC869E/", + "limit_num": 5, + "color": "巧克力色" + },{ + "id": 100027104, + "image": "attr/v2/1000271/52317E0C067C97FC6CE9376A2432CFFF/", + "limit_num": 5, + "color": "浅金色" + }] +},{ + "sku_id": 100029901, + "title": "Smartisan 快充移动电源 10000mAh", + "sub_title": "10000mAh 双向快充、轻盈便携、高标准安全保护", + "ali_image": "http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg", + "price": 199, + "limit_num": 1, + "spec_json": { + "image": "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/", + "show_name": "灰色" + }, + "ali_images": [ + "http://image.smartisanos.cn/resource/ae40a16324658c192c7361d829f603bd.jpg", + "http://image.smartisanos.cn/resource/0540778097a009364f2dcbb8c5286451.jpg", + "http://image.smartisanos.cn/resource/ed7ea75824124d7385c99d532f1d4f1d.jpg", + "http://image.smartisanos.cn/resource/40b8c1b1e5d175cc8fa9e7ff96cb6016.jpg", + "http://image.smartisanos.cn/resource/fb24dc3db26c6f02542e0dea9b10151b.jpg" + ], + "limit_num": 1, + "sku_list": [{ + "id": 100029901, + "image": "attr/v2/1000299/B37F37544921114CEF1EC01ED4DF44E4/", + "limit_num": 1, + "color": "灰色", + }] +}] + +export default itemsData diff --git a/Vue-shopping/src/main.js b/Vue-shopping/src/main.js new file mode 100644 index 0000000..14c85cb --- /dev/null +++ b/Vue-shopping/src/main.js @@ -0,0 +1,21 @@ +// The Vue build version to load with the `import` command +// (runtime-only or standalone) has been set in webpack.base.conf with an alias. +import Vue from 'vue' +import App from './App' +import router from './router' + +import store from './store' + + +console.log(store) + +Vue.config.productionTip = false + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + router, + store, + template: '', + components: { App } +}) diff --git a/Vue-shopping/src/plugins/axios.js b/Vue-shopping/src/plugins/axios.js new file mode 100644 index 0000000..dacf195 --- /dev/null +++ b/Vue-shopping/src/plugins/axios.js @@ -0,0 +1,61 @@ +"use strict"; + +import Vue from 'vue'; +import axios from "axios"; + +// Full config: https://github.com/axios/axios#request-config +// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || ''; +// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; +// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; + +let config = { + // baseURL: process.env.baseURL || process.env.apiUrl || "" + // timeout: 60 * 1000, // Timeout + // withCredentials: true, // Check cross-site Access-Control +}; + +const _axios = axios.create(config); + +_axios.interceptors.request.use( + function(config) { + // Do something before request is sent + return config; + }, + function(error) { + // Do something with request error + return Promise.reject(error); + } +); + +// Add a response interceptor +_axios.interceptors.response.use( + function(response) { + // Do something with response data + return response; + }, + function(error) { + // Do something with response error + return Promise.reject(error); + } +); + +Plugin.install = function(Vue, options) { + Vue.axios = _axios; + window.axios = _axios; + Object.defineProperties(Vue.prototype, { + axios: { + get() { + return _axios; + } + }, + $axios: { + get() { + return _axios; + } + }, + }); +}; + +Vue.use(Plugin) + +export default Plugin; diff --git a/Vue-shopping/src/plugins/element.js b/Vue-shopping/src/plugins/element.js new file mode 100644 index 0000000..c48a6ef --- /dev/null +++ b/Vue-shopping/src/plugins/element.js @@ -0,0 +1,5 @@ +import Vue from 'vue' +import Element from 'element-ui' +import 'element-ui/lib/theme-chalk/index.css' + +Vue.use(Element) diff --git a/Vue-shopping/src/plugins/iview.js b/Vue-shopping/src/plugins/iview.js new file mode 100644 index 0000000..288007a --- /dev/null +++ b/Vue-shopping/src/plugins/iview.js @@ -0,0 +1,6 @@ +import Vue from 'vue' +import ViewUI from 'view-design' + +Vue.use(ViewUI) + +import 'view-design/dist/styles/iview.css' diff --git a/Vue-shopping/src/router/index.js b/Vue-shopping/src/router/index.js new file mode 100644 index 0000000..461f25c --- /dev/null +++ b/Vue-shopping/src/router/index.js @@ -0,0 +1,95 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import '@/assets/css/reset.css' +import '@/assets/css/header.css' + +Vue.use(VueRouter) + +import Shop from '@/views/shop' +import Item from '@/views/item' +import Cart from '@/views/cart' +import Checkout from '@/views/checkout' +import Payment from '@/views/payment' +import Account from '@/views/account' +import Order from '@/views/account/order' +import Address from '@/views/account/address' +import user_login from "../views/user_login"; +import user_register from "../views/user_register"; + +// export default new Router({ +// mode: 'history', +// scrollBehavior (to, from, savePosition) { +// if (savePosition) { +// return savePosition +// } else { +// return {x: 0, y: 0} +// } +// }, + const routes = [ + { + path:'/', + redirect:'/user_login' + }, + { path:'/user_login', + name:"Login", + component: user_login, + // redirect:'/Login', + // show:true, + // children:[ + // {path: 'Login',component: Login} + // ] + }, + { path:'/user_register', + name:"Register", + component: user_register + }, + { + path: '/item', + name: 'Item', + component: Item + }, + { + path: '/shop', + name: 'Shop', + component: Shop + }, + { + path: '/cart', + name: 'Cart', + component: Cart + }, + { + path: '/checkout', + name: 'Checkout', + component: Checkout + }, + { + path: '/payment', + name: 'Payment', + component: Payment + }, + { + path: '/account', + component: Account, + children: [ + { + path: '/order', + name: 'Order', + component: Order + }, + { + path: '/address', + name: 'Address', + component: Address + } + ] + } + ] +// }) +const router = new VueRouter({ + mode: 'history', + base: process.env.BASE_URL, + routes +}) + +export default router diff --git a/Vue-shopping/src/store/index.js b/Vue-shopping/src/store/index.js new file mode 100644 index 0000000..cfdf877 --- /dev/null +++ b/Vue-shopping/src/store/index.js @@ -0,0 +1,253 @@ +import Vue from 'vue' +import Vuex from 'Vuex' + +Vue.use(Vuex) + +let store = new Vuex.Store({ + state: { + carPanelData: [], + receiveInfo: [{ + 'name': '王某某', + 'phone': '13811111111', + 'areaCode': '010', + 'landLine': '64627856', + 'provinceId': 110000, + 'province': '北京市', + 'cityId': 110100, + 'city': '市辖区', + 'countyId': 110106, + 'county': '海淀区', + 'add': '上地十街辉煌国际西6号楼319室', + 'default': true, + 'checked': true + },{ + 'name': '李某某', + 'phone': '13811111111', + 'areaCode': '010', + 'landLine': '64627856', + 'provinceId': 110000, + 'province': '北京市', + 'cityId': 110100, + 'city': '市辖区', + 'countyId': 110106, + 'county': '海淀区', + 'add': '上地十街辉煌国际东6号楼350室', + 'default': false, + 'checked': false + }], + provisionalOrder: [], + orderData: [], + maxOff: false, + carShow: false, + ball: { + show: false, + el: null, + img: '' + } + }, + getters: { + totleCount (state) { + let count = 0 + state.carPanelData.forEach((goods) => { + count += goods.count; + }) + return count + }, + totlePrice (state) { + let total = 0 + state.carPanelData.forEach((goods) => { + total += goods.price * goods.count + }) + return total + }, + checkedCount (state) { + let count = 0 + state.carPanelData.forEach((goods) => { + if(goods.checked) + count += goods.count; + }) + return count + }, + checkedPrice (state) { + let total = 0 + state.carPanelData.forEach((goods) => { + if(goods.checked) + total += goods.price * goods.count + }) + return total + }, + checkedCarPanelData (state) { + let checkedCarPanelData = [] + state.carPanelData.forEach((goods) => { + if(goods.checked) + checkedCarPanelData.push(goods); + }) + return checkedCarPanelData + }, + allChecked (state) { + let allChecked = true + state.carPanelData.forEach((goods) => { + if(!goods.checked){ + allChecked = false + return + } + }) + return allChecked + }, + maxCount (state) { + let maxOff = false + state.carPanelData.forEach((goods) => { + if(goods.count>goods.limit_num){ + goods.count-- + } + }) + return maxOff + } + }, + mutations: { + addCarPanelData (state,data) { + let bOff = true + state.carPanelData.forEach((goods) => { + if(goods.sku_id === data[0].sku_id){ + goods.count += data[1] + if(goods.count>goods.limit_num){ + goods.count -= data[1] + state.maxOff = true + bOff = false + return + } + state.ball.el = event.path[0] + state.ball.show = true + state.ball.img = data[0].ali_image + bOff = false + state.carShow = true + } + }) + if(bOff){ + let goodsData = data[0] + Vue.set(goodsData,'count',data[1]) + Vue.set(goodsData,'checked',true) + state.carPanelData.push(goodsData) + state.carShow = true + state.ball.el = event.path[0] + state.ball.show = true + state.ball.img = data[0].ali_image + } + }, + plusCarPanelData (state,id) { + state.carPanelData.forEach((goods,index) => { + if(goods.sku_id === id){ + if(goods.count === goods.limit_num) return + goods.count ++ + return + } + }) + }, + subCarPanelData (state,id) { + state.carPanelData.forEach((goods,index) => { + if(goods.sku_id === id){ + if(goods.count === 1) return + goods.count -- + return + } + }) + }, + delCarPanelData (state,id) { + state.carPanelData.forEach((goods,index) => { + if(goods.sku_id === id){ + state.carPanelData.splice(index,1) + return + } + }) + }, + checkGoods (state,id) { + state.carPanelData.forEach((goods,index) => { + if(goods.sku_id === id){ + goods.checked = !goods.checked + } + }) + }, + allGoodsCheck (state,checked) { + if(checked){ + state.carPanelData.forEach((goods,index) => { + goods.checked = false + }) + }else{ + state.carPanelData.forEach((goods,index) => { + goods.checked = true + }) + } + }, + delCheckGoods (state) { + let i = state.carPanelData.length + while(i--){ + if(state.carPanelData[i].checked){ + state.carPanelData.splice(i,1) + } + } + }, + submitOrder (state,data) { + let i = state.carPanelData.length + while(i--){ + if(state.carPanelData[i].checked){ + state.carPanelData.splice(i,1) + } + } + state.orderData.unshift(data) + state.receiveInfo.forEach((receive) => { + receive.checked = receive.default + }) + }, + payNow (state,id) { + state.orderData.forEach((order,index) => { + if(order.orderId === id){ + order.isPay = true + return + } + }) + }, + alertPrompt (state) { + state.maxOff = true + }, + closePrompt (state) { + state.maxOff = false + }, + showCar (state) { + state.carShow = true + }, + hideCar (state) { + state.carShow = false + }, + checkDefault (state,data) { + state.receiveInfo.forEach((receive,index) => { + if (receive==data) { + receive.default = true +// state.receiveInfo.unshift(state.receiveInfo.splice(index,1)[0]) + } else { + receive.default = false + } + }) + }, + checkOut (state,data) { + state.provisionalOrder = data + }, + submitReceive (state,data) { + if(data[0].default){ + state.receiveInfo.forEach((receive,index) => { + receive.default = false + receive.checked = false + }) +// state.receiveInfo.unshift(data) +// return + } + if(data[1]==null){ + state.receiveInfo.push(data[0]) + }else{ + console.log(data[0]) + state.receiveInfo[data[1]] = data[0] + } + } + } +}) + +export default store diff --git a/Vue-shopping/src/views/account.vue b/Vue-shopping/src/views/account.vue new file mode 100644 index 0000000..73848ee --- /dev/null +++ b/Vue-shopping/src/views/account.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/Vue-shopping/src/views/account/address.vue b/Vue-shopping/src/views/account/address.vue new file mode 100644 index 0000000..d23434e --- /dev/null +++ b/Vue-shopping/src/views/account/address.vue @@ -0,0 +1,452 @@ + + + + + diff --git a/Vue-shopping/src/views/account/order.vue b/Vue-shopping/src/views/account/order.vue new file mode 100644 index 0000000..8280fa1 --- /dev/null +++ b/Vue-shopping/src/views/account/order.vue @@ -0,0 +1,386 @@ + + + + + diff --git a/Vue-shopping/src/views/cart.vue b/Vue-shopping/src/views/cart.vue new file mode 100644 index 0000000..55675c3 --- /dev/null +++ b/Vue-shopping/src/views/cart.vue @@ -0,0 +1,609 @@ + + + + + diff --git a/Vue-shopping/src/views/checkout.vue b/Vue-shopping/src/views/checkout.vue new file mode 100644 index 0000000..75320d5 --- /dev/null +++ b/Vue-shopping/src/views/checkout.vue @@ -0,0 +1,690 @@ + + + + + diff --git a/Vue-shopping/src/views/item.vue b/Vue-shopping/src/views/item.vue new file mode 100644 index 0000000..876f807 --- /dev/null +++ b/Vue-shopping/src/views/item.vue @@ -0,0 +1,421 @@ + + + + + diff --git a/Vue-shopping/src/views/payment.vue b/Vue-shopping/src/views/payment.vue new file mode 100644 index 0000000..da54ba0 --- /dev/null +++ b/Vue-shopping/src/views/payment.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/Vue-shopping/src/views/shop.vue b/Vue-shopping/src/views/shop.vue new file mode 100644 index 0000000..fbb2ab6 --- /dev/null +++ b/Vue-shopping/src/views/shop.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/Vue-shopping/src/views/user_login.vue b/Vue-shopping/src/views/user_login.vue new file mode 100644 index 0000000..0bc079f --- /dev/null +++ b/Vue-shopping/src/views/user_login.vue @@ -0,0 +1,207 @@ + + + + diff --git a/Vue-shopping/src/views/user_register.vue b/Vue-shopping/src/views/user_register.vue new file mode 100644 index 0000000..34a7a65 --- /dev/null +++ b/Vue-shopping/src/views/user_register.vue @@ -0,0 +1,180 @@ + + + + diff --git a/Vue-shopping/static/.gitkeep b/Vue-shopping/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/sxdx01/.idea/compiler.xml b/后端/.idea/compiler.xml similarity index 100% rename from sxdx01/.idea/compiler.xml rename to 后端/.idea/compiler.xml diff --git a/sxdx01/.idea/misc.xml b/后端/.idea/misc.xml similarity index 100% rename from sxdx01/.idea/misc.xml rename to 后端/.idea/misc.xml diff --git a/sxdx01/.idea/workspace.xml b/后端/.idea/workspace.xml similarity index 100% rename from sxdx01/.idea/workspace.xml rename to 后端/.idea/workspace.xml diff --git a/sxdx01/jbit.log b/后端/jbit.log similarity index 100% rename from sxdx01/jbit.log rename to 后端/jbit.log diff --git a/sxdx01/pom.xml b/后端/pom.xml similarity index 100% rename from sxdx01/pom.xml rename to 后端/pom.xml diff --git a/sxdx01/profiles.xml b/后端/profiles.xml similarity index 100% rename from sxdx01/profiles.xml rename to 后端/profiles.xml diff --git a/sxdx01/src/main/webapp/WEB-INF/web.xml b/后端/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from sxdx01/src/main/webapp/WEB-INF/web.xml rename to 后端/src/main/webapp/WEB-INF/web.xml diff --git a/sxdx01/src/main/webapp/index.jsp b/后端/src/main/webapp/index.jsp similarity index 100% rename from sxdx01/src/main/webapp/index.jsp rename to 后端/src/main/webapp/index.jsp diff --git a/sxdx01/src/main/webapp/java/com/hw/controller/TestUser.java b/后端/src/main/webapp/java/com/hw/controller/TestUser.java similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/controller/TestUser.java rename to 后端/src/main/webapp/java/com/hw/controller/TestUser.java diff --git a/sxdx01/src/main/webapp/java/com/hw/dao/CartDao.java b/后端/src/main/webapp/java/com/hw/dao/CartDao.java similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/dao/CartDao.java rename to 后端/src/main/webapp/java/com/hw/dao/CartDao.java diff --git a/sxdx01/src/main/webapp/java/com/hw/dao/CartDao.xml b/后端/src/main/webapp/java/com/hw/dao/CartDao.xml similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/dao/CartDao.xml rename to 后端/src/main/webapp/java/com/hw/dao/CartDao.xml diff --git a/sxdx01/src/main/webapp/java/com/hw/dao/UserDao.java b/后端/src/main/webapp/java/com/hw/dao/UserDao.java similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/dao/UserDao.java rename to 后端/src/main/webapp/java/com/hw/dao/UserDao.java diff --git a/sxdx01/src/main/webapp/java/com/hw/dao/UserDao.xml b/后端/src/main/webapp/java/com/hw/dao/UserDao.xml similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/dao/UserDao.xml rename to 后端/src/main/webapp/java/com/hw/dao/UserDao.xml diff --git a/sxdx01/src/main/webapp/java/com/hw/po/Cart.java b/后端/src/main/webapp/java/com/hw/po/Cart.java similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/po/Cart.java rename to 后端/src/main/webapp/java/com/hw/po/Cart.java diff --git a/sxdx01/src/main/webapp/java/com/hw/po/User.java b/后端/src/main/webapp/java/com/hw/po/User.java similarity index 100% rename from sxdx01/src/main/webapp/java/com/hw/po/User.java rename to 后端/src/main/webapp/java/com/hw/po/User.java diff --git a/sxdx01/src/main/webapp/resources/db.properties b/后端/src/main/webapp/resources/db.properties similarity index 100% rename from sxdx01/src/main/webapp/resources/db.properties rename to 后端/src/main/webapp/resources/db.properties diff --git a/sxdx01/src/main/webapp/resources/log4j.properties b/后端/src/main/webapp/resources/log4j.properties similarity index 100% rename from sxdx01/src/main/webapp/resources/log4j.properties rename to 后端/src/main/webapp/resources/log4j.properties diff --git a/sxdx01/src/main/webapp/resources/mybatis-config.xml b/后端/src/main/webapp/resources/mybatis-config.xml similarity index 100% rename from sxdx01/src/main/webapp/resources/mybatis-config.xml rename to 后端/src/main/webapp/resources/mybatis-config.xml diff --git a/sxdx01/sxdx01.iml b/后端/sxdx01.iml similarity index 100% rename from sxdx01/sxdx01.iml rename to 后端/sxdx01.iml diff --git a/sxdx01/target/classes/com/hw/controller/TestUser.class b/后端/target/classes/com/hw/controller/TestUser.class similarity index 100% rename from sxdx01/target/classes/com/hw/controller/TestUser.class rename to 后端/target/classes/com/hw/controller/TestUser.class diff --git a/sxdx01/target/classes/com/hw/dao/CartDao.class b/后端/target/classes/com/hw/dao/CartDao.class similarity index 100% rename from sxdx01/target/classes/com/hw/dao/CartDao.class rename to 后端/target/classes/com/hw/dao/CartDao.class diff --git a/sxdx01/target/classes/com/hw/dao/CartDao.xml b/后端/target/classes/com/hw/dao/CartDao.xml similarity index 100% rename from sxdx01/target/classes/com/hw/dao/CartDao.xml rename to 后端/target/classes/com/hw/dao/CartDao.xml diff --git a/sxdx01/target/classes/com/hw/dao/UserDao.class b/后端/target/classes/com/hw/dao/UserDao.class similarity index 100% rename from sxdx01/target/classes/com/hw/dao/UserDao.class rename to 后端/target/classes/com/hw/dao/UserDao.class diff --git a/sxdx01/target/classes/com/hw/dao/UserDao.xml b/后端/target/classes/com/hw/dao/UserDao.xml similarity index 100% rename from sxdx01/target/classes/com/hw/dao/UserDao.xml rename to 后端/target/classes/com/hw/dao/UserDao.xml diff --git a/sxdx01/target/classes/com/hw/po/Cart.class b/后端/target/classes/com/hw/po/Cart.class similarity index 100% rename from sxdx01/target/classes/com/hw/po/Cart.class rename to 后端/target/classes/com/hw/po/Cart.class diff --git a/sxdx01/target/classes/com/hw/po/User.class b/后端/target/classes/com/hw/po/User.class similarity index 100% rename from sxdx01/target/classes/com/hw/po/User.class rename to 后端/target/classes/com/hw/po/User.class diff --git a/sxdx01/target/classes/db.properties b/后端/target/classes/db.properties similarity index 100% rename from sxdx01/target/classes/db.properties rename to 后端/target/classes/db.properties diff --git a/sxdx01/target/classes/log4j.properties b/后端/target/classes/log4j.properties similarity index 100% rename from sxdx01/target/classes/log4j.properties rename to 后端/target/classes/log4j.properties diff --git a/sxdx01/target/classes/mybatis-config.xml b/后端/target/classes/mybatis-config.xml similarity index 100% rename from sxdx01/target/classes/mybatis-config.xml rename to 后端/target/classes/mybatis-config.xml diff --git a/sxdx01/target/sxdx01.war b/后端/target/sxdx01.war similarity index 100% rename from sxdx01/target/sxdx01.war rename to 后端/target/sxdx01.war diff --git a/sxdx01/target/sxdx01/META-INF/MANIFEST.MF b/后端/target/sxdx01/META-INF/MANIFEST.MF similarity index 100% rename from sxdx01/target/sxdx01/META-INF/MANIFEST.MF rename to 后端/target/sxdx01/META-INF/MANIFEST.MF diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/com/hw/controller/TestUser.class b/后端/target/sxdx01/WEB-INF/classes/com/hw/controller/TestUser.class similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/com/hw/controller/TestUser.class rename to 后端/target/sxdx01/WEB-INF/classes/com/hw/controller/TestUser.class diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.class b/后端/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.class similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.class rename to 后端/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.class diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.xml b/后端/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.xml similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.xml rename to 后端/target/sxdx01/WEB-INF/classes/com/hw/dao/UserDao.xml diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/com/hw/po/User.class b/后端/target/sxdx01/WEB-INF/classes/com/hw/po/User.class similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/com/hw/po/User.class rename to 后端/target/sxdx01/WEB-INF/classes/com/hw/po/User.class diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/db.properties b/后端/target/sxdx01/WEB-INF/classes/db.properties similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/db.properties rename to 后端/target/sxdx01/WEB-INF/classes/db.properties diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/log4j.properties b/后端/target/sxdx01/WEB-INF/classes/log4j.properties similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/log4j.properties rename to 后端/target/sxdx01/WEB-INF/classes/log4j.properties diff --git a/sxdx01/target/sxdx01/WEB-INF/classes/mybatis-config.xml b/后端/target/sxdx01/WEB-INF/classes/mybatis-config.xml similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/classes/mybatis-config.xml rename to 后端/target/sxdx01/WEB-INF/classes/mybatis-config.xml diff --git a/sxdx01/target/sxdx01/WEB-INF/lib/log4j-1.2.17.jar b/后端/target/sxdx01/WEB-INF/lib/log4j-1.2.17.jar similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/lib/log4j-1.2.17.jar rename to 后端/target/sxdx01/WEB-INF/lib/log4j-1.2.17.jar diff --git a/sxdx01/target/sxdx01/WEB-INF/lib/mybatis-3.4.5.jar b/后端/target/sxdx01/WEB-INF/lib/mybatis-3.4.5.jar similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/lib/mybatis-3.4.5.jar rename to 后端/target/sxdx01/WEB-INF/lib/mybatis-3.4.5.jar diff --git a/sxdx01/target/sxdx01/WEB-INF/lib/mysql-connector-java-5.1.29.jar b/后端/target/sxdx01/WEB-INF/lib/mysql-connector-java-5.1.29.jar similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/lib/mysql-connector-java-5.1.29.jar rename to 后端/target/sxdx01/WEB-INF/lib/mysql-connector-java-5.1.29.jar diff --git a/sxdx01/target/sxdx01/WEB-INF/lib/slf4j-api-1.7.12.jar b/后端/target/sxdx01/WEB-INF/lib/slf4j-api-1.7.12.jar similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/lib/slf4j-api-1.7.12.jar rename to 后端/target/sxdx01/WEB-INF/lib/slf4j-api-1.7.12.jar diff --git a/sxdx01/target/sxdx01/WEB-INF/lib/slf4j-log4j12-1.7.12.jar b/后端/target/sxdx01/WEB-INF/lib/slf4j-log4j12-1.7.12.jar similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/lib/slf4j-log4j12-1.7.12.jar rename to 后端/target/sxdx01/WEB-INF/lib/slf4j-log4j12-1.7.12.jar diff --git a/sxdx01/target/sxdx01/WEB-INF/web.xml b/后端/target/sxdx01/WEB-INF/web.xml similarity index 100% rename from sxdx01/target/sxdx01/WEB-INF/web.xml rename to 后端/target/sxdx01/WEB-INF/web.xml diff --git a/sxdx01/target/sxdx01/index.jsp b/后端/target/sxdx01/index.jsp similarity index 100% rename from sxdx01/target/sxdx01/index.jsp rename to 后端/target/sxdx01/index.jsp diff --git a/sxdx01/target/sxdx01/java/com/hw/controller/TestUser.java b/后端/target/sxdx01/java/com/hw/controller/TestUser.java similarity index 100% rename from sxdx01/target/sxdx01/java/com/hw/controller/TestUser.java rename to 后端/target/sxdx01/java/com/hw/controller/TestUser.java diff --git a/sxdx01/target/sxdx01/java/com/hw/dao/UserDao.java b/后端/target/sxdx01/java/com/hw/dao/UserDao.java similarity index 100% rename from sxdx01/target/sxdx01/java/com/hw/dao/UserDao.java rename to 后端/target/sxdx01/java/com/hw/dao/UserDao.java diff --git a/sxdx01/target/sxdx01/java/com/hw/dao/UserDao.xml b/后端/target/sxdx01/java/com/hw/dao/UserDao.xml similarity index 100% rename from sxdx01/target/sxdx01/java/com/hw/dao/UserDao.xml rename to 后端/target/sxdx01/java/com/hw/dao/UserDao.xml diff --git a/sxdx01/target/sxdx01/java/com/hw/po/User.java b/后端/target/sxdx01/java/com/hw/po/User.java similarity index 100% rename from sxdx01/target/sxdx01/java/com/hw/po/User.java rename to 后端/target/sxdx01/java/com/hw/po/User.java diff --git a/sxdx01/target/sxdx01/resources/db.properties b/后端/target/sxdx01/resources/db.properties similarity index 100% rename from sxdx01/target/sxdx01/resources/db.properties rename to 后端/target/sxdx01/resources/db.properties diff --git a/sxdx01/target/sxdx01/resources/log4j.properties b/后端/target/sxdx01/resources/log4j.properties similarity index 100% rename from sxdx01/target/sxdx01/resources/log4j.properties rename to 后端/target/sxdx01/resources/log4j.properties diff --git a/sxdx01/target/sxdx01/resources/mybatis-config.xml b/后端/target/sxdx01/resources/mybatis-config.xml similarity index 100% rename from sxdx01/target/sxdx01/resources/mybatis-config.xml rename to 后端/target/sxdx01/resources/mybatis-config.xml