From c77caf259f245d19be662c7d3c60a48c555a7bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=93=E5=8F=91=E5=8F=97=E9=95=BF=E7=94=9F?= Date: Wed, 6 Jun 2018 17:33:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config.yml | 26 +- package-lock.json | 2697 ++++ package.json | 1 + themes/yilia/.babelrc | 7 + themes/yilia/.editorconfig | 9 + themes/yilia/.eslintignore | 2 + themes/yilia/.eslintrc.js | 39 + themes/yilia/.gitattributes | 5 + themes/yilia/.gitignore | 8 + themes/yilia/README.md | 215 + themes/yilia/_config.yml | 128 + themes/yilia/languages/default.yml | 19 + themes/yilia/languages/fr.yml | 19 + themes/yilia/languages/nl.yml | 20 + themes/yilia/languages/no.yml | 19 + themes/yilia/languages/ru.yml | 19 + themes/yilia/languages/zh-CN.yml | 19 + themes/yilia/languages/zh-tw.yml | 19 + themes/yilia/layout/_partial/after-footer.ejs | 14 + themes/yilia/layout/_partial/archive-post.ejs | 15 + themes/yilia/layout/_partial/archive.ejs | 43 + themes/yilia/layout/_partial/article.ejs | 132 + themes/yilia/layout/_partial/aside.ejs | 28 + .../yilia/layout/_partial/baidu-analytics.ejs | 11 + themes/yilia/layout/_partial/footer.ejs | 12 + .../layout/_partial/google-analytics.ejs | 14 + themes/yilia/layout/_partial/head.ejs | 43 + themes/yilia/layout/_partial/header.ejs | 32 + themes/yilia/layout/_partial/left-col.ejs | 37 + themes/yilia/layout/_partial/mobile-nav.ejs | 43 + .../yilia/layout/_partial/post/category.ejs | 12 + .../yilia/layout/_partial/post/changyan.ejs | 9 + themes/yilia/layout/_partial/post/date.ejs | 3 + themes/yilia/layout/_partial/post/duoshuo.ejs | 18 + themes/yilia/layout/_partial/post/gitment.ejs | 16 + themes/yilia/layout/_partial/post/nav.ejs | 22 + themes/yilia/layout/_partial/post/share.ejs | 53 + themes/yilia/layout/_partial/post/tag.ejs | 12 + themes/yilia/layout/_partial/post/title.ejs | 15 + .../yilia/layout/_partial/post/wangyiyun.ejs | 10 + themes/yilia/layout/_partial/script.ejs | 1 + themes/yilia/layout/_partial/tools.ejs | 128 + themes/yilia/layout/_partial/viewer.ejs | 66 + themes/yilia/layout/archive.ejs | 1 + themes/yilia/layout/category.ejs | 1 + themes/yilia/layout/index.ejs | 1 + themes/yilia/layout/layout.ejs | 27 + themes/yilia/layout/page.ejs | 1 + themes/yilia/layout/post.ejs | 1 + themes/yilia/layout/tag.ejs | 1 + themes/yilia/package-lock.json | 7869 +++++++++++ themes/yilia/package.json | 56 + themes/yilia/postcss.config.js | 7 + themes/yilia/source-src/css/_core.scss | 19 + themes/yilia/source-src/css/_function.scss | 21 + themes/yilia/source-src/css/archive.scss | 139 + .../yilia/source-src/css/article-inner.scss | 227 + themes/yilia/source-src/css/article-main.scss | 152 + themes/yilia/source-src/css/article-nav.scss | 22 + themes/yilia/source-src/css/article.scss | 330 + themes/yilia/source-src/css/aside.scss | 123 + themes/yilia/source-src/css/comment.scss | 10 + .../yilia/source-src/css/core/_animation.scss | 378 + .../source-src/css/core/_media-queries.scss | 247 + themes/yilia/source-src/css/core/_mixin.scss | 703 + themes/yilia/source-src/css/core/_reset.scss | 418 + .../yilia/source-src/css/core/_variables.scss | 83 + themes/yilia/source-src/css/fonts.scss | 111 + .../yilia/source-src/css/fonts/iconfont.eot | Bin 0 -> 20006 bytes .../yilia/source-src/css/fonts/iconfont.svg | 201 + .../yilia/source-src/css/fonts/iconfont.ttf | Bin 0 -> 19724 bytes .../yilia/source-src/css/fonts/iconfont.woff | Bin 0 -> 13192 bytes themes/yilia/source-src/css/footer.scss | 19 + themes/yilia/source-src/css/global.scss | 1 + themes/yilia/source-src/css/grid.scss | 56 + themes/yilia/source-src/css/highlight.scss | 161 + .../source-src/css/img/checkered-pattern.png | Bin 0 -> 353 bytes .../source-src/css/img/scrollbar_arrow.png | Bin 0 -> 3065 bytes themes/yilia/source-src/css/img/tooltip.svg | 6 + themes/yilia/source-src/css/left.scss | 116 + themes/yilia/source-src/css/main.scss | 25 + .../yilia/source-src/css/mobile-slider.scss | 42 + themes/yilia/source-src/css/mobile.scss | 379 + themes/yilia/source-src/css/page.scss | 38 + themes/yilia/source-src/css/reward.scss | 51 + themes/yilia/source-src/css/scroll.scss | 64 + themes/yilia/source-src/css/share.scss | 107 + themes/yilia/source-src/css/social.scss | 151 + themes/yilia/source-src/css/tags-cloud.scss | 63 + themes/yilia/source-src/css/tags.scss | 112 + themes/yilia/source-src/css/tools.scss | 143 + themes/yilia/source-src/css/tooltip.scss | 218 + themes/yilia/source-src/js/anm.js | 95 + themes/yilia/source-src/js/aside.js | 47 + themes/yilia/source-src/js/browser.js | 20 + themes/yilia/source-src/js/fix.js | 39 + themes/yilia/source-src/js/main.js | 18 + themes/yilia/source-src/js/mobile.js | 104 + themes/yilia/source-src/js/share.js | 79 + themes/yilia/source-src/js/slider.js | 130 + themes/yilia/source-src/js/util.js | 89 + themes/yilia/source-src/js/viewer.js | 44 + themes/yilia/source-src/js/vue.js | 10947 ++++++++++++++++ themes/yilia/source-src/js/vue.min.js | 6 + themes/yilia/source-src/script.ejs | 7 + themes/yilia/webpack.config.js | 77 + 106 files changed, 28656 insertions(+), 7 deletions(-) create mode 100644 package-lock.json create mode 100644 themes/yilia/.babelrc create mode 100644 themes/yilia/.editorconfig create mode 100644 themes/yilia/.eslintignore create mode 100644 themes/yilia/.eslintrc.js create mode 100644 themes/yilia/.gitattributes create mode 100644 themes/yilia/.gitignore create mode 100644 themes/yilia/README.md create mode 100644 themes/yilia/_config.yml create mode 100644 themes/yilia/languages/default.yml create mode 100644 themes/yilia/languages/fr.yml create mode 100644 themes/yilia/languages/nl.yml create mode 100644 themes/yilia/languages/no.yml create mode 100644 themes/yilia/languages/ru.yml create mode 100644 themes/yilia/languages/zh-CN.yml create mode 100644 themes/yilia/languages/zh-tw.yml create mode 100644 themes/yilia/layout/_partial/after-footer.ejs create mode 100644 themes/yilia/layout/_partial/archive-post.ejs create mode 100644 themes/yilia/layout/_partial/archive.ejs create mode 100644 themes/yilia/layout/_partial/article.ejs create mode 100644 themes/yilia/layout/_partial/aside.ejs create mode 100644 themes/yilia/layout/_partial/baidu-analytics.ejs create mode 100644 themes/yilia/layout/_partial/footer.ejs create mode 100644 themes/yilia/layout/_partial/google-analytics.ejs create mode 100644 themes/yilia/layout/_partial/head.ejs create mode 100644 themes/yilia/layout/_partial/header.ejs create mode 100644 themes/yilia/layout/_partial/left-col.ejs create mode 100644 themes/yilia/layout/_partial/mobile-nav.ejs create mode 100644 themes/yilia/layout/_partial/post/category.ejs create mode 100644 themes/yilia/layout/_partial/post/changyan.ejs create mode 100644 themes/yilia/layout/_partial/post/date.ejs create mode 100644 themes/yilia/layout/_partial/post/duoshuo.ejs create mode 100644 themes/yilia/layout/_partial/post/gitment.ejs create mode 100644 themes/yilia/layout/_partial/post/nav.ejs create mode 100644 themes/yilia/layout/_partial/post/share.ejs create mode 100644 themes/yilia/layout/_partial/post/tag.ejs create mode 100644 themes/yilia/layout/_partial/post/title.ejs create mode 100644 themes/yilia/layout/_partial/post/wangyiyun.ejs create mode 100644 themes/yilia/layout/_partial/script.ejs create mode 100644 themes/yilia/layout/_partial/tools.ejs create mode 100644 themes/yilia/layout/_partial/viewer.ejs create mode 100644 themes/yilia/layout/archive.ejs create mode 100644 themes/yilia/layout/category.ejs create mode 100644 themes/yilia/layout/index.ejs create mode 100644 themes/yilia/layout/layout.ejs create mode 100644 themes/yilia/layout/page.ejs create mode 100644 themes/yilia/layout/post.ejs create mode 100644 themes/yilia/layout/tag.ejs create mode 100644 themes/yilia/package-lock.json create mode 100644 themes/yilia/package.json create mode 100644 themes/yilia/postcss.config.js create mode 100644 themes/yilia/source-src/css/_core.scss create mode 100644 themes/yilia/source-src/css/_function.scss create mode 100644 themes/yilia/source-src/css/archive.scss create mode 100644 themes/yilia/source-src/css/article-inner.scss create mode 100644 themes/yilia/source-src/css/article-main.scss create mode 100644 themes/yilia/source-src/css/article-nav.scss create mode 100644 themes/yilia/source-src/css/article.scss create mode 100644 themes/yilia/source-src/css/aside.scss create mode 100644 themes/yilia/source-src/css/comment.scss create mode 100644 themes/yilia/source-src/css/core/_animation.scss create mode 100644 themes/yilia/source-src/css/core/_media-queries.scss create mode 100644 themes/yilia/source-src/css/core/_mixin.scss create mode 100644 themes/yilia/source-src/css/core/_reset.scss create mode 100644 themes/yilia/source-src/css/core/_variables.scss create mode 100644 themes/yilia/source-src/css/fonts.scss create mode 100644 themes/yilia/source-src/css/fonts/iconfont.eot create mode 100644 themes/yilia/source-src/css/fonts/iconfont.svg create mode 100644 themes/yilia/source-src/css/fonts/iconfont.ttf create mode 100644 themes/yilia/source-src/css/fonts/iconfont.woff create mode 100644 themes/yilia/source-src/css/footer.scss create mode 100644 themes/yilia/source-src/css/global.scss create mode 100644 themes/yilia/source-src/css/grid.scss create mode 100644 themes/yilia/source-src/css/highlight.scss create mode 100644 themes/yilia/source-src/css/img/checkered-pattern.png create mode 100644 themes/yilia/source-src/css/img/scrollbar_arrow.png create mode 100644 themes/yilia/source-src/css/img/tooltip.svg create mode 100644 themes/yilia/source-src/css/left.scss create mode 100644 themes/yilia/source-src/css/main.scss create mode 100644 themes/yilia/source-src/css/mobile-slider.scss create mode 100644 themes/yilia/source-src/css/mobile.scss create mode 100644 themes/yilia/source-src/css/page.scss create mode 100644 themes/yilia/source-src/css/reward.scss create mode 100644 themes/yilia/source-src/css/scroll.scss create mode 100644 themes/yilia/source-src/css/share.scss create mode 100644 themes/yilia/source-src/css/social.scss create mode 100644 themes/yilia/source-src/css/tags-cloud.scss create mode 100644 themes/yilia/source-src/css/tags.scss create mode 100644 themes/yilia/source-src/css/tools.scss create mode 100644 themes/yilia/source-src/css/tooltip.scss create mode 100644 themes/yilia/source-src/js/anm.js create mode 100644 themes/yilia/source-src/js/aside.js create mode 100644 themes/yilia/source-src/js/browser.js create mode 100644 themes/yilia/source-src/js/fix.js create mode 100644 themes/yilia/source-src/js/main.js create mode 100644 themes/yilia/source-src/js/mobile.js create mode 100644 themes/yilia/source-src/js/share.js create mode 100644 themes/yilia/source-src/js/slider.js create mode 100644 themes/yilia/source-src/js/util.js create mode 100644 themes/yilia/source-src/js/viewer.js create mode 100644 themes/yilia/source-src/js/vue.js create mode 100644 themes/yilia/source-src/js/vue.min.js create mode 100644 themes/yilia/source-src/script.ejs create mode 100644 themes/yilia/webpack.config.js diff --git a/_config.yml b/_config.yml index 300f1ec..0775ec4 100644 --- a/_config.yml +++ b/_config.yml @@ -78,7 +78,7 @@ pagination_dir: page # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ -theme: raytaylorism +theme: yilia #---------------------------- # 搜索 @@ -94,9 +94,21 @@ deploy: repo: https://git.coding.net/sookie2010/sookie2010.coding.me.git branch: master -archive_generator: - per_page: 0 -tag_generator: - per_page: 0 -category_generator: - per_page: 0 \ No newline at end of file +jsonContent: + meta: false + pages: false + posts: + title: true + date: true + path: true + text: false + raw: false + content: false + slug: false + updated: false + comments: false + link: false + permalink: false + excerpt: false + categories: true + tags: true \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..000a8e5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2697 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, + "a-sync-waterfall": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz", + "integrity": "sha1-OOgxnXk3niRiiEW1O5ZyKyng5Hw=" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "1.1.0" + } + }, + "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==" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "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" + } + }, + "babel-eslint": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", + "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0" + } + }, + "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.26.0" + } + }, + "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.5.5", + "regenerator-runtime": "0.11.1" + } + }, + "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.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + } + }, + "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.10", + "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=" + }, + "basic-auth": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz", + "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=", + "requires": { + "safe-buffer": "5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browser-fingerprint": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz", + "integrity": "sha1-jfPNyiW/fVs1QtYVRdcwBT/OYEo=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.1", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "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=" + }, + "command-exists": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.6.tgz", + "integrity": "sha512-Qst/zUUNmS/z3WziPxyqjrcz09pm+2Knbs5mAZL4VAE0sSrNY1/w8+/YxeHcoBTsO6iojA6BW7eFf27Eg2MRuw==" + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "requires": { + "mime-db": "1.33.0" + } + }, + "compression": { + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.13", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + } + }, + "core-js": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=", + "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=" + }, + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "requires": { + "lru-cache": "4.1.2", + "which": "1.3.0" + } + }, + "css-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=" + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" + }, + "cuid": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-1.3.8.tgz", + "integrity": "sha1-S4deCWm612T37AcGz0T1+wgx9rc=", + "requires": { + "browser-fingerprint": "0.0.1", + "core-js": "1.2.7", + "node-fingerprint": "0.0.2" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", + "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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=" + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "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=", + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "1.0.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "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.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "optional": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "hexo": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-3.7.1.tgz", + "integrity": "sha512-+RRN4C8oWYzEnW0NtqNrIfIITRTvXpMoE6OrK5aK4nrO+4lzp0JfZkoxnsINVXUPmzHRimLWUzO95x9lt33jEg==", + "requires": { + "abbrev": "1.1.1", + "archy": "1.0.0", + "bluebird": "3.5.1", + "chalk": "2.4.1", + "cheerio": "0.22.0", + "hexo-cli": "1.1.0", + "hexo-front-matter": "0.2.3", + "hexo-fs": "0.2.3", + "hexo-i18n": "0.2.1", + "hexo-log": "0.2.0", + "hexo-util": "0.6.3", + "js-yaml": "3.11.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "moment": "2.22.1", + "moment-timezone": "0.5.16", + "nunjucks": "3.1.2", + "pretty-hrtime": "1.0.3", + "resolve": "1.7.1", + "strip-ansi": "4.0.0", + "strip-indent": "2.0.0", + "swig-extras": "0.0.1", + "swig-templates": "2.0.2", + "text-table": "0.2.0", + "tildify": "1.2.0", + "titlecase": "1.1.2", + "warehouse": "2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "hexo-cli": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-1.1.0.tgz", + "integrity": "sha512-IWQPppwgmj1iBUcP5mpcMg3Tre6a8Qlr8ejXw6naZiJNSepSgh4mS3KiNPKDa2qQIgPDqJYJzNVFLw+RLA9CkA==", + "requires": { + "abbrev": "1.1.1", + "bluebird": "3.5.1", + "chalk": "1.1.3", + "command-exists": "1.2.6", + "hexo-fs": "0.2.3", + "hexo-log": "0.2.0", + "hexo-util": "0.6.3", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "resolve": "1.7.1", + "tildify": "1.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + } + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "3.0.0" + } + }, + "swig-templates": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/swig-templates/-/swig-templates-2.0.2.tgz", + "integrity": "sha1-0lAqcwMBk1b06nbqkGXU9Yr2q3U=", + "requires": { + "optimist": "0.6.1", + "uglify-js": "2.6.0" + } + }, + "uglify-js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.0.tgz", + "integrity": "sha1-JeqhzDVQ45QQzu+v0c+7a20V8AE=", + "requires": { + "async": "0.2.10", + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "hexo-bunyan": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-bunyan/-/hexo-bunyan-1.0.0.tgz", + "integrity": "sha512-RymT8Ck+K77mLt9BEYNb4uyfC7RIQnU5N3laXowMrS28jj2h89VHJCOnhV00mmta4fHRqNa07kP1Hrn17nvMkQ==", + "requires": { + "moment": "2.22.1", + "mv": "2.1.1", + "safe-json-stringify": "1.1.0" + } + }, + "hexo-deployer-git": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-0.3.1.tgz", + "integrity": "sha512-JSwSmTSknGpaiooGXwmP7sAhoSNW3c+xmBiCc5yyrvRSfQ3zIYWjmcqNXSj8m2DmheqQNgt5D4M7quYjw+L6tA==", + "dev": true, + "requires": { + "babel-eslint": "7.2.3", + "bluebird": "3.5.1", + "chalk": "1.1.3", + "hexo-fs": "0.2.3", + "hexo-util": "0.6.3", + "moment": "2.22.1", + "swig": "1.4.2" + } + }, + "hexo-front-matter": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-0.2.3.tgz", + "integrity": "sha1-x8qO9CDqNr2F6ECKLoyb9J76YF4=", + "requires": { + "js-yaml": "3.11.0" + } + }, + "hexo-fs": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-0.2.3.tgz", + "integrity": "sha512-rLB1rMVUW3csAljvJgHfyjemL0BrmcUZfBf9hJe6S0pA53igFa3ON0PFwomvoLs1Wdmjs9Awnw9Tru4PjWFSlQ==", + "requires": { + "bluebird": "3.5.1", + "chokidar": "1.7.0", + "escape-string-regexp": "1.0.5", + "graceful-fs": "4.1.11" + } + }, + "hexo-generator-archive": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-0.1.5.tgz", + "integrity": "sha512-jPbMtibqkJnAX3hCwhYhK3r6cqy9OKQsVEScjk7LDok+iPmFmkKCNdU/OccxGe1CWAZpT+ta4+LknwNeHG2G4w==", + "requires": { + "hexo-pagination": "0.0.2", + "object-assign": "2.1.1" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + } + } + }, + "hexo-generator-category": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/hexo-generator-category/-/hexo-generator-category-0.1.3.tgz", + "integrity": "sha1-uealhiUwqDvdfaTIGcG58+TMtLI=", + "requires": { + "hexo-pagination": "0.0.2", + "object-assign": "2.1.1" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + } + } + }, + "hexo-generator-feed": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/hexo-generator-feed/-/hexo-generator-feed-1.2.2.tgz", + "integrity": "sha512-4jcvVhFgpEFRJ7A+KhBSfWoQaewRBjcVWEO4OmBgnvaZOm6XwK+b5ZXx/8BpujCLHbjXWzglXhiT7qFFS/nvzw==", + "requires": { + "nunjucks": "3.1.2", + "object-assign": "4.1.1" + } + }, + "hexo-generator-index": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-0.2.1.tgz", + "integrity": "sha1-kEIin8rHmq9wBXXaGTMr8/fuXF0=", + "requires": { + "hexo-pagination": "0.0.2", + "object-assign": "4.1.1" + } + }, + "hexo-generator-json-content": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hexo-generator-json-content/-/hexo-generator-json-content-3.0.1.tgz", + "integrity": "sha1-gXz87L6avZMEFAXyQGDb6T6YR0Q=", + "requires": { + "hexo-util": "0.6.3", + "keyword-extractor": "0.0.15", + "moment": "2.22.2" + }, + "dependencies": { + "hexo-util": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-0.6.3.tgz", + "integrity": "sha512-zPxaqCWZz3/25SAB4FlrRtWktJ+Pr+vBiv/nyHpXKgXPt1m70liViKlRwWLqDmRjJ72x6/k4qCEeXHajvcGHUw==", + "requires": { + "bluebird": "3.5.1", + "camel-case": "3.0.0", + "cross-spawn": "4.0.2", + "highlight.js": "9.12.0", + "html-entities": "1.2.1", + "striptags": "2.2.1" + } + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + } + } + }, + "hexo-generator-search": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hexo-generator-search/-/hexo-generator-search-2.2.5.tgz", + "integrity": "sha512-lt2qEGhNINOcQr2ws7UKXAOALWz8Z0+fuq88mbJgQogpUhXrLLfJiv/padHBatooTFeK7+XBUDDS6mgfKMbrkg==", + "requires": { + "nunjucks": "3.1.2", + "utils-merge": "1.0.1" + } + }, + "hexo-generator-tag": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-0.2.0.tgz", + "integrity": "sha1-xXFYRrtB5X2cIMHWbX2yGhq/emI=", + "requires": { + "hexo-pagination": "0.0.2", + "object-assign": "4.1.1" + } + }, + "hexo-i18n": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-0.2.1.tgz", + "integrity": "sha1-hPFBQyvwnYtVjth4xygWS20c1t4=", + "requires": { + "sprintf-js": "1.0.3" + } + }, + "hexo-log": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-0.2.0.tgz", + "integrity": "sha512-fzoc+GQexxPPILTjoOQILnA3ZG2MFgqMBVel4xvJ11pXptw9+f97ynTgDAExXafyp9Nz2ChXRuqlCYgPtZSlxQ==", + "requires": { + "chalk": "1.1.3", + "hexo-bunyan": "1.0.0" + } + }, + "hexo-pagination": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/hexo-pagination/-/hexo-pagination-0.0.2.tgz", + "integrity": "sha1-jPRwx9sN5bGKOSanbesZQBXffys=", + "requires": { + "utils-merge": "1.0.1" + } + }, + "hexo-renderer-ejs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-0.3.1.tgz", + "integrity": "sha512-XN8pYJU+Wr3dT8ipqEPRlOBySJpd1C5NUBBzgZpVSVBC/6L36O0YZI/Qd5NxQqwfGfSuKQ8N5iMyjmRXSR1MdA==", + "requires": { + "ejs": "2.5.9", + "object-assign": "4.1.1" + } + }, + "hexo-renderer-marked": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/hexo-renderer-marked/-/hexo-renderer-marked-0.3.2.tgz", + "integrity": "sha512-joSLeHB0YRkuViIPQlRz4A+zfJKPNHT+rABFgPHiT1zL9eeTUPxoLL4h7kcgOwRLAontVScaxP2Sie15mNitFg==", + "requires": { + "hexo-util": "0.6.3", + "marked": "0.3.19", + "object-assign": "4.1.1", + "strip-indent": "2.0.0" + } + }, + "hexo-renderer-stylus": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-0.3.3.tgz", + "integrity": "sha1-xU6ifh/Y48ipp6hM+6itNUEiyn8=", + "requires": { + "nib": "1.1.2", + "stylus": "0.54.5" + } + }, + "hexo-server": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-0.2.2.tgz", + "integrity": "sha512-/KkOYMIGylNoMtnlgas84Kw18A60WU3BVfo8ZnTHy8omCsAz2Z+aK6ddR4PpSmTdLeKDsiZj4ZSg86ZQ+FZzrA==", + "requires": { + "bluebird": "3.5.1", + "chalk": "1.1.3", + "compression": "1.7.2", + "connect": "3.6.6", + "mime": "1.6.0", + "morgan": "1.9.0", + "object-assign": "4.1.1", + "opn": "4.0.2", + "serve-static": "1.13.2" + } + }, + "hexo-util": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-0.6.3.tgz", + "integrity": "sha512-zPxaqCWZz3/25SAB4FlrRtWktJ+Pr+vBiv/nyHpXKgXPt1m70liViKlRwWLqDmRjJ72x6/k4qCEeXHajvcGHUw==", + "requires": { + "bluebird": "3.5.1", + "camel-case": "3.0.0", + "cross-spawn": "4.0.2", + "highlight.js": "9.12.0", + "html-entities": "1.2.1", + "striptags": "2.2.1" + } + }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.4.1", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.5.0" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "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.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-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=", + "requires": { + "binary-extensions": "1.11.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==" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "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=", + "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=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "3.2.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "keyword-extractor": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/keyword-extractor/-/keyword-extractor-0.0.15.tgz", + "integrity": "sha1-GTFX3GIw8b6B8xR1Z+6PFiZ9jic=", + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.3.3" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "markdown": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", + "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", + "requires": { + "nopt": "2.1.2" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "moment": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==" + }, + "moment-timezone": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.16.tgz", + "integrity": "sha512-4d1l92plNNqnMkqI/7boWNVXJvwGL2WyByl1Hxp3h/ao3HZiAqaoQY+6KBkYdiN5QtNDpndq+58ozl8W4GVoNw==", + "requires": { + "moment": "2.22.1" + } + }, + "morgan": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", + "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=", + "requires": { + "basic-auth": "2.0.0", + "debug": "2.6.9", + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "optional": true, + "requires": { + "mkdirp": "0.5.1", + "ncp": "2.0.0", + "rimraf": "2.4.5" + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "optional": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "nib": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/nib/-/nib-1.1.2.tgz", + "integrity": "sha1-amnt5AgblcDe+L4CSkyK4MLLtsc=", + "requires": { + "stylus": "0.54.5" + } + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "1.1.4" + } + }, + "node-fingerprint": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/node-fingerprint/-/node-fingerprint-0.0.2.tgz", + "integrity": "sha1-Mcur63GmeufdWn3AQuUcPHWGhQE=" + }, + "nopt": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", + "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "requires": { + "boolbase": "1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nunjucks": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.1.2.tgz", + "integrity": "sha512-pJXncV07mmiuIDL9OqdNkcpvifuDMzMq9qBQT9SHasAS7AEwzNp/r/jHNl+9O0+zsldcdWG9ZtXo/nwu2cTqXA==", + "requires": { + "a-sync-waterfall": "1.0.0", + "asap": "2.0.6", + "chokidar": "1.7.0", + "postinstall-build": "5.0.1", + "yargs": "3.32.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "postinstall-build": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postinstall-build/-/postinstall-build-5.0.1.tgz", + "integrity": "sha1-uRepB5smF42aJK9aXNjLSpkdEbk=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "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=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "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=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "requires": { + "path-parse": "1.0.5" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "optional": true, + "requires": { + "glob": "6.0.4" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-json-stringify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.1.0.tgz", + "integrity": "sha512-EzBtUaFH9bHYPc69wqjp0efJI/DPNHdFbGE3uIMn4sVbO0zx8vZ8cG4WKxQfOpUOKsQyGBiT2mTqnCw+6nLswA==", + "optional": true + }, + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "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.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "source-map": { + "version": "0.1.34", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", + "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", + "requires": { + "amdefine": "1.0.1" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + }, + "striptags": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/striptags/-/striptags-2.2.1.tgz", + "integrity": "sha1-TEULcI1BuL85zyTEn/I0/Gqr/TI=" + }, + "stylus": { + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "requires": { + "css-parse": "1.7.0", + "debug": "2.6.9", + "glob": "7.0.6", + "mkdirp": "0.5.1", + "sax": "0.5.8", + "source-map": "0.1.34" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "swig": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/swig/-/swig-1.4.2.tgz", + "integrity": "sha1-QIXKBFM2kQS11IPihBs5t64aq6U=", + "dev": true, + "requires": { + "optimist": "0.6.1", + "uglify-js": "2.4.24" + } + }, + "swig-extras": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/swig-extras/-/swig-extras-0.0.1.tgz", + "integrity": "sha1-tQP+3jcqucJMasaMr2VrzvGHIyg=", + "requires": { + "markdown": "0.5.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "requires": { + "os-homedir": "1.0.2" + } + }, + "titlecase": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.2.tgz", + "integrity": "sha1-eBE9EQgIa4MmMxoyR96o9aSeqFM=" + }, + "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 + }, + "uglify-js": { + "version": "2.4.24", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "dev": true, + "requires": { + "async": "0.2.10", + "source-map": "0.1.34", + "uglify-to-browserify": "1.0.2", + "yargs": "3.5.4" + } + }, + "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=" + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=" + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "warehouse": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-2.2.0.tgz", + "integrity": "sha1-XQnWSUKZK+Zn2PfIagnCuK6gQGI=", + "requires": { + "JSONStream": "1.3.2", + "bluebird": "3.5.1", + "cuid": "1.3.8", + "graceful-fs": "4.1.11", + "is-plain-object": "2.0.4", + "lodash": "4.17.10" + } + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "requires": { + "isexe": "2.0.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "decamelize": "1.2.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index 403f5a0..e4b0fb7 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "hexo-generator-category": "^0.1.3", "hexo-generator-feed": "^1.2.2", "hexo-generator-index": "^0.2.0", + "hexo-generator-json-content": "^3.0.1", "hexo-generator-search": "^2.2.5", "hexo-generator-tag": "^0.2.0", "hexo-renderer-ejs": "^0.3.0", diff --git a/themes/yilia/.babelrc b/themes/yilia/.babelrc new file mode 100644 index 0000000..002696a --- /dev/null +++ b/themes/yilia/.babelrc @@ -0,0 +1,7 @@ +{ + "presets": ["es2015", "stage-2"], + "plugins": [ + "transform-class-properties", + "transform-runtime" + ] +} \ No newline at end of file diff --git a/themes/yilia/.editorconfig b/themes/yilia/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/themes/yilia/.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/themes/yilia/.eslintignore b/themes/yilia/.eslintignore new file mode 100644 index 0000000..34af377 --- /dev/null +++ b/themes/yilia/.eslintignore @@ -0,0 +1,2 @@ +build/*.js +config/*.js diff --git a/themes/yilia/.eslintrc.js b/themes/yilia/.eslintrc.js new file mode 100644 index 0000000..91ed618 --- /dev/null +++ b/themes/yilia/.eslintrc.js @@ -0,0 +1,39 @@ +module.exports = { + extends: ['eslint-config-airbnb'], + env: { + browser: true, + node: true, + mocha: true, + jest: true, + es6: true + }, + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 6, + ecmaFeatures: { + jsx: true, + experimentalObjectRestSpread: true + } + }, + plugins: [ + 'react', + 'babel' + ], + rules: { + 'curly': [2, 'all'], + 'func-names': 0, + 'prefer-const': 0, + 'arrow-body-style': 0, + 'react/sort-comp': 0, + 'react/prop-types': 0, + 'react/jsx-first-prop-new-line': 0, + 'import/no-unresolved': 0, + 'no-param-reassign': 0, + 'no-return-assign': 0, + 'max-len': [2, { + 'code': 120 + }], + 'consistent-return': 0, + 'comma-dangle': 0 + } +} diff --git a/themes/yilia/.gitattributes b/themes/yilia/.gitattributes new file mode 100644 index 0000000..4af404f --- /dev/null +++ b/themes/yilia/.gitattributes @@ -0,0 +1,5 @@ +*.js linguist-language=JavaScript +*.css linguist-language=JavaScript +*.scss linguist-language=JavaScript +*.ejs linguist-language=JavaScript +*.html linguist-language=JavaScript \ No newline at end of file diff --git a/themes/yilia/.gitignore b/themes/yilia/.gitignore new file mode 100644 index 0000000..1ffe4a8 --- /dev/null +++ b/themes/yilia/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log +selenium-debug.log +test/unit/coverage +test/e2e/reports +source/assets/ \ No newline at end of file diff --git a/themes/yilia/README.md b/themes/yilia/README.md new file mode 100644 index 0000000..d38bcde --- /dev/null +++ b/themes/yilia/README.md @@ -0,0 +1,215 @@ +hexo-theme-yilia +================ + +Yilia 是为 [hexo](https://github.com/tommy351/hexo) 2.4+制作的主题。 +崇尚简约优雅,以及极致的性能。 你可以点击 [我的博客](http://litten.me/) 查看效果。 + +如果想体验手机浏览效果,可以扫一下二维码: + +![litten-qrcode](https://cloud.githubusercontent.com/assets/2024949/6349328/51a067fe-bc64-11e4-881c-f68050c50c28.png) + +————————————————————— + +**关于主题:** + +1. 崇尚简约 +2. 追求移动端体验 +3. 希望把加载速度做到极致(努力中) +4. 让大家把注意力放到内容上。这是本主题设计初衷 +5. 主题不支持IE6,7,8。以后也不会 + +**近期更新(2017.07.09):** + +2017.07.09 +1. 返回顶部 +2. TOC目录 + +2016.12.04 +1. 打赏 +2. 搜索 +3. “更好的”标签云 +4. “更好的”分享 +5. 一些动画 + +**计划中:** + +1. 移动端优化 + +## 一、外观 + +####**常规** + +![常规](https://cloud.githubusercontent.com/assets/2024949/19027861/92879edc-8967-11e6-8e60-7987b6507c8d.gif) + +####**手机** + +![手机](https://cloud.githubusercontent.com/assets/2024949/19027020/1c5b756a-895f-11e6-99bf-ddff9687aee0.gif) + +####**ipad横竖屏切换** + +![ipad横竖屏切换](https://cloud.githubusercontent.com/assets/2024949/19026392/e74e1816-8957-11e6-8f08-eac9b3c8c036.gif) + +## 二、开发者 + +为了性能和开发工程化考虑,Yilia需要使用webpack进行构建生成。 + +如果您对主题有一些定制化的需求,请参考wiki[《Yilia源码目录结构及构建须知》](https://github.com/litten/hexo-theme-yilia/wiki/Yilia%E6%BA%90%E7%A0%81%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84%E5%8F%8A%E6%9E%84%E5%BB%BA%E9%A1%BB%E7%9F%A5) + +## 三、使用 + +#### 安装 + +``` bash +$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia +``` + +#### 配置 + +修改hexo根目录下的 `_config.yml` : `theme: yilia` + +#### 更新 + +``` bash +cd themes/yilia +git pull +``` + +## 四、配置 + +主题配置文件在主目录下的`_config.yml`,请根据自己需要修改使用。 +完整配置例子,可以参考[我的博客备份](https://github.com/litten/BlogBackup) + +``` +# Header + +menu: + 主页: / + 随笔: /tags/随笔/ + +# SubNav +subnav: + github: "#" + weibo: "#" + rss: "#" + zhihu: "#" + #qq: "#" + #weixin: "#" + #jianshu: "#" + #douban: "#" + #segmentfault: "#" + #bilibili: "#" + #acfun: "#" + #mail: "mailto:litten225@qq.com" + #facebook: "#" + #google: "#" + #twitter: "#" + #linkedin: "#" + +rss: /atom.xml + +# 是否需要修改 root 路径 +# 如果您的网站存放在子目录中,例如 http://yoursite.com/blog, +# 请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/。 +root: + +# Content + +# 文章太长,截断按钮文字 +excerpt_link: more +# 文章卡片右下角常驻链接,不需要请设置为false +show_all_link: '展开全文' +# 数学公式 +mathjax: false +# 是否在新窗口打开链接 +open_in_new: false + +# 打赏 +# 打赏type设定:0-关闭打赏; 1-文章对应的md文件里有reward:true属性,才有打赏; 2-所有文章均有打赏 +reward_type: 2 +# 打赏wording +reward_wording: '谢谢你请我吃糖果' +# 支付宝二维码图片地址,跟你设置头像的方式一样。比如:/assets/img/alipay.jpg +alipay: +# 微信二维码图片地址 +weixin: + +# 目录 +# 目录设定:0-不显示目录; 1-文章对应的md文件里有toc:true属性,才有目录; 2-所有文章均显示目录 +toc: 1 +# 根据自己的习惯来设置,如果你的目录标题习惯有标号,置为true即可隐藏hexo重复的序号;否则置为false +toc_hide_index: true +# 目录为空时的提示 +toc_empty_wording: '目录,不存在的…' + +# 是否有快速回到顶部的按钮 +top: true + +# Miscellaneous +baidu_analytics: '' +google_analytics: '' +favicon: /favicon.png + +#你的头像url +avatar: + +#是否开启分享 +share_jia: true + +#评论:1、多说;2、网易云跟帖;3、畅言;4、Disqus;5、Gitment +#不需要使用某项,直接设置值为false,或注释掉 +#具体请参考wiki:https://github.com/litten/hexo-theme-yilia/wiki/ + +#1、多说 +duoshuo: false + +#2、网易云跟帖 +wangyiyun: false + +#3、畅言 +changyan_appid: false +changyan_conf: false + +#4、Disqus 在hexo根目录的config里也有disqus_shortname字段,优先使用yilia的 +disqus: false + +#5、Gitment +gitment_owner: false #你的 GitHub ID +gitment_repo: '' #存储评论的 repo +gitment_oauth: + client_id: '' #client ID + client_secret: '' #client secret + +# 样式定制 - 一般不需要修改,除非有很强的定制欲望… +style: + # 头像上面的背景颜色 + header: '#4d4d4d' + # 右滑板块背景 + slider: 'linear-gradient(200deg,#a0cfe4,#e8c37e)' + +# slider的设置 +slider: + # 是否默认展开tags板块 + showTags: false + +# 智能菜单 +# 如不需要,将该对应项置为false +# 比如 +#smart_menu: +# friends: false +smart_menu: + innerArchive: '所有文章' + friends: '友链' + aboutme: '关于我' + +friends: + 友情链接1: http://localhost:4000/ + 友情链接2: http://localhost:4000/ + 友情链接3: http://localhost:4000/ + 友情链接4: http://localhost:4000/ + 友情链接5: http://localhost:4000/ + 友情链接6: http://localhost:4000/ + +aboutme: 很惭愧

只做了一点微小的工作
谢谢大家 +``` + + diff --git a/themes/yilia/_config.yml b/themes/yilia/_config.yml new file mode 100644 index 0000000..4523cf1 --- /dev/null +++ b/themes/yilia/_config.yml @@ -0,0 +1,128 @@ +# Header + +menu: + 主页: / + 随笔: /tags/随笔/ + +# SubNav +subnav: + github: "https://github.com/sookie2010" + weibo: "https://weibo.com/2633013641" + rss: "/atom.xml" + #zhihu: "#" + #qq: "#" + #weixin: "#" + #jianshu: "#" + #douban: "#" + #segmentfault: "#" + #bilibili: "#" + #acfun: "#" + #mail: "mailto:litten225@qq.com" + #facebook: "#" + #google: "#" + #twitter: "#" + #linkedin: "#" + +rss: /atom.xml + +# 是否需要修改 root 路径 +# 如果您的网站存放在子目录中,例如 http://yoursite.com/blog, +# 请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/。 +root: / + +# Content + +# 文章太长,截断按钮文字 +excerpt_link: more +# 文章卡片右下角常驻链接,不需要请设置为false +show_all_link: '展开全文' +# 是否在新窗口打开链接 +open_in_new: false + +# 打赏 +# 打赏type设定:0-关闭打赏; 1-文章对应的md文件里有reward:true属性,才有打赏; 2-所有文章均有打赏 +reward_type: 1 +# 打赏wording +reward_wording: '谢谢你请我吃糖果' +# 支付宝二维码图片地址,跟你设置头像的方式一样。比如:/assets/img/alipay.jpg +alipay: +# 微信二维码图片地址 +weixin: + +# 目录 +# 目录设定:0-不显示目录; 1-文章对应的md文件里有toc:true属性,才有目录; 2-所有文章均显示目录 +toc: 1 +# 根据自己的习惯来设置,如果你的目录标题习惯有标号,置为true即可隐藏hexo重复的序号;否则置为false +toc_hide_index: true +# 目录为空时的提示 +toc_empty_wording: '目录,不存在的…' + +# 是否有快速回到顶部的按钮 +top: true + +# Miscellaneous +baidu_analytics: '' +google_analytics: '' +favicon: /favicon.ico + +#你的头像url +avatar: https://i.loli.net/2018/05/04/5aeb37415a0dc.jpg + +#是否开启分享 +share_jia: true + +#评论:1、多说;2、网易云跟帖;3、畅言;4、Disqus;5、Gitment +#不需要使用某项,直接设置值为false,或注释掉 +#具体请参考wiki:https://github.com/litten/hexo-theme-yilia/wiki/ + +#1、多说 +duoshuo: false + +#2、网易云跟帖 +wangyiyun: false + +#3、畅言 +changyan_appid: false +changyan_conf: false + +#4、Disqus 在hexo根目录的config里也有disqus_shortname字段,优先使用yilia的 +disqus: false + +#5、Gitment +gitment_owner: sookie2010 #你的 GitHub ID +gitment_repo: hexo_blog #存储评论的 repo +gitment_oauth: + client_id: 90e8f648da2a669f7975 + client_secret: 7d2b602616387748ef0df10f7a8a626bdfd1034c + +# 样式定制 - 一般不需要修改,除非有很强的定制欲望… +style: + # 头像上面的背景颜色 + header: '#4d4d4d' + # 右滑板块背景 + slider: 'linear-gradient(200deg,#a0cfe4,#e8c37e)' + +# slider的设置 +slider: + # 是否默认展开tags板块 + showTags: false + +# 智能菜单 +# 如不需要,将该对应项置为false +# 比如 +#smart_menu: +# friends: false +smart_menu: + innerArchive: '所有文章' + friends: '友链' + aboutme: '关于我' + +friends: + 友情链接1: http://localhost:4000/ + 友情链接2: http://localhost:4000/ + 友情链接3: http://localhost:4000/ + 友情链接4: http://localhost:4000/ + 友情链接5: http://localhost:4000/ + 友情链接6: http://localhost:4000/ + +aboutme: 很惭愧

只做了一点微小的工作
谢谢大家 \ No newline at end of file diff --git a/themes/yilia/languages/default.yml b/themes/yilia/languages/default.yml new file mode 100644 index 0000000..3ef7e92 --- /dev/null +++ b/themes/yilia/languages/default.yml @@ -0,0 +1,19 @@ +categories: Categories +search: Search +tags: Tags +tagcloud: Tag Cloud +tweets: Tweets +prev: Prev +next: Next +comment: Comments +archive_a: Archives +archive_b: "Archives: %s" +page: Page %d +recent_posts: Recent Posts +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/yilia/languages/fr.yml b/themes/yilia/languages/fr.yml new file mode 100644 index 0000000..e45a6f0 --- /dev/null +++ b/themes/yilia/languages/fr.yml @@ -0,0 +1,19 @@ +categories: Catégories +search: Rechercher +tags: Mot-clés +tagcloud: Nuage de mot-clés +tweets: Tweets +prev: Précédent +next: Suivant +comment: Commentaires +archive_a: Archives +archive_b: "Archives: %s" +page: Page %d +recent_posts: Articles récents +newer: Récent +older: Ancien +share: Partager +powered_by: Propulsé by +rss_feed: Flux RSS +category: Catégorie +tag: Mot-clé diff --git a/themes/yilia/languages/nl.yml b/themes/yilia/languages/nl.yml new file mode 100644 index 0000000..568d33e --- /dev/null +++ b/themes/yilia/languages/nl.yml @@ -0,0 +1,20 @@ + +categories: Categorieën +search: Zoeken +tags: Labels +tagcloud: Tag Cloud +tweets: Tweets +prev: Vorige +next: Volgende +comment: Commentaren +archive_a: Archieven +archive_b: "Archieven: %s" +page: Pagina %d +recent_posts: Recente berichten +newer: Nieuwer +older: Ouder +share: Delen +powered_by: Powered by +rss_feed: RSS Feed +category: Categorie +tag: Label diff --git a/themes/yilia/languages/no.yml b/themes/yilia/languages/no.yml new file mode 100644 index 0000000..b997691 --- /dev/null +++ b/themes/yilia/languages/no.yml @@ -0,0 +1,19 @@ +categories: Kategorier +search: Søk +tags: Tags +tagcloud: Tag Cloud +tweets: Tweets +prev: Forrige +next: Neste +comment: Kommentarer +archive_a: Arkiv +archive_b: "Arkiv: %s" +page: Side %d +recent_posts: Siste innlegg +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/yilia/languages/ru.yml b/themes/yilia/languages/ru.yml new file mode 100644 index 0000000..625a83c --- /dev/null +++ b/themes/yilia/languages/ru.yml @@ -0,0 +1,19 @@ +categories: Категории +search: Поиск +tags: Метки +tagcloud: Облако меток +tweets: Твиты +prev: Назад +next: Вперед +comment: Комментарии +archive_a: Архив +archive_b: "Архив: %s" +page: Страница %d +recent_posts: Недавние записи +newer: Следующий +older: Предыдущий +share: Поделиться +powered_by: Создано с помощью +rss_feed: RSS-каналы +category: Категория +tag: Метка \ No newline at end of file diff --git a/themes/yilia/languages/zh-CN.yml b/themes/yilia/languages/zh-CN.yml new file mode 100644 index 0000000..51e1321 --- /dev/null +++ b/themes/yilia/languages/zh-CN.yml @@ -0,0 +1,19 @@ +categories: 分类 +search: 搜索 +tags: 标签 +tagcloud: 标签云 +tweets: 推文 +prev: 上一页 +next: 下一页 +comment: 留言 +archive_a: 归档 +archive_b: 归档:%s +page: 第 %d 页 +recent_posts: 最新文章 +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/yilia/languages/zh-tw.yml b/themes/yilia/languages/zh-tw.yml new file mode 100644 index 0000000..76d2916 --- /dev/null +++ b/themes/yilia/languages/zh-tw.yml @@ -0,0 +1,19 @@ +categories: 分類 +search: 搜尋 +tags: 標籤 +tagcloud: 標籤雲 +tweets: 推文 +prev: 上一頁 +next: 下一頁 +comment: 留言 +archive_a: 彙整 +archive_b: 彙整:%s +page: 第 %d 頁 +recent_posts: 最新文章 +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/yilia/layout/_partial/after-footer.ejs b/themes/yilia/layout/_partial/after-footer.ejs new file mode 100644 index 0000000..3a4c6a7 --- /dev/null +++ b/themes/yilia/layout/_partial/after-footer.ejs @@ -0,0 +1,14 @@ + +<%- partial('script') %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/archive-post.ejs b/themes/yilia/layout/_partial/archive-post.ejs new file mode 100644 index 0000000..5a13836 --- /dev/null +++ b/themes/yilia/layout/_partial/archive-post.ejs @@ -0,0 +1,15 @@ +
+
+
+ + <%- partial('post/title', {class_name: 'archive-article-title'}) %> + +
+
+
+
\ No newline at end of file diff --git a/themes/yilia/layout/_partial/archive.ejs b/themes/yilia/layout/_partial/archive.ejs new file mode 100644 index 0000000..2e01045 --- /dev/null +++ b/themes/yilia/layout/_partial/archive.ejs @@ -0,0 +1,43 @@ +<% if (pagination == 2){ %> + <% page.posts.each(function(post){ %> + <%- partial('article', {post: post, index: true}) %> + <% }) %> + <% if (page.total > 1){ %> + + <% } %> +<% } else { %> + <% var last; %> + <% page.posts.each(function(post, i){ %> + <% var year = post.date.year(); %> + <% if (last != year){ %> + <% if (last != null){ %> + + <% } %> + <% last = year; %> +
+ +
+ <% } %> + <%- partial('archive-post', {post: post, even: i % 2 == 0}) %> + <% }) %> + <% if (page.posts.length){ %> +
+ <% } %> + + <% if (page.total > 1){ %> + + <% } %> + +<% } %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/article.ejs b/themes/yilia/layout/_partial/article.ejs new file mode 100644 index 0000000..3722a8f --- /dev/null +++ b/themes/yilia/layout/_partial/article.ejs @@ -0,0 +1,132 @@ +
+
+ <% if (post.link || post.title){ %> +
+ <%- partial('post/title', {class_name: 'article-title'}) %> + <% if (!post.noDate){ %> + <%- partial('post/date', {class_name: 'archive-article-date', date_format: null}) %> + <% } %> +
+ <% } %> +
+ <% if (post.excerpt && index){ %> + <%- post.excerpt %> + <% if (theme.excerpt_link) { %> + <%= theme.excerpt_link %> >> + <% } %> + <% } else { %> + <%- post.content %> + <% } %> + + <% if ((theme.reward_type === 2 || (theme.reward_type === 1 && post.reward)) && !index){ %> + + <% } %> +
+ +
+
+<% if (!index){ %> + <%- partial('post/nav') %> +<% } %> +<%- partial('_partial/aside') %> + + +<% if (!index && post.comments){ %> + <% if (theme.duoshuo){ %> + <%- partial('post/duoshuo', { + key: post.slug, + title: post.title, + url: config.url+url_for(post.path) + }) %> + <% } %> + + <% if (theme.wangyiyun){ %> + <%- partial('post/wangyiyun', { + key: post.slug, + title: post.title, + url: config.url+url_for(post.path) + }) %> + <% } %> + + <% if (theme.changyan_appid && theme.changyan_conf){ %> + <%- partial('post/changyan', { + key: post.slug, + title: post.title, + url: config.url+url_for(post.path) + }) %> + <% } %> + + <% if (theme.disqus || config.disqus_shortname){ %> +
+
+ + +
+ <% } %> + + <% if (theme.gitment_owner && theme.gitment_repo &&theme.gitment_oauth && theme.gitment_oauth.client_id && theme.gitment_oauth.client_secret){ %> + <%- partial('post/gitment', { + key: post.slug, + title: post.title, + url: config.url+url_for(post.path) + }) %> + <% } %> +<% } %> diff --git a/themes/yilia/layout/_partial/aside.ejs b/themes/yilia/layout/_partial/aside.ejs new file mode 100644 index 0000000..1e4bbb9 --- /dev/null +++ b/themes/yilia/layout/_partial/aside.ejs @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/baidu-analytics.ejs b/themes/yilia/layout/_partial/baidu-analytics.ejs new file mode 100644 index 0000000..e9bd0b6 --- /dev/null +++ b/themes/yilia/layout/_partial/baidu-analytics.ejs @@ -0,0 +1,11 @@ +<% if (theme.baidu_analytics){ %> + +<% } %> diff --git a/themes/yilia/layout/_partial/footer.ejs b/themes/yilia/layout/_partial/footer.ejs new file mode 100644 index 0000000..8d489d1 --- /dev/null +++ b/themes/yilia/layout/_partial/footer.ejs @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/google-analytics.ejs b/themes/yilia/layout/_partial/google-analytics.ejs new file mode 100644 index 0000000..84e75f0 --- /dev/null +++ b/themes/yilia/layout/_partial/google-analytics.ejs @@ -0,0 +1,14 @@ +<% if (theme.google_analytics){ %> + + + +<% } %> diff --git a/themes/yilia/layout/_partial/head.ejs b/themes/yilia/layout/_partial/head.ejs new file mode 100644 index 0000000..f0b0fbb --- /dev/null +++ b/themes/yilia/layout/_partial/head.ejs @@ -0,0 +1,43 @@ + + + + + <% + var title = page.title; + + if (is_archive()){ + title = 'Archives'; + + if (is_month()){ + title += ': ' + page.year + '/' + page.month; + } else if (is_year()){ + title += ': ' + page.year; + } + } else if (is_category()){ + title = 'Category: ' + page.category; + } else if (is_tag()){ + title = 'Tag: ' + page.tag; + } + %> + + + + <% if (title){ %><%= title %> | <% } %><%= config.title %> + + <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %> + <% if (theme.rss){ %> + + <% } %> + <% if (theme.favicon){ %> + + <% } %> + + + <%- partial('google-analytics') %> + <%- partial('baidu-analytics') %> + diff --git a/themes/yilia/layout/_partial/header.ejs b/themes/yilia/layout/_partial/header.ejs new file mode 100644 index 0000000..d536d10 --- /dev/null +++ b/themes/yilia/layout/_partial/header.ejs @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/left-col.ejs b/themes/yilia/layout/_partial/left-col.ejs new file mode 100644 index 0000000..e5d3ff5 --- /dev/null +++ b/themes/yilia/layout/_partial/left-col.ejs @@ -0,0 +1,37 @@ +<% var defaultBg = '#4d4d4d'; %> +
+
+ +
diff --git a/themes/yilia/layout/_partial/mobile-nav.ejs b/themes/yilia/layout/_partial/mobile-nav.ejs new file mode 100644 index 0000000..6ece96a --- /dev/null +++ b/themes/yilia/layout/_partial/mobile-nav.ejs @@ -0,0 +1,43 @@ +<% var defaultBg = '#4d4d4d'; %> + diff --git a/themes/yilia/layout/_partial/post/category.ejs b/themes/yilia/layout/_partial/post/category.ejs new file mode 100644 index 0000000..bdb3f92 --- /dev/null +++ b/themes/yilia/layout/_partial/post/category.ejs @@ -0,0 +1,12 @@ +<% if (post.categories && post.categories.length){ %> +
+ + +
+<% } %> diff --git a/themes/yilia/layout/_partial/post/changyan.ejs b/themes/yilia/layout/_partial/post/changyan.ejs new file mode 100644 index 0000000..8598894 --- /dev/null +++ b/themes/yilia/layout/_partial/post/changyan.ejs @@ -0,0 +1,9 @@ +
+ + + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/date.ejs b/themes/yilia/layout/_partial/post/date.ejs new file mode 100644 index 0000000..56930b8 --- /dev/null +++ b/themes/yilia/layout/_partial/post/date.ejs @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/duoshuo.ejs b/themes/yilia/layout/_partial/post/duoshuo.ejs new file mode 100644 index 0000000..bd9eff5 --- /dev/null +++ b/themes/yilia/layout/_partial/post/duoshuo.ejs @@ -0,0 +1,18 @@ +
+ +
+ + + + +
diff --git a/themes/yilia/layout/_partial/post/gitment.ejs b/themes/yilia/layout/_partial/post/gitment.ejs new file mode 100644 index 0000000..104a8fe --- /dev/null +++ b/themes/yilia/layout/_partial/post/gitment.ejs @@ -0,0 +1,16 @@ +
+ + + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/nav.ejs b/themes/yilia/layout/_partial/post/nav.ejs new file mode 100644 index 0000000..66809c2 --- /dev/null +++ b/themes/yilia/layout/_partial/post/nav.ejs @@ -0,0 +1,22 @@ +<% if (post.prev || post.next){ %> + +<% } %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/share.ejs b/themes/yilia/layout/_partial/post/share.ejs new file mode 100644 index 0000000..6153d48 --- /dev/null +++ b/themes/yilia/layout/_partial/post/share.ejs @@ -0,0 +1,53 @@ +<% + var sUrl = url.replace(/index\.html$/, ''); + sUrl = /^(http:|https:)\/\//.test(sUrl) ? sUrl : 'http:' + sUrl; +%> +
+ +
+ +
+ +

扫一扫,分享到微信

+
+ 微信分享二维码 +
+
+ +
\ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/tag.ejs b/themes/yilia/layout/_partial/post/tag.ejs new file mode 100644 index 0000000..1eaea0c --- /dev/null +++ b/themes/yilia/layout/_partial/post/tag.ejs @@ -0,0 +1,12 @@ +<% if (post.tags && post.tags.length){ %> +
+ + +
+<% } %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/title.ejs b/themes/yilia/layout/_partial/post/title.ejs new file mode 100644 index 0000000..69d646f --- /dev/null +++ b/themes/yilia/layout/_partial/post/title.ejs @@ -0,0 +1,15 @@ +<% if (post.link){ %> +

+ +

+<% } else if (post.title){ %> + <% if (index){ %> +

+ <%= post.title %> +

+ <% } else { %> +

+ <%= post.title %> +

+ <% } %> +<% } %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/post/wangyiyun.ejs b/themes/yilia/layout/_partial/post/wangyiyun.ejs new file mode 100644 index 0000000..cbd2bb4 --- /dev/null +++ b/themes/yilia/layout/_partial/post/wangyiyun.ejs @@ -0,0 +1,10 @@ +
+ + \ No newline at end of file diff --git a/themes/yilia/layout/_partial/script.ejs b/themes/yilia/layout/_partial/script.ejs new file mode 100644 index 0000000..9b11d53 --- /dev/null +++ b/themes/yilia/layout/_partial/script.ejs @@ -0,0 +1 @@ +<%- js('js/mobile.bc3ac97a4b2208729e1e.js') %> <%- js('js/slider.aa150152ad0b4e146925.js') %> <%- js('js/main.f26f0d0b8a2e2ae348ae.js') %> \ No newline at end of file diff --git a/themes/yilia/layout/_partial/tools.ejs b/themes/yilia/layout/_partial/tools.ejs new file mode 100644 index 0000000..ff0cceb --- /dev/null +++ b/themes/yilia/layout/_partial/tools.ejs @@ -0,0 +1,128 @@ +<% + var hasInnerArchive = theme.smart_menu.innerArchive + var hasFriends = theme.smart_menu.friends + var hasAboutme = theme.smart_menu.aboutme +%> +
+
+ <% + var count = 0 + for(let menu_name in theme.smart_menu) { + if(theme.smart_menu[menu_name]) count++ + } + %> +
    + <% var divide = 100 / count + '%' %> + <% for (let menu_name in theme.smart_menu){ %> + <% if(theme.smart_menu[menu_name]){ %> +
  • <%= theme.smart_menu[menu_name] %>
  • + <% } %> + <% } %> +
+
+
+ <%if(hasInnerArchive){%> +
+
+ + + +
+
+
+ + + + +
+ + +
+
    +

    + 缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    + 3、在根目录_config.yml里添加配置: +

    +            jsonContent:
    +              meta: false
    +              pages: false
    +              posts:
    +                title: true
    +                date: true
    +                path: true
    +                text: false
    +                raw: false
    +                content: false
    +                slug: false
    +                updated: false
    +                comments: false
    +                link: false
    +                permalink: false
    +                excerpt: false
    +                categories: false
    +                tags: true
    +          
    +

    +
  • + + {{item.title}} + +

    + + {{item.date|dateformat}} +

    +

    + + {{'$'+category.name}} +

    +

    + + {{'#'+tag.name}} +

    +
  • +
+
+ <%}%> + + <%if(hasFriends){%> +
+ <%if(theme.friends && theme.friends.length != 0){%> +
    + <% for (var i in theme.friends){ %> +
  • + <%= i %> +
  • + <% } %> +
+ <%}%> +
+ <%}%> + + <%if(hasAboutme){%> +
+ <%if(theme.aboutme){%> +
<%=theme.aboutme%>
+ <%}%> +
+ <%}%> +
+ +
\ No newline at end of file diff --git a/themes/yilia/layout/_partial/viewer.ejs b/themes/yilia/layout/_partial/viewer.ejs new file mode 100644 index 0000000..fabb95c --- /dev/null +++ b/themes/yilia/layout/_partial/viewer.ejs @@ -0,0 +1,66 @@ + + \ No newline at end of file diff --git a/themes/yilia/layout/archive.ejs b/themes/yilia/layout/archive.ejs new file mode 100644 index 0000000..52f9b21 --- /dev/null +++ b/themes/yilia/layout/archive.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.archive, index: true}) %> \ No newline at end of file diff --git a/themes/yilia/layout/category.ejs b/themes/yilia/layout/category.ejs new file mode 100644 index 0000000..3ffe252 --- /dev/null +++ b/themes/yilia/layout/category.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.category, index: true}) %> \ No newline at end of file diff --git a/themes/yilia/layout/index.ejs b/themes/yilia/layout/index.ejs new file mode 100644 index 0000000..18d3216 --- /dev/null +++ b/themes/yilia/layout/index.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: 2, index: true}) %> diff --git a/themes/yilia/layout/layout.ejs b/themes/yilia/layout/layout.ejs new file mode 100644 index 0000000..43a8d4a --- /dev/null +++ b/themes/yilia/layout/layout.ejs @@ -0,0 +1,27 @@ +<%- partial('_partial/head') %> + +
+ +
+ <%- partial('_partial/left-col', null, {cache: !config.relative_link}) %> +
+
+ <%- partial('_partial/mobile-nav', null, {cache: !config.relative_link}) %> +
+ +
+ <%- partial('_partial/footer') %> +
+ <%- partial('_partial/tools') %> + <%- partial('_partial/viewer') %> +
+ <%- partial('_partial/after-footer') %> + + \ No newline at end of file diff --git a/themes/yilia/layout/page.ejs b/themes/yilia/layout/page.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/yilia/layout/page.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/yilia/layout/post.ejs b/themes/yilia/layout/post.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/yilia/layout/post.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/yilia/layout/tag.ejs b/themes/yilia/layout/tag.ejs new file mode 100644 index 0000000..048cdb0 --- /dev/null +++ b/themes/yilia/layout/tag.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.tag, index: true}) %> \ No newline at end of file diff --git a/themes/yilia/package-lock.json b/themes/yilia/package-lock.json new file mode 100644 index 0000000..921e219 --- /dev/null +++ b/themes/yilia/package-lock.json @@ -0,0 +1,7869 @@ +{ + "name": "yilia", + "version": "4.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz", + "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==", + "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.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "ajv": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz", + "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "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.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + }, + "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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "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.3" + } + }, + "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 + }, + "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 + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": 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 + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "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.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "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 + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "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.7", + "caniuse-db": "1.0.30000849", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" + } + }, + "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=", + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.0.tgz", + "integrity": "sha1-jzagp39cFVrtb5ILhE0julZ0KgI=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "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.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "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.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" + } + }, + "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=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "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=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.4.tgz", + "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==", + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.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=" + }, + "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=" + }, + "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=" + }, + "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=" + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-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=" + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "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=" + }, + "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=" + }, + "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=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "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=", + "requires": { + "babel-helper-define-map": "6.26.0", + "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.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "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==", + "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=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "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=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "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=", + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.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=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.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=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "6.18.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=", + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "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=", + "requires": { + "babel-runtime": "6.26.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=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, + "babel-preset-es2015": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz", + "integrity": "sha1-wWLWixkyaW4DbNMRDcHM0wPSZzo=", + "requires": { + "babel-plugin-check-es2015-constants": "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "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.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0" + } + }, + "babel-preset-react": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.23.0.tgz", + "integrity": "sha1-63zuTemKP5RQLChWUzLamBlFUZU=", + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-self": "6.22.0", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-preset-flow": "6.23.0" + } + }, + "babel-preset-stage-2": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz", + "integrity": "sha1-zNVl8ZwkXK3jlLISFt9wSnOyfAc=", + "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=", + "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.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "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.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "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.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "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==" + }, + "badjs-report": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/badjs-report/-/badjs-report-1.3.3.tgz", + "integrity": "sha1-llsSvsRL6Nt3e0k15U7qP0bnU1I=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "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, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "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==" + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": 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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "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, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "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.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "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.2.0", + "browserify-des": "1.0.1", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "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.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "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.6" + } + }, + "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.30000849", + "electron-to-chromium": "1.3.48" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.11", + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "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-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "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 + }, + "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, + "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" + } + }, + "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.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "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.7.7", + "caniuse-db": "1.0.30000849", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30000849", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000849.tgz", + "integrity": "sha1-1FL1PX3PuE5/X9NMB3wwrSt7nHs=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "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.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "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" + } + }, + "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, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "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, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "clean-webpack-plugin": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz", + "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==", + "dev": true, + "requires": { + "rimraf": "2.6.2" + } + }, + "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.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" + } + }, + "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.5.1" + } + }, + "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, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "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.4", + "color-convert": "1.9.1", + "color-string": "0.3.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "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.1.3" + } + }, + "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.4", + "css-color-names": "0.0.4", + "has": "1.0.3" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "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 + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + }, + "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.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "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.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "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.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-env": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-1.0.8.tgz", + "integrity": "sha1-K950jvx4D1bd8H6mn8rYdTV3dM4=", + "dev": true, + "requires": { + "cross-spawn": "3.0.1", + "lodash.assign": "3.2.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "which": "1.3.1" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "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.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "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.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "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" + } + }, + "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.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + } + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "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.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.3", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.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.2.3", + "source-map": "0.5.7" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.45" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "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 + }, + "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, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "2.0.1" + } + }, + "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.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "dom101": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/dom101/-/dom101-1.3.0.tgz", + "integrity": "sha1-1/yjBoYkAXG2zxfC6FXWoy+iyck=", + "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.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "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.1.0", + "domelementtype": "1.3.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "electron-to-chromium": { + "version": "1.3.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", + "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "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.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "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.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "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=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "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.2" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.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, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "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, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": 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, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": 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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "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, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "dev": true, + "requires": { + "async": "2.6.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "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.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.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 + }, + "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.5.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "file-loader": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.9.0.tgz", + "integrity": "sha1-HS2t3UJM5tGwfP4/eXMb7TYXq0I=", + "requires": { + "loader-utils": "0.2.17" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.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, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "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=", + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.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=", + "requires": { + "locate-path": "2.0.0" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "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, + "requires": { + "map-cache": "0.2.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": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "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.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "1.2.1" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "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 + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "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.1" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.15.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + } + }, + "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=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "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 + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "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, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "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.1.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "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=", + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "html-minifier": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.16.tgz", + "integrity": "sha512-zP5EfLSpiLRp0aAgud4CQXPQZm9kXwWjR/cF0PfdOj+jjWnOaCgeZcll4kYXSvIBPeUMmyaSc7mM4IDtA+kboA==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.15.1", + "he": "1.1.1", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.28" + } + }, + "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.5.1", + "html-minifier": "3.5.16", + "loader-utils": "0.2.17", + "lodash": "4.17.10", + "pretty-error": "2.1.1", + "toposort": "1.0.7" + }, + "dependencies": { + "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.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "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 + }, + "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.22" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "ieee754": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "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.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "1.3.1" + } + }, + "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 + }, + "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, + "requires": { + "kind-of": "3.2.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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "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": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.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==" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "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, + "requires": { + "kind-of": "3.2.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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "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, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.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 + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "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.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "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.1" + } + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "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 + } + } + }, + "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, + "requires": { + "isobject": "3.0.1" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "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.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "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 + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-base64": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", + "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==", + "dev": true + }, + "js-cookie": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz", + "integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "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.10", + "esprima": "2.7.3" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "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": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "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-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "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.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "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.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "3.0.1", + "lodash._isiterateecall": "3.0.9", + "lodash.restparam": "3.6.1" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._createassigner": "3.1.1", + "lodash.keys": "3.1.2" + } + }, + "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.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "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.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "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.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "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==", + "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 + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": 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, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "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.7", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.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==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": 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, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "0.1.8", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "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.4" + } + }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.79.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "node-sass": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", + "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + }, + "dependencies": { + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "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.1.0" + } + }, + "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.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "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=" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "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=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "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, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "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.6" + } + } + } + }, + "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, + "requires": { + "isobject": "3.0.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, + "requires": { + "isobject": "3.0.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.0.2" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "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=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "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=", + "requires": { + "p-limit": "1.2.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=" + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "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.3.2" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" + } + }, + "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.3.1" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "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.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "photoswipe": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.2.tgz", + "integrity": "sha1-lcIKdc6iO3DWKZZBytguA8rn95c=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "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.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "2.1.0" + } + }, + "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 + }, + "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.4.5", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "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-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.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.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.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.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.2.18", + "postcss-value-parser": "3.3.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.2.18" + } + }, + "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.2.18" + } + }, + "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.2.18" + } + }, + "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.2.18" + } + }, + "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.2.18", + "uniqs": "2.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.2.18" + } + }, + "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.2.2", + "object-assign": "4.1.1", + "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.2.2", + "object-assign": "4.1.1" + } + }, + "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.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-loader": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.5.tgz", + "integrity": "sha512-pV7kB5neJ0/1tZ8L1uGOBNTVBCSCXQoIsZMsrwvO8V2rKGa2tBl/f80GGVxow2jJnRJ2w1ocx693EKhZAb9Isg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "postcss": "6.0.22", + "postcss-load-config": "1.2.0", + "schema-utils": "0.4.5" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.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.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.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.2.18" + } + }, + "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.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + } + }, + "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.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.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.2.18", + "postcss-value-parser": "3.3.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.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.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.3", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "dev": true, + "requires": { + "postcss": "6.0.22" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "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.22" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "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.22" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "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.22" + }, + "dependencies": { + "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.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.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 + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "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.2.18" + } + }, + "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.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.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.2.18", + "postcss-value-parser": "3.3.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.2.18", + "postcss-value-parser": "3.3.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.2.18" + } + }, + "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.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.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.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" + } + }, + "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.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "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.3", + "postcss": "5.2.18", + "uniqs": "2.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 + }, + "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.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "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.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "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.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" + } + }, + "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.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "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.1", + "strict-uri-encode": "1.1.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 + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "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.6", + "safe-buffer": "5.1.2" + } + }, + "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.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "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.1.2", + "read-pkg": "1.1.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.1.0", + "pinkie-promise": "2.0.1" + } + }, + "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.1" + } + } + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "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.17", + "reduce-function-call": "1.0.2" + }, + "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.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "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 + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "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, + "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=", + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "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=" + } + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "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=", + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-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 + }, + "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 + }, + "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 + }, + "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.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "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.4", + "inherits": "2.0.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "sass-loader": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.2.tgz", + "integrity": "sha512-HfoUBjcBf56u7+Qb6/15OmfL4nymtACwAYXRuhgaSUJI3QF0ndID76SiTlwxDYgNYLtvP5s3xVSYMZISezsuKQ==", + "dev": true, + "requires": { + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.1", + "pify": "3.0.0" + } + }, + "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.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.5.0", + "ajv-keywords": "3.2.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.4.5", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.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, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "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.3", + "safe-buffer": "5.1.2" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" + }, + "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 + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "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, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "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, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "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, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "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, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "kind-of": "6.0.2" + } + }, + "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, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "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.1.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "0.5.7" + } + }, + "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 + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "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, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "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, + "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, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "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.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "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.2" + } + } + } + }, + "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": "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.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "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.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "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.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "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=" + }, + "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, + "requires": { + "kind-of": "3.2.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, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "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, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "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=" + }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "uglify-js": { + "version": "3.3.28", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.28.tgz", + "integrity": "sha512-68Rc/aA6cswiaQ5SrE979UJcXX+ADA1z33/ZsPd+fbAiVdjZ16OXdbtGO+rJUUBgK6qdf3SOPhQf3K/ybF5Miw==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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 + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "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.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "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.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "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, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "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, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.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, + "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 + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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 + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", + "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "0.4.5" + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "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 + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "vue": { + "version": "2.5.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.16.tgz", + "integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ==" + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.0.3", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "dev": true, + "requires": { + "acorn": "5.6.2", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.5.0", + "ajv-keywords": "3.2.0", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" + }, + "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 + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "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 + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "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.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "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": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "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/themes/yilia/package.json b/themes/yilia/package.json new file mode 100644 index 0000000..a80c677 --- /dev/null +++ b/themes/yilia/package.json @@ -0,0 +1,56 @@ +{ + "name": "yilia", + "version": "4.0.0", + "description": "a theme for hexo", + "scripts": { + "dev": "webpack", + "dist": "webpack -p" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/litten/hexo-theme-yilia.git" + }, + "keywords": [ + "hexo", + "theme", + "blog" + ], + "author": "litten", + "license": "ISC", + "devDependencies": { + "autoprefixer": "^6.5.1", + "clean-webpack-plugin": "^0.1.15", + "cross-env": "^1.0.6", + "css-loader": "^0.28.11", + "dom101": "^1.3.0", + "extract-text-webpack-plugin": "^3.0.2", + "html-webpack-plugin": "^2.24.1", + "node-sass": "^4.9.0", + "postcss-loader": "^2.1.5", + "sass-loader": "^7.0.2", + "style-loader": "^0.21.0", + "url-loader": "^1.0.1", + "webpack": "^3.11.0" + }, + "dependencies": { + "axios": "^0.18.0", + "babel-core": "6.24.0", + "babel-loader": "7.1.4", + "babel-plugin-transform-runtime": "6.23.0", + "babel-polyfill": "^6.23.0", + "babel-preset-es2015": "6.24.0", + "babel-preset-react": "6.23.0", + "babel-preset-stage-2": "6.22.0", + "badjs-report": "^1.2.2", + "es6-promise": "^4.0.5", + "file-loader": "^0.9.0", + "js-cookie": "^2.1.3", + "photoswipe": "^4.1.1", + "vue": "^2.5.16" + }, + "config": { + "commitizen": { + "path": "cz-simple-log" + } + } +} diff --git a/themes/yilia/postcss.config.js b/themes/yilia/postcss.config.js new file mode 100644 index 0000000..71d77df --- /dev/null +++ b/themes/yilia/postcss.config.js @@ -0,0 +1,7 @@ +module.exports = { + plugins: [ + // require('postcss-smart-import')({ /* ...options */ }), + // require('precss')({ /* ...options */ }), + require('autoprefixer')({ /* ...options */ }) + ] +} diff --git a/themes/yilia/source-src/css/_core.scss b/themes/yilia/source-src/css/_core.scss new file mode 100644 index 0000000..daf034e --- /dev/null +++ b/themes/yilia/source-src/css/_core.scss @@ -0,0 +1,19 @@ +@charset "UTF-8"; +//----------------------------------------------------- +// core scss +// 提供所有的基础功能包括:变量设置,@media,基础mixin,animation,reset样式 +// 默认会输出reset样式一份 +//----------------------------------------------------- + +//----------------------------------------------------- +// author: 结一 (http://weibo.com/marvin1023) +// version: 3.2.0 +// time: 2016-04-11 +// url: https://github.com/marvin1023/sandal/ +//----------------------------------------------------- + + +// 导入core中的基础文件 +//----------------------------------------------------- +@import "function"; +@import "core/reset"; \ No newline at end of file diff --git a/themes/yilia/source-src/css/_function.scss b/themes/yilia/source-src/css/_function.scss new file mode 100644 index 0000000..6603e11 --- /dev/null +++ b/themes/yilia/source-src/css/_function.scss @@ -0,0 +1,21 @@ +@charset "UTF-8"; +//----------------------------------------------------- +// function scss +// 提供所有的基础功能包括:变量设置,@media,基础mixin,animation +// 默认不会解析出任何样式 +//----------------------------------------------------- + +//----------------------------------------------------- +// author: 结一 (http://weibo.com/marvin1023) +// version: 3.2.0 +// time: 2016-04-11 +// url: https://github.com/marvin1023/sandal/ +//----------------------------------------------------- + + +// 导入所有功能类相关文件 +//----------------------------------------------------- +@import "core/variables"; +@import "core/media-queries"; +@import "core/mixin"; +@import "core/animation"; diff --git a/themes/yilia/source-src/css/archive.scss b/themes/yilia/source-src/css/archive.scss new file mode 100644 index 0000000..4c604bb --- /dev/null +++ b/themes/yilia/source-src/css/archive.scss @@ -0,0 +1,139 @@ +.archives-wrap{ + position: relative; + margin: 0 30px; + padding-right: 60px; + border-bottom: 1px solid #eee; + background: #fff; + &:first-child{ + margin-top: 30px; + } + &:last-child{ + margin-bottom: 80px; + } + .archive-year-wrap{ + line-height: 35px; + width: 200px; + position: absolute; + padding-top: 15px; + font-size: 1.8em; + z-index: 1; + } + .archive-year-wrap a{ + color: #666; + font-weight: bold; + padding-left: 48px; + } +} + +.archives { + position:relative; + .article-info{ + border: none; + } + .archive-article { + margin-left:200px; + padding:20px 0; + border-bottom: 1px solid #eee; + border-top: 1px solid #fff; + position: relative; + &:first-child{ + border-top: none; + } + &:last-child{ + border-bottom: none; + } + } + + .archive-article-title { + font-size: 16px; + color: #333; + transition: color 0.3s; + &:hover{ + color: #657b83; + } + span{ + display: block; + color: #a8a8a8; + font-size: 12px; + line-height: 14px; + height: 7px; + padding-left: 2px; + &:before{ + display: inline-block; + content: "“"; + font-family: serif; + font-size: 30px; + float: left; + margin: 4px 4px 0 -12px; + color: #c8c8c8; + } + } + } +} + +.archive-article-inner{ + .icon-clock { + margin-right: 5px; + } + .archive-article-header{ + position: relative; + min-height: 36px; + } + .article-meta{ + position: relative; + float: right; + margin-top: -10px; + color: #555; + background: none; + text-align: right; + width: auto; + .article-date{ + time{ + color: #aaa; + } + } + .archive-article-date, .article-tag-list{ + margin-right: 30px; + display: -moz-inline-stack; + display: inline-block; + vertical-align: middle; + zoom: 1; + color: #666; + font-size: 14px; + } + .archive-article-date{ + cursor: default; + font-size: 12px; + margin-bottom: 5px; + margin-top: -10px; + margin-right: 0; + time{ + } + } + .article-category{ + &:before{ + float: left; + margin-top: 1px; + left: 15px; + } + .article-category-link{ + width: auto; + max-width: 83px; + padding-left: 10px; + } + } + .article-tag-list{ + margin-top: 0px; + &:before{ + left: 15px; + } + .article-tag-list-item{ + display: inline-block; + width: auto; + max-width: 83px; + padding-left: 8px; + font-size: 12px; + } + } + } +} diff --git a/themes/yilia/source-src/css/article-inner.scss b/themes/yilia/source-src/css/article-inner.scss new file mode 100644 index 0000000..bb867ae --- /dev/null +++ b/themes/yilia/source-src/css/article-inner.scss @@ -0,0 +1,227 @@ +.article-inner { + p { + margin: 0 0 1.75em; + } +} + +.article-inner { + border-color: #d1d1d1; +} + +.article-inner h1 { + font-size: 28px; + font-size: 1.75rem; + line-height: 1.25; + margin-top: 2em; + margin-bottom: 1em; +} + +.article-inner h2 { + font-size: 23px; + font-size: 1.4375rem; + line-height: 1.2173913043; + margin-top: 2.4347826087em; + margin-bottom: 1.2173913043em; +} + +.article-inner h3 { + font-size: 19px; + font-size: 1.1875rem; + line-height: 1.1052631579; + margin-top: 2.9473684211em; + margin-bottom: 1.4736842105em; +} + +.article-inner h4, +.article-inner h5, +.article-inner h6 { + font-size: 16px; + font-size: 1rem; + line-height: 1.3125; + margin-top: 3.5em; + margin-bottom: 1.75em; +} + +.article-inner h4 { + letter-spacing: 0.140625em; + text-transform: uppercase; +} + +.article-inner h6 { + font-style: italic; +} + +.article-inner h1, +.article-inner h2, +.article-inner h3, +.article-inner h4, +.article-inner h5, +.article-inner h6 { + font-weight: 900; +} + +.article-inner h1:first-child, +.article-inner h2:first-child, +.article-inner h3:first-child, +.article-inner h4:first-child, +.article-inner h5:first-child, +.article-inner h6:first-child { + margin-top: 0; +} + +.article-inner h1:first-child{ + margin-bottom: 10px; + display: inline; +} +.article-entry{ + line-height: 1.8em; + padding-right: 7.6923%; + padding-left: 7.6923%; + p{ + margin-top: 10px; + } + p code,li code{ + padding: 1px 3px; + margin: 0 3px; + background: #ddd; + border: 1px solid #ccc; + font-family: Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace; + word-wrap: break-word; + font-size: 14px; + } + blockquote { + background: #ddd; + border-left: 5px solid #ccc; + padding: 15px 20px; + margin-top: 10px; + border-left: 5px solid #657b83; + background: #f6f6f6; + p{ + margin-top: 0; + margin-bottom: 0; + } + } + em { + font-style: italic; + } + ul { + li:before{ + content: ""; + width: 6px; + height: 6px; + border: 1px solid #999; + border-radius: 10px; + background: #aaa; + display: inline-block; + margin-right: 10px; + float: left; + margin-top: 10px; + } + } + ol { + counter-reset: item; + li:before{ + counter-increment: item; + content: counter(item)"."; + margin-right: 10px; + } + } + ul,ol{ + font-size: 14px; + margin: 10px 0px; + } + li{ + ul,ol{ + margin-left: 30px; + li:before{ + content: ""; + background: #dedede; + } + } + } + h1{ + margin-top: 30px; + } + h2{ + margin-top: 20px; + font-weight: bold; + color: #574C4C; + padding-bottom: 5px; + border-bottom: 1px solid #ddd; + } + h3,h4,h5,h6{ + margin-top: 20px; + font-weight: bold; + color: #574C4C; + padding-bottom: 5px; + border-bottom: 1px solid #ddd; + } + video{ + max-width: 100%; + } + strong { + font-weight: bold; + } + .caption{ + display: block; + font-size: 0.8em; + color: #aaa; + } + hr{ + height: 0; + margin-top: 20px; + margin-bottom: 20px; + border-left: 0; + border-right: 0; + border-top: 1px solid #DDD; + border-bottom: 1px solid #FFF; + } + pre { + line-height: 1.5; + margin-top: 10px; + padding: 5px 15px; + overflow-x: auto; + color: #657b83; + border: 1px solid #ccc; + text-shadow: 0 1px #444; + font-family: Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace; + code{ + font-size: 14px; + } + } + table{ + width:100%; + border: 1px solid #dedede; + margin: 15px 0; + border-collapse:collapse; + tr,td{ + height:35px; + } + thead{ + tr { + background: #f8f8f8; + } + } + tbody{ + tr:hover{ + background: #efefef; + } + } + td,th{ + border: 1px solid #dedede; + padding: 0 10px; + } + } + figure{ + table { + border: none; + width: auto; + margin: 0; + tbody{ + tr:hover{ + background: none; + } + } + } + } +} diff --git a/themes/yilia/source-src/css/article-main.scss b/themes/yilia/source-src/css/article-main.scss new file mode 100644 index 0000000..a592a5d --- /dev/null +++ b/themes/yilia/source-src/css/article-main.scss @@ -0,0 +1,152 @@ +.body-wrap > article { + position: relative; +} + +@-webkit-keyframes cd-bounce-1 { + 0% { + opacity: 0; + -webkit-transform: scale(1); + } + 60% { + opacity: 1; + -webkit-transform: scale(1.01); + } + 100% { + -webkit-transform: scale(1); + } +} +@-moz-keyframes cd-bounce-1 { + 0% { + opacity: 0; + -moz-transform: scale(1); + } + 60% { + opacity: 1; + -moz-transform: scale(1.01); + } + 100% { + -moz-transform: scale(1); + } +} +@keyframes cd-bounce-1 { + 0% { + opacity: 0; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + } + 60% { + opacity: 1; + -webkit-transform: scale(1.01); + -moz-transform: scale(1.01); + -ms-transform: scale(1.01); + -o-transform: scale(1.01); + transform: scale(1.01); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + } +} + +.article { + margin: 30px; + position: relative; + border: 1px solid #ddd; + border-top: 1px solid #fff; + border-bottom: 1px solid #fff; + background: #fff; + transition: all 0.2s ease-in; +/* &.show{ + visibility: visible; + -webkit-animation: cd-bounce-1 0.6s; + -moz-animation: cd-bounce-1 0.6s; + animation: cd-bounce-1 0.6s; + } + &.hidden{ + visibility: hidden; + } */ + img{ + max-width: 100%; + } +} + +.article-inner h1.article-title, .article-title { + color: #696969; + margin-left: 0px; + font-weight: 300; + line-height: 35px; + margin-bottom: 20px; + font-size: 26px; + -webkit-transition: color 0.3s; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + transition: color 0.3s; +} + +.article-header{ + border-left: 5px solid #4d4d4d; + padding: 30px 0px 15px 25px; + padding-left: 7.6923%; +} + +.article-meta{ + width: 150px; + font-size: 14; + text-align: right; + position: absolute; + right: 0; + top: 23px; + text-align: center; + z-index: 1; + time{ + color: #aaa; + .icon-clock { + margin-right: 8px; + font-size: 16px; + } + } +} + +.article-more-link{ + margin-top: 0; + text-align: left; + float: right; + a{ + background: #4d4d4d; + color: #fff; + font-size: 12px; + padding: 5px 8px 5px; + line-height: 16px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + transition: background 0.3s; + &:hover{ + background: #3c3c3c; + } + &.hidden{ + visibility: hidden; + } + } +} +.article-info.info-on-right{ + margin: 10px 0 0 0; + float: right; +} +.article-info-index.article-info{ + padding-top: 20px; + margin: 30px $articlePadding 0 $articlePadding; + min-height: 72px; + border-top: 1px solid #ddd; +} +.article-info-post.article-info{ + padding: 0; + border: none; + margin: -30px 0 20px $articlePadding; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/article-nav.scss b/themes/yilia/source-src/css/article-nav.scss new file mode 100644 index 0000000..5aafa0b --- /dev/null +++ b/themes/yilia/source-src/css/article-nav.scss @@ -0,0 +1,22 @@ +#article-nav { + margin: 0 0 20px 0; + padding: 0 32px 10px; + min-height: 30px; +} +#article-nav .article-nav-link-wrap { + font-size: 14px; +} +#article-nav .article-nav-link-wrap .article-nav-title { + display: inline-block; + font-size: 16px; + transition: color 0.3s; +} +#article-nav .article-nav-link-wrap:hover i { + color: #4d4d4d; +} +#article-nav .article-nav-link-wrap:hover .article-nav-title { + color: #4d4d4d; +} +#article-nav #article-nav-older { + float: right; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/article.scss b/themes/yilia/source-src/css/article.scss new file mode 100644 index 0000000..0da8127 --- /dev/null +++ b/themes/yilia/source-src/css/article.scss @@ -0,0 +1,330 @@ +.body-wrap{ + margin-bottom: 80px; +} +.article { + margin: 30px; + position: relative; + background: #fff; + -webkit-transition: all 0.2s ease-in; + &.show{ + visibility: visible; + -webkit-animation: cd-bounce-1 0.6s; + -moz-animation: cd-bounce-1 0.6s; + animation: cd-bounce-1 0.6s; + } + &.hidden{ + visibility: hidden; + } + img{ + max-width: 100%; + } +} +@-webkit-keyframes cd-bounce-1 { + 0% { + opacity: 0; + -webkit-transform: scale(1); + } + 60% { + opacity: 1; + -webkit-transform: scale(1.01); + } + 100% { + -webkit-transform: scale(1); + } +} +@-moz-keyframes cd-bounce-1 { + 0% { + opacity: 0; + -moz-transform: scale(1); + } + 60% { + opacity: 1; + -moz-transform: scale(1.01); + } + 100% { + -moz-transform: scale(1); + } +} +@keyframes cd-bounce-1 { + 0% { + opacity: 0; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + } + 60% { + opacity: 1; + -webkit-transform: scale(1.01); + -moz-transform: scale(1.01); + -ms-transform: scale(1.01); + -o-transform: scale(1.01); + transform: scale(1.01); + } + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + } +} +.article-index{ + margin-left: 200px; + padding: 15px 0; + margin-right: 75px; + .brief{ + display: block; + color: #a8a8a8; + font-size: 12px; + line-height: 14px; + height: 7px; + padding-left: 2px; + &:before{ + display: inline-block; + content: "“"; + font-family: serif; + font-size: 30px; + float: left; + margin: 4px 4px 0 -12px; + color: #c8c8c8; + } + } +} + +.article-title { + color: #696969; + margin-left: 0px; + font-weight: 300; + line-height: 35px; + margin-bottom: 20px; + font-size: 26px; + -webkit-transition: color 0.3s; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + transition: color 0.3s; + &:hover{ + color: #B0A0AA; + } +} + +.article-inner{ + position: relative; + margin-bottom: 20px; +} +.article-header{ + border-left: 5px solid #4d4d4d; + padding: 15px 0px 15px 25px; +} + +.article-info.info-on-right{ + margin: 10px 0 0 0; + float: right; +} +.article-info-index.article-info{ + padding-top: 20px; + margin: 30px 30px 0 30px; + border-top: 1px solid #ddd; +} +.article-info-post.article-info{ + padding: 0; + border: none; + margin: -30px 0 20px 30px; +} +.article-entry{ + line-height: 1.8em; + padding-right: 30px; + padding-left: 30px; + p{ + margin-top: 10px; + } + p code,li code{ + padding: 1px 3px; + margin: 0 3px; + background: #ddd; + border: 1px solid #ccc; + font-family: Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace; + word-wrap: break-word; + font-size: 14px; + } + blockquote { + background: #ddd; + border-left: 5px solid #ccc; + padding: 15px 20px; + margin-top: 10px; + border-left: 5px solid #657b83; + background: #f6f6f6; + p{ + margin-top: 0; + } + } + em { + font-style: italic; + } + ul{ + li:before{ + content: ""; + width: 6px; + height: 6px; + border: 1px solid #999; + border-radius: 10px; + background: #aaa; + display: inline-block; + margin-right: 10px; + float: left; + margin-top: 12px; + } + } + ul,ol{ + font-size: 14px; + margin: 10px 0px; + } + li{ + ul,ol{ + margin-left: 30px; + li:before{ + content: ""; + background: #dedede; + } + } + } + h1{ + margin-top: 30px; + } + h2{ + margin-top: 20px; + font-weight: 300; + color: #574C4C; + padding-bottom: 5px; + border-bottom: 1px solid #ddd; + } + h3,h4,h5,h6{ + margin-top: 20px; + font-weight: 300; + color: #574C4C; + padding-bottom: 5px; + border-bottom: 1px solid #ddd; + } + video{ + max-width: 100%; + } + strong { + font-weight: bold; + } + .caption{ + display: block; + font-size: 0.8em; + color: #aaa; + } + hr{ + height: 0; + margin-top: 20px; + margin-bottom: 20px; + border-left: 0; + border-right: 0; + border-top: 1px solid #DDD; + border-bottom: 1px solid #FFF; + } + pre { + font-size: 1 / 0.9em; + line-height: 1.5; + margin-top: 10px; + padding: 5px 15px; + overflow-x: auto; + color: #657b83; + font-size: 10px; + border: 1px solid #ccc; + text-shadow: 0 1px #444; + font-family: Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace; + code{ + font-size: 14px; + } + } + table{ + width:100%; + border: 1px solid #dedede; + margin: 15px 0; + border-collapse:collapse; + tr,td{ + height:35px; + } + thead{ + tr { + background: #f8f8f8; + } + } + tbody{ + tr:hover{ + background: #efefef; + } + } + td,th{ + border: 1px solid #dedede; + padding: 0 10px; + } + } + figure{ + table { + border: none; + width: auto; + margin: 0; + tbody{ + tr:hover{ + background: none; + } + } + } + } +} + +.article-meta{ + width: 150px; + font-size: 14; + text-align: right; + position: absolute; + right: 0; + top: 23px; + text-align: center; + z-index: 1; + time{ + color: #aaa; + } +} + +#article-nav{ + margin: 80px 0 30px 0; + padding-bottom: 10px; + .article-nav-link-wrap{ + margin: 0px 30px 0px 30px; + font-size: 14px; + color: #333; + .article-nav-title{ + display: inline-block; + font-size: 12px; + color: #aaa; + transition: color 0.3s; + } + strong{ + background: #ddd; + color: #fff; + border-radius: 100%; + width: 15px; + height: 15px; + display: inline-block; + text-align: center; + transition: background 0.3s; + } + &:hover{ + strong{ + background: #4d4d4d; + } + .article-nav-title{ + color: #4d4d4d; + } + } + } + #article-nav-older{ + float: right; + } +} diff --git a/themes/yilia/source-src/css/aside.scss b/themes/yilia/source-src/css/aside.scss new file mode 100644 index 0000000..f19f6c8 --- /dev/null +++ b/themes/yilia/source-src/css/aside.scss @@ -0,0 +1,123 @@ +.wrap-side-operation { + position: fixed; + right: 40px; + bottom: 50px; + z-index: 999; + font-size: 14px; + .icon-plane { + color: #fff; + text-shadow: 1px 1px 1px #509eb7; + opacity: 0.7; + font-size: 52px; + line-height: 40px; + width: 40px; + text-align: center; + display: block; + } +} +.mod-side-operation { + width: 40px; + text-align: center; +} +.jump-container { + &:hover { + .icon-back { + background: rgba(36, 193, 246, 0.9); + } + } +} +.jump-container, .toc-container { + position: relative; + cursor: pointer; + width: 40px; + height: 40px; + opacity: .8; +} +.jump-plan-container { + position: absolute; + top: -11px; + left: -4px; + width: 50px; + height: 61px; + overflow: hidden; + .jump-plane { + display: block; + position: absolute; + width: 42px; + height: 66px; + transform: translateY(68px); + left: -2px; + } +} +.mod-side-operation__jump-to-top { + .icon-back { + transition: 0.3s; + color: #fff; + background: #ccc; + transform: rotate(90deg); + font-size: 32px; + line-height: 40px; + width: 40px; + text-align: center; + display: block; + &:hover { + background: #24c1f6; + color: #24c1f6; + } + } +} + +.toc-container.tooltip-left{ + background: #ccc; + margin-top: 10px; + transition: 0.3s; + &:hover { + background: rgba(36, 193, 246, 0.9); + } + .icon-font { + font-size: 22px; + line-height: 40px; + color: #fff; + } + .tooltip { + width: 40px; + height: 40px; + top: 0; + left: 0; + } + .tooltip-east .tooltip-content { + min-height: 100px; + text-align: left; + padding: 5px 0 5px 20px; + right: 4.7em; + min-width: 200px; + width: initial; + font-size: 14px; + text-shadow: 1px 1px 1px #398199; + bottom: -10px; + transform-origin: 100% 100%; + transform: translate3d(0, -10px, 0) rotate3d(1, 1, 1, -30deg); + a { + color: #fff; + } + &::after { + top: initial; + bottom: 23px; + } + .toc-article { + max-height: 500px; + overflow-x: hidden; + overflow-y: auto; + } + .toc-article li ol, .toc-article li ul { + margin-left: 30px; + } + .toc-article li { + white-space: nowrap; + } + } + .tooltip:hover .tooltip-content { + bottom: -10px; + transform: translate(0); + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/comment.scss b/themes/yilia/source-src/css/comment.scss new file mode 100644 index 0000000..4b5a8f5 --- /dev/null +++ b/themes/yilia/source-src/css/comment.scss @@ -0,0 +1,10 @@ +#disqus_thread, .duoshuo, .cloud-tie-wrapper, #SOHUCS, #gitment-ctn { + padding: 0 30px !important; + min-height: 20px; +} + +#SOHUCS { + #SOHU_MAIN .module-cmt-list .block-cont-gw { + border-bottom: 1px dashed #c8c8c8 !important; + } +} diff --git a/themes/yilia/source-src/css/core/_animation.scss b/themes/yilia/source-src/css/core/_animation.scss new file mode 100644 index 0000000..02b03a3 --- /dev/null +++ b/themes/yilia/source-src/css/core/_animation.scss @@ -0,0 +1,378 @@ +@charset "UTF-8"; + +//----------------------------------------------------- +// animate.scss +// 提供6组动画 fade-in/out, shrink-in/out, up-in/out, down-in/out, left-in/out, right-in/out +//----------------------------------------------------- + +%animation-basic { + animation-duration: 0.3s; + animation-fill-mode: both; +} + +// fade in/out +//----------------------------------------------------- + +@mixin animation-fade-in($className: fade, $from: 0) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + @include animation-fade($name: $name, $from: $from); +} + +@mixin animation-fade-out($className: fade, $to: 0) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @include animation-fade($name: $name, $from: 1, $to: $to); +} + +// shrink in/out +//----------------------------------------------------- + +@mixin animation-shrink-in($className: shrink, $from: 0.815) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + @keyframes #{$name} { + 0% { + opacity: 0; + transform: scale($from); + } + 100% { + opacity: 1; + transform: scale(1); + } + } +} + +@mixin animation-shrink-out($className: shrink, $to: 1.185) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 1; + transform: scale(1); + } + 100% { + opacity: 0; + transform: scale($to); + } + } +} + +// down in/out +//----------------------------------------------------- + +@mixin animation-down-in($className: down, $value: 100%) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 0; + transform: translate(0, $value); + } + 100% { + opacity: 1; + transform: translate(0, 0); + } + } +} + +@mixin animation-down-out($className: down, $value: 100%) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 1; + transform: translate(0, 0); + } + 100% { + opacity: 0; + transform: translate(0, $value); + } + } +} + +// up in/out +//----------------------------------------------------- + +@mixin animation-up-in($className: up, $value: -100%) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 0; + transform: translate(0, $value); + } + 100% { + opacity: 1; + transform: translate(0, 0); + } + } +} + +@mixin animation-up-out($className: up, $value: -100%) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 1; + transform: translate(0, 0); + } + 100% { + opacity: 0; + transform: translate(0, $value); + } + } +} + +// left in/out +//----------------------------------------------------- + +@mixin animation-left-in($className: left, $value: -100%) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 0; + transform: translate($value, 0); + } + 100% { + opacity: 1; + transform: translate(0, 0); + } + } +} + +@mixin animation-left-out($className: left, $value: -100%) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 1; + transform: translate(0, 0); + } + 100% { + opacity: 0; + transform: translate($value, 0); + } + } +} + +// right in/out +//----------------------------------------------------- + +@mixin animation-right-in($className: right, $value: 100%) { + $name: str-insert(In, $className, 0); + + .#{$className}-in { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 0; + transform: translate($value, 0); + } + 100% { + opacity: 1; + transform: translate(0, 0); + } + } +} + +@mixin animation-right-out($className: right, $value: 100%) { + $name: str-insert(Out, $className, 0); + + .#{$className}-out { + animation-name: $name; + @extend %animation-basic; + } + + @keyframes #{$name} { + 0% { + opacity: 1; + transform: translate(0, 0); + } + 100% { + opacity: 0; + transform: translate($value, 0); + } + } +} + + +/*弹性动画*/ +@keyframes leftIn { + from, 60%, 75%, 90%, to { + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + transform: translate3d(0, 0, 0); + } + + 60% { + transform: translate3d(358px, 0, 0); + } + + 75% { + transform: translate3d(323px, 0, 0); + } + + 90% { + transform: translate3d(338px, 0, 0); + } + + to { + transform: translate3d(333px, 0, 0); + } +} + +%anmLeftIn { + animation-duration: .8s; + animation-fill-mode: both; + animation-name: leftIn; +} + +@keyframes leftOut { + from, 60%, 75%, 90%, to { + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + transform: translate3d(333px, 0, 0); + } + + 60% { + transform: translate3d(-25px, 0, 0); + } + + 75% { + transform: translate3d(10px, 0, 0); + } + + 90% { + transform: translate3d(-5px, 0, 0); + } + + to { + transform: translate3d(0, 0, 0); + } +} + +%anmLeftOut { + animation-duration: .8s; + animation-name: leftOut; +} + +@keyframes smallLeftIn { + from, 60%, 75%, 90%, to { + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + transform: translate3d(0, 0, 0); + } + + 60% { + transform: translate3d(325px, 0, 0); + } + + 75% { + transform: translate3d(290px, 0, 0); + } + + 90% { + transform: translate3d(305px, 0, 0); + } + + to { + transform: translate3d(300px, 0, 0); + } +} + +%anmSmallLeftIn { + animation-duration: .8s; + animation-fill-mode: both; + animation-name: smallLeftIn; +} + +@keyframes smallleftOut { + from, 60%, 75%, 90%, to { + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + transform: translate3d(333px, 0, 0); + } + + 60% { + transform: translate3d(-25px, 0, 0); + } + + 75% { + transform: translate3d(10px, 0, 0); + } + + 90% { + transform: translate3d(-5px, 0, 0); + } + + to { + transform: translate3d(0, 0, 0); + } +} + +%anmSmallLeftOut { + animation-duration: .8s; + animation-fill-mode: both; + animation-name: smallleftOut; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/core/_media-queries.scss b/themes/yilia/source-src/css/core/_media-queries.scss new file mode 100644 index 0000000..80af0a7 --- /dev/null +++ b/themes/yilia/source-src/css/core/_media-queries.scss @@ -0,0 +1,247 @@ +@charset "utf-8"; + +//----------------------------------------------------- +// media queries scss +// author: Rafal Bromirski +// github: http://github.com/paranoida/sass-mediaqueries +// version: 1.6.1 +//----------------------------------------------------- + + +// generator +// ---------------------------------------------------- + +@mixin mq($args...) { + $media-type: 'only screen'; + $media-type-key: 'media-type'; + $args: keywords($args); + $expr: ''; + + @if map-has-key($args, $media-type-key) { + $media-type: map-get($args, $media-type-key); + $args: map-remove($args, $media-type-key); + } + + @each $key, $value in $args { + @if $value { + $expr: "#{$expr} and (#{$key}: #{$value})"; + } + } + + @media #{$media-type} #{$expr} { + @content; + } +} + + +// screen +// ---------------------------------------------------- + +@mixin screen($min, $max, $orientation: false) { + @include mq($min-width: $min, $max-width: $max, $orientation: $orientation) { + @content; + } +} + +@mixin max-screen($max) { + @include mq($max-width: $max) { + @content; + } +} + +@mixin min-screen($min) { + @include mq($min-width: $min) { + @content; + } +} + +@mixin screen-height($min, $max, $orientation: false) { + @include mq($min-height: $min, $max-height: $max, $orientation: $orientation) { + @content; + } +} + +@mixin max-screen-height($max) { + @include mq($max-height: $max) { + @content; + } +} + +@mixin min-screen-height($min) { + @include mq($min-height: $min) { + @content; + } +} + + +// hdpi +// ---------------------------------------------------- + +@mixin hdpi($ratio: 1.3) { + @media only screen and (-webkit-min-device-pixel-ratio: $ratio), + screen and (min-resolution: #{round($ratio*96)}dpi) { + @content; + } +} + + +// hdtv +// ---------------------------------------------------- + +@mixin hdtv($standard: '1080') { + $min-width: false; + $min-height: false; + + $standards: ('720p', 1280px, 720px) + ('1080', 1920px, 1080px) + ('2K', 2048px, 1080px) + ('4K', 4096px, 2160px); + + @each $s in $standards { + @if $standard == nth($s, 1) { + $min-width: nth($s, 2); + $min-height: nth($s, 3); + } + } + + @include mq( + $min-device-width: $min-width, + $min-device-height: $min-height, + $min-width: $min-width, + $min-height: $min-height + ) { + @content; + } +} + + +// iphone 4 +// ---------------------------------------------------- + +@mixin iphone4($orientation: false) { + $min: 320px; + $max: 480px; + $pixel-ratio: 2; + $aspect-ratio: '2/3'; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation, + $device-aspect-ratio: $aspect-ratio, + $-webkit-device-pixel-ratio: $pixel-ratio + ) { + @content; + } +} + + +// iphone 5 +// ---------------------------------------------------- + +@mixin iphone5($orientation: false) { + $min: 320px; + $max: 568px; + $pixel-ratio: 2; + $aspect-ratio: '40/71'; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation, + $device-aspect-ratio: $aspect-ratio, + $-webkit-device-pixel-ratio: $pixel-ratio + ) { + @content; + } +} + + +// iphone 6 +// ---------------------------------------------------- + +@mixin iphone6($orientation: false) { + $min: 375px; + $max: 667px; + $pixel-ratio: 2; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation, + $-webkit-device-pixel-ratio: $pixel-ratio + ) { + @content; + } +} + + +// iphone 6 plus +// ---------------------------------------------------- + +@mixin iphone6-plus($orientation: false) { + $min: 414px; + $max: 736px; + $pixel-ratio: 3; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation, + $-webkit-device-pixel-ratio: $pixel-ratio + ) { + @content; + } +} + + +// ipad (all) +// ---------------------------------------------------- + +@mixin ipad($orientation: false) { + $min: 768px; + $max: 1024px; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation + ) { + @content; + } +} + + +// ipad-retina +// ---------------------------------------------------- + +@mixin ipad-retina($orientation: false) { + $min: 768px; + $max: 1024px; + $pixel-ratio: 2; + + @include mq( + $min-device-width: $min, + $max-device-width: $max, + $orientation: $orientation, + $-webkit-device-pixel-ratio: $pixel-ratio + ) { + @content; + } +} + + +// orientation +// ---------------------------------------------------- + +@mixin landscape() { + @include mq($orientation: landscape) { + @content; + } +} + +@mixin portrait() { + @include mq($orientation: portrait) { + @content; + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/core/_mixin.scss b/themes/yilia/source-src/css/core/_mixin.scss new file mode 100644 index 0000000..288ec23 --- /dev/null +++ b/themes/yilia/source-src/css/core/_mixin.scss @@ -0,0 +1,703 @@ +@charset "UTF-8"; + +//----------------------------------------------------- +// mixin scss +// 包括常用的mixin, %, @function 及辅助的btn和背景图片icon +// mixin,通过@include调用,样式通过拷贝的方式使用,尤其适用于传递参数 +// %,通过@extend调用,样式通过组合申明的方式使用,适用于不传参数的代码片段 +// @function,返回一个值,用于调用 +//----------------------------------------------------- + +// mixin & % +// 既定义了mixin也定义了%,根据需求使用@include或@extend调用 +//----------------------------------------------------- + +// Center-align a block level element +@mixin center-block($extend: true) { + @if $extend { + @extend %center-block; + } + @else { + margin-left: auto; + margin-right: auto; + } +} + +%center-block { + @include center-block(false); +} + +// clearfix +@mixin clearfix($extend: true) { + @if $extend { + @extend %clearfix; + } + @else { + &::before, + &::after { + content: ""; + display: table; + } + &::after { + clear: both; + } + } +} + +%clearfix { + @include clearfix(false); +} + +// Hide only visually, but have it available for screenreaders +// 只隐藏于视觉,屏幕浏览器可以阅读 +@mixin hidden-clip($extend: true) { + @if $extend { + @extend %hidden-clip; + } + @else { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + } +} + +%hidden-clip { + @include hidden-clip(false); +} + +// ellipsis +@mixin ellipsis($extend: true) { + @if $extend { + @extend %ellipsis; + } + @else { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } +} + +%ellipsis { + @include ellipsis(false); +} + +// ellipsis lines +// only old webkit flex box +@mixin ellipsis-lines($lines: 2) { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: $lines; + -webkit-box-orient: vertical; +} + +// word-break +@mixin word-break($extend: true) { + @if $extend { + @extend %word-break; + } + @else { + white-space: normal; + word-wrap: break-word; + word-break: break-all; + } +} + +%word-break { + @include word-break(false); +} + +// disabled +// add !important +@mixin disabled($colorText: map-get($colorDisabled, text), $colorBg: map-get($colorDisabled, bg), $colorBorder: false) { + background-color: $colorBg !important; + color: $colorText !important; + cursor: default !important; + pointer-events: none !important; + @if $colorBorder { + border: 1px solid map-get($colorDisabled, border); + } +} + +%disabled { + @include disabled; +} + +// image replace text +@mixin ir($extend: true) { + @if $extend { + @extend %ir; + } + @else { + font: 0/0 a; + text-shadow: none; + border: 0 none; + color: transparent; + } +} + +%ir { + @include ir(false); +} + +// fixed top or bottom or bottom & top +@mixin fixed($pos: 0) { + position: fixed; + left: 0; + right: 0; + @if $pos == bottom { + bottom: 0; + } @else if $pos == all { + top: 0; + bottom: 0; + } @else { + top: $pos; + } +} + +%fixed-top { + @include fixed; +} + +%fixed-bottom { + @include fixed(bottom); +} + +// justify +// 左右对齐 +@mixin justify($extend: true) { + @if $extend { + @extend %justify; + } + @else { + display: flex; + justify-content: space-between; + } +} + +%justify { + @include justify(false); +} + +// retina border +// 0.5px实现 ios9 +@mixin retina-one-px() { + @supports (border-width: 0.5px) { + @media only screen and (-webkit-min-device-pixel-ratio: 2), screen and (-webkit-min-device-pixel-ratio: 3) { + border-width: 0.5px; + } + } +} + +// linear-gradient实现 +// 安卓4.3- 不支持background-size的百分比 +@mixin retina-one-px-bg($direction: top, $color: $colorBorder) { + background-repeat: no-repeat; + @if $direction == top { + background-image: linear-gradient(to bottom, $color 50%, transparent 50%); + background-size: 100% 1px; + } + @if $direction == bottom { + background-image: linear-gradient(to top, $color 50%, transparent 50%); + background-size: 100% 1px; + background-position: left bottom; + } + @if $direction == left { + background-image: linear-gradient(to right, $color 50%, transparent 50%); + background-size: 1px 100%; + } + @if $direction == right { + background-image: linear-gradient(to left, $color 50%, transparent 50%); + background-size: 1px 100%; + background-position: right top; + } + @if $direction == v { // 左右两个边框 + background-image: linear-gradient(to right, $color 50%, transparent 50%),linear-gradient(to left, $color 50%, transparent 50%); + background-size: 1px 100%; + background-position: left top, right top; + } + @if $direction == h { // 上下两个边框 + background-image: linear-gradient(to bottom, $color 50%, transparent 50%), linear-gradient(to top, $color 50%, transparent 50%); + background-size: 100% 1px; + background-position: left top, left bottom; + } + @if $direction == all { // 上下左右四个边框 + background-image: linear-gradient(to bottom, $color 50%, transparent 50%), linear-gradient(to top, $color 50%, transparent 50%), linear-gradient(to right, $color 50%, transparent 50%),linear-gradient(to left, $color 50%, transparent 50%); + background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%; + background-position: left top, left bottom, left top, right top; + } +} + +// border和transform实现 +// 注意before和after的层级问题 +@mixin retina-one-px-border($direction: top, $color: $colorBorder) { + position: absolute; + left: 0; + top: 0; + box-sizing: border-box; + + @if $direction == top or $direction == bottom{ + right: 0; + height: 0; + transform: scaleY(0.5); + border-top: 1px solid $color; + } + @if $direction == bottom { + top: auto; + bottom: 0; + } + @if $direction == right or $direction == left{ + width: 0; + bottom: 0; + transform: scaleX(0.5); + border-left: 1px solid $color; + } + @if $direction == right { + left: auto; + right: 0; + } + @if $direction == all { + width: 200%; + height: 200%; + transform-origin: left top; + transform: scale(0.5); + border: 1px solid $color; + } +} + +// border top & bottom +%border-tb { + position: relative; + &::before { + content: ""; + @include retina-one-px-border(top); + z-index: 1; + } + &::after { + content: ""; + @include retina-one-px-border(bottom); + } +} + +// border all +%border-all { + position: relative; + &::before { + content: ""; + @include retina-one-px-border(all); + z-index: -1; + } +} + +// mixin +// 只定义了mixin,所以只能通过@include来调用 +//----------------------------------------------------- + +// table 等 +// $child 参数请使用单引号,因为用于子元素选择器 +@mixin equal-table($child: 'li') { + display: table; + table-layout: fixed; + width: 100%; + + #{unquote($child)} { + display: table-cell; + } +} + +// flex 等分 +// $child 参数请使用单引号,因为用于子元素选择器 +@mixin equal-flex($child: 'li') { + display: flex; + + #{unquote($child)} { + flex: 1; + width: 1%; + } +} + +// line equal gap +// $child 参数请使用单引号,因为用于子元素选择器 +@mixin line-equal-gap($gap: 10px, $child: 'li', $lr: true) { + display: flex; + + @if $lr { + padding-left: $gap; + padding-right: $gap; + } + + #{unquote($child)} { + flex: 1; + width: 1%; + &:not(:first-of-type){ + margin-left: $gap; + } + } +} + +// line equal item +@mixin line-equal-item($lr: true) { + display: flex; + justify-content: space-between; + @if $lr { + &::before, + &::after { + content: ""; + } + } +} + +// flex center +@mixin center-flex($direction: both) { + display: flex; + @if $direction == both { + justify-content: center; + align-items: center; + } + @else if $direction == x { + justify-content: center; + } + @else if $direction == y { + align-items: center; + } +} + +// translate center +@mixin center-translate($direction: both) { + position: absolute; + @if $direction == both { + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); + } + @else if $direction == x { + left: 50%; + transform: translate3d(-50%, 0, 0); + } + @else if $direction == y { + top: 50%; + transform: translate3d(0, -50%, 0); + } +} + +// object wrap +// $child 参数请使用单引号,因为用于子元素选择器 +@mixin object-wrap($percent: 100%, $child: 'img') { + position: relative; + padding-top: $percent; + height: 0; + + #{unquote($child)} { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } +} + +// triangle 三角箭头 +// 可采用空元素或伪元素生成,具体定位这里不涉及 +%triangle-basic { + content: ""; + height: 0; + width: 0; + overflow: hidden; +} + +@mixin triangle($direction: top, $borderWidth: 6px, $borderColor: $colorC) { + @extend %triangle-basic; + @if $direction == top { + border-bottom: $borderWidth solid $borderColor; + border-left: $borderWidth dashed transparent; + border-right: $borderWidth dashed transparent; + } + @else if $direction == right { + border-left: $borderWidth solid $borderColor; + border-top: $borderWidth dashed transparent; + border-bottom: $borderWidth dashed transparent; + } + @else if $direction == bottom { + border-top: $borderWidth solid $borderColor; + border-left: $borderWidth dashed transparent; + border-right: $borderWidth dashed transparent; + } + @else if $direction == left { + border-right: $borderWidth solid $borderColor; + border-top: $borderWidth dashed transparent; + border-bottom: $borderWidth dashed transparent; + } +} + +// v arrow 方向箭头 +@mixin v-arrow($direction: right, $borderWidth: 2px, $size: 10px) { + display: inline-block; + vertical-align: middle; + width: $size; + height: $size; + @if $direction == top { + border-top: $borderWidth solid currentColor; + border-right: $borderWidth solid currentColor; + transform: rotate(-45deg); + } + @else if $direction == right { + border-top: $borderWidth solid currentColor; + border-right: $borderWidth solid currentColor; + transform: rotate(45deg); + } + @else if $direction == bottom { + border-left: $borderWidth solid currentColor; + border-bottom: $borderWidth solid currentColor; + transform: rotate(-45deg); + } + @if $direction == left { + border-left: $borderWidth solid currentColor; + border-bottom: $borderWidth solid currentColor; + transform: rotate(45deg); + } +} + +// selector +// 改变父元素状态,如:hover或.active +// 父元素不能有组合选择器,如.a, .b{} +// .parent{ +// .child{ +// @include parent-state(":hover"){ +// color: #f00; +// } +// } +// } +// .parent:hover .child { +// color: #f00; +// } +@mixin parent-state($states...) { + $parent: nth(nth(&, 1), (length(nth(&, 1))-1)); + + @each $state in $states { + @at-root #{selector-replace(&, $parent, str-insert($state, $parent, 0))} { + @content; + } + } +} + +// animation-fade +// @include animation-fade +// @include animation-fade($from: false, $to: .5); +// @include animation-fade($from: 1, $to: 0); +@mixin animation-fade($name: animationFade, $from: 0, $to: false){ + @keyframes #{animationFade} { + @if $from { + from { + opacity: $from; + } + } + @if $to { + to { + opacity: $to; + } + } + } +} + +// animation-translate +// @include animation-translate +// @include animation-translate($from: x -100%); +// @include animation-translate($from: xy -50% -50%, $to: y -100%); +// @include animation-translate($from: y 100px, $to: y 0px); +@mixin animation-translate($name: animationTranslate, $from: y -100%, $to: false) { + @keyframes #{$name} { + @if $from and length($from) > 1 { + from { + @if nth($from, 1) == x { + transform: translate(nth($from, 2), 0); + } + @if nth($from, 1) == y { + transform: translate(0, nth($from, 2)); + } + @if nth($from, 1) == xy or nth($from, 1) == both { + transform: translate(nth($from, 2), nth($from, 3)); + } + } + } + @if $to andd length($to) > 1 { + to { + @if nth($to, 1) == x { + transform: translate(nth($to, 2), 0); + } + @if nth($to, 1) == y { + transform: translate(0, nth($to, 2)); + } + @if nth($to, 1) == xy or nth($to, 1) == both { + transform: translate(nth($to, 2), nth($to, 3)); + } + } + } + } +} + +// % +// 只定义了%,所以只能通过@extend来调用 +//----------------------------------------------------- + +// bar line +%bar-line { + line-height: $barHeight - 10px; + padding: 5px 10px; + position: relative; + display: block; + overflow: hidden; + @if $activeStateSwitch{ + &:active, + &:hover { + background-color: darken($colorF, 3%); + } + } + &:not(:first-of-type)::before { + content: ""; + @include retina-one-px-border; + } +} + +// item arrow, 右侧箭头跳转指向 +%item-v-right { + &::after { + content: ""; + @include v-arrow; + color: $colorC; + position: absolute; + right: 15px; + top: 50%; + margin-top: -1px; + transform: rotate(45deg) translate(0, -50%); + box-sizing: border-box; + } +} + +// 间隔列表 +%gap-item{ + position: relative; + background: #fff; + margin: 10px 0; + @if $activeStateSwitch{ + &:active, + &:hover { + background-color: darken($colorF, 3%); + } + } + &::before{ + content: ""; + @include retina-one-px-border; + } + &::after{ + content: ""; + @include retina-one-px-border(bottom); + } +} + +// 下面的几个%,由于版本或前缀,所以设计成% +//----------------------------------------------------- +// flex +%display-flex { + display: flex; +} + +// all-transition +%transition-all { + transition: all 0.3s ease-in-out; +} + +// translate3d +%translate3d { + transform: translate3d(0, 0, 0); +} + + +// btn +//---------------------------------------------------- +// btn-basic +// 按钮基本样式,联合申明 +%btn-basic { + display: inline-block; + vertical-align: middle; + cursor: pointer; + text-align: center; + border: 1px solid transparent; + box-sizing: border-box; + user-select: none; + padding: 0 1em; + white-space: nowrap; +} + +// btn-size +// 按钮大小 +@mixin btn-size($padding: 1em, $height: $barHeight, $radius: 3px) { + padding: 0 $padding; + line-height: $height - 2px; // 减掉2px的上下高度 + @if $radius { + border-radius: $radius; + } +} + +// btn-color +// 包括按钮背景色,文本色,是否有边框 +@mixin btn-color($colorText: #333, $colorBg: #666, $colorBorder: false) { + color: nth($colorText, 1); + background-color: nth($colorBg, 1); + @if $colorBorder { + border-color: nth($colorBorder, 1); + } + &:hover, + &:active { + @if length($colorText) == 2 { + color: nth($colorText, 2); + } + @if length($colorBg) == 2 { + background-color: nth($colorBg, 2); + } @else { + @if lightness($colorBg) > 40% { + background-color: darken($colorBg, 5%); + } + @else { + background-color: lighten($colorBg, 5%); + } + } + @if $colorBorder and length($colorBorder) == 2 { + border-color: nth($colorBorder, 2); // $colorBorder: #dbdbdb #ccc => #ccc + } + } +} + + +//function +//----------------------------------------------------- + +// 为颜色添加白色,以百分比形式 +@function tint($color, $percent) { + @return mix(white, $color, $percent); +} + +// 为颜色添加黑色,以百分比形式 +@function shade($color, $percent) { + @return mix(black, $color, $percent); +} + +%shadow { + box-shadow: 0px 0px 6px 0px rgba(0,0,0,.75); +} + +%trans { + transition: all 0.2s ease-in; + -ms-transition: all 0.2s ease-in; +} + +%trans8 { + transition: all 0.8s ease-in; + -ms-transition: all 0.8s ease-in; +} + +%line-bg { + background: linear-gradient(200deg, #a0cfe4, #e8c37e); +} + +%paper-bg { + background: url('./img/checkered-pattern.png') repeat #5d5d5d; +} diff --git a/themes/yilia/source-src/css/core/_reset.scss b/themes/yilia/source-src/css/core/_reset.scss new file mode 100644 index 0000000..70b06d3 --- /dev/null +++ b/themes/yilia/source-src/css/core/_reset.scss @@ -0,0 +1,418 @@ +@charset "UTF-8"; + +//----------------------------------------------------- +// reset scss +// 包括normalize,清零重置 +//----------------------------------------------------- + +// normalize 4.0 +// http://necolas.github.io/normalize.css/ +//----------------------------------------------------- + +// 1. Prevent mobile text size adjust after orientation change, without disabling user zoom. +// 2. Remove the gray background color from tap, default value is inherit +html { + -ms-text-size-adjust: 100%; // 1 + -webkit-text-size-adjust: 100%; // 1 + -webkit-tap-highlight-color: transparent; // 2 + height: 100%; +} + +// 1. Remove default margin +body { + margin: 0; // 1 + font-size: $fontSize; + font-family: $fontFamily; + line-height: $fontLineHeight; + color: $colorText; + background-color: $colorBg; + min-height: 100%; +} + +// HTML5 display definitions +//----------------------------------------------------- + +// Correct `block` display not defined for any HTML5 element in IE 8/9. +// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. +// Correct `block` display not defined for `main` in IE 11. +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +// 1. Correct `inline-block` display not defined in IE 9-. +audio, +canvas, +progress, +video { + display: inline-block; // 1 +} + +// Prevent modern browsers from displaying `audio` without controls. +// Remove excess height in iOS 5 devices. +audio:not([controls]) { + display: none; + height: 0; +} + +// Add the correct vertical alignment in Chrome, Firefox, and Opera. +progress { + vertical-align: baseline; +} + +// Address `[hidden]` styling not present in IE 8/9/10. +// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. +[hidden], +template { + display: none; +} + +// Links +//----------------------------------------------------- + +// 1. Remove the gray background color from active links in IE 10. +// 2. Improve readability when focused and also mouse hovered in all browsers. + +a { + background: transparent; // 1 + text-decoration: none; + color: nth($colorLink, 1); + + &:active { + outline: 0; // 2 + } +} + +// Text-level semantics +//----------------------------------------------------- + +// Address styling not present in IE 8/9/10/11, Safari, and Chrome. +abbr[title] { + border-bottom: 1px dotted; +} + +// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. +b, +strong { + font-weight: bold; +} + +// Address styling not present in Safari and Chrome. +dfn { + font-style: italic; +} + +// Address styling not present in IE 8/9. +mark { + background: #ff0; + color: #000; +} + +// Address inconsistent and variable font size in all browsers. +small { + font-size: 80%; +} + +// Prevent `sub` and `sup` affecting `line-height` in all browsers. +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +// Embedded content +//----------------------------------------------------- + +// 1. Remove border when inside `a` element in IE 8/9/10. +img { + border: 0; // 1 + vertical-align: middle; + max-width: 100%; +} + +// Correct overflow not hidden in IE 9/10/11. +svg:not(:root) { + overflow: hidden; +} + +// Grouping content +//----------------------------------------------------- + +// 1. Contain overflow in all browsers. +// 2. Improve readability of pre-formatted text in all browsers. +pre { + overflow: auto; // 1 + white-space: pre; // 2 + white-space: pre-wrap; // 2 + word-wrap: break-word; // 2 +} + +// 1. Address odd `em`-unit font size rendering in all browsers. +code, +kbd, +pre, +samp { + font-family: monospace, monospace; // 1 + font-size: 1em; // 2 +} + +// Forms +//----------------------------------------------------- + +// Known limitation: by default, Chrome and Safari on OS X allow very limited +// styling of `select`, unless a `border` property is set. + +// 1. Correct color not being inherited. +// Known issue: affects color of disabled elements. +// 2. Correct font properties not being inherited. +// 3. Address margins set differently in Firefox 4+, Safari, and Chrome. +button, +input, +optgroup, +select, +textarea { + color: inherit; // 1 + font: inherit; // 2 + margin: 0; // 3 + vertical-align: middle; +} + +// Show the overflow in IE. +// 1. Show the overflow in Edge. +// 2. Show the overflow in Edge, Firefox, and IE. +button, +input, // 1 +select { // 2 + overflow: visible; +} + +// Address inconsistent `text-transform` inheritance for `button` and `select`. +// All other form control elements do not inherit `text-transform` values. +// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. +// Correct `select` style inheritance in Firefox. +button, +select { + text-transform: none; +} + +// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` +// and `video` controls. +// 2. Correct inability to style clickable `input` types in iOS. +// 3. Improve usability and consistency of cursor style between image-type +// `input` and others. +button, +html input[type="button"], // 1 +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; // 2 + cursor: pointer; // 3 +} + +// Re-set default cursor for disabled elements. +[disabled] { + cursor: default; +} + +// Remove inner padding and border in Firefox 4+. +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +// 1. Address Firefox 4+ setting `line-height` on `input` using `!important` in +// the UA stylesheet. +input { + line-height: normal; // 1 +} + +// It's recommended that you don't attempt to style these elements. +// Firefox's implementation doesn't respect box-sizing, padding, or width. + +// 1. Address box sizing set to `content-box` in IE 8/9/10. +// 2. Remove excess padding in IE 8/9/10. +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 +} + +// Fix the cursor style for Chrome's increment/decrement buttons. For certain +// `font-size` values of the `input`, it causes the cursor style of the +// decrement button to change from `default` to `text`. +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// 1. Address `appearance` set to `searchfield` in Safari and Chrome. +// 2. Address `box-sizing` set to `border-box` in Safari and Chrome +// (include `-moz` to future-proof). +input[type="search"] { + -webkit-appearance: textfield; // 1 + box-sizing: border-box; +} + +// Remove inner padding and search cancel button in Safari and Chrome on OS X. +// Safari (but not Chrome) clips the cancel button when the search input has +// padding (and `textfield` appearance). +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +// Define consistent border, margin, and padding. +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +// 1. Correct `color` not being inherited in IE 8/9/10/11. +// 2. Remove padding so people aren't caught out if they zero out fieldsets. +legend { + border: 0; // 1 + padding: 0; // 2 +} + +// 1. Remove default vertical scrollbar in IE 8/9/10/11. +textarea { + overflow: auto; // 1 + resize: vertical; + vertical-align: top; +} + +// Don't inherit the `font-weight` (applied by a rule above). +// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. +optgroup { + font-weight: bold; +} + +// webkit focus outline +input, +select, +textarea, +button { + outline: 0; +} + +// Android 下 input focus 消除高亮外框 +textarea, +input { + -webkit-user-modify: read-write-plaintext-only; +} + +// ie10 clear & password +input::-ms-clear, +input::-ms-reveal { + display: none; +} + +// 表单placeholder样式 +// 注意不可联合申明,否则无效 +// Firefox 19+ +input::-moz-placeholder, +textarea::-moz-placeholder { + color: $colorPlaceholder; +} + +// Internet Explorer 10+ +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: $colorPlaceholder; +} + +// Safari and Chrome +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: $colorPlaceholder; +} + +// 如不支持placeholder添加class 或者 设置提示的placeholder +.placeholder{ + color: $colorPlaceholder; +} + +// Tables +//----------------------------------------------------- +// Remove most spacing between table cells. +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +// 根据使用习惯,对normalize上进行补充 +//----------------------------------------------------- + +h1, h2, h3, h4, h5, h6, p, figure, form, blockquote { + margin: 0; +} + +// ul ol dl +ul, ol, li, dl, dd { + margin: 0; + padding: 0; +} + +ul, ol { + list-style: none outside none; +} + +// hn +h1, h2, h3 { + line-height: 2; + font-weight: normal; +} + +h1 { + font-size: 18px; +} + +h2 { + font-size: 16px; +} + +h3 { + font-size: 14px; +} + +// icon +i { + font-style: normal; +} + +// 所有元素为border-box +* { + box-sizing: border-box; +} + +// 清除子元素浮动 +.clearfix { + @extend %clearfix; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/core/_variables.scss b/themes/yilia/source-src/css/core/_variables.scss new file mode 100644 index 0000000..a660c30 --- /dev/null +++ b/themes/yilia/source-src/css/core/_variables.scss @@ -0,0 +1,83 @@ +@charset "UTF-8"; + +//----------------------------------------------------- +// variables scss +//----------------------------------------------------- + + +// font相关 +//----------------------------------------------------- +$fontSize: 14px !default; +$fontLineHeight: 1.5 !default; +$fontFamily: "Helvetica Neue", Helvetica, STHeiTi, Arial, sans-serif !default; +// ios华文黑体,Android 4.0之后,Android 4.0之前 +$fontCn: STHeiTi, Roboto, "Droid Sans Fallback", Arial !default; +// ios4.0+,ios4.0-,Android 4.0+,Android 4.0- +$fontEn: "Helvetica Neue", Helvetica, Roboto, "Droid Sans", Arial !default; + + +// 背景色,文本色,边框色,链接色 +//----------------------------------------------------- +$colorText: #333 !default; +$colorBg: #fff !default; +$colorBorder: #dbdbdb !default; +$colorLink: #08c !default; +$colorPlaceholder: #999 !default; // input placeholder color +$colorDisabled: (text: #999, bg: #e3e3e3, border: #dbdbdb) !default; // textColor bgColor borderColor +$colorOverlay: rgba(0,0,0,.7) !default; // 遮罩层颜色 + + +// 基本颜色 +// color function : http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html +// lighten($color, $amount) +// darken($color, $amount) +// opacity($color, $amount) +// mix($color1, $color2[, $amount]) +//----------------------------------------------------- +$color3: #333; +$color6: #666; +$color9: #999; +$colorC: #ccc; +$colorF: #f5f5f5; + +$blue: #007aff !default; +$orange: #ff9500 !default; +$red: #ff3b30 !default; +$green: #4cd964 !default; +$primary: #007aff !default; + + +// 元素上下间距 +//----------------------------------------------------- +$gap: 20px !default; + + +// header,footer等的高度 +//----------------------------------------------------- +$barHeight: 44px !default; + + +// radius +//----------------------------------------------------- +$radiusBase: 5px !default; +$radiusSmall: 3px !default; + + +// timing-function +//----------------------------------------------------- +$timingFunction: cubic-bezier(0.42, 0, 0.58, 1); + + +// active state switch +//----------------------------------------------------- +$activeStateSwitch: true !default; + + +// z-index +//----------------------------------------------------- +$zIndexHeader: 1000 !default; +$zIndexFooter: 2000 !default; +$zIndexPopup: 3000 !default; +$zIndexOverlay: 4000 !default; // 默认高于header和footer部分 + +$articlePadding: 7.6923%; \ No newline at end of file diff --git a/themes/yilia/source-src/css/fonts.scss b/themes/yilia/source-src/css/fonts.scss new file mode 100644 index 0000000..026f07d --- /dev/null +++ b/themes/yilia/source-src/css/fonts.scss @@ -0,0 +1,111 @@ +@font-face {font-family: "iconfont"; + src: url('./fonts/iconfont.eot'); /* IE9*/ + src: url('./fonts/iconfont.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('./fonts/iconfont.woff') format('woff'), /* chrome, firefox */ + url('./fonts/iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + url('./fonts/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */ +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'iconfont' !important; + speak: none; + font-size:16px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-twitter:before { content: "\e600"; } + +.icon-facebook:before { content: "\e601"; } + +.icon-clock:before { content: "\e602"; } + +.icon-mail:before { content: "\e609"; } + +.icon-link:before { content: "\e6ab"; } + +.icon-search:before { content: "\e65b"; } + +.icon-smile:before { content: "\e64a"; } + +.icon-roundrightfill:before { content: "\e65a"; } + +.icon-list:before { content: "\e682"; } + +.icon-book:before { content: "\e6fe"; } + +.icon-home:before { content: "\e6bb"; } + +.icon-share:before { content: "\e618"; } + +.icon-back:before { content: "\e625"; } + +.icon-qq:before { content: "\e62d"; } + +.icon-weibo:before { content: "\e619"; } + +.icon-segmentfault:before { content: "\e603"; } + +.icon-sort:before { content: "\e700"; } + +.icon-jianshu:before { content: "\e613"; } + +.icon-circle-left:before { content: "\e71f"; } + +.icon-circle-right:before { content: "\e720"; } + +.icon-loading:before { content: "\e614"; } + +.icon-acfun:before { content: "\e604"; } + +.icon-close:before { content: "\e60c"; } + +.icon-tumblr:before { content: "\e6b0"; } + +.icon-calendar:before { content: "\e667"; } + +.icon-rss:before { content: "\e877"; } + +.icon-price-tags:before { content: "\e6f9"; } + +.icon-quo-left:before { content: "\e7f5"; } + +.icon-quo-right:before { content: "\e7f6"; } + +.icon-back1:before { content: "\e64e"; } + +.icon-github:before { content: "\e735"; } + +.icon-film:before { content: "\e7b7"; } + +.icon-weixin:before { content: "\e61f"; } + +.icon-qzone:before { content: "\e680"; } + +.icon-category:before { content: "\e605"; } + +.icon-douban:before { content: "\e64c"; } + +.icon-roundleftfill:before { content: "\e799"; } + +.icon-tuding:before { content: "\e651"; } + +.icon-zhihu:before { content: "\e61b"; } + +.icon-linkedin:before { content: "\e6d4"; } + +.icon-google:before { content: "\e635"; } + +.icon-plane:before { content: "\e62f"; } + +.icon-bilibili:before { content: "\e622"; } + +.icon-psn:before { content: "\e6c7"; } diff --git a/themes/yilia/source-src/css/fonts/iconfont.eot b/themes/yilia/source-src/css/fonts/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..a3ffe8711b0ed312dafe8df27cc7f968eeb6be02 GIT binary patch literal 20006 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 literal 0 HcmV?d00001 diff --git a/themes/yilia/source-src/css/fonts/iconfont.svg b/themes/yilia/source-src/css/fonts/iconfont.svg new file mode 100644 index 0000000..59c4f5b --- /dev/null +++ b/themes/yilia/source-src/css/fonts/iconfont.svg @@ -0,0 +1,201 @@ + + + + +Created by FontForge 20120731 at Sun Jul 9 01:44:08 2017 + By admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/yilia/source-src/css/fonts/iconfont.ttf b/themes/yilia/source-src/css/fonts/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bcc77994675c8c12909e994a68b833f34c8a1760 GIT binary patch literal 19724 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 literal 0 HcmV?d00001 diff --git a/themes/yilia/source-src/css/footer.scss b/themes/yilia/source-src/css/footer.scss new file mode 100644 index 0000000..b7b238f --- /dev/null +++ b/themes/yilia/source-src/css/footer.scss @@ -0,0 +1,19 @@ +#footer { + font-size: 12px; + font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace; + text-shadow: 0 1px #fff; + position: absolute; + bottom: 30px; + opacity: 0.6; + width: 100%; + text-align: center; + .outer{ + padding: 0 30px; + } +} +.footer-left{ + float: left; +} +.footer-right{ + float: right; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/global.scss b/themes/yilia/source-src/css/global.scss new file mode 100644 index 0000000..a7b2f67 --- /dev/null +++ b/themes/yilia/source-src/css/global.scss @@ -0,0 +1 @@ +@import "core"; \ No newline at end of file diff --git a/themes/yilia/source-src/css/grid.scss b/themes/yilia/source-src/css/grid.scss new file mode 100644 index 0000000..2bbc592 --- /dev/null +++ b/themes/yilia/source-src/css/grid.scss @@ -0,0 +1,56 @@ +body, button, input, select, textarea { + color: #1a1a1a; + font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; + font-size: 16px; + font-size: 1rem; + line-height: 1.75; +} +body { + overflow-y: hidden; + background:#eaeaea; +} +html, body, #container { + height: 100%; + overflow-x: hidden; + overflow-y: auto; +} +#mobile-nav { + display: none; +} +#container{ + position:relative; + min-height:100%; + .anm-canvas { + display: none; + } + &.show { + .anm-canvas { + display: block; + position: fixed; + } + } +} +.body-wrap{ + margin-bottom: 80px; +} +.mid-col { + position:absolute; + right:0; + min-height:100%; + background:#eaeaea; + left: 300px; + width: auto; + @extend %trans; + &.show { + background: none; + opacity: .9; + @extend %anmLeftIn; + .article { + @extend %trans; + background: rgba(255,255,255,.3); + } + } + &.hide { + @extend %anmLeftOut; + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/highlight.scss b/themes/yilia/source-src/css/highlight.scss new file mode 100644 index 0000000..4ba44bf --- /dev/null +++ b/themes/yilia/source-src/css/highlight.scss @@ -0,0 +1,161 @@ +.article-entry pre, +.article-entry .highlight { + background: #272822; + margin: 10px 0; + padding: 10px 10px; + overflow: auto; + color: #fff; + font-size: 0.9em; + line-height: 22.400000000000002px; +} +.article-entry .highlight .gutter pre, +.article-entry .highlight .gutter pre .line, +.article-entry .gist .gist-file .gist-data .line-numbers { + color: #666; +} +.article-entry pre, +.article-entry code { + font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace; +} +.article-entry code { + background: #eee; + padding: 0 0.3em; + border: none; +} +.article-entry pre code { + background: none; + text-shadow: none; + padding: 0; + color: #fff; +} + +.article-entry .highlight { + border-radius: 4px; +} +.article-entry .highlight pre { + border: none; + margin: 0; + padding: 0; +} +.article-entry .highlight table { + margin: 0; + width: auto; +} +.article-entry .highlight td { + border: none; + padding: 0; +} +.article-entry .highlight figcaption { + color: highlight-comment; + line-height: 1em; + margin-bottom: 1em; +} +.article-entry .highlight figcaption:before, +.article-entry .highlight figcaption:after { + content: ""; + display: table; +} +.article-entry .highlight figcaption:after { + clear: both; +} +.article-entry .highlight figcaption a { + float: right; +} +.article-entry .highlight .gutter pre { + text-align: right; + padding-right: 20px; +} +.article-entry .highlight .gutter pre .line { + text-shadow: none; +} +.article-entry .highlight .line { + color: #fff; + min-height: 19px; +} +.article-entry .gist { + margin: 0 -20px; + border-style: solid; + border-color: #ddd; + border-width: 1px 0; + background: #272822; + padding: 15px 20px 15px 0; +} +.article-entry .gist .gist-file { + border: none; + font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace; + margin: 0; +} +.article-entry .gist .gist-file .gist-data { + background: none; + border: none; +} +.article-entry .gist .gist-file .gist-data .line-numbers { + background: none; + border: none; + padding: 0 20px 0 0; +} +.article-entry .gist .gist-file .gist-data .line-data { + padding: 0 !important; +} +.article-entry .gist .gist-file .highlight { + margin: 0; + padding: 0; + border: none; +} +.article-entry .gist .gist-file .gist-meta { + background: #272822; + color: highlight-comment; + font: 0.85em "Helvetica Neue", Helvetica, Arial, sans-serif; + text-shadow: 0 0; + padding: 0; + margin-top: 1em; + margin-left: 20px; +} +.article-entry .gist .gist-file .gist-meta a { + color: #258fb8; + font-weight: normal; +} +.article-entry .gist .gist-file .gist-meta a:hover { + text-decoration: underline; +} +pre .comment { + color: #75715e; +} +pre .keyword, +pre .function .keyword, +pre .class .params { + color: #66d9ef; +} +pre .tag, +pre .doctype, +pre .params, +pre .function, +pre .css .value { + color: #fff; +} +pre .css ~ * .tag, +pre .title, +pre .at_rule, +pre .at_rule .keyword, +pre .preprocessor, +pre .preprocessor .keyword { + color: #f92672; +} +pre .attribute, +pre .built_in, +pre .class, +pre .css ~ * .class, +pre .function .title { + color: #a6e22e; +} +pre .value, +pre .string { + color: #e6db74; +} +pre .number { + color: #7163d7; +} +pre .id, +pre .css ~ * .id { + color: #fd971f; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/img/checkered-pattern.png b/themes/yilia/source-src/css/img/checkered-pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..52266bdd72cd02a42462ef24bcb832c87f9c9f2a GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xb3?wz0qptud&H$efS0K&E$S5o3^9`j6#_<=cyz@4RWgs8|(i zmv?0A_DP*7ubVynICjEQ!0Z9P|2&whxN>&@_3vG-iwUx~#)vlu*G{an^LB{Ts5RdSF% literal 0 HcmV?d00001 diff --git a/themes/yilia/source-src/css/img/scrollbar_arrow.png b/themes/yilia/source-src/css/img/scrollbar_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..81bba9723bc4ed8494399605c1f66ba7f7dae47c GIT binary patch literal 3065 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 Hu0mjfU(Umt literal 0 HcmV?d00001 diff --git a/themes/yilia/source-src/css/img/tooltip.svg b/themes/yilia/source-src/css/img/tooltip.svg new file mode 100644 index 0000000..0d8ba2e --- /dev/null +++ b/themes/yilia/source-src/css/img/tooltip.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/themes/yilia/source-src/css/left.scss b/themes/yilia/source-src/css/left.scss new file mode 100644 index 0000000..ca3eacd --- /dev/null +++ b/themes/yilia/source-src/css/left.scss @@ -0,0 +1,116 @@ +.left-col { + background: #fff; + width: 300px; + position:fixed; + opacity:1; + transition:all .2s ease-in; + height:100%; + z-index: 999; + &.show { + @extend %shadow; + } + .overlay{ + width: 100%; + height: 180px; + position: absolute; + } + + .intrude-less { + width: 76%; + text-align: center; + margin: 112px auto 0; + } + + #header{ + width:100%; + height: 300px; + position: relative; + border-bottom: 1px solid color-border; + a { + color: #696969; + &:hover { + color: #B0A0AA; + } + } + .header-subtitle{ + text-align: center; + color:#999; + font-size: 14px; + line-height: 25px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + .header-menu{ + font-weight: 300; + line-height: 31px; + text-transform: uppercase; + float:none; + min-height: 150px; + margin-left: -12px; + text-align: center; + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-pack: center; + -webkit-box-align: center; + li{ + cursor: default; + a{ + font-size: 14px; + min-width: 300px; + } + } + } + .header-smart-menu { + font-size: 12px; + margin-bottom: 20px; + a { + &:after { + content: '/' + } + &:last-child { + &:after { + content: '' + } + } + } + } + .profilepic{ + text-align: center; + display: block; + border: 5px solid #fff; + border-radius: 300px; + width: 128px; + height: 128px; + margin: 0 auto; + position: relative; + overflow: hidden; + background: #88acdb; + -webkit-transition: all 0.2s ease-in; + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-pack: center; + -webkit-box-align: center; + text-align: center; + img{ + border-radius: 300px; + opacity: 1; + -webkit-transition: all 0.2s ease-in; + &.show{ + width: 100%; + height: 100%; + opacity: 1; + } + } + } + .header-author{ + text-align: center; + margin: 0.67em 0; + font-family: Roboto, "Roboto", serif; + font-size: 30px; + transition: 0.3s; + } + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/main.scss b/themes/yilia/source-src/css/main.scss new file mode 100644 index 0000000..6cc3435 --- /dev/null +++ b/themes/yilia/source-src/css/main.scss @@ -0,0 +1,25 @@ +@import "./global"; +@import "./fonts"; +@import "./grid"; +@import "./left"; +@import "./scroll"; +@import "./highlight"; +@import "./tags"; +@import "./tags-cloud"; +@import "./social"; +@import "./page"; +@import "./archive"; +@import "./tools"; +@import "./article-main"; +@import "./article-inner"; +@import "./article-nav"; +@import "./comment"; +@import "./share"; +@import "./reward"; +@import "./aside"; +@import "./tooltip"; +@import "./footer"; +@media screen and (max-width: 800px) { + @import "./mobile"; + @import "./mobile-slider"; +} diff --git a/themes/yilia/source-src/css/mobile-slider.scss b/themes/yilia/source-src/css/mobile-slider.scss new file mode 100644 index 0000000..1bb5902 --- /dev/null +++ b/themes/yilia/source-src/css/mobile-slider.scss @@ -0,0 +1,42 @@ +.profilepic { + text-align: center; + display: block; + border: 5px solid #fff; + border-radius: 300px; + width: 128px; + height: 128px; + margin: 0 auto; + position: relative; + overflow: hidden; + background: #88acdb; + -webkit-transition: all 0.2s ease-in; + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-pack: center; + -webkit-box-align: center; + text-align: center; +} +.header-author { + text-align: center; + margin: 0.67em 0; + font-family: Roboto, "Roboto", serif; + font-size: 30px; + -webkit-transition: 0.3s; + -moz-transition: 0.3s; + -ms-transition: 0.3s; + transition: 0.3s; +} +.header-subtitle { + text-align: center; + color: #999; + font-size: 14px; + line-height: 25px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.header-subtitle { + padding: 0 24px; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/mobile.scss b/themes/yilia/source-src/css/mobile.scss new file mode 100644 index 0000000..c9850bf --- /dev/null +++ b/themes/yilia/source-src/css/mobile.scss @@ -0,0 +1,379 @@ +html, body, #container { + height: auto; + overflow-x: hidden; + overflow-y: auto; +} +#mobile-nav { + display: block; +} +.body-wrap { + margin-bottom: 0; +} +.left-col { + display: none; +} +.mid-col { + left: 0; + position: relative; +} +#header{ + .header-nav{ + position: relative; + } +} +.wrap-side-operation { + display: none; +} +.cloud-tie-wrapper { + padding: 0; + min-height: 20px; +} +.tools-col { + left: -300px; + width: 300px; + .tools-wrap { + padding-top: 48px; + } + .tools-wrap, .tools-section { + width: 300px; + .search-wrap { + width: 280px; + } + .search-tag.tagcloud { + margin-right: -30px; + } + .search-ul .search-li { + padding: 5px 20px; + } + } + &.show { + .header-menu{ + &.tools-nav { + display: block; + } + } + } +} + +#container .header-author.fixed { + position: fixed; + top: -29px; + width: 100%; + color: #ddd; +} +.mobile-mask { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + background: rgba(0, 0, 0, .85); + z-index: 999; +} +.btnctn{ + position: fixed; + width: 50px; + height: 50px; + top: -5px; + z-index: 4; + .slider-trigger{ + position: absolute; + z-index: 101; + width: 42px; + height: 42px; + text-align: center; + line-height: 50px; + &.back { + top: 0; + left: 0; + } + &.list { + bottom: 0; + left: 0; + } + &:hover{ + background: #444; + } + .icon{ + font-size: 24px; + color: #fff; + } + } +} +.article-header{ + border-left: none; + padding: 0; + border-bottom: 1px dotted #ddd; + h1{ + margin-bottom: 10px; + } + .archive-article-date{ + float: initial; + } +} +.header-subtitle{ + padding: 0 24px; + .icon { + margin: 0 10px; + color: #d0d0d0; + } +} + +.article-info-index.article-info{ + min-height: 40px; + padding-top: 10px; + margin: 0; + border-top: 1px solid #ddd; +} +.article-info-post.article-info{ + margin: 0; + padding-top: 10px; + border: none; +} +#viewer-box .viewer-box-l{ + font-size: 14px; +} +.article-nav-link-wrap{ + margin: 5px 0; + display: block; + clear: both; + .icon-circle-right { + float: left; + margin: 6px 4px 0 0; + } +} +.article{ + padding: 10px; + margin: 10px 0; + border: 0; + font-size: 16px; + color: #555; + .article-more-link { + margin: 0; + } + .article-entry{ + padding: 10px 0 30px 0; + } + .article-inner h1.article-title, .article-title{ + font-size: 18px; + font-weight: 300; + display: block; + margin: 0; + } + .article-meta{ + width: auto; + height: 30px; + margin-top: -5px; + position: ralative; + .article-date{ + font-size: 12px; + border-radius: 0; + color: #666; + background: none; + height: auto; + padding: 0; + margin: 0; + width: 100%; + text-align: left; + margin-left: 10px; + time{ + width: auto; + float: right; + margin-right: 10px; + } + } + .article-tag-list{ + margin-top: 7px; + position: absolute; + right: 10px; + top: 0; + &:before{ + float: left; + margin-top: 1px; + left: 0; + } + .article-tag-list-item{ + float: left; + padding-left: 0; + width: auto; + max-width: 83px; + } + } + .article-category{ + margin-top: 7px; + position: absolute; + right: 10px; + top: -30px; + &:before{ + float: left; + margin-top: 1px; + left: 15px; + } + .article-category-link{ + max-width: 83px; + width: auto; + padding-left:10px; + } + } + } + + #article-nav-older{ + float: none; + display: block; + } +} +.share{ + padding: 3px 10px; +} +.duoshuo { + padding: 0 13px; +} +#disqus_thread { + padding: 0 13px; +} +#article-nav { + margin: 0; + padding: 5px 10px 10px; +} +#article-nav #article-nav-older { + float: none; +} +#article-nav .article-nav-link-wrap .article-nav-title { + font-size: 16px; +} + +#page-nav .extend{ + opacity: 1; +} + +.instagram .open-ins{ + left: 2px; + top: -30px; + color: #aaa; +} +.info-on-right{ + float: initial; +} +.archives-wrap{ + margin: 10px 10px 0px; + padding: 10px; + .archive-article-title{ + font-size: 16px; + } + .archive-year-wrap{ + position: relative; + padding: 0 0 0 0; + a{ + padding: 0 0 0 0; + } + } + .article-meta{ + .archive-article-date{ + font-size: 12px; + margin-right: 10px; + margin-top: -5px; + } + .article-tag-list-link{ + font-size: 12px; + } + } +} +.archives{ + .archive-article{ + padding: 10px 0; + margin-left: 0; + } +} + +#footer { + position: relative; + bottom: 0; + .footer-left{ + float: initial; + margin-bottom: 10px; + } + .footer-right{ + float: initial; + } +} + +#mobile-nav{ + .header-author{ + margin: 0; + position: relative; + z-index: 2; + color: #424242; + } + .overlay{ + height: 110px; + position: absolute; + width: 100%; + z-index: 2; + background: #4d4d4d; + } + #header{ + padding: 10px 0 0 0; + .profilepic{ + display: block; + position: relative; + z-index: 100; + } + } +} + +.header-menu{ + height: auto; + margin: 10px 0 20px; + &.tools-nav { + display: none; + position: fixed; + left: 0; + width: 100%; + z-index: 9999; + ul { + margin-right: 28px; + } + ul, li { + border-color: #fff; + a { + color: #fff; + &.active { + background: #81b5cc; + } + } + } + } + ul{ + text-align: center; + cursor: default; + display: flex; + margin: 0 auto; + align-items: center; + justify-content: space-around; + position: relative; + z-index: 1; + border: 1px solid #a0a0a0; + border-radius: 3px; + } + li{ + border-left: 1px solid #a0a0a0; + &:first-child { + border-left: 0; + } + &:last-child { + border-right: 0; + } + a { + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: block; + color: #a0a0a0; + &.active { + color: #eaeaea; + background: #a0a0a0; + } + } + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/page.scss b/themes/yilia/source-src/css/page.scss new file mode 100644 index 0000000..fde7b27 --- /dev/null +++ b/themes/yilia/source-src/css/page.scss @@ -0,0 +1,38 @@ +#page-nav{ + text-align: center; + margin-top: 30px; + .page-number{ + width: 20px; + height: 25px; + background: #4d4d4d; + display: inline-block; + color: #fff; + line-height: 25px; + font-size: 12px; + margin: 0 5px 30px; + border-radius: 2px; + &:hover{ + background: #5e5e5e; + } + } + .current{ + background: #88acdb; + cursor: default; + &:hover{ + background: #88acdb; + } + } + .extend{ + color: #4d4d4d; + margin: 0 27px; + opacity: 1; + &:hover{ + color: #5e5e5e; + } + } + &:hover{ + .extend{ + opacity: 1; + } + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/reward.scss b/themes/yilia/source-src/css/reward.scss new file mode 100644 index 0000000..5b9df2d --- /dev/null +++ b/themes/yilia/source-src/css/reward.scss @@ -0,0 +1,51 @@ +.page-reward { + margin: 60px 0; + text-align: center; + .page-reward-btn { + position: relative; + display: inline-block; + width: 56px; + height: 56px; + line-height: 56px; + font-size: 20px; + color: #fff; + background: #f44336; + border-radius: 50%; + box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12); + -webkit-transition: .4s ease-in-out; + transition: .4s ease-in-out; + &:hover, &:active { + box-shadow: 0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2); + } + .tooltip-item { + display: block; + width: 56px; + height: 56px; + } + } + .reward-box { + display: flex; + justify-content: space-around; + } + .reward-p { + color: #fff; + font-weight: bold; + text-shadow: 1px 1px 1px #45b9e0; + .icon { + margin: 0 10px; + color: #ddd; + } + } + .reward-type { + font-size: 16px; + display: block; + color: #4d4d4d; + margin: 20px 0 0 0; + } + .reward-img { + width: 130px; + height: 130px; + border: 6px solid #fff; + border-radius: 3px; + } +} diff --git a/themes/yilia/source-src/css/scroll.scss b/themes/yilia/source-src/css/scroll.scss new file mode 100644 index 0000000..65954d7 --- /dev/null +++ b/themes/yilia/source-src/css/scroll.scss @@ -0,0 +1,64 @@ +/* 设置滚动条的样式 */ +::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +::-webkit-scrollbar-button { + width: 0; + height: 0; +} + +::-webkit-scrollbar-button:start:increment,::-webkit-scrollbar-button:end:decrement { + display: none; +} + +::-webkit-scrollbar-corner { + display: block; +} + +::-webkit-scrollbar-thumb { + border-radius: 8px; + background-color: rgba(0,0,0,.2); +} + +::-webkit-scrollbar-thumb:hover { + border-radius: 8px; + background-color: rgba(0,0,0,.5); +} + +::-webkit-scrollbar-track,::-webkit-scrollbar-thumb { + border-right: 1px solid transparent; + border-left: 1px solid transparent; +} + +::-webkit-scrollbar-track:hover { + background-color: rgba(0,0,0,.15); +} +::-webkit-scrollbar-button:start { + width: 10px; + height: 10px; + background: url(./img/scrollbar_arrow.png) no-repeat 0 0; +} + +::-webkit-scrollbar-button:start:hover { + background: url(./img/scrollbar_arrow.png) no-repeat -15px 0; +} + +::-webkit-scrollbar-button:start:active { + background: url(./img/scrollbar_arrow.png) no-repeat -30px 0; +} + +::-webkit-scrollbar-button:end { + width: 10px; + height: 10px; + background: url(./img/scrollbar_arrow.png) no-repeat 0 -18px; +} + +::-webkit-scrollbar-button:end:hover { + background: url(./img/scrollbar_arrow.png) no-repeat -15px -18px; +} + +::-webkit-scrollbar-button:end:active { + background: url(./img/scrollbar_arrow.png) no-repeat -30px -18px; +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/share.scss b/themes/yilia/source-src/css/share.scss new file mode 100644 index 0000000..97b7a66 --- /dev/null +++ b/themes/yilia/source-src/css/share.scss @@ -0,0 +1,107 @@ +.share-wrap { + min-height: 20px; +} +.share-btn { + float: right; + position: relative; +} +.share-icons { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + a { + border: 1px solid #fff; + border-radius: 50%; + display: -moz-inline-stack; + display: inline-block; + vertical-align: middle; + zoom: 1; + margin: 10px; + -webkit-transition: 0.3s; + transition: 0.3s; + text-align: center; + color: #fff; + opacity: 0.7; + width: 28px; + height: 28px; + line-height: 26px; + text-shadow: 1px 1px 1px #509eb7; + &:active { + color: #fff; + } + &:hover { + transform: scale(1.2); + } + &.share-outer { + border: none; + color: #fff; + background: #4d4d4d; + text-shadow: none; + } + } +} +.page-modal { + //display: none; + position: fixed; + top: 24%; + left: 50%; + z-index: 1001; + padding: 20px; + text-align: center; + color: #727272; + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12); + opacity: 0; + transform: translate(-50%, -200%); + p { + margin-bottom: 10px; + } + &.ready { + visibility: hidden; + display: block; + transform: translate(-50%, -100%); + transition: .3s; + } + + &.in { + visibility: visible; + opacity: 1; + transform: translate(-50%, 0); + } + + .close { + position: absolute; + right: 15px; + top: 15px; + color: rgba(0, 0, 0, .2); + font-size: 16px; + line-height: 20px; + &:hover, &:active { + color: rgba(0, 0, 0, .4); + } + } +} + +.mask { + visibility: hidden; + position: fixed; + top: 0; + left: 0; + bottom: 0; + z-index: 1000; + width: 100%; + height: 100%; + background: #000; + opacity: 0; + filter: alpha(opacity=0); + pointer-events: none; + -webkit-transition: .3s ease-in-out; + transition: .3s ease-in-out; + &.in { + visibility: visible; + pointer-events: auto; + opacity: .3; + } +} diff --git a/themes/yilia/source-src/css/social.scss b/themes/yilia/source-src/css/social.scss new file mode 100644 index 0000000..1a88b35 --- /dev/null +++ b/themes/yilia/source-src/css/social.scss @@ -0,0 +1,151 @@ +#header .header-nav{ + width: 100%; + position: absolute; + transition: transform .3s ease-in; + .social { + margin-top: 10px; + text-align: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + a { + border-radius:50%; + display:-moz-inline-stack; + display:inline-block; + vertical-align:middle; + *vertical-align:auto; + zoom:1; + *display:inline; + margin:0 8px 15px 8px; + transition:0.3s; + text-align: center; + color: #fff; + opacity: 0.7; + width: 28px; + height: 28px; + line-height: 26px; + &:hover { + opacity:1 + } + } + a.weibo { + background: #aaaaff; + border:1px solid #aaaaff; + &:hover { + border:1px solid #aaaaff; + } + } + a.segmentfault { + background: #009a61; + border:1px solid #009a61; + &:hover { + border:1px solid #009a61; + } + } + a.rss { + background: #ef7522; + border:1px solid #ef7522; + &:hover { + border:1px solid #cf5d0f; + } + } + a.github { + background: #afb6ca; + border:1px solid #afb6ca; + &:hover { + border:1px solid #909ab6; + } + } + a.facebook { + background: #3b5998; + border:1px solid #3b5998; + &:hover { + border:1px solid #2d4373; + } + } + a.google { + background: #c83d20; + border:1px solid #c83d20; + &:hover { + border:1px solid #9c3019; + } + } + a.twitter { + background: #55cff8; + border:1px solid #55cff8; + &:hover { + border:1px solid #24c1f6; + } + } + a.linkedin { + background: #005a87; + border:1px solid #005a87; + &:hover { + border:1px solid #006b98; + } + } + a.acfun { + background: #fd4c5d; + border:1px solid #fd4c5d; + &:hover { + border:1px solid #fd4c5d; + } + } + a.bilibili { + background: #e15280; + border:1px solid #e15280; + &:hover { + border:1px solid #e15280; + } + } + a.zhihu { + background: #0078d8; + border:1px solid #0078d8; + &:hover { + border:1px solid #0078d8; + } + } + a.douban { + background: #06c611; + border:1px solid #06c611; + &:hover { + border:1px solid #06c611; + } + } + a.mail { + background: #005a87; + border:1px solid #005a87; + &:hover { + border:1px solid #006b98; + } + } + a.jianshu { + background: #ff5722; + border:1px solid #ff5722; + &:hover { + border:1px solid #ff5722; + } + } + a.weixin { + background: #4caf50; + border:1px solid #4caf50; + &:hover { + border:1px solid #4caf50; + } + } + a.qq { + background: #34baad; + border:1px solid #34baad; + &:hover { + border:1px solid #34baad; + } + } + a.psn { + background: #086ef6; + border:1px solid #086ef6; + &:hover { + border:1px solid #086ef6; + } + } + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/tags-cloud.scss b/themes/yilia/source-src/css/tags-cloud.scss new file mode 100644 index 0000000..9555e00 --- /dev/null +++ b/themes/yilia/source-src/css/tags-cloud.scss @@ -0,0 +1,63 @@ +.glass { + background-color: rgba(54,70,93,.9); + left: 0; + opacity: 1; + z-index: 998; + transition: opacity .15s; + bottom: 0; + position: fixed; + right: 0; + top: 0; + width: 100%; + height: 100%; + display: none; +} + +.tagcloud-ctn { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 90120; + background-size: 100% 100%; + opacity: 1; + .tagcloud-global { + position: fixed; + top: 50%; + left: 50%; + margin-top: -115px; + margin-left: -315px; + width: 630px; + a { + width: 80px; + height: 80px; + border-radius: 50%; + background: #F2992E; + color: #fff; + display: block; + float: left; + line-height: 80px; + text-align: center; + } + .tab-post-types .tab-post-type:nth-child(1) .post-type-icon { + background: #F2992E + } + + .tab-post-types .tab-post-type:nth-child(2) .post-type-icon { + background: #56BC8A + } + + .tab-post-types .tab-post-type:nth-child(3) .post-type-icon { + background: #4AA8D8 + } + + .tab-post-types .tab-post-type:nth-child(4) .post-type-icon { + background: #A77DC2 + } + + .tab-post-types .tab-post-type:nth-child(5) .post-type-icon { + background: #DD765D + } + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/tags.scss b/themes/yilia/source-src/css/tags.scss new file mode 100644 index 0000000..80dfd8c --- /dev/null +++ b/themes/yilia/source-src/css/tags.scss @@ -0,0 +1,112 @@ +#header .tagcloud a{ + color:#fff; +} +.tagcloud{ + a.js-tag{ + display:inline-block; + text-decoration:none; + font-weight: normal; + font-size:10px; + color:#fff; + height:18px; + line-height:18px; + float: left; + padding:0 5px 0px 10px; + position:relative; + border-radius:0 5px 5px 0; + margin: 5px 9px 5px 8px; + font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace; + &:hover{ + opacity: 0.8; + } + &:before{ + content: " "; + width: 0px; + height: 0px; + position: absolute; + top: 0; + left: -18px; + border: 9px solid transparent; + } + &:after{ + content:" "; + width:4px; + height:4px; + background-color:#fff; + border-radius:4px; + box-shadow:0px 0px 0px 1px rgba(0,0,0,.3); + position:absolute; + top: 7px; + left: 2px; + } + } + a.color1{ + background: #FF945C; + &:before{ + border-right-color: #FF945C; + } + } + a.color2{ + background: #cc8167; + &:before{ + border-right-color: #cc8167; + } + } + a.color3{ + background: #BA8F6C; + &:before{ + border-right-color: #BA8F6C; + } + } + a.color4{ + background: #94635c; + &:before{ + border-right-color:#94635c; + } + } + a.color5{ + background: #7B5D5F; + &:before{ + border-right-color:#7B5D5F; + } + } +} + +.article-tag-list{ + .article-tag-list-item{ + float: left; + } +} +.article-pop-out{ + float: left; + .icon-tuding { + color: #999; + float: left; + margin-right: 10px; + margin-top: 6px; + } +} +.article-tag, .article-category{ + float: left; + .article-tag-list{ + float: left; + } + .icon { + color: #999; + float: left; + margin-right: 10px; + margin-top: 6px; + } +} +.article-pop-out { + float: left; +} + +.archive-article-date { + color: #999; + margin-right: 7.6923%; + float: right; + .icon { + margin: 5px 5px 5px 0; + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/tools.scss b/themes/yilia/source-src/css/tools.scss new file mode 100644 index 0000000..9eac907 --- /dev/null +++ b/themes/yilia/source-src/css/tools.scss @@ -0,0 +1,143 @@ +.tools-col { + width: 300px; + height: 100%; + position: fixed; + left: 0; + top: 0; + z-index: 0; + padding: 0; + opacity: 0; + -webkit-overflow-scrolling: touch; + overflow-scrolling: touch; + @extend %trans; + &.show { + opacity: 1; + @extend %anmSmallLeftIn; + } + &.hide { + @extend %anmSmallLeftOut; + z-index: 0; + } + .tools-nav { + display: none; + } + .tools-wrap, .tools-section{ + height: 100%; + color: #e5e5e5; + width: 360px; + overflow: hidden; + overflow-y: auto; + ::-webkit-scrollbar { + display: none; + } + } + .tools-section { + .search-wrap { + width: 310px; + margin: 20px 20px 10px 20px; + position: relative; + .search-ipt { + width: 310px; + color: #fff; + background: none; + border: none; + border-bottom: 2px solid #fff; + font-family: Roboto, "Roboto", serif; + } + .icon { + position: absolute; + right: 0; + top: 7px; + color: #fff; + cursor: pointer; + @extend %trans; + &:hover { + transform: scale(1.2); + } + } + ::-webkit-input-placeholder { + color: #ededed; + } + } + .search-tag.tagcloud { + text-align: center; + position: relative; + .search-tag-wording { + font-size: 12px; + margin: 4px 75px 0 0; + } + .article-tag-list { + @extend %trans; + margin: 15px 10px 0; + padding: 10px; + background: rgba(255,255,255,0.2); + &.show { + display: block; + } + } + .a { + float: initial; + } + } + .search-ul { + margin-top: 10px; + color: rgba(77, 77, 77, 0.75); + -webkit-overflow-scrolling: touch; + overflow-scrolling: touch; + overflow-y: auto; + .search-li { + padding: 10px 20px; + border-bottom: 1px dotted #dcdcdc; + &:hover { + background: rgba(255, 255, 255, 0.2); + } + } + .search-title { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + display: block; + color: rgba(255,255,248,1); + text-shadow: 1px 1px rgba(77,77,77,0.25); + .icon { + margin-right: 10px; + color: #fffdd8; + } + &:hover { + color: #fff; + @extend %trans; + } + } + .search-time, .search-tag, .search-category { + display: inline-block; + font-size: 12px; + color: #fffdd8; + margin-right: 10px; + .icon { + margin-right: 0px; + } + span { + cursor: pointer; + margin-right: 5px; + &:hover { + color: #fff; + @extend %trans; + } + } + } + } + } + + .tools-section-friends { + padding-top: 30px; + } + .aboutme-wrap { + display: flex; + align-items:center; + justify-content: center; + width: 100%; + height: 100%; + color: #fffdd8; + text-shadow: 1px 1px rgba(77, 77, 77, 0.45); + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/css/tooltip.scss b/themes/yilia/source-src/css/tooltip.scss new file mode 100644 index 0000000..cdf30dd --- /dev/null +++ b/themes/yilia/source-src/css/tooltip.scss @@ -0,0 +1,218 @@ +.tooltip-left { + .tooltip { + position: absolute; + z-index: 999; + cursor: pointer; + width: 28px; + height: 28px; + top: -10px; + right: 10px; + &:hover { + a.share-outer { + background: #24c1f6; + } + } + } + + /* Trigger item */ + + @-webkit-keyframes pulse { + from { -webkit-transform: scale3d(0.5,0.5,1); } + to { -webkit-transform: scale3d(1,1,1); } + } + + @keyframes pulse { + from { -webkit-transform: scale3d(0.5,0.5,1); transform: scale3d(0.5,0.5,1); } + to { -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1); } + } + + /* Tooltip */ + + .tooltip-content { + position: absolute; + background: rgba(36,193,246,0.9); + z-index: 9999; + width: 200px; + bottom: 50%; + margin-bottom: -10px; + border-radius: 20px; + font-size: 1.1em; + text-align: center; + color: #fff; + opacity: 0; + cursor: default; + pointer-events: none; + -webkit-font-smoothing: antialiased; + -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; + transition: opacity 0.3s, transform 0.3s; + } + + .tooltip-west .tooltip-content { + left: 3.5em; + -webkit-transform-origin: -2em 50%; + transform-origin: -2em 50%; + -webkit-transform: translate3d(0,50%,0) rotate3d(1,1,1,30deg); + transform: translate3d(0,50%,0) rotate3d(1,1,1,30deg); + } + + .tooltip-east .tooltip-content { + right: 3.5em; + -webkit-transform-origin: calc(100% + 2em) 50%; + transform-origin: calc(100% + 2em) 50%; + -webkit-transform: translate3d(0,50%,0) rotate3d(1,1,1,-30deg); + transform: translate3d(0,50%,0) rotate3d(1,1,1,-30deg); + } + + .tooltip:hover .tooltip-content { + opacity: 1; + -webkit-transform: translate3d(0,50%,0) rotate3d(0,0,0,0); + transform: translate3d(0,50%,0) rotate3d(0,0,0,0); + pointer-events: auto; + } + + /* Gap "bridge" and arrow */ + + .tooltip-content::before, + .tooltip-content::after { + content: ''; + position: absolute; + } + + .tooltip-content::before { + height: 100%; + width: 3em; + } + + .tooltip-content::after { + width: 2em; + height: 2em; + top: 50%; + margin: -1em 0 0; + background: url(./img/tooltip.svg) no-repeat center center; + background-size: 100%; + } + + .tooltip-west .tooltip-content::before, + .tooltip-west .tooltip-content::after { + right: 99%; /* because of FF, otherwise we have a gap */ + } + + .tooltip-east .tooltip-content::before, + .tooltip-east .tooltip-content::after { + left: 99%; /* because of FF, otherwise we have a gap */ + } + + .tooltip-east .tooltip-content::after { + -webkit-transform: scale3d(-1,1,1); + transform: scale3d(-1,1,1); + } +} + +.tooltip-top { + .tooltip { + display: inline; + position: relative; + z-index: 999; + } + + /* Gap filler */ + .tooltip::after { + content: ''; + position: absolute; + width: 100%; + height: 20px; + bottom: 100%; + left: 50%; + pointer-events: none; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + } + + .tooltip:hover::after { + pointer-events: auto; + } + + /* Tooltip */ + + .tooltip-content { + position: absolute; + z-index: 9999; + width: 370px; + left: 50%; + bottom: 100%; + font-size: 20px; + line-height: 1.4; + text-align: center; + font-weight: 400; + color: #4d4d4d; + background: transparent; + opacity: 0; + margin: 0 0 -10px -185px; + cursor: default; + pointer-events: none; + font-family: 'Satisfy', cursive; + -webkit-font-smoothing: antialiased; + -webkit-transition: opacity 0.3s 0.3s; + transition: opacity 0.3s 0.3s; + padding-bottom: 80px; + } + + .tooltip:hover .tooltip-content { + opacity: 1; + pointer-events: auto; + -webkit-transition-delay: 0s; + transition-delay: 0s; + } + + .tooltip-content span { + display: block; + } + + .tooltip-text { + border-bottom: 10px solid #4d4d4d; + overflow: hidden; + -webkit-transform: scale3d(0,1,1); + transform: scale3d(0,1,1); + -webkit-transition: -webkit-transform 0.3s 0.3s; + transition: transform 0.3s 0.3s; + } + + .tooltip:hover .tooltip-text { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transform: scale3d(1,1,1); + transform: scale3d(1,1,1); + } + + .tooltip-inner { + background: rgba(36,193,246,0.9); + padding: 40px; + -webkit-transform: translate3d(0,100%,0); + transform: translate3d(0,100%,0); + webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + } + + .tooltip:hover .tooltip-inner { + -webkit-transition-delay: 0.3s; + transition-delay: 0.3s; + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + /* Arrow */ + + .tooltip-content::after { + content: ''; + left: 50%; + border: solid transparent; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-color: transparent; + border-top-color: #4d4d4d; + border-width: 10px; + margin-left: -10px; + } +} \ No newline at end of file diff --git a/themes/yilia/source-src/js/anm.js b/themes/yilia/source-src/js/anm.js new file mode 100644 index 0000000..2d419d0 --- /dev/null +++ b/themes/yilia/source-src/js/anm.js @@ -0,0 +1,95 @@ +function init() { + var width, height, largeHeader, canvas, ctx, circles, target, animateHeader = true; + + // Main + initHeader(); + addListeners(); + + function initHeader() { + width = window.innerWidth; + height = window.innerHeight; + target = {x: 0, y: height}; + + largeHeader = document.getElementById('container'); + largeHeader.style.height = height+'px'; + + canvas = document.getElementById('anm-canvas'); + canvas.width = width; + canvas.height = height; + ctx = canvas.getContext('2d'); + + // create particles + circles = []; + for(var x = 0; x < width*0.5; x++) { + var c = new Circle(); + circles.push(c); + } + animate(); + } + + // Event handling + function addListeners() { + window.addEventListener('scroll', scrollCheck); + window.addEventListener('resize', resize); + } + + function scrollCheck() { + if(document.body.scrollTop > height) animateHeader = false; + else animateHeader = true; + } + + function resize() { + width = window.innerWidth; + height = window.innerHeight; + largeHeader.style.height = height+'px'; + canvas.width = width; + canvas.height = height; + } + + function animate() { + if(animateHeader) { + ctx.clearRect(0,0,width,height); + for(var i in circles) { + circles[i].draw(); + } + } + requestAnimationFrame(animate); + } + + // Canvas manipulation + function Circle() { + var _this = this; + + // constructor + (function() { + _this.pos = {}; + init(); + //console.log(_this); + })(); + + function init() { + _this.pos.x = Math.random()*width; + _this.pos.y = height+Math.random()*100; + _this.alpha = 0.1+Math.random()*0.3; + _this.scale = 0.1+Math.random()*0.3; + _this.velocity = Math.random(); + } + + this.draw = function() { + if(_this.alpha <= 0) { + init(); + } + _this.pos.y -= _this.velocity; + _this.alpha -= 0.0005; + ctx.beginPath(); + ctx.arc(_this.pos.x, _this.pos.y, _this.scale*10, 0, 2 * Math.PI, false); + ctx.fillStyle = 'rgba(255,255,255,'+ _this.alpha+')'; + ctx.fill(); + }; + } +} + + +module.exports = { + init: init +} \ No newline at end of file diff --git a/themes/yilia/source-src/js/aside.js b/themes/yilia/source-src/js/aside.js new file mode 100644 index 0000000..fac8c33 --- /dev/null +++ b/themes/yilia/source-src/js/aside.js @@ -0,0 +1,47 @@ +var backTop = function (domE, ctn, distance) { + if (!domE) return; + var timer = null; + var _onscroll = window.onscroll, + _onclick = domE.onclick; + (ctn || window).onscroll = throttle(function () { + typeof _onscroll === 'function' && _onscroll.apply(this, arguments); + toggleDomE(); + }, 100); + domE.onclick = function () { + typeof _onclick === 'function' && _onclick.apply(this, arguments); + var baseCt = ctn.scrollTop || document.documentElement.scrollTop || document.body.scrollTop; + timer = setInterval(function () { //设置一个计时器 + var ct = ctn.scrollTop || document.documentElement.scrollTop || document.body.scrollTop; //获取距离顶部的距离 + var diff = Math.max(10, ct / 6); + ct -= diff; + if (ct > 0) {//如果与顶部的距离大于零 + ctn.scrollTop = ctn.scrollTop - diff; + window.scrollTo(0, ct);//向上移动10px + } else {//如果距离小于等于零 + ctn.scrollTop = 0; + window.scrollTo(0, 0);//移动到顶部 + clearInterval(timer);//清除计时器 + } + }, 10);//隔10ms执行一次前面的function,展现一种平滑滑动效果 + }; + + function toggleDomE() { + domE.style.display = (ctn.scrollTop || document.documentElement.scrollTop || document.body.scrollTop) > (distance || 500) ? 'block' : 'none'; + } + function throttle(func, wait) { + var timer = null; + return function () { + var self = this, args = arguments; + if (timer) clearTimeout(timer); + timer = setTimeout(function () { + return typeof func === 'function' && func.apply(self, args); + }, wait); + } + } +}; + +function init() { + backTop(document.getElementById('js-jump-container'), document.getElementById('container')); +} + +export default { init } \ No newline at end of file diff --git a/themes/yilia/source-src/js/browser.js b/themes/yilia/source-src/js/browser.js new file mode 100644 index 0000000..1a6a59d --- /dev/null +++ b/themes/yilia/source-src/js/browser.js @@ -0,0 +1,20 @@ +var browser = { + versions: function() { + var u = window.navigator.userAgent; + return { + trident: u.indexOf('Trident') > -1, //IE内核 + presto: u.indexOf('Presto') > -1, //opera内核 + webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 + gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 + mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 + ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 + android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 + iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者安卓QQ浏览器 + iPad: u.indexOf('iPad') > -1, //是否为iPad + webApp: u.indexOf('Safari') == -1, //是否为web应用程序,没有头部与底部 + weixin: u.indexOf('MicroMessenger') == -1 //是否为微信浏览器 + }; + }() +} + +module.exports = browser \ No newline at end of file diff --git a/themes/yilia/source-src/js/fix.js b/themes/yilia/source-src/js/fix.js new file mode 100644 index 0000000..e8ccaf1 --- /dev/null +++ b/themes/yilia/source-src/js/fix.js @@ -0,0 +1,39 @@ +function init() { + // 由于hexo分页不支持,手工美化 + var $nav = document.querySelector('#page-nav') + if ($nav && !document.querySelector('#page-nav .extend.prev')) { + $nav.innerHTML = '' + $nav.innerHTML + } + if ($nav && !document.querySelector('#page-nav .extend.next')) { + $nav.innerHTML = $nav.innerHTML + '' + } + + // 新窗口打开 + if (yiliaConfig && yiliaConfig.open_in_new) { + let $a = document.querySelectorAll(('.article-entry a:not(.article-more-a)')) + $a.forEach(($em) => { + let target = $em.getAttribute('target'); + if (!target || target === '') { + $em.setAttribute('target', '_blank'); + } + }) + } + // 目录序号 + if (yiliaConfig && yiliaConfig.toc_hide_index) { + let $a = document.querySelectorAll(('.toc-number')) + $a.forEach(($em) => { + $em.style.display = 'none'; + }) + } + + // about me 转义 + var $aboutme = document.querySelector('#js-aboutme') + if ($aboutme && $aboutme.length !== 0) { + $aboutme.innerHTML = $aboutme.innerText + } + +} + +module.exports = { + init: init +} \ No newline at end of file diff --git a/themes/yilia/source-src/js/main.js b/themes/yilia/source-src/js/main.js new file mode 100644 index 0000000..44130f9 --- /dev/null +++ b/themes/yilia/source-src/js/main.js @@ -0,0 +1,18 @@ +// 样式 +import '../css/main.scss' +// 上报 +// import './report' +// 图片查看器 +import Viewer from './viewer' +// 分享 +import Share from './share' +// 边缘 +import Aside from './aside' + +import {addLoadEvent} from './util' + +addLoadEvent(function() { + Share.init() + Viewer.init() + Aside.init() +}) diff --git a/themes/yilia/source-src/js/mobile.js b/themes/yilia/source-src/js/mobile.js new file mode 100644 index 0000000..86ae45f --- /dev/null +++ b/themes/yilia/source-src/js/mobile.js @@ -0,0 +1,104 @@ +import addClass from 'dom101/add-class' +import removeClass from 'dom101/remove-class' +import after from 'dom101/after' +// 浏览器判断 +import Browser from './browser' +// fix hexo 不支持的配置 +import Fix from './fix' + +import {addLoadEvent} from './util' + +function isPathMatch(path, href) { + let reg = /\/|index.html/g + return (path.replace(reg, '')) === (href.replace(reg, '')) +} + +function tabActive() { + let $tabs = document.querySelectorAll('.js-header-menu li a') + let path = window.location.pathname + + for (var i = 0, len = $tabs.length; i < len; i++) { + let $tab = $tabs[i] + if (isPathMatch(path, $tab.getAttribute('href'))) { + addClass($tab, 'active') + } + } +} + +function getElementLeft(element) {     + var actualLeft = element.offsetLeft;     + var current = element.offsetParent;     + while (current !== null) {       + actualLeft += current.offsetLeft;     + current = current.offsetParent;   + }   + return actualLeft; +}   +function getElementTop(element) {     + var actualTop = element.offsetTop;     + var current = element.offsetParent;     + while (current !== null) {       + actualTop += current.offsetTop;       + current = current.offsetParent;     + }     + return actualTop;   +} + +function scrollStop($dom, top, limit, zIndex, diff) { + let nowLeft = getElementLeft($dom) + let nowTop = getElementTop($dom) - top + + if (nowTop - limit <= diff) { + let $newDom = $dom.$newDom + if (!$newDom) { + $newDom = $dom.cloneNode(true) + after($dom, $newDom) + $dom.$newDom = $newDom + $newDom.style.position = 'fixed' + $newDom.style.top = (limit || nowTop) + 'px' + $newDom.style.left = nowLeft + 'px' + $newDom.style.zIndex = zIndex || 2 + $newDom.style.width = '100%' + $newDom.style.color = '#fff' + } + $newDom.style.visibility = 'visible' + $dom.style.visibility = 'hidden' + } else { + $dom.style.visibility = 'visible' + let $newDom = $dom.$newDom + if ($newDom) { + $newDom.style.visibility = 'hidden' + } + } +} + +function handleScroll() { + let $overlay = document.querySelector('.js-overlay') + let $menu = document.querySelector('.js-header-menu') + scrollStop($overlay, document.body.scrollTop, -63, 2, 0) + scrollStop($menu, document.body.scrollTop, 1, 3, 0) +} + +function bindScroll() { + document.querySelector('#container').addEventListener('scroll', (e) => { + handleScroll() + }) + + window.addEventListener('scroll', (e) => { + handleScroll() + }) + handleScroll() +} + +function init() { + if (Browser.versions.mobile && window.screen.width < 800) { + tabActive() + bindScroll() + } +} + +init(); + +addLoadEvent(function() { + Fix.init() +}) \ No newline at end of file diff --git a/themes/yilia/source-src/js/share.js b/themes/yilia/source-src/js/share.js new file mode 100644 index 0000000..5b27644 --- /dev/null +++ b/themes/yilia/source-src/js/share.js @@ -0,0 +1,79 @@ +import addClass from 'dom101/add-class' +import removeClass from 'dom101/remove-class' + +function generate(url, opts) { + var url = url.replace(/<%-sUrl%>/g, encodeURIComponent(opts.sUrl)) + .replace(/<%-sTitle%>/g, opts.sTitle) + .replace(/<%-sDesc%>/g, opts.sDesc) + .replace(/<%-sPic%>/g, encodeURIComponent(opts.sPic)); + + window.open(url); +} + +function showWX() { + let $wx = document.querySelector('.js-wx-box') + let $mask = document.querySelector('.mask') + addClass($wx, 'in') + addClass($wx, 'ready') + addClass($mask, 'in') +} + +function hideWX() { + let $wx = document.querySelector('.js-wx-box') + let $mask = document.querySelector('.mask') + removeClass($wx, 'in') + removeClass($wx, 'ready') + removeClass($mask, 'in') +} + +function handleClick(type, opts) { + if (type === 'weibo') { + generate('http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>', opts) + } else if (type === 'qq') { + generate('http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>', opts) + } else if (type === 'douban') { + generate('https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>', opts) + } else if (type === 'qzone') { + generate('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>', opts) + } else if (type === 'facebook') { + generate('https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>', opts) + } else if (type === 'twitter') { + generate('https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>&via=<%-config.url%>', opts) + } else if (type === 'google') { + generate('https://plus.google.com/share?url=<%-sUrl%>', opts) + } else if (type === 'weixin') { + showWX(); + } +} + +let init = function() { + let $sns = document.querySelectorAll('.share-sns'); + if (!$sns || $sns.length === 0) return; + + let sUrl = window.location.href; + let sTitle = document.querySelector('title').innerHTML; + let $img = document.querySelectorAll('.article-entry img'); + let sPic = $img.length ? document.querySelector('.article-entry img').getAttribute('src') : ''; + if ((sPic !== '') && !/^(http:|https:)?\/\//.test(sPic)) { + sPic = window.location.origin + sPic + } + + $sns.forEach(($em) => { + $em.onclick = (e) => { + let type = $em.getAttribute('data-type') + handleClick(type, { + sUrl: sUrl, + sPic: sPic, + sTitle: sTitle, + sDesc: sTitle + }) + } + }) + + document.querySelector('.mask').onclick = hideWX + document.querySelector('.js-modal-close').onclick = hideWX +} + +module.exports = { + init: init +} \ No newline at end of file diff --git a/themes/yilia/source-src/js/slider.js b/themes/yilia/source-src/js/slider.js new file mode 100644 index 0000000..eaf49c0 --- /dev/null +++ b/themes/yilia/source-src/js/slider.js @@ -0,0 +1,130 @@ +// 动画 +import Anm from './anm' +// 浏览器判断 +import Browser from './browser' + +import axios from 'axios' +import Vue from './vue.min' + +const isMobile = (Browser.versions.mobile && window.screen.width < 800) + +function fixzero(str) { + str = str + '' + return str.length === 1 ? '0' + str : str +} + +function setScrollZero() { + let $sct = document.querySelectorAll('.tools-section') + $sct.forEach((em) => { + em.scrollTop = 0 + }) +} +let vm = new Vue({ + el: '#container', + data: { + isCtnShow: false, + isShow: false, + items: [], + innerArchive: false, + friends: false, + aboutme: false, + jsonFail: false, + showTags: false, + showCategories: false, + search: null + }, + methods: { + stop (event) { + event.stopPropagation() + }, + chose (name, prefix) { + this.search = prefix + name + }, + clearChose () { + this.search = null + }, + openSlider (event, type) { + event.stopPropagation() + this.innerArchive = false + this.friends = false + this.aboutme = false + this[type] = true + this.isShow = true + this.isCtnShow = true + setScrollZero() + }, + hideSlider () { + if (this.isShow) { + this.isShow = false + setTimeout(() => { + this.isCtnShow = false + }, 300) + } + } + }, + filters: { + urlformat: (str) => { + if (window.yiliaConfig && window.yiliaConfig.root) { + return window.yiliaConfig.root + str + } + return '/' + str + }, + dateformat: (str) => { + let d = new Date(str) + return d.getFullYear() + '-' + fixzero((d.getMonth() + 1)) + '-' + fixzero(d.getDate()) + } + }, + watch: { + search (newVal, oldVal) { + if(newVal) { + handleSearch.call(this, newVal.toLowerCase()) + } else { + this.items.forEach(function(item){ + item.isHide = false + }) + } + } + }, + mounted () { + axios.get(window.yiliaConfig.root + 'content.json?t=' + (+ new Date())) + .then((res)=>{ + this.items = res.data + }).catch((err) => { + this.jsonFail = true + }) + } +}) + +function handleSearch(val) { + var type + if (val.startsWith('#')) { + val = val.substr(1, val.length) + type = 'tag' + } else if (val.startsWith('$')) { + val = val.substr(1, val.length) + type = 'category' + } else { + type = 'title' + } + this.items.forEach((item) => { + switch(type) { + case 'title' : + item.isHide = item.title.toLowerCase().indexOf(val) < 0 + break + case 'tag' : + item.isHide = Array.prototype.every.call(item.tags, function(tag){ + return tag.name.toLowerCase().indexOf(val) < 0 + }) + break + case 'category' : + item.isHide = Array.prototype.every.call(item.categories, function(category){ + return category.name.toLowerCase().indexOf(val) < 0 + }) + break + } + }) +} + +if (!isMobile) { + Anm.init() +} diff --git a/themes/yilia/source-src/js/util.js b/themes/yilia/source-src/js/util.js new file mode 100644 index 0000000..c6d5855 --- /dev/null +++ b/themes/yilia/source-src/js/util.js @@ -0,0 +1,89 @@ +var e = function() { + function r(e, r, n) { + return r || n ? String.fromCharCode(r || n) : u[e] || e + } + function n(e) { + return p[e] + } + var t = /"|<|>|&| |'|&#(\d+);|&#(\d+)/g + , o = /['<> "&]/g + , u = { + """: '"', + "<": "<", + ">": ">", + "&": "&", + " ": " " + } + , c = /\u00a0/g + , a = //gi + , i = /\r?\n/g + , f = /\s/g + , p = {}; + for (var s in u) + p[u[s]] = s; + return u["'"] = "'", + p["'"] = "'", + { + encode: function(e) { + return e ? ("" + e).replace(o, n).replace(i, "
").replace(f, " ") : "" + }, + decode: function(e) { + return e ? ("" + e).replace(a, "\n").replace(t, r).replace(c, " ") : "" + }, + encodeBase16: function(e) { + if (!e) + return e; + e += ""; + for (var r = [], n = 0, t = e.length; t > n; n++) + r.push(e.charCodeAt(n).toString(16).toUpperCase()); + return r.join("") + }, + encodeBase16forJSON: function(e) { + if (!e) + return e; + e = e.replace(/[\u4E00-\u9FBF]/gi, function(e) { + return escape(e).replace("%u", "\\u") + }); + for (var r = [], n = 0, t = e.length; t > n; n++) + r.push(e.charCodeAt(n).toString(16).toUpperCase()); + return r.join("") + }, + decodeBase16: function(e) { + if (!e) + return e; + e += ""; + for (var r = [], n = 0, t = e.length; t > n; n += 2) + r.push(String.fromCharCode("0x" + e.slice(n, n + 2))); + return r.join("") + }, + encodeObject: function(r) { + if (r instanceof Array) + for (var n = 0, t = r.length; t > n; n++) + r[n] = e.encodeObject(r[n]); + else if ("object" == typeof r) + for (var o in r) + r[o] = e.encodeObject(r[o]); + else if ("string" == typeof r) + return e.encode(r); + return r + }, + loadScript: function(path) { + var $script = document.createElement('script') + document.getElementsByTagName('body')[0].appendChild($script) + $script.setAttribute('src', path) + }, + addLoadEvent: function(func){ + var oldonload = window.onload; + if (typeof window.onload!="function") { + window.onload = func; + } else { + window.onload = function() { + oldonload(); + func(); + } + } + } + } +}(); + +module.exports = e \ No newline at end of file diff --git a/themes/yilia/source-src/js/viewer.js b/themes/yilia/source-src/js/viewer.js new file mode 100644 index 0000000..3133c8d --- /dev/null +++ b/themes/yilia/source-src/js/viewer.js @@ -0,0 +1,44 @@ + +import PhotoSwipe from 'photoswipe' +import PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default' +import 'photoswipe/dist/default-skin/default-skin.css' +import 'photoswipe/dist/photoswipe.css' + +window.PhotoSwipe = PhotoSwipe +window.PhotoSwipeUI_Default = PhotoSwipeUI_Default + +function init() { + let pswpElement = document.querySelectorAll('.pswp')[0]; + let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)')) + + $imgArr.forEach(($em, i) => { + $em.onclick = () => { + // slider展开状态 + // todo: 这样不好,后面改成状态 + if (document.querySelector('.left-col.show')) return + let items = [] + $imgArr.forEach(($em2, i2) => { + let img = $em2.getAttribute('data-idx', i2) + let src = $em2.getAttribute('data-target') || $em2.getAttribute('src') + let title = $em2.getAttribute('alt') + // 获得原图尺寸 + const image = new Image() + image.src = src + items.push({ + src: src, + w: image.width || $em2.width, + h: image.height || $em2.height, + title: title + }) + }) + var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, { + index: parseInt(i) + }); + gallery.init() + } + }) +} + +module.exports = { + init: init +} diff --git a/themes/yilia/source-src/js/vue.js b/themes/yilia/source-src/js/vue.js new file mode 100644 index 0000000..657cb37 --- /dev/null +++ b/themes/yilia/source-src/js/vue.js @@ -0,0 +1,10947 @@ +/*! + * Vue.js v2.5.16 + * (c) 2014-2018 Evan You + * Released under the MIT License. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Vue = factory()); +}(this, (function () { 'use strict'; + +/* */ + +var emptyObject = Object.freeze({}); + +// these helpers produces better vm code in JS engines due to their +// explicitness and function inlining +function isUndef (v) { + return v === undefined || v === null +} + +function isDef (v) { + return v !== undefined && v !== null +} + +function isTrue (v) { + return v === true +} + +function isFalse (v) { + return v === false +} + +/** + * Check if value is primitive + */ +function isPrimitive (value) { + return ( + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' + ) +} + +/** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ +function isObject (obj) { + return obj !== null && typeof obj === 'object' +} + +/** + * Get the raw type string of a value e.g. [object Object] + */ +var _toString = Object.prototype.toString; + +function toRawType (value) { + return _toString.call(value).slice(8, -1) +} + +/** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ +function isPlainObject (obj) { + return _toString.call(obj) === '[object Object]' +} + +function isRegExp (v) { + return _toString.call(v) === '[object RegExp]' +} + +/** + * Check if val is a valid array index. + */ +function isValidArrayIndex (val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val) +} + +/** + * Convert a value to a string that is actually rendered. + */ +function toString (val) { + return val == null + ? '' + : typeof val === 'object' + ? JSON.stringify(val, null, 2) + : String(val) +} + +/** + * Convert a input value to a number for persistence. + * If the conversion fails, return original string. + */ +function toNumber (val) { + var n = parseFloat(val); + return isNaN(n) ? val : n +} + +/** + * Make a map and return a function for checking if a key + * is in that map. + */ +function makeMap ( + str, + expectsLowerCase +) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase + ? function (val) { return map[val.toLowerCase()]; } + : function (val) { return map[val]; } +} + +/** + * Check if a tag is a built-in tag. + */ +var isBuiltInTag = makeMap('slot,component', true); + +/** + * Check if a attribute is a reserved attribute. + */ +var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); + +/** + * Remove an item from an array + */ +function remove (arr, item) { + if (arr.length) { + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1) + } + } +} + +/** + * Check whether the object has the property. + */ +var hasOwnProperty = Object.prototype.hasOwnProperty; +function hasOwn (obj, key) { + return hasOwnProperty.call(obj, key) +} + +/** + * Create a cached version of a pure function. + */ +function cached (fn) { + var cache = Object.create(null); + return (function cachedFn (str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)) + }) +} + +/** + * Camelize a hyphen-delimited string. + */ +var camelizeRE = /-(\w)/g; +var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) +}); + +/** + * Capitalize a string. + */ +var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1) +}); + +/** + * Hyphenate a camelCase string. + */ +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase() +}); + +/** + * Simple bind polyfill for environments that do not support it... e.g. + * PhantomJS 1.x. Technically we don't need this anymore since native bind is + * now more performant in most browsers, but removing it would be breaking for + * code that was able to run in PhantomJS 1.x, so this must be kept for + * backwards compatibility. + */ + +/* istanbul ignore next */ +function polyfillBind (fn, ctx) { + function boundFn (a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx) + } + + boundFn._length = fn.length; + return boundFn +} + +function nativeBind (fn, ctx) { + return fn.bind(ctx) +} + +var bind = Function.prototype.bind + ? nativeBind + : polyfillBind; + +/** + * Convert an Array-like object to a real Array. + */ +function toArray (list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret +} + +/** + * Mix properties into target object. + */ +function extend (to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to +} + +/** + * Merge an Array of Objects into a single Object. + */ +function toObject (arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res +} + +/** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/) + */ +function noop (a, b, c) {} + +/** + * Always return false. + */ +var no = function (a, b, c) { return false; }; + +/** + * Return same value + */ +var identity = function (_) { return _; }; + +/** + * Generate a static keys string from compiler modules. + */ +function genStaticKeys (modules) { + return modules.reduce(function (keys, m) { + return keys.concat(m.staticKeys || []) + }, []).join(',') +} + +/** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ +function looseEqual (a, b) { + if (a === b) { return true } + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return a.length === b.length && a.every(function (e, i) { + return looseEqual(e, b[i]) + }) + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return keysA.length === keysB.length && keysA.every(function (key) { + return looseEqual(a[key], b[key]) + }) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } +} + +function looseIndexOf (arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) { return i } + } + return -1 +} + +/** + * Ensure a function is called only once. + */ +function once (fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + } +} + +var SSR_ATTR = 'data-server-rendered'; + +var ASSET_TYPES = [ + 'component', + 'directive', + 'filter' +]; + +var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured' +]; + +/* */ + +var config = ({ + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + + /** + * Whether to suppress warnings. + */ + silent: false, + + /** + * Show production mode tip message on boot? + */ + productionTip: "development" !== 'production', + + /** + * Whether to enable devtools + */ + devtools: "development" !== 'production', + + /** + * Whether to record perf + */ + performance: false, + + /** + * Error handler for watcher errors + */ + errorHandler: null, + + /** + * Warn handler for watcher warns + */ + warnHandler: null, + + /** + * Ignore certain custom elements + */ + ignoredElements: [], + + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS +}) + +/* */ + +/** + * Check if a string starts with $ or _ + */ +function isReserved (str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5F +} + +/** + * Define a property. + */ +function def (obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); +} + +/** + * Parse simple path. + */ +var bailRE = /[^\w.$]/; +function parsePath (path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { return } + obj = obj[segments[i]]; + } + return obj + } +} + +/* */ + +// can we use __proto__? +var hasProto = '__proto__' in {}; + +// Browser environment sniffing +var inBrowser = typeof window !== 'undefined'; +var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; +var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); +var UA = inBrowser && window.navigator.userAgent.toLowerCase(); +var isIE = UA && /msie|trident/.test(UA); +var isIE9 = UA && UA.indexOf('msie 9.0') > 0; +var isEdge = UA && UA.indexOf('edge/') > 0; +var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); +var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); +var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; + +// Firefox has a "watch" function on Object.prototype... +var nativeWatch = ({}).watch; + +var supportsPassive = false; +if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', ({ + get: function get () { + /* istanbul ignore next */ + supportsPassive = true; + } + })); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } catch (e) {} +} + +// this needs to be lazy-evaled because vue may be required before +// vue-server-renderer can set VUE_ENV +var _isServer; +var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && !inWeex && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = global['process'].env.VUE_ENV === 'server'; + } else { + _isServer = false; + } + } + return _isServer +}; + +// detect devtools +var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; + +/* istanbul ignore next */ +function isNative (Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) +} + +var hasSymbol = + typeof Symbol !== 'undefined' && isNative(Symbol) && + typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); + +var _Set; +/* istanbul ignore if */ // $flow-disable-line +if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; +} else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = (function () { + function Set () { + this.set = Object.create(null); + } + Set.prototype.has = function has (key) { + return this.set[key] === true + }; + Set.prototype.add = function add (key) { + this.set[key] = true; + }; + Set.prototype.clear = function clear () { + this.set = Object.create(null); + }; + + return Set; + }()); +} + +/* */ + +var warn = noop; +var tip = noop; +var generateComponentTrace = (noop); // work around flow check +var formatComponentName = (noop); + +{ + var hasConsole = typeof console !== 'undefined'; + var classifyRE = /(?:^|[-_])(\w)/g; + var classify = function (str) { return str + .replace(classifyRE, function (c) { return c.toUpperCase(); }) + .replace(/[-_]/g, ''); }; + + warn = function (msg, vm) { + var trace = vm ? generateComponentTrace(vm) : ''; + + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace); + } else if (hasConsole && (!config.silent)) { + console.error(("[Vue warn]: " + msg + trace)); + } + }; + + tip = function (msg, vm) { + if (hasConsole && (!config.silent)) { + console.warn("[Vue tip]: " + msg + ( + vm ? generateComponentTrace(vm) : '' + )); + } + }; + + formatComponentName = function (vm, includeFile) { + if (vm.$root === vm) { + return '' + } + var options = typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm || {}; + var name = options.name || options._componentTag; + var file = options.__file; + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/); + name = match && match[1]; + } + + return ( + (name ? ("<" + (classify(name)) + ">") : "") + + (file && includeFile !== false ? (" at " + file) : '') + ) + }; + + var repeat = function (str, n) { + var res = ''; + while (n) { + if (n % 2 === 1) { res += str; } + if (n > 1) { str += str; } + n >>= 1; + } + return res + }; + + generateComponentTrace = function (vm) { + if (vm._isVue && vm.$parent) { + var tree = []; + var currentRecursiveSequence = 0; + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1]; + if (last.constructor === vm.constructor) { + currentRecursiveSequence++; + vm = vm.$parent; + continue + } else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence]; + currentRecursiveSequence = 0; + } + } + tree.push(vm); + vm = vm.$parent; + } + return '\n\nfound in\n\n' + tree + .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') + } else { + return ("\n\n(found in " + (formatComponentName(vm)) + ")") + } + }; +} + +/* */ + + +var uid = 0; + +/** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ +var Dep = function Dep () { + this.id = uid++; + this.subs = []; +}; + +Dep.prototype.addSub = function addSub (sub) { + this.subs.push(sub); +}; + +Dep.prototype.removeSub = function removeSub (sub) { + remove(this.subs, sub); +}; + +Dep.prototype.depend = function depend () { + if (Dep.target) { + Dep.target.addDep(this); + } +}; + +Dep.prototype.notify = function notify () { + // stabilize the subscriber list first + var subs = this.subs.slice(); + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update(); + } +}; + +// the current target watcher being evaluated. +// this is globally unique because there could be only one +// watcher being evaluated at any time. +Dep.target = null; +var targetStack = []; + +function pushTarget (_target) { + if (Dep.target) { targetStack.push(Dep.target); } + Dep.target = _target; +} + +function popTarget () { + Dep.target = targetStack.pop(); +} + +/* */ + +var VNode = function VNode ( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory +) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; +}; + +var prototypeAccessors = { child: { configurable: true } }; + +// DEPRECATED: alias for componentInstance for backwards compat. +/* istanbul ignore next */ +prototypeAccessors.child.get = function () { + return this.componentInstance +}; + +Object.defineProperties( VNode.prototype, prototypeAccessors ); + +var createEmptyVNode = function (text) { + if ( text === void 0 ) text = ''; + + var node = new VNode(); + node.text = text; + node.isComment = true; + return node +}; + +function createTextVNode (val) { + return new VNode(undefined, undefined, undefined, String(val)) +} + +// optimized shallow clone +// used for static nodes and slot nodes because they may be reused across +// multiple renders, cloning them avoids errors when DOM manipulations rely +// on their elm reference. +function cloneVNode (vnode) { + var cloned = new VNode( + vnode.tag, + vnode.data, + vnode.children, + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory + ); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.isCloned = true; + return cloned +} + +/* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + +var arrayProto = Array.prototype; +var arrayMethods = Object.create(arrayProto); + +var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' +]; + +/** + * Intercept mutating methods and emit events + */ +methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break + case 'splice': + inserted = args.slice(2); + break + } + if (inserted) { ob.observeArray(inserted); } + // notify change + ob.dep.notify(); + return result + }); +}); + +/* */ + +var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + +/** + * In some cases we may want to disable observation inside a component's + * update computation. + */ +var shouldObserve = true; + +function toggleObserving (value) { + shouldObserve = value; +} + +/** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ +var Observer = function Observer (value) { + this.value = value; + this.dep = new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (Array.isArray(value)) { + var augment = hasProto + ? protoAugment + : copyAugment; + augment(value, arrayMethods, arrayKeys); + this.observeArray(value); + } else { + this.walk(value); + } +}; + +/** + * Walk through each property and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ +Observer.prototype.walk = function walk (obj) { + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + defineReactive(obj, keys[i]); + } +}; + +/** + * Observe a list of Array items. + */ +Observer.prototype.observeArray = function observeArray (items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]); + } +}; + +// helpers + +/** + * Augment an target Object or Array by intercepting + * the prototype chain using __proto__ + */ +function protoAugment (target, src, keys) { + /* eslint-disable no-proto */ + target.__proto__ = src; + /* eslint-enable no-proto */ +} + +/** + * Augment an target Object or Array by defining + * hidden properties. + */ +/* istanbul ignore next */ +function copyAugment (target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i]; + def(target, key, src[key]); + } +} + +/** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ +function observe (value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob; + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__; + } else if ( + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value); + } + if (asRootData && ob) { + ob.vmCount++; + } + return ob +} + +/** + * Define a reactive property on an Object. + */ +function defineReactive ( + obj, + key, + val, + customSetter, + shallow +) { + var dep = new Dep(); + + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get; + if (!getter && arguments.length === 2) { + val = obj[key]; + } + var setter = property && property.set; + + var childOb = !shallow && observe(val); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter () { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + dep.depend(); + if (childOb) { + childOb.dep.depend(); + if (Array.isArray(value)) { + dependArray(value); + } + } + } + return value + }, + set: function reactiveSetter (newVal) { + var value = getter ? getter.call(obj) : val; + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if ("development" !== 'production' && customSetter) { + customSetter(); + } + if (setter) { + setter.call(obj, newVal); + } else { + val = newVal; + } + childOb = !shallow && observe(newVal); + dep.notify(); + } + }); +} + +/** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ +function set (target, key, val) { + if ("development" !== 'production' && + (isUndef(target) || isPrimitive(target)) + ) { + warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + "development" !== 'production' && warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ); + return val + } + if (!ob) { + target[key] = val; + return val + } + defineReactive(ob.value, key, val); + ob.dep.notify(); + return val +} + +/** + * Delete a property and trigger change if necessary. + */ +function del (target, key) { + if ("development" !== 'production' && + (isUndef(target) || isPrimitive(target)) + ) { + warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + "development" !== 'production' && warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' + ); + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key]; + if (!ob) { + return + } + ob.dep.notify(); +} + +/** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ +function dependArray (value) { + for (var e = (void 0), i = 0, l = value.length; i < l; i++) { + e = value[i]; + e && e.__ob__ && e.__ob__.dep.depend(); + if (Array.isArray(e)) { + dependArray(e); + } + } +} + +/* */ + +/** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ +var strats = config.optionMergeStrategies; + +/** + * Options with restrictions + */ +{ + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn( + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' + ); + } + return defaultStrat(parent, child) + }; +} + +/** + * Helper that recursively merges two data objects together. + */ +function mergeData (to, from) { + if (!from) { return to } + var key, toVal, fromVal; + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + set(to, key, fromVal); + } else if (isPlainObject(toVal) && isPlainObject(fromVal)) { + mergeData(toVal, fromVal); + } + } + return to +} + +/** + * Data + */ +function mergeDataOrFn ( + parentVal, + childVal, + vm +) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn () { + return mergeData( + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn () { + // instance merge + var instanceData = typeof childVal === 'function' + ? childVal.call(vm, vm) + : childVal; + var defaultData = typeof parentVal === 'function' + ? parentVal.call(vm, vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } +} + +strats.data = function ( + parentVal, + childVal, + vm +) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + "development" !== 'production' && warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ); + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) +}; + +/** + * Hooks and props are merged as arrays. + */ +function mergeHook ( + parentVal, + childVal +) { + return childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal +} + +LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeHook; +}); + +/** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ +function mergeAssets ( + parentVal, + childVal, + vm, + key +) { + var res = Object.create(parentVal || null); + if (childVal) { + "development" !== 'production' && assertObjectType(key, childVal, vm); + return extend(res, childVal) + } else { + return res + } +} + +ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; +}); + +/** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ +strats.watch = function ( + parentVal, + childVal, + vm, + key +) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { parentVal = undefined; } + if (childVal === nativeWatch) { childVal = undefined; } + /* istanbul ignore if */ + if (!childVal) { return Object.create(parentVal || null) } + { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = {}; + extend(ret, parentVal); + for (var key$1 in childVal) { + var parent = ret[key$1]; + var child = childVal[key$1]; + if (parent && !Array.isArray(parent)) { + parent = [parent]; + } + ret[key$1] = parent + ? parent.concat(child) + : Array.isArray(child) ? child : [child]; + } + return ret +}; + +/** + * Other object hashes. + */ +strats.props = +strats.methods = +strats.inject = +strats.computed = function ( + parentVal, + childVal, + vm, + key +) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret +}; +strats.provide = mergeDataOrFn; + +/** + * Default strategy. + */ +var defaultStrat = function (parentVal, childVal) { + return childVal === undefined + ? parentVal + : childVal +}; + +/** + * Validate component names + */ +function checkComponents (options) { + for (var key in options.components) { + validateComponentName(key); + } +} + +function validateComponentName (name) { + if (!/^[a-zA-Z][\w-]*$/.test(name)) { + warn( + 'Invalid component name: "' + name + '". Component names ' + + 'can only contain alphanumeric characters and the hyphen, ' + + 'and must start with a letter.' + ); + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn( + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + name + ); + } +} + +/** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ +function normalizeProps (options, vm) { + var props = options.props; + if (!props) { return } + var res = {}; + var i, val, name; + if (Array.isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } else { + warn('props must be strings when using array syntax.'); + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) + ? val + : { type: val }; + } + } else { + warn( + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", + vm + ); + } + options.props = res; +} + +/** + * Normalize all injections into Object-based format + */ +function normalizeInject (options, vm) { + var inject = options.inject; + if (!inject) { return } + var normalized = options.inject = {}; + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } else { + warn( + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", + vm + ); + } +} + +/** + * Normalize raw function directives into object format. + */ +function normalizeDirectives (options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def = dirs[key]; + if (typeof def === 'function') { + dirs[key] = { bind: def, update: def }; + } + } + } +} + +function assertObjectType (name, value, vm) { + if (!isPlainObject(value)) { + warn( + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", + vm + ); + } +} + +/** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ +function mergeOptions ( + parent, + child, + vm +) { + { + checkComponents(child); + } + + if (typeof child === 'function') { + child = child.options; + } + + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives(child); + var extendsFrom = child.extends; + if (extendsFrom) { + parent = mergeOptions(parent, extendsFrom, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField (key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options +} + +/** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ +function resolveAsset ( + options, + type, + id, + warnMissing +) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) { return assets[id] } + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if ("development" !== 'production' && warnMissing && !res) { + warn( + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options + ); + } + return res +} + +/* */ + +function validateProp ( + key, + propOptions, + propsData, + vm +) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type); + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type); + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true; + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve; + toggleObserving(true); + observe(value); + toggleObserving(prevShouldObserve); + } + { + assertProp(prop, key, value, vm, absent); + } + return value +} + +/** + * Get the default value of a prop. + */ +function getPropDefaultValue (vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if ("development" !== 'production' && isObject(def)) { + warn( + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' + ? def.call(vm) + : def +} + +/** + * Assert whether a prop is valid. + */ +function assertProp ( + prop, + name, + value, + vm, + absent +) { + if (prop.required && absent) { + warn( + 'Missing required prop: "' + name + '"', + vm + ); + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!Array.isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + if (!valid) { + warn( + "Invalid prop: type check failed for prop \"" + name + "\"." + + " Expected " + (expectedTypes.map(capitalize).join(', ')) + + ", got " + (toRawType(value)) + ".", + vm + ); + return + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn( + 'Invalid prop: custom validator check failed for prop "' + name + '".', + vm + ); + } + } +} + +var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; + +function assertType (value, type) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value); + } else if (expectedType === 'Array') { + valid = Array.isArray(value); + } else { + valid = value instanceof type; + } + return { + valid: valid, + expectedType: expectedType + } +} + +/** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ +function getType (fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/); + return match ? match[1] : '' +} + +function isSameType (a, b) { + return getType(a) === getType(b) +} + +function getTypeIndex (type, expectedTypes) { + if (!Array.isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1 + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i + } + } + return -1 +} + +/* */ + +function handleError (err, vm, info) { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) { return } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); +} + +function globalHandleError (err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + logError(e, null, 'config.errorHandler'); + } + } + logError(err, vm, info); +} + +function logError (err, vm, info) { + { + warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err); + } else { + throw err + } +} + +/* */ +/* globals MessageChannel */ + +var callbacks = []; +var pending = false; + +function flushCallbacks () { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } +} + +// Here we have async deferring wrappers using both microtasks and (macro) tasks. +// In < 2.4 we used microtasks everywhere, but there are some scenarios where +// microtasks have too high a priority and fire in between supposedly +// sequential events (e.g. #4521, #6690) or even between bubbling of the same +// event (#6566). However, using (macro) tasks everywhere also has subtle problems +// when state is changed right before repaint (e.g. #6813, out-in transitions). +// Here we use microtask by default, but expose a way to force (macro) task when +// needed (e.g. in event handlers attached by v-on). +var microTimerFunc; +var macroTimerFunc; +var useMacroTask = false; + +// Determine (macro) task defer implementation. +// Technically setImmediate should be the ideal choice, but it's only available +// in IE. The only polyfill that consistently queues the callback after all DOM +// events triggered in the same loop is by using MessageChannel. +/* istanbul ignore if */ +if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + macroTimerFunc = function () { + setImmediate(flushCallbacks); + }; +} else if (typeof MessageChannel !== 'undefined' && ( + isNative(MessageChannel) || + // PhantomJS + MessageChannel.toString() === '[object MessageChannelConstructor]' +)) { + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = flushCallbacks; + macroTimerFunc = function () { + port.postMessage(1); + }; +} else { + /* istanbul ignore next */ + macroTimerFunc = function () { + setTimeout(flushCallbacks, 0); + }; +} + +// Determine microtask defer implementation. +/* istanbul ignore next, $flow-disable-line */ +if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve(); + microTimerFunc = function () { + p.then(flushCallbacks); + // in problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { setTimeout(noop); } + }; +} else { + // fallback to macro + microTimerFunc = macroTimerFunc; +} + +/** + * Wrap a function so that if any code inside triggers state change, + * the changes are queued using a (macro) task instead of a microtask. + */ +function withMacroTask (fn) { + return fn._withTask || (fn._withTask = function () { + useMacroTask = true; + var res = fn.apply(null, arguments); + useMacroTask = false; + return res + }) +} + +function nextTick (cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } catch (e) { + handleError(e, ctx, 'nextTick'); + } + } else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + if (useMacroTask) { + macroTimerFunc(); + } else { + microTimerFunc(); + } + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }) + } +} + +/* */ + +var mark; +var measure; + +{ + var perf = inBrowser && window.performance; + /* istanbul ignore if */ + if ( + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures + ) { + mark = function (tag) { return perf.mark(tag); }; + measure = function (name, startTag, endTag) { + perf.measure(name, startTag, endTag); + perf.clearMarks(startTag); + perf.clearMarks(endTag); + perf.clearMeasures(name); + }; + } +} + +/* not type checking this file because flow doesn't play well with Proxy */ + +var initProxy; + +{ + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ); + + var warnNonPresent = function (target, key) { + warn( + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ); + }; + + var hasProxy = + typeof Proxy !== 'undefined' && isNative(Proxy); + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function set (target, key, value) { + if (isBuiltInModifier(key)) { + warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); + return false + } else { + target[key] = value; + return true + } + } + }); + } + + var hasHandler = { + has: function has (target, key) { + var has = key in target; + var isAllowed = allowedGlobals(key) || key.charAt(0) === '_'; + if (!has && !isAllowed) { + warnNonPresent(target, key); + } + return has || !isAllowed + } + }; + + var getHandler = { + get: function get (target, key) { + if (typeof key === 'string' && !(key in target)) { + warnNonPresent(target, key); + } + return target[key] + } + }; + + initProxy = function initProxy (vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped + ? getHandler + : hasHandler; + vm._renderProxy = new Proxy(vm, handlers); + } else { + vm._renderProxy = vm; + } + }; +} + +/* */ + +var seenObjects = new _Set(); + +/** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ +function traverse (val) { + _traverse(val, seenObjects); + seenObjects.clear(); +} + +function _traverse (val, seen) { + var i, keys; + var isA = Array.isArray(val); + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) { _traverse(val[i], seen); } + } else { + keys = Object.keys(val); + i = keys.length; + while (i--) { _traverse(val[keys[i]], seen); } + } +} + +/* */ + +var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once$$1, + capture: capture, + passive: passive + } +}); + +function createFnInvoker (fns) { + function invoker () { + var arguments$1 = arguments; + + var fns = invoker.fns; + if (Array.isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + cloned[i].apply(null, arguments$1); + } + } else { + // return handler return value for single handlers + return fns.apply(null, arguments) + } + } + invoker.fns = fns; + return invoker +} + +function updateListeners ( + on, + oldOn, + add, + remove$$1, + vm +) { + var name, def, cur, old, event; + for (name in on) { + def = cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + /* istanbul ignore if */ + if (isUndef(cur)) { + "development" !== 'production' && warn( + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), + vm + ); + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur); + } + add(event.name, cur, event.once, event.capture, event.passive, event.params); + } else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove$$1(event.name, oldOn[name], event.capture); + } + } +} + +/* */ + +function mergeVNodeHook (def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + + function wrappedHook () { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook); + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + + invoker.merged = true; + def[hookKey] = invoker; +} + +/* */ + +function extractPropsFromVNodeData ( + data, + Ctor, + tag +) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return + } + var res = {}; + var attrs = data.attrs; + var props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + { + var keyInLowerCase = key.toLowerCase(); + if ( + key !== keyInLowerCase && + attrs && hasOwn(attrs, keyInLowerCase) + ) { + tip( + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." + ); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res +} + +function checkProp ( + res, + hash, + key, + altKey, + preserve +) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true + } + } + return false +} + +/* */ + +// The template compiler attempts to minimize the need for normalization by +// statically analyzing the template at compile time. +// +// For plain HTML markup, normalization can be completely skipped because the +// generated render function is guaranteed to return Array. There are +// two cases where extra normalization is needed: + +// 1. When the children contains components - because a functional component +// may return an Array instead of a single root. In this case, just a simple +// normalization is needed - if any child is an Array, we flatten the whole +// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep +// because functional components already normalize their own children. +function simpleNormalizeChildren (children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children +} + +// 2. When the children contains constructs that always generated nested Arrays, +// e.g.