From aa360a22bfd8edc7c7b883c23c25b50af321e262 Mon Sep 17 00:00:00 2001 From: Tsanie Lily Date: Thu, 30 May 2019 18:52:14 +0800 Subject: [PATCH] initial --- .gitignore | 7 + _config.yml | 81 + package-lock.json | 3862 ++++++++++++++++ package.json | 19 + scaffolds/draft.md | 4 + scaffolds/page.md | 4 + scaffolds/post.md | 5 + ...macOS-High-Sierra-Mojave-on-Proxmox-5-4.md | 220 + .../01-create-vm.png | Bin 0 -> 43594 bytes .../02-os.png | Bin 0 -> 46672 bytes .../03-system.png | Bin 0 -> 45259 bytes .../04-harddisk.png | Bin 0 -> 83257 bytes .../05-cpu.png | Bin 0 -> 39421 bytes .../06-memory.png | Bin 0 -> 35639 bytes .../07-network.png | Bin 0 -> 42780 bytes .../08-confirm.png | Bin 0 -> 65852 bytes .../09-add-dvd.png | Bin 0 -> 37373 bytes .../10-clover.png | Bin 0 -> 21416 bytes .../11-install.png | Bin 0 -> 185213 bytes .../12-install-disk.png | Bin 0 -> 66672 bytes .../13-install-start.png | Bin 0 -> 56971 bytes .../14-bash.png | Bin 0 -> 155387 bytes .../15-done.png | Bin 0 -> 25351 bytes source/uploads/avatar.jpg | Bin 0 -> 30393 bytes themes/next/.all-contributorsrc | 454 ++ themes/next/.bowerrc | 3 + themes/next/.editorconfig | 14 + themes/next/.eslintrc.json | 4 + themes/next/.gitattributes | 2 + themes/next/.gitignore | 19 + themes/next/.stylintrc | 45 + themes/next/.travis.yml | 18 + themes/next/LICENSE.md | 63 + themes/next/README.md | 168 + themes/next/_config.yml | 1211 ++++++ themes/next/bower.json | 30 + themes/next/crowdin.yml | 9 + themes/next/docs/AGPL3.md | 649 +++ themes/next/docs/ALGOLIA-SEARCH.md | 87 + themes/next/docs/AUTHORS.md | 87 + themes/next/docs/DATA-FILES.md | 61 + themes/next/docs/INSTALLATION.md | 120 + .../next/docs/LEANCLOUD-COUNTER-SECURITY.md | 177 + themes/next/docs/LICENSE.txt | 56 + themes/next/docs/MATH.md | 286 ++ themes/next/docs/UPDATE-FROM-5.1.X.md | 19 + themes/next/docs/ru/DATA-FILES.md | 61 + themes/next/docs/ru/INSTALLATION.md | 120 + themes/next/docs/ru/README.md | 139 + themes/next/docs/ru/UPDATE-FROM-5.1.X.md | 19 + themes/next/docs/zh-CN/ALGOLIA-SEARCH.md | 84 + themes/next/docs/zh-CN/CODE_OF_CONDUCT.md | 99 + themes/next/docs/zh-CN/CONTRIBUTING.md | 226 + themes/next/docs/zh-CN/DATA-FILES.md | 61 + themes/next/docs/zh-CN/INSTALLATION.md | 120 + .../docs/zh-CN/LEANCLOUD-COUNTER-SECURITY.md | 186 + themes/next/docs/zh-CN/MATH.md | 291 ++ themes/next/docs/zh-CN/README.md | 156 + themes/next/docs/zh-CN/UPDATE-FROM-5.1.X.md | 35 + themes/next/gulpfile.coffee | 53 + themes/next/languages/de.yml | 98 + themes/next/languages/default.yml | 1 + themes/next/languages/en.yml | 114 + themes/next/languages/es.yml | 98 + themes/next/languages/fa.yml | 98 + themes/next/languages/fr.yml | 98 + themes/next/languages/id.yml | 98 + themes/next/languages/it.yml | 98 + themes/next/languages/ja.yml | 98 + themes/next/languages/ko.yml | 98 + themes/next/languages/nl.yml | 98 + themes/next/languages/pt-BR.yml | 98 + themes/next/languages/pt.yml | 98 + themes/next/languages/ru.yml | 98 + themes/next/languages/tr.yml | 98 + themes/next/languages/uk.yml | 98 + themes/next/languages/vi.yml | 98 + themes/next/languages/zh-CN.yml | 98 + themes/next/languages/zh-HK.yml | 98 + themes/next/languages/zh-TW.yml | 98 + themes/next/layout/_custom/head.swig | 3 + themes/next/layout/_custom/header.swig | 1 + themes/next/layout/_custom/sidebar.swig | 1 + themes/next/layout/_layout.swig | 126 + .../next/layout/_macro/menu/menu-badge.swig | 14 + themes/next/layout/_macro/menu/menu-item.swig | 24 + themes/next/layout/_macro/post-collapse.swig | 33 + themes/next/layout/_macro/post.swig | 460 ++ themes/next/layout/_macro/sidebar.swig | 214 + themes/next/layout/_partials/comments.swig | 57 + themes/next/layout/_partials/footer.swig | 62 + .../next/layout/_partials/github-banner.swig | 8 + .../layout/_partials/head/external-fonts.swig | 51 + .../layout/_partials/head/head-unique.swig | 28 + themes/next/layout/_partials/head/head.swig | 128 + .../next/layout/_partials/header/brand.swig | 39 + .../next/layout/_partials/header/index.swig | 9 + themes/next/layout/_partials/header/menu.swig | 52 + .../layout/_partials/header/sub-menu.swig | 100 + .../layout/_partials/page/breadcrumb.swig | 27 + .../layout/_partials/page/page-header.swig | 15 + themes/next/layout/_partials/pagination.swig | 11 + themes/next/layout/_partials/post-edit.swig | 4 + .../layout/_partials/post/post-copyright.swig | 26 + .../layout/_partials/post/post-related.swig | 20 + themes/next/layout/_partials/post/reward.swig | 22 + .../_partials/post/wechat-subscriber.swig | 4 + .../_partials/search/algolia-search.swig | 20 + .../next/layout/_partials/search/index.swig | 7 + .../layout/_partials/search/localsearch.swig | 16 + .../layout/_partials/search/swiftype.swig | 12 + .../next/layout/_partials/share/add-this.swig | 3 + .../layout/_partials/share/baidushare.swig | 57 + .../next/layout/_partials/share/likely.swig | 23 + themes/next/layout/_scripts/commons.swig | 10 + themes/next/layout/_scripts/exturl.swig | 3 + themes/next/layout/_scripts/next-boot.swig | 9 + themes/next/layout/_scripts/noscript.swig | 24 + .../layout/_scripts/pages/post-details.swig | 2 + .../next/layout/_scripts/schemes/gemini.swig | 1 + themes/next/layout/_scripts/schemes/mist.swig | 1 + themes/next/layout/_scripts/schemes/muse.swig | 9 + .../next/layout/_scripts/schemes/pisces.swig | 10 + .../next/layout/_scripts/scroll-cookie.swig | 4 + themes/next/layout/_scripts/vendors.swig | 72 + .../analytics/analytics-with-widget.swig | 4 + .../analytics/application-insights.swig | 11 + .../analytics/baidu-analytics.swig | 11 + .../analytics/busuanzi-counter.swig | 27 + .../analytics/cnzz-analytics.swig | 5 + .../_third-party/analytics/facebook-sdk.swig | 18 + .../_third-party/analytics/firestore.swig | 99 + .../analytics/google-analytics.swig | 12 + .../_third-party/analytics/growingio.swig | 7 + .../layout/_third-party/analytics/index.swig | 6 + .../analytics/lean-analytics.swig | 116 + .../analytics/tencent-analytics.swig | 10 + .../_third-party/analytics/tencent-mta.swig | 13 + .../_third-party/analytics/vkontakte-api.swig | 25 + .../next/layout/_third-party/baidu-push.swig | 11 + themes/next/layout/_third-party/bookmark.swig | 14 + themes/next/layout/_third-party/chatra.swig | 22 + .../_third-party/comments/changyan.swig | 18 + .../layout/_third-party/comments/disqus.swig | 44 + .../_third-party/comments/disqusjs.swig | 19 + .../layout/_third-party/comments/gitalk.swig | 35 + .../layout/_third-party/comments/gitment.swig | 45 + .../layout/_third-party/comments/index.swig | 19 + .../layout/_third-party/comments/livere.swig | 13 + .../layout/_third-party/comments/valine.swig | 32 + .../next/layout/_third-party/copy-code.swig | 36 + .../next/layout/_third-party/math/index.swig | 20 + .../next/layout/_third-party/math/katex.swig | 9 + .../layout/_third-party/math/mathjax.swig | 40 + themes/next/layout/_third-party/mermaid.swig | 21 + .../layout/_third-party/needsharebutton.swig | 23 + themes/next/layout/_third-party/pangu.swig | 8 + themes/next/layout/_third-party/pdf.swig | 27 + .../next/layout/_third-party/quicklink.swig | 35 + themes/next/layout/_third-party/rating.swig | 20 + themes/next/layout/_third-party/schedule.swig | 171 + .../_third-party/search/algolia-search.swig | 18 + .../layout/_third-party/search/index.swig | 2 + .../_third-party/search/localsearch.swig | 336 ++ themes/next/layout/_third-party/tidio.swig | 3 + themes/next/layout/archive.swig | 64 + themes/next/layout/category.swig | 38 + themes/next/layout/index.swig | 23 + themes/next/layout/page.swig | 91 + themes/next/layout/post.swig | 23 + themes/next/layout/schedule.swig | 14 + themes/next/layout/tag.swig | 38 + themes/next/package.json | 39 + themes/next/scripts/filters/exturl.js | 45 + themes/next/scripts/helpers/engine.js | 26 + themes/next/scripts/helpers/next-url.js | 70 + themes/next/scripts/merge-configs.js | 45 + themes/next/scripts/merge.js | 2225 ++++++++++ themes/next/scripts/tags/button.js | 35 + themes/next/scripts/tags/center-quote.js | 16 + themes/next/scripts/tags/exturl.js | 62 + themes/next/scripts/tags/full-image.js | 32 + themes/next/scripts/tags/group-pictures.js | 150 + themes/next/scripts/tags/include-raw.js | 30 + themes/next/scripts/tags/label.js | 19 + themes/next/scripts/tags/mermaid.js | 16 + themes/next/scripts/tags/note.js | 16 + themes/next/scripts/tags/pdf.js | 13 + themes/next/scripts/tags/tabs.js | 59 + themes/next/scripts/tags/video.js | 13 + .../components/back-to-top-sidebar.styl | 19 + .../css/_common/components/back-to-top.styl | 25 + .../css/_common/components/buttons.styl | 38 + .../css/_common/components/comments.styl | 1 + .../css/_common/components/components.styl | 18 + .../css/_common/components/footer/footer.styl | 30 + .../components/header/github-banner.styl | 55 + .../css/_common/components/header/header.styl | 9 + .../_common/components/header/headerband.styl | 4 + .../css/_common/components/header/menu.styl | 32 + .../_common/components/header/site-meta.styl | 48 + .../_common/components/header/site-nav.styl | 28 + .../_common/components/highlight/diff.styl | 8 + .../components/highlight/highlight.styl | 182 + .../_common/components/highlight/theme.styl | 92 + .../css/_common/components/pages/archive.styl | 34 + .../_common/components/pages/breadcrumb.styl | 21 + .../_common/components/pages/categories.styl | 27 + .../css/_common/components/pages/pages.styl | 8 + .../_common/components/pages/post-detail.styl | 6 + .../_common/components/pages/schedule.styl | 114 + .../_common/components/pages/tag-cloud.styl | 12 + .../css/_common/components/pagination.styl | 57 + .../_common/components/post/post-button.styl | 3 + .../components/post/post-collapse.styl | 111 + .../components/post/post-copyright.styl | 11 + .../css/_common/components/post/post-eof.styl | 15 + .../_common/components/post/post-expand.styl | 64 + .../_common/components/post/post-gallery.styl | 27 + .../_common/components/post/post-meta.styl | 51 + .../css/_common/components/post/post-nav.styl | 51 + .../post/post-reading_progress.styl | 10 + .../_common/components/post/post-reward.styl | 64 + .../css/_common/components/post/post-rtl.styl | 11 + .../_common/components/post/post-tags.styl | 10 + .../_common/components/post/post-title.styl | 54 + .../_common/components/post/post-type.styl | 14 + .../_common/components/post/post-widgets.styl | 50 + .../css/_common/components/post/post.styl | 61 + .../css/_common/components/rainbow.styl | 43 + .../css/_common/components/scrollbar.styl | 31 + .../sidebar/sidebar-author-links.styl | 24 + .../components/sidebar/sidebar-author.styl | 39 + .../components/sidebar/sidebar-blogroll.styl | 28 + .../components/sidebar/sidebar-button.styl | 23 + .../components/sidebar/sidebar-dimmer.styl | 18 + .../components/sidebar/sidebar-nav.styl | 30 + .../components/sidebar/sidebar-toc.styl | 61 + .../components/sidebar/sidebar-toggle.styl | 30 + .../_common/components/sidebar/sidebar.styl | 64 + .../components/sidebar/site-state.styl | 31 + .../components/tags/blockquote-center.styl | 33 + .../_common/components/tags/full-image.styl | 6 + .../components/tags/group-pictures.styl | 35 + .../css/_common/components/tags/label.styl | 11 + .../css/_common/components/tags/note.styl | 278 ++ .../css/_common/components/tags/pdf.styl | 6 + .../css/_common/components/tags/tabs.styl | 95 + .../css/_common/components/tags/tags.styl | 7 + .../third-party/algolia-search.styl | 135 + .../components/third-party/copy-code.styl | 47 + .../components/third-party/gitalk.styl | 4 + .../components/third-party/gitment.styl | 24 + .../_common/components/third-party/han.styl | 3 + .../components/third-party/localsearch.styl | 101 + .../_common/components/third-party/math.styl | 4 + .../third-party/needsharebutton.styl | 27 + .../components/third-party/related-posts.styl | 22 + .../components/third-party/third-party.styl | 9 + .../source/css/_common/outline/outline.styl | 62 + .../source/css/_common/scaffolding/base.styl | 120 + .../css/_common/scaffolding/helpers.styl | 68 + .../css/_common/scaffolding/mobile.styl | 141 + .../css/_common/scaffolding/normalize.styl | 349 ++ .../css/_common/scaffolding/scaffolding.styl | 9 + .../css/_common/scaffolding/tables.styl | 42 + themes/next/source/css/_custom/custom.styl | 1 + themes/next/source/css/_mixins/Gemini.styl | 1 + themes/next/source/css/_mixins/Mist.styl | 0 themes/next/source/css/_mixins/Muse.styl | 0 themes/next/source/css/_mixins/Pisces.styl | 16 + themes/next/source/css/_mixins/base.styl | 105 + themes/next/source/css/_mixins/custom.styl | 0 .../source/css/_schemes/Gemini/index.styl | 278 ++ .../next/source/css/_schemes/Mist/_base.styl | 9 + .../source/css/_schemes/Mist/_header.styl | 65 + .../next/source/css/_schemes/Mist/_logo.styl | 1 + .../next/source/css/_schemes/Mist/_menu.styl | 83 + .../css/_schemes/Mist/_posts-expanded.styl | 66 + .../source/css/_schemes/Mist/_search.styl | 5 + .../next/source/css/_schemes/Mist/index.styl | 86 + .../css/_schemes/Mist/outline/outline.styl | 1 + .../Mist/sidebar/sidebar-blogroll.styl | 1 + .../source/css/_schemes/Muse/_layout.styl | 9 + .../next/source/css/_schemes/Muse/_logo.styl | 25 + .../next/source/css/_schemes/Muse/_menu.styl | 78 + .../source/css/_schemes/Muse/_search.styl | 5 + .../next/source/css/_schemes/Muse/index.styl | 5 + .../Muse/sidebar/sidebar-blogroll.styl | 1 + .../source/css/_schemes/Pisces/_brand.styl | 38 + .../source/css/_schemes/Pisces/_layout.styl | 105 + .../source/css/_schemes/Pisces/_menu.styl | 87 + .../source/css/_schemes/Pisces/_sidebar.styl | 121 + .../source/css/_schemes/Pisces/_sub-menu.styl | 38 + .../source/css/_schemes/Pisces/index.styl | 5 + themes/next/source/css/_variables/Gemini.styl | 21 + themes/next/source/css/_variables/Mist.styl | 13 + themes/next/source/css/_variables/Muse.styl | 0 themes/next/source/css/_variables/Pisces.styl | 79 + themes/next/source/css/_variables/base.styl | 385 ++ themes/next/source/css/_variables/custom.styl | 0 themes/next/source/css/main.styl | 46 + themes/next/source/fonts/.gitkeep | 0 themes/next/source/images/algolia_logo.svg | 9 + .../source/images/apple-touch-icon-next.png | Bin 0 -> 1544 bytes themes/next/source/images/avatar.gif | Bin 0 -> 1793 bytes themes/next/source/images/cc-by-nc-nd.svg | 121 + themes/next/source/images/cc-by-nc-sa.svg | 121 + themes/next/source/images/cc-by-nc.svg | 121 + themes/next/source/images/cc-by-nd.svg | 117 + themes/next/source/images/cc-by-sa.svg | 121 + themes/next/source/images/cc-by.svg | 121 + themes/next/source/images/cc-zero.svg | 72 + .../next/source/images/favicon-16x16-next.png | Bin 0 -> 435 bytes .../next/source/images/favicon-32x32-next.png | Bin 0 -> 640 bytes themes/next/source/images/loading.gif | Bin 0 -> 35 bytes themes/next/source/images/logo.svg | 23 + themes/next/source/images/placeholder.gif | Bin 0 -> 35 bytes themes/next/source/images/quote-l.svg | 13 + themes/next/source/images/quote-r.svg | 12 + themes/next/source/images/searchicon.png | Bin 0 -> 759 bytes themes/next/source/js/affix.js | 168 + themes/next/source/js/algolia-search.js | 114 + themes/next/source/js/exturl.js | 14 + themes/next/source/js/js.cookie.js | 166 + themes/next/source/js/motion.js | 372 ++ themes/next/source/js/next-boot.js | 53 + themes/next/source/js/post-details.js | 104 + themes/next/source/js/schemes/muse.js | 9 + themes/next/source/js/schemes/pisces.js | 57 + themes/next/source/js/scroll-cookie.js | 25 + themes/next/source/js/scrollspy.js | 179 + themes/next/source/js/utils.js | 340 ++ themes/next/source/lib/jquery/index.js | 4 + themes/next/source/lib/velocity/velocity.js | 3868 +++++++++++++++++ .../next/source/lib/velocity/velocity.min.js | 4 + .../next/source/lib/velocity/velocity.ui.js | 762 ++++ .../source/lib/velocity/velocity.ui.min.js | 2 + themes/next/test/.jshintrc | 23 + themes/next/test/helpers.js | 133 + themes/next/test/intern.js | 65 + 341 files changed, 30369 insertions(+) create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 scaffolds/draft.md create mode 100644 scaffolds/page.md create mode 100644 scaffolds/post.md create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4.md create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/01-create-vm.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/02-os.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/03-system.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/04-harddisk.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/05-cpu.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/06-memory.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/07-network.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/08-confirm.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/09-add-dvd.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/10-clover.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/11-install.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/12-install-disk.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/13-install-start.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/14-bash.png create mode 100644 source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/15-done.png create mode 100644 source/uploads/avatar.jpg create mode 100644 themes/next/.all-contributorsrc create mode 100644 themes/next/.bowerrc create mode 100644 themes/next/.editorconfig create mode 100644 themes/next/.eslintrc.json create mode 100644 themes/next/.gitattributes create mode 100644 themes/next/.gitignore create mode 100644 themes/next/.stylintrc create mode 100644 themes/next/.travis.yml create mode 100644 themes/next/LICENSE.md create mode 100644 themes/next/README.md create mode 100644 themes/next/_config.yml create mode 100644 themes/next/bower.json create mode 100644 themes/next/crowdin.yml create mode 100644 themes/next/docs/AGPL3.md create mode 100644 themes/next/docs/ALGOLIA-SEARCH.md create mode 100644 themes/next/docs/AUTHORS.md create mode 100644 themes/next/docs/DATA-FILES.md create mode 100644 themes/next/docs/INSTALLATION.md create mode 100644 themes/next/docs/LEANCLOUD-COUNTER-SECURITY.md create mode 100644 themes/next/docs/LICENSE.txt create mode 100644 themes/next/docs/MATH.md create mode 100644 themes/next/docs/UPDATE-FROM-5.1.X.md create mode 100644 themes/next/docs/ru/DATA-FILES.md create mode 100644 themes/next/docs/ru/INSTALLATION.md create mode 100644 themes/next/docs/ru/README.md create mode 100644 themes/next/docs/ru/UPDATE-FROM-5.1.X.md create mode 100644 themes/next/docs/zh-CN/ALGOLIA-SEARCH.md create mode 100644 themes/next/docs/zh-CN/CODE_OF_CONDUCT.md create mode 100644 themes/next/docs/zh-CN/CONTRIBUTING.md create mode 100644 themes/next/docs/zh-CN/DATA-FILES.md create mode 100644 themes/next/docs/zh-CN/INSTALLATION.md create mode 100644 themes/next/docs/zh-CN/LEANCLOUD-COUNTER-SECURITY.md create mode 100644 themes/next/docs/zh-CN/MATH.md create mode 100644 themes/next/docs/zh-CN/README.md create mode 100644 themes/next/docs/zh-CN/UPDATE-FROM-5.1.X.md create mode 100644 themes/next/gulpfile.coffee create mode 100644 themes/next/languages/de.yml create mode 100644 themes/next/languages/default.yml create mode 100644 themes/next/languages/en.yml create mode 100644 themes/next/languages/es.yml create mode 100644 themes/next/languages/fa.yml create mode 100644 themes/next/languages/fr.yml create mode 100644 themes/next/languages/id.yml create mode 100644 themes/next/languages/it.yml create mode 100644 themes/next/languages/ja.yml create mode 100644 themes/next/languages/ko.yml create mode 100644 themes/next/languages/nl.yml create mode 100644 themes/next/languages/pt-BR.yml create mode 100644 themes/next/languages/pt.yml create mode 100644 themes/next/languages/ru.yml create mode 100644 themes/next/languages/tr.yml create mode 100644 themes/next/languages/uk.yml create mode 100644 themes/next/languages/vi.yml create mode 100644 themes/next/languages/zh-CN.yml create mode 100644 themes/next/languages/zh-HK.yml create mode 100644 themes/next/languages/zh-TW.yml create mode 100644 themes/next/layout/_custom/head.swig create mode 100644 themes/next/layout/_custom/header.swig create mode 100644 themes/next/layout/_custom/sidebar.swig create mode 100644 themes/next/layout/_layout.swig create mode 100644 themes/next/layout/_macro/menu/menu-badge.swig create mode 100644 themes/next/layout/_macro/menu/menu-item.swig create mode 100644 themes/next/layout/_macro/post-collapse.swig create mode 100644 themes/next/layout/_macro/post.swig create mode 100644 themes/next/layout/_macro/sidebar.swig create mode 100644 themes/next/layout/_partials/comments.swig create mode 100644 themes/next/layout/_partials/footer.swig create mode 100644 themes/next/layout/_partials/github-banner.swig create mode 100644 themes/next/layout/_partials/head/external-fonts.swig create mode 100644 themes/next/layout/_partials/head/head-unique.swig create mode 100644 themes/next/layout/_partials/head/head.swig create mode 100644 themes/next/layout/_partials/header/brand.swig create mode 100644 themes/next/layout/_partials/header/index.swig create mode 100644 themes/next/layout/_partials/header/menu.swig create mode 100644 themes/next/layout/_partials/header/sub-menu.swig create mode 100644 themes/next/layout/_partials/page/breadcrumb.swig create mode 100644 themes/next/layout/_partials/page/page-header.swig create mode 100644 themes/next/layout/_partials/pagination.swig create mode 100644 themes/next/layout/_partials/post-edit.swig create mode 100644 themes/next/layout/_partials/post/post-copyright.swig create mode 100644 themes/next/layout/_partials/post/post-related.swig create mode 100644 themes/next/layout/_partials/post/reward.swig create mode 100644 themes/next/layout/_partials/post/wechat-subscriber.swig create mode 100644 themes/next/layout/_partials/search/algolia-search.swig create mode 100644 themes/next/layout/_partials/search/index.swig create mode 100644 themes/next/layout/_partials/search/localsearch.swig create mode 100644 themes/next/layout/_partials/search/swiftype.swig create mode 100644 themes/next/layout/_partials/share/add-this.swig create mode 100644 themes/next/layout/_partials/share/baidushare.swig create mode 100644 themes/next/layout/_partials/share/likely.swig create mode 100644 themes/next/layout/_scripts/commons.swig create mode 100644 themes/next/layout/_scripts/exturl.swig create mode 100644 themes/next/layout/_scripts/next-boot.swig create mode 100644 themes/next/layout/_scripts/noscript.swig create mode 100644 themes/next/layout/_scripts/pages/post-details.swig create mode 100644 themes/next/layout/_scripts/schemes/gemini.swig create mode 100644 themes/next/layout/_scripts/schemes/mist.swig create mode 100644 themes/next/layout/_scripts/schemes/muse.swig create mode 100644 themes/next/layout/_scripts/schemes/pisces.swig create mode 100644 themes/next/layout/_scripts/scroll-cookie.swig create mode 100644 themes/next/layout/_scripts/vendors.swig create mode 100644 themes/next/layout/_third-party/analytics/analytics-with-widget.swig create mode 100644 themes/next/layout/_third-party/analytics/application-insights.swig create mode 100644 themes/next/layout/_third-party/analytics/baidu-analytics.swig create mode 100644 themes/next/layout/_third-party/analytics/busuanzi-counter.swig create mode 100644 themes/next/layout/_third-party/analytics/cnzz-analytics.swig create mode 100644 themes/next/layout/_third-party/analytics/facebook-sdk.swig create mode 100644 themes/next/layout/_third-party/analytics/firestore.swig create mode 100644 themes/next/layout/_third-party/analytics/google-analytics.swig create mode 100644 themes/next/layout/_third-party/analytics/growingio.swig create mode 100644 themes/next/layout/_third-party/analytics/index.swig create mode 100644 themes/next/layout/_third-party/analytics/lean-analytics.swig create mode 100644 themes/next/layout/_third-party/analytics/tencent-analytics.swig create mode 100644 themes/next/layout/_third-party/analytics/tencent-mta.swig create mode 100644 themes/next/layout/_third-party/analytics/vkontakte-api.swig create mode 100644 themes/next/layout/_third-party/baidu-push.swig create mode 100644 themes/next/layout/_third-party/bookmark.swig create mode 100644 themes/next/layout/_third-party/chatra.swig create mode 100644 themes/next/layout/_third-party/comments/changyan.swig create mode 100644 themes/next/layout/_third-party/comments/disqus.swig create mode 100644 themes/next/layout/_third-party/comments/disqusjs.swig create mode 100644 themes/next/layout/_third-party/comments/gitalk.swig create mode 100644 themes/next/layout/_third-party/comments/gitment.swig create mode 100644 themes/next/layout/_third-party/comments/index.swig create mode 100644 themes/next/layout/_third-party/comments/livere.swig create mode 100644 themes/next/layout/_third-party/comments/valine.swig create mode 100644 themes/next/layout/_third-party/copy-code.swig create mode 100644 themes/next/layout/_third-party/math/index.swig create mode 100644 themes/next/layout/_third-party/math/katex.swig create mode 100644 themes/next/layout/_third-party/math/mathjax.swig create mode 100644 themes/next/layout/_third-party/mermaid.swig create mode 100644 themes/next/layout/_third-party/needsharebutton.swig create mode 100644 themes/next/layout/_third-party/pangu.swig create mode 100644 themes/next/layout/_third-party/pdf.swig create mode 100644 themes/next/layout/_third-party/quicklink.swig create mode 100644 themes/next/layout/_third-party/rating.swig create mode 100644 themes/next/layout/_third-party/schedule.swig create mode 100644 themes/next/layout/_third-party/search/algolia-search.swig create mode 100644 themes/next/layout/_third-party/search/index.swig create mode 100644 themes/next/layout/_third-party/search/localsearch.swig create mode 100644 themes/next/layout/_third-party/tidio.swig create mode 100644 themes/next/layout/archive.swig create mode 100644 themes/next/layout/category.swig create mode 100644 themes/next/layout/index.swig create mode 100644 themes/next/layout/page.swig create mode 100644 themes/next/layout/post.swig create mode 100644 themes/next/layout/schedule.swig create mode 100644 themes/next/layout/tag.swig create mode 100644 themes/next/package.json create mode 100644 themes/next/scripts/filters/exturl.js create mode 100644 themes/next/scripts/helpers/engine.js create mode 100644 themes/next/scripts/helpers/next-url.js create mode 100644 themes/next/scripts/merge-configs.js create mode 100644 themes/next/scripts/merge.js create mode 100644 themes/next/scripts/tags/button.js create mode 100644 themes/next/scripts/tags/center-quote.js create mode 100644 themes/next/scripts/tags/exturl.js create mode 100644 themes/next/scripts/tags/full-image.js create mode 100644 themes/next/scripts/tags/group-pictures.js create mode 100644 themes/next/scripts/tags/include-raw.js create mode 100644 themes/next/scripts/tags/label.js create mode 100644 themes/next/scripts/tags/mermaid.js create mode 100644 themes/next/scripts/tags/note.js create mode 100644 themes/next/scripts/tags/pdf.js create mode 100644 themes/next/scripts/tags/tabs.js create mode 100644 themes/next/scripts/tags/video.js create mode 100644 themes/next/source/css/_common/components/back-to-top-sidebar.styl create mode 100644 themes/next/source/css/_common/components/back-to-top.styl create mode 100644 themes/next/source/css/_common/components/buttons.styl create mode 100644 themes/next/source/css/_common/components/comments.styl create mode 100644 themes/next/source/css/_common/components/components.styl create mode 100644 themes/next/source/css/_common/components/footer/footer.styl create mode 100644 themes/next/source/css/_common/components/header/github-banner.styl create mode 100644 themes/next/source/css/_common/components/header/header.styl create mode 100644 themes/next/source/css/_common/components/header/headerband.styl create mode 100644 themes/next/source/css/_common/components/header/menu.styl create mode 100644 themes/next/source/css/_common/components/header/site-meta.styl create mode 100644 themes/next/source/css/_common/components/header/site-nav.styl create mode 100644 themes/next/source/css/_common/components/highlight/diff.styl create mode 100644 themes/next/source/css/_common/components/highlight/highlight.styl create mode 100644 themes/next/source/css/_common/components/highlight/theme.styl create mode 100644 themes/next/source/css/_common/components/pages/archive.styl create mode 100644 themes/next/source/css/_common/components/pages/breadcrumb.styl create mode 100644 themes/next/source/css/_common/components/pages/categories.styl create mode 100644 themes/next/source/css/_common/components/pages/pages.styl create mode 100644 themes/next/source/css/_common/components/pages/post-detail.styl create mode 100644 themes/next/source/css/_common/components/pages/schedule.styl create mode 100644 themes/next/source/css/_common/components/pages/tag-cloud.styl create mode 100644 themes/next/source/css/_common/components/pagination.styl create mode 100644 themes/next/source/css/_common/components/post/post-button.styl create mode 100644 themes/next/source/css/_common/components/post/post-collapse.styl create mode 100644 themes/next/source/css/_common/components/post/post-copyright.styl create mode 100644 themes/next/source/css/_common/components/post/post-eof.styl create mode 100644 themes/next/source/css/_common/components/post/post-expand.styl create mode 100644 themes/next/source/css/_common/components/post/post-gallery.styl create mode 100644 themes/next/source/css/_common/components/post/post-meta.styl create mode 100644 themes/next/source/css/_common/components/post/post-nav.styl create mode 100644 themes/next/source/css/_common/components/post/post-reading_progress.styl create mode 100644 themes/next/source/css/_common/components/post/post-reward.styl create mode 100644 themes/next/source/css/_common/components/post/post-rtl.styl create mode 100644 themes/next/source/css/_common/components/post/post-tags.styl create mode 100644 themes/next/source/css/_common/components/post/post-title.styl create mode 100644 themes/next/source/css/_common/components/post/post-type.styl create mode 100644 themes/next/source/css/_common/components/post/post-widgets.styl create mode 100644 themes/next/source/css/_common/components/post/post.styl create mode 100644 themes/next/source/css/_common/components/rainbow.styl create mode 100644 themes/next/source/css/_common/components/scrollbar.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-author.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-button.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-dimmer.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-nav.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-toc.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl create mode 100644 themes/next/source/css/_common/components/sidebar/sidebar.styl create mode 100644 themes/next/source/css/_common/components/sidebar/site-state.styl create mode 100644 themes/next/source/css/_common/components/tags/blockquote-center.styl create mode 100644 themes/next/source/css/_common/components/tags/full-image.styl create mode 100644 themes/next/source/css/_common/components/tags/group-pictures.styl create mode 100644 themes/next/source/css/_common/components/tags/label.styl create mode 100644 themes/next/source/css/_common/components/tags/note.styl create mode 100644 themes/next/source/css/_common/components/tags/pdf.styl create mode 100644 themes/next/source/css/_common/components/tags/tabs.styl create mode 100644 themes/next/source/css/_common/components/tags/tags.styl create mode 100644 themes/next/source/css/_common/components/third-party/algolia-search.styl create mode 100644 themes/next/source/css/_common/components/third-party/copy-code.styl create mode 100644 themes/next/source/css/_common/components/third-party/gitalk.styl create mode 100644 themes/next/source/css/_common/components/third-party/gitment.styl create mode 100644 themes/next/source/css/_common/components/third-party/han.styl create mode 100644 themes/next/source/css/_common/components/third-party/localsearch.styl create mode 100644 themes/next/source/css/_common/components/third-party/math.styl create mode 100644 themes/next/source/css/_common/components/third-party/needsharebutton.styl create mode 100644 themes/next/source/css/_common/components/third-party/related-posts.styl create mode 100644 themes/next/source/css/_common/components/third-party/third-party.styl create mode 100644 themes/next/source/css/_common/outline/outline.styl create mode 100644 themes/next/source/css/_common/scaffolding/base.styl create mode 100644 themes/next/source/css/_common/scaffolding/helpers.styl create mode 100644 themes/next/source/css/_common/scaffolding/mobile.styl create mode 100644 themes/next/source/css/_common/scaffolding/normalize.styl create mode 100644 themes/next/source/css/_common/scaffolding/scaffolding.styl create mode 100644 themes/next/source/css/_common/scaffolding/tables.styl create mode 100644 themes/next/source/css/_custom/custom.styl create mode 100644 themes/next/source/css/_mixins/Gemini.styl create mode 100644 themes/next/source/css/_mixins/Mist.styl create mode 100644 themes/next/source/css/_mixins/Muse.styl create mode 100644 themes/next/source/css/_mixins/Pisces.styl create mode 100644 themes/next/source/css/_mixins/base.styl create mode 100644 themes/next/source/css/_mixins/custom.styl create mode 100644 themes/next/source/css/_schemes/Gemini/index.styl create mode 100644 themes/next/source/css/_schemes/Mist/_base.styl create mode 100644 themes/next/source/css/_schemes/Mist/_header.styl create mode 100644 themes/next/source/css/_schemes/Mist/_logo.styl create mode 100644 themes/next/source/css/_schemes/Mist/_menu.styl create mode 100644 themes/next/source/css/_schemes/Mist/_posts-expanded.styl create mode 100644 themes/next/source/css/_schemes/Mist/_search.styl create mode 100644 themes/next/source/css/_schemes/Mist/index.styl create mode 100644 themes/next/source/css/_schemes/Mist/outline/outline.styl create mode 100644 themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl create mode 100644 themes/next/source/css/_schemes/Muse/_layout.styl create mode 100644 themes/next/source/css/_schemes/Muse/_logo.styl create mode 100644 themes/next/source/css/_schemes/Muse/_menu.styl create mode 100644 themes/next/source/css/_schemes/Muse/_search.styl create mode 100644 themes/next/source/css/_schemes/Muse/index.styl create mode 100644 themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl create mode 100644 themes/next/source/css/_schemes/Pisces/_brand.styl create mode 100644 themes/next/source/css/_schemes/Pisces/_layout.styl create mode 100644 themes/next/source/css/_schemes/Pisces/_menu.styl create mode 100644 themes/next/source/css/_schemes/Pisces/_sidebar.styl create mode 100644 themes/next/source/css/_schemes/Pisces/_sub-menu.styl create mode 100644 themes/next/source/css/_schemes/Pisces/index.styl create mode 100644 themes/next/source/css/_variables/Gemini.styl create mode 100644 themes/next/source/css/_variables/Mist.styl create mode 100644 themes/next/source/css/_variables/Muse.styl create mode 100644 themes/next/source/css/_variables/Pisces.styl create mode 100644 themes/next/source/css/_variables/base.styl create mode 100644 themes/next/source/css/_variables/custom.styl create mode 100644 themes/next/source/css/main.styl create mode 100644 themes/next/source/fonts/.gitkeep create mode 100644 themes/next/source/images/algolia_logo.svg create mode 100644 themes/next/source/images/apple-touch-icon-next.png create mode 100644 themes/next/source/images/avatar.gif create mode 100644 themes/next/source/images/cc-by-nc-nd.svg create mode 100644 themes/next/source/images/cc-by-nc-sa.svg create mode 100644 themes/next/source/images/cc-by-nc.svg create mode 100644 themes/next/source/images/cc-by-nd.svg create mode 100644 themes/next/source/images/cc-by-sa.svg create mode 100644 themes/next/source/images/cc-by.svg create mode 100644 themes/next/source/images/cc-zero.svg create mode 100644 themes/next/source/images/favicon-16x16-next.png create mode 100644 themes/next/source/images/favicon-32x32-next.png create mode 100644 themes/next/source/images/loading.gif create mode 100644 themes/next/source/images/logo.svg create mode 100644 themes/next/source/images/placeholder.gif create mode 100644 themes/next/source/images/quote-l.svg create mode 100644 themes/next/source/images/quote-r.svg create mode 100644 themes/next/source/images/searchicon.png create mode 100644 themes/next/source/js/affix.js create mode 100644 themes/next/source/js/algolia-search.js create mode 100644 themes/next/source/js/exturl.js create mode 100644 themes/next/source/js/js.cookie.js create mode 100644 themes/next/source/js/motion.js create mode 100644 themes/next/source/js/next-boot.js create mode 100644 themes/next/source/js/post-details.js create mode 100644 themes/next/source/js/schemes/muse.js create mode 100644 themes/next/source/js/schemes/pisces.js create mode 100644 themes/next/source/js/scroll-cookie.js create mode 100644 themes/next/source/js/scrollspy.js create mode 100644 themes/next/source/js/utils.js create mode 100644 themes/next/source/lib/jquery/index.js create mode 100644 themes/next/source/lib/velocity/velocity.js create mode 100644 themes/next/source/lib/velocity/velocity.min.js create mode 100644 themes/next/source/lib/velocity/velocity.ui.js create mode 100644 themes/next/source/lib/velocity/velocity.ui.min.js create mode 100644 themes/next/test/.jshintrc create mode 100644 themes/next/test/helpers.js create mode 100644 themes/next/test/intern.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..063b0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +Thumbs.db +db.json +*.log +node_modules/ +public/ +.deploy*/ \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..eb19f23 --- /dev/null +++ b/_config.yml @@ -0,0 +1,81 @@ +# Hexo Configuration +## Docs: https://hexo.io/docs/configuration.html +## Source: https://github.com/hexojs/hexo/ + +# Site +title: Tsanie's Blog +subtitle: +description: +keywords: +author: Tsanie Lily +language: zh-CN +timezone: Asia/Chongqing + +# URL +## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' +url: https://tsanie.us +root: / +permalink: :year/:month/:day/:title/ +permalink_defaults: + +# Directory +source_dir: source +public_dir: public +tag_dir: tags +archive_dir: archives +category_dir: categories +code_dir: downloads/code +i18n_dir: :lang +skip_render: + +# Writing +new_post_name: :title.md # File name of new posts +default_layout: post +titlecase: false # Transform title into titlecase +external_link: true # Open external links in new tab +filename_case: 0 +render_drafts: false +post_asset_folder: true +relative_link: false +future: true +highlight: + enable: true + line_number: true + auto_detect: false + tab_replace: + +# Home page setting +# path: Root path for your blogs index page. (default = '') +# per_page: Posts displayed per page. (0 = disable pagination) +# order_by: Posts order. (Order by date descending by default) +index_generator: + path: '' + per_page: 10 + order_by: -date + +# Category & Tag +default_category: uncategorized +category_map: +tag_map: + +# Date / Time format +## Hexo uses Moment.js to parse and display date +## You can customize the date format as defined in +## http://momentjs.com/docs/#/displaying/format/ +date_format: YYYY-MM-DD +time_format: HH:mm:ss + +# Pagination +## Set per_page to 0 to disable pagination +per_page: 10 +pagination_dir: page + +# Extensions +## Plugins: https://hexo.io/plugins/ +## Themes: https://hexo.io/themes/ +theme: next + +# Deployment +## Docs: https://hexo.io/docs/deployment.html +deploy: + type: diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b8e4410 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3862 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "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.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "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": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "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.1.5", + "normalize-path": "^2.0.0" + } + }, + "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.2" + } + }, + "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.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "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=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + }, + "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.1", + "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=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "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.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.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.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "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.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "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.0.1", + "which": "^1.2.9" + } + }, + "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", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "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.1.1", + "node-fingerprint": "0.0.2" + } + }, + "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=" + }, + "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=" + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "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.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "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.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "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.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "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.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "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.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "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.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "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.0", + "os-tmpdir": "^1.0.0" + } + }, + "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.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.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, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "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.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "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.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hexo": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-3.8.0.tgz", + "integrity": "sha512-qMk0TZ+ErKMD25R+HMHFvbyTAcKszmGZYtQHT2pzVnZgitkJCShZ7b2qDbedtWBBizhutNbKkhQ4D3Dqivaviw==", + "requires": { + "abbrev": "^1.0.7", + "archy": "^1.0.0", + "bluebird": "^3.4.0", + "chalk": "^2.3.1", + "cheerio": "0.22.0", + "hexo-cli": "^1.1.0", + "hexo-front-matter": "^0.2.2", + "hexo-fs": "^0.2.0", + "hexo-i18n": "^0.2.1", + "hexo-log": "^0.2.0", + "hexo-util": "^0.6.3", + "js-yaml": "^3.6.1", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "moment": "^2.19.4", + "moment-timezone": "^0.5.14", + "nunjucks": "^3.1.2", + "pretty-hrtime": "^1.0.2", + "resolve": "^1.5.0", + "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": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "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.0.7", + "bluebird": "^3.4.0", + "chalk": "^1.1.3", + "command-exists": "^1.2.0", + "hexo-fs": "^0.2.0", + "hexo-log": "^0.2.0", + "hexo-util": "^0.6.0", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "resolve": "^1.5.0", + "tildify": "^1.2.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "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.10.6", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "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.6.1" + } + }, + "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.4.0", + "chokidar": "^1.5.2", + "escape-string-regexp": "^1.0.5", + "graceful-fs": "^4.1.4" + } + }, + "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.0.0" + }, + "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.0.0" + }, + "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-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.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.0.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.2" + } + }, + "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.1", + "hexo-bunyan": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "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.0" + } + }, + "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.3.4", + "object-assign": "^4.0.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.2", + "marked": "^0.3.9", + "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.3.3", + "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-0.3.3.tgz", + "integrity": "sha512-70zQaf4Z+bj37Kvq7tEyn9WHH+Xj7uqbvOlGp8pHaOzWLp/riX3rMq3nnQKA2P8dKkBaM0/72IqjJPWu2Zt2WA==", + "requires": { + "bluebird": "^3.5.1", + "chalk": "^1.1.3", + "compression": "^1.7.3", + "connect": "^3.6.6", + "mime": "^1.6.0", + "morgan": "^1.9.0", + "object-assign": "^4.1.1", + "opn": "^5.3.0", + "serve-static": "^1.13.2" + }, + "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.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "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.4.0", + "camel-case": "^3.0.0", + "cross-spawn": "^4.0.0", + "highlight.js": "^9.4.0", + "html-entities": "^1.2.0", + "striptags": "^2.1.1" + } + }, + "highlight.js": { + "version": "9.15.7", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.7.tgz", + "integrity": "sha512-6AgA4zXNQZbgvhuJQhL+8JEd+XiPyzRxHpoRnhU084/ZoLqvMRjFQ3eSXvcUlLpLByA++TDYiFr0r4CHRHRJBQ==" + }, + "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.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "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-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "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.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-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.0" + } + }, + "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.0.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=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "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-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "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.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "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=" + }, + "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.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", + "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", + "requires": { + "nopt": "~2.1.1" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "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.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "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.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.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.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "moment-timezone": { + "version": "0.5.25", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.25.tgz", + "integrity": "sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "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.0" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "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.1" + } + }, + "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" + } + }, + "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.0.1" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "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.2.0", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.0.tgz", + "integrity": "sha512-YS/qEQ6N7qCnUdm6EoYRBfJUdWNT0PpKbbRnogV2XyXbBm2STIP1O6yrdZHgwMVK7fIYUx7i8+yatEixnXSB1w==", + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "chokidar": "^2.0.0", + "yargs": "^3.32.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "optional": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "optional": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "optional": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "optional": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "optional": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": 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=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "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=" + } + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + } + } + }, + "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.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "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=" + }, + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "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==" + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "resolve": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", + "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "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.1" + } + }, + "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.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "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=" + } + } + }, + "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.x", + "debug": "*", + "glob": "7.0.x", + "mkdirp": "0.5.x", + "sax": "0.5.x", + "source-map": "0.1.x" + }, + "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.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "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" + } + }, + "swig-templates": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/swig-templates/-/swig-templates-2.0.3.tgz", + "integrity": "sha512-QojPTuZWdpznSZWZDB63/grsZuDwT/7geMeGlftbJXDoYBIZEnTcKvz4iwYDv3SwfPX9/B4RtGRSXNnm3S2wwg==", + "requires": { + "optimist": "~0.6", + "uglify-js": "2.6.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.0" + } + }, + "titlecase": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "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.0.2" + } + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "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.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "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.1", + "right-align": "^0.1.1", + "wordwrap": "0.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=" + }, + "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.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "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=" + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "optional": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "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.0.7", + "bluebird": "^3.2.2", + "cuid": "~1.3.8", + "graceful-fs": "^4.1.3", + "is-plain-object": "^2.0.1", + "lodash": "^4.2.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "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.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "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.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..d75b1e5 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "private": true, + "hexo": { + "version": "3.8.0" + }, + "dependencies": { + "hexo": "^3.8.0", + "hexo-generator-archive": "^0.1.5", + "hexo-generator-category": "^0.1.3", + "hexo-generator-index": "^0.2.1", + "hexo-generator-tag": "^0.2.0", + "hexo-renderer-ejs": "^0.3.1", + "hexo-renderer-stylus": "^0.3.3", + "hexo-renderer-marked": "^0.3.2", + "hexo-server": "^0.3.3" + } +} \ No newline at end of file diff --git a/scaffolds/draft.md b/scaffolds/draft.md new file mode 100644 index 0000000..498e95b --- /dev/null +++ b/scaffolds/draft.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +tags: +--- diff --git a/scaffolds/page.md b/scaffolds/page.md new file mode 100644 index 0000000..f01ba3c --- /dev/null +++ b/scaffolds/page.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +date: {{ date }} +--- diff --git a/scaffolds/post.md b/scaffolds/post.md new file mode 100644 index 0000000..1f9b9a4 --- /dev/null +++ b/scaffolds/post.md @@ -0,0 +1,5 @@ +--- +title: {{ title }} +date: {{ date }} +tags: +--- diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4.md b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4.md new file mode 100644 index 0000000..accb2c0 --- /dev/null +++ b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4.md @@ -0,0 +1,220 @@ +--- +title: 在 Proxmox 5.4 上安装 macOS High Sierra/Mojave +date: 2019-05-29 15:17:17 +tags: +--- +{% blockquote 翻译自 Nicholas Sherlock https://www.nicksherlock.com/2018/06/installing-macos-mojave-on-proxmox/ Installing macOS Mojave 10.14 on Proxmox 5.4 %} +{% endblockquote %} +{% blockquote %} +以下教程以 Mojave 为例,实际上安装 High Sierra 与其类似。 +{% endblockquote %} + +这篇安装 macOS Mojave 的教程改编自 {% link Kholia 的 OSX-KVM 项目 https://github.com/kholia/OSX-KVM %}。那里有更详细的文档可以帮助我们启用一些额外功能并诊断问题。 + +# 必要条件 # + +假设你已经安装好了 {% link Proxmox 5.4 https://www.proxmox.com/en/ %}。同时你也需要 Mac 系统用来从 App Store 下载 Mojave 并制作 ISO。 + +Proxmox 主机 CPU 必须支持 SSE 4.2,所以对于 Intel 来说,CPU 必须至少是 Nehalem 架构,即第一代 Core i5/i7,更老的 CPU 将会导致安装完成后 Finder 重复崩溃(图形代码中存在非法指令集)。 + +显然,现代 AMD CPU 也支持 SSE 4.2,同时可以不做任何修改的利用这个教程来安装(Bulldozer 应该可以,当然还有 Ryzen),但是我自己并没有测试过。 + +# 第一步:创建安装 ISO # + +跟随{% link 这个文档 https://github.com/kholia/OSX-KVM/blob/master/README.md %}中的步骤获取 macOS 安装程序。 + +``` +./fetch-macOS.py +``` + +选择你期望下载的版本。执行完成后,当前目录应该会出现一个名为 BaseSystem.dmg 的文件。 +注意:现代 NVIDIA GPU 仅支持 HighSierra,(目前)还未支持 Mojave。 + +挂载它,复制其中的 `Install macOS Mojave.app` 至 `/Applications`,然后弹出。 + +接下来,利用安装程序创建 ISO。 + +``` +set -e +cd ~/Desktop +hdiutil create -o Mojave.iso -size 6g -layout SPUD -fs HFS+J +hdiutil attach Mojave.iso.dmg -noverify -mountpoint /Volumes/install_build +sudo "/Applications/Install macOS Mojave.app/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction +hdiutil detach "/Volumes/Install macOS Mojave" + +hdiutil convert Mojave.iso.dmg -format UDTO -o Mojave.iso + +mv Mojave.iso.cdr Mojave.iso +rm Mojave.iso.dmg +``` + +ISO 将保存到桌面,将其上传到 Proxmox 服务器中的 ISO 存储文件夹(通常是 `/var/lib/vz/template/iso`)。 + +# 准备一个 Clover 镜像 # +我们将使用 Clover 作为 Mojave 的启动器。 + +下载 {% link 这个 Clover 磁盘镜像 https://s3.amazonaws.com/s3.nicksherlock.com/forumposts/2018/clover-r4674-amd64.iso.zip %}(用 {% link kholia 的编译脚本 https://github.com/thenickdude/OSX-KVM/blob/master/Mojave/clover-image.sh %} 从 {% link Clover r4674 https://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/ %} 制得),解压并上传至 Proxmox 的 ISO 存储文件夹 `/var/lib/vz/template/iso`。尽管扩展名是 .iso,但这其实是一个硬盘镜像。(之所以用这种方式,是因为 Proxmox 提供了很好的工具来存储和选择 .iso 文件) + +# 获取 OSK 认证 key # +macOS 会检查是否运行在真实 Mac 硬件上,在第三方硬件上会拒绝启动。你可以读取真实 Mac 硬件的认证 key (OSK key)来绕过这个限制。编译运行{% link 这个页面的第一段代码 http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/ %}(需要安装 XCode),会输出 64 字符的 OSK,记下它。 + +``` +gcc -Wall -o smc_read smc_read.c -framework IOKit +./smc_read +``` + +每台 Mac 都使用相同的 OSK,所以不必惊讶它看起来不像随机字符串。 + +# 创建虚拟机 # + +通过 Proxmox web UI,按照以下步骤创建虚拟机。 + +名称随意,记下虚拟机 ID。 +{% asset_img 01-create-vm.png 创建虚拟机 %} + +选择上传的 Clover ISO,系统类型选择 `Other`。 +{% asset_img 02-os.png 选择 OS %} + +设置显卡为 `标准 VGA`,SCSI 控制器为 `默认 (LSI 53C895A)`,BIOS 为 `OVMF (UEFI)`,机器类型为 `q35`,添加 EFI 磁盘。 +{% asset_img 03-system.png 设置系统 %} + +设置磁盘大小,总线设为 `IDE`(注意选择为 SATA 时,安装完系统后主硬盘会显示成 External),注意格式设置为 `QEMU映像格式 (qcow2)` 的话会降低部分性能,但支持快照等功能,缓存改为 `Write back (不安全)` +{% asset_img 04-harddisk.png 设置磁盘 %} + +设置虚拟机核心数(注意有些核心数可能会导致问题,优先选择 4,可以尝试 2、4、2*4 等等),设置类别为 `Penryn`。 +{% asset_img 05-cpu.png 设置 CPU %} + +推荐设置 4G 以上的内存,**禁用 Ballooning 设备**,因为在 macOS 下没有驱动。 +{% asset_img 06-memory.png 设置内存 %} + +网络模型保持为默认的 `Intel E1000`。 +{% asset_img 07-network.png 设置网络 %} + +最后确认参数,没有问题的话点击完成。 +{% asset_img 08-confirm.png 确认参数 %} + +切换到 **选项** 页面,确保 **使用平板指针** 为 `是`。 + +切换到 **硬件** 页面,添加 **CD/DVD 驱动器** 到总线 `SATA0`(如果主硬盘设置到了 SATA0,这里则选择 IDE0),选择 Mojave 安装镜像。 +{% asset_img 09-add-dvd.png 添加 CD/DVD %} + +此时先不要急于启动虚拟机,SSH 到 Proxmox 服务器,还需要对虚拟机配置文件做些修改。 + +用 nano/vim 编辑 `/etc/pve/qemu-server/虚拟机-ID.conf`,加入这一行(用获取到的 OSK 替换相应位置)。 +``` +args: -device isa-applesmc,osk="THE-OSK-YOU-EXTRACTED-GOES-HERE" -smbios type=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check -device usb-kbd,bus=ehci.0,port=2 +``` + +告诉 macOS 当前 CPU 是 Penryn(否则的话似乎不会启动),但是要用所有在 Nehalem 中发现的新的 CPU 特性,对 macOS 来说这是必须的,另外加上了一些后代的可选功能(AVX/AES)。 + +找到定义 Clover ISO 的那一行(ide2),用 `cache=unsafe` 替换 `media=cdrom`。 + +在 net0 那一行,修改 `e1000` 为 `e1000-82545em`,该型号受到 macOS 支持。 + +保存文件,返回到 **选项** 页面,修改 **引导顺序 1** 为 `IDE2`(Clover 镜像)。最终配置文件应该类似如下: +``` +args: -device isa-applesmc,osk="..." -smbios type=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check -device usb-kbd,bus=ehci.0,port=2 +balloon: 0 +bios: ovmf +boot: cdn +bootdisk: ide2 +cores: 4 +cpu: Penryn +efidisk0: storage:107/vm-107-disk-1.raw,size=128K +ide0: storage:107/vm-107-disk-0.raw,cache=unsafe,size=64G +ide2: local:iso/clover-r4674-amd64.iso,cache=unsafe +machine: q35 +memory: 4096 +name: macOS +net0: e1000-82545em=AA:CC:73:10:6D:46,bridge=vmbr0,firewall=1 +numa: 0 +ostype: other +sata0: storage:iso/macOS Mojave 10.14.5 18F132.iso,media=cdrom,size=8G +smbios1: uuid=43512f43-482d-4d30-af12-ad215ac2f7a8 +sockets: 1 +vga: std +vmgenid: 6575b484-9233-4ee4-afeb-9131e8cf7250 +``` + +# 设置 Proxmox # + +SSH 进入 Proxmox 服务器,执行 `echo 1 > /sys/module/kvm/parameters/ignore_msrs` 来避免 macOS 启动循环。若要使该设置在 Proxmox 启动时仍然生效,则执行: +``` +echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf +update-initramfs -k all -u +``` + +另外还需要安装一个修补过的 Proxmox OVMF 库从而可以启动 Mojave。 +下载 {% link pve-edk2-firmware_1.20190312-1_all.deb https://github.com/thenickdude/pve-edk2-firmware/releases/download/1.20190312-1-macos/pve-edk2-firmware_1.20190312-1_all.deb %},上传至 Proxmox 服务器任意位置,并执行下列命令安装: +``` +dpkg -i pve-edk2-firmware_1.20190312-1_all.deb +# 阻止将来被 apt upgrade 替换 +apt-mark hold pve-edk2-firmware +``` + +# 安装 Mojave # + +现在,启动虚拟机。 + +切换到 **控制台** 页面,在出现 Proxmox logo 时快速按下 `Escape` 或者 `F2` 进入 OVMF 设置界面。如果键盘没反应,关闭控制台,停止虚拟机,再启动虚拟机重新进入控制台。如果按下 `Escape` 依然无法进入设置界面的话,请确保虚拟机硬件设置中机器类型为 `q35`。 + +依次选择 **Select Device Manager** - **Select OVMF platform configuration** - **Change Preferred** 修改为 `1024x768`,**Commit Changes and Exit** - **Reset**(不要选择 Continue)。 +为了避免启动时花屏或者挂起,这个步骤是必须的(Clover 分辨率必须匹配 OVMF 分辨率)。 + +{% blockquote %} +请注意,之后你可能会发现首次启动虚拟机时分辨率并未应用到 1024x768,直到你在 Clover 菜单中选择重启(或者重置虚拟机)。当 Proxmox logo 由于分辨率过低而填满大部分屏幕时会注意到这种情况。(*注:该句意思不明确*) +{% endblockquote %} + +现在应该正常启动进入了 Clover。 +{% asset_img 10-clover.png Clover %} + +回车启动安装程序,选择语言。 +{% asset_img 11-install.png 安装 %} + +选择 **Disk Utility**,选中主硬盘,点 **Erase**,输入卷标,分区格式选择 `APFS`。**Encrypted** 似乎目前无法使用,Clover 还需要一些特殊驱动来支持它。 +{% asset_img 12-install-disk.png 抹盘 %} + +退回主菜单,选择 **Install macOS**,按照步骤开始安装。 +{% asset_img 13-install-start.png 开始安装 %} + +第一步安装之后,虚拟机会自动重启,进入 Preboot,然后再一次重启进入 Filevault Prebooter。(PS:主要耗时在第二阶段) + +至此,安装完成。 + +# 把 Clover 安装至主硬盘 # + +目前虚拟机是用 Clover CD 启动,我们可以把 Clover 安装到主硬盘上。打开终端,运行 `diskutil list` 来看看有哪些可用驱动器。 +{% asset_img 14-bash.png diskutil list %} + +使用 `sudo dd if= of=` 来从 Clover CD 拷贝 EFI 分区覆盖到主硬盘的 EFI 分区。上图中 Clover CD 是那个较小的带有 Linux Filesystem 分区的磁盘,主硬盘是大容量并包含 Apple_APFS 容器分区的那个。 + +我这里这两个分区分别是 `disk1s1` 和 `disk0s1`,所以执行 `sudo dd if=/dev/disk1s1 of=/dev/disk0s1`(**注意:如果你打错了分区,将会擦除错误的磁盘,需要再次安装**)。 + +现在关闭虚拟机,从 **硬件** 选项卡 **分离 Clover** 并 **移除 Mojave 光驱**。切换到 **选项** 页面,修改引导顺序为 `IDE0`。如果一切顺利,你将会看到如下画面,然后选择 **Boot macOS from macOS** 启动系统。 +{% asset_img 15-done.png 完成 %} + +# 睡眠管理 # + +我发现无法通过鼠标或者键盘唤醒睡眠状态的 Mojave,你可以选择从节能设置中禁用睡眠来避免这一问题,或者可以在 **监视器** 页面中执行 `system_wakeup` 手动唤醒虚拟机。 + +# USB 直通 # + +Proxmox 有{% link 一篇 USB 直通的详细的文档 https://pve.proxmox.com/wiki/USB_Devices_in_Virtual_Machines %}。 + +概括而言,在 **监视器** 选项卡中输入 `info usbhost` 来获取连接到 Proxmox 的 USB 设备: +``` +# info usbhost + Bus 1, Addr 3, Port 3, Speed 12 Mb/s + Class 00: USB device 24ae:1813, Rapoo 2.4G Wireless Device + Bus 1, Addr 4, Port 1, Speed 12 Mb/s + Class ef: USB device 05ac:8290, Bluetooth USB Host Controller +``` +然后 SSH 到 Proxmox 服务器,执行以下代码来直通想要的 USB 设备。 +``` +qm set YOUR-VM-ID-HERE -usb1 host=24ae:1813 +qm set YOUR-VM-ID-HERE -usb2 host=... +``` + +重启虚拟机即可应用。 + +或者也可以利用 Proxmox 的 PCIe 直通功能把整个 USB 控制器直通给虚拟机。 \ No newline at end of file diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/01-create-vm.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/01-create-vm.png new file mode 100644 index 0000000000000000000000000000000000000000..e733859484646cf80089181295e8f8dc16353af2 GIT binary patch literal 43594 zcmaI6Wl$Vlv^I(b1|J|e3>qAQ2iJiiNYJ3cg1fu>;KAL41b26r07GzhcY+1W<>Wo* z`+0X&S65GU&t9^ZJ!^$4eS%=3k)XlB!C`)s0jt2lAqK#~!J7k+Uw=9DeW`lA!8@ry zB;YD1$PQm0kj%st#Nps-V$q)r-@HDf+RJD;!NK7=|IY=#W=i1>2lr$BBUoI`UGHQS z)j(~wL-fKf`6Fk7aqT(!A|*Tmkr)tG+FbwDN3)^fSMm$1P0i=!)+RQ5<|TEVhWsie zIiH4#Mi-A?bDAmCB5!CZsem&6C#WOFigY6^X(Ky+6Ip@@BgP2u)U-Q~Q++F5XIUdZ zvvxDrh4-_!HKy12i8iq@u&^W?S9_NNYgZvaAum);>Ze4OmT@Q1a~Dz3F2mzB@7=87 zA1h|mbqyK@`Z`E^dxKP(&rJUw8~f0^#H|EcM3afRrJ*4x`V^G^T4poAOh7iON1hqGqn&q0Yn zl@0_;3&6hENy&%mwSNa`J}Oj)6j2H@4SR&aqkI13-LIvu!(o*c%gKd6(|N#%x|#rl z8J_%++@>ZCUFv+*-2We?@7 z&YJ=F_%dBv;w&sTlj4(a=6gF|QPyC&uJ9%B~2vW^`=kbw-@7{fKJdpR&<2ccemlAk`KQ0b|~(d#VT|Mi^V3NLjBz zypa&!n%6^n-FunA6B&XGvg_>{x}?&qJKsi3^@S8)&olWFb`a= zBZurM`DAA>U49IY#fY6xJs&8rh~@tQiqw4Hbh`9mV6CGmpme$4|HEf2Z``20Y0o!9 zwjQB_k~e+N{Mbg@fB3D`VM8+k9~sIgW2O6A)mcx zzN&J5`|jqO_LzQ~`;*T1UP9jduok+`$ZXwHBQq%jw$Fi&9(}g1eiKY%p-qw>6o$3n z--4*1V8gyRa31WAMy1RsBZu)BF+zkpX$EeZGxv};S5gR~(}kISf%Lt2fEw&gr@#t< z!7M|kK!6VQpo^VD88lK)?-XC+#G8RUN}8j$fl0p3Y829LV79G_M`d2h!0s9QOZC{n z;62H({xBaJWZFPk>eAk((HQpL#Qv<>>Z_=(A~rXa%#N;EK)_C z(3n6J_BDeK%a`s_p zM*)O^5dLX0_s1K2h#-)Gy7l(kTNe3Wxov&OKJ^Tk;G4n8Nv*qTIu>yJPh9xS7Ew5X zSir|Q3XC2}lR_(D=4#@{3`uq;&+-yI&jYJoP=VePYZdO$T6Ab1WXg8FTT~`;!|+W< z$ujgIq@{|`aC(ng&~|~Q6q$qaSghcH=WT(4V6A+LbruhU9U0i$lL^=Pna}k*T4VE} zOr%Q|8F}!J7K9{WPvgj1mHoOW3g2>XT>O*KXLVXOc@n*~i0-nMWs0fGP1vyKbT;P# zXAwN}r2KGBTi$1rj_e@d*1Qe(-p`27l#y0S>;W1Kec|=TFNSLmql1d`C zSt-xpMucp6@trWg>r}F#E~%pUZlR5Xru|$6>^Ke2UoT7K?a)tm9m=OrLT=PWsJ@WyRus1}?K5=LUZpEc12L|6G^@pTR zDd}NDz!(w;h~UC@(D*H&Kin?z*cZzPJtjS90Pn3R5*D67x&k03I+Rxod_z9Y4mJ3h zrzj;YjSRMr5if%-jHPc7ri3OYy7vzbik;hmSE+DlAX4FvBm2~y;OOXT^RIE~>4Ep| zHTuvu(bT`(z=INmd;lv&nk5V$qM2go1`B+RLk%pQ)c)R_RRFo*n+WUY6-6YfARE3F z1BhA_7W|b<#3Omdft33L_jkH}YC5{Nh}4>82h-HNU!G*JwWp>Hx@)rG4-!6o$`}GHER~A;$QOlDh09t z$Wl~vdWtEF*m)cdP=dQ@iw2mbBo0%P6*6r5MMrNkDBJ>}*w^E0A4CKXZ+aoVoX_I= zGC!U^5ZH$G(U1y|tl;T`OjgMq&Pk)0m@}UL^ig6#jG2ik3Kq`!W&6W5QSA$i5EwfQ zG$Y>mLTFM^(jG<|*&6Sb#x`0aT_*j+8ZB6*KjU*`b!3Q@5qc7Z6dcYeo6Sxxy9tFx z6W$cU*MF$*B`XQyrG@jodZGSRvv?{C$9Hn>UihLH#K3F>B%lo%fLD$flg)9;@RLE> z+NQ=Kq16k@0mOWz-Y~C{GAYB<&Z6*)`J6XL5R!S#7knSm7GMMTw! z{wF}vS%ru@`wkO8uvFx@jWPEgcvCa)T;D*vBZ4xFA3vy!JuYi zgx?f*z2~~~%(&e>j6*5A1_%82z^09oH z(Mc}qGah9hft6AcH}YF@;AIqPa?R6lW=64@Af~ znj$19_KsOu?!UX1X#+8ilA|6-^L=~N}Ico*s;FCjRYRMOL)FYRcw7Kik{MmwP z%fI)?d_N3o2N_)(*DZSQwZ+e@&>xNIt@C8@0u6n!lu;VE&V>HN zGIu5fWUoLdNP=aQo6e6K3x;Uc@c|E?8yc`j*Rrz}WwaU_w=RkyQa}!&K$p`LJ|lRQ zUa7DP8rabWk5Y=j;gem4s;M>@OCBtq5R~ao z{`4T#uRjOxqsN;cWOGn194r7qb1df9fqn1XliUhp#BZrZT~B+*2U}K)8SQcY`4Ov6 z%nTE2_6?;`quFm)QGwD?7&$*)+LZW~gDiL>If|Ir0oICe-f5Z$g?sNIO}F(WZPe)q zcal+6h<>qE9l5|=n0Sk0WoI!uC<~Cmh%ifeX{4$Wu=bsJIBLGNO_8rZ>|88Kw055^ z;)7atInHE_YHXU;RNo{~>yN4~ee4dtPcd+!3#`uo7(FEqBS}6Bk*?o|BPM~oFDWg-1aG)VG}MvhI66d{;)E;O2GY+d;m1!?a=aCSWNOK&7cAx z1#9QQmZo6&s=3u^sBR9___7ec%lqI67v4_(o?$54{3~bL7auR^fir`Ny&u`$NTpx? z=!)kx5!r~A3{X6U#p}^%KiovQ-FYUr_pNaG1l8EgT&~tIG~Tce<{9BCX7Q(HArN?^ zY|6CT#VGNtgUHTH*2AHLgo|gCM}9!~?$qHPMY60Wzn}&rt&3c{UB4BUiw18!Zg2mvx#*x~)>xhfIK7HQ$$xVFD&bo!rPz2wfIy zZ8WSd0!FWF!6OejIpyechU^~5Md5b_2dge~=*zv195ig;_7CHH&h-?GeMdPH z4__du_Zj(Yg|l>1=M4iUc`LT^j4(YJ_rKqcU^ z)}!y@Ti04LM3PD4gv3fwYq$(C;(Z)YB4carIGK-AjL}RnM9L|`BXb`iZsb_?hu<<- zw@}`h!Rhi8vcFavtyOXv*5oBWEJIr4!kSNf>$UN|WpK)7wKUyeK_5*3+QXBmZNpv>is+ZkTZqAfzpe;FUa%r{Z0&cxcQx=zP&pWgar*s+5kq=LWveJERH2~J?ML-fCTu~5Dgz< zfd>9z;CZL_=+)SqmJ?Bt`K3`AZ&@40Es4_7TWIEC4a|8qubi2zg;*JsKNyL+B|$9TM5RuhV(h^{-fci@C^-X2x~?(!{1`aq zp3}&c6vUjK*)DpG-*i_4RnQ?Wl20DKwKe=?sA)f-*iJ9n7}pKCjibRO#MIrwpP2t% zMlk~323Q%@;UI3IB1_Ry_26%O9m`J0r)6EMZnNp!CJsO3Ig;6Ff4I z8+LF@P#sk(w43_|txuClDPDS%63#0{c_`-wmxesT)>XzN3g_Mt%I9~&09IeV#~xn> zzvyxEQ*&^!;%48t(JM2aG|(`xxHBlJ9x*>dv$mB*4?g4nG?;Lq<_oB8CnVNGRq?= zrR#L?OL5io+h-df{7dDYZdP%7Spt zl;|c!^`1-C;*xwKV9hA$05e)T2e5%R5gXbtg5(ol z2VN@`pA-S2h&L)I`7MDCyWU-BQS?QIuotXEL~IOk>%(yl`833RW1aD|X(6Z<9bmx~ z2Rw3t8{ZoHBJ3ZPh6>>1-H>r3Dk_F}wg>c4Os=>BW)X=~({f2446ofW?ocLv^J5O5 zk^`_XU6D;dC&?m6gCj$YkG?T_v8*~$5Rsu8;LwH)kM&0nnJb5>vVtN1h(@vR3V84d ztseJQE}$@@?5;JAuNiB>wMPU<5xa-kLtq;d8>~^>fcD?sqay;gKt2N%?K64AtKV+} zhrbgAzgd`KMk~k*6(eOKKtXWXYA(|XSOOgQB&YZ0VwxI#Xq9&jJ}}Ciw*YRK;lVp+ z{HhSkUNxqaNx%sb%fB={w@}yKE|MB^RG85)P8wT7lr%yqClSWQ&0i7zhAc%6$yRoY zGqLm%!-}6R!dKPdZw)k~{H)vLLLun_VgJSTm1@$CdAEaAdd90=(P&gaL6DnE#Rq$o z>KOBsz6;KPkOWAq$CKhkbr?HIY!)1c|@&tpvRmr$p+Ig z{ze3my3j;I7qnGiyI&?!YK|PI+Ih?g; zX7R2d?hn`P*FWUedbo=UK~~g)IUZ=C)4X;bCvMHkwG9zzXjv$eJ983ygDx6CGkh->~S78 zg>0NM^@5U~k?4bV8#@q$X_Nb#?~kYTYb4@J=7#z@33@)?fQAN=zD5O|Mqi z;_Q#_*`2-)-tq^>97gQ47@Ig8(C|wc0S}A^!$bC7MGDO4>LK#CqF*b_>q4kTe`{ue z<0-`S|H$GFA-re@M^f-5+}FN|yqjF7df&_&DKU!B^$lpw9RNU^qg3*(envJpI}8z4 z(gUA6cn>@pA06YLet zyM}j4!vq_>yeqLA8MRkT_&9SM2wPu8^Rh>(Kad)$ktVX~fkLrDIx0X4F`BgD0vT6Y zN=JdG7w8Eo+wL!{%73|CawW00sF{j_w(690tiWQ%Q6=3FDgkYfD$Y}+fA8nN*IIu` z)&IH(-!j~caL`(5;E`yv5)rvRogOsZ_KC14(njJGiDzAD2`33;o5lAG4143XEF~90HH5?P_lG&uiy=%JiU1%>r5vh1~sCp|k8`&W1E(ASLN`;_1X&24B)%=@vST ztIi~$l-gWRi$O8OF7E7F*^8kFV_-n3zuHYp07 zS6e2;H*GHfoPW#b*7yq@>F!QAP1`tIhVg1eKqWT=weBLNT7@&6V4w&@}T63omx z=V>9iO^6$U9oGfg{9ES+L}h^te}B6*J%!VbY)rJAMR8`to(&Y|_@V{%_<#Ebd>3I1 zCj7>|*Fls{mZwa*Ryz|Uj6<$!CMeFj1Gn32dI>BX1(X9xa5YlK;isP8UWoSt@+1PJQ z63_XP?B@?p`A-;A{gm&gr$b&h#_9Uuka0h>NOEBLtZKL0%Dm=;5|GX67jL!LFz$gv z^`Gz*-g16&8nmabOt{QAL1ub!8gQ(%&5LhOQqICfYHdakIqxSB`$tiJ_(xd z;FIJBpp>w>H%fFGBLBO)P^A@IR!s(UbH?N{7V@G*!XXvBUu(wxp8&ylv1RBbZKNf& zEVi?7O2n&DPc(MBO7G9CUOjw{{91+oD<=I{pn@f0=&yGdn+zJvt}SBHnmEvSW$kTrsxW z;m=v_qWRjb$b-B7AA5Y!I#kr$|fosEHIsA^S z5|5(&b2K)_(UIBkD;`DoQbjE7;$!_#efPKYvMEBu7*TbXon^SOfO6+_F7WRCf+~lT*?!`UnhmLq6V*|B`VDdOz-d7LJvuml_x?cO(1B z$ARZ%wS=WK@FJv4^_yu^x4Dagsa^kh_Bnz`PR#jUiB>!v(nBtsi-~vr8DHRUx5v%K zOfhhYhvdwDQ6(nF*Ree#cdtFzacyJ6mTCbqdM!0h`Hs6I2*uli&Nidc)I%v-GL4{Z z{yWvDalv~%eo&c`hR{#F%s`aAurjNE=EtpP418^rhL!Sid9w0?kGP@O=+g4;z-y`i zSZNKEtbV|}rl4RxbPt5yD$g7I28EjWQ&?20Qn2}_%FnP_+-AG=P8`+%$JHdEDs*Rk zJO&TxNVcI!km3Z~QB%W4m@t*Q(PyG+Nu(e_aP{7gQsgpUouHtj(ho)%_!Kig4olv| zCfx|?beCqZ-~AEbaoOaLyIB#ebTMmno7B`4J%r!32x>!U|dn2q_ z$;Ahwyh!}y0=vKPu*VWj;>%ykBi7vr-TEE@gp} zH%rOTt^d(cYj6DHEc4^APn(pI=B%X(Xj{!=$Yv;V+jy4yXM$4~W3IBSty(G8gunm114rs}NUJq3wzJI=D z@NKQq&?RKS!a;hVF*e5AynGkBEvR8u%1AIKwW9D(SKEquh?;9NW%Y2QR!?ZZXuz0j z*sfuSSQLhdKNFUBL>%=!a`eh{Juv=g7WX=_E1utvYq0EV=;)L=qa?XGyF6c?pdHDg z6R;?qJ35wQx-{Qa`E;vHvgIO{tSg5cyTW0=bg`62;VZ9BSsFjRzZmRDOFb_TEJjz&Lf|7lTs+6%PL?Ep1dpAB@)dZ)aH&fhU$oUvs+AmTUMTfy=AD3S$H)&x0< za#d<`Au{Xslv{K7K!oKC@B`{}$(EG(M-?eMf6tPEpK{zgq0-}{Nc$opt-1fSJ$27u z!_72*rw}>ERN=+h?Dg0FeUa1~Y8pBs&(n*sUr~GTGxa*k%N9esEr!5N(ngK?g2uk6 zcUsEBiXgA7)md`q$!uYmId@-c&?s%2Z>z0vTj;}y^AWL>=UR4svgbQE>n!4E`cPd& zBLDir9}C<*aH8IYSYAT{FLF9Gpykc(RehQ66IBZE{?2Yh?&#_g!><$xuqhOvDSRa~ zeb?(y;Ql+MsBC^iYG6BDXS(L^9N&{lf1bW35q<5$CxNj!u)$d4e3Qn6`(*)CPNV_#b(t4?unF%vR+nJ4*q83yw z-w1VzJ2%zy>yKp%v|p(6=((RV=#>BimW%10SS7*=M~*6AdSGFp5pRQm9{rMmna4E9 zW#PS_(Gf1sSIPMpM421K$=<@(E%?ZMjd)n1X4g5xdmCj{6@P4z>W4dz^`B}F6Q;!u z8c0llM1G=_uyqRJsUDdqSZ={&Oi;AxwKlnI{1~UAZNjT5@4ikUa0BL%nPOd-j8FC= z)}?iBzkk7F*pIkanVL3t6Ur+gD(_?>_*-WH_u+3Hp6KdQ$bKVcVNU04I3|98W{YQQ zo!|j#J%P&>M_qHpasPN1>rm;s`bN;F8gXJJ>B_O0@UHOkuIJ^3H7KSd#d}A!@hJKj z1G$WJ4&(|i=4wmHwB{U{zszk$+LsGuHd_rum*<|u{SQ>Wo_xvDOE?_NBosb8Jwpe% z^hG(OG0Vu0%9cRCx>@9YqzB(jCK|mXoF-wP=DTq^BE^bF_J6T73z;9=K-1oz6Rm_c zs8vQ6&XnE)hnxgTSAbbaeV_1=ZA_>|;f&@kX~(B82r+3$fV^P9rt;&KZp~_HYfv@` ztLdwt^!N$jo1e>$y4hr92T$o2*^4K``^VMIU3lS-CFi-j5_V zW0Ys6Ko@IxPww5A&mOOlXyRRYjUdsnK7m{Ici5&IgT}d?pOI3gNbat&CCe9TCIg?q zI6_0gTN%Eq_kMq^L48k=|AnLM9q>g@z{{Bh0DN zrZ@N%(da-{fZe;%#phExVCk2G%JiNTn2KK3_3-TwtuUbM+2(%JuT7gw_!rkr^T0;f z`=3zt^Mf7^N|dMmVyPkfDRlDtT%Ba$$NigBjZf3+skq38P-t7=|a&;yrs@HNc z0>Hwz6hMfzoH+g;KQ6=W3WIi)L=*Va9)lj7BMXXj?^gIa2)eimUbboY{*J4gS!uLk z3O*qM-)|Lk{JqV@gWU-QIO*Gpm$k3Eqbl@F`hE-e>upvtFqPGr5c4ehv*$?7MgPaN ze~O-9#BnyqM&~C=5gxMl>jH?_KLsbGyoEa!rVhiNz~?fvP`|F_u=_Vt_LCG8nZe6d zkps~!Bs@X?lDdiDg=$L8Q!Eo|cg0mx6s!_mu`YI@omJ;d}zv=twh-| zPlV>=QdN&zRiwH!ih|r64eRy&yf_JV#^nbj!$vc9#(LjhQDL6-n!8;s(ZquqWe+_?=o#&8P*sJBM)^ zhVx}BawX8Q+CAEJ%zpDck}UnB|B#We<|&!xuEzMiMJxpYEk*IWpE};$woy%6g~G@u zd;(BXGq9K)-yT`gbe8AEkA<7*)ohQ6>wum=?DRuek$|0Fy;5KhFZ6+v#@B75pU|rD zjAN@9U%j5M3iC}M?q$|z;(LkEIevi>?Br}L?~7ZUa!&}@Ax8blrtJx+b=mvZh0o32 z;eK;)43a_J_s83b8gkybtgRA6cpI_tS(pAFm#Qh`#geg$F)?}>Uex#LSj-r!N0jW; z_vq-i8u9BK*miPwE(-tuL0Q+cBSnOs6*ntm+TerbAgzk6t8J@-bF~of5f_d`!vS z_PA(YI|Lqg`U*9!I|cgu4=26$;aDv(95urQw(gJNF>3NAG;D{glMOiGe|7MrvpgH`_cnp7 z2TnIMtF5uh29Yi5&Iy}kGkZ+p@g=e;B*tzSmzNBo+szuCqat5`3-ASj&`iyJ%OwPI z+Y{c+_0I*E(nf=8y|(Q@{Lu5v51}7m>!Hb?{K~V*LqBwKk)Qj?2~CROz>QKmdQh`v zr3Irnk!${)sL9J^h0V6}#n=1{PU+{+`&MZhB~8|)dJK~L=K``F@p`|33Z+s;isWxW zxI3|9PJQ3#13TC~w9*LE=$l4-b~>*_{@316G!WO#IkGqvH?#_nwBTh($DDCu*sMJY z@g^;}?>|)&r-=F?O`fvn=BrLD?&Ah8)=9EIA{F>*>-=;-$tAuSI$h-V4>BPjivkQ< z&;Le`?XzJnu(x?IpZ^`+<){31O*<{B9PcaGgvf$F+ zaa^B$?>%{*#?ig)Sk&EfA3JO!o;!61UH6&m{z%_>wRTNJK`{)s6%$0@tn5=)xLArX)CHrR=p!Z2bS9;KYaLTWyEYJ^#=tPX4!^tu zUi8`Pz44^dq8tysFxh$w(+D|+RvF2~4-r&3qYjerIfQ*sAPi3LBF-xLd{ z*~S7<-I%(o6XYi-G-pL9{ALqfqnHv?o$Tp5j^Iv%PoDP5eGB-YV_n~hOK<6@yCFxB zq@|*RSP=PZHMg&O;xZFL7lpccR*#LGFzAsR;HIDCkJHz?5Y6X4gJhyDVFMue4xzr^ z5z+rA5@#|_VB-9ndiZc9|fj--l0}78_O;+ofc`BI%w!L>T?Q z_tE%gDZgd?FFsNPeC-bYTdIJd|HX3{gT?3IraQ`{%71abCmIXvbnwvJbadHr??P{)eiVtNc#+ zdz|11EL3(v3PS{BBtzK?>&!*VP2Xkw_XZvR-w1KP`AIP$d4N;o!@LorMVW z*DbrT*$|cH-u)X1LP1QA>8;$~$Kp)@tnDo#r2nw2Ec7SIEwisLQDAe#lLHPE18HrH z9U=~2ad80ATfzQA9K0g8v;Qhta6)=lM=^0UCMKV{PSDcmC+9{|*z3HGoD;eynJ2Au z7+g;~-G3^5-T$0|EVTN9{r-*=n3@btWhbxCBf%gNG$dBL3j`qjFF(KV#0~hU8=en1 z6(zN0xvxEid!Jd@kq2oaYAF7L+W4i2$!FH=AW8Gn!jYo2 z|CpFEEk#&RlUh{kyee=K4-g#mr$1GuB?Ttaa zsg~aRI+59unvfExq=Sy3OLxsZm%oTparS>_Ax+=uCa&jJoV7RTd9!-iP$Oa7RMqy; z({lp==zj9}J=2!io<89#bm>>Yw=!3?C-2)*Bi?-H8w=c z;X43%CJjyNOZWqmDO=> z-=_T}_JOcsZhMl&n#E5%_r*O+m&2brH-$ngptZkX?HkSbtfXJw z+3AO*+nsiI$Vtu!6{izc^_8B5)oeqGU$ioa$hHJ&u%LYrog&QTbTm<`SqG?-Jx|wp zidi}uZ$wIG4SU*+4`x_GI>>kb&IgyE|Bhq-IAJu5*6zOBhlHU$wP^Ku-WxSkL;!=t z#fFxqR8#~(p-19-XsMQSOl^LRJF|S61{J-^I7ykvC27}KVCF7A-(uS*4Bl&3q5&K} zRB_M#U=JUshYaP1kM!}$dsK8v<9J;kPa%zYj9b(@^ieMg8Rp*4*_2|4(Lz3}s?n!~ zFR4w&B)yqB-kijv%KIrX?ZJj!mA1P0b_KFcWWN)FX341YM|RcrQH9Kcx~-DGe>K#E zGc^vQnltZ@nG?q;zuw%;%Ibc?Xm6rL8vN7-_>1t3jLYARS8c=LrjvgA1UY~@_d%MV z(WeslA;Nv4@adcx*3pW6$ELy+%GgsU*BLya59;m9K@TuFRs_~jVWa%L%NSO=BZ@XT zrfEJq)b(dj6BU{%-;*WQZ1*OS=s#^AyZV;GgYDtrk(!d^4|ID6{`?2>#Z3y+*Zsio z3rn`&M`ixj83lIhJ{r-p!4H4Uc41B*g|G=Hp-LKb>3ZCWWD-Vy;eOiavj1pNvDd`t z1xJyVL`tY>GW7QL0h!`I{pfIaRG%nyAv7>7#cEu0B@#9T9SW-ltDkxsOSfTtM>dS} zL{c2)ePUB<@4$o1@)RTe)X7A)(x__1N);S6{1t&#sy+_<+#Foqya`_oh+1Fce~Ob% z?L^YZa{g}bnmTSuCg_SWK0eMKu}sg;?h02-sV|09yqq+4}LNzX=9;HE^0T)yA zIOZdVbowgxzaJGMuExwYoDAbLhvr8lm~PJY%J^_^Q@aK>Mbo(hnq_KO=V zejvFl7?2I!N+^z3c5FDOR6_Qt1H+m=qdr((480#8ykjQZ-m>V^+5NKTb1wDd9rC+s zBQq}^{>LwKMUKsA_Dd+BMjVDv%qY^3$H9-F2*`C3}lo1r}PHeZr(%Zi0 zc9CHBS30;b5QC+Hm?mc^BB$WO3$Mup=2N7dopsBVciC-QKbRfsF=8oW^r6RmO6=UH zaZM__;cqkE#~i2Zh7WTDdF@iR-vSDWU#1N8;B!D}PQQU40*;v*lO^v<=<&zueCj>X zYJbfVcm>LKVjz^cXzG27GVmfKiNT~~6GrZ-WNg{FZCv<>gEZ=2USI!~k&#gr4GSyu zY5eryK+MB~Uqw|lE^brklq#tE;lXqFj+eIokM6ew<)(%P#>YO6fumOWEpa|Npa5oI`@6An5O;%hZ=w?pq& zWD^;Myc+XCP^a@tzZoQPL$~?al ziBA#%lcNZLW`BE^tns|Mh)Wpf$l+?!jQYXHhvC`ud;og!8K^CLaZ=#d7u~d8QeUqX z@e-pDO0hAp-~XU)a5;Xr+36KpTs86AJOmv>S)0}vPV@I`Z982+4d?B|09XF!@vi22 zPIL=zQd&as^n4@MubD{nsrLT(>z_qJ$%_I%g8Yk|ztNq@R3Ooi0nj9ojM!7V7otffk6I=@h} z{EX@q`wAjpB{<#>&wX!6awYYW|C`1vuD;3_j^|jh07QhSt(G@$jBIx5247sK7HfEffwmryU)El>l&*Ra(RM z7bz3Hp5lPwe6+HFIDxT#(Rso#EO@rT$cXo_;G$=}YML0)oPJ#seWU+TaazJ)0Y1od zK0q00t*V0Lg3^Ao^^#S=DT%CgLtl!(VAVc;a-^@_fg1}9D;NB+=%v5nYnXU|rxnue zWv1}rn)WtKAT8X&N=0@?{hl!&pM%E@!;Mx#<#);YFR};4qGPl{MIUB% zH7;gPUPJUvHy#Uv#~GH8iZeW#_yUK7JXo^%+D|09BeNu7u@en z+{ZF^7s3{tm(f`K76M7nwOF=BS?{;GCbw|n+-}M|-2aRhS39P+)}_R!_@VX%iS`aq zo3s3xrddd)WMZc7`V$Sg=&ui}agF;>2aTug-<=XtJ?>F<%E7gAQ)iY8YymYpd%mTl~|aElceMSugm&XZ${ zoFN59pF{yQ9|gi1by{alj)R5SR##VLVFVNuRY<;T#wkjR<4!CAS+5g1N*=aI0iWU+ z^~AMhF}QmiWOB~3{4xpjy$CI1oT-Jma7ZGj{-j-`c|wGVx#IX*EtRLXPQKU@LbqP8GJF(xpau9!UCRp>pQc6lr)XZuOr><6wp@;{<}ZuW7$-{)%LO-%JvA1Mk`cfn=LRQJlEw>>5?SPl-#&ddJ zuGa00{f%kuA1m)CtYriIu%!u^Z_uJ#CqV$10>s8eW8{hZWjkTV?D*Tt`@j-x!P!jS zr@DNKo=eX!@ghPSX$!8Ki#r*Y!;yad6gdw#m93`~<|4P)-sk9|ysybf_it z_=|pv<0VEAv=%r;f=`bdMgyn(!$Srm1*Jb=tx+KHgWxwlKMvD(=HP)<4d_?N<2b~U zhK8--+Y0wbQLm|-l<-tI(xo!2d`4ar2gLlXr6uT6sW#EW2|EQplxZ6Y8_{cNiin8q zsK9bynMTZM7)Qj!MBW&qmC01^{SY0>)FJK<2y%e>e(h^=@2?konk=$kJ0;|J0Y#N) zycju4eQl@P)mnv~tT9%h3*ivMSvF|zitIC4xuGuwArF{Ijq_2Vv|5hB;@L^H;$EtW zNtLy<_^HVmStX`K5Zg&X^wfW=0lBqE__`ej_?J;4YV@7x$R`!ngk3zQL>Wfl?AAJz zvP}jo=()u93-;yh^72$_YS7LB(hi}q1jRw@@QKhttWPku+a0CNCQH9UXipJY)&U;@ zYV<1pN(M0fsJ)WIq^NGbzx_n!a%qooEYh^7#4WK^>E`9pU0(skyD?ka@Dy=rxiwT* zUlz=bFW*k76tm(X#RTF%Obq^Pab)DaJ>$^P=(>Y`Rq<#1@sPGcjo zOE5U{@7(u21^Zi5Zszv~2rKsm6dNe(9hT;lNttE#kw0}@0@A6HHr$$Q`v`r1vsWgS zt)6dGDbjBZmf_k3?4W=4x|2y+d@MI5P%4W%DolnjlX z>T2iA(z+MUJ0?rY9=T+gx_F`|H6)hGhA!RTGoLJ^Z`csQKZ~k~vgp%WA5ON+8s&r! zceJjc+wMu{AQW3H(sE(XgMsJhguJv=s5#l6&l(!oqX8(!garWs@OKqLa_6l{9+3op z$SfV@KUo^2dQ4wD#4GiemKmA#WoJPgG(KYRdVjz{_sMcUKk3H}!V)xlSTY|FRW!6u z<>F_LBFp01TlRxUYqHP1Ohy8HU+2)BRmWeb^x6^K2YFx-J0P`zKwBJc>HfrxaM)`- zIy`n?Rc#v#Zmzsr-ktaxu^&F8?0o)L(AQy|h9T{aJ^N)u;~O)@;IC*~tzz@#P>5|a zVwUJ)1YsBF+pn#fu0nzMetg(fPrii$&Cv!H(j!!qZoUW-N*QK~Y zkyAJNWPqVJ=IF*jX?JDE^Kc7nR@*SBrWI*`H7-@-TZoeAW!sD=5kqPS7Qh?bs|qk}Q_oOL?9myuI)$b$EL^RP$0V@=ap>pcu0#X|momwLEb& zu`Aco_Fgm}T>;h$b#WTQJSBY%&S}q^RD4loMfz9xV}gfWURgQL3y$cV79}vQ>FRsE zmjTgY$8ggB$Jtv(#kp+lq681#XmEnNyF0-pxI@t3?hqhA;~}`aLu0|+-95OwyWh^r z+WR|WoHNcH_r8A{x~ku@IUkv|ZQ;y1$TrUk0|P@Nt!_M)^ix~6{Q`|q@PHgj_yOXi z;l&O181PP7eo;jCtzJgAeS?IPy@;@HwW4FV+_>VmBt77Pb;UQ&V5V0B?O^%KX7LMO zo1ZVXF~~!7rpWJGV)*SQ+|`~@Icrf^N}EbxYGyF+L|DplV99qNguT1Qd^W^6`L!=l zs^{vHz9U!@3RBcS=&5P5^rJEkvxz*Gp)ziGkcMKHO~DMMu0_p^>Wf8+Ky{TD%YcU$&O&9* z{d}OZ7^NSA?J&J(q@d5bNgB;1wWl>>7ewI;TP@Y7`qr}|qBt@$i(sYt0X-*na%q`m z^DY@^!5ZU&qCro!#fwYO^s_Y4KvOe`?_pon5%fV=M~BqcR}62?(*lA^ro@)|1KojkE?7u-i7y$_1f#mgT9uJC$S72&Ve#MZU z0}r5M5mbjec})?ftE*;qdP3y!vE^o})%Qu(+x0{1ALZ@>0s=B5`{5&r=BL|khb99U zPOKyZHa|Wr25v=UcJN7X0wzu#@(7aJ;Mt7zBz_8!I_-W$-JvetcQnvAEKuxiLBvLR zIv$uKng`a%JPK#X@rI>mc-U!lJhgOxH(|-T)kN9VONw5Y@Isl zv8k=R;+@wWQBY(3I|^`!>8i%rg`M{8J9n0i21knC{9H+KV+s5XC(q(DbUEyIauUB_ zg6%%8JD1+e=hJUZ*7(l01Q-rTU%g_8@ZW!zBwN%D3MO*F08C=qN5T4c0+ETt+o?YZ zS^Y3E+;m7Kzw@gl>0VuPC|! z`Q7>gGt>MCGgg)&f9weLcjD+>;UWO0?K|uBB{wqPzIC<2Rk>`n-Vc%P&82iVGc)l` zN|k29tn^dfbND;<@W?}qAcrU~@>Cm}m8=D(n~pLgAO2`M&oOdxwCwsBQ*SSbfKA`s zi^I@UX6Z07h!@RzFBVth70U&He;_b73t+1!6b;l0PZ|(L`gH&xJR>O4r}P;(&-|z( z1rt`1k{++-p|_C@>r9QM;UTZYgZDd_whD_7<7v6|xQ(XSU_g4)$I>n_(1$xty)E|R z_~l@YyW=Z3p7v@#Mxkx?S9m6w@NZKm>oPO==3%*NPT}$?g9Sg-NJJ2U7TLLJqcMhO zEa9_TlXJ%XON^d`z?F|Pe!4xu{@0@5FP;d-0meVliBYWlaPUezeBZ5Dpm4h6rwoV|uRikB=Ack~hGIeR_=#juW*>#(SyX_i#}Sf7 z7NnlGZW30GSbk_1T%P}K_FXbiBP#H|%v3xZWNTuFOq$~~J5YV2%Pa(6g~IoB$p5XF z{Uf(RG`UOcXC|W8B8gD)cz!PqzQBJhbrhIaZBD50IO6Z!nU}T5}Wmrq{{g4<} z&Ne7>ebj94`{@_AcfMs~(|Zc-_s;_$^=hj_4!0byhrO61A0M5C-unluHStkB*^3t; z!dpB7N~p}YJ{etpE~tSn{v?94u^^a=53{N+ z8u|)I6!f62s5oE=Pe--)V!mxIyXB@L#AP7ZceAip%9EjzteLeFE1}cm(${_ z<0t@1Q&bw0r+#`?w7#riLG^f_+w%GY+JrJ=xhnbE^H5nGCvb#(?`W<^QA$)1rX<(g zFr}sCGePWu(@&PoJxMai)@^R_V3=+LS3j49i6vgo`N_c^j_S&q^zn#Q1qUPqg=#(v z12U8o8j%`;pAGF;QnJXOG6Y8jG=KP6vra`yDNXadAFl=g(gU1W;aeyVj z&aQ`z)_xE?HHWuN!VNRg5^}u%=%GzuE9A7*9D&HgJ*)`Q4$E|YL92LnuWF{tcl|B% zeD_u+KKL6(^JXN(g6K-=h)Vq`I@7Q>A0KcTUVpweA4za6@$vQbv)$`ETqc8%Bi|hs znIeMc9b&&8MO&??MZl&94rJ!rELY6=5ScqP>K2_~KOt*}5+Gt75LhgS#!2=y+|AHV zg8)GnN;4u$e>}lV;(#jO;#L$%~W?N{<6swgoNZtdns_2F*(0;vV1Ui+-8< zo^(DpS{#RAe;u&etWZ=C)Y6W0FZj4mcDI!>YBrM0CUp=d6RTuFuuGrf|KaW|6iYyl zcVsZa0cWA9=#xcjg;Sh}LE^o9F@w|rD7w;RiHceS#F8+B!Ioh;)x)b-BuK6EQZk8K z>hG5cDF2XO_+1g@!qb2EQQe||Ny0Y*8F>e8B3*DT_o*tc|5uCquQ-iJOA~D{vvNv+ z1i58zYD|Ks(=4H;$}NOkQ8v_h<3PGu!&hnFruk;ec{+66ALE1E@H&fq?668m^{82BlL`~1WK>T+U-{SaUEMu?Y+MlvqD|yL!|g}g{+Hj?eEb7S=2hd z`P2?G=Ua)TSdR8CYlpcGxOaWbHoji5wD+;6MmS0{!pqB2e&4_5nbBfXqs zp!u|ZVbT}Pj=u&QSI4gJGSlkfy0Vy76phu5tj%o}p{(K1j32}C-K8Yq!-jQrPGbx7 z$s|mJg@0Oz?6xy_t1NX;Rpmq@r=>g0_{qpayf+RJ1%wz^W2gx;9Qc41ng)|-_#koh zgN&AHHuF?M>iK*q)Xxw;h3+=T!VPd6hySB!zC?$z1am|c6oN^kfm)L$_x85hUwFcz z={o61pI#nvagNgR;>V}#*??CYsW-+5np2MppVw4bq}Uu_-MPVzSIsG{L8ox^aKnuX zMKCfA)nyC-vP`OJktPgJ9&Vu*hl=Y*Fu=JrZvT{xvkk@3a|T>qUdAz|XZ(zft#ZFG z&Trn+9AM0RczB@lULG8nbHogZ8hZCVDr{VuFhDG@pZ!~C@hs22l8gM-cEjsMEW7auVLU2!94(%#XQ+^z1Hdq4+`hQQjXTeMT2=U+%`)tv0 zFJ=10)tXJ_tG8~5jJR{u1=|OtQyNnKSpLsor-pQfgP5q&1x1MIoSa{h!i)&7_xZwkRLl_|tGG=a^{FIjvWp@I($KJYi(l0S>{ z@d!nViRO_N&TSf?@3Y!)H?fri0+G0VE4z=TFB)dpL z;v%XD>HiM2FyOuE& z)E1*2s&dJibUYXl8+&~qhK&2H1uX19PjB&gx-ABa0k=X-G18^!hk^Sw_SL4z&kR5B zSd!(aX=wZ(1BMazwCkv-tf|^rZ4H--c#jBk8Bmzr#RTn@uvY`d-WhYQ&g@nU)aO!{d|m zu&}WVFZxt<+S9)ypSOzwIeK!l{{#73lSv+Vzc9x7$Uh2Ia1a@S2d!<$c}pV;xVV^z zYEbzrF-@3^TuDQ znhsT309M3|m^zA*ESw;{5YfOU8FBIJWR{%$ol$Cf+kjER`{c@(hg!|IHf22_A`F=| zPh^Rc!xF>mpQmsAF80`tGVUB?=)mi zn=%Ii#~7fXz*FR8=zDGM!P%LH?M_c!zf+&D2Epq&v4zNFs$U1OASAXvE8)A|)C=A0 zcPAmM-R-Y86*0v$So8FsREUM+s$9;tg7)5m5+W#)a4I^pHT;6#1j_u&>tPreSZA}g zU)+>_pT?L+^+mL}4@}ut7JjJUze9I@9PRvx3xG%Sw>(Jo>-z|nE{KN_B6*!xT*B)* z9youe^NSHg1W(ORyi2CZM}nNG$Y4v`X@flF!?Lclpp*yQU92>ybi9wa38*>{N&>4L zon71iU_u4Q_dANH!+$EK*p{BkEEKpO!RLDX0la1lF(umuyc_jSxs2|ueyCPL*7IMo zXS8e~^dz(f^mA&Ez9ke^Sx!^(Kg`mT_;F-l3_HHu=JS&0yJPR;<>~pt5jB@WxQq*Z zOO#2k5IDKy&~&OvY4iAK%%Ig^TrRa*`!GT01^L)mda>}BidN+!K;+emz_yJFbVDAkZJ2JMVG zmwB1M1dkp%VO-8dCTsRbh zZ@tDMuCAOaDk?J!ZRr-VN!(BPv=>w%*R;aJ&X9w!WD=#?&_|(0- z&H7?fFKxqAI3Xa<{2UhJr|A?^xf)jca}R(B`va+F<=aKcej@ zaO#_ngzb_EdVAq~HhaZeO-#^UZN~S7K{YNc5~o4Zxj3>L>~BDlO{DL=xoeAHo#!Ow zwE|1~(9zK+W@m#+N@%ZddE1lzU@`u*S39>rAUuU%7jwc^t-*41qKurdW*a)hZ(h^Y z&kGqF$?#6hpuO=qjhkBvl$fA|&Ff}b+tE@pTj1)8ahCfr%Q~Sp&nmXx ztB~f5kK{27Lq{hFFKWzyt^u`pI`LMw5t}fYkA&xlGn>IoJ{RoTkm=^M^${KriR5M1 zvrSav_OGCsEu><*U0brt_M_Zfa`l&Z9yA0q2hnUJ!+m%OizXD$P( zASarhK!YZ{RE=ZdX))PvbzJ8s4R9aD1_wnHmfuY55_o(XmtbS_R@j-^fBg);5u{@%gYhh*UsV+64^C1pBq6U*eN_b zJThDf7(AcLS?j7b?B8mZ(0(1eF4xoItPr;bbJg2O6^n$oFo8N#N-wi;{L?Qg;Rk%% zVdA6Mw;A;!=o0h-TEru#0yG~lnX0PD5le}+10_6_*tc zsQ?W|(+u|5=A1L_Zv+{ht;jI-g5PGRk1BT-g*IACI7vtmhZzk*5d+t{AMa{r^*O4K zeIRWNeDF%mX;DcAh}iL!Jsy1AFNf)o6tQ$5LkD)O6HE)I(f8Tle3xpqm;+wFRf z;4->hs=gK&KCFwFFrIboj_p;FRwD+jMR(0g^D$EgiWZlm)k_Ef^V0dwJ77BIp4c4R z*73)_O*DomMHt|WNbLoSl(j33lIGM%>KEzj>XxN3#1B^+hDAh(i-`DF^JANXL~TWN zatW&j$LOvjGTTD*n)vC5r2`cRjl6)!1&=b;Otccmm-tHSjBes2chLsMFNIFxT6O5K z(In@^kEZvRkmEJI@%QU@D-BbnY3!$~z>v3v$apt>{n8sw#(HnU@w?P*qVSJ!g4=J<~mOi8ofbvxZ?p565si#qiwHaH#c%Xv}l-B_e zGBBE+k??4!am7dC&YXi?pY)|ZBFcJ*s<KXqSR!e6qUyKu1DNiR{tnK}4hX+#7Sfw-!K^ z(T0&|vh$^P_TdxnSTgygqIy>Btp&PEeVw%Pn^WQbfxp?{W}a)eT1DTo9q1P&C$jS%)0%4Toy39CSeH zSp#0;;1PnrlwJh{Uuo*{JP!Kg;?~|?NLCh!T&5r)*jU>Ufy)->k}MR{tM3b!;e9F1 zArS0xCj@kfZl25RAx!j2@4cK-{|uAsSe1#wdy$$yDUtOyJ?egaA$4*7a<~2}MT9kM zm%~Wg#SwYNyb^hH_#*YutG%TiMuH);Q(BFb6wiz`!4!iD-r7<$wTU}`64Fz3b7kJ3 zw=}oFt(VAC{GOJ>^0J5pSUDEn8=*iirIOY}RE-D_7&AQ*hlK9URxTa}wW|5;sA>Bn_{2Xi1TE zUUXH6>C2prMfu0l=VEep+ic_ zhOFv4+lB{9-5A8UwpL`dok%9nAbqS<45Amel*B`fJ${rlw1@q=|8lN>UDV=6; zN~0is{yx>WbwdFjLZ=nz_mDOA-AtTD)08n8K1lTj{H)OIzUQo~)4KlgFx5)(qI1sc z!j|#X^7V!+mq%_!iS*mgv6Y)Tbl?1Jx)LN!Yd()QFFZd989$i|83{#(EWHJAwHb9( z#Ct#{8XuH!WwpA|WxS2aRoJG2KE!0a~cStgU=^(Fk`O`u#lzhqzldk}H~;(L!>*I(XI%VtB(h~25%>AhcCXDBQ24%9Z#Ov8dq_eLiR4U{02Q;ly6?Rxaq zJ*cf{oZr^{5ty|@g{&vFpc2IUnbde|*2P1*_l#>Rdg*A^g_JZUjB*_lAUL3&CABK{ zh#I`hTYa+dZK-a&GxkmwvXz>s-mU?ecuy$wiO~f+LjFxN#N`RcXeF>eRUu&P7mFfb z@`^agV}%G1*@=q}GJy73dQ$^B=DwE?DK*^xC6Zc$WbisCuZfv^`h_j$>sr5ieI;6N zxwZ*ID|TsxK`^<8UPdlLg}}Wm`^&sjgU_7n^JSZ!=JUOe=8QhjMj&xLERPp+Uc+eK zpkDaO#bpT2A=BnQ}b~`iTLPpUQqr|C^Ar5kf1p(2!aT z4Y%wvF84zGlj`oXb^g~XWc05$;(tXJxS5gCl`kRHNpmjxszb-f6HLXgwYX!Uy8jD4 zm~it_|E;DH`TqZEsra9-w|7?J&E+oR1o&WUasmL8s@>pjP1*Zsh64K#{WO3;3))Ad z0^o;l#kp8EHa7cU&9S+8VT$6vW~JnD68i}YVR;`iBv`1F)YQq}ze{ZYVlX*_BT{G< zk~*K+tc__t;RH`qD(#E9jQ#86VK0tEf`kKGpJNd{d&mpPI4H0Nr3Z&7!TJ5gu01z1 zGjrB57<`yCw-ZORII-}rxhe$6V};n?pBt&Fs#5cS+uxFg_1)RoS!i@Bbfkl$B?JHK zcmlZAdU(`tTT>cVAI{6GD;B3+xsfCmu|e>scuZhxOG$|e?8l>%6E#~pI=V$tFn)85 zi%$ftJ;GcP?!!=9R9q~g=R=4W#ZlA7j(&JOs`ykYCA5LoxNuKyHKdLh}))m)zUTgPOOq*jLb`iBNSMk0L zPXgghf_X<<23t$RiN?jBw5Ag`mlRLM6Pu71Li@!{Rn)0{3cTvW6!`(^$kj`GF=SGP zoT>5BwqJ~mv$PV*g@A+JX zW!F;3=vCR`#%1Q~!IZ$S10>XO%PKi$()3;D9dU+plRfWP&te_;Zq9n9A59Tjdj4d` zAOWl<2Bcf6mtwuXzG_w)z7rJ_i-%D9S?}nx(G@gQy&Mh3p%mm2lCi@jq%TcM22C6b z+u8&v2K6&Qd9eO3`_@*@^(m3{&oD3(E~j0q0Oc$|K85_m&X`miAM6YnCoJ`2WIO+h)kyoB zh&O}KR5DglsG5*o^n;>caC-!2QhEM|_O=%ulUKQArs$6(lZ)uMxW&#d5z*07!ouHD zj>zY?HaCAHCl??8nGjUi1OyR(DqLBDMU=c=8b7HtO%V_gov7Tv(;qQFy+W!%P*>V$ zV~nuRwEAA_N;!)yr(uR}0NsBBq)q6Ev)z5gw2gx~K#jK4st6hWA_M|Th=`=5uqgc0 zSpRxKm0D*f)tVw<{+RcjZPor5->HT5*Hs&gR`H>m@jJ~3jjyANFS<7i&jhNie!-SO2b?m3(Fu5FHYw? z$r&`i=LvII5gd^1;O_CV6FPzVv6sJbthHg1vgd{N8H=!x0uJbsrhz1t#ZEn0OubBk zz&)lWd@Dv1{D1tP@;0abMrZ_qWgg)y?O704yQ7~e!xF_@_jY$lsi>q@4%n&nM3Iedy*o=W(_mLI4$87+W9qF=qO@jmgpE|o zJQmfNW7SP6DvRR#qEUa(MJP=(=91DODyjs5NZ(d~R`U*KL))dd_z3J{)7-@KK2bqo z6=4TBySdTDcJUFQn9k@cI_m8XpEwGE8^-h7LR*PkQA$)IyFD$wT)~=QKn}<0$+78o zRn69I6lAuVG~S;r-x?0S6jKv6=B!@0z_xq3f;1%xqZX?m}kV?gFqp#?qluIZ?LW1C)#Q;^-3!_=+C&~ei!#VrXd zzaM@Bb%b3BtV#^)TfZ>a-~4N$OpWMY;=weFO#0z6uqL7JSS-%rl$LM-QkG%@pcqj6H--}F`(zH9~UkLiV~C8ENh z*7d1io`5btBn4AO$$6hdHCKMQv2kzH9j(^b+Q}3Ewyx;}R_u6v_uA=Q2-~4f8U$sD zV@OzA)0>SXWsiLMWw$2ytG=G@9oWVAzwF6;H6mGA&hN46o07wo?E^k2DG;=~$E0B> zg#;j`-SIJ`pKT;s%^R1~t++B}JnB#wS2V$(F1HzLYE0B^&R0I%*=;}+0+W7-g6^?~ z1hu0!&&IpTC=!hhB-Z-ocv7pjLXXyQPhDm;azDT%J>bgGiHa9eGBcx1PEHPWd||zh z)e}M`YAO8Dt9&nLhm3L9P{%hC&48|!~)p|Vk(hFDP_qPXYo}ZBbG33qO z>S}7)RaF4W*!R5YD1(E814Bc+#qS31n?=DskC@WuSkt1kRmI#%YAU6jKd53O?5nEn zY(Kcr8gH(N2sxDC;t3l)yt0CEI~tUm9v zwV&lI=@14_`bb}C{bxCYL*j|NjsMU%XyCBS`S)k>1+SFJg#}@uvH1C4>MLbAj%323{`#UM>+mo z`=5O{9$+RTE32%oUJ!u*W@r99v1=0?{>5xn_8X$6v_Oxm-H$>-#5HE4qPDh-j*gBq z>3zv!tpa*mH{5^!ey<^$q_TWtL>~i;$M$*68F!<^rm%3A)TEbTO&uLt_6N<(&ll#cuIjs~1ax!&RY%68rDPlte*XOV zBPj_8zAVKwZ(<=yvq!w28dcEN`exyBMiNse_FH#_;Z=BQ>lA0hCZEKat98o}XPI6z zcKyl?M8@M$f6=r#8BIrlHRGBA!pb#0P>KwX*cGa-&7G^Ql^oI6*H>ofUkqFCkg@yM zNzc_KRw<$Ra=zvMxagvpob(+_r~$QJ z*AM10mg8G4rbK3nA>C?(m#_Eu`L$#5BZN3rwi^{ub2Y@8FW>w5)&`v2P7$Oq=lysc zz|D}OxV#^ljzC~@FxPo4k6ZS!cZ|WwvfFuw!8ymUQxeAu%dx5(IKT#Ht?&PKO=8j9lkGyZ`Ay1x!mU5qn-^8cI_bB>QU&>(|HOA@$LKh4jRrtvVfxzm6?|< zqi2?TSN?|`dX5mv05D&g{%F1*u`jxDXTEt@2j{SlT5oKYlyagTnW({p^=`Fd^7>Bg z2XXgi;ocYD#lZdN6&IlM>9)yY7#tf@;0^_wuZsjQMOu8zX7ddMrYs|cG#;p$y@yOA zB?CJ;gm>m@kCP!GA=l5&&RW!np@8ze5eIBPV$%c5M(9oChJ`(woIHWsc_uD}pJ#*b zd|y83mkf3tN@ez?ADnIaFU@V$c1yZ68`Ad53av#v1}s(e@j7^EUvnIDfDH~u zjvk0I_~92*M{1hRF9;?Fy#_qGA#H{N*T#*-W8aSnV86wVEAa2`g)HgQt2Sxq*FCe2 zqzEEv2sL5pC49vce6-PZ-7(eVHOFRrdL1sRD{_mCV@#gst7pgz(vk)Be>wATTRrX? zL$2TOyl4RVnBXYhb*r{S?fIpChx4uMlY*c&HJ(j(%Uz!}*l?-MUYycF`u^QeJPD^7 zv;O5uNHb>lf&8D%a|{GtfZ1}%L^%x&3jzW?*<%06&WiZbOEh&I#;4s+H)b_4EBsHN zbnrYCgrcLK3t$U!C zvgkA;Q+L1iD8#$p-Bn~ae5Su861Maa6sKp-b0?bvwZc`X6(6x@3;4Yme6xFjd0TuW zCZJu72;gEAi*u!U{ppUQ?{_D(;IPh6X8D8%^2?TMm16Pr8Fg7ut|SVALkWE%?8??q zH$01HyI3G{!KsZu0~PGt&*Hx+-!&4+yNz|-FsajdeF&@1VRnE?VB%L8Uhx=q@G)jV zaN|4sY(MKszgS6hw8lw&BqsW!!Ja2!57~F#*u zSq7ysn9WOK`4U`xWjQ$@Yy+e`L0G;Gq|17-Ae(#JV0LVO;wHMDl~6@c5Pf|JS3!-RqW2Wx{AT9fiG>>XTB6P3b$XXssEx?*~Dn78_Kcv%DOA{=S48I-`SRF6~QVR z$=ctzY~F@7JKS-ZmFO|DRXxkjXWyR?Dv4GJ1l`Y4X>2_*HP#{G8ovy~S~Ix9S}oM$ zqQ0KpG(3$R{W$nd^95^8s0ucrzFssqc6Nse%850`V|g`IdY}cKn*Y#y`9}~c@S75U zpIssujU{-d&8;jvxAQ5__5H19o8mqOwq6u?#Ys@iHu-mIL9xfF$V)sn+ z_V9!^f;s%r|FE~<3(1{xkVg#S{JO>)_xFOw*8Absd9soXrUtK2Y^^m<+*#1xKWYy4 zcWE(T80v;df9YPftXUS?*R8C7y24iMjbc53JQK?6rYn?ZnbwfYpEV5KTX_s3gNvf4u23q zy$6aO78r7_Xfd;=sous!F7*|#Hc<#PqWclU?R}2TB+WDIe^;W2*1(bdNM`tYJrd*p z)es*2Dq+28DYILrm#?zq-b(Y)q^c?A&*`>*%tt1YwMyIUVD@FP{;Yd?d?f&q+^APi zadXh%UZHfa#LbxnYb(DUuk!fnL5Vm1G5pEzNui9t9ob8$_KQN>JOs04xN_D?RJ81j z3-6xREq^c;jsR+RzT3u47h%y?-tTWM&A3(trF`%ojbKPsj`8rI`+98wi(}6{0Xv%h z{gpQudz6{CHoZr|V6vbsExG!`xPb>Q(bIy|ykaeW=|*nr7-Q)_=Ql=2@&O936NPR2 z4y-N<8*}*o74BR*h6Q1p^~616 zOlx7ypp?*0Zgj>NDPWRnjNc9h-C!Y%P#-GT_2r6FT;i5HR{_)4E3?22iwquB)Sr=#ZYzsG<6iHpHPkR9)X-D7E`IL@RdRA;Z z=A?*wR-R^DK5kEOXujpoSM9!X8QQztv14v(D7FNt326pF=G&Q*tMgyL&gl^KOzoiN zRGJk9jjPmPwZ9ITHk2A6zh2JJ0$!zKG+)baG%uGpG;55gnsl3Wnv|Zq${TJ@j?ULh z^2wSb|Iz5AQ<&4hJCEM%@wMvYp6;S!g)accRimF})wl2s#yEVSc{;eO zRYb!AjG}6ia02K2yEx$;EYpn@YiU@T1}&JWLcb$)#=pS-v*a*BGCK`FU>ephg;1o9 z?zY7jXJtW1MG+{Qa6}N<4OY-t!2g9Z9pn8dW2Lp`EZE_ZkW_8; zhBIhLNFcy~(wNQ-%UG7?wx0ca&`Td)S>vLc_RWI?^(RENyF1J!#qU5O34hyZLys$)U+JKab+MZNPWgrj}$RH7Nz?--!{fWuI;eP-a*s{-5R;)nnBD+g2u#d%?1=R|mz(qyR2^=}^1GrhKkS~^=o9^MOC zvv{lk9x!PiAD>fpet0BlVM(*NCUBDY=fTjkw`Ud=6^+ZA{hB>}uuQ|wt}1P0WOT|7 z7ONp485(wEgWmaXgbpOJV6d5uDE(Ux$$}M(XTFq&RC$dP5tJOMJ9Yi|fr)7I?T<|C z&l8*RcQStE1+GZ_CP^ej3HcQBX;?O3&M0uyOiV=N9aw!B0M;BTwjM3Co_8T0{uRjq zJW@EUuoD<`3P6#gZ9Y$N3v&8r8Y(J~|6A->vD_5c@p?)*!&#eMT06Vg1w)_$1M$B1_LA~XMCHpe z@$URPsKCDQ189H!D`@SB#ow?sO|aM93(MagA0=JV|IRqdnhlZlZ-m(4@_PS*^iHGa zB+Mj8G+NUD96;c&md1f`d4K(tzs-xsW@@-8edLC;T%1NDJchFnMawb6_-C9Zx4Bs1 z2_(b!mvy(dw~LPc?Qe2A2|V=k^Gm$4$=?<&F26Yc!8gG`;r}9%l$66hlliBj9~dHd zM-~1@0>}%sO+F#cUYll}=E57>%l40=GR06go{uyIPhp48kN5wNnsZX*AY!S;9F>=k zZ?-lT0}CrC2oa~m3f!MP$|w{W_F8-A3AVxP)eMvnc>?#;CebfO%pc+~5Wzo^3S1v| z8+>g6CAKokwZgfhA^%WwjYtMi9VZlw1f^AxOqj8DS@4H$*9hBycOt8*Dos7C2sH`n z-va#coKfWil~^_%zn=`mTAO@jP+9}vh}>az4i7D9R)MvsIAIzdr>UG^!!m=mvx@X8 zn0D+sSPm{c^+Z^TIDE9E>FcXKQgTPwYyRzO-60Si&T1mwVcz4_t{HCNYu`fUez;?G zFnqUufckreBij@|BEv(`noTqoDwd@Y_N_h=G3jhm zem*koWLUV?n-2$wtfw9b>fbf)7`#2=u(GkSc->lam|LR|@dFPJzj|MU8>oVp=omX$ ziECmv*)~9q`@BL!DYF)j&ddXgfW<>IE?+}Kk`58kez-uVr~M~AT^-3w44AJkGPyUw zc(-QrCe!6}WG9?( zf$Y?S>%H5u6UEP!R3GTvSb{%wl3LQJu4QgKEudz~CI^U^ABd};d>E$~(6n1& zIrAg9zX`2=2Ilddb;pA?#S$>|Vf^Wj^ikTNqW#!VyX)9(JDa429R?qt?4=_{DnotF zdS#nx-5-xUh8Ww@Js%Fo6juXkn{mEO`*H9D3cDH7rLB{jPwQ;H<~M5A@av57R4t@Q z41}p@jER8B)&ejO+7=*8asQk2lqU^o2K!8KkmUS3gH5i0kcbD7KFktz)DwRTAr`|tDXwwiHZhmthy<*uzy`blmS7?er+_e+T03ix%rydm|-3t>MD zeF3wR2Xb)!v0n_6?&<8$V!?5Czg@ubL(H2?75$t>Cf$lKg7~|3OAO9I3q{w!_+iqO zYT*?yceuyBNTK?AI~*G!t@!|~Ay68Eu~W2e-iSdGI^L|NOIVh+YT6zFt zb!yyRrdB>KSyevLi7izOL@J#Y-pdWo3(jESWXtoxg$wy%%y}QEj0|Q5I$QCCp`e~A z9ThjfLZHMw$}}t8_m8^o#7>^^&0br-L1nCc?f-f9h7>LIj7IdZsCeF6x#I3S?KhEq zN~Q=+;Pu83r`Y^X=rMF*?;_-Ur$?scb|ke3O{aUDk9e9y@bgo;7vD`*Q4zuKW1fL8 z5TBeCQV2w{+F^NHi5?4hRYPZ|P=zE77HC{!*-v||m~8uYm8Y#1yq3eCWG|+o!8#YJ zPfW;9EHH;c*EjWPmOAB4u{f#oy)Tz?2VkXKV6F6fkTraX&I{FG*=HX3oM}VJ&cT*EP3y#+An;9~C@+gg0Ft zG|1unV+~OWwvW4b%Sz1b>vG~LR~PYYSvG*~SF@&ZeFk}ps}iA}e<`ZfUT_7=bZKxT zy75%+r}-ERug`eb&?nCn!1~afX)NZUj8DoxpI0mF+Nt^Ium22r?85=o|4G zot`31kMN?i*w&q_^ceXWw_O|!b4|FZg1kY-wA_RbMCRgB1>SkY^%D_FVPW0pYT3sgI8x}q*C5E;j5R> z*UJ`H23pxcI{2DS?jzB%xTSHr4{e#*?_tSFEq@&$m&4g-kzzlv&Hgn01-`q;Mk==N zTeOc2hNUKI+y$+HV&H}*hNufEy@Mi^sie|vyyn%`QzdB$;Y#Ns^+4peMS=LZ!QA=? zN$B3q54%*z#N_6*m2O$rFB<316-2$csH@>m#7|iIE2WZ-R3Fb<@-_3yB`$nD*1k~x zUJ2NLhTMkcsmGXX+>3zr?`|#u5+AIRk2Lnwp2~QTwp`L`>ILNx+&=E;4d}JW2|yKf zS65VYb0sWJt{{{5MPqY5tTSgX=>hL$R+tIxRP@qOv}eAgMvKn!MegrfGW4yAX(h#0 z_?KT(EI*xF6JdhTxp5&F@KII^kt?9%n&GS2wKenP*~Q zdk5y|Jmom#K*b=0Qn?^f8=Zjn+fwl0qQ z-B49@<>78-$kpyw<>nfAhR9y(lL)EKhqTm03)ZUtLHZ3@{s-yD!-YoSHLSVKF04TY z>sc%~2*kRpU|qJji%P`v{qUv~N#|H>-slj>K)uLpvq&_w*j2AS%r{{qPH_n=sTJsj zHu#)Euhc|@9HHwrzXI~5F~?Xo&vKA=GUIYAXE5?9*-w~6A12fm5p*sXY|g5mw-LIx4U4MCbWc>~lCgcWkWExt@zKf!ie>wN#$VTRiMaK&gX7i|1W& z$qqyqez)@Z0~4u`L(!6%;$EoP#vOzC-~-ThF_P;|D3eeUzz zTz}2XbI!~@d(PQ=y=%Q|z1-R&OLM7lY3?c3k+k>^#{{t^#humhrJWk_YRlQV=wqDH z;CSF^Hb!vfmpflUG0BR2Hdg~L7Jx{h?d;ekgmA9}7nf_^oqx`sKA(7RiMVp-u4wnq z7D-!bzw^=fP0wWYm)H+Jw|UsAsu%jRE7>dMKRl>;>FQfo?)KGqG^d{qn7*z0nh$!v zV53~p$CpoWn8&n;*G|sRW1z!ZG2HvJfHpRsB%1HW<;y;~q!AVRB^_1YF}p4hdUl?3 zdOl@UN!52vzHr+KTe+<5@cJImv9T4+N&W@*7m18gRb#(rcLLy57Xh?~7eoC5_vuWT z(K@V)kW0eo(H>Ttw(Cag4y#B@Kjtz2%X=kcqvOUIYn?!h&HS52v&m-@iV@?(Olw1= zxD{{ThSA@h8qK)y5Z2DQ1)q?fs?UeU-3Per5thQ|G?wjV*Ddgppo7a=>R3|kA(C9n zUtQH^?xmied~&3pD|-@zF@=?OIjR`IFreuM`l+Zf7XG=kRN{M?n7)|GN8FHt9L?>m zv`E&)6IbY=H~FQ|6+OAl2+LcHyJy}xCh0(i%4~YdZ zOrOinx0Jk!{kY~BVD%Dp6hdoV*nn&Ioq_*oSI*_&7}ajGAg-6IC1hGKyp163lINx{ zC4fLAQ}W52`Yj39!#y)8z|e$3O?5Z9n%<`b8p{ODR$4Z<^dp$Qc1=^YV(j*H!fmcn z%iuF)SD%02>V?Z%#jTNz+qO?P9tnujVZny0C&Ynm?b1qHxH$(gnh?pGmnSt(l zV=>k*@5U!U;m=ASMulROP0v@!=}cQQYj+}<%Z!g-U3BOyUB@X82QCfHk3foMV#kFU zw_dwGE*mPLT&u4=b`KgcI= zYg~5|9CRced3?F12!De`Hae^wg1G4SWrOUB~GWyP?u5oi^N0i zmgDZ{c5A)SUsC&Y$KHnxMOs3YItl6yho48SpS~~w>h$J6pGi&`bmf^Mt$z^SRdn8` zoqKkVe&BM#R&q28l(M0g-6P?hedi)7$Gp6|&Vj!o2;nx|2TGIDk~u4OLzA0QOYzGK zyB2NJ^6r1+=Ao{!adkdfm@ zGH>E})Jn%D%VpDBv*MK6y*ZKBWRqukxSnnW(tMFKGw@fO-J-gg3__uLw=0By8X0rs zo&mA39vV*K4qqh$nlng=)|+y4kYTtQ_5IjRu)fg%fu{2V`imbn9UH}Q zKGkU1UHkM`V-uPJ6M_5Bt;GyhJYDt%#8jxN_Ge(Z586!a=`Zkar!~sWUCGZfV~M*v z0swL|Gd=fiwDUgLwrBn04rCjDVETIcs7-~|WA&qwdj8FKMVKRa+F<=oYUbo0s-%ps z%NJ=y5-r+CT+P+wyETD^=bp~`S{`^c{4eegevB+TU7{KOtk4K^tJJKD%{&@$)I8hr z%hWBfE19jeS$KB&0p<6h~iH))IJ2wxMmW{+aF{W z%sY+_3oPJ+>^W;R#?;H6#%EQ-w^V2#-wp*>qp)Z*wGyvs6?fk(7n4di@<8-jE?iC- zU2m}>@l12Zm5EH&X=GgQ?Hxv&Va;AIPdo*q4ttKIoEBddh)tmk*GK*nKeA$ULLw_r zF+3o)=fasJ&j!%GL^faP){+1BxQ}Vnl_$%OjY4KSy8CbObmtcmp2UossdcA$cHX!< z_K>$oFNtsWO9@}*(xc@NP_pVmkR>L)wIdF)J}-Z1PTo<{DjB?&j0Ift0*_0RLkmig5!fY4T;Midpu-g(w zyNHiXuQ~&n@9cIv0}PW#2DC#R-HZcem0a>;>JoFkz<|Av1nNE$GIE%+q?dct>S2-q5v@cK-= z<|z?Jn!mx^Zy13&uriV{Rker)6TG6GDxBBeA97%SXek-&U;OxS#wP7)Q3LHzeWzM< zXOIxt&9+5qQ>Zg?QJb4h&iI}JG+-Z#78k7lATy)se*jvxu}v8&^chT6C$goZiK~8~ zR_1semHIVeGFH`*_3s5H4bF+^r*q*Od}XQPRLxvDq9SEtR#Vo}N*qUg%s2pH-ZVbY z8Ca%k?{{T%B1t5uSYqhqEI->r^ zF9ZULpSQQM7^pgbCj&;?3V%htcVWj>K=p@%&(iNOsD*pSlq`+el=Ngi1GFh0^F55Yi2I5f|5Fd zrLS_eFz=Vd$krm)G`nTgN_|J8fmS28&usFaWYqtHbw0RZI!iPK20bXfvfpEKPD-zm zdb%4O`!)RbvrO4u2LB6`0a^GN!QAO)^G?XbZK+Uj^2rYZ@N3WqXUmsdp3}bvw+4BO z`&MN1+M8K_+I3vp7$`+0Ia6;aH(g8)%velQ8~m(2>KIU&#LCTI7rOdU>O^^16Li$& zP`kG9BV55k20`(b|`OEuQ9 z1@)-34aR}~A#VM3Ooo0i`i_~1q}v$!yxIF1o#uetxyFiY=U?tN4Tgc`!Y`8QqSf8A z@SJFD_Ou-R)IWOmpda!YuMQMNutvRWV#31l!)y$y`2`?k+lhm-|TjDL$AB$9FzuTS`3E&6jPHY(5UJ?(_iKX8N;!0ifA=~o+ zg#=1zdC^ym{Aetajx_^c*u<}{>^c^cB}Q9Y<0 zSuy0!W`8f*S>W$Ufub5QO+tISQd`@=OF{5C>q10P%K1serBm^3v&521^yY|gE$Oat zIoK71zxR#i1Re8_iVAlM&xcaD2#y0FPaLqz=G4(Np9 zZSkk1)n*;W-CR-FxAM-G5h^%0v&B3WzSW?Ji4!)!7c28R6-=>+Q{XM<+AfnbqpRr~ z9FCn;bDkL?UKkM(aitlhZJOF4wVZixAvBgD)<-c-a~j~V+~AO9S}HkaI&|@gy1d7( z%fzg4%`?$!0KI6YXn(8`Qw+@>{Q{0_#d8*Mq_r?{ZYc&`l-AH71kwxH4G!DS04`pG z%-$>f!sh1YMxs9gG1pn-#@_G5X8SFs85?)jFDiEI@mqAZ>anMK!{_SesoqBru2eS{ zgDO&l%WZYG?d-TnFb0`vt9a!UwOe=N4o1dkNM{Gl;%L8q4ERY)0ql;8sr5vmdWB^| z?(ewOI|Q4`?FfsK#5Gf+eZ#^wqwSN)ZN4_#<%aH`Nb85VKOMo?ui*H)`u#h_a=3=G zaG1N2&_LUY7L{W5F*=YeEX(Ox^J3C2(0BfARU59{2I!Tt&A2Y{X<7A2s_Svrp#cz>(BZ#N#_fb zPl){8S|=}%7%~||y>5Z*YlMSG=9j>RfvHXNxzkEA96RQDeSwWbGA$<$_N!K1SZAXV zTh0W6j$EThyV_B6e(yU%>xuyBBuWYgvpGMHkG-aX7o7b)=F-t|>Y(P_pAtIAVjOx` z&O;GVm)jEKhw}lm?4Q^l7TA#AIXifPl217|#HDhL)wk|zFowRwL_gzhCvWgTOxKF~ zJR?J4u&9);q!6e8w*m)kv>cyUV3Z0?YDohKD=iZ-+2L zmT||~huAP=zZ{6fxOgRXSL=ugkl>&@Mkb0F-@{=^2HyL<(d}~ek(+b~1O@2_rr7R- zo6nN`nSjAVVn`1;c%PsdRngxsx$R2Pr$;~*gtR^HOu^fz>fxuN5RAxR5g(6E`QTu@ z_H`@YePsC*Rcd>;Fx&261$=56-~OFKbt!nTO$ncVP;2iv(e=hQwuIj1tGdg^8<>iV6bDU$%z zFv)hg32moL|0e%XHsI>Fl;R$9!wyM+L*+-YPlZSGc@Du&F+P;Jnr4;~G`#vVEl=MT ze)>?*iQvF_cUmyAUhSFR6*2VOzb5gWUSh->?>Sbe0(Aoc+v9k?&ZunSg)Ox?eHi_y zwBDef4g_VbMwXMl@sdtSQd&z;ro$voI;8i0>asw2`8u{IgrP6^nGPsHokc-!@~+eI z)i&^W>{v*Y4#WgnLr0C$|-_NtPT@2(s%rg63^u^plwbl7(~>mA=Tl?%>m)j{+9%H^TP zdTVcCCTwIx({jDTNE9x?$<3Xaoh@z+EJkb1Olom?grZ4Cu9aipZ0d83REuHF`e?k+ z1GclwT%!j5YnA+9vCevd8Rj7j6_n-$%pp!NW9cYYi1pN=Mv)RmAV^AAp<;X8p5D)2j1vfPCQsIz{4GWjK{N<&9#U zE|$m1f`!Yrb8DAP<$wX&8>10a?F5HLr7_}2_niKHGW_9a+3?OZ^U+x|s4XnBRWaPZ zihs>ymhN-k@Q~Po%!O6H7a2HSBvXP4y0Jk?SBtZLAdpy~pI7=jvNBz_G@z#6GlB73 zNC@yz;GC9X-@lu@?bRCds3U3|e#cjFoWMs%I^@osxz<$elC5VhGF2$Mqa!vc_EK2c^~pDBJGewC>4)IysjM8G_CVDDa1H4~dINws}i zy6S0{fry(RI#)?I#s~{k8Om5={ex-?jtu3yGbzc>590kNtBKC6pv~gY4A|C@9kxNR?h7bXl;~CT!G-8M-`-NBY{0qt26D{eFWE z#B=e~>p_&(UcK~tqiGM#y3+K*n$MMKnY{?Ud2Mm@6yD%qpU82&?VvjYO1VaT7lx}o zt}<=y(%p}3<(m|ZP$f@ybjSk5=ZFwQOP)~><`kuI-v|Gc`LM-YQ}q2QBhyXK1U~U? zc1>wfLmWQHXv-^)h47oKmkhAH2P|_lvnvUNPj^B``M>qpja>MK$%~<1h5~I`(ENE{ z>!73%K&Q@^~Rvf4`(OVaLo8 z7AamOJ%ih^cuYb?g6O+U0uA6C}qee}g4B@XUH298Hul#CElpfL5J{i@g!3_E4wTYwU}?_wLR2f=Q654q7J zcH2P(+@6K(Rx$mNm(=(j>`ptXfP#zd+B6ExE#;?iq$olAo)Ce ze`-XP9&qS9D5(#})9^YT*K6Q2EVjkNy+_CbV2FVoY~L0yKls%N#ns*wp_vHTF#1R3 z(&^R7d=+KzUvWEJEDsIQr6aopr_FEUWh43jIgqbwuSq9+rdtHlGwbC46~ZeH*p7JQ zg!G0wj9>#=0XottxRb|mm5&{|&M8=MMbmK@4sV zteSg0c?t5M-P39$Vx?f~yGfnQWctL;wY{d}n=g&ApIee$TG?wVU`8*do^y16!eR+Y zkfTlDkNZth`U&ftud?h)E*C5XIIP9P!}1>*9Ha^&BCtR13rkkl*2*{@uXG(4{u$U# z=2GLPK}|6}3SWa!g3ge2>@?KqVo>83cI4u7IU-8^ z+upt*sGBzL>uf8yF5o*tn&;l7vr5cLFDIxF@O{g9@81GqRJRPQky$tl#}=q5mX~yM z!sgm5jstsvNiGfULP+=OC=Z?AwA)VlbhmhLQ8$!)_e1SiT+}O|5(^a0S9OY)&W*H5Fk}Ll z=O(Xqo=Zo+w8p5;cY=H^0d{~-!63CR!}2=j$%=Y&WNdIuDMVA-K)I9ZjQ|qyc0Noc zVbuJ1E_8L{MF`qm7X~ahBp&w+TeCs#n?WLH($rwf3G+o(hbMYuw?+w&J?5`UU zb1Zxh=!%D@rK=ft4)aTv&Z6U!vv=4Rl{L!UKgnI-w*%$k&sHch%pvS@^*t#8)39Ww z;k4_dDh@ouA&v3LUa3*U$lTxD1*@f-7-DAZHO9ahvYTF>DpAq1;rRMKq7pa!Y_zoL z;*(4Cv^$q*&&7J~Xltpd0mD%W#4ddR63x#7>hpT3FRf=RYb?HM7fYz9-~sig*%*L> z-xS_1gg|56i1dX{?kfYW_AM`Rc+d{qYmNPu$BQ>dz9tQi(R@zRANgvQRXtpMujr?X znG@U2Ha&KQ@pS3%FN78nLr{1DsnPZO)* zwS39rt;`a~+!5SZusb4(mcsHFvH8vUqzwrPiJRkyaWS7iv&{qe{-ieYsIP}&c|w{| zG_ZQP_v3R~fpn3C+kI23@nu$<=79Z1q4xWeJ04|YF-=wEd+{ek0E!xWs7~KiX2uKx zFPlxf%#q=Os)K98d-GXM%Lrc_*<$+b5MyC?K5%xx0~+Tlb8IG~+f}zUOHu z1~s&pg8O<)qi_=Bo`p!h9hoSVGc@f67Wl>FqFo*r&M~|B#XB4{w;PVbLA&rS!{{1- z2DrSsO5^Eh**Kjp;)i3VXDUN0O^I4(-Ak+~2 z;SNO=t?}9~E!|U-QdM5AWC+<)iVA%ZVt%t}_Qo^93b;eoDdMRZYw@r8(3w)qd<|-C zJthWb+?a@>SLag|suBY%x~S5M*)CmaRc^Al0Pux?3R^%XxmXSlZ`A+6)P53%`OiQ6 zk+HwdTq-AvH`OiUH4s(iI9zni;=h%Xg0b&GHcbskD-+)T6@0w}qgH?GsQJIdUe|Hu=hL)9(Fcb;$xc=Ix#{Y6(p4**ApJXIC3eNo`8ppTDsu7oge+&a7$6jVp z*H_}8P+W37eM)`34DFncg9WrE1#SC^B-~@%Kwnq359N70tRI--axA)_zOS_rUuN7E zFnz$36IB;^f{tDhwMOL1`7hQI-pg!)piGXH!@|`u-a8nntu`Gs6OiK}O^b9$%ckJ4 z*kD-F*{)zufb)nSV1L5c4JU}6-VYM06YP}{@%`OKe;z3sL z9m^EBjeP5W2!6@cN?ES#@@J2PReI^>uK`*~Y09g+ID!MWFX%5I@UTiQY#b{yNQ+J9 z_ToGW^4l&^BMy?WCmk1WdbPf-D!+W1p1GY?)-N~zzrbggDsJ z1fhQ7o|A4KZ24kfh`?J^OY!xFT-BjWAS%sFF4;!tN*2cnJGW>{V@4NjYKanAhEF24 z)mRT)c2?zp5Mr=Wl%`Q|Ir1D`6z}+|xtN}L?8LS8i2SXE|*3iDD4fmNNu?rC;2WD%`Qj>k#IS&}X*{vdx0N=g>|G^1CkdclqfnGyHba zMA$gHNe;@*4ES}_87&ow>5CO4$?^(qF{UOWq{qb7`Y16T{bg?ZTtu=LCMmYUx|dDQ42c+^OCcUmN?^R8gk;QpBo+&1 zATqD*gX(B0mQIVlU*D#9cQ*h|y3(Y_`lV=FriE><&Pl=2UBWRQVadNSj3#-yFhu{B zwMQVCpt_MebBlwKI@jNI4-FHIpoMDJUw9MbG6l>lqwmz)qX0?jxm=Q<{z9N^*`lMq z^}yC@HJU*E0`hEL(VA*Ba3Fqt$cCk{2oLa>p%5a+Ur`SqNObWKm%L3_e7nc0H!~$x z`kAuAc*1Vam@H>4e6|}}1-pKVGWrmg13i%R#?XzN7YcmuvnW;`j8LA18PnUCNfwSV zftyumsF=a^i5I3%$l|`a8&mzZrV7@qQQs5!5ZI}Ute_#WRRhVe-9*DCZYG`+1T%V{ z;sJa#q*iY#ytjqZOY@bh(INa+nV5&sKdr$p)rtp~J-t@8scye1AsZMsB3hcO)fHQ@;zz#P)0a7BzG+ zNy?0v2Miesd)-`-4;HK#gfSRpFVcx*PUUH+_%MRyJ47sMO50^n2SI1GZT>F&mqGZ@ z$v8tbAVoZ=2cu6$3j{BIZ)`kc3mM?OLZvS2;ZX@va{1?{GHjp?o{c`M{gRX1^b&uX zkV!PaL4(DA{tGXstWL-+9excTkPcrsP5XY+d;k(_T-`Qn*V~ChC}a!iA)V-2j_J11bm-cQKE2yHTfmHkW(0{NA}7np zO>k(7O@Pvu5UtGcQF3;w3zkdAOD48t-YhC7FX}%AC7Z01Y{@8any3Ijzi9vq%{N|-&{p;mMOG969|=Bl zy7}DUd3OYQ8)Ya81kOo<^#}r#g!Dl#PFU{95It?{QS?#@0&iy1zJA5Hs*oZD^obv> z7M%(myQgm3nTEw$`?AOwzM4zT%S&P;`N4SXZ$gKfBr1yz*(2*fLWblO3AJM^ zb}^{bz_8x3hxOoWX;Ln*tI$vX+oZX{)uZ;O2;e*d)@#8N(DohFB7p6@;7XUHkQR}z zvd`f!pTdLdJZBd)7x;J-?CI-^KVdb%Tyg&_K7Wk0{m*^`*qZqN6EFh43`<`}M+d0r zh}{{_mI1o^Y_U}SWKwf?cXxhVj~|Z!>SKsr{{vH%&VI%aSI`)UO~&w}%%Gzo^nZj| f|K~%SM!2WQ5lf*=4r$&(08C0;9$F%*|M|ZGIa5uo literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/02-os.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/02-os.png new file mode 100644 index 0000000000000000000000000000000000000000..9a17cb8fb2b90c24ec7572750d2729b82e879fd2 GIT binary patch literal 46672 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 Zxxz!>=O=k>&qu(Yw1mQYn3$2@{{r^;=92&b literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/04-harddisk.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/04-harddisk.png new file mode 100644 index 0000000000000000000000000000000000000000..1675e3a3eded7f8d90ff03c4db7a6cd111ec4e7c GIT binary patch literal 83257 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%0D6WIO%ws}&yor__*!dI-Y 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

_$Cs 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

    x)iERp$qJyN|gfG;F6Q& z&64{8o(Uga^ znR%&q{6MY#B%s@tUzB{uaE9&{;+SK6umyS`D5)6g{lP6P^cdAuUl>@IHdVH%j98%8 zEHD=hJlH(NHgVm2PvSl_0SGe5Wkj84J!Y2f)(jmO-4M7CCcysbkvg>Y; zdeI1UCfL_B5YanQqDbG6p&+IE!#kY40s6SA!ql+K8F{AI8>kNry4ITT=IZtLfr1wD z-|mzLR0n2d@E{4pla$4-?)e%{IE_l3vaOFp(1%?8h&C?F7T?UO{0zV%Xg-`PnSdZK zw*-T<3hw$GaJC;z^eZeY>mIe}7%!`3!Dr(9aJM+QUupQtiF9C{aM44nUrw|%!t*uT z$+kAI9p+0&^Pf(nLCJ-CN1671k{;@3}Av$o*EkQZLx07e?ToS-0f6E*XXwncFl#x zwk?siN@wAUv);{{K9}l!8^0QqpW)8)VEWrgqHsz_a5;M3T-x-*IflJ2q@m*507pWPUjj4bqyZ!C96c=HA z+C;;X&}uR7H~kkN1?N-Cw}#Ty`&+6ZGp-D3&>5ok`BsZdl)_Cf0g&%qMAfG{JPoFo z#G*yorcQQpw|%GDIRgI>A=VcTr34*4C-TGk?t?Rk{Zn@xpG+^&@TKtl$RBAZH)n1n z140l6LG>A1f|13uFt1=kd4Jova6>pB3d5|~b;8#`NyO!nN>-Foq+8UJ4{vDPU1ujj z0@(W>0#n-id4a;p1^eB`tatT744{fHm6DODQwEg|o#`>ip7lP3MM@?tohr)b=Xc={ zBg_$Lnps_E>(Fjh6yJ(cl1j_76D%O4Fi+J{s<0BD{(+RQ*}GQ>5|kCEhB$!4Sa+v+ zD#O*4KM~nYq4rq9G^z!f^zj{bQ8KI=`c#_1wPQ(;r?8D|Vlo*{D0u@Vm0gDiCRu^< zjELXNmErh{b19HN=B2ebunH$!)5;7!zI|3*+n@!=v2a#zK9h4Z%K`9PVaco4VNflA@TaL=Ko%?tjc{ z=a-k`6YLT&E*_@TF02nrANH7QRR9PwPLzBSnFbM{l`af-bpFnu+h+*%2`-r<-})H)d|-|CNT8Nr$i6q+4Co#i;P1k z>13g&$%Tj%j@K=|TcsH)KKu`*q+^X)+jO4JYzUrsb7d1oAvAdXOG(&({7y6+c6QOR z3S==*J0UR9cKs7qv~9bFQq@i0eDlJ*aT~$xMq7{p+`}#Cxc(r_5^ihLw4z1AP{D2~7tN zU#4apW$#lmn_xXb7$ajNZoGEdR$IGh_%Lrng{F~FMW4cFu1%2g)BRQf=d3dCpyk)O;laFquE0tCn7bX67?-Bqv%#@ipbAVN_4#EexZaLWwkgZ+sE6QKRQR zUE4I(KnSVCNx7vw*fYgqj+;s&=sh@qcW$rT`|-V|7C(%~!^xAN$`NN2+U_+}^cM4x zTiDoLT0{ZV+WiR;^-@;hcX7*`d;0o=_sT_CPu<_WQ_o5(-}Lw29so|Tser&HcUwiu zY}!aw5epvX%TKB+%DaCk8&Oa- zR4*^6jRrXfT$eCHq}r2MTAF=(S5|0kcKJ)f^W;#-fb2~?{0{9f=MmYUX@cz3{W47X zfSU4M7I`rGl0beYY-=VaP%0jJW^KUGAv&O-1|v4z-a(8Tpu~zNT^eOCSNgy_I-+KA zh9N5$bH(za{1EMO(a0<&?#y5IhkOfq^3~^p&VUWAIvNcj7AmM($S!G>6*7}kJN#&B zeuOw|D8|9bX{1+1kQV`|Yx-6)lP9Kw5EnubYb7w(bS;MMOku%N1rLI#W@KWA$e_n5 zZM*K?gsd-UFoo>id{bjzuovp%`Ce*RyM8`ii>Bbd|A0z)HEd}+elERNaH#(*0O_B*@&z|A%fu_mPB7RvVLe!-Iysh zL#x7$^xssy*9o zA4ve0OIhxp_me+#fk*uv4d-qIi@baOtVz3%U*xnaGy9xJqT`&-arTYdwg>#Z{9MW|p;m#{))!{e4r2rJ=Z9oPG&XVEg{Gwm71Ndw z1qI(f%pTpCBpsVv)fhBo+ew!(4-Yi^A%HT$ucVqfTKPrt*>cDf*EjmRtv>vVUa9iP z0HVEPHGS2fBlJrHxd#0v&$_UVCgPh3N+R%?cCn8jpWp%wkPclY2M*Ts%L$Vum{FF& zdTH@k4XlH(e+m^?Yg6(wI5|1Vc+bBO4)gUSTI?ethlE*jlV+BWUO6ZW!>?x28Oa-xw;PBs)rI zx3{#kFsrrP4@>=PZa2eCirNjsWD-0BqttE;O<#`5o#6_(@w8n{0G&J)eU!$aHkannxbt&6=B97C`G8CfDJrF8aF z4hGEfPj)Pts|rOAd*@Ry7))+eqT#9`Nc*on+ze+3{*IoRo_@R5D#++;AbF)s0%1Ci zQxdSBnVpsHC>1X8b4j2SPSzJ}R{ZaPi>W8fI)?h;AvX8bHFX+qL<);0wAnIkFYGMG zvq}@PF!pw8{b&*XJHpR+agVfFf#Hl+fjNkCCM==!Ryp30C9VI}ZoJ-Ok2)cw7zgm5 z=FZBcoOF?av6o!*qn5u2mcyT#bd1@ZrC44=_iw64>6WTGIt;d_mSPMDLiHP2x~W=j z3U!LZpizTRb;n1NAZZv6h=_&?+OSD`a) zb^+WBnRK%8bBl9xV(_7RpkK^7Dgv{H94-|NMXej82U^WMc4TH3V7_7Ky(t>c<|1ifkXoC?e5G@2c3s7#(D{(&SX+e zEzR6A86*3>%XNf*5v>P?)L>ahUoWK?e$APQPPut`S#x^j2pl6_l$Cek@7d7${r)cT zab$n!hGkmF<0HcrZ)R@l-bcMc)LLBCrozl}aWu)6cmGW~u}z%vwr+0t5a zT%lT6B@3<)c6jTenS{`yvq(2PrCeY2UnGZO%vqZ1=-Wu?V(Y|WT@7rCc_R7<^seb4 zpa>e!4_o~JmZW9YCagAUBKq3g`|J{@LA+NNo@&g*2=2cacNl6FPe7|sf_AZy&2+28 z%F_=*$EaMZZ#4^BB2-y|zt=txX4+wqQw5EyM059|G)8varJ9`*Gyc_KLt^ir=Xb*P zr50T8G8cWJ9~_%!2};VoRziC;nJ3#90C#bJf@Im`D4o(CqlVgUqN@+HG+--RF78Gg zb5WZUgvvzPhelu%ppdgC70AFlRLv5!Ih* zgKK_>^eQLa)acv%h(5D#vMVV z#0=?_D`MhwYXOuGkv zY!XZzWt;ece<+I}<gdizCAh#)FIukLo5hp8&p%MGDMMxQ zZDv?C-t(74Uov_&#J;e7GA_bh+P%B$iGJ^Ya)QHGMznBO(QncS?$29@&s6^wX65Ye zb*gNF(e@;6wajLS_zANgNA^j$Y#)`o=C|d+@j4W3A%ajk7570G zfXTYIk!KBgD8V9+z2hO@5ZNR@$@!@`kKqTr?sAxhTjL3H@jN$oGlnbSF{v+x#^Rcl znA|@kcarim7in7*U)Q)2CV0@MqT>e{fdY8G*J4hQklJqV)Q%;s?1;FS+>>uOD35UN z)Kp4ckqXv@fBunH0V5~0W0oz-LC;1l9b{*4!C8El(sL0`={4Gp{DU^KxuE4uTVo-) z_g1#o&#G7uB9V#E%+!-=k;Au}nBFSK<#(LbIg?iN%SML63Rh@~IlG&BZH>YdXZFHj zck0q&w=tAd&9wTjZ_|b_4F#=ob+<%Q5}0{{7N}k>NwERWQ%UCQ}3N*Y=7J!R_Q*`<3Eq z(wOm9T0h&$l;vIY_J-|UsG6(%;?p3=Yv4aA7DiYktv|MbwxgIg=BZ>WeY0d5XP4ct zm{t82uS^3Q9x0}OvInjk|Mcr7ffAxL9y2nmj3om6I8(Kv2kZL1PO>Z&y%`8vWBQS; zs0shl8BP&gJt}_-n0<#I+pCu-^5$_K$% z1^kkjLNv&(4^}Yqg+QAkUFf1u>x&~_ex&X3Hj#avk6{#*ZTs8-IB#eS0CQ9DrbG?a zqK&=MlC_N5W`Fwke|5wrEcTDS6vsw04V#Wj+C~JuOq{#a$Tmzwz5~n+ze}^qUj5JE zqHx)~M*bgrkAu?K#f_7pBIjGU?MjYcs_^($vtJ-5!|Aq1&d1ckpFODl5Ye7F+>pmbO z@%3&fg*e6^CjayDv%H87Wv|fh`(2JfhrJR0QQe7!;o-Lv6BABuZkjXodk3==`90D{ zXAx=v4IGiMS)~Ep`id_zdMj>(PL0)KfLNqFrP+>VU)nJZ-U|HvcSGC#|&J7+1G|+6x4c!SFYya%l?#!!i>^Y0ZhCa~1eZ=iY22xv8vKc&azRN`p#Xp6o zECl5FzzIJ+xFsL z(x1O#Q@&j+A^8WRYuj^YcQGxcEH3fp!kG~Pa;;4Bb^a-(|1O%;9oOBzTf=f@dADuE z=O5a0rBqFo$c6Uh&KM{Ap+nrl0f5O-A%n0dIFv&6u7rudS8y-t71R?OPZD(^Di*gXi4-S15@nm3h! zFkha&rg7?!;fN7Y41i_KwfL^;#f0kZBE z-~RE?Yukg}-PqbP(gTd5g z`n$Sm`Q9JL_DDgeZ1olfniQXam~xj1hEEk^$h`<`>aO#K*z7_x`DmF~d(@|z!jy;m zSdHMTA~j|*b&>!;>&s=GRW{R~2~LV4dypv(yuK+AAl|w_cNL0tM%nJhF!&TA@bsY` z&AUh>T^GA4Z#}9Ae>-z&}!H)G>9cpRBczTe7;uA?_`sM&P0_->o5~`gb>g zylZB?+WC)%Kd*XfK?lrnBQ=%bkQvrlXVYA+&dl#Gq~Q#~$7=LHR~MZ7KLGh?t_ICn z8S4i>Y$@4RRz@E&7o@@`uB{~(C1_OD_4+#B4`~7ov{K?cw?Ullza|U!p%4~Hb?q#e zZR&QBr%Mg1K?p;5$5@R0SmLUBI0|Y$lboPf53BV?s+!M11``uj(t_QV2nT5m%zeI&Sv|{|HA{`yTzhxj99FW&r%?C`VdX!{M zq1WUrfeMCwKh?lOWShBxBE>=UWcESK*~`22;&#*%ODDbw?8fW6!Jp>>ZEf3r795`) zE3w+XorY3o_VH6v7JU9C1@0WREmHXBW@?YW5n$&q7PnpPN9gKsH(_H~E3E{gb7ifs z&POg4hor|L|6SMrEwhm3n?nAgR%RYgBGq69LBxj7`k^hjb}QfHqx}10l3aoG&SLeto!3b1}3x-Z7ZGJf5|F1@Z(OT{=~Y$#7hP;{KMX= zj>zD=d_K7(cdVD17UIFmt6sE5iKiQ}y1jg@n@Bvp ze8WELGRR;lT9*;)-IvQdr=A{$5KbJc$j3^!!LmMU5gL*0xc_j_&wwx8{H#lw;YP-l zFgsALv=d|SSe44wshWg_j&I}?75{S3p!W9m%P+>f z#kc6Es!?NoetxbK3gby3!r>g$X@bkkQ8r_|eQ2;6G`&Kb;Z3bQQdg)*XvQ7f2jU|C31G z5dYs#F;4$|7TE%~ax_DpOsvQ_=4fPohrO{;y9m4ZK)b)es`|wYAMZ zM@66U{+U;^HqT7UjHnd=!o2z6<4^vNQbY24;V9ayL}!uujnMzbbF*{572X_9|DPVC zQTJzh7Vq{5%~X@>Uji9f^0B6Z@q=XC3~L=JL9?F1`~Nw>*1$F(w3B?Gmg~8%3 zI>sw6FMsn_Q7d6&k<7}X2*)J(=|D^SU_ZiGIS~E2M^~7uKYl3C<4?}!#}Z zH`FEhv!MF_AGjF|+ynXe_`8*jI&g1pFeM#5-s(Jfw=CZuFv2`-qW8BYbS{5bntHaB z*xrh#=6nk180|kB32RyAw@H}nb(N5Ev*$+i{L?=$AY*hyT6ultR)00Ec78U4KRFmy zx$|+Dv^Arp(wmb(bTMU4?y}V-uhK(#dHd=di~}$t`$PFZI80Y1{10?$L|vQzi`4%I zKyF!^l>=YZLs}FU=1US5GhhZJ0wcbM)EK)@m&_xd?$2Pr9#wsx`%Z+XXKGs7+A_0j z!Tjlx0-7wh?AF*18XRoi$noqH2n;;f;fC)981kizke)cM_nev_wiMb=XiepBWtLH} zdv%5x`-8A~p<;QpGg7d2S0~w$mKntX6peGDUh_T?0NX^rF)PJ6VX$XFxXp)?K>5p_ zR>Hs4EyUI?E{T3Z@KGBGc&}$#t6LSPv(!XXq5(u)FZdDn`J^wj(Xp7=rV5AVeZp(M z_cgh5fBjMr+M(vBN8z`|b%v!q%aJs}W#&|0{_fjwUlQzw+4c6KYS-cK`d;*GCU9Kt z2bx2X_G>J@6YW8hfLpprAqaymb3C?eH)resh@&prU7$&~=dY|)(xgf@ccTrJvwSuq zbm-mIG>+w1W!KXe9!R~iV;{n{YYnx%h)juIRt#WQx&{5^*)TbTtj&n$D7s95Nd7Tq zOO*M|`Ynj^NY%>)yLQb{qQJ54S+H8b`43HWYS9Vz)X>VL)!|Z_Weg4QIvipXqxAr` z1lPZn2(8i{w<&vfV_RS|Xr}u$KSNS#uKAZocB?YgYD)HMOfNq@Uo{8~E8!mFV|bKU zk0ay2HD1~`YmtHEjlj5b*`J$H7$Zcl9xnS5;J3&15kTCTlsziGDPSHU*rNS@WG&Wd;k9MPJi8tryn7 zHv>8x02kulMMaDYMK2DIK~HgkPYvp%G>PSeJ_Fy@y55=|UKOU_2I7%z#N0bB&=i_( zTex1R1;JZ;P~dD7$aEkKQ1@V;qf!JVZao7;ILNmodjKcv+_@=1o9q1u=h{nbez#w$ zAKJBmZ-+A(Ol8kMKe;DIWNZgT9?+cI2c%F|_yX>(DU><`FIxjX&C(fd78;d!y(~WK_%?SNb<)763lCw2to_+Ebs+j% zMii^zt=m?I$}nHfbSG=-!OrqAW?`O|1%g-=m>t5`9AH2kaCG*yASYov>Uo4x$q4i) z?H0dTiO=*Zj4^6}Oz-SyHd0dqJBgx+172ph#&t!SK|SS-{^%-vd${4$3`Op$xIZf* z_*>8@H;>h4WVW|~oK#jWxummBX7T6^&tzc#R{Cx{|U}$0UjLMOSMT#dNmv*CcrHg)qCp>*{d>RSdeez#ebO z0Te@YZA~_1Lm)e&itGea2647mn4DsGyC4{6nfmY)M%jk7Rh^)E0t%7`D!QK0gLGc$ zCbE2ve_eagV$e3(GQs5hT=7#|90#luqC^!>vD(gI2DGdAmR-68ep`>}=gj6gCrume z;Tg=bo=q#(o7+D;w~tpEEqZ&8h^mATqV%$fXVkyyH(>@g2Z&PgUosCwx~9V>5ZiEA zfJ0w75#oWeT~)(j>o`w0CRI?Z8 zxgZb(JNp!BhcuA_J*Q&H2Ni}q5tf1#yGMv3> zq18jvYg!Ir?TE-@-)_yj|1ci}KFt+ui{5!S?UN)g)d*uH5X*h(=4HdM z6VA}cT_&nb(8Q{5e0LB}66bwF++l^Jg;Z{yox{kt$oarm)P%7BsZx5*zQEWUe%ETV z3f&E)ST8$x!ZF*70MR}u*U-8=qC0IQAjoJSZPN5|L)!FC+QKyL;=+XEs5EZLQLogx z)Cq;RLlimCU#_i1*SNj=t;#C{Va@A31LfgvME~pe(Hhu3o(1Pc;bih|Jo%Em^2j|- zsRDRq7~3?#%2dY(j)k&??31TurZXZsz*Rnz49n9`d zyT^I-=(Xc%b^W+G*2w;MlJ1R~hOy)qqbI9RcPtjz#<1I1uT(vbQ=HCY*Ew$cYP|1M zUZhnY?8oXd1nf+$vp7XbHVSz>sJ|)9cu;c=`fQK41hazOk1zcBvqA^5J9@?J*fB~~`Vzkp^f6^19{u#~cxxGF>2L;nOSORk8L1^td)=>+SqfxM zXo!r|U13~qaO`Pw7A_*`(3AT)C`-ur57HlzsK}NgHo$5WizD&vc>e(1QOmnG;2Q|9 z`EpYtVb~K8wzu8BD;z_zjw({Ehu^|CJ2R>T8Y&$V2LPPogvoG487sW;5`Y3 ze-WEw_nG7;HT_Bv6EiXBaKeIEnlsA+6*{TP**MrS=e3!<*W z_x0PpU(F`GQ^_v$;t@bGJ+ zglzbU@3emfGc<13{gx~@Q5`Y8s}rm-t;O(YG;4=lJs?N<(W8ofE#5EX`E|NQ9MpJT z9QaP(aMeRIim%%Kos9lEzN%thcoI~QwWGDw_zmHigJHwF%)-;>D!C|VS?3Po?Wk4a z_pAZ)Zj<1|B$r(0$L8LmUCCyO+qPAaJ|y^(?(RN2Kil1XdbUb@=dk$_k4tq|ef78# zW@iGBb<9^W9tb)yf1%zvk2|Z7-&tR5TE?ylNvTM0^d*AV)!8Gb>+RWQfXMW9R&|ED ze%tU&;#>+?9F%RWS6R*|^A&<{-K@u`7ECC7EdXq4)`eKj(6Qu`=XI~;1!3*0qe-V5 zhPzq?G&#&E5ku4Cw}0$T5rHMl%a9Rh{iZLD%cMAT{E*w%$jWHciZ3Los4nzy@xD3f z7Qm#y6{V7DAY5Fmfvwiq0aM-E-ya)AxRybE-Zm4F%+6)D#9M%AN3liJQ>kg*&qv%R z-hr|f8?oEIH4JVDd#@9I7yNIqU-w0lU#$6412>*{U1UArAPAJbGniyG7jebTi{1w!kgP&nvwld`~jANTr_Dmyb79Wu266d{6?lImurpE@cu@T=)`zxqg@I7;82V$j* z_G3r%BP}&xYg^nDJwu79EKZ^JO;TCP5vC=$;o9|(%y(_Va&bAd~}G$cek>M6Tm^%0`gs2WoOsv=mR>G2xX$5m6fB9`}I zG+m=aiE93vpB>Q?rcj%*Ug3QM*(5jJ5vJC}{mo^ybz*;BQBKVrsOoAmey3z>SA0hH zy-kq0zL_S*J)#j=!Lj0R2~@d>Qhz(s@rboidRQ{QJi)A~1s8@yPjL$jjVx(5Y~56j zxBR{1U~8*ETW%~Fq11gNUg&7w^kt5)2mG;)~!J3$8=Er?~H;=!7+(n3d4)^4kIX)&iCCht=|eYSKq2VAci2 z0kqG)@?C3zdia-*x8-Zw+xCmr)0-gyjp$dm@T20d3;jz)zHMi0K#qk4FMu0+vsk1G-}B|B$Jtr zlEHz=b-82>YM|$DS#N4D>aZo!jWwe1QzhWnFTC5PqFb5=e0*_4ASddimf)K2>NM{) z+*BHMUF0B+f-j^ccDqyVLrZJK@pJhYu&-ZsP4qD_WF-BPs-f-Tckm1y)pkA7r$jzW zPVM${j-FjJjKXjEulc6fsmd8KP$CbWTj4s>NQ3CNXW0Fzfl8VvVE{|9Kyp+anVKX7 z`T}ah_-sa7AIm^q_eQKwZLjUedrgpUiAJ>X2GoH6dDXn2y$?7oso8S}LMu8(nC zeRnr1L+NBO_byU8DR$ZE+rr3O>*o9cbR9Tm_rJc#UU<6U2Fkh@$M0Rs2%W=ZlKVEI zbap%Gf9qU(o6e(HRNtvx?D~ygKi870O0#tmd@thu$osLcsw;G3-?V$uu|&frnbvvS zA{|!{_w3adi}nPf+O~~^p_sX_g`%l@WJm#vcY5mOa(;To$uaxXh?Tx`Eps0lF6+XgnE}P&AoD$r7ks5I6>ezR9_Z#J_ssgr9Q~FKDdvd}aR1_RLTq zfT4EFnYs@hJ51s;I0_bdrkiSQ)qV>rQ<$I;-hEeF)()5|#+LAH*0ZVgikpwR0(hcY zLxgcS6|(WX1JE{Ib%^`k;9j*W`G3URWsG1k+?}*mqDO1RZr%j{;`x!opJco?r0<@;mE-D4n)7@cux_ zIPdSJDlqFs0Ci@oYiwly!o*AIrSlPi8j}Uv7}O^F{Xpx?#@=8Er|$VBJLtM+@wEGZ z{UC6KJ`DMHf?d1 zD+9tTp|(vdU7Dl7bGBJiHkC^L*iD<+K7!|*>K46<*vqFMBjY8K zfoXuv;H%*LO%d1mO)I44VSFBT09PI8y6u9;Ljt>e7H+!g)nVO}a~u5jJICzt7>~2> zF_v#I=^_nVq1sC`;+bfL+Q1_VS0^{IXkNQ)Ae%jYE1U=9^T;>gDA#Z2YPv`ewb8^t z^*2pn%?tr3E29RUP_&8ektqf|SX_+PK&L>8uy$CsofpCp`(qfIM)h6YhQ)<#7EQHn zC6-o7m=mjDoQ7V}i)VGC)|=|@J-8+OL?tZp{Wag$BXNR^vWz2sqS3V=Vf0iFtvl60 zq-th<)!^*9PaLd!q9RKp=C(%I4x*nF95EC7TuXjI&(AS#(c3FL{B)_ddx&OI1(&=} z7?k2EHTPq9X#C}1>X(*IrNUso?5Gvs_ zxEGgx+m#+qCI^e}HhDF9gXYPGEF`qWu>DK&m~(6WZQSAS`K8ATbgwb4v-KPMGI*Z5 zD3Ic~GWeL76~+dyr>8fhuoO4hArkrvO@mt4zL_a^^=Z$1%-e@^U61$8v5p@1F)Kk( zmX`{|8Tt5>BK~nhE_6RxP-(niBqnj`hYWi?&dU^X-|!WUIvDoU8n2m-+(Ggz#LFmt zD|%68Cji?c)Aid!Do=0}Dkh=jAO{|ED0m1(sWl3PB%noXZcSfeNpmW=MnndJi=GA0 zi`Ag6ykmpb!xR>uJELEl-BH6ajxp~tIEh{A3@L-7TrFx$fAx0?J(@n97V2>JTBl!F zg1lQDbd1E){k~Cfc)3#_-z``fQb?=nyP3Kll-4l-b>3rd$CD9y6*2C;f+f{|Uhgg1 zdS1&hdpQ_j3DiShohmRa3P>;`OEm{uWsjn9cjipdkhnPQ`4NY&62BeXu^fU;r02vb zZipXPd!iMW-%vsLBL0$>yxJ%5O#N2ZAuBP3|JDixBj309RovgdYB+a``srpF8N|}1+OiBcYHu)5>&5;K$>%q06Q0XFV(At9zkI+0SE85!Alj>D%zw76f8WfQ7#>hjXbn;<%0dfkiEqqwtEGLfCNCX?yNu7T0y)a6ntb zxg^*|WXJ8^xXtMqLD#^*<#DR7vJ(P9=ct) z@X+YawA#4CPaCjd&p@x>i}M++rmCEJ`N1{7s-5x}U@}wRoVy^2j6=<)*5=1XP3C&$T;7hM zz|q5PXk!Rag03~MtOap@W@L(?gvcjM298064sw6?H3Y^cZ5UyuCdmOU;%qWg4edwV zr9?$N3=tt@>RR?sR~AQfrfnEk;E7B17RpDYCmB?tvo11*nk3dB-b)uf@LR0&7p&Zf zWA6%m0pOfO)mdNZ`N~QeY42m5PJp|&y1UQuh(@}%0}{S33CHDIF@rhGPnlPnEyyKK zg}?r&dTn-f`_))5#?Qc(0Td2t6w)@kkP=N?q{8mJM#atXhd0^Dcu(rsp6F$qWnD?r z?jdX8^!a^e6UL|AkmS#vDdmds1JF&LyZXh0a3I89^&KJw|2+Y zzy2AIw^dd&Ho}oA$jOm`c!H{Huu3?*(=QcWauo z&x0Mt^wKVTM{@e`;vjT>U;sO47EI}OV;d3DjV5Ou5|W#mO^9@~;W&M$Gt3T=6?oAS z_~wmOm4l=6bFIDF3PfFW&4sB(JT*$jE;55s=leT4X3noB;rkjgziy6t80doT{PbDa z$q`$l^029$W1*fx68&K^ zQzkkI?5olz`szrFYmG6O47{UVTn?>FW7-}i;@C=cck;0peEB_tl;-se?C_%M&ZO!> zc&+}TOpl^;??Pvs&X0w#*8dofbP5~fhB@d(7wX1FRKzbPg@83>`8?)cxC*0mUk?}+ zMVuITGf@KmAI9D~u8MAt8x@dJi492Srlnh2VbcxL(j`cDBi$e&9n#&>-3`*+-Q9JE z$LE~$-20yQeD3@S8)o*bnYDi3`mLI8vs(LQpYJzfnza)QofIB*IL@YAI_q@PSKzrdIp%!R=&h-}Blwoxyx$QhRuKi|KAJy=r1MZ?%a#*ucME zZu5W?y3P}`n=NR~Q17Hk`Z7b9f_{OCs*b1u&;2T2Rw=#nC*L9xY{ldl%ni58OugP3&kIe|Lj-`yoAN3$}fMPTM$5uC0V<9^6e-0j$U zYv69k$Lc0RGCCJv(<>r}%lhWQm6pM7{x^3z{AuLaI43N?y2VK2&l_lW$5=3$MXRCP zI{PzQwkM|UccWsd3YKFP5D^4?-?BdGQMP)2K1P2(@%Uspl?z{bJ{LCoQ7DYK7FS~F z2~PGl8|QnO1OL6&wC{9m;rZKrH~7WtVWXPik#BvMuR@TEy0jLd4EGm(IVb{JhQ525 zt@0MRpGmpal&C&2UV-ACdhf9B9;^%5ub2wBLI~=aQBPX9188{sh8L4Omo>t5<_m^Y zCiKPODBmM#`cobyd_#2L_2Wnu2Dhn2+YD~#&Utm0I*c2V_1ru_v}5nIIGt)Ymh$9| z+n+iv$y-LrLmyCWE)PC(u0j&asIx$ z)F1{>`+XLobMk7}?l< zkZuGGUr+Zvv}|HYJ_r+eAl+RxW?z!KLE)7VmGGMHD%`diYCrXLN8b|=G+4~^rm`?O z30hZtl$T!feaMo6t{+V8cavW6m1J8>&p$apF=D*Y>Sl17AIfF5r%t)4zYkRnYNpkM zUqaQQk*a2hJ}ELTO_})0hp`kR-J|q+isE4ze}y~OO0zCMokdheLd4k~5#J2=s-RDz zbwr`|cOY@6$FgV$fdhIm-u72qV+B_{d4md};ON<3oD%Sxp1(=5)#|qQV03sq(5hOS zkl4&Aeo*lwhADu*RS2(*V@-vI32PCNmWOq%k%1Y>3a#=HSk#AQ-<SI)D`_#*0;Wi(0-#Z(={tE-arXjcKa}a89;OPP0a#^}T2vl4hC0$3Bywf;)WG=F#fTbo}$`!;{#`Rb@7R9~pTGOaeob%)g@ zrHU(!l(h3?Zr2_}($prH72PFy1HRBI8`~#4xOL;bPYB5)B`j|RsF7VuLF5^m%VDx? z1)Q9-SxJSOB>wG0&`X;f1<^}aXdw{_Ik~E#Psju-4rfOv$E8Y7xf*)T>p5>fqEEj@ z(%2}Z9u{%dh-@|ES0q^65M|k)Qk>~ zO$>>Mv^Gm9@DO3uMGj*euDx(E@Y^mHai_nzp~q^b!P+(1%H-uk8Ab$+RE`|BCWlH* z)e+bIAAiaEY-hOG)feopj=cYTdZt0|u1r5ZF(l^VN|=HUPXFqyK=OB3M?2}2=U@Jk zZ4RIRd8Pl&nxd2=@ZRY(v+j?tG@v*uP0+u}y4shvfY-o!%DB>cD*jG1BTCCg?*$X&;SRdfn-M4zituX8m3ty zqN@vL#YNgbIQSuQR?f*(lTpxiPfi9lVYt^w)52@Efs8NGZ#iVqwI-V-e+&;Ag^rHF zNNZ^ON$B;*yu*b)Hte|FPUmekd8jZaR#3x9sh9!=TochNwg5k)Xe-TJ!z{rQ+opPrjrW1TN> z%GuXjwWQ$m0&zHdV`F0~Dyk1oPPM0wx97%_&mpTymghmRo%p1zOv=rTw>6aPtps?j zwSS&cO&K)JO9Ll3@O~Z>jkkb(hU(or0detHrlzK-`1m1EFmP1i)*74r2iDEV)C`1) z?E4?9>Ryp)FNBZ>49Y2|wWl~J>lkI%nS6}J48Kk-$|BQO&f``Ub##D>F|}|d2ZPi5 zM;=>~`H;Am+;D7+23taKmWsHu<@^U$&Nu-yt$F&~+0I(#1VoRjM?* z^G=p%2J}8s2RMzKnj3Y4U$4X+i0FKp+QAiF@Ex|#?}v<&_dxedPGSP#D*xc%VCxZ@ zUXfb&1-mKge(UD2ULthD)F4?56>6f89`zog6-k zlLz$B?u6p*{H9xY->tL3PhxUKie(}}^kdVfdQepUp&%rA^5$&I>iSp*J9IJwHlCrn z|Dl*&L`390Cnt69%#7;JuC{c!X(ex}Vn9&eyYa~Ygi?XpWXBm>t2s~!PN+yuh;Tqo zSM<(y_;$CUZi556{nK~DKGJgSo@rl$VOoL0I%$Z8x4*yt=*tR`aKh4xuUxDZpN|$B zxo^*RGWMs^)(=|qx3+XrBrV*%V7M1sgZpkN$Vl+YO8PgjPP#Ow0I%(@0kh!=KPL04G~he=KGDHNF`C^zgG}}6q*b-w2ksSob4hS{`Soq2fc62dEA0+ zeLAI1+7(oaiQ*ndO4B^FXC7_LPf#kCsi~-EvG70iP`0^WR6mk;tzHD?lAD{GA75Mu ziHQX=-&Ww?sJ^42Q4scsxv_Q;p&B-A1Y!KBbyFrX?JIj* zrMf6B8`uSARlXGMm~Ygcx`bLK#iB z*Y2`bm1u=Emn?)3$tbtXO#CWQGAjk&_=u3UozR9+9CTHAn6;Z{4KJvEY0E&(RCK7r z&XT#|F*RTs3p60T!(dFaAbQ_B5i)o!I1a|(KYu!YC_VyRDbS|uRbj#qhLs`ojg~p> zf;)uhJ93tS+@uM*_q?mtChHgd3?7z>Z)8@UocMwda&}L`Pox8IpWq>GkJRpcvJSFj z%M~7nZ7^4h#Nz5CTQ4ymoao*tEOlM2PIt?gb)TOKVKee$lJ`AA#v{!a>Zmh#?{02L zXlNvi-Q#0pb7=b`Qh^EoaCbMKZ*8{hVi(7&rBw8MXO5_`@Zy!l>t;m9&CWaou1Z1% zKF-%RSPUWqmu{j%;~YCB-yar~I=I6+GvPCqGcf&TOU2^s6Hy|YLVV?8$lW~6j7j2- z?@kat-BEpkrqrF~^~~k7Zuu4NyMNGsayr#=O=+Yp5T|Bs*rmJ2a2R)-BNkBlzAFhH zCgKnPuZG?VTQ(Bzf>_FY^SSnPBDBA5SDMRw56r)qwWsQbS3A&4^hPw? zv)z_G@id+Bo_gHznfUWnN708@I8X2u^b9EH8J)Pg2ttIC43-+}F;|Fey3@jMxU9Ef z9CwR{Q7gvM4-b#&@0;7lPW8u(2qdyCy$K2OQa>?HqK6xm#`kUNCWa)y&?+u31eaRxkon~9MLx#bshk*4+#kjH ziEXw>_h3>swlLt1K$-aUnY9pKuV;}I`P#=sc$0cYOF0T+OvXDasO+-4qGc~(Au7c0 z`+eW*v=UTP5I_gXZOMQ0AqsDM2=i5`bfu^8N%Yv;2yGM#kcXj{`hY<(s2Ql}k?5u4 z_Aq|>F}F`RvX**trGo11lSI{*l=#Vn!-Eu(0L%?Z1n>GGosA;PDq}8r!@@1v4!1|< zF6t{!^wK>=51#iVeV>A-h+kzK!rBv<6~^K@xJBbm=Ora|I*-Y5bcYi8@<}0&!>iJXtW95o9h8seZif0n_(xLzf5u*f6(ezGdkxOuA3IR8lv3~ zTeRby8R>M0Clf67Hac z8c@eq;xQc&ebA}Ei%KAr!}e%wuA}($cJ-Ijt#^my_UBM4v$$6za7*mQTp}6*Q6tP1 zR<2VyD%=*Y%o&vDv?iA=}gFzCZoG4s_eY-hl+8$QlBxdl5V8Ig%*qX${Lf~B3hwZJ>l0_X^}5# zZ!qa&Td9GX)erw8EhVMMjw`)?AUnL{sa$ctYi;9A55ORg#$6gR z)A=P?Eh_mbQD+hDGm_aj*}$hsx*UO@OBgPcGc9Pt=GU4#M~3mM(t+PBJ8NEhRkEMq z_`|12wiFI~cmdXcfRn^9c#E3V3^X|w=I>E#_SR%yZl)ukx$`uFLhwDDY6a0|enQ?yZPGNNrt*c=Lf_yPCG%bI&$ zPhhjjHb*aiHp09C+3-iRMIgdXD;~3m(IR?-cZ+WSFz?FKk9L2)2yS>3JG<{+@w7sr z^I2MYBucq+#koIf#FHb~PsIdjxEzSHFaH|TJW`5(3##N)>H4j0S zL#s(oy>>8t9u=6@D72Tl=tR-G?eJJY85-yi;_8wWyO7Qk6-wy(eL_-H4y50XTN{TIyyO#aB||* z*4FkNkNkO5G!CcIzWnOjjz#Kida=~h3~K~0(|O?Hnbg z4dy7gsG1eo*_u4b9NT}#-D2&4ZSB|}KH=(!G=0g-9_euXOZ@8?>F(`Wx9lbp7DMf> zq#Kn7Z@4uh`qo1AaYEa$h`1(4`Yt6m&*tGMo8H0pC4Rb=QhtVxfe4etw{xhH&N@&O zwL~qaTO0SbHcTEH<~2*z2sVc(wWZA|?{xd#gs>le9LO=wo^5Cj)_Z@bq$$GLMY9AA zaH5;uB)dIE=>Y_sxO_P3j9LxhfUtGkyoWVt@`b|d$neo+f1{78*3E#p>5A^RFd}(7$FweOcfDK420?&?p|(r zKP-`hI}Wa7y000LLh{th)-QN19~T5@>-x1g7h_T@yy{Qx%6iao2>b^q`Df)@b4 zRU@G^jg9k0mxe}0PRhB`o=lo)IuWODf?2@AzTi?Pb&0R}?lPK2aQ*WMAL2yYlXwP@My-!pyXkqg0$=HiH&e07-Uvjyzm z17;^CkPl5OFWD`t;FBQMpKhT5dZ>~Cr>ED+)78!GM|T)|oeFviu==P&_Mo}NUK)a` z^E{LFX(s8u-i~wbrQdNRse~0$uKVgXUXVOrLT#$fGENBzAr#i|*0)R{@ zry9k-Xe8u(DFu?;VUj;NCF%doy#0qEdap*I@s^{I6L8CdDpOMpQ9i{242nD6`?t^< zKqJXDA#6}3Na%vRI(L-t3VRAPTm zT35YrQ5tINpR1U-5ROk}Xf0%O`Kd6K_!}s!HXRMr*R~kJk5SkiTfGD!)76G>lO0T4 zWZ+$K(~0f^QU715YoL;BXk~uwCwtS%o?w{@HP#V}5S=ZX6vuXWa79PUp<9VMDK?4??x?@Ze$#t9`}0Wlmm0mfc~al zMMZReC`8CuSXktxQR^9>n-A;uq79xeaKj*;-Gn0MVFsRCOUr*!aTzCVYUgJGj!!*N z2*!yDyREf`@;A4{D)3ge81})tsSDlV&3h)DS+Z+xwx;jJ;=zdFG6Dg#HwB}X>@u$T z8cYE*zvC{Gm<}W+vpkOR37^z7NWgV)`tin$*wJJbk-HbSexKyzpb}B|u77HVsZnrO z^`G~UhEqAnZ)i+Zi39xIXx3Q$`wHC=PETpyF zn?yQ1Jlu_msXTDlIIVP1jrj$8)^yhGmDAk@?`(DNs}jpWD4~fl+`LUU`LZyv3|Y+F z+_FlcBB7uNqg8{EZv+-aaKSNNuZO}X8{ z<}2l?%lHnS({P$H>kaXNCNX@Y<4*=ok7gz#IpN*eG7?NHGA254KoLRXkj}!|l~&MS z`eesbfA*0!f#nsU2_eYNomqQtq99h@#Rz9w>@V)L2yx$C>OeCFM+aM|bmYUte|&fA*`~ zo1*z>vU!5B?d`8~e=!o!#E14V%p4)qP{J!yo_7OGL5SV>GRHc!miEmy0 z{4fUDR2Imv^G;NU9ZDI6F&43!T|`n7DQk@jG_x=jXsy|aLnTg(&(xV~*7e*I{$PA- z@p0#xR}bmZ&QFQUcH<4AquZf7fnx1S}D2M5E)Up z|2YUc`SmZU!y`jd`;#{VDiy=xQNv3qNivu^Ak5W`ySrRY2!tT2sBl(7T)Zt1oiche zPMMYx>O{Od55v@bjx|X6vYIJikQIEk_cre8J~*yfn^TtwO2NWP(7uh2O#S@hRbYb8 zPWX}+s$Fs&GYpy%udj@Sn$MQGPBIXxAy!t234|f$9upyGSO-H>YPWqO>u^ubGi0Uo z>XDx*DfazjQq-IbLVR)t;q_B$x30-q#;D?YgrwA>Nj$PbL*>}(5v79&EHT84b=4I~ z#4p^BucEjUZisi&cH-P$OXwxty%`>2TAsmr`o?GKF9snC5mamgImdB*zajUqSXDtxlpVA)o_SaY-1nOSv=w~!=ks;Q5U#3oi~_* zSl$>67)T@KV-4S5bET;9z6sux(YBEU@5&bcq7_tQj!YIn9VOE)7Y-h&4)J^JUJxzk zO4Wd}Z(>3@+pPS)SUO4e$vfA$;J9yK1PqZ76xYNslwrE)IolyXFgoE{StDu_lsgm^ zMFsi>8E3-6r5S$}M7k#xdV#&e5aZr&eLNE^lcxU&mJHX{7l9C@79}Sqj~=xq6$iKz zRS^ZY(7~(+!GTbuJUzsrqZeOxL3dcF1duP)>YWC&fHtB-r>m#oTA&y^F4MRSW9GQ(`d(%IgvC(sRSl2f`b}h zGm@`Xx*>Lro(O~ni~y))XpK}(*kHqx6zZFAMoe5sh%3-5-H3g;|JcC;-ek{wDbqQi zKEKTF`Z7sKwwCUMYQLSdkd-bg@~I&tM|!X=oihEs<13(SIpBIL(AHcH?I87~;cg4t zcSlAjlr{|Ev*n>7@j-iR=h&N2#qIn`Z zyD8-Tep|Un=V@Q+I6+`;#XD;1kIv3qr)NOFbM=DFgr19r1|EHVeX2VBfpypx1>fgm#N%%xOk(|kmm#P}2C^P>uybYGP?bq&J2O(cWAGK0R|nyGHh#u3;PkL`0QX7_pVYYMkAXNYM5fPn&?7`p3{w@snWTHVl;m@IVpb8AgJv%))`Pl6Ku)M!tI5481qLTa4{@+M6 z;$~!F5qPXP-J&VDb#n)J z;AQ4wvum&$Qdu0Fr(X72d=4czlM%`V&H5+P=JJQn%(ka)yHTY(6LeIKMwpnq+yoKS zd&ga|@tCbTP-y!6jRzuhr_YJ~3Qp^FQ8y_mq!8hZNWdx)O$}P7-Hw$QQmkIThZH{9 zypLorX{jSBhiV>)yIt3ZT$OHn%EpFHE5~R%9Di;&?G6aOlKLsV;m6i}3^yZv^rg%yF9>>lk-|H=A+Zr-1*#I$WD;&tgM z$z?Mscvn>aD;7>-FY_m9y_}IR(RdlBBMqj~%0Qoaf*C)VAb*|PxDRsLWTdt4FhEdr zKIWbAJ+^Nk+GB@E$=4wppjDQ9ppWS|$>%em zEdhXC*^E-qKEm0>vRoj0C=SLf2TE|iRI0X+-c&-6bSrKtY^(90~5gvuYd_Fp{! z%irGFD)xAy03XDI|3m^#U&0NG5&H{5jl)|0`nw~=688UTDUi;>^gCtV4!zi|L;M#$ zl+JoZo+EEn{7X%P11Jvv{F}TlD_C!R-TA`)@xgywi*{maYPgpdGzQQ`zNSXy8HNEz z`j8LXv)KbUG`~2;ZUFD_%9vAgo7@JJ}-F+fpRz}^6dv3nr^ZM3S#?R6hzCymcB+t+ncrjVZkPZn#eiDzd zB0xPt{iiWUl{K!}?b}EgGnjBL*0nbM>(pu>qX<5k;LxG~kC= zf5Up<8?g72{dKo?|7+`&KX!?Usi}<2%$LukV#a4m;4!%De7+0C?{In)m6YCj+YxZt zBIHOX%X9g%v;du4OtkRnqKaRInTS9P%R>Tz=^k)lp#7eio^F|#csnvO($}L|)VcJw z4ilM>Cjf|P+ZCAs%8wOb2*~>ifyDY}7@&dV{AHDtvd1TPY`K6ZKo1y4;N-D@2)m`@ z(=?w;KV~5$EgfckHn*_QC?&=x!WSC=kRu7)b?@l6kX<%fugb31&T5<{C2A-|2g%Z< zB_{2YIBkS$TY#pi-%?YFl9H0N0RY$lcu2@g9F7*nk-D=!pC#0?mJNC~Kw3r1D|ExBQtf#?>80APAH+hqYUTZ2ke; zrz$126(5sZ5!97YYK#err3V-40MT!e(s);mg|keBSr35pI}>l@&Ns-3FBf8&EQa0; zpw8(hupJqg&T0_{bqdeS#j=`OL~hb{0Af8O5z~rB#MQmhuVZBT+T`N2zL&12srq)l z0d>$bZxkj6e0_X~iHTo?g@uVXxkf*`24e5*c(^hj@WUPZqw_tRwQw(8n@WtEB#pT) zoD5+_uk~Lyh4Kewh=m$oZ81%kuYHJW$T(Tj?Qd@CG`@(Bl-C@L3zniB4>3%LF`5a` zpq-rB|0-|KZc@doldR@vE)d*Yr+A`5+INn_vZ+(>LqMV0rPey6Hu0uj3TXK9DQ*4S zIBAUSVZ&l-`LHWOZQGqwpUtuFk(_X5mMR20UvcsRk;&2Oglm6n-itD}xbya6ugv}6 z9j)VUB5FJ=-N)ucEbNH5I<*i2JKK>hd@t z<2TP?6E+*>fG7tX11)YbzJD#$DPz}{T1?aDCzRLg3O2K0>+d)|C0)0HWinB8QO}YM zz8G$X>7Yn=pLgSq9khZuOyr{)c2JPfUDN=9CRF{qQciJIb-vs5b0>cww)7%W%~gW{ z`92!h41#F;s=FGW7!5EXW%?fdPTStntFtnhEN<0UKc@N;jI#V2wk!r&EO6$xABtdR z$U*)p=**l4UwEj?%QyqT<4gzHBVfyQTUu9Ev|FM{J&7Rdxp(SF_ZA6(#>_wGJ-$_1 zC94>WQeK03F|H&7K8Q4Qkf!&qt*v=Cx!t`Rgba8l$3MRc_46fqr`Rt8P>ArW6Lu0@`*X3GFD;Y|+=F?I?wM{+0s~lsUYr=Q zr2_A9?InS%K?@_q*iKZmPl@Fdc$wQ$IQV!a0^EhsDLijZHsPzie*|7J+#vWOvKZP+ zO4=C)Ya-p>;5P4h3JtiNaLj(nECkw>40O&LZRs2qs>acLMSDFFdcKz{-G!B!B7Ed> z!~y#VtQx`qHG%6LhZMRq_a-8-v{FoSAjiKWW%7FMkYDOs{~@;N;HQdNIsH%3A%~?U zPB+wj`$P(EsBhoq8nXVVdV2Ayt!uUGJ5>m(kX;+YBs2sJuEU(=sHq6;C{0ttxW`B7 zKbF4ghtfA`XEOb{v-@zK#|rx43r^2^JgWj9yO?rOXnE|^*ZRVyi=JQlH>=%Dnb?U< z-(D(33-fs!l$3PjR~8%(97CI`{X$0E%%&1=e!2I6l*>C#d{aRuirj#Ag=F9jz{@Y? zpu1b10hhr5fss?q zTmFn-ba{^H;l!VDf7H8X#2}aR5wQyY&{O>=+)ugQ13fUHI2sS!&F|w+*Z^_1<;q^d z%;)PK{c%~#f(YuywwU+3n49BlP_XF9?j%AbuT-UITKItoxLuB`*9eJ=9vWu zrWB0JqWoZ*Swjz9*Nt57F#(w!SZ?;dJV}^r_&2>cfu9h_RgD_xkM)tl%rF^pv}e-2 z{L19MDKLOfB_ym4=Q+nGCa9xg)&DX{0n?o%JpwL%Q8Y}fB#E*W8jKvfl(Q|X zc=NnZax6!zeK0s9 z90cg;uD>TS<0(Aje%az=heIPbRJ^Q6N%B;cn9?y4KU*o>$$wAifBlO1D(B+*uDm&M z^!6yipSi;fwV#M0O?cr)09Q_AB$`1=2|%I)X2<+m3Ts{l1{53|oIZDgD3)Jp1d&ap z+eA|Wv-az4Ws78cz3H(Y4M|}^!lvkzb1cW zJEAo4LT`Jh`m1i@6@eS?&7gi~b|M4y4ULJVGK`y51oMii%NNsxy!JG2V@xS#DStGu}_VLb8 zNnbJ4^?`GAJA>XjZe+zCj|#92*1YBYjg&!%-rpSVQ;GQzGVauKv#*b|(CQ5@Cnq-| z`wtKtzty}aYh50pw+BO1{VGW+Kx9^^>+0S6x8Xhmuj~eC;b)vKk9W8cyuo-1-?_Dq z&_~EDWVKS2?iYa037eK^C|dVi)}3?4 zVQP#;S1&!j!R|=pcIh|928=l;;8O|d6@+&Xh_bk})$bB5egndKzz~^HS}KdU4=~`* zwT%c6FN?Fsogqm>ke`CFsMsc*qV09J#p>zD^i-nqTbTTHlZ`JrKrYL!`m2Ws|0ULi zF;-S+*EqGD=p8W}KRaG7nLxBz&x}#yB`q72$c37ZpE}V4v*r1hYpkR8@YDd}2~;nT zAYgOJZgS+4YcD*va%d0O{;=&Ky_^J8_ET{OJ4w3RK@zjo@&2{O*$wE^z$4$sggf?x z58F}H)?jyso5KVcTH5>>^ky#QA$(i}dULZ_1y5v>1oUn7SFw8P3CNo_v!SYp)2Ce& zWbk3#)EAV7jx069biCUtG%%xcw#&S#l~%lWCcss$Mbe`2=v{ zh$Nd=tJr}%4ALTwv)q074riN#?ZHpt!q-Hpt)I^DhORN0o@N8wtZilLZk^|Ywv-xt zTn4K90&~Y~EG@q^H}eC|O4vrt@PPrzKT1_&dxTp*8Z?vhC%rw8UM(_L@`w>*;V zbOj}%C#eObK)jqwuU)E3Vodj(h*Arib@o=T&C4K;kQ%ySYAgR?#c-w50r>-qIR)mU z6RWG*8&)Yc3vnE-(NFdqvFGi4+YK3v18Q_x>zvS}&K%M~n#6Z+AHQ;koo)gl@%nr~ zKT}lv5%~rV2JlGYMbc`S@m()_J3GNEUb=kWi4Y-d{o84NfeJCBO#FPp4FM2=tJr@7 z-?tiKvy50wU3n@eTU1}xKRX1+5?9S54bgpaod{?dekdkav96}ZW~DG|yT|6uZemB5 z8>~a8XyAsKbMA9m4UMe3=I7Jg;l%&3)nhi9g zOucwrF93lw3jw;DDHQzlOy2Mxpq4Hz_R_&1_xDs@!5_>$jsxsI5YWbw_g?FhUtgc~ zepe3=aohnA^ejypIS( z`xmP~Ae<=Ne{TH?idEWDKK1X-QSzh)@{jQGGImy-_X@GZ26&Q$2n zS<;96NAUmr>L2YI{{pH1V5^=5XeMdj4-jRTet=)NEixYagz)BY+l0{rhyl&M{+mDf z|0ixY2mQZN0?&O!M-(alYeWDL)C;^aWdo z)gvLPhw`@Cd>qpy1$%%Bqv|^A5Wyjhtd&-6Z^riXjlNvtui-sCceL$a7!6dGqOy zH6)O$9N3~}W3#%x-X$^8HO!SBG*Xf$F*(08x*G90w>a0e4g76fA0u~9>V|mr7PTht ztNi6-k?0PPU>1xlHSc17NvGk3=)T*vX{}qPf1)b+nIB!wWYR+8>rv^{r|7iu$_0!4 zTKy?h@y+;di>ih!cx!D!E;i>XJh5g;~s|lbbLYr zhvzNLBX(Xff>u5Ose&qW)>E{;aGGeou8lA*3-*4uO8d6y*}wC8YxoeINzH>ad)R%;Qe}D0P7$g zANjLb<@Xnm*9B}g_ zt#rj2+%Z0(OH`XGc~saL=?`snS+JpUFP2azGgm7j)pp(u`R1scOGTc6x}eqDSqd+d zGQg1o?;kjC7=*Ii{YkZHxaEx;DrEq)FRe#6XD|4Vh9UQ$Oh_U@9D<5$Ep@4=|D=86qfIs@deV zi;XT0S;CORsT1SnNe{Hmc`O97z;Z$1&j)gws(S8^sQ`wU^^sC~2LeJ&g~n6M(pc4a zVs<3hclDw*s+{Ha>kDx_%<}tR8n+V3Er=X`HoTZow*IIY>$AYmrMLfH4x7eA)^e9B zj6yY20Tw(JiMc|WquV8zZTX$cf1Sv~?<`dBw}M6qwYZ|6x`kvO)n*M6r1>3ZE~G@W zF?tr*)al=_zrynD67)1EU@v_a<23mtgF?4~2$0B@WEB9u(3S}>E++H+phz#5g*fKp z49)}z9GC6Hxi-?`GZdHp{Dj|6^cb4_c6I=}8Sg}=TFVZw zB8GajKDI9O-JM*(!z3&FLfWQ@tg2G>d1slV5%bv#2BT^98AI_OgI-o?Tu@g2E^C{h z&;$Az+9)6osF8*+ZtA_v;8lD{dscWRBC19A-3c?kkEl?Q68#_W~j-JtTxRdaKY$LG>v zwBuI>Bzfnap;iAUX93963u}8YPc}z!ob9Qt`wEK7&Q_ z8kahl&eh6jC0bg*akRZU%T`m*BQ`xQD?u?@5e%x(3O-@M(%sDMZ=5quZ*+f0adXtM zslmn8O~~g4uOpku{c4rP6SWNAjhlksom*gnmn^iPV!FcMGC@L-(qx$kCv;oXBUo-U zHxFUH`WQ&ZkPWsBYU=j8F)U}{RHyq-Z>7Dytd%+7H*V#8g|aXQ^YpOV%-C&lsi^~y z%pa=LUnYrIl;Qg(9;JpbZDIl`KCG=)?}rrfo}tpNL5Eu>1EHIEy7n zDX$o*qUKHvjj44ej~Pe|LzIhY7tx}p6JFva%vy3QKpt52`q`SU-SB81fM?hm+!kN=dy$3G z0V^N?QcI%sg0s_D@za^Q(OFt_#K<)7>@P9(W~#aQEFc$`hp{Uq(x1fnc|r1k{^$e# z&^fNp$JhyuVh%5t*p>60?21?iJbYh5|JCoZu5emKZs^=5(5NlJWa(PIw6;Jc3&?4G zJo%e1Wd2P~W)vuGvh_elt$2T>fWeXY`1s3!KuktSN%@|en}e)K>Gj;Nime}Q zl|NPB-8z2^X0QDRfS%pz9|Z`Z2{2w#c(CRCfNlfPgG+p1PE7pBdBZ3&q1;yxjM0)O zK9r1+u&hv7|MZ*`8&s+djSmTr)LvK&f^qWzhei>aXJ9IUDs)3V!REI;?ZU2Lc zrcwL-TWp$s*_a-a5;X{v4()p9j!w=C1;uIS}(11)Dy=tw2Vzp>-Ds{uM+F+TG% zoE6ZE2kC6)-!3yF+lfA&ACFrH)5^I**B2|Met>vYG};tf8#WU6xJ5;5{&uryZt8vL zM@4otK3AOns#x&p$PQ+Pa+T6c3aL;pb`rS$W=ZcM9?3YK!%dFTolnGF{9Kq)!Nbt| z>Q4@Zk6^r&@Zc$1g$g{#aua`$-Xv!`|1z_)3`DxK&uJ~OF*_bKV@;UJYNN$pms|eQ zRIM3CC<0~0+%AP{PkQalU=K89svW(0E#+v_&e4OE9Ma4285`Gc;Sm*_{B?PK3T6oK zFKM`?q@*AqA^FC}#xj!w-YfdP{{A2TveM<)R`xaILua~GBL^?Ze6wHwBpJvYEBE)S z)`%?lf5V9k^?s6s4m&JS%PHr`nye@-;BXf{429HGZ!w)g7*_tV+*k=Ll{bQBK25|( zckB$^4V(;X-6MlKU3knoQNyB-(q9|o_w|}SY z(kIKb)w7fqZK2WD&ZTS8+2CO|;Ri#D5cz~8ee*vI5Dut*GjuL`caGF>qCqV@>;xNi z*WUm{S1obV!b63K(f*Xm$;b!A8NVUO0^`~<{4$4UbkhBLvDqY#lJ7T*6P#B>!?aT%pDfhB?~Wo3ZK|V|-xy5mH=OdzWsgX9 z!j9ZqIIq@jt@k7t0$tT_)UTVS2{k{CU^@&CVo&zJzFfurfupsu;PCW%;liWq^_9Pd zE#wnmRV@#Rc-RH#3Rx8u1R^4$H`t6HcJO|?TAu~io*%uEySv*hD2YbA+PJEsTX%#z zt=mm;Ig|tX@6(6Z-bZ<7_ZWl~qc64Nar6e%69hh=H5;tUOi z-l@Lp7mRR2;gsP5Jp}20Q&t1o0aiyPw=66y%wbH60Z{F4h@_6owzaAswYFDWFReie zz-zNthiKt|iMc3GPMAIlP$cum;2mraPQW36qWy1OJozA^142fg3=!U(p-K5WkRMQt zRJo$Y_O73%*zw)VKX|f^-ISCRKHcIA(fQ#5o~LIL#j}Y1EVPyn(!CRQQf#dIv)v0M zSuPex_80Tc%tQee;WA)PhxDa{DqthavxjP}sn}TM^txh9V8h{>s}vU;03$vhb}s+~ zJXTRpO2vrK=zJ;vAAj>fStePJ?P>>NR@a|>2LiZ=?EZCOy91{FZwQ~W;lw;V z_&Pc||IlpCb^>4=2;9>Grs?hKYyjvo z0tx%pei<*NRYyhjwQEsC zN?-_SkWxfiU_hi~0HqO7K)M-XknWD5Ye1yCq(h{0q(w>uXXub-KpKX7_OmXq!%9h>dK(om|2aff_ zKgj~^K35+Bv~Y|6;ZGOix&{UY{!^e8*HB1FO3FuFy1Bc^@A|#0-9?OBO|(qJzEy?*S3XgL@>q^kO&~%wp9m1DhCn8ABZ4- zg8_4t0#czOZgZGX5QmW-K{bOfnP;Dia)&ssUQ<>z$+MrC-%js76?g)f$uEtvuTtvy zDL0hhJIXc8RLF3@KLVLpXnH+uWmcbNp>04eB0+yg*(kI$0h(ou>cFdOC!y*~z2z?) zmj?AdEOqHcF$GZ^a@|N(p;@m7;;NRLI(#FSO~n*?Czr98&#?k~cpj-D=_}jaTYS7d z#gBWPWS)~9-O758A$>t+H;c*uSloY{y>A;z9!V61mwtjwR+?9Ya;psv4mvK!fV)RV zR0uZB{lx)qUuOSH5W3k__J(J*zFsW(*`fnlr|e7ThV_1C8fX5pO6czo>EGgXNmj~o z^^LXRddKV~Pag>B;TlTOK4Xpvi)#&?9rv@$TCQ1Wc+F33)cowC`f527E|r8no%LI! zk+PtB6w>nKLSOOo;G$9+U)Ro;yE?ST_Cyz@>noT6_^t`p48>e#psS6Fl$zE5QxLB& z)U|B6=YAeS!|exVA{o;ZxN5f!@rY#h$!Gf1Vb|3hgZUAc6{YPTt$yQJKL=EPadl%A zQ}9co`{$^G!6H#X<{6w?OytO(Ra|$g>};lBYj?xL;?-6tE@l)6?E&7FL38hytKmJH8SCyZJIJT*K1w z+!e`0gz5SAeCQ|Gk#g6#Xg<4%N>XIxe*p zL&$VkgBo|J@nEY`CSxl3)!X}`mr-4eW7^JZ!?fm>maN>|#DM5VG1u(TP-b`c%feOy zLPDrEPhZsolr{&;8dCUGR6S>3SuLo;lLsh@@qgGLSB|eKnW`PYM@QJ}Tpg>Lhp8cF zXYzBKv}i3^F19|_Y)8EenUkdI=y*(st+gxXl0I-}Hop2euzzu-$o+M73CHmLpotO> zo+VG4{|D9ME8DvwjF_I4WFr2ztvq<{F#sy2;ccVjINd%X_<0G$MubSHt1+Ja6K1T~ z6eZ^L{DCAL!4>IN4F?iopIm{51&{RB1LgZ;X6dvvw58ktTup$L(}@f(CLJCDzAvku z+&=^W%X>v;n-XmNoPzk@5FYH*rK2_MgePk4gEEt{6rd7I;UDL0wYtU%A4lVBh=#Is zLv&o*G@fJU%ccdkk#eWO#M|r_lBoxc9|i1I1ur|aG~aeV<}-7iWaakK!gEW!cP@ot z$fBoF>u)Ia9*&{ z{mie5gTy!O+dVo1#2z18*!qnqqucsS&&^mLUM_2`*4U&)hwo-ZmzsWRaI;U2{gqs` zyrV|G;4%@MnzJU-|GKlXs?P+a;;Ss|Vrc>h?k?O}j;&@iB<{_8$}-J1`7>eu_{Ky* z)toxYu`!!SaLC%dwN>(RhoLygw?E9V?Qlqrh3&;hs=0GX)VxbIqRf*7bR5yR7D_yT0Ae%jc)J z-L?{FhP|AbdB1``HBbyu!(=AXa{#8w3&2WvyJh8WC+z*dyByfZC&f~jW=poE9d{*- zZn0IWsIK&5)BIBRzX4R;Q2I2yfUspz?45n-$$)P@vbPPhTNsxOJqf{IZ~T@=PD$hB zbNom}{1b@{>Oe{8mjKay115Z0Tkw>!E7qRuk`JA%o*YxJnTH~XmbNAWGcMAGzRn|N zWd3>ZxzS1t#r3I}C7haQb7qqi3SAR3WBOv~Ho*Y=-g*Dcn}jxSHbY-uAD{pXN%CQr z_xN}ls{*#E_j~AidvOv@qUHLNTV=CrQn5=)9(U@*-*hQMLReoJfHA=LI3aMAQaQf7Kqo*Ge~Z*Zhp4x= zLFG`dNqz&K*?~V4M7>msS%c+^{wyor-%yF#NAZ-`vE@bWrw3RWW<=&_Zef;^>iFF; zPQ7;X;Va5lg|J`$8#*a7`N7NR#+%I&l(sg&u(GmX7mLs2ty9%to4I}bB>eq=PHKS4 z-Y!ID!2>1n*EBy#n8HWAND509)<78m5Na%J0m{$;yU7GYRM74W5z|- zn^B*uk28Tzv8Vs$HIQR-Qfn#m`+or|plm7!nhs;Y{sxxCE77mm=V;>id<*IN%L;ye zy@U2w)?BB%x6h}YNVqqP3V%lDCp z^DA}*uQ_K3wBPgl#G&Ngox>L754rf?EGmyb%Ku3Pj<`sDRpEDU{9rEdN{g+LL|G zM(A8$GMAouqNodwLyT)1xQY`^s`}0?1gC!6gT6WRcfgcXr&~^UOIqe|n0;Y#|76Ua!^cVRh62YgK8{dMIRcRuRu$)*-Uknw`gTq46 zC1~)owYyVvf1KXnJo$DiJV&r{PO@q{r!ZCXS;jQugka$-a`9o}#6eA~`uVl!Z{mAI z!x8YMAVpmC?yiG=yAQ2|L~fpp$7EDWXO2^zTa_#=!6ZhLXZwcubj1G)_F!-Bs4Nvbx)*YSh#mRAc&0cswG(w8aD zcv^vdNW!H4#elw`7x0yCDV(+-N~Vb5Oo5Cwdc1VMJpJ(Zv4PJ70@T{Y$H>Y zFU!1OK4fd%h>Sb&?7@X1DbUrM;(VPj-tUSG>PK?Su+3F|L7MCRR`P)q$ctnJcpqd! zq@H}uSu8}OKx)#fZt&F+Co>cMCk|QcK)TX%84D7#MW;N2FHIg{jzhjj!`2iZKQbdhwLgQBcnu6L|5ks>&3w9N&4I8N-6(cAVqLQj31B+g3sw^ir$@5%2D$yMITO*kd|il{O*ijG=d zYW2wT@50@YzQffx+2yKDAnHziaUcz&TQ)VywT{BfDd~xJT+vX?i|>AWt`-0bw#uM&WpzncNa>PI2jyRkP)$itL%dVDG=U~l)bL`Buy^m~wTCbTKpEHt1%d>sY z5My(fiA(953NV{{DC_Dcg&=#l(0{IPOvUaE6+uv_QYF= zt1nDrZXITV?LbEOUK|gM9IuaNS4D@cPnK#P)UQ|!r95GSK*lggsjlu+xw z%y>&n8$onmT=n7A)GB{8Ry{s!L4^i%MgeXj374(h%Mx>bbZ~GGk3bYK+$XJiDg=Uz zSl8Q<7ZetnbOqfVWCCfp@ z!jJN`Q?VcoaVi+b;eLKL`zKKWKsmFk` z-%aF2^a6gm*&)-U^g{l`55j440ss$aJlJel}Un>HmDw6-zsuOYR*Ntcc2u>XS^naFC zyrsPRuOT@3tt0?rx!D13=gNOi`_CQzpVO?z?_fz~>ZS}U*!Jje0r6T+6;k=qIOsnB DTgkzU literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/06-memory.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/06-memory.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb59b469d5189b2da2698e2fca7d7b9661aa8f GIT binary patch literal 35639 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 literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/07-network.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/07-network.png new file mode 100644 index 0000000000000000000000000000000000000000..f96056e195021af5610f85cc54f93a54e47cf82e GIT binary patch literal 42780 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

    *m94ysVX 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 literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/08-confirm.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/08-confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..5975cd4da54f90db4f76e0dffb62334e159596ee GIT binary patch literal 65852 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

    #$J{=nq2_ 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 DGgOoC literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/09-add-dvd.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/09-add-dvd.png new file mode 100644 index 0000000000000000000000000000000000000000..741059da691e301a30d43be03c67d2a89988677f GIT binary patch literal 37373 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 WZq1ZSXDP=)z~@_Q2P?d#U*ezWF-iLX literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/10-clover.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/10-clover.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2a02d49fdccd47dc818b656ee31fae1a1668c1 GIT binary patch literal 21416 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 literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/11-install.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/11-install.png new file mode 100644 index 0000000000000000000000000000000000000000..66d00d1aa12f1377379d48a977c6ee615116d337 GIT binary patch literal 185213 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 *6px6doMc@nTlfb8Kqy`eoBxb8m735=sU|?$ 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 literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/12-install-disk.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/12-install-disk.png new file mode 100644 index 0000000000000000000000000000000000000000..9363621f03d8b3ea5c6d95ded29629281040a66a GIT binary patch literal 66672 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%0AR6SX2>l)ajIrXDxX* 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 rdE?Q8tAHaz+2@zHN&Q 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

    !ySR0j?XRy@Ri@{yh6t1|)wExG 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 literal 0 HcmV?d00001 diff --git a/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/14-bash.png b/source/_posts/Installing-macOS-High-Sierra-Mojave-on-Proxmox-5-4/14-bash.png new file mode 100644 index 0000000000000000000000000000000000000000..3168146db475507aa5971dd2b7a75e4825716bcc GIT binary patch literal 155387 zcmV+1KqJ42P)4`M00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&|D{PpK~#8N>|FAnfUV-DoFVY6rc@j*3j-@U6ECMJalNTdH!U}?6;4l_6pMqzI&(Bo8XcZ%bT8@R|GU1F18i%oS8G87#2w=D2clNN!9rY=e?BcW%m+I~VQPw$+O#$}*16T*gb0E$#-*x4cXSMq67gCB-IrV=_R zA^;7pOhHz-j9i6ObzDI;-T^2{%S`NIvti)k3+$RkcwrV7%0ql4!9rx% za14)XEwIDD>4pF_SDH2#{xfaD0pYM3&X>zJ^KZhk48sBVHdBD`H@P-$8!!sUD_CqS z3DC|G;lnIaP7JTZvTipnZ7U?OBf#e02j|+77NKi3h0$4piHfm>Rx)b2=NV@Sa z%<94QPpmdqmTWkXLO5)@#8>=*#dLDYEpSs{v&E7Phh|fGG@KCum*K|`+)Pnc-(tWI zttl59P-tpV0qmA~xQBA(%}cp*<)!UgH`DH&JGgVo$>D7!RnZ78VL;%kh_iNFJ^2R4 z$NIq`1Db2(Yjx z+~5&$Frf1lKXMI&8BAwpe6>7GdHNwlHfYJZC)h}5Q zX_z?we;diteh>$7AS3)dW)|txd-wTJdsMuxtgNIfPHq&^Np~1lw!D)w;Y|;?XZJ4J zy7o8PvwbZccG%%m>4-{HsbU4;IEaHdh=VwYgZM9jJ2@;@GVJVV$Cfp;W%Vyq_r$tX zqIfadv114A+OJyam?9CDfT+|0a-JLYYC-OTiZ{qaE@#J_^P zd2>*&~oA4?np35!<(Klk3I}>)9Sm*FpUMLPpW@C+?9g zY0|-D(3Z8!=!BY8xYFhphA>KGxtf+m@RM zbZm8x+C^SroH=t+i4rB`b0n)u?%NAO@cCDov zKwgm|MMTb~O`9zBz(LM@MauQX?n;cdV0LU>ONW*$A_Wu%W^d=`FF+mh<)y>9v&+N% z48~`rbL6BNxpNUd-&?eEN92qSv$h7+chcppwo~=8yQpC9-Nb`GDw2OURXKb&mF7-s z!P1`L z^iXPgbPk@am8Lv}%2P>NLAC3gK!;VVLBB3tW;y?Tg}m8nXVDzs$DlB8)thj`XmX9<6e8a0HrV#Nx%0+8LILkH;y5%+-x z?&QjHC&#c8s2y9^$98h{I1^VFEJS(WKu3n}5YV4-SS(>y=8?g-+{yhBu~DUHp*?gd zcW~9ppd&(9CfdFbpQDv4xra7x%b>YS*b#x<&3M+>IHw7+%Z8T@jXS#hd@0Pf@0hUJ z3O$H}IEZ}$d>?sCjk46B%ofU1;z&BW!C6$cN=?crcqsj~XgV$XdlRi(v-dNnYz4Ph zTejf6M%IBgv3m9D^yi;{%1jQkCUhF;@L@+IkJ%9bI%YU>9=wk@q&w@%XW@#ZIxUtO6&}oVGC$#Gfq!)nuq?1mPCEwRxdrjO88Z@BUvuBGx_*%DaEi*>U@X%o% zXvmqrXxYBz!)%keomqL#>ULXgn*A;m+#t1^CPCehZfyK-5T$p0(h4u z9Ta51$M&uqwm<=*_r6Gs7ua)lZrW3rd7*ww>I4E~vkYJOsmtJ5UB*22SSvyg;vf!U z9{?R(oui6S&9Vik_>qmNTD{gZZ^3so{qs4}7#1pBnLeL6hqhxNdH?|((1!Kvy>>1u zKqpYERxK)DzPxlGHEY(C<+;_XSJUywA1{snQAZs`M<0E(bYh1eemFI6-dx;A9(g4F z{rBG@DVyCggn?m`~COdWjPXYBE8>z_Z^ifQ%2&R zGG&T%THeItN2bHeTl4_pZl8W;PzEp`~boikq zKZp`zxwJiu_+VTVd19cM860W_~@%+;@0v0_3)=YeIvapT6(x8Hs%ofGb87UwRv0Fr&jvXwsxfvec)tVZe`0$4yt1LD~R> z`RlL0=(pc~^JD<%+>lPZ18mi*mCWLhM$9BJ8oh37&1w}*CYSxco$M9<`orTFYvTZAU7cnZqrjtg;?54u`w3o6ys)pww;&;F0r1$4UFIUpBJcBHW zPL{(%1j2DZsHl^f+zLRL3%0GyMIEd^98jZhJuBUnpn$VGG;B)7pa^=g>vBw@m z`SKT#27lA$%?I3w{_w*Oqti}nAv2UXgINwbE?qus+O#P(Y}iozFpI%b9NuAp2Ms?O zdUSH2qeDaIP`h?*>8LQ1!;A|2kO3Opm{Fn=oI7`}%$P7M#B2#23V`=#r=511bTZ-e zxdxpV;y@Y{kc*kz4?p}Mc|csq13I>M-g!qlw$i0bOFrk#nX?W@|_@W~bms2Zu121wsz;h>q1w(}94Dq7~}yLHA~Q4x-I#meR3D zSCHO4jN`b2>sPoa6+;IjosI2Kq@&89-??D>tzS#uM|5(93+$mAJM5$uwRVxbSwm15 z>EJlt9T_xYLLPeWi zlch&2yDne8oGMnVNRuZ|mf2nX`t@Z=73s$e^1=%*l$mU~a^=JT=-|+)VwU&u#~%yr zKtaxYJd-osg!$dEWj&QDQ8;oYw}v~h&0Kg#E&EB8=F0gm(V9F&ol4Wh>k zjyt&=zi@n$xMTgDM_>p0xPv%|eG1GH8a8S~YvWY(q~J_bIR_x8%Pute5WaC2d5_r$G zhw^iKu|KhO>lSI#)~#KW33l$54hon1|Dws!44YQQgkAlH*c1i zow@;)gD`sw%%or-8}APD=f}2l1C#~mcrOSZ%*b%Xj!2{nK-zSv*4Oqk_%UoD>*DD%%|K@ak{*KE0+-$ zg$K(YB{~jnlo}=(&2`7wU1Ww1TA1&@2F+JeXhzdwP7_YSspz!JGKw)yfJ4`KBA_9o zq$Eq4E6$anNFI*cWo!Vk0o-sdM1~{W=fj&Q7>~r9gBk_hiQDoTdLfc31s9j+n%@9I7_Nst8A(%si zOnv4R>aA46W9(RnlWi5*0xQ&wEE|xO_Qu-9M%O zTWJo*9WGzE)f_O;1gBeQE?-<2(8C6Za);s4((#Yt+22Sf4f{HsQI+lALZ0K;VmHs z_#~l3iQ@FvUwQ2h2Mta>iPmq}KnoXsEAA8O)M58}`st@7cDHLZ z;1jGc>N4N7K*iEY_3KNS&->;ZnmKbe?cTkMjz8`=I^l%c9LGkQF?|Lt|Lu1hE(pk| zP@y~>d1Mv(?z`{l_uv1J?chzDHsP2|T=-7rtFOQ2GO*g_LFR;^-fPMaKkP87TD2<8 zoi|UuCu(-;sqz88V$PRe$;YNqC|R%4+Q%O!-|T$L>H1{ar`hs- zQ5-6iFHe8|^;h7Vpz`I*(Ykf(6P^PPi8seX0Z#XcC)TB!HIJp=mj6c6Kl@zNA{}+) zky01%EX|xfn-(qlK|UTn`luu2L)-;iKjO-1zaX|M#(HECw%{VlPf4bDZJQ%D1J`YA ziIA~8dwPD#47dT5mM&a5djm~FI0LTi7#^MV?TOh-p;T~bS^4nYE>$^Wk>Ht>J57Ys zl@2(J26Ka0nrJ*RRs$ThlP^yW+PuY_tP9}7!Ka>lf@aN{Ef2km46C*VZL%%rNZ>)f z?z(Ge*6cY+KNu`hw1}vu>DINgbW&MC{`~pq@G^(f58PNlkKW#*@)1W+`}Swh$tTyR z8?L{G@)yWYWm$gi+J6kZ@xx#>z+U#eDEQ&WYEO%?@DL# zDR)4@PA(|dJj$*CudyS1>sBqP45tqbuhvJ_LSf$RN7z+No-9GaUK93b4(37@0{-R z8FzkdTeqgW?!2AOW4RN3-l#cvUc57Xg=+9bmbp3dh3l($wz1bMmi25&C2( zTzdjSo|;3C3`^R=k|0io+U?a#JATx}0nBcKL%fMWU5ekLgn@dSAqs+3xPyd1N{Et_ zNpQT;vRu03Z!aDkH%`Yf?l6-Bc;RbyiPym)hZLgTz3!rM@4iLvz56D$ZPQw2J$K!C z2Yvdn3&)|;jAesa{~)UItC?x>Ac0ciDpa@1qg z`K(U#_FJ#h*yo<{v;iD@Yz_MOqYq>T8HaDb`;PkF+n9R{NmWJw$*IyB(sKAKf!>C!)Q^oGV79`5FDtG9Zd9`iRN@fYD zR8X~Z=N-4vyYIXuW!tf1dm8%i5Nh10p@b`1qzLut(^FgEWNGKYsi~%9AHI?c5bVi|fFH zl1UTCNypr=LwnKmKJdQ&G5~n>)V&>ezv19_+ebX|CLcGuZL^h-%4H1d+ zieMnPB02EGCdkdO^aMEk;_X=&ZbzcmC=*5;Eu!yGLN2Ug7eR#o_F0z%a$#tUw-+Oj;V1BtyuA=r02*gmAwzz z(cv^aKkm4ibb;+CO(&3-N7co|ZJ;G(N(&ku(C}_$gXMs2+qQEjjG68p zYTmplRpxw6`RF4$@4W6*r_S**6T-{`;ZYu#`3O+M*toMa%xq3+a57zf*=4e%mzO)F zhaMcvWq1zFoHa{kPMGyTl@2<0s0pgfd27F7l?~UZB%?gFAnm1BK;A=$!lQ zw?F8rD=(LLuxwnEXJ_FGfrbRLl!f1Z8(0e5xoej!H9q_FXl}SaDaT!0hKTb)p50+UaPdVKdiSSzvEnlOJ_G{;&JSka zAAd59HaZG*QD&HRVjzH}Xmo&I&xI!SPzD%vxbq)A>=9W8{^7^PG9zo%@-&$>KmF7w z?l}J8S#C+X8Lh#(s9{TR^i9xBN^h-*N;2&^pcA?om;qG-Y$cP(PPHYC!7~_aww-2f3Bbh9~dOdu&7rU6ruiN0C+^D zijt?Y-06KWa~Az78r_YWr8s2fnN152s0NVYHTTdM*E6e7S-9{OCKk%;@))~P+|;;S zkx0p~mk1XP;@j78GSZHQ)0dLZWng~OUL^^okq1~32n?6z`i1G%9w4(t>xt6U*g_8% zy+YO+O`FS8e=8#$V3d9m&&Yb+eGfgzqieid0RC99LhR_+@J`da#O&R5jw ztgdus`%dznC0(4_q>&VKuikyAcb~p8Bk9t)6P?PP$!o8_K|OB0oo3ITBaH@>olcnW ze&jOP0}nhzx88QAEMu1B1_!{BUHcB5>BW~`5x0-HA`1fVm2SN07J7tdc}QbkS5r)& zJbj0m6`N(=X`fE#yqrZfcm$7hL+R_uC!Iuhb3O+S9Lyb)d2jaad*fu3fBf;aqyw4D zjq8fP{&a4%kH7x>OUnG-e)q}y$qwz$ln$yWAuDF^`ZQhdJdG|fK{K{)+ z@lQX|&|$-c_V^P|(p&GmBl1sc(VWgb=WH1a&G_td`jX2C9XIaf^51^rd!AF?D|YGJ znP-GG>466ymimh9mMMEUhwV;JKJ~OLg}TpjG~lDgMVJ=$Pk}&D!ofxwhr}`tB9*_w zrcaZZMuX$AiqXFyJh$r+W&)IktJ;xt*X<%qSKee$|8Q79X|5clDLtK{OvdBNONC^7 z4&5#Dbi`&0+=x;{D#d0xu}GMf)|Q%l5T2|69bjVsmJ6|zhvhcB^FdMI;lAjS%jv@@ zAMt4Y0-m8 zO~=YrE1eN@Oo{RX8TCy5{PQo|k>hYdD6ZW_yJ2DE$(vi26S1V50H=)S&tFJ8c*ca$ z{_@{{m-nAoUc`H_Dm-J;B}|m_SKP5-d8{4JAU^u|6Hm#j0BN&k{l*Q_d7|^d=8(E| z>&WpZ*tCHq%q2^Hmix8N-8`Y;V}No)Swrs7M;?^{43_oO51TPC3q)GMhZ#wwiWTLa zV`f>PU;)|0^4aHK&=aFZODBlsJ_R;bpwW*5?)Tt<_erODZ~p-@n27^spgDLDfn`&q z4NIG<+~9-B9|{dT$(8{H?2S6^Vi(_I)HlWU?K|kDmtT>0pLg8WgT{}4Up709c`h)r~NReg(R~4=;ML1PJ<6=S2iynKEXFpKoZqolN;uZD!O!`yqO6Tg{bgu+EXDN zo@Dvdc)*h^UZq<<^SnecI&i~?;UCYqv?#k{vJw6}IpkI|904d?J?pGabmbM7(^;K5 z%IFjg+mJy6>7gNmsSM8;uorW31zF%J0V<{BxEwBuVC9p1C&a(H_W`G@7O2yKZ z!fQkgqo7WmI`s46MY7~%!ot%sz-f(0b;79w4W<`{|JSZvC-24Xxb0Rc7v$N4vT+#s z!QEnBwI8*jcP9meX_YiP!d&y36v zig0;fedXoU`K*p|AF#{vijxh#~)3m8a1kmyHDSK^3Ls^d;7~W>!>G3)8d5Ir~cd3pag=>GfUeJchg+jnf2Jbm!NWcr&sXUx`m+;pRC!Wzx9x3xS= zUbA*BU3cx(Qb#}hXsYbO?9{QNyz_0`u%XPr6;c(Gk@VSeNC$QCu2|K z?#diIBF5&8LWK&-y9|tOKl|(pd6$4)d{}1soZY|vx>OGT!wjZTO#ws8 zM8J<9KRG#a<)C~l7Y!!fYauP>69BVJhxdD!!J;86hr5BJRvi#Ffbsgef;s%^0XE*h(M!TjMMq;x8G5- zW~WlU6Hk;*c+dkwXu-mT5~h5)vYd8PF4&x+fUFWcAeqh`GG@90G}%E4JWc zSr|*Vm?ahDG|uLFw~6K89U|g#m(4@BN0vqFop^%8kMhPn#Byc%a^>il8a22~f2a8i z7D#<-(V`hmm@rYw8;QhB88hfAm8;Ol9QX759Q?NYcUd;Z?p8b-PmUfVp9}oJbrJ96 zFhCjk*eIGdZ927R-c()(;CafIKOYr3q>$7L15K%$S|IFB16*%?qza$HAKnlrof?~z z?EasJaF{q5QGAvr7yL+C;Mh;t-|=M@NSm9!usalyyyD9$6E+p9b7VqzU&@fqbCeV*}FFS6wc% zZ49U`x%6`GjQvj<(D`8rUGAepLua;;^NP+MaiRQV36z<_pLE2+Ce}}>B9W2^hexe` z=7V+@cz(S5!*=iqK!cxg`Sj#KzOw~3dhhBv4q|^npIbad#+I!7^}Yvrw9}MbqI=N} zXmEZ^#U-5_C}xQRAA|p%@G*D-Qq`ew9>VS@xH5%b0|9P8rn3_bSltt9Q>RWHxPd%` zJGZy!)9E~8(8kD>7l0*(A25)a6c_8>AT}wPz}RQT$cMtujeQ|$2M1(FdhO`SLJA5I`B&3pL7ZlD}5z3?p0cz>d2pB*c+M?mGeaT&N005=|&o(3$t+ZM<` z)!LK8;ZiH)r3}nW%9qLH0$Pp$Qkq^Tr#$K9>>&PS1gci>o_TlMz3)-CmA(CXZ7k;b zjA9PL)G_8{R;-%9l~Jrhojn0l;f(zB+&5Df*dDX zJiE$=-ChCE;8s7i#5`c(pjm|*WjLn2k(&+z+5I0ye5KdY4*G@5#BeD!9L9C4-9mzx zn1hYBL5O?bLDGSLjX5*0VKN<*Ben6S%BXr9)(GYl;e*gf|36}18aTwEpQL^O!M2EFr2>{*mV~e_|#iFtc36k zb*rDoZxQxZ7}2IUUAl*;q=gU{Hd0<*Qt zIISf9mxoa(Y{EhJC8Pn!?43>$CY*NHtCDR^&Z+J z@8ojRu01*E^fOMU_uqeCHi%%81in9d@x_;E$4;Zd3VD&R{G?0fxXYCHKW-Y_*aYxQ zAX>x)42FS5klM%N8?6jF?9kGNn9a}|rEATKKmYn$zQOwWXJ5?{RAAvF_4me&Pso{u zcIo&m;PAuC(Cj&LwJR76x$RP-t9=WU`|W=1(RooQ^nv&*e!sTpC~zsORD5IqX~{_hulBQNSbghVGpkTo38ccX)7 z-Li$KWICK1X&pIaw^4-Yi1UQnwW;0-b>ve9=psD3YiIdL`G)JSl@3GU-U_wjTCZL` zy7uZTMP9L@#i&iImZI$<8K6??+H0?o4G-yH(7*w*6Ve5C$YM)8b_)V!%aoOm>igf@ zhgx!(${IHEDZW8qa|OP8#HS5V-R1%tVwyB=C<=(ffGm}V%`{L~hR#*t#^simq5Hn5 z*rvhciu78+U-C;RldX%4w z?7g2+F}Mh)C<=ayoP-k}?Kb8{Y}V}Av~2lrLPN)fMjm?h%9SfC>Z@?`u>-Gm?c+q5 zF7)!XXx>a{(6gQoR!;?tdEh}CHdCt z^Dk!7Z@-y)h!4fPoPDl*mt|m5992cfPnbxTUU8LtC#Jwo%MKmR6zwU~KAqw13`A#! zPerb~=4!h3nyW+yBz6=cZP3>UZ8^~F0=}q6-7h!aH%K=&-<=Fr1}+I1OCY2x)WDUg z35*b#6jAXdm66#9q7au!mu@p;TJp@p29HJ-W$rbSCMp8TtKqDhZ-MEY!-$g|mJ^3$ zeo=7br5)4>lYnG&H@|5|W|3KbMyPnB$~#@D=AE3d^B7DVR+t^p!(b<4jcV1U68#YKM4=op}a2O@1MuA5Eu@S@MBWL+Qp8ufc38yna2WOGOMJy-L ztvzn0>v-0N(+*JXF3`a}J$jVrMLgn&Bk0cCZ}T*8K;I(1!5a3+L(;Kb#~sY;ue?N^ zJ9QK-D)_eRvP&+Od+6Um3rXmk5fz;;9unAw4or;a;UVOVg?o1*1w|sA9ApM@aVkAox>BV#(I2Uow={ug zC6%14!%e+wcVW^3vv=u89y%_+nyNSh#L-hh`RrAKCbkLjf3}l@2}5bf){-SlXw>L2 z@^LO2GQ~$c130Eeby3}gV^5%57~1^5`~G`6qkSiO<<-}vgT##QtWF(7dw;(H_tEt? z-Yok40LX27MhE%u8Gx?8M~4j+WyGaRm6DH=(GdX9U3j43j=Orv2iybt-zyz@PM)=f z%M{Ca(30`}_dn3-XLh95-+W8ni9y>x)IW))c{|(yiWe=$o!%j${bcZi4|!!?y=ql@ z_pR6EL*oAT52DRmHuG#Kujh|%)sU7>ox6$d&ffRjODEJjnZ`WxEdB7qkD^@z-_0q4 z>Ga1+N_S0E^~OilPd)vNC<9Ps%Rp|n<0Ei%rej}tfpC=2^Dn+cO-?;c(g8h{b?Y^t zS+nM_EK?EnHwf45rU3Q`{%~*?5$usr(diUhAuZvC7)Q52s|PwX93qPI%YY+zc7_JHFgMuv zAUEp!E{s5+jRRWh0lXtxyJiiwXx^MgJuy<2HnFq^xE<_)f@RB>(^qrn(!y`QlOtEK zK_d)wK4lIs!yWr)((sonTgJ;%6#DkRk6wG@EtxrweRhl|6B}-z=ocNuF770G;>F0I z94r(158d*?1|aDAjDpXV)$&X(0a`rz^}k>0!fP+TKv!ITsVD&uZ~&ZO9E7^Vbu8|Y zi;6XbG*|@S3-d-LBTPe>Fdg=|c-1c|J{Mu05N|jcnMGpwa0b#tWELWc*@4XDIvw7a z!WH*E%R~gyk1IY``zyWsBA#rP330ASYtJD|lx+53TfPErYXw|8Hb6j^qM{Ga7VheK zw;!;nrvnY0I<%KVRiW|>9r;c!1C*CrW;mh;vo#!#bMeI& z%FH*Hcgnayjq26qG;SO>)AF?DG3+-$r=$1EA|%1|A`_a4U97g=J(=>kU| zeUzmbALzNPR=t{}0q^eFHJl*`jV9=L(MjXXKb#y;DK!ulH|&9r=+ydD*b;dX%OE>)?aIgwdHV#KFs?h?Dtaz15in&4HO!2971{Hjn|1C>WZLbcie=Dv~KNM+OTnh*l})G-+S(+x8HeB&R@f9?eeRx z5q*wty!H}}9`zVEl+{EoboSvW7M!#VKx+il9YNtOHe^75qN-*3W5u6xJy5V^^AD;wzr|6!1>z#M0Z@>O@Ymb{mS10sx_UqeQ^n*gTBThm<+=B)Wp)*f! z$M@?!>e%5-q3zziOFjXZ^!_;65TXqlI?Ky1yM!iB8qaS3o&&B6X~m5DnK4h&vtvdx z#rQ$X40c$){Nh-dwPJZ1?_eRXd5dQB-h1QaGZfU9DN{b8VM8CL*I#`}HqHQ8OF+KO z3@=IJ6bA%L7F7LV0M`wp;lgy7eSvT~lf`3s-TR=ns9<1+asAxrqUlkRe1DG*?ExF> zu-EJWWQC0Z>O^oSW6(bcmmbH%a0}!B2a>8LS?-i4h{Q5T6Kou;wnR@c*AxqZhTo(Y^R2Y2EuvCII9iqQaT=cK?=9S)Af8FPA` zSxz4LL)k8r8mo@QWT?oq9dwNUHkK}1PV>I`Mmpr~-MY%MExvmLw2Z?Q3gv`l09D^Sdzll3Kq@OYq z7Be<{mj?yQyEtz3Mk9$MlAynI!}<+EL;iFYYIdiF;_$@=?SRXwNytv@3z_M_&7%eG z0}#$~6x?D8C*RQBkntH*Il`eG9N#Z5OnlH7Xn<7l8-H|g@Rk9g8zeh{==YWEY{b4! zrpnj5p>c)dRevCmp1n$7mIJ0lMoI4Ea0VJG5o(dIpxHTV>;S_dg$|+GwQEU(iOnhd z6X=Y8|LqU@$=UMn-gJZHcUyg2E|n2 zi_y&FY$u1mEvx^XPR>nkGKBg3Q&xC&XbLNWRxRM#Q5? z2%jBr1WG#8Zm*d~IAl1*@wxDKDr9>u(?e#X4QJIXV;F-Osm@AW!#@c$HBtP@Ombvr zA?}YGl4cxXHg(6*fiy)6UzBm-y2E}4k!b{Laq0r~Z;5XcBs`4v`Y$1MPBMX%&-#A^ z2S7I5`;x8qC`|-5p2WXz38G|)5~6*?#gSF21k^R93)}<53UyW3D(~(P#3u>Zfd@a# z*s52r=BX7^Agr5i-Q9=xQGoF=zl9GuM0P7e14}9(UHIPX_~VbG5+zECgtBGI&~aay)eU5bK2dD)!6CKyOe5&8U|Kk65+HB*cpHb9 z2EwR4EJtKJL~F&z=uH|m^6zI{_y|D#81i-eamPt|0BmT%#+^b13yS-H9)WT)4*aH3 zduL zh76|W&6;`*5CENoojY~1u6Sq&T-A;goOMVsXz%HLw|ugI4JyzLd3xKn zV%P8{^+> zetp@2`Rvo9sb^aozwAM6d&X>~RjvGIb`uD$|)?-&7 zqd);{moFwWTciQ%x{xNM_x9U*P?ai`#g5qw(uHryP%g-ed?&{@1mQu)>;-v%sxa&} z#jZ$n5J*45!ocsa!w+S?GE|(?GwFlL)T~7t(J+I~DJ{s2G}hdCO!?p&Kg10+Tu3YQ zOyYh)DL3N6ED9P-iWMtr0y1z9!Gn0Q`3L#OELqZ7paA{y>r%SzhMVPkJq2WA$EET@ zF8EPy$ScwSnPZ-QmM*&Fa@jG;3=;PDKmHKSIAflEhRgOA`Rqi2`;Kx&`5btNt7T~- zi^2CY*7T4xlJrxMl5@Xg=3hdxyd8-7{x{Q)KJ@XYLiCX;pCy4 zZtfwS*wCR5(jVOTJv?-nbXd3FeybcKb4!ogWoZ&KwgwGO7KOj~=Bm#<{pg|#&yyw5 zp^rRDZ@=@dq^B9jf5Uax%J*StEbkvUn11=?7y5AWMCx(t9dybm4dlb~1q;8GZ^oK5 zJB@DZaWi%7(4LkqTSlj~Y%6m7;f5(0%p$PG9Ur-`U%y@&^eeBpoSHL>?b~bOgOW zX)=v{?rGaNXHbRmW$BS&Bk0_7yNl{B=<_VVemCCKgI4_cC*5+>jdU!R^VTg}Y4w^l zbo-q><#Pn27b?4^PW?pEp8&n#$fk4ikE>Oa#ys^Tefi~=@-aF-@wn`Yt2s{>%Q7)$ zQAqD=ufHj?(#n-9Nm|ydT}ux?_y8^c?KfJpdJT0yyDR;(a+TB}d=Gi@N%iTPtFIJw zY_;pw_XZ_xTDKDYrTB~j??Rt_?s;0VVg=oL%gxf+qqF+#voGkLd;3u>o|z7R^kHh* z`t-mj7vRA+ez>1aTeK1yln=c0{Ihg-pL=QS^DhW39w>lt%}xj5a8Yg`RLCA&dM4vf zU=I?aq=i!u#}k(lKfEK!4G@kX0YQe8?0_=GB?^e*0WGr`RJaKX%T&b4aCySWOc?N{ zD@*y57Ip(+Sy8;n?BOc_JD~0;C=a0F6{*6x{%*J^gk=M9@i8rjET-+juccbXunf#L zZo1(*o(;W2lO}&Cv!(k6^rPk67~jE-?GHaJ7Ht@(w{1h!t5u^Xo_vbF{qB1@^UTw^ zQyNE&8l57VJJ3kC<;HH#oUi0txnqwxhFZ5gjh=u0CFua6DIZH^L%9P)rv(~1ihKLr zN53vzDjlch01AF<)TkzBvEAEm0R8$4&UoXQWZ@!o+pV|IB^O;t4?jGNe);)lTFs3y zKH5g(J^i!KypPWfAkWCe_g(etpGaTuOx4WTGHBDL&Gg*Z=V{usPh}>84i$hF4|KdQ zzxq1eaYs*CqJwsmapNY4;^t|eekyi+X9(S$70OqjC%IgfFJDgW+n*_N@ZI0;UAw7Y z|NH2--+q^l1~VgQgt`5$UZN?c6_*c=$U)hG@9|Mj^319j^9Cp4UN-#f_*cNSGxFxm z$1|!!rPICbj=Q96p<@$(0_{G1`_W4;zbfVS@~f}PJF-TN8p;e6X_`0h8&S@UcX+S8 z{s!GU;6CY)Fav(^rB~!Vp_WzteEI32A%kck4>&LYxx4p0wCMXqGNVR5Zs+ow_UZJ% zY%vNuxPycO0?goX+5&(hp?a~r>CQQ@Na-Q{UFOq9&5!j0F& zmr8mtgfW^rBYxOFDV9fz<#+{uil(KSHW z4Y1wOA{h4dflA+^MKe*o1%<>rckH05M;$H8lsJGBhiyV@21eOct5%f_BqJUjN~gDL zL%DedGkf-I`st@7)Z(<}bp3VL@N8?TbO7Lg>Zwum>GaQ}Q^D-0J~yZf7cArv{pa-e zUw?D#dqkNrI)F_ZgSs!@eQ!K{#|4MzLtc0Zd&a>HjDt_+^BY~@aAw=6T_ecCa{)DR6PKl7{!@2(m)X+|wtwxxUe z_NOh};6MHJv(%|$durRJH4S-aC_#BJIy@|KjeP8J>EIw24Q=5fg+=XGFK#po7A(Yc zABXVl083jrbLNuH7t3cCTy&|tAH&8F;O8Yj%S@t2kDI7l*DlgQA`L57t)e+!eZ@1) zs@!3iQxL+~${pah-+d=Mxm+d6wusO%MrvmY#%vMi=An~X#+}6L zZ@fi~PHj#t+ni1V?jIyPFrpDeVLLDA0RHcOruScHL7B~GYQTaH&6`Pe9l7pKH`>3R;` zdfS~cQ*VF9>6Y67@A>fVZTa%wcs9M7+O%pVGr@{nZ;JAL#=roBr6!FVi5^h*&|Q=< zX0=%Q_P}|@GAPOn%fkTP3uC5>cYOvZLp3hc?fRR0X8^mp)t`Ump7_SN6>j)2Ts{{n zD@{bQYg%D^2A9?MRcg>kKGX^5b#Gur#=`Z4-8DeiUlHXGz#S}ty+fQFrSG#iT!P-Y zG>~0sQe=xPH&Hep;q2%=+Yj)!DKesqHG?~&Yo&pj;vKF@qBBw6pWJh|bR=80Y^816 zx6_0P?@MF+)RRxpaGuTKpj5n%oAc#YGRv9IvotLG9d}$!IdJvHn{VM!|36kLW=2zG z3GmTJAEu&3i_qpxo4rm1?{RRz>b-sY$UClfJX1s*c!z|}X71d1!iSFX>1Up!2OoZf zdfs)rY@m4M)i>y{Ll32)4-S#{ZI3jSZNUy5)lo37y{qg9l2(3b#p{ zNgq^FX&KI*{iSR^89nN8s#muzz4`V#+_)bh?qNe8;?Cde?-!c4gecR0PF_6>Bj5jygCI26C)mdgqk*OVkz;!F39VyyP95p`Bgar zN#Zm|9N74c9kcP-bH1WQKl~`~9&xh3r59gBBRSr)&gv-Y+P)_YHULV`2!|@rz+g3z1=?h@iP90x{&& z(12mt>JFPIgz2gHlOZac>vsL4cq1Sz%FD(J;#pF_3G0PXd-7)~qh#e1c|yia{N!S0 zwrTZp(RhN5CzeG{1;^QD=0s_YV2>=hl_^`6RY53)=saLdP*7iNnC@9RemPdSA~Jvo|Q z;8`J-((-Vpk}ogvz~#ho<;tDgOP|EW`O~!GJ3XXpH-;(aM*=8%gGC|G{Qk|R24Y@~Vft+yr5r~?K09$+aF zOPIJXNE6;IA|Gh0Fgr#b!H-Qmxc4hpu9Wi$0lfcPvvv*V+1xYa9pTN+)SQwgERmny zt{r!X*GM|Ax$Z_OR{*nG%rJ4>k#}Amsoxe7#{Tp zM6Bah7>%G=K)QjFq~C{THW6_?33Se&M&*{TPqbHs=NTPudPpaHR^re^0~*$)xrp<3 z=}~q?n5J?-3x@@it_b_b!Hok*hd&ihD!4MTL!OIt<@tQv$<^aFn@8$gL(w>y-IY1H zlhgMjV0Pg~kWCqY2#v zp%)?;EIBw(LQLs~PfTKJAdH2vIs^v91u0p8DC0Y5ney{^!-gJ0U zAu0_~wEssy*0neR-yQZb2#xpI*jbX;fS}7jX#nW1n_Z66n-PI#?GhpwBsDmY7gJ`# zW)fblRC50(kbZ`uIQ=fmh0=^tIMf~UXBN5C z-`GKO>5h$mu+(L)zHtGkM-zwRj%x4Xpy4#^z5=Joizg75$+yB!I=VMgia;R9UclTp zV-jQ{IyF)7gZc*GYit=t(xVs^aYFVFu!|S(aub$X_XYM}whkf!8KsV>hj|=Vcw;uM zUPeVSJCoC!7=CCRIyP-IZrn(AWkPex4?q4W-%1_Czlq?D^Ia|-cI%G@L8n$sS6}t_ z;Zwt0ZkuxW;fKq2cTm6Pf#u@_cxaLN@S~}+`Q@CmyU`-9FUQraDH>p~sR$coKAQS5 z9evbM)V#T`M-{tx@iDsYPE|m2PU}{u$&O%r`-hDxB}$f%U7FZ5gKs)fHxd5SCXK05 zrAqYdb7LhezH7v%49hsqx+m23GV#eL(?pw2Drk|JvIs*9#P~&VWFC-d?xK-r1`-K? zXB2&}5f_;v?5}=VNlfN4fp_h=zjbOKFLi6oGtY^#hqJqx&yN6Xc$>v_sBxo)RvVGQ zS6|JQ&ycWNSj!VM@b2~N49IhfC>v0-=CPt}N`c+cP|$&AZr9FTayBNuj|Cmy6(3Wh zx>uAFCw{=sM{%k5Q$G4wUK8N+AnfRdT0*xzVYAtiB|poKdBuVS-^%yG=bv|uRUVHG zXj|!%Y12h%2GlkxK4SS$ywRb9*>Miw`{y5jSS&O=KbtpiqVK=|LB6NXEX*eaQBXRr z$&8CQKenThIrp6IlDT{D=`Fet|Gy(#Op4_6C?6N;_$v>ds^~@nbxkWAu4*^DKEMB5 z2I)QwO=1aoONfjdvTOAATW^t#E!a&7U7G#w?L)^NQ$zHO;u8aW{&8!Mo2W+hYNDsI zU*A4-(FNyI?b^ply}}3n==`7&B?^aey}Rz(t7*`{0kVVj)Fw?ti8g@K4SM(LNw?j0 zi@4jjKZ6F{-=8X1t}G+|{`cNPS6y|5bdsGqb(DBuwsRwy6k5CRUH z0FGVH*wKqd8J|W~KH>D^5&yE zZ@-nQa9!TEZ96|>iIDUJI4?3gD-eIUMJKI8PZk|!AK;y$fKa~jb9UOCl8RQ_Fd zv3!3E4MlZNIDxwJ^Mg}Ca^%R6P7wBcdiP@4WyKBPnLF~xBR#n&ZIW|Q zV~4T%VLX@gG6)Z2s0u$ske&da&Bmofz4&&CPMx@F)E0mIv4S3dd=x$N>{!|Q|KiK9 z(6HenL|5k0Wy|SS?)Zj3@-UC|rpo3R-~*m{4Y+@>sCdH%;7IKSSM(n?pf}!pn|}Rusi?GjfqBsBL8H-_XPy-~%a{L7W1oLX>cQ7v&-Lq@ z7Du`_l95i9RBSTdDF5#l{UFa2KH-9%Tqt@#r;JaJpk?T)Yi{rqDIoB7JX0EL>o!(O zP~XuhUU^^__mDglOJ8t|0o^j2TazWXB z%<)2}?5nT7E?SA+8#jU8e&;>esSVmsT(+pEfByNGD4amKe)jnn5*~wz=bwL>9(iQA zOpuBd@zwsNTOLMtrF{yJiKHR3h_~K;S5!oOF!@9I@Ehv5Q0M@9b$ndBV|$8Gahk|X z^7lbjV}ZET0I9EXX9VsuY;>poZQC%JgL1ovl5s!IGe$bZEspFZloQMzX0nF}jBoh>1;{=I#WN?T299@3d zB{DNa)L3DFqUxS^_m+pMQNxD935D1#xkH391E?)i;OsuEMBK)sVSLt*5()V?8J59{ zm;b~TsLgkNRuYKOXr-^ zO?DVVY@Fx@C!ZusdH3Bv$Wlnu^Y!U{7xm=&2F3J(aO93adG=snca61#pRthBgNn4l z0&w%7{&8{?C=Ybr&;bkHlTNBfeebzjG(|z72L$4TlZK}>5T)yiShw?=B1!kN zyHVdhchikGUMJu53Y*Qen{Ft8zy0_tp=0}aa2M;|308RJM9^!8|60Cap%@ciTA6r%9Sen5}8*jh+o)N(KlRH1WYnVA}7Hx1kzsv!5fK#LQO3FhE zh3_a6a9{P$__@YKh|goQ_Dn%*XV@rQ`~HEXAe;<9X(4(Pn_gkQ`s!=C@#Y?)P#ii~ zyL9Q~`GtX3Dt&tQq>rb4O0#Cop$vP!Fz|v}z|X#zDetuc&z&!ZWieL)Wly3bRu7oQIkn-?cruoU_2 zx8I3eQOeKmIN;NyFStyhw-~3r2)F>TL`8aDtbR_}F@v=Kj6ldMW8ZcX=Tlt)s_Ne zh|=vFZt5XRoTx{@-+%oh%TG`{hZ$HhU{k@1+;QTZyc{`mP{W1|H{`NVL4QR&JasAIMxV94rLB*!I;{ow+gqzD?X3Nb|IoRnHpszz^3NFK&q4^ zOKq4QaBFdeVG6>)25_COjBpbNMFNiwe~ey(`o5O_xr7R3zo$YK*t8W&zR!X6eeWFO4n@`xQjmMB*1cE}9h<^oi_+dl5NTApGByds$N z!H4wmC)2!V3rn5DM~sve6lj79BU(Dstq0!CLER$c;*=46kL`tX1VCv%;{Nc%k3@qN zfOqV}9vwlmX3wU<+|lAtY{0$!kO8}hvhrN{IXu>IO~^)I%Dd#}pXJcfi9F@Ru`c5$ zOcXyX2YojEV>!mfO#$rbrbv0i{Bhxx9t`LHDon?f=;PaAGscvo^1H^|0N5lPi7YurjK~3xSzSBey1lTL=;q(EIy5&f0SN5CQrVSPUPe88-oZ1tv#7yI zC(-07Q{?!pE3dpRgG6d+)u1l+xOMt6EUoIklocJ$uOGBC?))25Z2 zw33iPxE&*8O_1^c?1%ddHi7kvyw3?R%pRL3!~jdFmtA_1=$OS3T5VdlTi26s41o7#!gkNk#!E&ZKHY+D}KC6=` zT!#XAk>Ml^@48X;-OuhKyQ?q0-~u_C4YF`j%&k3cma@jtWO@+vnl)?a(MLzhPEY8u z&B1X5%7?{!W#GaRa~3RKuCK8I+=y&hM|pEYA7k_`wKzmZVsS{JLbPbn4|49;yl=jd z7mNVHAk)~w`{kEkd3qO<$ubBu;{tX2*QhxcV8R-IpI_~AmC{p}LTRA-GJLx6bK%Ah zUXMS_YRLh5m8@Xx4+!&Q6)Gc(vao!OWyY_*p687q@o+$63$`L-+crA2 z)oa$$mtTDqP(g-~;;PlFWu(2C&2K!@!eOrFA@qS$3;z21AK5|;otc=OLD%Kazx*Of zqOk;p4iqDE)KPqffS2T0Wx%X*>9VDqzPa@0Uw=tFFu(F>Gu6z|hg&#t1#jtG|J(-7 zR7cQ_JAf!!EHcHM9+HTJmn7Trq!YXFgczf;u5$G*!(ZaDjP_yx2Q%Wi#!@wAC5In& zxNQA@=iPBa2Mq%soECyQ_{%T9O5K>hV1c+{P&crIj@1AhCj}a2_R#4ogDy8xw!7&G zCMXdBUck+m3*~d^VVbp^GB=Kfd{>J zVc=fw&3#QHZ16epJ5Kx9#KTRSgD}~Z2fO&G-CnVy(Wnh%f-uCu$`ZJIF5Lp&AS+u0 zOQHwNG_}r-qJm{Mc5q$ z6{n(=U+Kw^N_JM@rY8Y@;&KFLJB~G3x;1~UY?tQJqu|O0FFH82M}-Byh7o^u$U`I) zfNgl9EJZ4k^^|a)pCtm0H31r#$O(mGPq%{u(7EYLX%oiUTsF0XPYq};PaKl*dGY@5 z0S%Ixc%)N+nMJY!PXl^?0auJ`kMhq9(oUjb^jYHr2`7GR+Du44M7XNq8FV{LFTAw_ zff=<5Q%}IPgB2!3b0i4VJ1i;y^>mpTNDpQqm`QlEFXd5q?l@1E&R4H~x^xREBx5x` za5y<~%g3<>M0p~WXb2%m4!i&c9#aHe{X$*_AtIbnd`b@+h1%m197hi$z{5hr@x*|~ zSq@?%3d@SJNti}(17)5Z*vlL)CtK>?1x!w4pqPwlvRc9($> z<_~!Xkjg(R$ZmND5CRQkBsBAJg^*5xNAaYJHwD5XU3b{N4}tR2GQ=;e$;woD+$6e) zqX|7qtc_1*aRTO)NQ~7Js8@yhTe#jT$simsGeB51im*IQtP9ue@W&0ryeM4%7~Yf! z#;t$q_T_52Ee&Z?FBefXfqJM67p^;2fR8j-5}?WV03mEVS;>T|pD#pC22X}$;<5&F zTT;sPnAGACDt&%3GtTzfct9F+h65t4UWT8P1d zaU1F&PmnJRXj1Vx!r@$_2)hxd>y81~(!J*{(h$ABAZ=h=dMsTo;1d@Eb~u!v*YK?h zAVooi!$imkI>YzK1PI2WLfCj2g#lNJ^mqWj!nH>sEK}oCgzR2=U>9NpT)((e{Cbp~Mo4K{?))Nj`4Z;n@b~qyo(BX4~*qGcpBM9)YGl9+) zwcGgc9sw_GPd@o1Q89%L5YS8PWQqV?PsZP~g-p66OM zYs#hwY%IZ&W>Bs{{`>{xdoeuk`3vNigMG0v$vk6P2pTR!+KsA5A1yn8*REY7e8q|u zZHiSY%E`2|!alR`xK^Sb| zK!pw|B%fIPv0{ZS4}-k<@=~>`Rb{gdHsC;cL;CO{VZiPhh1$bcK=Z5!hgJCWoQIUC z&{yh&4Xd48cz0!#m@v%SDqlD%D=JkHt`v`rcvO_&cI?=m8Z|nFKK*otoHp$yCTLFs z0anKm7NKI5?)kGt?a067>DH|a-G5&{s$Q)soqB2$c_?sT=ai{aWoO>iS6)GvTzrA- z3VQg#!PNJj-qgBvEBOu(A3sk2WD1>f%E{EaRVz7t8@uwbV`yIh9qR43^`P&*`_6pJ zV^O#62~?v-HTwLEnbJ7}Et)rz52?}dxoFm`scinirylVS+}^hTZ3b8!w0lx%)mk=A+ zBDFv28g!1{a?6eKi3k)3RIPTjoP~(S`SHhwODBg9j5lxDEW7mv^y|xm!j9C2c~7ce z->ATH8g|HqUe(Ub)3;AA>e%5-*)o6Q4cF0IZ@(i7hLukNO*&(qdV-oXX(S4vF(58p zqByPynDAUyUXELgbEc9IG!BeuMih-)N60*Jt2Mw&YHWBK;%v=%Mo<7=qL zGf-Jp9+%;vJR#}d?;iQ&Mo;la=RWYh{&d9^mr=t8CyOpneE(*&0=a2%<;BtC;QFWH z1KhF$+%OsF(woNP9Zj9~g zP=8aVY#Dm$si$f7oUgc(IF+6n^E8cl`dRrF=fd;PrJHWPmEQkgGF^Y|)iP5FcPs!t zJnquDlPEB~;<8I+F!24NMKUw%+NCp{&7CbertRCY3v3s4Xn!VEtW;4HnL^j+KPy*B zd0uhpC8C}O-@{gIQ_noT9e28Q>4zT{^US)CGz2$Zf1S*( zu~ixmJAe;hq5Sybi!P84rO}yVW(#*Ej{j1Quk7K6%l(V$6ft^*KD^5=y;wB1Lwyjo zVNxQ{rc;#GSf!`aosgnQ9B+O;XAeR<;qi&Mh&T3 z*Us`i6Evb@bP6TA`2OdbtFDlbxv}LKqjp93*8BA{U1;Tq3zv+ZEL?WOjW01?>By`R zy9@PGxOVsX35QE0SQ38J0IuCd9DVPRD|asWUJELrFyp{8^y&2JGC*C*4STQN_t3a; z6Xdx;r-<*fpydVwMQG#4vmPFpq9eky@Zpq?XxxN}qE2qfl3zrQKl3v{JJ9>?yJ$Cu zx$&kRqD~Ck@GDlTAm4`}e(3N$il2S7F?dE2$|Ip@l#t*N39O!+z|RDp<#z2_OZx(? zBT#FHl{M&xgtj2aLt4&1_Z&L++_UBTPYeh!6F&2dcJfVg(V|7GeWTVJv8v6JaEN`>z+P$(?dfB z$t(>czWVh~6b&)AvH#;dBbMVr8aJY=cr^9$3(rYM_w3W7>4W#jQ_Y$+CEd_6ql$P_2`PrFBLy%9LIx)rKbD(-z%#CLmn6?3cbPKv113inbQTO--8DZkn(QI zv(&4uxKuh*5BC1XRf9NsG{7A;fNNLa*-(=igyqD;bl6dG8^ro(lGHOHiB8CX0EZs9 zvT?lvaEalFvQj?j0gX5`>*E_RJfo*HIEiWv51L`@Hkcp@$zCE;n1x5F7dU6V&{))}qBa02L3T zclGK+*Iajle3WV8&5)VTl~-RUqrgd%KcxEx4x-w1>&tTJNvAZXGUbn;k3acDMqVFH zor(lYJiyf)$DKWU(@U?sN{5%LM6KJNA)WB3C!eCZbHDNOh7b2o;Rj&w0}s-G`vTw%gcE#1SbJtE88AbsQ5{}D&zS0FeB7~kt%mgv29yWX=Jv4Nf zXcL)WwcbE0d7F0a>5aGEkr5*rBz(w%+Ao8o&X z%vz!U^ys6HrhNHKCns65w*?n14Zl?Uy9SyX7jg7x_*^JYHR&TAUXz;WI_SgoP0AVR z>C|PhCXdSiJZh4`G;QS$W`rhxqwuLSKIUwaiX1!^7zUSgIR%e}5Si zVTA&-I&?n>Na7(G{0pLSN6DC(0GDBDAmWV|F0$1wpC@ClYQD+-tqx z&V7eknB$K>UT)}QZk#dmFwXE7x^k_EFGC@{sDRXca?qI~)D$;<5N(`U##zEa$fYeV_RAAiU@ zHZ=ZEj2dm0<+z-2o)g{|Bu9okaOQ!EFG$1%tpuAl<9(^oA&F%V(EsGoAUYTT3S6Tb z@ICwh{X}=()r(fGTtx%=-9y)2eHC|zh2>rc@3RU2`WtTwT@?bLqlM-JsPn;0`u;%= z(6Xh=Me_mP<6>0+eh7~xT8yl5{?zPQb7=Ha&zQ7{WCmMccijO5JPpDuE+N5>;nLh^ z$S)sUUAqg{&wYRlOm}AgSe|lYTpBkv6|yp_5m<}R98b?4fdE<47Q>qoSq+ypU}X3Z@eYDDRI8h*=Ki^!iL%;09xK(dGUD}^=Ar> zd_mZqMPLKOES`B>c;Wf7y9n60af9q4!aJ#&#~v%QhlLBjm4+J+2s*`TJX*tAzE&i> z{~A8*VHqL5$Q39K*nEL^Xpb^4-bcOv{v;XUK}Xwt{rkz$E|>)a=m>%@s7)or!H9U* zhIe)~aJsJrI*SwP)bVzL;^lY^PAA@X;o);n=dD(-ScZ*auY3~o@4Ip!G26J}-CUUL);=9nhj1CpAJg{Wiy5(uiyUi;-oWO!p$6K{*Axnc;q1hL};JR_c zhIHfg*U0fun8mul3=;Mgsqp|E-Zw+(o|i2(!# z@OaGv-IoV4avoB$LSO&ZI2%v4*c<59cV&yK>!64I*o{#QPEtPaobIxY{n+DANF@QV zwvEjvXbe@S<-Z9uOw(t4E=zPcK^Qs>ac&uOwxJ@R(xWpP`pBcwc;lQSoT7`Z$9NC+ z9Z%oUiQqxN*?IR3988OU{E^P--i?|zX(IX6JmbYS=y>0Sa9E;*j?bLAb5XlCt!O!q z0KcC54Q=BG6^Aoo=>YoX@W3dr1sR?3CENkyh4IXpvqYyN*4s}$xxRFM(>|Rc4;>6P zyWqVTI*!ji`$A?!=onkHXeRITUU|(NY>0Js?1aT;ph1I&$m|F&$#D)K;&0NVvFP$^ z(BLF$bjm3vU-j!tr@UgtAJRE?=K)Q@f`#bmXP%>Z^XAKWP#7^|Nw!|Sx-#g&X9Q3Z zi}!bxDpur~W-gjE=|g#kaNz~#QkzySY4z&W5*O04==&dJ)6b7wrkG_98S=0!n_hGE zm2#{;mSN`3oh!5AsJf^Z&nw_ygn3*)!1ec-9I#vH4DI8*4$HWV+Xhs!`U=7{SRl)x zi%8>iEMY`>#4?AV5vI$3U_nzJ&H?l(;+#U9CXaW;{Ra$`XB&rup40toI-Z~1u`j&D zb#Sr_s!lz%ku>Ib?(qDeGsI>o9ORoyZz*PM*qMz%9qKAJeW2sP1}ns~jMFlF#A8WU zdiDnE)~=`e_3QF8SzAutKpTu*?J~3D!Ft=at>yEEapNb-iRhPJa*=I!OuBaL*eL_| zS6_RBpWXN6b;GyceMgfge?%SIpCKLfJKVuN{={e- zSG@EJIkr(1arS0e9=~!&2U1yJgWZNs02JVY2LmU8Wptk%gmat$Il>+m9LEf(Ulct| z+gn7%<)E~Boqw(r(*dqo} zY*w@f8?}*ZuL|{3B=b`!57LTdY{=vjZ9Bsx{gJ zEgjMran9HM^>gx04k^=A{?Eb9*nYSLY1N>(G{xV9a3z+9U7>U@Zv3#r;R!Sn40*m> z8EGKlEGZj}SRv0?)mI?2bmDPj?K5b?(v8REcQXZ~l95(^lp(VT%U*<2p>R`^GCS7O zt)niY!bZmD$Z_kZ%9ZB;7ALTVQ@Rr@5*k$b;C90}qCLRh<%B~lFUUFz71VT75|6ODzH$h(iVM#Z9X5h-yc$Mb5 zU4#3h#-+P(c?^&bH37J8v4crm9umT20j7g<;K&sD)}5uOvLSuh4mVA4_Bf>E2{WW4 zbl)P70yxwFadw5Rs$sGR*CUQ8jwev*B4BxO3D@&ILiCNety5`U-BshjBZd4zYzgit zxI8)miINi~D^k7^ZP`b4aDq62YQl)3S!5wd)(|1kCFQ_W7=KDmnShiG@h~skQz02o z*bi>k1mVBn5Bo*YVdv^3cVCUmqvd4m0TZhEiSer4$n@mIRWyyC*;E#;u!_^dw;LW~ z(tyhr6C^U8*z_jCba80}VA+x{>r~+VfErN;#y}akbW=n@nkla^3@sQQJ1~{*hBtBL z$jR=UIX!w>aHEDjDk*}nr@G^ei?BNz5fUv>7dN zKxZR$#4#=c&JYhS;c!q_1h35(vSPCe+h+~5*-U;Hf2<-mGdq!*+D_5?J z;W2DtNB%5HcADawK7l#VMty{J&3yqv->Va3OX>yCORHB5ld8i92ns2D@_+@2j4 zWLOy(j#cdZ^n%kjI(o@&VCUPXA5WoYo_f+!q9aNjy>g`DM2BUqDUfcKJ#nD`a-JNn z`~xF2kH=*;b~jl*U(g-~@}edjPuT2JxQWkBAl)|YP=NdA?@Q_L70boEKjB>}UaT0s z@!HEC4d$jBucMo8x;{V~K5VG{_+ABSfn<)u2!$seI|_Kc3x%C5WHpaS?C}ld%dS_&tPqEn@jI z349|8U8!@wnnj;{^a0KIbgC#m0R7=1gXyc;pVPPV=hC&;UL~Clv=M>#%UPe(!21V? z45S5j&V3B9JNYlJD}VjLMy^ZcWAUhTfARS=y5WXv#f}YFA50og*IaWIt@!O1`uor2 z^wW>uingIhq*)MP({@0EV0Y&|y?b%zR9rUF^tky(YSy%=_z4gHXrA<1x^zj=;d_|# zsS)I!fBw1jJwG#F&-sEzk9yqt7&&Sb_?&3^rytRiPmHvbM7aDwScawtG_kvd&qU>q zs*3=I905czWepOo7<^3K`|h5!Yxi#Z4U@)_L5G$;R6Z<(E=5a<0X&d9m{=x;FFOdh z)x^Q&aru0Ea8%-!HoLe7GBZJgfCP4^Nko_kw;ACXX`1hU8Ift<3&hD|I#eNDbjjt^ zpy8>aVFe$)V-)(%yYC4N=9%YSpl6>QOP#xRmvX=5*4t%ExPBKEMy{N>M47IJ$G4ie zpMU=Or)ZpM(6A|8eCZWJZ_uy_Jvw|OP5NLmHEq#~KL6qiD+P$UAN&9QWI9Gutvn>m zG$2rEF5RICIUI2eZ)6cgg;nDsigz!8-Mr(+PozeTn^Bz;Pm<4d@aapN)~%@4akc1- z_GigwE|*<=G4;Ijb~^Kn)2V&OF7n|vPU>jgx}~Hu{0!rhn~rC76LahBcgZF)XbAD( z9k=zM5MT_Ur-YSpSzlg5qYQzj^)F2J4X9k=(8?_e>@O$JFae$+Vm zOxPgA{(*ZCwzF}An3xerEuPsMm|TfeIkyCJcM1O`DeT(R5WFQKLXj zAE9Y*r2vMe;e9y@<4~IT8>=8Xj42S;FKiTQ$HmxP0%*p9JZLt;GJq(z($o&)^q1`R z^Zl>Fjo(RMazrIMc}DP1V4E^NFUiSvY>oo3B^opsZ1;wWI4H?QCx`EQ{`&iGvHJ)n zQomGqIFa^b25{{P*B$m_FiG!m z*tifk=;q=f;EwXN1Wzv8Q951;F~Kh_!eZ#;hC0FaXP!>;=FO8W@y8!uOUeKPZ}5LTcdmTHxo!J4;nTR?UwnTy!IO-9Y^pQ2a)gasE9BfP#Q)bPE-kq3LA#-7@Pbaa7a5@aU}r(YJ$MY2t9h- zL=Qdm0CnlynJI>+QNxBpgTZ%~sS^?O$4K)bewh38zFXc?0C*46v*+z16PnobxVi)- zxSxIu-^{&B6>oANv@1dF$x6z*g2`cY<#=SafUd?seSNCf_($uSp#n|>0mRY62ujO3 z5T6=g?`1YP`DA)<$RKWe-sVnjrZnQYa^)8FbEBRdL%;p@oA-hCCm&4~CCAXJQ=){? zJmdpuGWo=kCq6L8QhTr7edRmQD1g3U{RUBpj1xw1yp^I?&pSk`();g!5W5;7h%4F< z9mnZF@%@!N6CE~ugeaBx>(9Svz`((xu>>dY5k%%svKOLB)=UX(>Fn7=?&qkTPho(vM8mM_rgrhu3H zaQ@hx@W|u(4R23k=BUiqXhsFz=PO~Q8S z+|APp|Ld>IsO#D13B7N>0ZG&>`SKG7Z0RF5l@RHQO%(+MStE5M>;{w;iCB-lL>hAc zg=Y@~6R5d+Watoj_POWj$AXpv7$@ztFOPNPF>EXXPzBP4?Z}Q zzW;tv(nE#OK|odBz`;WTACrfHPVS3YvqWXy;-40adO$4;C||$nmfPsMYpYXZYso=_Tg;^`M z^l%}=7(#M50z!Zf48+Kl8v!HI%*3F>5gG-sM1ZL}t^iKwg~C%5CfW@=oce%zb`@&r zsUTre@M;{2%(Pi)C4-q#@%>ji*~}v@=b)>J%e)DTr6U~iam+E*sY>O_vXm1AXpun! zgE|I<*4XuxY?g&H=pYlu)j;DTgL3A`$q#l#D#fy}WD0d-M*pWt^}e`o5Sfr_m%#Rb ze@qrZj`6a9ujIlSMY2#THHs%$xG)^v%mm9af|1}Jo_%%~(b54;``C1Za~7ve{h0Rf ztYhN)ljLYC%*vK7T`tReZ@u#_t>3Uw+N<}*jb|x)M2{tot#b9m;yo8skZ71rT0DdaZwY!L-F`%glss^!<>b6^N=KMQHP%#cG zeW*M$$S+n-h7KD}clW+WG!?aI(Oh_b;2A9j12_WfymQYH&Dw zrTu>6&9~`>n{E;9Rc+h0k!Kd|elc$Mksl~?mUbWM)v6bh_RJ%yPBU0O_PbhFTzoFo z3g9qkNDx$mi+Jmei#w+)ROk?T*bs$Cn-U& zhuLZy$6(;5N06L7!0(4k5y*vP+E}xKKwAGZK%&DY4z7QgFUoCcT&8&F?jO*PUL5-@ z4d~yOM~o$C*UnwCc|d^%0jD{S9Px;}xWBvS9dfWE-n&Hs8=qRXY#}mX8k~HR)LAIG zc6%;t3V7|+7iF}H7ws=T|E%aM1du{(7f0NRa849T*PN+w;nA%nzD`(AF_x5oum{{~ zQUUo_J~teUTghEIpy6Btni}N`BaR*gl?%9O$qX{2UX&_PQWO(E$Fr3e#y&&WUwaKr zoH$WV0!KUa$U{S9MzZLKMfA{vgX!J3U#EWe_Mw+vdCeXNmLc!+?!5h0I<-j?BbtE$ zJeKlsN=7p5Wi6v8X7MN8fK#SBxl48VhThO~X^r6A@&p)f= zU7A#L{=tmyjyrCpA%g}=XVkoTGkSXT6V$tRPwDV+z%1gztPdv?^uDJr-FW@A@~-Z& z$DWYGSVuiEf_~)LC=Qs$4EfPV9+Fo9cvff3m?64BUwh?6I_K;Vk!8-1(Qv=^&m~ld+lV!5H%3$^OW_C2745VS9^_$VI=s9GR~*Kw zK;wjOQGWaVk3a(!1jonWOgs^hWh-pL(*d(dmO^>@-$qns!{w!AsJyN{^H6F32BP9d zoy9%JI|tOsFps)%O$%u;DpNQ$ZtP*Zi*UFoX!xkGVH%K5Tq+X?+X0ssaCv|z*{(C$++-p6rMW=LS}fD8xnLA)8#x;$ZspJtJfZny+b&m9%g zr8$v#P=A;>zc{#I!zPTVxc3&}c-*+%xRf5|2f}_~9`%b#yVAm80GFmRqWF>_E?j10 zA&oAt+N}(!;I2QQv}AP1jVco$Dx6-EnD9ddgxvzmpVR<)RYdUs#vaT~meU@EP7?FNqIZ=r6*KkqcU0NJZ07*Uf0x2W@ zpMg}N0}^hN>?ShK?jkFhN){%rv)dO)H|<%;V=@?dvdI%$J`z zWV_!EA}f%)XslU8;+?r)wHt|RSH55Zu**$%E<E&0iA`|jS4wwmsOUrFXTtbG&GbE-nsc7V;jv(s6&Z)4Z5ZNSz{1= zFBJLn;~Yv~t{)CpH%xT+)Ch-5l!I?SaW9cyw8dr0l#%;t5S<3_mMT?}a^=D%t6;s% zpFf|JVbae8SQg&Xq20%h&0u+1d6B_gq8qOhPOdIrSdj0|S@h7#eZ^+q$!*=Zn)2o% z+7fZJdsczMgx)k95ZbOy8#!kFn{U3MUAqqK!}j(sBJZ|E)Xl`zwJXB*uu=GSeBXnQ zJMm#^)RF!ior7DRZv%#NE!(!OW!tvBmTlX%UCXUEE!$ePW!ua6p5ONe)X{PD;(qSy zy3VuTNeHm!(AxRV9KFJ~*;_s8a%zb2Vu?)Wj84pO=Y7N{N>2i?SAKf^b|J-tjYzRI z0H-+5rEMsCl<%2vJ{LkyO$gOtx+m3n9dh@7@l0o%)djw4OByN}fq>KMj_>e6rphbF zY?6}Cj_201K+vlKxLmu<5~$c<<%coLiUsJcSzZzYYANhFw}!LXsmxT5UgB=!Z#&At zY^JhOjxaDmI`y61aJhBe1@91gc{rgWV8MRBE-k+n{Q7{~d6%I7Uzx(qE_LMAA4iBZ z!KXYq$gL$Qh!Iu+f~NVEK# zkN)n_HI7gdUi*XIoIPCe!$nSI-`nY8I&)F{h z?Sa-fK@8X?d$GGT=-hevR_){dNst<f%AgT`9jr+Z<8wL%al-uonFeiv zZZL-40BD6B(92mWztg?{&zUkdD(x)zDrq6H0~AzHxuk)hLuodiNPaTlb^3+ZDVB&j zZQICmbH@2ae>8Pxnr91J(}S1EKX7N&+)ib!*>VW^JEs2?kq7~|J*p>Rg5V)8U!L_o zv&Z?mD2e}DQ`qQFPd|$A`KQ1yR=cFa5N>Km1+G7Bu)IHpGdpJDDhh$^(e3`UJkOS! zARyyQ#D0IGFdY6zX+RuPqnTJS0eHIsJrmXRq3FggmGJN-{3t1`T!FRU!&kw(^}ANT z=PQjSG0A6{*DlG}{l0yI`YtJyC{5ize*n88NxFH;1gvsl;~Xw zv(MALR9cXlB*OQj(a`x3|b|pM8s75EP5! z{-``s^8W#x0`}p<=q_v0Ymb$Q+aRsoPi53A{Y2XAmN6ecmBSE-Q5Ku*|LOZW7v}7^I5k@_PTT6;qHg=<>p0&CaG2Iv ztX(8Y#?ys+kLw4;_eyM%2TCkFP9v}Gdh-9n?_Otw4^-0|fEufK0Ap*qUu*@^$sew7 zwi9X9C8Fd&;jy_aqVMzVooD*pryxuC<0KCYhA(0LazF(vgA+g^HhH6$$}`e1*%hLbv(v!-xfnoAQf7A4!{q*9DBP z?m+8r;+7G^5_nZ+ssQEuec!ZDAgvH_{Ph9vfBnIW|9Gi?zLiEy@=P1=?||rj?nFJB z@R}WJos{WpfD$bgHEZoR5WhXl-YI<~c)7uIa(6-!`{1(=TT47E^iCt zWY&I9rR`MpeknCk{_S{w&c^KF`ZjiUJZ|-(noU2O_k-xg=2pT7Q2fcKW6BYe!EW&b zAY3z_$BmnNSmDYi8{(S!?$^9ByYhN>Hj%z57^Mv40I#Xr|K4`CfICHIQNgQ_Ve(&QL#&s3UwIKyyH53gcABjQ*}`0w(oyR7rQ}?Hg1dJuKr*pK`F3|4cC8}xHdb1Kw;RSc3aeKB0Fc2d z>J4X7bfT{O;xUx#~&4XPh)K8K&j0A&gqo&OgFoWn3RKf`uj)h(BHtm_vSj!_crZG z83GP53JVLnakhln_hQJ_yE#cw>d&-A~HgVe)0l3 z|FQAMvo3$V78Cya636|vxcCKnjkjm?!TWzpYWka^I{XH#)7!qMDvHG2we8H?fCi=f zKLRpB;b-IWZl6W4afdiC1=+DIe1-Tt4nwoj!t=g((IDSEBsf4Z`rwbD57^7AUe^py zE`|KPF-wi_tfL&-iU*~}V8dYf=D>$~trh=Sbb(LP^+u%ND$%|L)g(rwu_oY-(g%?& z(8lLH^SJpUL0)xU&m4FbpcUVejJBM_U@6kvJXO(@r{;eBmT`PLNLK3Qc{4XSDAB}( zEI+hR+!r5ok%ecL7D*-3J=@Pl?BW)gOUjLxr^P5QMzjDF%gYw4j7oDFO(3BY-ut?W zh}$=0d*95gY>Wd1Gx^s{%~;jm@<}>$!z&5_6Fo&)6am4Q+}yjp(& zRmpj0-fs_t9p3yN_Bi2tv@5KeUI2AkmQ-o#^3;VUQ3}=j0?@#HKUh=4V|E0)TD~OV z41*E8CKbFrhAR#a)}?X#vKyedql9#&R5WddC#-xt1!eRVwP)sr$6;LspNW>}H-!q{ z4I@^IW!xMa*f7}cPhuW*;JM0qZBs&+sp-nWX)8{#-q{1CUOXEDFIC#F{ zae5N*7q4{LPfoW?hvFb}tCvC8#1sB^-@@tpkO{N|wi&Qhz2z}z3N@7fXbX&1$#;2P zC9mLY#?Bq(A{u&5dwI5y0=FK_sZ@HrhU&MO}2^8?L zJpV?w!s;eq#zLHV?^poovG*+?9^6R~*b|m?H6YK9u?|QNONB#e)f>=JsM^>^{^E=C zxS89nD)acR7mIFQMWePIP!bxnjs-OB|110z)_f2g?7H=5FEE^T~y6P(<}m> zJeu>f-#;>yh;wZX;t3#93Gr}Azt43Cm-7-PoIu#GQhnjF@EVa4dI+N}{fOoladYGH z`U$_yiFytuVI4_DJH=<>@aq6smg6>eFyVR~pRsMJf=cI=DN#PmP?1ohF?Q;fVf!dd zaw9n9K-i*X6kpd)x@SNHaWWNmZhd`^+xtkXgFTZXa4y^NPUPvc&l-f(j)*NsxsU%I}PMMyx$f?#hfz%hx z0M{6ktLSh2nDu|=&2(Lxb>39ySIec-zvUS+LTXkC`+A(;36MT%Wyo)o zhBp(jSthqUnQFe&&=l-35ooCrD@osOq{E?7%tOAZ4zgRwo&pZsWU#v$XG7jE_Z?!&H%5~I{ z0KLlQ+Lx`4M8E|A6bYG-EK;T7EiMQj>ySLHvXbKi?BY0GbO!3QE^JhPy#QqH;|tGC ztnY_&SF2^J;x&EER(=oAKlWfsA%)jzma3Uh5Hr3yv(oXU05D)Ln3g1LrX1Br*V#%~ zVm}>x=(srHECER??me$Eki!OF?jJe_~SQ!6SMo-f~3*NUO1nPvcNMYPr#XF z=|Hz5_822N%O=0)DeYvC$}?xc?yDQ1*-~q%P^>~v{BWlK%Kg)%R8#zt5@<|`4TI3c z1&%q30x@ozC=ow#jQrMY8Xf=Y@%g#2dvT+p?DxKm5GXMdvZA?h{?>UAh@V7*H8=B! z$D=~L$2N-y8G+8HTZpj!;n(59-Zc`3!XaPRY%-FN{F0t&CMAuLb5Mx!3x zb=XJHSbz57L}_05wf&YEdhXb9`uCIvHUPP|D)^}q{`e;5h8O|w9GbWhfW?rO=~)YW z;wxP#=TLGmO>O3I38tT2@nyF)Y&8bgcki;#(*XyWKRZ%AeGW$FIg+@H&}QRG9x>m1 zaJ`s6K3++@ts2GD@(T%QBSy~g*&7Acn-6RmJtJ(cN6!~5X2KFBR#_5O7Unm1?Ri_< zvo7`wW^XX47aoZITF?>BQl0LEgl{eUTQOvc94e{DX3~?;f}SHbSC_r=y(~AAj8R*u zw;m@Oc(R8pgkGxCRnORlMGjDzK%Y#}L5?8tFfg<2^=+>gz-1)8dUbAw&@zI6{Auy5 z83aqc-dH}?Ys5iM5{QpN&(>@)h%|UAjIG`;;A``b@0jn7z@1_%o{C-z2Y->+cKsTR z{`*RO{yov-hfO2BW)10tpzyN={*UIfK3MEGzpQzIzxF?uMsgUV zN_PCwttb!6z2|MJkrIJawOo%2_*uW z4O2)i(DPNu!*#SIoVZ-iJ0s{jz(aUOM6-Kt2DeM-urPB44v4ManZj#UwOhw|4LrhA zcl9=o3h2}~t@T@gQH(3*^7x*;gGhL*!60cE6G`*EV4GdAX8Q)h$H9ct&a{4bVDj9C zmpQ-S!P@K+5qj$3nwsO_-iE^v%d6{13Em80czL{3x?xsLdXWUrKep%na_oIq!WZB~ zu3F5>|F}J4#~ar^WUm^6gk=;BU~|n#`*IIwwiG*p?O?Ad9T{p3M&Uqc9U{)rWS|o= zX}EJELxmRFh zvp_+iBIBUhoNnkOiLH15!>yo7QOl^mi?F1~dJ3juVudQYeVy+r@q-qv;kJ(+3Yl(a zuC=620jj;K&LFj)6MnQn_5QWH|L`u(bW+o z0!yotHeUzg&=N#Wa}jo%7=q66l@$^;guD#Dv8Q^f7UTu%R}PH*i&ww0PtM6s5^C^g(#3;Tp%cUEmI^eSc6|S&7zT?e%YB0 z@h-yk(uxT+vj;-;<^m^-T{ zAKxsG1N4?w&8QJ}IpM}3^NN0j3hrE0aP(C=?SCPp=E-Y@I-dj2^SBn-LvHI_Icv0v0`@U#D5;(Aw)d`Wof zXx`McG-bdq0%DK)LL|8GP^1$w!Q?buTSp-Frd?}vH^`Qhq41jk6d_$v_xJ!v;CBKn z7KKmT>N=4Xa1*we(gZHbmm0L*NV-DgZfxkIfg3I_?1ZX>wtg9`Q!MAwQ2%A{ zAeBM?UKhQ+V{Dns`itICGa?TfnP_mciC5&;yF{OAeH*z}xUZ0=Lzn2geF62Jq{wG9 zQYSK{gOFXnwQxi`iAFf45l$x>wQVxF+C*p z4z$RP)U~7U{FK^&&)iSuLWVtM5qR5Mb8d6^QX$c|Fl@)P&>!ruQ6NlkQ)AFY)&31P z_*x;ML;LfibZYmk7t$y`%LAViDbV~u!gr<7bu?r(49gL zfKIg5WTY{PoKEaK-@#YvQSmuoVLFf%XkeYrZyg3RB1TbY#(ph7^#jLn#T|4eV*zqp z2uir7g$*H*=HUv4)a@sjFceE04qMYRc!=yHlj z0JzC26`aJOb(PA@0PecPh934D8V*{>IAf5kj5#EGZ zMKhJ*4v36X=~{>(igY2KT33w&NgMSX?U6F_uc!reGO=rCFk{MZ1Z`~GH^R^_y29F+qlZ>58@SlTNfI2yKd6fq6nU@9p~^}#Tt?L!Iv zHXX{lNz7(>6^-bN_;a@b*E}1NfzUAp$Q||Zv3eIdSYNzM>pWtPh zn7VW~L5r+vyH5e~K)ml1A%iwSaXq7m~>usG?v9*PDiJo#S;8=2yT4AuNW@@~@s1~QF98>j%j zLeiU#segNPpy|@OjG(0gKdOrw!aMAgmZ#x_B430V;=Is_mmz3CHO<}-zu zvPW8|lRR*=P;yU1_G}=^N|DY?N##MU(N2`%2NqDwgV`xFT=G)SEwlI`iBo8SOqq5= z*vmeDo-CJjp`$JN_$F;cWF)0p6Z4wt4*G(VZ%@i>{tj1!J?%K9(nT76SedS0Rwrw=5Z3LWr3N+SQ& z_x^>KQA8fy2=yp)jnzS*-ta&7$~gF?;aoC7RT6&Wgv&*?r~&T~7PET!@UZQ<6*Vk{ zGJ}5ejcm$+;5U>$iq0=;IynR?cWA=}x>W{`rz7dMPa$S5XB6ruDAv66PI-M!s|o{O z=(kdv^lKwygZTGnXM-M5q5hP&CYLaBK#!@VGNS!vnTGOJyP@bFf98k}8ne%MFASlB zTcYEvpSMJ#WrWS%aZjEgQ6Xkvu}$KgEejSKL%jMGE-TA-GG5Oqo-pBJS&>2V`bG55 z91W33lfLbqQb%Vgh8JvW#K93-PIt=QxgFiT2e;A_WY z!J7ASWB_Vs0c#*;bL?oaY=myVsyTbKIz@>>5(_T14G$|D>0rMmojgt{+@itPptA;n zm_`C8+v>Mq+5!y`+!fHXmc$yDBR(@;%1u?_i}a0DhoN3xU=~eGeN-vUKmn>{l2MX` z%*{vS}n zwz-?q5wRcWrF$$*wFE%zkSE);SEp<`%a)W55Ym?~j+H;1$LZhYBSshxBbhRU4fxVVK_ByKSz`M46n}ApF!Of{6EJ9sI-;2tTJ-c(GAsn8ku7 zKf+95ALZn}KqO!FW9PYCyv!pIuVFx@^uciWtD^|A;=dq0k~P#a2zWY;#)8EcZ{-pI z`YM87$3@qiGBee$SUh4?pB?Ahkc!XD^Ua_`4o2*T4sT9B@0=S!_^tm)f3X$-`-9Lb z!w68}x(tD11i0}Ot@BX4M!!GOP%`5QGh^W-vq!l;hRJo%GP=3CkZJU;C67*N^Hq~n zm@NE5qB%HGz8*3+9^UbK+zlT^(_e%xjE_2=qFS-!h^tyRub-}=F3wF?o5P>HnwFVI zG*V@q)QG9KpMg(XGp;5b=va|~b&~@>P=52P%nzgwA0$ddiJqowF>}jK>RT&6xh8YY z8TD7t2hrw8yT!+rS*9RtA1H$JqhzHQXRo%NtH02I!t0-(!UbIXUqTuy ztKjXG8J2Z$D|98ibKnU6?N2Fs8dCJS_VbiO2buTNOGI=8{UnLrx1QJU2nj3(hC?BX zA(I(Q-;S|?3(CR-p;OwQx&bIjIPB<=TqVu1RVKwDOGW*%!F%&}N0ZW(oHnG9cVypr z+a9yb?QoT&RPi8OCB5?K;~{BFQF|<~kO*-CNANE8Sw;6xv+$Rz%}0@c=4GMA@u5|K z5El};zi)?G=P9j!Of3Q~0ksT#1$@R}Mt)m#p(lb$Qt1Rjmn!q&+XE&lc!ww(LXXvA zx07<5zpr@1EKT|tP)ck%~9oto@VD^P3i7DOtGa$dM1BuON-g_=J~04Z z(<}g)AzPQAzY}fQ>C>g!ab8>mi^#dL(<)W5;v=K$Bt_Nm`+HBBYwCeaM7C-_M3>6- zVDBM4YM{7tRW>99xyz?n4olOuFos~44x%4F;hrH3O&r6#5s~i z1Oo$xOMecxFZ&3saJg*&N2tY@MfSMVS+{CmQ=RPOfS`Y{F4)4|a>na28cN+=tK9+R zggKq=e?3?n;&G5>fQ9LN!Ug|v^nB^TpX)UB<1}@p3V^MhS^8!@ou>#$nk%%J^wofv zU>@LRsOhrw2xfrav%q!o`sCQiG;m@C&M^uSH3Uv&6blEhfDWM)a)&_ zMm>DfPv@?7>y2bT^xF%5Wqp-TIF%lV!KM>KBH%7k&&C;D`h0)fYW08h;436JamJu_ z3Gh${6w{QB8=W4-ZQoX0O7(N775oad8jL7xqs8=*fu&&PVpMXXdf~746UT%G+0uwK zmcW3VUK4QtyJ?8%-di+jl^=U{H;4~1Ct#}E1U%nM20^AIeMArc-G2eMVYa!1BJvsl zGeS)X%PZp^r_vp`)LsgkgpnTQ;XR>bj@%3PxRw290kc%1%Tc4(M*n`li2fxpp_Fdc zN}0EqJAFIhv1PWmXl2VQ)z0;KI-fr=;Mu*}(>z!M3yl5GPupofyrtXL#VWPom{$7} z_8EC|=20Ry-q{f#pOimaX~^`|tC-pWS_qEh5RZ*!;kT{6D-L!82U|&J|8-_7NCI>e zG;1_6@E(CuiX2JcTl6(#mGE>fSGqvy6!-T{1p*$2l>1N*!c0q}OA8vskEBDtXRLfb z7k?kX@?rxJe_ErTH~n4>UmpHm9iKZGf`qWjvsj5-dKuO-XJYmjej;D;Q+3t?!aMr#a;n~x5+g^)+t z5}y4L21aN_P&|5cQ%cd^xOEG&^K3nECF$CaD(hb*u$8GuyiU)~{Kz61i%A+7N*Kla$ur6xhey!&9zmr`O9QT~pd93c0b zn(*25hV}n^C-(sgu4SRPw|ycfAYhb9c4=FvRGI2^=yiy9VY7B?d4J)#HK{nDMr4%~ z`2L>BIhPa+gO^W;KkoZ_U-73cu`>EfxrB~HF&zdS;I*R&-}7};g`BRmqxir7Gr$)- z#5-|g?fQCB_Oi4y#Zk8C4VX2vzoE1_Y{bBzbSm?m41$Wkd&xo4tASWIHtv*aG^$J7 zq^w)N(VR%qAa+DuPc8nPug~wYx$O4ld`m7C5I>QNbmC>4-O;%G*3gl|=WfH2FG-L9 z`8>$@Pqd(^Se$mMyYhN_cTc&(8MaaV5`nLyTtK96F{GKdmPk#bVH>b2|!rxv#MX`^h7urDcGpYU8+0;=N;+#bb+6x~CKzOTHjk}< zmMX$NJL>G2qD5*Hc-X}Y|Axa0rPFf@US}-UUH?}SlZ2VsF-rQb&dtD}DwA~Eq_*=% z@=e%Fm)kF>OMV*=giqTT*+rtl^0OU5DJ|hlOMI=DhwEoi|AMXtt+5jR-jT6aG;_y2 z{EPFA8D2Hdw?AnvH~;cIH}`Z`6uc`R&Ru60=LIH&%lpUK%|>ZS@{#d{yRG>%HnNh> z_mzdFWH1`bM5#$o-QRTAjIg!DN3TU7jx`JWqNGKA1@WcrQQWoInXDFXB7{AX^r6>Z&l_FE1X(d6g)WgIfl zBr7dj^f_ERvKR?_btj*_begSD{*1Hsw6w_hV4Br)PW<`(uavQi^jDAbSjJ)HNwP>n zvGxa0^nc2f&K7G&I+m%4E)OC3eYdj!V#WNIF9*}PqY)-f*D5LHrTVSMuymz%fNlQI zD2Z}u#kBrB$80=SJHi*oJ7%1o5QpLiR>MB1FR9zf)MgISWnc~!HYcVmO%$7@Zqi;2R_*d1AtezQmdRtQ)OPK4{pLpwmBr>wFd zK*}n*q4yK|E(A8qU==*xd!7ef>k;(Y=O1XT;`GX9vx3X>V z6|$<5WGwd1j4(}`@E(xV?Z)cvwtHOgy#S<`a*p2J(=(fgJeF`Fx8u@~X(td8{h#P{ZT!7a*VG7oc{C0hJ6$btRB{?hgV?|z2$ z2;=TCI+MREwZ>xfhB5mVPXN}yAbrkk8b~JZEF}=;8$LC@NV!*YU}a-N5yu$VX9HGQ zY;!zCO3T229yF#oR3;LnQUr&WLOf@xItbU?jPRKe72A}PFfGy$B;O(hKhHK{&f>K% zE(-_okufSs$wCq1P#P1KS|T$voEp@M*8=;Mb0_DiO2GsVUfvaG25Pw-g9pC<%j9GS zMi>=;9lFBpG#aG%LCK>jI}u0(-uuECn?A2ZdbhwCU8qu(_v;j>Povp#zp)CeoGm^Q1K0CB7z|>06Lld95v7Ez618M z@0dC{!{`Kj0boQTPr5cY8ukVV`n+y9bM7|LSZEmnJimcjksey3?yRNE zVS%KtSL>HcCEgs~nR-8gBbL>)UN+HgzI~W(Hfpxx+k!~ll*#ihv0OXRb|i(I$kS%u#R6xXe4@Mzz3#ln zkIS#1Ig>`HNP-X_`elQ>XlJpIuz!YTcNfgl5H92v;Arawer%1A3SwX=6OEa0G+5*9 zTEZ>?1zg7VZ!RqtVfOaHs)2Lq8AC^M znv4-8ZvR$ zM|j-azt-%V+xHlT*kE9FXiHP)6 zP;mE4CjsC$R3yic%?5aZ^g2agfYYv*(b}}aoVW(j_Q|p5fZFGaF?ioTL3X8jwShrseHZRTP#p1FJ55C8QX*XQQh`rw^(K;Ws5G@1i`R)8bJ z+Q6EUb2X}0>0%G~`GQO;)oyLh^rbX{w>HF4YAxzX!308pL$0)K=@>LWe6m1il|Hu8@@a4okqd01`xW?d7w8@*HK zJ)CnPlT;1m`iVs=T#b?ZRzL4_>QQ{zXpGq~P^}IQ;_S)cE4%t@G6ZY8VzE>6KSy0AD-?g`fQr-T<=@HK5bJFKv%(EYXQH?zD%qK63DyU0Z&WsLjGS zKgYPi;gqYy+CO#&ZT{;$mWw#?z`Wfp<#%CVTvN2uUgY1q$MpyUm0BLI=E3G6{pg&-X;m zxF8pJm2Vu;-2$P5mvW39C8~jLPv-Xop6l7*e5Pqg^s)L5RPrST-19&fKODbbd`X)^ z)vi(;(o7loXjH8dY+a+ANGypWbPuPPBals3Z-TKCP4l~)$H+e#umvgsR*!+RsR0q0 zsQ?De8VQ~)FCrwuH&TB-|A-rlZ9_(@$y)6OZqLykQFv^KugAE~SO3ipu1tc>43r4G ztRi$UVKPv4P9+i9H|zFbk|F;? zo~4KW?)A_XGtY38kTa=FXOR)<*)Ijj}biS#1~&B08F%* z>=jL=*da&cZo|tsB0IYaj{YF-tCuwqMgCbLtNn#`=y1lp1QL#AgbA zabp(rslDLW5^`uGPu6nu9iObjf4Ks!Jui(Dum^dcJ^WHE!vP z%U!J**Hr<@`A81f50pQm&zCB=?mBA^yZ!$nHl89o2&-^7Xf_$Bb#neX4-g+p`sRt3 zjyg7m5X8J#6V>PSq#uaih7k6bNTCtLPo@!f|2ttMy*adiH7L$;#x0wF9P}NxAR-J> znhQL_3nM@X%EsW12L7-+>%AWjNk*{kEIU^8WTVL2m4{oAWl*^?yzjblsF-6}RUogIo%u9S4zaHrnz9fA1VXs%XUXDuL+->)YAUo;zCFO8 zSEG1lq#{z=MzgxzWvbj5P~QB(VSOH;CGUw^JeVZZsF01ln!#7w@X_{BGSjI# zLn&e$kUANNL-3H$$$9Bg>AWH_^yXl1EEhY`0&$I?sNiqk;deX@4aHlN3@XY|2WjLY zPv=3Ac2S0BKoO1!JvYfnM`&BkNXCoG#8_*_zSM$0)o2Bu!QyuL%D+9~W?Xu}L=t)6 zrZeh>xa{{KTlQ4)CPXVDtK&FHV4NB~1(YJo2sQ@5^czG3gNAuBsLppRq|RAQi9tw; z`}|U4git4`exyA)T5b9?q)NqS$r@5o5o|q>r^)Z;o!ZF1tBABQMn)Vh@dMM0k1=SMEXvv6)(WIA_uIVj+jGtYiID@+;kp( z2M|qjVbQ5^kYIxK0*tLXYK_nnET|EIDdR~q)9k$DDTDCr`FR+tv3-ejI^W~P1J(u& zfFf8NS{W&X^Dybu9w^zE#ZYc^x!0@jNS4PSkcr51-MN|F36PW90EUwLUg5p?(>v{kj(ucNsQ__jZV(+t4M*< z9_TdvGRY`@045@78fo?tH*2%-ntJ@}^#!9& z@D8hDS${Xzc@Jnr#;6BgzY?ZN6M9=3#xC(!4yJIM^`|c-G7$Xdnt@CY zFx%NDOHGiP?n0gbFOF692JS-jxDHGpmL%}@%jnl2LtmTeKW&_r6B<4by0m_*`7F)n zn6ROS8QTl*X_w+A?UeXMo+4?vy3uo)lHZo}=e5AMTKmfPI246i`VyT~boveq1NtGynC}17vZ!ACaR+hKiUCE$5&$kp1@q!v zY>rcCELzFThh;yM%k>Q#3I85!x_~3nn{BeH0!_{_ZZ1lK1(-@6O=0A50JBwN?oM#cV_uMn-zwR!co}0tm zh2mXbOWF#Z+r?SV>ksgfB4Y-T>kp}U+^I7+mvf>+xUN)88}>X`B~Lu)r7EL*7$ic{ z(gF(aFt8$RlF!Y*DcLrpXkTQvV4e2Zv^n$!TX8(LaD}&i1s0+4Q$rGj6#Mw@uM>QKGYiVAQ-l0nEyjGR&ONPm+hSlb ztLZEuiuFUBZfn*1s&xNyxbS)2#KF(Jj-DI{-*N#ak8X=f?@#7Fz{*wEAYv-ycZ0F? zx0U+jc%6@;<&4;T1e6Lm)%Cont95#9IsbvB^XGSmV^3C$GjpbG z)<0%)xN?0SFDYJ(a(VbQA+`mDv{bZy7!A+vX+@)?qE6XpZV-E9EAM5K{HhEuFr3<+ zyV=1g3pa>ZE&d!t5ndnxv}!1{1hl6*?GB-UlrO@AoEAxRO>{;t0Yg6f7>BiX9|1KNb6}-j|#k?t^@ZKrUw2Tlws%`MHc&fmmA|CU7eW>`4 z)9Pw&jEdh{vmJW#%im{Q`a1d=L%?Ee@HSZ>!vKsiP%LypggC$c2o@2(GWZz*JLWfT z9bZwfN|AUNbwQW!2A$lvAt`pd&3!@GiQS6tF1F;hP!o|%o)^<4EL-gV(uH;=qAP9?VP>+_}V;%|&TG5s|y2aZ@obZsuRi;`lPC z#c*hp-;;tmg(PeMUhc|Bu==ydUs4w?Xg1?=ulaKM zPAOY-BAO8$1!@%maq~blqq~IzQfEnd-PKvwi2G@p`S{0pk;lcKiD)Pl@Ng;`PRw}x z90ieT_KNmet$NIMSYg%qv6-?ZNSKV~$;0}b)T4mhE( zLw6+_tO!lS{I(>HF>{LuSZVhi3n+`ZYZo7{7$T{BWH^?km!9G`Fmjnh|EiQotNpXC z>YIM28(qFiA$V-$t;sw-_qg6VeJeGZ z@@qjsdkKA!o}mZc`!Vr4Dul@SwK_to+ppq&7AT>fFxe4`(pEbxvN6$h{+4 zA*o|cKS)62XDkkfjaiyU#-cNjz^p;>Hc7Hs?pL$4B}ObRhHiAz9{3$B7D-5cOJQyu zf|+_$3{A77Q`N9eekPMdBn1UofIvGtiU><{hC}ZLH#wEG5o76X0^2jldkY`41#XW# z#P5K+zABg?qYsZC>Y@Vn<@( zUyJZCwThX_V(u1Ipk4{cXE0JVV38u2UjK3wK;a}IybZF)hGcmY2<7F?kAlp{Uy>g% z(be5ei-5={bTNm7lTeETS9xN!1*34T8{D-#*hi_1y0u#VxdoUk@IQ_z)Kx2l5A_J(!}7%uWcz;UZ#;1b1yZyukgvTun|C%JS|hFrWoiEWKM z4!CXuP^78JjLxA5-nIuzHlS@GkvespGl&&xftC8nE6ktj?9}$PX)CZ#@ghtSfTPnH&wgEL0c$YbsN3PcBEYI(f0Mn{W zE_j_g*FpcAVH{^cJSh~xC!kYY3_e_BbzSsYEftU7%vP@5@IL?nLH@owsR`E$Y@)#X z*uH&w(_GZd8#!DCN8yuFBw8*CudMVMnc!$>5XpxZ-T`RvQ;{wY zXl$_a7|W{YaIU)Q3cB>ti>32IM~>aZ&^!FhGtbGv#<<_$e{AFkF<36dbBTM8-IIOp zxmVtqNwnNiX}ti@S+zg&4C;GNZ`s^);||Oy*hUP;J{VY z=O{=i*MJ`f;njjf-n<*XPZ5m7xKM^ZJ-gC@;&w%;9nHPGOGUiyJ^7CT4@t=qC1};^ z)lyjjtgT~ojXHrB*KlJ5ju+!tZd4THdR2r+gW7;&KovYY&;W51XL)!hj2nYpz9>7K zeJGm`SSB7`EZ=|^%PM#=4q$|fcL_Ld$gDURAe{1KH_*8m*c!!7KSxsQgOwr*woLGg zu*$AQBTu~84Z&DVJ0P%ro*M{ws^nyF5^1e&D78CWkqAT!gabJAI9b@9jwR@twT`8{ zdGgZYpMH|FCIKAzq(DQ76aEYHEDbXc1-8*+gB0o!B0-d!nT9&4?Wb~^G7cwJIg}oa za43a_7O(>w%S2kh!vIcnDDI{yd6qa|B}$c$4h&0ysJ~mcZlj_+!i}oZ1$_krvFe}@zaRY6$&n)EOeP8a} z{<)FR?Ta$UY7Bt*@jRkzik8WZl}+L3Z7XeF5#<O>x;XX4%rohdprxmpvJDp^G!D;MCwEW1E(xQ#VL1YA2U z%A`(YR&sBQ{8^fzA2>kvQRGs-oV0NAvMagBw;92hWjm}n|MxmL15+lc3MO^lq`a*? z9c0(N$TVUiMu+AtMOq^l>+b^@wV6#2l$PhVVv5kYV@>S!pe;TRl2e-m=m>66y zADTFu3TrhkhaR}99SFO9s81qCyiX8*ial;&w_%hBfHjaoI9!Gxl+~1>23Bfxn4r8k z9v|U)9(D(!w19u0+96EHctR{8(8h*n#?BY~!S4JyB0^LPI2>d6%++%+(2-%&2oyTt z9h)pgve~&~r&<1Ff31tQ=1RG1+2arY3R&$kiMNp@0K_zmNvSmkiIgZ<-vlO~VA5zE z`xsId9$-&2;q>gUv?=Vp{ExyfER%=yGot108B71qAmXN(jtw^a#FYi=oUM13VxV-t zPP+b{G>JkUeH)G25LmiEJPpMo8k#ZT*j>P7DQab7E=mAY79)^g<*|Og$N#bS6>wV= z-P;Efy9)&qJF&0@u@k!!#RL?^4g>=X5F4?uTQRXkMMbf&yTuM{;pIEmb>_^>?!EW( zJRth||9lbIWxgz$Fb(XPmE! z9LL*}xP=KD&(3X7Zy9XGWJk9gUYipO&$KlnoWx`#HS!>GyB>16CpGt*%bkP!x_B^| zG>TddWE$C0#!EP|@nuwHP8h(5%w}O%r60m=)ZS zU4cBZvI5d$mLocuR(Alw5#0e%r%I4R-L3~aibI+r&*XTfHu>aOh!hohO{31+zLg2s zAOL){>nWlMIpv4-- z^R)IKwuOa$0naYEUnGJJf?^C51QP(YKpHG;_YbgB(++Lif5wHyBY$$y7iVlbgF|P> znVAAU5G!*CJQ_G4HH2E8A=GuHCZA>Qg->EILF3mk-^x^4_P_o92LpFlM9JhR>m?*@ ze4rC6kydTH3LkiWK6-Q#=bl0)GE@E*l*6r!2iwhTyzz#z?bch#GRrI_zyJ2Tth~}n zn&!`$cI@1;_!5h=kUDO;g)G0^vNZF|Gq?Qu+pn_KmYd76%Pb=;Th7Of{`On@xaZ#i zT!7d;1`m)im3LrUDs0K~#FN80A_A~H7Y}{0U?K;;%8hM{unR$`S9O5AYEYpBmSivq zELt^Kg1`H2JIgP>{>q2Tb`h9P73fc+M+*M7>M_wkf;>@W+BxXh%x(&JC3rB7aNNQX#LVyrqSCm@H#OG+)eXgfbJJ^YMaK<+Ncf`fi|NOHF$0s~fv4~t2# z5^|}fm*RpXY{|ClvdhT!+ij=U_eR{8@w3l9<06v<7hI5Eu*WJvydaJRDOhBL4<~QF z`DR>k`^Fn@@_KeKDmrm!#)TOO7pwjJ-LpKQI0b}<0VqE5Jmr*Au$@82y75LEay2Jj zG)H*69-`l1hqA8^bS7pOj56`g->y6FByYZjcRMHJ3P{L4{`e#GX4HY-JPNcG`|i7s zy!H0m+-)R;Ce52qBkQcaHWv(j`srudNsWzuX`*H*3O!(DGulhOPM{qdW@l)x%q~81 z$$T0zGDl*U6)XftzIdpRI7clfp&(=Ks41Q;&3yB&^#|gw4 zM-edOPAY^1WX8hJc|h)NCdVArLptrXr+oGG*D}?VQ}N@Xhj;JFN({7Xx327|9SBB# z^UO1k9C7%evgVqrv(cV!zWJo@>8HvH%P%LJZnBY_H=w_?)()gTJPl1jtuEd(IkLy$ zTzQxSFHSx)VgxIe0~K?R-FFSH1axlizVmLOqD@MmD#Yy73W;dY*iYSjDp_Oo)%Y^D zDFp;wuyRA>^gjkfm?a?64!DtbdHxw~9h=f_3Oe;**Fqjmetj4_Q3x}1V=*4a1e?bA z{FykqsTe^)Fph#khLpHe9(kG)cq%ZUgDIoH3rY+Zc3{~dgC{lPyWR{l&L9_Ec)s-P zd7_+n!f`U_l8ZTz!!9-0Q3pF`Y`g8&{1ERnI>YI8a!*-82d}sm{0`0m2XvNQcG-z> z^ytxDmRf2F#^KQ>*lZ8Gf}GR;Y*}r!w&c-dX+ypvEm$6pwqj20IQy%9hYs!KOl=d} zuC}Udw%I0f!3F1LD;4tqa0ua+4eAC+xabV^MH_g`$Yz~&7Pec{PCE@dmlt1piSH_> zI+enK0e`ybrsbFTu{nbC@$TJOXZ4lSPU|h*x*p7T2jSE61ctAlaF(VTBeXu7`0YR_~i!aa% z>_mBW)C=6M3Zp#CBzyPjDUUz;kUa6&!?N>EJIE4?FD8AoVjX^1S9yB)FuCTcD`ce= z+i1tNre1tYslAr8*Gk+{JK57t>BY`ib>h@JJZNjCK0x3vy5ux}{71b_y> zI>hnpbS}Q|JbCMlSLCWIFXQ_w7y(~B_;Tra;_>qGi_b~Fv(MlNG=Vupd*+#DmL7*6 zCeJ@RTtfR@xB#%6Fzw|%*Ou7HwyX4rTkL0^Fha7yMy!8ACx%2j0 zxuZ_gVd+iAk<$RL93vxge=c)>xT?H!Yy6gE4$nn{QkoZ5?-JMO6lM$=4TM=nQxKYj zBv1>S9LBFjnU|+QVaW@C!>ruED#8S=QiWWW>o`Bkl%NUj96$f`vpoFBqq3sba}21l zJIzNr@EbDZF1hHUfpX`acge56{3^fx_M2?3v$q*$oL>6$J%eA;$Gc-#8b8n6bIY{T zOveEumgD7BK)V{z;8 z558*P9UC@Rz`mBKc^0F3#2wcuYzo+zc1ESoZN-tx;W$9Fv5 z(vcoIV{Ao+-3<&Co)yg7Aj&l`T6yQ)_hgZUY%}Tv)54AkxLtu;CHQ2=mYZ+R_|Ddm z(mHFc$^9GAX|~YW;M}0e3Y~_)&MZrU zI}_Yx;l>z9ps|1z8V9#2kDB4AFl7+tu0a(aJR~YK;>J`I9F4%kt@Y64AQUyaV5srX zXVgv$gE?%&Hfq!>yvAB;=K-bJXP;G$J@#mR2?bxRz%9agTg=PP?L6|x1Jb|WnXIRm zUUs<-?v~a8-I?5L_uY5jwZJnV+PU@GIQ{fftgWLbAfa-ob0pqJ^y1c2(JJ z*IoJOAc(Z??!_0X?;AQ)zWn0L%(I>q>AdrFq0Q7>5EqT;4}<8VkLpB&o#2;T4h>%e*Fk!dk{LV*zoMnITxuDbHdI@7w4 z6%z0T5|(ET!=uK64xdd`0pE1$d2(+#~wLP7$e@PHD53wcxJ@2a;|n}=n!wZ`BrZIgMCmj^Ib*D3NLu$_Hk1e(IBnf zAQ&A41RT!DX$74)q$@4X+R9gN$ytQu9m1kbmeJ8&2MiVmjn5hlGs$f-BciGig+w(R zj{!Qt6x87^^9*2Buxn7(Yl@#Ll*7SRZ2RonS$b)`!ne`(-e+IV=1`ALI`KsAw$WP$ zVA#uYjCM4*J%|AnJ~M-7W9{3w*G^~`c3K!T;&V)x6{eU{Y)2f?ou6@%NrcsdAf@U`|jIs`I(AUbXJ5B(eHo!&e`tk+UYO0 zSZmv>jVIHLI|E?0gV7%@4%})%g+S+vjv27?E+)of#J~a_2H-sCTb>#)_P{6)ojicf z4Z)#&u-PgeGy`Kbt@ZNwqmMt5PWv4o{d7Qs=M&uz>lR*M$0*vK9p+wNc;O|6kBbnI zVTApfUhL>l4?p54*>v-cya=&jGge=H`PG-4;ld9(+q>?*SB^XJB-v}9{baxW4=n7c zlaR;ACLvIEK=rGxf;ltzQ5HHiza<%GZe{;)=h2qn`Dba+VyNfgJ{3c!s{~t~+rt zS?A6NXa|OYbu)SNu}3L?>Zzx>!8i74#McEj*r0=)b#^~F{)7{GP3*Mej#fmaXkU5t zHMv3uZRjKr2kwU8*;N_vh7RJH5hK{a4H$~*@bN4H+Y#ZGXt_)>>;#x#^Z$c`DXhpUFF;FzU6=b<#W${_wiQh zHd@~E&f9{sI$Y>@*7(xPuW&YrSs9*#48HnW#*4)?m;r92Wq_5TSe5natFOxnD=f!_ z1M9A{mRxrEl{(_ynfZ=qj=0^7h7HdK63TT0^(Bx2v27?BBVgl?jt$Ujg;#l?36n$w zKV^6WRj99U!wM!LaXc2p>rtZtVI$$lX!1RdOvRAJL@UsQ%QE8@$w(M763FQUaNXo^ zceSsgKhyD3F<0UlRSj!s?OTGo@3sr?K+H7b4E(eV>g2P}j^yoiY%7J8)2N$Q4!%m3 zU3OWSPY37NvI?uiue$mgdF!pWxqs=f#~$XwG<@p}i#Uc2dz{zFrkiZS+m`r3y_HQ$ zJAm2Yb=O_bPxn0f*f6#!Xa{j^p|e?E+ea*L!@j9sfAckc))XJ1l0tdISbgA*Ao`nm zMs0)iI>yX&%PlwO;{klk6x(~DeVa$y9c;RcXO7*vcHyH4vi7;{NJ+3Wcs6ADV90dKq6tPhfaIQhwt4Uh0bo_( zSMTJ0*G_H%BZhk6A`S*KHB9^QJO~Z+#RCWFjOhjX!Izg&xX(WK9B(nyB2Pq-&Z3y4 z7^!K)bR4e*;4?1w+AuxUiwgkf zH1Lv3d5hq%L%Xn}$8#+hbTasc9u|z?6BFo2af=YQPd@(m6LuU}{?BIt@4d(T`{BnQ z<;z$^f~EO*$K|!xUuV8!_K8^zHZ(?hN9hHMeIfBY z6y=2r1mBOs?N9LM*3J&!`@8nq>v@5E|NRg45k}muzzA^cIN4?Ao!ANad7+k=P~u zl~-To9RV!u#w{Og_>J2;==49*{91gm#n^d2H*%z2a39)e)oP>~znDV31XZdtu3lo> ztWEvHSTG)zf+TzdUl~b6+67i;2@q;{tprxmOGr_o0V~;NIh9}viegw*;n$)rK!!*rpK=-V+3Ak1b8jK5_usxylj9f`9uQ2=D{^<-DU&ij0)_n@~=O6OQxOjKl0s==^I`- z;Mvob(*PC1G2MSb_(GoF6_sh)+p450w$OGBMlReb0S35Xb>PxM0e85`wM) z^q~ts4FTtc7qF4vmFEzEa>48rw=DemX&D%x%stoKyhYxj!HdFXZ{5sv-2|Wuo-*<;hVo=8f%eKZ7_F;B7iX!;wqeqFCiB;4a^^>gKbnEc#x=7)B$RJPdKu4!^)$sL4!h*>LEX` z2r!h-C^Dh>LGF6K!wEVmk#=WDYVb(15{xKB*a)aGx9!Y@$zi=id{Bmz1r zAgfc8APNrvfmR0wuGc}2I@gT(8JN@oFIV~>{zXUygEC_IHB?rta4gk8yKSEALJuwv zD5w!J>_Dg$S;3LqwTMA!oZg_~7#mkwiBC9zfL)IWF@-oYuZGAhB0sG_24t>E5>!R} zLdoRP~l+_QkvFNN~;E&sTmhbe#J6jYe0G$?h%lwD9$X8E*{%ohCqt(~2JSJ! z(4jyk=f(lDia(J^AzM=^Q}U&4{UM*njk9N1?C4njp$_op$Rl-H4Kmm>IamaFuydn_f;;EI z2BAP6xZCAKpaZWU3ZOU`9EvmQH3cHhPn|a z>L}_XmVh_U3@#M>EU;i42pn>=qMJIg?vX4QB#u8a)b`l~7=Z^OSQ*L;kHPIAE%>Pg zv^|*(B2%EBNI3#GvT|7o<)j0u&Qq?E6+GnOR`H7Q!i6%kdZHbh)*smT7$`oL%MLDd zYFJ3J{PN4n!V51YHcz(t zH@W&qe*EnHY@NapS}!j3?#l#B|e6 z$IU9HpAOr48PAdO#RVQl5s>HYeq&%LOoN5zX9kp#P=u;bGbrVgY8}|vsD`5(O;Db} zO+o|eIDZ(N#kOFjV!(NlHAp1#E9W?#~ruHjW=8;r=NZ*7X;mK!?iMO*rPIXhVNLYfee`azq9*M0E*DB3o(Irw3Fx(m-gS6+Md zWxfgoUswrz`DK^L8GTNZ+ity4`e+@%YfhVPva#HK*B$cMBM)+Acmm?_xDA*gZle0H zz4DUmvg=8L%(}#`- z`hI49c5Z+~yVT)660kw@!3Q0{YYT%ttO~~#fbeHN^;oKGc$ML>L%Z=+A_qFFt+(Dv z9(dqh89MZCzLr!KAHqYsk2qg=;W@eFl8XZ$Ks;_7=Elko1VstRTt#78c5s^}L=Sy* zbj}8}9!$=W1wW?{Dg$7)8=&m21uIf!TpuSplUAB%M?RmeMlzt%9oqE}E*Gy2JB5)< z5w)BgN$Mx;;V^msB3ORq_-`a|QpRcdTrW&p_f!o?zWDMB?t;>3zy0OZ)BDO#KmE)L z3|k9<2XoJTL*<@(?v*2tK9=?B?EVAf(#r>Pb(q(CUNpFPRgQ-5p$8w5eLC$&gC*5a z!jAAqA9I{^QeLm#r*hYcPMtc-b=P0d*B%Z$@L;|_n3Ajn$}3m~bLYsNHaiQQ7i<{L z+_KxFYFJZ)MbjV(F$B8=sJNQiA=&0|0Z$^(KyW%YlPGdmQ4*DL3NXPLQA(n#7nN%H zh2*JidG5>*DEa8v!puz#YykPnTao(1>i~~D`j~w8?RV5g2s`eu9pBkJxJx&__>A|! z+O}O)TDM+A?z-!4F2S#ReKJGGa~r(Q`|Ycp<18^=z)u<4Fj#TCTHCfv$2#k*#V;ZF zEa!|f&yq_9UCOVR%rxVSx*;T5996Hec@b#szV$ zy6VcZw(_yjE?=ej`fI*Zh=AK6`xbR}WABR_l(8eW{ zQ`(GsPGS$CFm?>+bA=XbEH5N_vVrs-I4p@rn$ zdxppgD=g0)P|i5>Z02MBs=@jl+RIT#9>E=%kk@$O9sDGZE&fddE0CYx`` zm#u3H3(8FhJi_&JKV_cUS;hKypnTqroL_yx6p^1N{KC}p*H~z|yq<2IkTri%ly(8< zCc!W6WSeo|iv?@1wT5h_7wB@!Efcu*l?d=QSA)(e2fSnE)=W^T^`gRsr3t~$vB3Nb z@N*`3K7nU=0K#dv?z-f!*k%Q8s0KAmODD4_m`LJ~A$R6yHz8*m^#WlX8$O6?wYT9q#ePrEr*Oo_hhKN^z=55h} zw+CxAMSl44M{e_X#NmhW%OFo>dskuxi47F6yAbwpWddtp=Tbm9!x?ik*+A>~r=NT( zTW+JWL!L~!OQs&5#>D@}VC97LPbjQnWu-sCsOJ~_ zvdlWTDp>xf6UaNb1UQ;;YqAqgI$8Gaw4V&V>KYR%?tkDR^7c~mjn1%u=$*4QbZ*|T z)dD-b@3mJaIjs8;+&KlnE;C0Sb+q#Lm5T;mBESD>9}H&tJaCY10*inHhFPHpHTDB( z=`eN`O|4)IiE0QQsTwD9nr=gK>M={a^UJ1^3#)*{_w<63r#)!U>wOhtR z4?Qd=>h(IuoO8(e=MB(v*p}sEDEbS z@f-+CrwI@~_IsPZ)%-H&9CPSsxlMRrDcq-V;DzUNQ_@<53aM!-XGCLYpgjI1upFvJ z&R3dc1Ty%^#RcTW8*~e9x9bH^l+{*hmlyR4sK+MXgf+ot@KeMF(W|#@%WuxLU1gQD zn52O5T94-7_G?HhM#k8|9SvbU;MV5`>#t9P=OPKgk7gGh%;Pgg*jp4|m&We%GtMxB z$*C8NS4>t;%V#4~y>&V`0^evy?y8^i9GMTbm>NBVR3$^Eo4^Yuj}yr00?Nv82RkDR zc0w)30KT;jF!kbgInKjwM{38WGdDb10g#V2YYQ_swd3sFJ2(7do{P-avL)LhtQf?s z2@5c8yy<2>QhD)(7v-P>JM$Jbw)Dc+IF{AAHS;Vpb1&G|i?(K37GGj*zT@KiPKk0eWiPH)(YwK9CiCdVs#lOxv>#&S)XAWEM zA>S~wTSc$kR;^mHy3bN|Q2P>uEE7c=GV>hw%#uxcIQ_`KhO$=4~lv z7h(B^=f5kjtYNO#o(6k*;)A!#>8Khbc!YtpVq<80WD?8CaUpNC(T4KE^DoH9pZGq7 zMOZu*nUOJKmRaUh6dVQA&!$`gIvD&ZavtEc8fOLMPSXf_q@1omQZp;qfZO#!A4W#N zo${eN4Ad>_*nB~WgLxWk&s?*N4@YqF;4~IOV3qgLM;!@{EVIng?7aG&Gl1>VzWa8f zyMO-y^7!MA%S9KQCtGc~1qWDYr{>qj`tEz~W5mdzi>nMb+xe{ zG2&T%;wFb*1M9VKFAqNWkUa6kliUn>1+BB6eg2ttwu^IfaqNeSPg&i1+im6{&#FA5 z%9-YF*Hs{VTtC<+_lE0l6l_}l@I#OAODC(WvXaiWwvlC)UWRe4wdR`Kq#27|@Kuzv z&hF0{96ptG<&{^-U3cBX+p@S`PVRXk_o+qahz*>vIu&0T@7m=MuCKst(euu~fX~Qp zzwH)Yzq9B-0k0$At{oR~0h(qcn@P{kCnHTqO?FxYbYQ@zJ`Wkx&0C!yms_i&4tl}} zNX_T(zampL`$K;C$-aWyRCoi*DpgKV13(3yZPr=jyYIh~aXR|4cQ&${sO7}}e}mc+ z%g;4jyF@*{!Sc%xb1m3_$yrg#exVk5xv(4_kSnL~EnGa)O*{Z`QKocJGO^H*5ExGa z#^^v1pgpd1u0~iR9uP?-0&NzK7E0-KD#4J$p&rd+N(|w7tDl8`!zSf?Av zlLB5MoL*kkUtx zEXC`{^#UsOh#-MgNN6KyNEatkk%k11tO~(jrs6?aTc!^CCn(z&hw#~34&^(`{m`uk zx*2$`p)~$Vx+J$9ytz#Vlp%Fff>k|7m11y5HV%1IkXZ#OM?~j;0k{M5_s5;iGodQd zT3$nS&n`3%yIy#S4^=x?1Zn}-o_q3>^sDshV?uQ60w)fmgD)6gK;Y?Sz8D#hGmro` z$ug(||I9cq2b>;aG~r-BbCb>$f`b;B26J1urKn0kT1<=SGbUl&3RE&3RlblI<>4Ph zRa%Z}emb{WjS3&m%Df?N+=Aq@HoUa0Hg8F)j;)N;fwyKHI}6zG6x?8$(`4{uykG}9 z5Cxub6iFO`WJcXYBm-W!>%~bysG9&ZLecSn*jwnEYjs;w0eiwfdUUX(yy ztiS}4PooEuI;TEzX(2>77)MBnk>(-;KsxjoOeV;v#$YL6N-LAfqW+#K+V+W--A5IjMk%NQ^Ti~dz>hQ zcmmiSl)~ieB`_FKX`R#bSc>w_D*=uIqX{rSSlNRIkof8>;`%qhFOxKEwmg}brIKg@5A9|_Gf;XZ_CmjHzXWJ0KAMzU?J0sw|9WN{Fh_L3G zYshMCSCwg+H!p79IXZL=1V`L)f;UygP#M5e`d)4|GKtS89 zd$(2r=|)04Uzr-@EesjWxF;tT9O8XDZ%YdBQ}94CkX6A4s?Xfg<8ZH<$H-_jZkFkm z@JWkVwcsCp=ze+V{(I%&hla{!mt4#j5C7em*nFsy{mkFsP&j?ZZ8x*yC}WS^c9l+@ z_TmaApte|SYF^7X;M&gR@p>=e`fIO}H(z@>nmu;km3%B^KKrb`GUuGLNB2eNpDUMN zI#A|m!)$!!R-z&8a0DIRK5jK&_@R=xbv^Rmgt8yizIsbj~j z=!gdAH)!C+^2D%5h?InNS!=wTr?^V1jYt3CD3^2wr~2%joN^*Dgq_frU8OrV9gJz;hUTT3&V46WabN9^HFg1Hg6C=h&Tep_G@4Zhh zzW9>3{ScP5V@oS+D7?b*%W>K6^wUqz&HxPvfOlI^>9FVC94g1iX+HG>15_0=mMq^p z^nTfVt8Hk8+<6x}F>FuNrR$;bGyd0Ie}ini*%tEp8*kc(GXP&6ZmlCVEbqsKgo_tT zwXx#^(z(1Eyd#6p>MyG4VvW{D2_xQx7Fo(qnAS zjB~*Vbg@Mjl{PD^pd-Wixtl!RWkVj|bhNVy#B%=(&Yv>hq}uw zpcoTeYBHmxVZcoRFLxG6F&+F&dft57XL-lIcWdg-M&Lq!`4 zgX{D{O((YIa$qoxwgs>4;57<#M(~f>9Bia<84U-kN-w{B5Zf1At2R3uuQRshdOa^h z|7Z(l(pm8@zx*scdK@LoudtGw-scS73CiDxt|+-WNVCO+rurU_P7W2)&4fhUbl~N} zhaP!^akOo_ii{lj0{1urFq*>qD0q?g--U_K3FM>aCu|f_Q!(9i)5uvo_lZ; zS!~q3;||-a*?}EjpVLp1?uQ-9j&j#sca{MI`fKBJw48VD0KQvvX5T)VFBixS*I&b( z7S22G9CqBybNtOBsxFlHQz07Oc)N@SDmfhteFRdG=WRwR;BsSn=1M%;Nf7B6cCZbu z1mu#OZ}2pwbh?h3m|%}3z{TcrCrz&DJO^lumQh!@^FM8La3;4~k(jZi20!I9+(lXs z8lTySnZJyWAO7J$m?l-CD`-X`-uuE}ZMWU`lrO&g%Gt8TW}C{dzy2!I>tJg4-FMZF zXm++)cqenyO*iHpg%Qs_$M+~5mK^vNnScIP-0ted7hjfl-+hm_1o0BI>!cUf$1%c{ zR%*i+r1$Tb*jz5qcDPfgy`@W+g9{rp&!%**UMI;(C!N3zs1H84 zt6qaAaGzL5TWvE2oO3q)2r$V2Qd!^I>ajS;YHwfu^yOdZi48q!omv<1$K-$?9eWp`gZGnc&sqk=d8z3$H<#+zD4)H6Lun= zM`gskqala?ZSz zR;)`ezk<6uTsr7t`TCo$<-vy@ro0}og%3V20)tu8(EA^d+wK^`(OT8{IxwAOkS{~L50JBbv0EZ2G zf+OY+Klq4s;_kcekyl=QRn9o$EV=Zu%lVzIgAY1LKK<-79Z6mxbIvsr=?aWCNM2><~9^hrcPRQsY*vT-38D>Q!E_;|w!V{V88o#~nHWN<74VHcy! zT)7bWnY$}cD=u-|sfNW+51V%fYQagwB-4rGevFSMluXp1X(02|5cyzSvg;RL4&O`JpF|J2OB3{4*a% zV8@g<-h9)7Q54kNiTZn^a~ z?nU?2*I#o~$~1(uOc!qV;sV45u#Z16oCAwdue@3qaaG}Z?IbqXcvBj@;ED_E=bsuc z4~%$c)yj+8t33`slot)s|F&KT*y(+z9k-Vux8K4G1cRD>{m;=0djsx_@by>U$i4Rs zl^bumNrpf5lwKIe$|X9}TWqmKxqAZ4Ph)=4k@35{sOFesPImfOjDwjSWT;{ve)y3* ztpfryjJMr(N24#jqE`BW7AZ&I;ozo(oK;)&EDW=QldM42gUic$kyojhcw zL;}uo7@c!+B)(NU>*U-R&@mwogH0N2%gkVfL(v`C!J^D45QdTyh|Utfhz5izdhx{< zd0W0$uTy0I{SVYO={wfLH{N(tx^_KOcHU(-?iRAoK6?dEMPT2?t+&~pUo1HKm}9xy z&R1WjHZEa2uSIOijKLmeHTW`%r|;lHx^cjdI~>@Z$F6VWZL&S5jYzUU89Pw8h5yWm z5%TW)@A2cX2oLQBUiSXu&-4WW;IhlFlxLqEDW{y$i`OA;X#%*jvXr*lmtB52^8?p+ z6&`r-Asx&Pl_QTlTyDJKT7J<1gP#KrJV076(pq-kV=wtCYxf-~&6W#!NmZ4a>rM#l z>B`@*G!>PUBQgc1=AE>Y!w9|k)XjNc)^D-lnF?;j;UVRu2F?l#7g#?kPo}@ zlw&q|)qa}_d>OdqeDm^o74m}jz=I5VgnQr)RM3#61a7HJHRY77P)GJSoTF)&%{SXb zR$sj>JCW_S-GJLlaWO6T%D_+QsxE&>4wEw zo6X#4VeNDQ&t92fo~KJ9(*;o&cZEBpB2qK^NjS1>l}AIpv_YCG6}|i#)nVX zK^_=5Vp}bwzpc(ndmPc-7O^E2nPc`j_!t1UG4YYu6HYuyx*vW7+hSaY06sx<>7|#+ zq20R5PCME(GIX@a!Obwnl!Nd_LMY}RxMkyqU^ob9&+iR zi{ygy2XI6Vv~RaA8|a0(XuB$f>KD>aAKcOdYhn(E=cwVGc7&mS#<0=D<7AilUw_yPZfV{#5-RHF4eCGDU58q4w za|UP`t|M1mHb_qC)su@y@cP3kr}mQ5PCJFSF>vb@w={99V#u9$%KPuX&s&&SIMRN- z_F5m#)eiD-E@;8NlgI#Ukc;>S55Ala@^OKleDW#MajPw5@RgU#Nhcl8MJDX{wQ)sy zL66n*@dmWYm`D%7SRF8@sW@RkEhyInt5sf~yuKtom(yfIa6EL-Fa+f8QaXBpF>b9N zB5+)gdrB5f(PinTF5I*N?WeA8o|~45KW~dGBvlDNU-oaSB$1Cc;P5=ffpqBnq8mST zvz$zzKPS!Yh$@k1c4V1Qf%IpH>Q2~Kt@qe{H@WuOtE6Si`J~Gs2gw6hdT9P33qz-iESq!AxtNAOe#ck2$1`16VfpDNpYfu>b24;P=MFeWMvNH2 z4^n!1F`LCZJD+~~nRe#(a2~(|YrI$amChFN0aFwvX0Cp|W8?R}iltmE-2gD7nrWnJ zQ1s!d^`TPxS0Llo)ya`5g@~Kv$5A5vOlrfZ_EQhqgxa;hKWNV{T(@@ZdTd5oN0ntN z;n!N^))M9gX{zzdBk3HG6Xo=rQ8+}c0%BZ%DUw8e#aFt~Y2djN(v5nC)x3B-@WF>4 zSbbA<VtLO*E0MQP@eGyV*&}UqMu`rhXJos|j|m4} z5#|rTT^7t{aUD)fTY@~q^G)1_Ee@O!K~=hy3T)q+i?o_5+EL(nu(?uHz(Mm2og6Ez zo)j|UV{~%kC$N)4<_FS&F!RpCQSL-?nZXOSahTtv4`=Q-6}&Pl_&_l|VCL@sA;I$u zw$b^;WW^ZVCT3YUAFC;sTXtFQjE;pfAAIluG*Wg4ukKEzP-MU=sTSZeqK<=9eZ@M+ zVpGyw&V&ERBr-ApoIIYO;p_(e0!fki3RZ2j)hN{Q`oOiopX6=hewJPqsTAnC^7~}c5*mLo6Y@4K6?8F zc5-8W{;hECR`IP87CVMopmIWIa-CA+HU@5K`04q1|1;3Y z7$0opd5E0sKm(8kvL3Kp89SxC_x=Zbz7~P=$~@b7R+MF6RY)SL@}?$b(b-sv0gJ6z zwd$lm+4a*_AqlMdejFAs^gP8yKQ0MM4WL%+jV4Iz;EYxi%G=A_tegh2+|A@b&WDyq zQ&da(Kpt+6T6SY{M-77@w;*ajPhr_ntutwXI6SAC0@dXo2ltoz4{27bq3fV1q4HmV zdoJySLV%+#&r7Bmbqq8)1kT4)TrVS|chsq>_vgwOkIgEx&HjTR*+XA!wl(y(Kh6AT$eZjMTxo>XpZ5s7N)pXJHBI#%YM zZJ?YsnA@06l$>gUmN^5@5D6lM+W^WZQVEZwDFFga)%z#Vq!TnS*?K@3v4HH^onEX# z2ou7Ch4RgjIg1i?l~gAT@LVr|TE3Tig~Tius7+GYwYoWizYIFp%24v1UkHJd(ed+kvcko}=VGvN0qG1MKgN#) zSR$+eY-)l$o;vy}PN^xUDZr!7gNQsm#I(5ytO-U)1=19g0wSd=QDuokIjFm4MFl6T z!wt4t1%H7ZK_Tp5U}ZGmWX3XD58OLZJ>c0Bw@gzSWyyUb`ME8WwUsTiFVJ*EzW(Tj z0su~M20i2149-nL^hi)W!Wh-iYRaVf*rwv;UVWL)D>kD4+|N{6Rb4C4Pm=Z;gs}ToX^)0GhuY9 zf3t&$N_1qh^TzE_}3XZP-p{ZaABHtS=N8~IjliIj?*r{OzZw(zA zJzO-rc)|q~=?N_ri_0pR8P<#7gk=Dghg~Ng1{cB%I<6VH&WNaCl#tS7RThU}G7|8R z%$W<__|cHKK+#21<^||bj+6&Oelm`n2Hc-rgSPY^+gg!NgEF@Aj%AIX+MLCq9t4@K zjkjM=P3y z;L5C8omw|J8YsfWEl8iS;X1cmKzVBC#d3uc&5aU~HXR<#QY5aMz{(g27A`3#h!mb8 z(m8Vi5rg+IYQu^u6M#zn2@RwYwWZZ`;CeRyDHJ<9{`^GqOa@J3on3TOF(K~*@+5+t zIRk1rlMFFgDSZvbrfQHkmZHhffFbiz?;a%o0x*;RMd|ssAZ3X)URFunwkqP)q?mom zWo1XFW*wY&V)4b@lBtUZM0HV}D1|dzArBn1n}q1f#6=CDmXjl78*R-!W6~xgS_w(3 zpp!_N2nqt%l`Q`<)oX zyoh0|;Xmao53tD%WH^@LGapB;Wp`aCl4y+MLPxIsFe44;wZAGnwdR-pp@UYe~m(dLa!# z#*R%ZHfC*@9(!X44XTi`ztfE&i>AIdlw2`|n{y1H@^l-Lk3`et%m{VVq`e$wNDs@( zInFZ||G`OCgu8;o{*jyDT$At^lyV8{3KIcatqg%1j8hJ!-3d|+7moNYB;lDGb3)6V zJ8Ga|)4YLUXD8}bW3*+P-I9a>!$&&#>O-=M*L}qZ{&oTk&ZsU;y3l!P_H=%w2Au2O| zP*dPX3YOYQ&?w3(xi{~N49NWeC6GLK^L#)AhVx;Q?dE8d#`WjXURmFN;sD53hdsQXH2D|GlkiS0?;zYpbf7V#GnS>yZ%bLn20Ek{Hq%IgwEcoG82+FV z*i3;QC?(SXG9;yhOo^Ur^{V{^Fru=-!QsptAtDbsMv%o+;HhEeW$Xe%_?b>1K?S2a zo(vVbJU2wap=3rUI5U)Uii~il-HHsiBfWD&IimiBa<_6-AkRpLADD2nUVx@j_6u-X z@Jp6jvF?y-d?0bvP$x%08V$qCI7L)&-C3(#1LPCc3cBFJGz{i*FbVG0%_M|QE|APT zsn)cIJT}sd(z%|q8%C9ug*{%|4Yxx9t3e$K?MLut>B-JpNo$XiBuRrSF(v@Hr`iDg zR;-ne$+Ki8P-b#i9RH=W$%Owy0W}%IAo&NCvtRK>!^`RL3#ny8vkn?4*%qZ1@5-IyXvChM29< zV1VTv97Lgv-KY))nklrHIc@?Va05O3f}5;d7k~(sAKU=6C;(B7aGpd#Ejfz5a~J5M zG{?k99MvJ`oW{eLAZR|IkAZPF@*aO=5&0w_ERd51AzpMKAg#<{duL}x8<{NLECqfI zppKSPR&q8BD2K#2LRtV1Drwljo_sKaBf1?*hfdCphFs(C2h)~CpQq&ChCF91-Fo~> z31%q4_`hGDl>4Kx$hjYYdbEbYjt&mUXBo=TA*V1WVkVBCai!7W9aTT!sV7i zrc&kPW=Sghh&!Gzta94_323~j0r=}lKsX*2kkfw`>ZiG0>~_XXD^(DJ5?b3+PL!Z3 zc;3behXxL#^Q@sOJb&TAY|;fNk3W)T2&N{H6{y2*5(-hU?`qM*jaMf-31=2QiiJ7t$Q@Y*V-{c}LR*$DHm!&9Dz zmDBl|mCusrZ)8N-J)yAGkF_8_i_r2Ny5I*HXjUp1t5h~~GoCeWN<$Mm?jL%YECQln z3Xu~zt;oHq$hAu$W`I%_M({vCG0uSCCNJj))Z=@Y3>S7ls_xb-nL=QJ45q+TQwT$8 zbAoVV&K${UI<7)KSkY~c7_KqtE`U7M&YrPx7ZN=elruXsE%Vr!fd?Bu=LJ6N27KxP z#xha)InPZZ^oTHwvVYgj5_TeqkR-lB;2@bR{T~C)sa{t5X;sngcE6FQ8Dbq!0`kZj zG3}Pr16HM49#$LrFBy}S;4+?sRveDXL&t_n-LTU`I)d9mBS=#gXrdzSf-gm# zBvwNe>*y9jg#)In>v6fs5qQWJ7sDhZ0rQS|YY1#Z2*6dm3|JnnNuEN}7^Lx60Q^8b zICE_im=IhCXbUG$3 z1C%n`QW`~xU8FNmH$!xWQ>#Tt4}XS&Y7EfwtS*9DLA?M7+%yb?;YDa@n!kwx;s`<0 zayM-4>{wsW*}@$_QTWlJD5ow{uSP=(8dy2JD#Rc(!;oiMYvIs;*5N^k#2pa0<@84pHIMIwvlPU+3iXO?2R^58wRxh3M{rFoL40)qe`dB4bz0viKq(Kz-kp_ zdJIa)HZK#Wb6(RT51CGr&Dh{(V+N5m1lB--hAVgtzZ|Zohakbxb#mI_307nz>9T55 zP!&avI?(~lyTHuI0Ou4XMujrcLo6+ISVu-zHCz=IY&A@J;8PaDp)dz|Mbb^dMgOqU zb2i&IQsdIdQYRM53rwZFtYha!nH`|w#zDGlpqt1_L^aauvC@LfLs55kC=mxnH2CCi$9FJ6AUq#>wCuH9>tsKy_At zbgjqJ)bJ*6xyZ67S)vg7c=_R*&ov|dlt2E=KYCZh+H0*T(@#IWeEs#;F+JOEvo*g6 z`^hJt22M4yxC?02az5F7^G)TAH{RrE7Qh#Gx9+&5eD>Mr^7|iu$j&?MAT!T6lYIQi zCzJzzQUL5Jr)(t5z+U?lx`O@Z)|+I|`;A5clGXEhandxPyH6 z{rB?CH{Y0mk$H^u5%Ro%S!S78`OV_TKJih}%{JXc-g@&*ela+v2gTt8j2l))p1XpbSuSy~L(AYUTta>svEw5JeMn1yT=}-8 zmUU{@QL2oEheiPeufD{iWj5tx7=n~R#K?Co%3#2Yg%dztFf(X}dGJ98%4%&_&9g&0n(1X{?PO-1byn)(%e62KVah3|l)bdk zpJVpf14lc8=2Oc)`|K@iX(zYtI%~1CphK=UABafvnvZy^J zRyVxLI|3b*GLtN|mC^v%>A;Ye`+2cmR0?!ccO;5xf@JH9&0PL>pF2QKUn#tLU6k zx**CO1wlkeQBjh6DL4vRby3vH&in5`RnR#vo}dzH8k~7moMNbM(L_{bMFT+tHC`&h z;H)x6rgWx*+UY+NK%Oa(R|kF~q=Si!S|o`n^EyNr3Y*EX#$)z0UcPT&CWnt+UV6zz z{4Usa*WbVy(mwm_C7t%(Q&w4J6?yT+m*lzUMrwz*wH(>waA~{hD)RpO?@Qbibnro~sTWqnJ9DD2u^8F7#$ck-N&`$3F*h*zw^$!<^KC0l&`+}n(^N^^nRToe#USJW{4Stx%%pD<>cO{%5Asb!I|6w z3(PME9=N~kw{Is|uU$KN`k4{ZrOUzWpx%4$ea;|v-)$FJXrYB<|IYhLbIq$myB#8{ zY92g0;#pa6!3E@i{rA%{);#|HJB@BKcHZl)*Iql}=F;VmgJtfy=Vl&GJI%D($#$3h z_S;8V>J0apXP#j`U{-mU=EIg-Y_2n`U-;?$-o1NCOP!@YHT-EA{lynDVC|m6he$XP=X6ue)A` z4SQVcz@Kv90iEUf=bx7^81{^M&WFg7OD>_j7ebx|WTYd@QiIyLGa=)^6Afr%0p?6U z=vYNIzH1nAxk(+Y_%P<6su|-M8JKFvFyIXGNRjDso2?xJ^X_-7z zQ@|0{w>cj{DtNsHIs`zn23ddw4fhLx&P@b-fKeyxfNE(TU{RysqNCyP>!Fa;0_scZ zBTqxw|HOn>4~QoZPu=Lm$Wj`0##PvPn6B0?vZ%^V4}^(>3f-oZ(GviwH`PzntME`2 z26&;fj_D<;lyk09g%iZdO*r(*)ML2!+YoT^?y<*iGXMOoq~AFMZ!Hk z*hg-;&p*p^+R&n-nO_@p&xMX#Z6Uku zx{KU%-%uI#$}6gC9Wxpo_`mJen|O<8qtS=8d@UXo2(o6ByVy8~~$TnMdWas$S+i&xhDsD0EvHPw%tDT*U>3#Bv%%dH*-&S>Yk&{k1P8QYvpf1Leyvzhq}lXyZ6$%ow@)>TAebWZ^}~o<=+LJ2NznH+T$ zIbDldE;xQ+n;j^%qM>4Nkah!}kp>q4W|O0OE-{nh0b(2lfSJ<4-A6E6(`$n}kEokj zfZ1BMI0V@M+L!)=<`1^Z8NS1L@NXOvsv8-ggPTV>LwGKt)Jy?j;N)PERe{`RQL7Lp zBXJJ&YW-0qx)jvU^_l=x=eY%EH6}1j01dEr9`v7w0orAM6&}7r-5x9|l)_@yBh~Z( zb})G}-C&aqS}_bIps7t;e?)i1~%1HQ_0FJufz^u@+s`O z*MbWzDA($&Z^|jAl=kh`k?pn7pK8jfXLtfLdp_`abJ(BC@itSz5^Hd^-W ze1P0|<4xL8jFlgM_))IX2KTME-?7AmWR4#Fh5Y`q3&f7venUm!8 z*WZ-G4)382^>;G+9J9;u#~;n-alLw-Y5@>gMr(Se)U++U@IvzGXT@iWAM30K>0NrM zrR0@YUz6W{`%P}X^){JHJ8sN8x80_reE#|8@}_n$!0CO?kV6jX%IAsf>~`8kUV7w>zY^vL#-Q~z5kJb+APd*1+Vfp2lcX+0VS?HQ;tsy`B_@jLH-FKWF zf3F?STW`I^8R1n|T_f+l`yS&2kgoe5cu=0z8TE1+&SjTfA-CT#MAp#RGCF*8%%AFD zV&<7=<}=C-H`qW<>e)+YsU>Cd>qttLBUFgKD{HU+3!N(VWLNMuMnQhK1j2oKqr zDdkbk{g6?Uk_kdF?t){2VdV;{UN|w)e;EyjVvAp_76)BDQL8JS$dDGL!81Pp(KzzB z%AKO?72;|LdB8cy$DyQv0-_1-m~L|cAOp8R0ZzGkF?6^BrzohzWK4(#S$?N0_lw01 zxK;Mt$miv;#~veZt~uu5vznK6mW0{eJaf-YKlm^sW==1@__ADc?e%hY|8sa-aL8SE z%Qo5(;8xzPx8EV3eDVozghH{zSR{`kS=F zeuJIM%P)`8nb$$G|NfmhGcCf>yTlSpaEA8LhaXD+0RuSWLnnoqGG@n*Jo=dQ=y9~p z>V8xHWb%s6f{{0K&4t-u0@8ub@H;&xUkvo4cD8tC$LtCQG)SO8N2(Uo3%bxV8$6{W zpNxWm9D-m)I6vu_VR-xnF@EGjoJn#T6m?*58`7Sw@fn-zu>7a zHGNiqa5 z@8y?UPL^MOS?SQez0Pvikq5OS9sbl)dfp2Z7Mm=)%rZRBS!bPv&)sl)^RZ!%%Q|bX zEi10Lf(#!%T+3q)-ZI8*Hq7F_)R`G(%10c2xC}U_ADvd7hC(M$O##v^W zMJ~GVJn7l8mVS&o@14nf%4s%u_crrb^ z4QVfDnYL$Qng_Jau zUFJ1~0o~*>(0>dhmrOX=fRhOJB!{Q|Z;PNlaBga1*~dI{DASV#y+8u&=kgA30#Jx1 zcYrR%<2)xP8Zn&0Sy=TB#$;|FwHT}8Rh<}S(BOq`^yKrm#=;W>Yyp1%b#dVd)DAne z3rGJCJ^TnST=0JS>1X+I%osj*!)-V$BEfU9d+)nXJBo39&Vj zVVSo@3+*&ElnvJJz*iS8z5EJxKnv=uWa$0(%dNNF&Q1-T5oS?nr17i{=6jv3y{c*U zbIkFn&h+-!ZCCAJr{MF(pEd0*wFAW>jL5Hz#qDj$CIAs5}OtOE}$mcgui^ygo&46$J7%{SkYmvoSVnKx#G124XiWqaLq*Yh^$ zw9`(j9qw{GZ#)|WQr>}b0|Yx~DM+HA@n>g3wjuCyKZ(>MR)>|jhvU+J9#JQ&Bo#VsNbmo%sJ;A?9kBAm4VxDfBgQ3-Ogg*hUuoAP8;q&_&f?1uE*=ZA_jB_ zc)nBy7N-F4n>?kH%z;};SmuvsSE*t7YrxDCOXzppVLPU?_o=7J%i7qZ0mN!bbY2*t zV9W8{8-?Eb9J5} zJ*<(Nc%$m*Ht$MTJQ zAn5X_AW=}LQdd}Lg=ii19TBxEI8=sKi5iWZfncKBiJY0}8nuXA*O8P!6;hk~Z#4c1 zM~%<&_4_vhQN_B5X!9&7AP7Ba)XUOY5+@?R%94KOv+3}F8uF|PHxxnXxzr}Hsm<%FEs>v2Zjipx`JtVNbQ^vJcdKkQUt|ZzaR&|KwK1L@)|{;$P8X8kiyA=&Ky9c$GRwl zk%K2!!wjm02&4DJQ55`_>4cPrsu5Jka()aLhdh>?ZaU0|-IYoojP|gB2@mt{Lw2r# zL<$sG_m>ZnW*O7WqNkqRtE7vprogdTkq2VS!^ zwUfiBm9q-YHtZebKd{30?#RVkMP-OC`O&`fpJLv>OBEeZy zHIks;Dh~lsQt()C6kw8&T0O+{k)LP-IY!plKtY+veGs)Oje=zqjE6T7!IV%x1iN;t zlNS)0X!G;s^}^^YoQ8tbg*L0Y$!Au&?G^1ES5`r4vCI!+&CFdA{V&r`BRnpOy-3a$iR)J2veY*8{-Du+@&Tc!78x)7X+}4 z4|!Ay{NRpy!313xyfT63l+lD0jeN;E{A>xo@>TAySm-~-g9S}6Sfm4+FK45!K}WL` z<${h1?)(edWI)cx$vV6vpB^Bj4boC!u+QSCn{hbTz2IQRegU;aEnGx9cbM_;qL>lp zrUJ^2YE`H!)APc)W#?xoy8}F&JUr6ws76^mGIHZ6L=8usv=mUSgJ7{BYrzE<;`4WK zP{$_Ix?{HaGddZ7bvEPWb)aboCzYQY;BE$24AW|#n%qyxKQ)xc+mn!~!8J5__|gTg zEx5twHHLI&VQ^!E!g(3r&d;Vkpv&iPy0v`sXMS=%kh`4+v0ds#-k{Gwc~ z_2a6+m-9Wx8E2ec9)0*h*?<3i<+%}0$s4bYlBb40A%g}Dl-XySO}5)^8+rGgH{_+4 zM#_sXJSPVqd;mK;%)q<=U}4YI2Ok(JTW+}pbN1jv4wUoH8=$iBvdl6|%QH_8m!ppA zK|iOTeyWBwlJ8gITm}s2C->cVj~sjSQS#yY@5rmKydoc}Ru~xm_N(|6W;j)m2&k@4oYC{srWGzn*|dYF;SKzAfLnS7wv!_!Ya$#;iAfB)UrjO*l+dvX9V z>g5;Yqh6FV&*&Ron@Z)6+p%^>HgCN_xv>sB=9f29N!gJ+n6{gGaDDTG9XxPy z3opE|c5*B79W=a9476(1N;cYXeVJwEnbhTRG#!nm0xbj@JfEe}ZHApxRh+KkjvR27 zSY=S$h)ym1Od2{PMcu3q0+&-KxGNErYObB!@R%Hm;GktTEx6qg0LqQYa<}kRj9qrw zO}ZU=7+0nqdDJno&9>XgDW{w&^UpuOY_-*vO84fToKHM4oPN$Y<1FgqHIieGJ({D_ zkt3hi&a0zrw)s|a<&{_Q-9IlTD+av~G+i(~Pdb6Gws4foQM}gA6_#g*igy^Noo+hL z2C<@e-F4UIYb)*Bt;-7qyZAi%*f7~>+{#4|hzpK7sMR4ASg3~)QIO!S zBDW0BaYZBHC4k>>sD!J;u$t(v3RyA@dEn(RCp-?!X7I`pR+F!@PCGU2W#seE^UEh& zZnZVH!W%H)T-j@{PV(@>kIHu2?d!9Zn}l^>wgYkciL{d9c9;Dcb9VpoW~XB z$cw|eA0hqv_2(+=pMUw4@wRWjzHHTT8+qWthh+Z)4r2Uv{qHV!-E}vwP3&#lvE#PX z?bGKBhJ}T1o%cUb&N=5?cE}hQC)oMMtFN+3=q%kkHjN{iB5D``u6vKzUTG%=+EUpm`N$t(+oc0xMSG?HimjBDe^U4?4fM7X0tYYd=ed;b#m6ZnQByb zK4nP&8R2>^3vgF7PE?_sJvEsf+|(=5UN&@609eEAoLo)=e?^X&phycWb>u&~;nz)Y zQ`xN`!$r>*r)dJe>>o1JwBXhQc^K&6T|cZ$#RY-)2=T7oTW`HBx7~KT9I$_94vsFq zc%Xdo<(EjP+FwwPJve{oKxsT*wZLEr+qq4lbi7SicJ{M0bm1n`%Kp_+z1}83w2n3JsCXsDjD(YvkV7y2Afde z^I%g?Jr#MA6y;NQFn3X2!B3$w4U2n%mcXb-tKkR z-N=1-S8cm0Lz-cR8D)V57vzQ=4!mQ$Z>N2@a}F zs>1bv_iTOVC)^sHYpyvNF0N1HHMT#*)`EDA>Elm6W*!66Ow(Li&EJX!v|U^O(OL92 zyav%(fAHZ))Gfmo-r($+HOvIFw2e{=8AC=@MS>dmRWj$7WkvpwJMZFXX~>YfSc$H< zVz4~?$fJ~BdDS(t!%n+$r<2-n8V6DrinVYn(rn8lHgeQ4@Lb8u{8qrZmN&I}(N$#E zM>z=673Umu*dM?)X9ft2>p=vk0)(4@jOAe(ToCwlq612dV40>8)~Tt1TMdqo!x8zQ zjWQnHW&pE2Bb-ZZ>f=JZW5}J{zw=fdjbirXT6^riyWDu=_1s48{0lB*+2HvKZZY;c zxhHpsLC99*D7C!g#!HVQk7CD#*&E#W5(IX2!ANwpUVIq2LKiRgW9OaScH1?)_^w?2 zuh^!IoONa&jq44dh$Jivf=QICMioba7ZT^`%Td;es8ucm z>5j-~I&v=!d#{pCM1&>an#U#zXP$W$x8b|-hU>U-g69Ea;JvRD*MSEf!1{RYwbuoX zaPx$-&pK23_U$7pt+Z0$P8zVbR+Sfk3&~MOhu2-G7*_Mkuych$exNa@oOqUt$IMca2i3=vnZj` z515&;f3!)5V`K!AcQ7zc@nUe03>x^OV=A!8G&kW=@W}{PiEqpjG95rI#AkGpeXAow zY!vYP3okJHtvrPtA7*x2ZnX{fKLs9p>~UFbwKb((dwf0Op-?!XbV(WwgPmOvCY}M{ znZY89EG+ZQJ1;lb#%yxg<(B2MK72|E`=?^m{&=?S++BCyBP*`lR@Pg8Lw==#ND;Y% zNEDFEGf7dYK}>+E!LySd-8XDE6988aMO8%ouv}83QO}Flg-MPS;iZ>dE^DvTj+-hR zbkKo;Tbm&4PrKW$J9CqB|GXFQ=wpvbn-y1!I9~9=G^$tF#_Q zj2Iznt=&#mTxnIg`s!<$TFkDGJnCrqKxg3XwBxH>gu+wL^TW>5+xO_Bwr*ABl=G@& z_3_?&?{SL!{K)4yy~POprI%l(4Etgp+O>+Gb$o9HR|N zCC_T9j7I5r8_`vah&ozDFnfzLI2zYY`Y<`qe;L#GE{Dl)VHThn$+9w}*|^A^cik;F z-E=cIo5lbMdic5mcAjao;tDeFeDg9c>Z{=oUW0!eues(r-d;iSut(?%+Ua3;mz!_C zm79&@_B!G`y-!~`?ex>-habn#FMt>2u~i%lzCaNIr_7@<69@vSz_E;+n@f%FQa41w z0hBc|I+8f#c?=pR)6Lw@sX?wD9ktqJNz4XCAzKOv>8lq0W#ENxES^|pm6f%wwBfBU zd}9#<8!Tp6bkRk*M=ct1?BTl5LJRU+l=$u9{+l@D zrPMII3?0dh6_%i8o^d8=-MY14b9UU$Z=r20He^RWVAghIk0W^79i28X_uO;oIjzh* znl1b2G#(vbaA+%0H7|Kg!1ardXfN7&5z@Goi)*9yy4DUy^9t7(@)rZhMHXH-Y=$pt z&&2B(@#9M{SV@iR=<&y&l&i0~R=R3Gfv>3)P#Zw#FG7Iy1i&=?!1ehn=7EYUO2keiXE# zx1!&gGjBpxbc&P&K7_D5SyJAvFH8B9?(ILI`bPMYLk2NQYL+2n5HDT6QxP0*#C zNlcj(Nt(dP!;B;~MF&7*Sq|v5P^K^#6v2%~2&KS*j1u6xj`9B^%jxXvnyUxP_19i4 zd+oUgpSM8_&o&Bw<0$}29DTW+~g4nEkPJS%rw)Ca^ATE zc)J(*e#I4+^9~=bXSy{E#E*|g<0IYR=;3y1H`N>rCBNDApd~|H`rw)cD1|; z(GLKZCdECZM{t{JzLM6#j@}CYo*2bp*Gt;YwTpg(O-w<+z zLMnpYFsOw?9y#(e3Yre4TfOE%B?KXn3&5MOc$x~-GJMMtGqS0*W5PlS+&;r~;W6@& zoFdf72JrW#bE1HxXp&-zlwb zr6e_5XR|%Dk3)}axBk${3HGl1n>snfUqB(_Kp>Od4!nARniCU%f;Jr!<{zl?QFCq) z4M-|8q=XX7W<|lFD2j_RfX>LHZ=-4>H)I~_XjmvU!i-TNw(<->`DVG8mv!U@54k(h z!A?XaD2)*#MR}|Nl|dAlaQXSf;38^uBkDUM$gLJBT#)BxJ>{Al54N3mJ=AE`s8;(0 zH|B|&niN)hQ@EhvbWKX2P4W6}X$$ejB;;rEe-KD^`4s53`p%ccgPa`i+}sb~{s4-D zj>B~sV6guWV6r@=ehzN`-9To?TaWP>n@y2znfRlWyjmFF_5A224^I!q4|J5_IU8S0v5_N< z9#D4t!5;5hWd%M6N=?^^oPb;!2v&DII}98f`<&b-|D#Y(CUTK5DI=Ypi)-XL6ejwIap^Eh>^Jx>MI&@qh0DK zoSlNcjQqEtCb@x;B{f#Tm~`#zsfHVx#&mV&11LCx4qLM>5a?^D1)axP_dS&@Hp{Z&5m!v&U z1~R@f?^Vh5D9=3o<JWp^2LC#7?LWG@vujIHSxs{d78G8_R_R z#aUYs;8?kl3I=dn(ZoE0nyY5M8w5vr8LShiT}5RtItK$kA+o8ao{BF)PB-ne#w(=4 zX*K%CgIm0SIsJ6gsWZtKTyVm2zA*wbSW!8coaY@FJ{^SBtk|PZ1(^)m$-qftF8gK7 zTxJZl04*>Zw3wNB=9y&n*=M(Hw(!%;Po0(R7l`x5gJjBG;$c{jW`e8?m&F6@#4tE7 z8a==+z)k|9TDV8Ik`g7E$j+}C^(4lp?+T^BuN4G~VClm`omQ<{%9PyR&ceYF2CIzmt|}Iq zOgtFtM52!03U+uVr=3lhO}+ctbNrrMQx=|BR#>=B1M#xb++%*Ld)J+JlI^$Ojv0UB zjW_W<2;L@k)$G_f@|Y8HSB*y9pdrXpZ=J!u`|iWa*uVd|e4nIS*DkU`n-%1@Uw@U? z!k59Z^tkuQJ!Qt3uqBzuhaY?>=L|TP%U`j|56g40GHB~`1XS#x$^9$n{VNETfQ<2fGSpb^*H=+ zZtL^(Gtb1j;*rHT6yTWH7l#3!?XW$%f(y(v%mel@AIrBuGWe=9mvz$KgMVA z7p<0VOCCRXa;_4xO>HkIJFE6jOBtzFkB{ZOSERN4hqyv=TOp0Z&0SL_DI=>>F22Ri zgRLNa>VyP@^YR5Iq+%ZHXZIzGjAK#gtR44q$nAoW(cL+OWfi8SN1V7tDgT&e{*oNx z!M9^+}F` z)NOvxp?L8bY1)QKKAEs4SYkaoZ>U%9-aZvcU-W$Gh-ZE?0hu(g`PqkVpAEq{Bo6lO+&7=>7jSY^AE=mRISU*AnX+SLA+n-I)1YCzMOL9jfVZaPc8 z0PVR5cC$DtFG-hZ+HNV(@Km}H7BYj^GA_1knd7Z> z=&!@mozcH~DZw-?(}9C2oydCLbsq$X2frc@vz|h!20V0FH)w=I6TJLVOw9>ApL5A~ zx%e^;_4MCUnk>v@nYS^liv{ZC&|vx=D}L-}1JW|^Oti7^Lmvw!}&PfLWu+G>A) zsEw0cCy@pN@Iz^Wd>4?pEsK08j-)fS5;jC4N~>d0>2#6|QfJc|qqmS?HMJ9N5T2YE zOdmx1a8zkD)aT1Z4G6qyae~z>=P^uz)tEQK1D`fHIHniB7jA3mjnxl>=_4qX!OyCu zcFgFUPIJmAE1keCmxBK|E5U!PcLHf)extHx{`ghC+brDTN@}s4qGW-Vn@>8z`|r%~ zNF=~3f?iMjeu~#tC!B#jGl}ppLw*2M4#fH#(D)inMnjc=mq+CFe|`s>GG!76gytt<_trBxx4j$RA)x*qjY3)ogT+NtdU7Q0eE!J+xJH1P@T^o zPP=C|IYW<%j&%#u?P#!n9dO#x#(x*X8XQ(Xx0Db`1^r*lxN+K z(a7(TpmjtnjPiOr0g7DjeZA)w^~dyGP%o9}t65B$O(|G;vS$O%BTq&6@q^KqHM9HG zHi?H-Ppl*WFD3eQLZH^rt8=_Jh-mEFf?;(-C!e^!?`d;cBD9jd48+{R9b?dP#&@7NhEM0;Ml2q2HED;^~w($ z5xJh|hTa_vk=4w|LoidIfa~@@Q~2myNNu7FrMK+1(JT@>>x&IDgOJCGj)&^vHjei- zFkk!9a>P)10WSRM2+28bu3k40x@v`*x^*2mB|k^3(Ewx2PgVie?v94W6Jg1JSWpp-r(1!TxS6c)&ts=Q-hk8`HSkevM*6MkL`Wkx+3i7d+|$ws zLQh<(AL}@3X+OM@v-#btz|*y(Vok5c?=UO;h#hO9ZYqg5_~HLXd=fGd;wad(@#rMk zHJvp1ZQek}W6fIzGZ}zFd7Qa(JXBPA5t;1iT5U2Sm<_+mbiW;u>3(mXGq2`aNL(=d z{`ss+C+3peuV7}_80Wd{>UI1J!$l44TJr$ay%zYBDc&VuC(UUv@_&Fdq5ORe zT2LfOp&qU~d{C3QOY}YKNLgq+y)hI4Kjd+?_tP;^Cjrss_` zOJxP8#TV5*@!4}N;T)B@`D4YEz4hV9ZnuFfOE71((@>^b%0NHdu z7GVC|HA%OYv0&&6z7GjfD>U4VY0EwSyNbJu6g7!wC>T{xd0>g+;s34%JG885nhg(H z@?Oun&=+{*ToP`aEpPHptL60#DikdopI}g2lmxUoMp( zwhguphc!Q2u-xx)5DK6Wk7;$~w;m3Oi@NMT&QoAXN#OGH%RwsSb@yMK#cb8NFr*2* zilZcudaQi?GhXPW@B|>%<=2HvM;peOf8Qqq;CS@Mo5rb~|6-pHlR)C%H_pU3BE)S< zD7TeqVOE#j!$wr*-$-G?r616*@A(exs7hwX~ ze^0)LeAu$`}aaCiBAh&(y>JtkX>uO8$6sCTZgF*%!@&NZ=If3{3 z6Fe9SP<5+9p!^m_lLtJjyTuD<&2B*{D`ebfJ{4|jbF zBN`2Ko7}Y=FO*407ykZqrHqGkX}Di!G5#LAlH*th!3X=>-4@rGiq1< zbf+67&hm4GO2wyARB#y)Iiex#kkrQ@48LLPh=dtb5A(h*n-R9_A4&pTv6Ie}l)`{` zTY*oCaqztX=5CHxz=5J;sMZO<>fIjdUQBHo@Hw6liMw@ea?T}d>^dy@nS*X^yiX)p z*8LLQcVcejbt$E*CzFf4l_SjEPH}t0IN|B8zo>Az;?%QwM$WVD^D~@kS&exT6Y%Wj z?8&0}x6?c#QywASb`FM(5EqWvl-_PiS1l6Z>Y0De2b}^*>M|P4tY8!7QZOBbpUA_81SBDW zmec&fnmH8_x+Pg3}R=W2%le@VrAU? zABE4O2A_Pueg*cx#wknfI=)p?UK9xZ?T%1H93R}FINF5z92l?O;yL4~jmD0&C$&`l zRz)xTqf#jQ<5LkTC#kX0R;1Tkbd`^}Y(Ku#UQ`+8b1qW%HNcKyQ2+>{Y4G2sd2Roq zxt{U8@|8(S^xUt3cL15v=-yAK3JwULIT0w&^x9F-Y@n+6wqUWXJ@)cyf@8||yRg2% zFN3BKA4OzM(5+81=*bOumQ1}Q_W?bD->Z_--ln2R#(QozY{Tp|U{1q{wl_@Ui~F0| zsgdve#={2m=zG&MCWKKAzg;)j(9a~n#T>%u%k>=ZfFt~3w9@|-xh_sD0_u^bS?qb9 zvI~6Z{8p#VX2^gNR|H!!X9L3AJp< z_i%owLU1%N_Vg9J7ehou00vGd%P47C@vgm-5t4g8er78 zy&S`Fj>sFQaAd3w1lg`_dJF~5t^$?EXmaGXf5lFYpU5bQ^!LS{B#6A3@B3aW@r?U` zxKlBYo#-R(d7~SpvX5)O$|NGWdj(X~q^WRM&9Ej0WXk#Hfo-Q!e8-_~zl-C>J#QL^ zjw;9XkA|vgoXA;G-~{pAgISL4olC)6F|%{)O%uJ~TcRR2;cH)!36 zZ7gR>VKd8c9zxV9;yH}vCqx0lL=RAdHL?GYRR4I{C;nIJl( z9P7yY)z(IG&zC5u%sp^kZ;GNI-FnAyX>Gry0`FF-J# zVbDOBIWe)J>!=j@f$+n$1bb!6Ime< z7KVq@49cc_#}ba@`pp(X>DTw(?_VJ7b29w2P-(kHQ!<<4##AMqrAz^Nz#%ty)#!l= zlt!Cx&gN1uy1z@qnrK_eagF($Ej+e&{z|Blyyt~<`rXV7H(WD!jx_^LGg7$jg93sVu%!c zaJS+x{=D7Rbpdol)U2k2Jom5RW6P9hvoLdfr?9aU7_+USz@3NdDiDsPPvnpHx?5#Pq^s87moU# zfhvgZv>U)fL0N}S6(N)4;0Fbkt}2Xv->>-iy=*~00-z&}2uVG=CxAA<3!h5Af& zBWYX=nS$zcxq16GTIMtHFEf}-czD)dJ&%?@FPCnCLwWGw62v3euj7$rar0z5t~(E; zcnd)J^9yq5OlQjgo!houSvtJ2KVEd{nkeUgOF0Gu83 z@#whLTl+W^&zBw2b-%3c{|9ylczQFd^W=W5ZRaxo53bz%qICMJ@#JHbBHd>?I*29O z=awTcb0kt}!EKV)rB3!a{OxAZQwfhUF~e${pqa^XaZUCiH%%PE4C9WNaB>U^jmtNb zGsFb)$6zf6%AkD{PTCs%QieBv)wu?4kK-X%c=RKOuiXC$iL!bOWfBJ5>l%j5Dx75i98j50^_Z zy50(fB$ScckMk$|b^`}!MtnnV$P@>P4fSOw zEIA=q79G@GjFJk@4!EK3kWHdZ{bOx-xm!7ZaFNOu*&2u?nqu7;IxWij1{37zT{i~Y z2t_bxfP%0sw5>QA3FVw`Gd>U;U{``>^s)Ck^zXs1Uj(X4YWbogEU0!GH1MGr zS-mjC>wx^V?t7nEA(qHf;^Dw5fxbHN&Pu7rkXz8I)e*9T@%ZCj$~j?Ch@bUcN02SXxFw*|Eso7q6=%FepQ{^#vbp<1>gy!gPyC9=~2 z%7(}lJU^d;%PfvM%vTKSR*F9Hy=*>@l^1^2LN^m9pN8=Q zzdVFd?r#=vRuydbfUNq&;w8SSe^iS^y{wxz?%#*}VwrR&K1GS0esNP%ubc+OCH&Y4 z)qzi}8)bsykyq_}vffVwVLLc|I7cj`13LQA44M*sYEejYT=7glP|7qfVUg5S-iMzf zq*8M{%$eKfE8s8EopQq};WYFXwnRzCX@VvkR|t-w#;4-b(!AmkO?TujC*|&^rHV8%&zKy{hk_yZcjgO*0IwTV=Nl;UUkZBs8aQJ z(a?Oz^#QZ0SbzuL(Q48$_Qs5ZJJmzsigz6CB8Vs_P{Fr!2<`HLnE=lRVGcVFv!qCotz3Ry;3#7PVC|4dIFI_+K#g$cX%oYw29e zBB{8V8M|K+nbX}sT|HWGc)kyXGM{wYIFe|ug+yEM3M>$|=jS2Gsz-GXstm&wKq2*% z_{eTE!c+63DC0Vxs7P$DhH7}`wKp_Z4t`2Q5trN|=NNWET&QlMAWE^Xl3W_e^Csn6 z=tDb|^@lD|UKOkz919^gfeQT^1w3o@?Y@%{clb7k$Up8VLkX})#`<#hR0fvw75JRd z6||vnqpGnyX|%8_as6{;Kh!iYs0wm}efpBjr96_D>D#DO$_lHl*CqH6+XcqwLz$LR zlQ3K7ppCv7A+FIDn(()x`6TMsflxeqEU!NUW}|HN^)tC(dH0PBqaJ&aGMI>@L|-x~ z!wZFaieQh8pWTeoB&yEz8 zYF{=Ma4h@qtzj5gX+gZ;-KNeM)f#QtsVd`;*vN*7oe#T~$rT_pW})5>!d1OZBE-_Y z1@){P;Yk~+dr1866;u!Z?tt-+^Feu*MRKF>lu--5($OElij6)VVm~z9h!#Y$f9wFG z>?dO@FHVw5)|rTR1h1Rw%xJ==XpHtTUMBUVELF66$!7&=O4b;Ql5A!n+Pl7T!W55N z?IJn%K*fg8e$d;IZZxno@00PQe$jQEFUWjD*eBYqLKZZ;<=k#(nJi@MY0qWHmex%# z{iAMqjND());p!yLn7@m;>ZM80v-{|1r)H)Bky;Q9Aj2D;X9|PRpR|z-O9HZQzmZh5!fC=PFmZ#Klq`Wc2@K+9fIDI$vY835MLcH zLZw&zs#c8mSLZ@lrc>lA>^f1*+Cle|Hd<}&Ewgd2e~g0}s%eOj8WV{hpL!hxOK)Td z==;13&2u851|>g#Oa;&+hWe->2y14~qpe@l`^<%$+r7i-?A4DDoc;FW>roz0r_3ST z12^2r2zzuvgDE@(K^QN-3nQkWJri}CjYWe#hWi1G{~wD44A`#)Vhd;kHzrynA)< zr?x4F4^yj?99AWTMWi%}2PQ#8I_^bA8;G<5^FK% z!Gvr1vJ}GePgB*v1#sQ$ADjr!jBg7Dt#s)c?C;vvs4MXCjrIJGv4VotroUMd2oey= zZ(CQa8HsikS&nEfT7GhVE6RjaVW_w67Z&R$Y$RzVXIaLIgFcM=BQSAI(&SPTg$ht7 zQU2LRQ5Srw6pc&^4FBfZW&l5+N0lY>aoprR{;re<1q1eu6&)Wgh%d$RPhE{P2a ziKRKKPhEg}n*Z~d3Uqv`{c8OUcnDjw5AAPzQ8 zpg!hNDfl!p0R0WB)iOqF2d+w}pJGKj1erwAmMpCwu zS*8RzvRCTzx66?y0_(A;@0bS#;=HmRB*8P_wSA4Vx=lR|lk14@cWVk1-Vd-OmlNuw zR#;acuWu-1Sw{X#RKN@+>JkX5_U_*PmuN?()w3~Nb-Ty@eO{U+3|S8|ke?Jf_v=0n zyG7`Ey|bI3(E`yN2X~OTwmxFD*925XV}xnZx*777u#=+R_r#cvr(&yDg(^)m<&v*; zw+9r)4tW@HUZD5X$$OK9P>Zz57R;(s*J1Mve8ZZd!8UcTe*!Zp1Cb1AvGiibWQ(aj zjF=({YJ(8=)}q5nY zWkWtbSq~O@X zJjHS*)W9uQ1)r9{+#0(?#4_gRQNp_v2#>v4f*rVZT?Pp(%8S#JktzHl?d_EX25x4r z8)>|BUjbL-wnClP%(owVzuS#It*QKSJYM|qE?2$d<%;oP5^qfea(egPuNM2<`2DGu zp?k$-Rm-w1+SzrK65@Z=)^3=9n;Drg;1T^E$em#c{Jx5%6)DU{3j1!9>%B)p;yx-0 zIJdrAaG%nr&&Ct7Fq#ql1bZ$AHO}p(>uF)makd&3HG9ZfxrD&kTZHSi9H3kVv$jYL zoGL>CmU{jzEsIq%wXSF>zSXt=pe-Y-#`e@f3uu7F`%5|(rA-&vL2Js@&Am#|sTNXdC%+T9p+-%%IkHHD{= z2wX}epK@Hn!>mR4955i_C~Zt z3j7)IMh~TbMIF4-xJpRx=Mhmj`OcN)EK%eXce_`qLecvHW_rXVb6)yY^vzlBps8b1 z97KVVVTZYp_^#PfMecq&4)b{8%wSjo{FGTKT9>#^LW1tUQEmFBNHQ?NP)WxoFw$;g z37p8ainlA0r)8cpOA_kl2Of-_CWzTJ@*(SpyWL3jm+4}W#HcCC!Mu%OYgRW;HA+`h z#e|n%uH9t!X3C8N?=PUl34Y5+rTSR0*&e;%N#T%VP4DP_++c>e<3sZit^=0opEko` zPKfb7-uPBnFr;HNKIFe&g<&~!09#S52dTiQBZHPTeJBX(zV{RjgXy4MV99SL!?^*yevl(R zVQcG0WdvXaE9X6j6KA-5&nIuLPlw-kOW8zR{;5cYOd^LAr@3RRh5>xBk^kT>T|T)L zpg$H@o#A1hE9=m(JbsM^t#Ub|dEU+~yPCn++ZrzfkJNOYF`zNG<&pdUO7hEzh^J^2 zcK0E&TdrD*5`4Xxg@7Tzn(<06j#$w6I?UfHcW{cqWJ=Q)N1*TcYh<+XDTWCWBb@DY zarc;4*DMb4j7C12ztCe3Iax!%r$en|~;+1UZb;UB!1HNMVQzh)0BG)~jIk!{F zihk@x*wo%a&Kl5(ayopUX1<3i(l$XHi)v+v+=raT8H1wU>yxy%pU5nD%$GQ7J|Gz5F zlC;1?V-q}6KRXD`9-FzPtA7Hkl^LTsEEr^iDO|+ZYGBuSRPjgsdgd+!A7Bm9`$ty* zgdz^X9U;q1WO6TT0U79(B;O71l{Men1K!eOj+?TG|4r*K&T6qmWx8vqM`8=3jObX! z*I2BD<|8lpdubtUeUWUlbL*ED|7LWHf15|Ts(>Tbc~@XqXqPtD0nhXj?R*P z2O|)(#$dKjZnADG!hE4nb~E!0F$yofb+3PNXBRbkse{w5BGQDR8PS7WD@7~Y>2FB`N`$i8M*!=@z z{Zj)BQcT91aF}su9Ly8So$f+9fMS#Z5S!!*mVla^?u-w)jOoI@o7G!@f}_YvH#B7wDsw33X)XtQXqwYH zJ~kSr7iX}b<)nnDv8G9~=wG0!kMm(ri^9Bdo1?zdhEam{@3m{Q)pyj9USg8e)=+KzB%PAv z!z!)%8%Bopu9Ph>$k`!1J*S#BjtPw`C4^?zqYhqk>*xAGWtD~`p_*FtuLSyzX!o%8;MO^F0q|hsHcN0mtlS~iOymY$d_PQdSggt{|fMGT`FJ^8|T?y z?wa{ASUm2gXRw+1@9c-MUIVJhzkhsY<{@1X&KJK01vC1Mk>hyo?j(^TUgc-s{@S;=$aZ;1Q5hvN@+<$c^Ob?`BqaK~R6V`<2*}g5@eGGX`aV*k_j~-(1Hroqy36m)8Jr?D5Z5~6 zj5qJE6Q30}6sUf*9RK}yu{ppMZwcAu2Xu>nM6oEzYmgP%^YwpPvmuuz6QJp z6S!1VYIR|!KP#cc%GZ*7EFYv{8W(T2K@?WEq)Nl&a-=#=!ME^l7Dy(gMdO@CM4)0+ZI#D+{{@|CQHoV@VZ8ragUPw(gm@9o&PL)OtmmV?YZ|GDIerl6 zu->&{z~{6W*u9T^mpHfL>jh{=ejbRR6eD{K*r}h>fh!Az&FXWL=%CcD6m2Gvg5HZz zIy&yv!77x?fgRV2qz~&%=_@pYA_5~PpbOXUFvS#>tbT;kK};NhA=)O1RupSX$qvxJ@}ff->Sdz5$6M!Rg5S2P*ED7p$Ir{_ll zZ-<$FA3pS5jz;w7&SZ>~!e}B`71lZD+EHINDnf0ksoS(OM_xEC! z7cw%>5y4GWNaGDYY|l^#vq0fuAM6=2q*ohl-x#b#Qj@X8fQeM`LOdO{iALm&j7(J{ zx7s&HrN6J`$#iO%z%(I>%*xAN-`CIDJ2}-U%?HEZ-t&)wjvw)iO~k;W;Ni7h z4_yE|vEHYQEPaM<2glX3Z3ccoV=T81w#uq6s4tpD-=;-;B~CMZU$kZCB?W6e@zY1f z$(;ff>Cz?vjzGjus_(TB9O;;j()`M2`QFcaG3mZ5E3>8j9?>E1UxvrQvB=ESH#IKb zE6PBgEJ#5eT~*+?$8Np}@1CZC9z{})y8AVKQ0Lo^*sq9*y6mVF$JDmFN9eysY}=*@ zgrw$j%JL&v+nA}W2*gn_+ej)XOb4XG3w2Pvy~49oILYo(M7zqeAE)5y^J?-iw@A1H z^-FX7v(By3p5Zqfd*zM>Sw3eM)6)HJq~>LPrpr36z_fB58emJ2=4YUH_5Mut*%l#Qy5Gwfmj_<| z2kFSFWH)H(eUdXHFM9}$u?HO*+*eY}oX!Wu&%YPT#Hr4$6PNm^S|?BinNj7~iJw1Z zJr*-LgJs|;EU@{exI*Y7Ici>0-SMPS5pcOdXK=AYHtFqZN>RZX{CSj_vSo7muPJKc zbP3KK6IkRzUgT2cU>PlQHN)u;5msZ3rG7W0NiJ}0*na+A32FNW1f0!FR_4XaefC*} zG86L=vkG~YG$WPHpX_6Tp4yLWJivya$Zja=1INx8@GE*N5|e0O!rs8z$Dcw2ky;}3 z*`P3w{EYzhRr3?25W9M3otIGL<*xjLA(fvr5>1)xMH5ZyT8$97Crd%1b_-;Rz&cN9 zwO(4jt3i)tTMwwl5FyM7?P3(dUUWv%S|SdPk!PKuw%^;CfcA=0r^zn&ePMPNMH(=3 z{zbJxr;lB=L5VeQ=j4>$Yfo>fzD89qpW&X&aY;T}i-U;4pNP__N`3I@0xzo%BqdfH z4QK9OF@ntEgmTG*@QC9LJ5g)wx*v7*FgfY=yzCo zJaPei>f@t{8kD~UWO3yu+ccOyPAb7SX=}V|x6)GSDuy$ObMCW+N%2Pm>p`4%?fzwJ zoW;9_uP)EJ50NnOyyu_t8vu?|2%~_Im>9wy?J;V??*8==P;;a-^=Hh3!yP*GiS$=( z=?k)nlg!h%1ka1y9#2S4F;JkpbQv{TMNtr@)M=FL8z2G&&9cW@$msUTKa$ z+oJnbe~+>WJ%6YR!4SF}p6+Z|oo}d=$?O`-0vL z(*}hGn3Jo^U)u?z?fW;SsNF~}^FM3HBCT>#^Y2$_dGrH5^E|EkcRK7gYs-8(ryxDK zj`Xal+j;J=t4+`O2&Ui1;Ei~+9oZ(E;=Nlm<4K2Yaq4(&(Q9+9K|gV?zhYn<4MIL; z0o2Nqstr|}y6n-Wn`%e|5zqOjBZnI!A##2EJc}Biy|iNYQG5OaOjGzD!1BE|t-0=l zTI)lGsAJJ4$*8n3x`QA86H8w}aKxF8B3;`oc0Spops&jI+lW+FIFlxS634EWjVe;9 zr+CTsGIS)B(uA~kmcynEWadfM>9dNG0pYFxuoM>rSjPEbgvr2+L=8YLN_yWUA@2f_ zzhVwP>bxBu{GHp@-}5nB~oDgp=bV?RdAUN}Ij zi??r7lJS3|Twymk{-Du6t9%Za?AbDjPF||N0?=}QdEZu{yHq{Lt~h~lGfm@MAbQ!p zpTkm`?Mk|C(O*@J3Sjp#nd$(U?V{PhVxWD?Qi<#D<^|hQ{?Zd5AmVpPbm(*ayVZQL z?qeG#rJlZtC#G=}F!|QhGL%~b$R^A;i$F=){H%R1nKnZwnMKXa1jPfZ?*PB^V%wk` z%z3Ktx$8qlo0&=YK%)sP=$p7xVH|g&6p=w}PL|Mwu5>s(^jLg2O z4qLrP-Q&-e)MdF&kV~W$Fo0iCb?i7K1SW*s`LmsAXyK8G#p+62v^-({&tT7;k;3@R zwNeF}=Wq8y_lw$irt>^z-}w%UwwKD?*Zxs;hhO!hvHXX3w{Y}p-Wn-v!}?T1a1tKk zN&Jz^xtn;=vFlc=Va@0G5-b5Zj=blqKi|hw5ga`|f`MeT6?;5oZdLui(5D=p9eNYWvA?5`9cRDmuL}cty<^xKF=sw-9=$_m;HrZVCo+&Fh4) zEETAI7X1b(45rh)BsQ0Q-TC3MXuF8RkeG0wxLUMq)%2>*a=DrJ0cAo&PJlQcsi-|h zBqiDPwTuX+|Iu9l1ci~?E>=~Dv|nK4#mI^)hI(BR5;%kdqkoz0^8QXWqkz}A_=}Q6 zmY)7+we4n{+#mtXUgKI(2+i%&vC{}JfmiAAdTgVpd&j=E+dtH^2nAyI>za-n@i3Rv z*Fdg`DZ@xu_B3rm0`qe}w?q2=-~dr%S{O#k%sZ2twyCxM`@oAo-r0(mIFl?5<7cCH;?R&-t;kBAUvH?<48Nlpb z(?aI@nh(WpQ;KlUKZAJ2lw%i5_(3!rDJ6lqp38Hr$Of8q6#r#TWE?xOT_cK)tX7 zRU||9$kv}Av*GyNn2UwuSi9!ArAZI8m(9+Ji#!! zlgO4he4HX=ASKQyIiqfP>**dsKPF2gEPepFY~Jak33z5G2X z{GTEb&0>!b!zR-y)-I+_C_6Ni7?`3rn)o#!@T#&bRw5Zqs;$yy=#SM+=be{;;3fco z`6!YpK=9l-!`rth4aA6aaS;#%v7QG!z>bp@nnH8>O3hhgepsYu?QVp0T4(zH!Qy76 zgS3Ujq0t+pwipn2Ac;M7xbtZUWMSUZ|}`PqW^{g+a+UzqRo?K zn1;|b)A4FP(!qE#FBUtX@3s@`4(w!8-KGQ*E+>n?1`9P2&OKu(%KW;A1H8PV&5|J~ zFPHn2C!v>BaF17eWKLrnj4T;I8cAB_vOMK=MXeQjjEdUJ=dIj_27O0hf{?yzD@vt< zOcn8o9swWTiTVg}59OULwW{Hryc7;`o3U2B04&&jIxYx2kP>%?)Y#6YWu$bs=7xm{ z{r8syby+E8+xSy|bCBMP$lF5*Q}x2sci=5!nEX5bEuoPg+u2EQ$KA{@Wup>D>M3~+ zmIW`R2OG;pobX9?$DG#6NS;_m!=x$pe63LcxV&qCdp$@m<{+EZx9g;V@!{}8XtdY{ zEj-J-oq4SLu?Mk$t)Rm2X9N3dk42M+>nw6QvdmMZ+S3UP9_Yw-g`k@X1+GLZJk8If zqB&@J%_$0vR30R3{iYL%+B6UEOh1OG=cm5f!BFtWPKo>ze+yY4?nUV+q5P9ZBGiVR zb4Xc=8(=t}6$Q!0iJcl5`G_s=oRm9jXy47%kMnvKyxZKPTlu?XNrt|g5UE@;d>l8d*|jSL3Ro}SaXnC8530!zn%Ms zW;=_k2)7P|*bnJP6X|i9d`zH;KbZU-4J>qY4T-Jw>sACwN$qR7z*i{ul=cTpq9r6w zj15qNMLx=PwSi%|p2s_~BV&zNW!ogFuj8%!W0D_pu*zH^g0}cphKv6$SMS%h`Aoti zKpefpS{iMPfy$`t(0TU7XUpxO_?W4WtSbXyKq4WF!b_EiuU*?|?drceT=^{PRq|_0 z8M^p@Rd@U7hVpGhL**sKRVNbd;Mah@$)syrL0+oBf}iA?L2$PZc$j~ApvfYSz>_Hw zv*1D>kfjr%{XsY|xliwE3ONSk_8$0UAqNM7T!KMvrf zeK%;HVpH%)j#h|M4Q2a8^*66u59}#T6_V)sa{(1AMngyPNl^0weN z%n$MTC_7=#Nzd0h>YCdA0q@}Sy014uZAAYw8Ah+H%+g1 zlBRlkR}_&1JXP@H+hlR@J?_{#NODK>h0kVzW%hM!H~IH}7q3{5K>$zjq+334Y2Z@xcka^AL2(2afu~ahgk8v zY5hq?K1Sd4_JzH26lQX#=|hSQdiu#roz|G4WIPhr~Zp|0#%sU$K zBOjqn7m8E4>2yq(32#OWGwFzdld}v$Z}?W*&mfk1Nj1}F~xqFP3{NnH&8-` zv?2OU243&bbnRVQBXG=dJ7^i_OtB50K)SD`m@N#(Vo zf_ItA5NqDE#271|`f9x|6ESbB8K21a2P z-JV={0ywX5{-TW?y?cIN(6H{Ya=Og>!VG+OVza%zr~r&Kp`EhA_{2VK1KI_n0QkAb zG`myx`VKdMW;>^R@6t8>w)0uyWGWIX+P@Zrm4o*77;*YF0r^#D*{^dF3e-KBn-c__jR)N3I!5==zPV?8)-`|Sa-2uX;{@qB{` zj{!fqh;4_IdqoCZ_KMlR_}mNYQh49I=X`sFK`<~5^84^(Y=WNm>^9w^$$n`Bdv80 z2NnnX^VbJO#x>O^1A^t#m3wqyPdI={Zqv;k941XnY=WhX9t-HvScr7=-7jgY5+dKR z`3P@KY6O5uR@rux`Ocwl5Uzwtys7f9$BLJ!Yh8f$rDP8FZRzUqVCHC;!UV>DAMQ{E zWR!{ouQ4+Utp%|m1wK$vpE(4HxwRhs0hook|@J0Tp~T?KjMo>aJ237ySSsrIP(O7tq1nA zFnZ+Y6X@iw(5i=I&<6zAe7nOVTH8D)^wQbDbMKg=QFqCx1H?%N5|X)sfVR5EiM|uV0<#GQU8@fDSmxBedk3i-HY~Doz}+99 zuWvSr>eJ(#4bpts*!oqC!-+20l?U&Xu4|RF-n6~N(26SQr2MOnQ;9!$kgNA|S??Fo z*hx%E8mW)5BtMP|fKm}gYYj|Q-T((VI6Qe#%Gx;VVUWI1jucynY*2h??QYM z_S=Np22DReh#mnno|(|3x&{)zEK`5~wJ@}zw1%S2CAu`b1##-CwN3CBJ4PE>S!s-? z+E2TEd%YPhBz>o{apH}qc4d_5^uor0<{;Roh?P||3w#u%E$>LuMGE!Q-a~2LJ z54vsgzjf1Id|I_Gw5R3bWi^4jm~+Lg>t6zZ?;6HBPLHBbW-U+deFoDWAjN#QQQx4XwfP3C?dnP3`WiT)yUURv(g{H=i{?uh-G%XL7e01Top@CtzEb@e zDHue8nqM|B#difRi)O!arIpbIRyNgS2a>SD*BYEi?$kCzmXQ`k+>&c|s!E57N3|bVl;Bp9(Lp*^FhMlv9lc zoCW}opPDnk9LNj7-4g$*&wXiJh8NC{qGl z>s?$$Nr-yNLWUq$6^krp;xjUs42B)+V`=3^If9@f zB8l9VvvzyDF`;4^m581M{#Ds)q6qRpe~KShEHxH!(~s<3^bas$Lx@Z#6RDU(e!ZNq zIU;Ob`F10-M(}t(Jh)`o!Q?dX(GB_o^na3Ua3u<^8(rp#a(JT{f}+Y&HR>4MZ8vg$ z6zEB&C8Wyy`yWSV85UK$hEV|}q(ML$>Fyj#K)OV_JBAj9?(UNA?(XjHPU-GO8qWR> zzvmC|UbEl*JomlU2R=3`#>dc~CV6)31X)-UQ)zAdm&J0*ktI~@Hz-xQquI4A(J@N z@XF#!*&r0o*OMj;_Xv%hAta!2I1U9~CTgs^51;?^Qfd@H>T z!942-p>*81fw&*{I?|DUfS3;#U~*CT@|f(!cF$?mlN0^y_~+6{r=#Vw=qJ}A9$!zs zBR#T}Ub|EYh&EzognhR@pbXkzWEVINSo>|4v6y21<;0oe`V#8iFaC7TV!hrjRScCV zzBQuiwsqByjL;G@CBSJ3TLYl^|M3w#-S%VGQ^gSZS=R-=)N-%x*RZd@@frYoMTbl$ z?C{(I$-t3Mv_>c0GkKIv)d-(5bhrCmGy_s5{@(ie@Lql>bYa{j*O^20O^ftKaR#Ci z_y3MRnEZ~Z5Rz~%f_Frm!RvDVb!$rHZD@VTeDe=@cn}4OoHr>y-SdW_UTSYd&xVdA zJ9%cQWpT&Re*T%@W=uMY(6fsW+bGg&Wk5kgG4cjI?i%LZo5J}XLalD%UEvg0*Dyk1diMrcbvCVsmYWYOO*y5Kq>b<(OWTT8+(+Lq;36B85bi;f>M3~?Q~ zofGfs1~&hBODLej?-fXWCDuqQ0ExM6Ap*y2N{pdxO1PxoyV&M??}ipIB6n(M6uVBJ zbv0Y8AXK&3c7+Bxu1bmVv1xIxJChCk9}b++8e|(_g1g6d<$7ABgjMex0jE+ozOByG zvz}P&)oJJAFn{yszc8u#Pe*$y?fMCdCq}2KC7#Ljr*_TEd6dj5g);|ECXOFNKLFy78-b{RoM02$iwl1zs6xg zzAXEgO0d%jQ#utk6DZeYp_gg>LQYJMaQ6leiGPgKT9ysmrAMHIx_p9N_v&6yKCG+C zYY`1|X&RO6^n_{R9R|cez1oNaFYIEDD=wf_0#ntOczdAj}xC64^pR6P&6-+VSv z?wavzdk<#qm-=y<8DtePrBG+x4zJra5V`^sj~IY76Y+ho{}_}jpt5UtD(K?1e~^N5 zRO>=KyJ<*Dyx`v2_WP^?(H9HedsS;!|5QfMJ2C~3D%2x+-#+Txn%?q9lpaLGnVm*+ zUh>;irK7Kt39m|wLS|(r>$YA651%5LoL`}sx_yIiX}tGl5iK;1yegW9db_M!ts3`O zE!mN5pLsB1%ZAVkf>LMie&%C3$7nAUi*pg~q2c?UG>@0jx>*bB4PDeP>PX9Rzo{+2 zjZG=6o8`*!pFwyYqAO-f7ir2;MYE8k{~?T_|(@}wV>Jt%{Cj(#=_8K{a@0%qf6GT=6Crv2Xq@( zFoaZ|d8ZEv2@`Kl`P2pRE#9y4&wu^jHIy?(X@+KUuJV5;@Nb%p*5glBe_iilfI@HK zl{U$V(_z;l)p0JuCvNnq+mkXGdDw`qUH4YPMtf#W#75$82jQ~K%=_{&Cd^f9Ka9eG zk*g??^CnbB+h3D_J%=xBQUVW`WR6m))-@qoAhRs`>WA$Tn~ZHULQ1M%ObNTzv@h3( zZ*#T@uoc8<7kpXP0*a#&pLSR-rjwE|o_R7?f6Q)yUOw?GeF!m0_Co89EWn;ag`iyi zMED&Bol0c5+X6rtQhr{Yw_Xg3pbCz8&|SSnKUQ_4p6Yr%Di6FpQf)BxN|!Y?>AIb9 zIFIYK{0C-a;!+D-2d!iQ?o?BEtStFV#l0K=h1IF0Wh}LVN0ZU@Vt|eCb1JCQTWapdd zk=~X8XU1V%tCOHi#S|{>dZ({|W75$an0S8!_N0;uV6Lyc@0>Gy;Ao8C*EtJJPR27| zVP>;VN=`1;H!(3;x1D8X`|pQ64c7I3+(yhW>h6*Ez;b3CuuW!?S+L_p7{y(*1}HMBlC1{pp=@j&*8r*V}Y`&rpN`E$l}-+&37y5Blao}P_1K?_x;pr z@Vz*(=iEu+WcwMRmaWxA=SIg--K@Ma4AQE+R^^h>Uiu8!`0_~a4)#VH;8oU+J^Y)K zTP#{Up3(8Tj~}5(cMeCKvi_4zntWd5jJ^Gcdg)WI zS|~xG!a#9$jZO`1(zhQASU!+lT5aMQn_mhOBzz3P!%8)BpYa5%Z}7%K4?q8jDTo^b zEEgI0XXLmF9+%xg5%L>lO*5ZYj+n_n?=OgPT*d6S;*z;hntDEu4oVH9jID*k#_Uc2 zfu}@PdVHMe4{f2)Q2>t46iTEzx|mibknm%VMY2xNwO)n{We4S-HEbwEv;)YQ5nA2e z<0$nh>fA`u712heFI@X(xsjA?MZBw#XP!6#3n zChMHV=0iy0j)0Mbh$#puJc&7paM08I(=Iu#8p~AMeaCYxzmh!hE9XHlgcmy|c@_YH zCjyV>Nk~r!Rj~`x`aG|UNf}^2`mF{!Ewq9uCDU5`YNfaLX^Qf48wAtR8^ulAPU$DI z%W^XK(KxF8pNb)JS=H3hl`#x`9v>AUu?PI*rPI2xxOOtogj%~L)NKDz`@9ytG48c} zT!`&4m9KHM8>olS*ju1wC(+_9GF-;x882WjQlpW<{kRPPgPU!6$wd zNaSlS4$}%%;axC0fV@Ceu&|pIKWoeLDcN-Pny!pKx8@)oa6dEUQzU4C7-&%Fh#+%- zDa%&Fc%EYh;Pf-5cV(1MVs?q!!RV91hf&bW3jABbT-nlRgva;!8oY0!&x87qTzmo5 zPojx2M%9h;AtM$A5P4=wF!8pD6e#e2z$6xx2)k4r@M<2oEA zTK~hG3e)Idq_x)r^ssq_ACm&&ea=K-^z3><+OnYYrri0lFAIrg_b7rdLv?!zUeZ8( zI*R?Fc4=gWSXhv7^@^t$*kUm7KP?#^1z9d_`oIy-EN>!nt;aR2n}@MCtfs;;Sq-Wi z->PJeLy+i+J#G~^N(T#24XPh*mQ8gJv*z`{jBT6Sx4`Z!5BN$G?(`7ng;I;(6c9YS zWxG`rYLgy6r~oiLrboAtGEoB8MI+OJHwZ)~k#k3oS^3gZU&v({iB;3|07&GV*HvI~ zVTn=l=_C>Esg^xZw#%y&mDYs{^rg$p5ebc_S%?fSA0e;j>)L;tw4TGl%=zqT5+>T% zfe@k%jw6?9U zkLlCVo%%dLGs~9#+fuiTR`+2vWfjf+CIbB%GKdRsCn6i;Gnu5yCfYJb?G7&oaGZ1R z9M{nDHaMG&2j4q4Z&@O&St|eWp7@g*VN3)0ok3)J#=c zoKp}}ZcS7Z(Z>$s$psfCgZN+PW>Yc-0wa@S81Q|ZDV4}{(fs^a5f1PsRJW*9z7Ils zjL+p|=s+R>_9~#bVyuYD(a1Pvc)eow! zxiCrx4NmCS8%Z3EK{r3D~^?mNT!|aR#)G0S8G;tTD!Y@>-Q&{ zgnG>B-BZ=do+NBuXE9#z#%c9=f@WkgE}3#6pQjy1;wvvDfq62#4oF=~V_zpKU4e&y zUNKq4G)mc{TV)jl>C>KD)C_Ow(* zUYd8f67`b*Yu)IlGe*x+#n)XHgiN02M5qPV;Q!0dstdUNNP#Ze>~E7-fFX7a(awMs z4Z4HxH_Zfx^X7XUj*$PZB1P$v89`~Zi(Rqu0_lwHw|4&dv5&Gg2|fpD$pvu}Q7As+ zM0}_sIFm3(!A)WaZg7JtZ@>$HBriaO$jG0ZUFt93T@kJ>LYx6>n8-CpBJD=;G=sW> zSlRwsRC>&Rzj1+?lmjyHmDVKL8IH>?;;$8iY|V5PZM531%f_Hs-t#5H86f+T^q-q~ zZ3vizdo9|`r2ifOm%OWiKYSRysT~KE3RLb$kGHUuLop@cu=2hNt)Xv3Qg1^(MIpX? zJ^M)%bX|BhaPnbn=I&EPTje!}LG{b(rl@QgHlRS!K5Edkp2Z57+#~9$;)1EDo#10g z_gep6-|0NvpI8KCFvH3XgjV=xxOXCRLzmeHZ3Z{p0Rql!GU{kniYepAIxVZG)(!Vj z2JnT)zgZv5MdC#en}nqpWBu-*7W7bxAF`Eln3~*h77`y|+lEjf6ifn>%gbg1Gt@Am zgfB;>aDM`{MuA#ixxncDTleO}QDJ7Gu(R(FeQ@fd^!1hJKMP;sG5W8 z6Z#>-JHXE5bM~DF9gR_`IzgUbcPgtu+n^ zPO5R1pKx$q=&Mhs+cY6m7dz1%dYmaH6)*f45g{Wl0@E|Y6allaPlGviOBPjzdbE?} zbCV)b@d)6WxL=jVL7L_m*y{d8f3T$2a)cC$%(`}@`0>sYm?>#7{Wx{{Z38lv(06z- z-kq{=0{8kypztGgJRg1p+n&-2-cW-$ z3{mWI+sBL_E}U}BEY>KG=9D2u!p z5x3CgrL<}{Lj9=6{B+2|JLuobT~g%syxCx$%A20BXNF%jdB4)`^qUgL$er_^?Fui~ zaFW4f+qNTHkMU5OFD^?Io7u7}umw##;Nh8n4nCo2Z%U|P_hU4w8f_6HYyN01=~q}` zyuZ7!a8{;h4j9BY7UZ_w6~e|xQl3bvA@A=9a+PI~ z@9-_uXKbzI=K+b!%CkCz-=}H!CHSy#axA&{^UOt*PCj6SC>ILls36 zXu@f%)HzseAQT=D?_MZX&GB*3vE^^&oUvhg!$l}$Y`gTU<@umZ@5hN^TB&8bpZpop zCaS@!)XFDU^p8TDds){Uj6rvs4x8wHAv%iRHXoh!zYw8o>u!b$OO-Pfvc>4@^C%sd zLJR%SUoBee;TJk-w5|Ba+OzW)l2F5+D`M~1-fgTUzvX+^noA6Y-j6rm?>VPQ|hH;{*xg<|J?nP-NJ8m;pgVO7(@ z?iuaKg-@HtLH#Y3w=`8mNT$wOv8 zAU=a|%d{braxWSm{-uQ<*qFG`6p9oGCRhh1Hd(7kMze(yCbnTNHx<^D0Ngvi=*Rky zK7#)4oe~l+ho3 zGL1pUf4e$XW?lyr>)DglbYUvKw5=6IlS5G)d<76FA5j63m&Z!B^GQDu%?5%vf%ns1 z_QQ?N0^JAlR-BZN^9bw{dE6{h-BYlZL4*y`qYRCfDW>Pm4s_2!{k)hFO4`@v-*Z=X z43+Ni<7$+vHcjj7+3Y^i#zi6pS(quUd%+di&P5_>1dKK?MG0V;c!8yQ>B5VDPze4hGwwn)t#TI*-H3Y-(Aiew@>5mTB!~ zOAipP8MHgF+&7A8xL@_pWKt&o*eKt7ZKZt5R}jPHIBPkPGheaP0gEsF7~n18X(S?` zJ~~9?(@0Cul<&A6`;B&c0Mb+0(S@y)`^Aq!`*U`lr50=a0e&x(V@LPE?7AWhVy(YXO@nX!#?-t^d~^l`f>9t9`=3fMyuQ?P zUh6ug*E`e+tQ6%I0I^U}d_F%M`h8jm7LvQ7Dp^qdX$WkdZF^!kMYNLDr!Ue%D#?~R*$Ewr#}Qe z9)ZKYIJZ3Bv=g3=!mYQ#zNlqyUf64)vee3VHm7*&%5X!P3p*M2c?3SQe=F56$LEOQ z+)$^z`KloGZcRC0uK5im`#hV)jCnE5K5r{9zCmLL77QoJW7D}aaXT|wX-36eI8^8J zwi`CtDbu*_n0h|a;MnPjUkS4bI%wue7=|DiH-SP&pcE1ah-;&W6P^=TTTHd5j`4r_27$^CykAncz^O5DCTcw;b16op~iXzK5bLn90|V*BI8J zFGjpn)c4bVs;-OL{$@MpDuBEz`5WdE@S(T9O%p<)@>6N%!CEn7!s!DdXzu=Z6@0w0`BE?8*#Sd`Lvvql-T`J zz~f*)qxC|`Uc~YWNTKr2U`7G`xQ<6LF!Le(_?tPLzr!=3Q=Xz6KZnQV8{A5?Et#R> z_1p7>EUJKQWyeQpZGE5DGB$af_NctSHm&NFipLk%(oB+*{5MK104e@%ji=|YWqbX) zzxTaApy$E_lT*njzPuXnEQ;U0@=SaxrCJ(Z1v2k>MCYo{scpJW1-ootF8+mt%5ts! zfW?G6GV6qz+i9EOMz#&DLjXA|8o+t*GmkInHgsa zE(((ao7&4+qwYZGdBQn_hN$)+IJ-~07HrkzvX}%wCw%trFCKLSw z@!SKaY5LJ;8Sd{2OqPg-_imLs2M2=8l$L_T*ijJ~syy2`x8De`@)0i_;uTLq>>XGG#@K~qnmXql z|61^G_kM|0sQom9VT%5Rok4tgq8EvDBMkYD6o;+joP8U!s>Uw7)ca#nk}C6$0I>h6 zdwV)Lwk$`GGR8rWrgA&4Zhc93oh5WyPc}(6#>UmQDNg5Ms=C>xU07o28l%c_+%ROS zzwALCr3$TjZ#>X(vncGW1+?K$*L3uyD)MIR&bY6&@`BQXL>@+XZfVtdTTRU4ypw!A zx;l8t=(hq{wXM6viN$-^Vtw=oy{7)*R-y^v$sA@eYdoZ9m!WVh5v{?TI;u^2Y(Az~ z#p^#!PPRfbLxy^N{v1r8%Wt6fGEVM%9UFeVWAc(!)%gu>*=+Lx1C5ylC+yC*r_{Q; z1kF5PT`aP3(?g3)h&&p9kl_}IqK2*Y;W?k>AjM>=5ul2my#C%-KPamHU=wvUFBxsa zYykF89KpT4LdiD_8|R9L`g_i*)~Y;%sEcv5N%Ne{K1kel>h_VS+M7Z}ASwXLH&&j9 z;q|35)1k^`^@{2+Y|ErNnA7g3hJL_a9b=U{q>LNjI_mc$$A%ZCyZ&l9f5M*&hS{9% zFG#g6)5UQg&e9BfAn@8X&kAL}me!3dR4&vtb7?L;; zJlfqQcafja{WcVltHW(qH6bs;u@MrU@?`|0*zW?x&5HM;rd8=O1k{oQro>2?HNj*UWGjQ+pl`1(OzxCHn;XP54n&ZXm~ZrlUoCKGzpkVel9|n zT?KQW9inD9=ZWUX@YCuAyL6VWwXPIXHdGsqg}egf>h^-Lo*a9)|8J>$LMClJY&(!x-x-&{in_M9)PXawTuOik1}y^NtDXRbpDU~iQruUyWEm-W zzQ;TbgKVo^jT=`LK~s}-!U_WpG%sW#sOZJv!VHz<>Rzqo*L%St7-4_=uwp)e%6dTW zaojGoJd|+a9LB)8Sjm~jR9lnzb{C76zCR6n5DI1g+2^tHe%(txlZUZw$eVrlXF`T@ zCa{=M08L=dw49X3nndH~rlY{o7&%_Kn=kUI@~C*laB4Feb({>&?nzw?Jt&k0YVpf; zisfNVkVF)Y7761e&MeMkwOx;l+I`c?&xJ|oh|Xpfe7~+`Ol;_#QDwwbsR>ob>Gs8| z>?VMXR)Q&7VlESCD?;W^j@710E5)!gODx&p>kyIq`b6pVU40?4MwNiU!x7zqfuU~G z*BlME*4!RAB{XCmsGlNZ5p7eg8srmoT$8o>Oq#G_wNUvky+K5O?6ognwt?lIY-xE% z!n*&gJeQSe0<;P1SGsj6v4L={=9ubbK;whfvTOw3>~pB*oMcsXGli&V1|oIzL*|&9 zGB<(u8}>Gq-F|zV7p%X^ma#Nw0a(>Dp>*Xb`H_d9LfbAM4FWu#ZLf#7pxf)w%HWC2J55g* zBcn;`3}cVH{;$A*x!7u6oY;*%g0c2MRo9I{mbv?*xdEc0?oK3cDIAJj4%4-ViZD3*In3f563`hCP58|S!p zXGP@K4`*pn+Ip4c#vX=AZF%HT|9#tn!>;D z8?3Rt#|Wm+^EjEo_nJ?8i;kF@I)XljSnite&vEWni6c4s+q2Z})~4~wDpG|R?tgS3 znVwIQ`SXY?3^?1oVFo{vDOG-yb~qY)1fDDqf1CXvE9a(V1d{&dlhlEZGp*6~kM-mZ z=?5^+)SPwdk390RJTN;dw3pPkfricbq!6Jgtyxk8wC)P~cOXT0-@<6Obz^ZMuwcO5q^O>t zueM?gPQX1jpJATjIcq*xZ@J}|_QyP~P_Q=NR%0yiGlY!KP=i18=VoVlg3TINT=B!s&bj;p zmKE`caU?%cgH+qLyT8SiMXyVkHTF@*bHic2=z)gySwEJ57{f%bc5X&`q->8b8J9n| z_Mh8Dvm&g-yA063X`6^tQFjp~Y?=g}jDgFl2jmJf99t$5ZZl?T)Nl{^nkuK>H~mnL zHe;DoZ6mIlYk?A$mZ?x-n!Co+@rjp)f%LJCz}%faq3Zq|Tsxe4hpG6p`^|VR%pw4e z*Qw-p#C;d7Fa$j=Za6C@uH&dX>kqq89~lkKFhy43_43y|pSvCJ1n%v71)iAPnvCkX(L@AF)(SG++trVc#d~Kso9Jp zfS?HsD5E)ITn3MsPIdyn+Lu+=^==!?qZUe~g*`Mw8BKY;-f@+bOJ^KijX>q@-0$sw z<0k|Eiss_N^CRwP9Eg#=jK{isQ`x!-k2L+HMFKB&m&g<S30^N_JhXU8zjeWTqCy!z=@LjC*fPPe!Z zKcjxBPN0(A2B+v zj(~+yT=!`zFjc2L>pIX-nMikAQ_)x|W0h%n{m0wCmhH!&@|zmJln`k>X_^0VPVuN- zRd=xgklJ@h*bLvjobz6QdCbTxb0@}IUP7`RkU(r?0yn3%cPougLs)-~I(Yj0?ywy4 z!v}F?vo=Vj%Q=FH<*Zag-v=xv3q0R%m}s)RY=#t6NzDR3V)eqKN^wfn)|$ZoemX@h zy%2)AD0y(IH|KERoBA0WufS%={^%QsX9~i5lIj-A6LwIr!7iIB2z+ATaBe9pfQr8h zrv6D&9E_s2^7TT>JSqH-2Io(TqanJkosTb`VT3}S3NQ+Nu7$a@c9uGL@P?i&E%n5SMp^_Uc8{?hPzM{aj}N!X7TB7c1^Yj-Do!~ zLC0B;4>$ws%5ujGF)oL`GjZ&(np0z%K`1fwsCFGXk4*OVIg*5dd~&-91^0nFS`T+^ zoB$LplEGQi!TAI>E#^bUeHykwo>I6;bqV?zaUAGB(Ls34B2vji!Iv~0ZSJ2JqT2ae z`@pX2x{T1(i>pG_Cy}P`Z^!-IrODg*jL<` z<-7ss_)TM#=bO=`7M&Ww!5V2c7^gJUv>5QCtH!zb?Y>~ES#q51LTK~XAk^o?I5FyqH}F(w{*JpqR~OG` z(n80YmxO#b3_Y|?Prm-vQaW4XJpIO{GNIp16Pe>xmF7ylSed}sE@91&%sl}ijYk{>f6dxH~b|* z48mTBWR8TGq9KYyn2kkd3zUxne9PG4Sr3jE@doyIVBfWIMA0Gn@7ZuTn8aZ&jG zVUE6BP2SpR}F}>9&N&=K4-wW)L@1K1FIT<+QN8`|M`cM_L^)S+FSd z;C>H}pzh_6IwJbTwPeM5ZeGdTk{@-bJnV(ezehNF4B5I3`mLHJ+LzI9l)={jc!R4I z2X4B=Ng}L>HTG)2RPAX(BNn-$-Q_H7pGRTj?U}w-inHlrvs+Uh@JG(e@1GY`ws9$b z&OD{fV3;qRMTlxwRU16ub`tWU`mCd!S5fq1gMd#5z%%8?)1;qMrmV;)cHHDl8{GOQOi*P zUHN+!?KNl$8M7?jaM_y)zgF|lMiAWb>Bl}&m{gu6&T%(WKL3H1A;_#;s!6Jcqld~} z|AB7OHgwyUan+ddmT|QIt`alX*C3%!G&saRjR$uyr0FYkiA+@u=|TOG`iMM*5&x=k z_kYX9!L<5cGBb}BzOZmcX#4)BfXh6&vc~87om+-%l&-wTYp3>Toc8`bZ`9~V5TlUN z4n(BP?_02bHokEP%vp({}2ud5$6s<^enY`+asZvF}FQR+)YUvZ&1OvGo4^niue|PK|zh9)>gX@(FDd7k_^U7{gdwAv!Au z${Me-aoBxhiyEijk$$b&0q#n>9i*U^6*dX)xBv-7%G~h5c?uTu;1J5!(KkM|Mv76P zBYaS^=Q|mfhkF1?#&dicfq)t@8aa#w~=SkduMW9=$5nL&qa zb1i{mQAxorg;%v+*zjXdl`l$tCp1a!A_G@k)hwH z9i%%ocs{1Dg#zO}Jluxs8!4#2HB3#Hq*1@->M|qT6li^89hRwQnHXw@KJZhm2W$sw z8}G%>;+kd@sL(nqWN0T_Vh#2YIPxs7E%={|xfHn`fU~gv;qN^h!&yY14R1Z#EXp?I zd^7kVZ@ZjSKt&YHPQ82cMsdc^Mt;{|9nN}Hd{pzc<5pu?!zpt!s(uZhkTb; zL1}{DGsT&%<(z8uPhg1+wU*p$Rb>BkXAp5ES888Sdt8;F$lY9m8Cz9r9|zUJZT)lI zW5=Tg3I;n4ca(bs#x&CbC=w)UJ5Ua~g|mOYkP_)!bL1`JJxKGx;0o^;?QPZPJ+HF> zU3Q7&CGpt5Laipp`z@PfDx1p3%7ThDG!INttQyp3LZ}E5<#_kV&z72gFI9L*uXEZI zKNr`dclc%{NdLHJ|L*yLKV^@E&FiyxUpkVSIKbQXD!4`QjP>F_dFkkPZpWjU)w zzh4y+&wu$!CcPfg`u_Ip!1eW_B7$c>X~vA9td-#GDg3~QLNRO1&qw=P-!~~_Fa`=P z)~79~corNNIbP{+Q1KD$P)?CUblN}Q1mT^pe){tUW%qiW!%m0A-lGSY9b=N;P@g6!FRV)%gsB!`D_2kJ zW*J>=w4A3mO4TEKte4X2m+MwNqSkKj;%DUqMeeRXcN4jt#S*!_46_&3dC7bzp%Brg zrB8$tHD1s()`R+Vpz0UhUn}A=(Yzo1yzO1Ln9*9Ozt?i`Mm2_bqU)vTrQmZ9a$3=U zhD+*psBy?O=KVQ3P9$N zU_6z(CzRNeSz3P6_85`ZzI#3wP-VDFiQm@ejWL>}u`qNj8G!kcC(MO^kLMs#7^UZg z?0?c5D*RcCcO_JXS~Ma0r+FQAdzkZMmc_xB!>L(#E;9Rg>Kt8TI{zT)di1drlh_y> z6X&etY@Ywn+s)H~Gx+Nau~9q&UuRs(vQS2eArfsT^%os(h4CsHLL2!O;+>GcXHJLG z%ZI(|IJQ}HI>foXrt z-T{G277{+`;!%c{*hC+wk^mwQ$HrHrlYs11$Dc4D7jW`0NbD7j`%(f1!j$vLX(bDJPa00++f=3P#t>0;-myxr-3#GVE>oen;q!wnn)>N#v z{d-E)aJ+T}-ulk!v6@i{@U7Z}R&0CkX4~)Ah>;4y1d4eDB6cKC-OGo34>kE^6 z;p{U*teER0`m5>p7ud1SXsxAAqaW_e8&3(%h`^_f8|z1Ja71%Xvf9Q0-=A@PCTd{@ zB8GW=kT4wIynlLmW(cv4vj+$TL~EG(82g|U1VFbUT{P|dGw&uW#S7Occ)C#nOW~s1 zLS=dmsDnc&66K<<3~c2Tai;ZftRu2kDmMzev!2??@WzVr#Tt!}J78H0bF^~`(yzY; zPuOvgzoCWFntiZ1D9hfU!nv}a6wCxP3{dIKK0t(CCW7kbPvJ@q<`g<0AH9ep2X3o`z+|*1F*W&7y2I zdbwMzV@l^B%Tz0;pS5vkEgCvWI79JaBf* z@NDv-frCb{l|)s`zKdW(g2+Z-goYk$Pf?5H(_GI}Yaa-(Gu7eza+OuoDF`8#*-xU- zuzK{J`tK0&r2BJqK`^n58bbd&~=T=5-hlNPLy1oPNhE3rk>rDoimj3FFdd@IEJ zM&e$bx!D-+QHL&4?gY85M`a{EjPTWJ^6oDQaGgmV`nO|qnUPp0*t@zGbD1()I7TdY z+>oqzu&R)}>!&OBvW%9)Uy!KTugVx{1ePS(KAV0+Ow;zsZsLNkaj-Z`|Nh$0aVm8fF!=U`y8Fe>+YkQq&1s`ZTDLP$v+#{Gq4*+|QX>bsslLDrO`}}ulvFd;< zSA-kp)JcoerX9zSNjJWKhlVS~KNBI4GJ?ylbSU|oG_X{eNYD2Vi*P1U5O&6{(2vMy zlmA|J;+GnCdG*wU^p|h)V&$=ud!mKj)-F1piQ3T{m)zOvx4rMMWXz|l^-IEByK)eM zJH=dfqc*snFDw zGfD_jc)Ve1l2{D@=Y&wr7(4t;r#>qJbxy`=yua_x$^-w=QzMo4PpkNUtvhq^_)Kv# zp07}ITlDs#nY0qtAB8`p@-w%T=^hlgYLR?UG~~T#al=zsIqpT}CkGx9IX!2E_k+Mp zswkaZI+Aa3_k`S1@9%{-%=|F|=%W4I6D;Vcd?NaM(HJGrx~qPl%j%-PFa*nV?EG|8 zn7C2qsWl%sF$2|PjHE9|eZ#-9{M|F`?S2L}Y~7y#>1849CutNK~|X zR|7cH<9@OD(l}8&rlREuk0ZG*Dg3sw`S|)42MiGzu3`Hz|GCeWr6(40Df|OV6}`OZ z&+U~FT?N4$O{f3wGn0>2zlaW~4lA^CyJx*w(_7l8&-~r?iet{^qx>h1aVaiAc z&7j!@fZpv=dxT z%AMw37GO~M^0Hq8ULp@-Z9PO=Tan$l8Bm6pP>$GJ3m;Ex0t=)@uki-Q?r#+#V@~ zs0`rncLfo9q&cpFabEf6zQGYk1C8Z^x>Hu^Vz7Xj0K;8k@f&Gd{@sm6q9ndwx5cS4 z5eduz&_z?pbYP9yl7nHj z0k?I2Gn1?{ktJkngpBha)2VTg$R2PDGKJ2b^vO`hsBsV#cj1U#)fhYEzi^GW)|GG%Hcl<83O)k(Y2dZjzKH7!pJ*cdH`qE4| zM488(z{;ou7fEu-dh9gyLXgM#Ul)D!Ma~sNbEmEy7}$-U*jvUldQTHiHZ!)q*jX`G zT@9LG3xHuVqi9$$3Xat%jZB8Au8Dzr!0pQoQ=Ym}!(=T_heyA}BS&(%$J4UuQ%G9% zK-Y&;3sz_%s&v~P$(F~DWaCJ2Rgu=M^Gz{j7}xxj0%8V_wx{!|x~a@XV{k?;CYNb* zqn&xxIrbDx)&?SSWfKb5uAg})6#@x;h($q4w=C_MkROPn6=d#YYm<4xy?C}LMFzDn z+k<_{+Hk2}Sc_~!WlP<-osL-Q`IMHRm&pK`iMOPyYQA?PCXbtZH4wOX zL4+K|nR=HMTqe^KQC(7Cbc76T+KvNZ{^!^|QGv-`5<8#=IUhA_kchQ2{ncgPUTM{h zUUs{QsoEpt+qH7u&cLNWW}fT&|2R6UxG3H>42uXT9n#&6bS&KsBHhy6OLuokxpXel zNQrB)N!_q0z-~7K5jyRa#?8H0obKlqXbgPY`+&W6frBE|*=N_ZDKSB@4HKc0<9xxbe=j&GFwi-kzkjpS9=myj8yp$>Kl3Liv*%w2? zjH&u(AdNhk#DpUO34iUW)}i0i1g<%yj}k_#HHbY4Sb)ytyB!kYd6IJxgpzBVo4s9& z5-aAVDZ+||M$2VZ1EGs(;{;?S(}+ANCI zHr0HwTURZY@KD^x=hL-61GrpBVZhA=H zAD3 zN^Aoewq`eRUfQmeE3cJ?n9{bFzR2ZQ4HElLPNFlvuALa$&n5N;cM&aZVY;NBivtn1)nkJ zYnz)~BleBZZ63d1`B06fVs>$(cQ{xb)gdUVg9CAR ziEP}JHnpy{eTq*>Id@|~gNQfNe18mTE8kdunafM;dhWMKU7taXW>0%Ev@v+ed}v)r%JL3kzUh>&*I@88O{I9)`rr zFNm;fk2l_-WPq8PbdjVG&VBrL2n|BC&D2XDB;QfLp~H1TqY9B@>RSpH(^`>0vUzD9 zF_Ydy)jSgD({e*ia}$dHF1W3gSGOJom8C5#k8R^cT1k(iw-n zN+h&-d7%u+;Lg-O!j$_K-Yrh3{n_%}gB{xvd_C6sQq4*%m@n5bpP$COW}M zY&9|90_>}gARaBnv+UuWq`&Uqtn;fg2{dKXk;Y`H*HYi#PI=1H&LRHGs5}K3^?A&> z(i<=j1_>MagT0tEl+&lQRcL#zl5Le2k*Iw=osBoY|Eq0OnIcH);1>HWTXGoH`X&bE zBh>frzY3z8tXNy}m_sO$|9+{9U4;DCuXZ7t}9R{;8?N7KzjVDua ztwnrE(d|e618Nj+3dD7@4wBSU{I?F}4C82ZCVR3e8Xq`ulpQJ(Ywy@OQ`=74V*Whd zKyoD?#onW9`N@h+)A&DE0|8Zo;_w^zQT zM1iCeW0>?~*cs$?%SGTREl&-?_VkuTYotW`e%*bT1R;67aB)W` zPa7S1K;Ni21!O)`o$``D^;;cNmo$>Uh64EgJ1}qq7+R(f+qIxon$%YRm(9;Dd@?$6&_J(T!K54SZMD*7-QZL^Nx8jXjHIK5X&{$2d+=Z_&w(-Y@p{ zn^<~j*jkJ}QJw!%*s{mR$y(V(p)?L$1a{nfv2f%Td;emejX!i{3h3Uzc9m`HaA-sx zexNk75smWPJJ4jpmyhv|V}}XXm_t)+1ypY(eC-lhHnB)nxH575EiNswHC>4{ygGaLE#H$bw<*^RX= zr6kuR!RWUbnenON1#JT0`GuMtDa|CKQcSK%T`FZ?&H6)8d zf2FKxk+*^+O0fJ+X3|OO(*$TeqqlPo%NOlRBUL%7_-{mr=8l>T#mYK_-%+_t0( zgp-+#S?FDC!RT3T;mOtAJh=15Hsy|y*s~j~25%5b+c|9UVml6K4(l~Fic=WA>T4U) zc7D;$l@~N$fV1U_(hKWn@a$lRQB2vM(_l2@-b3c=NQL$+dBRd9Z!o=KDgZAyHDCAU&Kvp)-|GD{a+~|JhhKv9pxjDnKB3Jrvm+vmEim zVPdgp@kH1Q>w&;38`{X{kz*b1!~1{X0@Iw*7)quCyGp|=&s8LTajajp2R&J6hqXpg z$3Du1D;C~4fZdmH;wg5?t=bHr>8CWY`x?}-X?|TiL-uq^X_z zDanF96Z$;QE;tIQw2f9tRAe5q;4CA+z02UZk5c?pGM)!@>iAb!WD_lt9oHr3B%a@tl@E;uQz2%2Oj_3#Gm zFwyO5+jM*RM4-jS+qoi_OQ}E*IC^@W+%WnS2$N#D$GXzWs>(=e<%aOPfEf~O5X90J zl`CY3JlYAnXPi28XBx4AwprIhm2~0bYIr&UXxUdj#fk9CCUTJB!;L_*=L74wY0sQI zWw-|)Cg#$O7p4<{X)KGcaH{x-na-D`tB$|Fzl5}EUi{3^HUOUAJ79JqwEgmx1Lkw_ zW6EP-{#CRQnUJ7(8~R|wOvLg;A09GNMpHQxw`)4;yN8)(S&=Z?Kw`26?Kub+UO6q+ zcnGoy06lVK!x4_seS4aR%<(#y9)7&!W01kUAe{O`M`VChbZ?^x^GkD!_EHL)oS zBRxu_i%6>$BSiCMPL5E?Kl2}>kYAVMFb{5iS$#)W?D2N>^R8=%e0zL)nB4mh!r10$ z3JLjwwU;0x6nB{n-gc6on&FlINVo}oAyCBLFM}>G{3A4f$@$<5rCfLGIX|Dq13Dz@ z&bzeNUfwV{aMb0ajEC{%hMGQUpZK+v zpXIxpk+^Zq9emAFZWdC1hcWDmH%H}3vv-!=Xo=%E8J2%_By9dJh*IiZdV2U%PI%O} zjfCIn^~1YVF-_gDR@TX$Pj9=3XEWD)t&9pi(z6#_s$gTIN?zLf@g2=dX#gun?I*u+aNQ8Bp@~2LAFK#EjIPLUA zR;?eFg)}*J8k9+jZsFDXw$${(k1Lx_4k++&N)7OA)w)Bu$ux3HPTaZL*jS4}+c<Fs;9dI@5q#gw{^So-vO+ z_WU7)1w!VhHl5(Kqg$jZZHiW6vs5(Q+8+)~%hA1iG_8id{^p4%M!v3XcOeoHHPLZ1 z5okJGScy%7c6} z%)+!KE0p0!98JEV?8$w=-jTOHA2;)Foi9l3g6HN>VFHg$2$ z9**!eBzJR(0<_>Eq1p0Ky~8tj^;t_pj;5K@$B;j>VpNz66*5nq0+86_mmt7 zc`r;KKBz9O=mKAG!Yu8P*BH#Wy4H zpi=`xq62ew4z8F_us3)rRCZD0BGSQ-#>=w9DS1j`@$?1qX0gix@U%Gmj-;T0PmQh@ zreMUDG~$OF>!7@vv_|(ZlZtmni#L~sFI4281P>;r}X8lT; zk2i(uOm2A}SM}W}4c<#uurunksxvYLlaouN*YLHIDYDak zH!Bl0jE?>}w;T%dj!vM*sbX!s&9dsI8WuNCJml!43HNdC+Wvc8 z7d&ekW{o^xvlLBit@rDly4YPh80bAOjp^o_VP39meh3EmEsp3SRKW+E@}*b8RIBbs zPQWhx4^@i%JVH>y2pXVX(0LDe>I{ttdd;UlwWxip za;5l;!M`H-bX66+G+Kp`uYj$9K<&+^_@v6TFTO`KC!~FWiG}Q?w&V)@&W=mK6bS~n z8>y)$8R!#H^P_h{0F`UiG%$cGkRuB6AztA;IxR0)SPzJ=nFeZVS(w6)*zgS-82C5u z?lnH6G|!+}k?8wY;}m+{z_d3)EfNHuY$Uz8oRTGU@ODGmzucgNqLPq!$vi)-Tcbmg z5+4%gW0iQ%?A~GPm?UsQk4}$s+ltaz)m&XC=HsT`&C;T58QI9sz0@R)PsRV$t8MXc zeN2*SVYmxtT-L;K=u2~NvRWzQTy@T0XPV}`)n6K^E0s3{v;JR@|bm?@3)srLlxX0v|6J+l+cu;M2j6qN{=PCvd>6JlD1W zxR<7V_w&-A+4hx9Q*xxG00~Bv{X39tXm@(f>?dr}I$7MNo`0;S2hZ3&eLUK({w{+dNs#~gyXkBkCKn#4QTjo0h> zZhw~hKVYjJ(3#5Ap9zJRrl~3PDi26MuKAxpycU9lpH6DqE-%5oH}j<n!;1)so{*~k$=6%)zy$`KJP`3qbY z$`q^K{HP%{X z=`;LS%lr?ns15{u^1XP03t!#jlolm;B&oByu4&et4-}8NRN^*zR^~piR8^-tw{FUvs3Z$MeuRg3smvP(OW$ww zV!^P)pT9oK%k_yrUt8P*U8gdWC>1~#XrJv1g-jFM zc6z8hH(TswOL|B+0SfPqXOl;@G<7at(CI(CX`r`WY?p%Kv-h~5o;5?^bKcGSSJ0x|ta>y^2QxTIw-174_^(FPj${L#`?93H?l5^9 zLW%yizt3MUD+~BD;fKJ}{9kfaSU^WGAVdbtky!d&yfE+m5DxaVFuS?2oVLvqGVYAY zsf~goN4YZ%BlcI5qYY3f=GFTm+9|O1!nibbzIU6ahEdCSuT}crb=p2}L<7(!JkdE9 z?OkPu14My;gILfMMtUb-czFM<>OFJ(LCoQCt}!?CJX8*g_=oHb)mmsu9@yRU`xX=Q z&BO*YC&<7!>|PO+FaF{?%nP(hOL@jcl!YTGJ6}u+%2in#+Z7ogdU8AM_9XdLt3dSv z4p6<+5CODX%R&I`8Ui-(UJd-=6~~4)y}9cB@&s}(@UQ(jJ@TQeIB^H~TP?6T;Vv!q z(t`#csp}jr<5~giY4C8MIRY8XG<1Yc{C<_!S2-P<8{8cUZy2eYO!~4rd*Z#KnAOow z?y}MZa2Tr`-;JA%a`h{iDq0-l^ZnJcaM%|Cy6cC>k#d3Na9%)cg9n*4&IA%`OV zdjx%V?)pEjqDN_WIp6}xc4*ctT?u|VGWC@Eaa1c@u5URvvWMwh>SBc){|Gn+nH#%R zr%RGWYkg0f=R1LygNxeP(B1co$i;(j?%%C{?~kl9@7jiCv~EjU57&mzzcJX416tAfc^t}Kwp1(7S>9&pexY7|_^H~Blw-t0erwmnhgeI_e2N&?!fpT#KDOV{kUOjv9@;SF z_V5GTU7k^j+iJ4`534`m4noniNg@X04ynAiB3I>sx55&j^C=h*^-JwcAtn-jr)yw` z#N0I#U%E*qNAAfBxk;pHT&14gF9^&W7d;Dr9}p^Ejdi7DLg;A^H>1yjKlRBYwli%;Pk@7t|kG_&mCoXq$gkg@P_9p-4&}&`%8Pf9_{WTB< z=cp+eaA$mI9_0@ei1?HM-jpRQk0dboXl+V**!=qwaFcc95*P+3=0VuM_if#e&V7dK zIqxm9Acj#|MF}6VHI`15IhG8CL^JD{fS@mde&teB+sH9sa`&xuV%dC$I<@Qxrl@ zyKWl)VcK42yJwwp-P|y4D=!c<+LbIzoXhqRZZEp_^wn5hpVr0hQGl~63{3_a{otd9 zk9tSlPjajN@Q^%&^#BZr6~mX*Nghm9r0V|weeUD^CfK-w_~Uu_<-xIDrja$oYMK|O zlGjh-P<`E(rVa)2JB&39)rz#M!?j>C`-%X_xcEq?bZ)|IPtE`znM1`$a8)C4sV`c$7bXa zS7V$1KG)oO!ANA9l?M664&V*pip&qb`=*6A*NZj<8u@FR-<-YL%Jck^9AUl#Xs+Q@!Y?g#+i z*X0O^$hNDOiy1d_#=>J<`()D>iO`WefXAas0?4Pp@SJ;SZNA?j+(^8n6i9a(p>PYV zg5&v{08^KL+hyEH6K&aO5Ib?M`}$ciTYBDnY&oB<=HU!a7tO3)R#6AbCoB^E#@EBH zq>s-@K?2xkn3Jh)AK;^j`#HF$%z*+Q1F-E?lmE^Am@@LMMULmGrOy^b&*cEn)WP2d%%(omeJ)<6U9O!VKl+PXpnqCnS^p&Zn@O{nZQgB zT0Wb8H^1eYxb=GRquc@x9CvjZ?f%KL9|^@xniIFj{a-odFGv(=TLBo|ag_6%EMD&4 z9Y9Y1IchVMWTOONaKA^{HHoDm2W`bNWTc_I%i>p&xJsM;Iw#{vfu{sR!f`|<%aQZ!m(yV&d zOS?bEX6p9=fzUE5SR&;oj?DMb8Sae;NMhvNBOc&qbh3rKyBh)1BX{z4SvYvzclppt zX-YAVYkBw93_8rs*{C=k$;o0(8rg49MH8WP0 zWt6KX{Df}&$*H%xaV(po>-tO6iI;FG7GP=p#cpMD2SBD7QuOE5L5*appn$axbV>VG zjCnp`;97x^(MKuB*zLSco(Sa*F?-{Vu1O%h*>mirs@UBQ%N1}9maB_D$ynP-FY+iT zN|XP(*vt78CutW2FIRs_=WLf*%)M>{O0cCyw4)z?CM_KBt_NHl7Dnw_<{xpnz8W|s>i%>;;3AI$BS}!{!i&%y1SxqbOtB6(_!&&9oKc^eS-*4~S(`3K zF%&5&lvH}VXr*g7a4rQ#GhRUQq8dM+UT!o|?N_7^`TExysbU?+RBODZ7A)}NhsS^n zv4;;X)Y=JH(OgxDA!97o;o=M5JU(Gxv*Abnm1892j-HnTLIc&?%s#FDsccbg{KG-Z z_k>9##{8NDj&i!GVb%>4Q)hKNY@f5j$%s$>sMXG(_{~(LlF>yHe4Cjh;MhjS(vXf! z$}#7phBKxtZnbfj7`a96PE+_F=be7hr@2eF`K&eM#IB7e3+5rZ3E^n_ykDIQc6|6z z1DhUU%iv!Iqn$+La0ZS(bF`gz@J@7~9q=ejlRE1*}Fjn#RBD>5c{X|G&MS;9=(%9 zuKTozFRG~FVG=D_IY?Vf*8l2>xc6%O^c%jeFH+(uvlKB)(*^4F16p403K_$LI6MtY z*v6fHQlD^eGBr8RN|{>Zqx~y#17y6~tJ{NjyBFs1B-R8Wscwla4FWi%qDm$A?o|D= zuCWI;O~Ytyhf4Pe>8nMfxET7JgUS4d-`b}3Tb9pKt{QEM`Lg5Y^}SE7pS;(P_V6+- zEZ#X7B#l|dsR_wblZBO$kVvj&S;Bcd?5W>}a~zWFq7|NsFf*Bxn#6J(uP5pW&||Q% z4Y1G%Ai5WNG$yAvurWVoCeiRe0ZyZ}*FM^KmMr*6QLaeJnak~D*glFPu>(Gr-zrHl zhR=fuBpVCJ^2t%t%UCuqDC7l?&@Fd`iz_jM6xQ)6i19Nd`nMd0C)quDl$B>yY=Y%EsVK1Ew&1g~l8gLOh3^RwsW{|cLJGZ~44Wn)cQ7jE#_y>YrRf$Tvy%s^XYQ+6DNgM|pC2vvbN>Lj|x-rWe zsJwoD6l$>6>Ha+o-T~$HLaK$-kmMz~vVO>w>B6CY1WV&IAm31_csuC`PvEvW;e z{S;xXg|fe`NE+T0*fD1FKHD&JeDrc++g?nvH-SpYHAY&vO`E)b+ zR4p7U)|<%BZ*@r3!S4kXtlcTQGNQ;6c88U^IL+5Ikk5w^lx>eYaxA|nUL&oki`A~j z$3=en?Q)KqXk|^Y4y_BHPro_vdPA*l%BcOuOG4$9d-0$RpsUa7;;a$aHv&xIL;mx90>WI6juu5=ZdPj=nZYXU5r%ocsJ%nT(oATJ=WXMQdYU zduK{!6j4V1<8V1|!(-C%LLR_FxdF93_ve7$kx8Q@0hVJ)0qB!eWd&Fol63?C)791k zUw$oF-85QB6Xf)P!;{gxSTm(wJ9R&9V3@#c}MJ{C8-c4K#l@~w(1@=eN z?ad{#Mp9&9;1#I3N;i;X+e^h)Ah4xCTX~U4XyT($`*Xc%yj548!fHouaY5gi6qE5w z%Ab0nQ>&lidwJfcypOKd=BarzD~-o{!2hI1S~PsHZY#cB4 zylCue)WA~KiqnfU`I>2uB%Q!FPWRxjYkeXfa65618Vc-+xECoJDD`vt!fcO!?o&(; zc9a<|SM&kArMkxYgUdc4N420fGTmKygTzK3i#bUwT?rZT=s0aE_tzNk+Q09Ow7krO zatXu<`i3?-nD&YZ%EKs!$h2tttrtC>42S*OPA(@f zpVRkeKSAg6Z2>xYBdX^f*$U2|*3P#3o7Fh>>0i>+`Sn46zm{m_6Q0c*+T=A|e^Q1Y zF?&o1Ws%Tt?6qri?tfL*B(?6Wl9a406`Q%3POu6;w#Fs^Z5 z9Qu-!I_EiD`VS*Q?Ww#d#g(7f&9HrmpB`>>9h8O7n!+({mVDEAJ*WCtAU=P!h38H&n;e~)_{Ky5{06f>$ zFjk&e=EIgM{E_Q!;8zb->O-FKO5@PexbSx(WV3nE@Hgl_x$c*-ZDw))x%hE7@gSfmj59R^CtltCu?(Qjnl#lF(MH9C zLDw6Io(@7K%pp$7UjM#}QnnI2@`HLvk>%5?ID~BEBqec1Lyqug(p}YTRAg{yB{L>s z8+0Y@lB>;84Z`VejOD0!a`7S?8-qOy|K`1ZyX(q8d_o@7 zr(r*x;C((0I&!p=z*HnO@^QO=exRHN$VSxUFs`Gx}*s*EBNE z>+kTvk|Z?%*j31}tIv>`{Af70#W~Rb5MSC`O(L*}&NE(EM?EUGe0+b1o$L+PXK2F@ysyiM!N?cE?{e@{F>~b>AOk<5-n&S;A2wf`AiSlBgD-& zXByZm)}#&WiU}WVNcWLvnxu^v*q0ld7=j3YXK^}r?q)UtqqeehOEKcIsYX;|tf z?;opP(R0k6p|Ns13+R6wJ_6qB z3;@4!2Pv{^yPoA{BN4*4)dji8S-S99`R_f6>sSI%7d3EHk=M@-Xbxg<=*h{MeD^3? zUnB!3;DBun76vrhR+ory;(e=dWFm5=d}oShVgXqNxulD!2YN>TQ+W_xMw2=d{TkHgKp2JkAOQR5 z{qr~s!}VSbcY8UdfT~@B{owbJ4o9a{H{l04;y)_CFD^yNiSyVQR`;?!Fn5E2Iw*tehhLpGpCkC=)K=NS{R7%Q2|k{Rm|>W=A0+%_ER%Yi3gtiSHD7&28q*^pbWpB z@ltPpWGNN`GA0l2ASA2d?kj|hx>V1FcdHb{c{^KllVIWuXTrB`I25v>zb0`KOC{xV z9ETiB`8W|ffu_9YpN+koTJ@_5aZ?ie!J^WyUMCmASF*^NvxUCm8FCcc z4(QvsMkpOHRD*^i8SHvfj)FF_w!9#Ln$=zH5)eQAl;Sy0y?^!hV$chi|LyRDA3SN$j*+ctZHq7iEt zbA|#KeAgch2&&KP`$jC@wRhcDY{rc7uL?Rf@9r(#xyy;{neY8L;WsQRFYsj$t&pRp z5j<*H`qphz(ey<%=~d7>LiZ+Aq?GT%6+}Ys#GHC(f=W~6((PVQwCRn!7I&uwopSRB zK1I40J1d)pw;l}pY|CIIeX(IKX}Vit-eAoO+j?N7;*g?;-sY-H0eiKQ}lY{Bg zF{&CafhffWViDa!zd1ARxdXCxGsEcQW@ds|rpDNnTM;nWk$>} zB=7aWWCNz2Fid1hJ#*I0n?E6_?XCY61<{ACBr>|sdU$AR5h-8!l04u$qKGJZkQdPAV zb=#ycePz7zF`43BpEcFSw5E$3-PpdnN?uizD5Y*>JJikY4qGIPQwIW>h2d@ARba<0 zXI%J2su>E4aNs?sk3Xtymn@jNsA0V0&^9ZpEi#e8T(u|l#s)=7k%br5ByHusr6k6p6CF3D#G>DcKCZhJ+^^Nj< z$WaSISgUJ+Jy+y_XaEpMs4_vWUQ?VU5pnxu*td@^B9Ir<53%nff4m%-fDh6peNt9y zKWnKP@4&w^(eP>c_Z^-1UL}e2i}yRu7Na4wsgwy&1|dAAtpnj{rWzj$?wjvEZ|q$L zjFyB}UAI+b%679%<$Qir(7))U$iwNdMCI9Ejf=20UV-xXMGon9I{RK_aa#^Uwo+;e zn`F;z>Ro$(&ZF~x2BZdx#PI1wRt2HoABPKZ&ZQ;?j|~;`=3L8Yg&%ZV*F(QDQhkNV z+I*{s8-Km%QCoa};!Z)H_2pGg_A#;rT@BI92UYG1y0*TCP{HF^?t2IO@oc~Z==|%% zD{${sre47J|9opzk{1YQAF}(2EWmt2a^;Oz9PMQ_ElY9*gdk|H`Eb)_)KS&yj9o9E z!+aY0dymewP_F3@!VQNL@!EGSB13~&^pqfJ6z-p1@74T?B<7bKWQZk<5>PS{u*(7x z+eUFR0t}4|_b@*w+@iPt#!asz>ua$Z*&va=0uTbBEds|FpEG-)F}sB^1nIl>2~?o>cL7QgDUu>jp>1Z7p-9v9v87ST~5DbfzdhIY{L5Nyit{%FM9o* zbxx&4^mjW|_@YfdYyjonaF4BWW#@Nua;)6(aRaDfBMj|;_SHYHF$Y{E=o5j_=g_9F zGhBOjdd%G-blfZ6M|D4H_qxtQ5Za1guRUxa!fn-I6O~RK7g3czwo#CG(mqUrMkMWG zz7OO$27f>=89SSm;FoXlpEJ?zW6fMY~dDI z4%Kw7&q)l9H2X>Pj$d=qfj8QDbP`;t-ca5CF}U37OlsN#>^ie>I?F}O*iflk7z zIXm=D>)YJHxLK1&pLbbAu44m_`CAYga|7jN%_f=Kp)8R0m}0Wl3P=s9`w@Km%af_P zr18&7S(b?s<;bg8hxC10k@>O`4|G}#!iiZuFEV8^ez8S~jS&UpOwp*xoT#G&4WX!h zeg2n==z{4y@70R-6TK)JN^5^2QX7WbUqMp#Oea1jJ{Piq{Ssn315rqsf;aDPjCT67 z{1wi4x)x_fz*mJK#Xmp8uLK~?@afV?9Uf#SwTMmfZ@tq0JQE@v#ir7|flt%;^)zJg zhp{vHnu#WF7#8IKpM=GzntuK-^W<9q!jQfWUTC@;W<8Y1rRQn+(Kr=hqtax!(D3IX zH`9f{oGOnz^1OA86V;T%@UIp{mVLapNd?M)zL&g;84#v{DxnB+r&%nnqfowJ-n(S`sFVy#9W>IANzZY&qC;C_U zmWQL(w-XWcP~BJ=3hpH95#aM(8~8QEcHF2wc8Tkmm>Q693>=q#Y};ObKR?H1I>IWt z%y;pC`8@A3LQ@~b@q&k)U?9OIR#i8})TWj2{R;P`sgbSPyDSN`%kZ$%I}hXJrhU9$ zKGR+Zt*2e@0yIFf3!4EXp-H@x?gxyG@+6p<T_IS5Lq|~Mc8YLZKT^H`d15cYf?Y*tg8-6* zuYoo!(mCiI3i7`{_&V9DQ}U7CSDqyomWv!t6YX}zKe1fsRw5)rkb!SH5oAtB4!6EX zbCA4?o0Z9LABycy6h~y+vv!BBJXSnT*2{}8yQn|1WIx+jW_v5nwfie} zTMkY5AHBds-yL3~+7{owOj;*z%RT>&>EB6(TU8H~fggsvOKxVmGs>y=yx*7h7W4N!5YgEU*#?&&wp z?0kMzuI6%1lfWR)g{g{Ihd*_SXgTrs^ed3bNw%n>oaz#G43!BGO|=kF z1QsLTVTP^8x4R(har$n;qeFc--vB(iy z*v(v=O%Z6#hZwz)EamC!#$QL%1aUBQ73N00v}@317TRbJD0tA4r+8cM9i-FAM_r*UjnrjWh zHEx8q=f68KCoJpN4oWVSDGjxlmhKUoJ7dPqLZa4h#@_RhH}eK7E1$fVD1RJ5vYOXQ zC;08*nW!tSqDj4q#10Cr_y%|bq}e#D{~CO35M5zd18Tg)zB{WKTcsLPQ7kLzR=62F z4N}A$8c?pKR-M&VGHlbKLA>|fEleIERcOk3k;uod9W7?7zn zZI?ifP}qRK5rVp}YV_HE#AHXB`5eRj(K?Z9--ID_-i4N?Z3$0M+e1YSGjtX}OEnkBEbz%DDH7v-RtfJ{Jkug8?#zXBp1$S8l6(x{FmIWJ;?P8&8s`*UrbX|s?~g~jNz3Ts@uwD^Pq0n0?}a5kpNYLjoTjR)VPb}f11)QCfD=&>`gR5WxpdM zl$UljA>fkjkt9T?!X(dWBS9hggxj3TkOeNy_TXOUQAHkm$nzOMA~ zg7oz-s`5lTw&Z&(TmD%`jP+bkM_ktNc=HCq?b|nJkCVN71o?;;&Xn-M#ZNg2(Gsdw zZ=y2RzkQ9v^<#E`WcUBURC*?7KMx04XfS-YIS6n_?mS^Y{qE3ME>03F)e0UD&KL`rE4 zzVsl^;5cTetu4#!`Lu{I^#!eh`qTH=0dZM^274*6KG}d&r9&~Ue!YgCeEiz$J6#97 z1d=?jE>-@vn4mVi{RN9;H2@x@*me=+0E=a$C~t?8#0)LXylIkOEHjJQMVqdi?`7cm zT!aK`cj-!fZn??KuvD0$<>csqTjxM&lLf2yn>d?o-f~EkG{P+KQxN|&y^TyeZQRCg zPY(Dc9Cm9UC_vHRL7PV3|7l*&Nn4dv3+lTMk>@ZFNME^JUJ5>8t#%77DK8m6VEJlX zy3)J9JFUvU#$+g9TdWb6(y`_Lt5s}L2b>jJJCv{zF!^1v#4>7_U4_=l4XR^Ib*OLX z{q@_>h675LjqC78FtimTwLqOp+H=38_nVK`X|_nT$3?h3k~`PhCAZ+8Gt)!Xo2F3S zQ$J;m5&a+ygW%;+<|FgBKQn=i)S9MQf}C%S&fh>m3IBNk)SG)C5R|+{k3E>DGRn1jwWk9({D-z(xG+VM8 z_#a1S!4_4!hEWj&Bt=xZOS(aZ2I=nZ?i#v8q`SMMySuv?x+Dc0hVG8Dzw-~~f|gE74x_GPh zzv8*c9u8c_m6cj#JZ(sUNBEey*)gv1+WX>V16n%Cv-M_!LbAfc$9oGmqSm)hB^8Rg z;yCC3B{5ds&g3>6)yWjYEK->| zFK^m`%@xVg@j+xPBF4mN+(Nakx6%S$MQuNpza-uw41tmLWLZ*vrQCSnQ7j`a{LZpPw&qCfN+uo-~?zZ`Ntj* zDJ__AIXrw&r^V&y~>@ofn|FOmT*|o!LG^ zgY5n2(a_EYo%JzuN%a|gijUcvZHUq@=pnvhVpqsZD~KvqUi*BkeB<}lNch`Yd1!5P zmNyi}!DbypNmOP1lejXv8*)R8s7f+CYQ@&%2lNq0p~t)K2S>?G*ut~n>6n4Dj=;3( zwr*D3Z~&xgQ6X#G&1*gxUCdmkK9?gsjuNdK=8Kib3jBKM;nH54IgIFc*W7EVZtJcw z;6Y%R;eU;0V&|3t9>W5W&+7#CEwsSWj2O0hSfxSF-#}6D_(=6C`5%+s3lO3&vw6VFC<6{<}fgFry zj=O%MK%|&MU)k`xOC31rau)_bv#Ochsyi3cVHNdAWmeU%#9rm_5!Fm^Vnq1He8;;N z-{iE*PrL8w&}aN(SI60RP1UT)a@PZnbSQF&My~#4IFy~@@!zhYYSY@T5B8kEV+tgy zYdgKOEAV{no8{ObcrCb5upinn$ zf{N~Jec9!(@;s_oL~p;ecf{G|sYYJM6&_(1U5_UUhgJ1%t9DCSYMXuWOEH4aCF(tx z{JW$u(-gUWV11izGz2Sr+9@Dv+GGOG-2tHQMpk=d{U-1(!99gK%Ze}I2(Z4$pEex{-2 zN!6$`j9QTDyQ7zZE&olPfZF!odEc=m+uL>fKXwgs(03a6Oy;v4JAr#Hpr#-*@Yth( zg4A$TvIv6Tf+bB+wyXI+QA^4Y6yl4+LOh$Zme3NqO(pB>P`u33Y@pmIw{3X-EmYY6 zgMODUmF6R331yuFyQ_%0YJMcP+V>!FY-f%9MW_!Zx6)xbG^{c4QnznL(;5d$|7^px zIjeEqXlt0pt*Z0Ji)f^>aR`6*jJYcC0Ei&-`ktG0aHF$N^3|_}*uYX)xHfIEJBv=c zpxM)-tpo+P#EVaueET07gZnziI>&`@Ohy=nFZZHb$T;zQxi^Bw>Gw#~3v zO$#JB+D(v`0=z3l(X;_h7=5@lF+lAV^}b=*Xam+&qYT%aoEH7~-`M#@lc5HLhbv%W&3%27$;O4h zZ|f`70Cj?WSN$xYs3=sQ)q*d+EO6<(K&8p3y3p)In7k1GY@ z0PO>|=aic@8=!nRTD&itu^AEk@NK4cv?#+y3zw23Rv{+s>p1=d!z&qgZsO-#V*u8*zD5vCo|D z8}OOPBg$)Dwq*o59={l1PXA&eO#0T%e0D|TSome7GID_;?=1(0Ya*=11p6M%1=&Ml zk1xWms4=#f^Zm}E^OuWgOpTNh+C3*~3pQ#akRhw6)_>-j9UfIVN5=ZKa9AreXHH?l z@s!nZ=ULak2;m^}5hfIE))K|FN(yXx=&iQlP+?n~7L+5N?}t+40|L_=~yd>ll#{UIF_t4om19FSgNikr5-kI=&W1B?@=5ZHU$?e~z|58ltvT#Q2`m>m21TZ>J|FgWE+BQY@wI{~im)y%bylI|HpN)&0- zEpR)T1h{+9uoV(dX<8L~fYnyMjQxasYE*I>7WmPgVh_^^5G5zI+2R7Z0Pam66+2iI z|BWW-z#3D8$N>b-mDTJ2)txqh$*nbjG-4G{`k9G^`y=Su8vT5~_UT zGAP}+2x}=7LQl`9uaW?NGk2BOtZ}%`{@*q5z_KhJod|=Y79c`ge*FrQxZt4?zAVt9?WMi?Qb($5FD+}DS|3;7zSDaItvCq_T_QY|!=3*t#KlUST z7#|Ww+=ctb~1sh{P7X{MJ>#Be^%k!EA?m}>?pHo$BtkhcC@AmhP%+z^;N$}4Zfav2lC zbiR+P#hc@nUV4p3I-ZR&aa%(z2!3g+6*!DX1#X^o2f%0Aggj>zQS0gx3|iW{YW9-m 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 literal 0 HcmV?d00001 diff --git a/source/uploads/avatar.jpg b/source/uploads/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5322603c0c0c43f7a914c3cb048b3e020f4b5fd8 GIT binary patch literal 30393 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«NexT» – Elegant and powerful theme for Hexo. + +

    Copyright © 2017 «NexT».

    + +

    Detail attribution information for «NexT»
    + is contained in the 'docs/AUTHORS.md' file.

    + + This program is free software; you can redistribute it and/or modify +it under the terms of the [GNU Affero General Public License version 3][AGPL3] +as published by the Free Software Foundation with the addition of the +following permission added to [Section 15][AGPL3-15] as permitted in [Section 7(a)][AGPL3-7]: +FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY «NEXT», +«NEXT» DISCLAIMS THE WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. + + This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Affero General Public License for more details. +You should have received a copy of the GNU Affero General Public License +along with this program; if not, see: https://www.gnu.org/licenses/agpl.txt + + In accordance with [Section 7(b)][AGPL3-7] of the GNU Affero General Public License: + +* a) It is not necessary to specify copyright in each source file of + this program because GitHub fully save commits of all modified files + with their authors and provides to see for this changes publicly. + +* b) For any part of the covered work in which the copyright not specified, + except of third party libraries ('[source/lib/*](source/lib)') and '\*custom.\*' files, + will mean this part owned by «NexT» in accord with terms in this file. + +* c) A covered work must retain «NexT» official website link + (https://theme-next.org) in footer section of every website created, + modified or manipulated by using «NexT». + «NexT» theme configuration must be: + ```yml + footer: + theme: + enable: true + ``` + Collaborators, best contributors and all authors specified in the + '[docs/AUTHORS.md][AUTHORS]' file of «NexT» repository under the + 'https://github.com/theme-next' organization can ignore theme info link + requirements. + +Anyone can be released from the requirements of the license by purchasing +a commercial license. Buying such a license is mandatory as soon as you +develop commercial activities involving the «NexT» software without +disclosing the source code of your own applications. +These activities include: + 1. Access to private repository with various premium features. + 2. Priority support for resolve all possible issues with «NexT». + 3. Priority support for implement all possible features to «NexT». + + For more information, please contact «NexT» Organization at this +address: support@theme-next.org + +

    This license also available in text format.

    + +[AUTHORS]: docs/AUTHORS.md +[AGPL3]: docs/AGPL3.md +[AGPL3-7]: docs/AGPL3.md/#7-additional-terms +[AGPL3-15]: docs/AGPL3.md/#15-disclaimer-of-warranty diff --git a/themes/next/README.md b/themes/next/README.md new file mode 100644 index 0000000..41ba79d --- /dev/null +++ b/themes/next/README.md @@ -0,0 +1,168 @@ +
    Language: :us: +:cn: +:ru:
    + +#
    e x T
    + +

    «NexT» is a high quality elegant Hexo theme. It is crafted from scratch with love.

    + +

    + + + + + + + +

    + +## Live Preview + +* :heart_decoration: Muse scheme: [LEAFERx](https://leaferx.online) | [Alex LEE](http://saili.science) | [Miaia](https://11.tt) +* :six_pointed_star: Mist scheme: [uchuhimo](http://uchuhimo.me) | [xirong](http://www.ixirong.com) +* :pisces: Pisces scheme: [Vi](http://notes.iissnan.com) | [Acris](https://acris.me) | [Jiaxi He](http://jiaxi.io) +* :gemini: Gemini scheme: [Ivan.Nginx](https://almostover.ru) | [Raincal](https://raincal.com) | [Dandy](https://dandyxu.me) + +More «NexT» examples [here](https://github.com/iissnan/hexo-theme-next/issues/119). + +## Installation + +Simplest way to install is by cloning the entire repository: + + ```sh + $ cd hexo + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + +Or you can see [detailed installation instructions][docs-installation-url] if you want any other variant. + +## Plugins + +In NexT config now you can find dependencies on each module which was moved to external repositories which can be found by [main organization link](https://github.com/theme-next). + +For example, if you want to use `fancybox` in your site, go to NexT config and see: + +```yml +# Fancybox +# Dependencies: https://github.com/theme-next/theme-next-fancybox +fancybox: false +``` + +Then turn on `fancybox` and go to «Dependencies» link with installation instructions of this module. + +### Exceptions + +If you use cdn for any plugins, you need to replace your cdn link. + +For example, if you want to use `fancybox` and you configured a cdn link, go to NexT config and see: + +```yml +vendors: + # ... + # Some contents... + # ... + fancybox: # Set or update fancybox cdn url. + fancybox_css: # Set or update fancybox cdn url. +``` + +Instead of defining [main organization link](https://github.com/theme-next) for updates. + +## Update + +You can update to latest master branch by the following command: + +```sh +$ cd themes/next +$ git pull +``` + +And if you see any error message during update (something like **«Commit your changes or stash them before you can merge»**), recommended to learn [Hexo data files][docs-data-files-url] feature.\ +However, you can bypass update errors by using the `Commit`, `Stash` or `Reset` commands for local changes. See [here](https://stackoverflow.com/a/15745424/5861495) how to do it. + +**If you want to update from v5.1.x to v6.0.x, read [here][docs-update-5-1-x-url].** + +## Known Bugs + +For those who also encounter **«[Error: Cannot find module 'hexo-util'](https://github.com/iissnan/hexo-theme-next/issues/1490)»**, please check your NPM version. + +* `> 3`: Still not work? Please remove `node_modules` directory and reinstall using `npm install`. +* `< 3`: Please add `hexo-util` explicitly via `npm install --save-dev hexo-util` to you site package deps. + +## Contributing + +Contribution is welcome, feel free to open an issue and fork. Waiting for your pull request. + +## Feedback + +* Ask a question on [Stack Overflow][stack-url]. +* Report a bug in [GitHub Issues][issues-bug-url]. +* Request a new feature on [GitHub][issues-feat-url]. +* Vote for [popular feature requests][feat-req-vote-url]. +* Join to our [Gitter][gitter-url] / [Riot][riot-url] / [Telegram][t-chat-url] chats. +* Follow us with [Telegram Channel][t-news-url] for latest news. + +## Third party applications + +* :triangular_flag_on_post: HexoEditor + +## Thanks + +

    +«NexT» send special thanks to these great services that sponsor our core infrastructure: +

    + +

    +

    + GitHub allows us to host the Git repository, Netlify allows us to distribute the documentation. +

    + +

    +

    + Crowdin allows us to translate conveniently the documentation. +

    + +

    +

    + Codacy allows us to run the test suite, BrowserStack allows us to test in real browsers. +

    + +[browser-image]: https://img.shields.io/badge/browser-%20chrome%20%7C%20firefox%20%7C%20opera%20%7C%20safari%20%7C%20ie%20%3E%3D%209-lightgrey.svg +[browser-url]: https://www.browserstack.com + +[stack-url]: https://stackoverflow.com/questions/tagged/theme-next +[issues-bug-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md +[issues-feat-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md +[feat-req-vote-url]: https://github.com/theme-next/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22+sort%3Areactions-%2B1-desc + +[gitter-url]: https://gitter.im/theme-next +[riot-url]: https://riot.im/app/#/room/#theme-next:matrix.org +[t-chat-url]: https://t.me/theme_next +[t-news-url]: https://t.me/theme_next_news + + + + + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest + +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[docs-installation-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/INSTALLATION.md +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/DATA-FILES.md +[docs-update-5-1-x-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/UPDATE-FROM-5.1.X.md + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): + + + +
    Ivan.Nginx
    Ivan.Nginx

    🐛 💻 📖 🤔 📝 👀 ⚠️ 🌍 🎨 🚇 🚧
    Alex LEE
    Alex LEE

    🐛 💻 📖 👀 ⚠️ 🌍
    Tsanie Lily
    Tsanie Lily

    🐛 💻 📖 👀 ⚠️ 🌍
    Wafer Li
    Wafer Li

    🐛 💻 📖 👀 ⚠️ 🌍
    Lawrence Ye
    Lawrence Ye

    🐛 💻 📖 👀 ⚠️ 🌍
    maple
    maple

    🐛 💻 📖 👀 ⚠️ 🌍
    Raincal
    Raincal

    🐛 💻 📖 👀 ⚠️
    Rainy
    Rainy

    🐛 💻 📖 👀 ⚠️ 🌍
    李皓奇
    李皓奇

    🐛 💻 📖 👀 ⚠️
    Nine
    Nine

    🐛 💻 📖 👀 ⚠️
    Clooooode
    Clooooode

    🐛 💻 📖
    Xu Song
    Xu Song

    🐛 💻 📖
    Jack Sullivan
    Jack Sullivan

    🐛 💻 📖
    dpyzo0o
    dpyzo0o

    🐛 💻 📖
    zhuzhuxia
    zhuzhuxia

    🐛 💻 📖
    kuleyu
    kuleyu

    🐛 💻 📖
    jdhao
    jdhao

    🐛 💻 📖
    AlbertGao
    AlbertGao

    🐛 💻 📖
    YoshinoriN
    YoshinoriN

    🐛 💻 📖
    Qi Zhao
    Qi Zhao

    🐛 💻 📖
    Henry Zhu
    Henry Zhu

    🐛 💻 📖
    CxyFreedom
    CxyFreedom

    🐛 💻 📖
    KaitoHH
    KaitoHH

    🐛 💻 📖
    赵俊
    赵俊

    🐛 💻 📖
    zyhang
    zyhang

    🐛 💻 📖
    Xiaolong Yang
    Xiaolong Yang

    🐛 💻 📖
    花蛄
    花蛄

    🐛 💻 📖
    hengyunabc
    hengyunabc

    🐛 💻 📖
    Fisher Chang
    Fisher Chang

    🐛 💻 📖
    Chanson Shen
    Chanson Shen

    🐛 💻 📖
    Thomas Yang
    Thomas Yang

    🐛 💻 📖
    Legendary Nacar
    Legendary Nacar

    🌍
    rikusen0335
    rikusen0335

    🌍
    Mr.J
    Mr.J

    🐛 💻 📖 🚇
    1v9
    1v9

    🐛 💻 📖 🌍 👀
    Mimi
    Mimi

    🐛 💻 📖 👀 🌍
    张强
    张强

    🐛 💻
    + + + +This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! diff --git a/themes/next/_config.yml b/themes/next/_config.yml new file mode 100644 index 0000000..f1e96d6 --- /dev/null +++ b/themes/next/_config.yml @@ -0,0 +1,1211 @@ +# --------------------------------------------------------------- +# Theme Core Configuration Settings +# See: https://theme-next.org/docs/theme-settings/ +# --------------------------------------------------------------- + +# If false, merge configs from `_data/next.yml` into default configuration (rewrite). +# If true, will fully override default configuration by options from `_data/next.yml` (override). Only for NexT settings. +# And if true, all config from default NexT `_config.yml` must be copied into `next.yml`. Use if you know what you are doing. +# Useful if you want to comment some options from NexT `_config.yml` by `next.yml` without editing default config. +override: false + +# Allow to cache content generation. Introduced in NexT v6.0.0. +cache: + enable: true + +# Redefine custom file paths. Introduced in NexT v6.0.2. If commented, will be used default custom file paths. +# For example, you want to put your custom styles file outside theme directory in root `source/_data`, set `styles: source/_data/styles.styl` +#custom_file_path: + # Default paths: layout/_custom/* + #head: source/_data/head.swig + #header: source/_data/header.swig + #sidebar: source/_data/sidebar.swig + + # Default path: source/css/_variables/custom.styl + #variables: source/_data/variables.styl + # Default path: source/css/_mixins/custom.styl + #mixins: source/_data/mixins.styl + # Default path: source/css/_custom/custom.styl + #styles: source/_data/styles.styl + + +# --------------------------------------------------------------- +# Site Information Settings +# See: https://theme-next.org/docs/getting-started/ +# --------------------------------------------------------------- + +favicon: + small: /images/favicon-16x16-next.png + medium: /images/favicon-32x32-next.png + apple_touch_icon: /images/apple-touch-icon-next.png + safari_pinned_tab: /images/logo.svg + #android_manifest: /images/manifest.json + #ms_browserconfig: /images/browserconfig.xml + +# Set rss to false to disable feed link. +# Leave rss as blank to use site's feed link, and install hexo-generator-feed: `npm install hexo-generator-feed --save`. +# Set rss to specific value if you have burned your feed already. +rss: + +footer: + # Specify the date when the site was setup. If not defined, current year will be used. + #since: 2015 + + # Icon between year and copyright info. + icon: + # Icon name in fontawesome, see: https://fontawesome.com/v4.7.0/icons/ + # `heart` is recommended with animation in red (#ff0000). + name: user + # If you want to animate the icon, set it to true. + animated: false + # Change the color of icon, using Hex Code. + color: "#808080" + + # If not defined, `author` from Hexo main config will be used. + copyright: + + powered: + # Hexo link (Powered by Hexo). + enable: true + # Version info of Hexo after Hexo link (vX.X.X). + version: false + + theme: + # Theme & scheme info link (Theme - NexT.scheme). + enable: true + # Version info of NexT after scheme info (vX.X.X). + version: false + + # Beian icp information for Chinese users. In China, every legal website should have a beian icp in website footer. + # http://www.beian.miit.gov.cn + beian: + enable: false + icp: + + # Any custom text can be defined here. + #custom_text: Hosted by Coding Pages + +# Creative Commons 4.0 International License. +# See: https://creativecommons.org/share-your-work/licensing-types-examples +# Available values of license: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero +# You can set a language value if you prefer a translated version of CC license. +# CC licenses are available in 39 languages, where you can find the specific and correct abbreviation you need. +# Valid values of language: deed.zh, deed.fr, deed.de, etc. +creative_commons: + license: by-nc-sa + sidebar: false + post: true + language: + +# `Follow me on GitHub` banner in the top-right corner. +github_banner: + enable: false + permalink: https://github.com/yourname + title: Follow me on GitHub + + +# --------------------------------------------------------------- +# SEO Settings +# --------------------------------------------------------------- + +# Disable Baidu transformation on mobile devices. +disable_baidu_transformation: false + +# Set a canonical link tag in your hexo, you could use it for your SEO of blog. +# See: https://support.google.com/webmasters/answer/139066 +# Tips: Before you open this tag, remember set up your URL in hexo _config.yml (e.g. url: http://yourdomain.com) +canonical: true + +# Change headers hierarchy on site-subtitle (will be main site description) and on all post / page titles for better SEO-optimization. +seo: false + +# If true, will add site-subtitle to index page, added in main hexo config. +# subtitle: Subtitle +index_with_subtitle: false + +# Automatically add external URL with BASE64 encrypt & decrypt. +exturl: false + +# Google Webmaster tools verification. +# See: https://www.google.com/webmasters +#google_site_verification: + +# Bing Webmaster tools verification. +# See: https://www.bing.com/webmaster +#bing_site_verification: + +# Yandex Webmaster tools verification. +# See: https://webmaster.yandex.ru +#yandex_site_verification: + +# Baidu Webmaster tools verification. +# See: https://ziyuan.baidu.com/site +#baidu_site_verification: + +# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO. +baidu_push: false + + +# --------------------------------------------------------------- +# Menu Settings +# --------------------------------------------------------------- + +# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash from link value (/archives -> archives). +# Usage: `Key: /link/ || icon` +# Key is the name of menu item. If the translation for this item is available, the translated text will be loaded, otherwise the Key name will be used. Key is case-senstive. +# Value before `||` delimeter is the target link. +# Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, question icon will be loaded. +# External url should start with http:// or https:// +menu: + home: / || home + #about: /about/ || user + #tags: /tags/ || tags + #categories: /categories/ || th + archives: /archives/ || archive + #schedule: /schedule/ || calendar + #sitemap: /sitemap.xml || sitemap + #commonweal: /404/ || heartbeat + +# Enable / Disable menu icons / item badges. +menu_settings: + icons: true + badges: false + + +# --------------------------------------------------------------- +# Scheme Settings +# --------------------------------------------------------------- + +# Schemes +#scheme: Muse +scheme: Mist +#scheme: Pisces +#scheme: Gemini + + +# --------------------------------------------------------------- +# Sidebar Settings +# See: https://theme-next.org/docs/theme-settings/sidebar +# --------------------------------------------------------------- + +# Posts / Categories / Tags in sidebar. +site_state: true + +# Social Links +# Usage: `Key: permalink || icon` +# Key is the link label showing to end users. +# Value before `||` delimeter is the target permalink. +# Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, globe icon will be loaded. +social: + GitHub: https://github.com/tsanie || github + E-Mail: mailto:me@tsanie.us || envelope + Weibo: https://weibo.com/tsorgy || weibo + #Google: https://plus.google.com/yourname || google + #Twitter: https://twitter.com/yourname || twitter + #FB Page: https://www.facebook.com/yourname || facebook + #VK Group: https://vk.com/yourname || vk + #StackOverflow: https://stackoverflow.com/yourname || stack-overflow + #YouTube: https://youtube.com/yourname || youtube + #Instagram: https://instagram.com/yourname || instagram + #Skype: skype:yourname?call|chat || skype + +social_icons: + enable: true + icons_only: false + transition: false + +# Blog rolls +links_icon: link +links_title: Links +links_layout: block +#links_layout: inline +links: + #Title: http://example.com + +# Sidebar Avatar +avatar: + # In theme directory (source/images): /images/avatar.gif + # In site directory (source/uploads): /uploads/avatar.gif + # You can also use other linking images. + url: /uploads/avatar.jpg + # If true, the avatar would be dispalyed in circle. + rounded: true + # The value of opacity should be choose from 0 to 1 to set the opacity of the avatar. + opacity: 1 + # If true, the avatar would be rotated with the cursor. + rotated: false + +# Table Of Contents in the Sidebar +toc: + enable: true + # Automatically add list number to toc. + number: true + # If true, all words will placed on next lines if header width longer then sidebar width. + wrap: false + # If true, all level of TOC in a post will be displayed, rather than the activated part of it. + expand_all: false + # Maximum heading depth of generated toc. You can set it in one post through `toc_max_depth` in Front-matter. + max_depth: 6 + +sidebar: + # Sidebar Position, available values: left | right (only for Pisces | Gemini). + position: left + #position: right + + # Manual define the sidebar width. If commented, will be default for: + # Muse | Mist: 320 + # Pisces | Gemini: 240 + #width: 300 + + # Sidebar Display, available values (only for Muse | Mist): + # - post expand on posts automatically. Default. + # - always expand for all pages automatically. + # - hide expand only when click on the sidebar toggle icon. + # - remove totally remove sidebar including sidebar toggle. + display: post + + # Sidebar offset from top menubar in pixels (only for Pisces | Gemini). + offset: 12 + # Enable sidebar on narrow view (only for Muse | Mist). + onmobile: false + # Click any blank part of the page to close sidebar (only for Muse | Mist). + dimmer: false + +back2top: + enable: true + # Back to top in sidebar. + sidebar: false + # Scroll percent label in b2t button. + scrollpercent: false + +# A button to open designated chat widget in sidebar. +# Firstly, you need enable the chat service you want to activate its sidebar button. +chat: + enable: false + #service: chatra + #service: tidio + icon: comment # icon in Font Awesome 4, set false to disable icon + text: Chat # button text, change it as you wish + + +# --------------------------------------------------------------- +# Post Settings +# See: https://theme-next.org/docs/theme-settings/posts +# --------------------------------------------------------------- + +# Set the text alignment in the posts. +text_align: + # Available values: start | end | left | right | center | justify | justify-all | match-parent + desktop: justify + mobile: justify + +# Automatically scroll page to section which is under mark. +scroll_to_more: true + +# Automatically saving scroll position on each post / page in cookies. +save_scroll: false + +# Automatically excerpt description in homepage as preamble text. +excerpt_description: true + +# Automatically Excerpt (Not recommend). +# Use in the post to control excerpt accurately. +auto_excerpt: + enable: false + length: 150 + +# Read more button +# If true, the read more button would be displayed in excerpt section. +read_more_btn: true + +# Post meta display settings +post_meta: + item_text: true + created_at: true + updated_at: + enable: true + another_day: true + categories: true + +# Post wordcount display settings +# Dependencies: https://github.com/theme-next/hexo-symbols-count-time +symbols_count_time: + separated_meta: true + item_text_post: true + item_text_total: false + awl: 4 + wpm: 275 + +codeblock: + # Manual define the border radius in codeblock, leave it blank for the default value: 1 + border_radius: + # Add copy button on codeblock + copy_button: + enable: false + # Show text copy result + show_result: false + # Style: only 'flat' is currently available, leave it blank if you prefer default theme + style: + +# Wechat Subscriber +wechat_subscriber: + enable: false + #qcode: /path/to/your/wechatqcode e.g. /uploads/wechat-qcode.jpg + #description: e.g. subscribe to my blog by scanning my public wechat account + +# Reward (Donate) +reward_settings: + # If true, reward would be displayed in every article by default. + # You can show or hide reward in a specific article throuth `reward: true | false` in Front-matter. + enable: false + animation: false + #comment: Donate comment here + +reward: + #wechatpay: /images/wechatpay.png + #alipay: /images/alipay.png + #bitcoin: /images/bitcoin.png + +# Related popular posts +# Dependencies: https://github.com/tea3/hexo-related-popular-posts +related_posts: + enable: false + title: # custom header, leave empty to use the default one + display_in_home: false + params: + maxCount: 5 + #PPMixingRate: 0.0 + #isDate: false + #isImage: false + #isExcerpt: false + +# Post edit +# Dependencies: https://github.com/hexojs/hexo-deployer-git +post_edit: + enable: false + url: https://github.com/user-name/repo-name/tree/branch-name/subdirectory-name # Link for view source. + #url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name # Link for fork & edit. + + +# --------------------------------------------------------------- +# Misc Theme Settings +# --------------------------------------------------------------- + +# Reduce padding / margin indents on devices with narrow width. +mobile_layout_economy: false + +# Android Chrome header panel color ($brand-bg / $headband-bg => $black-deep). +android_chrome_color: "#222" + +# Hide sticky headers and color the menu bar on Safari (iOS / macOS). +safari_rainbow: false + +# Optimize the display of scrollbars on webkit based browsers. +custom_scrollbar: false + +# Custom Logo +# Do not support Scheme Mist currently. +custom_logo: + enable: false + image: #/uploads/custom-logo.jpg + +# Code Highlight theme +# Available values: normal | night | night eighties | night blue | night bright +# https://github.com/chriskempson/tomorrow-theme +highlight_theme: normal + +# Enable "cheers" for archive page. +cheers: true + +# TagCloud settings for tags page. +tagcloud: + # If true, font size, font color and amount of tags can be customized + enable: false + # All values below are same as default, change them by yourself + min: 12 # min font size in px + max: 30 # max font size in px + start: "#ccc" # start color (hex, rgba, hsla or color keywords) + end: "#111" # end color (hex, rgba, hsla or color keywords) + amount: 200 # amount of tags, change it if you have more than 200 tags + + +# --------------------------------------------------------------- +# Font Settings. Introduced in NexT v5.0.1. +# Find fonts on Google Fonts (https://www.google.com/fonts) +# All fonts set here will have the following styles: +# light, light italic, normal, normal italic, bold, bold italic +# Be aware that setting too much fonts will cause site running slowly +# --------------------------------------------------------------- +# To avoid space between header and sidebar in scheme Pisces / Gemini, Web Safe fonts are recommended for `global` (and `logo`): +# Arial | Tahoma | Helvetica | Times New Roman | Courier New | Verdana | Georgia | Palatino | Garamond | Comic Sans MS | Trebuchet MS +# --------------------------------------------------------------- + +font: + enable: false + + # Uri of fonts host, e.g. //fonts.googleapis.com (Default). + host: + + # Font options: + # `external: true` will load this font family from `host` above. + # `family: Times New Roman`. Without any quotes. + # `size: xx`. Use `px` as unit. + + # Global font settings used for all elements in . + global: + external: true + family: Lato + size: + + # Font settings for Headlines (H1, H2, H3, H4, H5, H6). + # Fallback to `global` font settings. + headings: + external: true + family: + size: + + # Font settings for posts. + # Fallback to `global` font settings. + posts: + external: true + family: + + # Font settings for Logo. + # Fallback to `global` font settings. + logo: + external: true + family: + size: + + # Font settings for and code blocks. + codes: + external: true + family: + size: + + +# --------------------------------------------------------------- +# Third Party Services Settings +# See: https://theme-next.org/docs/third-party-services/ +# You may need to install dependencies or set CDN URLs in `vendors` +# There are two different CDN providers by default: +# - jsDelivr (cdn.jsdelivr.net), works everywhere even in China +# - CDNJS (cdnjs.cloudflare.com), provided by cloudflare +# --------------------------------------------------------------- + +# Math Equations Render Support +math: + enable: false + + # Default (true) will load mathjax / katex script on demand. + # That is it only render those page which has `mathjax: true` in Front-matter. + # If you set it to false, it will load mathjax / katex srcipt EVERY PAGE. + per_page: true + + engine: mathjax + #engine: katex + + # hexo-renderer-pandoc (or hexo-renderer-kramed) needed to full MathJax support. + mathjax: + cdn: //cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML + #cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML + + # See: https://mhchem.github.io/MathJax-mhchem/ + #mhchem: //cdn.jsdelivr.net/npm/mathjax-mhchem@3 + #mhchem: //cdnjs.cloudflare.com/ajax/libs/mathjax-mhchem/3.3.0 + + # hexo-renderer-markdown-it-plus (or hexo-renderer-markdown-it with markdown-it-katex plugin) needed to full Katex support. + katex: + cdn: //cdn.jsdelivr.net/npm/katex@0/dist/katex.min.css + #cdn: //cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css + + copy_tex: + # See: https://github.com/KaTeX/KaTeX/tree/master/contrib/copy-tex + enable: false + copy_tex_js: //cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.js + copy_tex_css: //cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.css + +# Han Support +# Dependencies: https://github.com/theme-next/theme-next-han +han: false + +# Pangu Support +# Dependencies: https://github.com/theme-next/theme-next-pangu +# For more information: https://github.com/vinta/pangu.js +pangu: false + +# Quicklink Support +# Dependencies: https://github.com/theme-next/theme-next-quicklink +# Visit https://github.com/GoogleChromeLabs/quicklink for details +quicklink: + enable: false + + # Quicklink (quicklink.umd.js script) is loaded on demand + # Add `quicklink: true` in Front-matter of the page or post you need + # Home page and archive page can be controlled through home and archive options below + home: true + archive: true + + # Default (true) will initialize quicklink after the load event fires + delay: true + # Custom a time in milliseconds by which the browser must execute prefetching + timeout: 3000 + # Default (true) will enable fetch() or falls back to XHR + priority: true + + # For more flexibility you can add some patterns (RegExp, Function, or Array) to ignores + # See: https://github.com/GoogleChromeLabs/quicklink#custom-ignore-patterns + # Leave ignores as empty if you don't understand what it means + # Example: + # ignores: + # - /\/api\/?/ + # - uri => uri.includes('.xml') + # - (uri, el) => el.hasAttribute('noopener') + ignores: + +# Bookmark Support +# Dependencies: https://github.com/theme-next/theme-next-bookmark +bookmark: + enable: false + # If auto, save the reading position when closing the page or clicking the bookmark-icon. + # If manual, only save it by clicking the bookmark-icon. + save: auto + +# Reading progress bar +# Dependencies: https://github.com/theme-next/theme-next-reading-progress +reading_progress: + enable: false + color: "#37c6c0" + height: 2px + +# Google Calendar +# Share your recent schedule to others via calendar page. +# API Documentation: https://developers.google.com/google-apps/calendar/v3/reference/events/list +# To get api_key: https://console.developers.google.com +# Create & manage a public Google calendar: https://support.google.com/calendar/answer/37083 +calendar: + enable: false + calendar_id: # Your Google account E-Mail + api_key: + orderBy: startTime + offsetMax: 24 # Time Range + offsetMin: 4 # Time Range + showDeleted: false + singleEvents: true + maxResults: 250 + + +# --------------------------------------------------------------- +# Comments and Widgets +# See: https://theme-next.org/docs/third-party-services/comments-and-widgets +# --------------------------------------------------------------- + +# Disqus +disqus: + enable: false + shortname: + count: true + lazyload: false + +# DisqusJS +# Alternative Disqus - Render comment component using Disqus API +# Demo: https://suka.js.org/DisqusJS/ +disqusjs: + enable: false + # API Endpoint of Disqus API (https://disqus.com/api/) + # leave api empty if you are able to connect to Disqus API + # otherwise you need a reverse proxy for Disqus API + # For example: + # api: https://disqus.skk.moe/disqus/ + api: + apikey: # register new application from https://disqus.com/api/applications/ + shortname: # See: https://disqus.com/admin/settings/general/ + +# Changyan +changyan: + enable: false + appid: + appkey: + +# Valine +# You can get your appid and appkey from https://leancloud.cn +# More info available at https://valine.js.org +valine: + enable: false # When enable is set to be true, leancloud_visitors is recommended to be closed for the re-initialization problem within different leancloud adk version. + appid: # your leancloud application appid + appkey: # your leancloud application appkey + notify: false # mail notifier, See: https://github.com/xCss/Valine/wiki + verify: false # Verification code + placeholder: Just go go # comment box placeholder + avatar: mm # gravatar style + guest_info: nick,mail,link # custom comment header + pageSize: 10 # pagination size + language: # language, available values: en, zh-cn + visitor: false # leancloud-counter-security is not supported for now. When visitor is set to be true, appid and appkey are recommended to be the same as leancloud_visitors' for counter compatibility. Article reading statistic https://valine.js.org/visitor.html + comment_count: true # if false, comment count will only be displayed in post page, not in home page + +# LiveRe comments system +# You can get your uid from https://livere.com/insight/myCode (General web site) +#livere_uid: your uid + +# Gitment +# Introduction: https://github.com/imsun/gitment +gitment: + enable: false + mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway + count: true # Show comments count in post meta area + lazy: false # Comments lazy loading with a button + cleanly: false # Hide 'Powered by ...' on footer, and more + language: # Force language, or auto switch by theme + github_user: # MUST HAVE, Your Github Username + github_repo: # MUST HAVE, The name of the repo you use to store Gitment comments + client_id: # MUST HAVE, Github client id for the Gitment + client_secret: # EITHER this or proxy_gateway, Github access secret token for the Gitment + proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect + redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled + +# Gitalk +# Demo: https://gitalk.github.io +gitalk: + enable: false + github_id: # Github repo owner + repo: # Repository name to store issues + client_id: # Github Application Client ID + client_secret: # Github Application Client Secret + admin_user: # GitHub repo owner and collaborators, only these guys can initialize github issues + distraction_free_mode: true # Facebook-like distraction free mode + # Gitalk's display language depends on user's browser or system environment + # If you want everyone visiting your site to see a uniform language, you can set a force language value + # Available values: en, es-ES, fr, ru, zh-CN, zh-TW + language: + + +# --------------------------------------------------------------- +# Content Sharing Services +# See: https://theme-next.org/docs/third-party-services/content-sharing-services +# --------------------------------------------------------------- + +# Baidu Share +# Available values: button | slide +# Warning: Baidu Share does not support https. +#baidushare: +## type: button + +# AddThis Share, See: https://www.addthis.com +# Go to https://www.addthis.com/dashboard to customize your tools. +#add_this_id: + +# Likely Share +# See: https://ilyabirman.net/projects/likely/ +# Likely supports four looks, nine social networks, any button text +# You are free to modify the text value and order of any network +likely: + enable: false + look: normal # available values: normal, light, small, big + networks: + twitter: Tweet + facebook: Share + linkedin: Link + gplus: Plus + vkontakte: Share + odnoklassniki: Class + telegram: Send + whatsapp: Send + pinterest: Pin + +# NeedMoreShare2 +# Dependencies: https://github.com/theme-next/theme-next-needmoreshare2 +# iconStyle: default | box +# boxForm: horizontal | vertical +# position: top / middle / bottom + Left / Center / Right +# networks: +# Weibo,Wechat,Douban,QQZone,Twitter,Facebook,Linkedin,Mailto,Reddit,Delicious,StumbleUpon,Pinterest, +# GooglePlus,Tumblr,GoogleBookmarks,Newsvine,Evernote,Friendfeed,Vkontakte,Odnoklassniki,Mailru +needmoreshare2: + enable: false + postbottom: + enable: false + options: + iconStyle: box + boxForm: horizontal + position: bottomCenter + networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook + float: + enable: false + options: + iconStyle: box + boxForm: horizontal + position: middleRight + networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook + + +# --------------------------------------------------------------- +# Statistics and Analytics +# See: https://theme-next.org/docs/third-party-services/statistics-and-analytics +# --------------------------------------------------------------- + +# Baidu Analytics ID +#baidu_analytics: + +# Growingio Analytics ID +# Copyright 2015-2018 GrowingIO, Inc. More info available at https://www.growingio.com +#growingio_analytics: #your projectId + +# Google Analytics +#google_analytics: +# tracking_id: +# localhost_ignored: true + +# CNZZ count +#cnzz_siteid: + +# Application Insights +# See: https://azure.microsoft.com/en-us/services/application-insights +#application_insights: + +# Post widgets & FB/VK comments settings. +# --------------------------------------------------------------- +# Facebook SDK Support +facebook_sdk: + enable: false + app_id: # + fb_admin: # + like_button: #true + webmaster: #true + +# Facebook comments plugin +# This plugin depends on Facebook SDK. +# If facebook_sdk.enable is false, Facebook comments plugin is unavailable. +facebook_comments_plugin: + enable: false + num_of_posts: 10 # min posts num is 1 + width: 100% # default width is 550px + scheme: light # default scheme is light (light or dark) + +# VKontakte API Support +# To get your AppID visit https://vk.com/editapp?act=create +vkontakte_api: + enable: false + app_id: # + like: true + comments: true + num_of_posts: 10 + +# Star rating support to each article. +# To get your ID visit https://widgetpack.com +rating: + enable: false + id: # + color: fc6423 +# --------------------------------------------------------------- + +# Show number of visitors to each article. +# You can visit https://leancloud.cn to get AppID and AppKey. +leancloud_visitors: + enable: false + app_id: # + app_key: # + # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security + # If you don't care about security in leancloud counter and just want to use it directly + # (without hexo-leancloud-counter-security plugin), set `security` to `false`. + security: true + betterPerformance: false + +# Another tool to show number of visitors to each article. +# Visit https://console.firebase.google.com/u/0/ to get apiKey and projectId. +# Visit https://firebase.google.com/docs/firestore/ to get more information about firestore. +firestore: + enable: false + collection: articles #required, a string collection name to access firestore database + apiKey: #required + projectId: #required + bluebird: false #enable this if you want to include bluebird 3.5.1(core version) Promise polyfill + +# Show Views / Visitors of the website / page with busuanzi. +# Get more information on http://ibruce.info/2015/04/04/busuanzi +busuanzi_count: + enable: false + total_visitors: true + total_visitors_icon: user + total_views: true + total_views_icon: eye + post_views: true + post_views_icon: eye + +# Tencent analytics ID +#tencent_analytics: + +# Tencent MTA ID +#tencent_mta: + + +# --------------------------------------------------------------- +# Search Services +# See: https://theme-next.org/docs/third-party-services/search-services +# --------------------------------------------------------------- + +# Algolia Search +# See: https://theme-next.org/docs/third-party-services/search-services#Algolia-Search +# Dependencies: https://github.com/theme-next/theme-next-algolia-instant-search +algolia_search: + enable: false + hits: + per_page: 10 + labels: + input_placeholder: Search for Posts + hits_empty: "We didn't find any results for the search: ${query}" + hits_stats: "${hits} results found in ${time} ms" + +# Local search +# Dependencies: https://github.com/theme-next/hexo-generator-searchdb +local_search: + enable: false + # If auto, trigger search by changing input. + # If manual, trigger search by pressing enter key or search button. + trigger: auto + # Show top n results per article, show all results by setting to -1 + top_n_per_article: 1 + # Unescape html strings to the readable one. + unescape: false + +# Swiftype Search API Key +#swiftype_key: + + +# --------------------------------------------------------------- +# Chat Services +# See: https://theme-next.org/docs/third-party-services/chat-services +# --------------------------------------------------------------- + +# Chatra Support +# See: https://chatra.io +# Dashboard: https://app.chatra.io/settings/general +chatra: + enable: false + async: true + id: # visit Dashboard to get your ChatraID + #embed: # unfinished experimental feature for developers, See: https://chatra.io/help/api/#injectto + +# Tidio Support +# See: https://www.tidiochat.com +# Dashboard: https://www.tidiochat.com/panel/dashboard +tidio: + enable: false + key: # Public Key, get it from Dashboard, See: https://www.tidiochat.com/panel/settings/developer + + +# --------------------------------------------------------------- +# Tags Settings +# See: https://theme-next.org/docs/tag-plugins/ +# --------------------------------------------------------------- + +# Note tag (bs-callout) +note: + # Note tag style values: + # - simple bs-callout old alert style. Default. + # - modern bs-callout new (v2-v3) alert style. + # - flat flat callout style with background, like on Mozilla or StackOverflow. + # - disabled disable all CSS styles import of note tag. + style: simple + icons: false + border_radius: 3 + # Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6). + # Offset also applied to label tag variables. This option can work with disabled note tag. + light_bg_offset: 0 + +# Tabs tag +tabs: + enable: true + transition: + tabs: false + labels: true + border_radius: 0 + +# PDF tag, requires two plugins: pdfObject and pdf.js +# pdfObject will try to load pdf files natively, if failed, pdf.js will be used. +# The following `cdn` setting is only for pdfObject, because cdn for pdf.js might be blocked by CORS policy. +# So, you must install the dependency of pdf.js if you want to use pdf tag and make it available to all browsers. +# See: https://github.com/theme-next/theme-next-pdf +pdf: + enable: false + # Default height + height: 500px + pdfobject: + cdn: //cdn.jsdelivr.net/npm/pdfobject@2/pdfobject.min.js + #cdn: //cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js + +# Mermaid tag +mermaid: + enable: false + # Available themes: default | dark | forest | neutral + theme: forest + cdn: //cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js + #cdn: //cdnjs.cloudflare.com/ajax/libs/mermaid/8.0.0/mermaid.min.js + + +# --------------------------------------------------------------- +# Animation Settings +# --------------------------------------------------------------- + +# Use velocity to animate everything. +motion: + enable: false + async: false + transition: + # Transition variants: + # fadeIn | fadeOut | flipXIn | flipXOut | flipYIn | flipYOut | flipBounceXIn | flipBounceXOut | flipBounceYIn | flipBounceYOut + # swoopIn | swoopOut | whirlIn | whirlOut | shrinkIn | shrinkOut | expandIn | expandOut + # bounceIn | bounceOut | bounceUpIn | bounceUpOut | bounceDownIn | bounceDownOut | bounceLeftIn | bounceLeftOut | bounceRightIn | bounceRightOut + # slideUpIn | slideUpOut | slideDownIn | slideDownOut | slideLeftIn | slideLeftOut | slideRightIn | slideRightOut + # slideUpBigIn | slideUpBigOut | slideDownBigIn | slideDownBigOut | slideLeftBigIn | slideLeftBigOut | slideRightBigIn | slideRightBigOut + # perspectiveUpIn | perspectiveUpOut | perspectiveDownIn | perspectiveDownOut | perspectiveLeftIn | perspectiveLeftOut | perspectiveRightIn | perspectiveRightOut + post_block: fadeIn + post_header: slideDownIn + post_body: slideDownIn + coll_header: slideLeftIn + # Only for Pisces | Gemini. + sidebar: slideUpIn + +# Fancybox. There is support for old version 2 and new version 3. +# Choose only one variant, do not need to install both. +# To install 2.x: https://github.com/theme-next/theme-next-fancybox +# To install 3.x: https://github.com/theme-next/theme-next-fancybox3 +fancybox: false + +# Polyfill to remove click delays on browsers with touch UIs. +# Dependencies: https://github.com/theme-next/theme-next-fastclick +fastclick: false + +# Vanilla JavaScript plugin for lazyloading images. +# Dependencies: https://github.com/theme-next/theme-next-jquery-lazyload +lazyload: false + +# Progress bar in the top during page loading. +# Dependencies: https://github.com/theme-next/theme-next-pace +pace: false +# Themes list: +# pace-theme-big-counter | pace-theme-bounce | pace-theme-barber-shop | pace-theme-center-atom +# pace-theme-center-circle | pace-theme-center-radar | pace-theme-center-simple | pace-theme-corner-indicator +# pace-theme-fill-left | pace-theme-flash | pace-theme-loading-bar | pace-theme-mac-osx | pace-theme-minimal +pace_theme: pace-theme-minimal + +# Canvas-nest +# Dependencies: https://github.com/theme-next/theme-next-canvas-nest +canvas_nest: + enable: false + onmobile: true # display on mobile or not + color: "0,0,255" # RGB values, use ',' to separate + opacity: 0.5 # the opacity of line: 0~1 + zIndex: -1 # z-index property of the background + count: 99 # the number of lines + +# JavaScript 3D library. +# Dependencies: https://github.com/theme-next/theme-next-three +# three_waves +three_waves: false +# canvas_lines +canvas_lines: false +# canvas_sphere +canvas_sphere: false + +# Canvas-ribbon +# Dependencies: https://github.com/theme-next/theme-next-canvas-ribbon +# size: The width of the ribbon. +# alpha: The transparency of the ribbon. +# zIndex: The display level of the ribbon. +canvas_ribbon: + enable: false + size: 300 + alpha: 0.6 + zIndex: -1 + + +#! --------------------------------------------------------------- +#! DO NOT EDIT THE FOLLOWING SETTINGS +#! UNLESS YOU KNOW WHAT YOU ARE DOING +#! See: https://theme-next.org/docs/advanced-settings +#! --------------------------------------------------------------- + +# Script Vendors. Set a CDN address for the vendor you want to customize. +# For example +# jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js +# Be aware that you would better use the same version as internal ones to avoid potential problems. +# Please use the https protocol of CDN files when you enable https on your site. +vendors: + # Internal path prefix. Please do not edit it. + _internal: lib + + # Internal version: 2.1.3 + # Example: + # jquery: //cdn.jsdelivr.net/npm/jquery@2/dist/jquery.min.js + # jquery: //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js + jquery: //cdn.jsdelivr.net/npm/jquery@2/dist/jquery.min.js + + # Internal version: 2.1.5 & 3.5.7 + # See: https://fancyapps.com/fancybox + # Example: + # fancybox: //cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js + # fancybox: //cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.js + # fancybox_css: //cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css + # fancybox_css: //cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.css + fancybox: + fancybox_css: + + # Internal version: 1.0.6 + # See: https://github.com/ftlabs/fastclick + # Example: + # fastclick: //cdn.jsdelivr.net/npm/fastclick@1/lib/fastclick.min.js + # fastclick: //cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js + fastclick: + + # Internal version: 1.9.7 + # See: https://github.com/tuupola/jquery_lazyload + # Example: + # lazyload: //cdn.jsdelivr.net/npm/jquery-lazyload@1/jquery.lazyload.min.js + # lazyload: //cdnjs.cloudflare.com/ajax/libs/jquery_lazyload/1.9.7/jquery.lazyload.min.js + lazyload: + + # Internal version: 1.2.1 + # See: http://velocityjs.org + # Example: + # velocity: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.min.js + # velocity: //cdnjs.cloudflare.com/ajax/libs/velocity/1.2.1/velocity.min.js + # velocity_ui: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.ui.min.js + # velocity_ui: //cdnjs.cloudflare.com/ajax/libs/velocity/1.2.1/velocity.ui.min.js + velocity: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.min.js + velocity_ui: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.ui.min.js + + # Internal version: 4.6.2 + # See: https://fontawesome.com + # Example: + # fontawesome: //cdn.jsdelivr.net/npm/font-awesome@4/css/font-awesome.min.css + # fontawesome: //cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.2/css/font-awesome.min.css + fontawesome: //cdn.jsdelivr.net/npm/font-awesome@4/css/font-awesome.min.css + + # Internal version: 2.10.4 + # See: https://www.algolia.com + # Example: + # algolia_instant_js: //cdn.jsdelivr.net/npm/instantsearch.js@2/dist/instantsearch.js + # algolia_instant_css: //cdn.jsdelivr.net/npm/instantsearch.js@2/dist/instantsearch.min.css + algolia_instant_js: + algolia_instant_css: + + # Internal version: 1.0.2 + # See: https://github.com/HubSpot/pace + # Example: + # pace: //cdn.jsdelivr.net/npm/pace-js@1/pace.min.js + # pace: //cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js + # pace_css: //cdn.jsdelivr.net/npm/pace-js@1/themes/blue/pace-theme-minimal.css + # pace_css: //cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/themes/blue/pace-theme-minimal.min.css + pace: + pace_css: + + # Internal version: 1.0.0 + # See: https://github.com/theme-next/theme-next-canvas-nest + # Example: + # canvas_nest: //cdn.jsdelivr.net/gh/theme-next/theme-next-canvas-nest@1/canvas-nest.min.js + # canvas_nest_nomobile: //cdn.jsdelivr.net/gh/theme-next/theme-next-canvas-nest@1/canvas-nest-nomobile.min.js + canvas_nest: + canvas_nest_nomobile: + + # Internal version: 1.0.0 + # See: https://github.com/theme-next/theme-next-three + # Example: + # three: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/three.min.js + # three_waves: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/three-waves.min.js + # canvas_lines: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/canvas_lines.min.js + # canvas_sphere: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/canvas_sphere.min.js + three: + three_waves: + canvas_lines: + canvas_sphere: + + # Internal version: 1.0.0 + # See: https://github.com/zproo/canvas-ribbon + # Example: + # canvas_ribbon: //cdn.jsdelivr.net/gh/theme-next/theme-next-canvas-ribbon@1/canvas-ribbon.js + canvas_ribbon: + + # Internal version: 3.3.0 + # See: https://github.com/ethantw/Han + # Example: + # han: //cdn.jsdelivr.net/npm/han-css@3/dist/han.min.css + # han: //cdnjs.cloudflare.com/ajax/libs/Han/3.3.0/han.min.css + han: + + # Internal version: 4.0.7 + # See: https://github.com/vinta/pangu.js + # Example: + # pangu: //cdn.jsdelivr.net/npm/pangu@4/dist/browser/pangu.min.js + # pangu: //cdnjs.cloudflare.com/ajax/libs/pangu/4.0.7/pangu.min.js + pangu: + + # Internal version: 1.0.0 + # See: https://github.com/GoogleChromeLabs/quicklink + # Example: + # quicklink: //cdn.jsdelivr.net/npm/quicklink@1/dist/quicklink.umd.js + quicklink: + + # Internal version: 1.0.0 + # See: https://github.com/revir/need-more-share2 + # Example: + # needmoreshare2_js: //cdn.jsdelivr.net/gh/theme-next/theme-next-needmoreshare2@1/needsharebutton.min.js + # needmoreshare2_css: //cdn.jsdelivr.net/gh/theme-next/theme-next-needmoreshare2@1/needsharebutton.min.css + needmoreshare2_js: + needmoreshare2_css: + + # Internal version: 1.0.0 + # See: https://github.com/theme-next/theme-next-bookmark + # Example: + # bookmark: //cdn.jsdelivr.net/gh/theme-next/theme-next-bookmark@1/bookmark.min.js + bookmark: + + # Internal version: 1.1 + # See: https://github.com/theme-next/theme-next-reading-progress + # Example: + # reading_progress: //cdn.jsdelivr.net/gh/theme-next/theme-next-reading-progress@1/reading_progress.min.js + reading_progress: + + # leancloud-storage + # See: https://www.npmjs.com/package/leancloud-storage + # Example: + # leancloud: //cdn.jsdelivr.net/npm/leancloud-storage@3/dist/av-min.js + leancloud: + + # valine + # See: https://github.com/xCss/Valine + # Example: + # valine: //cdn.jsdelivr.net/npm/valine@1/dist/Valine.min.js + # valine: //cdnjs.cloudflare.com/ajax/libs/valine/1.3.4/Valine.min.js + valine: + + # gitalk & js-md5 + # See: https://github.com/gitalk/gitalk, https://github.com/emn178/js-md5 + # Example: + # gitalk_js: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js + # gitalk_css: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css + # md5: //cdn.jsdelivr.net/npm/js-md5@0/src/md5.min.js + gitalk_js: + gitalk_css: + md5: + + # likely + # See: https://github.com/ilyabirman/Likely + # Example: + # likely_js: //cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.js + # likely_css: //cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.css + likely_js: + likely_css: + + # DisqusJS + # See: https://github.com/SukkaW/DisqusJS + # Example: + # disqusjs_js: //cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js + # disqusjs_css: //cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css + disqusjs_js: + disqusjs_css: + +# Assets +css: css +js: js +images: images diff --git a/themes/next/bower.json b/themes/next/bower.json new file mode 100644 index 0000000..83c6aa8 --- /dev/null +++ b/themes/next/bower.json @@ -0,0 +1,30 @@ +{ + "name": "theme-next", + "version": "7.1.1", + "homepage": "https://theme-next.org", + "authors": [ + "NexT (https://theme-next.org)" + ], + "description": "Elegant theme for Hexo", + "repository": "https://github.com/theme-next/hexo-theme-next", + "keywords": [ + "hexo", + "theme", + "next" + ], + "license": "AGPL", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "source/lib", + "test", + "tests", + "screenshots" + ], + "dependencies": { + "font-awesome": "fontawesome#*", + "jquery": "http://code.jquery.com/jquery-2.1.3.min.js", + "velocity": "~1.2.1" + } +} diff --git a/themes/next/crowdin.yml b/themes/next/crowdin.yml new file mode 100644 index 0000000..be97306 --- /dev/null +++ b/themes/next/crowdin.yml @@ -0,0 +1,9 @@ +files: + - source: /languages/en.yml + translation: /languages/%two_letters_code%.%file_extension% + languages_mapping: + two_letters_code: + zh-CN: zh-CN + zh-TW: zh-TW + zh-HK: zh-HK + pt-BR: pt-BR diff --git a/themes/next/docs/AGPL3.md b/themes/next/docs/AGPL3.md new file mode 100644 index 0000000..2dcf18c --- /dev/null +++ b/themes/next/docs/AGPL3.md @@ -0,0 +1,649 @@ +#
    GNU Affero General Public License
    + +

    Version 3, 19 November 2007 Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

    + +

    Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed.

    + +##
    Preamble
    + +The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +Developers that use our General Public Licenses protect your rights +with two steps: **(1)** assert copyright on the software, and **(2)** offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + +A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + +The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + +An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + +The precise terms and conditions for copying, distribution and +modification follow. + +##
    TERMS AND CONDITIONS
    + +### 0. Definitions + +“This License” refers to version 3 of the GNU Affero General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a “modified version” of the +earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based +on the Program. + +To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” +to the extent that it includes a convenient and prominently visible +feature that **(1)** displays an appropriate copyright notice, and **(2)** +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +### 1. Source Code + +The “source code” for a work means the preferred form of the work +for making modifications to it. “Object code” means any non-source +form of a work. + +A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other +than the work as a whole, that **(a)** is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and **(b)** serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +“Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +The Corresponding Source for a work in source code form is that +same work. + +### 2. Basic Permissions + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + +### 3. Protecting Users' Legal Rights From Anti-Circumvention Law + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +### 4. Conveying Verbatim Copies + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +### 5. Conveying Modified Source Versions + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + +* **a)** The work must carry prominent notices stating that you modified +it, and giving a relevant date. +* **b)** The work must carry prominent notices stating that it is +released under this License and any conditions added under section 7. +This requirement modifies the requirement in section 4 to +“keep intact all notices”. +* **c)** You must license the entire work, as a whole, under this +License to anyone who comes into possession of a copy. This +License will therefore apply, along with any applicable section 7 +additional terms, to the whole of the work, and all its parts, +regardless of how they are packaged. This License gives no +permission to license the work in any other way, but it does not +invalidate such permission if you have separately received it. +* **d)** If the work has interactive user interfaces, each must display +Appropriate Legal Notices; however, if the Program has interactive +interfaces that do not display Appropriate Legal Notices, your +work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +### 6. Conveying Non-Source Forms + +You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + +* **a)** Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by the +Corresponding Source fixed on a durable physical medium +customarily used for software interchange. +* **b)** Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by a +written offer, valid for at least three years and valid for as +long as you offer spare parts or customer support for that product +model, to give anyone who possesses the object code either **(1)** a +copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical +medium customarily used for software interchange, for a price no +more than your reasonable cost of physically performing this +conveying of source, or **(2)** access to copy the +Corresponding Source from a network server at no charge. +* **c)** Convey individual copies of the object code with a copy of the +written offer to provide the Corresponding Source. This +alternative is allowed only occasionally and noncommercially, and +only if you received the object code with such an offer, in accord +with subsection 6b. +* **d)** Convey the object code by offering access from a designated +place (gratis or for a charge), and offer equivalent access to the +Corresponding Source in the same way through the same place at no +further charge. You need not require recipients to copy the +Corresponding Source along with the object code. If the place to +copy the object code is a network server, the Corresponding Source +may be on a different server (operated by you or a third party) +that supports equivalent copying facilities, provided you maintain +clear directions next to the object code saying where to find the +Corresponding Source. Regardless of what server hosts the +Corresponding Source, you remain obligated to ensure that it is +available for as long as needed to satisfy these requirements. +* **e)** Convey the object code using peer-to-peer transmission, provided +you inform other peers where the object code and Corresponding +Source of the work are being offered to the general public at no +charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A “User Product” is either **(1)** a “consumer product”, which means any +tangible personal property which is normally used for personal, family, +or household purposes, or **(2)** anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, “normally used” refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +### 7. Additional Terms + +“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + +* **a)** Disclaiming warranty or limiting liability differently from the +terms of sections 15 and 16 of this License; or +* **b)** Requiring preservation of specified reasonable legal notices or +author attributions in that material or in the Appropriate Legal +Notices displayed by works containing it; or +* **c)** Prohibiting misrepresentation of the origin of that material, or +requiring that modified versions of such material be marked in +reasonable ways as different from the original version; or +* **d)** Limiting the use for publicity purposes of names of licensors or +authors of the material; or +* **e)** Declining to grant rights under trademark law for use of some +trade names, trademarks, or service marks; or +* **f)** Requiring indemnification of licensors and authors of that +material by anyone who conveys the material (or modified versions of +it) with contractual assumptions of liability to the recipient, for +any liability that these contractual assumptions directly impose on +those licensors and authors. + +All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +### 8. Termination + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated **(a)** +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and **(b)** permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +### 9. Acceptance Not Required for Having Copies + +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +### 10. Automatic Licensing of Downstream Recipients + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +### 11. Patents + +A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either **(1)** cause the Corresponding Source to be so +available, or **(2)** arrange to deprive yourself of the benefit of the +patent license for this particular work, or **(3)** arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is “discriminatory” if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license **(a)** in connection with copies of the covered work +conveyed by you (or copies made from those copies), or **(b)** primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +### 12. No Surrender of Others' Freedom + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +### 13. Remote Network Interaction; Use with the GNU General Public License + +Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + +### 14. Revised Versions of this License + +The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License “or any later version” applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +### 15. Disclaimer of Warranty + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +### 16. Limitation of Liability + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +### 17. Interpretation of Sections 15 and 16 + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +##
    END OF TERMS AND CONDITIONS
    + +###
    How to Apply These Terms to Your New Programs
    + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a “Source” link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +<>. \ No newline at end of file diff --git a/themes/next/docs/ALGOLIA-SEARCH.md b/themes/next/docs/ALGOLIA-SEARCH.md new file mode 100644 index 0000000..998d8dc --- /dev/null +++ b/themes/next/docs/ALGOLIA-SEARCH.md @@ -0,0 +1,87 @@ +

    Algolia Search

    + + +NexT provides Algolia search plugin for index your hexo website content. To use this feature, make sure that the version of NexT you are using is after the v5.1.0 release. What you should note here is that only turn on `enable` of `algolia_search` in `next/_config.yml` cannot let you use the algolia search correctly, you need to install corresponding [Hexo Algolia](https://github.com/oncletom/hexo-algolia) plugin to seach your website with Algolia. Follow the steps described below to complete the installation of Algolia search. + +1. Register at [Algolia](https://www.algolia.com/), you can log in directly using GitHub or Google Account. Upon Customer’s initial sign-up for an Account, Customer will have a free, fourteen (14) day evaluation period (the “Evaluation Period”) for the Algolia Services commencing on the Effective Date, subject to the limitations on Algolia’s website. After that, Algolia offers a free, branded version for up to 10k records and 100k operations per month. + +1. If a tutorial pops up, you can skip it. Go straight to create an `Index` which will be used later. + + ![](http://theme-next.iissnan.com/uploads/algolia/algolia-step-2.png) + +1. Algolia requires users to upload their search index data either manually or via provided APIs. Install and configure [Hexo Algolia](https://github.com/oncletom/hexo-algolia) in your Hexo directory. This plugin will index your site and upload selected data to Algolia. + + ``` + $ cd hexo + $ npm install --save hexo-algolia + ``` + +1. Go to the `API Keys` page and find your credentials. You will need the `Application ID` and the `Search-only API key` in the following sections. The `Admin API key` need to keep confidential. Never store your Admin API Key as apiKey in the` _config.yml` file: it would give full control of your Algolia index to others and you don't want to face the consequences. + + ![](https://user-images.githubusercontent.com/8521181/35479066-64e35aec-0428-11e8-91f9-1ec3afa45c5c.png) + +1. In the `API Keys` page, click the `ALL API KEYS` and the `edit` option in the created APIKEY to activate a pop-up box where you can setup authorizations and restrictions with a great level of precision. Check `Add records`, `Delete records`, `List indices`, `Delete index` features in ACL permissions that will be allowed for the given API key. And then click the `Update` button. + + ![](https://user-images.githubusercontent.com/8521181/35479064-611aa0b4-0428-11e8-85a1-cfb449b486ec.png) + ![](https://user-images.githubusercontent.com/8521181/35479084-d4f7ac02-0428-11e8-95a6-c4e3b1bef47b.png) + +1. In your site's `_config.yml`, add the following configuration and replace the `applicationID` & `apiKey` & `indexName` with corresponding fields obtained at Algolia. + + ```yml + algolia: + applicationID: 'Application ID' + apiKey: 'Search-only API key' + indexName: 'indexName' + chunkSize: 5000 + ``` + +1. Run the following command to upload index data, keep a weather eye out the output of the command. + + ``` + $ export HEXO_ALGOLIA_INDEXING_KEY=Search-Only API key # Use Git Bash + # set HEXO_ALGOLIA_INDEXING_KEY=Search-Only API key # Use Windows command line + $ hexo clean + $ hexo algolia + ``` + + ![](http://theme-next.iissnan.com/uploads/algolia/algolia-step-4.png) + +1. Change dir to NexT directory, and install module to `source/lib` directory. + + ``` + $ cd themes/next + $ git clone https://github.com/theme-next/theme-next-algolia-instant-search source/lib/algolia-instant-search + ``` + + If you want to use the CDN instead of clone this repo, then need to **set vendors** in NexT `_config.yml` file: + ```yml + vendors: + ... + # Internal version: 1 + # https://www.algolia.com + algolia_instant_js: https://cdn.jsdelivr.net/npm/instantsearch.js@2.4.1/dist/instantsearch.js + algolia_instant_css: https://cdn.jsdelivr.net/npm/instantsearch.js@2.4.1/dist/instantsearch.min.css + ... + ``` + +1. In `next/_config.yml`, turn on `enable` of `algolia_search`. At the same time, you need to **turn off other search plugins** like Local Search. You can also adjust the text in `labels` according to your needs. + + ```yml + # Algolia Search + algolia_search: + enable: true + hits: + per_page: 10 + labels: + input_placeholder: Search for Posts + hits_empty: "We didn't find any results for the search: ${query}" + hits_stats: "${hits} results found in ${time} ms" + ``` + +

    Known Issues

    + +1. The latest version of the [Hexo-Algolia](https://github.com/oncletom/hexo-algolia) plugin removes the content indexing feature, given Algolia's free account limitation. + +1. The [Hexo-Algoliasearch](https://github.com/LouisBarranqueiro/hexo-algoliasearch) plugin provides content indexing functionality, but requires the replacement of keywords in the NEXT theme. The same problem exists with `Record Too Big` for Algolia's free account. + - Replace all `applicationID` in `source/js/algolia-search.js` with `appId` + - Replace all `applicationID` in `layout/_partials/head/head.swig` with `appId` diff --git a/themes/next/docs/AUTHORS.md b/themes/next/docs/AUTHORS.md new file mode 100644 index 0000000..f54eef7 --- /dev/null +++ b/themes/next/docs/AUTHORS.md @@ -0,0 +1,87 @@ +#
    «NexT» Authors
    + +NexT theme was initially developed by: + +- **IIssNaN**: [NexT](https://github.com/iissnan/hexo-theme-next) (2014 - 2017) + +With collaborators from initially repository: + +- **Ivan.Nginx**: [DIFF highlight](https://github.com/iissnan/hexo-theme-next/pull/1079), + [HyperComments](https://github.com/iissnan/hexo-theme-next/pull/1155), + [`{% note %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1160), + [`seo` option](https://github.com/iissnan/hexo-theme-next/pull/1311), + [`{% button %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1328), + [VK API](https://github.com/iissnan/hexo-theme-next/pull/1381), + [WordCount plugin support](https://github.com/iissnan/hexo-theme-next/pull/1381), + [Yandex verification option](https://github.com/iissnan/hexo-theme-next/pull/1381), + [`{% exturl %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1438), + [`b2t` option](https://github.com/iissnan/hexo-theme-next/pull/1438), + [`scrollpercent` option](https://github.com/iissnan/hexo-theme-next/pull/1438), + [`save_scroll` option](https://github.com/iissnan/hexo-theme-next/pull/1574), + [Star rating](https://github.com/iissnan/hexo-theme-next/pull/1649), + [`mobile_layout_economy` option](https://github.com/iissnan/hexo-theme-next/pull/1697), + [`{% tabs %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1697), + [`{% label %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1697), + [**`Gemini`** scheme](https://github.com/iissnan/hexo-theme-next/pull/1697), + [Menu & Sidebar icons in 1 line](https://github.com/iissnan/hexo-theme-next/pull/1830), + [Sidebar scrollable](https://github.com/iissnan/hexo-theme-next/pull/1898), + [Responsive favicons](https://github.com/iissnan/hexo-theme-next/pull/1898) + and many other [PR's with fixes and enhancements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aivan-nginx) +- **Acris**: [Many PR's with fixes and updates](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3AAcris) + +And best contributors from initially repository: + +- **Rainy**: [Gentie comments](https://github.com/iissnan/hexo-theme-next/pull/1301), + [Han](https://github.com/iissnan/hexo-theme-next/pull/1598) + and many [PR's with fixes and optimizations](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Ageekrainy) +- **Jeff**: [Local search](https://github.com/iissnan/hexo-theme-next/pull/694) + and many [PR's with fixes and improvements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aflashlab) +- **Haocen**: [Footer enhancements](https://github.com/iissnan/hexo-theme-next/pull/1886) + and some other [PR's with improvements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3AHaocen) +- **uchuhimo**: [Greatest enhancements for local search](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Auchuhimo) +- **Kei**: [Change static file setting to support subdirectory](https://github.com/iissnan/hexo-theme-next/pull/4) +- **Jolyon**: [Swiftype](https://github.com/iissnan/hexo-theme-next/pull/84) +- **xirong**: [404 page](https://github.com/iissnan/hexo-theme-next/pull/126) +- **PinkyJie**: [Fix Swiftype](https://github.com/iissnan/hexo-theme-next/pull/132) +- **Tim Kuijsten**: [Split javascript into separate files](https://github.com/iissnan/hexo-theme-next/pull/152) +- **iamwent**: [Friendly links](https://github.com/iissnan/hexo-theme-next/pull/250) +- **arao lin**: [Option to lazyload images](https://github.com/iissnan/hexo-theme-next/pull/269) +- **Konstantin Pavlov**: [Microdata, opengraph and other semantic features](https://github.com/iissnan/hexo-theme-next/pull/276) +- **Gary**: [FastClick](https://github.com/iissnan/hexo-theme-next/pull/324) +- **Octavian**: [Baidu site vertification](https://github.com/iissnan/hexo-theme-next/pull/367) +- **Henry Chang**: [Facebook SDK](https://github.com/iissnan/hexo-theme-next/pull/410) +- **XiaMo**: [LeanCloud visitors](https://github.com/iissnan/hexo-theme-next/pull/439) +- **iblogc**: [Fix UA in Duoshuo](https://github.com/iissnan/hexo-theme-next/pull/489) +- **Vincent**: [Automatic headline ID's](https://github.com/iissnan/hexo-theme-next/pull/588) +- **cissoid**: [Tencent analytics](https://github.com/iissnan/hexo-theme-next/pull/603) +- **CosmoX**: [AddThis](https://github.com/iissnan/hexo-theme-next/pull/660) +- **Jason Guo**: [Reward for post](https://github.com/iissnan/hexo-theme-next/pull/687) +- **Jerry Bendy**: [CNZZ counter](https://github.com/iissnan/hexo-theme-next/pull/712) +- **Hui Wang**: [Wechat subscriber](https://github.com/iissnan/hexo-theme-next/pull/788) +- **PoonChiTim**: [Busuanzi counter](https://github.com/iissnan/hexo-theme-next/pull/809) +- **hydai**: [Facebook comments](https://github.com/iissnan/hexo-theme-next/pull/925) +- **OAwan**: [`canonical` option](https://github.com/iissnan/hexo-theme-next/pull/931) +- **Jim Zenn**: [Google Calendar](https://github.com/iissnan/hexo-theme-next/pull/1167) +- **Abner Chou**: [Disqus improvements](https://github.com/iissnan/hexo-theme-next/pull/1173) +- **Igor Fesenko**: [Application Insights](https://github.com/iissnan/hexo-theme-next/pull/1257) +- **jinfang**: [Youyan comments](https://github.com/iissnan/hexo-theme-next/pull/1324) +- **AlynxZhou**: [`canvas_nest` option](https://github.com/iissnan/hexo-theme-next/pull/1327) +- **aleon**: [Tencent MTA](https://github.com/iissnan/hexo-theme-next/pull/1408) +- **asmoker**: [LiveRe comments](https://github.com/iissnan/hexo-theme-next/pull/1415) +- **Jacksgong**: [Copyright on posts](https://github.com/iissnan/hexo-theme-next/pull/1497) +- **zhaiqianfeng**: [Changyan comments](https://github.com/iissnan/hexo-theme-next/pull/1514) +- **zproo**: [`canvas_ribbon` option](https://github.com/iissnan/hexo-theme-next/pull/1565) +- **jjandxa**: [`three_waves`](https://github.com/iissnan/hexo-theme-next/pull/1534), + [`canvas_lines` and `canvas_sphere`](https://github.com/iissnan/hexo-theme-next/pull/1595) options +- **shenzekun**: [Load bar at the top](https://github.com/iissnan/hexo-theme-next/pull/1689) +- **elkan1788**: [Upgrade jiathis share](https://github.com/iissnan/hexo-theme-next/pull/1796) +- **xCss**: [Valine comment system support](https://github.com/iissnan/hexo-theme-next/pull/1811) +- **Julian Xhokaxhiu**: [`override` option](https://github.com/iissnan/hexo-theme-next/pull/1861) +- **LEAFERx**: [NeedMoreShare2](https://github.com/iissnan/hexo-theme-next/pull/1913) +- **aimingoo & LEAFERx**: [Gitment supported with Mint](https://github.com/iissnan/hexo-theme-next/pull/1919) +- **LeviDing**: [Fix the bug of Gitment](https://github.com/iissnan/hexo-theme-next/pull/1944) +- **maple3142**: [Firestore visitor counter](https://github.com/iissnan/hexo-theme-next/pull/1978) + +It lives on as an open source project with many contributors, a self updating list is [here](https://github.com/theme-next/hexo-theme-next/graphs/contributors). + +P.S. If you was do some useful pulls/commits in original repository and you are not in list, let me know and you will be added here. diff --git a/themes/next/docs/DATA-FILES.md b/themes/next/docs/DATA-FILES.md new file mode 100644 index 0000000..bdf8ab0 --- /dev/null +++ b/themes/next/docs/DATA-FILES.md @@ -0,0 +1,61 @@ +

    Data Files

    + +Currently, it is not smooth to update NexT theme from pulling or downloading new releases. It is quite often running into conflict status when updating NexT theme via `git pull`, or need to merge configurations manually when upgrading to new releases. + + At present, NexT encourages users to store some options in site's `_config.yml` and other options in theme's `_config.yml`. This approach is applicable, but has some drawbacks: +1. Configurations are splitted into two pieces +2. Users may be confused which place should be for options + +In order to resolve this issue, NexT will take advantage of Hexo [Data files](https://hexo.io/docs/data-files.html). Because Data files is introduced in Hexo 3, so you need upgrade Hexo to 3.0 (or above) to use this feature. + +If you prefer Hexo 2.x, you can still use the old approach for configurations. NexT is still compatible with Hexo 2.x (but errors are possible). + +

    Option 1: Hexo-Way

    + +With this way, all your configurations locate in main hexo config file (`hexo/_config.yml`), you don't need to touch `next/_config.yml` or create any new files. But you must preserve double spaces indents within `theme_config` option. + +If there are any new options in new releases, you just need to copy those options from `next/_config.yml`, paste into `hexo/_config.yml` and set their values to whatever you want. + +### Usage + +1. Check for no exists `hexo/source/_data/next.yml` file (delete it if exists). +2. Copy needed NexT theme options from theme's `next/_config.yml` into `hexo/_config.yml`, then\ + 2.1. Move all this settings to the right with two spaces (in Visual Studio Code: select all strings, CTRL + ]).\ + 2.2. Add `theme_config:` parameter above all this settings. + +### Useful links + +* [Hexo Configuration](https://hexo.io/docs/configuration.html) +* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) + +

    Option 2: NexT-Way

    + +With this way, you can put all your configurations into one place (`source/_data/next.yml`), you don't need to touch `next/_config.yml`. +But option may not accurately procces all hexo external libraries with their additional options (for example, `hexo-server` module options may be readed only in default hexo config). + +If there are any new options in new releases, you just need to copy those options from `next/_config.yml`, paste into `_data/next.yml` and set their values to whatever you want. + +### Usage + +1. Please ensure you are using Hexo 3 (or above). +2. Create an file named `next.yml` in site's `hexo/source/_data` directory (create `_data` directory if it did not exists). + +

    And after that steps there are 2 variants, need to choose only one of them and resume next steps.

    + +* **Variant 1: `override: false` (default)**: + + 1. Check your `override` option in default NexT config, it must set on `false`.\ + In `next.yml` it must not be defined or set on `false` too. + 2. Copy needed options from both site's `_config.yml` and theme's `_config.yml` into `hexo/source/_data/next.yml`. + +* **Variant 2: `override: true`**: + + 1. In `next.yml` set `override` option on `true`. + 2. Copy **all** NexT theme options from theme's `next/_config.yml` into `hexo/source/_data/next.yml`. + +3. Then, in main site's `hexo/_config.yml` need to define `theme: next` option (and if needed, `source_dir: source`). +4. Use standart parameters to start server, generate or deploy (`hexo clean && hexo g -d && hexo s`). + +### Useful links + +* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) diff --git a/themes/next/docs/INSTALLATION.md b/themes/next/docs/INSTALLATION.md new file mode 100644 index 0000000..3f22999 --- /dev/null +++ b/themes/next/docs/INSTALLATION.md @@ -0,0 +1,120 @@ +

    Installation

    + +

    Step 1 → Go to Hexo dir

    + +Change dir to **hexo root** directory. There must be `node_modules`, `source`, `themes` and other directories: + ```sh + $ cd hexo + $ ls + _config.yml node_modules package.json public scaffolds source themes + ``` + +

    Step 2 → Get NexT

    + +

    Download theme from GitHub.
    +There are 3 options to do it, need to choose only one of them.

    + +### Option 1: Download [latest release version][releases-latest-url] + + At most cases **stable**. Recommended for beginners. + + * Install with [curl & tar & wget][curl-tar-wget-url]: + + ```sh + $ mkdir themes/next + $ curl -s https://api.github.com/repos/theme-next/hexo-theme-next/releases/latest | grep tarball_url | cut -d '"' -f 4 | wget -i - -O- | tar -zx -C themes/next --strip-components=1 + ``` + This variant will give to you **only latest release version** (without `.git` directory inside).\ + So, there is impossible to update this version with `git` later.\ + Instead you always can use separate configuration (e.g. [data-files][docs-data-files-url]) and download new version inside old directory (or create new directory and redefine `theme` in Hexo config), without losing your old configuration. + +### Option 2: Download [tagged release version][releases-url] + + In rare cases useful, but not recommended.\ + You must define version. Replace `v6.0.0` with any version from [tags list][tags-url]. + + * Variant 1: Install with [curl & tar][curl-tar-url]: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball/v6.0.0 | tar -zxv -C themes/next --strip-components=1 + ``` + Same as above under `curl & tar & wget` variant, but will download **only concrete version**. + + * Variant 2: Install with [git][git-url]: + + ```sh + $ git clone --branch v6.0.0 https://github.com/theme-next/hexo-theme-next themes/next + ``` + This variant will give to you the **defined release version** (with `.git` directory inside).\ + And in any time you can switch to any tagged release, but with limit to defined version. + +### Option 3: Download [latest master branch][download-latest-url] + + May be **unstable**, but includes latest features. Recommended for advanced users and for developers. + + * Variant 1: Install with [curl & tar][curl-tar-url]: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball | tar -zxv -C themes/next --strip-components=1 + ``` + Same as above under `curl & tar & wget` variant, but will download **only latest master branch version**.\ + At some cases useful for developers. + + * Variant 2: Install with [git][git-url]: + + ```sh + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + + This variant will give to you the **whole repository** (with `.git` directory inside).\ + And in any time you can [update current version with git][update-with-git-url] and switch to any tagged release or on latest master or any other branch.\ + At most cases useful as for users and for developers. + + Get tags list: + + ```sh + $ cd themes/next + $ git tag -l + … + v6.0.0 + v6.0.1 + v6.0.2 + ``` + + For example, you want to switch on `v6.0.1` [tagged release version][tags-url]. Input the following command: + + ```sh + $ git checkout tags/v6.0.1 + Note: checking out 'tags/v6.0.1'. + … + HEAD is now at da9cdd2... Release v6.0.1 + ``` + + And if you want to switch back on [master branch][commits-url], input this command: + + ```sh + $ git checkout master + ``` + +

    Step 3 → Set it up

    + +Set theme in main **hexo root config** `_config.yml` file: + +```yml +theme: next +``` + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest +[releases-url]: https://github.com/theme-next/hexo-theme-next/releases +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[git-url]: http://lmgtfy.com/?q=linux+git+install +[curl-tar-url]: http://lmgtfy.com/?q=linux+curl+tar+install +[curl-tar-wget-url]: http://lmgtfy.com/?q=linux+curl+tar+wget+install + +[update-with-git-url]: https://github.com/theme-next/hexo-theme-next/blob/master/README.md#update +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/DATA-FILES.md diff --git a/themes/next/docs/LEANCLOUD-COUNTER-SECURITY.md b/themes/next/docs/LEANCLOUD-COUNTER-SECURITY.md new file mode 100644 index 0000000..9a6c8a0 --- /dev/null +++ b/themes/next/docs/LEANCLOUD-COUNTER-SECURITY.md @@ -0,0 +1,177 @@ +Before you make the config, please upgrade your NexT version to v6.0.6 or greater. + +Please note the difference between **site config file** and **theme config file** + +--- + +# Sign up to Leancloud and create an app +- Go to Leancloud website [leancloud.cn](leancloud.cn) and sign up to Leancloud. Then login. +- Click `1` to enter the console: + + ![1](https://lc-cqha0xyi.cn-n1.lcfile.com/fc0c048a1e25dc3d10aa.jpg) + +- Then click `1` to create an app: + + ![2](https://lc-cqha0xyi.cn-n1.lcfile.com/33a56b754753a5d34b01.jpg) + +- Type your app name in `1` in the pop up window(eg. "test"), then choose `2`, which means developer's plan, and then click `3` to create the app: + + ![3](https://lc-cqha0xyi.cn-n1.lcfile.com/649ccfc6f12015d1eefb.jpg) + +# Create Counter class and enable plugin in NexT +- Click `1`(app name) to enter the app manage page: + + ![4](https://lc-cqha0xyi.cn-n1.lcfile.com/d0889df29841661e0b9e.jpg) + +- then click `1` to create a class for counter: + + ![5](https://lc-cqha0xyi.cn-n1.lcfile.com/b0fbc81bd6c19fa09a46.jpg) + +- Type `Counter` in the pop up window in `1`, check `2`, then click `3`: + + ![6](https://lc-cqha0xyi.cn-n1.lcfile.com/ae6154d6a55f02f11ebf.jpg) + +- Click `1` to enter the app setting, then click `2`: + + ![8](https://lc-cqha0xyi.cn-n1.lcfile.com/9501a6372918dd9a8a92.jpg) + +- Paste `App ID` and `App Key` to **theme config file**`_config.yml` like this: + ```yml + leancloud_visitors: + enable: true + app_id: <> + app_key: <> + # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security + security: true + betterPerformance: false + ``` + +- Set domain whitelist: Click`1`, then type your domain into `2`(**protocol, domain and port should be exactly the same**): + + ![9](https://lc-cqha0xyi.cn-n1.lcfile.com/0e537cc4bec2e185201d.jpg) + +# Deploy web engine to avoid your data being changed illegally +- Click `1 -> 2 -> 3` by order + + ![10](https://lc-cqha0xyi.cn-n1.lcfile.com/d7056dfeeef7c5d66318.jpg) + +- Click`1`: + + ![11](https://lc-cqha0xyi.cn-n1.lcfile.com/2737841bbc2bdd572ae0.jpg) + +- In the pop up window, click `1` to choose type `Hook`, then choose`beforeUpdate` in `2`, choose `Counter` in `3`. Paste code below into `4`, then click `5` to save it: + ```javascript + var query = new AV.Query("Counter"); + if (request.object.updatedKeys.indexOf('time') !== -1) { + return query.get(request.object.id).then(function (obj) { + if (obj.get("time") > request.object.get("time")) { + throw new AV.Cloud.Error('Invalid update!'); + } + return request.object.save(); + }); + } + ``` + + ![12](https://lc-cqha0xyi.cn-n1.lcfile.com/a8e13418ed1d9405315b.jpg) + +- Click `1` to deploy after the message in the red rect shows up: + + ![13](https://lc-cqha0xyi.cn-n1.lcfile.com/ca56bf2e5fc2a1343565.jpg) + +- Click `1` in the pop up: + + ![14](https://lc-cqha0xyi.cn-n1.lcfile.com/17548c13b3b23c71d845.jpg) + +- Click `1` to close the pop up window after the message in the red rect shows up: + + ![15](https://lc-cqha0xyi.cn-n1.lcfile.com/d2f50de6cefea9fd0ed3.jpg) + +# Set access control for your database +- Open **theme config file**`_config.yml`, set `leancloud_visitors: security` to `true`: + ```yml + leancloud_visitors: + enable: true + app_id: <> + app_key: <> + # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security + security: true + betterPerformance: false + ``` + + **Explaination for `betterPerformance`:** + Because the Leancloud developer's plan has limits in requst thread amount and running time, counter number may be very slow to load in some times. If set `betterPerformance` to true, counter number will be displayed quickly by assuming the request is accepted normally. + +- Open cmd then switch to **root path of site**, type commands to install `hexo-leancloud-counter-security` plugin: + ``` + npm install hexo-leancloud-counter-security --save + ``` + +- Open **site config file**`_config.yml`, add those config: + ```yml + leancloud_counter_security: + enable_sync: true + app_id: <> + app_key: < + username: + password: + ``` + +- Type command: + ``` + hexo lc-counter register <> <> + ``` + or + ``` + hexo lc-counter r <> <> + ``` + + Change `<>` and `<>` to your own username and password (no need to be the same as leancloud account). They will be used in the hexo deploying. + + - Open **site config file**`_config.yml`, change `<>` and `<>`to those you set above: + ```yml + leancloud_counter_security: + enable_sync: true + app_id: <> + app_key: < + username: <> # will be asked while deploying if be left blank + password: <> # recommend to leave it blank for security, will be asked while deploying if be left blank + ``` + +- Add the deployer in the `deploy` of **site config file**`_config.yml`: + ```yml + deploy: + - type: git + repo: // your repo + ... + - type: leancloud_counter_security_sync + ``` + +- Return to the Leancloud console. Click `1 -> 2`, check if there is a record added in the _User (the img below is using username "admin" for example): + + ![16](https://lc-cqha0xyi.cn-n1.lcfile.com/99faa5a0e7160e66d506.jpg) + +- Click `1 -> 2 -> 3` by order: + + ![17](https://lc-cqha0xyi.cn-n1.lcfile.com/b72a9e64579f5b71749d.jpg) + +- Click `1`(add_fields), then choose `2`:Do as below "create" setting(choose the user you create): + + ![18](https://lc-cqha0xyi.cn-n1.lcfile.com/14a8cb37062693d768ad.jpg) + +- click `1`(create), then choose `2`, type the username in `3`, then click `4 -> 5`: + + ![19](https://lc-cqha0xyi.cn-n1.lcfile.com/d91714cfd703ef42b94c.jpg) + + Now your page should be similar to this img after finishing the step. + + ![20](https://lc-cqha0xyi.cn-n1.lcfile.com/c05e7ec9218820baf412.jpg) + +- Click `1`(delete), then choose `2`: + + ![21](https://lc-cqha0xyi.cn-n1.lcfile.com/c37b6e20726cfb1d3197.jpg) + +Now the bug is fixed. + +--- + +See detailed version here: https://leaferx.online/2018/03/16/lc-security-en/ diff --git a/themes/next/docs/LICENSE.txt b/themes/next/docs/LICENSE.txt new file mode 100644 index 0000000..40a71e8 --- /dev/null +++ b/themes/next/docs/LICENSE.txt @@ -0,0 +1,56 @@ + «NexT» – Elegant and powerful theme for Hexo. + + Copyright © 2017 «NexT» (github.com/theme-next/hexo-theme-next). + + Detail attribution information for «NexT» + is contained in the 'docs/AUTHORS.md' file. + + This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License version 3 +as published by the Free Software Foundation with the addition of the +following permission added to Section 15 as permitted in Section 7(a): +FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY «NEXT», +«NEXT» DISCLAIMS THE WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. + + This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU Affero General Public License for more details. +You should have received a copy of the GNU Affero General Public License +along with this program; if not, see: https://www.gnu.org/licenses/agpl.txt + + In accordance with Section 7(b) of the GNU Affero General Public License: + + a) It is not necessary to specify copyright in each source file of + this program because GitHub fully save commits of all modified files + with their authors and provides to see for this changes publicly. + + b) For any part of the covered work in which the copyright not specified, + except of third party libraries ('source/lib/*') and '*custom.*' files, + will mean this part owned by «NexT» in accord with terms in this file. + +* c) A covered work must retain «NexT» official website link + (https://theme-next.org) in footer section of every website created, + modified or manipulated by using «NexT». + «NexT» theme configuration must be: + ``` + footer: + theme: + enable: true + ``` + Collaborators, best contributors and all authors specified in the + 'docs/AUTHORS.md' file of «NexT» repository under the + 'https://github.com/theme-next' organization can ignore theme info link + requirements. + + Anyone can be released from the requirements of the license by purchasing +a commercial license. Buying such a license is mandatory as soon as you +develop commercial activities involving the «NexT» software without +disclosing the source code of your own applications. +These activities include: + 1. Access to private repository with various premium features. + 2. Priority support for resolve all possible issues with «NexT». + 3. Priority support for implement all possible features to «NexT». + + For more information, please contact «NexT» Organization at this +address: support@theme-next.org diff --git a/themes/next/docs/MATH.md b/themes/next/docs/MATH.md new file mode 100644 index 0000000..b39478c --- /dev/null +++ b/themes/next/docs/MATH.md @@ -0,0 +1,286 @@ +

    Math Equations

    + +NexT provides two render engines for displaying Math Equations. + +If you choose to use this feature, you don't need to manually import any JS or CSS. You just need to turn on `enable` of `math` and choose a render `engine` for it (located in `next/_config.yml`): + +```yml +math: + enable: true + ... + engine: mathjax +``` + +Notice: only turning on `enable` of `math` **cannot let you see the displayed equations correctly**, you need to install the **corresponding Hexo Renderer** to fully support the display of Math Equations. The corresponding Hexo Renderer per engine will be provided below. + +

    Provided Render Engine

    + +For now, NexT provides two Render Engines: [MathJax](https://www.mathjax.org/) and [Katex](https://khan.github.io/KaTeX/) (default is MathJax). + +### MathJax (default) + +If you use MathJax to render Math Equations, you need to use **only one of them**: [hexo-renderer-pandoc](https://github.com/wzpan/hexo-renderer-pandoc) or [hexo-renderer-kramed](https://github.com/sun11/hexo-renderer-kramed). + +Firstly, you need to uninstall the original renderer `hexo-renderer-marked`, and install one of the renderer above: + +```sh +npm un hexo-renderer-marked --save +npm i hexo-renderer-pandoc --save # or hexo-renderer-kramed +``` + +Secondly, in `next/_config.yml`, turn on `enable` of `math` and choose `mathjax` as `engine`. + +```yml +math: + enable: true + ... + engine: mathjax + #engine: katex +``` + +Finally, run standard Hexo generate, deploy process or start the server: + +```sh +hexo clean && hexo g -d +# or hexo clean && hexo s +``` + +#### Numbering and referring equations in MathJax + +In the new version of NexT, we have added feature to automatically number equations and to refer to equations. We briefly describe how to use this feature below. + +In general, to make the automatic equation numbering work, you have to wrap your LaTeX equations in `equation` environment. Using the plain old style (i.e., wrap an equation with two dollar signs in each side) will not work. How to refer to an equation? Just give a `\label{}` tag and then in your later text, use `\ref{}` or `\eqref{}` to refer it. Using `\eqref{}` is preferred since if you use `\ref{}`, there are no parentheses around the equation number. Below are some of the common scenarios for equation numbering. + +For simple equations, use the following form to give a tag, + +```latex +$$\begin{equation} +e=mc^2 +\end{equation}\label{eq1}$$ +``` + +Then, you can refer to this equation in your text easily by using something like + +``` +the famous matter-energy equation $\eqref{eq1}$ proposed by Einstein ... +``` + +For multi-line equations, inside the `equation` environment, you can use the `aligned` environment to split it into multiple lines: + +```latex +$$\begin{equation} +\begin{aligned} +a &= b + c \\ + &= d + e + f + g \\ + &= h + i +\end{aligned} +\end{equation}\label{eq2}$$ +``` + +We can use `align` environment to align multiple equations. Each of these equations will get its own numbers. + +``` +$$\begin{align} +a &= b + c \label{eq3} \\ +x &= yz \label{eq4}\\ +l &= m - n \label{eq5} +\end{align}$$ +``` + +In the `align` environment, if you do not want to number one or some equations, just [use `\nonumber`](https://tex.stackexchange.com/questions/17528/show-equation-number-only-once-in-align-environment) right behind these equations. Like the following: + +```latex +$$\begin{align} +-4 + 5x &= 2+y \nonumber \\ + w+2 &= -1+w \\ + ab &= cb +\end{align}$$ +``` + +Sometimes, you want to use more “exotic” style to refer your equation. You can use `\tag{}` to achieve this. For example: + +```latex +$$x+1\over\sqrt{1-x^2} \tag{i}\label{eq_tag}$$ +``` + +For more information, you can visit the [official MathJax documentation on equation numbering](http://docs.mathjax.org/en/latest/tex.html#automatic-equation-numbering). You can also visit this [post](https://jdhao.github.io/2018/01/25/hexo-mathjax-equation-number/) for more details. + +### Katex + +The Katex engine is a **much faster** math render engine compared to MathJax. And it could survive without JavaScript. + +But, what Katex supports is not as full as MathJax. You could check it from the Useful Links below. + +If you use Katex to render Math Equations, you need to use **only one of those renderer**: [hexo-renderer-markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus) or [hexo-renderer-markdown-it](https://github.com/hexojs/hexo-renderer-markdown-it). + +Firstly, you need to uninstall the original renderer `hexo-renderer-marked`, and **install one of selected above**. + +```sh +npm un hexo-renderer-marked --save +npm i hexo-renderer-markdown-it-plus --save +# or hexo-renderer-markdown-it +``` + +Secondly, in `next/_config.yml`, turn on `enable` option of `math` and choose `katex` as render `engine`. + +```yml +math: + enable: true + ... + #engine: mathjax + engine: katex +``` + +Finally, run the standard Hexo generate, deploy process or start the server: + +```sh +hexo clean && hexo g -d +# or hexo clean && hexo s +``` + +#### If you use hexo-renderer-markdown-it + +If you use `hexo-renderer-markdown-it`,you also need to add `markdown-it-katex` as its plugin: + +``` +npm i markdown-it-katex --save +``` + +And then in `hexo/_config.yml` you need to add `markdown-it-katex` as a plugin for `hexo-renderer-markdown-it`: + +```yml +# config of hexo-renderer-markdown-it +markdown: + render: + html: true + xhtmlOut: false + breaks: true + linkify: true + typographer: true + quotes: '“”‘’' + plugins: + - markdown-it-katex +``` + +#### Known Bugs + +1. Firstly, please check [Common Issues](https://github.com/Khan/KaTeX#common-issues) of Katex. +2. Displayed Math (i.e. `$$...$$`) needs to started with new clear line.\ + In other words: you must not have any characters (except of whitespaces) **before the opening `$$` and after the ending `$$`** ([comment #32](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)). +3. Don't support Unicode ([comment #32](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)). +4. Inline Math (..`$...$`) must not have white spaces **after the opening `$` and before the ending `$`** ([comment #32](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)). +5. If you use math in Heading (i.e. `## Heading`).\ + Then in corresponding TOC item it will show the related LaTex code 3 times ([comment #32](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-359018694)). +6. If you use math in your post's title, it will not be rendered ([comment #32](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-359142879)). + +We currently use Katex 0.7.1, some of those bugs might be caused by the outdated version of Katex we use. + +But, as what is described in the beginning, the render of Math Equations relies on Hexo Renderer. Currently, Katex-related renderers only support Katex version until 0.7.1. + +We will continuously monitor the updates of corresponding renderers, if there is a renderer which supports newer version of Katex, we will update the Katex we use. + +### Useful Links + +* [Speed test between Katex and MathJax](https://www.intmath.com/cg5/katex-mathjax-comparison.php) +* [Function support by Katex](https://khan.github.io/KaTeX/function-support.html) + +

    Configuration Specifications

    + +ATTENTION! When you edit those configs, **don't change indentation!** + +Currently, all NexT config use **2 spaces indents**. + +If your content of config is put just directly after the config name, then a space is needed between the colon and the config content (i.e. `enable: true`) + +```yml +# Math Equations Render Support +math: + enable: false + + # Default(true) will load mathjax/katex script on demand + # That is it only render those page who has 'mathjax: true' in Front-matter. + # If you set it to false, it will load mathjax/katex srcipt EVERY PAGE. + per_page: true + + engine: mathjax + #engine: katex + + # hexo-renderer-pandoc (or hexo-renderer-kramed) needed to full MathJax support. + mathjax: + # For newMathJax CDN (cdnjs.cloudflare.com) with fallback to oldMathJax (cdn.mathjax.org). + cdn: //cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML + # For direct link to MathJax.js with CloudFlare CDN (cdnjs.cloudflare.com). + #cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML + + # hexo-renderer-markdown-it-plus (or hexo-renderer-markdown-it with markdown-it-katex plugin) + # needed to full Katex support. + katex: + # Use Katex 0.7.1 as default + cdn: //cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css + # If you want to try the latest version of Katex, use one below instead + #cdn: //cdn.jsdelivr.net/katex/latest/katex.min.css +``` + +### enable + +`true` or `false`, default is `false`. + +`true` to turn on render of Math Equations, `false` to turn off it. + +### per_page + +`true` or `false`, default is `true`. + +This option is to control whether to render Math Equations every page. + +The behavior of default (`true`) is to render Math Equations **on demand**. + +It will only render those posts which have `mathjax: true` in their Front-matter. + +For example: + +```md + +--- +title: 'Will Render Math' +mathjax: true +--- +.... +``` + +```md + +--- +title: 'Not Render Math' +mathjax: false +--- +.... +``` + +```md + +--- +title: 'Not Render Math Either' +--- +.... +``` + +When you set it to `false`, the math will be rendered on **EVERY PAGE**. + +### cdn + +Both MathJax and Katex provide a config `cdn`, if you don't know what is `cdn`, **do not touch it**. + +Firstly, both MathJax and Katex use the [jsDelivr](https://www.jsdelivr.com/) as the default CDN. + +The reason that jsDelivr is chosen is because it is fast everywhere, and jsDelivr has the valid ICP license issued by the Chinese government, it can be accessed in China pretty well. + +And we also provide other optional CDNs, including the famous [CDNJS](https://cdnjs.com/). + +For MathJax, we are currently using version 2.7.1. + +For Katex, due to the problem described above, we are now using version 0.7.1. + +If you want to try the other CDNs not included in the optional list, you must use the corresponding version. + +Particularly, if you are a Chinese blogger or most of your visits come from China, please note that **the CDNJS is blocked in some parts of China**, don't use it as your CDN. diff --git a/themes/next/docs/UPDATE-FROM-5.1.X.md b/themes/next/docs/UPDATE-FROM-5.1.X.md new file mode 100644 index 0000000..93ae14e --- /dev/null +++ b/themes/next/docs/UPDATE-FROM-5.1.X.md @@ -0,0 +1,19 @@ +

    Update from NexT v5.1.x

    + +There are no hard breaking changes between 5.1.x and 6.0.x versions. It's change major version to 6 because: + +1. Main repo was rebased from [iissnan's](https://github.com/iissnan/hexo-theme-next) profile to [theme-next](https://github.com/theme-next) organization. +2. Most libraries under the `next/source/lib` directory was moved out to [external repos under NexT organization](https://github.com/theme-next). +3. 3rd-party plugin [`hexo-wordcount`](https://github.com/willin/hexo-wordcount) was replaced by [`hexo-symbols-count-time`](https://github.com/theme-next/hexo-symbols-count-time) because `hexo-symbols-count-time` no have any external nodejs dependencies, no have [language filter](https://github.com/willin/hexo-wordcount/issues/7) which causes better performance on speed at site generation. + +So, i suggest to update from version 5 to version 6 in this way: + +1. You don't touch old `next` dir and just do some copies of NexT files:\ + 1.1. `config.yml` or `next.yml` (if you used [data-files](DATA-FILES.md)).\ + 1.2. Custom CSS styles what placed in `next/source/css/_custom/*` and `next/source/css/_variables/*` directories.\ + 1.3. Custom layout styles what placed in `next/layout/_custom/*`.\ + 1.4. Any another possible custom additions which can be finded by compare tools between repos. +2. Clone new v6.x repo to any another directory instead of `next`. For example, in `next-reloaded` directory: `git clone https://github.com/theme-next/hexo-theme-next themes/next-reloaded`. So, you don't touch your old NexT 5.1.x directory and can work with new `next-reloaded` dir. +3. Go to Hexo main config and set theme parameter: `theme: next-reloaded`. So, your `next-reloaded` directory must loading with your generation. If you may see any bugs or you simply not like this version, you anytime can switch for 5.1.x version back. + +And how to enable 3rd-party libraries see [here](https://github.com/theme-next/hexo-theme-next/blob/master/docs/INSTALLATION.md#plugins). diff --git a/themes/next/docs/ru/DATA-FILES.md b/themes/next/docs/ru/DATA-FILES.md new file mode 100644 index 0000000..a1788d7 --- /dev/null +++ b/themes/next/docs/ru/DATA-FILES.md @@ -0,0 +1,61 @@ +

    Дата Файлы

    + +Обновление темы NexT через пулы проходит не слишком гладко. Часто происходит конфликтная ситуация при обновлении по команде `git pull`, хотя её и можно обойти, если смерджить настройки в файле конфигурации вручную. + + На данный момент, пользователи хранят одни настройки в корневом `_config.yml` (Hexo), а другие настройки в конфиге темы `_config.yml` (NexT). И всё вроде бы ничего, но имеются некоторые недостатки: +1. Конфигурация разделяется на две части. +2. Пользователи могут запутаться, в каком файле какие должны быть настройки. + +Во избежании проблемы, NexT использует преимущество Hexo [дата-файлов](https://hexo.io/docs/data-files.html). И т.к. дата-файлы были представлены в Hexo 3, необходимо обновиться до Hexo 3.0 (или выше) для использования этой возможности. + +Если же Вы предпочитаете Hexo 2.x, то можно использовать старый способ для конфигураций. NexT всё ещё совместим с Hexo 2.x (но возможны ошибки). + +

    Способ 1: Hexo-Путь

    + +Используя этот способ, вся конфигурация будет раположена в корневом конфиге hexo (`hexo/_config.yml`), благодаря чему нет необходимости изменять оригинальный конфиг темы (`next/_config.yml`) или создавать какие-либо новые файлы. Но в этом случае необходимо сохранять двойные отступы внутри `theme_config` параметра. + +Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального `next/_config.yml` в редактируемый `hexo/_config.yml` и настроить по своему усмотрению. + +### Использование + +1. Проверяем на существование `hexo/source/_data/next.yml` файл (удаляем, если существует). +2. Копируем необходимые опции из конфига темы NexT `next/_config.yml` в `hexo/_config.yml`, затем\ + 2.1. Сдвигаем все опции вправо на 2 пробела (в Visual Studio Code: выделяем все строки, CTRL + ]).\ + 2.2. Добавляем `theme_config:` параметр перед всеми этими настройками. + +### Полезные ссылки + +* [Конфигурация Hexo](https://hexo.io/ru/docs/configuration.html) +* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) + +

    Способ 2: NexT-Путь

    + +Используя этот способ, вся конфигурация будет храниться в одном файле (`source/_data/next.yml`), благодаря чему нет необходимости изменять оригинальный конфиг темы (`next/_config.yml`). +Но с этим способом могут не корректно обрабатываться все внешние библиотеки hexo при использовании их дополнительных опций (например, опции модуля `hexo-server` могут быть считаны только из стандартного конфига hexo). + +Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального `next/_config.yml` во внешний `_data/next.yml` и настроить по своему усмотрению. + +### Использование + +1. Убеждаемся, что Hexo версии 3 (или выше). +2. Создаём файл под именем `next.yml` в корневой директории сайта — `hexo/source/_data` (создаём директорию `_data`, если отсутствует). + +

    И после этих шагов есть 2 варианта, нужно выбрать только 1 из них и продолжить следующие шаги.

    + +* **Вариант 1: `override: false` (по-умолчанию)**: + + 1. Проверяем опцию `override` в стандартном конфиге NexT'а, должно быть установлено в `false`.\ + В файле `next.yml` эта опция не должна быть вписана вовсе или вписана и установлена в `false`. + 2. Копируем настройки из конфига темы NexT (`_config.yml`) и из корневого конфига сайта (`_config.yml`) в файл `hexo/source/_data/next.yml`. + +* **Вариант 2: `override: true`**: + + 1. В файле `next.yml` ставим опцию `override` в `true`. + 2. Копируем **все** опции из оригинального конфига NexT'а `next/_config.yml` в `hexo/source/_data/next.yml`. + +3. Затем, в корневом конфиге сайта `hexo/_config.yml` необходимо установить опцию `theme: next` (и если требуется, `source_dir: source`). +4. Используем станадартные параметры для запускаь генерации или развёртывания (`hexo clean && hexo g -d && hexo s`). + +### Полезные ссылки + +* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) diff --git a/themes/next/docs/ru/INSTALLATION.md b/themes/next/docs/ru/INSTALLATION.md new file mode 100644 index 0000000..5cf98af --- /dev/null +++ b/themes/next/docs/ru/INSTALLATION.md @@ -0,0 +1,120 @@ +

    Установка

    + +

    Шаг 1 → Идём в директорию Hexo

    + +Меняем каталог на **корневой hexo**. Там должны находиться `node_modules`, `source`, `themes` и другие папки: + ```sh + $ cd hexo + $ ls + _config.yml node_modules package.json public scaffolds source themes + ``` + +

    Шаг 2 → Скачиваем NexT

    + +

    Скачиваем тему с GitHub.
    +Имеются 3 способа как зделать это, нужно выбрать только 1 из них.

    + +### Способ 1: Скачиваем [последнюю версию релиза][releases-latest-url] + + В большинстве случаев **стабильна**. Рекомендуется для начинающих пользователей. + + * Установка с помощью [curl & tar & wget][curl-tar-wget-url]: + + ```sh + $ mkdir themes/next + $ curl -s https://api.github.com/repos/theme-next/hexo-theme-next/releases/latest | grep tarball_url | cut -d '"' -f 4 | wget -i - -O- | tar -zx -C themes/next --strip-components=1 + ``` + Этим способом Вы скачаете **только последнюю версию релиза** (без директории `.git` внутри).\ + Поэтому, в дальнейшем будет невозможно обновить эту версию через `git`.\ + Зато всегда можно использовать отдельную конфигурацию (т.е. [дата-файлы][docs-data-files-url]) и скачивать новую версию перезаписывая старую (или создать новый каталог и переопределить параметр `theme` в конфиге Hexo), без потери старой конфигурации. + +### Способ 2: Скачиваем [указанную версию релиза][releases-url] + + В редких случаях полезно, но не рекомендуется.\ + Необходимо указать версию. Замените `v6.0.0` на любую версию из [списка тэгов][tags-url]. + + * Вариант 1: Установка с помощью [curl & tar][curl-tar-url]: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball/v6.0.0 | tar -zxv -C themes/next --strip-components=1 + ``` + То же, что и описано выше в способе `curl & tar & wget`, но скачает **только конкретную версию**. + + * Вариант 2: Установка с помощью [git][git-url]: + + ```sh + $ git clone --branch v6.0.0 https://github.com/theme-next/hexo-theme-next themes/next + ``` + Этот вариант скачает **указанную версию релиза** (включая директорию `.git` внутри).\ + И в любой момент Вы можете переключиться на любую весию тэга, но с лимитом до указанной версии. + +### Способ 3: Скачиваем [последнюю мастер-ветку][download-latest-url] + + Иногда может быть **нестабильна**, но включает самые последние нововведения. Рекомендуется для продвинутых пользователей и для разработчиков. + + * Вариант 1: Установка с помощью [curl & tar][curl-tar-url]: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball | tar -zxv -C themes/next --strip-components=1 + ``` + То же, что и описано выше в варианте `curl & tar & wget`, но скачает **только последнюю мастер-ветку**.\ + В некоторых случаях полезно для разработчиков. + + * Вариант 2: Установка с помощью [git][git-url]: + + ```sh + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + + Этот вариант скачает **весь репозиторий** (включая директорию `.git` внутри).\ + И в любой момент Вы можете [обновить текущую версию через git][update-with-git-url] и переключиться на любую версию тэга или на последнюю мастер или любую другую ветку.\ + В большинстве случаев полезно как для пользователей, так и для разработчиков. + + Смотрим список тэгов: + + ```sh + $ cd themes/next + $ git tag -l + … + v6.0.0 + v6.0.1 + v6.0.2 + ``` + + Например, Вы хотите переключиться на [версию релиза][tags-url] `v6.0.1`. Вводим следующую команду: + + ```sh + $ git checkout tags/v6.0.1 + Note: checking out 'tags/v6.0.1'. + … + HEAD is now at da9cdd2... Release v6.0.1 + ``` + + И если вы хотите переключиться обратно на [мастер-ветку][commits-url], вводим следующее: + + ```sh + $ git checkout master + ``` + +

    Шаг 3 → Конфигурируем

    + +Устанавливаем параметр темы в конфиге `_config.yml` **корневой директории hexo**: + +```yml +theme: next +``` + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest +[releases-url]: https://github.com/theme-next/hexo-theme-next/releases +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[git-url]: http://lmgtfy.com/?q=linux+git+install +[curl-tar-url]: http://lmgtfy.com/?q=linux+curl+tar+install +[curl-tar-wget-url]: http://lmgtfy.com/?q=linux+curl+tar+wget+install + +[update-with-git-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/README.md#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0 +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/DATA-FILES.md diff --git a/themes/next/docs/ru/README.md b/themes/next/docs/ru/README.md new file mode 100644 index 0000000..942dcf6 --- /dev/null +++ b/themes/next/docs/ru/README.md @@ -0,0 +1,139 @@ +
    Язык: :us: +:cn: +:ru:
    + +#
    e x T
    + +

    «NexT» — элегантная высококачественная тема под Hexo. Сделана с нуля, с любовью.

    + +

    + + + + + + + +

    + +## Демо + +* :heart_decoration: Muse тема: [LEAFERx](https://leaferx.online) | [Alex LEE](http://saili.science) | [Miaia](https://11.tt) +* :six_pointed_star: Mist тема: [uchuhimo](http://uchuhimo.me) | [xirong](http://www.ixirong.com) +* :pisces: Pisces тема: [Vi](http://notes.iissnan.com) | [Acris](https://acris.me) | [Jiaxi He](http://jiaxi.io) +* :gemini: Gemini тема: [Ivan.Nginx](https://almostover.ru) | [Raincal](https://raincal.com) | [Dandy](https://dandyxu.me) + +Больше примеров «NexT» [здесь](https://github.com/iissnan/hexo-theme-next/issues/119). + +## Установка + +Простейший вариант установки — склонировать весь репозиторий: + + ```sh + $ cd hexo + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + +Или предлагаю почитать [детальные инструкции по установке][docs-installation-url], если вариант выше не устраивает. + +## Плагины + +В конфиге NexT'а теперь можно найти зависимости на каждый модуль, который был вынесен во внешние репозитории, которые могут быть найдены по [ссылке основной организации](https://github.com/theme-next). + +Например, Вы хотите использовать `fancybox` для своего сайта. Открываем конфиг NexT'а и находим: + +```yml +# Fancybox +# Dependencies: https://github.com/theme-next/theme-next-fancybox +fancybox: false +``` + +Затем включаем параметр `fancybox` и переходим по ссылке «Dependencies» с дальнейшеми инструкциями по установке этого модуля. + +## Обновление + +Можно обновить до последней мастер-ветки следующей командой: + +```sh +$ cd themes/next +$ git pull +``` + +А если всплывают ошибки во время обновления (что-то наподобии **«Commit your changes or stash them before you can merge»**), рекомендуется ознакомиться с особенностью хранения [дата-файлов в Hexo][docs-data-files-url].\ +Как бы то ни было, можно обойти ошибки при обновлении если «Закомитить», «Стэшнуть» или «Откатить» локальные изменения. Смотрим [здесь](https://stackoverflow.com/a/15745424/5861495) как это сделать. + +**Если нужно обновиться с версии v5.1.x на v6.0.x, читаем [здесь][docs-update-5-1-x-url].** + +## Известные баги + +Для тех, кто столкнулся с ошибкой **«[Error: Cannot find module 'hexo-util'](https://github.com/iissnan/hexo-theme-next/issues/1490)»**, следует проверить версию NPM. + +* `> 3`: Всё равно не работает? Удалите директорию `node_modules` и переустановите с помощью `npm install`. +* `< 3`: Добавьте `hexo-util` принудительно командой `npm install --save-dev hexo-util` к основным пакетам с Hexo. + +## Содействие + +Приветсвуется любое содействие, не стесняйтесь сообщать «Баги», брать «Форки» и вливать «Пулы». + +## Обратная связь + +* Задать вопрос на [Stack Overflow][stack-url]. +* Сообщить об ошибке в разделе [GitHub Issues][issues-bug-url]. +* Запросить новую возможность на [GitHub][issues-feat-url]. +* Голосовать за [популярные запросы возможностей][feat-req-vote-url]. +* Вступить в наши [Gitter][gitter-url] / [Riot][riot-url] / [Telegram][t-chat-url] чаты. +* Подписаться на новости через [канал Telegram'а][t-news-url]. + +## Сторонние приложения + +* :triangular_flag_on_post: HexoEditor + +## Благодарности + +

    +«NexT» выражает особую благодарность этим замечательным сервисам, которые спонсируют нашу основную инфраструктуру: +

    + +

    +

    + GitHub позволяет нам хостить Git-репозиторий, Netlify позволяет нам деплоить документацию. +

    + +

    +

    + Crowdin позволяет нам удобно переводить документацию. +

    + +

    +

    + Codacy позволяет нам запускать набор тестов, BrowserStack позволяет нам тестировать в реальных браузерах. +

    + +[browser-image]: https://img.shields.io/badge/browser-%20chrome%20%7C%20firefox%20%7C%20opera%20%7C%20safari%20%7C%20ie%20%3E%3D%209-lightgrey.svg +[browser-url]: https://www.browserstack.com + +[stack-url]: https://stackoverflow.com/questions/tagged/theme-next +[issues-bug-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md +[issues-feat-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md +[feat-req-vote-url]: https://github.com/theme-next/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22+sort%3Areactions-%2B1-desc + +[gitter-url]: https://gitter.im/theme-next +[riot-url]: https://riot.im/app/#/room/#theme-next:matrix.org +[t-chat-url]: https://t.me/theme_next +[t-news-url]: https://t.me/theme_next_news + + + + + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest + +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[docs-installation-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/INSTALLATION.md +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/DATA-FILES.md +[docs-update-5-1-x-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/UPDATE-FROM-5.1.X.md diff --git a/themes/next/docs/ru/UPDATE-FROM-5.1.X.md b/themes/next/docs/ru/UPDATE-FROM-5.1.X.md new file mode 100644 index 0000000..4993026 --- /dev/null +++ b/themes/next/docs/ru/UPDATE-FROM-5.1.X.md @@ -0,0 +1,19 @@ +

    Обновление из-под NexT v5.1.x

    + +Между версиями 5.1.x и 6.0.x нет жёстких изменений. Версия сменилась на мажорную 6 по следующим причинам: + +1. Основной репозиторий перебазировался из профиля [iissnan'а](https://github.com/iissnan/hexo-theme-next) в [theme-next](https://github.com/theme-next) организацию. +2. Большинство библиотек в `next/source/lib` директории были вынесены в [отдельные репозитории под организацией NexT](https://github.com/theme-next). +3. 3rd-party плагин [`hexo-wordcount`](https://github.com/willin/hexo-wordcount) был заменён на [`hexo-symbols-count-time`](https://github.com/theme-next/hexo-symbols-count-time) т.к. `hexo-symbols-count-time` не имеет никаких сторонних nodejs зависимостей, не имеет [языкового фильтра](https://github.com/willin/hexo-wordcount/issues/7) что обеспечивает улучшенную производительность при генерации сайта. + +Поэтому, я предлагаю обновиться с версии 5 на версию 6 следующим способом: + +1. Вы не трогаете старую директорию `next`, а всего-лишь делаете резервные копии файлов NexT:\ + 1.1. `config.yml` или `next.yml` (если Вы использовали [дата-файлы](DATA-FILES.md)).\ + 1.2. Пользовательских CSS-стилей, которые расположены в `next/source/css/_custom/*` и `next/source/css/_variables/*` директориях.\ + 1.3. Пользовательских layout-стилей, которые расположены в `next/layout/_custom/*`.\ + 1.4. Любые другие всевозможные пользовательские изменения, которые могут быть найдены любым инструментом для сравнения файлов. +2. Склонировать новый v6.x репозиторий в любую другую директорию, отличную от `next`. Например, в директорию `next-reloaded`: `git clone https://github.com/theme-next/hexo-theme-next themes/next-reloaded`. Итак, нет необходимости трогать старую NexT 5.1.x директорию и можно работать с новой `next-reloaded`. +3. Открываем главную Hexo-конфигурацию и устанавливаем параметр темы: `theme: next-reloaded`. Так Ваша директория `next-reloaded` должна грузиться при генерации. Если Вы будете наблюдать какие-либо баги или Вам попросту не нравится эта новая версия, в любой момент Вы можете использовать старую 5.1.x. + +А как активировать 3rd-party библиотеки, смотрим здесь [здесь](https://github.com/theme-next/hexo-theme-next/blob/master/docs/ru/INSTALLATION.md#%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D1%8B). diff --git a/themes/next/docs/zh-CN/ALGOLIA-SEARCH.md b/themes/next/docs/zh-CN/ALGOLIA-SEARCH.md new file mode 100644 index 0000000..8aab587 --- /dev/null +++ b/themes/next/docs/zh-CN/ALGOLIA-SEARCH.md @@ -0,0 +1,84 @@ +

    Algolia 搜索

    + +NexT 内部提供 Algolia 的搜索功能,要使用此功能请确保所使用的 NexT 版本在 `v5.1.0` 之后。需要注意的是,仅仅将 `next/_config.yml` 中 `algolia_search` 的 `enable` 打开**并不能让你使用 Algolia 搜索**,你还需要**使用对应的 Hexo-Algolia 插件** 才能真正在博客页面中使用 Algolia 搜索。按照下面介绍的步骤操作即可完成 Algolia 搜索的安装。 + +1. 前往 [Algolia 注册页面](https://www.algolia.com/),注册一个新账户。 可以使用 GitHub 或者 Google 账户直接登录,注册后的 14 天内拥有所有功能(包括收费类别的)。之后若未续费会自动降级为免费账户,免费账户 总共有 10,000 条记录,每月有 100,000 的可以操作数。注册完成后,创建一个新的 Index,这个 Index 将在后面使用。 + + ![](http://theme-next.iissnan.com/uploads/algolia/algolia-step-2.png) + +1. Index 创建完成后,此时这个 Index 里未包含任何数据。接下来需要安装 [Hexo Algolia](https://github.com/oncletom/hexo-algolia) 扩展,这个扩展的功能是搜集站点的内容并通过 API 发送给 Algolia。前往站点根目录,执行命令安装: + + ``` + $ cd hexo + $ npm install --save hexo-algolia + ``` + +1. 在 `API Keys` 页面找到需要使用的一些配置的值,包括 `ApplicationID` 和 `Search-Only API Key`。注意,`Admin API Key` 需要保密保存,不要外泄。 + + ![](https://user-images.githubusercontent.com/8521181/35479066-64e35aec-0428-11e8-91f9-1ec3afa45c5c.png) + +1. 在 `API Keys` 页面,点击 `ALL API KEYS` 找到新建 INDEX 对应的 key,**编辑权限**,在弹出框中找到 ACL ,**勾选 Add records、 Delete records、List indices、Delete index 权限**,点击 `update` 更新。 + + ![](https://user-images.githubusercontent.com/8521181/35479064-611aa0b4-0428-11e8-85a1-cfb449b486ec.png) + ![](https://user-images.githubusercontent.com/8521181/35479084-d4f7ac02-0428-11e8-95a6-c4e3b1bef47b.png) + +1. 编辑 `站点配置文件`,新增以下配置,除了 `chunkSize` 字段,替换成在 Algolia 获取到的值: + + ```yml + algolia: + applicationID: 'applicationID' + apiKey: 'apiKey' + indexName: 'indexName' + chunkSize: 5000 + ``` + +1. 当配置完成,在站点根目录下执行一下命令来更新上传 Index。请注意观察命令的输出。 + + ``` + $ export HEXO_ALGOLIA_INDEXING_KEY=Search-Only API key # 使用 Git Bash + # set HEXO_ALGOLIA_INDEXING_KEY=Search-Only API key # 使用 Windows CMD 命令行 + $ hexo clean + $ hexo algolia + ``` + + ![](http://theme-next.iissnan.com/uploads/algolia/algolia-step-4.png) + +1. 切换到 NexT 目录,并安装 algolia-instant-search 到 `source/lib` 目录。 + + ``` + $ cd themes/next + $ git clone https://github.com/theme-next/theme-next-algolia-instant-search source/lib/algolia-instant-search + ``` + + 如果你想直接使用 CDN 设置 Algolia Search,则需要在`主题配置文件`中添加 vendors 字段: + + ```yml + vendors: + ... + # Internal version: 1 + # https://www.algolia.com + algolia_instant_js: https://cdn.jsdelivr.net/npm/instantsearch.js@2.4.1/dist/instantsearch.js + algolia_instant_css: https://cdn.jsdelivr.net/npm/instantsearch.js@2.4.1/dist/instantsearch.min.css + ... + ``` + +1. 更改`主题配置文件`,找到 Algolia Search 配置部分,将 `enable` 改为 `true`。同时你需要**关闭**其他搜索插件,如 Local Search 等。你也可以根据需要调整 `labels` 中的文本: + + ```yml + # Algolia Search + algolia_search: + enable: true + hits: + per_page: 10 + labels: + input_placeholder: Search for Posts + hits_empty: "We didn't find any results for the search: ${query}" + hits_stats: "${hits} results found in ${time} ms" + ``` + +

    已知的问题

    + +1. 考虑到 Algolia 免费账户的限制,目前 [Hexo-Algolia](https://github.com/oncletom/hexo-algolia) 插件最新版本去掉了正文索引功能。 +1. [Hexo-Algoliasearch](https://github.com/LouisBarranqueiro/hexo-algoliasearch) 插件提供了正文索引功能,不过需要替换 NEXT 主题中的关键字。对于免费账户,`Record Too Big` 的问题同样存在。 + - 替换 `source/js/algolia-search.js` 中所有的 `applicationID` 为 `appId` + - 替换 `layout/_partials/head/head.swig` 中所有的 `applicationID` 为 `appId` diff --git a/themes/next/docs/zh-CN/CODE_OF_CONDUCT.md b/themes/next/docs/zh-CN/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..ecc7376 --- /dev/null +++ b/themes/next/docs/zh-CN/CODE_OF_CONDUCT.md @@ -0,0 +1,99 @@ +
    Language: :us: +:cn: +:ru:
    + +#
    e x T
    + +[NexT](https://theme-next.org) 是一个优雅而强大的 [Hexo](https://hexo.io/)主题。在这里,您可以构建一个托管在 [GitHub Pages](https://pages.github.com/) 上的静态博客,分享您的生活,并与新朋友进行交流。 + +参与者公约用来约束在 [NexT](https://github.com/theme-next/hexo-theme-next) 社区中代码更新、问题交流、请求合并等行为。我们期望所有用户相互尊重,礼貌待人。任何违反这些规则的人都将不会被审核,并会在发现后立即被阻止和驱逐。 + +## 目录 + +- [我们的保证](#our-pledge) +- [我们的责任](#our-responsibilities) +- [我们的标准](#our-standards) +- [使用范围](#scope) +- [强制执行](#enforcement) +- [联系项目维护者](#contacting-maintainers) +- [来源](#attribution) + + +## 我们的保证 + +作为此项目的贡献者和维护者,我们承诺尊重所有做出贡献的用户,这些贡献包括了报告问题、发布功能请求、更新文档、提交合并请求以及其他活动。 + +为了促进一个开放透明且友好的环境,我们作为贡献者和维护者保证:无论年龄、种族、民族、性别认同和表达(方式)、体型、身体健全与否、经验水平、国籍、个人表现、宗教或性别取向,参与者在我们项目和社区中都免于骚扰。 + + +## 我们的责任 + +项目维护者有责任为「可接受的行为」标准做出诠释,有权利及责任去删除、编辑、拒绝与本行为标准有所违背的评论(comments)、提交(commits)、代码、wiki 编辑、问题(issues)和其他贡献,以及项目维护者可暂时或永久性的禁止任何他们认为有不适当、威胁、冒犯、有害行为的贡献者。 + + +## 我们的标准 + +作为 GitHub 上的一个项目,本项目受到 [GitHub 社区准则](https://help.github.com/articles/github-community-guidelines/)的约束。 此外,作为 npm 托管的项目,[npm 公司的行为准则](https://www.npmjs.com/policies/conduct)也涵盖了本项目。 + +有助于创造正面环境的行为包括但不限于: + +* 使用友好和包容性语言 +* 尊重不同的观点和经历 +* 耐心地接受建设性批评 +* 关注对社区最有利的事情 +* 友善对待其他社区成员 + +身为参与者不能接受的行为包括但不限于: + +* 使用与性有关的言语或是图像,以及不受欢迎的性骚扰 +* 捣乱/煽动/造谣的行为或进行侮辱/贬损的评论,人身攻击及政治攻击 +* 公开或私下的骚扰 +* 未经许可地发布他人的个人资料,例如住址或是电子地址 +* 其他可以被合理地认定为不恰当或者违反职业操守的行为 + + +## 使用范围 + +当一个人代表该项目或是其社区时,本行为标准适用于其项目社区和公共社区。 + +根据某人在本社区范围以外发生的违规情况,项目维护者可以认为其不受欢迎,并采取适当措施来保证所有成员的安全性和舒适性。 + + +## 强制执行 + +如果您看到违反行为准则的行为,请按以下步骤操作: + +1. 让这个人知道他所做的并不合适,并要求他停止或编辑他们的提交信息。该人应立即停止行为并纠正问题。 +2. 如果该人没有纠正其行为,或者您不方便与其沟通,请[联系项目维护者](#contacting-maintainers)。上报时,请尽可能多的提供详细信息,链接,截图,上下文或可用于更好地理解和解决情况的其他信息。 +3. 收到上报信息后,项目维护者会查看问题,并采取进一步的措施。 + +一旦项目维护者参与其中,他们将遵循以下一系列步骤,并尽力保护项目成员的利益。任何维护团队认为有必要且适合的所有投诉都将进行审查及调查,并做出相对应的回应。项目小组有对事件回报者有保密的义务。具体执行的方针近一步细节可能会单独公布。 + +以下是项目维护者根据需要采取的进一步执法步骤: + +1. 再次要求停止违规行为。 +2. 如果违规者还是没有回应,将会受到正式的警告,并收到项目维护者的移除或修改消息。同时,相关的问题或合并请求将会被锁定。 +3. 如果警告后违规行为继续出现,违规者将会被禁言 24 小时。 +4. 如果禁言后违规行为继续出现,违规者将会被处罚长期(6-12个月)禁言。 + +除此之外,项目维护者可以根据需要删除任何违规的消息,图片,贡献等。如果违规行为被认为是对社区成员的严重或直接威胁,包括任何置社区成员于风险的威胁、身体或言语攻击,项目维护者有充分权利自行决定跳过上述任何步骤。 + +没有切实地遵守或是执行本行为标准的项目维护人员,可能会因项目领导人或是其他成员的决定,暂时或是永久地取消其参与资格。 + + +## 联系项目维护者 + +您可以通过以下任何方法与维护人员联系 + +* 电子邮件: + * [support@theme-next.org](mailto:support@theme-next.org) + +* 即时通信: + * [Gitter](https://gitter.im/theme-next) + * [Riot](https://riot.im/app/#/room/#NexT:matrix.org) + * [Telegram](https://t.me/joinchat/GUNHXA-vZkgSMuimL1VmMw) + + +## 来源 + +本行为标准改编自[Contributor Covenant](https://www.contributor-covenant.org/) 和 [WeAllJS Code of Conduct](https://wealljs.org/code-of-conduct)。 diff --git a/themes/next/docs/zh-CN/CONTRIBUTING.md b/themes/next/docs/zh-CN/CONTRIBUTING.md new file mode 100644 index 0000000..40a2b72 --- /dev/null +++ b/themes/next/docs/zh-CN/CONTRIBUTING.md @@ -0,0 +1,226 @@ +
    语言::us: +:cn: +:ru:
    + +#
    e x T
    + +首先,非常感谢大家抽出宝贵时间来让我们的 NexT 主题越变越好。在这里,我们介绍一下 [NexT 主题及其子模块](https://github.com/theme-next) 的开源贡献指南。不过,我们希望大家不要局限于此,更欢迎大家随时进行补充。 + +## 目录 + +[如何为 NexT 做贡献](#how-can-i-contribute) + + * [你需要了解的](#before-submitting-an-issue) + * [反馈 Bug](#reporting-bugs) + * [提交漏洞](#reporting-security-bugs) + * [提交功能需求](#suggesting-enhancements) + * [提交合并请求](#submitting-a-pull-request) + * [发布版本](#creating-releases) + +[规范](#guides) + + * [行为规范](#coding-rules) + * [编码规范](#coding-standards) + * [标签规范](#labels-rules) + * [提交信息规范](#commit-messages-rules) + + + +## 如何为 NexT 做贡献 + +目前 NexT 主题已经从 [iissnan](https://github.com/iissnan/hexo-theme-next) 的个人仓库移动到了 [Theme-Next](https://github.com/theme-next) 组织仓库中,并升级到 V6 版本。在 V6+ 版本中,`next/source/lib` 目录下的第三方依赖库将独立放置在 [Theme-Next](https://github.com/theme-next) 组织仓库中。在大多数情况下,NexT V5 版本仍然能够正常运行,但是如果你想获得更多的功能和帮助,还是建议您 [升级到 NexT V6+ 版本](https://github.com/theme-next/hexo-theme-next/blob/master/docs/UPDATE-FROM-5.1.X.md),并移步 [Theme-Next](https://github.com/theme-next/hexo-theme-next) 仓库。 + + + +### 你需要了解的 + +如果你在使用过程中遇到了问题,你可以查阅 FAQs(建设中) 或者 [NexT 帮助文档](https://theme-next.org/docs/)(建设中)。另外,你也可以通过 [这里](https://github.com/theme-next/hexo-theme-next/search?q=&type=Issues&utf8=%E2%9C%93) 进行大致检索,有些问题已经得到解答,你可以自行解决。对于没有解决的 Issue,你也可以继续提问。 + +如果你在使用过程中发现了 Bug,请再次确认 Bug 在 [最新发布版本](https://github.com/theme-next/hexo-theme-next/releases/latest) 中是否重现。如果 Bug 重现,欢迎你到我们的 [主题仓库](https://github.com/theme-next/hexo-theme-next) 中 [反馈 Bug ](#reporting-bugs) 或者 [提交功能需求](#suggesting-enhancements),也更期待您 [提交合并请求](#submitting-a-pull-request)。 + + + +### 反馈 Bug + +反馈 Bug 前,请再次确认您已经查看了 [你需要了解的](#before-submitting-an-issue) 内容,避免提交重复的 Issue。确定相关仓库后,创建 Issue 并按照 [模板](../../.github/ISSUE_TEMPLATE.md) 尽可能的详细填写相关信息。 + +请认真遵守如下指南,这样我们才能更好地理解问题,重现问题和解决问题。 + +* 在标题中清晰准确地描述你的问题。 +* 参照如下问题尽可能多的提供信息: + * Bug 是否能够重现?是一直出现还是偶尔出现? + * Bug 是从什么时候开始发生的? + * 如果 Bug 突然发生,使用 [旧版本主题](https://github.com/theme-next/hexo-theme-next/releases) 是否能够重现 Bug?又是从哪个版本开始出现 Bug? + * 你所使用 Node,Hexo 以及 Next 的版本号多少?你可以运行 `node -v` 和 `hexo version` 获取版本号,或者查看文件 `package.json` 的内容。 + * 你使用了哪些插件包?查看文件 `package.json` 的内容即可获取。 +* 一步步详细你是如何重现 Bug 的,做了什么,使用了哪些功能等等。如果你需要展示代码段,请使用 [Markdown 代码块](https://help.github.com/articles/creating-and-highlighting-code-blocks/) 或 [Github 预览链接](https://help.github.com/articles/creating-a-permanent-link-to-a-code-snippet/) 或 [Gist 链接](https://gist.github.com/)。 +* 提供 Bug 的样例,如图像文件、在线演示网址等等。 +* 详细描述通过上述重现过程出现的问题。 +* 详细描述你期待的结果。 + + + +#### 提交漏洞 + +如果你发现安全问题,请以负责任的方式行事,即不要在公共 Issue 中提交而是直接向我们反馈,这样我们就可以在漏洞被利用之前对其进行修复。请将相关信息发送到 security@theme-next.com(可接受 PGP 加密邮件)。 + +我们很乐意对任何提交漏洞的人予以特别感谢以便我们修复它。如果你想保持匿名性或使用笔名替代,请告诉我们。我们将充分尊重你的意愿。 + + + +### 提交功能需求 + +提交功能需求前,请再次确认您已经查看了 [你需要了解的](#before-submitting-an-issue) 内容,避免提交重复的 Issue。确定相关仓库后,创建 Issue 并按照 [模板](../../.github/ISSUE_TEMPLATE.md) 尽可能的详细填写相关信息。 + +请认真遵守如下指南,这样我们才能更好地理解和开发功能需求:pencil:: + +* 在标题中清晰准确地描述你的功能需求。 +* 详细描述目前所具有的功能和你所期待的功能,并解释为什么需要该功能。 +* 提供功能需求的样例,如图像文件、在线演示网址等等。 + + + +### 提交合并请求 + +提交合并请求前,请再次确认您已经查看了 [你需要了解的](#before-submitting-an-issue) 内容,避免提交重复的合并请求。确定相关仓库后,创建合并请求。更多详细操作过程可以查看 [帮助文档](https://help.github.com/articles/creating-a-pull-request/)。 + +1. 进入 [hexo-theme-next](https://github.com/theme-next/hexo-theme-next) 主页面,点击`Fork`。 +2. 进入到已经`Fork`的个人仓库(`https://github.com/username/hexo-theme-next`),点击 **Clone or download** 并复制该仓库地址。选择本地文件夹,并打开 Git Bash ,输入如下命令并回车,即可完成仓库克隆。 + ```bash + $ git clone git@github.com:username/hexo-theme-next.git + ``` +3. 进入 `hexo-theme-next` 本地文件夹,并创建分支。 + ```bash + $ cd hexo-theme-next + $ git checkout -b patchname + ``` +4. 本地修改并测试,推送分支。 + ```bash + $ git add . + $ git commit -m "add commit messamge" + $ git push origin patchname + ``` +5. 进入 `fork` 后的仓库,切换到新提交的 `patchname` 分支,点击 `patchname` 分支右侧的 **New pull request** 。在 PR 对比页面,正确选择你需要发起合并请求的分支,然后点击 **Create pull request** ,建立一个新的合并申请并描述变动。 + +请认真遵守如下指南,这样我们才能更好地理解你的合并请求: + +* 创建合并请求时,请遵守 [编码规范](#coding-rules) 和 [提交信息规范](#commit-messages-rules)。 +* 在标题中清晰准确地描述你的合并请求,不要加入 Issue 编号。 +* 按照 [模板](../../.github/PULL_REQUEST_TEMPLATE.md) 尽可能的详细填写相关信息。 +* 合并请求需要在所有主题样式中测试通过,并提供所表现功能的样例,如图像文件、在线演示网址等等。 + + + +### 发布版本 + +版本发布是将项目发布给用户的一种很好的方式。 + +1. 进入 GitHub 项目主页,点击 **Releases** 和 **Draft a new release**。 +2. 输入你需要发布的版本号。版本控制是基于 [Git tags](https://git-scm.com/book/en/Git-Basics-Tagging) 工作的,建议按照 [About Major and Minor NexT versions](https://github.com/theme-next/hexo-theme-next/issues/187) 确定版本号。 +3. 确定你需要发布的分支。除非发布测试版本,通常情况下选择 `master` 分支。 +4. 输入发布版本的标题和说明。 + - 标题为版本号。 + - 所有内容更改的类型包括了 **Breaking Changes**, **Updates**, **Features** 和 **Bug Fixes**。在描述 Breaking Changes 时,使用二级标题分别陈述,描述其他类型时,使用项目列表陈述。 + - 使用被动语态,省略主语。 + - 所有的变化都需要记录在版本说明中。对于没有使用 PR 的更改,需要添加相应的 commit 编号。如果使用了 PR 进行合并修改,则直接添加相应的 PR 编号即可。 +5. 如果您希望随版本一起发布二进制文件(如编译的程序),请在上传二进制文件对话框中手动拖放或选择文件。 +6. 如果版本不稳定,请选择 **This is a pre-release**,以通知用户它尚未完全准备好。如果您准备公布您的版本,请点击 **Publish release**。否则,请单击 **Save draft** 以稍后处理。 + + + +## 规范 + + + +### 行为规范 + +为了保证本项目的顺利运作,所有参与人都需要遵守 [行为规范](CODE_OF_CONDUCT.md)。 + + + +### 编码规范 + +未完待续。 + + + +### 标签规范 + +为了方便维护人员和用户能够快速找到他们想要查看的问题,我们使用“标签”功能对 Pull requests 和 Issues 进行分类。 + +如果您不确定某个标签的含义,或者不知道将哪些标签应用于 PR 或 issue,千万别错过这个。 + +Issues 的标签:使用`类型`+`内容`+`结果`的组合 + +- 类型 + - `Irrelevant`: 与 NexT 主题无关的 Issue + - `Duplicate`: 重复提及的 Issue + - `Bug`: 检测到需要进行确认的 Bug + - `Improvement Need`: 需要改进的 Issue + - `Feature Request`: 提出了新功能请求的 Issue + - `High Priority`: 检测到具有高优先级的 Bug 或笔误的 Issue + - `Low Priority`: 检测到具有低优先级的 Bug 或笔误的 Issue + - `Non English`: 需要多语言维护者参与的 Issue + - `Discussion`: 需要进行讨论的 Issue + - `Question`: 提出疑问的 Issue + - `Backlog`: 待解决的 Issue + - `Meta`: 表明使用条款变更的 Issue +- 内容 + - `Roadmap`: 与 NexT 主题发展相关的 Issue + - `Hexo`: 与 Hexo 相关的 Issue + - `Scheme [1] - Mist`: 与 Mist 主题相关的 Issue + - `Scheme [2] - Muse`: 与 Muse 主题相关的 Issue + - `Scheme [3] - Pisces`: 与 Pisces 主题相关的 Issue + - `Scheme [4] - Gemini`: 与 Gemini 主题相关的 Issue + - `3rd Party Service`: 与第三方服务相关的 Issue + - `Docs`: 需要添加文档说明的 Issue + - `Configurations`: 与 NexT 主题设置相关的 Issue + - `CSS`: 与 NexT 主题 CSS 文件相关的 Issue + - `Custom`: 与 NexT 主题个性化相关的 Issue +- 结果 + - `Wontfix`: 不能或不被修复的 Issue + - `Need More Info`: 需要更多信息的 Issue + - `Need Verify`: 需要开发人员或用户确认 Bug 或解决方法的 Issue + - `Can't Reproduce`: 无法复现的 Issue + - `Verified`: 已经被确认的 Issue + - `Help Wanted`: 需要帮助的 Issue + - `Wait for Answer`: 需要开发人员或用户回复的 Issue + - `Resolved Maybe`: 可能已经解决的 Issue + - `Solved`: 已经解决的 Issue + - `Stale`: 由于长期无人回应被封存的 Issue + +Pull requests 的标签: + +- `Breaking Change`: 产生重大变动的 Pull request +- `External Change`: 针对外部变动进行更新的 Pull request +- `Bug Fix`: 修复相关 Bug 的 Pull request +- `Docs`: 添加了文档说明的 Pull request +- `New Feature`: 添加了新功能的 Pull request +- `Feature`: 为现有功能提供选项或加成的 Pull request +- `Improvement`: 改进了 NexT 主题的 Pull request +- `i18n`: 更新了翻译的 Pull request +- `Performance`: 提高了 NexT 主题性能的 Pull request +- `Discussion`: 需要进行讨论的 Pull request +- `v6.x`: 与 NexT v6.x 旧版相关的用于修复和改进的 Pull request +- `v7.x`: 与 NexT v7.x 旧版相关的用于修复和改进的 Pull request + + + +### 提交信息规范 + +我们对项目的 git 提交信息格式进行统一格式约定,每条提交信息由 `type`+`subject` 组成,这将提升项目日志的可读性。 + +- `type` 用于表述此次提交信息的意义,首写字母大写,包括但不局限于如下类型: + * `Build`:基础构建系统或依赖库的变化 + * `Ci`:CI 构建系统及其脚本变化 + * `Docs`:文档内容变化 + * `Feat`:新功能 + * `Fix`:Bug 修复 + * `Perf`:性能优化 + * `Refactor`:重构(即不是新增功能,也不是修改 Bug 的代码变动) + * `Style`:格式(不影响代码运行的变动) + * `Revert`:代码回滚 + * `Release`:版本发布 +- `subject` 用于简要描述修改变更的内容,如 `Update code highlighting in readme.md`。 + * 句尾不要使用符号。 + * 使用现在时、祈使句语气。 diff --git a/themes/next/docs/zh-CN/DATA-FILES.md b/themes/next/docs/zh-CN/DATA-FILES.md new file mode 100644 index 0000000..624931b --- /dev/null +++ b/themes/next/docs/zh-CN/DATA-FILES.md @@ -0,0 +1,61 @@ +

    数据文件

    + +目前,通过 pull 或下载新的 release 版本来更新 NexT 主题的体验并不平滑。当用户使用 `git pull` 更新 NexT 主题时经常需要解决冲突问题,而在手动下载 release 版本时也经常需要手动合并配置。 + +现在来说,NexT 推荐用户存储部分配置在站点的 `_config.yml` 中,而另一部分在主题的 `_config.yml` 中。这一方式固然可用,但也有一些缺点: +1. 配置项被分裂为两部分; +2. 用户难以弄清何处存放配置选项。 + +为了解决这一问题,NexT 将利用 Hexo 的[数据文件](https://hexo.io/docs/data-files.html)特性。因为数据文件是在 Hexo 3 中被引入,所以你需要更新至 Hexo 3.0 以后的版本来使用这一特性。 + +如果你仍然希望使用 Hexo 2.x,你依旧可以按老的方式进行配置。NexT 仍然兼容 Hexo 2.x(但可能会出现错误)。 + +

    选择 1:Hexo 方式

    + +使用这一方式,你的全部配置都将置于 hexo 主要配置文件中(`hexo/_config.yml`),并且不需要修改 `next/_config.yml`,或者创建什么其他的文件。但是所有的主题选项必须放置在 `theme_config` 后,并全部增加两个空格的缩进。 + +如果在新的 release 中出现了任何新的选项,那么你只需要从 `next/_config.yml` 中将他们复制到 `hexo/_config.yml` 中并设置它们的值为你想要的选项。 + +### 用法 + +1. 请确认不存在 `hexo/source/_data/next.yml` 文件(如果已存在,请删除) +2. 从主题的 `next/_config.yml` 文件中复制你需要的 NexT 配置项到 `hexo/_config.yml` 中,然后\ + 2.1. 所有这些配置项右移两个空格(在 Visual Studio Code 中:选中这些文字,CTRL + ])。\ + 2.2. 在这些参数最上方添加一行 `theme_config:`。 + +### 相关链接 + +* [Hexo 配置](https://hexo.io/zh-cn/docs/configuration.html) +* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) + +

    选择 2: NexT 方式

    + +使用这一方式,你现在可以将你的全部配置置于同一位置(`source/_data/next.yml`),并且不需要修改 `next/_config.yml`。 +但是可能无法让所有 Hexo 外部库都准确处理它们的附加选项(举个例子,`hexo-server` 模块只会从 Hexo 默认配置文件中读取选项)。 + +如果在新的 release 中出现了任何新的选项,那么你只需要从 `next/_config.yml` 中将他们复制到 `source/_data/next.yml` 中并设置它们的值为你想要的选项。 + +### 用法 + +1. 请确认你的 Hexo 版本为 3.0 或更高。 +2. 在你站点的 `hexo/source/_data` 目录创建一个 `next.yml` 文件(如果 `_data` 目录不存在,请创建之)。 + +

    以上步骤之后有 两种选择,请任选其一然后继续后面的步骤

    + +* **选择 1:`override: false`(默认)**: + + 1. 检查默认 NexT 配置中的 `override` 选项,必须设置为 `false`。\ + 在 `next.yml` 文件中,也要设置为 `false`,或者不定义此选项。 + 2. 从站点的 `_config.yml` 与主题的 `_config.yml` 中复制你需要的选项到 `hexo/source/_data/next.yml` 中。 + +* **选择 2:`override: true`**: + + 1. 在 `next.yml` 中设置 `override` 选项为 `true`。 + 2. 从 `next/_config.yml` 配置文件中复制**所有**的 NexT 主题选项到 `hexo/source/_data/next.yml` 中。 + +3. 然后,在站点的 `hexo/_config.yml`中需要定义 `theme: next` 选项(如果需要的话,`source_dir: source`)。 +4. 使用标准参数来启动服务器,生成或部署(`hexo clean && hexo g -d && hexo s`)。 + +### 相关链接 + +* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) diff --git a/themes/next/docs/zh-CN/INSTALLATION.md b/themes/next/docs/zh-CN/INSTALLATION.md new file mode 100644 index 0000000..7ea4b88 --- /dev/null +++ b/themes/next/docs/zh-CN/INSTALLATION.md @@ -0,0 +1,120 @@ +

    安装

    + +

    步骤 1 → 进入 Hexo 目录

    + +进入 **hexo 根**目录。这一目录中应当有 `node_modules`、`source`、`themes` 等若干子目录: + ```sh + $ cd hexo + $ ls + _config.yml node_modules package.json public scaffolds source themes + ``` + +

    步骤 2 → 获取 NexT

    + +

    从 GitHub 下载主题。
    +为了下载这一主题,共有 3 种选项可选。你需要选择其中唯一一个方式

    + +### 选项 1:下载[最新 release 版本][releases-latest-url] + + 通常情况下请选择 **stable** 版本。推荐不熟悉的用户按此方式进行。 + + * 使用 [curl、tar 和 wget][curl-tar-wget-url] 安装: + + ```sh + $ mkdir themes/next + $ curl -s https://api.github.com/repos/theme-next/hexo-theme-next/releases/latest | grep tarball_url | cut -d '"' -f 4 | wget -i - -O- | tar -zx -C themes/next --strip-components=1 + ``` + 这种方式将**仅提供最新的 release 版本**(其中不附带 `.git` 目录)。\ + 因此,将来你将不可能通过 `git` 更新这一方式安装的主题。\ + 取而代之的,为了能不丢失你的自定义配置,你可以使用独立的配置文件(例如 [数据文件][docs-data-files-url])并下载最新版本到旧版本的目录中(或者下载到新的主题目录中并修改 Hexo 配置中的主题名)。 + +### 选项 2:下载 [tag 指向的 release 版本][releases-url] + + 在少数情况下将有所帮助,但这并非推荐方式。\ + 你必须指定一个版本:使用 [tags 列表][tags-url]中的任意 tag 替换 `v6.0.0`。 + + * 方式 1:使用 [curl 和 tar][curl-tar-url] 安装: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball/v6.0.0 | tar -zxv -C themes/next --strip-components=1 + ``` + 和上述的 `curl、tar 和 wget` 方法相同,但只会下载**指定的 release 版本**。 + + * 方式 2:使用 [git][git-url] 安装: + + ```sh + $ git clone --branch v6.0.0 https://github.com/theme-next/hexo-theme-next themes/next + ``` + 这一方式将为你下载**指定的 release 版本**(其中包含 `.git` 目录)。\ + 并且,你可以随时切换到任何已定义的版本号所对应的 tag 的版本。 + +### 选项 3:下载[最新 master 分支][download-latest-url] + + 可能**不稳定**,但包含最新的特性。推荐进阶用户和开发者按此方式进行。 + + * 方式 1:使用 [curl 和 tar][curl-tar-url] 安装: + + ```sh + $ mkdir themes/next + $ curl -L https://api.github.com/repos/theme-next/hexo-theme-next/tarball | tar -zxv -C themes/next --strip-components=1 + ``` + 和上述的 `curl、tar 和 wget` 方法相同,但只会下载**最新 master 分支版本**。\ + 在有些情况对开发者有所帮助。 + + * 方式 2:使用 [git][git-url] 安装: + + ```sh + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + + 这一方式将为你下载**完整仓库**(其中包含 `.git` 目录)。\ + 你可以随时[使用 git 更新至最新版本][update-with-git-url]并切换至任何有 tag 标记的 release 版本、最新的 master 分支版本、甚至其他分支。\ + 在绝大多数情况下对用户和开发者友好。 + + 获取 tags 列表: + + ```sh + $ cd themes/next + $ git tag -l + … + v6.0.0 + v6.0.1 + v6.0.2 + ``` + + 例如,假设你想要切换到 `v6.0.1` 这一 [tag 指向的 release 版本][tags-url]。输入如下指令: + + ```sh + $ git checkout tags/v6.0.1 + Note: checking out 'tags/v6.0.1'. + … + HEAD is now at da9cdd2... Release v6.0.1 + ``` + + 然后,假设你想要切换回 [master 分支][commits-url],输入如下指令即可: + + ```sh + $ git checkout master + ``` + +

    步骤 3 → 完成配置

    + +在 **hexo 根配置**文件 `_config.yml` 中设置你的主题: + +```yml +theme: next +``` + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest +[releases-url]: https://github.com/theme-next/hexo-theme-next/releases +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[git-url]: http://lmgtfy.com/?q=linux+git+install +[curl-tar-url]: http://lmgtfy.com/?q=linux+curl+tar+install +[curl-tar-wget-url]: http://lmgtfy.com/?q=linux+curl+tar+wget+install + +[update-with-git-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/README.md#update +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/DATA-FILES.md diff --git a/themes/next/docs/zh-CN/LEANCLOUD-COUNTER-SECURITY.md b/themes/next/docs/zh-CN/LEANCLOUD-COUNTER-SECURITY.md new file mode 100644 index 0000000..39fee34 --- /dev/null +++ b/themes/next/docs/zh-CN/LEANCLOUD-COUNTER-SECURITY.md @@ -0,0 +1,186 @@ +在配置前,请升级NexT至**v6.0.6**以上。 + +在配置过程中请注意**博客配置文件**和**主题配置文件**的区别。 + +--- + +# 注册Leancloud并创建应用 +- 首先,前往Leancloud官网[leancloud.cn](leancloud.cn)进行注册,并登陆。 +- 然后点击图示`1`处,进入控制台: + + ![1](https://lc-cqha0xyi.cn-n1.lcfile.com/fc0c048a1e25dc3d10aa.jpg) + +- 接着,点击图示`1`处,创建应用: + + ![2](https://lc-cqha0xyi.cn-n1.lcfile.com/33a56b754753a5d34b01.jpg) + +- 在弹出窗口`1`处输入应用名称(可随意输入,可更改,为演示方便取名为test),并选择`2`处“开发版”,然后点击`3`处创建: + + ![3](https://lc-cqha0xyi.cn-n1.lcfile.com/649ccfc6f12015d1eefb.jpg) + +到这里应用创建完成。 + +# 建立Counter类并在NexT中启用插件 +- 点击`1`处应用名称进入应用管理界面: + + ![4](https://lc-cqha0xyi.cn-n1.lcfile.com/d0889df29841661e0b9e.jpg) + +- 如图,点击侧边栏`1`处创建Class: + + ![5](https://lc-cqha0xyi.cn-n1.lcfile.com/b0fbc81bd6c19fa09a46.jpg) + +- 在弹出窗口`1`处填入`Counter`,勾选`2`处无限制,并点击`3`处创建Class: + + ![6](https://lc-cqha0xyi.cn-n1.lcfile.com/ae6154d6a55f02f11ebf.jpg) + +- 此时类已创建完成。接下来点击图示`1`处进入设置,然后点击`2`处进入应用Key: + + ![8](https://lc-cqha0xyi.cn-n1.lcfile.com/9501a6372918dd9a8a92.jpg) + +- 粘贴`App ID`和`App Key`到**NexT主题配置文件**`_config.yml`对应位置。此时配置文件应如下: +```yml +leancloud_visitors: + enable: true + security: true + app_id: <> + app_key: <> +``` + +- 设置Web安全域名确保域名调用安全。点击`1`处进入安全中心,然后在`2`处填写自己博客对应的域名(**注意协议、域名和端口号需严格一致**): + + ![9](https://lc-cqha0xyi.cn-n1.lcfile.com/0e537cc4bec2e185201d.jpg) + +到这里内容均与Doublemine的[为NexT主题添加文章阅读量统计功能](https://notes.wanghao.work/2015-10-21-%E4%B8%BANexT%E4%B8%BB%E9%A2%98%E6%B7%BB%E5%8A%A0%E6%96%87%E7%AB%A0%E9%98%85%E8%AF%BB%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD.html#%E9%85%8D%E7%BD%AELeanCloud)这篇文章相同,只不过截图为新版的Leancloud的界面。 + +# 部署云引擎以保证访客数量不被随意篡改 +- 点击左侧`1`处云引擎,然后点击`2`处部署,再点击`3`处在线编辑: + + ![10](https://lc-cqha0xyi.cn-n1.lcfile.com/d7056dfeeef7c5d66318.jpg) + +- 点击`1`处创建函数: + + ![11](https://lc-cqha0xyi.cn-n1.lcfile.com/2737841bbc2bdd572ae0.jpg) + +- 在弹出窗口选择`1`处`Hook`类型,然后`2`处选择`beforeUpdate`,`3`处选择刚才建立的`Counter`类。在`4`中粘贴下方代码后,点`5`处保存。 + ```javascript + var query = new AV.Query("Counter"); + if (request.object.updatedKeys.indexOf('time') !== -1) { + return query.get(request.object.id).then(function (obj) { + if (obj.get("time") > request.object.get("time")) { + throw new AV.Cloud.Error('Invalid update!'); + } + return request.object.save(); + }); + } + ``` + + 如图所示: + + ![12](https://lc-cqha0xyi.cn-n1.lcfile.com/a8e13418ed1d9405315b.jpg) + +- 点击保存后应出现类似红框处函数。此时点击`1`处部署: + + ![13](https://lc-cqha0xyi.cn-n1.lcfile.com/ca56bf2e5fc2a1343565.jpg) + +- 在弹出窗口点击`1`处部署: + + ![14](https://lc-cqha0xyi.cn-n1.lcfile.com/17548c13b3b23c71d845.jpg) + +- 等待出现红框处的成功部署信息后,点击`1`处关闭: + + ![15](https://lc-cqha0xyi.cn-n1.lcfile.com/d2f50de6cefea9fd0ed3.jpg) + + +至此云引擎已成功部署,任何非法的访客数量更改请求都将失败。 + +# 进一步设置权限 +- 打开**NexT主题配置文件**`_config.yml`,将leancloud_visitors下的security设置为true(如没有则新增): + ```yml + leancloud_visitors: + enable: true + app_id: <> + app_key: <> + # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security + security: true + betterPerformance: false + ``` + + **对`betterPerformance`选项的说明:** + 由于Leancloud免费版的云引擎存在请求线程数和运行时间限制以及休眠机制,很多时候访客数量加载会很慢。如果设置`betterPerformance`为`true`,则网页则会在提交请求之前直接显示访客人数为查询到的人数+1,以增加用户体验。 + +- 打开cmd并切换至**博客根目录**,键入以下命令以安装`hexo-leancloud-counter-security`插件: + ``` + npm install hexo-leancloud-counter-security --save + ``` + +- 打开**博客配置文件**`_config.yml`,新增以下配置: + ```yml + leancloud_counter_security: + enable_sync: true + app_id: <> + app_key: < + username: + password: + ``` + +- 在相同目录键入以下命令: + ``` + hexo lc-counter register <> <> + ``` + 或 + ``` + hexo lc-counter r <> <> + ``` + + 将`<>`和`<>`替换为你自己的用户名和密码(不必与leancloud的账号相同)。此用户名和密码将在hexo部署时使用。 + + - 打开**博客配置文件**`_config.yml`,将`<>`和`<>`替换为你刚刚设置的用户名和密码: + ```yml + leancloud_counter_security: + enable_sync: true + app_id: <> + app_key: < + username: <> #如留空则将在部署时询问 + password: <> #建议留空以保证安全性,如留空则将在部署时询问 + ``` + +- 在**博客配置文件**`_config.yml`的`deploy`下添加项: + ```yml + deploy: + # other deployer + - type: leancloud_counter_security_sync + ``` + +- 返回Leancloud控制台的应用内。依次点击`1` `2`,检查_User表中是否出现一条记录(图示以用户名为admin为例): + + ![16](https://lc-cqha0xyi.cn-n1.lcfile.com/99faa5a0e7160e66d506.jpg) + +- 点击`1`处进入Counter表,依次点击`2` `3`,打开权限设置: + + ![17](https://lc-cqha0xyi.cn-n1.lcfile.com/b72a9e64579f5b71749d.jpg) + +- 点击`1`add_fields后选择`2`指定用户, 并将下两栏留空:此处应与下条create设置相同(选择你所创建的用户): + + ![18](https://lc-cqha0xyi.cn-n1.lcfile.com/14a8cb37062693d768ad.jpg) + +- 点击`1`create后选择`2`指定用户, 在`3`处键入用户名,点击`4`处后点击`5`处添加: + + ![19](https://lc-cqha0xyi.cn-n1.lcfile.com/d91714cfd703ef42b94c.jpg) + + 完成此步操作后,界面应与图示类似: + + ![20](https://lc-cqha0xyi.cn-n1.lcfile.com/c05e7ec9218820baf412.jpg) + +- 点击`1`delete后选择`2`指定用户, 并将下两栏留空: + + ![21](https://lc-cqha0xyi.cn-n1.lcfile.com/c37b6e20726cfb1d3197.jpg) + +至此权限已设置完成,数据库记录只能在本地增删。 + +每次运行`hexo d`部署的时候,插件都会扫描本地`source/_posts`下的文章并与数据库对比,然后在数据库创建没有录入数据库的文章记录。 + +如果在**博客配置文件**中留空username或password,则在部署过程中程序会要求输入。 + +--- + +原文链接:https://leaferx.online/2018/02/11/lc-security/ diff --git a/themes/next/docs/zh-CN/MATH.md b/themes/next/docs/zh-CN/MATH.md new file mode 100644 index 0000000..ae7c313 --- /dev/null +++ b/themes/next/docs/zh-CN/MATH.md @@ -0,0 +1,291 @@ +

    数学公式

    + +NexT 内部提供数学公式渲染的引擎,这样你就不需要自己手动在模板中引入 JS 或者 CSS; +只需要将 `next/_config.yml` 中 `math` 的 `enable` 选项改为 `true`,并选择对应的渲染引擎即可: + + +```yml +math: + enable: true + ... + engine: mathjax +``` + + +需要注意的是,仅仅将 `math` 的 `enable` 打开**并不能让你看到数学公式**,你还需要**使用对应的 Hexo 渲染器(Renderer)** 才能真正在博客页面中显示出数学公式。引擎对应使用的 Hexo 渲染器会在引擎相关的部分介绍。 + +

    提供的渲染引擎

    + +目前,NexT 提供两种数学公式渲染引擎,分别为 [MathJax](https://www.mathjax.org/) 和 [Katex](https://khan.github.io/KaTeX/),默认为 MathJax。 + +### MathJax(默认) + +如果你选择使用 MathJax 进行数学公式渲染,你需要使用 [hexo-renderer-pandoc](https://github.com/wzpan/hexo-renderer-pandoc) 或者 [hexo-renderer-kramed](https://github.com/sun11/hexo-renderer-kramed) 这两个渲染器的其中一个。 + +首先,卸载原有的渲染器 `hexo-renderer-marked`,并安装这两种渲染器的**其中一个**: + +```sh +npm un hexo-renderer-marked --save +npm i hexo-renderer-pandoc --save # 或者 hexo-renderer-kramed +``` + + +然后在 `next/_config.yml` 中将 `math` 的 `enable` 打开,并选择 `mathjax` 作为渲染引擎。 + +```yml +math: + enable: true + ... + engine: mathjax + #engine: katex +``` + +执行 Hexo 生成,部署,或者启动服务器: + +```sh +hexo clean && hexo g -d +# 或者 hexo clean && hexo s +``` + +#### 使用 MathJax 给公式编号并引用公式 + +在新版本的 NexT 主题中,我们加入了公式自动编号和引用功能。下面简要介绍一下如何使用这项功能。 + +为了使用这项功能,一般来说,你必须把所使用的 LaTeX 公式放在 `equation` 环境里面,采用旧的方法(也就是说,仅仅把公式的每一边用两个 $ 符号包含起来)是无效的。如何引用公式?你只需要在书写公式的时候给公式一个 `\ +label{}` 标记(tag),然后在正文中,可以使用 `\ref{}` 或者 `\eqref{}` 命令来引用对应的公式。使用 `\eqref{}` 是推荐的方式,因为如果你使用 `\ref{}`,公式在文中的引用编号将没有圆括号包围。下面介绍几种常见的公式编号例子。 + +对于简单的公式,使用下面的方式给公式一个标记, + +```latex +$$\begin{equation} +e=mc^2 +\end{equation}\label{eq1}$$ +``` + +然后,在正文中,你可以轻松引用上述公式,一个简单的例子如下: + +``` +著名的质能方程 $\eqref{eq1}$ 由爱因斯坦提出 ... +``` + +对于多行公式,在 `equation` 环境中,你可以使用 `aligned` 环境把公式分成多行, + +```latex +$$\begin{equation} +\begin{aligned} +a &= b + c \\ + &= d + e + f + g \\ + &= h + i +\end{aligned} +\end{equation}\label{eq2}$$ +``` + +要对齐多个公式,我们需要使用 `align` 环境。align 环境中的每个公式都有自己的编号: + +``` +$$\begin{align} +a &= b + c \label{eq3} \\ +x &= yz \label{eq4}\\ +l &= m - n \label{eq5} +\end{align}$$ +``` + +在 `align` 环境中,如果你不想给某个或某几个公式编号,那么在这些公式后面使用 [`\nonumber`](https://tex.stackexchange.com/questions/17528/show-equation-number-only-once-in-align-environment) 命令即可。例如: + +```latex +$$\begin{align} +-4 + 5x &= 2+y \nonumber \\ + w+2 &= -1+w \\ + ab &= cb +\end{align}$$ +``` + +有时,你可能会希望采用更加奇特的方式来标记和引用你的公式,你可以通过使用 `\tag{}` 命令来实现,例如: + +```latex +$$x+1\over\sqrt{1-x^2} \tag{i}\label{eq_tag}$$ +``` + +如果你想要了解更多信息,请访问 [MathJax 关于公式编号的官方文档](http://docs.mathjax.org/en/latest/tex.html#automatic-equation-numbering)。同时,你也可以访问[这篇博客](https://jdhao.github.io/2018/01/25/hexo-mathjax-equation-number/) 来获取更多细节信息。 + +### Katex + +Katex 渲染引擎相对于 MathJax 来说**大大提高了速度**,而且在关掉 JavaScript 时也能渲染数学公式。 + +但是 Katex 所支持的东西没有 MathJax 全面,你可以从下面的相关链接中获取更多的信息。 + +如果你选择使用 Katex 进行数学公式渲染,你需要使用 [hexo-renderer-markdown-it-plus](https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus) 或者 [hexo-renderer-markdown-it](https://github.com/hexojs/hexo-renderer-markdown-it) 这两种渲染器的其中一个。 + +首先,卸载原有的渲染器 `hexo-renderer-marked`,并安装这两种渲染器的**其中一个**: + +```sh +npm un hexo-renderer-marked --save +npm i hexo-renderer-markdown-it-plus --save +# 或者 hexo-renderer-markdown-it +``` + + +然后在 `next/_config.yml` 中将 `math` 的 `enable` 打开,并选择 `katex` 作为渲染引擎。 + +```yml +math: + enable: true + ... + #engine: mathjax + engine: katex +``` + +执行 Hexo 生成,部署,或者启动服务器: + +```sh +hexo clean && hexo g -d +# 或者 hexo clean && hexo s +``` + +#### 如果你使用 hexo-renderer-markdown-it + +如果你使用 `hexo-renderer-markdown-it`,你还需要为其加上 `markdown-it-katex` 作为插件: + +``` +npm i markdown-it-katex --save +``` + +然后在 `hexo/_config.yml` 中将 `markdown-it-katex` 作为插件写入 `hexo-renderer-markdown-it` 的配置中: + +```yml +markdown: + render: + html: true + xhtmlOut: false + breaks: true + linkify: true + typographer: true + quotes: '“”‘’' + plugins: + - markdown-it-katex +``` + +#### 已知的问题 + +1. 首先请查阅 Katex 的 [Common Issue](https://github.com/Khan/KaTeX#common-issues) +2. 块级公式(例如 `$$...$$`)必须位于空行。\ + 即在开头的 `$$` 前和在结尾的 `$$` 后不能有除了空白字符以外的其他字符。([#32comment](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)) +3. 不支持 Unicode。([#32comment](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)) +4. 行内公式(例如 `$...$`)在开头的 `$` 后面和结尾的 `$` 前面**不能含有空格**。([#32comment](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-357489509)) +5. 如果你在文章的各级标题中(例如 `## 标题`)使用公式。\ + 那么文章目录中的这个标题会出现 3 次未渲染的公式代码([#32comment](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-359018694)) +6. 如果你在文章 Title 中使用公式,那么公式将不会被渲染。([#32comment](https://github.com/theme-next/hexo-theme-next/pull/32#issuecomment-359142879)) + + +我们目前使用的 Katex 版本为 0.7.1,这里面可能有某些问题是因为 Katex 版本老旧导致的; + +但是,就像上面所说的,数学公式的渲染必须依靠渲染器来支持,目前的 Katex 相关的渲染器仅支持到 Katex 0.7.1; + +我们会持续关注相关渲染器的更新,如果有渲染器支持更高版本的 Katex,我们会及时更新我们的 Katex 版本。 + +### 相关链接 + +* [Katex 与 MathJax 渲染速度对比](https://www.intmath.com/cg5/katex-mathjax-comparison.php) +* [Katex 支持的功能列表](https://khan.github.io/KaTeX/function-support.html) + +

    相关配置说明

    + +注意,在修改配置选项时,**不要更改配置的缩进**; + +目前,NexT 的所有配置都采用**2 空格的缩进**; + +如果配置的内容接在冒号后面,那么内容和冒号之间必须有一个空格(例如`enable: true`) + +```yml + +# Math Equations Render Support +math: + enable: false + + # Default(true) will load mathjax/katex script on demand + # That is it only render those page who has 'mathjax: true' in Front-matter. + # If you set it to false, it will load mathjax/katex srcipt EVERY PAGE. + per_page: true + + engine: mathjax + #engine: katex + + # hexo-renderer-pandoc (or hexo-renderer-kramed) needed to full MathJax support. + mathjax: + # Use 2.7.1 as default, jsdelivr as default CDN, works everywhere even in China + cdn: //cdn.jsdelivr.net/npm/mathjax@2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML + # For direct link to MathJax.js with CloudFlare CDN (cdnjs.cloudflare.com). + #cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML + + # hexo-renderer-markdown-it-plus (or hexo-renderer-markdown-it with markdown-it-katex plugin) + # needed to full Katex support. + katex: + # Use 0.7.1 as default, jsdelivr as default CDN, works everywhere even in China + cdn: //cdn.jsdelivr.net/npm/katex@0.7.1/dist/katex.min.css + # CDNJS, provided by cloudflare, maybe the best CDN, but not works in China + #cdn: //cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css +``` + +### enable + +`true` 或者 `false`,默认为 `false`。 + +`true` 是打开数学公式渲染,`false` 则是关闭。 + +### per_page + +`true` 或者 `false`,默认为 `true`。 + +这个选项是控制是否在每篇文章都渲染数学公式; + +默认(`true`) 的行为是**只对 Front-matter 中含有 `mathjax: true` 的文章进行数学公式渲染**。 + +如果 Front-matter 中不含有 `mathjax: true`,或者 `mathjax: false`,那么 NexT 将不会对这些文章进行数学公式渲染。 + +例如: + +```md + +--- +title: 'Will Render Math' +mathjax: true +--- +.... +``` + +```md + +--- +title: 'Not Render Math' +mathjax: false +--- +.... +``` + +```md + +--- +title: 'Not Render Math Either' +--- +.... +``` + +当你将它设置为 `false` 时,它就会在每个页面都加载 MathJax 或者 Katex 来进行数学公式渲染。 + +### cdn + +MathJax 和 Katex 都提供了 `cdn` 的配置,如果你不知道什么是 `cdn` ,**请不要修改这个配置**。 + +首先,MathJax 和 Katex 都使用了 [jsDelivr](https://www.jsdelivr.com/) 作为默认 CDN; + +之所以选择 jsDelivr 是因为它在全球各地都有比较不错的速度,而且具有中国官方颁布的 ICP 证书,在中国也能比较好地访问。 + +同时,我们也提供了其他的 CDN 备选方案,包括著名的 [CDNJS](https://cdnjs.com/)。 + +对于 MathJax 来说,我们目前采用的版本为 2.7.1。 + +对于 Katex,由于上面提到的版本问题,我们目前采用的版本为 0.7.1。 + +如果你想尝试我们提供的备选方案以外的 CDN,请注意使用对应的版本。 + +特别的,对于中国的博客主,或者您的博客访问大部分来源于中国,由于 CDNJS 在部分中国地区被墙,请不要使用 CDNJS 作为 CDN。 diff --git a/themes/next/docs/zh-CN/README.md b/themes/next/docs/zh-CN/README.md new file mode 100644 index 0000000..38bd840 --- /dev/null +++ b/themes/next/docs/zh-CN/README.md @@ -0,0 +1,156 @@ +
    语言: :us: +:cn: +:ru:
    + +#
    e x T
    + +

    «NexT» 是一款风格优雅的高质量 Hexo 主题,自点点滴滴中用爱雕琢而成。

    + +

    + + + + + + + +

    + +## 即时预览 + +* :heart_decoration: Muse 主题: [LEAFERx](https://leaferx.online) | [Alex LEE](http://saili.science) | [Miaia](https://11.tt) +* :six_pointed_star: Mist 主题: [uchuhimo](http://uchuhimo.me) | [xirong](http://www.ixirong.com) +* :pisces: Pisces 主题: [Vi](http://notes.iissnan.com) | [Acris](https://acris.me) | [Jiaxi He](http://jiaxi.io) +* :gemini: Gemini 主题: [Ivan.Nginx](https://almostover.ru) | [Raincal](https://raincal.com) | [Dandy](https://dandyxu.me) + +更多 «NexT» 的例子参见[这里](https://github.com/iissnan/hexo-theme-next/issues/119)。 + +## 安装 + +最简单的安装方式是直接克隆整个仓库: + + ```sh + $ cd hexo + $ git clone https://github.com/theme-next/hexo-theme-next themes/next + ``` + +此外,如果你想要使用其他方式,你也可以参见[详细安装步骤][docs-installation-url]。 + +## 插件 + +在 NexT 配置中你现在可以找到已经被移至外部仓库的依赖项。你可以在[组织主页](https://github.com/theme-next)中找到它们。 + +例如,假设你想要在你的站点中使用 `fancybox` 插件,请进入 NexT 配置文件,你会看到如下内容: + +```yml +# Fancybox +# Dependencies: https://github.com/theme-next/theme-next-fancybox +fancybox: false +``` + +将 `fancybox` 配置项打开,进入它上面的 «Dependencies» 链接以查看它的安装步骤。 + +### 例外 + +如果你使用的插件脚本依赖 CDN,那么需要替换你的 CDN 链接: + +例如,假如你使用了 `fancybox` 插件并且配置了 CDN 加载链接,进入 Next 配置文件,你会看到如下内容: + +```yml +vendors: + # ... + # Some contents... + # ... + fancybox: # Set or update fancybox cdn url. + fancybox_css: # Set or update fancybox cdn url. +``` + +通过替换 CDN 链接来替换 [插件列表](https://github.com/theme-next) 项目来升级。 + +## 更新 + +你可以通过如下命令更新到最新的 master 分支: + +```sh +$ cd themes/next +$ git pull +``` + +如果你在此过程中收到了任何错误报告 (例如 **«Commit your changes or stash them before you can merge»**),我们推荐你使用 [Hexo 数据文件][docs-data-files-url]特性。\ +然而你也可以通过提交(`Commit`)、贮藏(`Stash`)或忽视(`Discard`)本地更改以绕过这种更新错误。具体方法请参考[这里](https://stackoverflow.com/a/15745424/5861495)。 + +**如果你想要从 v5.1.x 更新到 v6.0.x,阅读[这篇文档][docs-update-5-1-x-url]。** + +## 已知问题 + +对于仍然遇到 **«[Error: Cannot find module 'hexo-util'](https://github.com/iissnan/hexo-theme-next/issues/1490)»** 这一错误的用户,请检查你的 NPM 版本。 + +* `> 3`:仍然出现错误吗?请删除 `node_modules` 目录并通过 `npm install` 重新安装。 +* `< 3`:请通过 `npm install --save-dev hexo-util` 将 `hexo-util` 依赖手动添加至你的站点依赖包中。 + +## 贡献你的代码 + +我们欢迎你贡献出你的一份力量,你可以随时提交 issue 或 fork 本仓库。静候你的 pull request。 + +## 反馈 + +* 在 [Stack Overflow][stack-url] 上提问。 +* 在 [GitHub Issues][issues-bug-url] 报告Bug。 +* 在 [GitHub][issues-feat-url] 请求新的功能。 +* 为 [popular feature requests][feat-req-vote-url] 投票。 +* 加入我们的 [Gitter][gitter-url] / [Riot][riot-url] / [Telegram][t-chat-url] 聊天。 +* 关注我们的 [Telegram Channel][t-news-url] 以获取最新消息。 + +## 第三方应用程序 + +* :triangular_flag_on_post: HexoEditor + +## 鸣谢 + +

    +«NexT» 特别感谢这些支持我们核心基础设施的优质服务: +

    + +

    +

    + GitHub 容许我们托管 Git 仓库,Netlify 容许我们分发文档。 +

    + +

    +

    + Crowdin 容许我们方便地翻译文档。 +

    + +

    +

    + Codacy 容许我们运行测试套件,BrowserStack 容许我们在真实的浏览器中进行测试。 +

    + +[browser-image]: https://img.shields.io/badge/browser-%20chrome%20%7C%20firefox%20%7C%20opera%20%7C%20safari%20%7C%20ie%20%3E%3D%209-lightgrey.svg +[browser-url]: https://www.browserstack.com + +[stack-url]: https://stackoverflow.com/questions/tagged/theme-next +[issues-bug-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md +[issues-feat-url]: https://github.com/theme-next/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md +[feat-req-vote-url]: https://github.com/theme-next/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22+sort%3Areactions-%2B1-desc + +[gitter-url]: https://gitter.im/theme-next +[riot-url]: https://riot.im/app/#/room/#theme-next:matrix.org +[t-chat-url]: https://t.me/theme_next_chinese +[t-news-url]: https://t.me/theme_next_news + + + + + +[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip +[releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest + +[tags-url]: https://github.com/theme-next/hexo-theme-next/tags +[commits-url]: https://github.com/theme-next/hexo-theme-next/commits/master + +[docs-installation-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/INSTALLATION.md +[docs-data-files-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/DATA-FILES.md +[docs-update-5-1-x-url]: https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/UPDATE-FROM-5.1.X.md diff --git a/themes/next/docs/zh-CN/UPDATE-FROM-5.1.X.md b/themes/next/docs/zh-CN/UPDATE-FROM-5.1.X.md new file mode 100644 index 0000000..ab097ea --- /dev/null +++ b/themes/next/docs/zh-CN/UPDATE-FROM-5.1.X.md @@ -0,0 +1,35 @@ +

    从 NexT v5.1.x 更新

    + +在 5.1.x 版本和 6.0.x 版本之间没有很大的革命性改进。主版本号变更至 6 主要是因为: + +1. 主仓库已从 [iissnan 名下](https://github.com/iissnan/hexo-theme-next) 迁移至 [theme-next](https://github.com/theme-next) 组织。 +2. `next/source/lib` 目录下的绝大多数库被移出到了 [NexT 组织的外部仓库](https://github.com/theme-next)中。 +3. 第三方插件 [`hexo-wordcount`](https://github.com/willin/hexo-wordcount) 被 [`hexo-symbols-count-time`](https://github.com/theme-next/hexo-symbols-count-time) 所取代,因为 `hexo-symbols-count-time` 没有任何外部 nodejs 依赖、也没有会导致生成站点时的性能问题 [language filter](https://github.com/willin/hexo-wordcount/issues/7)。 + +推荐通过如下步骤从 v5 升级到 v6: + +1. 并不修改原有的 `next` 目录,而只是复制部分 NexT 文件: + 1. `config.yml` 或 `next.yml`(如果你使用了[数据文件](DATA-FILES.md))。 + 2. 自定义的 CSS 配置,它们应在 `next/source/css/_custom/*` 和 `next/source/css/_variables/*` 中。 + 3. 自定义的排布配置,它们应在 `next/layout/_custom/*` 中。 + 4. 任何其它可能的附加自定义内容;为了定位它们,你可以通过某些工具在仓库间比较。 +2. 克隆新的 v6.x 仓库到任一异于 `next` 的目录(如 `next-reloaded`): + ```sh + $ git clone https://github.com/theme-next/hexo-theme-next themes/next-reloaded + ``` + 如此,你可以在不修改原有的 NexT v5.1.x 目录的同时使用 `next-reloaded` 目录中的新版本主题。 +3. 在 Hexo 的主配置文件中设置主题: + ```yml + ... + theme: next-reloaded + ... + ``` + 如此,你的 `next-reloaded` 主题将在生成站点时被加载。如果你遇到了任何错误、或只是不喜欢这一新版本,你可以随时切换回旧的 v5.1.x 版本。 + +4. 更新语言配置 + + 从 v6.0.3版本起,`zh-Hans`改名为`zh-CN`:https://github.com/theme-next/hexo-theme-next/releases/tag/v6.0.3 + + 升级到v6.0.3及以后版本的用户,需要显式修改`_config.xml`里的language配置,否则语言显示不正确。 + +关于第三方库的启用,参见[这里](https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/INSTALLATION.md#插件)。 diff --git a/themes/next/gulpfile.coffee b/themes/next/gulpfile.coffee new file mode 100644 index 0000000..d556e15 --- /dev/null +++ b/themes/next/gulpfile.coffee @@ -0,0 +1,53 @@ +fs = require('fs') +path = require('path') +gulp = require('gulp') +jshint = require('gulp-jshint') +stylish = require('jshint-stylish') +shell = require('gulp-shell') +yaml = require('js-yaml') + +gulp.task 'lint', -> + return gulp.src([ + './source/js/utils.js', + './source/js/motion.js', + './source/js/algolia-search.js', + './source/js/bootstrap.js', + './source/js/post-details.js', + './source/js/schemes/pisces.js' + ]).pipe jshint() + .pipe jshint.reporter(stylish) + +gulp.task 'lint:stylus', shell.task [ + '"./node_modules/.bin/stylint" ./source/css/' +] + +gulp.task 'validate:config', (cb) -> + themeConfig = fs.readFileSync path.join(__dirname, '_config.yml') + + try + yaml.safeLoad(themeConfig) + cb() + catch error + cb new Error(error) + +gulp.task 'validate:languages', (cb) -> + languagesPath = path.join __dirname, 'languages' + languages = fs.readdirSync languagesPath + errors = [] + + for lang in languages + languagePath = path.join languagesPath, lang + try + yaml.safeLoad fs.readFileSync(languagePath), { + filename: path.relative(__dirname, languagePath) + } + catch error + errors.push error + + if errors.length == 0 + cb() + else + cb(errors) + + +gulp.task 'default', ['lint', 'validate:config', 'validate:languages'] diff --git a/themes/next/languages/de.yml b/themes/next/languages/de.yml new file mode 100644 index 0000000..31c928c --- /dev/null +++ b/themes/next/languages/de.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Archiv + category: Kategorie + tag: Schlagwort + schedule: Zeitplan +menu: + home: Startseite + archives: Archiv + categories: Kategorien + tags: Schlagwörter + about: Über + search: Suche + schedule: Zeitplan + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Übersicht + toc: Inhaltsverzeichnis +post: + posted: Veröffentlicht am + edited: Bearbeitet am + created: Erstellt + modified: Geändert am + edit: Diesen Beitrag bearbeiten + in: in + more: mehr + read_more: Weiterlesen + untitled: Unbenannt + sticky: Angepinnt + toc_empty: Dieser Artikel hat kein Inhaltsverzeichnis + views: Aufrufe + comments_count: Kommentare + related_posts: Ähnliche Beiträge + copy_button: Kopieren + copy_success: Kopiert + copy_failure: Kopieren fehlgeschlagen + copyright: + author: Beitragsautor + link: Beitragslink + license_title: Urheberrechtshinweis + license_content: "Alle Artikel in diesem Blog sind unter %s lizenziert, außer es wird anders angegeben." +page: + totally: Gesamt + tags: schlagwörter +footer: + powered: "Erstellt mit %s" + theme: Design + total_views: Alle Aufrufe + total_visitors: Alle Besucher +counter: + tag_cloud: + zero: Keine Schlagworte + one: Insgesamt ein Schlagwort + other: "Insgesamt %d Schlagwörter" + categories: + zero: Keine Kategorien + one: Insgesamt eine Kategorie + other: "Insgesamt %d Kategorien" + archive_posts: + zero: Keine Artikel vorhanden. + one: Ein Artikel. + other: "Insgesamt %d Artikel." +state: + posts: Artikel + pages: Seiten + tags: schlagwörter + categories: Kategorien +search: + placeholder: Suche... +cheers: + um: Öhm.. + ok: OK + nice: Schön + good: Gut + great: Wunderbar + excellent: Exzellent +keep_on: Bleib dran. +symbol: + comma: ". " + period: ", " + colon: ": " +reward: + donate: Spenden + wechatpay: WeChat Bezahlung + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Zeige Kommentare von Gitment +accessibility: + nav_toggle: Navigationsleiste an/ausschalten + prev_page: Vorherige Seite + next_page: Nächste Seite +symbols_count_time: + count: Symbole im Artikel gezählt + count_total: Insgesamt gezählte Symbole + time: Lesezeit + time_total: Insgesamte Lesezeit + time_minutes: minuten. diff --git a/themes/next/languages/default.yml b/themes/next/languages/default.yml new file mode 100644 index 0000000..7fcfc3b --- /dev/null +++ b/themes/next/languages/default.yml @@ -0,0 +1 @@ +en.yml \ No newline at end of file diff --git a/themes/next/languages/en.yml b/themes/next/languages/en.yml new file mode 100644 index 0000000..ed25551 --- /dev/null +++ b/themes/next/languages/en.yml @@ -0,0 +1,114 @@ +title: + archive: Archive + category: Category + tag: Tag + schedule: Schedule + +menu: + home: Home + archives: Archives + categories: Categories + tags: Tags + about: About + search: Search + schedule: Schedule + sitemap: Sitemap + commonweal: Commonweal 404 + +sidebar: + overview: Overview + toc: Table of Contents + +post: + posted: Posted on + edited: Edited on + created: Created + modified: Modified + edit: Edit this post + in: In + more: more + read_more: Read more + untitled: Untitled + sticky: Sticky + toc_empty: This post does not have a Table of Contents + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post author + link: Post link + license_title: Copyright Notice + license_content: "All articles in this blog are licensed under %s unless stating additionally." + +page: + totally: Totally + tags: tags + +footer: + powered: "Powered by %s" + theme: Theme + total_views: Total Views + total_visitors: Total Visitors + +counter: + tag_cloud: + zero: No tags + one: 1 tag in total + other: "%d tags in total" + + categories: + zero: No categories + one: 1 category in total + other: "%d categories in total" + + archive_posts: + zero: No posts. + one: 1 post. + other: "%d posts in total." + +state: + posts: posts + pages: pages + tags: tags + categories: categories + +search: + placeholder: Searching... + +cheers: + um: Um.. + ok: OK + nice: Nice + good: Good + great: Great + excellent: Excellent + +keep_on: Keep on posting. + +symbol: + comma: ", " + period: ". " + colon: ": " + +reward: + donate: Donate + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin + +gitmentbutton: Show comments from Gitment + +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Previous page + next_page: Next page + +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/es.yml b/themes/next/languages/es.yml new file mode 100644 index 0000000..b67fd7c --- /dev/null +++ b/themes/next/languages/es.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Archivo + category: Categoría + tag: Etiqueta + schedule: Calendario +menu: + home: Inicio + archives: Archivo + categories: Categorías + tags: Etiquetas + about: Sobre mi + search: Buscar + schedule: Calendario + sitemap: Mapa del sitio + commonweal: Commonweal 404 +sidebar: + overview: Inicio + toc: Tabla de contenidos +post: + posted: Publicado el + edited: Editado el + created: Creado por + modified: Modificado por + edit: Editar esta entrada + in: En + more: más + read_more: Leer más + untitled: Sin título + sticky: Sticky + toc_empty: Esta entrada no tiene una tabla de contenidos + views: Visitas + comments_count: Comentarios + related_posts: Entradas relacionadas + copy_button: Copiar + copy_success: Copiado + copy_failure: Copiar falló + copyright: + author: Autor de la entrada + link: Enlace a la entrada + license_title: Copyright + license_content: "Todos los artículos de este blog están licenciados bajo %s a no ser que se especifique una licencia adicional." +page: + totally: Totalidad + tags: etiquetas +footer: + powered: "Creado mediante %s" + theme: Tema + total_views: Visitas totales + total_visitors: Visitantes totales +counter: + tag_cloud: + zero: Sin etiquetas + one: 1 etiqueta en total + other: "%d etiquetas en total" + categories: + zero: Sin categorías + one: 1 categoría en total + other: "%d categorías en total" + archive_posts: + zero: Sin entradas. + one: 1 entrada. + other: "%d entradas en total." +state: + posts: entradas + pages: páginas + tags: tags + categories: categorías +search: + placeholder: Buscando... +cheers: + um: Um.. + ok: Bueno + nice: Guai + good: Bien + great: Genial + excellent: Excelente +keep_on: Sigue posteando. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donar + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Mostrar comentarios de Gitment +accessibility: + nav_toggle: Cambiar a barra de navegación + prev_page: Página anterior + next_page: Página siguiente +symbols_count_time: + count: Cantidad de caracteres en el articulo + count_total: Cantidad total de caracteres + time: Tiempo de lectura + time_total: Tiempo total de lectura + time_minutes: minutos. diff --git a/themes/next/languages/fa.yml b/themes/next/languages/fa.yml new file mode 100644 index 0000000..573d122 --- /dev/null +++ b/themes/next/languages/fa.yml @@ -0,0 +1,98 @@ +--- +title: + archive: بایگانی + category: دسته بندی + tag: برچسب + schedule: زمان بندی +menu: + home: صفحه اصلی + archives: بایگانی + categories: دسته بندی ها + tags: برچسب ها + about: درباره + search: جستجو + schedule: زمان بندی + sitemap: نقشه سایت + commonweal: Commonweal 404 +sidebar: + overview: نمای کلی + toc: فهرست مطالب +post: + posted: نوشته شده در + edited: ویرایش شده در + created: ایجاد شده + modified: تغییر یافته + edit: ویرایش این پست + in: در + more: بیشتر + read_more: ادامه مطلب + untitled: بدون عنوان + sticky: چسبنده + toc_empty: این پست فهرست مطالب را ندارد + views: بازدیدها + comments_count: نظرات + related_posts: پست های مرتبط + copy_button: کپی + copy_success: کپی شد + copy_failure: کپی انجام نشد + copyright: + author: نویسنده پست + link: لینک پست + license_title: مقررات کپی رایت + license_content: "همه مقالات در این وبلاگ تحت %s مجاز می باشند مگر اینکه به طور اضافی بیان شوند." +page: + totally: درمجموع + tags: برجسب ها +footer: + powered: "قدرت گرفته از %s" + theme: پوسته + total_views: مجموع بازدیدها + total_visitors: تعداد بازدید کنندگان +counter: + tag_cloud: + zero: بدون برچسب + one: 1 برچسب در مجموع + other: "%d برچسب در مجموع" + categories: + zero: بدون دسته بندی + one: 1 دسته بندی در مجموع + other: "%d دسته بندی در مجموع" + archive_posts: + zero: بدون پست. + one: 1 پست. + other: "%d برچسب در مجموع." +state: + posts: پست ها + pages: صفحات + tags: برجسب ها + categories: دسته بندی ها +search: + placeholder: جستجو... +cheers: + um: ام... + ok: باشه + nice: زیبا + good: خوب + great: عالی + excellent: بسیار عالی +keep_on: به پست دادن ادامه دهید. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: کمک مالی + wechatpay: پرداخت WeChat + alipay: AliPay + bitcoin: بیت کوین +gitmentbutton: نمایش نظرات از Gitment +accessibility: + nav_toggle: تغییر ناوبری + prev_page: صفحه قبلی + next_page: صفحه بعدی +symbols_count_time: + count: تعداد نمادها در مقاله + count_total: تعداد کل نمادها + time: زمان خواندن + time_total: کل زمان خواندن + time_minutes: دقیقه. diff --git a/themes/next/languages/fr.yml b/themes/next/languages/fr.yml new file mode 100644 index 0000000..056dbfb --- /dev/null +++ b/themes/next/languages/fr.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Archive + category: Catégorie + tag: Mots clés + schedule: Plannifier +menu: + home: Accueil + archives: Archives + categories: Catégories + tags: Mots clés + about: À propos + search: Recherche + schedule: Plannifier + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Ensemble + toc: Table Des Matières +post: + posted: Posté le + edited: Éditer sur + created: Article créé le + modified: Mise à jour le + edit: Éditer cet article + in: In + more: plus + read_more: Lire la suite + untitled: Non titré + sticky: Épingler + toc_empty: Cet article n'a pas de table des matières + views: Vues + comments_count: Commentaires + related_posts: Articles similares + copy_button: Copie + copy_success: Copie réussie + copy_failure: Copie ratée + copyright: + author: Auteur de l'article + link: Lien de l'article + license_title: Droit d'auteur + license_content: "Tous les articles de ce blog sont sous licence %s, sauf mention contraire." +page: + totally: Total + tags: mots clé +footer: + powered: "Alimenté par %s" + theme: Thème + total_views: Vues totales + total_visitors: Total visiteurs +counter: + tag_cloud: + zero: Aucun mot clé + one: 1 tag au total + other: "%d tags au total" + categories: + zero: Aucun categories + one: 1 catégorie au total + other: "%d catégories au total" + archive_posts: + zero: Aucun article. + one: 1 article. + other: "%d articles au total." +state: + posts: articles + pages: pages + tags: mots clé + categories: catégories +search: + placeholder: Recherche... +cheers: + um: Um.. + ok: OK + nice: Jolie + good: Bien + great: Super + excellent: Excellent +keep_on: Continue comme ça. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donner + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Montrer les commentaires de Gitment +accessibility: + nav_toggle: Basculer la barre de navigation + prev_page: Page précédente + next_page: Page suivante +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Temps de lecture + time_total: Temps total de lecture + time_minutes: mins. diff --git a/themes/next/languages/id.yml b/themes/next/languages/id.yml new file mode 100644 index 0000000..58fc543 --- /dev/null +++ b/themes/next/languages/id.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Arsip + category: Kategori + tag: Tag + schedule: Schedule +menu: + home: Beranda + archives: Arsip + categories: Kategori + tags: Tags + about: Tentang + search: Pencarian + schedule: Schedule + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Ikhtisar + toc: Daftar Isi +post: + posted: Diposting di + edited: Edited on + created: Post created + modified: Updated at + edit: Edit this post + in: Di + more: more + read_more: Baca lebih + untitled: Tidak ada title + sticky: Sticky + toc_empty: Posting ini tidak memiliki Daftar Isi + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post author + link: Post link + license_title: Copyright Notice + license_content: "All articles in this blog are licensed under %s unless stating additionally." +page: + totally: Total + tags: tags +footer: + powered: "Powered by %s" + theme: Tema + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Tidak ada tags + one: 1 total tag + other: "%d total tags" + categories: + zero: Tidak ada kategori + one: 1 total categori + other: "%d total kategori" + archive_posts: + zero: Tidak ada posting. + one: 1 posting. + other: "%d total posting." +state: + posts: posting + pages: halaman + tags: tags + categories: kategori +search: + placeholder: Searching... +cheers: + um: Um.. + ok: OK + nice: Bagus + good: Bagus + great: Besar + excellent: Baik +keep_on: Terus Posting. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donate + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Halaman sebelumnya + next_page: Halaman selanjutnya +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/it.yml b/themes/next/languages/it.yml new file mode 100644 index 0000000..940aba0 --- /dev/null +++ b/themes/next/languages/it.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Archivio + category: Categoria + tag: Tag + schedule: Programma +menu: + home: Home + archives: Archivi + categories: Categorie + tags: Tags + about: Informazioni su + search: Cerca + schedule: Programma + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Panoramica + toc: Indice +post: + posted: Scritto il + edited: Edited on + created: Post creato + modified: Post modificato + edit: Edit this post + in: In + more: espandi + read_more: Leggi di più + untitled: Senza titolo + sticky: Sticky + toc_empty: Questo post non ha un indice + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Autore + link: Link + license_title: Copyright + license_content: "Tutti gli articoli in questo sito sono sotto licenza %s salvo disposizione contraria." +page: + totally: Totale + tags: tags +footer: + powered: "Powered by %s" + theme: Tema + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Nessun tag + one: 1 tag in totale + other: "%d tags in totale." + categories: + zero: Nessuna categoria + one: 1 categoria in totale + other: "%d categorie in totale." + archive_posts: + zero: Nessun post. + one: 1 post. + other: "%d posts in totale." +state: + posts: posts + pages: pagine + tags: tags + categories: categorie +search: + placeholder: Cerca... +cheers: + um: Mh.. + ok: OK + nice: Bello + good: Buono + great: Ottimo + excellent: Eccellente +keep_on: Continua così. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Dona + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Pagina precedente + next_page: Pagina successiva +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/ja.yml b/themes/next/languages/ja.yml new file mode 100644 index 0000000..0c88b72 --- /dev/null +++ b/themes/next/languages/ja.yml @@ -0,0 +1,98 @@ +--- +title: + archive: アーカイブ + category: カテゴリ + tag: タグ + schedule: スケジュール +menu: + home: ホーム + archives: アーカイブ + categories: カテゴリ + tags: タグ + about: プロフィール + search: 検索 + schedule: スケジュール + sitemap: サイトマップ + commonweal: 公益 404 +sidebar: + overview: 概要 + toc: 見出し +post: + posted: 投稿日 + edited: 編集日 + created: 作成日 + modified: 修正日 + edit: この記事を編集する + in: カテゴリ + more: もっと見る + read_more: 続きを読む + untitled: 無題 + sticky: 固定 + toc_empty: 見出しがありません + views: 閲覧数 + comments_count: コメント + related_posts: 関連記事 + copy_button: コピー + copy_success: コピーしました + copy_failure: コピーに失敗しました + copyright: + author: 著者 + link: 記事へのリンク + license_title: 著作権表示 + license_content: "このブログ内のすべての記事は、特別な記載がない限り %s の下のライセンスで保護されています。" +page: + totally: 全ページ + tags: タグ +footer: + powered: "Powered by %s" + theme: テーマ + total_views: 閲覧合計数 + total_visitors: 合計閲覧者数 +counter: + tag_cloud: + zero: タグなし + one: 全 1 タグ + other: "全 %d タグ" + categories: + zero: カテゴリなし + one: 全 1 カテゴリ + other: "全 %d カテゴリ" + archive_posts: + zero: ポストなし + one: 全 1 ポスト + other: "全 %d ポスト" +state: + posts: ポスト + pages: ページ + tags: タグ + categories: カテゴリ +search: + placeholder: 検索… +cheers: + um: うーん + ok: はい + nice: まあまあ + good: いいね + great: すごい + excellent: 最高 +keep_on: もっと書こう! +symbol: + comma: "、" + period: "。" + colon: ":" +reward: + donate: 寄付 + wechatpay: WeChat 支払う + alipay: Alipay + bitcoin: ビットコイン +gitmentbutton: Gitment からのコメントを表示 +accessibility: + nav_toggle: ナビゲーションバーの切り替え + prev_page: 前のページ + next_page: 次のページ +symbols_count_time: + count: 単語数 + count_total: 単語の総数 + time: 読書の時間 + time_total: 読書の合計時間 + time_minutes: 分 diff --git a/themes/next/languages/ko.yml b/themes/next/languages/ko.yml new file mode 100644 index 0000000..bcda1d4 --- /dev/null +++ b/themes/next/languages/ko.yml @@ -0,0 +1,98 @@ +--- +title: + archive: 아카이브 + category: 카테고리 + tag: 태그 + schedule: Schedule +menu: + home: 홈 + archives: 아카이브 + categories: 카테고리 + tags: 태그 + about: About + search: 검색 + schedule: Schedule + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: 흝어보기 + toc: 목차 +post: + posted: 작성일 + edited: Edited on + created: Post created + modified: Updated at + edit: Edit this post + in: In + more: more + read_more: 더 읽어보기 + untitled: 제목 없음 + sticky: 고정 + toc_empty: 목차 없음 + views: Views + comments_count: 댓글 + related_posts: Related Posts + copy_button: 복사 + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post author + link: Post link + license_title: Copyright Notice + license_content: "All articles in this blog are licensed under %s unless stating additionally." +page: + totally: 모두 + tags: 태그 +footer: + powered: "Powered by %s" + theme: Theme + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: 태그 없음 + one: 1개의 태그 + other: "총 %d개의 태그" + categories: + zero: 카테고리 없음 + one: 1개의 카테고리 + other: "총 %d개의 카테고리" + archive_posts: + zero: 포스트 없음 + one: 1개의 포스트 + other: "총 %d개의 포스트" +state: + posts: 포스트 + pages: 페이지 + tags: 태그 + categories: 카테고리 +search: + placeholder: Searching... +cheers: + um: 음.. + ok: OK + nice: 잘했어요 + good: 좋아요 + great: 훌륭해요 + excellent: 완벽해요 +keep_on: 포스트를 마저 작성하세요 +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donate + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: 이전 페이지 + next_page: 다음 페이지 +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/nl.yml b/themes/next/languages/nl.yml new file mode 100644 index 0000000..05e611d --- /dev/null +++ b/themes/next/languages/nl.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Archief + category: Categorie + tag: Label + schedule: Rooster +menu: + home: Home + archives: Archieven + categories: Categorieën + tags: Labels + about: Over + search: Zoeken + schedule: Rooster + sitemap: Sitemap + commonweal: Gezond verstand 404 +sidebar: + overview: Overzicht + toc: Inhoudsopgave +post: + posted: Geplaatst op + edited: Edited on + created: Post aangemaakt + modified: Post aangepast + edit: Edit this post + in: In + more: meer + read_more: Lees meer + untitled: Naamloos + sticky: Sticky + toc_empty: Deze post heeft geen inhoudsopgave + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post auteur + link: Post link + license_title: Copyright melding + license_content: "Alle artikelen op deze blog zijn gelicenseerd onder %s, mits niet anders aangegeven." +page: + totally: Totaal + tags: labels +footer: + powered: "Mede mogelijk gemaakt door %s" + theme: Thema + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Geen labels + one: 1 label in totaal + other: "%d labels in totaal" + categories: + zero: Geen categorieën + one: 1 categorie in totaal + other: "%d categorieën in totaal" + archive_posts: + zero: Geen posts. + one: 1 post. + other: "%d posts in totaal." +state: + posts: posts + pages: pagina's + tags: labels + categories: categorieën +search: + placeholder: Zoeken... +cheers: + um: Um.. + ok: Oké + nice: Leuk + good: Goed + great: Geweldig + excellent: Uitstekend +keep_on: Blijf posten. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Doneer + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Vorige pagina + next_page: Volgende pagina +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/pt-BR.yml b/themes/next/languages/pt-BR.yml new file mode 100644 index 0000000..721a15e --- /dev/null +++ b/themes/next/languages/pt-BR.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Arquivo + category: Categoria + tag: Tag + schedule: Schedule +menu: + home: Home + archives: Arquivos + categories: Categorias + tags: Tags + about: Sobre + search: Pesquisar + schedule: Schedule + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Visão geral + toc: Tabela de conteúdo +post: + posted: Postado em + edited: Edited on + created: Post created + modified: Updated at + edit: Edit this post + in: Em + more: more + read_more: Leia mais + untitled: Sem título + sticky: Sticky + toc_empty: Este post não possui tabela de conteúdo + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post author + link: Post link + license_title: Copyright Notice + license_content: "All articles in this blog are licensed under %s unless stating additionally." +page: + totally: Totalmente + tags: tags +footer: + powered: "Feito com %s" + theme: Tema + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Sem tags + one: 1 tag no total de + other: "%d tags no total de" + categories: + zero: Sem categoria + one: 1 categoria no total de + other: "%d categoria no total de" + archive_posts: + zero: Sem posts. + one: 1 post. + other: "%d posts no total." +state: + posts: Posts + pages: Páginas + tags: Tags + categories: Categorias +search: + placeholder: Searching... +cheers: + um: Uhmmmm... + ok: OK + nice: Bom + good: Muito Bom + great: Ótimo + excellent: Excelente +keep_on: Continuar no post. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donate + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Página anterior + next_page: Próxima página +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/pt.yml b/themes/next/languages/pt.yml new file mode 100644 index 0000000..3955f05 --- /dev/null +++ b/themes/next/languages/pt.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Arquivo + category: Categoria + tag: Tag + schedule: Schedule +menu: + home: Home + archives: Arquivos + categories: Categorias + tags: Tags + about: Sobre + search: Pesquisa + schedule: Schedule + sitemap: Sitemap + commonweal: Commonweal 404 +sidebar: + overview: Visão Geral + toc: Tabela de Conteúdo +post: + posted: Postado em + edited: Edited on + created: Post created + modified: Updated at + edit: Edit this post + in: Em + more: more + read_more: Ler mais + untitled: Sem título + sticky: Sticky + toc_empty: Esta publicação não possui uma tabela de conteúdo + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Post author + link: Post link + license_title: Copyright Notice + license_content: "All articles in this blog are licensed under %s unless stating additionally." +page: + totally: Totalmente + tags: tags +footer: + powered: "Desenvolvido com amor com %s" + theme: Tema + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Sem tags + one: 1 tag no total + other: "%d tags no total" + categories: + zero: Sem categorias + one: 1 categoria no total + other: "%d categorias no total" + archive_posts: + zero: Sem publicações. + one: 1 post. + other: "%d publicações no total." +state: + posts: publicações + pages: páginas + tags: tags + categories: categorias +search: + placeholder: Searching... +cheers: + um: Um.. + ok: OK + nice: Legal + good: Bom + great: Grandioso + excellent: Excelente +keep_on: Mantenha-se publicando! +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Donate + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Show comments from Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Página anterior + next_page: Página seguinte +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/ru.yml b/themes/next/languages/ru.yml new file mode 100644 index 0000000..c7d8c79 --- /dev/null +++ b/themes/next/languages/ru.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Архив + category: Категория + tag: Тэг + schedule: Календарь +menu: + home: Главная + archives: Архив + categories: Категории + tags: Тэги + about: О сайте + search: Поиск + schedule: Календарь + sitemap: Карта сайта + commonweal: Страница 404 +sidebar: + overview: Обзор + toc: Содержание +post: + posted: Размещено + edited: Изменено + created: Создано + modified: Изменено + edit: Редактировать запись + in: в категории + more: more + read_more: Читать полностью + untitled: Без имени + sticky: Ссылка + toc_empty: Эта запись без оглавления + views: Просмотров + comments_count: Комментариев + related_posts: Похожие записи + copy_button: Скопировать + copy_success: Скопировано! + copy_failure: Ошибка копирования! + copyright: + author: Автор записи + link: Ссылка на запись + license_title: Информация об авторских правах + license_content: "Все записи на этом сайте защищены лицензией %s, если не указано дополнительно." +page: + totally: Всего + tags: тэги +footer: + powered: "Генератор — %s" + theme: Тема + total_views: Всего просмотров + total_visitors: Всего посетителей +counter: + tag_cloud: + zero: Нет тэгов. + one: 1 тэг. + other: "%d тэгов всего." + categories: + zero: Нет категорий. + one: 1 категория. + other: "%d категорий всего." + archive_posts: + zero: Нет записей. + one: 1 запись. + other: "%d записей всего." +state: + posts: Архив + pages: Страницы + tags: Тэги + categories: Категории +search: + placeholder: Поиск... +cheers: + um: Эм.. + ok: OK + nice: Неплохо + good: Хорошо + great: Замечательно + excellent: Великолепно +keep_on: Продолжаю писать. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Донат + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Открыть Gitment комментарии +accessibility: + nav_toggle: Показать/скрыть меню + prev_page: Предыдущая страница + next_page: Следующая страница +symbols_count_time: + count: Кол-во символов в статье + count_total: Общее кол-во символов + time: Время чтения + time_total: Общее время чтения + time_minutes: мин. diff --git a/themes/next/languages/tr.yml b/themes/next/languages/tr.yml new file mode 100644 index 0000000..899a6d8 --- /dev/null +++ b/themes/next/languages/tr.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Arşiv + category: Kategori + tag: Etiket + schedule: Program +menu: + home: Ana Sayfa + archives: Arşivler + categories: Kategoriler + tags: Etiketler + about: Hakkımda + search: Ara + schedule: Program + sitemap: Site Haritası + commonweal: Hata 404 +sidebar: + overview: Genel Bakış + toc: İçindekiler +post: + posted: Yayınlandı + edited: Düzenlendi + created: Oluşturuldu + modified: Değiştirildi + edit: Bu gönderiyi düzenle + in: İçinde + more: daha fazla + read_more: Daha fazla oku + untitled: Başlıksız + sticky: Sabit + toc_empty: Bu gönderinin içindekiler kısmı yok + views: Görünümler + comments_count: Yorumlar + related_posts: İlgili Gönderiler + copy_button: Kopyala + copy_success: Kopyalandı + copy_failure: Kopyalanamadı + copyright: + author: Gönderiyi yazan + link: Gönderi bağlantısı + license_title: Telif Hakkı Bildirimi + license_content: "Bu blogdaki tüm makaleler aksi belirtilmediği sürece %s altında lisanslıdır." +page: + totally: Toplamda + tags: etiketler +footer: + powered: "%s tarafından desteklenmektedir" + theme: Tema + total_views: Toplam görüntülenme + total_visitors: Toplam Ziyaretçi +counter: + tag_cloud: + zero: Etiket yok + one: Toplam 1 etiket + other: "Toplamda %d etiket" + categories: + zero: Kategori yok + one: Toplamda 1 kategori + other: "Toplamda %d kategori" + archive_posts: + zero: Gönderi yok. + one: 1 gönderi. + other: "Toplamda %d gönderi." +state: + posts: gönderiler + pages: sayfalar + tags: etiketler + categories: kategoriler +search: + placeholder: Aranıyor... +cheers: + um: Um.. + ok: Tamam + nice: Güzel + good: İyi + great: Müthiş + excellent: Mükemmel +keep_on: Gönderiye devam. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Bağış + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Gitment'ın yorumlarını göster +accessibility: + nav_toggle: Gezinti çubuğunu değiştir + prev_page: Önceki sayfa + next_page: Sonraki sayfa +symbols_count_time: + count: Makalede sayılan semboller + count_total: Sayılan toplan semboller + time: Okuma Süresi + time_total: Toplmada Okuma Süresi + time_minutes: dk. diff --git a/themes/next/languages/uk.yml b/themes/next/languages/uk.yml new file mode 100644 index 0000000..05f76de --- /dev/null +++ b/themes/next/languages/uk.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Архів + category: Категорія + tag: Тег + schedule: Календар +menu: + home: Головна + archives: Архів + categories: Категорії + tags: Теги + about: Про сайт + search: Пошук + schedule: Календар + sitemap: Карта сайту + commonweal: Сторінка 404 +sidebar: + overview: Огляд + toc: Зміст +post: + posted: Опубліковано + edited: Змінено + created: Створено + modified: Змінено + edit: Редагувати запис + in: в категорії + more: more + read_more: Читати повністю + untitled: Без імені + sticky: Посилання + toc_empty: Цей запис без змісту + views: Переглядів + comments_count: Коментарів + related_posts: Схожі записи + copy_button: Скопіювати + copy_success: Скопійовано! + copy_failure: Помилка копіювання! + copyright: + author: Автор запису + link: Посилання на запис + license_title: Інформація про авторські права + license_content: "Всі записи на цьому сайті захищені ліцензією %s, якщо не вказано додатково." +page: + totally: Всього + tags: теги +footer: + powered: "Генератор — %s" + theme: Тема + total_views: Всього переглядів + total_visitors: Всього відвідувачів +counter: + tag_cloud: + zero: Немає тегів. + one: 1 тег. + other: "%d тегів всього." + categories: + zero: Немає категорій. + one: 1 категорія. + other: "%d категорій всього." + archive_posts: + zero: Немає записів. + one: 1 запис. + other: "%d записів всього." +state: + posts: Архів + pages: Сторінки + tags: Теги + categories: Категорії +search: + placeholder: Пошук... +cheers: + um: Ем.. + ok: ОК + nice: Не погано + good: Добре + great: Чудово + excellent: Прекрасно +keep_on: Продовжую писати. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Донат + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Відкрити Gitment коментарі +accessibility: + nav_toggle: Показати/приховати меню + prev_page: Попередня сторінка + next_page: Наступна сторінка +symbols_count_time: + count: К-сть символів в статті + count_total: Загальна к-сть символів + time: Час читання + time_total: Загальний час читання + time_minutes: хв. diff --git a/themes/next/languages/vi.yml b/themes/next/languages/vi.yml new file mode 100644 index 0000000..28b1810 --- /dev/null +++ b/themes/next/languages/vi.yml @@ -0,0 +1,98 @@ +--- +title: + archive: Lưu Trữ + category: Phân Loại + tag: Thẻ + schedule: Danh Mục +menu: + home: Trang Chủ + archives: Lưu Trữ + categories: Đầu Mục + tags: Thẻ + about: Giới Thiệu + search: Tìm Kiếm + schedule: Danh Mục + sitemap: Bản đồ trang + commonweal: Commonweal 404 +sidebar: + overview: Tổng Quan + toc: Mục Lục +post: + posted: Tạo lúc + edited: Edited on + created: Được tạo + modified: Được thay đổi + edit: Edit this post + in: Trong + more: thêm + read_more: Đọc tiếp + untitled: Không có tiêu đề + sticky: Đính + toc_empty: Bài viết này không có mục lục + views: Views + comments_count: Comments + related_posts: Related Posts + copy_button: Copy + copy_success: Copied + copy_failure: Copy failed + copyright: + author: Người viết + link: Liên kết bài viết + license_title: Chú ý bản quyền + license_content: "Tất cả bài viết trong blog này được đăng ký bởi %s trừ khi có thông báo bổ sung." +page: + totally: Toàn bộ + tags: thẻ +footer: + powered: "Cung cấp bởi %s" + theme: Giao Diện + total_views: Total Views + total_visitors: Total Visitors +counter: + tag_cloud: + zero: Không có thẻ nào + one: có 1 thẻ tất cả + other: "có %d thẻ tất cả" + categories: + zero: Không có trong mục nào + one: có 1 mục tất cả + other: "có %d mục tất cả" + archive_posts: + zero: Không có bài viết. + one: 1 bài viết. + other: "tổng số %d bài viết." +state: + posts: bài viết + pages: trang + tags: thẻ + categories: mục +search: + placeholder: Đang tìm... +cheers: + um: Um.. + ok: Đồng Ý + nice: Hay + good: Tốt + great: Tuyệt vời + excellent: Tuyệt cú mèo +keep_on: Giữ tiến độ nha. +symbol: + comma: ", " + period: ". " + colon: ": " +reward: + donate: Tài trợ + wechatpay: WeChat Pay + alipay: Alipay + bitcoin: Bitcoin +gitmentbutton: Hiển thị bình luận từ Gitment +accessibility: + nav_toggle: Toggle navigation bar + prev_page: Trang trước + next_page: Trang sau +symbols_count_time: + count: Symbols count in article + count_total: Symbols count total + time: Reading time + time_total: Reading time total + time_minutes: mins. diff --git a/themes/next/languages/zh-CN.yml b/themes/next/languages/zh-CN.yml new file mode 100644 index 0000000..0d828c8 --- /dev/null +++ b/themes/next/languages/zh-CN.yml @@ -0,0 +1,98 @@ +--- +title: + archive: 归档 + category: 分类 + tag: 标签 + schedule: 日程表 +menu: + home: 首页 + archives: 归档 + categories: 分类 + tags: 标签 + about: 关于 + search: 搜索 + schedule: 日程表 + sitemap: 站点地图 + commonweal: 公益 404 +sidebar: + overview: 站点概览 + toc: 文章目录 +post: + posted: 发表于 + edited: 更新于 + created: 创建时间 + modified: 修改时间 + edit: 编辑 + in: 分类于 + more: 更多 + read_more: 阅读全文 + untitled: 未命名 + sticky: 置顶 + toc_empty: 此文章未包含目录 + views: 阅读次数 + comments_count: 评论数 + related_posts: 相关文章 + copy_button: 复制 + copy_success: 复制成功 + copy_failure: 复制失败 + copyright: + author: 本文作者 + link: 本文链接 + license_title: 版权声明 + license_content: "本博客所有文章除特别声明外,均采用 %s 许可协议。转载请注明出处!" +page: + totally: 共有 + tags: 标签 +footer: + powered: "由 %s 强力驱动" + theme: 主题 + total_views: 总访问量 + total_visitors: 总访客量 +counter: + tag_cloud: + zero: 暂无标签 + one: 目前共计 1 个标签 + other: "目前共计 %d 个标签" + categories: + zero: 暂无分类 + one: 目前共计 1 个分类 + other: "目前共计 %d 个分类" + archive_posts: + zero: 暂无日志。 + one: 目前共计 1 篇日志。 + other: "目前共计 %d 篇日志。" +state: + posts: 日志 + pages: 页面 + tags: 标签 + categories: 分类 +search: + placeholder: 搜索... +cheers: + um: 嗯.. + ok: 还行 + nice: 不错 + good: 很好 + great: 非常好 + excellent: 太棒了 +keep_on: 继续努力。 +symbol: + comma: "," + period: "。" + colon: ":" +reward: + donate: 打赏 + wechatpay: 微信支付 + alipay: 支付宝 + bitcoin: 比特币 +gitmentbutton: 显示 Gitment 评论 +accessibility: + nav_toggle: 切换导航栏 + prev_page: 上一页 + next_page: 下一页 +symbols_count_time: + count: 本文字数 + count_total: 站点总字数 + time: 阅读时长 + time_total: 站点阅读时长 + time_minutes: 分钟 diff --git a/themes/next/languages/zh-HK.yml b/themes/next/languages/zh-HK.yml new file mode 100644 index 0000000..0ef571e --- /dev/null +++ b/themes/next/languages/zh-HK.yml @@ -0,0 +1,98 @@ +--- +title: + archive: 歸檔 + category: 分類 + tag: 標籤 + schedule: 日程表 +menu: + home: 首頁 + archives: 歸檔 + categories: 分類 + tags: 標籤 + about: 關於 + search: 檢索 + schedule: 日程表 + sitemap: 站點地圖 + commonweal: 公益 404 +sidebar: + overview: 本站概覽 + toc: 文章目錄 +post: + posted: 發表於 + edited: 更新於 + created: 創建時間 + modified: 修改時間 + edit: 編輯 + in: 分類於 + more: 更多 + read_more: 閱讀全文 + untitled: 未命名 + sticky: 置頂 + toc_empty: 此文章未包含目錄 + views: 閱讀次數 + comments_count: 評論數 + related_posts: 相關文章 + copy_button: 複製 + copy_success: 複製成功 + copy_failure: 複製失敗 + copyright: + author: 博主 + link: 文章連結 + license_title: 版權聲明 + license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!" +page: + totally: 共有 + tags: 標籤 +footer: + powered: "由 %s 強力驅動" + theme: 主題 + total_views: 總瀏覽次數 + total_visitors: 訪客總數 +counter: + tag_cloud: + zero: 暫無標籤 + one: 目前共有 1 個標籤 + other: "目前共有 %d 個標籤" + categories: + zero: 暫無分類 + one: 目前共有 1 個分類 + other: "目前共有 %d 個分類" + archive_posts: + zero: 暫無文章。 + one: 目前共有 1 篇文章。 + other: "目前共有 %d 篇文章。" +state: + posts: 文章 + pages: 頁面 + tags: 標籤 + categories: 分類 +search: + placeholder: 搜索... +cheers: + um: 嗯.. + ok: 還行 + nice: 好 + good: 很好 + great: 非常好 + excellent: 太棒了 +keep_on: 繼續努力。 +symbol: + comma: "," + period: "。" + colon: ":" +reward: + donate: 打賞 + wechatpay: 微信支付 + alipay: 支付寶 + bitcoin: 比特幣 +gitmentbutton: 顯示 Gitment 評論 +accessibility: + nav_toggle: 切換導航欄 + prev_page: 上一頁 + next_page: 下一頁 +symbols_count_time: + count: 本文字數 + count_total: 站點總字數 + time: 閱讀時長 + time_total: 站點閱讀時長 + time_minutes: 分鍾 diff --git a/themes/next/languages/zh-TW.yml b/themes/next/languages/zh-TW.yml new file mode 100644 index 0000000..a26e882 --- /dev/null +++ b/themes/next/languages/zh-TW.yml @@ -0,0 +1,98 @@ +--- +title: + archive: 歸檔 + category: 分類 + tag: 標籤 + schedule: 時間表 +menu: + home: 首頁 + archives: 歸檔 + categories: 分類 + tags: 標籤 + about: 關於 + search: 搜尋 + schedule: 時間表 + sitemap: 網站地圖 + commonweal: 公益 404 +sidebar: + overview: 本站概要 + toc: 文章目錄 +post: + posted: 發表於 + edited: 更新於 + created: 創建時間 + modified: 修改時間 + edit: 編輯 + in: 分類於 + more: 更多 + read_more: 閱讀全文 + untitled: 未命名 + sticky: 置頂 + toc_empty: 此文章沒有目錄 + views: 閱讀次數 + comments_count: 評論數 + related_posts: 相關文章 + copy_button: 複製 + copy_success: 複製成功 + copy_failure: 複製失敗 + copyright: + author: 作者 + link: 文章連結 + license_title: 版權聲明 + license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!" +page: + totally: 共有 + tags: 標籤 +footer: + powered: "由 %s 強力驅動" + theme: 主題 + total_views: 總瀏覽次數 + total_visitors: 訪客總數 +counter: + tag_cloud: + zero: 沒有標籤 + one: 目前共有 1 個標籤 + other: "目前共有 %d 個標籤" + categories: + zero: 沒有分類 + one: 目前共有 1 個分類 + other: "目前共有 %d 個分類" + archive_posts: + zero: 沒有文章。 + one: 目前共有 1 篇文章。 + other: "目前共有 %d 篇文章。" +state: + posts: 文章 + pages: 頁面 + tags: 標籤 + categories: 分類 +search: + placeholder: 搜尋... +cheers: + um: 嗯.. + ok: 還行 + nice: 好 + good: 很好 + great: 非常好 + excellent: 太棒了 +keep_on: 繼續努力。 +symbol: + comma: "," + period: "。" + colon: ":" +reward: + donate: 捐贈 + wechatpay: 微信支付 + alipay: 支付寶 + bitcoin: 比特幣 +gitmentbutton: 顯示 Gitment 評論 +accessibility: + nav_toggle: 切換導航欄 + prev_page: 上一頁 + next_page: 下一頁 +symbols_count_time: + count: 文章字數 + count_total: 總字數 + time: 所需閱讀時間 + time_total: 所需總閱讀時間 + time_minutes: 分鐘 diff --git a/themes/next/layout/_custom/head.swig b/themes/next/layout/_custom/head.swig new file mode 100644 index 0000000..6aed40d --- /dev/null +++ b/themes/next/layout/_custom/head.swig @@ -0,0 +1,3 @@ +{# +Custom head. +#} diff --git a/themes/next/layout/_custom/header.swig b/themes/next/layout/_custom/header.swig new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/themes/next/layout/_custom/header.swig @@ -0,0 +1 @@ + diff --git a/themes/next/layout/_custom/sidebar.swig b/themes/next/layout/_custom/sidebar.swig new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/themes/next/layout/_custom/sidebar.swig @@ -0,0 +1 @@ + diff --git a/themes/next/layout/_layout.swig b/themes/next/layout/_layout.swig new file mode 100644 index 0000000..9c3ff3b --- /dev/null +++ b/themes/next/layout/_layout.swig @@ -0,0 +1,126 @@ + + +{# NexT version #} +{% set version = next_env('version') %} + +{# Language & Config #} +{% set title = __('title') !== 'title' && __('title') || config.title %} +{% set subtitle = __('subtitle') !== 'subtitle' && __('subtitle') || config.subtitle %} +{% set author = __('author') !== 'author' && __('author') || config.author %} +{% set description = __('description') !== 'description' && __('description') || config.description %} + +{% set html_class = 'theme-next ' + theme.scheme %} +{% if theme.motion.enable %} + {% set html_class = html_class + ' use-motion' %} +{% endif %} + + + + {{ partial('_partials/head/head.swig', {}, {cache: theme.cache.enable}) }} + {% include '_partials/head/head-unique.swig' %} + {% block title %}{% endblock %} + {% include '_third-party/analytics/index.swig' %} + {{ partial('_scripts/noscript.swig', {}, {cache: theme.cache.enable}) }} + + + + + {% set container_class = 'container' %} + {% if theme.sidebar.position %} + {% set container_class = container_class + ' sidebar-position-' + theme.sidebar.position %} + {% endif %} + +
    +
    + + + + {{ partial('_partials/github-banner.swig', {}, {cache: theme.cache.enable}) }} + +
    +
    +
    + {% if theme.scheme === 'Pisces' || theme.scheme === 'Gemini' %} + {% include '_partials/header/sub-menu.swig' %} + {% endif %} +
    + {% block content %}{% endblock %} +
    + {% include '_partials/comments.swig' %} +
    + {% if theme.sidebar.display !== 'remove' %} + {% block sidebar %}{% endblock %} + {% endif %} +
    +
    + +
    + +
    + + {% if theme.back2top.enable and not theme.back2top.sidebar %} +
    + + {% if theme.back2top.scrollpercent %} + 0% + {% endif %} +
    + {% endif %} + + {% if theme.needmoreshare2.enable and theme.needmoreshare2.float.enable %} +
    + + + +
    + {% endif %} + + {% if theme.baidushare and theme.baidushare.type === "slide" %} +
    + {% include '_partials/share/baidushare.swig' %} +
    + {% endif %} + + {% if theme.add_this_id %} +
    + {% include '_partials/share/add-this.swig' %} +
    + {% endif %} +
    + + {% include '_scripts/vendors.swig' %} + {% include '_scripts/commons.swig' %} + + {% set scheme_script = '_scripts/schemes/' + theme.scheme | lower + '.swig' %} + {% include scheme_script %} + + {% block script_extra %}{% endblock %} + + {% include '_scripts/next-boot.swig' %} + {% include '_scripts/scroll-cookie.swig' %} + {% include '_scripts/exturl.swig' %} + {% include '_third-party/quicklink.swig' %} + {% include '_third-party/comments/index.swig' %} + {% include '_third-party/search/index.swig' %} + {% include '_third-party/analytics/lean-analytics.swig' %} + {% include '_third-party/analytics/firestore.swig' %} + {% include '_third-party/math/index.swig' %} + {% include '_third-party/pdf.swig' %} + {% include '_third-party/mermaid.swig' %} + {% include '_third-party/baidu-push.swig' %} + {% include '_third-party/schedule.swig' %} + {% include '_third-party/needsharebutton.swig' %} + {% include '_third-party/rating.swig' %} + {% include '_third-party/pangu.swig' %} + {% include '_third-party/bookmark.swig' %} + {% include '_third-party/copy-code.swig' %} + {% include '_third-party/chatra.swig' %} + {% include '_third-party/tidio.swig' %} + + diff --git a/themes/next/layout/_macro/menu/menu-badge.swig b/themes/next/layout/_macro/menu/menu-badge.swig new file mode 100644 index 0000000..b2dcce1 --- /dev/null +++ b/themes/next/layout/_macro/menu/menu-badge.swig @@ -0,0 +1,14 @@ +{% macro render(name) %} + + {% set badges = { + archives: site.posts.length, + categories: site.categories.length, + tags: site.tags.length } + %} + {% for menu, count in badges %} + {% if name == menu %} + {{ count }} + {% endif %} + {% endfor %} + +{% endmacro %} diff --git a/themes/next/layout/_macro/menu/menu-item.swig b/themes/next/layout/_macro/menu/menu-item.swig new file mode 100644 index 0000000..145ae50 --- /dev/null +++ b/themes/next/layout/_macro/menu/menu-item.swig @@ -0,0 +1,24 @@ +{% macro render(name, value) %} +{% import 'menu-badge.swig' as menu_badge %} + + {% set itemURL = value.split('||')[0] | trim %} + {% if itemURL.indexOf('http') != 0 %} + {% set itemURL = itemURL | replace('//', '/', 'g') %} + {% endif %} + + +{% endmacro %} diff --git a/themes/next/layout/_macro/post-collapse.swig b/themes/next/layout/_macro/post-collapse.swig new file mode 100644 index 0000000..528edee --- /dev/null +++ b/themes/next/layout/_macro/post-collapse.swig @@ -0,0 +1,33 @@ +{% macro render(post) %} + +
    +
    + + <{% if theme.seo %}h3{% else %}h2{% endif %} class="post-title"> + {% if post.link %}{# Link posts #} + {% set postTitleIcon = '' %} + {% set postText = post.title or post.link %} + {{ next_url(post.link, postText + postTitleIcon, {class: 'post-title-link post-title-link-external', itemprop: 'url' }) }} + {% else %} + + {% endif %} + + + + +
    +
    + +{% endmacro %} diff --git a/themes/next/layout/_macro/post.swig b/themes/next/layout/_macro/post.swig new file mode 100644 index 0000000..9c59b04 --- /dev/null +++ b/themes/next/layout/_macro/post.swig @@ -0,0 +1,460 @@ +{% macro render(post, is_index, post_extra_class) %} + + {% set headlessPost = Array.prototype.indexOf.call(['quote', 'picture'], post.type) > -1 %} + + {% set post_class = 'post post-type-' + post.type | default('normal') %} + {% if post_extra_class > 0 %} + {% set post_class = post_class + ' ' + post_extra_class | default('') %} + {% endif %} + {% if post.sticky > 0 %} + {% set post_class = post_class + ' post-sticky' %} + {% endif %} + + {% if theme.reading_progress.enable && not is_index %} +
    + {% endif %} + +
    + {##################} + {### POST BLOCK ###} + {##################} +
    + + + + + + + {% if not headlessPost %} +
    + + {# Not to show title for quote posts that do not have a title #} + {% if not (is_index and post.type === 'quote' and not post.title) %} + <{% if theme.seo %}h2{% else %}h1{% endif %} class="post-title{% if post.direction && post.direction.toLowerCase() === 'rtl' %} rtl{% endif %}" itemprop="name headline">{# + #}{# Link posts #}{# + #}{% if post.link %} + {% if post.sticky > 0 %} + {{ post.sticky }} + + + + {% endif %} + {% set postTitleIcon = '' %} + {% set postText = post.title or post.link %} + {{ next_url(post.link, postText + postTitleIcon, {class: 'post-title-link post-title-link-external', itemprop: 'url' }) }} + {% else %}{# + #}{% if is_index %} + {% if post.sticky > 0 %} + + + + {% endif %} + {# Need to delete maybe? #} + {{ next_url(post.path, post.title | default(__('post.untitled')), {class: 'post-title-link', itemprop: 'url' }) }} + {% else -%} + {{- post.title -}} + {% include '../_partials/post-edit.swig' %} + {% endif %} + {% endif %} + + {% endif %} + + +
    + {% endif %} + + {#################} + {### POST BODY ###} + {#################} +
    + + {# Gallery support #} + {% if post.photos and post.photos.length %} +
    + {% set COLUMN_NUMBER = 3 %} + {% for photo in post.photos %} + {% if loop.index0 % COLUMN_NUMBER === 0 %}
    {% endif %} + + {% if loop.index0 % COLUMN_NUMBER === 2 %}
    {% endif %} + {% endfor %} + + {# Append end tag for `post-gallery-row` when (photos size mod COLUMN_NUMBER) is less than COLUMN_NUMBER #} + {% if post.photos.length % COLUMN_NUMBER > 0 %}
    {% endif %} +
    + {% endif %} + + {% if is_index %} + {% if post.description and theme.excerpt_description %} + {{ post.description }} + + {% if theme.read_more_btn %} +
    + + {{ __('post.read_more') }} » + +
    + {% endif %} + + {% elif post.excerpt %} + {{ post.excerpt }} + + {% if theme.read_more_btn %} +
    + + {{ __('post.read_more') }} » + +
    + {% endif %} + + {% elif theme.auto_excerpt.enable %} + {% set content = post.content | replace('.*?', "", "g") | striptags %} +

    + {{ content.substring(0, theme.auto_excerpt.length) }} + {% if content.length > theme.auto_excerpt.length %}...{% endif %} +

    + + {% if theme.read_more_btn %} +
    + + {{ __('post.read_more') }} » + +
    + {% endif %} + + {% else %} + {% if post.type === 'picture' %} + {{ post.content }} + {% else %} + {{ post.content }} + {% endif %} + {% endif %} + {% else %} + {{ post.content }} + {% endif %} +
    + + {% if theme.related_posts.enable and (theme.related_posts.display_in_home or not is_index) %} + {% include '../_partials/post/post-related.swig' with { post: post } %} + {% endif %} + + {#####################} + {### END POST BODY ###} + {#####################} + + {% if theme.wechat_subscriber.enable and not is_index %} + {% include '../_partials/post/wechat-subscriber.swig' %} + {% endif %} + + {% if page.reward === undefined and theme.reward_settings.enable %} + {% set reward_able = true %} + {% else %} + {% set reward_able = page.reward %} + {% endif %} + {% if reward_able and not is_index %} +
    + {% include '../_partials/post/reward.swig' %} +
    + {% endif %} + + {% if theme.creative_commons.license and theme.creative_commons.post and not is_index %} +
    + {% include '../_partials/post/post-copyright.swig' with { post: post } %} +
    + {% endif %} + +
    + {% if post.tags and post.tags.length and not is_index %} + + {% endif %} + + {% if not is_index %} + {% if theme.rating.enable or (theme.vkontakte_api.enable and theme.vkontakte_api.like) or (theme.facebook_sdk.enable and theme.facebook_sdk.like_button) or theme.likely.enable or (theme.needmoreshare2.enable and theme.needmoreshare2.postbottom.enable) or (theme.baidushare and theme.baidushare.type === "button") %} +
    + {% if theme.rating.enable %} +
    +
    +
    + {% endif %} + + {% if (theme.vkontakte_api.enable and theme.vkontakte_api.like) or (theme.facebook_sdk.enable and theme.facebook_sdk.like_button) %} + {% if theme.rating.enable %} + + {% endif %} + + {% endif %} + + {% if theme.likely.enable or (theme.needmoreshare2.enable and theme.needmoreshare2.postbottom.enable) or (theme.baidushare.type === "button") %} + {% if theme.rating.enable or (theme.vkontakte_api.enable and theme.vkontakte_api.like) or (theme.facebook_sdk.enable and theme.facebook_sdk.like_button) %} + + {% endif %} + + {% endif %} +
    + {% endif %} + {% endif %} + + {% if not is_index and (post.prev or post.next) %} +
    +
    + {% if post.next %} + + {% endif %} +
    + + + +
    + {% if post.prev %} + + {% endif %} +
    +
    + {% endif %} + + {% set isLast = loop.index % page.per_page === 0 %} + {% if is_index and not isLast %} +
    + {% endif %} +
    +
    + {######################} + {### END POST BLOCK ###} + {######################} + + +{% endmacro %} diff --git a/themes/next/layout/_macro/sidebar.swig b/themes/next/layout/_macro/sidebar.swig new file mode 100644 index 0000000..6cb21c5 --- /dev/null +++ b/themes/next/layout/_macro/sidebar.swig @@ -0,0 +1,214 @@ +{% macro render(is_post) %} + + + + {% if theme.sidebar.dimmer %} + + {% endif %} +{% endmacro %} diff --git a/themes/next/layout/_partials/comments.swig b/themes/next/layout/_partials/comments.swig new file mode 100644 index 0000000..8c16ef8 --- /dev/null +++ b/themes/next/layout/_partials/comments.swig @@ -0,0 +1,57 @@ +{% if page.comments %} + + {% if theme.facebook_sdk.enable and theme.facebook_comments_plugin.enable %} +
    +
    +
    +
    + + {% elif theme.vkontakte_api.enable and theme.vkontakte_api.comments %} +
    +
    +
    + + {% elif theme.disqus.enable or (theme.disqusjs.enable and theme.disqusjs.apikey and theme.disqusjs.shortname) %} +
    +
    + +
    +
    + + {% elif theme.livere_uid %} +
    +
    +
    + + {% elif theme.changyan.enable and theme.changyan.appid and theme.changyan.appkey %} +
    +
    +
    + + {% elif theme.gitment.enable %} +
    + {% if theme.gitment.lazy %} +
    {{ __('gitmentbutton') }}
    + + {% else %} +
    + {% endif %} +
    + + {% elif theme.valine.enable and theme.valine.appid and theme.valine.appkey %} +
    +
    + + {% elif theme.gitalk.enable %} +
    +
    + + {% endif %} + +{% endif %} diff --git a/themes/next/layout/_partials/footer.swig b/themes/next/layout/_partials/footer.swig new file mode 100644 index 0000000..da60a76 --- /dev/null +++ b/themes/next/layout/_partials/footer.swig @@ -0,0 +1,62 @@ + + +{% if theme.footer.powered.enable %} +
    {# + #}{{ __('footer.powered', next_url('https://hexo.io', 'Hexo', {class: 'theme-link'})) }}{# + #}{% if theme.footer.powered.version %} v{{ hexo_env('version') }}{% endif %}{# + #}
    +{% endif %} + +{% if theme.footer.powered.enable and theme.footer.theme.enable %} + +{% endif %} + +{% if theme.footer.theme.enable %} +
    {# + #}{{ __('footer.theme') }} – {{ next_url('https://theme-next.org', 'NexT.' + theme.scheme, {class: 'theme-link'}) }}{# + #}{% if theme.footer.theme.version %} v{{ version }}{% endif %}{# +#}
    +{% endif %} + +{% if theme.footer.custom_text %} + +{% endif %} diff --git a/themes/next/layout/_partials/github-banner.swig b/themes/next/layout/_partials/github-banner.swig new file mode 100644 index 0000000..963d7a5 --- /dev/null +++ b/themes/next/layout/_partials/github-banner.swig @@ -0,0 +1,8 @@ +{% if theme.github_banner.enable %} + {% set github_URL = theme.github_banner.permalink %} + {% set github_title = theme.github_banner.title %} + + {% set github_image = '' %} + + {{ next_url(github_URL, github_image, {class: 'github-corner', title: github_title, "aria-label": github_title}) }} +{% endif %} diff --git a/themes/next/layout/_partials/head/external-fonts.swig b/themes/next/layout/_partials/head/external-fonts.swig new file mode 100644 index 0000000..17b8517 --- /dev/null +++ b/themes/next/layout/_partials/head/external-fonts.swig @@ -0,0 +1,51 @@ +{% if theme.font.enable %} + + {% set font_config = theme.font %} + {% set font_families = '' %} + {% set font_styles = ':300,300italic,400,400italic,700,700italic' %} + {% set font_found = false %} + + {% if font_config.global.family and font_config.global.external %} + {% set font_families += font_config.global.family + font_styles %} + {% set font_found = true %} + {% endif %} + + {% if font_config.headings.family and font_config.headings.external %} + {% if font_found %} + {% set font_families += '|' %} + {% endif %} + + {% set font_families += font_config.headings.family + font_styles %} + {% endif %} + + {% if font_config.posts.family and font_config.posts.external %} + {% if font_found %} + {% set font_families += '|' %} + {% endif %} + + {% set font_families += font_config.posts.family + font_styles %} + {% endif %} + + {% if font_config.logo.family and font_config.logo.external %} + {% if font_found %} + {% set font_families += '|' %} + {% endif %} + + {% set font_families += font_config.logo.family + font_styles %} + {% endif %} + + {% if font_config.codes.family and font_config.codes.external %} + {% if font_found %} + {% set font_families += '|' %} + {% endif %} + + {% set font_families += font_config.codes.family + font_styles %} + {% endif %} + + {% if font_families !== '' %} + {% set font_families += '&subset=latin,latin-ext' %} + {% set font_host = font_config.host | default('//fonts.googleapis.com') %} + + {% endif %} + +{% endif %} diff --git a/themes/next/layout/_partials/head/head-unique.swig b/themes/next/layout/_partials/head/head-unique.swig new file mode 100644 index 0000000..dcdbbc9 --- /dev/null +++ b/themes/next/layout/_partials/head/head-unique.swig @@ -0,0 +1,28 @@ +{{ + 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 === '' and config.feed and config.feed.path %} + {% set theme.rss = config.feed.path %} +{% endif %} +{% if theme.rss %} + +{% endif %} + +{% if theme.canonical %} + {% set without_index = url.replace('index.html', '') %} + {% set without_html = without_index.replace('.html', '') %} + +{% endif %} + +{# Exports some front-matter variables to Front-End #} + diff --git a/themes/next/layout/_partials/head/head.swig b/themes/next/layout/_partials/head/head.swig new file mode 100644 index 0000000..b561c36 --- /dev/null +++ b/themes/next/layout/_partials/head/head.swig @@ -0,0 +1,128 @@ + + + + + +{% if theme.needmoreshare2.enable %} + {% set needmoreshare2_css = url_for(theme.vendors._internal + '/needsharebutton/needsharebutton.css') %} + {% if theme.vendors.needmoreshare2_css %} + {% set needmoreshare2_css = theme.vendors.needmoreshare2_css %} + {% endif %} + +{% endif %} + +{% if theme.pace %} + {% set pace_css_uri = url_for(theme.vendors._internal + '/pace/'+ theme.pace_theme +'.min.css?v=1.0.2') %} + {% set pace_js_uri = url_for(theme.vendors._internal + '/pace/pace.min.js?v=1.0.2') %} + {% if theme.vendors.pace %} + {% set pace_js_uri = theme.vendors.pace %} + {% endif %} + {% if theme.vendors.pace_css %} + {% set pace_css_uri = theme.vendors.pace_css %} + {% endif %} + + +{% endif %} + +{% if theme.han %} + {% set Han_uri = url_for(theme.vendors._internal + '/Han/dist/han.min.css?v=3.3') %} + {% if theme.vendors.han %} + {% set Han_uri = theme.vendors.han %} + {% endif %} + +{% endif %} + +{% if theme.disable_baidu_transformation %} + + +{% endif %} + +{% if theme.google_site_verification %} + +{% endif %} + +{% if theme.bing_site_verification %} + +{% endif %} + +{% if theme.yandex_site_verification %} + +{% endif %} + +{% if theme.baidu_site_verification %} + +{% endif %} + +{% if theme.fancybox %} + {% set fancybox_css_uri = url_for(theme.vendors._internal + '/fancybox/source/jquery.fancybox.css') %} + {% if theme.vendors.fancybox_css %} + {% set fancybox_css_uri = theme.vendors.fancybox_css %} + {% endif %} + +{% endif %} + +{% include "./external-fonts.swig" %} + +{% set font_awesome_uri = url_for(theme.vendors._internal + '/font-awesome/css/font-awesome.min.css?v=4.6.2') %} +{% if theme.vendors.fontawesome %} + {% set font_awesome_uri = theme.vendors.fontawesome %} +{% endif %} + + + + +{% if theme.favicon.apple_touch_icon %} + +{% endif %} +{% if theme.favicon.medium %} + +{% endif %} +{% if theme.favicon.small %} + +{% endif %} +{% if theme.favicon.safari_pinned_tab %} + +{% endif %} +{% if theme.favicon.android_manifest %} + +{% endif %} +{% if theme.favicon.ms_browserconfig %} + +{% endif %} + +{% if theme.facebook_sdk.enable and theme.facebook_sdk.webmaster %} + + +{% endif %} + +{# Export some HEXO Configurations to Front-End #} + + +{% if theme.custom_file_path.head %} + {% set custom_head = '../../../../../' + theme.custom_file_path.head %} +{% else %} + {% set custom_head = '../../_custom/head.swig' %} +{% endif %} +{% include custom_head %} diff --git a/themes/next/layout/_partials/header/brand.swig b/themes/next/layout/_partials/header/brand.swig new file mode 100644 index 0000000..0c06d22 --- /dev/null +++ b/themes/next/layout/_partials/header/brand.swig @@ -0,0 +1,39 @@ +
    +
    + {% if theme.custom_logo.enable and theme.custom_logo.image and theme.scheme === 'Muse' %} +
    + + {{ title }} + +
    + {% endif %} + + + {% if subtitle %} + {% if theme.seo %} +

    {{ subtitle }}

    + {% else %} +

    {{ subtitle }}

    + {% endif %} + {% endif %} + {% if theme.custom_logo.enable and theme.custom_logo.image and (theme.scheme === 'Gemini' or theme.scheme === 'Pisces') %} + + {{ title }} + + {% endif %} +
    + + +
    diff --git a/themes/next/layout/_partials/header/index.swig b/themes/next/layout/_partials/header/index.swig new file mode 100644 index 0000000..42a90de --- /dev/null +++ b/themes/next/layout/_partials/header/index.swig @@ -0,0 +1,9 @@ +{{ partial('_partials/header/brand.swig', {}, {cache: theme.cache.enable}) }} +{% include 'menu.swig' %} + +{% if theme.custom_file_path.header %} + {% set custom_header = '../../../../../' + theme.custom_file_path.header %} +{% else %} + {% set custom_header = '../../_custom/header.swig' %} +{% endif %} +{% include custom_header %} diff --git a/themes/next/layout/_partials/header/menu.swig b/themes/next/layout/_partials/header/menu.swig new file mode 100644 index 0000000..2394449 --- /dev/null +++ b/themes/next/layout/_partials/header/menu.swig @@ -0,0 +1,52 @@ +{% import '../../_macro/menu/menu-item.swig' as menu_item %} + + diff --git a/themes/next/layout/_partials/header/sub-menu.swig b/themes/next/layout/_partials/header/sub-menu.swig new file mode 100644 index 0000000..665f1da --- /dev/null +++ b/themes/next/layout/_partials/header/sub-menu.swig @@ -0,0 +1,100 @@ +{% if not is_home() && not is_post() %} + {% if theme.menu %} + + {% import '../../_macro/menu/menu-item.swig' as menu_item %} + + {# Submenu & Submenu-2 #} + {% for name, value in theme.menu %} + {% set respath = value %} + {% if value == '[object Object]' %} + + {# If current URL is value of parent submenu 'default' path #} + {% set currentParentUrl = page.path.split('/')[0] | trim %} + {% if currentParentUrl == value.default.split('||')[0] | trim | replace('/', '', 'g') %} + + {# Submenu items #} + + {# End Submenu items #} + + {# Submenu-2 #} + {% for name, value in theme.menu %} + {% set respath = value %} + {% if value == '[object Object]' %} + + {% for subname, subvalue in value %} + {% set itemName = subname.toLowerCase() %} + {% if itemName == 'default' %} + {% set parentValue = subvalue.split('||')[0] | trim %} + {% endif %} + {% if subvalue == '[object Object]' %} + + {# If current URL is value of parent submenu 'default' path #} + {% set paths = page.path.split('/') %} + {% if paths.length > 2 %} + {% if paths[1] == subvalue.default.split('||')[0] | trim | replace('/', '', 'g') %} + + {# Submenu-2 items #} + + {# End Submenu-2 items #} + + {% endif %} + {% endif %} + {# End URL & path comparing #} + + {% endif %} + {% endfor %} + + {% endif %} + {% endfor %} + {# End Submenu-2 #} + + {% endif %} + {# End URL & path comparing #} + + {% endif %} + {% endfor %} + {# End Submenu & Submenu-2 #} + + {% endif %} +{% endif %} diff --git a/themes/next/layout/_partials/page/breadcrumb.swig b/themes/next/layout/_partials/page/breadcrumb.swig new file mode 100644 index 0000000..e550a3a --- /dev/null +++ b/themes/next/layout/_partials/page/breadcrumb.swig @@ -0,0 +1,27 @@ +{% set paths = page.path.split('/') %} +{% set count = paths.length %} +{% if count > 2 %} + {% set current = 0 %} + {% set link = '' %} + +{% endif %} diff --git a/themes/next/layout/_partials/page/page-header.swig b/themes/next/layout/_partials/page/page-header.swig new file mode 100644 index 0000000..469d4bf --- /dev/null +++ b/themes/next/layout/_partials/page/page-header.swig @@ -0,0 +1,15 @@ +
    + +<{% if theme.seo %}h2{% else %}h1{% endif %} class="post-title" itemprop="name headline"> + {{- page.title -}} + {% include '../post-edit.swig' %} + + + + +
    diff --git a/themes/next/layout/_partials/pagination.swig b/themes/next/layout/_partials/pagination.swig new file mode 100644 index 0000000..1038580 --- /dev/null +++ b/themes/next/layout/_partials/pagination.swig @@ -0,0 +1,11 @@ +{% if page.prev or page.next %} + +{% endif %} diff --git a/themes/next/layout/_partials/post-edit.swig b/themes/next/layout/_partials/post-edit.swig new file mode 100644 index 0000000..ce8fa6c --- /dev/null +++ b/themes/next/layout/_partials/post-edit.swig @@ -0,0 +1,4 @@ +{% if theme.post_edit.enable -%} + {% set editIcon = '' -%} + {{ next_url(theme.post_edit.url + page.source, editIcon, {class: 'post-edit-link', title: __('post.edit') }) }} +{%- endif %} diff --git a/themes/next/layout/_partials/post/post-copyright.swig b/themes/next/layout/_partials/post/post-copyright.swig new file mode 100644 index 0000000..968aa70 --- /dev/null +++ b/themes/next/layout/_partials/post/post-copyright.swig @@ -0,0 +1,26 @@ +{% set ccLicense = theme.creative_commons.license | lower %} +{% set ccLanguage = theme.creative_commons.language %} +{% set ccIcon = '' %} +{% set ccText = ccLicense | upper %} +{% if ccLicense === 'zero' %} + {% set ccType = 'publicdomain/zero/1.0/' + ccLanguage %} +{% else %} + {% set ccType = 'licenses/' + ccLicense + '/4.0/' + ccLanguage %} +{% endif %} +{% set ccURL = 'https://creativecommons.org/' + ccType %} + +
      +
    • + {{ __('post.copyright.author') + __('symbol.colon') }} {# + #}{{ post.author || author }}{# +#}
    • +
    • + {{ __('post.copyright.link') + __('symbol.colon') }} + {% set postURL = post.url || post.permalink %} + {{ next_url(postURL, postURL, {title: post.title}) }} +
    • +
    • + {{ __('post.copyright.license_title') + __('symbol.colon') }} {# + #}{{ __('post.copyright.license_content', next_url(ccURL, ccIcon + ccText)) }}{# +#}
    • +
    diff --git a/themes/next/layout/_partials/post/post-related.swig b/themes/next/layout/_partials/post/post-related.swig new file mode 100644 index 0000000..de71edb --- /dev/null +++ b/themes/next/layout/_partials/post/post-related.swig @@ -0,0 +1,20 @@ +{% set popular_posts = popular_posts_json(theme.related_posts.params, post) %} +{% if popular_posts.json and popular_posts.json.length > 0 %} + + +{% endif %} diff --git a/themes/next/layout/_partials/post/reward.swig b/themes/next/layout/_partials/post/reward.swig new file mode 100644 index 0000000..e8f60b6 --- /dev/null +++ b/themes/next/layout/_partials/post/reward.swig @@ -0,0 +1,22 @@ +
    +
    {{ theme.reward_settings.comment }}
    + + +
    diff --git a/themes/next/layout/_partials/post/wechat-subscriber.swig b/themes/next/layout/_partials/post/wechat-subscriber.swig new file mode 100644 index 0000000..e7e0357 --- /dev/null +++ b/themes/next/layout/_partials/post/wechat-subscriber.swig @@ -0,0 +1,4 @@ +
    + {{ author }} wechat +
    {{ theme.wechat_subscriber.description }}
    +
    diff --git a/themes/next/layout/_partials/search/algolia-search.swig b/themes/next/layout/_partials/search/algolia-search.swig new file mode 100644 index 0000000..a733bb1 --- /dev/null +++ b/themes/next/layout/_partials/search/algolia-search.swig @@ -0,0 +1,20 @@ +{% if theme.algolia_search.enable %} + +{% endif %} diff --git a/themes/next/layout/_partials/search/index.swig b/themes/next/layout/_partials/search/index.swig new file mode 100644 index 0000000..b23ac3f --- /dev/null +++ b/themes/next/layout/_partials/search/index.swig @@ -0,0 +1,7 @@ +{% if theme.algolia_search.enable %} + {% include 'algolia-search.swig' %} +{% elif theme.swiftype_key %} + {% include 'swiftype.swig' %} +{% elif theme.local_search.enable %} + {% include 'localsearch.swig' %} +{% endif %} diff --git a/themes/next/layout/_partials/search/localsearch.swig b/themes/next/layout/_partials/search/localsearch.swig new file mode 100644 index 0000000..f106aa0 --- /dev/null +++ b/themes/next/layout/_partials/search/localsearch.swig @@ -0,0 +1,16 @@ + diff --git a/themes/next/layout/_partials/search/swiftype.swig b/themes/next/layout/_partials/search/swiftype.swig new file mode 100644 index 0000000..6216e62 --- /dev/null +++ b/themes/next/layout/_partials/search/swiftype.swig @@ -0,0 +1,12 @@ +
    + +
    + + diff --git a/themes/next/layout/_partials/share/add-this.swig b/themes/next/layout/_partials/share/add-this.swig new file mode 100644 index 0000000..1c7ad4c --- /dev/null +++ b/themes/next/layout/_partials/share/add-this.swig @@ -0,0 +1,3 @@ +
    + +
    diff --git a/themes/next/layout/_partials/share/baidushare.swig b/themes/next/layout/_partials/share/baidushare.swig new file mode 100644 index 0000000..d30f6a4 --- /dev/null +++ b/themes/next/layout/_partials/share/baidushare.swig @@ -0,0 +1,57 @@ +{% if theme.baidushare.type === "button" %} +
    + + + + + + + + + + +
    + +{% elif theme.baidushare.type === "slide" %} + +{% endif %} + diff --git a/themes/next/layout/_partials/share/likely.swig b/themes/next/layout/_partials/share/likely.swig new file mode 100644 index 0000000..272fec3 --- /dev/null +++ b/themes/next/layout/_partials/share/likely.swig @@ -0,0 +1,23 @@ +{% set likely_js_url = '//cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.js' %} +{% if theme.vendors.likely_js %} + {% set likely_js_url = theme.vendors.likely_js %} +{% endif %} + + +{% set likely_css_url = '//cdn.jsdelivr.net/npm/ilyabirman-likely@2/release/likely.css' %} +{% if theme.vendors.likely_css %} + {% set likely_css_url = theme.vendors.likely_css %} +{% endif %} + + +{% if theme.likely.look == 'normal' %} + {% set likely_look = 'likely' %} +{% else %} + {% set likely_look = 'likely likely-' + theme.likely.look %} +{% endif %} + +
    + {% for x in theme.likely.networks %} +
    {{ x }}
    + {% endfor %} +
    diff --git a/themes/next/layout/_scripts/commons.swig b/themes/next/layout/_scripts/commons.swig new file mode 100644 index 0000000..9797caf --- /dev/null +++ b/themes/next/layout/_scripts/commons.swig @@ -0,0 +1,10 @@ +{% + set js_commons = [ + 'utils.js', + 'motion.js' + ] +%} + +{% for common in js_commons %} + +{% endfor %} diff --git a/themes/next/layout/_scripts/exturl.swig b/themes/next/layout/_scripts/exturl.swig new file mode 100644 index 0000000..832d4d9 --- /dev/null +++ b/themes/next/layout/_scripts/exturl.swig @@ -0,0 +1,3 @@ +{% if theme.exturl %} + +{% endif %} diff --git a/themes/next/layout/_scripts/next-boot.swig b/themes/next/layout/_scripts/next-boot.swig new file mode 100644 index 0000000..49404bb --- /dev/null +++ b/themes/next/layout/_scripts/next-boot.swig @@ -0,0 +1,9 @@ +{% + set boot_scripts = [ + 'next-boot.js' + ] +%} + +{% for bs in boot_scripts %} + +{% endfor %} diff --git a/themes/next/layout/_scripts/noscript.swig b/themes/next/layout/_scripts/noscript.swig new file mode 100644 index 0000000..b4d0941 --- /dev/null +++ b/themes/next/layout/_scripts/noscript.swig @@ -0,0 +1,24 @@ + diff --git a/themes/next/layout/_scripts/pages/post-details.swig b/themes/next/layout/_scripts/pages/post-details.swig new file mode 100644 index 0000000..0ca7c20 --- /dev/null +++ b/themes/next/layout/_scripts/pages/post-details.swig @@ -0,0 +1,2 @@ + + diff --git a/themes/next/layout/_scripts/schemes/gemini.swig b/themes/next/layout/_scripts/schemes/gemini.swig new file mode 100644 index 0000000..14a3f9f --- /dev/null +++ b/themes/next/layout/_scripts/schemes/gemini.swig @@ -0,0 +1 @@ +{% include 'pisces.swig' %} diff --git a/themes/next/layout/_scripts/schemes/mist.swig b/themes/next/layout/_scripts/schemes/mist.swig new file mode 100644 index 0000000..e18aaff --- /dev/null +++ b/themes/next/layout/_scripts/schemes/mist.swig @@ -0,0 +1 @@ +{% include 'muse.swig' %} diff --git a/themes/next/layout/_scripts/schemes/muse.swig b/themes/next/layout/_scripts/schemes/muse.swig new file mode 100644 index 0000000..b19238b --- /dev/null +++ b/themes/next/layout/_scripts/schemes/muse.swig @@ -0,0 +1,9 @@ +{% + set scripts = [ + 'schemes/muse.js' + ] +%} + +{% for script in scripts %} + +{% endfor %} diff --git a/themes/next/layout/_scripts/schemes/pisces.swig b/themes/next/layout/_scripts/schemes/pisces.swig new file mode 100644 index 0000000..794965d --- /dev/null +++ b/themes/next/layout/_scripts/schemes/pisces.swig @@ -0,0 +1,10 @@ +{% + set scripts = [ + 'affix.js', + 'schemes/pisces.js' + ] +%} + +{% for script in scripts %} + +{% endfor %} diff --git a/themes/next/layout/_scripts/scroll-cookie.swig b/themes/next/layout/_scripts/scroll-cookie.swig new file mode 100644 index 0000000..09c158b --- /dev/null +++ b/themes/next/layout/_scripts/scroll-cookie.swig @@ -0,0 +1,4 @@ +{% if theme.save_scroll %} + + +{% endif %} diff --git a/themes/next/layout/_scripts/vendors.swig b/themes/next/layout/_scripts/vendors.swig new file mode 100644 index 0000000..5c82764 --- /dev/null +++ b/themes/next/layout/_scripts/vendors.swig @@ -0,0 +1,72 @@ +{# Reset `window.Promise` when it was not a function. #} +{# IE refers the element whose id is `Promise` as `window.Promise`, this causes Velocity throwing an exception #} + + +{% set js_vendors = {} %} +{% set js_vendors.jquery = 'jquery/index.js?v=2.1.3' %} + +{% if theme.fastclick %} + {% set js_vendors.fastclick = 'fastclick/lib/fastclick.min.js?v=1.0.6' %} +{% endif %} + +{% if theme.lazyload %} + {% set js_vendors.lazyload = 'jquery_lazyload/jquery.lazyload.js?v=1.9.7' %} +{% endif %} + +{% set js_vendors.velocity = 'velocity/velocity.min.js?v=1.2.1' %} +{% set js_vendors.velocity_ui = 'velocity/velocity.ui.min.js?v=1.2.1' %} + +{% if theme.fancybox %} + {% set js_vendors.fancybox = 'fancybox/source/jquery.fancybox.pack.js' %} +{% endif %} + +{% if theme.canvas_nest.enable %} + {% if theme.canvas_nest.onmobile %} + {% set canvas_nest_uri = url_for(theme.vendors._internal + '/canvas-nest/canvas-nest.min.js') %} + {% if theme.vendors.canvas_nest %} + {% set canvas_nest_uri = theme.vendors.canvas_nest %} + {% endif %} + {% else %} + {% set canvas_nest_uri = url_for(theme.vendors._internal + '/canvas-nest/canvas-nest-nomobile.min.js') %} + {% if theme.vendors.canvas_nest_nomobile %} + {% set canvas_nest_uri = theme.vendors.canvas_nest_nomobile %} + {% endif %} + {% endif %} + +{% endif %} + +{% if theme.three_waves %} + {% set js_vendors.three = 'three/three.min.js' %} + {% set js_vendors.three_waves = 'three/three-waves.min.js' %} +{% endif %} + +{% if theme.canvas_lines %} + {% set js_vendors.three = 'three/three.min.js' %} + {% set js_vendors.canvas_lines = 'three/canvas_lines.min.js' %} +{% endif %} + +{% if theme.canvas_sphere %} + {% set js_vendors.three = 'three/three.min.js' %} + {% set js_vendors.canvas_sphere = 'three/canvas_sphere.min.js' %} +{% endif %} + +{% if theme.canvas_ribbon.enable %} + {% set canvas_ribbon_uri = url_for(theme.vendors._internal + '/canvas-ribbon/canvas-ribbon.js') %} + {% if theme.vendors.canvas_ribbon %} + {% set canvas_ribbon_uri = theme.vendors.canvas_ribbon %} + {% endif %} + +{% endif %} + +{% if theme.reading_progress.enable %} + {% set js_vendors.reading_progress = 'reading_progress/reading_progress.js' %} +{% endif %} + +{% for name, internal in js_vendors %} + {% set internal_script = url_for(theme.vendors._internal + '/' + internal) %} + +{% endfor %} diff --git a/themes/next/layout/_third-party/analytics/analytics-with-widget.swig b/themes/next/layout/_third-party/analytics/analytics-with-widget.swig new file mode 100644 index 0000000..4ad458d --- /dev/null +++ b/themes/next/layout/_third-party/analytics/analytics-with-widget.swig @@ -0,0 +1,4 @@ +{% include 'busuanzi-counter.swig' %} +{% include 'tencent-mta.swig' %} +{% include 'tencent-analytics.swig' %} +{% include 'cnzz-analytics.swig' %} diff --git a/themes/next/layout/_third-party/analytics/application-insights.swig b/themes/next/layout/_third-party/analytics/application-insights.swig new file mode 100644 index 0000000..9844cbf --- /dev/null +++ b/themes/next/layout/_third-party/analytics/application-insights.swig @@ -0,0 +1,11 @@ +{% if theme.application_insights %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/baidu-analytics.swig b/themes/next/layout/_third-party/analytics/baidu-analytics.swig new file mode 100644 index 0000000..11d1342 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/baidu-analytics.swig @@ -0,0 +1,11 @@ +{% if theme.baidu_analytics %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/busuanzi-counter.swig b/themes/next/layout/_third-party/analytics/busuanzi-counter.swig new file mode 100644 index 0000000..9015cb6 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/busuanzi-counter.swig @@ -0,0 +1,27 @@ +{% if theme.busuanzi_count.enable %} +
    + + + {% if theme.busuanzi_count.total_visitors %} + + + + + {% endif %} + + {% if theme.busuanzi_count.total_visitors and theme.busuanzi_count.total_views %} + + {% endif %} + + {% if theme.busuanzi_count.total_views %} + + + + + {% endif %} +
    +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/cnzz-analytics.swig b/themes/next/layout/_third-party/analytics/cnzz-analytics.swig new file mode 100644 index 0000000..9693cda --- /dev/null +++ b/themes/next/layout/_third-party/analytics/cnzz-analytics.swig @@ -0,0 +1,5 @@ +{% if theme.cnzz_siteid %} +
    + +
    +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/facebook-sdk.swig b/themes/next/layout/_third-party/analytics/facebook-sdk.swig new file mode 100644 index 0000000..98a8aff --- /dev/null +++ b/themes/next/layout/_third-party/analytics/facebook-sdk.swig @@ -0,0 +1,18 @@ +{% if theme.facebook_sdk.enable %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/firestore.swig b/themes/next/layout/_third-party/analytics/firestore.swig new file mode 100644 index 0000000..0cfe546 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/firestore.swig @@ -0,0 +1,99 @@ +{% if theme.firestore.enable %} + + + {% if theme.firestore.bluebird %} + + {% endif %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/google-analytics.swig b/themes/next/layout/_third-party/analytics/google-analytics.swig new file mode 100644 index 0000000..7f7ec6f --- /dev/null +++ b/themes/next/layout/_third-party/analytics/google-analytics.swig @@ -0,0 +1,12 @@ +{% if theme.google_analytics.tracking_id %} + + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/growingio.swig b/themes/next/layout/_third-party/analytics/growingio.swig new file mode 100644 index 0000000..fdbb00f --- /dev/null +++ b/themes/next/layout/_third-party/analytics/growingio.swig @@ -0,0 +1,7 @@ +{% if theme.growingio_analytics %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/index.swig b/themes/next/layout/_third-party/analytics/index.swig new file mode 100644 index 0000000..15eae67 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/index.swig @@ -0,0 +1,6 @@ +{% include 'facebook-sdk.swig' %} +{% include 'vkontakte-api.swig' %} +{% include 'google-analytics.swig' %} +{% include 'baidu-analytics.swig' %} +{% include 'application-insights.swig' %} +{% include 'growingio.swig' %} diff --git a/themes/next/layout/_third-party/analytics/lean-analytics.swig b/themes/next/layout/_third-party/analytics/lean-analytics.swig new file mode 100644 index 0000000..eb6bef3 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/lean-analytics.swig @@ -0,0 +1,116 @@ +{% if theme.leancloud_visitors.enable and !theme.valine.visitor %} + {# custom analytics part create by xiamo; edited by LEAFERx #} + + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/tencent-analytics.swig b/themes/next/layout/_third-party/analytics/tencent-analytics.swig new file mode 100644 index 0000000..adc1fc3 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/tencent-analytics.swig @@ -0,0 +1,10 @@ +{% if theme.tencent_analytics %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/tencent-mta.swig b/themes/next/layout/_third-party/analytics/tencent-mta.swig new file mode 100644 index 0000000..d9cae35 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/tencent-mta.swig @@ -0,0 +1,13 @@ +{% if theme.tencent_mta %} + +{% endif %} diff --git a/themes/next/layout/_third-party/analytics/vkontakte-api.swig b/themes/next/layout/_third-party/analytics/vkontakte-api.swig new file mode 100644 index 0000000..4ed0c62 --- /dev/null +++ b/themes/next/layout/_third-party/analytics/vkontakte-api.swig @@ -0,0 +1,25 @@ +{% if theme.vkontakte_api.enable %} +
    + +{% endif %} diff --git a/themes/next/layout/_third-party/baidu-push.swig b/themes/next/layout/_third-party/baidu-push.swig new file mode 100644 index 0000000..758c439 --- /dev/null +++ b/themes/next/layout/_third-party/baidu-push.swig @@ -0,0 +1,11 @@ +{% if theme.baidu_push %} + +{% endif %} diff --git a/themes/next/layout/_third-party/bookmark.swig b/themes/next/layout/_third-party/bookmark.swig new file mode 100644 index 0000000..6933ab3 --- /dev/null +++ b/themes/next/layout/_third-party/bookmark.swig @@ -0,0 +1,14 @@ +{% if theme.bookmark and theme.bookmark.enable %} + {% set bookmark_uri = url_for(theme.vendors._internal + '/bookmark/bookmark.min.js?v=1.0') %} + {% if theme.vendors.bookmark %} + {% set bookmark_uri = theme.vendors.bookmark %} + {% endif %} + + +{% endif %} diff --git a/themes/next/layout/_third-party/chatra.swig b/themes/next/layout/_third-party/chatra.swig new file mode 100644 index 0000000..fcc1ced --- /dev/null +++ b/themes/next/layout/_third-party/chatra.swig @@ -0,0 +1,22 @@ +{% if theme.chatra.enable %} + {% if theme.chatra.embed %} + + {% endif %} + +{% endif %} diff --git a/themes/next/layout/_third-party/comments/changyan.swig b/themes/next/layout/_third-party/comments/changyan.swig new file mode 100644 index 0000000..cf8fd2c --- /dev/null +++ b/themes/next/layout/_third-party/comments/changyan.swig @@ -0,0 +1,18 @@ +{% if is_home() %} + +{% elif page.comments %} + + +{% endif %} diff --git a/themes/next/layout/_third-party/comments/disqus.swig b/themes/next/layout/_third-party/comments/disqus.swig new file mode 100644 index 0000000..8491d68 --- /dev/null +++ b/themes/next/layout/_third-party/comments/disqus.swig @@ -0,0 +1,44 @@ +{% if theme.disqus.count %} + +{% endif %} +{% if page.comments %} + +{% endif %} diff --git a/themes/next/layout/_third-party/comments/disqusjs.swig b/themes/next/layout/_third-party/comments/disqusjs.swig new file mode 100644 index 0000000..bae5b27 --- /dev/null +++ b/themes/next/layout/_third-party/comments/disqusjs.swig @@ -0,0 +1,19 @@ +{% set disqusjs_css_url = '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css' %} +{% if theme.vendors.disqusjs_css %} + {% set disqusjs_css_url = theme.vendors.disqusjs_css %} +{% endif %} + + +{% set disqusjs_js_url = '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js' %} +{% if theme.vendors.disqusjs_js %} + {% set disqusjs_js_url = theme.vendors.disqusjs_js %} +{% endif %} + + + diff --git a/themes/next/layout/_third-party/comments/gitalk.swig b/themes/next/layout/_third-party/comments/gitalk.swig new file mode 100644 index 0000000..749ec59 --- /dev/null +++ b/themes/next/layout/_third-party/comments/gitalk.swig @@ -0,0 +1,35 @@ +{% set gitalk_js_url = '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js' %} +{% if theme.vendors.gitalk_js %} + {% set gitalk_js_url = theme.vendors.gitalk_js %} +{% endif %} + + +{% set gitalk_css_url = '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css' %} +{% if theme.vendors.gitalk_css %} + {% set gitalk_css_url = theme.vendors.gitalk_css %} +{% endif %} + + +{% set md5_url = '//cdn.jsdelivr.net/npm/js-md5@0.7.3/src/md5.min.js' %} +{% if theme.vendors.md5 %} + {% set md5_url = theme.vendors.md5 %} +{% endif %} + + + diff --git a/themes/next/layout/_third-party/comments/gitment.swig b/themes/next/layout/_third-party/comments/gitment.swig new file mode 100644 index 0000000..d4f5ae0 --- /dev/null +++ b/themes/next/layout/_third-party/comments/gitment.swig @@ -0,0 +1,45 @@ + +{% if theme.gitment.mint %} + {% set CommentsClass = 'Gitmint' %} + +{% else %} + {% set CommentsClass = 'Gitment' %} + +{% endif %} + + + + diff --git a/themes/next/layout/_third-party/comments/index.swig b/themes/next/layout/_third-party/comments/index.swig new file mode 100644 index 0000000..51fd0e0 --- /dev/null +++ b/themes/next/layout/_third-party/comments/index.swig @@ -0,0 +1,19 @@ +{% if theme.disqus.enable %} + {% include 'disqus.swig' %} +{% elif theme.changyan.enable and theme.changyan.appid and theme.changyan.appkey %} + {% include 'changyan.swig' %} +{% elif theme.valine.enable and theme.valine.appid and theme.valine.appkey %} + {% include 'valine.swig' %} +{% endif %} + +{% if page.comments %} + {% if theme.livere_uid %} + {% include 'livere.swig' %} + {% elif theme.gitment.enable and theme.gitment.client_id %} + {% include 'gitment.swig' %} + {% elif theme.gitalk.enable %} + {% include 'gitalk.swig' %} + {% elif theme.disqusjs.enable and theme.disqusjs.apikey and theme.disqusjs.shortname %} + {% include 'disqusjs.swig' %} + {% endif %} +{% endif %} diff --git a/themes/next/layout/_third-party/comments/livere.swig b/themes/next/layout/_third-party/comments/livere.swig new file mode 100644 index 0000000..b14f5ed --- /dev/null +++ b/themes/next/layout/_third-party/comments/livere.swig @@ -0,0 +1,13 @@ + diff --git a/themes/next/layout/_third-party/comments/valine.swig b/themes/next/layout/_third-party/comments/valine.swig new file mode 100644 index 0000000..7bfd105 --- /dev/null +++ b/themes/next/layout/_third-party/comments/valine.swig @@ -0,0 +1,32 @@ +{% set leancloud_uri = '//cdn1.lncld.net/static/js/3.11.1/av-min.js' %} +{% if theme.vendors.leancloud %} + {% set leancloud_uri = theme.vendors.leancloud %} +{% endif %} + + +{% set valine_uri = '//unpkg.com/valine/dist/Valine.min.js' %} +{% if theme.vendors.valine %} + {% set valine_uri = theme.vendors.valine %} +{% endif %} + + + diff --git a/themes/next/layout/_third-party/copy-code.swig b/themes/next/layout/_third-party/copy-code.swig new file mode 100644 index 0000000..fd5a726 --- /dev/null +++ b/themes/next/layout/_third-party/copy-code.swig @@ -0,0 +1,36 @@ +{% if theme.codeblock.copy_button.enable %} + +{% endif %} diff --git a/themes/next/layout/_third-party/math/index.swig b/themes/next/layout/_third-party/math/index.swig new file mode 100644 index 0000000..12eab89 --- /dev/null +++ b/themes/next/layout/_third-party/math/index.swig @@ -0,0 +1,20 @@ +{% if theme.math.enable %} + {% set is_index_has_math = false %} + + {# At home, check if there has `mathjax: true` post #} + {% if is_home() %} + {% for post in page.posts %} + {% if post.mathjax and not is_index_has_math %} + {% set is_index_has_math = true %} + {% endif %} + {% endfor %} + {% endif %} + + {% if not theme.math.per_page or (is_index_has_math or page.mathjax) %} + {% if theme.math.engine == 'mathjax' %} + {% include 'mathjax.swig' %} + {% elif theme.math.engine == 'katex' %} + {% include 'katex.swig' %} + {% endif %} + {% endif %} +{% endif %} diff --git a/themes/next/layout/_third-party/math/katex.swig b/themes/next/layout/_third-party/math/katex.swig new file mode 100644 index 0000000..ea7ad16 --- /dev/null +++ b/themes/next/layout/_third-party/math/katex.swig @@ -0,0 +1,9 @@ + +{% if theme.math.katex.copy_tex.enable %} + {% if theme.math.katex.copy_tex.copy_tex_js %} + + {% endif %} + {% if theme.math.katex.copy_tex.copy_tex_css %} + + {% endif %} +{% endif %} diff --git a/themes/next/layout/_third-party/math/mathjax.swig b/themes/next/layout/_third-party/math/mathjax.swig new file mode 100644 index 0000000..f695c1a --- /dev/null +++ b/themes/next/layout/_third-party/math/mathjax.swig @@ -0,0 +1,40 @@ + + + + diff --git a/themes/next/layout/_third-party/mermaid.swig b/themes/next/layout/_third-party/mermaid.swig new file mode 100644 index 0000000..a7859a6 --- /dev/null +++ b/themes/next/layout/_third-party/mermaid.swig @@ -0,0 +1,21 @@ +{% if theme.mermaid.enable %} + +{% endif %} diff --git a/themes/next/layout/_third-party/needsharebutton.swig b/themes/next/layout/_third-party/needsharebutton.swig new file mode 100644 index 0000000..8155e1d --- /dev/null +++ b/themes/next/layout/_third-party/needsharebutton.swig @@ -0,0 +1,23 @@ +{% if theme.needmoreshare2.enable %} + {% set needmoreshare2_js = url_for(theme.vendors._internal + '/needsharebutton/needsharebutton.js') %} + {% if theme.vendors.needmoreshare2_js %} + {% set needmoreshare2_js = theme.vendors.needmoreshare2_js %} + {% endif %} + + +{% endif %} diff --git a/themes/next/layout/_third-party/pangu.swig b/themes/next/layout/_third-party/pangu.swig new file mode 100644 index 0000000..c82d506 --- /dev/null +++ b/themes/next/layout/_third-party/pangu.swig @@ -0,0 +1,8 @@ +{% if theme.pangu %} + {% set pangu_uri = url_for(theme.vendors._internal + '/pangu/dist/pangu.min.js?v=3.3') %} + {% if theme.vendors.pangu %} + {% set pangu_uri = theme.vendors.pangu %} + {% endif %} + + +{% endif %} diff --git a/themes/next/layout/_third-party/pdf.swig b/themes/next/layout/_third-party/pdf.swig new file mode 100644 index 0000000..4b65f3e --- /dev/null +++ b/themes/next/layout/_third-party/pdf.swig @@ -0,0 +1,27 @@ +{% if theme.pdf.enable %} + +{% endif %} diff --git a/themes/next/layout/_third-party/quicklink.swig b/themes/next/layout/_third-party/quicklink.swig new file mode 100644 index 0000000..fd02f10 --- /dev/null +++ b/themes/next/layout/_third-party/quicklink.swig @@ -0,0 +1,35 @@ +{% if theme.quicklink.enable %} + {% set quicklink_uri = url_for(theme.vendors._internal + '/quicklink/quicklink.umd.js') %} + {% if theme.vendors.quicklink %} + {% set quicklink_uri = theme.vendors.quicklink %} + {% endif %} + + {% if is_home() %} + {% if theme.quicklink.home %} + {% set loadQL = true %} + {% endif %} + {% endif %} + + {% if is_archive() %} + {% if theme.quicklink.archive %} + {% set loadQL = true %} + {% endif %} + {% endif %} + + {% if loadQL or (page.quicklink or post.quicklink) %} + + + {% endif %} +{% endif %} diff --git a/themes/next/layout/_third-party/rating.swig b/themes/next/layout/_third-party/rating.swig new file mode 100644 index 0000000..e51e094 --- /dev/null +++ b/themes/next/layout/_third-party/rating.swig @@ -0,0 +1,20 @@ +{% if theme.rating.enable and (not is_home() and is_post()) %} + +{% endif %} diff --git a/themes/next/layout/_third-party/schedule.swig b/themes/next/layout/_third-party/schedule.swig new file mode 100644 index 0000000..2c1577b --- /dev/null +++ b/themes/next/layout/_third-party/schedule.swig @@ -0,0 +1,171 @@ +{% if theme.calendar.enable && page.type === 'schedule' %} + + + +{% endif %} diff --git a/themes/next/layout/_third-party/search/algolia-search.swig b/themes/next/layout/_third-party/search/algolia-search.swig new file mode 100644 index 0000000..30a73e7 --- /dev/null +++ b/themes/next/layout/_third-party/search/algolia-search.swig @@ -0,0 +1,18 @@ +{% if theme.algolia_search.enable %} + + {# S: Include Algolia instantsearch.js library #} + {% set algolia_instant_css = url_for(theme.vendors._internal + '/algolia-instant-search/instantsearch.min.css') %} + {% if theme.vendors.algolia_instant_css %} + {% set algolia_instant_css = theme.vendors.algolia_instant_css %} + {% endif %} + + + {% set algolia_instant_js = url_for(theme.vendors._internal + '/algolia-instant-search/instantsearch.min.js') %} + {% if theme.vendors.algolia_instant_js %} + {% set algolia_instant_js = theme.vendors.algolia_instant_js %} + {% endif %} + + {# E: Include Algolia instantsearch.js library #} + + +{% endif %} diff --git a/themes/next/layout/_third-party/search/index.swig b/themes/next/layout/_third-party/search/index.swig new file mode 100644 index 0000000..b6c4945 --- /dev/null +++ b/themes/next/layout/_third-party/search/index.swig @@ -0,0 +1,2 @@ +{% include 'localsearch.swig' %} +{% include 'algolia-search.swig' %} diff --git a/themes/next/layout/_third-party/search/localsearch.swig b/themes/next/layout/_third-party/search/localsearch.swig new file mode 100644 index 0000000..37dc85f --- /dev/null +++ b/themes/next/layout/_third-party/search/localsearch.swig @@ -0,0 +1,336 @@ +{% if theme.local_search.enable %} + +{% endif %} diff --git a/themes/next/layout/_third-party/tidio.swig b/themes/next/layout/_third-party/tidio.swig new file mode 100644 index 0000000..d380d21 --- /dev/null +++ b/themes/next/layout/_third-party/tidio.swig @@ -0,0 +1,3 @@ +{% if theme.tidio.enable %} + +{% endif %} diff --git a/themes/next/layout/archive.swig b/themes/next/layout/archive.swig new file mode 100644 index 0000000..e4c2a68 --- /dev/null +++ b/themes/next/layout/archive.swig @@ -0,0 +1,64 @@ +{% extends '_layout.swig' %} +{% import '_macro/post-collapse.swig' as post_template %} +{% import '_macro/sidebar.swig' as sidebar_template %} + +{% block title %}{{ __('title.archive') }} | {{ title }}{% endblock %} + +{% block page_class %}page-archive{% endblock %} + +{% block content %} + + {#####################} + {### ARCHIVE BLOCK ###} + {#####################} +
    +
    + + + {% if theme.cheers %} + + {% set cheers %} + {% set posts_length = site.posts.length %} + {% if posts_length > 210 %} {% set cheers = 'excellent' %} + {% elif posts_length > 130 %} {% set cheers = 'great' %} + {% elif posts_length > 80 %} {% set cheers = 'good' %} + {% elif posts_length > 50 %} {% set cheers = 'nice' %} + {% elif posts_length > 30 %} {% set cheers = 'ok' %} + {% else %} + {% set cheers = 'um' %} + {% endif %} + {{ __('cheers.' + cheers) }}! {{ _p("counter.archive_posts", site.posts.length) }} {{ __('keep_on') }} + + {% endif %} + + {% for post in page.posts %} + + {# Show year #} + {% set year %} + {% set post.year = date(post.date, 'YYYY') %} + + {% if post.year !== year %} + {% set year = post.year %} +
    + <{% if theme.seo %}h2{% else %}h1{% endif %} class="archive-year" id="archive-year-{{ year }}">{{ year }} +
    + {% endif %} + {# endshow #} + + {{ post_template.render(post) }} + + {% endfor %} + +
    +
    + {#########################} + {### END ARCHIVE BLOCK ###} + {#########################} + + {% include '_partials/pagination.swig' %} + +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(false) }} +{% endblock %} diff --git a/themes/next/layout/category.swig b/themes/next/layout/category.swig new file mode 100644 index 0000000..f85dbf5 --- /dev/null +++ b/themes/next/layout/category.swig @@ -0,0 +1,38 @@ +{% extends '_layout.swig' %} +{% import '_macro/post-collapse.swig' as post_template %} +{% import '_macro/sidebar.swig' as sidebar_template %} + +{% block title %}{{ __('title.category') }}: {{ page.category }} | {{ title }}{% endblock %} + +{% block content %} + + {######################} + {### CATEGORY BLOCK ###} + {######################} +
    + +
    +
    + <{% if theme.seo %}h2{% else %}h1{% endif %}>{# + #}{{ page.category }}{# + #}{{ __('title.category') }} + +
    + + {% for post in page.posts %} + {{ post_template.render(post) }} + {% endfor %} +
    + +
    + {##########################} + {### END CATEGORY BLOCK ###} + {##########################} + + {% include '_partials/pagination.swig' %} + +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(false) }} +{% endblock %} diff --git a/themes/next/layout/index.swig b/themes/next/layout/index.swig new file mode 100644 index 0000000..9fd359f --- /dev/null +++ b/themes/next/layout/index.swig @@ -0,0 +1,23 @@ +{% extends '_layout.swig' %} +{% import '_macro/post.swig' as post_template %} +{% import '_macro/sidebar.swig' as sidebar_template %} + +{% block title %}{{ title }}{% if theme.index_with_subtitle and subtitle %} – {{ subtitle }}{% endif %}{% endblock %} + +{% block page_class %} + {% if is_home() %}page-home{% endif -%} +{% endblock %} + +{% block content %} +
    + {% for post in page.posts %} + {{ post_template.render(post, true) }} + {% endfor %} +
    + + {% include '_partials/pagination.swig' %} +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(false) }} +{% endblock %} diff --git a/themes/next/layout/page.swig b/themes/next/layout/page.swig new file mode 100644 index 0000000..c64f73c --- /dev/null +++ b/themes/next/layout/page.swig @@ -0,0 +1,91 @@ +{% extends '_layout.swig' %} +{% import '_macro/sidebar.swig' as sidebar_template %} + + {% block title %}{# + #}{% set page_title_suffix = ' | ' + title %}{# + + #}{% if page.type === 'categories' and not page.title %}{# + #}{{ __('title.category') + page_title_suffix }}{# + #}{% elif page.type === 'tags' and not page.title %}{# + #}{{ __('title.tag') + page_title_suffix }}{# + #}{% elif page.type === 'schedule' and not page.title %}{# + #}{{ __('title.schedule') + page_title_suffix }}{# + #}{% else %}{# + #}{{ page.title + page_title_suffix }}{# + #}{% endif %}{# +#}{% endblock %} + +{% block page_class %}page-post-detail{% endblock %} + +{% block content %} + +
    + {##################} + {### PAGE BLOCK ###} + {##################} +
    + {% include '_partials/page/page-header.swig' %} + {#################} + {### PAGE BODY ###} + {#################} +
    + {# tagcloud page support #} + {% if page.type === 'tags' %} +
    +
    + {% set visibleTags = 0 %} + {% for tag in site.tags %} + {% if tag.length %} + {% set visibleTags += 1 %} + {% endif %} + {% endfor %} + {{ _p('counter.tag_cloud', visibleTags) }} +
    +
    + {% if not theme.tagcloud %} + {{ tagcloud({min_font: 12, max_font: 30, amount: 200, color: true, start_color: '#ccc', end_color: '#111'}) }} + {% else %} + {{ tagcloud({min_font: theme.tagcloud.min, max_font: theme.tagcloud.max, amount: theme.tagcloud.amount, color: true, start_color: theme.tagcloud.start, end_color: theme.tagcloud.end}) }} + {% endif %} +
    +
    + {% elif page.type === 'categories' %} +
    +
    + {% set visibleCategories = 0 %} + {% for cat in site.categories %} + {% if cat.length %} + {% set visibleCategories += 1 %} + {% endif %} + {% endfor %} + {{ _p('counter.categories', visibleCategories) }} +
    +
    + {{ list_categories() }} +
    +
    + {% elif page.type === 'schedule' %} + {% include 'schedule.swig' %} + {% else %} + {{ page.content }} + {% endif %} +
    + {#####################} + {### END PAGE BODY ###} + {#####################} +
    + {% include '_partials/page/breadcrumb.swig' %} + {######################} + {### END PAGE BLOCK ###} + {######################} +
    + +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(false) }} +{% endblock %} + +{% block script_extra %} + {% include '_scripts/pages/post-details.swig' %} +{% endblock %} diff --git a/themes/next/layout/post.swig b/themes/next/layout/post.swig new file mode 100644 index 0000000..a4b825f --- /dev/null +++ b/themes/next/layout/post.swig @@ -0,0 +1,23 @@ +{% extends '_layout.swig' %} +{% import '_macro/post.swig' as post_template %} +{% import '_macro/sidebar.swig' as sidebar_template %} + +{% block title %}{{ page.title }} | {{ title }}{% endblock %} + +{% block page_class %}page-post-detail{% endblock %} + +{% block content %} + +
    + {{ post_template.render(page) }} +
    + +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(true) }} +{% endblock %} + +{% block script_extra %} + {% include '_scripts/pages/post-details.swig' %} +{% endblock %} diff --git a/themes/next/layout/schedule.swig b/themes/next/layout/schedule.swig new file mode 100644 index 0000000..9e7b747 --- /dev/null +++ b/themes/next/layout/schedule.swig @@ -0,0 +1,14 @@ +{% block content %} + {######################} + {### SCHEDULE BLOCK ###} + {######################} +
    +
    +
      +
    +
    +
    + {##########################} + {### END SCHEDULE BLOCK ###} + {##########################} +{% endblock %} diff --git a/themes/next/layout/tag.swig b/themes/next/layout/tag.swig new file mode 100644 index 0000000..8a7e75b --- /dev/null +++ b/themes/next/layout/tag.swig @@ -0,0 +1,38 @@ +{% extends '_layout.swig' %} +{% import '_macro/post-collapse.swig' as post_template %} +{% import '_macro/sidebar.swig' as sidebar_template %} + +{% block title %}{{ __('title.tag') }}: {{ page.tag }} | {{ title }}{% endblock %} + +{% block content %} + + {#################} + {### TAG BLOCK ###} + {#################} +
    + +
    +
    + <{% if theme.seo %}h2{% else %}h1{% endif %}>{# + #}{{ page.tag }}{# + #}{{ __('title.tag') }} + +
    + + {% for post in page.posts %} + {{ post_template.render(post) }} + {% endfor %} +
    + +
    + {#####################} + {### END TAG BLOCK ###} + {#####################} + + {% include '_partials/pagination.swig' %} + +{% endblock %} + +{% block sidebar %} + {{ sidebar_template.render(false) }} +{% endblock %} diff --git a/themes/next/package.json b/themes/next/package.json new file mode 100644 index 0000000..17d2b1d --- /dev/null +++ b/themes/next/package.json @@ -0,0 +1,39 @@ +{ + "name": "hexo-theme-next", + "version": "7.1.1", + "description": "Elegant and powerful theme for Hexo", + "main": "index.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "gulp", + "contributors:add": "all-contributors add", + "contributors:generate": "all-contributors generate" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/theme-next/hexo-theme-next.git" + }, + "keywords": [ + "hexo", + "theme", + "next" + ], + "author": "NexT (https://theme-next.org)", + "license": "AGPL", + "bugs": { + "url": "https://github.com/theme-next/hexo-theme-next/issues" + }, + "homepage": "https://theme-next.org", + "devDependencies": { + "all-contributors-cli": "^5.4.0", + "coffee-script": "^1.10.0", + "gulp": "^3.9.0", + "gulp-jshint": "^1.12.0", + "gulp-shell": "^0.6.1", + "js-yaml": "^3.8.1", + "jshint-stylish": "^2.1.0", + "stylint": "^1.5.9" + } +} diff --git a/themes/next/scripts/filters/exturl.js b/themes/next/scripts/filters/exturl.js new file mode 100644 index 0000000..c9eaae9 --- /dev/null +++ b/themes/next/scripts/filters/exturl.js @@ -0,0 +1,45 @@ +/* global hexo */ + +'use strict'; + +hexo.extend.filter.register('after_post_render', function(data) { + var theme = hexo.theme.config; + // Exit if `exturl` option disable in NexT. + if (!theme.exturl) return; + + var url = require('url'); + var cheerio; + + var config = this.config; + + if (!cheerio) cheerio = require('cheerio'); + + var $ = cheerio.load(data.content, {decodeEntities: false}); + var siteHost = url.parse(config.url).hostname || config.url; + + $('a').each(function() { + var href = $(this).attr('href'); + // Exit if the href attribute doesn't exists. + if (!href) return; + + var data = url.parse(href); + + // Exit if the link doesn't have protocol, which means it's an internal link. + if (!data.protocol) return; + + // Exit if the url has same host with `config.url`. + if (data.hostname === siteHost) return; + + // If title atribute filled, set it as title; if not, set url as title. + var title = $(this).attr('title') || href; + + var encoded = Buffer.from(href).toString('base64'); + + $(this).replaceWith(function() { + return $(`${$(this).html()}`); + }); + + }); + + data.content = $.html(); +}, 0); diff --git a/themes/next/scripts/helpers/engine.js b/themes/next/scripts/helpers/engine.js new file mode 100644 index 0000000..c61dae8 --- /dev/null +++ b/themes/next/scripts/helpers/engine.js @@ -0,0 +1,26 @@ +/* global hexo */ + +'use strict'; + +hexo.extend.helper.register('hexo_env', function(type) { + return this.env[type]; +}); + +hexo.extend.helper.register('next_env', function(type) { + var path = require('path'); + var env = require(path.normalize('../../package.json')); + return env[type]; +}); + +hexo.extend.helper.register('item_active', function(path, className) { + var canonical = this.page.canonical_path; + var current = this.url_for(canonical).replace('index.html', '', 'g'); + var result = ''; + + if (current.indexOf(path) !== -1) { + if (path !== '/' || path === current) { + result = ' ' + className; + } + } + return result; +}); diff --git a/themes/next/scripts/helpers/next-url.js b/themes/next/scripts/helpers/next-url.js new file mode 100644 index 0000000..700732e --- /dev/null +++ b/themes/next/scripts/helpers/next-url.js @@ -0,0 +1,70 @@ +/** + * next-url.js | https://theme-next.org/api/helpers/next-url/ + */ + +/* global hexo */ + +'use strict'; + +hexo.extend.helper.register('next_url', function(path, text, options) { + var htmlTag = require('hexo-util').htmlTag; + var config = this.config; + var url = require('url'); + var data = url.parse(path); + var siteHost = url.parse(config.url).hostname || config.url; + + var theme = hexo.theme.config; + var exturl = ''; + var tag = 'a'; + var attrs = { href: this.url_for(path) }; + + // If `exturl` enabled, set spanned links only on external links. + if (theme.exturl && data.protocol && data.hostname !== siteHost) { + tag = 'span'; + exturl = 'exturl'; + var encoded = Buffer.from(path).toString('base64'); + attrs = { + class : exturl, + 'data-url': encoded + }; + } + + options = options || {}; + + var keys = Object.keys(options); + var key = ''; + + for (var i = 0, len = keys.length; i < len; i++) { + key = keys[i]; + + /** + * If option have `class` attribute, add it to + * 'exturl' class if `exturl` option enabled. + */ + if (exturl !== '' && key === 'class') { + attrs[key] += ' ' + options[key]; + } else { + attrs[key] = options[key]; + } + } + + if (attrs.class && Array.isArray(attrs.class)) { + attrs.class = attrs.class.join(' '); + } + + // If it's external link, rewrite attributes. + if (data.protocol && data.hostname !== siteHost) { + attrs.external = null; + + if (!theme.exturl) { + // Only for simple link need to rewrite/add attributes. + attrs.rel = 'noopener'; + attrs.target = '_blank'; + } else { + // Remove rel attributes for `exturl` in main menu. + attrs.rel = null; + } + } + + return htmlTag(tag, attrs, text); +}); diff --git a/themes/next/scripts/merge-configs.js b/themes/next/scripts/merge-configs.js new file mode 100644 index 0000000..2c36f24 --- /dev/null +++ b/themes/next/scripts/merge-configs.js @@ -0,0 +1,45 @@ +/* global hexo */ + +'use strict'; + +var merge = require('./merge'); + +hexo.on('generateBefore', function() { + if (hexo.locals.get) { + var data = hexo.locals.get('data'); + + /** + * Merge configs from _data/next.yml into hexo.theme.config. + * If `override`, configs in next.yml will rewrite configs in hexo.theme.config. + * If next.yml not exists, merge all `theme_config.*` into hexo.theme.config. + */ + if (data && data.next) { + if (data.next.override) { + hexo.theme.config = data.next; + } else { + merge(hexo.config, data.next); + merge(hexo.theme.config, data.next); + } + } else { + merge(hexo.theme.config, hexo.config.theme_config); + } + + // Custom languages support. Introduced in NexT v6.3.0. + if (data && data.languages) { + var lang = this.config.language; + var i18n = this.theme.i18n; + + var mergeLang = function(lang) { + i18n.set(lang, merge(i18n.get([lang]), data.languages[lang])); + }; + + if (Array.isArray(lang)) { + for (var i = 0; i < lang.length; i++) { + mergeLang(lang[i]); + } + } else { + mergeLang(lang); + } + } + } +}); diff --git a/themes/next/scripts/merge.js b/themes/next/scripts/merge.js new file mode 100644 index 0000000..f964663 --- /dev/null +++ b/themes/next/scripts/merge.js @@ -0,0 +1,2225 @@ +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function () { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) { + } +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Adds the key-value `pair` to `map`. + * + * @private + * @param {Object} map The map to modify. + * @param {Array} pair The key-value pair to add. + * @returns {Object} Returns `map`. + */ +function addMapEntry(map, pair) { + // Don't return `map.set` because it's not chainable in IE 11. + map.set(pair[0], pair[1]); + return map; +} + +/** + * Adds `value` to `set`. + * + * @private + * @param {Object} set The set to modify. + * @param {*} value The value to add. + * @returns {Object} Returns `set`. + */ +function addSetEntry(set, value) { + // Don't return `set.add` because it's not chainable in IE 11. + set.add(value); + return set; +} + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + case 1: + return func.call(thisArg, args[0]); + case 2: + return func.call(thisArg, args[0], args[1]); + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array ? array.length : 0; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function (value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) { + } + } + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function (value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function (arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function (value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function () { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + this.__data__ = new ListCache(entries); +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + return this.__data__['delete'](key); +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + return this; + } + cache = this.__data__ = new MapCache(pairs); + } + cache.set(key, value); + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (typeof key == 'number' && value === undefined && !(key in object))) { + object[key] = value; + } +} + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + object[key] = value; + } +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @param {boolean} [isFull] Specify a clone including symbols. + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, isDeep, isFull, customizer, key, object, stack) { + var result; + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + if (isHostObject(value)) { + return object ? value : {}; + } + result = initCloneObject(isFunc ? {} : value); + if (!isDeep) { + return copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, baseClone, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (!isArr) { + var props = isFull ? getAllKeys(value) : keys(value); + } + arrayEach(props || value, function (subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack)); + }); + return result; +} + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} prototype The object to inherit from. + * @returns {Object} Returns the new object. + */ +function baseCreate(proto) { + return isObject(proto) ? objectCreate(proto) : {}; +} + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + if (!(isArray(source) || isTypedArray(source))) { + var props = baseKeysIn(source); + } + arrayEach(props || source, function (srcValue, key) { + if (props) { + key = srcValue; + srcValue = source[key]; + } + if (isObject(srcValue)) { + stack || (stack = new Stack); + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(object[key], srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }); +} + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = object[key], + srcValue = source[key], + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + newValue = srcValue; + if (isArray(srcValue) || isTypedArray(srcValue)) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else { + isCommon = false; + newValue = baseClone(srcValue, true); + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { + isCommon = false; + newValue = baseClone(srcValue, true); + } + else { + newValue = objValue; + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function () { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = array; + return apply(func, this, otherArgs); + }; +} + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var result = new buffer.constructor(buffer.length); + buffer.copy(result); + return result; +} + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +/** + * Creates a clone of `map`. + * + * @private + * @param {Object} map The map to clone. + * @param {Function} cloneFunc The function to clone values. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned map. + */ +function cloneMap(map, isDeep, cloneFunc) { + var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map); + return arrayReduce(array, addMapEntry, new map.constructor); +} + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +/** + * Creates a clone of `set`. + * + * @private + * @param {Object} set The set to clone. + * @param {Function} cloneFunc The function to clone values. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned set. + */ +function cloneSet(set, isDeep, cloneFunc) { + var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set); + return arrayReduce(array, addSetEntry, new set.constructor); +} + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + assignValue(object, key, newValue === undefined ? source[key] : newValue); + } + return object; +} + +/** + * Copies own symbol properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); +} + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function (object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Creates an array of the own enumerable symbol properties of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray; + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function (value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + case mapCtorString: + return mapTag; + case promiseCtorString: + return promiseTag; + case setCtorString: + return setTag; + case weakMapCtorString: + return weakMapTag; + } + } + return result; + }; +} + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {Function} cloneFunc The function to clone values. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, cloneFunc, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: + case float64Tag: + case int8Tag: + case int16Tag: + case int32Tag: + case uint8Tag: + case uint8ClampedTag: + case uint16Tag: + case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return cloneMap(object, isDeep, cloneFunc); + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return cloneSet(object, isDeep, cloneFunc); + + case symbolTag: + return cloneSymbol(object); + } +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) { + } + try { + return (func + ''); + } catch (e) { + } + } + return ''; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || + objectToString.call(value) != objectTag || isHostObject(value)) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return (typeof Ctor == 'function' && + Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString); +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ +function toPlainObject(value) { + return copyObject(value, keysIn(value)); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +/** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ +var merge = createAssigner(function (object, source, srcIndex) { + baseMerge(object, source, srcIndex); +}); + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = merge; diff --git a/themes/next/scripts/tags/button.js b/themes/next/scripts/tags/button.js new file mode 100644 index 0000000..ea530e2 --- /dev/null +++ b/themes/next/scripts/tags/button.js @@ -0,0 +1,35 @@ +/** + * button.js | https://theme-next.org/docs/tag-plugins/button + */ + +/* global hexo */ + +'use strict'; + +function postButton(args) { + args = args.join(' ').split(','); + var url = args[0]; + var text = args[1] || ''; + var icon = args[2] || ''; + var title = args[3] || ''; + + if (!url) { + hexo.log.warn('URL can NOT be empty'); + } + + text = text.trim(); + icon = icon.trim(); + title = title.trim(); + + var result = [` 0 && result.push(` title="${title}"`); + result.push('>'); + icon.length > 0 && result.push(``); + text.length > 0 && result.push(text); + result.push(''); + + return result.join(''); +} + +hexo.extend.tag.register('button', postButton, {ends: false}); +hexo.extend.tag.register('btn', postButton, {ends: false}); diff --git a/themes/next/scripts/tags/center-quote.js b/themes/next/scripts/tags/center-quote.js new file mode 100644 index 0000000..679f14f --- /dev/null +++ b/themes/next/scripts/tags/center-quote.js @@ -0,0 +1,16 @@ +/** + * center-quote.js | https://theme-next.org/docs/tag-plugins/ + */ + +/* global hexo */ + +'use strict'; + +function centerQuote(args, content) { + return '
    ' + + hexo.render.renderSync({text: content, engine: 'markdown'}) + + '
    '; +} + +hexo.extend.tag.register('centerquote', centerQuote, {ends: true}); +hexo.extend.tag.register('cq', centerQuote, {ends: true}); diff --git a/themes/next/scripts/tags/exturl.js b/themes/next/scripts/tags/exturl.js new file mode 100644 index 0000000..1663409 --- /dev/null +++ b/themes/next/scripts/tags/exturl.js @@ -0,0 +1,62 @@ +/** + * exturl.js | https://theme-next.org/docs/tag-plugins/exturl + * Note: need to remove in NexT v7.0.0 + */ + +/* global hexo */ + +'use strict'; + +var util = require('hexo-util'); +var htmlTag = util.htmlTag; + +/* eslint-disable */ +var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\w]*))?)/; + +// Create Base64 Object +var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}; +/* eslint-enable */ + +function extURL(args) { + var exturl = 'exturl'; + var url = ''; + var text = []; + var title = ''; + var item = ''; + var i = 0; + var len = args.length; + + // Find link URL and text + for (; i < len; i++) { + item = args[i]; + + if (rUrl.test(item)) { + url = Base64.encode(item); + break; + } else { + text.push(item); + } + } + + // Delete link URL and text from arguments + args = args.slice(i + 1); + + // If any arguments exists, collect the last text as the link title, + // if not, set title as url. + if (args.length) { + title = args.join(' '); + } else { + title = item; + } + + var attrs = { + class : exturl, + 'data-url': url, + title : title + }; + hexo.log.warn('WARNING: `exturl` and `extlink` tag will not longer be supported. More info here: https://theme-next.org/docs/theme-settings/seo#ExtURL'); + return htmlTag('span', attrs, text.join(' ') + ''); +} + +hexo.extend.tag.register('exturl', extURL, {ends: false}); +hexo.extend.tag.register('extlink', extURL, {ends: false}); diff --git a/themes/next/scripts/tags/full-image.js b/themes/next/scripts/tags/full-image.js new file mode 100644 index 0000000..84b70f5 --- /dev/null +++ b/themes/next/scripts/tags/full-image.js @@ -0,0 +1,32 @@ +/** + * full-image.js | https://theme-next.org/docs/tag-plugins/full-image + */ + +/* global hexo */ + +'use strict'; + +function fullImage(args) { + args = args.join(' ').split(','); + var mixed = args[0].split('@'); + var img = mixed[0]; + var src = mixed[1] === 'lazy' ? '/images/loading.gif" data-original="' + img : img; + var alt = args[1] || ''; + var title = args[2] || ''; + var width = args[3] || ''; + + if (!img) { + hexo.log.warn('Image src can NOT be empty'); + } + + var image = [` 0 && image.push(`alt="${alt.trim()}"`); + title.length > 0 && image.push(`title="${title.trim()}"`); + width.length > 0 && image.push(`style="max-width: none; width:${width};"`); + image.push('/>'); + + return image.join(' '); +} + +hexo.extend.tag.register('fullimage', fullImage, {ends: false}); +hexo.extend.tag.register('fi', fullImage, {ends: false}); diff --git a/themes/next/scripts/tags/group-pictures.js b/themes/next/scripts/tags/group-pictures.js new file mode 100644 index 0000000..0836d49 --- /dev/null +++ b/themes/next/scripts/tags/group-pictures.js @@ -0,0 +1,150 @@ +/** + * group-pictures.js | https://theme-next.org/docs/tag-plugins/group-pictures + */ + +/* global hexo */ + +'use strict'; + +var LAYOUTS = { + 2: { + 1: [1, 1], + 2: [2] + }, + 3: { + 1: [3], + 2: [1, 2], + 3: [2, 1] + }, + 4: { + 1: [1, 2, 1], + 2: [1, 3], + 3: [2, 2], + 4: [3, 1] + }, + 5: { + 1: [1, 2, 2], + 2: [2, 1, 2], + 3: [2, 3], + 4: [3, 2] + }, + 6: { + 1: [1, 2, 3], + 2: [1, 3, 2], + 3: [2, 1, 3], + 4: [2, 2, 2], + 5: [3, 3] + }, + 7: { + 1: [1, 2, 2, 2], + 2: [1, 3, 3], + 3: [2, 2, 3], + 4: [2, 3, 2], + 5: [3, 2, 2] + }, + 8: { + 1: [1, 2, 2, 3], + 2: [1, 2, 3, 2], + 3: [1, 3, 2, 2], + 4: [2, 2, 2, 2], + 5: [2, 3, 3], + 6: [3, 2, 3], + 7: [3, 3, 2] + }, + 9: { + 1: [1, 2, 3, 3], + 2: [1, 3, 2, 3], + 3: [2, 2, 2, 3], + 4: [2, 2, 3, 2], + 5: [2, 3, 2, 2], + 6: [3, 2, 2, 2], + 7: [3, 3, 3] + }, + 10: { + 1: [1, 3, 3, 3], + 2: [2, 2, 3, 3], + 3: [2, 3, 2, 3], + 4: [2, 3, 3, 2], + 5: [3, 2, 2, 3], + 6: [3, 2, 3, 2], + 7: [3, 3, 2, 2] + } +}; + +function groupBy(group, data) { + var r = []; + for (var i = 0; i < group.length; i++) { + r.push(data.slice(0, group[i])); + data = data.slice(group[i]); + } + return r; +} + +var templates = { + + dispatch: function(pictures, group, layout) { + var rule = LAYOUTS[group] ? LAYOUTS[group][layout] : null; + return rule ? this.getHTML(groupBy(rule, pictures)) : templates.defaults(pictures); + }, + + /** + * Defaults Layout + * + * □ □ □ + * □ □ □ + * ... + * + * @param pictures + */ + defaults: function(pictures) { + var ROW_SIZE = 3; + var rows = pictures.length / (ROW_SIZE + 1); + var pictureArr = []; + + for (var i = 0; i < rows; i++) { + pictureArr.push(pictures.slice(i * ROW_SIZE, (i + 1) * ROW_SIZE)); + } + + return this.getHTML(pictureArr); + }, + + getHTML: function(rows) { + var rowHTML = ''; + + for (var i = 0; i < rows.length; i++) { + rowHTML += this.getRowHTML(rows[i]); + } + + return `
    ${rowHTML}
    `; + }, + + getRowHTML: function(pictures) { + return `
    ${this.getColumnHTML(pictures)}
    `; + }, + + getColumnHTML: function(pictures) { + var columns = []; + var columnWidth = 100 / pictures.length; + var columnStyle = `style="width: ${columnWidth}%;"`; + + for (var i = 0; i < pictures.length; i++) { + columns.push(`
    ${pictures[i]}
    `); + } + return columns.join(''); + } +}; + +function groupPicture(args, content) { + args = args[0].split('-'); + var group = parseInt(args[0], 10); + var layout = parseInt(args[1], 10); + + content = hexo.render.renderSync({text: content, engine: 'markdown'}); + + var pictures = content.match(//g); + + return `
    ${templates.dispatch(pictures, group, layout)}
    `; +} + +hexo.extend.tag.register('grouppicture', groupPicture, {ends: true}); +hexo.extend.tag.register('gp', groupPicture, {ends: true}); diff --git a/themes/next/scripts/tags/include-raw.js b/themes/next/scripts/tags/include-raw.js new file mode 100644 index 0000000..016da7b --- /dev/null +++ b/themes/next/scripts/tags/include-raw.js @@ -0,0 +1,30 @@ +/** + * include-raw.js | https://theme-next.org/docs/tag-plugins/ + */ + +/* global hexo */ + +'use strict'; + +var pathFn = require('path'); +var fs = require('hexo-fs'); + +function includeRaw(args) { + var path = pathFn.join(hexo.source_dir, args[0]); + + return fs.exists(path).then(function(exist) { + if (!exist) { + hexo.log.error('Include file not found!'); + return; + } + return fs.readFile(path).then(function(contents) { + if (!contents) { + hexo.log.warn('Include file empty.'); + return; + } + return contents; + }); + }); +} + +hexo.extend.tag.register('include_raw', includeRaw, {ends: false, async: true}); diff --git a/themes/next/scripts/tags/label.js b/themes/next/scripts/tags/label.js new file mode 100644 index 0000000..94fb38a --- /dev/null +++ b/themes/next/scripts/tags/label.js @@ -0,0 +1,19 @@ +/** + * label.js | https://theme-next.org/docs/tag-plugins/label + */ + +/* global hexo */ + +'use strict'; + +function postLabel(args) { + args = args.join(' ').split('@'); + var classes = args[0] || 'default'; + var text = args[1] || ''; + + !text && hexo.log.warn('Label text must be defined!'); + + return `${text}`; +} + +hexo.extend.tag.register('label', postLabel, {ends: false}); diff --git a/themes/next/scripts/tags/mermaid.js b/themes/next/scripts/tags/mermaid.js new file mode 100644 index 0000000..aa8e3be --- /dev/null +++ b/themes/next/scripts/tags/mermaid.js @@ -0,0 +1,16 @@ +/** + * mermaid.js | https://theme-next.org/docs/tag-plugins/mermaid + */ + +/* global hexo */ + +'use strict'; + +function mermaid(args, content) { + return `
    +            ${args.join(' ')}
    +            ${content}
    +          
    `; +} + +hexo.extend.tag.register('mermaid', mermaid, {ends: true}); diff --git a/themes/next/scripts/tags/note.js b/themes/next/scripts/tags/note.js new file mode 100644 index 0000000..578e2b3 --- /dev/null +++ b/themes/next/scripts/tags/note.js @@ -0,0 +1,16 @@ +/** + * note.js | https://theme-next.org/docs/tag-plugins/note + */ + +/* global hexo */ + +'use strict'; + +function postNote(args, content) { + return `
    + ${hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')} +
    `; +} + +hexo.extend.tag.register('note', postNote, {ends: true}); +hexo.extend.tag.register('subnote', postNote, {ends: true}); diff --git a/themes/next/scripts/tags/pdf.js b/themes/next/scripts/tags/pdf.js new file mode 100644 index 0000000..349e5fc --- /dev/null +++ b/themes/next/scripts/tags/pdf.js @@ -0,0 +1,13 @@ +/** + * pdf.js | https://theme-next.org/docs/tag-plugins/pdf + */ + +/* global hexo */ + +'use strict'; + +function pdf(args) { + return `
    `; +} + +hexo.extend.tag.register('pdf', pdf, {ends: false}); diff --git a/themes/next/scripts/tags/tabs.js b/themes/next/scripts/tags/tabs.js new file mode 100644 index 0000000..4b39576 --- /dev/null +++ b/themes/next/scripts/tags/tabs.js @@ -0,0 +1,59 @@ +/** + * tabs.js | https://theme-next.org/docs/tag-plugins/tabs + */ + +/* global hexo */ + +'use strict'; + +function postTabs(args, content) { + var tabBlock = /\n([\w\W\s\S]*?)/g; + + args = args.join(' ').split(','); + var tabName = args[0]; + var tabActive = Number(args[1]) || 0; + + var matches = []; + var match; + var tabId = 0; + var tabNav = ''; + var tabContent = ''; + + !tabName && hexo.log.warn('Tabs block must have unique name!'); + + while ((match = tabBlock.exec(content)) !== null) { + matches.push(match[1]); + matches.push(match[2]); + } + + for (var i = 0; i < matches.length; i += 2) { + var tabParameters = matches[i].split('@'); + var postContent = matches[i + 1]; + var tabCaption = tabParameters[0] || ''; + var tabIcon = tabParameters[1] || ''; + var tabHref = ''; + + postContent = hexo.render.renderSync({text: postContent, engine: 'markdown'}).trim(); + + tabId += 1; + tabHref = (tabName + ' ' + tabId).toLowerCase().split(' ').join('-'); + + ((tabCaption.length === 0) && (tabIcon.length === 0)) && (tabCaption = tabName + ' ' + tabId); + + var isOnlyicon = tabIcon.length > 0 && tabCaption.length === 0 ? ' style="text-align: center;"' : ''; + tabIcon.length > 0 && (tabIcon = ``); + + var isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : ''; + tabNav += `
  1. ${tabIcon + tabCaption.trim()}
  2. `; + tabContent += `
    ${postContent}
    `; + } + + tabNav = ``; + tabContent = `
    ${tabContent}
    `; + + return `
    ${tabNav + tabContent}
    `; +} + +hexo.extend.tag.register('tabs', postTabs, {ends: true}); +hexo.extend.tag.register('subtabs', postTabs, {ends: true}); +hexo.extend.tag.register('subsubtabs', postTabs, {ends: true}); diff --git a/themes/next/scripts/tags/video.js b/themes/next/scripts/tags/video.js new file mode 100644 index 0000000..1688b82 --- /dev/null +++ b/themes/next/scripts/tags/video.js @@ -0,0 +1,13 @@ +/** + * video.js | https://theme-next.org/docs/tag-plugins/video + */ + +/* global hexo */ + +'use strict'; + +function postVideo(args) { + return ``; +} + +hexo.extend.tag.register('video', postVideo, {ends: false}); diff --git a/themes/next/source/css/_common/components/back-to-top-sidebar.styl b/themes/next/source/css/_common/components/back-to-top-sidebar.styl new file mode 100644 index 0000000..55c88ea --- /dev/null +++ b/themes/next/source/css/_common/components/back-to-top-sidebar.styl @@ -0,0 +1,19 @@ +.back-to-top { + visibility: hidden; + margin: (20px - $sidebar-offset) -10px -20px; + background: $b2t-sidebar-bg-color; + font-size: $b2t-font-size; + opacity: $b2t-opacity; + cursor: pointer; + text-align: center; + &:hover { opacity: $b2t-opacity-hover; } + + +tablet-mobile() { + hide() if not hexo-config('sidebar.onmobile'); + } + + &.back-to-top-on { + visibility: visible; + the-transition(); + } +} diff --git a/themes/next/source/css/_common/components/back-to-top.styl b/themes/next/source/css/_common/components/back-to-top.styl new file mode 100644 index 0000000..439488d --- /dev/null +++ b/themes/next/source/css/_common/components/back-to-top.styl @@ -0,0 +1,25 @@ +.back-to-top { + box-sizing: border-box; + position: fixed; + bottom: $b2t-position-bottom; + right: $b2t-position-right; + z-index: $zindex-5; + padding: 0 6px; + width: hexo-config('back2top.scrollpercent') ? initial : 24px; + background: $b2t-bg-color; + font-size: $b2t-font-size; + opacity: $b2t-opacity; + color: $b2t-color; + cursor: pointer; + text-align: center; + transition-property: bottom; + the-transition(); + + &.back-to-top-on { + bottom: $b2t-position-bottom-on; + } + +tablet-mobile() { + opacity: $b2t-opacity-hover; + right: $b2t-position-right-mobile; + } +} diff --git a/themes/next/source/css/_common/components/buttons.styl b/themes/next/source/css/_common/components/buttons.styl new file mode 100644 index 0000000..53acc9f --- /dev/null +++ b/themes/next/source/css/_common/components/buttons.styl @@ -0,0 +1,38 @@ +.btn { + display: inline-block; + padding: 0 20px; + font-size: $btn-default-font-size; + color: $btn-default-color; + background: $btn-default-bg; + border: $btn-default-border-width solid $btn-default-border-color; + text-decoration: none; + border-radius: $btn-default-radius; + transition-property: background-color; + the-transition(); + line-height: 2; + + &:hover { + border-color: $btn-default-hover-border-color; + color: $btn-default-hover-color; + background: $btn-default-hover-bg; + } + + +.btn { + margin: 0 0 8px 8px; + } + + .fa-fw { + width: (18em / 14); + text-align: left; + } +} + +.btn-bar { + show(); + width: 22px; + height: 2px; + background: $text-color; + border-radius: 1px; + + &+.btn-bar { margin-top: 4px; } +} diff --git a/themes/next/source/css/_common/components/comments.styl b/themes/next/source/css/_common/components/comments.styl new file mode 100644 index 0000000..bf3edb9 --- /dev/null +++ b/themes/next/source/css/_common/components/comments.styl @@ -0,0 +1 @@ +.comments { margin: 60px 20px 0; } diff --git a/themes/next/source/css/_common/components/components.styl b/themes/next/source/css/_common/components/components.styl new file mode 100644 index 0000000..1a399ab --- /dev/null +++ b/themes/next/source/css/_common/components/components.styl @@ -0,0 +1,18 @@ +@import "highlight"; +@import "tags"; + +@import "buttons"; +@import "pagination"; +@import "comments"; +@import (hexo-config('back2top.sidebar') ? "back-to-top-sidebar" : "back-to-top") if (hexo-config('back2top.enable')); + +@import "header"; +@import "post"; +@import "sidebar"; +@import "footer"; +@import "third-party"; + +@import "pages"; + +@import "rainbow" if hexo-config('safari_rainbow'); +@import "scrollbar" if hexo-config('custom_scrollbar'); diff --git a/themes/next/source/css/_common/components/footer/footer.styl b/themes/next/source/css/_common/components/footer/footer.styl new file mode 100644 index 0000000..f3f3775 --- /dev/null +++ b/themes/next/source/css/_common/components/footer/footer.styl @@ -0,0 +1,30 @@ +.footer { + font-size: 14px; + color: $grey-dark; + + img { border: none; } +} + +.footer-inner { text-align: center; } + +@keyframes iconAnimate { + 0%, 100% { transform: scale(1); } + 10%, 30% { transform: scale(0.9); } + 20%, 40%, 60%, 80% { transform: scale(1.1); } + 50%, 70% { transform: scale(1.1); } +} + +if hexo-config('footer.icon.animated') { + #animate { + animation: iconAnimate 1.33s ease-in-out infinite; + } +} + +.with-love { + display: inline-block; + margin: 0 5px; + color: unquote(hexo-config('footer.icon.color')); +} + +.powered-by, +.theme-info { display: inline-block; } diff --git a/themes/next/source/css/_common/components/header/github-banner.styl b/themes/next/source/css/_common/components/header/github-banner.styl new file mode 100644 index 0000000..8219c17 --- /dev/null +++ b/themes/next/source/css/_common/components/header/github-banner.styl @@ -0,0 +1,55 @@ +@keyframes octocat-wave { + 0%, 100% { + transform: rotate(0); + } + 20%, 60% { + transform: rotate(-25deg); + } + 40%, 80% { + transform: rotate(10deg); + } +} + +.github-corner { + scheme = hexo-config('scheme'); + bg_color = unquote(hexo-config('android_chrome_color')); + mobile_layout_economy = hexo-config('mobile_layout_economy'); + + :hover .octo-arm { + animation: octocat-wave 560ms ease-in-out; + } + > svg { + fill: bg_color; + color: #fff; + position: absolute; + top: 0; + border: 0; + right: 0; + } + +tablet-mobile() { + > svg { + if (scheme == 'Pisces') || (scheme == 'Gemini') { + fill: #fff; + color: bg_color; + } + } + .github-corner:hover .octo-arm { + animation: none; + } + .github-corner .octo-arm { + animation: octocat-wave 560ms ease-in-out; + } + } + +mobile() { + > svg { + if (scheme == 'Mist') { + top: inherit; + if mobile_layout_economy { + +mobile-small() { + margin-top: initial; + } + } + } + } + } +} diff --git a/themes/next/source/css/_common/components/header/header.styl b/themes/next/source/css/_common/components/header/header.styl new file mode 100644 index 0000000..997933b --- /dev/null +++ b/themes/next/source/css/_common/components/header/header.styl @@ -0,0 +1,9 @@ +.header { background: $head-bg; } + +.header-inner { position: relative; } + +@import "headerband"; +@import "site-meta"; +@import "site-nav"; +@import "menu"; +@import "github-banner" if hexo-config('github_banner.enable'); diff --git a/themes/next/source/css/_common/components/header/headerband.styl b/themes/next/source/css/_common/components/header/headerband.styl new file mode 100644 index 0000000..382dbd9 --- /dev/null +++ b/themes/next/source/css/_common/components/header/headerband.styl @@ -0,0 +1,4 @@ +.headband { + height: $headband-height; + background: $headband-bg; +} diff --git a/themes/next/source/css/_common/components/header/menu.styl b/themes/next/source/css/_common/components/header/menu.styl new file mode 100644 index 0000000..1efcbe4 --- /dev/null +++ b/themes/next/source/css/_common/components/header/menu.styl @@ -0,0 +1,32 @@ +// Menu +// -------------------------------------------------- +.menu { + margin-top: 20px; + padding-left: 0; + text-align: center; +} + +.menu .menu-item { + display: inline-block; + margin: 0 10px; + list-style: none; + + +mobile() { + margin-top: 10px; + } + + a, span.exturl { + show(); + font-size: 13px; + line-height: inherit; + border-bottom: 1px solid $menu-link-border; + transition-property: border-color; + the-transition(); + + &:hover { border-bottom-color: $menu-link-hover-border; } + } + + .fa { margin-right: 5px; } +} + +.use-motion .menu-item { opacity: 0; } diff --git a/themes/next/source/css/_common/components/header/site-meta.styl b/themes/next/source/css/_common/components/header/site-meta.styl new file mode 100644 index 0000000..af2f3ae --- /dev/null +++ b/themes/next/source/css/_common/components/header/site-meta.styl @@ -0,0 +1,48 @@ +.site-meta { + margin: 0; + text-align: $site-meta-text-align; + + +mobile() { text-align: center; } +} + +.brand { + position: relative; + display: inline-block; + padding: 0 40px; + color: $brand-color; + background: $brand-bg; + border-bottom: none; + &:hover { color: $brand-hover-color; } +} + +.logo { + display: inline-block; + margin-right: 5px; + line-height: 36px; + vertical-align: top; +} + +.site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: $logo-font-size; + font-weight: normal; + font-family: $font-family-logo; +} + +.site-subtitle { + margin-top: 10px; + font-size: $subtitle-font-size; + color: $subtitle-color; +} + +.use-motion { + .brand { opacity: 0; } + + .logo, .site-title, .site-subtitle, .custom-logo-image { + opacity: 0; + position: relative; + top: -10px; + } +} diff --git a/themes/next/source/css/_common/components/header/site-nav.styl b/themes/next/source/css/_common/components/header/site-nav.styl new file mode 100644 index 0000000..bcd2bff --- /dev/null +++ b/themes/next/source/css/_common/components/header/site-nav.styl @@ -0,0 +1,28 @@ +.site-nav-toggle { + hide(); + position: absolute; + top: 10px; + left: 10px; + +mobile() { + show(); + } + + button { + margin-top: 2px; + padding: 9px 10px; + background: transparent; + border: none; + } +} + +.site-nav { + +mobile() { + hide(); + margin: 0 -10px; + padding: 0 10px; + clear: both; + border-top: 1px solid $gray-lighter; + } + +tablet() { display: block !important; } + +desktop() { display: block !important; } +} diff --git a/themes/next/source/css/_common/components/highlight/diff.styl b/themes/next/source/css/_common/components/highlight/diff.styl new file mode 100644 index 0000000..7a18f60 --- /dev/null +++ b/themes/next/source/css/_common/components/highlight/diff.styl @@ -0,0 +1,8 @@ +$highlight_theme = hexo-config("highlight_theme") + +if $highlight_theme == "normal" + $highlight-deletion = #fdd + $highlight-addition = #dfd +else + $highlight-deletion = #800000 + $highlight-addition = #008000 diff --git a/themes/next/source/css/_common/components/highlight/highlight.styl b/themes/next/source/css/_common/components/highlight/highlight.styl new file mode 100644 index 0000000..ead2202 --- /dev/null +++ b/themes/next/source/css/_common/components/highlight/highlight.styl @@ -0,0 +1,182 @@ +// https://github.com/chriskempson/tomorrow-theme + +@require "theme" +@require "diff" + +// Placeholder: $code-block +$code-block { + overflow: auto; + margin: 20px 0; + padding: 0; + font-size $code-font-size; + color: $highlight-foreground; + background: $highlight-background; + line-height: $line-height-code-block; +} + +pre, code { font-family: $code-font-family; } + +code { + word-wrap(); + padding: 2px 4px; + color: $code-foreground; + background: $code-background; + border-radius: $code-border-radius; + font-size: $code-font-size; +} + +pre { + @extend $code-block; + padding: 10px; + code { + padding: 0; + color: $highlight-foreground; + background: none; + text-shadow: none; + } +} + +.highlight { + @extend $code-block; + // Read values from NexT config and set they as local variables to use as string variables (in any CSS section). + hexo-config('codeblock.border_radius') is a 'unit' ? (cbradius = unit(hexo-config('codeblock.border_radius'), px)) : (cbradius = 1px) + border-radius: cbradius; + + pre { + border: none; + margin: 0; + padding: 10px 0; + } + + table { + margin: 0; + width: auto; + border: none; + } + + td { + border: none; + padding: 0; + } + + figcaption { + clearfix(); + font-size: 1em; + color: $highlight-foreground; + line-height: 1em; + margin-bottom: 1em; + margin: 0em; + padding: 0.5em; + background: $code-background; + border-bottom: 1px solid #e9e9e9; + + a { + float: right; + color: $highlight-foreground; + + &:hover { border-bottom-color: $highlight-foreground; } + } + } + + .gutter pre { + padding-left: 10px + padding-right: 10px + color: $highlight-gutter.color + text-align: right + background-color: $highlight-gutter.bg-color + } + + .code pre { + width: 100% + padding-left: 10px + padding-right: 10px + background-color: $highlight-background + } + + .line { height: 20px; } +} + +.gutter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.gist table { + width: auto; + + td { border: none; } +} + +// For diff highlight +pre .deletion { background: $highlight-deletion; } +pre .addition { background: $highlight-addition; } +pre .meta { color: $highlight-purple; } + +pre { + + .comment { color: $highlight-comment; } + + .variable + .attribute + .tag + .name + .regexp + .ruby .constant + .xml .tag .title + .xml .pi + .xml .doctype + .html .doctype + .css .id + .css .class + .css .pseudo { + color: $highlight-red; + } + + .number + .preprocessor + .built_in + .builtin-name + .literal + .params + .constant + .command { + color: $highlight-orange; + } + + .ruby .class .title + .css .rules .attribute + .string + .symbol + .value + .inheritance + .header + .ruby .symbol + .xml .cdata + .special + .formula { + color: $highlight-green; + } + + .title + .css .hexcolor { + color: $highlight-aqua; + } + + .function + .python .decorator + .python .title + .ruby .function .title + .ruby .title .keyword + .perl .sub + .javascript .title + .coffeescript .title { + color: $highlight-blue; + } + + .keyword + .javascript .function { + color: $highlight-purple; + } +} diff --git a/themes/next/source/css/_common/components/highlight/theme.styl b/themes/next/source/css/_common/components/highlight/theme.styl new file mode 100644 index 0000000..ff1f4be --- /dev/null +++ b/themes/next/source/css/_common/components/highlight/theme.styl @@ -0,0 +1,92 @@ +$highlight_theme = hexo-config("highlight_theme") + + +if $highlight_theme == "normal" + $highlight-background = #f7f7f7 + $highlight-current-line = #efefef + $highlight-selection = #d6d6d6 + $highlight-foreground = #4d4d4c + $highlight-comment = #8e908c + $highlight-red = #c82829 + $highlight-orange = #f5871f + $highlight-yellow = #eab700 + $highlight-green = #718c00 + $highlight-aqua = #3e999f + $highlight-blue = #4271ae + $highlight-purple = #8959a8 + $highlight-gutter = { + color: #869194, + bg-color: #eff2f3 + } + +if $highlight_theme == "night" + $highlight-background = #1d1f21 + $highlight-current-line = #282a2e + $highlight-selection = #373b41 + $highlight-foreground = #c5c8c6 + $highlight-comment = #969896 + $highlight-red = #cc6666 + $highlight-orange = #de935f + $highlight-yellow = #f0c674 + $highlight-green = #b5bd68 + $highlight-aqua = #8abeb7 + $highlight-blue = #81a2be + $highlight-purple = #b294bb + $highlight-gutter = { + color: lighten($highlight-background, 50%), + bg-color: darken($highlight-background, 100%) + } + +if $highlight_theme == "night eighties" + $highlight-background = #2d2d2d + $highlight-current-line = #393939 + $highlight-selection = #515151 + $highlight-foreground = #cccccc + $highlight-comment = #999999 + $highlight-red = #f2777a + $highlight-orange = #f99157 + $highlight-yellow = #ffcc66 + $highlight-green = #99cc99 + $highlight-aqua = #66cccc + $highlight-blue = #6699cc + $highlight-purple = #cc99cc + $highlight-gutter = { + color: $highlight-comment, + bg-color: darken($highlight-background, 40%) + } + +if $highlight_theme == "night blue" + $highlight-background = #002451 + $highlight-current-line = #00346e + $highlight-selection = #003f8e + $highlight-foreground = #ffffff + $highlight-comment = #7285b7 + $highlight-red = #ff9da4 + $highlight-orange = #ffc58f + $highlight-yellow = #ffeead + $highlight-green = #d1f1a9 + $highlight-aqua = #99ffff + $highlight-blue = #bbdaff + $highlight-purple = #ebbbff + $highlight-gutter = { + color: $highlight-comment, + bg-color: darken($highlight-background, 60%) + } + +if $highlight_theme == "night bright" + $highlight-background = #000000 + $highlight-current-line = #2a2a2a + $highlight-selection = #424242 + $highlight-foreground = #eaeaea + $highlight-comment = #969896 + $highlight-red = #d54e53 + $highlight-orange = #e78c45 + $highlight-yellow = #e7c547 + $highlight-green = #b9ca4a + $highlight-aqua = #70c0b1 + $highlight-blue = #7aa6da + $highlight-purple = #c397d8 + $highlight-gutter = { + color: lighten($highlight-background, 40%), + bg-color: lighten($highlight-background, 16%) + } diff --git a/themes/next/source/css/_common/components/pages/archive.styl b/themes/next/source/css/_common/components/pages/archive.styl new file mode 100644 index 0000000..ee5e4b5 --- /dev/null +++ b/themes/next/source/css/_common/components/pages/archive.styl @@ -0,0 +1,34 @@ +.page-archive { + + .archive-page-counter { + position: relative; + top: 3px; + left: 20px; + + +mobile() { + top: 5px; + } + } + + .posts-collapse { + + .archive-move-on { + position: absolute; + top: 11px; + left: 0; + margin-left: -6px; + width: 10px; + height: 10px; + opacity: 0.5; + background: $black-light; + border: 1px solid white; + + circle(); + } + } + + .fa-external-link { + font-size: 15px; + margin-left: 5px; + } +} diff --git a/themes/next/source/css/_common/components/pages/breadcrumb.styl b/themes/next/source/css/_common/components/pages/breadcrumb.styl new file mode 100644 index 0000000..4750de7 --- /dev/null +++ b/themes/next/source/css/_common/components/pages/breadcrumb.styl @@ -0,0 +1,21 @@ +ul.breadcrumb { + list-style: none; + margin: 1em 0; + padding: 0 2em; + text-align: center; + font-size: $font-size-small + + & li { + display: inline; + } + + & li+li:before { + padding: 0.5em; + font-weight: normal; + content: "/\00a0"; + } + + & li+li:last-child { + font-weight: bold; + } +} diff --git a/themes/next/source/css/_common/components/pages/categories.styl b/themes/next/source/css/_common/components/pages/categories.styl new file mode 100644 index 0000000..db3bb10 --- /dev/null +++ b/themes/next/source/css/_common/components/pages/categories.styl @@ -0,0 +1,27 @@ +.category-all-page { + .category-all-title { text-align: center; } + + .category-all { margin-top: 20px; } + + .category-list { + margin: 0; + padding: 0; + list-style: none; + } + + .category-list-item { margin: 5px 10px; } + + .category-list-count { + color: $grey; + &:before { + display: inline; + content: " (" + } + &:after { + display: inline; + content: ") " + } + } + + .category-list-child { padding-left: 10px; } +} diff --git a/themes/next/source/css/_common/components/pages/pages.styl b/themes/next/source/css/_common/components/pages/pages.styl new file mode 100644 index 0000000..4fba254 --- /dev/null +++ b/themes/next/source/css/_common/components/pages/pages.styl @@ -0,0 +1,8 @@ +// Page specific styles + +@import "archive"; +@import "categories"; +@import "schedule"; +@import "post-detail"; +@import "breadcrumb"; +@import "tag-cloud"; diff --git a/themes/next/source/css/_common/components/pages/post-detail.styl b/themes/next/source/css/_common/components/pages/post-detail.styl new file mode 100644 index 0000000..3f26afd --- /dev/null +++ b/themes/next/source/css/_common/components/pages/post-detail.styl @@ -0,0 +1,6 @@ +.page-post-detail { + + .sidebar-toggle-line { background: $sidebar-highlight; } + + .comments { overflow: hidden; } +} diff --git a/themes/next/source/css/_common/components/pages/schedule.styl b/themes/next/source/css/_common/components/pages/schedule.styl new file mode 100644 index 0000000..863d98c --- /dev/null +++ b/themes/next/source/css/_common/components/pages/schedule.styl @@ -0,0 +1,114 @@ +@keyframes dot-flash { + from { opacity: 1; transform: scale(1.1); } + to { opacity: 0; transform: scale(1); } +} + +#event-list { + padding-left: 30px; + hr { + margin: 20px 0 45px 0 !important; + background: #222; + &:after { + display: inline-block; + content: 'NOW'; + background: #222; + color: #FFF; + font-weight: bold; + text-align: right; + padding: 0 5px; + } + } + li.event { + margin: 20px 0px; + background: #F9F9F9; + padding-left: 10px; + min-height: 40px; + h2.event-summary { + margin: 0; + padding-bottom: 3px; + &:before { + display: inline-block; + font-family: FontAwesome; + font-size: 8px; + content: '\f111'; + vertical-align: middle; + margin-right: 25px; + color: #bbb; + } + } + span.event-relative-time { + display: inline-block; + font-size: 12px; + font-weight: 400; + padding-left: 12px; + color: #bbb; + } + span.event-details { + show(); + color: #bbb; + margin-left: 56px; + padding-top: 3px; + padding-bottom: 6px; + text-indent: -24px; + line-height: 18px; + &:before { + text-indent: 0; + display: inline-block; + width: 14px; + font-family: FontAwesome; + text-align: center; + margin-right: 9px; + color: #bbb; + } + &.event-location:before { + content: '\f041'; + } + &.event-duration:before { + content: '\f017'; + } + } + } + li.event-past { + background: #FCFCFC; + padding: 15px 0 15px 10px; + & > * { + opacity: .9; + } + h2.event-summary { + color: #bbb; + &:before { + color: #DFDFDF; + } + } + } + li.event-now { + background: #222; + color: #FFF; + padding: 15px 0 15px 10px; + h2.event-summary { + &:before { + transform: scale(1.2); + color: #FFF; + animation: dot-flash 1s alternate infinite ease-in-out; + } + } + * { + color: #FFF !important; + } + } + li.event-future { + background: #222; + color: #FFF; + padding: 15px 0 15px 10px; + h2.event-summary { + &:before { + transform: scale(1.2); + color: #FFF; + animation: dot-flash 1s alternate infinite ease-in-out; + } + } + * { + color: #FFF !important; + } + } +} diff --git a/themes/next/source/css/_common/components/pages/tag-cloud.styl b/themes/next/source/css/_common/components/pages/tag-cloud.styl new file mode 100644 index 0000000..fc65eda --- /dev/null +++ b/themes/next/source/css/_common/components/pages/tag-cloud.styl @@ -0,0 +1,12 @@ +.tag-cloud { + text-align: center; + + a { + display: inline-block; + margin: 10px; + } + + a:hover { + color: $link-hover-color !important; + } +} diff --git a/themes/next/source/css/_common/components/pagination.styl b/themes/next/source/css/_common/components/pagination.styl new file mode 100644 index 0000000..22972b3 --- /dev/null +++ b/themes/next/source/css/_common/components/pagination.styl @@ -0,0 +1,57 @@ +.pagination { + margin: 120px 0 40px; + text-align: center; + border-top: 1px solid $pagination-border; +} + +.page-number-basic { + display: inline-block; + position: relative; + top: -1px; + margin: 0 10px; + padding: 0 11px; + + +mobile() { margin: 0 5px; } +} + +.pagination { + .prev, .next, .page-number { + @extend .page-number-basic; + border-bottom: 0; + border-top: 1px solid $pagination-link-border; + transition-property: border-color; + the-transition(); + + &:hover { border-top-color: $pagination-link-hover-border; } + } + + .space { + @extend .page-number-basic; + padding: 0; + margin: 0; + } + + .prev { margin-left: 0; } + .next { margin-right: 0; } + + .page-number.current { + color: $pagination-active-color; + background: $pagination-active-bg; + border-top-color: $pagination-active-border; + } +} + ++mobile() { + .pagination { border-top: none; } + + .pagination { + .prev, .next, .page-number { + margin-bottom: 10px; + border-top: 0; + border-bottom: 1px solid $pagination-link-border; + padding: 0 10px; + + &:hover { border-bottom-color: $pagination-link-hover-border; } + } + } +} diff --git a/themes/next/source/css/_common/components/post/post-button.styl b/themes/next/source/css/_common/components/post/post-button.styl new file mode 100644 index 0000000..fd0809f --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-button.styl @@ -0,0 +1,3 @@ +.post-button { + margin-top: 40px; +} diff --git a/themes/next/source/css/_common/components/post/post-collapse.styl b/themes/next/source/css/_common/components/post/post-collapse.styl new file mode 100644 index 0000000..eaca91b --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-collapse.styl @@ -0,0 +1,111 @@ +// TODO: Refactor. + ++mobile() { + .posts-collapse { + margin: 0 20px; + + .post-title, .post-meta { + show(); + width: auto; + text-align: left; + } + } +} + +.posts-collapse { + position: relative; + z-index: $zindex-1; + + &::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: $whitesmoke; + z-index: $zindex-bottom; + } + + margin-left: $posts-collapse-left; + +mobile() { margin: 0 20px; } + + .collection-title { + position: relative; + margin: 60px 0; + + h1, h2 { margin-left: 20px; } + + small { color: $grey; margin-left: 5px; } + + &::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + margin-top: -4px; + width: 8px; + height: 8px; + background: $grey; + circle(); + } + } + + .post { margin: 30px 0; } + + .post-header { + position: relative; + the-transition(); + transition-property: border; + border-bottom: 1px dashed $grey-light; + + &::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + background: $grey; + circle(); + border: 1px solid white; + the-transition(); + transition-property: background; + } + } + + .post-header:hover { + border-bottom-color: $grey-dim; + + &::before { background: $black-deep; } + } + + .post-meta { + position: absolute; + font-size: 12px; + left: 20px; + top: 5px; + } + + .post-comments-count { display: none; } + + .post-title { + margin-left: 60px; + font-size: 16px; + font-weight: normal; + line-height: inherit; + + &::after { + margin-left: 3px; + opacity: 0.6; + } + + a, span.exturl { + color: $grey-dim; + border-bottom: none; + } + } +} diff --git a/themes/next/source/css/_common/components/post/post-copyright.styl b/themes/next/source/css/_common/components/post/post-copyright.styl new file mode 100644 index 0000000..717cc08 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-copyright.styl @@ -0,0 +1,11 @@ +.post-copyright { + margin: $post-copyright.margin; + padding: $post-copyright.padding; + border-left: $post-copyright.border.width $post-copyright.border.style $post-copyright.border.color; + background-color: $post-copyright.bg; + list-style: none; + + i.fa { + font-size: 15px; + } +} diff --git a/themes/next/source/css/_common/components/post/post-eof.styl b/themes/next/source/css/_common/components/post/post-eof.styl new file mode 100644 index 0000000..d1e984f --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-eof.styl @@ -0,0 +1,15 @@ +.posts-expand { + .post-eof { + margin: $post-eof-margin-top auto $post-eof-margin-bottom; + width: 8%; + height: 1px; + background: $grey-light; + text-align: center; + } +} + +.post:last-child { + .post-eof { + hide(); + } +} diff --git a/themes/next/source/css/_common/components/post/post-expand.styl b/themes/next/source/css/_common/components/post/post-expand.styl new file mode 100644 index 0000000..466571c --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-expand.styl @@ -0,0 +1,64 @@ +// TODO: Refactor. + +.posts-expand { + padding-top: 40px; +} + ++mobile() { + .posts-expand { + margin: 0 20px; + } + + .post-body { + pre { + .gutter pre { + padding-right: 10px; + } + } + + .highlight { + margin-left: 0px; + margin-right: 0px; + padding: 0; + .gutter pre { + padding-right: 10px; + } + } + } +} + +.posts-expand .post-body { + +desktop() { + text-align: unquote(hexo-config('text_align.desktop')); + } + +tablet-mobile() { + text-align: unquote(hexo-config('text_align.mobile')); + } + + h2, h3, h4, h5, h6 { + padding-top: 10px; + + .header-anchor { + float: right; + margin-left: 10px; + color: $grey-light; + border-bottom-style: none; + visibility: hidden; + + &:hover { + color: inherit; + } + } + + &:hover .header-anchor { + visibility: visible; + } + } + + img { + box-sizing: border-box; + margin: 0 auto 25px; + padding: 3px; + border: 1px solid $gray-lighter; + } +} diff --git a/themes/next/source/css/_common/components/post/post-gallery.styl b/themes/next/source/css/_common/components/post/post-gallery.styl new file mode 100644 index 0000000..9e4e8cc --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-gallery.styl @@ -0,0 +1,27 @@ +.post-gallery { + display: table; + table-layout: fixed; + width: 100%; + border-collapse: separate; +} + +.post-gallery-row { + display: table-row; +} + +.post-gallery .post-gallery-img { + display: table-cell; + text-align: center; + vertical-align: middle; + border: none; + + img { + max-width: 100%; + max-height: 100%; + border: none; + } +} + +.fancybox-close, .fancybox-close:hover { + border: none; +} diff --git a/themes/next/source/css/_common/components/post/post-meta.styl b/themes/next/source/css/_common/components/post/post-meta.styl new file mode 100644 index 0000000..e05e411 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-meta.styl @@ -0,0 +1,51 @@ +.posts-expand .post-meta { + margin: 3px 0 60px 0; + color: $grey-dark; + font-family: $font-family-posts; + font-size: 12px; + text-align: center; + + .post-category-list { + display: inline-block; + margin: 0; + padding: 3px; + } + .post-category-list-link { color: $grey-dark; } + + .post-description { + font-size: 14px; + margin-top: 2px; + } + + time { + border-bottom: 1px dashed $grey-dark; + cursor: help; + } +} + +.post-symbolscount { + if !hexo-config('symbols_count_time.separated_meta') { display: inline-block; } +} + +.post-meta-divider { + margin: 0 .5em; +} + +.post-meta-item-icon { + margin-right: 3px; + +tablet() { + display: inline-block; + } + +mobile() { + display: inline-block; + } +} + +.post-meta-item-text { + +tablet() { + hide(); + } + +mobile() { + hide(); + } +} diff --git a/themes/next/source/css/_common/components/post/post-nav.styl b/themes/next/source/css/_common/components/post/post-nav.styl new file mode 100644 index 0000000..a69dd61 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-nav.styl @@ -0,0 +1,51 @@ +.post-nav { + display: table; + margin-top: 15px; + width: 100%; + border-top: 1px solid $gainsboro; +} + +.post-nav-divider { + display: table-cell; + width: 10%; +} + +.post-nav-item { + display: table-cell; + padding: 10px 0 0 0; + width: 45%; + vertical-align: top; + + a { + position: relative; + show(); + line-height: 25px; + font-size: 14px; + color: $link-color; + border-bottom: none; + + &:hover { + color: $link-hover-color; + border-bottom: none; + } + + &:active { top: 2px; } + } + + .fa { + font-size: 12px; + margin-right: 5px; + } +} + +.post-nav-next { + a { padding-left: 5px; } +} + +.post-nav-prev { + text-align: right; + + a { padding-right: 5px; } + + .fa { margin-left: 5px; } +} diff --git a/themes/next/source/css/_common/components/post/post-reading_progress.styl b/themes/next/source/css/_common/components/post/post-reading_progress.styl new file mode 100644 index 0000000..52d6e39 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-reading_progress.styl @@ -0,0 +1,10 @@ +.reading-progress-bar { + position: fixed; + top: 0; + left: 0; + z-index: 9999; + show(); + width: 0; + height: unquote(hexo-config('reading_progress.height')); + background: unquote(hexo-config('reading_progress.color')); +} diff --git a/themes/next/source/css/_common/components/post/post-reward.styl b/themes/next/source/css/_common/components/post/post-reward.styl new file mode 100644 index 0000000..bcdf817 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-reward.styl @@ -0,0 +1,64 @@ +#reward-container { + padding: 10px 0; + margin: 20px auto; + width: 90%; + text-align: center; +} + +#reward-button { + cursor: pointer; + border: 0; + outline: 0; + display: inline-block; + vertical-align: text-top; + margin: 0; + padding: 0 15px; + border-radius: 5px; + height: $font-size-large * 2; + line-height: $font-size-large * 2; + font-size: $font-size-large; + color: #fff; + background: #F44336; + letter-spacing: normal; + text-transform: none; + text-indent: 0px; + text-shadow: none; +} + +#reward-button span:hover { + background: #F7877F; +} + +#qr { + padding-top: 20px; + + a { + border: 0; + } + + img { + width: 180px; + max-width: 100%; + display: inline-block; + margin: 0.8em 2em 0 2em; + } + + p { + text-align: center; + } + + if hexo-config('reward_settings.animation') { + & > div:hover p { + animation: roll 0.1s infinite linear; + } + + @keyframes roll { + from { + transform: rotateZ(30deg); + } + to { + transform: rotateZ(-30deg); + } + } + } +} diff --git a/themes/next/source/css/_common/components/post/post-rtl.styl b/themes/next/source/css/_common/components/post/post-rtl.styl new file mode 100644 index 0000000..ea048b9 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-rtl.styl @@ -0,0 +1,11 @@ +.rtl { + &.post-body { + p, a, h1, h2, h3, h4, h5, h6, li, ul, ol { + direction: rtl; + font-family: UKIJ Ekran; + } + } + &.post-title { + font-family: UKIJ Ekran; + } +} diff --git a/themes/next/source/css/_common/components/post/post-tags.styl b/themes/next/source/css/_common/components/post/post-tags.styl new file mode 100644 index 0000000..8c04ec7 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-tags.styl @@ -0,0 +1,10 @@ +.posts-expand .post-tags { + margin-top: 40px; + text-align: center; + + a { + display: inline-block; + margin-right: 10px; + font-size: 13px; + } +} diff --git a/themes/next/source/css/_common/components/post/post-title.styl b/themes/next/source/css/_common/components/post/post-title.styl new file mode 100644 index 0000000..58409ac --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-title.styl @@ -0,0 +1,54 @@ +.posts-expand .post-title { + word-wrap(); + text-align: center; + font-weight: $posts-expand-title-font-weight; + + if hexo-config('post_edit.enable') { + .post-edit-link { + color: #bbb; + display: inline-block; + float: right; + border-bottom: none; + the-transition-ease-in(); + margin-left: -1.2em; + +mobile-small() { + margin-left: initial; + } + &:hover { + color: black; + } + } + } +} + +.posts-expand .post-title-link { + display: inline-block; + position: relative; + color: $black-light; + border-bottom: none; + line-height: 1.2; + vertical-align: top; + + &::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + bottom: 0; + left: 0; + background-color: #000; + visibility: hidden; + transform: scaleX(0); + the-transition(); + } + + &:hover::before { + visibility: visible; + transform: scaleX(1); + } + + .fa { + font-size: 20px; + margin-left: 5px; + } +} diff --git a/themes/next/source/css/_common/components/post/post-type.styl b/themes/next/source/css/_common/components/post/post-type.styl new file mode 100644 index 0000000..2542d4f --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-type.styl @@ -0,0 +1,14 @@ +// TODO: Refactor. + +.page-home, .page-post-detail { + .post-type-quote { + .post-header, + .post-tags { + hide(); + } + + blockquote { + @extend .blockquote-center + } + } +} diff --git a/themes/next/source/css/_common/components/post/post-widgets.styl b/themes/next/source/css/_common/components/post/post-widgets.styl new file mode 100644 index 0000000..f9eda65 --- /dev/null +++ b/themes/next/source/css/_common/components/post/post-widgets.styl @@ -0,0 +1,50 @@ +.post-widgets { + border-top: 1px solid #eee; + padding-top: 9px; + margin-top: 45px; + display: flex; + justify-content: center; + flex-wrap: wrap; + align-items: center; + + .post-meta-divider { + height: 25px; + color: $grey-dark; + } +} + +.wp_rating { + height: 20px; + margin-right: 10px; + text-align: center; + line-height: 20px; + padding-top: 6px; +} + +.social-like { + font-size: 14px; + text-align: center; + display: flex; + justify-content: center; +} + +.vk_like { + width: 85px; + height: 21px; + padding-top: 7px; + align-self: center; +} + +.fb_like { + height: 30px; + align-self: center; +} + +.bdsharebuttonbox { + margin-top: 10px; + display: flex; + justify-content: center; + a { border: none; } +} + +.bdshare-slide-button-box a { border: none; } diff --git a/themes/next/source/css/_common/components/post/post.styl b/themes/next/source/css/_common/components/post/post.styl new file mode 100644 index 0000000..27e270e --- /dev/null +++ b/themes/next/source/css/_common/components/post/post.styl @@ -0,0 +1,61 @@ +.post-body { + word-wrap(); + font-family: $font-family-posts; +} + +.post-body span.exturl { + .fa { + font-size: 14px; + margin-left: 4px; + } +} + +.post-body .fancybox img { + display: block !important; + margin: 0 auto; + cursor: pointer; + cursor: zoom-in; +} + +.post-body .image-caption, +.post-body .figure .caption { + margin: -20px auto 15px; + text-align: center; + font-size: $font-size-base; + color: $grey-dark; + font-weight: bold; + line-height: 1; +} + +.post-sticky-flag { + display: inline-block; + font-size: 16px; + transform: rotate(30deg); +} + +.use-motion { + if hexo-config('motion.transition.post_block') { + .post-block, + .pagination, + .comments { opacity: 0; } + } + if hexo-config('motion.transition.post_header') { .post-header { opacity: 0; } } + if hexo-config('motion.transition.post_body') { .post-body { opacity: 0; } } + if hexo-config('motion.transition.coll_header') { .collection-title { opacity: 0; } } +} + +@import "post-expand"; +@import "post-collapse"; +@import "post-type"; +@import "post-title"; +@import "post-meta"; +@import "post-button"; +@import "post-tags"; +@import "post-nav"; +@import "post-eof"; +@import "post-gallery"; +@import "post-reward" if hexo-config('reward_settings.enable'); +@import "post-copyright" if hexo-config('creative_commons.post'); +@import "post-widgets" if (hexo-config('facebook_sdk.enable') and hexo-config('facebook_sdk.like_button')) or (hexo-config('vkontakte_api.enable') and hexo-config('vkontakte_api.like')) or hexo-config('rating.enable') or hexo-config('likely.enable') or (hexo-config('needmoreshare2.enable') and hexo-config('needmoreshare2.postbottom.enable')) or hexo-config('baidushare'); +@import "post-rtl"; +@import "post-reading_progress" if hexo-config('reading_progress.enable'); diff --git a/themes/next/source/css/_common/components/rainbow.styl b/themes/next/source/css/_common/components/rainbow.styl new file mode 100644 index 0000000..db37e79 --- /dev/null +++ b/themes/next/source/css/_common/components/rainbow.styl @@ -0,0 +1,43 @@ +body { + overscroll-behavior: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + body:before { + right: 0; + top: 0; + left: 0; + height: 100px; + z-index: 2147483647; + position: fixed; + content: ""; + show(); + transform: translateY(-99.99px); + background: linear-gradient(124deg, + #FF0000, + #FF7F00, + #FFFF00, + #7FFF00, + #00FF00, + #00FF7F, + #00FFFF, + #007FFF, + #0000FF, + #7F00FF, + #FF00FF, + #FF007F, + #FF0000); + animation: rainbow 15s ease infinite; + background-size: 1000% 1000%; + } +} +@keyframes rainbow { + 0% { + background-position: 0% 80%; + } + 50% { + background-position: 100% 20%; + } + 100% { + background-position: 0% 80%; + } +} diff --git a/themes/next/source/css/_common/components/scrollbar.styl b/themes/next/source/css/_common/components/scrollbar.styl new file mode 100644 index 0000000..f172d7b --- /dev/null +++ b/themes/next/source/css/_common/components/scrollbar.styl @@ -0,0 +1,31 @@ +// scrollbar +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +// track +::-webkit-scrollbar-track { + +} + +// Handle style +::-webkit-scrollbar-thumb { + border-radius: 10px; + background: rgba(0, 0, 0, 0.2); +} + +// inactive style +::-webkit-scrollbar-thumb:window-inactive { + background: rgba(0, 0, 0, 0.1); +} + +// hover style +::-webkit-scrollbar-thumb:hover{ + background-color: rgba(0, 0, 0, 0.3); +} + +// active style +::-webkit-scrollbar-thumb:active{ + background-color: rgba(0, 0, 0, 0.4); +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl b/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl new file mode 100644 index 0000000..964afaa --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl @@ -0,0 +1,24 @@ +.links-of-author { + margin-top: 20px; + + a, span.exturl { + display: inline-block; + vertical-align: middle; + margin-right: 10px; + margin-bottom: 10px; + border-bottom-color: $black-light; + font-size: 13px; + if hexo-config('social_icons.transition') { the-transition(); } + + &:before { + display: inline-block; + vertical-align: middle; + margin-right: 3px; + content: " "; + width: 4px; + height: 4px; + circle(); + background: rgb(random-color(0, 255) - 50%, random-color(0, 255) - 50%, random-color(0, 255) - 50%); + } + } +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-author.styl b/themes/next/source/css/_common/components/sidebar/sidebar-author.styl new file mode 100644 index 0000000..641330d --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-author.styl @@ -0,0 +1,39 @@ +.site-author-image { + show(); + margin: 0 auto; + padding: $site-author-image-padding; + max-width: $site-author-image-width; + height: $site-author-image-height; + border: $site-author-image-border-width solid $site-author-image-border-color; + opacity: hexo-config('avatar.opacity') is a 'unit' ? hexo-config('avatar.opacity') : 1; +} + +if hexo-config('avatar.rounded') { + .site-author-image { + border-radius: 100%; + } +} + +if hexo-config('avatar.rotated') { + .site-author-image { + transition: transform 1.0s ease-out; + } + + .site-author-image:hover { + transform: rotateZ(360deg); + } +} + +.site-author-name { + margin: $site-author-name-margin; + text-align: $site-author-name-align; + color: $site-author-name-color; + font-weight: $site-author-name-weight; +} + +.site-description { + margin-top: $site-description-margin-top; + text-align: $site-description-align; + font-size: $site-description-font-size; + color: $site-description-color; +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl new file mode 100644 index 0000000..506f36c --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl @@ -0,0 +1,28 @@ +.links-of-blogroll { + margin-top: 10px; + font-size: 13px; +} + +.links-of-blogroll-title { + margin-top: 0; + font-size: 14px; + font-weight: $font-weight-bold; +} +.links-of-blogroll-list { + margin: 0; + padding: 0; + list-style: none; +} + +.links-of-blogroll-item { + padding: 2px 10px; + + a, span.exturl { + max-width: 280px; + box-sizing: border-box; + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-button.styl b/themes/next/source/css/_common/components/sidebar/sidebar-button.styl new file mode 100644 index 0000000..da85a55 --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-button.styl @@ -0,0 +1,23 @@ +.feed-link, .chat { + margin-top: 10px; + + a { + display: inline-block; + padding: 0 15px; + color: rgb(252, 100, 35); + border: 1px solid rgb(252, 100, 35) !important; + border-radius: 4px; + + i { + color: rgb(252, 100, 35); + font-size: 14px; + } + + &:hover { + color: white; + background: rgb(252, 100, 35); + + i { color: white; } + } + } +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-dimmer.styl b/themes/next/source/css/_common/components/sidebar/sidebar-dimmer.styl new file mode 100644 index 0000000..b209bff --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-dimmer.styl @@ -0,0 +1,18 @@ +.sidebar-active + #sidebar-dimmer { + +mobile() { + opacity: .7; + transition: opacity .5s; + } + transform: translateX(-100%); +} + +#sidebar-dimmer { + show(); + position: fixed; + top: 0; + left: 100%; + width: 100%; + height: 100%; + background: #000; + opacity: 0; +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl b/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl new file mode 100644 index 0000000..cfdb0f1 --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl @@ -0,0 +1,30 @@ +// Sidebar Navigation + +.sidebar-nav { + margin: 0 0 20px; + padding-left: 0; +} + +.sidebar-nav li { + display: inline-block; + cursor: pointer; + border-bottom: 1px solid transparent; + font-size: 14px; + color: $sidebar-nav-color; + + &:hover { color: $sidebar-nav-hover-color; } +} + +.page-post-detail .sidebar-nav-toc { padding: 0 5px; } + +.page-post-detail .sidebar-nav-overview { margin-left: 10px; } + +.sidebar-nav .sidebar-nav-active { + color: $sidebar-highlight; + border-bottom-color: $sidebar-highlight; + + &:hover { color: $sidebar-highlight; } +} + +.sidebar-panel { display: none; } +.sidebar-panel-active { display: block; } diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl b/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl new file mode 100644 index 0000000..183d08a --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl @@ -0,0 +1,61 @@ +.post-toc-empty { + font-size: 14px; + color: $grey-dim; +} + +.post-toc-wrap { overflow: hidden; } + +.post-toc { overflow: auto; } + +.post-toc ol { + margin: 0; + padding: 0 2px 5px 10px; + text-align: left; + list-style: none; + font-size: 14px; + + & > ol { padding-left: 0; } + + a { + the-transition(); + transition-property: all; + color: $toc-link-color; + border-bottom-color: $toc-link-border-color; + + &:hover { + color: $toc-link-hover-color; + border-bottom-color: $toc-link-hover-border-color; + } + } +} + +.post-toc .nav-item { + overflow: hidden; + text-overflow: ellipsis; + //text-align: justify; + white-space: nowrap if !hexo-config('toc.wrap'); + line-height: 1.8; +} + +.post-toc .nav .nav-child { + display: hexo-config('toc.expand_all') ? block : none; +} + +.post-toc .nav .active > .nav-child { display: block; } + +.post-toc .nav .active-current > .nav-child { + show(); + & > .nav-item { display: block; } +} + +.post-toc .nav .active > a { + color: $toc-link-active-color; + border-bottom-color: $toc-link-active-border-color; +} + +.post-toc .nav .active-current > a { + color: $toc-link-active-current-color; + &:hover { + color: $toc-link-active-current-border-color; + } +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl b/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl new file mode 100644 index 0000000..a2ea55b --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl @@ -0,0 +1,30 @@ +.sidebar-toggle { + position: fixed; + right: $b2t-position-right; + bottom: 45px; + width: 14px; + height: 14px; + padding: 5px; + background: $black-deep; + line-height: 0; + z-index: $zindex-5; + cursor: pointer; + + +tablet-mobile() { + opacity: $b2t-opacity-hover; + right: $b2t-position-right-mobile; + hide() if not hexo-config('sidebar.onmobile'); + } +} + +.sidebar-toggle-line { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + background: white; + margin-top: 3px; + + &:first-child { margin-top: 0; } +} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar.styl b/themes/next/source/css/_common/components/sidebar/sidebar.styl new file mode 100644 index 0000000..a74c4ce --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/sidebar.styl @@ -0,0 +1,64 @@ +.sidebar { + position: fixed; + right: 0; + top: 0; + bottom: 0; + + width: 0; + z-index: $zindex-4; + box-shadow: inset 0 2px 6px black; + background: $black-deep; + + a, span.exturl { + color: $grey-dark; + border-bottom-color: $black-light; + &:hover { + color: $gainsboro; + border-bottom-color: $gainsboro; + } + } + + +tablet-mobile() { + hide() if not hexo-config('sidebar.onmobile'); + } +} + +.sidebar-inner { + position: relative; + padding: 20px 10px; + color: $grey-dark; + text-align: center; +} + +.site-overview-wrap { + overflow: hidden; +} + +.site-overview { + overflow-y: auto; + overflow-x: hidden; +} + +.cc-license { + margin-top: 10px; + text-align: center; + + .cc-opacity { + opacity: 0.7; + border-bottom: none; + + &:hover { opacity: 0.9; } + } + + img { display: inline-block; } +} + +@import "sidebar-toggle"; +@import "sidebar-author"; +@import "sidebar-author-links"; +@import "sidebar-button"; +@import "sidebar-blogroll"; +@import "sidebar-nav"; +@import "site-state" if hexo-config('site_state'); +@import "sidebar-toc" if hexo-config('toc.enable'); +@import "sidebar-dimmer" if hexo-config('sidebar.dimmer'); diff --git a/themes/next/source/css/_common/components/sidebar/site-state.styl b/themes/next/source/css/_common/components/sidebar/site-state.styl new file mode 100644 index 0000000..7948169 --- /dev/null +++ b/themes/next/source/css/_common/components/sidebar/site-state.styl @@ -0,0 +1,31 @@ +.site-state { + display: flex; + justify-content: center; + overflow: hidden; + line-height: 1.4; + white-space: nowrap; + text-align: $site-state-align; + margin-top: 10px; +} + +.site-state-item { + padding: 0 15px; + border-left: 1px solid $site-state-item-border-color; + + &:first-child { border-left: none; } + + a { border-bottom: none; } +} + +.site-state-item-count { + show(); + text-align: center; + color: $site-state-item-count-color; + font-weight: $font-weight-bold; + font-size: $site-state-item-count-font-size; +} + +.site-state-item-name { + font-size: $site-state-item-name-font-size; + color: $site-state-item-name-color; +} diff --git a/themes/next/source/css/_common/components/tags/blockquote-center.styl b/themes/next/source/css/_common/components/tags/blockquote-center.styl new file mode 100644 index 0000000..2e29c3f --- /dev/null +++ b/themes/next/source/css/_common/components/tags/blockquote-center.styl @@ -0,0 +1,33 @@ +// Blockquote with all children centered. +.blockquote-center { + position: relative; + margin: 40px 0; + padding: 0; + border-left: none; + text-align: center; + + &::before, &::after { + position: absolute; + content: ' '; + show(); + width: 100%; + height: 24px; + opacity: 0.2; + background-repeat: no-repeat; + background-position: 0 -6px; + background-size: 22px 22px; + } + &::before { + top: -20px; + background-image: url($center-quote-left); + border-top: 1px solid $grey-light; + } + &::after { + bottom: -20px; + background-image: url($center-quote-right); + border-bottom: 1px solid $grey-light; + background-position: 100% 8px; + } + + p, div { text-align: center; } +} diff --git a/themes/next/source/css/_common/components/tags/full-image.styl b/themes/next/source/css/_common/components/tags/full-image.styl new file mode 100644 index 0000000..e0e72ff --- /dev/null +++ b/themes/next/source/css/_common/components/tags/full-image.styl @@ -0,0 +1,6 @@ +.posts-expand .post-body img.full-image { + border: none; + //max-width: 100%; + //width: auto; + //margin: 20px auto 25px; +} diff --git a/themes/next/source/css/_common/components/tags/group-pictures.styl b/themes/next/source/css/_common/components/tags/group-pictures.styl new file mode 100644 index 0000000..ce1461d --- /dev/null +++ b/themes/next/source/css/_common/components/tags/group-pictures.styl @@ -0,0 +1,35 @@ +.post .post-body .group-picture { + img { + box-sizing: border-box; + padding: 0 3px; + border: none; + } +} + +.post .group-picture-row { + overflow: hidden; + margin-top: 6px; + &:first-child { margin-top: 0; } +} + +.post .group-picture-column { float: left; } + +.page-post-detail .post-body .group-picture-column { + float: none; + margin-top: 10px; + width: auto !important; + img { margin: 0 auto; } +} + +.page-archive { + .group-picture-container { overflow: hidden; } + .group-picture-row { + float: left; + &:first-child { margin-top: 6px; } + } + + .group-picture-column { + max-width: 150px; + max-height: 150px; + } +} diff --git a/themes/next/source/css/_common/components/tags/label.styl b/themes/next/source/css/_common/components/tags/label.styl new file mode 100644 index 0000000..4401dd3 --- /dev/null +++ b/themes/next/source/css/_common/components/tags/label.styl @@ -0,0 +1,11 @@ +.post-body .label { + display: inline; + padding: 0 2px; + + &.default { background-color: $label-default; } + &.primary { background-color: $label-primary; } + &.info { background-color: $label-info; } + &.success { background-color: $label-success; } + &.warning { background-color: $label-warning; } + &.danger { background-color: $label-danger; } +} diff --git a/themes/next/source/css/_common/components/tags/note.styl b/themes/next/source/css/_common/components/tags/note.styl new file mode 100644 index 0000000..4bf0a1d --- /dev/null +++ b/themes/next/source/css/_common/components/tags/note.styl @@ -0,0 +1,278 @@ +.post-body .note { + note_icons = hexo-config('note.icons'); + note_style = hexo-config('note.style'); + + position: relative; + padding: 15px; + margin-bottom: 20px; + + if note_style == 'simple' { + border: 1px solid $gainsboro; + border-left-width: 5px; + } + if note_style == 'modern' { + border: 1px solid transparent; + background-color: $whitesmoke; + } + if note_style == 'flat' { + border: initial; + border-left: 3px solid $gainsboro; + background-color: lighten($gainsboro, 65%); + } + border-radius: unit(hexo-config('note.border_radius'), px) if hexo-config('note.border_radius') is a 'unit'; + + h2, h3, h4, h5, h6 { + if note_icons { + margin-top: 3px; + } else { + margin-top: 0; + } + margin-bottom: 0; + border-bottom: initial; + padding-top: 0 !important; + } + + p, ul, ol, table, pre, blockquote { + &:first-child { + margin-top: 0; + } + &:last-child { + margin-bottom: 0; + } + } + + if note_icons { + &:not(.no-icon) { + padding-left: 45px; + &:before { + position: absolute; + font-family: $font-family-icons; + font-size: larger; + top: 13px; + left: 15px; + } + } + } + + &.default { + if note_style == 'flat' { + background-color: $note-default-bg; + } + if note_style == 'modern' { + background-color: $note-modern-default-bg; + border-color: $note-modern-default-border; + color: $note-modern-default-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-default-text; + border-bottom: 1px solid $note-modern-default-text; + &:hover { + color: $note-modern-default-hover; + border-bottom: 1px solid $note-modern-default-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-default-border; + h2, h3, h4, h5, h6 { + color: $note-default-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-default-icon; + if not note_style == 'modern' { + color: $note-default-text; + } + } + } + } + } + + &.primary { + if note_style == 'flat' { + background-color: $note-primary-bg; + } + if note_style == 'modern' { + background-color: $note-modern-primary-bg; + border-color: $note-modern-primary-border; + color: $note-modern-primary-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-primary-text; + border-bottom: 1px solid $note-modern-primary-text; + &:hover { + color: $note-modern-primary-hover; + border-bottom: 1px solid $note-modern-primary-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-primary-border; + h2, h3, h4, h5, h6 { + color: $note-primary-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-primary-icon; + if not note_style == 'modern' { + color : $note-primary-text; + } + } + } + } + } + + &.info { + if note_style == 'flat' { + background-color: $note-info-bg; + } + if note_style == 'modern' { + background-color: $note-modern-info-bg; + border-color: $note-modern-info-border; + color: $note-modern-info-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-info-text; + border-bottom: 1px solid $note-modern-info-text; + &:hover { + color: $note-modern-info-hover; + border-bottom: 1px solid $note-modern-info-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-info-border; + h2, h3, h4, h5, h6 { + color: $note-info-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-info-icon; + if not note_style == 'modern' { + color : $note-info-text; + } + } + } + } + } + + &.success { + if note_style == 'flat' { + background-color: $note-success-bg; + } + if note_style == 'modern' { + background-color: $note-modern-success-bg; + border-color: $note-modern-success-border; + color: $note-modern-success-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-success-text; + border-bottom: 1px solid $note-modern-success-text; + &:hover { + color: $note-modern-success-hover; + border-bottom: 1px solid $note-modern-success-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-success-border; + h2, h3, h4, h5, h6 { + color: $note-success-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-success-icon; + if not note_style == 'modern' { + color : $note-success-text; + } + } + } + } + } + + &.warning { + if note_style == 'flat' { + background-color: $note-warning-bg; + } + if note_style == 'modern' { + background-color: $note-modern-warning-bg; + border-color: $note-modern-warning-border; + color: $note-modern-warning-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-warning-text; + border-bottom: 1px solid $note-modern-warning-text; + &:hover { + color: $note-modern-warning-hover; + border-bottom: 1px solid $note-modern-warning-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-warning-border; + h2, h3, h4, h5, h6 { + color: $note-warning-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-warning-icon; + if not note_style == 'modern' { + color : $note-warning-text; + } + } + } + } + } + + &.danger { + if note_style == 'flat' { + background-color: $note-danger-bg; + } + if note_style == 'modern' { + background-color: $note-modern-danger-bg; + border-color: $note-modern-danger-border; + color: $note-modern-danger-text; + a, span.exturl { + &:not(.btn) { + color: $note-modern-danger-text; + border-bottom: 1px solid $note-modern-danger-text; + &:hover { + color: $note-modern-danger-hover; + border-bottom: 1px solid $note-modern-danger-hover; + } + } + } + } + if not note_style == 'modern' { + border-left-color: $note-danger-border; + h2, h3, h4, h5, h6 { + color: $note-danger-text; + } + } + if note_icons { + &:not(.no-icon) { + &:before { + content: $note-danger-icon; + if not note_style == 'modern' { + color : $note-danger-text; + } + } + } + } + } +} diff --git a/themes/next/source/css/_common/components/tags/pdf.styl b/themes/next/source/css/_common/components/tags/pdf.styl new file mode 100644 index 0000000..da1fe00 --- /dev/null +++ b/themes/next/source/css/_common/components/tags/pdf.styl @@ -0,0 +1,6 @@ +.pdfobject-container { + position: relative; + overflow: auto; + width: 100%; + height: unquote(hexo-config('pdf.height')); +} diff --git a/themes/next/source/css/_common/components/tags/tabs.styl b/themes/next/source/css/_common/components/tags/tabs.styl new file mode 100644 index 0000000..506ddbb --- /dev/null +++ b/themes/next/source/css/_common/components/tags/tabs.styl @@ -0,0 +1,95 @@ +.post-body .tabs { + position: relative; + show(); + margin-bottom: 20px; + padding-top: 10px; + + // Read tabs border_radius from NexT config and set in "tbr px" to use it as string variable in this CSS section. + hexo-config('tabs.border_radius') is a 'unit' ? (tbr = unit(hexo-config('tabs.border_radius'), px)) : (tbr = 0) + + ul.nav-tabs { + margin: 0; + padding: 0; + display: flex; + margin-bottom: -1px; + + +mobile-smallest() { + show(); + margin-bottom: 5px; + } + + li.tab { + list-style-type: none !important; + margin: 0 .25em 0 0; + border-top: 3px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + + +mobile-smallest() { + margin: initial; + border-top: 1px solid transparent; + border-left: 3px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + } + + if tbr > 0 { + border-radius: tbr tbr 0 0; + +mobile-smallest() { border-radius: tbr; } + } + if hexo-config('tabs.transition.tabs') { the-transition-ease-out(); } + + & a { + outline: 0; + border-bottom: initial; + show(); + line-height: 1.8em; + padding: .25em .75em; + & i { width: (18em / 14); } + if hexo-config('tabs.transition.labels') { the-transition-ease-out(); } + } + + &.active { + border-top: 3px solid $orange; + border-left: 1px solid $table-border-color; + border-right: 1px solid $table-border-color; + background-color: #fff; + + +mobile-smallest() { + border-top: 1px solid $table-border-color; + border-left: 3px solid $orange; + border-right: 1px solid $table-border-color; + border-bottom: 1px solid $table-border-color; + } + + & a { + cursor: default; + color: $link-color; + } + } + } + } + + .tab-content { + background-color: #fff; + + .tab-pane { + border: 1px solid $table-border-color; + padding: 20px 20px 0 20px; + if tbr > 0 { border-radius: tbr; } + + &:not(.active) { + hide(); + } + &.active { + show(); + if tbr > 0 { + &:nth-of-type(1) { + border-radius: 0 tbr tbr tbr; + +mobile-smallest() { border-radius: tbr; } + } + } + } + } + } +} diff --git a/themes/next/source/css/_common/components/tags/tags.styl b/themes/next/source/css/_common/components/tags/tags.styl new file mode 100644 index 0000000..664b63e --- /dev/null +++ b/themes/next/source/css/_common/components/tags/tags.styl @@ -0,0 +1,7 @@ +@import "full-image"; +@import "blockquote-center"; +@import "group-pictures"; +@import "label"; +@import "note" if not hexo-config('note.style') == 'disabled'; +@import "tabs" if hexo-config('tabs.enable'); +@import "pdf" if hexo-config('pdf.enable'); diff --git a/themes/next/source/css/_common/components/third-party/algolia-search.styl b/themes/next/source/css/_common/components/third-party/algolia-search.styl new file mode 100644 index 0000000..bb790ec --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/algolia-search.styl @@ -0,0 +1,135 @@ +// fix bug using algolia search's CDN +.ais-search-box--magnifier svg { + display: none !important; +} +.ais-search-box--reset svg { + display: none !important; +} + +.algolia-pop-overlay + position: fixed + width: 100% + height: 100% + top: 0 + left: 0 + z-index: 2080 + background-color: rgba(0, 0, 0, 0.3) + +mobile() + hide(); + +.algolia-popup + overflow: hidden + padding: 0 + display: none + position: fixed + top: 10% + left: 50% + width: 700px + height: 80% + margin-left: -350px + background: #fff + color: #333 + z-index: 9999 + border-radius: 5px + +mobile() + padding: 0 + top: 0 + left: 0 + margin: 0 + width: 100% + height: 100% + border-radius: 0 + + .popup-btn-close + position: absolute + right: 14px + color: #4EBD79 + font-size: 14px + font-weight: bold + text-transform: uppercase + cursor: pointer + padding-left: 15px + border-left: 1px solid #eee + top: 10px + .fa + color: $grey-dark + font-size: 18px + &:hover .fa + color: $black-deep + +.algolia-search + padding: 10px 15px 5px + max-height: 50px + border-bottom: 1px solid #ccc + background: $whitesmoke + border-top-left-radius: 5px + border-top-right-radius: 5px + +.algolia-search-input-icon + display: inline-block + width: 20px + .fa + font-size: 18px + +.algolia-search-input + display: inline-block + width: calc(90% - 20px) + input + padding: 5px 0 + width: 100% + outline: none + border: none + background: transparent + +.algolia-powered + float: right + img + display: inline-block + height: 18px + vertical-align: middle + +.algolia-results + position: relative + overflow: auto + padding: 10px 30px + height: calc(100% - 50px) + + hr + margin: 10px 0 + + .highlight + font-style: normal + margin: 0 + padding: 0 2px + font-size: inherit + color: red + +.algolia-hits + margin-top: 20px + +.algolia-hit-item + margin: 15px 0 + +.algolia-hit-item-link + display: block + border-bottom: 1px dashed #ccc + the-transition() + +.algolia-pagination + .pagination + margin: 40px 0px + border-top: none + padding: 0 + opacity: 1 + .pagination-item + display: inline-block + .page-number + border-top: none + &:hover + border-bottom: 1px solid $black-deep + + .current .page-number + @extend .pagination .page-number.current + + .disabled-item + visibility: hidden diff --git a/themes/next/source/css/_common/components/third-party/copy-code.styl b/themes/next/source/css/_common/components/third-party/copy-code.styl new file mode 100644 index 0000000..a1aab62 --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/copy-code.styl @@ -0,0 +1,47 @@ +.copy-btn { + display: inline-block; + padding: 6px 12px; + font-size: 13px; + font-weight: 700; + line-height: 20px; + color: #333; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + if hexo-config('codeblock.copy_button.style') == 'flat' { + background-color: #fff; + border: none; + } + else { + background-color: #eee; + background-image: linear-gradient(#fcfcfc, #eee); + border: 1px solid #d5d5d5; + border-radius: 3px; + } + user-select: none; + outline: 0; +} + +.highlight-wrap .copy-btn { + transition: opacity .3s ease-in-out; + opacity: 0; + padding: 2px 6px; + position: absolute; + if hexo-config('codeblock.copy_button.style') == 'flat' { + right: 0px; + height: 42px; + } + else { + right: 4px; + top: 8px; + } +} + +.highlight-wrap:hover .copy-btn, +.highlight-wrap .copy-btn:focus { + opacity: 1; +} + +.highlight-wrap { + position: relative; +} diff --git a/themes/next/source/css/_common/components/third-party/gitalk.styl b/themes/next/source/css/_common/components/third-party/gitalk.styl new file mode 100644 index 0000000..fed0206 --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/gitalk.styl @@ -0,0 +1,4 @@ +.gt-header a, .gt-comments a, .gt-popup a + border-bottom: none; +.gt-container .gt-popup .gt-action.is--active:before + top: 0.7em; \ No newline at end of file diff --git a/themes/next/source/css/_common/components/third-party/gitment.styl b/themes/next/source/css/_common/components/third-party/gitment.styl new file mode 100644 index 0000000..c374f1a --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/gitment.styl @@ -0,0 +1,24 @@ +#gitment-display-button { + display: inline-block; + padding: 0 15px; + color: #0a9caf; + cursor: pointer; + font-size: 14px; + border: 1px solid #0a9caf; + border-radius: 4px; +} + +#gitment-display-button:hover { + color: #fff; + background: #0a9caf; +} + +#gitment-container a { + border-bottom: none; +} + +if hexo-config('gitment.cleanly') { + a.gitment-editor-footer-tip, .gitment-container.gitment-footer-container { + hide(); + } +} diff --git a/themes/next/source/css/_common/components/third-party/han.styl b/themes/next/source/css/_common/components/third-party/han.styl new file mode 100644 index 0000000..48d82e0 --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/han.styl @@ -0,0 +1,3 @@ +i.fa { + font-family: FontAwesome !important; +} diff --git a/themes/next/source/css/_common/components/third-party/localsearch.styl b/themes/next/source/css/_common/components/third-party/localsearch.styl new file mode 100644 index 0000000..a04b146 --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/localsearch.styl @@ -0,0 +1,101 @@ +.local-search-pop-overlay + position: fixed + width: 100% + height: 100% + top: 0 + left: 0 + z-index: 2080 + background-color: rgba(0, 0, 0, 0.3) + +.local-search-popup + display: none + position: fixed + top: 10% + left: 50% + margin-left: -350px + width: 700px + height: 80% + padding: 0 + background: #fff + color: #333 + z-index: 9999 + border-radius: 5px + +mobile() + padding: 0 + top: 0 + left: 0 + margin: 0 + width: 100% + height: 100% + border-radius: 0 + + ul.search-result-list + padding: 0 + margin: 0 5px + + p.search-result + border-bottom: 1px dashed #ccc + padding: 5px 0 + + a.search-result-title + font-weight: bold + font-size: 16px + + .search-keyword + border-bottom: 1px dashed #f00 + font-weight: bold + color: #f00 + + .local-search-header + padding: 5px + height: 36px + background: #f5f5f5 + border-top-left-radius: 5px + border-top-right-radius: 5px + + #local-search-result + overflow: auto + position: relative + padding: 5px 25px + height: calc(100% - 55px) + + .local-search-input-wrapper + display: inline-block + width: calc(100% - 90px) + height: 36px + line-height: 36px + padding: 0 5px + + .local-search-input-wrapper input + padding: 8px 0 + height: 20px + display: block + width: 100% + outline: none + border: none + background: transparent + vertical-align: middle + + .search-icon, .popup-btn-close + display: inline-block + font-size: 18px + color: #999 + height: 36px + width: 18px + padding-left: 10px + padding-right: 10px + + .search-icon + float: left + + .popup-btn-close + border-left: 1px solid #eee + float: right + cursor: pointer + + #no-result + position: absolute + left: 50% + top: 50% + transform: translate(-50%, -50%) + color: #ccc diff --git a/themes/next/source/css/_common/components/third-party/math.styl b/themes/next/source/css/_common/components/third-party/math.styl new file mode 100644 index 0000000..9babd4d --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/math.styl @@ -0,0 +1,4 @@ +.has-jax { + overflow-x: auto; + overflow-y: hidden; +} diff --git a/themes/next/source/css/_common/components/third-party/needsharebutton.styl b/themes/next/source/css/_common/components/third-party/needsharebutton.styl new file mode 100644 index 0000000..7f2f48c --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/needsharebutton.styl @@ -0,0 +1,27 @@ +#needsharebutton-postbottom { + position: relative; + cursor: pointer; + height: 26px; + + .btn { + display: initial; + padding: 1px 4px; + border: 1px solid $btn-default-border-color; + border-radius: 3px; + } +} + +#needsharebutton-float { + position: fixed; + bottom: 38px; + left: -8px; + z-index: 9999; + cursor: pointer; + + .btn { + //display: initial; + padding: 0 10px 0 14px; + border: 1px solid $btn-default-border-color; + border-radius: 4px; + } +} diff --git a/themes/next/source/css/_common/components/third-party/related-posts.styl b/themes/next/source/css/_common/components/third-party/related-posts.styl new file mode 100644 index 0000000..b3f962a --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/related-posts.styl @@ -0,0 +1,22 @@ +.popular-posts-header { + margin-top: $post-eof-margin-bottom; + margin-bottom: 10px; + font-size: $font-size-headings-base; + border-bottom: 1px solid $gainsboro; + show(); +} + +ul.popular-posts { + padding: 0; + + .popular-posts-item { + // list-style: none; + margin-left: 2em; + .popular-posts-title { + font-weight: normal; + font-size: $font-size-base; + margin: 0; + line-height: $line-height-base * 1.2; + } + } +} diff --git a/themes/next/source/css/_common/components/third-party/third-party.styl b/themes/next/source/css/_common/components/third-party/third-party.styl new file mode 100644 index 0000000..b6cb71d --- /dev/null +++ b/themes/next/source/css/_common/components/third-party/third-party.styl @@ -0,0 +1,9 @@ +@import "gitment" if hexo-config('gitment.enable'); +@import "gitalk" if hexo-config('gitalk.enable'); +@import "han" if hexo-config('han'); +@import "localsearch"; +@import "algolia-search" if hexo-config('algolia_search.enable'); +@import "needsharebutton" if hexo-config('needmoreshare2.enable'); +@import "related-posts" if hexo-config('related_posts.enable'); +@import "copy-code" if hexo-config('codeblock.copy_button.enable'); +@import "math" if hexo-config('math.enable') and hexo-config('math.engine') == 'mathjax'; diff --git a/themes/next/source/css/_common/outline/outline.styl b/themes/next/source/css/_common/outline/outline.styl new file mode 100644 index 0000000..b0ac5f3 --- /dev/null +++ b/themes/next/source/css/_common/outline/outline.styl @@ -0,0 +1,62 @@ +// +// Layout +// Note: Must name this file "outline" instead of "layout" +// Or Hexo will use it as template layout. +// ================================================= + + +html, body { height: 100%; } + +.container { + position: relative; +} + + +// Header Section +// -------------------------------------------------- +.header-inner { + margin: 0 auto; + padding: 100px 0 70px; + width: $content-desktop; + + +desktop-large() { + .container & { width: $content-desktop-large; } + } + +desktop-largest() { + .container & { width: $content-desktop-largest; } + } +} + + +// Main Section +// -------------------------------------------------- +.main-inner { + margin: 0 auto; + width: $content-desktop; + + +desktop-large() { + .container & { width: $content-desktop-large; } + } + +desktop-largest() { + .container & { width: $content-desktop-largest; } + } +} + + +// Footer Section +// -------------------------------------------------- +.footer { + padding: 20px 0; +} +.footer-inner { + box-sizing: border-box; + margin: 0px auto; + width: $content-desktop; + + +desktop-large() { + .container & { width: $content-desktop-large; } + } + +desktop-largest() { + .container & { width: $content-desktop-largest; } + } +} diff --git a/themes/next/source/css/_common/scaffolding/base.styl b/themes/next/source/css/_common/scaffolding/base.styl new file mode 100644 index 0000000..3d4164e --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/base.styl @@ -0,0 +1,120 @@ +::selection { + background: $selection-bg; + color: $selection-color; +} + +body { + position: relative; // Required by scrollspy + font-family: $font-family-base; + font-size: $font-size-base; + line-height: $line-height-base; + color: $text-color; + background: $body-bg-color; + + +tablet-mobile() { padding-right: 0 !important; } + +desktop-large() { font-size: $font-size-large; } +} + +h1, h2, h3, h4, h5, h6 { + margin: 20px 0 15px; + padding: 0; + font-weight: bold; + line-height: 1.5; + font-family: $font-family-headings; +} + +for headline in (1..6) { + h{headline} { + font-size: $font-size-headings-base - $font-size-headings-step * headline; + code { + font-size: 1em; + } + } + + +mobile() { + h{headline} { + font-size: $font-size-headings-base - $font-size-headings-step * headline - 4px; + code { + font-size: 1em; + } + } + } +} + +p { margin: 0 0 20px 0; } + +a, span.exturl { + word-wrap(); + // Remove the gray background color from active links in IE 10. + background-color: transparent; + color: $link-color; + text-decoration: none; + outline: none; + border-bottom: 1px solid $link-decoration-color; + + &:hover { + color: $link-hover-color; + border-bottom-color: $link-decoration-hover-color; + } + + // For spanned external links. + cursor: pointer; +} + +video { + max-width: 100%; + show(); + margin-left: auto; + margin-right: auto; +} + +img { + show(); + margin: auto; + max-width: 100%; + height: auto; +} + +hr { + margin: 40px 0; + height: 3px; + border: none; + background-color: $gray-lighter; + background-image: repeating-linear-gradient( + -45deg, + white, + white 4px, + transparent 4px, + transparent 8px + ); +} + +blockquote { + margin: 0; + padding: 0 15px; + color: $grey-dim; + border-left: 4px solid $gray-lighter; + + cite::before { + content: "-"; + padding: 0 5px; + } +} + +dt { font-weight: $font-weight-bolder; } + +dd { + margin: 0; + padding: 0; +} + +kbd { + border: 1px solid $grey-light; + border-radius: 0.2em; + box-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.1); + background-color: #f9f9f9; + font-family: inherit; + background-image: linear-gradient(top, #eee, white, #eee); + padding: 0.1em 0.3em; + white-space: nowrap; +} diff --git a/themes/next/source/css/_common/scaffolding/helpers.styl b/themes/next/source/css/_common/scaffolding/helpers.styl new file mode 100644 index 0000000..1ddb506 --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/helpers.styl @@ -0,0 +1,68 @@ +// +// Helpers +// ================================================= + + +// Alignment +.text-left { text-align: left; } +.text-center { text-align: center; } +.text-right { text-align: right; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + + +// Transformation +.text-lowercase { text-transform: lowercase; } +.text-uppercase { text-transform: uppercase; } +.text-capitalize { text-transform: capitalize; } + + +// Center-align a block level element. +.center-block { + show(); + margin-left: auto; + margin-right: auto; +} + + +// Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/ +.clearfix { + clearfix(); +} + +.pullquote { + width: 45%; + + &.left { + float: left; + margin-left: 5px; + margin-right: 10px; + } + + &.right { + float: right; + margin-left: 10px; + margin-right: 5px; + } +} + +.affix { + position: fixed; +} + +.translation { + margin-top: -20px; + font-size: 14px; + color: $grey-dark; +} + +// https://davidwalsh.name/detect-scrollbar-width +.scrollbar-measure { + width: 100px; + height: 100px; + overflow: scroll; + position: absolute; + top: -9999px; +} + +.use-motion .motion-element { opacity: 0; } diff --git a/themes/next/source/css/_common/scaffolding/mobile.styl b/themes/next/source/css/_common/scaffolding/mobile.styl new file mode 100644 index 0000000..80cc04b --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/mobile.styl @@ -0,0 +1,141 @@ +/* +// > 1600px ++desktop-large() { + +} + +// > 992px ++desktop() { + +} + +// > 768px & < 991px ++tablet() { + +} + +// < 767px ++mobile() { + +} +*/ + +// < 567px ++mobile-small() { + + // For Muse & Mist schemes only vertical economy. + .header-inner { + margin-bottom: initial !important; + } + .main-inner { + margin-top: initial !important; + } + + // For Pisces & Gemini schemes only wider width (remove main blocks in Gemini). + .content-wrap { + padding: initial !important; + } + + // For all schemes wider width. + .posts-expand { + padding-top: $content-mobile-padding !important; + // For Muse & Mist & Pisces schemes only wider width. + margin: initial !important; + + .post-header { + padding: 0 18px; + } + + .post-meta { + margin: 3px 0 10px 0 !important; + } + + } + + .post-block { + // Inside posts blocks content padding (default 40px). + padding: $content-mobile-padding 0 !important; + margin-top: initial !important; + } + + .post-body { + // For headers narrow width. + h1, h2, h3, h4, h5, h6 { + margin: 10px 18px 8px; + } + // Rewrite paddings & margins inside tags. + .note, .tabs .tab-content .tab-pane { + h1, h2, h3, h4, h5, h6 { + margin: 0 5px; + } + } + + // For paragraphs narrow width. + > p { + margin: 0 0 10px 0; + padding: 0 18px; + } + + // For lists narrow width. + > ul { + margin-inline-end: 1em; + } + + // For blockquotes. + > blockquote { + margin: 0 18px; + } + + // For external links alignment. + > span.exturl { + margin-left: 18px; + } + + // For Mist more button alignment. + > div.post-button a { + margin-left: 18px; + } + + // Rewrite paddings & margins inside tags. + .note > p, .tabs .tab-content .tab-pane > p { + padding: 0 5px; + } + + .video-container .fluid-vids { + margin-bottom: 10px !important; + } + + .note { + padding: 10px !important; + margin-bottom: 10px !important; + + if hexo-config('note.icons') { + &:not(.no-icon) { + padding-left: 35px !important; + &:before { + top: 8px !important; + left: 12px !important; + } + } + } + } + + .tabs .tab-content .tab-pane { + padding: 10px 10px 0 10px !important; + } + } + + // Need to refactor into flex. + .post-nav { + padding-bottom: 2px; + //padding: 2px 8px; + } + +} + +/* +// < 413px ++mobile-smallest() { + +} +*/ diff --git a/themes/next/source/css/_common/scaffolding/normalize.styl b/themes/next/source/css/_common/scaffolding/normalize.styl new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/normalize.styl @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/themes/next/source/css/_common/scaffolding/scaffolding.styl b/themes/next/source/css/_common/scaffolding/scaffolding.styl new file mode 100644 index 0000000..b5d3500 --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/scaffolding.styl @@ -0,0 +1,9 @@ +// +// Scaffolding +// ================================================= + +@import "normalize"; +@import "base"; +@import "helpers"; +@import "tables"; +@import "mobile" if hexo-config('mobile_layout_economy'); diff --git a/themes/next/source/css/_common/scaffolding/tables.styl b/themes/next/source/css/_common/scaffolding/tables.styl new file mode 100644 index 0000000..91ae458 --- /dev/null +++ b/themes/next/source/css/_common/scaffolding/tables.styl @@ -0,0 +1,42 @@ +.table-container { + margin: 20px 0; + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.highlight .table-container { + margin: 0px; +} + +table { + width: $table-width; + border-collapse: collapse; + border-spacing: 0; + font-size: $table-font-size; +} + +table > tbody > tr { + &:nth-of-type(odd) { background-color: $table-row-odd-bg-color; } + &:hover { background-color: $table-row-hover-bg-color; } +} + +caption, th, td { + padding: $table-cell-padding; + text-align: $table-content-alignment; + vertical-align: $table-content-vertical; + font-weight: normal; +} + +th, td { + border: 1px solid $table-border-color; + border-bottom: 3px solid $table-cell-border-bottom-color; +} + +th { + padding-bottom: 10px; + font-weight: $table-th-font-weight; +} + +td { + border-bottom-width: 1px; +} diff --git a/themes/next/source/css/_custom/custom.styl b/themes/next/source/css/_custom/custom.styl new file mode 100644 index 0000000..63937f7 --- /dev/null +++ b/themes/next/source/css/_custom/custom.styl @@ -0,0 +1 @@ +// Custom styles. diff --git a/themes/next/source/css/_mixins/Gemini.styl b/themes/next/source/css/_mixins/Gemini.styl new file mode 100644 index 0000000..eb4102e --- /dev/null +++ b/themes/next/source/css/_mixins/Gemini.styl @@ -0,0 +1 @@ +@import "Pisces.styl"; diff --git a/themes/next/source/css/_mixins/Mist.styl b/themes/next/source/css/_mixins/Mist.styl new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/css/_mixins/Muse.styl b/themes/next/source/css/_mixins/Muse.styl new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/css/_mixins/Pisces.styl b/themes/next/source/css/_mixins/Pisces.styl new file mode 100644 index 0000000..5ccc1db --- /dev/null +++ b/themes/next/source/css/_mixins/Pisces.styl @@ -0,0 +1,16 @@ +sidebar-inline-links-item() { + margin: 5px 0 0; + if !hexo-config('social_icons.icons_only') { width: 50%; } + + & a, span.exturl { + max-width: 216px; + box-sizing: border-box; + display: inline-block; + margin-right: 0; + margin-bottom: 0; + padding: 0 5px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } +} diff --git a/themes/next/source/css/_mixins/base.styl b/themes/next/source/css/_mixins/base.styl new file mode 100644 index 0000000..15c040f --- /dev/null +++ b/themes/next/source/css/_mixins/base.styl @@ -0,0 +1,105 @@ +the-transition() { + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} + +the-transition-ease-in() { + transition-duration: 0.2s; + transition-timing-function: ease-in; + transition-delay: 0s; +} + +the-transition-ease-out() { + transition-duration: 0.2s; + transition-timing-function: ease-out; + transition-delay: 0s; +} + +mobile-smallest() { + @media (max-width: 413px) { + {block} + } +} + +mobile-small() { + @media (max-width: 567px) { + {block} + } +} + +mobile() { + @media (max-width: 767px) { + {block} + } +} + +tablet-mobile() { + @media (max-width: 991px) { + {block} + } +} + +tablet() { + @media (min-width: 768px) and (max-width: 991px) { + {block} + } +} + +desktop() { + @media (min-width: 992px) { + {block} + } +} + +desktop-large() { + @media (min-width: 1200px) { + {block} + } +} + +desktop-largest() { + @media (min-width: 1600px) { + {block} + } +} + +circle() { + border-radius: 50%; +} + +hide() { + display: none; +} + +show() { + display: block; +} + +random-color($min, $max) { + return floor(math(0, 'random') * ($max - $min + 1) + $min); +} + +// Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/ +clearfix() { + &:before, + &:after { + content: " "; + display: table; + } + &:after { clear: both; } +} + +word-wrap() { + overflow-wrap: break-word; + word-wrap: break-word; +} + +disable-touch-hover() { + // To prevent hover on external links with touch devices after click. + @media (hover:none) { + &:hover { + background: none; + } + } +} diff --git a/themes/next/source/css/_mixins/custom.styl b/themes/next/source/css/_mixins/custom.styl new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/css/_schemes/Gemini/index.styl b/themes/next/source/css/_schemes/Gemini/index.styl new file mode 100644 index 0000000..d27a35d --- /dev/null +++ b/themes/next/source/css/_schemes/Gemini/index.styl @@ -0,0 +1,278 @@ +@import "../Pisces/_layout"; +@import "../Pisces/_brand"; +@import "../Pisces/_menu"; +@import "../Pisces/_sub-menu"; +@import "../Pisces/_sidebar"; + +// ================================================= +// Rewrite _layout.styl +// ================================================= +// Sidebar padding used as main desktop content padding for sidebar padding and post blocks padding too. + +// In `source/css/_variables/Pisces.styl` there are variable for main offset: +// $sidebar-offset = 12px; +// This value alse can be changed in main NexT config as `sidebar: offset: 12` option. + +// In `source/css/_variables/base.styl` there are variables for other resolutions: +// $content-tablet-padding = 10px; +// $content-mobile-padding = 8px; +// P.S. If u want to change this paddings u may set this variables into `source/css/_variables/custom.styl`. + +// So, it will 12px in Desktop, 10px in Tablets and 8px in Mobiles for all possible paddings. +// ================================================= +// Read values from NexT config and set they as local variables to use as string variables (in any CSS section). +use_seo = hexo-config('seo'); + +// ================================================= +// Desktop layout styles. +// ================================================= +// Post blocks. +.content-wrap { + padding: initial; + background: initial; + box-shadow: initial; + border-radius: initial; +} + +// Post & Comments blocks. +.post-block { + padding: $content-desktop-padding; + background: white; + box-shadow: $box-shadow-inner; + border-radius: $border-radius-inner; +} + +// When blocks are siblings (homepage). +#posts > article + article { + .post-block { + margin-top: $sidebar-offset; + // Rewrite shadows & borders because all blocks have offsets. + box-shadow: $box-shadow; + border-radius: $border-radius; + } +} + +// Comments blocks. +.comments { + padding: $content-desktop-padding; + margin: auto; + margin-top: $sidebar-offset; + background: white; + box-shadow: $box-shadow; + border-radius: $border-radius; +} + +// Top main padding from header to posts (default 40px). +.posts-expand { + padding-top: initial; +} + +// Post navigation items. +.post-nav-divider { + width: 4%; +} +.post-nav-item { + width: 48%; +} + +// Post delimiters. +.post-eof { + hide(); +} + +// Pagination. +.pagination { + .prev, .next, .page-number { + margin-bottom: initial; + top: initial; + } + margin: $sidebar-offset 0 0; + border-top: initial; + background: white; + box-shadow: $box-shadow; + border-radius: $border-radius; + padding: 10px 0 10px; +} + +// Footer alignment. +.main { + padding-bottom: initial; +} +.footer { + bottom: auto; +} + +// Sub-menu(s). +.sub-menu { + border-bottom: initial !important; + box-shadow: $box-shadow-inner; + // Adapt submenu(s) with post-blocks. + &+ #content > #posts { + .post-block { + box-shadow: $box-shadow; + margin-top: $sidebar-offset; + +tablet() { + margin-top: $content-tablet-padding; + } + +mobile() { + margin-top: $content-mobile-padding; + } + } + } +} + +// ================================================= +// Headers. +// ================================================= +// No need anymore? +.post-header { + h1, h2 { + margin: initial; + } +} +.posts-expand .post-title-link { + line-height: inherit; +} +.posts-expand .post-title { + font-size: 1.7em; +} +.post-body { + h1 { + font-size: 1.6em; + border-bottom: 1px solid $body-bg-color; + code { + font-size: 1em; + } + } + h2 { + font-size: 1.45em; + border-bottom: 1px solid $body-bg-color; + code { + font-size: 1em; + } + } + h3 { + font-size: 1.3em; + code { + font-size: 1em; + } + if use_seo { + border-bottom: 1px solid $body-bg-color; + } else { + border-bottom: 1px dotted $body-bg-color; + } + } + h4 { + font-size: 1.2em; + code { + font-size: 1em; + } + if use_seo { + border-bottom: 1px dotted $body-bg-color; + } + } + h5 { + font-size: 1.07em; + code { + font-size: 1em; + } + } + h6 { + font-size: 1.03em; + code { + font-size: 1em; + } + } +} + +// ================================================= +// > 768px & < 991px +// ================================================= ++tablet() { + + // Posts in blocks. + .content-wrap { + padding: $content-tablet-padding; + } + .posts-expand { + margin: initial; + + // Components inside Posts. + .post-button { + margin-top: ($content-tablet-padding * 2); + } + } + + .post-block { + // Inside posts blocks content padding (default 40px). + padding: ($content-tablet-padding * 2); + // Rewrite shadows & borders because all blocks have offsets. + box-shadow: $box-shadow; + border-radius: $border-radius; + } + + // Only if blocks are siblings need bottom margin (homepage). + #posts > article + article { + .post-block { + margin-top: $content-tablet-padding; + } + } + + .comments { + margin-top: $content-tablet-padding; + padding: $content-tablet-padding ($content-tablet-padding * 2); + //padding: initial; + //padding-top: $content-tablet-padding; + } + + .pagination { + margin: $content-tablet-padding 0 0; + } + +} +// ================================================= +// < 767px +// ================================================= ++mobile() { + + // Posts in blocks. + .content-wrap { + padding: $content-mobile-padding; + } + .posts-expand { + margin: initial; + + // Components inside Posts. + .post-button { + margin: $sidebar-offset 0px; + } + img { + padding: initial !important; + } + } + + .post-block { + // Inside posts blocks content padding (default 40px). + padding: $sidebar-offset; + min-height: auto; + // Rewrite shadows & borders because all blocks have offsets. + box-shadow: $box-shadow; + border-radius: $border-radius; + } + + // Only if blocks are siblings need bottom margin (homepage). + #posts > article + article { + .post-block { + margin-top: $content-mobile-padding; + } + } + + .comments { + margin-top: $content-mobile-padding; + padding: 0 $sidebar-offset; + } + + .pagination { + margin: $content-mobile-padding 0 0; + } +} diff --git a/themes/next/source/css/_schemes/Mist/_base.styl b/themes/next/source/css/_schemes/Mist/_base.styl new file mode 100644 index 0000000..cf2f438 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_base.styl @@ -0,0 +1,9 @@ +// Tags +// -------------------------------------------------- + +a { border-bottom-color: $grey-light; } + +hr { + margin: 20px 0; + height: 2px; +} diff --git a/themes/next/source/css/_schemes/Mist/_header.styl b/themes/next/source/css/_schemes/Mist/_header.styl new file mode 100644 index 0000000..60b86c1 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_header.styl @@ -0,0 +1,65 @@ +// Header +// -------------------------------------------------- +.header { background: $whitesmoke; } +.header-inner { + clearfix(); + padding: 20px 0; + display: flex; + align-items: center; + justify-content: center; + + +mobile() { + show(); + width: auto; + padding: 10px; + } +} + +.site-meta { + float: left; + margin-left: -20px; + line-height: normal; + + +mobile() { + margin-left: 10px; + } + + .brand { + padding: 2px 1px; + background: none; + + +mobile() { display: block; } + } + + .logo { display: none; } + + .site-title { + font-size: 22px; + font-weight: bolder; + + +mobile() { line-height: 34px; } + } +} + +.logo-line-before, +.logo-line-after { + show(); + overflow: hidden; + margin: 0 auto; + width: 75%; + + +mobile() { display: none; } + + i { + position: relative; + show(); + height: 2px; + background: $black-deep; + +mobile() { height: 3px; } + } +} + +.use-motion { + .logo-line-before i { left: -100%; } + .logo-line-after i { right: -100%; } +} diff --git a/themes/next/source/css/_schemes/Mist/_logo.styl b/themes/next/source/css/_schemes/Mist/_logo.styl new file mode 100644 index 0000000..571b407 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_logo.styl @@ -0,0 +1 @@ +.site-subtitle { display: none; } diff --git a/themes/next/source/css/_schemes/Mist/_menu.styl b/themes/next/source/css/_schemes/Mist/_menu.styl new file mode 100644 index 0000000..325d609 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_menu.styl @@ -0,0 +1,83 @@ +// Menu +// -------------------------------------------------- +.site-brand-wrapper { + flex-shrink: 0; +} + +.site-nav-toggle { + position: static; + float: right; +} + +.site-nav { + flex-grow: 1; + +mobile() { + transform: translateY(10px); + } +} + +.menu-item-active a { + background: #e1e1e1; +} + +.menu { + //float: right; + margin: 0; + + +mobile() { + margin: 10px 0; + padding: 0; + } + + br { display: none; } + + .menu-item { + margin: 0; + +mobile() { + show(); + margin-top: 5px; + } + + .badge { + display: inline-block; + padding: 1px 4px; + margin-left: 5px; + font-weight: 700; + line-height: 1; + color: $black-light; + text-align: center; + white-space: nowrap; + background-color: #fff; + border-radius: 10px; + text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.1); + +mobile() { + float: right; + margin: 0.35em 0 0 0; + } + } + + a, span.exturl { + padding: 0 10px; + border: none; + border-radius: 2px; + transition-property: background; + + +mobile() { + text-align: left; + } + + &:hover { + @extend .menu-item-active a; + } + + disable-touch-hover(); + } + } + + a::before { + hide(); + +mobile() { display: block; } + } + + +mobile() { float: none; } +} diff --git a/themes/next/source/css/_schemes/Mist/_posts-expanded.styl b/themes/next/source/css/_schemes/Mist/_posts-expanded.styl new file mode 100644 index 0000000..b29873c --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_posts-expanded.styl @@ -0,0 +1,66 @@ +// Post Expanded +// -------------------------------------------------- +.posts-expand { + padding-top: 0; + + .post-title, + .post-meta { + text-align: $site-meta-text-align; + +mobile() { text-align: center; } + } + .post-eof { display: none; } + + .post { margin-top: 120px; } + .post:first-child { margin-top: 0; } + + .post-meta { + margin-top: 5px; + margin-bottom: 20px; + } + + .post-title { + position: relative; + font-size: $font-size-headings-base; + font-weight: 400; + +mobile() { font-size: $font-size-headings-small; } + +desktop-large() { font-size: $font-size-headings-large; } + } + .post-title:hover:before { background: $black-deep; } + + .post-body { + +mobile() { font-size: $font-size-base; } + } + + .post-body img { margin: 0; } + + .post-tags { + text-align: left; + a { + padding: 1px 5px; + background: $whitesmoke; + border-bottom: none; + } + a:hover { background: $grey-light; } + } + .post-nav { margin-top: 40px; } +} + +.post-button { + margin-top: 20px; + text-align: left; + + a { + padding: 0; + font-size: $font-size-base; + //color: $grey-dim; + background: none; + border: none; + border-bottom: 2px solid $grey-dim; + transition-property: border; + + +mobile() { font-size: $font-size-small; } + +desktop-large() { font-size: $font-size-large; } + + &:hover { border-bottom-color: $black-deep; } + } +} diff --git a/themes/next/source/css/_schemes/Mist/_search.styl b/themes/next/source/css/_schemes/Mist/_search.styl new file mode 100644 index 0000000..06d2460 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/_search.styl @@ -0,0 +1,5 @@ +// Search +// -------------------------------------------------- +.site-search form { + hide(); +} diff --git a/themes/next/source/css/_schemes/Mist/index.styl b/themes/next/source/css/_schemes/Mist/index.styl new file mode 100644 index 0000000..9729c94 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/index.styl @@ -0,0 +1,86 @@ +// +// Mist scheme +// ================================================= + +@import "_base"; +@import "outline/outline"; +@import "_header"; +@import "_logo"; +@import "_menu"; +@import "_search.styl"; +@import "_posts-expanded"; +@import "sidebar/sidebar-blogroll"; + +// Components +// -------------------------------------------------- +.btn { + padding: 0 10px; + border-width: 2px; + border-radius: 0; +} + +.headband { display: none; } + +// Search +// -------------------------------------------------- +.site-search { + position: relative; + float: right; + margin-top: 5px; + padding-top: 3px; + + +mobile() { + float: none; + padding: 0 10px; + } +} + +// Page - Container +// -------------------------------------------------- +.container .main-inner { + +mobile() { width: auto; } +} + +// Page - Post details +// -------------------------------------------------- +.page-post-detail { + .post-title, + .post-meta { text-align: center; } + + .post-title:before { display: none; } + + .post-meta { margin-bottom: 60px; } +} + +// Pagination +// -------------------------------------------------- +.pagination { + margin: 120px 0 0; + text-align: left; + + +mobile() { + margin: 80px 10px 0; + text-align: center; + } +} + +// Footer +// -------------------------------------------------- +.footer { + margin-top: 80px; + padding: 10px 0; + background: $whitesmoke; + color: $grey-dim; +} +.footer-inner { + margin: 0 auto; + text-align: left; + + +mobile() { + width: auto; + text-align: center; + } +} + +// Helpers +// -------------------------------------------------- diff --git a/themes/next/source/css/_schemes/Mist/outline/outline.styl b/themes/next/source/css/_schemes/Mist/outline/outline.styl new file mode 100644 index 0000000..12c0bae --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/outline/outline.styl @@ -0,0 +1 @@ +.main-inner { margin-top: 80px; } diff --git a/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl new file mode 100644 index 0000000..6db1ed7 --- /dev/null +++ b/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl @@ -0,0 +1 @@ +.links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; } diff --git a/themes/next/source/css/_schemes/Muse/_layout.styl b/themes/next/source/css/_schemes/Muse/_layout.styl new file mode 100644 index 0000000..88b4337 --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/_layout.styl @@ -0,0 +1,9 @@ +.header-inner, .container .main-inner, .footer-inner { + +mobile() { width: auto; } +} + +// embed tag +embed { + show(); + margin: 0px auto 25px auto; +} diff --git a/themes/next/source/css/_schemes/Muse/_logo.styl b/themes/next/source/css/_schemes/Muse/_logo.styl new file mode 100644 index 0000000..789311a --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/_logo.styl @@ -0,0 +1,25 @@ +.custom-logo { + .site-meta-headline { + text-align: center; + } + + .brand { + background: none; + } + + .site-title { + margin: 10px auto 0; + font-size: 24px; + color: $black-deep; + a { + border: none; + } + } +} + +.custom-logo-image { + margin: 0 auto; + padding: 5px; + max-width: 150px; + background: white; +} diff --git a/themes/next/source/css/_schemes/Muse/_menu.styl b/themes/next/source/css/_schemes/Muse/_menu.styl new file mode 100644 index 0000000..bf20188 --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/_menu.styl @@ -0,0 +1,78 @@ +.site-nav { + +mobile() { + position: absolute; + left: 0; + top: 52px; + margin: 0; + width: 100%; + padding: 0; + background: white; + border-bottom: 1px solid $gray-lighter; + z-index: $zindex-3; + } +} + +.menu { + +mobile() { text-align: left; } +} + +.menu-item-active a { + border-bottom-color: $menu-link-hover-border !important; + color: $black-deep; + + +mobile() { + border-bottom: 1px dotted $gray-lighter !important; + } +} + +.menu .menu-item { + +mobile() { + show(); + margin: 0 10px; + vertical-align: top; + } + + .badge { + display: inline-block; + padding: 1px 4px; + margin-left: 5px; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + background-color: $gainsboro; + +mobile() { + float: right; + margin: 0.35em 0 0 0; + } + } + + br { + +mobile() { display: none; } + } + + a, span.exturl { + +mobile() { + padding: 5px 10px; + } + + &:hover { + @extend .menu-item-active a; + } + + // To prevent hover on external links with touch devices after click. + @media (hover:none) { + &:hover { + border-bottom-color: transparent !important; + } + } + } + .fa { + +tablet() { + width: 100%; + } + +desktop() { + width: 100%; + } + } +} diff --git a/themes/next/source/css/_schemes/Muse/_search.styl b/themes/next/source/css/_schemes/Muse/_search.styl new file mode 100644 index 0000000..06d2460 --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/_search.styl @@ -0,0 +1,5 @@ +// Search +// -------------------------------------------------- +.site-search form { + hide(); +} diff --git a/themes/next/source/css/_schemes/Muse/index.styl b/themes/next/source/css/_schemes/Muse/index.styl new file mode 100644 index 0000000..35effe8 --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/index.styl @@ -0,0 +1,5 @@ +@import "_layout.styl"; +@import "_logo.styl"; +@import "_menu.styl"; +@import "_search.styl"; +@import "sidebar/sidebar-blogroll"; diff --git a/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl new file mode 100644 index 0000000..6db1ed7 --- /dev/null +++ b/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl @@ -0,0 +1 @@ +.links-of-blogroll-inline .links-of-blogroll-item { display: inline-block; } diff --git a/themes/next/source/css/_schemes/Pisces/_brand.styl b/themes/next/source/css/_schemes/Pisces/_brand.styl new file mode 100644 index 0000000..9fc3a1f --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/_brand.styl @@ -0,0 +1,38 @@ +.site-brand-wrapper { + position: relative; +} + +.site-meta { + padding: 20px 0; + color: white; + background: $black-deep; + + +tablet-mobile() { + box-shadow: 0 0 16px rgba(0, 0, 0, 0.5); + } +} + +.brand { + padding: 0; + background: none; + + &:hover { + color: white; + } +} + +.site-subtitle { + margin: 10px 10px 0; + font-weight: initial; +} + +.custom-logo-image { + margin-top: 20px; + +tablet-mobile() { + hide(); + } +} + +.site-search form { + hide(); +} diff --git a/themes/next/source/css/_schemes/Pisces/_layout.styl b/themes/next/source/css/_schemes/Pisces/_layout.styl new file mode 100644 index 0000000..d887d5b --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/_layout.styl @@ -0,0 +1,105 @@ +.header { + position: relative; + margin: 0 auto; + width: $content-desktop; + + +desktop-large() { + width: $content-desktop-large; + } + +desktop-largest() { + width: $content-desktop-largest; + } + +tablet-mobile() { + width: auto; + } +} + +.header-inner { + position: absolute; + top: 0; + overflow: hidden; + padding: 0; + width: $sidebar-desktop; + background: white; + box-shadow: $box-shadow-inner; + border-radius: $border-radius-inner; + + +desktop-large() { + .container & { width: $sidebar-desktop; } + } + +tablet-mobile() { + position: relative; + width: auto; + border-radius: initial; + } +} + +.main { + clearfix(); +} + +.container .main-inner { + + +tablet-mobile() { + width: auto; + } +} + +.content-wrap { + float: right; + box-sizing: border-box; + padding: $content-desktop-padding; + width: $content-wrap; + background: white; + min-height: 700px; + box-shadow: $box-shadow-inner; + border-radius: $border-radius-inner; + + +tablet() { + width: 100%; + padding: 20px; + border-radius: initial; + } + +mobile() { + width: 100%; + padding: 20px; + min-height: auto; + border-radius: initial; + } +} + +.sidebar { + position: static; + float: left; + margin-left: -100%; + width: $sidebar-desktop; + background: $body-bg-color; + box-shadow: none; + + +tablet-mobile() { + hide(); + } +} + +.sidebar-toggle { display: none; } + +.footer-inner { + padding-left: 260px; + + +tablet-mobile() { + width: auto; + padding-left: 0 !important; + padding-right: 0 !important; + } +} + +.sidebar-position-right { + .header-inner { right: 0; } + .content-wrap { float: left; } + .sidebar { float: right; } + + .footer-inner { + padding-left: 0; + padding-right: 260px; + } +} diff --git a/themes/next/source/css/_schemes/Pisces/_menu.styl b/themes/next/source/css/_schemes/Pisces/_menu.styl new file mode 100644 index 0000000..b8ca1c3 --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/_menu.styl @@ -0,0 +1,87 @@ +.site-nav { + border-top: none; + + +tablet() { + display: none !important; + } +} + +.site-nav-on { + +tablet() { + display: block !important; + } +} + +.menu-item-active a { + background: #f9f9f9; + border-bottom-color: white; + + badges = hexo-config('menu_settings.badges'); + if not badges { + &:after { + content: " "; + position: absolute; + top: 50%; + margin-top: -3px; + right: 15px; + width: 6px; + height: 6px; + background-color: $grey; + circle(); + } + } +} + +.menu .menu-item { + show(); + margin: 0; + + a, span.exturl { + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + transition-property: background-color; + the-transition(); + + &:hover { + @extend .menu-item-active a; + } + + disable-touch-hover(); + } + + .badge { + display: inline-block; + padding: 2px 5px; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: $grey-light; + border-radius: 10px; + float: right; + margin: 0.35em 0 0 0; + text-shadow: 1px 1px 0px rgba(0,0,0,0.1); + } + + br { display: none; } +} + +.btn-bar { + background-color: white; +} + +.site-nav-toggle { + left: 20px; + top: 50%; + + transform: translateY(-50%); + + +tablet() { + show(); + } +} diff --git a/themes/next/source/css/_schemes/Pisces/_sidebar.styl b/themes/next/source/css/_schemes/Pisces/_sidebar.styl new file mode 100644 index 0000000..cd30221 --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/_sidebar.styl @@ -0,0 +1,121 @@ +.use-motion .sidebar .motion-element { opacity: 1; } + +.sidebar { + right: auto; + bottom: auto; + + // Do NOT delete this line + // or Affix (position: fixed) will not work in Google Chrome. + -webkit-transform: none; + + a, span.exturl { + color: $black-light; + + &:hover { + color: $black-deep; + border-bottom-color: $black-deep; + } + } +} + +.sidebar-inner { + //padding: 20px 10px 0; + box-sizing: border-box; + width: $sidebar-desktop; + color: $text-color; + background: white; + box-shadow: $box-shadow; + border-radius: $border-radius; + if (hexo-config('motion.enable') and hexo-config('motion.transition.sidebar')) { opacity: 0; } + + &.affix { + position: fixed; + top: $sidebar-offset; + } + + &.affix-bottom { + position: absolute; + } +} + +.site-overview { + //margin: 0 2px; + text-align: left; +} + +.site-author { + clearfix(); +} + +.site-state-item { + padding: 0 10px; +} + +.feed-link, .chat { + border-top: 1px dotted $grey-light; + border-bottom: 1px dotted $grey-light; + text-align: center; + a { + show(); + color: $orange; + border: none !important; + + &:hover { + background: none; + color: darken($orange, 20%); + + i { color: darken($orange, 20%); } + } + } +} + +.links-of-author { + //clearfix(); + display: flex; + flex-wrap: wrap; + justify-content: center; + + span.exturl { + font-size: 13px; + } +} + +.links-of-author-item { + sidebar-inline-links-item(); + a:before, span.exturl:before { display: none; } + a, span.exturl { + border-bottom: none; + text-decoration: underline; + } + + a, span.exturl { + show(); + text-decoration: none; + + &:hover { + border-radius: 4px; + background: $gainsboro; + } + } + + .fa { + margin-right: 2px; + font-size: 16px; + } + .fa-globe { font-size: 15px; } +} + +.links-of-blogroll { + text-align: center; + padding: 3px 0 0; +} +.links-of-blogroll-item { padding: 0; } +.links-of-blogroll-inline { + clearfix(); + + .links-of-blogroll-item { + sidebar-inline-links-item(); + display: inline-block; + if !hexo-config('social_icons.icons_only') { width: unset; } + } +} diff --git a/themes/next/source/css/_schemes/Pisces/_sub-menu.styl b/themes/next/source/css/_schemes/Pisces/_sub-menu.styl new file mode 100644 index 0000000..795e7b1 --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/_sub-menu.styl @@ -0,0 +1,38 @@ +.sub-menu { + margin: 0; + padding: 6px 0; + background: #fff !important; + border-bottom: 1px solid $table-border-color; +} + +.sub-menu .menu-item { + display: inline-block !important; + + & a, span.exturl { + padding: initial !important; + margin: 5px 10px; + } + + & a:hover, span.exturl:hover { + background: initial !important; + color: $sidebar-highlight; + } +} + +.sub-menu .menu-item-active a { + background: #fff !important; + color: $sidebar-highlight; + border-bottom-color: $sidebar-highlight; + + &:hover { + background: #fff !important; + border-bottom-color: $sidebar-highlight; + } + + badges = hexo-config('menu_settings.badges'); + if not badges { + &:after { + content: initial; + } + } +} diff --git a/themes/next/source/css/_schemes/Pisces/index.styl b/themes/next/source/css/_schemes/Pisces/index.styl new file mode 100644 index 0000000..75b63c3 --- /dev/null +++ b/themes/next/source/css/_schemes/Pisces/index.styl @@ -0,0 +1,5 @@ +@import "_layout"; +@import "_brand"; +@import "_menu"; +@import "_sub-menu"; +@import "_sidebar"; diff --git a/themes/next/source/css/_variables/Gemini.styl b/themes/next/source/css/_variables/Gemini.styl new file mode 100644 index 0000000..0bfa6c8 --- /dev/null +++ b/themes/next/source/css/_variables/Gemini.styl @@ -0,0 +1,21 @@ +// Variables of Gemini scheme +// ================================================= + +@import "Pisces.styl"; + +// Settings for some of the most global styles. +// -------------------------------------------------- +$body-bg-color = #eee + +// Borders. +// -------------------------------------------------- +$box-shadow-inner = 0 2px 2px 0 rgba(0,0,0,.12), 0 3px 1px -2px rgba(0,0,0,.06), 0 1px 5px 0 rgba(0,0,0,.12) +$box-shadow = 0 2px 2px 0 rgba(0,0,0,.12), 0 3px 1px -2px rgba(0,0,0,.06), 0 1px 5px 0 rgba(0,0,0,.12), 0 -1px .5px 0 rgba(0,0,0,.09) + +$border-radius-inner = initial +$border-radius = initial +//$border-radius-inner = 0 0 3px 3px; +//$border-radius = 3px; + +// Back to top +$b2t-sidebar-bg-color = $body-bg-color diff --git a/themes/next/source/css/_variables/Mist.styl b/themes/next/source/css/_variables/Mist.styl new file mode 100644 index 0000000..8ead36e --- /dev/null +++ b/themes/next/source/css/_variables/Mist.styl @@ -0,0 +1,13 @@ +// Variables of Mist scheme +// ================================================= + +$font-size-headings-base = 26px + +$brand-color = $black-deep +$brand-hover-color = $brand-color + +$site-meta-text-align = left +$posts-collapse-left = 0 + +$btn-default-color = $link-color +$btn-default-bg = transparent diff --git a/themes/next/source/css/_variables/Muse.styl b/themes/next/source/css/_variables/Muse.styl new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/css/_variables/Pisces.styl b/themes/next/source/css/_variables/Pisces.styl new file mode 100644 index 0000000..9a4aa17 --- /dev/null +++ b/themes/next/source/css/_variables/Pisces.styl @@ -0,0 +1,79 @@ +// Variables of Pisces scheme +// ================================================= + +// Settings for some of the most global styles. +// -------------------------------------------------- +$body-bg-color = #f5f7f9 + +$sidebar-width = hexo-config('sidebar.width') is a 'unit' ? hexo-config('sidebar.width') : 240 +$sidebar-desktop = unit($sidebar-width, 'px') +$content-wrap = 'calc(100% - %s)' % unit($sidebar-width + $sidebar-offset, 'px') + +$content-desktop = 'calc(100% - %s)' % unit($content-desktop-padding / 2, 'px') +$content-desktop-large = 1160px +$content-desktop-largest = 73% + + +// Borders +// -------------------------------------------------- +$box-shadow-inner = initial; +$box-shadow = initial; + +$border-radius-inner = initial; +$border-radius = initial; + + +// Header +// -------------------------------------------------- +$subtitle-color = $gray-lighter + +// Sidebar +// -------------------------------------------------- +$sidebar-nav-hover-color = $orange +$sidebar-highlight = $orange + +$site-author-image-width = 120px +$site-author-image-border-width = 1px +$site-author-image-border-color = $gainsboro + +$site-author-name-margin = 0 +$site-author-name-color = $black-deep +$site-author-name-align = center +$site-author-name-weight = $font-weight-bold + +$site-description-font-size = 13px +$site-description-color = $grey-dark +$site-description-margin-top = 0 +$site-description-align = center + +$site-state-item-count-font-size = 16px +$site-state-item-name-font-size = 13px +$site-state-item-name-color = $grey-dark +$site-state-item-border-color = $gainsboro + +$toc-link-color = $grey-dim +$toc-link-border-color = $grey-light +$toc-link-hover-color = black +$toc-link-hover-border-color = black +$toc-link-active-color = $sidebar-highlight +$toc-link-active-border-color = $sidebar-highlight +$toc-link-active-current-color = $sidebar-highlight +$toc-link-active-current-border-color = $sidebar-highlight + + +// Components +// -------------------------------------------------- + +// Button +$btn-default-radius = 2px +$btn-default-bg = white +$btn-default-color = $text-color +$btn-default-border-color = $text-color +$btn-default-hover-color = white +$btn-default-hover-bg = $black-deep + +// Back to top +$b2t-opacity = .6 +$b2t-position-bottom = -100px +$b2t-position-bottom-on = 30px +$b2t-sidebar-bg-color = $body-bg-color diff --git a/themes/next/source/css/_variables/base.styl b/themes/next/source/css/_variables/base.styl new file mode 100644 index 0000000..663ed07 --- /dev/null +++ b/themes/next/source/css/_variables/base.styl @@ -0,0 +1,385 @@ +// +// Variables +// ================================================= + + +// Colors +// colors for use across theme. +// -------------------------------------------------- +$whitesmoke = #f5f5f5 +$gainsboro = #eee +$gray-lighter = #ddd +$grey-light = #ccc +$grey = #bbb +$grey-dark = #999 +$grey-dim = #666 +$black-light = #555 +$black-dim = #333 +$black-deep = #222 +$red = #ff2a2a +$blue-bright = #87daff +$blue = #0684bd +$blue-deep = #262a30 +$orange = #fc6423 + + +// Scaffolding +// Settings for some of the most global styles. +// -------------------------------------------------- +// Global text color on +$text-color = $black-light + +// Global link color. +$link-color = $black-light +$link-hover-color = $black-deep +$link-decoration-color = $grey-dark +$link-decoration-hover-color = $black-deep + +// Global border color. +$border-color = $grey-light + +// Background color for +$body-bg-color = white + +// Selection +$selection-bg = $blue-deep +$selection-color = white + + +// Typography +// Font, line-height, and elements colors. +// -------------------------------------------------- +get_font_family(config) { + custom_family = hexo-config('font.' + config + '.family') + return custom_family is a 'string' ? custom_family : null +} + +// Font families. +$font-family-chinese = "PingFang SC", "Microsoft YaHei" + +$font-family-base = $font-family-chinese, sans-serif +$font-family-base = get_font_family('global'), $font-family-chinese, sans-serif if get_font_family('global') + +$font-family-logo = $font-family-base +$font-family-logo = get_font_family('logo'), $font-family-base if get_font_family('logo') + +$font-family-headings = $font-family-base +$font-family-headings = get_font_family('headings'), $font-family-base if get_font_family('headings') + +$font-family-posts = $font-family-base +$font-family-posts = get_font_family('posts'), $font-family-base if get_font_family('posts') + +$font-family-monospace = consolas, Menlo, $font-family-chinese, monospace +$font-family-monospace = get_font_family('codes'), consolas, Menlo, $font-family-chinese, monospace if get_font_family('codes') + +$font-family-icons = 'FontAwesome' + + +// Font Weight +$font-weight-lighter = 200 +$font-weight-light = 300 +$font-weight-normal = 400 +$font-weight-bold = 600 +$font-weight-bolder = 700 + + +// Font size +$font-size-base = 14px +$font-size-base = unit(hexo-config('font.global.size'), px) if hexo-config('font.global.size') is a 'unit' +$font-size-small = $font-size-base - 2px +$font-size-smaller = $font-size-base - 4px +$font-size-large = $font-size-base + 2px +$font-size-larger = $font-size-base + 4px + + +// Headings font size +$font-size-headings-step = 2px +$font-size-headings-base = 24px +$font-size-headings-base = unit(hexo-config('font.headings.size'), px) if hexo-config('font.headings.size') is a 'unit' +$font-size-headings-small = $font-size-headings-base - $font-size-headings-step +$font-size-headings-smaller = $font-size-headings-small - $font-size-headings-step +$font-size-headings-large = $font-size-headings-base + $font-size-headings-step +$font-size-headings-larger = $font-size-headings-large + $font-size-headings-step + +// Global line height +$line-height-base = 2 +$line-height-code-block = 1.6 // Can't be less than 1.3 + + +// Z-index master list +// -------------------------------------------------- +$zindex-bottom = -1 +$zindex-1 = 1010 +$zindex-2 = 1020 +$zindex-3 = 1030 +$zindex-4 = 1040 +$zindex-5 = 1050 + + +// Table +// -------------------------------------------------- +$table-width = 100% +$table-border-color = $gray-lighter +$table-font-size = 14px +$table-content-alignment = left +$table-content-vertical = middle +$table-th-font-weight = 700 +$table-cell-padding = 8px +$table-cell-border-right-color = $gainsboro +$table-cell-border-bottom-color = $gray-lighter +$table-row-odd-bg-color = #f9f9f9 +$table-row-hover-bg-color = $whitesmoke + + +// Code & Code Blocks +// -------------------------------------------------- +$code-font-family = $font-family-monospace +$code-font-size = 14px +$code-font-size = unit(hexo-config('font.codes.size'), px) if hexo-config('font.codes.size') is a 'unit' +$code-border-radius = 3px +$code-foreground = $black-light +$code-background = $gainsboro + + +// Buttons +// -------------------------------------------------- +$btn-font-weight = normal + +$btn-default-radius = 0 +$btn-default-bg = $black-deep +$btn-default-color = white +$btn-default-font-size = 14px +$btn-default-border-width = 2px +$btn-default-border-color = $black-deep +$btn-default-hover-bg = white +$btn-default-hover-color = $black-deep +$btn-default-hover-border-color = $black-deep + + +// Pagination +// -------------------------------------------------- +$pagination-border = $gainsboro + +$pagination-link-bg = transparent +$pagination-link-color = $link-color +$pagination-link-border = $gainsboro + +$pagination-link-hover-bg = transparent +$pagination-link-hover-color = $link-color +$pagination-link-hover-border = $black-deep + +$pagination-active-bg = $grey-light +$pagination-active-color = white +$pagination-active-border = $grey-light + + +// Layout sizes +// -------------------------------------------------- +$content-desktop = 700px +$content-desktop-large = 800px +$content-desktop-largest = 900px + +$content-desktop-padding = 40px +$content-tablet-padding = 10px +$content-mobile-padding = 8px + + +// Headband +// -------------------------------------------------- +$headband-height = 3px +$headband-bg = $black-deep + + +// Section Header +// Variables for header section elements. +// -------------------------------------------------- +$head-bg = transparent + +// Site Meta +$site-meta-text-align = center +$brand-color = white +$brand-hover-color = white +$brand-bg = $black-deep + +$logo-font-size = 20px +$logo-font-size = unit(hexo-config('font.logo.size'), px) if hexo-config('font.logo.size') is a 'unit' + +$site-subtitle-color = $grey-dark +$subtitle-font-size = 13px +$subtitle-color = $grey-dark + +// Menu +$menu-link-border = transparent +$menu-link-hover-border = $black-deep + + +// Posts Expand +// -------------------------------------------------- +$posts-expand-title-font-weight = $font-weight-normal +$post-copyright = { + margin: 2em 0 0, + padding: .5em 1em, + bg: #f9f9f9, + border: { + width: 3px, + style: solid, + color: #ff1700 + } +} + + +// Posts Collpase +// -------------------------------------------------- +$posts-collapse-left = 55px +$posts-collapse-left-mobile = 5px + + +// Sidebar +// Variables for sidebar section elements. +// -------------------------------------------------- +$sidebar-offset = unit(hexo-config('sidebar.offset'), px) if hexo-config('sidebar.offset') is a 'unit' +$sidebar-nav-color = $black-light +$sidebar-nav-hover-color = $whitesmoke +$sidebar-highlight = $blue-bright + +$site-author-image-padding = 2px +$site-author-image-width = 96px +$site-author-image-height = auto +$site-author-image-border-width = 2px +$site-author-image-border-color = $black-dim + +$site-author-name-margin = 5px 0 0 +$site-author-name-color = $whitesmoke +$site-author-name-align = center +$site-author-name-weight = normal + +$site-description-font-size = 14px +$site-description-color = $grey-dark +$site-description-margin-top = 5px +$site-description-align = center + +$site-state-align = center +$site-state-item-count-font-size = 18px +$site-state-item-count-color = inherit +$site-state-item-name-font-size = 13px +$site-state-item-name-color = inherit +$site-state-item-border-color = $black-dim + +$toc-link-color = $grey-dark +$toc-link-border-color = $black-light +$toc-link-hover-color = $grey-light +$toc-link-hover-border-color = $grey-light +$toc-link-active-color = $sidebar-highlight +$toc-link-active-border-color = $sidebar-highlight +$toc-link-active-current-color = $sidebar-highlight +$toc-link-active-current-border-color = $sidebar-highlight + + +// Components +// -------------------------------------------------- +// Back to top +$b2t-opacity = 1 +$b2t-opacity-hover = 0.8 +$b2t-position-bottom = -100px +$b2t-position-bottom-on = 19px +$b2t-position-right = 30px +$b2t-position-right-mobile = 20px +$b2t-font-size = 12px +$b2t-color = white +$b2t-bg-color = $black-deep +$b2t-sidebar-bg-color = $black-deep + +// .post-expand .post-eof +// In Muse scheme, margin above and below the post separator +$post-eof-margin-top = 80px // or 160px for more white space +$post-eof-margin-bottom = 60px // or 120px for less white space + + +// Iconography +// Icons SVG Base64 +// -------------------------------------------------- +// blockquote-center icon +$center-quote-left = '../images/quote-l.svg' +$center-quote-right = '../images/quote-r.svg' + + +// Note colors +// -------------------------------------------------- +// Read note light_bg_offset from NexT config and set in "lbg%" to use it as string variable. +hexo-config('note.light_bg_offset') is a 'unit' ? (lbg = unit(hexo-config('note.light_bg_offset'),"%")) : (lbg = 0) + +// Default +$note-default-border = #777 +$note-default-bg = lighten(spin($note-default-border, 0), 94% + lbg) +$note-default-text = $note-default-border +$note-default-icon = "\f0a9" + +$note-modern-default-border = #e1e1e1 +$note-modern-default-bg = lighten(spin($note-modern-default-border, 10), 60% + (lbg * 4)) +$note-modern-default-text = $grey-dim +$note-modern-default-hover = darken(spin($note-modern-default-text, -10), 32%) + +// Primary +$note-primary-border = #6f42c1 +$note-primary-bg = lighten(spin($note-primary-border, 10), 92% + lbg) +$note-primary-text = $note-primary-border +$note-primary-icon = "\f055" + +$note-modern-primary-border = #e1c2ff +$note-modern-primary-bg = lighten(spin($note-modern-primary-border, 10), 40% + (lbg * 4)) +$note-modern-primary-text = #6f42c1 +$note-modern-primary-hover = darken(spin($note-modern-primary-text, -10), 22%) + +// Info +$note-info-border = #428bca +$note-info-bg = lighten(spin($note-info-border, -10), 91% + lbg) +$note-info-text = $note-info-border +$note-info-icon = "\f05a" + +$note-modern-info-border = #b3e5ef +$note-modern-info-bg = lighten(spin($note-modern-info-border, 10), 50% + (lbg * 4)) +$note-modern-info-text = #31708f +$note-modern-info-hover = darken(spin($note-modern-info-text, -10), 32%) + +// Success +$note-success-border = #5cb85c +$note-success-bg = lighten(spin($note-success-border, 10), 90% + lbg) +$note-success-text = $note-success-border +$note-success-icon = "\f058" + +$note-modern-success-border = #d0e6be +$note-modern-success-bg = lighten(spin($note-modern-success-border, 10), 40% + (lbg * 4)) +$note-modern-success-text = #3c763d +$note-modern-success-hover = darken(spin($note-modern-success-text, -10), 27%) + +// Warning +$note-warning-border = #f0ad4e +$note-warning-bg = lighten(spin($note-warning-border, 10), 88% + lbg) +$note-warning-text = $note-warning-border +$note-warning-icon = "\f06a" + +$note-modern-warning-border = #fae4cd +$note-modern-warning-bg = lighten(spin($note-modern-warning-border, 10), 43% + (lbg * 4)) +$note-modern-warning-text = #8a6d3b +$note-modern-warning-hover = darken(spin($note-modern-warning-text, -10), 18%) + +// Danger +$note-danger-border = #d9534f +$note-danger-bg = lighten(spin($note-danger-border, -10), 92% + lbg) +$note-danger-text = $note-danger-border +$note-danger-icon = "\f056" + +$note-modern-danger-border = #ebcdd2 +$note-modern-danger-bg = lighten(spin($note-modern-danger-border, 10), 35% + (lbg * 4)) +$note-modern-danger-text = #a94442 +$note-modern-danger-hover = darken(spin($note-modern-danger-text, -10), 22%) + + +// Label colors +// -------------------------------------------------- +$label-default = lighten(spin($note-default-border, 0), 89% + lbg) +$label-primary = lighten(spin($note-primary-border, 10), 87% + lbg) +$label-info = lighten(spin($note-info-border, -10), 86% + lbg) +$label-success = lighten(spin($note-success-border, 10), 85% + lbg) +$label-warning = lighten(spin($note-warning-border, 10), 83% + lbg) +$label-danger = lighten(spin($note-danger-border, -10), 87% + lbg) diff --git a/themes/next/source/css/_variables/custom.styl b/themes/next/source/css/_variables/custom.styl new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/css/main.styl b/themes/next/source/css/main.styl new file mode 100644 index 0000000..b0fd780 --- /dev/null +++ b/themes/next/source/css/main.styl @@ -0,0 +1,46 @@ +// CSS Style Guide: http://codeguide.co/#css + + +$scheme = hexo-config('scheme') ? hexo-config('scheme') : 'Muse'; + +$custom_styles = hexo-config('custom_file_path.styles') ? "../../../../../" + hexo-config('custom_file_path.styles') : custom; +$custom_mixins = hexo-config('custom_file_path.mixins') ? "../../../../../" + hexo-config('custom_file_path.mixins') : custom; +$custom_variables = hexo-config('custom_file_path.variables') ? "../../../../../" + hexo-config('custom_file_path.variables') : custom; + +$variables = base $scheme $custom_variables; +$mixins = base $scheme $custom_mixins; + + +// Variables Layer +// -------------------------------------------------- +for $variable in $variables + @import "_variables/" + $variable; + + +// Mixins Layer +// -------------------------------------------------- +for $mixin in $mixins + @import "_mixins/" + $mixin; + + +// Common Layer +// -------------------------------------------------- + +// Scaffolding +@import "_common/scaffolding"; + +// Layout +@import "_common/outline"; + +// Components +@import "_common/components"; + + +// Schemes Layer +// -------------------------------------------------- +@import "_schemes/" + $scheme; + + +// Custom Layer +// -------------------------------------------------- +@import "_custom/" + $custom_styles; diff --git a/themes/next/source/fonts/.gitkeep b/themes/next/source/fonts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/next/source/images/algolia_logo.svg b/themes/next/source/images/algolia_logo.svg new file mode 100644 index 0000000..4702423 --- /dev/null +++ b/themes/next/source/images/algolia_logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/themes/next/source/images/apple-touch-icon-next.png b/themes/next/source/images/apple-touch-icon-next.png new file mode 100644 index 0000000000000000000000000000000000000000..86a0d1d33bc2ae8a0416ebba67d1bbb60aa29c38 GIT binary patch literal 1544 zcmV+j2KV`iP)Px#OHfQyMIs_1FE20E)zv2_C(h2!$jHdT!ovUm|GT@p zWo2de_xJq#{8d#|IyyQ>M@Qx533`J9dBE>4W{r{KFjMLpp4N$2iMRJCGfPM7@le{)BPzVgz zp?ByVdWYVj|4-=tUS5SkR}Te{-Fr#UrxsqJ9+ed6YY9KmoXq6n^B9DRMwF@T2u)qH z!=wh-sAdPH_8fFy0-I1d68Zp);!FTtdweUZc2nr)?5^hh99w*FOU z@NYFT^!v%iPrGly0Q*+sLVtesYh+the|AET4WK8lR^dv1IZ-3FhAuiK5V|-?gf2#j z&_yW`x^K3G&OKl4kP$$ih@p!?B6M+)2(4Rz(6$=G6WT(;6uP)cgkEi(xI(Yi7`D(w zo(Y6r>FyarFV`4e&^@lk@PfWf|DSeM5}?agV`>aDXt-c%3^!*Ij0g0Q8X5*mjbRC$9oB0MOK51O_53LU8p`RzcozW; zx3wC>721@58xhdzx?E$}LW9xpjUu4UhOZO>Z8Us+D+1bR_}&sQXJ}B}yadb|8fraT zV|YUw4WF(>KpPF;mjp}*eTo5XG<+u!&}PFoihwq!uhI`XPYZ1{e1FDs0nqR?Ym5YF zqv0DwK${KUMFjNpqb>9(0vg8Y^d$otmiJc}L#s|8wD~Z~fHtQu8PG6DgwAq-&}PFY z1KMo(WI!7YpAcwxN`zJiV(2pgG_<|npE+y^Z8UsBppAx42(;Po$$&N*J{izP!?y+W zi2YsL=fkK`KXsymhWcmL#_y-S*Y&V_u#us^S9pDvbMSkxv7uidoc36Qa`CQ+5AC^d z=CTJ%0ZkrQ=v?t(E_)>OCL8YaU+nX$$--iAUNb;m^jBG2!5*5enU|exmY3aQcv=O- znjO}ft-yw2|VZs2g-W`Epf@n*5gsJ2LLtC^nFlq8+?%Xc!{Z3_|hFI~!oeU$ep z%4jE9Y9n1{ah68@W{++)8|fc~HIM4)QycHpg}3P<_K$M$L~}7jBXs?6bDwjvo+I;D zsoi}398La6+~*osM@45l#ptQ6MrZFz597*no3v)ffsUEletxWeW~`A+ntYvaeQj?e z*kSqGXZsrrhZ>IsxH$({IR{z11zkG`GR^j$#{%z41lp5(Ne#glJc5nj-BUaKR!X?# zzN6F-<0?&z;|30?9q0Z}oHG*G)Q)s%Db~RbjMU)mp-u&Dmm0zkF~o9eRh}p?ByVnjn4wmEZ*c=^{+H00012dQ@0+Qek%>aB^>E zX>4U6ba`-PAZc)PV*mhnoa6Eg2ys>@D9TUE%t_@^00ScnE@KN5BNI!L6ay0=M1VBI uWCJ6!R3OXP)X2ol#2my2%YaCrN-hBE7ZG&wLN%2D0000`v literal 0 HcmV?d00001 diff --git a/themes/next/source/images/avatar.gif b/themes/next/source/images/avatar.gif new file mode 100644 index 0000000000000000000000000000000000000000..28411fd0eadae59f521f6914983f61731b759e77 GIT binary patch literal 1793 zcmc(e`#al*0*AjzgfxoGy{05C>!#LYnzk<02ECx3bGphio%U$lDm65-%4+M{#3i&v zF)dm;w^A*|s?pmzaZMtK$W?-bB(5QZNKm$&f8xA9e13kP=kvU$gHL&RM+pD{pap>K z?d^{rKQig`f&P9LlQ}99ZEbD!GZ=ckeqnxIr_;%&rX*sqfX7oR6eGjKTn=YwU|>ul znHV4Eu-TiNo08GdRgGqCZH+xRs9IQ9RH^1>XE!!BhKGj6$Hs&L!K6&KzP>J#N(Fqr zR;wLkv2^R}tE;Qa%ge0(e$C3t(&C~Rwe+~VRQXLwjF5-F8RA)i0YW~)@HafxJI ztDT*l9U2_uak;ZIGkh*rIx(SEs}~j)c6N3ceSN_H8_49XM%yH8dPZgz zB|GQ#ox8bt`S%J6i+(M>|DdF_?BS#GipRfIR#n&3KB=pJ+VJdoW7CV~me${2w!NaZ zzkc)f-TOa2{MkY4?CS36?V~f8{j7n(A@(q5gv;X#grZTgWNdswDw~{=E0ohSvvWmY zGjmfr8#E|v4TQF_Gc`8@&-08hUU*RDV_F8x1dNvf-Q-&Xu=7I9zp8rf8bT6VFu-K1 zp`BZ_y|*WcV(5^u3r8Z?_Lqctc&JNK!cAN~et3&LSM%8m)RAlO)U=qKp>M&~miA0b zXA%^BkIE!eHSh{;JcHumYCCz&Hv4Tw58W8&TJUDzpa4EMr)`^Hk&pLH2#~xp+Q){T zG-#gq>4cV;j$FAa0T2e?IaPM3FG2TOT?&y331G&9%UI%3h^7{jcjWlZnLQlvaK26P z&Du^Nq0124n0#&HRTS@~)vg(wn2`PSjR|i?^*UZ1csS?N{1geB^pd#*wq=(WWX@1r zv5uJro0nX~&}D6Yd!Wu)zT+Ue>E{=z;@y4ScOiE3p8m&MiDr4no6=S6wRJ0iXM)6C z>5pRjYy47cB%WEd*@}L z)G5pbE$Ge-JTxqUc)`~&KYX(KG|XUNFEaMuwR^Y2g@rcImI_#CkxM7>ixb}G;9?cd z^^|X7xcI>?8NVEgi-@HW4-}Ub7>j!l$Wovi5owxWR~&d9OE??vXD<~+R;ZIoXph72 zS^L1LPNaHdal;oq)mV?S`yd78YGomCf{IVUjRFlwBDq0OKa}J>R-c=kw&xj^j*rW0 zJokM-@lH<&)bi_qsQp$(*Ii?w!M$!>g`Nv;bl`;yk4f(}y&Kco3r_*64>%zjTOCfdB@J*VqOvb=oZa>C@u2Lduq1`izsNs8+QAq_ECS490Gm#@C{iK=v!G1IsXpV z76Y`Dp+T;=aPS1u7-^6eAPsE=Fh7@&a6*rEQ0-lhxp>WU>m<>B4%df*W$pD4< zwi<>)ym@Zqoa-)!J73I;#~fq9mAj64U9-2aXsJvo1GRX7EFSwyF_W3m*mQ`Z=p-3( z>GXe!z@|YJ9AMi5`@}EICbT2b$BaPO()mC;$h}Hdi}&W0Cv1_IH70cDzqaN2JSbZ{ z@pl2olL|1mz}I#g;^OjPiAXY4L|Uj@Cb#<|4jBr+K^v+&jNRfP(-(RnH>Uj+<-koQ zK-&m;?TK*D0A<8f;Q`Fsn4l2KVgu@{NK)X|`%2r)S=kN5!CVj+xSEq1+Eb$0bDoB-XOPkoZY08jeqI*A;y_?flt= zh0FOL^(F`4ls>(Et~Gpqs*@n|@qZg1LiHe{HoHzns0oD{ebkq7Snv{|$@>0t7h-12 zVdLd19AD|Po + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-by-nc-sa.svg b/themes/next/source/images/cc-by-nc-sa.svg new file mode 100644 index 0000000..bf6bc26 --- /dev/null +++ b/themes/next/source/images/cc-by-nc-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-by-nc.svg b/themes/next/source/images/cc-by-nc.svg new file mode 100644 index 0000000..3697349 --- /dev/null +++ b/themes/next/source/images/cc-by-nc.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-by-nd.svg b/themes/next/source/images/cc-by-nd.svg new file mode 100644 index 0000000..934c61e --- /dev/null +++ b/themes/next/source/images/cc-by-nd.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-by-sa.svg b/themes/next/source/images/cc-by-sa.svg new file mode 100644 index 0000000..463276a --- /dev/null +++ b/themes/next/source/images/cc-by-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-by.svg b/themes/next/source/images/cc-by.svg new file mode 100644 index 0000000..4bccd14 --- /dev/null +++ b/themes/next/source/images/cc-by.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/cc-zero.svg b/themes/next/source/images/cc-zero.svg new file mode 100644 index 0000000..0f86639 --- /dev/null +++ b/themes/next/source/images/cc-zero.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/source/images/favicon-16x16-next.png b/themes/next/source/images/favicon-16x16-next.png new file mode 100644 index 0000000000000000000000000000000000000000..de8c5d3a5f8215c3f7b095c9e284e061bda65f86 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%A+0*}aIAe|4wj2{=>aRxHH1AIbUeKHFb!9Yn#DLy_vBO^maMdk0`zd#Zw z0tY~@yu3V6p{Ay$mX_Az$B+O0`?r4m`qisfPnj~MwY3$f@^9nqaG!lvI6;x#X;^) z4C~IxyaaMM3p^r=f%IJvW-JI^#13S11^9%x`eYU=fq|TyoQjGHgbgIWfB*jF%NI8{ zx2;>Zu3x`iO-&6bs0aoM3JPUqWq0n}*}Qo(P|Le_@AmKC57(%ytPE5IHwwrGiqzKD z{{8#c)YSCg!Gk}3{P_R>|Gj(no6k4eJyZq^Jd4Jw%*zpM57yY9pK zMcQgs21j>QigM54W!RCVazM0UCtHDVhG46xh5pA!(TqDDnlwLEm~eRS(JM@6p3293 zNMwDW(!P~x!s$%jghh-wOB)P19fJ88oOHECttPa5*~LF^Vp#0%pwrbyN~~|szWB|o z_J4%n&U>rEu5s2%I6jof{A;(j!|>g|;yo?%ZfFGheBJp^9_Zijs*s41pu}>8f};Gi z%$!t(lFEWqh0KDIWCn(cIgdZ_a1@4VXq@stea7=?5CgL^w_Y;0u(GiCWD#az1(ybs x!zs+ln?n>%-?(z($eANDN7zp{cr5VJV|XPlSn|oqbSlsa22WQ%mvv4FO#p=N1nU3* literal 0 HcmV?d00001 diff --git a/themes/next/source/images/loading.gif b/themes/next/source/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/themes/next/source/images/logo.svg b/themes/next/source/images/logo.svg new file mode 100644 index 0000000..cbb3937 --- /dev/null +++ b/themes/next/source/images/logo.svg @@ -0,0 +1,23 @@ + +image/svg+xml diff --git a/themes/next/source/images/placeholder.gif b/themes/next/source/images/placeholder.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/themes/next/source/images/quote-l.svg b/themes/next/source/images/quote-l.svg new file mode 100644 index 0000000..6dd94a4 --- /dev/null +++ b/themes/next/source/images/quote-l.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/themes/next/source/images/quote-r.svg b/themes/next/source/images/quote-r.svg new file mode 100644 index 0000000..312b64d --- /dev/null +++ b/themes/next/source/images/quote-r.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/themes/next/source/images/searchicon.png b/themes/next/source/images/searchicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c21ed01f2374c4fbc4c99ae90d930b5012cdbc9 GIT binary patch literal 759 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX0wgC|rfC8xmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^> z;_2(k{+NZC(M;$-n8OMN2F6>SE{-79QY?=9mfa(ubKkqFi;234U_-nuM;M~c^X zJepfJ>D-Nou3o30+Z{i+O+IMmusEt5u|M$4g}aqQeWE~s0gKL_&q9%cmS1GLtM9#i zb52ih{mr@G|L&PtnSU=>``%`sNoub$m-L$4Up3EYv023iEsLf40`)!FALAx{ zI9w{zVeCHJ)R6DLtKs|hb`9^aYNu`^&4Pm6jYAAViZD8ER`{GqUCh(F7kA37g) zaqiAAd2Zr*Xs^wpiz&GuGzn>PTl+sZzk9Vq{fXaN-ak4MlD8Bq z?>IeWeTwcHu2nnLle142`rnuP*cxZ`GNFO>T<^Snhc^07%5?tX&?)3UZRVu!X1TiO z-0wg65Owl%tV*hM!`d^!JPrG2C^#S79Hb!GBHG20yk@eh_q5n)lG7e7>Dln})Lqf_ zTkSp_vnhRafNQzcS*_j6fsErf{#M&WOkA_<-Hh*r52s&|ozzkO{MJMBigqVkX8iy! zlO!pTiNJ_gEpd$~Nl7e8wMs5Z1yT$~28Ncp1}3@&#vulVR;DIah8Efe237_Jes}Go zQ8eV{r(~v8;?`i_(Ec2#K@wy`aDG}zd16s2gJVj5QmTSyZen_BP-= scrollHeight - offsetBottom)) return 'bottom'; + + return false; + }; + + Affix.prototype.getPinnedOffset = function() { + if (this.pinnedOffset) return this.pinnedOffset; + this.$element.removeClass(Affix.RESET).addClass('affix'); + var scrollTop = this.$target.scrollTop(); + var position = this.$element.offset(); + return (this.pinnedOffset = position.top - scrollTop); + }; + + Affix.prototype.checkPositionWithEventLoop = function() { + setTimeout($.proxy(this.checkPosition, this), 1); + }; + + Affix.prototype.checkPosition = function() { + if (!this.$element.is(':visible')) return; + + var height = this.$element.height(); + var offset = this.options.offset; + var offsetTop = offset.top; + var offsetBottom = offset.bottom; + var scrollHeight = Math.max($(document).height(), $(document.body).height()); + + /* eslint-disable */ + if (typeof offset !== 'object') offsetBottom = offsetTop = offset; + if (typeof offsetTop === 'function') offsetTop = offset.top(this.$element); + if (typeof offsetBottom === 'function') offsetBottom = offset.bottom(this.$element); + /* eslint-enable */ + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom); + + if (this.affixed !== affix) { + if (this.unpin != null) this.$element.css('top', ''); + + var affixType = 'affix' + (affix ? '-' + affix : ''); + var e = new $.Event(affixType + '.bs.affix'); + + this.$element.trigger(e); + + if (e.isDefaultPrevented()) return; + + this.affixed = affix; + this.unpin = affix === 'bottom' ? this.getPinnedOffset() : null; + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix'); + } + + if (affix === 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }); + } + }; + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.affix'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.affix', data = new Affix(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.affix; + + $.fn.affix = Plugin; + $.fn.affix.Constructor = Affix; + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function() { + $.fn.affix = old; + return this; + }; + + // AFFIX DATA-API + // ============== + + $(window).on('load', function() { + $('[data-spy="affix"]').each(function() { + var $spy = $(this); + var data = $spy.data(); + + data.offset = data.offset || {}; + + /* eslint-disable */ + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom; + if (data.offsetTop != null) data.offset.top = data.offsetTop; + /* eslint-enable */ + + Plugin.call($spy, data); + }); + }); + +}(jQuery)); diff --git a/themes/next/source/js/algolia-search.js b/themes/next/source/js/algolia-search.js new file mode 100644 index 0000000..06decd8 --- /dev/null +++ b/themes/next/source/js/algolia-search.js @@ -0,0 +1,114 @@ +/* global instantsearch, CONFIG */ + +$(document).ready(function() { + var algoliaSettings = CONFIG.algolia; + var isAlgoliaSettingsValid = algoliaSettings.applicationID + && algoliaSettings.apiKey + && algoliaSettings.indexName; + + if (!isAlgoliaSettingsValid) { + window.console.error('Algolia Settings are invalid.'); + return; + } + + var search = instantsearch({ + appId : algoliaSettings.applicationID, + apiKey : algoliaSettings.apiKey, + indexName : algoliaSettings.indexName, + searchFunction: function(helper) { + var searchInput = $('#algolia-search-input').find('input'); + + if (searchInput.val()) { + helper.search(); + } + } + }); + + // Registering Widgets + [ + instantsearch.widgets.searchBox({ + container : '#algolia-search-input', + placeholder: algoliaSettings.labels.input_placeholder + }), + + instantsearch.widgets.hits({ + container : '#algolia-hits', + hitsPerPage: algoliaSettings.hits.per_page || 10, + templates : { + item: function(data) { + var link = data.permalink ? data.permalink : CONFIG.root + data.path; + return ( + '' + + data._highlightResult.title.value + + '' + ); + }, + empty: function(data) { + return ( + '
    ' + + algoliaSettings.labels.hits_empty.replace(/\$\{query}/, data.query) + + '
    ' + ); + } + }, + cssClasses: { + item: 'algolia-hit-item' + } + }), + + instantsearch.widgets.stats({ + container: '#algolia-stats', + templates: { + body: function(data) { + var stats = algoliaSettings.labels.hits_stats + .replace(/\$\{hits}/, data.nbHits) + .replace(/\$\{time}/, data.processingTimeMS); + return ( + stats + + '' + + ' Algolia' + + '' + + '
    ' + ); + } + } + }), + + instantsearch.widgets.pagination({ + container : '#algolia-pagination', + scrollTo : false, + showFirstLast: false, + labels : { + first : '', + last : '', + previous: '', + next : '' + }, + cssClasses: { + root : 'pagination', + item : 'pagination-item', + link : 'page-number', + active : 'current', + disabled: 'disabled-item' + } + }) + ].forEach(search.addWidget, search); + + search.start(); + + $('.popup-trigger').on('click', function(e) { + e.stopPropagation(); + $('body') + .append('
    ') + .css('overflow', 'hidden'); + $('.popup').toggle(); + $('#algolia-search-input').find('input').focus(); + }); + + $('.popup-btn-close').click(function() { + $('.popup').hide(); + $('.algolia-pop-overlay').remove(); + $('body').css('overflow', ''); + }); + +}); diff --git a/themes/next/source/js/exturl.js b/themes/next/source/js/exturl.js new file mode 100644 index 0000000..806a29e --- /dev/null +++ b/themes/next/source/js/exturl.js @@ -0,0 +1,14 @@ +$(document).ready(function() { + + // Create Base64 Object + /* eslint-disable */ + var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}; + + $('.exturl').on('click', function() { + var $exturl = $(this).attr('data-url'); + var $decurl = Base64.decode($exturl); + window.open($decurl, '_blank'); + return false; + }); + +}); diff --git a/themes/next/source/js/js.cookie.js b/themes/next/source/js/js.cookie.js new file mode 100644 index 0000000..97b4fea --- /dev/null +++ b/themes/next/source/js/js.cookie.js @@ -0,0 +1,166 @@ +/*! + * JavaScript Cookie v2.1.4 + * https://github.com/js-cookie/js-cookie + * + * Copyright 2006, 2015 Klaus Hartl & Fagner Brack + * Released under the MIT license + */ + +;(function (factory) { + var registeredInModuleLoader = false; + if (typeof define === 'function' && define.amd) { + define(factory); + registeredInModuleLoader = true; + } + if (typeof exports === 'object') { + module.exports = factory(); + registeredInModuleLoader = true; + } + if (!registeredInModuleLoader) { + var OldCookies = window.Cookies; + var api = window.Cookies = factory(); + api.noConflict = function () { + window.Cookies = OldCookies; + return api; + }; + } +}(function () { + function extend () { + var i = 0; + var result = {}; + for (; i < arguments.length; i++) { + var attributes = arguments[ i ]; + for (var key in attributes) { + result[key] = attributes[key]; + } + } + return result; + } + + function init (converter) { + function api (key, value, attributes) { + var result; + if (typeof document === 'undefined') { + return; + } + + // Write + + if (arguments.length > 1) { + attributes = extend({ + path: '/' + }, api.defaults, attributes); + + if (typeof attributes.expires === 'number') { + var expires = new Date(); + expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5); + attributes.expires = expires; + } + + // We're using "expires" because "max-age" is not supported by IE + attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ''; + + try { + result = JSON.stringify(value); + if (/^[\{\[]/.test(result)) { + value = result; + } + } catch (e) {} + + if (!converter.write) { + value = encodeURIComponent(String(value)) + .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); + } else { + value = converter.write(value, key); + } + + key = encodeURIComponent(String(key)); + key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); + key = key.replace(/[\(\)]/g, escape); + + var stringifiedAttributes = ''; + + for (var attributeName in attributes) { + if (!attributes[attributeName]) { + continue; + } + stringifiedAttributes += '; ' + attributeName; + if (attributes[attributeName] === true) { + continue; + } + stringifiedAttributes += '=' + attributes[attributeName]; + } + return (document.cookie = key + '=' + value + stringifiedAttributes); + } + + // Read + + if (!key) { + result = {}; + } + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling "get()" + var cookies = document.cookie ? document.cookie.split('; ') : []; + var rdecode = /(%[0-9A-Z]{2})+/g; + var i = 0; + + for (; i < cookies.length; i++) { + var parts = cookies[i].split('='); + var cookie = parts.slice(1).join('='); + + if (cookie.charAt(0) === '"') { + cookie = cookie.slice(1, -1); + } + + try { + var name = parts[0].replace(rdecode, decodeURIComponent); + cookie = converter.read ? + converter.read(cookie, name) : converter(cookie, name) || + cookie.replace(rdecode, decodeURIComponent); + + if (this.json) { + try { + cookie = JSON.parse(cookie); + } catch (e) {} + } + + if (key === name) { + result = cookie; + break; + } + + if (!key) { + result[name] = cookie; + } + } catch (e) {} + } + + return result; + } + + api.set = api; + api.get = function (key) { + return api.call(api, key); + }; + api.getJSON = function () { + return api.apply({ + json: true + }, [].slice.call(arguments)); + }; + api.defaults = {}; + + api.remove = function (key, attributes) { + api(key, '', extend(attributes, { + expires: -1 + })); + }; + + api.withConverter = init; + + return api; + } + + return init(function () {}); +})); diff --git a/themes/next/source/js/motion.js b/themes/next/source/js/motion.js new file mode 100644 index 0000000..57a039b --- /dev/null +++ b/themes/next/source/js/motion.js @@ -0,0 +1,372 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + NexT.motion = {}; + + var sidebarToggleLines = { + lines: [], + push : function(line) { + this.lines.push(line); + }, + init: function() { + this.lines.forEach(function(line) { + line.init(); + }); + }, + arrow: function() { + this.lines.forEach(function(line) { + line.arrow(); + }); + }, + close: function() { + this.lines.forEach(function(line) { + line.close(); + }); + } + }; + + function SidebarToggleLine(settings) { + this.el = $(settings.el); + this.status = $.extend({}, { + init: { + width : '100%', + opacity: 1, + left : 0, + rotateZ: 0, + top : 0 + } + }, settings.status); + } + + SidebarToggleLine.prototype.init = function() { + this.transform('init'); + }; + SidebarToggleLine.prototype.arrow = function() { + this.transform('arrow'); + }; + SidebarToggleLine.prototype.close = function() { + this.transform('close'); + }; + SidebarToggleLine.prototype.transform = function(status) { + this.el.velocity('stop').velocity(this.status[status]); + }; + + var sidebarToggleLine1st = new SidebarToggleLine({ + el : '.sidebar-toggle-line-first', + status: { + arrow: {width: '50%', rotateZ: '-45deg', top: '2px'}, + close: {width: '100%', rotateZ: '-45deg', top: '5px'} + } + }); + var sidebarToggleLine2nd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-middle', + status: { + arrow: {width: '90%'}, + close: {opacity: 0} + } + }); + var sidebarToggleLine3rd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-last', + status: { + arrow: {width: '50%', rotateZ: '45deg', top: '-2px'}, + close: {width: '100%', rotateZ: '45deg', top: '-5px'} + } + }); + + sidebarToggleLines.push(sidebarToggleLine1st); + sidebarToggleLines.push(sidebarToggleLine2nd); + sidebarToggleLines.push(sidebarToggleLine3rd); + + var SIDEBAR_WIDTH = CONFIG.sidebar.width ? CONFIG.sidebar.width : '320px'; + var SIDEBAR_DISPLAY_DURATION = 200; + var xPos, yPos; + + var sidebarToggleMotion = { + toggleEl : $('.sidebar-toggle'), + dimmerEl : $('#sidebar-dimmer'), + sidebarEl : $('.sidebar'), + isSidebarVisible: false, + init : function() { + this.toggleEl.on('click', this.clickHandler.bind(this)); + this.dimmerEl.on('click', this.clickHandler.bind(this)); + this.toggleEl.on('mouseenter', this.mouseEnterHandler.bind(this)); + this.toggleEl.on('mouseleave', this.mouseLeaveHandler.bind(this)); + this.sidebarEl.on('touchstart', this.touchstartHandler.bind(this)); + this.sidebarEl.on('touchend', this.touchendHandler.bind(this)); + this.sidebarEl.on('touchmove', function(e) { e.preventDefault(); }); + + $(document) + .on('sidebar.isShowing', function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity( + {paddingRight: SIDEBAR_WIDTH}, + SIDEBAR_DISPLAY_DURATION + ); + }) + .on('sidebar.isHiding', function() { + }); + }, + clickHandler: function() { + this.isSidebarVisible ? this.hideSidebar() : this.showSidebar(); + this.isSidebarVisible = !this.isSidebarVisible; + }, + mouseEnterHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.arrow(); + }, + mouseLeaveHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.init(); + }, + touchstartHandler: function(e) { + xPos = e.originalEvent.touches[0].clientX; + yPos = e.originalEvent.touches[0].clientY; + }, + touchendHandler: function(e) { + var _xPos = e.originalEvent.changedTouches[0].clientX; + var _yPos = e.originalEvent.changedTouches[0].clientY; + if (_xPos - xPos > 30 && Math.abs(_yPos - yPos) < 20) { + this.clickHandler(); + } + }, + showSidebar: function() { + var self = this; + + sidebarToggleLines.close(); + + this.sidebarEl.velocity('stop').velocity({ + width: SIDEBAR_WIDTH + }, { + display : 'block', + duration: SIDEBAR_DISPLAY_DURATION, + begin : function() { + $('.sidebar .motion-element').not('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + complete: function() { + self.sidebarEl.trigger('sidebar.motion.complete'); + } + } + ); + $('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + display : 'flex' + } + ); + }, + complete: function() { + self.sidebarEl.addClass('sidebar-active'); + self.sidebarEl.trigger('sidebar.didShow'); + } + }); + + this.sidebarEl.trigger('sidebar.isShowing'); + }, + hideSidebar: function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity({paddingRight: 0}); + this.sidebarEl.find('.motion-element').velocity('stop').css('display', 'none'); + this.sidebarEl.velocity('stop').velocity({width: 0}, {display: 'none'}); + + sidebarToggleLines.init(); + + this.sidebarEl.removeClass('sidebar-active'); + this.sidebarEl.trigger('sidebar.isHiding'); + + // Prevent adding TOC to Overview if Overview was selected when close & open sidebar. + if ($('.post-toc-wrap')) { + if ($('.site-overview-wrap').css('display') === 'block') { + $('.post-toc-wrap').removeClass('motion-element'); + } else { + $('.post-toc-wrap').addClass('motion-element'); + } + } + } + }; + sidebarToggleMotion.init(); + + NexT.motion.integrator = { + queue : [], + cursor: -1, + add : function(fn) { + this.queue.push(fn); + return this; + }, + next: function() { + this.cursor++; + var fn = this.queue[this.cursor]; + $.isFunction(fn) && fn(NexT.motion.integrator); + }, + bootstrap: function() { + this.next(); + } + }; + + NexT.motion.middleWares = { + logo: function(integrator) { + var sequence = []; + var $brand = $('.brand'); + var $image = $('.custom-logo-image'); + var $title = $('.site-title'); + var $subtitle = $('.site-subtitle'); + var $logoLineTop = $('.logo-line-before i'); + var $logoLineBottom = $('.logo-line-after i'); + + $brand.length > 0 && sequence.push({ + e: $brand, + p: {opacity: 1}, + o: {duration: 200} + }); + + /** + * Check if $elements exist. + * @param {jQuery|Array} $elements + * @returns {boolean} + */ + function hasElement($elements) { + $elements = Array.isArray($elements) ? $elements : [$elements]; + return $elements.every(function($element) { + return $element.length > 0; + }); + } + + function getMistLineSettings(element, translateX) { + return { + e: $(element), + p: {translateX: translateX}, + o: { + duration : 500, + sequenceQueue: false + } + }; + } + + function pushImageToSequence() { + sequence.push({ + e: $image, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + } + + NexT.utils.isMist() && hasElement([$logoLineTop, $logoLineBottom]) + && sequence.push( + getMistLineSettings($logoLineTop, '100%'), + getMistLineSettings($logoLineBottom, '-100%') + ); + + NexT.utils.isMuse() && hasElement($image) && pushImageToSequence(); + + hasElement($title) && sequence.push({ + e: $title, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + hasElement($subtitle) && sequence.push({ + e: $subtitle, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + (NexT.utils.isPisces() || NexT.utils.isGemini()) && hasElement($image) && pushImageToSequence(); + + if (CONFIG.motion.async) { + integrator.next(); + } + + if (sequence.length > 0) { + sequence[sequence.length - 1].o.complete = function() { + integrator.next(); + }; + /* eslint-disable */ + $.Velocity.RunSequence(sequence); + /* eslint-enable */ + } else { + integrator.next(); + } + }, + + menu: function(integrator) { + + if (CONFIG.motion.async) { + integrator.next(); + } + + $('.menu-item').velocity('transition.slideDownIn', { + display : null, + duration: 200, + complete: function() { + integrator.next(); + } + }); + }, + + postList: function(integrator) { + + //var $post = $('.post'); + var $postBlock = $('.post-block, .pagination, .comments'); + var $postBlockTransition = CONFIG.motion.transition.post_block; + var $postHeader = $('.post-header'); + var $postHeaderTransition = CONFIG.motion.transition.post_header; + var $postBody = $('.post-body'); + var $postBodyTransition = CONFIG.motion.transition.post_body; + var $collHeader = $('.collection-title, .archive-year'); + var $collHeaderTransition = CONFIG.motion.transition.coll_header; + var $sidebarAffix = $('.sidebar-inner'); + var $sidebarAffixTransition = CONFIG.motion.transition.sidebar; + var hasPost = $postBlock.length > 0; + + function postMotion() { + var postMotionOptions = window.postMotionOptions || { + stagger: 100, + drag : true + }; + postMotionOptions.complete = function() { + // After motion complete need to remove transform from sidebar to let affix work on Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.css({ 'transform': 'initial' }); + } + integrator.next(); + }; + + //$post.velocity('transition.slideDownIn', postMotionOptions); + if (CONFIG.motion.transition.post_block) { + $postBlock.velocity('transition.' + $postBlockTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_header) { + $postHeader.velocity('transition.' + $postHeaderTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_body) { + $postBody.velocity('transition.' + $postBodyTransition, postMotionOptions); + } + if (CONFIG.motion.transition.coll_header) { + $collHeader.velocity('transition.' + $collHeaderTransition, postMotionOptions); + } + // Only for Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.velocity('transition.' + $sidebarAffixTransition, postMotionOptions); + } + } + + hasPost ? postMotion() : integrator.next(); + + if (CONFIG.motion.async) { + integrator.next(); + } + }, + + sidebar: function(integrator) { + if (CONFIG.sidebar.display === 'always') { + NexT.utils.displaySidebar(); + } + integrator.next(); + } + }; + +}); diff --git a/themes/next/source/js/next-boot.js b/themes/next/source/js/next-boot.js new file mode 100644 index 0000000..f9c02d3 --- /dev/null +++ b/themes/next/source/js/next-boot.js @@ -0,0 +1,53 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + $(document).trigger('bootstrap:before'); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fastclick && NexT.utils.isMobile() && window.FastClick.attach(document.body); + CONFIG.lazyload && NexT.utils.lazyLoadPostsImages(); + + NexT.utils.registerESCKeyEvent(); + + CONFIG.back2top && NexT.utils.registerBackToTop(); + + // Mobile top menu bar. + $('.site-nav-toggle button').on('click', function() { + var $siteNav = $('.site-nav'); + var ON_CLASS_NAME = 'site-nav-on'; + var isSiteNavOn = $siteNav.hasClass(ON_CLASS_NAME); + var animateAction = isSiteNavOn ? 'slideUp' : 'slideDown'; + var animateCallback = isSiteNavOn ? 'removeClass' : 'addClass'; + + $siteNav.stop()[animateAction]('fast', function() { + $siteNav[animateCallback](ON_CLASS_NAME); + }); + }); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fancybox && NexT.utils.wrapImageWithFancyBox(); + CONFIG.tabs && NexT.utils.registerTabsTag(); + + NexT.utils.embeddedVideoTransformer(); + + // Define Motion Sequence. + NexT.motion.integrator + .add(NexT.motion.middleWares.logo) + .add(NexT.motion.middleWares.menu) + .add(NexT.motion.middleWares.postList) + .add(NexT.motion.middleWares.sidebar); + + $(document).trigger('motion:before'); + + // Bootstrap Motion. + CONFIG.motion.enable && NexT.motion.integrator.bootstrap(); + + $(document).trigger('bootstrap:after'); +}); diff --git a/themes/next/source/js/post-details.js b/themes/next/source/js/post-details.js new file mode 100644 index 0000000..e47f1bb --- /dev/null +++ b/themes/next/source/js/post-details.js @@ -0,0 +1,104 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + function initScrollSpy() { + var tocSelector = '.post-toc'; + var $tocElement = $(tocSelector); + var activeCurrentSelector = '.active-current'; + + function removeCurrentActiveClass() { + $(tocSelector + ' ' + activeCurrentSelector) + .removeClass(activeCurrentSelector.substring(1)); + } + + $tocElement + .on('activate.bs.scrollspy', function() { + var $currentActiveElement = $(tocSelector + ' .active').last(); + + removeCurrentActiveClass(); + $currentActiveElement.addClass('active-current'); + + // Scrolling to center active TOC element if TOC content is taller then viewport. + $tocElement.scrollTop($currentActiveElement.offset().top - $tocElement.offset().top + $tocElement.scrollTop() - ($tocElement.height() / 2)); + }) + .on('clear.bs.scrollspy', removeCurrentActiveClass); + + $('body').scrollspy({ target: tocSelector }); + } + + initScrollSpy(); +}); + +$(document).ready(function() { + var html = $('html'); + var TAB_ANIMATE_DURATION = 200; + var hasVelocity = $.isFunction(html.velocity); + + $('.sidebar-nav li').on('click', function() { + var item = $(this); + var activeTabClassName = 'sidebar-nav-active'; + var activePanelClassName = 'sidebar-panel-active'; + if (item.hasClass(activeTabClassName)) { + return; + } + + var currentTarget = $('.' + activePanelClassName); + var target = $('.' + item.data('target')); + + hasVelocity + ? currentTarget.velocity('transition.slideUpOut', TAB_ANIMATE_DURATION, function() { + target + .velocity('stop') + .velocity('transition.slideDownIn', TAB_ANIMATE_DURATION) + .addClass(activePanelClassName); + }) + : currentTarget.animate({ opacity: 0 }, TAB_ANIMATE_DURATION, function() { + currentTarget.hide(); + target + .stop() + .css({'opacity': 0, 'display': 'block'}) + .animate({ opacity: 1 }, TAB_ANIMATE_DURATION, function() { + currentTarget.removeClass(activePanelClassName); + target.addClass(activePanelClassName); + }); + }); + + item.siblings().removeClass(activeTabClassName); + item.addClass(activeTabClassName); + }); + + // TOC item animation navigate & prevent #item selector in adress bar. + $('.post-toc a').on('click', function(e) { + e.preventDefault(); + var targetSelector = NexT.utils.escapeSelector(this.getAttribute('href')); + var offset = $(targetSelector).offset().top; + + hasVelocity + ? html.velocity('stop').velocity('scroll', { + offset : offset + 'px', + mobileHA: false + }) + : $('html, body').stop().animate({ + scrollTop: offset + }, 500); + }); + + // Expand sidebar on post detail page by default, when post has a toc. + var $tocContent = $('.post-toc-content'); + var display = CONFIG.page.sidebar; + if (typeof display !== 'boolean') { + // There's no definition sidebar in the page front-matter + var isSidebarCouldDisplay = CONFIG.sidebar.display === 'post' + || CONFIG.sidebar.display === 'always'; + var hasTOC = $tocContent.length > 0 && $tocContent.html().trim().length > 0; + display = isSidebarCouldDisplay && hasTOC; + } + if (display) { + CONFIG.motion.enable + ? NexT.motion.middleWares.sidebar = function() { + NexT.utils.displaySidebar(); + } + : NexT.utils.displaySidebar(); + } +}); diff --git a/themes/next/source/js/schemes/muse.js b/themes/next/source/js/schemes/muse.js new file mode 100644 index 0000000..a0e2c56 --- /dev/null +++ b/themes/next/source/js/schemes/muse.js @@ -0,0 +1,9 @@ +$(document).ready(function() { + function updateFooterPosition() { + var containerHeight = $('#footer').attr('position') ? $('.container').height() + $('#footer').outerHeight(true) : $('.container').height(); + if (containerHeight < window.innerHeight) $('#footer').css({ 'position': 'fixed', 'bottom': 0, 'left': 0, 'right': 0 }).attr('position', 'fixed'); + else $('#footer').removeAttr('style position'); + } + updateFooterPosition(); + $(window).on('resize scroll', updateFooterPosition); +}); diff --git a/themes/next/source/js/schemes/pisces.js b/themes/next/source/js/schemes/pisces.js new file mode 100644 index 0000000..8c6e896 --- /dev/null +++ b/themes/next/source/js/schemes/pisces.js @@ -0,0 +1,57 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + var sidebarInner = $('.sidebar-inner'); + var sidebarOffset = CONFIG.sidebar.offset || 12; + + function getHeaderOffset() { + return $('.header-inner').height() + sidebarOffset; + } + + function getFooterOffset() { + var footer = $('#footer'); + var footerInner = $('.footer-inner'); + var footerMargin = footer.outerHeight() - footerInner.outerHeight(); + var footerOffset = footer.outerHeight() + footerMargin; + return footerOffset; + } + + function initAffix() { + var headerOffset = getHeaderOffset(); + var footerOffset = getFooterOffset(); + var sidebarHeight = $('#sidebar').height() + NexT.utils.getSidebarb2tHeight(); + var contentHeight = $('#content').height(); + + // Not affix if sidebar taller than content (to prevent bottom jumping). + if (headerOffset + sidebarHeight < contentHeight) { + sidebarInner.affix({ + offset: { + top : headerOffset - sidebarOffset, + bottom: footerOffset + } + }); + sidebarInner.affix('checkPosition'); + } + + $('#sidebar').css({ 'margin-top': headerOffset, 'margin-left': 'auto' }); + } + + function recalculateAffixPosition() { + $(window).off('.affix'); + sidebarInner.removeData('bs.affix').removeClass('affix affix-top affix-bottom'); + initAffix(); + } + + function resizeListener() { + var mql = window.matchMedia('(min-width: 992px)'); + mql.addListener(function(e) { + if (e.matches) { + recalculateAffixPosition(); + } + }); + } + + initAffix(); + resizeListener(); +}); diff --git a/themes/next/source/js/scroll-cookie.js b/themes/next/source/js/scroll-cookie.js new file mode 100644 index 0000000..2db1f8a --- /dev/null +++ b/themes/next/source/js/scroll-cookie.js @@ -0,0 +1,25 @@ +$(document).ready(function() { + + /* global Cookies */ + + // Set relative link path (without domain) + var rpath = window.location.href.replace(window.location.origin, ''); + + // Write position in cookie + var timeout; + $(window).on('scroll', function() { + clearTimeout(timeout); + timeout = setTimeout(function() { + Cookies.set('scroll-cookie', $(window).scrollTop() + '|' + rpath, { expires: 365, path: '' }); + }, 250); + }); + + // Read position from cookie + if (Cookies.get('scroll-cookie') !== undefined) { + var cvalues = Cookies.get('scroll-cookie').split('|'); + if (cvalues[1] === rpath) { + $(window).scrollTop(cvalues[0]); + } + } + +}); diff --git a/themes/next/source/js/scrollspy.js b/themes/next/source/js/scrollspy.js new file mode 100644 index 0000000..7efacac --- /dev/null +++ b/themes/next/source/js/scrollspy.js @@ -0,0 +1,179 @@ +/* ======================================================================== +* Bootstrap: scrollspy.js v3.3.2 +* http://getbootstrap.com/javascript/#scrollspy +* ======================================================================== +* Copyright 2011-2015 Twitter, Inc. +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) +* ======================================================================== */ + +/** + * Customized by iissnan & Ivan.Nginx + * + * - Add a `clear.bs.scrollspy` event. + * - Esacpe targets selector. + * - Refactored with eslint-config-theme-next style. + */ + +/* global NexT */ + +(function($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + function ScrollSpy(element, options) { + this.$body = $(document.body); + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element); + this.options = $.extend({}, ScrollSpy.DEFAULTS, options); + this.selector = (this.options.target || '') + ' .nav li > a'; + this.offsets = []; + this.targets = []; + this.activeTarget = null; + this.scrollHeight = 0; + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)); + this.refresh(); + this.process(); + } + + ScrollSpy.VERSION = '3.3.2'; + + ScrollSpy.DEFAULTS = { + offset: 10 + }; + + ScrollSpy.prototype.getScrollHeight = function() { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight); + }; + + ScrollSpy.prototype.refresh = function() { + var that = this; + var offsetMethod = 'offset'; + var offsetBase = 0; + + this.offsets = []; + this.targets = []; + this.scrollHeight = this.getScrollHeight(); + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position'; + offsetBase = this.$scrollElement.scrollTop(); + } + + this.$body + .find(this.selector) + .map(function() { + var $el = $(this); + var href = $el.data('target') || $el.attr('href'); + var $href = /^#./.test(href) && $(NexT.utils.escapeSelector(href)); // Need to escape selector. + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null; + }) + .sort(function(a, b) { + return a[0] - b[0]; + }) + .each(function() { + that.offsets.push(this[0]); + that.targets.push(this[1]); + }); + + + }; + + ScrollSpy.prototype.process = function() { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset; + var scrollHeight = this.getScrollHeight(); + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height(); + var offsets = this.offsets; + var targets = this.targets; + var activeTarget = this.activeTarget; + var i; + + if (this.scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + return activeTarget !== (i = targets[targets.length - 1]) && this.activate(i); + } + + if (activeTarget && scrollTop < offsets[0]) { + $(this.selector).trigger('clear.bs.scrollspy'); // Add a custom event. + this.activeTarget = null; + return this.clear(); + } + + for (i = offsets.length; i--;) { + activeTarget !== targets[i] + && scrollTop >= offsets[i] + && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) + && this.activate(targets[i]); + } + }; + + ScrollSpy.prototype.activate = function(target) { + this.activeTarget = target; + + this.clear(); + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]'; + + var active = $(selector) + .parents('li') + .addClass('active'); + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active'); + } + + active.trigger('activate.bs.scrollspy'); + }; + + ScrollSpy.prototype.clear = function() { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active'); + }; + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.scrollspy'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.scrollspy', data = new ScrollSpy(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.scrollspy; + + $.fn.scrollspy = Plugin; + $.fn.scrollspy.Constructor = ScrollSpy; + + // SCROLLSPY NO CONFLICT + // ===================== + $.fn.scrollspy.noConflict = function() { + $.fn.scrollspy = old; + return this; + }; + + // SCROLLSPY DATA-API + // ================== + $(window).on('load.bs.scrollspy.data-api', function() { + $('[data-spy="scroll"]').each(function() { + var $spy = $(this); + Plugin.call($spy, $spy.data()); + }); + }); + +}(jQuery)); diff --git a/themes/next/source/js/utils.js b/themes/next/source/js/utils.js new file mode 100644 index 0000000..44d69c9 --- /dev/null +++ b/themes/next/source/js/utils.js @@ -0,0 +1,340 @@ +/* global NexT, CONFIG */ + +NexT.utils = NexT.$u = { + + /** + * Wrap images with fancybox support. + */ + wrapImageWithFancyBox: function() { + $('.content img') + .not(':hidden') + .each(function() { + var $image = $(this); + var imageTitle = $image.attr('title') || $image.attr('alt'); + var $imageWrapLink = $image.parent('a'); + + if ($imageWrapLink.length < 1) { + var imageLink = $image.attr('data-original') || $image.attr('src'); + $imageWrapLink = $image.wrap('').parent('a'); + if ($image.is('.post-gallery img')) { + $imageWrapLink.addClass('post-gallery-img'); + $imageWrapLink.attr('data-fancybox', 'gallery').attr('rel', 'gallery'); + } + else if ($image.is('.group-picture img')) { + $imageWrapLink.attr('data-fancybox', 'group').attr('rel', 'group'); + } + else { + $imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default'); + } + } + + if (imageTitle) { + $imageWrapLink.append('

    ' + imageTitle + '

    '); + // Make sure img title tag will show correctly in fancybox + $imageWrapLink.attr('title', imageTitle).attr('data-caption', imageTitle); + } + }); + + $('.fancybox').fancybox({ + loop: true, + helpers: { + overlay: { + locked: false + } + } + }); + }, + + lazyLoadPostsImages: function() { + $('#posts').find('img').lazyload({ + //placeholder: '/images/loading.gif', + effect : 'fadeIn', + threshold: 0 + }); + }, + + /** + * Tabs tag listener (without twitter bootstrap). + */ + registerTabsTag: function() { + var tNav = '.tabs ul.nav-tabs '; + + // Binding `nav-tabs` & `tab-content` by real time permalink changing. + $(function() { + $(window).bind('hashchange', function() { + var tHash = location.hash; + if (tHash !== '' && !tHash.match(/%\S{2}/)) { + $(tNav + 'li:has(a[href="' + tHash + '"])').addClass('active').siblings().removeClass('active'); + $(tHash).addClass('active').siblings().removeClass('active'); + } + }).trigger('hashchange'); + }); + + $(tNav + '.tab').on('click', function(href) { + href.preventDefault(); + // Prevent selected tab to select again. + if (!$(this).hasClass('active')) { + + // Add & Remove active class on `nav-tabs` & `tab-content`. + $(this).addClass('active').siblings().removeClass('active'); + var tActive = $(this).find('a').attr('href'); + $(tActive).addClass('active').siblings().removeClass('active'); + + // Clear location hash in browser if #permalink exists. + if (location.hash !== '') { + history.pushState('', document.title, window.location.pathname + window.location.search); + } + } + }); + }, + + registerESCKeyEvent: function() { + $(document).on('keyup', function(event) { + var shouldDismissSearchPopup = event.which === 27 + && $('.search-popup').is(':visible'); + if (shouldDismissSearchPopup) { + $('.search-popup').hide(); + $('.search-popup-overlay').remove(); + $('body').css('overflow', ''); + } + }); + }, + + registerBackToTop: function() { + var THRESHOLD = 50; + var $top = $('.back-to-top'); + + function initBackToTop() { + $top.toggleClass('back-to-top-on', window.pageYOffset > THRESHOLD); + + var scrollTop = $(window).scrollTop(); + var contentVisibilityHeight = NexT.utils.getContentVisibilityHeight(); + var scrollPercent = scrollTop / contentVisibilityHeight; + var scrollPercentRounded = Math.round(scrollPercent * 100); + var scrollPercentMaxed = scrollPercentRounded > 100 ? 100 : scrollPercentRounded; + $('#scrollpercent>span').html(scrollPercentMaxed); + } + + // For init back to top in sidebar if page was scrolled after page refresh. + $(window).on('load', function() { + initBackToTop(); + }); + + $(window).on('scroll', function() { + initBackToTop(); + }); + + $top.on('click', function() { + $.isFunction($('html').velocity) ? $('body').velocity('scroll') : $('html, body').animate({ scrollTop: 0 }); + }); + }, + + /** + * Transform embedded video to support responsive layout. + * @see http://toddmotto.com/fluid-and-responsive-youtube-and-vimeo-videos-with-fluidvids-js/ + */ + embeddedVideoTransformer: function() { + var $iframes = $('iframe'); + + // Supported Players. Extend this if you need more players. + var SUPPORTED_PLAYERS = [ + 'www.youtube.com', + 'player.vimeo.com', + 'player.youku.com', + 'music.163.com', + 'www.tudou.com' + ]; + var pattern = new RegExp(SUPPORTED_PLAYERS.join('|')); + + function getDimension($element) { + return { + width : $element.width(), + height: $element.height() + }; + } + + function getAspectRadio(width, height) { + return height / width * 100; + } + + $iframes.each(function() { + var iframe = this; + var $iframe = $(this); + var oldDimension = getDimension($iframe); + var newDimension; + + if (this.src.search(pattern) > 0) { + + // Calculate the video ratio based on the iframe's w/h dimensions + var videoRatio = getAspectRadio(oldDimension.width, oldDimension.height); + + // Replace the iframe's dimensions and position the iframe absolute + // This is the trick to emulate the video ratio + $iframe.width('100%').height('100%') + .css({ + position: 'absolute', + top : '0', + left : '0' + }); + + // Wrap the iframe in a new
    which uses a dynamically fetched padding-top property + // based on the video's w/h dimensions + var wrap = document.createElement('div'); + wrap.className = 'fluid-vids'; + wrap.style.position = 'relative'; + wrap.style.marginBottom = '20px'; + wrap.style.width = '100%'; + wrap.style.paddingTop = videoRatio + '%'; + // Fix for appear inside tabs tag. + (wrap.style.paddingTop === '') && (wrap.style.paddingTop = '50%'); + + // Add the iframe inside our newly created
    + var iframeParent = iframe.parentNode; + iframeParent.insertBefore(wrap, iframe); + wrap.appendChild(iframe); + + // Additional adjustments for 163 Music + if (this.src.search('music.163.com') > 0) { + newDimension = getDimension($iframe); + var shouldRecalculateAspect = newDimension.width > oldDimension.width + || newDimension.height < oldDimension.height; + + // 163 Music Player has a fixed height, so we need to reset the aspect radio + if (shouldRecalculateAspect) { + wrap.style.paddingTop = getAspectRadio(newDimension.width, oldDimension.height) + '%'; + } + } + } + }); + + }, + + hasMobileUA: function() { + var nav = window.navigator; + var ua = nav.userAgent; + var pa = /iPad|iPhone|Android|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP|IEMobile|Symbian/g; + + return pa.test(ua); + }, + + isTablet: function() { + return window.screen.width < 992 && window.screen.width > 767 && this.hasMobileUA(); + }, + + isMobile: function() { + return window.screen.width < 767 && this.hasMobileUA(); + }, + + isDesktop: function() { + return !this.isTablet() && !this.isMobile(); + }, + + /** + * Escape meta symbols in jQuery selectors. + * + * @param selector + * @returns {string|void|XML|*} + */ + escapeSelector: function(selector) { + return selector.replace(/[!"$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g, '\\$&'); + }, + + displaySidebar: function() { + if (!this.isDesktop() || this.isPisces() || this.isGemini()) { + return; + } + $('.sidebar-toggle').trigger('click'); + }, + + isMuse: function() { + return CONFIG.scheme === 'Muse'; + }, + + isMist: function() { + return CONFIG.scheme === 'Mist'; + }, + + isPisces: function() { + return CONFIG.scheme === 'Pisces'; + }, + + isGemini: function() { + return CONFIG.scheme === 'Gemini'; + }, + + getScrollbarWidth: function() { + var $div = $('
    ').addClass('scrollbar-measure').prependTo('body'); + var div = $div[0]; + var scrollbarWidth = div.offsetWidth - div.clientWidth; + $div.remove(); + + return scrollbarWidth; + }, + + getContentVisibilityHeight: function() { + var docHeight = $('.container').height(); + var winHeight = $(window).height(); + var contentVisibilityHeight = docHeight > winHeight ? docHeight - winHeight : $(document).height() - winHeight; + return contentVisibilityHeight; + }, + + getSidebarb2tHeight: function() { + var sidebarb2tHeight = (CONFIG.back2top && CONFIG.back2top_sidebar) ? $('.back-to-top').height() : 0; + return sidebarb2tHeight; + }, + + getSidebarSchemePadding: function() { + var sidebarNavHeight = $('.sidebar-nav').css('display') === 'block' ? $('.sidebar-nav').outerHeight(true) : 0; + var sidebarInner = $('.sidebar-inner'); + var sidebarPadding = sidebarInner.innerWidth() - sidebarInner.width(); + var sidebarOffset = CONFIG.sidebar.offset ? CONFIG.sidebar.offset : 12; + var sidebarSchemePadding = this.isPisces() || this.isGemini() + ? (sidebarPadding * 2) + sidebarNavHeight + sidebarOffset + this.getSidebarb2tHeight() + : (sidebarPadding * 2) + (sidebarNavHeight / 2); + return sidebarSchemePadding; + } +}; + +$(document).ready(function() { + + function wrapTable() { + $('table').not('.gist table').wrap('
    '); + } + + /** + * Init Sidebar & TOC inner dimensions on all pages and for all schemes. + * Need for Sidebar/TOC inner scrolling if content taller then viewport. + */ + function updateSidebarHeight(height) { + height = height || 'auto'; + $('.site-overview, .post-toc').css('max-height', height); + } + + function initSidebarDimension() { + var updateSidebarHeightTimer; + + $(window).on('resize', function() { + updateSidebarHeightTimer && clearTimeout(updateSidebarHeightTimer); + + updateSidebarHeightTimer = setTimeout(function() { + var sidebarWrapperHeight = document.body.clientHeight - NexT.utils.getSidebarSchemePadding(); + + updateSidebarHeight(sidebarWrapperHeight); + }, 0); + }); + + // Initialize Sidebar & TOC Width. + var scrollbarWidth = NexT.utils.getScrollbarWidth(); + if ($('.site-overview-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.site-overview').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + if ($('.post-toc-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.post-toc').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + + // Initialize Sidebar & TOC Height. + updateSidebarHeight(document.body.clientHeight - NexT.utils.getSidebarSchemePadding()); + } + initSidebarDimension(); + wrapTable(); +}); diff --git a/themes/next/source/lib/jquery/index.js b/themes/next/source/lib/jquery/index.js new file mode 100644 index 0000000..25714ed --- /dev/null +++ b/themes/next/source/lib/jquery/index.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) +},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("