From c7a2ee8c93d2dc4b36d4da24e0831d8af12590ec Mon Sep 17 00:00:00 2001 From: lanpangzhi <875727617@qq.com> Date: Sun, 17 Sep 2023 05:38:37 +0000 Subject: [PATCH] =?UTF-8?q?GitHub=20Actions=20=E8=87=AA=E5=8A=A8=E9=83=A8?= =?UTF-8?q?=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 382 + "Buffer\345\257\271\350\261\241.html" | 448 ++ CNAME | 1 + ...\205\350\256\276\347\275\256Fail2ban.html" | 448 ++ ...222\214const\345\217\230\351\207\217.html" | 448 ++ ...\345\215\225\345\256\236\347\216\260.html" | 448 ++ ...\346\215\256\350\257\267\346\261\202.html" | 448 ++ ...\344\273\266\344\270\212\344\274\240.html" | 448 ++ ...346\236\266cookie\345\222\214session.html" | 448 ++ "Express\350\267\257\347\224\261.html" | 448 ++ ...\345\210\260\346\234\254\345\234\260.html" | 448 ++ ...\346\234\254\345\233\236\351\200\200.html" | 448 ++ ...6\210\220SSH\345\205\254\351\222\245.html" | 451 ++ ...\347\240\201\346\217\220\344\272\244.html" | 449 ++ ...0\220Algolia\346\220\234\347\264\242.html" | 456 ++ ...0\205\276\350\256\257\344\272\221COS.html" | 454 ++ ...\346\255\245\351\227\256\351\242\230.html" | 454 ++ ...\346\211\230\345\216\237\347\220\206.html" | 448 ++ ...\344\273\266\351\200\232\347\237\245.html" | 448 ++ ...\345\235\227\346\234\272\345\210\266.html" | 448 ++ "TypeScript\347\256\200\344\273\213.html" | 441 ++ ...\350\257\225\347\216\257\345\242\203.html" | 454 ++ ...210\345\274\217API(Composition API) .html" | 448 ++ ...0\213\345\256\211\350\243\205MongoDB.html" | 450 ++ ...270\213\345\256\211\350\243\205MySQL.html" | 453 ++ archives/2017/12/index.html | 603 ++ archives/2017/index.html | 603 ++ archives/2018/01/index.html | 481 ++ archives/2018/02/index.html | 481 ++ archives/2018/03/index.html | 417 ++ archives/2018/04/index.html | 417 ++ archives/2018/05/index.html | 615 ++ archives/2018/05/page/2/index.html | 519 ++ archives/2018/06/index.html | 481 ++ archives/2018/07/index.html | 321 + archives/2018/09/index.html | 321 + archives/2018/10/index.html | 321 + archives/2018/11/index.html | 385 + archives/2018/12/index.html | 385 + archives/2018/index.html | 635 ++ archives/2018/page/2/index.html | 619 ++ archives/2018/page/3/index.html | 615 ++ archives/2018/page/4/index.html | 623 ++ archives/2018/page/5/index.html | 619 ++ archives/2018/page/6/index.html | 359 + archives/2019/03/index.html | 385 + archives/2019/04/index.html | 353 + archives/2019/06/index.html | 321 + archives/2019/index.html | 489 ++ archives/2020/06/index.html | 353 + archives/2020/index.html | 353 + archives/2021/07/index.html | 321 + archives/2021/08/index.html | 353 + archives/2021/09/index.html | 321 + archives/2021/10/index.html | 353 + archives/2021/11/index.html | 353 + archives/2021/12/index.html | 321 + archives/2021/index.html | 597 ++ archives/2022/02/index.html | 321 + archives/2022/05/index.html | 321 + archives/2022/06/index.html | 321 + archives/2022/07/index.html | 321 + archives/2022/09/index.html | 321 + archives/2022/10/index.html | 353 + archives/2022/11/index.html | 321 + archives/2022/index.html | 569 ++ archives/2023/01/index.html | 321 + archives/2023/02/index.html | 353 + archives/2023/03/index.html | 353 + archives/2023/04/index.html | 353 + archives/2023/05/index.html | 353 + archives/2023/06/index.html | 353 + archives/2023/07/index.html | 321 + archives/2023/08/index.html | 321 + archives/2023/09/index.html | 321 + archives/2023/index.html | 639 ++ archives/2023/page/2/index.html | 431 ++ archives/index.html | 639 ++ archives/page/10/index.html | 619 ++ archives/page/11/index.html | 321 + archives/page/2/index.html | 643 ++ archives/page/3/index.html | 639 ++ archives/page/4/index.html | 635 ++ archives/page/5/index.html | 635 ++ archives/page/6/index.html | 619 ++ archives/page/7/index.html | 615 ++ archives/page/8/index.html | 627 ++ archives/page/9/index.html | 619 ++ assets/algolia/algoliasearch.js | 6629 +++++++++++++++++ assets/algolia/algoliasearch.min.js | 4 + assets/algolia/algoliasearchLite.js | 4194 +++++++++++ assets/algolia/algoliasearchLite.min.js | 3 + atom.xml | 438 ++ ...\350\257\201\345\222\214Bearer-Token.html" | 448 ++ baidusitemap.xml | 1838 +++++ "centos7\345\256\211\350\243\205MySQL.html" | 450 ++ "centos7\345\256\211\350\243\205mongodb.html" | 448 ++ ...234\272\350\207\252\345\220\257nginx.html" | 448 ++ content.json | 1 + css/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 134808 bytes css/fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 165742 bytes css/fonts/fontawesome/fontawesome-webfont.svg | 2671 +++++++ css/fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fontawesome/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes css/fonts/roboto/Roboto-Bold.eot | Bin 0 -> 20966 bytes css/fonts/roboto/Roboto-Bold.ttf | Bin 0 -> 127744 bytes css/fonts/roboto/Roboto-Bold.woff | Bin 0 -> 62876 bytes css/fonts/roboto/Roboto-Bold.woff2 | Bin 0 -> 49976 bytes css/fonts/roboto/Roboto-Light.eot | Bin 0 -> 20940 bytes css/fonts/roboto/Roboto-Light.ttf | Bin 0 -> 126792 bytes css/fonts/roboto/Roboto-Light.woff | Bin 0 -> 62316 bytes css/fonts/roboto/Roboto-Light.woff2 | Bin 0 -> 49380 bytes css/fonts/roboto/Roboto-Medium.eot | Bin 0 -> 21364 bytes css/fonts/roboto/Roboto-Medium.ttf | Bin 0 -> 127488 bytes css/fonts/roboto/Roboto-Medium.woff | Bin 0 -> 62980 bytes css/fonts/roboto/Roboto-Medium.woff2 | Bin 0 -> 50224 bytes css/fonts/roboto/Roboto-Regular.eot | Bin 0 -> 21320 bytes css/fonts/roboto/Roboto-Regular.ttf | Bin 0 -> 126072 bytes css/fonts/roboto/Roboto-Regular.woff | Bin 0 -> 61736 bytes css/fonts/roboto/Roboto-Regular.woff2 | Bin 0 -> 49236 bytes css/fonts/roboto/Roboto-Thin.eot | Bin 0 -> 21659 bytes css/fonts/roboto/Roboto-Thin.ttf | Bin 0 -> 127584 bytes css/fonts/roboto/Roboto-Thin.woff | Bin 0 -> 61628 bytes css/fonts/roboto/Roboto-Thin.woff2 | Bin 0 -> 48524 bytes css/style.css | 11 + ...\345\210\227\345\233\272\345\256\232.html" | 448 ++ ...\347\232\204\345\205\203\347\264\240.html" | 448 ++ ...\347\234\201\347\225\245\345\217\267.html" | 451 ++ ...\346\235\277\345\274\225\346\223\216.html" | 448 ++ ...\346\213\251\345\214\272\351\227\264.html" | 448 ++ ...\345\244\215\351\200\211\346\241\206.html" | 448 ++ ...\345\215\225\345\205\245\345\235\221.html" | 448 ++ favicon.ico | Bin 0 -> 1150 bytes ...\214-for-of-\345\214\272\345\210\253.html" | 448 ++ "fs\346\250\241\345\235\227.html" | 448 ++ "global\345\257\271\350\261\241.html" | 448 ++ hello-world.html | 439 ++ "http\346\250\241\345\235\227.html" | 448 ++ img/alipay.jpg | Bin 0 -> 22420 bytes img/avatar.png | Bin 0 -> 111200 bytes img/brand.jpg | Bin 0 -> 33276 bytes img/cc.png | Bin 0 -> 444 bytes img/img-err.png | Bin 0 -> 2646 bytes img/img-loading.png | Bin 0 -> 2104 bytes img/wechat.jpg | Bin 0 -> 21070 bytes index.html | 744 ++ ...\345\236\213\350\275\254\346\215\242.html" | 451 ++ ...\216\273\351\207\215-ES6\347\211\210.html" | 448 ++ ...\347\273\204\345\216\273\351\207\215.html" | 450 ++ js/main.js | 1 + js/main.min.js | 1 + js/search.js | 1 + js/search.min.js | 1 + js/waline.js | 1 + js/waline.min.js | 8 + ...\347\240\201\345\256\236\347\216\260.html" | 448 ++ ...7\256\2270-1-0-2-0-30000000000000004.html" | 448 ++ ...\345\222\214\351\253\230\345\272\246.html" | 448 ++ live2dw/assets/koharu.model.json | 1 + live2dw/assets/koharu.physics.json | 1 + live2dw/assets/moc/koharu.2048/texture_00.png | Bin 0 -> 263518 bytes live2dw/assets/moc/koharu.moc | Bin 0 -> 254075 bytes live2dw/assets/mtn/01.mtn | 63 + live2dw/assets/mtn/02.mtn | 63 + live2dw/assets/mtn/03.mtn | 63 + live2dw/assets/mtn/04.mtn | 63 + live2dw/assets/mtn/05.mtn | 65 + live2dw/assets/mtn/06.mtn | 63 + live2dw/assets/mtn/07.mtn | 63 + live2dw/assets/mtn/08.mtn | 63 + live2dw/assets/mtn/09.mtn | 63 + live2dw/assets/mtn/idle.mtn | 63 + live2dw/lib/L2Dwidget.0.min.js | 3 + live2dw/lib/L2Dwidget.0.min.js.map | 1 + live2dw/lib/L2Dwidget.min.js | 3 + live2dw/lib/L2Dwidget.min.js.map | 1 + ...\351\235\242\345\272\224\347\224\250.html" | 450 ++ ...\344\270\213\345\256\211\350\243\205.html" | 455 ++ ...5\217\260get\350\257\267\346\261\202.html" | 448 ++ ...\217\260post\350\257\267\346\261\202.html" | 448 ++ ...\346\227\266\344\273\273\345\212\241.html" | 448 ++ "node\347\210\254\350\231\253.html" | 448 ++ "node\350\277\236\346\216\245MySQL.html" | 448 ++ ...\347\256\241\347\220\206\345\221\230.html" | 451 ++ ...\347\224\250\344\273\213\347\273\215.html" | 448 ++ ...\345\256\235\351\225\234\345\203\217.html" | 450 ++ ...346\234\254-npm-ERR-Unexpected-token.html" | 450 ++ ...\347\263\273\347\273\237\357\274\211.html" | 455 ++ page/10/index.html | 744 ++ page/11/index.html | 333 + page/2/index.html | 744 ++ page/3/index.html | 744 ++ page/4/index.html | 744 ++ page/5/index.html | 744 ++ page/6/index.html | 744 ++ page/7/index.html | 744 ++ page/8/index.html | 744 ++ page/9/index.html | 745 ++ "path\346\250\241\345\235\227.html" | 448 ++ ...\347\224\250\346\214\207\345\215\227.html" | 448 ++ ...\346\234\272\350\207\252\345\220\257.html" | 448 ++ "querystring\346\250\241\345\235\227.html" | 448 ++ robots.txt | 12 + sitemap.xml | 725 ++ "stream\346\250\241\345\235\227.html" | 448 ++ tags/API/index.html | 730 ++ tags/COS/index.html | 602 ++ tags/Debian9/index.html | 602 ++ tags/EJS/index.html | 602 ++ tags/ES6/index.html | 634 ++ .../index.html" | 602 ++ tags/Express/index.html | 896 +++ tags/Express/page/2/index.html | 608 ++ tags/Fail2ban/index.html | 602 ++ tags/Git/index.html | 698 ++ tags/GitHub-Actions/index.html | 602 ++ tags/Hexo/index.html | 698 ++ tags/MongoDB/index.html | 634 ++ tags/MySQL/index.html | 666 ++ tags/Node-js/index.html | 896 +++ tags/Node-js/page/2/index.html | 896 +++ tags/Node-js/page/3/index.html | 832 +++ tags/Promise/index.html | 698 ++ "tags/SSH\345\205\254\351\222\245/index.html" | 602 ++ tags/TypeScript/index.html | 602 ++ tags/VSCode/index.html | 602 ++ tags/Volta/index.html | 602 ++ tags/Waline/index.html | 602 ++ tags/Windows/index.html | 634 ++ tags/apidoc/index.html | 602 ++ tags/axios/index.html | 602 ++ tags/cli/index.html | 602 ++ tags/cloudflare/index.html | 602 ++ tags/cookie/index.html | 602 ++ tags/css/index.html | 666 ++ tags/element-plus/index.html | 602 ++ tags/element-ui/index.html | 634 ++ tags/express-generator/index.html | 602 ++ tags/index.html | 6098 +++++++++++++++ tags/javascript/index.html | 858 +++ .../index.html" | 602 ++ tags/nativefier/index.html | 602 ++ tags/nginx/index.html | 602 ++ tags/npm/index.html | 762 ++ tags/pinia/index.html | 602 ++ tags/pm2/index.html | 602 ++ tags/session/index.html | 602 ++ tags/travis-ci/index.html | 602 ++ tags/v2ray/index.html | 602 ++ tags/vercel/index.html | 602 ++ tags/vite/index.html | 602 ++ tags/vue-cli4/index.html | 602 ++ tags/vue2-0/index.html | 794 ++ .../index.html" | 602 ++ tags/vue3-0/index.html | 698 ++ tags/webpack/index.html | 666 ++ tags/yarn/index.html | 666 ++ .../index.html" | 602 ++ .../index.html" | 602 ++ .../index.html" | 602 ++ .../index.html" | 634 ++ .../index.html" | 602 ++ .../index.html" | 602 ++ "tags/\346\225\260\347\273\204/index.html" | 634 ++ .../index.html" | 602 ++ "tags/\347\202\271\351\200\217/index.html" | 602 ++ "tags/\347\210\254\350\231\253/index.html" | 602 ++ .../index.html" | 634 ++ .../index.html" | 666 ++ .../index.html" | 602 ++ .../index.html" | 602 ++ "tags/\350\242\253\345\242\231/index.html" | 602 ++ .../index.html" | 602 ++ "tags/\350\267\257\347\224\261/index.html" | 602 ++ "tags/\351\203\250\347\275\262/index.html" | 602 ++ .../index.html" | 634 ++ .../index.html" | 602 ++ "url\346\250\241\345\235\227.html" | 450 ++ ...\346\226\260\346\212\245\351\224\231.html" | 448 ++ ...\346\265\217\350\247\210\345\231\250.html" | 450 ++ ...3\345\210\240\351\231\244console-log.html" | 448 ++ ...\205\245element-plus\347\232\204Icon.html" | 448 ++ ...\345\221\275\345\221\250\346\234\237.html" | 450 ++ ...\344\273\266\346\240\267\345\274\217.html" | 448 ++ ...\345\221\275\345\221\250\346\234\237.html" | 458 ++ ...\346\200\201\350\265\204\346\272\220.html" | 452 ++ ...\351\227\250\346\214\207\345\215\227.html" | 452 ++ ...\345\255\230\346\272\242\345\207\272.html" | 448 ++ ...\347\224\250\344\273\213\347\273\215.html" | 448 ++ ...3\200\344\271\210\346\230\257Node-js.html" | 448 ++ ...47\247\273\345\210\260GitHub-Actions.html" | 448 ++ ...0-Volta-\347\256\241\347\220\206Node.html" | 448 ++ ...346\234\215\345\212\241-\344\272\214.html" | 448 ++ ...\345\217\243\346\234\215\345\212\241.html" | 451 ++ ...\357\274\210\344\270\211\357\274\211.html" | 448 ++ ...6\210\220api\346\226\207\346\241\243.html" | 450 ++ ...0\220express\345\272\224\347\224\250.html" | 448 ++ ...\212\250\346\236\204\345\273\272Hexo.html" | 459 ++ ...\233\256Saas\346\212\245\351\224\231.html" | 448 ++ ...5\267\261\347\232\204NPM\345\214\205.html" | 448 ++ ...\346\203\240\346\225\264\347\220\206.html" | 448 ++ ...\344\275\277\347\224\250clipboard-js.html" | 448 ++ ...\345\270\203\350\256\242\351\230\205.html" | 448 ++ ...e-allsettled\346\226\271\346\263\225.html" | 448 ++ ...Promise-race\346\226\271\346\263\225.html" | 448 ++ ...1Promsie-all\346\226\271\346\263\225.html" | 448 ++ ...\346\263\225\345\256\236\347\216\260.html" | 448 ++ ...\345\216\206\347\273\204\344\273\266.html" | 448 ++ ...6\231\347\256\200\346\230\223Promise.html" | 448 ++ ...\350\275\254\346\265\201\351\207\217.html" | 448 ++ ...\345\211\252\350\264\264\346\235\277.html" | 455 ++ ...\346\236\266\345\261\217\345\220\247.html" | 452 ++ ...\346\263\225\344\275\277\347\224\250.html" | 451 ++ ...\350\243\205\345\244\261\350\264\245.html" | 448 ++ ...\351\200\217\351\227\256\351\242\230.html" | 448 ++ ...\350\205\276\350\256\257\344\272\221.html" | 457 ++ 317 files changed, 150628 insertions(+) create mode 100644 404.html create mode 100644 "Buffer\345\257\271\350\261\241.html" create mode 100644 CNAME create mode 100644 "Debian9\345\256\211\350\243\205\350\256\276\347\275\256Fail2ban.html" create mode 100644 "ES6\347\263\273\345\210\227-let\345\222\214const\345\217\230\351\207\217.html" create mode 100644 "Express\344\270\255\351\227\264\344\273\266body-parser\347\256\200\345\215\225\345\256\236\347\216\260.html" create mode 100644 "Express\345\244\204\347\220\206\346\225\260\346\215\256\350\257\267\346\261\202.html" create mode 100644 "Express\346\226\207\344\273\266\344\270\212\344\274\240.html" create mode 100644 "Express\346\241\206\346\236\266cookie\345\222\214session.html" create mode 100644 "Express\350\267\257\347\224\261.html" create mode 100644 "Git\346\213\211\345\217\226\350\277\234\347\250\213\345\210\206\346\224\257\345\210\260\346\234\254\345\234\260.html" create mode 100644 "Git\347\211\210\346\234\254\345\233\236\351\200\200.html" create mode 100644 "Git\347\224\237\346\210\220SSH\345\205\254\351\222\245.html" create mode 100644 "Git\351\205\215\347\275\256https\345\205\215\347\224\250\346\210\267\345\220\215\345\222\214\345\257\206\347\240\201\346\217\220\344\272\244.html" create mode 100644 "Hexo-Next\351\233\206\346\210\220Algolia\346\220\234\347\264\242.html" create mode 100644 "Hexo\345\215\232\345\256\242\344\273\216Coding\350\277\201\347\247\273\345\210\260\350\205\276\350\256\257\344\272\221COS.html" create mode 100644 "Hexo\345\215\232\345\256\242\345\244\232\347\253\257\345\220\214\346\255\245\351\227\256\351\242\230.html" create mode 100644 "JavaScript\347\232\204\344\272\213\344\273\266\345\247\224\346\211\230\345\216\237\347\220\206.html" create mode 100644 "Node-js\344\275\277\347\224\250Nodemailer\345\217\221\351\200\201\351\202\256\344\273\266\351\200\232\347\237\245.html" create mode 100644 "Node\346\250\241\345\235\227\346\234\272\345\210\266.html" create mode 100644 "TypeScript\347\256\200\344\273\213.html" create mode 100644 "VSCode-\351\205\215\347\275\256Node\350\260\203\350\257\225\347\216\257\345\242\203.html" create mode 100644 "Vue3\347\273\204\345\220\210\345\274\217API(Composition API) .html" create mode 100644 "Windows\344\270\213\345\256\211\350\243\205MongoDB.html" create mode 100644 "Windows\344\270\213\345\256\211\350\243\205MySQL.html" create mode 100644 archives/2017/12/index.html create mode 100644 archives/2017/index.html create mode 100644 archives/2018/01/index.html create mode 100644 archives/2018/02/index.html create mode 100644 archives/2018/03/index.html create mode 100644 archives/2018/04/index.html create mode 100644 archives/2018/05/index.html create mode 100644 archives/2018/05/page/2/index.html create mode 100644 archives/2018/06/index.html create mode 100644 archives/2018/07/index.html create mode 100644 archives/2018/09/index.html create mode 100644 archives/2018/10/index.html create mode 100644 archives/2018/11/index.html create mode 100644 archives/2018/12/index.html create mode 100644 archives/2018/index.html create mode 100644 archives/2018/page/2/index.html create mode 100644 archives/2018/page/3/index.html create mode 100644 archives/2018/page/4/index.html create mode 100644 archives/2018/page/5/index.html create mode 100644 archives/2018/page/6/index.html create mode 100644 archives/2019/03/index.html create mode 100644 archives/2019/04/index.html create mode 100644 archives/2019/06/index.html create mode 100644 archives/2019/index.html create mode 100644 archives/2020/06/index.html create mode 100644 archives/2020/index.html create mode 100644 archives/2021/07/index.html create mode 100644 archives/2021/08/index.html create mode 100644 archives/2021/09/index.html create mode 100644 archives/2021/10/index.html create mode 100644 archives/2021/11/index.html create mode 100644 archives/2021/12/index.html create mode 100644 archives/2021/index.html create mode 100644 archives/2022/02/index.html create mode 100644 archives/2022/05/index.html create mode 100644 archives/2022/06/index.html create mode 100644 archives/2022/07/index.html create mode 100644 archives/2022/09/index.html create mode 100644 archives/2022/10/index.html create mode 100644 archives/2022/11/index.html create mode 100644 archives/2022/index.html create mode 100644 archives/2023/01/index.html create mode 100644 archives/2023/02/index.html create mode 100644 archives/2023/03/index.html create mode 100644 archives/2023/04/index.html create mode 100644 archives/2023/05/index.html create mode 100644 archives/2023/06/index.html create mode 100644 archives/2023/07/index.html create mode 100644 archives/2023/08/index.html create mode 100644 archives/2023/09/index.html create mode 100644 archives/2023/index.html create mode 100644 archives/2023/page/2/index.html create mode 100644 archives/index.html create mode 100644 archives/page/10/index.html create mode 100644 archives/page/11/index.html create mode 100644 archives/page/2/index.html create mode 100644 archives/page/3/index.html create mode 100644 archives/page/4/index.html create mode 100644 archives/page/5/index.html create mode 100644 archives/page/6/index.html create mode 100644 archives/page/7/index.html create mode 100644 archives/page/8/index.html create mode 100644 archives/page/9/index.html create mode 100644 assets/algolia/algoliasearch.js create mode 100644 assets/algolia/algoliasearch.min.js create mode 100644 assets/algolia/algoliasearchLite.js create mode 100644 assets/algolia/algoliasearchLite.min.js create mode 100644 atom.xml create mode 100644 "axios\345\217\221\351\200\201Basic-Auth\350\256\244\350\257\201\345\222\214Bearer-Token.html" create mode 100644 baidusitemap.xml create mode 100644 "centos7\345\256\211\350\243\205MySQL.html" create mode 100644 "centos7\345\256\211\350\243\205mongodb.html" create mode 100644 "centos7\345\274\200\346\234\272\350\207\252\345\220\257nginx.html" create mode 100644 content.json create mode 100644 css/fonts/fontawesome/FontAwesome.otf create mode 100644 css/fonts/fontawesome/fontawesome-webfont.eot create mode 100644 css/fonts/fontawesome/fontawesome-webfont.svg create mode 100644 css/fonts/fontawesome/fontawesome-webfont.ttf create mode 100644 css/fonts/fontawesome/fontawesome-webfont.woff create mode 100644 css/fonts/fontawesome/fontawesome-webfont.woff2 create mode 100644 css/fonts/roboto/Roboto-Bold.eot create mode 100644 css/fonts/roboto/Roboto-Bold.ttf create mode 100644 css/fonts/roboto/Roboto-Bold.woff create mode 100644 css/fonts/roboto/Roboto-Bold.woff2 create mode 100644 css/fonts/roboto/Roboto-Light.eot create mode 100644 css/fonts/roboto/Roboto-Light.ttf create mode 100644 css/fonts/roboto/Roboto-Light.woff create mode 100644 css/fonts/roboto/Roboto-Light.woff2 create mode 100644 css/fonts/roboto/Roboto-Medium.eot create mode 100644 css/fonts/roboto/Roboto-Medium.ttf create mode 100644 css/fonts/roboto/Roboto-Medium.woff create mode 100644 css/fonts/roboto/Roboto-Medium.woff2 create mode 100644 css/fonts/roboto/Roboto-Regular.eot create mode 100644 css/fonts/roboto/Roboto-Regular.ttf create mode 100644 css/fonts/roboto/Roboto-Regular.woff create mode 100644 css/fonts/roboto/Roboto-Regular.woff2 create mode 100644 css/fonts/roboto/Roboto-Thin.eot create mode 100644 css/fonts/roboto/Roboto-Thin.ttf create mode 100644 css/fonts/roboto/Roboto-Thin.woff create mode 100644 css/fonts/roboto/Roboto-Thin.woff2 create mode 100644 css/style.css create mode 100644 "css\345\256\236\347\216\260table\350\241\250\345\244\264\345\222\214\345\210\227\345\233\272\345\256\232.html" create mode 100644 "css\345\256\236\347\216\260\345\205\203\347\264\240\345\236\202\347\233\264\345\261\205\344\270\255-\345\214\205\346\213\254\346\234\252\347\237\245\345\256\275\351\253\230\347\232\204\345\205\203\347\264\240.html" create mode 100644 "css\345\256\236\347\216\260\345\215\225\350\241\214\343\200\201\345\244\232\350\241\214\346\226\207\346\234\254\346\272\242\345\207\272\346\230\276\347\244\272\347\234\201\347\225\245\345\217\267.html" create mode 100644 "ejs\346\250\241\346\235\277\345\274\225\346\223\216.html" create mode 100644 "el-date-picker\346\227\245\346\234\237\350\214\203\345\233\264\350\256\276\347\275\256\351\200\211\346\213\251\345\214\272\351\227\264.html" create mode 100644 "element-ui\351\207\214Table\347\273\204\344\273\266\345\244\232\351\200\211\357\274\214\347\277\273\351\241\265\350\256\260\345\277\206\351\200\211\344\270\255\345\244\215\351\200\211\346\241\206.html" create mode 100644 "express\347\256\200\345\215\225\345\205\245\345\235\221.html" create mode 100644 favicon.ico create mode 100644 "for-in-\345\222\214-for-of-\345\214\272\345\210\253.html" create mode 100644 "fs\346\250\241\345\235\227.html" create mode 100644 "global\345\257\271\350\261\241.html" create mode 100644 hello-world.html create mode 100644 "http\346\250\241\345\235\227.html" create mode 100644 img/alipay.jpg create mode 100644 img/avatar.png create mode 100644 img/brand.jpg create mode 100644 img/cc.png create mode 100644 img/img-err.png create mode 100644 img/img-loading.png create mode 100644 img/wechat.jpg create mode 100644 index.html create mode 100644 "javascript\346\225\260\346\215\256\347\261\273\345\236\213\350\275\254\346\215\242.html" create mode 100644 "javascript\346\225\260\347\273\204\345\216\273\351\207\215-ES6\347\211\210.html" create mode 100644 "javascript\346\225\260\347\273\204\345\216\273\351\207\215.html" create mode 100644 js/main.js create mode 100644 js/main.min.js create mode 100644 js/search.js create mode 100644 js/search.min.js create mode 100644 js/waline.js create mode 100644 js/waline.min.js create mode 100644 "js\345\207\275\346\225\260\351\230\262\346\212\226\345\222\214\350\212\202\346\265\201\347\232\204\345\214\272\345\210\253\345\222\214\344\273\243\347\240\201\345\256\236\347\216\260.html" create mode 100644 "js\346\265\256\347\202\271\350\277\220\347\256\2270-1-0-2-0-30000000000000004.html" create mode 100644 "js\350\216\267\345\217\226\345\233\276\347\211\207\346\226\207\344\273\266\345\256\275\345\272\246\345\222\214\351\253\230\345\272\246.html" create mode 100644 live2dw/assets/koharu.model.json create mode 100644 live2dw/assets/koharu.physics.json create mode 100644 live2dw/assets/moc/koharu.2048/texture_00.png create mode 100644 live2dw/assets/moc/koharu.moc create mode 100644 live2dw/assets/mtn/01.mtn create mode 100644 live2dw/assets/mtn/02.mtn create mode 100644 live2dw/assets/mtn/03.mtn create mode 100644 live2dw/assets/mtn/04.mtn create mode 100644 live2dw/assets/mtn/05.mtn create mode 100644 live2dw/assets/mtn/06.mtn create mode 100644 live2dw/assets/mtn/07.mtn create mode 100644 live2dw/assets/mtn/08.mtn create mode 100644 live2dw/assets/mtn/09.mtn create mode 100644 live2dw/assets/mtn/idle.mtn create mode 100644 live2dw/lib/L2Dwidget.0.min.js create mode 100644 live2dw/lib/L2Dwidget.0.min.js.map create mode 100644 live2dw/lib/L2Dwidget.min.js create mode 100644 live2dw/lib/L2Dwidget.min.js.map create mode 100644 "nativefier-\344\270\200\350\241\214\345\221\275\344\273\244\347\224\237\346\210\220\346\241\214\351\235\242\345\272\224\347\224\250.html" create mode 100644 "node-js-Windows\344\270\213\345\256\211\350\243\205.html" create mode 100644 "node\345\244\204\347\220\206\345\211\215\345\217\260get\350\257\267\346\261\202.html" create mode 100644 "node\345\244\204\347\220\206\345\211\215\345\217\260post\350\257\267\346\261\202.html" create mode 100644 "node\345\256\232\346\227\266\344\273\273\345\212\241.html" create mode 100644 "node\347\210\254\350\231\253.html" create mode 100644 "node\350\277\236\346\216\245MySQL.html" create mode 100644 "npm-install-\346\212\245\351\224\231\346\217\220\347\244\272\350\257\267\344\275\277\347\224\250\347\256\241\347\220\206\345\221\230.html" create mode 100644 "npm\344\275\277\347\224\250\344\273\213\347\273\215.html" create mode 100644 "npm\350\256\276\347\275\256\346\267\230\345\256\235\351\225\234\345\203\217.html" create mode 100644 "nvm\345\210\207\346\215\242node\347\211\210\346\234\254-npm-ERR-Unexpected-token.html" create mode 100644 "nvm\347\256\241\347\220\206node-js\347\211\210\346\234\254\357\274\210Windows\347\263\273\347\273\237\357\274\211.html" create mode 100644 page/10/index.html create mode 100644 page/11/index.html create mode 100644 page/2/index.html create mode 100644 page/3/index.html create mode 100644 page/4/index.html create mode 100644 page/5/index.html create mode 100644 page/6/index.html create mode 100644 page/7/index.html create mode 100644 page/8/index.html create mode 100644 page/9/index.html create mode 100644 "path\346\250\241\345\235\227.html" create mode 100644 "pinia\344\275\277\347\224\250\346\214\207\345\215\227.html" create mode 100644 "pm2\345\274\200\346\234\272\350\207\252\345\220\257.html" create mode 100644 "querystring\346\250\241\345\235\227.html" create mode 100644 robots.txt create mode 100644 sitemap.xml create mode 100644 "stream\346\250\241\345\235\227.html" create mode 100644 tags/API/index.html create mode 100644 tags/COS/index.html create mode 100644 tags/Debian9/index.html create mode 100644 tags/EJS/index.html create mode 100644 tags/ES6/index.html create mode 100644 "tags/EventHub\357\274\214\345\217\221\345\270\203\350\256\242\351\230\205/index.html" create mode 100644 tags/Express/index.html create mode 100644 tags/Express/page/2/index.html create mode 100644 tags/Fail2ban/index.html create mode 100644 tags/Git/index.html create mode 100644 tags/GitHub-Actions/index.html create mode 100644 tags/Hexo/index.html create mode 100644 tags/MongoDB/index.html create mode 100644 tags/MySQL/index.html create mode 100644 tags/Node-js/index.html create mode 100644 tags/Node-js/page/2/index.html create mode 100644 tags/Node-js/page/3/index.html create mode 100644 tags/Promise/index.html create mode 100644 "tags/SSH\345\205\254\351\222\245/index.html" create mode 100644 tags/TypeScript/index.html create mode 100644 tags/VSCode/index.html create mode 100644 tags/Volta/index.html create mode 100644 tags/Waline/index.html create mode 100644 tags/Windows/index.html create mode 100644 tags/apidoc/index.html create mode 100644 tags/axios/index.html create mode 100644 tags/cli/index.html create mode 100644 tags/cloudflare/index.html create mode 100644 tags/cookie/index.html create mode 100644 tags/css/index.html create mode 100644 tags/element-plus/index.html create mode 100644 tags/element-ui/index.html create mode 100644 tags/express-generator/index.html create mode 100644 tags/index.html create mode 100644 tags/javascript/index.html create mode 100644 "tags/javascript\357\274\214clipboard-js/index.html" create mode 100644 tags/nativefier/index.html create mode 100644 tags/nginx/index.html create mode 100644 tags/npm/index.html create mode 100644 tags/pinia/index.html create mode 100644 tags/pm2/index.html create mode 100644 tags/session/index.html create mode 100644 tags/travis-ci/index.html create mode 100644 tags/v2ray/index.html create mode 100644 tags/vercel/index.html create mode 100644 tags/vite/index.html create mode 100644 tags/vue-cli4/index.html create mode 100644 tags/vue2-0/index.html create mode 100644 "tags/vue2-0\357\274\214clipboard-js/index.html" create mode 100644 tags/vue3-0/index.html create mode 100644 tags/webpack/index.html create mode 100644 tags/yarn/index.html create mode 100644 "tags/\344\272\213\344\273\266\345\247\224\346\211\230/index.html" create mode 100644 "tags/\344\272\221\344\270\273\346\234\272/index.html" create mode 100644 "tags/\345\256\232\346\227\266\344\273\273\345\212\241/index.html" create mode 100644 "tags/\346\211\223\345\214\205\345\267\245\345\205\267/index.html" create mode 100644 "tags/\346\214\201\347\273\255\351\233\206\346\210\220/index.html" create mode 100644 "tags/\346\225\260\346\215\256\347\261\273\345\236\213\350\275\254\346\215\242/index.html" create mode 100644 "tags/\346\225\260\347\273\204/index.html" create mode 100644 "tags/\346\226\207\344\273\266\344\270\212\344\274\240/index.html" create mode 100644 "tags/\347\202\271\351\200\217/index.html" create mode 100644 "tags/\347\210\254\350\231\253/index.html" create mode 100644 "tags/\347\224\237\345\221\275\345\221\250\346\234\237/index.html" create mode 100644 "tags/\347\247\273\345\212\250\347\253\257/index.html" create mode 100644 "tags/\347\273\204\345\220\210\345\274\217API/index.html" create mode 100644 "tags/\350\207\252\345\212\250\346\236\204\345\273\272/index.html" create mode 100644 "tags/\350\242\253\345\242\231/index.html" create mode 100644 "tags/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" create mode 100644 "tags/\350\267\257\347\224\261/index.html" create mode 100644 "tags/\351\203\250\347\275\262/index.html" create mode 100644 "tags/\351\235\242\350\257\225\351\242\230/index.html" create mode 100644 "tags/\351\252\250\346\236\266\345\261\217/index.html" create mode 100644 "url\346\250\241\345\235\227.html" create mode 100644 "vite\347\203\255\346\233\264\346\226\260\346\212\245\351\224\231.html" create mode 100644 "vue-cli3\350\256\276\347\275\256\351\273\230\350\256\244\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250.html" create mode 100644 "vue-cli4\351\205\215\347\275\256\347\224\237\344\272\247\347\216\257\345\242\203\345\210\240\351\231\244console-log.html" create mode 100644 "vue3\344\270\255\345\274\225\345\205\245element-plus\347\232\204Icon.html" create mode 100644 "vue3\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.html" create mode 100644 "vue\344\277\256\346\224\271UI\345\272\223\347\273\204\344\273\266\346\240\267\345\274\217.html" create mode 100644 "vue\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.html" create mode 100644 "webpack4-0\345\205\245\351\227\250\346\214\207\345\215\227\357\274\210\344\272\214\357\274\211\350\275\254\346\215\242es7\350\257\255\346\263\225\350\247\243\346\236\220\351\235\231\346\200\201\350\265\204\346\272\220.html" create mode 100644 "webpack\345\205\245\351\227\250\346\214\207\345\215\227.html" create mode 100644 "webpack\345\206\205\345\255\230\346\272\242\345\207\272.html" create mode 100644 "yarn\344\275\277\347\224\250\344\273\213\347\273\215.html" create mode 100644 "\344\273\200\344\271\210\346\230\257Node-js.html" create mode 100644 "\344\273\216Travis-CI\350\277\201\347\247\273\345\210\260GitHub-Actions.html" create mode 100644 "\344\275\277\347\224\250-Volta-\347\256\241\347\220\206Node.html" create mode 100644 "\344\275\277\347\224\250Express\345\274\200\345\217\221\345\260\217\350\257\264API\346\216\245\345\217\243\346\234\215\345\212\241-\344\272\214.html" create mode 100644 "\344\275\277\347\224\250Express\345\274\200\345\217\221\345\260\217\350\257\264API\346\216\245\345\217\243\346\234\215\345\212\241.html" create mode 100644 "\344\275\277\347\224\250Express\345\274\200\345\217\221\345\260\217\350\257\264API\346\216\245\345\217\243\346\234\215\345\212\2411-0\357\274\210\344\270\211\357\274\211.html" create mode 100644 "\344\275\277\347\224\250apidoc\346\226\207\346\241\243\347\245\236\345\231\250\357\274\214\345\277\253\351\200\237\347\224\237\346\210\220api\346\226\207\346\241\243.html" create mode 100644 "\344\275\277\347\224\250express-generator\345\277\253\351\200\237\347\224\237\346\210\220express\345\272\224\347\224\250.html" create mode 100644 "\344\275\277\347\224\250travis-ci\350\207\252\345\212\250\346\236\204\345\273\272Hexo.html" create mode 100644 "\345\210\207\346\215\242node\347\211\210\346\234\254\351\241\271\347\233\256Saas\346\212\245\351\224\231.html" create mode 100644 "\345\217\221\345\270\203\344\270\200\344\270\252\350\207\252\345\267\261\347\232\204NPM\345\214\205.html" create mode 100644 "\345\233\275\345\206\205\345\255\246\347\224\237\344\272\221\344\270\273\346\234\272\344\274\230\346\203\240\346\225\264\347\220\206.html" create mode 100644 "\345\234\250vue\344\275\277\347\224\250clipboard-js.html" create mode 100644 "\346\211\213\345\206\231EventHub-\345\217\221\345\270\203\350\256\242\351\230\205.html" create mode 100644 "\346\211\213\345\206\231Promise-allsettled\346\226\271\346\263\225.html" create mode 100644 "\346\211\213\345\206\231Promise-race\346\226\271\346\263\225.html" create mode 100644 "\346\211\213\345\206\231Promsie-all\346\226\271\346\263\225.html" create mode 100644 "\346\211\213\345\206\231bind\343\200\201call\343\200\201apply\346\226\271\346\263\225\345\256\236\347\216\260.html" create mode 100644 "\346\211\213\345\206\231vue\346\227\245\345\216\206\347\273\204\344\273\266.html" create mode 100644 "\346\211\213\345\206\231\347\256\200\346\230\223Promise.html" create mode 100644 "\346\213\257\346\225\221\350\242\253\345\242\231\347\232\204ip-v2ray\344\275\277\347\224\250cloudflare\344\270\255\350\275\254\346\265\201\351\207\217.html" create mode 100644 "\347\247\273\345\212\250\347\253\257js\345\244\215\345\210\266\345\206\205\345\256\271\345\210\260\345\211\252\350\264\264\346\235\277.html" create mode 100644 "\347\273\231\351\241\271\347\233\256\345\212\240\344\270\200\344\270\252\351\252\250\346\236\266\345\261\217\345\220\247.html" create mode 100644 "\350\247\243\345\206\263Waline\346\234\215\345\212\241\345\233\240vercel\345\233\275\345\206\205\350\242\253\345\242\231\346\227\240\346\263\225\344\275\277\347\224\250.html" create mode 100644 "\350\247\243\345\206\263node-sass\345\256\211\350\243\205\345\244\261\350\264\245.html" create mode 100644 "\350\247\243\345\206\263\347\247\273\345\212\250\347\253\257click\344\272\213\344\273\266300\346\257\253\347\247\222\345\273\266\350\277\237\345\222\214\347\202\271\351\200\217\351\227\256\351\242\230.html" create mode 100644 "\351\203\250\347\275\262\345\260\217\350\257\264api\346\234\215\345\212\241\345\210\260\350\205\276\350\256\257\344\272\221.html" diff --git a/404.html b/404.html new file mode 100644 index 000000000..6b43d6ee5 --- /dev/null +++ b/404.html @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + +
+
+
+ +
+ + +
+ +
+

lanpangzhi

+

哆啦A梦

+

用户页面中作者相关的描述性文字,如不需要设为 false

+
+ + +
+ + +
+ +
+ + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Buffer\345\257\271\350\261\241.html" "b/Buffer\345\257\271\350\261\241.html" new file mode 100644 index 000000000..70eb8bc39 --- /dev/null +++ "b/Buffer\345\257\271\350\261\241.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Buffer对象 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Buffer对象

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Buffer对象

+ +
+

Buffer对象

在 ECMAScript 2015 (ES6) 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 Node.js API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。
Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require(‘buffer’)。

创建一个Buffer对象

Buffer对象类似于数组,它的元素为16进制的两位数,即0到255的数值。

  • Buffer.from(array) 返回一个新建的包含所提供的字节数组的副本的 Buffer。
  • Buffer.from(arrayBuffer[, byteOffset [, length]]) 返回一个新建的与给定的 ArrayBuffer 共享同一内存的 Buffer。
  • Buffer.from(buffer) 返回一个新建的包含所提供的 Buffer 的内容的副本的 Buffer。
  • Buffer.from(string[, encoding]) 返回一个新建的包含所提供的字符串的副本的 Buffer。
  • Buffer.alloc(size[, fill[, encoding]]) 返回一个指定大小的被填满的 Buffer 实例。这个方法会明显地比 Buffer.allocUnsafe(size) 慢,但可确保新创建的 Buffer 实例绝不会包含旧的和潜在的敏感数据。
  • Buffer.allocUnsafe(size)与 Buffer.allocUnsafeSlow(size) 返回一个新建的指定 size 的 Buffer,但它的内容必须被初始化,可以使用 buf.fill(0) 或完全写满。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // 创建一个长度为 10、且用 0 填充的 Buffer。
    const buf1 = Buffer.alloc(10);

    // 创建一个长度为 10、且用 0x1 填充的 Buffer。
    const buf2 = Buffer.alloc(10, 1);

    // 创建一个长度为 10、且未初始化的 Buffer。
    // 这个方法比调用 Buffer.alloc() 更快,

    // 但返回的 Buffer 实例可能包含旧数据,
    // 因此需要使用 fill() 或 write() 重写。
    const buf3 = Buffer.allocUnsafe(10);
    buf3.fill(0)

    // 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer。数组里一定是0-255的数,否则会不识别,返回00
    const buf4 = Buffer.from([1, 2, 3]);


    // 创建一个包含 UTF-8 字节 [0x74, 0xc3, 0xa9, 0x73, 0x74] 的 Buffer。
    const buf5 = Buffer.from('tést');

    // 创建一个包含 Latin-1 字节 [0x74, 0xe9, 0x73, 0x74] 的 Buffer。
    const buf6 = Buffer.from('tést', 'latin1');

在 Node.js v6 之前的版本中Buffer 实例是通过 new Buffer 构造函数创建的,因为 new Buffer() 的行为会根据所传入的第一个参数的值的数据类型而明显地改变,所以如果应用程序没有正确地校验传给 new Buffer() 的参数、或未能正确地初始化新分配的 Buffer 的内容,就有可能在无意中为他们的代码引入安全性与可靠性问题。
为了使 Buffer 实例的创建更可靠、更不容易出错,各种 new Buffer() 构造函数已被 废弃,并由 Buffer.from()、Buffer.alloc()、和 Buffer.allocUnsafe() 方法替代。

Node.js 建议开发者们应当把所有正在使用的 new Buffer() 构造函数迁移到这些新的 API 上。

Buffer 的转换

Buffer对象与普通的 JavaScript 字符串的互相转换,需要指定编码格式。目前Node.js 目前支持以下的字符编码。

  • ‘ascii’ - 仅支持 7 位 ASCII 数据。
  • ‘utf8’
  • ‘utf16le’
  • ‘ucs2’
  • ‘base64’
  • ‘latin1’
  • ‘binary’
  • ‘hex’
1
2
3
4
5
6
7
8
// 字符串转Buffer
const buf = Buffer.from('node', 'ascii');

// Buffer转hex编码字符串 - 输出 6e6f6465
console.log(buf.toString('hex'));

// Buffer转base64编码字符串 - 输出 bm9kZQ==
console.log(buf.toString('base64'));

字符串转Buffer

Buffer.from(string[, encoding])
encoding 不传参数会默认utf8编码进行转码和存储。

字符串转Buffer

实例方法
buf.toString([encoding[, start[, end]]])
encoding 解码使用的字符编码。默认: ‘utf8’。
start 开始解码的字节偏移量。默认: 0。
end 结束解码的字节偏移量(不包含)。 默认: buf.length。
注:如果Buffer对象由多种编码写入,就需要在局部指定定不同的编码,才能转换回正常的编码。

判断一个对象是否是Buffer对象

Buffer.isBuffer(obj)
如果 obj 是一个 Buffer 则返回 true ,否则返回 false 。

1
2
const buf1 = Buffer.alloc(10);
console.log(Buffer.isBuffer(buf1)) # 返回true

合并Buffer

Buffer.concat(list[, totalLength])
list <Array> 要合并的 Buffer 或 Uint8Array 实例的数组
totalLength <integer> 合并时 list 中 Buffer 实例的总长度
返回一个合并了 list 中所有 Buffer 实例的新建的 Buffer 。
如果 list 中没有元素、或 totalLength 为 0 ,则返回一个新建的长度为 0 的 Buffer 。
如果没有提供 totalLength ,则从 list 中的 Buffer 实例计算得到。 为了计算 totalLength 会导致需要执行额外的循环,所以提供明确的长度会运行更快。
如果提供了 totalLength,totalLength 必须是一个正整数。如果从 list 中计算得到的 Buffer 长度超过了 totalLength,则合并的结果将会被截断为 totalLength 的长度。

1
2
3
4
5
6
7
8
const buf1 = Buffer.from('蓝');
const buf2 = Buffer.from('胖');
const buf3 = Buffer.from('纸');

const len = buf1.length + buf2.length + buf3.length;
console.log(len) # 输出9 一个汉字三个字节

console.log(Buffer.concat([buf1, buf2, buf3], len).toString())

获取字符长度

Buffer.byteLength(string[, encoding])
encoding 不传参数会默认utf8编码

1
console.log(Buffer.byteLength('蓝胖')) # 输出6 一个汉字三个字节

参考

http://nodejs.cn/api/buffer.html

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..2c2e735b1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +blog.langpz.com \ No newline at end of file diff --git "a/Debian9\345\256\211\350\243\205\350\256\276\347\275\256Fail2ban.html" "b/Debian9\345\256\211\350\243\205\350\256\276\347\275\256Fail2ban.html" new file mode 100644 index 000000000..df455804c --- /dev/null +++ "b/Debian9\345\256\211\350\243\205\350\256\276\347\275\256Fail2ban.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Debian9安装设置Fail2ban | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Debian9安装设置Fail2ban

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Debian9安装设置Fail2ban

+ +
+

Fail2ban

fail2ban是一款入侵防御软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。可以防止别人恶意扫描和暴力破解SSH密码。

安装

Python2 >= 2.7 or Python >= 3.2

1
2
3
4
// 更新系统
apt update && apt upgrade -y
// 安装
apt install fail2ban

修改配置文件

vi /etc/fail2ban/jail.conf

1
2
3
4
5
6
7
8
[DEFAULT]

// 封禁时间秒,设置了一年。
bantime = 31536000
// 重试时间秒,这里设置了24小时。
findtime = 86400
// 最大尝试次数 2。
maxretry = 2

创建本地规则配置

vi /etc/fail2ban/jail.d/jail-debian.local

1
2
3
4
[sshd]
port = 你的ssh端口
// 最大重试次数,2。
maxentry = 2

以上配置都保存后执行重启命令

1
systemctl restart fail2ban

常用命令

  • 启动 systemctl start fail2ban
  • 停止 systemctl stop fail2ban
  • 重启 systemctl restart fail2ban
  • 移除被封的IP fail2ban-client set sshd unbanip 1.1.2.2(要解禁的IP)
  • 查看 sshd 封禁情况 fail2ban-client status sshd
  • fail2ban状态 service fail2ban status
+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/ES6\347\263\273\345\210\227-let\345\222\214const\345\217\230\351\207\217.html" "b/ES6\347\263\273\345\210\227-let\345\222\214const\345\217\230\351\207\217.html" new file mode 100644 index 000000000..be4cb5b81 --- /dev/null +++ "b/ES6\347\263\273\345\210\227-let\345\222\214const\345\217\230\351\207\217.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + ES6系列-let和const变量 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

ES6系列-let和const变量

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

ES6系列-let和const变量

+ +
+

ES6系列-let和const变量

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

首先说说var声明变量的弊端。
1.可以重复声明
2.无法限制修改
3.没有块级作用域
4.变量会被提升

let

let不可以重复声明。

1
2
3
let a = 2;
let a = 3;
alert(a)

如果重复声明会直接报错。
let有块级作用域。

1
2
3
4
5
6
{
let a = 2;
var b = 3;
}
console.log(b);
console.log(a);

会报错 a is not defined。
let不存在变量提升。

1
2
3
4
console.log(a)
console.log(b)
var a = 1;
let b = 2;

会打印出 a undefined b is not defined。

const

const常量是不可以被修改的。

1
2
3
const a = 'lanpangzhi';
a = 11;
alert(a)

修改会直接报错,但是如果是对象数据类型可以在对象下添加新得属性。

1
2
3
const a = {};
a.b = 2;
console.log(a)

这样写不会报错,常量a存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把a指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性。

const不可以重复声明。

1
2
3
const a = 2;
const a = 3;
alert(a)

如果重复声明会直接报错。

const有块级作用域。

1
2
3
4
5
6
{
const a = 2;
var b = 3;
}
console.log(b);
console.log(a);

会报错 a is not defined。

const不存在变量提升。

1
2
3
4
console.log(a)
console.log(b)
var a = 1;
const b = 2;

会打印出 a undefined b is not defined。

例子

让i从0输出到5,按顺序输出,es5版本需要闭包来实现。

1
2
3
4
5
for (var i = 0; i <= 5; i++){
(function(i){
console.log(i)
})(i)
}

es6版本

1
2
3
for (let i = 0; i <= 5; i++){
console.log(i)
}

let和const解决了var的弊端,瞬间开发变简单了很多。

参考

http://es6.ruanyifeng.com/#docs/let

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Express\344\270\255\351\227\264\344\273\266body-parser\347\256\200\345\215\225\345\256\236\347\216\260.html" "b/Express\344\270\255\351\227\264\344\273\266body-parser\347\256\200\345\215\225\345\256\236\347\216\260.html" new file mode 100644 index 000000000..4d41e103b --- /dev/null +++ "b/Express\344\270\255\351\227\264\344\273\266body-parser\347\256\200\345\215\225\345\256\236\347\216\260.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Express中间件body-parser简单实现 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Express中间件body-parser简单实现

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Express中间件body-parser简单实现

+ +
+

Express中间件body-parser简单实现

之前文章写了怎么用body-parser中间件处理post请求,今天就大概实现下body-parser中urlencoded 这个方法。

首先通过命令提示输入 mkdir lib && cd lib。
再输入touch body-parser.js。
把下面的代码在body-parser.js 敲一遍。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// lib/body-parser.js
const querystring = require('querystring');

module.exports.urlencoded = function (req, res, next) {
let chunks = [];
req.on('data', data => {
chunks.push(data);
});

req.on('end', () => {
// 合并Buffer。
let buf = Buffer.concat(chunks).toString();
// 把querystring解析过的json 放到 req.body上。
req.body = querystring.parse(buf);
next();
});
}

下面是主程序代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// app.js
const express = require('express');
const bodyParser = require('./lib/body-parser');

let app = express();

app.use(bodyParser.urlencoded);


app.post('/', (req, res) => {
res.send(req.body);
});

app.listen(8000);

现在就完成和body-parser中间件类似的功能了,req.body上面有请求过来的post数据。

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Express\345\244\204\347\220\206\346\225\260\346\215\256\350\257\267\346\261\202.html" "b/Express\345\244\204\347\220\206\346\225\260\346\215\256\350\257\267\346\261\202.html" new file mode 100644 index 000000000..cc2335a26 --- /dev/null +++ "b/Express\345\244\204\347\220\206\346\225\260\346\215\256\350\257\267\346\261\202.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Express处理数据请求 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Express处理数据请求

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Express处理数据请求

+ +
+

Express处理数据请求

之前文章里面介绍了如何用原生Node处理数据请求。
现在通过Express框架处理post和get请求。

处理get请求

这个比较简单(不需要使用中间件)直接req.query就能获取到。

1
2
3
4
5
6
7
8
9
10
11
// 服务端代码
const express = require('express');

let app = express();


app.get('/', (req, res) => {
console.log(req.query);
});

app.listen(8000);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 客户端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8000" method="get">
<input type="text" name="user" /> </br>
<input type="password" name="pass" /> </br>
<input type="submit" value="提交"/>
</form>
</body>
</html>

用命令提示行运行服务器,打开刚才写好的网页输入内容提交表单。
就可以获取到一个json对象如 { user: ‘123’, pass: ‘abc’ } 方便操作。

处理post请求

处理post请求需要用到body-parser这个中间件。
这个中间件可以解析JSON、Raw、文本、URL-encoded格式的请求体。
先安装中间件

1
npm install body-parser

在项目中引用body-parser中间件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 服务端代码
const express = require('express');
const bodyParser = require('body-parser');

let app = express();

// 引用body-parser中间件
app.use(bodyParser.urlencoded());

app.post('/', (req, res) => {
// req.body post 提交过来的数据
console.log(req.body);
});

app.listen(8000);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 客户端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8000" method="post">
<input type="text" name="user" /> </br>
<input type="password" name="pass" /> </br>
<input type="submit" value="提交"/>
</form>
</body>
</html>

用命令提示行运行服务器,打开刚才写好的网页输入内容提交表单。
就可以获取到一个json对象如 { user: ‘lanpangzhi’, pass: ‘123456’ } 方便操作。
这样我们就通过Express获取到get和post提交过来的数据了。

urlencoded() 方法配置参数 (options)

  • extended 设置为false时,会使用querystring库解析URL编码的数据;当设置为true时,会使用qs库解析URL编码的数据。后没有指定编码时,使用此编码。默认为true。但使用默认已被弃用。 请研究qs和querystring之间的差异并选择适当的设置。
  • inflate 设置为true时,deflate压缩数据会被解压缩;设置为true时,deflate压缩数据会被拒绝。默认为true。
  • limit 设置最大请求头大小, 如果这是一个数字,那么该值指定字节数; 如果它是一个字符串,则将该值传递给字节库解析。默认为100kb。
  • parameterLimit 用于设置URL编码值的最大参数数量, 如果请求包含的参数多于此值,那么413将返回给客户端。默认为1000。
  • type 用于设置为指定MIME类型的数据使用当前解析中间件。这个选项可以是一个函数或是字符串,当是字符串是会使用type-is来查找MIMI类型;当为函数是,中间件会通过fn(req)来获取实际值。默认为application/octet-stream。
  • verify 这个选项仅在verify(req, res, buf, encoding)时受支持。

body-parser里面还有另外几个方法,可以自行去github看下。

参考

[https://github.com/expressjs/body-parser]

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Express\346\226\207\344\273\266\344\270\212\344\274\240.html" "b/Express\346\226\207\344\273\266\344\270\212\344\274\240.html" new file mode 100644 index 000000000..c78696d4d --- /dev/null +++ "b/Express\346\226\207\344\273\266\344\270\212\344\274\240.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Express文件上传 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Express文件上传

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Express文件上传

+ +
+

Express文件上传

在后台项目中会经常碰见文件上传这个需求,例如用户上传一张头像等。。。今天就用Multer这个中间件来解决文件上传。

安装Multer

第一步先安装Multer到你的项目里。

1
npm install --save multer

创建一个form表单

这里就不用ajax去上传了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8000" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit" value="提交" />
</form>
</body>
</html>

form表单enctype属性

说明
application/x-www-form-urlencoded在发送前编码所有字符(默认)
multipart/form-data不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain空格转换为 “+” 加号,但不对特殊字符编码。

引用配置multer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// app.js
const express = require('express');
const multer = require('multer');
const fs = require('fs');
const path = require('path');
const uploda = multer({
dest: './uploads/' // 服务接收文件的路径
});

let app = express();

app.use(uploda.any()); // multer放到express中间件里

app.post('/', (req, res) => {
console.log(req.files); // req.files接收到的文件信息一个数组
// 添加后缀名,只支持一个文件上加后缀名,多文件改成递归
let newName = req.files[0].path + path.extname(req.files[0].originalname);
console.log(newName, req.files[0].path);
fs.rename(req.files[0].path, newName, (err) => {
if(err){
console.log(err);
res.sendStatus(500).send('error');
}else{
res.send('OK,上传成功。');
}

});
});

app.listen(8000);

在cmd执行 node app.js 打开index.html 选择文件上传,服务端就可以成功接收文件了。
multer 还有一些别的方法和参数,可自行去github查看。

参考

https://github.com/expressjs/multer

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Express\346\241\206\346\236\266cookie\345\222\214session.html" "b/Express\346\241\206\346\236\266cookie\345\222\214session.html" new file mode 100644 index 000000000..c4ec457ce --- /dev/null +++ "b/Express\346\241\206\346\236\266cookie\345\222\214session.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Express框架cookie和session | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Express框架cookie和session

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Express框架cookie和session

+ +
+

Express框架cookie和session

HTTP协议是无状态的,所以要通过一些机制来记录用户的信息。cookie是存在浏览器端的,session是存在服务器端。

cookie存在浏览器端,每次请求都会带上。
缺点:不安全(用户可以随便串改),大小(4k)。

session

session只存在服务器端。
优点:容量不限,比较安全(用户接触不到)。
session实现是基于cookie的。
风险:session_id 被泄露漏 session劫持。
提醒用户不在在控制台输入(console)输入代码。
session_id 足够复杂,定期更换。

Express操作cookie

先安装cookie-parser。

1
npm install cookie-parser -S

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// app.js
const express = require('express');
const cookieParser = require('cookie-parser');

let app = express();

app.use(cookieParser()); // 设置cookieParser 中间件

app.get('/', (req, res) => {
console.log(req.cookies); // 获取cookie
res.cookie('user', 'lanpangzhi'); // 设置cookie
res.send('OK');
});

app.listen(8000);

在cmd执行 node app.js 浏览器输入http://localhost:8000/ 第一次控制台输出{},再刷新就输出{user: ‘lanpangzhi’ }。
现在就能获取和设置cookie了,但是有个问题,浏览器执行document.cookie = “user=aaa”,浏览器再刷新控制台就会输出{user: ‘aaa’ }。
这样使用cookie不安全,敏感信息容易被篡改,所以要使用带签名的cookie。

带签名的cookie

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// app.js
const express = require('express');
const cookieParser = require('cookie-parser');

let app = express();

app.use(cookieParser('abc123456abc')); // 设置cookieParser 中间件 使用签名必须要设置字符串。

app.get('/', (req, res) => {
console.log(req.cookies); // 获取cookie
console.log(req.signedCookies); // 获取带签名的cookie
res.cookie('user', 'lanpangzhi', {
signed: true // 设置带签名的cookie
});
res.send('OK');
});

app.listen(8000);

再执行,就会发现浏览器cookie的值变成了s%3Alanpangzhi.i6hEUuhD%2Fd0miBMsGyRdktiDFmi%2BYfiJhQTcqKpQqIc ,再修改cookie的值,控制台就会输出{ user: false },这样cookie就不会被简单的篡改了。

req.cookies 获取cookie。
res.cookie(name, value [, options]);
name: cookie的名称(string)。
value: cookie的值,(string or object)。
options:options参数是一个可以具有以下属性的对象。

如下

类型说明
domainStringcookie的域名。 默认为网站的域名。
encodeFunction用于cookie值编码的同步函数。 默认为encodeURIComponent。
expiresDatecookie的有效期(如果未指定或设置为0),则创建会话cookie。
httpOnlyBoolean将cookie标记为仅可由Web服务器访问。默认false
maxAgeNumber设置cookie的到期时间、相对于当前时间的到期时间(以毫秒为单位)。
pathStringcookie的路径。 默认为“/”
secureBoolean将cookie标记为仅与HTTPS一起使用。默认false
signedBoolean对cookie进行签名。默认false

Express操作session

先安装cookie-session。

1
npm install cookie-session -S

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// app.js
const express = require('express');
const cookieSession = require('cookie-session');

let app = express();

app.use(cookieSession({
secret: 'aaaa'
})); // 设置cookieSession中间件

app.get('/', (req, res) => {
if (req.session['num']) {
req.session['num']++;
}else{
req.session['num'] = 1; // 设置session
}
res.send(`访问${req.session["num"]}次`);
});

app.listen(8000);

在cmd执行 node app.js 浏览器输入http://localhost:8000/ 刷新浏览器就可以看到访问几次,把所有浏览器都关闭session就失效了,再进入页面就从第一次开始了。
更多方法还有详细参数可以去github自行参考。

参考

http://expressjs.com/en/4x/api.html
https://github.com/expressjs/cookie-parser
https://github.com/expressjs/cookie-session

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Express\350\267\257\347\224\261.html" "b/Express\350\267\257\347\224\261.html" new file mode 100644 index 000000000..8a408fabc --- /dev/null +++ "b/Express\350\267\257\347\224\261.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Express路由 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Express路由

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Express路由

+ +
+

Express路由

之前在Express入坑里面简单讲了下路由的用法,现在就讲下如果再项目中怎么配置路由。

一个网站下面可能有很多地址例如:
www.langpz.com/aaa
user/
www.langpz.com/user/aaa
www.langpz.com/user/bbb
www.langpz.com/user/ccc
vip/
www.langpz.com/vip/aaa
www.langpz.com/vip/bbb
www.langpz.com/vip/ccc
等等。。。
咱们可以拆分成vip和user两个目录目录下再放子路由。
先安装express 然后在项目根目录建一个app.js和routers文件夹,routers文件夹里面再建一个index.js文件和vip、user两个目录,两个目录下面分别建立index.js文件。

1
2
3
4
5
6
7
8
9
10
11
// app.js
const express = require('express');
const routers = require('./routers'); //引入路由

let app = express();

app.use('/vip', routers.vip); // 设置/vip路由中间件
app.use('/user', routers.user); // 设置/user路由中间件


app.listen(8000);

1
2
3
4
5
6
7
8
// routers/index.js
let vip = require('./vip'); // 引入vip文件下面的路由
let user = require('./user'); // 引入user文件下面的路由
// 导出路由
module.exports = {
vip,
user
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// routers/vip/index.js
const express = require('express'); // 必须要引入express

let routerVip = express.Router(); // 创建router实例

// 添加路由配置
routerVip.get('/', (req, res) => {
res.send('我是vip根目录')
});

routerVip.get('/aaa', (req, res) => {
res.send('我是vip/aaa目录')
});

routerVip.get('/bbb', (req, res) => {
res.send('我是vip/bbb目录')
});
// 导出路由
module.exports = routerVip;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// routers/user/index.js
const express = require('express'); // 必须要引入express

let routerUser = express.Router(); // 创建router实例

// 添加路由配置
routerUser.get('/', (req, res) =>{
res.send('我是user根目录')
});

routerUser.get('/aaa', (req, res) => {
res.send('我是user/aaa目录')
});

routerUser.get('/bbb', (req, res) => {
res.send('我是user/bbb目录')
});

// 导出路由
module.exports = routerUser;

然后执行 node app.js 再浏览器输入http://localhost:8000/user/aaa、http://localhost:8000/vip/aaa,就可以来回切换路由了,如果新增了一个路由模块就在routers文件夹下,再新建文件夹划分路由,这样路由文件比较清晰,后期维护起来也方便。

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Git\346\213\211\345\217\226\350\277\234\347\250\213\345\210\206\346\224\257\345\210\260\346\234\254\345\234\260.html" "b/Git\346\213\211\345\217\226\350\277\234\347\250\213\345\210\206\346\224\257\345\210\260\346\234\254\345\234\260.html" new file mode 100644 index 000000000..1eec8ec1f --- /dev/null +++ "b/Git\346\213\211\345\217\226\350\277\234\347\250\213\345\210\206\346\224\257\345\210\260\346\234\254\345\234\260.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Git拉取远程分支到本地 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Git拉取远程分支到本地

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Git拉取远程分支到本地

+ +
+

Git拉取远程分支到本地

经常会碰见拉取远端的分支到本地,步骤和命令经常记不住所以只好做个笔记。

拉取分支

首先你得先查看你是否和远端的仓库建立连接。

1
git remote -v

如果没有的话那就自行添加一下

1
git remote add origin  xxxx(你远程分支的git仓库地址)

如果每天要提交代码 ,可以绕过上面这一步,直接切换分支

1
git checkout -b Q3 origin/Q3

这个时候操作失败提示如下:

  • fatal: ‘origin/Q3’ is not a commit and a branch ‘Q3’ cannot be created from it
    代表你本地没有Q3这个远程分支。

可以执行 git branch -r 来检查本地是否有Q3远程分支。
拉取远程分支到本地并切换分支。

1
2
git fetch origin Q3
git checkout -b Q3 origin/Q3

拉取远程分支到本地

1
git pull origin Q3

参考

https://curder.gitbooks.io/blog/git/remote_repository_pull.html

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Git\347\211\210\346\234\254\345\233\236\351\200\200.html" "b/Git\347\211\210\346\234\254\345\233\236\351\200\200.html" new file mode 100644 index 000000000..c1a605ae7 --- /dev/null +++ "b/Git\347\211\210\346\234\254\345\233\236\351\200\200.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Git版本回退 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Git版本回退

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Git版本回退

+ +
+

Git版本回退

在工作中会碰见这个功能不要了,回退到上一个版本、或者merge错分支,下面简单记录下如何解决这些问题。

回退指定commit

1
2
git log
git reset --hard 版本号

git log 查看之前提交的commit版本号,然后执行回退。

回退命令

1
2
git reflog
git reset --hard 版本号

git reflog 查看之前执行命令版本号,然后执行回退。

cherry-pick

还有一种场景, 比如有三个commit,保留1和3,2舍去这个时候就要用到 cherry-pick

1
2
3
git reflog 
git reset --hard 1的版本号
git cherry-pick 3的版本号

git reflog 找到commit 1和3的版本号 回退到第一个版本,然后再执行cherry-pick把3的修改合并到1里,如果有冲突就解决冲突

已经提交远端仓库

1
2
git reset --hard 版本号
git push -f origin/远端分支

先回退版本,然后强制推送到远端仓库

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Git\347\224\237\346\210\220SSH\345\205\254\351\222\245.html" "b/Git\347\224\237\346\210\220SSH\345\205\254\351\222\245.html" new file mode 100644 index 000000000..f7518111a --- /dev/null +++ "b/Git\347\224\237\346\210\220SSH\345\205\254\351\222\245.html" @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + Git生成SSH公钥 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Git生成SSH公钥

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Git生成SSH公钥

+ +
+

Git生成SSH公钥

大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。

查看公钥是否生成过

1
2
cd ~/.ssh
ls # 在Git bash下执行

或者 C:\Users\Administrator.ssh 访问这个目录。
看有没有用 something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。如果有公钥直接打开 id_rsa.pub 文件添加到GitHub和coding的SSH公钥里面,建议coding有效期选永久。

生成公钥

执行下面的命令。

1
ssh-keygen

它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。
直接回车就行。
然后去C:\Users\Administrator.ssh目录 找到id_rsa.pub 文件就是生成好的公钥,添加到GitHub和coding。
公钥的大概样子,全部复制。

1
2
3
4
5
6
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local

测试公钥是否添加成功

测试GitHub。

1
ssh git@github.com

现在就添加成功了。

测试Coding

1
ssh -T git@git.coding.net

参考

https://git-scm.com/book/zh/v1/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Git\351\205\215\347\275\256https\345\205\215\347\224\250\346\210\267\345\220\215\345\222\214\345\257\206\347\240\201\346\217\220\344\272\244.html" "b/Git\351\205\215\347\275\256https\345\205\215\347\224\250\346\210\267\345\220\215\345\222\214\345\257\206\347\240\201\346\217\220\344\272\244.html" new file mode 100644 index 000000000..810652f8f --- /dev/null +++ "b/Git\351\205\215\347\275\256https\345\205\215\347\224\250\346\210\267\345\220\215\345\222\214\345\257\206\347\240\201\346\217\220\344\272\244.html" @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + + + Git配置https免用户名和密码提交 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Git配置https免用户名和密码提交

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Git配置https免用户名和密码提交

+ +
+

Git配置https免用户名和密码提交

我们如果是通过git clone https://xxx 下载的项目每次Push的时候需要输入用户名和密码,其实Git可以通过配置实现免密码提交。
+

在Git Bash 里面输入命令。

1
git config --global credential.helper store

然后再提交输入用户名和密码提交完成后,用户名和密码就被保存了,下次再提交就不用再输入了。

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Hexo-Next\351\233\206\346\210\220Algolia\346\220\234\347\264\242.html" "b/Hexo-Next\351\233\206\346\210\220Algolia\346\220\234\347\264\242.html" new file mode 100644 index 000000000..a694a7746 --- /dev/null +++ "b/Hexo-Next\351\233\206\346\210\220Algolia\346\220\234\347\264\242.html" @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + Hexo+Next集成Algolia搜索 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Hexo+Next集成Algolia搜索

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Hexo+Next集成Algolia搜索

+ +
+

集成Algolia搜索

起因Swiftype现在收费了,也没有免费版本。Local Search搜索体验不好,微搜索Next官网上描述太少!所以选择Algolia。
注:Algolia搜索在版本 5.1.0 中引入,要使用此功能请确保所使用的 NexT 版本在此之后

首先注册Algolia账户

Algolia 登陆页面https://www.algolia.com/users/sign_in,可以使用 GitHub 或者 Google 账户直接登录,也可以注册一个新账户。我直接用谷歌账户登陆了,注册后的 14 天内拥有所有功能(包括收费类别的)。之后若未续费会自动降级为免费账户,免费账户 总共有 10,000 条记录,每月有 100,000 的可以操作数。

注册完成后,创建一个新的 Index,这个 index name 之后会用到

Index 创建完成后,此时这个 Index 里未包含任何数据。 接下来需要安装 Hexo Algolia 扩展, 这个扩展的功能是搜集站点的内容并通过 API 发送给 Algolia。前往站点根目录,执行命令安装:

1
npm install hexo-algolia --save  # 目前最新版本是1.2.4,下面的操作都是基于这个版本的文档

获取 Key,更新站点根目录配置

前往站点根目录打开_config.yml添加以下代码

1
2
3
4
5
# Algolia Search API Key
algolia:
applicationID: '你的Application ID'
apiKey: '你的Search-Only API Key'
indexName: '输入刚才创建index name'

修改Algolia搜索ACL(访问控制列表)

选中后保存。

操作完成后执行命令

1
2
3
export(windows 为 set) (Powershell 用 $env:) HEXO_ALGOLIA_INDEXING_KEY=你的Search-Only API key
set (Mac和git bash 为 export) (Powershell 用 $env:) HEXO_ALGOLIA_INDEXING_KEY #查看是否设置成功如果没有值就设置失败
hexo algolia

成功后修改Next主题配置文件

更改Next主题配置文件,找到 Algolia Search 配置部分:

1
2
3
4
5
6
7
8
9
# Algolia Search
algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到约${hits}条结果(用时${time}ms)"

将 enable 改为 true 即可,根据需要你可以调整 labels 中的文本。这个是我修改的文本。

总结一下集成遇到的BUG

Please provide an Algolia index name in your hexo _config.yml flle

原因:Algolia Search API Key indexName 错了

解决方案:看下之前新建index的名字

Not enough rights to update an object near

原因:没有修改Algolia搜索ACL(访问控制列表)

解决方案: 按1.4操作勾选上就可以

移动端遮罩盖住搜索

原因:遮罩的z-index值太高,我的next主题是5.1.3版本可能其他版本没有这个BUG

解决方案: 找到\themes\next\source\css_common\components\third-party 下面的algolia-search.styl 文件 第8行追加

1
2
+mobile()
z-index: 1000

参考

http://theme-next.iissnan.com/third-party-services.html#algolia-search
https://github.com/oncletom/hexo-algolia

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Hexo\345\215\232\345\256\242\344\273\216Coding\350\277\201\347\247\273\345\210\260\350\205\276\350\256\257\344\272\221COS.html" "b/Hexo\345\215\232\345\256\242\344\273\216Coding\350\277\201\347\247\273\345\210\260\350\205\276\350\256\257\344\272\221COS.html" new file mode 100644 index 000000000..45ac57057 --- /dev/null +++ "b/Hexo\345\215\232\345\256\242\344\273\216Coding\350\277\201\347\247\273\345\210\260\350\205\276\350\256\257\344\272\221COS.html" @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + Hexo博客从Coding迁移到腾讯云COS | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Hexo博客从Coding迁移到腾讯云COS

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Hexo博客从Coding迁移到腾讯云COS

+ +
+

Hexo博客从Coding迁移到腾讯云COS

最近coding的Pages 服务一直不稳定,这两天访问还出现404,重新部署也无法解决。国内访问GitHub Pages 不是很快,而且百度SEO也爬不到。码云自定义域名收费,只好迁移到腾讯云COS上了。

创建存储桶

https://console.cloud.tencent.com/cos5/bucket 首先要创建存储桶。区域看各自情况任选,访问权限必须要选择公有读私有写。

基础设置开启静态网站

索引文档一定要填index.html,错误文档就看自定义的是什么文件了。

域名管理开启自定义加速域名(CDN加速)

填写上自己的域名就可以了。

域名解析

在域名解析这里添加上刚才配置的自定义加速域名的CNAME地址。

安装发布COS插件

1
npm install hexo-deployer-cos-enhanced-dev --save

配置_config.yml

把之前deploy的配置替换掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
deploy: 
type: cos
bucket: blog-1251123456
region: ap-shanghai
secretId: AKIDIgxxxxxxxxxxxxxxxxxxxx0SepjX
secretKey: qXPCbxxxxxxxxxxxxxxxxxxxxsJZfdR
cdnConfig:
enable: true
cdnUrl: http://yourCdnSite.com
bucket: static-1251123456
region: ap-shanghai
folder: static-1251123456
secretId: AKIDIgxxxxxxxxxxxxxxxxxxxx0SepjX
secretKey: qXPCbxxxxxxxxxxxxxxxxxxxxsJZfdR

secretId secretKey 包括cdnConfig下面这两个字段都可以不用填写, 直接从环境变量取

type: 是固定死的,只能是 cos。

cdnUrl: 是你的对象存储绑定的CDN域名,没有启用 CDN的话,推荐使用 https://github.com/sdlzhd/hexo-deployer-cos

bucketregion: 在腾讯云的对象存储中,新建或找到你的 bucket,然后找到 默认域名 信息,会看到一个类似这样的域名: blog-1251123456.cos.ap-shanghai.myqcloud.com,第一个点前面的 blog-1251123456 就是 bucket 名称,第二个点和第三个点之间的 ap-shanghai,就是你的 COS 所在地域,填写到 region 中。

secretIdsecretKey:在 COS控制台中,找到左侧的密钥管理,点进去,按照提示添加子账号,并设置秘钥。同时要给子账号赋予 COS相关的权限,还有CDN刷新的权限。不会配置的可以参考 官方示例

1
hexo d

直接就发布到腾讯云COS上了,访问速度相当快,对SEO也好。

添加持续集成自动发布到COS(Travis CI)

我的博客使用Travis CI,而且备份也是在GitHub公开仓库, secretId secretKey 这两个字段我只能写到Travis CI环境变量里面。

1
2
3
4
5
6
script 
- hexo d
env:

global:
- SecretId: ${SecretId}
- SecretKey: ${SecretKey}

只需要在.travis.yml 文件 script 下面加 hexo d 全局变量增加SecretId和SecretKey 这两个变量。

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Hexo\345\215\232\345\256\242\345\244\232\347\253\257\345\220\214\346\255\245\351\227\256\351\242\230.html" "b/Hexo\345\215\232\345\256\242\345\244\232\347\253\257\345\220\214\346\255\245\351\227\256\351\242\230.html" new file mode 100644 index 000000000..5726973fb --- /dev/null +++ "b/Hexo\345\215\232\345\256\242\345\244\232\347\253\257\345\220\214\346\255\245\351\227\256\351\242\230.html" @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + Hexo博客多端同步问题 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Hexo博客多端同步问题

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Hexo博客多端同步问题

+ +
+

Hexo博客多端同步问题

搭完博客,发现只有公司电脑上有源文件,如果回家就没发继续更新博客了。也不能拿着U盘到处拷贝。所以就把博客源文件放到github上解决同步问题。

博客源文件同步

在博客根目录执行

1
2
3
4
5
6
git init
git remote add origin git@github.com:lanpangzhi/lanpangzhi.github.io.git # 添加远程仓库 注意这里要添加你自己的仓库 lanpangzhi 换成你自己的用户名
git checkout -b hexo # 新建hexo分支并切换到hexo分支

git add . # 所有变化提交到暂存区
git commit -m "解决同步问题" # 提交文件

git push origin hexo # 推送hexo分支

这就成功了,github上已经有博客的源文件了。

github查看提交成功
github查看提交成功

推荐把hexo设置为默认分支。

hexo设置为默认分支
hexo设置为默认分支

git submodule 实现第三方主题同步

因为之前是直接把第三方主题克隆到博客目录,有什么改动是无法推送到作者Git仓库的,这个时候需要把第三方主题的项目Fork到自己仓库,自己账号下生成一个同名的仓库,并对应一个url,我们应该git clone自己账号下仓库的url。

Fork第三方主题
Fork第三方主题

执行如下操作。

1
git submodule add git@github.com:lanpangzhi/hexo-theme-next.git themes/next

把自己仓库下面第三方主题添加到Git子模块, 注 : themes/next 这里的目录是因为我用的next主题才会写themes/next 如果你用的不是next请把next替换成你的第三方主题文件夹名字。

博客的根目录会多一个.gitmodules文件,这是一个配置文件,保存了项目 URL 和你拉取到的本地子目录。

.gitmodules文件
.gitmodules文件

这就添加成功了,然后执行如下操作。

1
2
3
git add . 			 # 所有变化提交到暂存区
git commit -m "添加第三方主题Git子模块" # 提交文件

git push origin hexo # 推送hexo分支

更换电脑同步博客和第三方主题

同步博客

电脑上一定要先node和git,执行如下操作。

1
2
3
4
npm install hexo-cli -g  # 先安装hexo的脚手架
git clone git@github.com:lanpangzhi/lanpangzhi.github.io.git # 下载项目,因为hexo 是默认分支,所以这里直接会下载hexo分支
npm i # 安装依赖
hexo s # 启动服务器

剩下的就自行操作了。博客已经完成了同步。

注:每次写完文章部署网站后,记得再执行如下操作。

1
2
3
git add . 			# 所有变化提交到暂存区
git commit -m "新增xxx文章" # 提交文件

git push origin hexo # 推送hexo分支

同步第三方主题

在博客根目录执行如下操作。

1
2
git submodule init	# 初始化本地配置文件
git submodule update # 拉取子模块

如果第三方主题有修改的,修改完成后在第三方主题目录执行。

1
2
3
git add . 			# 所有变化提交到暂存区
git commit -m "修改主题xxxx" # 提交文件

git push origin master # 推送master分支

这样就会把修改的主题推送到自己的仓库。

修改的主题推送到自己的仓库
修改的主题推送到自己的仓库

这样就实现多端同步了。

参考

http://devtian.me/2015/03/17/blog-sync-solution
https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/JavaScript\347\232\204\344\272\213\344\273\266\345\247\224\346\211\230\345\216\237\347\220\206.html" "b/JavaScript\347\232\204\344\272\213\344\273\266\345\247\224\346\211\230\345\216\237\347\220\206.html" new file mode 100644 index 000000000..8763860c8 --- /dev/null +++ "b/JavaScript\347\232\204\344\272\213\344\273\266\345\247\224\346\211\230\345\216\237\347\220\206.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + JavaScript的事件委托原理 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

JavaScript的事件委托原理

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

JavaScript的事件委托原理

+ +
+

事件委托

事件委托是JavaScript中常用的一种事件处理方式,也称为事件代理。它可以让我们在处理多个相似元素事件时,减少重复代码,提高性能和代码可维护性。

事件委托的原理是将事件绑定在元素的祖先元素上,然后通过事件冒泡的机制,把事件传播到目标元素。

代码实现

原始版

1
2
3
4
5
6
7
8
9
10
11
12
13
<ul id="a">
<li>11</li>
<li>22</li>
<li>33</li>
</ul>

let a = document.querySelector('#a')
let aLi = a.querySelectorAll('li')
for (let i = 0; i < aLi.length; i++) {
aLi[i].addEventListener('click', function(event) {
console.log(event.target.innerText)
})
}

给每个li添加一个click事件,如果数量过多每个LI都会添加事件这样会添加N个事件。

委托版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<ul id="aa">
<li>111</li>
<li>222</li>
<li>
<span>333</span>
</li>
</ul>

let aa = document.querySelector('#aa')
aa.addEventListener('click', function(event) {
if (event.target.tagName.toLocaleLowerCase() == 'li') {
console.log(event.target.innerText)
}
})

通过把事件委托到祖先元素上冒泡机制触发,然后再判断用户是不是点击的是li再执行某些操作。但是这样写会有一个问题,li里面又包了一个span标签再点击li里面的span就不会再执行某些操作

最终版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<ul id="aaa">
<li>1111</li>
<li>2222</li>
<li>
<span>3333</span>
</li>
</ul>

function onEvent(element, eventType, selector, fn) {
element.addEventListener(eventType, e => {
let el = e.target
while (!el.matches(selector)) {
if (element === el) {
el = null
break
}
el = el.parentNode
}
el && fn.call(el, e, el)
})
return element
}

onEvent(document.querySelector('#aaa'), 'click', 'li', function(ev, el) {
console.log(el.innerText)
})

最终版利用Element.matches()来匹配。
onEvent函数 最后封装好的方法

  1. 第一个参数祖先元素,
  2. 第二个参数绑定的事件
  3. 第三个参数绑定的元素,可以是css选择器 例: ‘.ax img’、’”input[name=’xxx’]:checked”‘
  4. 第四个参数触发的函数

优点

  • 减少了DOM操作次数,提高了性能。事件委托利用事件冒泡机制,将事件绑定在父元素上,可以在子元素触发事件时进行响应,避免了对每个子元素都绑定事件的开销,减少了DOM操作次数,提高了性能。

  • 动态监听绑定事件,减少代码量。在动态添加子元素时,如果采用传统的事件绑定方式,需要对每个新添加的子元素都进行事件绑定操作,代码量会非常大。而事件委托只需要在父元素上绑定一次事件即可。

缺点

  • 事件委托无法处理一些不能冒泡的事件,例如focus、blur等,需要对这些事件进行单独处理。

  • 调试比较复杂,不容易确定监听者。因为所有子元素的事件都被绑定在一个父元素上。

Demo

Demo地址

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Node-js\344\275\277\347\224\250Nodemailer\345\217\221\351\200\201\351\202\256\344\273\266\351\200\232\347\237\245.html" "b/Node-js\344\275\277\347\224\250Nodemailer\345\217\221\351\200\201\351\202\256\344\273\266\351\200\232\347\237\245.html" new file mode 100644 index 000000000..bdc938152 --- /dev/null +++ "b/Node-js\344\275\277\347\224\250Nodemailer\345\217\221\351\200\201\351\202\256\344\273\266\351\200\232\347\237\245.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Node.js使用Nodemailer发送邮件通知 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Node.js使用Nodemailer发送邮件通知

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Node.js使用Nodemailer发送邮件通知

+ +
+

Node.js使用Nodemailer发送邮件通知

Nodemailer是一个用于 Node.js 应用程序的模块,可以轻松发送电子邮件。支持Windows系统,使用要求Node.js v6.0.0或更新版本。

安装Nodemailer

1
2
3
yarn add nodemailer 
or

npm i nodemailer

使用

这里使用qq邮箱发送邮件,开启SMTP教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const nodemailer = require('nodemailer');

// 1.创建一个Nodemailer smtp传输对象
transporter = nodemailer.createTransport({
host: 'smtp.qq.com',
port: '465',
secureConnection: true,
secure: false, // true for 465, false for other ports
auth: { user:'SMTP邮箱名', pass: 'SMTP授权码' }
});

// 2. 配置消息
const data = {
subject: '标题',
from: '发送邮箱'
to: '接收邮箱、多邮箱拿,号分割',
html: '支持发送html',
text: '文本内容'
}

// 3. 发送
transporter.sendMail(data)

更多使用方法参考文档

参考

https://github.com/nodemailer/nodemailer

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Node\346\250\241\345\235\227\346\234\272\345\210\266.html" "b/Node\346\250\241\345\235\227\346\234\272\345\210\266.html" new file mode 100644 index 000000000..b4cf30c3f --- /dev/null +++ "b/Node\346\250\241\345\235\227\346\234\272\345\210\266.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Node模块机制 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Node模块机制

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Node模块机制

+ +
+

Node模块机制

JavaScript没有模块系统、标准库比较少、没有标准接口、缺乏包管理系统。
所以JavaScript社区提出了commonjs规范来解决这些问题。

一个Node应用由模块组成,每个js文件就是一个独立模块。
npm基于commonjs实现包的管理使我们开发Node.js更方便。

commonjs规范

引用模块

在commonjs规范中,定义了 require() 方法,这个方法接受一个模块的标识。

1
var math = require('math');

定义模块

模块有自己的作用域。在模块里面定义的变量、函数、类,都是私有的,对其他文件不可见。

上下文中提供了一个 exports 对象可以导出当前模块的方法或者变量,并且它是唯一导出的出口。在模块中,还存在一个 module 对象,它代表当前模块,exports 是 module 的属性。

1
2
3
4
5
// math.js
function add(a,b){
return a + b;
}
exports.add = add; # 导出一个add的方法

再新建一个文件就可以用 require()引用这个模块了

1
2
3
// app.js
var math = require('math');
console.log(math.add(1,2)); # 3

模块标识

模块标识就是传递给 require() 方法的参数,它必须是符合小驼峰命名的规范,或者以 .. 开头的相对路径,或者绝对路径。它可以没有文件后缀名.js。

模块缓存

加载模块后会被缓存,多次加载还是同一个对象。
查看模块缓存 require.cache
查看模块绝对路径 require.resolve(./math.js)
删除模块的缓存 require.cache[require.resolve(./math.js)]

模块的循环加载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// a.js
console.log('a 开始');
exports.done = false;
const b = require('./b.js');
console.log('在 a 中,b.done = %j', b.done);
exports.done = true;
console.log('a 结束');

// b.js
console.log('b 开始');
exports.done = false;
const a = require('./a.js');
console.log('在 b 中,a.done = %j', a.done);
exports.done = true;
console.log('b 结束');

// main.js
console.log('main 开始');
const a = require('./a.js');
const b = require('./b.js');
console.log('在 main 中,a.done=%j,b.done=%j', a.done, b.done);

当 main.js 加载 a.js 时,a.js 又加载 b.js。 此时,b.js 会尝试去加载 a.js。 为了防止无限的循环,会返回一个 a.js 的 exports 对象的 未完成的副本 给 b.js 模块。 然后 b.js 完成加载,并将 exports 对象提供给 a.js 模块。

当 main.js 加载这两个模块时,它们都已经完成加载。 因此,该程序的输出会是:

1
2
3
4
5
6
7
8
9
node main.js
main 开始
a 开始
b 开始
b 中,a.done = false
b 结束
a 中,b.done = true
a 结束
在 main 中,a.done=true,b.done=true

module对象

module.children 被该模块引用的模块对象。
module.id 模块的标识符。 通常是完全解析后的文件名。
module.parent 最先引用该模块的模块。
module.paths 模块的搜索路径。
… 更多去官网查询

Node的模块

在Node中,模块分为两类:一类是Node提供的模块,称为核心模块。另外一类是用户编写的模块,称为文件模块。
核心模块定义在 Node.js 源代码的 lib/ 目录下。
require() 总是会优先加载核心模块。 例如,require(‘http’) 始终返回内置的 HTTP 模块,即使有同名文件。

module.exports和exports区别

exports是module.exports对象的引用

1
2
3
4
5
6
7
8
9
10
11
12
13
function require(/* ... */) {
const module = { exports: {} };
((module, exports) => {
// 模块代码在这。在这个例子中,定义了一个函数。
function someFunc() {}
exports = someFunc;
// 此时,exports 不再是一个 module.exports 的快捷方式,
// 且这个模块依然导出一个空的默认对象。
module.exports = someFunc;
// 此时,该模块导出 someFunc,而不是默认对象。
})(module, module.exports);

return module.exports;
}

参考

http://nodejs.cn/api/modules.html#modules_cycles

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/TypeScript\347\256\200\344\273\213.html" "b/TypeScript\347\256\200\344\273\213.html" new file mode 100644 index 000000000..2ad237bae --- /dev/null +++ "b/TypeScript\347\256\200\344\273\213.html" @@ -0,0 +1,441 @@ + + + + + + + + + + + + + + + + + + + + + + + TypeScript简介 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

TypeScript简介

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

TypeScript简介

+ +
+

什么是 TypeScript?

TypeScript(简称 TS)是一种由微软开发的开源编程语言,它是 JavaScript 的超集。这意味着 TypeScript 扩展了 JavaScript,为其添加了额外的功能,最主要的是类型系统。TypeScript 的目标是提供更强大、更安全、更可维护的代码,同时与 JavaScript 保持高度的兼容性。

为什么需要 TypeScript?

JavaScript 是一门非常灵活的动态类型语言,但这也意味着在编写大型应用程序时可能会出现一些潜在的问题:

  • 类型错误: 在运行时才能发现的类型错误可能会导致应用程序崩溃或产生不可预测的行为。

  • 代码维护困难: 在大型项目中,难以理解的变量命名和函数签名可能会导致代码难以维护。

  • 缺少工具支持: 缺乏类型信息可能导致开发工具无法提供有用的代码补全、重构和错误检查。

TypeScript 解决了这些问题,通过引入静态类型检查来增加代码的可靠性和可维护性。它使开发人员能够在开发阶段捕获类型错误,提供了更多的代码提示和智能感知,并提高了代码的可读性。

TypeScript 的特点和优势

  • 静态类型检查: TypeScript 允许开发人员在编写代码时指定变量、参数和返回值的类型。这样,在编译时就可以检测到类型错误,而不是在运行时出现错误。

  • 强大的工具支持: TypeScript 受益于强大的开发工具,如编辑器(如VSCode、WebStorm)和构建工具(如Webpack)。这些工具提供了智能感知、代码补全、重构和错误检查等功能。

  • 增强的可读性: TypeScript 代码通常更具可读性,因为类型信息使得代码的意图更加明确。这有助于团队合作和代码维护。

  • 渐进式采用: 你可以将 TypeScript 逐步引入项目中,而不需要从头开始重写代码。它兼容现有的 JavaScript 代码,并允许你逐渐添加类型注解。

  • 社区支持: TypeScript 有一个庞大的社区,提供了丰富的文档、库和工具,以帮助你更好地使用它。

环境配置

全局编译TS文件

全局安装typescript对TS进行编译

1
2
npm install typescript -g
tsc --init # 生成tsconfig.json

1
2
tsc # 可以将ts文件编译成js文件
tsc --watch # 监控ts文件变化生成js文件

配置rollup环境

初始化项目并安装依赖

1
2
npm init
npm install rollup typescript rollup-plugin-typescript2 @rollup/plugin-node-resolve rollup-plugin-serve -D

初始化TS配置文件

1
npx tsc --init

修改tsconfig.json文件module: “module”: “ESNext”

rollup配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// rollup.config.js
import ts from 'rollup-plugin-typescript2'
import {nodeResolve} from '@rollup/plugin-node-resolve';
import serve from 'rollup-plugin-serve';
import path from 'path'
export default {
input:'src/main.ts', // 定义入口文件
output:{
format:'iife',
file:path.resolve('dist/bundle.js'),
sourcemap:true
},
plugins:[
nodeResolve({
extensions:['.js','.ts']
}),
ts({
tsconfig:path.resolve(__dirname,'tsconfig.json')
}),
serve({
open:true,
openPage:'/public/index.html',
port:3000,
contentBase:''
})
]
}

创建 /public/index.htmlsrc/main.ts文件

1
2
3
4
5
6
7
8
9
10
11
12
// /public/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="/dist/bundle.js"></script>
</head>
<body>
</body>
</html>

1
2
let a:string = '123'
console.log(a)

package.json配置

1
2
3
"scripts": {
"dev": "rollup -c -w --bundleConfigAsCjs"
}

我们可以通过npm run dev启动服务来使用typescript。

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/VSCode-\351\205\215\347\275\256Node\350\260\203\350\257\225\347\216\257\345\242\203.html" "b/VSCode-\351\205\215\347\275\256Node\350\260\203\350\257\225\347\216\257\345\242\203.html" new file mode 100644 index 000000000..206ace85c --- /dev/null +++ "b/VSCode-\351\205\215\347\275\256Node\350\260\203\350\257\225\347\216\257\345\242\203.html" @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + VSCode 配置Node调试环境 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

VSCode 配置Node调试环境

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

VSCode 配置Node调试环境

+ +
+

VSCode 配置Node调试环境

我们在写js的时候需要调试打开浏览器按F12(开发者工具)就可以打断点去看程序写得对不对。但是在node.js里面就没有办法了,因为是在命令行执行的没法打断点一个个console的话效率太低,所以这个时候就需要VSCode来辅助我们开发node.js。

首先下载VSCode

https://code.visualstudio.com/下载对应系统的安装包

下载VSCode
下载VSCode

新建文件

打开VSCode新建一个文件夹hello,在里面再新建一个app.js

新建文件
新建文件

app.js的代码

1
2
3
4
5
for (let index = 0; index < 5; index++) {
console.log(index)
}

console.log('Hello Word')

开始调试

再点调试,快捷键(Ctrl+Shift+D),添加配置选择Node.js。
注: “program”: “${workspaceFolder}/app.js” /app.js 可以是任何名字,但是一定要是你入口文件。

调试
调试

打断点

开始打断点。

打断点
打断点

执行app.js

操作和浏览器调试类似。

执行app.js
执行app.js

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Vue3\347\273\204\345\220\210\345\274\217API(Composition API) .html" "b/Vue3\347\273\204\345\220\210\345\274\217API(Composition API) .html" new file mode 100644 index 000000000..889e75138 --- /dev/null +++ "b/Vue3\347\273\204\345\220\210\345\274\217API(Composition API) .html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + Vue3组合式API(Composition API) | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Vue3组合式API(Composition API)

+
+ + + + + +
+
+ + + + +
+ + +
+ +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Windows\344\270\213\345\256\211\350\243\205MongoDB.html" "b/Windows\344\270\213\345\256\211\350\243\205MongoDB.html" new file mode 100644 index 000000000..9fc7e5d3f --- /dev/null +++ "b/Windows\344\270\213\345\256\211\350\243\205MongoDB.html" @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + Windows下安装MongoDB | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Windows下安装MongoDB

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Windows下安装MongoDB

+ +
+

Windows下安装MongoDB

MongoDB是一种面向文档的数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题。

MongoDB特点

和关系型数据库比较,面向文档的数据库不再有“行”(row)的概念,取而代之的是更为灵活的“文档”(document)模型。通过再文档中嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层次关系。
另外,不再有预定义模式,文档的键(key)和值(value)不再是固定的类型和大小。由于没有固定的模式,根据需要添加或删除字段变得更容易。可以进行快速迭代,所以开发进程得到加快。

MongoDB基本概念

文档是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行。
集合(collection)可以看作是一个拥有动态模式(dynamic schema)的表。
MongoDB的一个实例可以拥有多个相互独立的数据库(database),每一个数据库都拥有自己的集合。
每一个文档都有一个特殊的键“_id”,这个键在文档所属的集合中是唯一的。

下载和安装

下载地址


点击下载,下载完安装,用默认设置。

运行MongoDB

命令提示符(cmd)执行,具体路径需要看安装的版本,我的是3.6版本。

1
2
cd C:\Program Files\MongoDB\Server\3.6\bin
mongod --dbpath d:\db

控制台会输出一些东西,没有报错MongoDB就启动了。
这样启动比较麻烦,每次都要启动,所以可以把它注册成windows 的服务

1
2
3
// 使用管理员权限运行
mongod --install --dbpath d:\data\db --logpath d:\data\log\log.txt
net start MongoDB // 启动服务

1
2
services.msc // 查看服务
net stop mongodb // 停止服务

删除服务

1
mongod --remove --serviceName MongoDB  // MongoDB是服务名

MongoDB 还可以通过配置文件启动
可以去官网查看https://docs.mongodb.com/manual/reference/configuration-options/

连接MongoDB

在打开一个命令提示符(cmd)之前运行的MongoDB那个不要关闭,因为没有注册成windows的服务,关闭就找不到数据库了。

1
2
cd C:\Program Files\MongoDB\Server\3.6\bin
mongo

这样就链接上数据库了,当然还会输出一大堆东西。

操作MongoDB

我们先创建一个数据库,再刚才连接MongoDB的cmd执行

1
use test02

创建一个test02的数据库并切换过去。
db变量指向当前数据库。
向集合里插入文档,之前也讲了MongoDB没有预定义模式,所以不用新建表和表结构了。
insert方法 把一条文档保存到集合里。

1
db.user_table.insert({"name", "lanpangzhi", "age": 18})

查看集合里面的文档。
find和findOne方法可以用于查询集合里的文档。只想查看一个文件,可以用findOne

1
2
db.user_table.find()
db.user_table.findOne()

find和findOne还可以接受一个查询文档作为限定条件。

1
db.user_table.find({"name": "lanpangzhi"})

更新集合里面的文档
update方法接受(至少)两个参数:第一个是限定条件(用于匹配待更新的文档),第二个是新的文档。

1
db.user_table.update({name: lanpangzhi},{"name": "lanpangzhi", "age": 18, "sex": 1});

删除集合里面的文档
remove方法可将数据库的集合永久删除,如果不加参数默认把集合里面所有的文档删除。它可以接受一个限定条件的文档作为参数。

1
db.user_table.remove({"name": "aaa"})

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git "a/Windows\344\270\213\345\256\211\350\243\205MySQL.html" "b/Windows\344\270\213\345\256\211\350\243\205MySQL.html" new file mode 100644 index 000000000..de36aa988 --- /dev/null +++ "b/Windows\344\270\213\345\256\211\350\243\205MySQL.html" @@ -0,0 +1,453 @@ + + + + + + + + + + + + + + + + + + + + + + + Windows下安装MySQL | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Windows下安装MySQL

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

Windows下安装MySQL

+ +
+

Windows下安装MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

下载

下载地址


点击,进入页面。注:MySQL安装程序是32位的,但会安装32位和64位二进制文件。

点击download然后跳转到页面。可以不需要登陆和注册也可以下载。

再点击,安装程序就下载了。

安装

打开安装程序,勾选同意协议,点击下一步(Next)


现在只安装MySQL的服务端,点击下一步然后安装。
设置MySQL密码,继续下一步。然后完成,其余配置都是用默认配置。

使用Navicat for MySQL 管理MySQL

下载地址
可以用它去管理MySQL。新建库,新建表,修改数据删除数据。

MySQL基本概念

库: 文件夹-用来管理,无法存放数据,一个库可以存放很多张表。
表: 文件-存放数据用的。
列: 一列(数据元素) 包含了相同的数据, 例如用户的数据。
行:一行是一组相关的数据,例如一条用户名和密码的数据。
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:外键用于关联两个表。

MySQL常用数据类型

数据类型说明
INT整数
FLOAT浮点数
DATE日期值
DATETIME混合日期和时间值
TIME时间值或持续时间
VARCHAR变长字符串
CHAR定长字符串

参考

https://github.com/jaywcjlove/handbook/blob/master/MySQL/MySQL%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2017/12/index.html b/archives/2017/12/index.html new file mode 100644 index 000000000..94ad9c08b --- /dev/null +++ b/archives/2017/12/index.html @@ -0,0 +1,603 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2017/12 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2017

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ Hello World +

+ + + + + +
+
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2017/index.html b/archives/2017/index.html new file mode 100644 index 000000000..cca69e28a --- /dev/null +++ b/archives/2017/index.html @@ -0,0 +1,603 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2017

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ Hello World +

+ + + + + +
+
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/01/index.html b/archives/2018/01/index.html new file mode 100644 index 000000000..287385554 --- /dev/null +++ b/archives/2018/01/index.html @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/1 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/02/index.html b/archives/2018/02/index.html new file mode 100644 index 000000000..eb9e70276 --- /dev/null +++ b/archives/2018/02/index.html @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/2 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

二月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ fs模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/03/index.html b/archives/2018/03/index.html new file mode 100644 index 000000000..2e1f684f7 --- /dev/null +++ b/archives/2018/03/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/3 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

三月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ url模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/04/index.html b/archives/2018/04/index.html new file mode 100644 index 000000000..f0379fb8d --- /dev/null +++ b/archives/2018/04/index.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/4 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

四月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/05/index.html b/archives/2018/05/index.html new file mode 100644 index 000000000..c7a6ed9fb --- /dev/null +++ b/archives/2018/05/index.html @@ -0,0 +1,615 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/5 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/05/page/2/index.html b/archives/2018/05/page/2/index.html new file mode 100644 index 000000000..75d68552a --- /dev/null +++ b/archives/2018/05/page/2/index.html @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/5 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/06/index.html b/archives/2018/06/index.html new file mode 100644 index 000000000..082269b92 --- /dev/null +++ b/archives/2018/06/index.html @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/6 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/07/index.html b/archives/2018/07/index.html new file mode 100644 index 000000000..6f4bbbfaf --- /dev/null +++ b/archives/2018/07/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/7 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

七月, 2018

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/09/index.html b/archives/2018/09/index.html new file mode 100644 index 000000000..c56b1e3e4 --- /dev/null +++ b/archives/2018/09/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/9 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2018

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/10/index.html b/archives/2018/10/index.html new file mode 100644 index 000000000..82eeded09 --- /dev/null +++ b/archives/2018/10/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/10 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十月, 2018

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/11/index.html b/archives/2018/11/index.html new file mode 100644 index 000000000..c45afe492 --- /dev/null +++ b/archives/2018/11/index.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/11 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/12/index.html b/archives/2018/12/index.html new file mode 100644 index 000000000..7525ffa7a --- /dev/null +++ b/archives/2018/12/index.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018/12 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/index.html b/archives/2018/index.html new file mode 100644 index 000000000..9b733f3fb --- /dev/null +++ b/archives/2018/index.html @@ -0,0 +1,635 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

十一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

十月, 2018

+
+ + +
+ +
+ + +
+

九月, 2018

+
+ + +
+ +
+ + +
+

七月, 2018

+
+ + +
+ +
+ + +
+

六月, 2018

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/2/index.html b/archives/2018/page/2/index.html new file mode 100644 index 000000000..fc0ed718e --- /dev/null +++ b/archives/2018/page/2/index.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/3/index.html b/archives/2018/page/3/index.html new file mode 100644 index 000000000..9f297d9f8 --- /dev/null +++ b/archives/2018/page/3/index.html @@ -0,0 +1,615 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/4/index.html b/archives/2018/page/4/index.html new file mode 100644 index 000000000..4a5228543 --- /dev/null +++ b/archives/2018/page/4/index.html @@ -0,0 +1,623 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + +
+

四月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

三月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ url模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/5/index.html b/archives/2018/page/5/index.html new file mode 100644 index 000000000..cb5ac1383 --- /dev/null +++ b/archives/2018/page/5/index.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

二月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ fs模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2018/page/6/index.html b/archives/2018/page/6/index.html new file mode 100644 index 000000000..c3848bdfb --- /dev/null +++ b/archives/2018/page/6/index.html @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2018 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2019/03/index.html b/archives/2019/03/index.html new file mode 100644 index 000000000..c70012303 --- /dev/null +++ b/archives/2019/03/index.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2019/3 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

三月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2019/04/index.html b/archives/2019/04/index.html new file mode 100644 index 000000000..09614cc35 --- /dev/null +++ b/archives/2019/04/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2019/4 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

四月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2019/06/index.html b/archives/2019/06/index.html new file mode 100644 index 000000000..8347b1681 --- /dev/null +++ b/archives/2019/06/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2019/6 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2019

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2019/index.html b/archives/2019/index.html new file mode 100644 index 000000000..6dcffe871 --- /dev/null +++ b/archives/2019/index.html @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2019 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2019

+
+ + +
+ +
+ + +
+

四月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + +
+

三月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2020/06/index.html b/archives/2020/06/index.html new file mode 100644 index 000000000..31a062b42 --- /dev/null +++ b/archives/2020/06/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2020/6 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2020

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2020/index.html b/archives/2020/index.html new file mode 100644 index 000000000..ca72f36bb --- /dev/null +++ b/archives/2020/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2020 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2020

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/07/index.html b/archives/2021/07/index.html new file mode 100644 index 000000000..8a450826d --- /dev/null +++ b/archives/2021/07/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/7 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

七月, 2021

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/08/index.html b/archives/2021/08/index.html new file mode 100644 index 000000000..ed483d34f --- /dev/null +++ b/archives/2021/08/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/8 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

八月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/09/index.html b/archives/2021/09/index.html new file mode 100644 index 000000000..76fecd755 --- /dev/null +++ b/archives/2021/09/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/9 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2021

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/10/index.html b/archives/2021/10/index.html new file mode 100644 index 000000000..19830703e --- /dev/null +++ b/archives/2021/10/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/10 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/11/index.html b/archives/2021/11/index.html new file mode 100644 index 000000000..7f03b26e2 --- /dev/null +++ b/archives/2021/11/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/11 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十一月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/12/index.html b/archives/2021/12/index.html new file mode 100644 index 000000000..89816319a --- /dev/null +++ b/archives/2021/12/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021/12 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2021

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2021/index.html b/archives/2021/index.html new file mode 100644 index 000000000..cdfb9bb90 --- /dev/null +++ b/archives/2021/index.html @@ -0,0 +1,597 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2021 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2021

+
+ + +
+ +
+ + +
+

十一月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+

十月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+

九月, 2021

+
+ + +
+ +
+ + +
+

八月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+

七月, 2021

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/02/index.html b/archives/2022/02/index.html new file mode 100644 index 000000000..f77d5a40a --- /dev/null +++ b/archives/2022/02/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/2 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

二月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/05/index.html b/archives/2022/05/index.html new file mode 100644 index 000000000..04df60e07 --- /dev/null +++ b/archives/2022/05/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/5 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/06/index.html b/archives/2022/06/index.html new file mode 100644 index 000000000..0d2dd8ddd --- /dev/null +++ b/archives/2022/06/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/6 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/07/index.html b/archives/2022/07/index.html new file mode 100644 index 000000000..210bd3765 --- /dev/null +++ b/archives/2022/07/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/7 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

七月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/09/index.html b/archives/2022/09/index.html new file mode 100644 index 000000000..83674844f --- /dev/null +++ b/archives/2022/09/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/9 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/10/index.html b/archives/2022/10/index.html new file mode 100644 index 000000000..221320004 --- /dev/null +++ b/archives/2022/10/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/10 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十月, 2022

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/11/index.html b/archives/2022/11/index.html new file mode 100644 index 000000000..c74d997db --- /dev/null +++ b/archives/2022/11/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022/11 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十一月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2022/index.html b/archives/2022/index.html new file mode 100644 index 000000000..d53aa71da --- /dev/null +++ b/archives/2022/index.html @@ -0,0 +1,569 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2022 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十一月, 2022

+
+ + +
+ +
+ + +
+

十月, 2022

+
+ + +
+ +
+ + + +
+ +
+ + +
+

九月, 2022

+
+ + +
+ +
+ + +
+

七月, 2022

+
+ + +
+ +
+ + +
+

六月, 2022

+
+ + +
+ +
+ + +
+

五月, 2022

+
+ + +
+ +
+ + +
+

二月, 2022

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/01/index.html b/archives/2023/01/index.html new file mode 100644 index 000000000..92c1a3ae7 --- /dev/null +++ b/archives/2023/01/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/1 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

一月, 2023

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html new file mode 100644 index 000000000..62b2f310c --- /dev/null +++ b/archives/2023/02/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/2 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

二月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/03/index.html b/archives/2023/03/index.html new file mode 100644 index 000000000..736e460a7 --- /dev/null +++ b/archives/2023/03/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/3 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

三月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/04/index.html b/archives/2023/04/index.html new file mode 100644 index 000000000..0a2cda11a --- /dev/null +++ b/archives/2023/04/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/4 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

四月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/05/index.html b/archives/2023/05/index.html new file mode 100644 index 000000000..406bd83d8 --- /dev/null +++ b/archives/2023/05/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/5 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/06/index.html b/archives/2023/06/index.html new file mode 100644 index 000000000..94ecfafde --- /dev/null +++ b/archives/2023/06/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/6 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/07/index.html b/archives/2023/07/index.html new file mode 100644 index 000000000..f6685d10a --- /dev/null +++ b/archives/2023/07/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/7 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

七月, 2023

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/08/index.html b/archives/2023/08/index.html new file mode 100644 index 000000000..b71034230 --- /dev/null +++ b/archives/2023/08/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/8 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

八月, 2023

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/09/index.html b/archives/2023/09/index.html new file mode 100644 index 000000000..66a1dcf30 --- /dev/null +++ b/archives/2023/09/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023/9 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2023

+
+ + +
+ +
+ + +
+ + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 000000000..2e7a32d9e --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2023

+
+ + +
+ +
+ + +
+

八月, 2023

+
+ + +
+ +
+ + +
+

七月, 2023

+
+ + +
+ +
+ + +
+

六月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

五月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

四月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

三月, 2023

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/2023/page/2/index.html b/archives/2023/page/2/index.html new file mode 100644 index 000000000..8481ace8c --- /dev/null +++ b/archives/2023/page/2/index.html @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives: 2023 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

三月, 2023

+
+ + +
+ +
+ + +
+

二月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

一月, 2023

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 000000000..04f604f00 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

九月, 2023

+
+ + +
+ +
+ + +
+

八月, 2023

+
+ + +
+ +
+ + +
+

七月, 2023

+
+ + +
+ +
+ + +
+

六月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

五月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

四月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

三月, 2023

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/10/index.html b/archives/page/10/index.html new file mode 100644 index 000000000..cf6af6789 --- /dev/null +++ b/archives/page/10/index.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

一月, 2018

+
+ + +
+ +
+ + +
+

十二月, 2017

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/11/index.html b/archives/page/11/index.html new file mode 100644 index 000000000..0411b7a91 --- /dev/null +++ b/archives/page/11/index.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2017

+
+ + +
+
+ + + + + +

+ Hello World +

+ + + + + +
+
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 000000000..228986f75 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,643 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

三月, 2023

+
+ + +
+ +
+ + +
+

二月, 2023

+
+ + +
+ +
+ + + +
+ +
+ + +
+

一月, 2023

+
+ + +
+ +
+ + +
+

十一月, 2022

+
+ + +
+ +
+ + +
+

十月, 2022

+
+ + +
+ +
+ + + +
+ +
+ + +
+

九月, 2022

+
+ + +
+ +
+ + +
+

七月, 2022

+
+ + +
+ +
+ + +
+

六月, 2022

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 000000000..0fc2b0ceb --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2022

+
+ + +
+ +
+ + +
+

二月, 2022

+
+ + +
+ +
+ + +
+

十二月, 2021

+
+ + +
+ +
+ + +
+

十一月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+

十月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+

九月, 2021

+
+ + +
+ +
+ + +
+

八月, 2021

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/4/index.html b/archives/page/4/index.html new file mode 100644 index 000000000..8bccedff1 --- /dev/null +++ b/archives/page/4/index.html @@ -0,0 +1,635 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

七月, 2021

+
+ + +
+ +
+ + +
+

六月, 2020

+
+ + +
+ +
+ + + +
+ +
+ + +
+

六月, 2019

+
+ + +
+ +
+ + +
+

四月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + +
+

三月, 2019

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

十二月, 2018

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/5/index.html b/archives/page/5/index.html new file mode 100644 index 000000000..2f01f9493 --- /dev/null +++ b/archives/page/5/index.html @@ -0,0 +1,635 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

十二月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + +
+

十一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

十月, 2018

+
+ + +
+ +
+ + +
+

九月, 2018

+
+ + +
+ +
+ + +
+

七月, 2018

+
+ + +
+ +
+ + +
+

六月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/6/index.html b/archives/page/6/index.html new file mode 100644 index 000000000..1963be86f --- /dev/null +++ b/archives/page/6/index.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

六月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/7/index.html b/archives/page/7/index.html new file mode 100644 index 000000000..793a4ed8e --- /dev/null +++ b/archives/page/7/index.html @@ -0,0 +1,615 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/8/index.html b/archives/page/8/index.html new file mode 100644 index 000000000..f07314676 --- /dev/null +++ b/archives/page/8/index.html @@ -0,0 +1,627 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

五月, 2018

+
+ + +
+ +
+ + +
+

四月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

三月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+
+ + + + + +

+ url模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + +
+

二月, 2018

+
+ + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/archives/page/9/index.html b/archives/page/9/index.html new file mode 100644 index 000000000..9cf37781f --- /dev/null +++ b/archives/page/9/index.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + Archives | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

Archives

+
+ +
+
+ + + + +
+ +
+ + + + +

二月, 2018

+
+ + +
+ +
+ + + +
+
+ + + + + +

+ fs模块 +

+ + + + + + + +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+

一月, 2018

+
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ + + + +
+ + + +
+
+ + + + +
+ +
+ + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/assets/algolia/algoliasearch.js b/assets/algolia/algoliasearch.js new file mode 100644 index 000000000..2b944bb09 --- /dev/null +++ b/assets/algolia/algoliasearch.js @@ -0,0 +1,6629 @@ +/*! algoliasearch 3.24.12 | © 2014, 2015 Algolia SAS | github.com/algolia/algoliasearch-client-js */ +(function(f){var g;if(typeof window!=='undefined'){g=window}else if(typeof self!=='undefined'){g=self}g.ALGOLIA_MIGRATION_LAYER=f()})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;owindow.ALGOLIA_SUPPORTS_DOCWRITE = true\x3C/script>'); + + if (window.ALGOLIA_SUPPORTS_DOCWRITE === true) { + document.write('\x3Cscript src="' + v2ScriptUrl + '">\x3C/script>'); + scriptLoaded('document.write')(); + } else { + loadScript(v2ScriptUrl, scriptLoaded('DOMElement')); + } + } catch (e) { + loadScript(v2ScriptUrl, scriptLoaded('DOMElement')); + } +} + +function scriptLoaded(method) { + return function log() { + var message = 'AlgoliaSearch: loaded V2 script using ' + method; + + if (window.console && window.console.log) { + window.console.log(message); + } + }; +} + +},{"1":1}],4:[function(require,module,exports){ +'use strict'; + +/* eslint no-unused-vars: [2, {"vars": "local"}] */ + +module.exports = oldGlobals; + +// put old window.AlgoliaSearch.. into window. again so that +// users upgrading to V3 without changing their code, will be warned +function oldGlobals() { + var message = '-- AlgoliaSearch V2 => V3 error --\n' + + 'You are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\n' + + 'Please read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n' + + '-- /AlgoliaSearch V2 => V3 error --'; + + window.AlgoliaSearch = function() { + throw new Error(message); + }; + + window.AlgoliaSearchHelper = function() { + throw new Error(message); + }; + + window.AlgoliaExplainResults = function() { + throw new Error(message); + }; +} + +},{}],5:[function(require,module,exports){ +'use strict'; + +// This script will be browserified and prepended to the normal build +// directly in window, not wrapped in any module definition +// To avoid cases where we are loaded with /latest/ along with +migrationLayer("algoliasearch"); + +// Now onto the V2 related code: +// If the client is using /latest/$BUILDNAME.min.js, load V2 of the library +// +// Otherwise, setup a migration layer that will throw on old constructors like +// new AlgoliaSearch(). +// So that users upgrading from v2 to v3 will have a clear information +// message on what to do if they did not read the migration guide +function migrationLayer(buildName) { + var isUsingLatest = require(2); + var loadV2 = require(3); + var oldGlobals = require(4); + + if (isUsingLatest(buildName)) { + loadV2(buildName); + } else { + oldGlobals(); + } +} + +},{"2":2,"3":3,"4":4}]},{},[5])(5) +});(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.algoliasearch = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} + +}).call(this,require(12)) +},{"12":12,"2":2}],2:[function(require,module,exports){ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require(9); + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Previous log timestamp. + */ + +var prevTime; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + return debug; +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (var i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} + +},{"9":9}],3:[function(require,module,exports){ +(function (process,global){ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version 4.1.1 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.ES6Promise = factory()); +}(this, (function () { 'use strict'; + +function objectOrFunction(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isFunction(x) { + return typeof x === 'function'; +} + +var _isArray = undefined; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = function (x) { + return Object.prototype.toString.call(x) === '[object Array]'; + }; +} + +var isArray = _isArray; + +var len = 0; +var vertxNext = undefined; +var customSchedulerFn = undefined; + +var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +}; + +function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +function setAsap(asapFn) { + asap = asapFn; +} + +var browserWindow = typeof window !== 'undefined' ? window : undefined; +var browserGlobal = browserWindow || {}; +var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return function () { + return process.nextTick(flush); + }; +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function () { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + var iterations = 0; + var observer = new BrowserMutationObserver(flush); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return function () { + node.data = iterations = ++iterations % 2; + }; +} + +// web worker +function useMessageChannel() { + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + return function () { + return channel.port2.postMessage(0); + }; +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var globalSetTimeout = setTimeout; + return function () { + return globalSetTimeout(flush, 1); + }; +} + +var queue = new Array(1000); +function flush() { + for (var i = 0; i < len; i += 2) { + var callback = queue[i]; + var arg = queue[i + 1]; + + callback(arg); + + queue[i] = undefined; + queue[i + 1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + var r = require; + var vertx = r('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch (e) { + return useSetTimeout(); + } +} + +var scheduleFlush = undefined; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && typeof require === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} + +function then(onFulfillment, onRejection) { + var _arguments = arguments; + + var parent = this; + + var child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + var _state = parent._state; + + if (_state) { + (function () { + var callback = _arguments[_state - 1]; + asap(function () { + return invokeCallback(_state, child, callback, parent._result); + }); + })(); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +function resolve$1(object) { + /*jshint validthis:true */ + var Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + var promise = new Constructor(noop); + resolve(promise, object); + return promise; +} + +var PROMISE_ID = Math.random().toString(36).substring(16); + +function noop() {} + +var PENDING = void 0; +var FULFILLED = 1; +var REJECTED = 2; + +var GET_THEN_ERROR = new ErrorObject(); + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function getThen(promise) { + try { + return promise.then; + } catch (error) { + GET_THEN_ERROR.error = error; + return GET_THEN_ERROR; + } +} + +function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { + try { + then$$1.call(value, fulfillmentHandler, rejectionHandler); + } catch (e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then$$1) { + asap(function (promise) { + var sealed = false; + var error = tryThen(then$$1, thenable, function (value) { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, function (reason) { + if (sealed) { + return; + } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, function (value) { + return resolve(promise, value); + }, function (reason) { + return reject(promise, reason); + }); + } +} + +function handleMaybeThenable(promise, maybeThenable, then$$1) { + if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then$$1 === GET_THEN_ERROR) { + reject(promise, GET_THEN_ERROR.error); + GET_THEN_ERROR.error = null; + } else if (then$$1 === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then$$1)) { + handleForeignThenable(promise, maybeThenable, then$$1); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + handleMaybeThenable(promise, value, getThen(value)); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { + return; + } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { + return; + } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + var _subscribers = parent._subscribers; + var length = _subscribers.length; + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + var subscribers = promise._subscribers; + var settled = promise._state; + + if (subscribers.length === 0) { + return; + } + + var child = undefined, + callback = undefined, + detail = promise._result; + + for (var i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + +function ErrorObject() { + this.error = null; +} + +var TRY_CATCH_ERROR = new ErrorObject(); + +function tryCatch(callback, detail) { + try { + return callback(detail); + } catch (e) { + TRY_CATCH_ERROR.error = e; + return TRY_CATCH_ERROR; + } +} + +function invokeCallback(settled, promise, callback, detail) { + var hasCallback = isFunction(callback), + value = undefined, + error = undefined, + succeeded = undefined, + failed = undefined; + + if (hasCallback) { + value = tryCatch(callback, detail); + + if (value === TRY_CATCH_ERROR) { + failed = true; + error = value.error; + value.error = null; + } else { + succeeded = true; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + } else { + value = detail; + succeeded = true; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (failed) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value) { + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch (e) { + reject(promise, e); + } +} + +var id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +function Enumerator$1(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +} + +Enumerator$1.prototype._enumerate = function (input) { + for (var i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } +}; + +Enumerator$1.prototype._eachEntry = function (entry, i) { + var c = this._instanceConstructor; + var resolve$$1 = c.resolve; + + if (resolve$$1 === resolve$1) { + var _then = getThen(entry); + + if (_then === then && entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof _then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise$2) { + var promise = new c(noop); + handleMaybeThenable(promise, entry, _then); + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(function (resolve$$1) { + return resolve$$1(entry); + }), i); + } + } else { + this._willSettleAt(resolve$$1(entry), i); + } +}; + +Enumerator$1.prototype._settledAt = function (state, i, value) { + var promise = this.promise; + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } +}; + +Enumerator$1.prototype._willSettleAt = function (promise, i) { + var enumerator = this; + + subscribe(promise, undefined, function (value) { + return enumerator._settledAt(FULFILLED, i, value); + }, function (reason) { + return enumerator._settledAt(REJECTED, i, reason); + }); +}; + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +function all$1(entries) { + return new Enumerator$1(this, entries).promise; +} + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +function race$1(entries) { + /*jshint validthis:true */ + var Constructor = this; + + if (!isArray(entries)) { + return new Constructor(function (_, reject) { + return reject(new TypeError('You must pass an array to race.')); + }); + } else { + return new Constructor(function (resolve, reject) { + var length = entries.length; + for (var i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +function reject$1(reason) { + /*jshint validthis:true */ + var Constructor = this; + var promise = new Constructor(noop); + reject(promise, reason); + return promise; +} + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {function} resolver + Useful for tooling. + @constructor +*/ +function Promise$2(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew(); + } +} + +Promise$2.all = all$1; +Promise$2.race = race$1; +Promise$2.resolve = resolve$1; +Promise$2.reject = reject$1; +Promise$2._setScheduler = setScheduler; +Promise$2._setAsap = setAsap; +Promise$2._asap = asap; + +Promise$2.prototype = { + constructor: Promise$2, + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + + Chaining + -------- + + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + + Assimilation + ------------ + + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + + If the assimliated promise rejects, then the downstream promise will also reject. + + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + + Simple Example + -------------- + + Synchronous Example + + ```javascript + let result; + + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + + Errback Example + + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + + Promise Example; + + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + + Advanced Example + -------------- + + Synchronous Example + + ```javascript + let author, books; + + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + + Errback Example + + ```js + + function foundBooks(books) { + + } + + function failure(reason) { + + } + + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + + Promise Example; + + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + then: then, + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + 'catch': function _catch(onRejection) { + return this.then(null, onRejection); + } +}; + +/*global self*/ +function polyfill$1() { + var local = undefined; + + if (typeof global !== 'undefined') { + local = global; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + var P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch (e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast) { + return; + } + } + + local.Promise = Promise$2; +} + +// Strange compat.. +Promise$2.polyfill = polyfill$1; +Promise$2.Promise = Promise$2; + +return Promise$2; + +}))); + + + +}).call(this,require(12),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"12":12}],4:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +function EventEmitter() { + this._events = this._events || {}; + this._maxListeners = this._maxListeners || undefined; +} +module.exports = EventEmitter; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +EventEmitter.defaultMaxListeners = 10; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function(n) { + if (!isNumber(n) || n < 0 || isNaN(n)) + throw TypeError('n must be a positive number'); + this._maxListeners = n; + return this; +}; + +EventEmitter.prototype.emit = function(type) { + var er, handler, len, args, i, listeners; + + if (!this._events) + this._events = {}; + + // If there is no 'error' event listener then throw. + if (type === 'error') { + if (!this._events.error || + (isObject(this._events.error) && !this._events.error.length)) { + er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } else { + // At least give some kind of context to the user + var err = new Error('Uncaught, unspecified "error" event. (' + er + ')'); + err.context = er; + throw err; + } + } + } + + handler = this._events[type]; + + if (isUndefined(handler)) + return false; + + if (isFunction(handler)) { + switch (arguments.length) { + // fast cases + case 1: + handler.call(this); + break; + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + args = Array.prototype.slice.call(arguments, 1); + handler.apply(this, args); + } + } else if (isObject(handler)) { + args = Array.prototype.slice.call(arguments, 1); + listeners = handler.slice(); + len = listeners.length; + for (i = 0; i < len; i++) + listeners[i].apply(this, args); + } + + return true; +}; + +EventEmitter.prototype.addListener = function(type, listener) { + var m; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events) + this._events = {}; + + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (this._events.newListener) + this.emit('newListener', type, + isFunction(listener.listener) ? + listener.listener : listener); + + if (!this._events[type]) + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + else if (isObject(this._events[type])) + // If we've already got an array, just append. + this._events[type].push(listener); + else + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + + // Check for listener leak + if (isObject(this._events[type]) && !this._events[type].warned) { + if (!isUndefined(this._maxListeners)) { + m = this._maxListeners; + } else { + m = EventEmitter.defaultMaxListeners; + } + + if (m && m > 0 && this._events[type].length > m) { + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + if (typeof console.trace === 'function') { + // not supported in IE 10 + console.trace(); + } + } + } + + return this; +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.once = function(type, listener) { + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + var fired = false; + + function g() { + this.removeListener(type, g); + + if (!fired) { + fired = true; + listener.apply(this, arguments); + } + } + + g.listener = listener; + this.on(type, g); + + return this; +}; + +// emits a 'removeListener' event iff the listener was removed +EventEmitter.prototype.removeListener = function(type, listener) { + var list, position, length, i; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events || !this._events[type]) + return this; + + list = this._events[type]; + length = list.length; + position = -1; + + if (list === listener || + (isFunction(list.listener) && list.listener === listener)) { + delete this._events[type]; + if (this._events.removeListener) + this.emit('removeListener', type, listener); + + } else if (isObject(list)) { + for (i = length; i-- > 0;) { + if (list[i] === listener || + (list[i].listener && list[i].listener === listener)) { + position = i; + break; + } + } + + if (position < 0) + return this; + + if (list.length === 1) { + list.length = 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } + + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; +}; + +EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); + } else if (listeners) { + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); + } + delete this._events[type]; + + return this; +}; + +EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; +}; + +EventEmitter.prototype.listenerCount = function(type) { + if (this._events) { + var evlistener = this._events[type]; + + if (isFunction(evlistener)) + return 1; + else if (evlistener) + return evlistener.length; + } + return 0; +}; + +EventEmitter.listenerCount = function(emitter, type) { + return emitter.listenerCount(type); +}; + +function isFunction(arg) { + return typeof arg === 'function'; +} + +function isNumber(arg) { + return typeof arg === 'number'; +} + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} + +function isUndefined(arg) { + return arg === void 0; +} + +},{}],5:[function(require,module,exports){ + +var hasOwn = Object.prototype.hasOwnProperty; +var toString = Object.prototype.toString; + +module.exports = function forEach (obj, fn, ctx) { + if (toString.call(fn) !== '[object Function]') { + throw new TypeError('iterator must be a function'); + } + var l = obj.length; + if (l === +l) { + for (var i = 0; i < l; i++) { + fn.call(ctx, obj[i], i, obj); + } + } else { + for (var k in obj) { + if (hasOwn.call(obj, k)) { + fn.call(ctx, obj[k], k, obj); + } + } + } +}; + + +},{}],6:[function(require,module,exports){ +(function (global){ +var win; + +if (typeof window !== "undefined") { + win = window; +} else if (typeof global !== "undefined") { + win = global; +} else if (typeof self !== "undefined"){ + win = self; +} else { + win = {}; +} + +module.exports = win; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],7:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],8:[function(require,module,exports){ +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + +},{}],9:[function(require,module,exports){ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} + +},{}],10:[function(require,module,exports){ +'use strict'; + +// modified from https://github.com/es-shims/es5-shim +var has = Object.prototype.hasOwnProperty; +var toStr = Object.prototype.toString; +var slice = Array.prototype.slice; +var isArgs = require(11); +var isEnumerable = Object.prototype.propertyIsEnumerable; +var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString'); +var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype'); +var dontEnums = [ + 'toString', + 'toLocaleString', + 'valueOf', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'constructor' +]; +var equalsConstructorPrototype = function (o) { + var ctor = o.constructor; + return ctor && ctor.prototype === o; +}; +var excludedKeys = { + $console: true, + $external: true, + $frame: true, + $frameElement: true, + $frames: true, + $innerHeight: true, + $innerWidth: true, + $outerHeight: true, + $outerWidth: true, + $pageXOffset: true, + $pageYOffset: true, + $parent: true, + $scrollLeft: true, + $scrollTop: true, + $scrollX: true, + $scrollY: true, + $self: true, + $webkitIndexedDB: true, + $webkitStorageInfo: true, + $window: true +}; +var hasAutomationEqualityBug = (function () { + /* global window */ + if (typeof window === 'undefined') { return false; } + for (var k in window) { + try { + if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') { + try { + equalsConstructorPrototype(window[k]); + } catch (e) { + return true; + } + } + } catch (e) { + return true; + } + } + return false; +}()); +var equalsConstructorPrototypeIfNotBuggy = function (o) { + /* global window */ + if (typeof window === 'undefined' || !hasAutomationEqualityBug) { + return equalsConstructorPrototype(o); + } + try { + return equalsConstructorPrototype(o); + } catch (e) { + return false; + } +}; + +var keysShim = function keys(object) { + var isObject = object !== null && typeof object === 'object'; + var isFunction = toStr.call(object) === '[object Function]'; + var isArguments = isArgs(object); + var isString = isObject && toStr.call(object) === '[object String]'; + var theKeys = []; + + if (!isObject && !isFunction && !isArguments) { + throw new TypeError('Object.keys called on a non-object'); + } + + var skipProto = hasProtoEnumBug && isFunction; + if (isString && object.length > 0 && !has.call(object, 0)) { + for (var i = 0; i < object.length; ++i) { + theKeys.push(String(i)); + } + } + + if (isArguments && object.length > 0) { + for (var j = 0; j < object.length; ++j) { + theKeys.push(String(j)); + } + } else { + for (var name in object) { + if (!(skipProto && name === 'prototype') && has.call(object, name)) { + theKeys.push(String(name)); + } + } + } + + if (hasDontEnumBug) { + var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); + + for (var k = 0; k < dontEnums.length; ++k) { + if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) { + theKeys.push(dontEnums[k]); + } + } + } + return theKeys; +}; + +keysShim.shim = function shimObjectKeys() { + if (Object.keys) { + var keysWorksWithArguments = (function () { + // Safari 5.0 bug + return (Object.keys(arguments) || '').length === 2; + }(1, 2)); + if (!keysWorksWithArguments) { + var originalKeys = Object.keys; + Object.keys = function keys(object) { + if (isArgs(object)) { + return originalKeys(slice.call(object)); + } else { + return originalKeys(object); + } + }; + } + } else { + Object.keys = keysShim; + } + return Object.keys || keysShim; +}; + +module.exports = keysShim; + +},{"11":11}],11:[function(require,module,exports){ +'use strict'; + +var toStr = Object.prototype.toString; + +module.exports = function isArguments(value) { + var str = toStr.call(value); + var isArgs = str === '[object Arguments]'; + if (!isArgs) { + isArgs = str !== '[object Array]' && + value !== null && + typeof value === 'object' && + typeof value.length === 'number' && + value.length >= 0 && + toStr.call(value.callee) === '[object Function]'; + } + return isArgs; +}; + +},{}],12:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],13:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +'use strict'; + +var stringifyPrimitive = function(v) { + switch (typeof v) { + case 'string': + return v; + + case 'boolean': + return v ? 'true' : 'false'; + + case 'number': + return isFinite(v) ? v : ''; + + default: + return ''; + } +}; + +module.exports = function(obj, sep, eq, name) { + sep = sep || '&'; + eq = eq || '='; + if (obj === null) { + obj = undefined; + } + + if (typeof obj === 'object') { + return map(objectKeys(obj), function(k) { + var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; + if (isArray(obj[k])) { + return map(obj[k], function(v) { + return ks + encodeURIComponent(stringifyPrimitive(v)); + }).join(sep); + } else { + return ks + encodeURIComponent(stringifyPrimitive(obj[k])); + } + }).join(sep); + + } + + if (!name) return ''; + return encodeURIComponent(stringifyPrimitive(name)) + eq + + encodeURIComponent(stringifyPrimitive(obj)); +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + +function map (xs, f) { + if (xs.map) return xs.map(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + res.push(f(xs[i], i)); + } + return res; +} + +var objectKeys = Object.keys || function (obj) { + var res = []; + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); + } + return res; +}; + +},{}],14:[function(require,module,exports){ +module.exports = AlgoliaSearch; + +var Index = require(16); +var deprecate = require(26); +var deprecatedMessage = require(27); +var AlgoliaSearchCore = require(15); +var inherits = require(7); +var errors = require(28); + +function AlgoliaSearch() { + AlgoliaSearchCore.apply(this, arguments); +} + +inherits(AlgoliaSearch, AlgoliaSearchCore); + +/* + * Delete an index + * + * @param indexName the name of index to delete + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer that contains the task ID + */ +AlgoliaSearch.prototype.deleteIndex = function(indexName, callback) { + return this._jsonRequest({ + method: 'DELETE', + url: '/1/indexes/' + encodeURIComponent(indexName), + hostType: 'write', + callback: callback + }); +}; + +/** + * Move an existing index. + * @param srcIndexName the name of index to copy. + * @param dstIndexName the new index name that will contains a copy of + * srcIndexName (destination will be overriten if it already exist). + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer that contains the task ID + */ +AlgoliaSearch.prototype.moveIndex = function(srcIndexName, dstIndexName, callback) { + var postObj = { + operation: 'move', destination: dstIndexName + }; + return this._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(srcIndexName) + '/operation', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/** + * Copy an existing index. + * @param srcIndexName the name of index to copy. + * @param dstIndexName the new index name that will contains a copy + * of srcIndexName (destination will be overriten if it already exist). + * @param scope an array of scopes to copy: ['settings', 'synonyms', 'rules'] + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer that contains the task ID + */ +AlgoliaSearch.prototype.copyIndex = function(srcIndexName, dstIndexName, scopeOrCallback, _callback) { + var postObj = { + operation: 'copy', + destination: dstIndexName + }; + var callback = _callback; + if (typeof scopeOrCallback === 'function') { + // oops, old behaviour of third argument being a function + callback = scopeOrCallback; + } else if (Array.isArray(scopeOrCallback) && scopeOrCallback.length > 0) { + postObj.scope = scopeOrCallback; + } else if (typeof scopeOrCallback !== 'undefined') { + throw new Error('the scope given to `copyIndex` was not an array with settings, synonyms or rules'); + } + return this._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(srcIndexName) + '/operation', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/** + * Return last log entries. + * @param offset Specify the first entry to retrieve (0-based, 0 is the most recent log entry). + * @param length Specify the maximum number of entries to retrieve starting + * at offset. Maximum allowed value: 1000. + * @param type Specify the maximum number of entries to retrieve starting + * at offset. Maximum allowed value: 1000. + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer that contains the task ID + */ +AlgoliaSearch.prototype.getLogs = function(offset, length, callback) { + var clone = require(25); + var params = {}; + if (typeof offset === 'object') { + // getLogs(params) + params = clone(offset); + callback = length; + } else if (arguments.length === 0 || typeof offset === 'function') { + // getLogs([cb]) + callback = offset; + } else if (arguments.length === 1 || typeof length === 'function') { + // getLogs(1, [cb)] + callback = length; + params.offset = offset; + } else { + // getLogs(1, 2, [cb]) + params.offset = offset; + params.length = length; + } + + if (params.offset === undefined) params.offset = 0; + if (params.length === undefined) params.length = 10; + + return this._jsonRequest({ + method: 'GET', + url: '/1/logs?' + this._getSearchParams(params, ''), + hostType: 'read', + callback: callback + }); +}; + +/* + * List all existing indexes (paginated) + * + * @param page The page to retrieve, starting at 0. + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer with index list + */ +AlgoliaSearch.prototype.listIndexes = function(page, callback) { + var params = ''; + + if (page === undefined || typeof page === 'function') { + callback = page; + } else { + params = '?page=' + page; + } + + return this._jsonRequest({ + method: 'GET', + url: '/1/indexes' + params, + hostType: 'read', + callback: callback + }); +}; + +/* + * Get the index object initialized + * + * @param indexName the name of index + * @param callback the result callback with one argument (the Index instance) + */ +AlgoliaSearch.prototype.initIndex = function(indexName) { + return new Index(this, indexName); +}; + +/* + * @deprecated use client.listApiKeys + */ +AlgoliaSearch.prototype.listUserKeys = deprecate(function(callback) { + return this.listApiKeys(callback); +}, deprecatedMessage('client.listUserKeys()', 'client.listApiKeys()')); + +/* + * List all existing api keys with their associated ACLs + * + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer with api keys list + */ +AlgoliaSearch.prototype.listApiKeys = function(callback) { + return this._jsonRequest({ + method: 'GET', + url: '/1/keys', + hostType: 'read', + callback: callback + }); +}; + +/* + * @deprecated see client.getApiKey + */ +AlgoliaSearch.prototype.getUserKeyACL = deprecate(function(key, callback) { + return this.getApiKey(key, callback); +}, deprecatedMessage('client.getUserKeyACL()', 'client.getApiKey()')); + +/* + * Get an API key + * + * @param key + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer with the right API key + */ +AlgoliaSearch.prototype.getApiKey = function(key, callback) { + return this._jsonRequest({ + method: 'GET', + url: '/1/keys/' + key, + hostType: 'read', + callback: callback + }); +}; + +/* + * @deprecated see client.deleteApiKey + */ +AlgoliaSearch.prototype.deleteUserKey = deprecate(function(key, callback) { + return this.deleteApiKey(key, callback); +}, deprecatedMessage('client.deleteUserKey()', 'client.deleteApiKey()')); + +/* + * Delete an existing API key + * @param key + * @param callback the result callback called with two arguments + * error: null or Error('message') + * content: the server answer with the date of deletion + */ +AlgoliaSearch.prototype.deleteApiKey = function(key, callback) { + return this._jsonRequest({ + method: 'DELETE', + url: '/1/keys/' + key, + hostType: 'write', + callback: callback + }); +}; + +/* + @deprecated see client.addApiKey + */ +AlgoliaSearch.prototype.addUserKey = deprecate(function(acls, params, callback) { + return this.addApiKey(acls, params, callback); +}, deprecatedMessage('client.addUserKey()', 'client.addApiKey()')); + +/* + * Add a new global API key + * + * @param {string[]} acls - The list of ACL for this key. Defined by an array of strings that + * can contains the following values: + * - search: allow to search (https and http) + * - addObject: allows to add/update an object in the index (https only) + * - deleteObject : allows to delete an existing object (https only) + * - deleteIndex : allows to delete index content (https only) + * - settings : allows to get index settings (https only) + * - editSettings : allows to change index settings (https only) + * @param {Object} [params] - Optionnal parameters to set for the key + * @param {number} params.validity - Number of seconds after which the key will be automatically removed (0 means no time limit for this key) + * @param {number} params.maxQueriesPerIPPerHour - Number of API calls allowed from an IP address per hour + * @param {number} params.maxHitsPerQuery - Number of hits this API key can retrieve in one call + * @param {string[]} params.indexes - Allowed targeted indexes for this key + * @param {string} params.description - A description for your key + * @param {string[]} params.referers - A list of authorized referers + * @param {Object} params.queryParameters - Force the key to use specific query parameters + * @param {Function} callback - The result callback called with two arguments + * error: null or Error('message') + * content: the server answer with the added API key + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.addUserKey(['search'], { + * validity: 300, + * maxQueriesPerIPPerHour: 2000, + * maxHitsPerQuery: 3, + * indexes: ['fruits'], + * description: 'Eat three fruits', + * referers: ['*.algolia.com'], + * queryParameters: { + * tagFilters: ['public'], + * } + * }) + * @see {@link https://www.algolia.com/doc/rest_api#AddKey|Algolia REST API Documentation} + */ +AlgoliaSearch.prototype.addApiKey = function(acls, params, callback) { + var isArray = require(8); + var usage = 'Usage: client.addApiKey(arrayOfAcls[, params, callback])'; + + if (!isArray(acls)) { + throw new Error(usage); + } + + if (arguments.length === 1 || typeof params === 'function') { + callback = params; + params = null; + } + + var postObj = { + acl: acls + }; + + if (params) { + postObj.validity = params.validity; + postObj.maxQueriesPerIPPerHour = params.maxQueriesPerIPPerHour; + postObj.maxHitsPerQuery = params.maxHitsPerQuery; + postObj.indexes = params.indexes; + postObj.description = params.description; + + if (params.queryParameters) { + postObj.queryParameters = this._getSearchParams(params.queryParameters, ''); + } + + postObj.referers = params.referers; + } + + return this._jsonRequest({ + method: 'POST', + url: '/1/keys', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/** + * @deprecated Please use client.addApiKey() + */ +AlgoliaSearch.prototype.addUserKeyWithValidity = deprecate(function(acls, params, callback) { + return this.addApiKey(acls, params, callback); +}, deprecatedMessage('client.addUserKeyWithValidity()', 'client.addApiKey()')); + +/** + * @deprecated Please use client.updateApiKey() + */ +AlgoliaSearch.prototype.updateUserKey = deprecate(function(key, acls, params, callback) { + return this.updateApiKey(key, acls, params, callback); +}, deprecatedMessage('client.updateUserKey()', 'client.updateApiKey()')); + +/** + * Update an existing API key + * @param {string} key - The key to update + * @param {string[]} acls - The list of ACL for this key. Defined by an array of strings that + * can contains the following values: + * - search: allow to search (https and http) + * - addObject: allows to add/update an object in the index (https only) + * - deleteObject : allows to delete an existing object (https only) + * - deleteIndex : allows to delete index content (https only) + * - settings : allows to get index settings (https only) + * - editSettings : allows to change index settings (https only) + * @param {Object} [params] - Optionnal parameters to set for the key + * @param {number} params.validity - Number of seconds after which the key will be automatically removed (0 means no time limit for this key) + * @param {number} params.maxQueriesPerIPPerHour - Number of API calls allowed from an IP address per hour + * @param {number} params.maxHitsPerQuery - Number of hits this API key can retrieve in one call + * @param {string[]} params.indexes - Allowed targeted indexes for this key + * @param {string} params.description - A description for your key + * @param {string[]} params.referers - A list of authorized referers + * @param {Object} params.queryParameters - Force the key to use specific query parameters + * @param {Function} callback - The result callback called with two arguments + * error: null or Error('message') + * content: the server answer with the modified API key + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.updateApiKey('APIKEY', ['search'], { + * validity: 300, + * maxQueriesPerIPPerHour: 2000, + * maxHitsPerQuery: 3, + * indexes: ['fruits'], + * description: 'Eat three fruits', + * referers: ['*.algolia.com'], + * queryParameters: { + * tagFilters: ['public'], + * } + * }) + * @see {@link https://www.algolia.com/doc/rest_api#UpdateIndexKey|Algolia REST API Documentation} + */ +AlgoliaSearch.prototype.updateApiKey = function(key, acls, params, callback) { + var isArray = require(8); + var usage = 'Usage: client.updateApiKey(key, arrayOfAcls[, params, callback])'; + + if (!isArray(acls)) { + throw new Error(usage); + } + + if (arguments.length === 2 || typeof params === 'function') { + callback = params; + params = null; + } + + var putObj = { + acl: acls + }; + + if (params) { + putObj.validity = params.validity; + putObj.maxQueriesPerIPPerHour = params.maxQueriesPerIPPerHour; + putObj.maxHitsPerQuery = params.maxHitsPerQuery; + putObj.indexes = params.indexes; + putObj.description = params.description; + + if (params.queryParameters) { + putObj.queryParameters = this._getSearchParams(params.queryParameters, ''); + } + + putObj.referers = params.referers; + } + + return this._jsonRequest({ + method: 'PUT', + url: '/1/keys/' + key, + body: putObj, + hostType: 'write', + callback: callback + }); +}; + +/** + * Initialize a new batch of search queries + * @deprecated use client.search() + */ +AlgoliaSearch.prototype.startQueriesBatch = deprecate(function startQueriesBatchDeprecated() { + this._batch = []; +}, deprecatedMessage('client.startQueriesBatch()', 'client.search()')); + +/** + * Add a search query in the batch + * @deprecated use client.search() + */ +AlgoliaSearch.prototype.addQueryInBatch = deprecate(function addQueryInBatchDeprecated(indexName, query, args) { + this._batch.push({ + indexName: indexName, + query: query, + params: args + }); +}, deprecatedMessage('client.addQueryInBatch()', 'client.search()')); + +/** + * Launch the batch of queries using XMLHttpRequest. + * @deprecated use client.search() + */ +AlgoliaSearch.prototype.sendQueriesBatch = deprecate(function sendQueriesBatchDeprecated(callback) { + return this.search(this._batch, callback); +}, deprecatedMessage('client.sendQueriesBatch()', 'client.search()')); + +/** + * Perform write operations accross multiple indexes. + * + * To reduce the amount of time spent on network round trips, + * you can create, update, or delete several objects in one call, + * using the batch endpoint (all operations are done in the given order). + * + * Available actions: + * - addObject + * - updateObject + * - partialUpdateObject + * - partialUpdateObjectNoCreate + * - deleteObject + * + * https://www.algolia.com/doc/rest_api#Indexes + * @param {Object[]} operations An array of operations to perform + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.batch([{ + * action: 'addObject', + * indexName: 'clients', + * body: { + * name: 'Bill' + * } + * }, { + * action: 'udpateObject', + * indexName: 'fruits', + * body: { + * objectID: '29138', + * name: 'banana' + * } + * }], cb) + */ +AlgoliaSearch.prototype.batch = function(operations, callback) { + var isArray = require(8); + var usage = 'Usage: client.batch(operations[, callback])'; + + if (!isArray(operations)) { + throw new Error(usage); + } + + return this._jsonRequest({ + method: 'POST', + url: '/1/indexes/*/batch', + body: { + requests: operations + }, + hostType: 'write', + callback: callback + }); +}; + +/** + * Assign or Move a userID to a cluster + * + * @param {string} data.userID The userID to assign to a new cluster + * @param {string} data.cluster The cluster to assign the user to + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.assignUserID({ cluster: 'c1-test', userID: 'some-user' }); + */ +AlgoliaSearch.prototype.assignUserID = function(data, callback) { + if (!data.userID || !data.cluster) { + throw new errors.AlgoliaSearchError('You have to provide both a userID and cluster', data); + } + return this._jsonRequest({ + method: 'POST', + url: '/1/clusters/mapping', + hostType: 'write', + body: {cluster: data.cluster}, + callback: callback, + headers: { + 'X-Algolia-User-ID': data.userID + } + }); +}; + +/** + * Get the top userIDs + * + * (the callback is the second argument) + * + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.getTopUserID(); + */ +AlgoliaSearch.prototype.getTopUserID = function(callback) { + return this._jsonRequest({ + method: 'GET', + url: '/1/clusters/mapping/top', + hostType: 'read', + callback: callback + }); +}; + +/** + * Get userID + * + * @param {string} data.userID The userID to get info about + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.getUserID({ userID: 'some-user' }); + */ +AlgoliaSearch.prototype.getUserID = function(data, callback) { + if (!data.userID) { + throw new errors.AlgoliaSearchError('You have to provide a userID', {debugData: data}); + } + return this._jsonRequest({ + method: 'GET', + url: '/1/clusters/mapping/' + data.userID, + hostType: 'read', + callback: callback + }); +}; + +/** + * List all the clusters + * + * (the callback is the second argument) + * + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.listClusters(); + */ +AlgoliaSearch.prototype.listClusters = function(callback) { + return this._jsonRequest({ + method: 'GET', + url: '/1/clusters', + hostType: 'read', + callback: callback + }); +}; + +/** + * List the userIDs + * + * (the callback is the second argument) + * + * @param {string} data.hitsPerPage How many hits on every page + * @param {string} data.page The page to retrieve + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.listClusters(); + * client.listClusters({ page: 3, hitsPerPage: 30}); + */ +AlgoliaSearch.prototype.listUserIDs = function(data, callback) { + return this._jsonRequest({ + method: 'GET', + url: '/1/clusters/mapping', + body: data, + hostType: 'read', + callback: callback + }); +}; + +/** + * Remove an userID + * + * @param {string} data.userID The userID to assign to a new cluster + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.removeUserID({ userID: 'some-user' }); + */ +AlgoliaSearch.prototype.removeUserID = function(data, callback) { + if (!data.userID) { + throw new errors.AlgoliaSearchError('You have to provide a userID', {debugData: data}); + } + return this._jsonRequest({ + method: 'DELETE', + url: '/1/clusters/mapping', + hostType: 'write', + callback: callback, + headers: { + 'X-Algolia-User-ID': data.userID + } + }); +}; + +/** + * Search for userIDs + * + * @param {string} data.cluster The cluster to target + * @param {string} data.query The query to execute + * @param {string} data.hitsPerPage How many hits on every page + * @param {string} data.page The page to retrieve + * @return {Promise|undefined} Returns a promise if no callback given + * @example + * client.searchUserIDs({ cluster: 'c1-test', query: 'some-user' }); + * client.searchUserIDs({ + * cluster: "c1-test", + * query: "some-user", + * page: 3, + * hitsPerPage: 2 + * }); + */ +AlgoliaSearch.prototype.searchUserIDs = function(data, callback) { + return this._jsonRequest({ + method: 'POST', + url: '/1/clusters/mapping/search', + body: data, + hostType: 'read', + callback: callback + }); +}; + +// environment specific methods +AlgoliaSearch.prototype.destroy = notImplemented; +AlgoliaSearch.prototype.enableRateLimitForward = notImplemented; +AlgoliaSearch.prototype.disableRateLimitForward = notImplemented; +AlgoliaSearch.prototype.useSecuredAPIKey = notImplemented; +AlgoliaSearch.prototype.disableSecuredAPIKey = notImplemented; +AlgoliaSearch.prototype.generateSecuredApiKey = notImplemented; + +function notImplemented() { + var message = 'Not implemented in this environment.\n' + + 'If you feel this is a mistake, write to support@algolia.com'; + + throw new errors.AlgoliaSearchError(message); +} + +},{"15":15,"16":16,"25":25,"26":26,"27":27,"28":28,"7":7,"8":8}],15:[function(require,module,exports){ +(function (process){ +module.exports = AlgoliaSearchCore; + +var errors = require(28); +var exitPromise = require(29); +var IndexCore = require(18); +var store = require(34); + +// We will always put the API KEY in the JSON body in case of too long API KEY, +// to avoid query string being too long and failing in various conditions (our server limit, browser limit, +// proxies limit) +var MAX_API_KEY_LENGTH = 500; +var RESET_APP_DATA_TIMER = + process.env.RESET_APP_DATA_TIMER && parseInt(process.env.RESET_APP_DATA_TIMER, 10) || + 60 * 2 * 1000; // after 2 minutes reset to first host + +/* + * Algolia Search library initialization + * https://www.algolia.com/ + * + * @param {string} applicationID - Your applicationID, found in your dashboard + * @param {string} apiKey - Your API key, found in your dashboard + * @param {Object} [opts] + * @param {number} [opts.timeout=2000] - The request timeout set in milliseconds, + * another request will be issued after this timeout + * @param {string} [opts.protocol='http:'] - The protocol used to query Algolia Search API. + * Set to 'https:' to force using https. + * Default to document.location.protocol in browsers + * @param {Object|Array} [opts.hosts={ + * read: [this.applicationID + '-dsn.algolia.net'].concat([ + * this.applicationID + '-1.algolianet.com', + * this.applicationID + '-2.algolianet.com', + * this.applicationID + '-3.algolianet.com'] + * ]), + * write: [this.applicationID + '.algolia.net'].concat([ + * this.applicationID + '-1.algolianet.com', + * this.applicationID + '-2.algolianet.com', + * this.applicationID + '-3.algolianet.com'] + * ]) - The hosts to use for Algolia Search API. + * If you provide them, you will less benefit from our HA implementation + */ +function AlgoliaSearchCore(applicationID, apiKey, opts) { + var debug = require(1)('algoliasearch'); + + var clone = require(25); + var isArray = require(8); + var map = require(30); + + var usage = 'Usage: algoliasearch(applicationID, apiKey, opts)'; + + if (opts._allowEmptyCredentials !== true && !applicationID) { + throw new errors.AlgoliaSearchError('Please provide an application ID. ' + usage); + } + + if (opts._allowEmptyCredentials !== true && !apiKey) { + throw new errors.AlgoliaSearchError('Please provide an API key. ' + usage); + } + + this.applicationID = applicationID; + this.apiKey = apiKey; + + this.hosts = { + read: [], + write: [] + }; + + opts = opts || {}; + + var protocol = opts.protocol || 'https:'; + this._timeouts = opts.timeouts || { + connect: 1 * 1000, // 500ms connect is GPRS latency + read: 2 * 1000, + write: 30 * 1000 + }; + + // backward compat, if opts.timeout is passed, we use it to configure all timeouts like before + if (opts.timeout) { + this._timeouts.connect = this._timeouts.read = this._timeouts.write = opts.timeout; + } + + // while we advocate for colon-at-the-end values: 'http:' for `opts.protocol` + // we also accept `http` and `https`. It's a common error. + if (!/:$/.test(protocol)) { + protocol = protocol + ':'; + } + + if (opts.protocol !== 'http:' && opts.protocol !== 'https:') { + throw new errors.AlgoliaSearchError('protocol must be `http:` or `https:` (was `' + opts.protocol + '`)'); + } + + this._checkAppIdData(); + + if (!opts.hosts) { + var defaultHosts = map(this._shuffleResult, function(hostNumber) { + return applicationID + '-' + hostNumber + '.algolianet.com'; + }); + + // no hosts given, compute defaults + this.hosts.read = [this.applicationID + '-dsn.algolia.net'].concat(defaultHosts); + this.hosts.write = [this.applicationID + '.algolia.net'].concat(defaultHosts); + } else if (isArray(opts.hosts)) { + // when passing custom hosts, we need to have a different host index if the number + // of write/read hosts are different. + this.hosts.read = clone(opts.hosts); + this.hosts.write = clone(opts.hosts); + } else { + this.hosts.read = clone(opts.hosts.read); + this.hosts.write = clone(opts.hosts.write); + } + + // add protocol and lowercase hosts + this.hosts.read = map(this.hosts.read, prepareHost(protocol)); + this.hosts.write = map(this.hosts.write, prepareHost(protocol)); + + this.extraHeaders = {}; + + // In some situations you might want to warm the cache + this.cache = opts._cache || {}; + + this._ua = opts._ua; + this._useCache = opts._useCache === undefined || opts._cache ? true : opts._useCache; + this._useFallback = opts.useFallback === undefined ? true : opts.useFallback; + + this._setTimeout = opts._setTimeout; + + debug('init done, %j', this); +} + +/* + * Get the index object initialized + * + * @param indexName the name of index + * @param callback the result callback with one argument (the Index instance) + */ +AlgoliaSearchCore.prototype.initIndex = function(indexName) { + return new IndexCore(this, indexName); +}; + +/** +* Add an extra field to the HTTP request +* +* @param name the header field name +* @param value the header field value +*/ +AlgoliaSearchCore.prototype.setExtraHeader = function(name, value) { + this.extraHeaders[name.toLowerCase()] = value; +}; + +/** +* Get the value of an extra HTTP header +* +* @param name the header field name +*/ +AlgoliaSearchCore.prototype.getExtraHeader = function(name) { + return this.extraHeaders[name.toLowerCase()]; +}; + +/** +* Remove an extra field from the HTTP request +* +* @param name the header field name +*/ +AlgoliaSearchCore.prototype.unsetExtraHeader = function(name) { + delete this.extraHeaders[name.toLowerCase()]; +}; + +/** +* Augment sent x-algolia-agent with more data, each agent part +* is automatically separated from the others by a semicolon; +* +* @param algoliaAgent the agent to add +*/ +AlgoliaSearchCore.prototype.addAlgoliaAgent = function(algoliaAgent) { + if (this._ua.indexOf(';' + algoliaAgent) === -1) { + this._ua += ';' + algoliaAgent; + } +}; + +/* + * Wrapper that try all hosts to maximize the quality of service + */ +AlgoliaSearchCore.prototype._jsonRequest = function(initialOpts) { + this._checkAppIdData(); + + var requestDebug = require(1)('algoliasearch:' + initialOpts.url); + + var body; + var additionalUA = initialOpts.additionalUA || ''; + var cache = initialOpts.cache; + var client = this; + var tries = 0; + var usingFallback = false; + var hasFallback = client._useFallback && client._request.fallback && initialOpts.fallback; + var headers; + + if ( + this.apiKey.length > MAX_API_KEY_LENGTH && + initialOpts.body !== undefined && + (initialOpts.body.params !== undefined || // index.search() + initialOpts.body.requests !== undefined) // client.search() + ) { + initialOpts.body.apiKey = this.apiKey; + headers = this._computeRequestHeaders({ + additionalUA: additionalUA, + withApiKey: false, + headers: initialOpts.headers + }); + } else { + headers = this._computeRequestHeaders({ + additionalUA: additionalUA, + headers: initialOpts.headers + }); + } + + if (initialOpts.body !== undefined) { + body = safeJSONStringify(initialOpts.body); + } + + requestDebug('request start'); + var debugData = []; + + function doRequest(requester, reqOpts) { + client._checkAppIdData(); + + var startTime = new Date(); + var cacheID; + + if (client._useCache) { + cacheID = initialOpts.url; + } + + // as we sometime use POST requests to pass parameters (like query='aa'), + // the cacheID must also include the body to be different between calls + if (client._useCache && body) { + cacheID += '_body_' + reqOpts.body; + } + + // handle cache existence + if (client._useCache && cache && cache[cacheID] !== undefined) { + requestDebug('serving response from cache'); + return client._promise.resolve(JSON.parse(cache[cacheID])); + } + + // if we reached max tries + if (tries >= client.hosts[initialOpts.hostType].length) { + if (!hasFallback || usingFallback) { + requestDebug('could not get any response'); + // then stop + return client._promise.reject(new errors.AlgoliaSearchError( + 'Cannot connect to the AlgoliaSearch API.' + + ' Send an email to support@algolia.com to report and resolve the issue.' + + ' Application id was: ' + client.applicationID, {debugData: debugData} + )); + } + + requestDebug('switching to fallback'); + + // let's try the fallback starting from here + tries = 0; + + // method, url and body are fallback dependent + reqOpts.method = initialOpts.fallback.method; + reqOpts.url = initialOpts.fallback.url; + reqOpts.jsonBody = initialOpts.fallback.body; + if (reqOpts.jsonBody) { + reqOpts.body = safeJSONStringify(reqOpts.jsonBody); + } + // re-compute headers, they could be omitting the API KEY + headers = client._computeRequestHeaders({ + additionalUA: additionalUA, + headers: initialOpts.headers + }); + + reqOpts.timeouts = client._getTimeoutsForRequest(initialOpts.hostType); + client._setHostIndexByType(0, initialOpts.hostType); + usingFallback = true; // the current request is now using fallback + return doRequest(client._request.fallback, reqOpts); + } + + var currentHost = client._getHostByType(initialOpts.hostType); + + var url = currentHost + reqOpts.url; + var options = { + body: reqOpts.body, + jsonBody: reqOpts.jsonBody, + method: reqOpts.method, + headers: headers, + timeouts: reqOpts.timeouts, + debug: requestDebug + }; + + requestDebug('method: %s, url: %s, headers: %j, timeouts: %d', + options.method, url, options.headers, options.timeouts); + + if (requester === client._request.fallback) { + requestDebug('using fallback'); + } + + // `requester` is any of this._request or this._request.fallback + // thus it needs to be called using the client as context + return requester.call(client, url, options).then(success, tryFallback); + + function success(httpResponse) { + // compute the status of the response, + // + // When in browser mode, using XDR or JSONP, we have no statusCode available + // So we rely on our API response `status` property. + // But `waitTask` can set a `status` property which is not the statusCode (it's the task status) + // So we check if there's a `message` along `status` and it means it's an error + // + // That's the only case where we have a response.status that's not the http statusCode + var status = httpResponse && httpResponse.body && httpResponse.body.message && httpResponse.body.status || + + // this is important to check the request statusCode AFTER the body eventual + // statusCode because some implementations (jQuery XDomainRequest transport) may + // send statusCode 200 while we had an error + httpResponse.statusCode || + + // When in browser mode, using XDR or JSONP + // we default to success when no error (no response.status && response.message) + // If there was a JSON.parse() error then body is null and it fails + httpResponse && httpResponse.body && 200; + + requestDebug('received response: statusCode: %s, computed statusCode: %d, headers: %j', + httpResponse.statusCode, status, httpResponse.headers); + + var httpResponseOk = Math.floor(status / 100) === 2; + + var endTime = new Date(); + debugData.push({ + currentHost: currentHost, + headers: removeCredentials(headers), + content: body || null, + contentLength: body !== undefined ? body.length : null, + method: reqOpts.method, + timeouts: reqOpts.timeouts, + url: reqOpts.url, + startTime: startTime, + endTime: endTime, + duration: endTime - startTime, + statusCode: status + }); + + if (httpResponseOk) { + if (client._useCache && cache) { + cache[cacheID] = httpResponse.responseText; + } + + return httpResponse.body; + } + + var shouldRetry = Math.floor(status / 100) !== 4; + + if (shouldRetry) { + tries += 1; + return retryRequest(); + } + + requestDebug('unrecoverable error'); + + // no success and no retry => fail + var unrecoverableError = new errors.AlgoliaSearchError( + httpResponse.body && httpResponse.body.message, {debugData: debugData, statusCode: status} + ); + + return client._promise.reject(unrecoverableError); + } + + function tryFallback(err) { + // error cases: + // While not in fallback mode: + // - CORS not supported + // - network error + // While in fallback mode: + // - timeout + // - network error + // - badly formatted JSONP (script loaded, did not call our callback) + // In both cases: + // - uncaught exception occurs (TypeError) + requestDebug('error: %s, stack: %s', err.message, err.stack); + + var endTime = new Date(); + debugData.push({ + currentHost: currentHost, + headers: removeCredentials(headers), + content: body || null, + contentLength: body !== undefined ? body.length : null, + method: reqOpts.method, + timeouts: reqOpts.timeouts, + url: reqOpts.url, + startTime: startTime, + endTime: endTime, + duration: endTime - startTime + }); + + if (!(err instanceof errors.AlgoliaSearchError)) { + err = new errors.Unknown(err && err.message, err); + } + + tries += 1; + + // stop the request implementation when: + if ( + // we did not generate this error, + // it comes from a throw in some other piece of code + err instanceof errors.Unknown || + + // server sent unparsable JSON + err instanceof errors.UnparsableJSON || + + // max tries and already using fallback or no fallback + tries >= client.hosts[initialOpts.hostType].length && + (usingFallback || !hasFallback)) { + // stop request implementation for this command + err.debugData = debugData; + return client._promise.reject(err); + } + + // When a timeout occured, retry by raising timeout + if (err instanceof errors.RequestTimeout) { + return retryRequestWithHigherTimeout(); + } + + return retryRequest(); + } + + function retryRequest() { + requestDebug('retrying request'); + client._incrementHostIndex(initialOpts.hostType); + return doRequest(requester, reqOpts); + } + + function retryRequestWithHigherTimeout() { + requestDebug('retrying request with higher timeout'); + client._incrementHostIndex(initialOpts.hostType); + client._incrementTimeoutMultipler(); + reqOpts.timeouts = client._getTimeoutsForRequest(initialOpts.hostType); + return doRequest(requester, reqOpts); + } + } + + var promise = doRequest( + client._request, { + url: initialOpts.url, + method: initialOpts.method, + body: body, + jsonBody: initialOpts.body, + timeouts: client._getTimeoutsForRequest(initialOpts.hostType) + } + ); + + // either we have a callback + // either we are using promises + if (typeof initialOpts.callback === 'function') { + promise.then(function okCb(content) { + exitPromise(function() { + initialOpts.callback(null, content); + }, client._setTimeout || setTimeout); + }, function nookCb(err) { + exitPromise(function() { + initialOpts.callback(err); + }, client._setTimeout || setTimeout); + }); + } else { + return promise; + } +}; + +/* +* Transform search param object in query string +* @param {object} args arguments to add to the current query string +* @param {string} params current query string +* @return {string} the final query string +*/ +AlgoliaSearchCore.prototype._getSearchParams = function(args, params) { + if (args === undefined || args === null) { + return params; + } + for (var key in args) { + if (key !== null && args[key] !== undefined && args.hasOwnProperty(key)) { + params += params === '' ? '' : '&'; + params += key + '=' + encodeURIComponent(Object.prototype.toString.call(args[key]) === '[object Array]' ? safeJSONStringify(args[key]) : args[key]); + } + } + return params; +}; + +/** + * Compute the headers for a request + * + * @param [string] options.additionalUA semi-colon separated string with other user agents to add + * @param [boolean=true] options.withApiKey Send the api key as a header + * @param [Object] options.headers Extra headers to send + */ +AlgoliaSearchCore.prototype._computeRequestHeaders = function(options) { + var forEach = require(5); + + var ua = options.additionalUA ? + this._ua + ';' + options.additionalUA : + this._ua; + + var requestHeaders = { + 'x-algolia-agent': ua, + 'x-algolia-application-id': this.applicationID + }; + + // browser will inline headers in the url, node.js will use http headers + // but in some situations, the API KEY will be too long (big secured API keys) + // so if the request is a POST and the KEY is very long, we will be asked to not put + // it into headers but in the JSON body + if (options.withApiKey !== false) { + requestHeaders['x-algolia-api-key'] = this.apiKey; + } + + if (this.userToken) { + requestHeaders['x-algolia-usertoken'] = this.userToken; + } + + if (this.securityTags) { + requestHeaders['x-algolia-tagfilters'] = this.securityTags; + } + + forEach(this.extraHeaders, function addToRequestHeaders(value, key) { + requestHeaders[key] = value; + }); + + if (options.headers) { + forEach(options.headers, function addToRequestHeaders(value, key) { + requestHeaders[key] = value; + }); + } + + return requestHeaders; +}; + +/** + * Search through multiple indices at the same time + * @param {Object[]} queries An array of queries you want to run. + * @param {string} queries[].indexName The index name you want to target + * @param {string} [queries[].query] The query to issue on this index. Can also be passed into `params` + * @param {Object} queries[].params Any search param like hitsPerPage, .. + * @param {Function} callback Callback to be called + * @return {Promise|undefined} Returns a promise if no callback given + */ +AlgoliaSearchCore.prototype.search = function(queries, opts, callback) { + var isArray = require(8); + var map = require(30); + + var usage = 'Usage: client.search(arrayOfQueries[, callback])'; + + if (!isArray(queries)) { + throw new Error(usage); + } + + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + var client = this; + + var postObj = { + requests: map(queries, function prepareRequest(query) { + var params = ''; + + // allow query.query + // so we are mimicing the index.search(query, params) method + // {indexName:, query:, params:} + if (query.query !== undefined) { + params += 'query=' + encodeURIComponent(query.query); + } + + return { + indexName: query.indexName, + params: client._getSearchParams(query.params, params) + }; + }) + }; + + var JSONPParams = map(postObj.requests, function prepareJSONPParams(request, requestId) { + return requestId + '=' + + encodeURIComponent( + '/1/indexes/' + encodeURIComponent(request.indexName) + '?' + + request.params + ); + }).join('&'); + + var url = '/1/indexes/*/queries'; + + if (opts.strategy !== undefined) { + url += '?strategy=' + opts.strategy; + } + + return this._jsonRequest({ + cache: this.cache, + method: 'POST', + url: url, + body: postObj, + hostType: 'read', + fallback: { + method: 'GET', + url: '/1/indexes/*', + body: { + params: JSONPParams + } + }, + callback: callback + }); +}; + +/** + * Set the extra security tagFilters header + * @param {string|array} tags The list of tags defining the current security filters + */ +AlgoliaSearchCore.prototype.setSecurityTags = function(tags) { + if (Object.prototype.toString.call(tags) === '[object Array]') { + var strTags = []; + for (var i = 0; i < tags.length; ++i) { + if (Object.prototype.toString.call(tags[i]) === '[object Array]') { + var oredTags = []; + for (var j = 0; j < tags[i].length; ++j) { + oredTags.push(tags[i][j]); + } + strTags.push('(' + oredTags.join(',') + ')'); + } else { + strTags.push(tags[i]); + } + } + tags = strTags.join(','); + } + + this.securityTags = tags; +}; + +/** + * Set the extra user token header + * @param {string} userToken The token identifying a uniq user (used to apply rate limits) + */ +AlgoliaSearchCore.prototype.setUserToken = function(userToken) { + this.userToken = userToken; +}; + +/** + * Clear all queries in client's cache + * @return undefined + */ +AlgoliaSearchCore.prototype.clearCache = function() { + this.cache = {}; +}; + +/** +* Set the number of milliseconds a request can take before automatically being terminated. +* @deprecated +* @param {Number} milliseconds +*/ +AlgoliaSearchCore.prototype.setRequestTimeout = function(milliseconds) { + if (milliseconds) { + this._timeouts.connect = this._timeouts.read = this._timeouts.write = milliseconds; + } +}; + +/** +* Set the three different (connect, read, write) timeouts to be used when requesting +* @param {Object} timeouts +*/ +AlgoliaSearchCore.prototype.setTimeouts = function(timeouts) { + this._timeouts = timeouts; +}; + +/** +* Get the three different (connect, read, write) timeouts to be used when requesting +* @param {Object} timeouts +*/ +AlgoliaSearchCore.prototype.getTimeouts = function() { + return this._timeouts; +}; + +AlgoliaSearchCore.prototype._getAppIdData = function() { + var data = store.get(this.applicationID); + if (data !== null) this._cacheAppIdData(data); + return data; +}; + +AlgoliaSearchCore.prototype._setAppIdData = function(data) { + data.lastChange = (new Date()).getTime(); + this._cacheAppIdData(data); + return store.set(this.applicationID, data); +}; + +AlgoliaSearchCore.prototype._checkAppIdData = function() { + var data = this._getAppIdData(); + var now = (new Date()).getTime(); + if (data === null || now - data.lastChange > RESET_APP_DATA_TIMER) { + return this._resetInitialAppIdData(data); + } + + return data; +}; + +AlgoliaSearchCore.prototype._resetInitialAppIdData = function(data) { + var newData = data || {}; + newData.hostIndexes = {read: 0, write: 0}; + newData.timeoutMultiplier = 1; + newData.shuffleResult = newData.shuffleResult || shuffle([1, 2, 3]); + return this._setAppIdData(newData); +}; + +AlgoliaSearchCore.prototype._cacheAppIdData = function(data) { + this._hostIndexes = data.hostIndexes; + this._timeoutMultiplier = data.timeoutMultiplier; + this._shuffleResult = data.shuffleResult; +}; + +AlgoliaSearchCore.prototype._partialAppIdDataUpdate = function(newData) { + var foreach = require(5); + var currentData = this._getAppIdData(); + foreach(newData, function(value, key) { + currentData[key] = value; + }); + + return this._setAppIdData(currentData); +}; + +AlgoliaSearchCore.prototype._getHostByType = function(hostType) { + return this.hosts[hostType][this._getHostIndexByType(hostType)]; +}; + +AlgoliaSearchCore.prototype._getTimeoutMultiplier = function() { + return this._timeoutMultiplier; +}; + +AlgoliaSearchCore.prototype._getHostIndexByType = function(hostType) { + return this._hostIndexes[hostType]; +}; + +AlgoliaSearchCore.prototype._setHostIndexByType = function(hostIndex, hostType) { + var clone = require(25); + var newHostIndexes = clone(this._hostIndexes); + newHostIndexes[hostType] = hostIndex; + this._partialAppIdDataUpdate({hostIndexes: newHostIndexes}); + return hostIndex; +}; + +AlgoliaSearchCore.prototype._incrementHostIndex = function(hostType) { + return this._setHostIndexByType( + (this._getHostIndexByType(hostType) + 1) % this.hosts[hostType].length, hostType + ); +}; + +AlgoliaSearchCore.prototype._incrementTimeoutMultipler = function() { + var timeoutMultiplier = Math.max(this._timeoutMultiplier + 1, 4); + return this._partialAppIdDataUpdate({timeoutMultiplier: timeoutMultiplier}); +}; + +AlgoliaSearchCore.prototype._getTimeoutsForRequest = function(hostType) { + return { + connect: this._timeouts.connect * this._timeoutMultiplier, + complete: this._timeouts[hostType] * this._timeoutMultiplier + }; +}; + +function prepareHost(protocol) { + return function prepare(host) { + return protocol + '//' + host.toLowerCase(); + }; +} + +// Prototype.js < 1.7, a widely used library, defines a weird +// Array.prototype.toJSON function that will fail to stringify our content +// appropriately +// refs: +// - https://groups.google.com/forum/#!topic/prototype-core/E-SAVvV_V9Q +// - https://github.com/sstephenson/prototype/commit/038a2985a70593c1a86c230fadbdfe2e4898a48c +// - http://stackoverflow.com/a/3148441/147079 +function safeJSONStringify(obj) { + /* eslint no-extend-native:0 */ + + if (Array.prototype.toJSON === undefined) { + return JSON.stringify(obj); + } + + var toJSON = Array.prototype.toJSON; + delete Array.prototype.toJSON; + var out = JSON.stringify(obj); + Array.prototype.toJSON = toJSON; + + return out; +} + +function shuffle(array) { + var currentIndex = array.length; + var temporaryValue; + var randomIndex; + + // While there remain elements to shuffle... + while (currentIndex !== 0) { + // Pick a remaining element... + randomIndex = Math.floor(Math.random() * currentIndex); + currentIndex -= 1; + + // And swap it with the current element. + temporaryValue = array[currentIndex]; + array[currentIndex] = array[randomIndex]; + array[randomIndex] = temporaryValue; + } + + return array; +} + +function removeCredentials(headers) { + var newHeaders = {}; + + for (var headerName in headers) { + if (Object.prototype.hasOwnProperty.call(headers, headerName)) { + var value; + + if (headerName === 'x-algolia-api-key' || headerName === 'x-algolia-application-id') { + value = '**hidden for security purposes**'; + } else { + value = headers[headerName]; + } + + newHeaders[headerName] = value; + } + } + + return newHeaders; +} + +}).call(this,require(12)) +},{"1":1,"12":12,"18":18,"25":25,"28":28,"29":29,"30":30,"34":34,"5":5,"8":8}],16:[function(require,module,exports){ +var inherits = require(7); +var IndexCore = require(18); +var deprecate = require(26); +var deprecatedMessage = require(27); +var exitPromise = require(29); +var errors = require(28); + +var deprecateForwardToSlaves = deprecate( + function() {}, + deprecatedMessage('forwardToSlaves', 'forwardToReplicas') +); + +module.exports = Index; + +function Index() { + IndexCore.apply(this, arguments); +} + +inherits(Index, IndexCore); + +/* +* Add an object in this index +* +* @param content contains the javascript object to add inside the index +* @param objectID (optional) an objectID you want to attribute to this object +* (if the attribute already exist the old object will be overwrite) +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that contains 3 elements: createAt, taskId and objectID +*/ +Index.prototype.addObject = function(content, objectID, callback) { + var indexObj = this; + + if (arguments.length === 1 || typeof objectID === 'function') { + callback = objectID; + objectID = undefined; + } + + return this.as._jsonRequest({ + method: objectID !== undefined ? + 'PUT' : // update or create + 'POST', // create (API generates an objectID) + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + // create + (objectID !== undefined ? '/' + encodeURIComponent(objectID) : ''), // update or create + body: content, + hostType: 'write', + callback: callback + }); +}; + +/* +* Add several objects +* +* @param objects contains an array of objects to add +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that updateAt and taskID +*/ +Index.prototype.addObjects = function(objects, callback) { + var isArray = require(8); + var usage = 'Usage: index.addObjects(arrayOfObjects[, callback])'; + + if (!isArray(objects)) { + throw new Error(usage); + } + + var indexObj = this; + var postObj = { + requests: [] + }; + for (var i = 0; i < objects.length; ++i) { + var request = { + action: 'addObject', + body: objects[i] + }; + postObj.requests.push(request); + } + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/batch', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/* +* Update partially an object (only update attributes passed in argument) +* +* @param partialObject contains the javascript attributes to override, the +* object must contains an objectID attribute +* @param createIfNotExists (optional) if false, avoid an automatic creation of the object +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that contains 3 elements: createAt, taskId and objectID +*/ +Index.prototype.partialUpdateObject = function(partialObject, createIfNotExists, callback) { + if (arguments.length === 1 || typeof createIfNotExists === 'function') { + callback = createIfNotExists; + createIfNotExists = undefined; + } + + var indexObj = this; + var url = '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/' + encodeURIComponent(partialObject.objectID) + '/partial'; + if (createIfNotExists === false) { + url += '?createIfNotExists=false'; + } + + return this.as._jsonRequest({ + method: 'POST', + url: url, + body: partialObject, + hostType: 'write', + callback: callback + }); +}; + +/* +* Partially Override the content of several objects +* +* @param objects contains an array of objects to update (each object must contains a objectID attribute) +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that updateAt and taskID +*/ +Index.prototype.partialUpdateObjects = function(objects, createIfNotExists, callback) { + if (arguments.length === 1 || typeof createIfNotExists === 'function') { + callback = createIfNotExists; + createIfNotExists = true; + } + + var isArray = require(8); + var usage = 'Usage: index.partialUpdateObjects(arrayOfObjects[, callback])'; + + if (!isArray(objects)) { + throw new Error(usage); + } + + var indexObj = this; + var postObj = { + requests: [] + }; + for (var i = 0; i < objects.length; ++i) { + var request = { + action: createIfNotExists === true ? 'partialUpdateObject' : 'partialUpdateObjectNoCreate', + objectID: objects[i].objectID, + body: objects[i] + }; + postObj.requests.push(request); + } + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/batch', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/* +* Override the content of object +* +* @param object contains the javascript object to save, the object must contains an objectID attribute +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that updateAt and taskID +*/ +Index.prototype.saveObject = function(object, callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'PUT', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/' + encodeURIComponent(object.objectID), + body: object, + hostType: 'write', + callback: callback + }); +}; + +/* +* Override the content of several objects +* +* @param objects contains an array of objects to update (each object must contains a objectID attribute) +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that updateAt and taskID +*/ +Index.prototype.saveObjects = function(objects, callback) { + var isArray = require(8); + var usage = 'Usage: index.saveObjects(arrayOfObjects[, callback])'; + + if (!isArray(objects)) { + throw new Error(usage); + } + + var indexObj = this; + var postObj = { + requests: [] + }; + for (var i = 0; i < objects.length; ++i) { + var request = { + action: 'updateObject', + objectID: objects[i].objectID, + body: objects[i] + }; + postObj.requests.push(request); + } + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/batch', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/* +* Delete an object from the index +* +* @param objectID the unique identifier of object to delete +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that contains 3 elements: createAt, taskId and objectID +*/ +Index.prototype.deleteObject = function(objectID, callback) { + if (typeof objectID === 'function' || typeof objectID !== 'string' && typeof objectID !== 'number') { + var err = new errors.AlgoliaSearchError('Cannot delete an object without an objectID'); + callback = objectID; + if (typeof callback === 'function') { + return callback(err); + } + + return this.as._promise.reject(err); + } + + var indexObj = this; + return this.as._jsonRequest({ + method: 'DELETE', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/' + encodeURIComponent(objectID), + hostType: 'write', + callback: callback + }); +}; + +/* +* Delete several objects from an index +* +* @param objectIDs contains an array of objectID to delete +* @param callback (optional) the result callback called with two arguments: +* error: null or Error('message') +* content: the server answer that contains 3 elements: createAt, taskId and objectID +*/ +Index.prototype.deleteObjects = function(objectIDs, callback) { + var isArray = require(8); + var map = require(30); + + var usage = 'Usage: index.deleteObjects(arrayOfObjectIDs[, callback])'; + + if (!isArray(objectIDs)) { + throw new Error(usage); + } + + var indexObj = this; + var postObj = { + requests: map(objectIDs, function prepareRequest(objectID) { + return { + action: 'deleteObject', + objectID: objectID, + body: { + objectID: objectID + } + }; + }) + }; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/batch', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/* +* Delete all objects matching a query +* +* @param query the query string +* @param params the optional query parameters +* @param callback (optional) the result callback called with one argument +* error: null or Error('message') +* @deprecated see index.deleteBy +*/ +Index.prototype.deleteByQuery = deprecate(function(query, params, callback) { + var clone = require(25); + var map = require(30); + + var indexObj = this; + var client = indexObj.as; + + if (arguments.length === 1 || typeof params === 'function') { + callback = params; + params = {}; + } else { + params = clone(params); + } + + params.attributesToRetrieve = 'objectID'; + params.hitsPerPage = 1000; + params.distinct = false; + + // when deleting, we should never use cache to get the + // search results + this.clearCache(); + + // there's a problem in how we use the promise chain, + // see how waitTask is done + var promise = this + .search(query, params) + .then(stopOrDelete); + + function stopOrDelete(searchContent) { + // stop here + if (searchContent.nbHits === 0) { + // return indexObj.as._request.resolve(); + return searchContent; + } + + // continue and do a recursive call + var objectIDs = map(searchContent.hits, function getObjectID(object) { + return object.objectID; + }); + + return indexObj + .deleteObjects(objectIDs) + .then(waitTask) + .then(doDeleteByQuery); + } + + function waitTask(deleteObjectsContent) { + return indexObj.waitTask(deleteObjectsContent.taskID); + } + + function doDeleteByQuery() { + return indexObj.deleteByQuery(query, params); + } + + if (!callback) { + return promise; + } + + promise.then(success, failure); + + function success() { + exitPromise(function exit() { + callback(null); + }, client._setTimeout || setTimeout); + } + + function failure(err) { + exitPromise(function exit() { + callback(err); + }, client._setTimeout || setTimeout); + } +}, deprecatedMessage('index.deleteByQuery()', 'index.deleteBy()')); + +/** +* Delete all objects matching a query +* +* the query parameters that can be used are: +* - filters (numeric, facet, tag) +* - geo +* +* you can not send an empty query or filters +* +* @param params the optional query parameters +* @param callback (optional) the result callback called with one argument +* error: null or Error('message') +*/ +Index.prototype.deleteBy = function(params, callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/deleteByQuery', + body: {params: indexObj.as._getSearchParams(params, '')}, + hostType: 'write', + callback: callback + }); +}; + +/* +* Browse all content from an index using events. Basically this will do +* .browse() -> .browseFrom -> .browseFrom -> .. until all the results are returned +* +* @param {string} query - The full text query +* @param {Object} [queryParameters] - Any search query parameter +* @return {EventEmitter} +* @example +* var browser = index.browseAll('cool songs', { +* tagFilters: 'public,comments', +* hitsPerPage: 500 +* }); +* +* browser.on('result', function resultCallback(content) { +* console.log(content.hits); +* }); +* +* // if any error occurs, you get it +* browser.on('error', function(err) { +* throw err; +* }); +* +* // when you have browsed the whole index, you get this event +* browser.on('end', function() { +* console.log('finished'); +* }); +* +* // at any point if you want to stop the browsing process, you can stop it manually +* // otherwise it will go on and on +* browser.stop(); +* +* @see {@link https://www.algolia.com/doc/rest_api#Browse|Algolia REST API Documentation} +*/ +Index.prototype.browseAll = function(query, queryParameters) { + if (typeof query === 'object') { + queryParameters = query; + query = undefined; + } + + var merge = require(31); + + var IndexBrowser = require(17); + + var browser = new IndexBrowser(); + var client = this.as; + var index = this; + var params = client._getSearchParams( + merge({}, queryParameters || {}, { + query: query + }), '' + ); + + // start browsing + browseLoop(); + + function browseLoop(cursor) { + if (browser._stopped) { + return; + } + + var body; + + if (cursor !== undefined) { + body = { + cursor: cursor + }; + } else { + body = { + params: params + }; + } + + client._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(index.indexName) + '/browse', + hostType: 'read', + body: body, + callback: browseCallback + }); + } + + function browseCallback(err, content) { + if (browser._stopped) { + return; + } + + if (err) { + browser._error(err); + return; + } + + browser._result(content); + + // no cursor means we are finished browsing + if (content.cursor === undefined) { + browser._end(); + return; + } + + browseLoop(content.cursor); + } + + return browser; +}; + +/* +* Get a Typeahead.js adapter +* @param searchParams contains an object with query parameters (see search for details) +*/ +Index.prototype.ttAdapter = deprecate(function(params) { + var self = this; + return function ttAdapter(query, syncCb, asyncCb) { + var cb; + + if (typeof asyncCb === 'function') { + // typeahead 0.11 + cb = asyncCb; + } else { + // pre typeahead 0.11 + cb = syncCb; + } + + self.search(query, params, function searchDone(err, content) { + if (err) { + cb(err); + return; + } + + cb(content.hits); + }); + }; +}, +'ttAdapter is not necessary anymore and will be removed in the next version,\n' + +'have a look at autocomplete.js (https://github.com/algolia/autocomplete.js)'); + +/* +* Wait the publication of a task on the server. +* All server task are asynchronous and you can check with this method that the task is published. +* +* @param taskID the id of the task returned by server +* @param callback the result callback with with two arguments: +* error: null or Error('message') +* content: the server answer that contains the list of results +*/ +Index.prototype.waitTask = function(taskID, callback) { + // wait minimum 100ms before retrying + var baseDelay = 100; + // wait maximum 5s before retrying + var maxDelay = 5000; + var loop = 0; + + // waitTask() must be handled differently from other methods, + // it's a recursive method using a timeout + var indexObj = this; + var client = indexObj.as; + + var promise = retryLoop(); + + function retryLoop() { + return client._jsonRequest({ + method: 'GET', + hostType: 'read', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/task/' + taskID + }).then(function success(content) { + loop++; + var delay = baseDelay * loop * loop; + if (delay > maxDelay) { + delay = maxDelay; + } + + if (content.status !== 'published') { + return client._promise.delay(delay).then(retryLoop); + } + + return content; + }); + } + + if (!callback) { + return promise; + } + + promise.then(successCb, failureCb); + + function successCb(content) { + exitPromise(function exit() { + callback(null, content); + }, client._setTimeout || setTimeout); + } + + function failureCb(err) { + exitPromise(function exit() { + callback(err); + }, client._setTimeout || setTimeout); + } +}; + +/* +* This function deletes the index content. Settings and index specific API keys are kept untouched. +* +* @param callback (optional) the result callback called with two arguments +* error: null or Error('message') +* content: the settings object or the error message if a failure occured +*/ +Index.prototype.clearIndex = function(callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/clear', + hostType: 'write', + callback: callback + }); +}; + +/* +* Get settings of this index +* +* @param opts an object of options to add +* @param opts.advanced get more settings like nbShards (useful for Enterprise) +* @param callback (optional) the result callback called with two arguments +* error: null or Error('message') +* content: the settings object or the error message if a failure occurred +*/ +Index.prototype.getSettings = function(opts, callback) { + if (arguments.length === 1 && typeof opts === 'function') { + callback = opts; + opts = {}; + } + opts = opts || {}; + + var indexName = encodeURIComponent(this.indexName); + return this.as._jsonRequest({ + method: 'GET', + url: + '/1/indexes/' + + indexName + + '/settings?getVersion=2' + + (opts.advanced ? '&advanced=' + opts.advanced : ''), + hostType: 'read', + callback: callback + }); +}; + +Index.prototype.searchSynonyms = function(params, callback) { + if (typeof params === 'function') { + callback = params; + params = {}; + } else if (params === undefined) { + params = {}; + } + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/search', + body: params, + hostType: 'read', + callback: callback + }); +}; + +function exportData(method, _hitsPerPage, callback) { + function search(page, _previous) { + var options = { + page: page || 0, + hitsPerPage: _hitsPerPage || 100 + }; + var previous = _previous || []; + + return method(options).then(function(result) { + var hits = result.hits; + var nbHits = result.nbHits; + var current = hits.map(function(s) { + delete s._highlightResult; + return s; + }); + var synonyms = previous.concat(current); + if (synonyms.length < nbHits) { + return search(options.page + 1, synonyms); + } + return synonyms; + }); + } + return search().then(function(data) { + if (typeof callback === 'function') { + callback(data); + return undefined; + } + return data; + }); +} + +/** + * Retrieve all the synonyms in an index + * @param [number=100] hitsPerPage The amount of synonyms to retrieve per batch + * @param [function] callback will be called after all synonyms are retrieved + */ +Index.prototype.exportSynonyms = function(hitsPerPage, callback) { + return exportData(this.searchSynonyms.bind(this), hitsPerPage, callback); +}; + +Index.prototype.saveSynonym = function(synonym, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + if (opts.forwardToSlaves !== undefined) deprecateForwardToSlaves(); + var forwardToReplicas = (opts.forwardToSlaves || opts.forwardToReplicas) ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'PUT', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/' + encodeURIComponent(synonym.objectID) + + '?forwardToReplicas=' + forwardToReplicas, + body: synonym, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.getSynonym = function(objectID, callback) { + return this.as._jsonRequest({ + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/' + encodeURIComponent(objectID), + hostType: 'read', + callback: callback + }); +}; + +Index.prototype.deleteSynonym = function(objectID, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + if (opts.forwardToSlaves !== undefined) deprecateForwardToSlaves(); + var forwardToReplicas = (opts.forwardToSlaves || opts.forwardToReplicas) ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'DELETE', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/' + encodeURIComponent(objectID) + + '?forwardToReplicas=' + forwardToReplicas, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.clearSynonyms = function(opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + if (opts.forwardToSlaves !== undefined) deprecateForwardToSlaves(); + var forwardToReplicas = (opts.forwardToSlaves || opts.forwardToReplicas) ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/clear' + + '?forwardToReplicas=' + forwardToReplicas, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.batchSynonyms = function(synonyms, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + if (opts.forwardToSlaves !== undefined) deprecateForwardToSlaves(); + var forwardToReplicas = (opts.forwardToSlaves || opts.forwardToReplicas) ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/synonyms/batch' + + '?forwardToReplicas=' + forwardToReplicas + + '&replaceExistingSynonyms=' + (opts.replaceExistingSynonyms ? 'true' : 'false'), + hostType: 'write', + body: synonyms, + callback: callback + }); +}; + +Index.prototype.searchRules = function(params, callback) { + if (typeof params === 'function') { + callback = params; + params = {}; + } else if (params === undefined) { + params = {}; + } + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/search', + body: params, + hostType: 'read', + callback: callback + }); +}; +/** + * Retrieve all the query rules in an index + * @param [number=100] hitsPerPage The amount of query rules to retrieve per batch + * @param [function] callback will be called after all query rules are retrieved + */ +Index.prototype.exportRules = function(hitsPerPage, callback) { + return exportData(this.searchRules.bind(this), hitsPerPage, callback); +}; + +Index.prototype.saveRule = function(rule, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + var forwardToReplicas = opts.forwardToReplicas === true ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'PUT', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/' + encodeURIComponent(rule.objectID) + + '?forwardToReplicas=' + forwardToReplicas, + body: rule, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.getRule = function(objectID, callback) { + return this.as._jsonRequest({ + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/' + encodeURIComponent(objectID), + hostType: 'read', + callback: callback + }); +}; + +Index.prototype.deleteRule = function(objectID, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + var forwardToReplicas = opts.forwardToReplicas === true ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'DELETE', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/' + encodeURIComponent(objectID) + + '?forwardToReplicas=' + forwardToReplicas, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.clearRules = function(opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + var forwardToReplicas = opts.forwardToReplicas === true ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/clear' + + '?forwardToReplicas=' + forwardToReplicas, + hostType: 'write', + callback: callback + }); +}; + +Index.prototype.batchRules = function(rules, opts, callback) { + if (typeof opts === 'function') { + callback = opts; + opts = {}; + } else if (opts === undefined) { + opts = {}; + } + + var forwardToReplicas = opts.forwardToReplicas === true ? 'true' : 'false'; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/rules/batch' + + '?forwardToReplicas=' + forwardToReplicas + + '&clearExistingRules=' + (opts.clearExistingRules === true ? 'true' : 'false'), + hostType: 'write', + body: rules, + callback: callback + }); +}; + +/* +* Set settings for this index +* +* @param settigns the settings object that can contains : +* - minWordSizefor1Typo: (integer) the minimum number of characters to accept one typo (default = 3). +* - minWordSizefor2Typos: (integer) the minimum number of characters to accept two typos (default = 7). +* - hitsPerPage: (integer) the number of hits per page (default = 10). +* - attributesToRetrieve: (array of strings) default list of attributes to retrieve in objects. +* If set to null, all attributes are retrieved. +* - attributesToHighlight: (array of strings) default list of attributes to highlight. +* If set to null, all indexed attributes are highlighted. +* - attributesToSnippet**: (array of strings) default list of attributes to snippet alongside the number +* of words to return (syntax is attributeName:nbWords). +* By default no snippet is computed. If set to null, no snippet is computed. +* - attributesToIndex: (array of strings) the list of fields you want to index. +* If set to null, all textual and numerical attributes of your objects are indexed, +* but you should update it to get optimal results. +* This parameter has two important uses: +* - Limit the attributes to index: For example if you store a binary image in base64, +* you want to store it and be able to +* retrieve it but you don't want to search in the base64 string. +* - Control part of the ranking*: (see the ranking parameter for full explanation) +* Matches in attributes at the beginning of +* the list will be considered more important than matches in attributes further down the list. +* In one attribute, matching text at the beginning of the attribute will be +* considered more important than text after, you can disable +* this behavior if you add your attribute inside `unordered(AttributeName)`, +* for example attributesToIndex: ["title", "unordered(text)"]. +* - attributesForFaceting: (array of strings) The list of fields you want to use for faceting. +* All strings in the attribute selected for faceting are extracted and added as a facet. +* If set to null, no attribute is used for faceting. +* - attributeForDistinct: (string) The attribute name used for the Distinct feature. +* This feature is similar to the SQL "distinct" keyword: when enabled +* in query with the distinct=1 parameter, all hits containing a duplicate +* value for this attribute are removed from results. +* For example, if the chosen attribute is show_name and several hits have +* the same value for show_name, then only the best one is kept and others are removed. +* - ranking: (array of strings) controls the way results are sorted. +* We have six available criteria: +* - typo: sort according to number of typos, +* - geo: sort according to decreassing distance when performing a geo-location based search, +* - proximity: sort according to the proximity of query words in hits, +* - attribute: sort according to the order of attributes defined by attributesToIndex, +* - exact: +* - if the user query contains one word: sort objects having an attribute +* that is exactly the query word before others. +* For example if you search for the "V" TV show, you want to find it +* with the "V" query and avoid to have all popular TV +* show starting by the v letter before it. +* - if the user query contains multiple words: sort according to the +* number of words that matched exactly (and not as a prefix). +* - custom: sort according to a user defined formula set in **customRanking** attribute. +* The standard order is ["typo", "geo", "proximity", "attribute", "exact", "custom"] +* - customRanking: (array of strings) lets you specify part of the ranking. +* The syntax of this condition is an array of strings containing attributes +* prefixed by asc (ascending order) or desc (descending order) operator. +* For example `"customRanking" => ["desc(population)", "asc(name)"]` +* - queryType: Select how the query words are interpreted, it can be one of the following value: +* - prefixAll: all query words are interpreted as prefixes, +* - prefixLast: only the last word is interpreted as a prefix (default behavior), +* - prefixNone: no query word is interpreted as a prefix. This option is not recommended. +* - highlightPreTag: (string) Specify the string that is inserted before +* the highlighted parts in the query result (default to ""). +* - highlightPostTag: (string) Specify the string that is inserted after +* the highlighted parts in the query result (default to ""). +* - optionalWords: (array of strings) Specify a list of words that should +* be considered as optional when found in the query. +* @param callback (optional) the result callback called with two arguments +* error: null or Error('message') +* content: the server answer or the error message if a failure occured +*/ +Index.prototype.setSettings = function(settings, opts, callback) { + if (arguments.length === 1 || typeof opts === 'function') { + callback = opts; + opts = {}; + } + + if (opts.forwardToSlaves !== undefined) deprecateForwardToSlaves(); + var forwardToReplicas = (opts.forwardToSlaves || opts.forwardToReplicas) ? 'true' : 'false'; + + var indexObj = this; + return this.as._jsonRequest({ + method: 'PUT', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/settings?forwardToReplicas=' + + forwardToReplicas, + hostType: 'write', + body: settings, + callback: callback + }); +}; + +/* + @deprecated see index.listApiKeys + */ +Index.prototype.listUserKeys = deprecate(function(callback) { + return this.listApiKeys(callback); +}, deprecatedMessage('index.listUserKeys()', 'index.listApiKeys()')); + +/* +* List all existing API keys to this index +* +* @param callback the result callback called with two arguments +* error: null or Error('message') +* content: the server answer with API keys belonging to the index +*/ +Index.prototype.listApiKeys = function(callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/keys', + hostType: 'read', + callback: callback + }); +}; + +/* + @deprecated see index.getApiKey + */ +Index.prototype.getUserKeyACL = deprecate(function(key, callback) { + return this.getApiKey(key, callback); +}, deprecatedMessage('index.getUserKeyACL()', 'index.getApiKey()')); + + +/* +* Get an API key from this index +* +* @param key +* @param callback the result callback called with two arguments +* error: null or Error('message') +* content: the server answer with the right API key +*/ +Index.prototype.getApiKey = function(key, callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/keys/' + key, + hostType: 'read', + callback: callback + }); +}; + +/* + @deprecated see index.deleteApiKey + */ +Index.prototype.deleteUserKey = deprecate(function(key, callback) { + return this.deleteApiKey(key, callback); +}, deprecatedMessage('index.deleteUserKey()', 'index.deleteApiKey()')); + +/* +* Delete an existing API key associated to this index +* +* @param key +* @param callback the result callback called with two arguments +* error: null or Error('message') +* content: the server answer with the deletion date +*/ +Index.prototype.deleteApiKey = function(key, callback) { + var indexObj = this; + return this.as._jsonRequest({ + method: 'DELETE', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/keys/' + key, + hostType: 'write', + callback: callback + }); +}; + +/* + @deprecated see index.addApiKey + */ +Index.prototype.addUserKey = deprecate(function(acls, params, callback) { + return this.addApiKey(acls, params, callback); +}, deprecatedMessage('index.addUserKey()', 'index.addApiKey()')); + +/* +* Add a new API key to this index +* +* @param {string[]} acls - The list of ACL for this key. Defined by an array of strings that +* can contains the following values: +* - search: allow to search (https and http) +* - addObject: allows to add/update an object in the index (https only) +* - deleteObject : allows to delete an existing object (https only) +* - deleteIndex : allows to delete index content (https only) +* - settings : allows to get index settings (https only) +* - editSettings : allows to change index settings (https only) +* @param {Object} [params] - Optionnal parameters to set for the key +* @param {number} params.validity - Number of seconds after which the key will +* be automatically removed (0 means no time limit for this key) +* @param {number} params.maxQueriesPerIPPerHour - Number of API calls allowed from an IP address per hour +* @param {number} params.maxHitsPerQuery - Number of hits this API key can retrieve in one call +* @param {string} params.description - A description for your key +* @param {string[]} params.referers - A list of authorized referers +* @param {Object} params.queryParameters - Force the key to use specific query parameters +* @param {Function} callback - The result callback called with two arguments +* error: null or Error('message') +* content: the server answer with the added API key +* @return {Promise|undefined} Returns a promise if no callback given +* @example +* index.addUserKey(['search'], { +* validity: 300, +* maxQueriesPerIPPerHour: 2000, +* maxHitsPerQuery: 3, +* description: 'Eat three fruits', +* referers: ['*.algolia.com'], +* queryParameters: { +* tagFilters: ['public'], +* } +* }) +* @see {@link https://www.algolia.com/doc/rest_api#AddIndexKey|Algolia REST API Documentation} +*/ +Index.prototype.addApiKey = function(acls, params, callback) { + var isArray = require(8); + var usage = 'Usage: index.addApiKey(arrayOfAcls[, params, callback])'; + + if (!isArray(acls)) { + throw new Error(usage); + } + + if (arguments.length === 1 || typeof params === 'function') { + callback = params; + params = null; + } + + var postObj = { + acl: acls + }; + + if (params) { + postObj.validity = params.validity; + postObj.maxQueriesPerIPPerHour = params.maxQueriesPerIPPerHour; + postObj.maxHitsPerQuery = params.maxHitsPerQuery; + postObj.description = params.description; + + if (params.queryParameters) { + postObj.queryParameters = this.as._getSearchParams(params.queryParameters, ''); + } + + postObj.referers = params.referers; + } + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/keys', + body: postObj, + hostType: 'write', + callback: callback + }); +}; + +/** +* @deprecated use index.addApiKey() +*/ +Index.prototype.addUserKeyWithValidity = deprecate(function deprecatedAddUserKeyWithValidity(acls, params, callback) { + return this.addApiKey(acls, params, callback); +}, deprecatedMessage('index.addUserKeyWithValidity()', 'index.addApiKey()')); + +/* + @deprecated see index.updateApiKey + */ +Index.prototype.updateUserKey = deprecate(function(key, acls, params, callback) { + return this.updateApiKey(key, acls, params, callback); +}, deprecatedMessage('index.updateUserKey()', 'index.updateApiKey()')); + +/** +* Update an existing API key of this index +* @param {string} key - The key to update +* @param {string[]} acls - The list of ACL for this key. Defined by an array of strings that +* can contains the following values: +* - search: allow to search (https and http) +* - addObject: allows to add/update an object in the index (https only) +* - deleteObject : allows to delete an existing object (https only) +* - deleteIndex : allows to delete index content (https only) +* - settings : allows to get index settings (https only) +* - editSettings : allows to change index settings (https only) +* @param {Object} [params] - Optionnal parameters to set for the key +* @param {number} params.validity - Number of seconds after which the key will +* be automatically removed (0 means no time limit for this key) +* @param {number} params.maxQueriesPerIPPerHour - Number of API calls allowed from an IP address per hour +* @param {number} params.maxHitsPerQuery - Number of hits this API key can retrieve in one call +* @param {string} params.description - A description for your key +* @param {string[]} params.referers - A list of authorized referers +* @param {Object} params.queryParameters - Force the key to use specific query parameters +* @param {Function} callback - The result callback called with two arguments +* error: null or Error('message') +* content: the server answer with user keys list +* @return {Promise|undefined} Returns a promise if no callback given +* @example +* index.updateApiKey('APIKEY', ['search'], { +* validity: 300, +* maxQueriesPerIPPerHour: 2000, +* maxHitsPerQuery: 3, +* description: 'Eat three fruits', +* referers: ['*.algolia.com'], +* queryParameters: { +* tagFilters: ['public'], +* } +* }) +* @see {@link https://www.algolia.com/doc/rest_api#UpdateIndexKey|Algolia REST API Documentation} +*/ +Index.prototype.updateApiKey = function(key, acls, params, callback) { + var isArray = require(8); + var usage = 'Usage: index.updateApiKey(key, arrayOfAcls[, params, callback])'; + + if (!isArray(acls)) { + throw new Error(usage); + } + + if (arguments.length === 2 || typeof params === 'function') { + callback = params; + params = null; + } + + var putObj = { + acl: acls + }; + + if (params) { + putObj.validity = params.validity; + putObj.maxQueriesPerIPPerHour = params.maxQueriesPerIPPerHour; + putObj.maxHitsPerQuery = params.maxHitsPerQuery; + putObj.description = params.description; + + if (params.queryParameters) { + putObj.queryParameters = this.as._getSearchParams(params.queryParameters, ''); + } + + putObj.referers = params.referers; + } + + return this.as._jsonRequest({ + method: 'PUT', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/keys/' + key, + body: putObj, + hostType: 'write', + callback: callback + }); +}; + +},{"17":17,"18":18,"25":25,"26":26,"27":27,"28":28,"29":29,"30":30,"31":31,"7":7,"8":8}],17:[function(require,module,exports){ +'use strict'; + +// This is the object returned by the `index.browseAll()` method + +module.exports = IndexBrowser; + +var inherits = require(7); +var EventEmitter = require(4).EventEmitter; + +function IndexBrowser() { +} + +inherits(IndexBrowser, EventEmitter); + +IndexBrowser.prototype.stop = function() { + this._stopped = true; + this._clean(); +}; + +IndexBrowser.prototype._end = function() { + this.emit('end'); + this._clean(); +}; + +IndexBrowser.prototype._error = function(err) { + this.emit('error', err); + this._clean(); +}; + +IndexBrowser.prototype._result = function(content) { + this.emit('result', content); +}; + +IndexBrowser.prototype._clean = function() { + this.removeAllListeners('stop'); + this.removeAllListeners('end'); + this.removeAllListeners('error'); + this.removeAllListeners('result'); +}; + +},{"4":4,"7":7}],18:[function(require,module,exports){ +var buildSearchMethod = require(24); +var deprecate = require(26); +var deprecatedMessage = require(27); + +module.exports = IndexCore; + +/* +* Index class constructor. +* You should not use this method directly but use initIndex() function +*/ +function IndexCore(algoliasearch, indexName) { + this.indexName = indexName; + this.as = algoliasearch; + this.typeAheadArgs = null; + this.typeAheadValueOption = null; + + // make sure every index instance has it's own cache + this.cache = {}; +} + +/* +* Clear all queries in cache +*/ +IndexCore.prototype.clearCache = function() { + this.cache = {}; +}; + +/* +* Search inside the index using XMLHttpRequest request (Using a POST query to +* minimize number of OPTIONS queries: Cross-Origin Resource Sharing). +* +* @param {string} [query] the full text query +* @param {object} [args] (optional) if set, contains an object with query parameters: +* - page: (integer) Pagination parameter used to select the page to retrieve. +* Page is zero-based and defaults to 0. Thus, +* to retrieve the 10th page you need to set page=9 +* - hitsPerPage: (integer) Pagination parameter used to select the number of hits per page. Defaults to 20. +* - attributesToRetrieve: a string that contains the list of object attributes +* you want to retrieve (let you minimize the answer size). +* Attributes are separated with a comma (for example "name,address"). +* You can also use an array (for example ["name","address"]). +* By default, all attributes are retrieved. You can also use '*' to retrieve all +* values when an attributesToRetrieve setting is specified for your index. +* - attributesToHighlight: a string that contains the list of attributes you +* want to highlight according to the query. +* Attributes are separated by a comma. You can also use an array (for example ["name","address"]). +* If an attribute has no match for the query, the raw value is returned. +* By default all indexed text attributes are highlighted. +* You can use `*` if you want to highlight all textual attributes. +* Numerical attributes are not highlighted. +* A matchLevel is returned for each highlighted attribute and can contain: +* - full: if all the query terms were found in the attribute, +* - partial: if only some of the query terms were found, +* - none: if none of the query terms were found. +* - attributesToSnippet: a string that contains the list of attributes to snippet alongside +* the number of words to return (syntax is `attributeName:nbWords`). +* Attributes are separated by a comma (Example: attributesToSnippet=name:10,content:10). +* You can also use an array (Example: attributesToSnippet: ['name:10','content:10']). +* By default no snippet is computed. +* - minWordSizefor1Typo: the minimum number of characters in a query word to accept one typo in this word. +* Defaults to 3. +* - minWordSizefor2Typos: the minimum number of characters in a query word +* to accept two typos in this word. Defaults to 7. +* - getRankingInfo: if set to 1, the result hits will contain ranking +* information in _rankingInfo attribute. +* - aroundLatLng: search for entries around a given +* latitude/longitude (specified as two floats separated by a comma). +* For example aroundLatLng=47.316669,5.016670). +* You can specify the maximum distance in meters with the aroundRadius parameter (in meters) +* and the precision for ranking with aroundPrecision +* (for example if you set aroundPrecision=100, two objects that are distant of +* less than 100m will be considered as identical for "geo" ranking parameter). +* At indexing, you should specify geoloc of an object with the _geoloc attribute +* (in the form {"_geoloc":{"lat":48.853409, "lng":2.348800}}) +* - insideBoundingBox: search entries inside a given area defined by the two extreme points +* of a rectangle (defined by 4 floats: p1Lat,p1Lng,p2Lat,p2Lng). +* For example insideBoundingBox=47.3165,4.9665,47.3424,5.0201). +* At indexing, you should specify geoloc of an object with the _geoloc attribute +* (in the form {"_geoloc":{"lat":48.853409, "lng":2.348800}}) +* - numericFilters: a string that contains the list of numeric filters you want to +* apply separated by a comma. +* The syntax of one filter is `attributeName` followed by `operand` followed by `value`. +* Supported operands are `<`, `<=`, `=`, `>` and `>=`. +* You can have multiple conditions on one attribute like for example numericFilters=price>100,price<1000. +* You can also use an array (for example numericFilters: ["price>100","price<1000"]). +* - tagFilters: filter the query by a set of tags. You can AND tags by separating them by commas. +* To OR tags, you must add parentheses. For example, tags=tag1,(tag2,tag3) means tag1 AND (tag2 OR tag3). +* You can also use an array, for example tagFilters: ["tag1",["tag2","tag3"]] +* means tag1 AND (tag2 OR tag3). +* At indexing, tags should be added in the _tags** attribute +* of objects (for example {"_tags":["tag1","tag2"]}). +* - facetFilters: filter the query by a list of facets. +* Facets are separated by commas and each facet is encoded as `attributeName:value`. +* For example: `facetFilters=category:Book,author:John%20Doe`. +* You can also use an array (for example `["category:Book","author:John%20Doe"]`). +* - facets: List of object attributes that you want to use for faceting. +* Comma separated list: `"category,author"` or array `['category','author']` +* Only attributes that have been added in **attributesForFaceting** index setting +* can be used in this parameter. +* You can also use `*` to perform faceting on all attributes specified in **attributesForFaceting**. +* - queryType: select how the query words are interpreted, it can be one of the following value: +* - prefixAll: all query words are interpreted as prefixes, +* - prefixLast: only the last word is interpreted as a prefix (default behavior), +* - prefixNone: no query word is interpreted as a prefix. This option is not recommended. +* - optionalWords: a string that contains the list of words that should +* be considered as optional when found in the query. +* Comma separated and array are accepted. +* - distinct: If set to 1, enable the distinct feature (disabled by default) +* if the attributeForDistinct index setting is set. +* This feature is similar to the SQL "distinct" keyword: when enabled +* in a query with the distinct=1 parameter, +* all hits containing a duplicate value for the attributeForDistinct attribute are removed from results. +* For example, if the chosen attribute is show_name and several hits have +* the same value for show_name, then only the best +* one is kept and others are removed. +* - restrictSearchableAttributes: List of attributes you want to use for +* textual search (must be a subset of the attributesToIndex index setting) +* either comma separated or as an array +* @param {function} [callback] the result callback called with two arguments: +* error: null or Error('message'). If false, the content contains the error. +* content: the server answer that contains the list of results. +*/ +IndexCore.prototype.search = buildSearchMethod('query'); + +/* +* -- BETA -- +* Search a record similar to the query inside the index using XMLHttpRequest request (Using a POST query to +* minimize number of OPTIONS queries: Cross-Origin Resource Sharing). +* +* @param {string} [query] the similar query +* @param {object} [args] (optional) if set, contains an object with query parameters. +* All search parameters are supported (see search function), restrictSearchableAttributes and facetFilters +* are the two most useful to restrict the similar results and get more relevant content +*/ +IndexCore.prototype.similarSearch = buildSearchMethod('similarQuery'); + +/* +* Browse index content. The response content will have a `cursor` property that you can use +* to browse subsequent pages for this query. Use `index.browseFrom(cursor)` when you want. +* +* @param {string} query - The full text query +* @param {Object} [queryParameters] - Any search query parameter +* @param {Function} [callback] - The result callback called with two arguments +* error: null or Error('message') +* content: the server answer with the browse result +* @return {Promise|undefined} Returns a promise if no callback given +* @example +* index.browse('cool songs', { +* tagFilters: 'public,comments', +* hitsPerPage: 500 +* }, callback); +* @see {@link https://www.algolia.com/doc/rest_api#Browse|Algolia REST API Documentation} +*/ +IndexCore.prototype.browse = function(query, queryParameters, callback) { + var merge = require(31); + + var indexObj = this; + + var page; + var hitsPerPage; + + // we check variadic calls that are not the one defined + // .browse()/.browse(fn) + // => page = 0 + if (arguments.length === 0 || arguments.length === 1 && typeof arguments[0] === 'function') { + page = 0; + callback = arguments[0]; + query = undefined; + } else if (typeof arguments[0] === 'number') { + // .browse(2)/.browse(2, 10)/.browse(2, fn)/.browse(2, 10, fn) + page = arguments[0]; + if (typeof arguments[1] === 'number') { + hitsPerPage = arguments[1]; + } else if (typeof arguments[1] === 'function') { + callback = arguments[1]; + hitsPerPage = undefined; + } + query = undefined; + queryParameters = undefined; + } else if (typeof arguments[0] === 'object') { + // .browse(queryParameters)/.browse(queryParameters, cb) + if (typeof arguments[1] === 'function') { + callback = arguments[1]; + } + queryParameters = arguments[0]; + query = undefined; + } else if (typeof arguments[0] === 'string' && typeof arguments[1] === 'function') { + // .browse(query, cb) + callback = arguments[1]; + queryParameters = undefined; + } + + // otherwise it's a .browse(query)/.browse(query, queryParameters)/.browse(query, queryParameters, cb) + + // get search query parameters combining various possible calls + // to .browse(); + queryParameters = merge({}, queryParameters || {}, { + page: page, + hitsPerPage: hitsPerPage, + query: query + }); + + var params = this.as._getSearchParams(queryParameters, ''); + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/browse', + body: {params: params}, + hostType: 'read', + callback: callback + }); +}; + +/* +* Continue browsing from a previous position (cursor), obtained via a call to `.browse()`. +* +* @param {string} query - The full text query +* @param {Object} [queryParameters] - Any search query parameter +* @param {Function} [callback] - The result callback called with two arguments +* error: null or Error('message') +* content: the server answer with the browse result +* @return {Promise|undefined} Returns a promise if no callback given +* @example +* index.browseFrom('14lkfsakl32', callback); +* @see {@link https://www.algolia.com/doc/rest_api#Browse|Algolia REST API Documentation} +*/ +IndexCore.prototype.browseFrom = function(cursor, callback) { + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + encodeURIComponent(this.indexName) + '/browse', + body: {cursor: cursor}, + hostType: 'read', + callback: callback + }); +}; + +/* +* Search for facet values +* https://www.algolia.com/doc/rest-api/search#search-for-facet-values +* +* @param {string} params.facetName Facet name, name of the attribute to search for values in. +* Must be declared as a facet +* @param {string} params.facetQuery Query for the facet search +* @param {string} [params.*] Any search parameter of Algolia, +* see https://www.algolia.com/doc/api-client/javascript/search#search-parameters +* Pagination is not supported. The page and hitsPerPage parameters will be ignored. +* @param callback (optional) +*/ +IndexCore.prototype.searchForFacetValues = function(params, callback) { + var clone = require(25); + var omit = require(32); + var usage = 'Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])'; + + if (params.facetName === undefined || params.facetQuery === undefined) { + throw new Error(usage); + } + + var facetName = params.facetName; + var filteredParams = omit(clone(params), function(keyName) { + return keyName === 'facetName'; + }); + var searchParameters = this.as._getSearchParams(filteredParams, ''); + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/' + + encodeURIComponent(this.indexName) + '/facets/' + encodeURIComponent(facetName) + '/query', + hostType: 'read', + body: {params: searchParameters}, + callback: callback + }); +}; + +IndexCore.prototype.searchFacet = deprecate(function(params, callback) { + return this.searchForFacetValues(params, callback); +}, deprecatedMessage( + 'index.searchFacet(params[, callback])', + 'index.searchForFacetValues(params[, callback])' +)); + +IndexCore.prototype._search = function(params, url, callback, additionalUA) { + return this.as._jsonRequest({ + cache: this.cache, + method: 'POST', + url: url || '/1/indexes/' + encodeURIComponent(this.indexName) + '/query', + body: {params: params}, + hostType: 'read', + fallback: { + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(this.indexName), + body: {params: params} + }, + callback: callback, + additionalUA: additionalUA + }); +}; + +/* +* Get an object from this index +* +* @param objectID the unique identifier of the object to retrieve +* @param attrs (optional) if set, contains the array of attribute names to retrieve +* @param callback (optional) the result callback called with two arguments +* error: null or Error('message') +* content: the object to retrieve or the error message if a failure occured +*/ +IndexCore.prototype.getObject = function(objectID, attrs, callback) { + var indexObj = this; + + if (arguments.length === 1 || typeof attrs === 'function') { + callback = attrs; + attrs = undefined; + } + + var params = ''; + if (attrs !== undefined) { + params = '?attributes='; + for (var i = 0; i < attrs.length; ++i) { + if (i !== 0) { + params += ','; + } + params += attrs[i]; + } + } + + return this.as._jsonRequest({ + method: 'GET', + url: '/1/indexes/' + encodeURIComponent(indexObj.indexName) + '/' + encodeURIComponent(objectID) + params, + hostType: 'read', + callback: callback + }); +}; + +/* +* Get several objects from this index +* +* @param objectIDs the array of unique identifier of objects to retrieve +*/ +IndexCore.prototype.getObjects = function(objectIDs, attributesToRetrieve, callback) { + var isArray = require(8); + var map = require(30); + + var usage = 'Usage: index.getObjects(arrayOfObjectIDs[, callback])'; + + if (!isArray(objectIDs)) { + throw new Error(usage); + } + + var indexObj = this; + + if (arguments.length === 1 || typeof attributesToRetrieve === 'function') { + callback = attributesToRetrieve; + attributesToRetrieve = undefined; + } + + var body = { + requests: map(objectIDs, function prepareRequest(objectID) { + var request = { + indexName: indexObj.indexName, + objectID: objectID + }; + + if (attributesToRetrieve) { + request.attributesToRetrieve = attributesToRetrieve.join(','); + } + + return request; + }) + }; + + return this.as._jsonRequest({ + method: 'POST', + url: '/1/indexes/*/objects', + hostType: 'read', + body: body, + callback: callback + }); +}; + +IndexCore.prototype.as = null; +IndexCore.prototype.indexName = null; +IndexCore.prototype.typeAheadArgs = null; +IndexCore.prototype.typeAheadValueOption = null; + +},{"24":24,"25":25,"26":26,"27":27,"30":30,"31":31,"32":32,"8":8}],19:[function(require,module,exports){ +'use strict'; + +var AlgoliaSearch = require(14); +var createAlgoliasearch = require(20); + +module.exports = createAlgoliasearch(AlgoliaSearch); + +},{"14":14,"20":20}],20:[function(require,module,exports){ +(function (process){ +'use strict'; + +var global = require(6); +var Promise = global.Promise || require(3).Promise; + +// This is the standalone browser build entry point +// Browser implementation of the Algolia Search JavaScript client, +// using XMLHttpRequest, XDomainRequest and JSONP as fallback +module.exports = function createAlgoliasearch(AlgoliaSearch, uaSuffix) { + var inherits = require(7); + var errors = require(28); + var inlineHeaders = require(22); + var jsonpRequest = require(23); + var places = require(33); + uaSuffix = uaSuffix || ''; + + if (process.env.NODE_ENV === 'debug') { + require(1).enable('algoliasearch*'); + } + + function algoliasearch(applicationID, apiKey, opts) { + var cloneDeep = require(25); + + var getDocumentProtocol = require(21); + + opts = cloneDeep(opts || {}); + + if (opts.protocol === undefined) { + opts.protocol = getDocumentProtocol(); + } + + opts._ua = opts._ua || algoliasearch.ua; + + return new AlgoliaSearchBrowser(applicationID, apiKey, opts); + } + + algoliasearch.version = require(35); + algoliasearch.ua = 'Algolia for vanilla JavaScript ' + uaSuffix + algoliasearch.version; + algoliasearch.initPlaces = places(algoliasearch); + + // we expose into window no matter how we are used, this will allow + // us to easily debug any website running algolia + global.__algolia = { + debug: require(1), + algoliasearch: algoliasearch + }; + + var support = { + hasXMLHttpRequest: 'XMLHttpRequest' in global, + hasXDomainRequest: 'XDomainRequest' in global + }; + + if (support.hasXMLHttpRequest) { + support.cors = 'withCredentials' in new XMLHttpRequest(); + } + + function AlgoliaSearchBrowser() { + // call AlgoliaSearch constructor + AlgoliaSearch.apply(this, arguments); + } + + inherits(AlgoliaSearchBrowser, AlgoliaSearch); + + AlgoliaSearchBrowser.prototype._request = function request(url, opts) { + return new Promise(function wrapRequest(resolve, reject) { + // no cors or XDomainRequest, no request + if (!support.cors && !support.hasXDomainRequest) { + // very old browser, not supported + reject(new errors.Network('CORS not supported')); + return; + } + + url = inlineHeaders(url, opts.headers); + + var body = opts.body; + var req = support.cors ? new XMLHttpRequest() : new XDomainRequest(); + var reqTimeout; + var timedOut; + var connected = false; + + reqTimeout = setTimeout(onTimeout, opts.timeouts.connect); + // we set an empty onprogress listener + // so that XDomainRequest on IE9 is not aborted + // refs: + // - https://github.com/algolia/algoliasearch-client-js/issues/76 + // - https://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment + req.onprogress = onProgress; + if ('onreadystatechange' in req) req.onreadystatechange = onReadyStateChange; + req.onload = onLoad; + req.onerror = onError; + + // do not rely on default XHR async flag, as some analytics code like hotjar + // breaks it and set it to false by default + if (req instanceof XMLHttpRequest) { + req.open(opts.method, url, true); + } else { + req.open(opts.method, url); + } + + // headers are meant to be sent after open + if (support.cors) { + if (body) { + if (opts.method === 'POST') { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Simple_requests + req.setRequestHeader('content-type', 'application/x-www-form-urlencoded'); + } else { + req.setRequestHeader('content-type', 'application/json'); + } + } + req.setRequestHeader('accept', 'application/json'); + } + + req.send(body); + + // event object not received in IE8, at least + // but we do not use it, still important to note + function onLoad(/* event */) { + // When browser does not supports req.timeout, we can + // have both a load and timeout event, since handled by a dumb setTimeout + if (timedOut) { + return; + } + + clearTimeout(reqTimeout); + + var out; + + try { + out = { + body: JSON.parse(req.responseText), + responseText: req.responseText, + statusCode: req.status, + // XDomainRequest does not have any response headers + headers: req.getAllResponseHeaders && req.getAllResponseHeaders() || {} + }; + } catch (e) { + out = new errors.UnparsableJSON({ + more: req.responseText + }); + } + + if (out instanceof errors.UnparsableJSON) { + reject(out); + } else { + resolve(out); + } + } + + function onError(event) { + if (timedOut) { + return; + } + + clearTimeout(reqTimeout); + + // error event is trigerred both with XDR/XHR on: + // - DNS error + // - unallowed cross domain request + reject( + new errors.Network({ + more: event + }) + ); + } + + function onTimeout() { + timedOut = true; + req.abort(); + + reject(new errors.RequestTimeout()); + } + + function onConnect() { + connected = true; + clearTimeout(reqTimeout); + reqTimeout = setTimeout(onTimeout, opts.timeouts.complete); + } + + function onProgress() { + if (!connected) onConnect(); + } + + function onReadyStateChange() { + if (!connected && req.readyState > 1) onConnect(); + } + }); + }; + + AlgoliaSearchBrowser.prototype._request.fallback = function requestFallback(url, opts) { + url = inlineHeaders(url, opts.headers); + + return new Promise(function wrapJsonpRequest(resolve, reject) { + jsonpRequest(url, opts, function jsonpRequestDone(err, content) { + if (err) { + reject(err); + return; + } + + resolve(content); + }); + }); + }; + + AlgoliaSearchBrowser.prototype._promise = { + reject: function rejectPromise(val) { + return Promise.reject(val); + }, + resolve: function resolvePromise(val) { + return Promise.resolve(val); + }, + delay: function delayPromise(ms) { + return new Promise(function resolveOnTimeout(resolve/* , reject*/) { + setTimeout(resolve, ms); + }); + } + }; + + return algoliasearch; +}; + +}).call(this,require(12)) +},{"1":1,"12":12,"21":21,"22":22,"23":23,"25":25,"28":28,"3":3,"33":33,"35":35,"6":6,"7":7}],21:[function(require,module,exports){ +'use strict'; + +module.exports = getDocumentProtocol; + +function getDocumentProtocol() { + var protocol = window.document.location.protocol; + + // when in `file:` mode (local html file), default to `http:` + if (protocol !== 'http:' && protocol !== 'https:') { + protocol = 'http:'; + } + + return protocol; +} + +},{}],22:[function(require,module,exports){ +'use strict'; + +module.exports = inlineHeaders; + +var encode = require(13); + +function inlineHeaders(url, headers) { + if (/\?/.test(url)) { + url += '&'; + } else { + url += '?'; + } + + return url + encode(headers); +} + +},{"13":13}],23:[function(require,module,exports){ +'use strict'; + +module.exports = jsonpRequest; + +var errors = require(28); + +var JSONPCounter = 0; + +function jsonpRequest(url, opts, cb) { + if (opts.method !== 'GET') { + cb(new Error('Method ' + opts.method + ' ' + url + ' is not supported by JSONP.')); + return; + } + + opts.debug('JSONP: start'); + + var cbCalled = false; + var timedOut = false; + + JSONPCounter += 1; + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + var cbName = 'algoliaJSONP_' + JSONPCounter; + var done = false; + + window[cbName] = function(data) { + removeGlobals(); + + if (timedOut) { + opts.debug('JSONP: Late answer, ignoring'); + return; + } + + cbCalled = true; + + clean(); + + cb(null, { + body: data/* , + // We do not send the statusCode, there's no statusCode in JSONP, it will be + // computed using data.status && data.message like with XDR + statusCode*/ + }); + }; + + // add callback by hand + url += '&callback=' + cbName; + + // add body params manually + if (opts.jsonBody && opts.jsonBody.params) { + url += '&' + opts.jsonBody.params; + } + + var ontimeout = setTimeout(timeout, opts.timeouts.complete); + + // script onreadystatechange needed only for + // <= IE8 + // https://github.com/angular/angular.js/issues/4523 + script.onreadystatechange = readystatechange; + script.onload = success; + script.onerror = error; + + script.async = true; + script.defer = true; + script.src = url; + head.appendChild(script); + + function success() { + opts.debug('JSONP: success'); + + if (done || timedOut) { + return; + } + + done = true; + + // script loaded but did not call the fn => script loading error + if (!cbCalled) { + opts.debug('JSONP: Fail. Script loaded but did not call the callback'); + clean(); + cb(new errors.JSONPScriptFail()); + } + } + + function readystatechange() { + if (this.readyState === 'loaded' || this.readyState === 'complete') { + success(); + } + } + + function clean() { + clearTimeout(ontimeout); + script.onload = null; + script.onreadystatechange = null; + script.onerror = null; + head.removeChild(script); + } + + function removeGlobals() { + try { + delete window[cbName]; + delete window[cbName + '_loaded']; + } catch (e) { + window[cbName] = window[cbName + '_loaded'] = undefined; + } + } + + function timeout() { + opts.debug('JSONP: Script timeout'); + timedOut = true; + clean(); + cb(new errors.RequestTimeout()); + } + + function error() { + opts.debug('JSONP: Script error'); + + if (done || timedOut) { + return; + } + + clean(); + cb(new errors.JSONPScriptError()); + } +} + +},{"28":28}],24:[function(require,module,exports){ +module.exports = buildSearchMethod; + +var errors = require(28); + +/** + * Creates a search method to be used in clients + * @param {string} queryParam the name of the attribute used for the query + * @param {string} url the url + * @return {function} the search method + */ +function buildSearchMethod(queryParam, url) { + /** + * The search method. Prepares the data and send the query to Algolia. + * @param {string} query the string used for query search + * @param {object} args additional parameters to send with the search + * @param {function} [callback] the callback to be called with the client gets the answer + * @return {undefined|Promise} If the callback is not provided then this methods returns a Promise + */ + return function search(query, args, callback) { + // warn V2 users on how to search + if (typeof query === 'function' && typeof args === 'object' || + typeof callback === 'object') { + // .search(query, params, cb) + // .search(cb, params) + throw new errors.AlgoliaSearchError('index.search usage is index.search(query, params, cb)'); + } + + // Normalizing the function signature + if (arguments.length === 0 || typeof query === 'function') { + // Usage : .search(), .search(cb) + callback = query; + query = ''; + } else if (arguments.length === 1 || typeof args === 'function') { + // Usage : .search(query/args), .search(query, cb) + callback = args; + args = undefined; + } + // At this point we have 3 arguments with values + + // Usage : .search(args) // careful: typeof null === 'object' + if (typeof query === 'object' && query !== null) { + args = query; + query = undefined; + } else if (query === undefined || query === null) { // .search(undefined/null) + query = ''; + } + + var params = ''; + + if (query !== undefined) { + params += queryParam + '=' + encodeURIComponent(query); + } + + var additionalUA; + if (args !== undefined) { + if (args.additionalUA) { + additionalUA = args.additionalUA; + delete args.additionalUA; + } + // `_getSearchParams` will augment params, do not be fooled by the = versus += from previous if + params = this.as._getSearchParams(args, params); + } + + + return this._search(params, url, callback, additionalUA); + }; +} + +},{"28":28}],25:[function(require,module,exports){ +module.exports = function clone(obj) { + return JSON.parse(JSON.stringify(obj)); +}; + +},{}],26:[function(require,module,exports){ +module.exports = function deprecate(fn, message) { + var warned = false; + + function deprecated() { + if (!warned) { + /* eslint no-console:0 */ + console.warn(message); + warned = true; + } + + return fn.apply(this, arguments); + } + + return deprecated; +}; + +},{}],27:[function(require,module,exports){ +module.exports = function deprecatedMessage(previousUsage, newUsage) { + var githubAnchorLink = previousUsage.toLowerCase() + .replace(/[\.\(\)]/g, ''); + + return 'algoliasearch: `' + previousUsage + '` was replaced by `' + newUsage + + '`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#' + githubAnchorLink; +}; + +},{}],28:[function(require,module,exports){ +'use strict'; + +// This file hosts our error definitions +// We use custom error "types" so that we can act on them when we need it +// e.g.: if error instanceof errors.UnparsableJSON then.. + +var inherits = require(7); + +function AlgoliaSearchError(message, extraProperties) { + var forEach = require(5); + + var error = this; + + // try to get a stacktrace + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor); + } else { + error.stack = (new Error()).stack || 'Cannot get a stacktrace, browser is too old'; + } + + this.name = 'AlgoliaSearchError'; + this.message = message || 'Unknown error'; + + if (extraProperties) { + forEach(extraProperties, function addToErrorObject(value, key) { + error[key] = value; + }); + } +} + +inherits(AlgoliaSearchError, Error); + +function createCustomError(name, message) { + function AlgoliaSearchCustomError() { + var args = Array.prototype.slice.call(arguments, 0); + + // custom message not set, use default + if (typeof args[0] !== 'string') { + args.unshift(message); + } + + AlgoliaSearchError.apply(this, args); + this.name = 'AlgoliaSearch' + name + 'Error'; + } + + inherits(AlgoliaSearchCustomError, AlgoliaSearchError); + + return AlgoliaSearchCustomError; +} + +// late exports to let various fn defs and inherits take place +module.exports = { + AlgoliaSearchError: AlgoliaSearchError, + UnparsableJSON: createCustomError( + 'UnparsableJSON', + 'Could not parse the incoming response as JSON, see err.more for details' + ), + RequestTimeout: createCustomError( + 'RequestTimeout', + 'Request timedout before getting a response' + ), + Network: createCustomError( + 'Network', + 'Network issue, see err.more for details' + ), + JSONPScriptFail: createCustomError( + 'JSONPScriptFail', + '"),window.ALGOLIA_SUPPORTS_DOCWRITE===!0?(document.write(''),n("document.write")()):r(o,n("DOMElement"))}catch(s){r(o,n("DOMElement"))}}function n(e){return function(){var t="AlgoliaSearch: loaded V2 script using "+e;window.console&&window.console.log&&window.console.log(t)}}t.exports=o},{1:1}],4:[function(e,t,r){"use strict";function o(){var e="-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --";window.AlgoliaSearch=function(){throw new Error(e)},window.AlgoliaSearchHelper=function(){throw new Error(e)},window.AlgoliaExplainResults=function(){throw new Error(e)}}t.exports=o},{}],5:[function(e,t,r){"use strict";function o(t){var r=e(2),o=e(3),n=e(4);r(t)?o(t):n()}o("algoliasearch")},{2:2,3:3,4:4}]},{},[5])(5)}),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.algoliasearch=e()}}(function(){var e;return function t(e,r,o){function n(s,a){if(!r[s]){if(!e[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(i)return i(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(t){var r=e[s][1][t];return n(r?r:t)},l,l.exports,t,e,r,o)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function i(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+r.humanize(this.diff),t){var o="color: "+this.color;e.splice(1,0,o,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(n++,"%c"===e&&(i=n))}),e.splice(i,0,o)}}function s(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(e){try{null==e?r.storage.removeItem("debug"):r.storage.debug=e}catch(t){}}function c(){var e;try{e=r.storage.debug}catch(t){}return!e&&"undefined"!=typeof o&&"env"in o&&(e=o.env.DEBUG),e}function u(){try{return window.localStorage}catch(e){}}r=t.exports=e(2),r.log=s,r.formatArgs=i,r.save=a,r.load=c,r.useColors=n,r.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),r.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],r.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},r.enable(c())}).call(this,e(12))},{12:12,2:2}],2:[function(e,t,r){function o(e){var t,o=0;for(t in e)o=(o<<5)-o+e.charCodeAt(t),o|=0;return r.colors[Math.abs(o)%r.colors.length]}function n(e){function t(){if(t.enabled){var e=t,o=+new Date,n=o-(u||o);e.diff=n,e.prev=u,e.curr=o,u=o;for(var i=new Array(arguments.length),s=0;s0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},o.prototype.on=o.prototype.addListener,o.prototype.once=function(e,t){function r(){this.removeListener(e,r),o||(o=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var o=!1;return r.listener=t,this.on(e,r),this},o.prototype.removeListener=function(e,t){var r,o,i,a;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],i=r.length,o=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=i;a-- >0;)if(r[a]===t||r[a].listener&&r[a].listener===t){o=a;break}if(o<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},o.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],n(r))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},o.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},o.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},o.listenerCount=function(e,t){return e.listenerCount(t)}},{}],5:[function(e,t,r){var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(e,t,r){if("[object Function]"!==n.call(t))throw new TypeError("iterator must be a function");var i=e.length;if(i===+i)for(var s=0;s100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return r*p;case"days":case"day":case"d":return r*l;case"hours":case"hour":case"hrs":case"hr":case"h":return r*u;case"minutes":case"minute":case"mins":case"min":case"m":return r*c;case"seconds":case"second":case"secs":case"sec":case"s":return r*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(e){return e>=l?Math.round(e/l)+"d":e>=u?Math.round(e/u)+"h":e>=c?Math.round(e/c)+"m":e>=a?Math.round(e/a)+"s":e+"ms"}function i(e){return s(e,l,"day")||s(e,u,"hour")||s(e,c,"minute")||s(e,a,"second")||e+" ms"}function s(e,t,r){if(!(e0)return o(e);if("number"===r&&isNaN(e)===!1)return t["long"]?i(e):n(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],10:[function(e,t,r){"use strict";var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Array.prototype.slice,s=e(11),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(e){var t=e.constructor;return t&&t.prototype===e},d={$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{p(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),f=function(e){if("undefined"==typeof window||!h)return p(e);try{return p(e)}catch(t){return!1}},y=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===n.call(e),i=s(e),a=t&&"[object String]"===n.call(e),p=[];if(!t&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var d=u&&r;if(a&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var y=0;y=0&&"[object Function]"===o.call(e.callee)),r}},{}],12:[function(e,t,r){function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(p===setTimeout)return setTimeout(e,0);if((p===o||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}function s(e){if(d===clearTimeout)return clearTimeout(e);if((d===n||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){m&&f&&(m=!1,f.length?y=f.concat(y):v=-1,y.length&&c())}function c(){if(!m){var e=i(a);m=!0;for(var t=y.length;t;){for(f=y,y=[];++v1)for(var r=1;r0)n.scope=r;else if("undefined"!=typeof r)throw new Error("the scope given to `copyIndex` was not an array with settings, synonyms or rules");return this._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(e)+"/operation",body:n,hostType:"write",callback:i})},o.prototype.getLogs=function(t,r,o){var n=e(25),i={};return"object"==typeof t?(i=n(t),o=r):0===arguments.length||"function"==typeof t?o=t:1===arguments.length||"function"==typeof r?(o=r,i.offset=t):(i.offset=t,i.length=r),void 0===i.offset&&(i.offset=0),void 0===i.length&&(i.length=10),this._jsonRequest({method:"GET",url:"/1/logs?"+this._getSearchParams(i,""),hostType:"read",callback:o})},o.prototype.listIndexes=function(e,t){var r="";return void 0===e||"function"==typeof e?t=e:r="?page="+e,this._jsonRequest({method:"GET",url:"/1/indexes"+r,hostType:"read",callback:t})},o.prototype.initIndex=function(e){return new i(this,e)},o.prototype.listUserKeys=s(function(e){return this.listApiKeys(e)},a("client.listUserKeys()","client.listApiKeys()")),o.prototype.listApiKeys=function(e){return this._jsonRequest({method:"GET",url:"/1/keys",hostType:"read",callback:e})},o.prototype.getUserKeyACL=s(function(e,t){return this.getApiKey(e,t)},a("client.getUserKeyACL()","client.getApiKey()")),o.prototype.getApiKey=function(e,t){return this._jsonRequest({method:"GET",url:"/1/keys/"+e,hostType:"read",callback:t})},o.prototype.deleteUserKey=s(function(e,t){return this.deleteApiKey(e,t)},a("client.deleteUserKey()","client.deleteApiKey()")),o.prototype.deleteApiKey=function(e,t){return this._jsonRequest({method:"DELETE",url:"/1/keys/"+e,hostType:"write",callback:t})},o.prototype.addUserKey=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKey()","client.addApiKey()")),o.prototype.addApiKey=function(t,r,o){var n=e(8),i="Usage: client.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.indexes=r.indexes,s.description=r.description,r.queryParameters&&(s.queryParameters=this._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this._jsonRequest({method:"POST",url:"/1/keys",body:s,hostType:"write",callback:o})},o.prototype.addUserKeyWithValidity=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKeyWithValidity()","client.addApiKey()")),o.prototype.updateUserKey=s(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},a("client.updateUserKey()","client.updateApiKey()")),o.prototype.updateApiKey=function(t,r,o,n){var i=e(8),s="Usage: client.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.indexes=o.indexes,a.description=o.description,o.queryParameters&&(a.queryParameters=this._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this._jsonRequest({method:"PUT",url:"/1/keys/"+t,body:a,hostType:"write",callback:n})},o.prototype.startQueriesBatch=s(function(){this._batch=[]},a("client.startQueriesBatch()","client.search()")),o.prototype.addQueryInBatch=s(function(e,t,r){this._batch.push({indexName:e,query:t,params:r})},a("client.addQueryInBatch()","client.search()")),o.prototype.sendQueriesBatch=s(function(e){return this.search(this._batch,e)},a("client.sendQueriesBatch()","client.search()")),o.prototype.batch=function(t,r){var o=e(8),n="Usage: client.batch(operations[, callback])";if(!o(t))throw new Error(n);return this._jsonRequest({method:"POST",url:"/1/indexes/*/batch",body:{requests:t},hostType:"write",callback:r})},o.prototype.assignUserID=function(e,t){if(!e.userID||!e.cluster)throw new l.AlgoliaSearchError("You have to provide both a userID and cluster",e);return this._jsonRequest({method:"POST",url:"/1/clusters/mapping",hostType:"write",body:{cluster:e.cluster},callback:t,headers:{"X-Algolia-User-ID":e.userID}})},o.prototype.getTopUserID=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/top",hostType:"read",callback:e})},o.prototype.getUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/"+e.userID,hostType:"read",callback:t})},o.prototype.listClusters=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters",hostType:"read",callback:e})},o.prototype.listUserIDs=function(e,t){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping",body:e,hostType:"read",callback:t})},o.prototype.removeUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"DELETE",url:"/1/clusters/mapping",hostType:"write",callback:t,headers:{"X-Algolia-User-ID":e.userID}})},o.prototype.searchUserIDs=function(e,t){return this._jsonRequest({method:"POST",url:"/1/clusters/mapping/search",body:e,hostType:"read",callback:t})},o.prototype.destroy=n,o.prototype.enableRateLimitForward=n,o.prototype.disableRateLimitForward=n,o.prototype.useSecuredAPIKey=n,o.prototype.disableSecuredAPIKey=n,o.prototype.generateSecuredApiKey=n},{15:15,16:16,25:25,26:26,27:27,28:28,7:7,8:8}],15:[function(e,t,r){(function(r){function o(t,r,o){var i=e(1)("algoliasearch"),s=e(25),a=e(8),u=e(30),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(o._allowEmptyCredentials!==!0&&!t)throw new c.AlgoliaSearchError("Please provide an application ID. "+l);if(o._allowEmptyCredentials!==!0&&!r)throw new c.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=t,this.apiKey=r,this.hosts={read:[],write:[]},o=o||{};var p=o.protocol||"https:";if(this._timeouts=o.timeouts||{connect:1e3,read:2e3,write:3e4},o.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=o.timeout),/:$/.test(p)||(p+=":"),"http:"!==o.protocol&&"https:"!==o.protocol)throw new c.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+o.protocol+"`)");if(this._checkAppIdData(),o.hosts)a(o.hosts)?(this.hosts.read=s(o.hosts),this.hosts.write=s(o.hosts)):(this.hosts.read=s(o.hosts.read),this.hosts.write=s(o.hosts.write));else{var d=u(this._shuffleResult,function(e){return t+"-"+e+".algolianet.com"});this.hosts.read=[this.applicationID+"-dsn.algolia.net"].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=u(this.hosts.read,n(p)),this.hosts.write=u(this.hosts.write,n(p)),this.extraHeaders={},this.cache=o._cache||{},this._ua=o._ua,this._useCache=!(void 0!==o._useCache&&!o._cache)||o._useCache,this._useFallback=void 0===o.useFallback||o.useFallback,this._setTimeout=o._setTimeout,i("init done, %j",this)}function n(e){return function(t){return e+"//"+t.toLowerCase()}}function i(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var r=JSON.stringify(e); +return Array.prototype.toJSON=t,r}function s(e){for(var t,r,o=e.length;0!==o;)r=Math.floor(Math.random()*o),o-=1,t=e[o],e[o]=e[r],e[r]=t;return e}function a(e){var t={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var o;o="x-algolia-api-key"===r||"x-algolia-application-id"===r?"**hidden for security purposes**":e[r],t[r]=o}return t}t.exports=o;var c=e(28),u=e(29),l=e(18),p=e(34),d=500,h=r.env.RESET_APP_DATA_TIMER&&parseInt(r.env.RESET_APP_DATA_TIMER,10)||12e4;o.prototype.initIndex=function(e){return new l(this,e)},o.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},o.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},o.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},o.prototype.addAlgoliaAgent=function(e){this._ua.indexOf(";"+e)===-1&&(this._ua+=";"+e)},o.prototype._jsonRequest=function(t){function r(e,u){function d(e){var t=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;s("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,t,e.headers);var r=2===Math.floor(t/100),i=new Date;if(v.push({currentHost:T,headers:a(n),content:o||null,contentLength:void 0!==o?o.length:null,method:u.method,timeouts:u.timeouts,url:u.url,startTime:x,endTime:i,duration:i-x,statusCode:t}),r)return h._useCache&&p&&(p[_]=e.responseText),e.body;var l=4!==Math.floor(t/100);if(l)return f+=1,b();s("unrecoverable error");var d=new c.AlgoliaSearchError(e.body&&e.body.message,{debugData:v,statusCode:t});return h._promise.reject(d)}function g(e){s("error: %s, stack: %s",e.message,e.stack);var r=new Date;return v.push({currentHost:T,headers:a(n),content:o||null,contentLength:void 0!==o?o.length:null,method:u.method,timeouts:u.timeouts,url:u.url,startTime:x,endTime:r,duration:r-x}),e instanceof c.AlgoliaSearchError||(e=new c.Unknown(e&&e.message,e)),f+=1,e instanceof c.Unknown||e instanceof c.UnparsableJSON||f>=h.hosts[t.hostType].length&&(y||!m)?(e.debugData=v,h._promise.reject(e)):e instanceof c.RequestTimeout?w():b()}function b(){return s("retrying request"),h._incrementHostIndex(t.hostType),r(e,u)}function w(){return s("retrying request with higher timeout"),h._incrementHostIndex(t.hostType),h._incrementTimeoutMultipler(),u.timeouts=h._getTimeoutsForRequest(t.hostType),r(e,u)}h._checkAppIdData();var _,x=new Date;if(h._useCache&&(_=t.url),h._useCache&&o&&(_+="_body_"+u.body),h._useCache&&p&&void 0!==p[_])return s("serving response from cache"),h._promise.resolve(JSON.parse(p[_]));if(f>=h.hosts[t.hostType].length)return!m||y?(s("could not get any response"),h._promise.reject(new c.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+h.applicationID,{debugData:v}))):(s("switching to fallback"),f=0,u.method=t.fallback.method,u.url=t.fallback.url,u.jsonBody=t.fallback.body,u.jsonBody&&(u.body=i(u.jsonBody)),n=h._computeRequestHeaders({additionalUA:l,headers:t.headers}),u.timeouts=h._getTimeoutsForRequest(t.hostType),h._setHostIndexByType(0,t.hostType),y=!0,r(h._request.fallback,u));var T=h._getHostByType(t.hostType),R=T+u.url,j={body:u.body,jsonBody:u.jsonBody,method:u.method,headers:n,timeouts:u.timeouts,debug:s};return s("method: %s, url: %s, headers: %j, timeouts: %d",j.method,R,j.headers,j.timeouts),e===h._request.fallback&&s("using fallback"),e.call(h,R,j).then(d,g)}this._checkAppIdData();var o,n,s=e(1)("algoliasearch:"+t.url),l=t.additionalUA||"",p=t.cache,h=this,f=0,y=!1,m=h._useFallback&&h._request.fallback&&t.fallback;this.apiKey.length>d&&void 0!==t.body&&(void 0!==t.body.params||void 0!==t.body.requests)?(t.body.apiKey=this.apiKey,n=this._computeRequestHeaders({additionalUA:l,withApiKey:!1,headers:t.headers})):n=this._computeRequestHeaders({additionalUA:l,headers:t.headers}),void 0!==t.body&&(o=i(t.body)),s("request start");var v=[],g=r(h._request,{url:t.url,method:t.method,body:o,jsonBody:t.body,timeouts:h._getTimeoutsForRequest(t.hostType)});return"function"!=typeof t.callback?g:void g.then(function(e){u(function(){t.callback(null,e)},h._setTimeout||setTimeout)},function(e){u(function(){t.callback(e)},h._setTimeout||setTimeout)})},o.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var r in e)null!==r&&void 0!==e[r]&&e.hasOwnProperty(r)&&(t+=""===t?"":"&",t+=r+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[r])?i(e[r]):e[r]));return t},o.prototype._computeRequestHeaders=function(t){var r=e(5),o=t.additionalUA?this._ua+";"+t.additionalUA:this._ua,n={"x-algolia-agent":o,"x-algolia-application-id":this.applicationID};return t.withApiKey!==!1&&(n["x-algolia-api-key"]=this.apiKey),this.userToken&&(n["x-algolia-usertoken"]=this.userToken),this.securityTags&&(n["x-algolia-tagfilters"]=this.securityTags),r(this.extraHeaders,function(e,t){n[t]=e}),t.headers&&r(t.headers,function(e,t){n[t]=e}),n},o.prototype.search=function(t,r,o){var n=e(8),i=e(30),s="Usage: client.search(arrayOfQueries[, callback])";if(!n(t))throw new Error(s);"function"==typeof r?(o=r,r={}):void 0===r&&(r={});var a=this,c={requests:i(t,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:a._getSearchParams(e.params,t)}})},u=i(c.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&"),l="/1/indexes/*/queries";return void 0!==r.strategy&&(l+="?strategy="+r.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:l,body:c,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:u}},callback:o})},o.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],r=0;rh?this._resetInitialAppIdData(e):e},o.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||s([1,2,3]),this._setAppIdData(t)},o.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},o.prototype._partialAppIdDataUpdate=function(t){var r=e(5),o=this._getAppIdData();return r(t,function(e,t){o[t]=e}),this._setAppIdData(o)},o.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},o.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},o.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},o.prototype._setHostIndexByType=function(t,r){var o=e(25),n=o(this._hostIndexes);return n[r]=t,this._partialAppIdDataUpdate({hostIndexes:n}),t},o.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},o.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},o.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}}).call(this,e(12))},{1:1,12:12,18:18,25:25,28:28,29:29,30:30,34:34,5:5,8:8}],16:[function(e,t,r){function o(){s.apply(this,arguments)}function n(e,t,r){function o(r,n){var i={page:r||0,hitsPerPage:t||100},s=n||[];return e(i).then(function(e){var t=e.hits,r=e.nbHits,n=t.map(function(e){return delete e._highlightResult,e}),a=s.concat(n);return a.lengths&&(t=s),"published"!==e.status?l._promise.delay(t).then(r):e})}function o(e){u(function(){t(null,e)},l._setTimeout||setTimeout)}function n(e){u(function(){t(e)},l._setTimeout||setTimeout)}var i=100,s=5e3,a=0,c=this,l=c.as,p=r();return t?void p.then(o,n):p},o.prototype.clearIndex=function(e){var t=this;return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/clear",hostType:"write",callback:e})},o.prototype.getSettings=function(e,t){1===arguments.length&&"function"==typeof e&&(t=e,e={}),e=e||{};var r=encodeURIComponent(this.indexName);return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+r+"/settings?getVersion=2"+(e.advanced?"&advanced="+e.advanced:""),hostType:"read",callback:t})},o.prototype.searchSynonyms=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/search",body:e,hostType:"read",callback:t})},o.prototype.exportSynonyms=function(e,t){return n(this.searchSynonyms.bind(this),e,t)},o.prototype.saveSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getSynonym=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearSynonyms=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),void 0!==e.forwardToSlaves&&p();var r=e.forwardToSlaves||e.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchSynonyms=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/batch?forwardToReplicas="+o+"&replaceExistingSynonyms="+(t.replaceExistingSynonyms?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.searchRules=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/search",body:e,hostType:"read",callback:t})},o.prototype.exportRules=function(e,t){return n(this.searchRules.bind(this),e,t)},o.prototype.saveRule=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getRule=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteRule=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearRules=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={});var r=e.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchRules=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/batch?forwardToReplicas="+o+"&clearExistingRules="+(t.clearExistingRules===!0?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.setSettings=function(e,t,r){1!==arguments.length&&"function"!=typeof t||(r=t,t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false",n=this;return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(n.indexName)+"/settings?forwardToReplicas="+o,hostType:"write",body:e,callback:r})},o.prototype.listUserKeys=a(function(e){return this.listApiKeys(e)},c("index.listUserKeys()","index.listApiKeys()")),o.prototype.listApiKeys=function(e){var t=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/keys",hostType:"read",callback:e})},o.prototype.getUserKeyACL=a(function(e,t){return this.getApiKey(e,t)},c("index.getUserKeyACL()","index.getApiKey()")),o.prototype.getApiKey=function(e,t){var r=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"read",callback:t})},o.prototype.deleteUserKey=a(function(e,t){return this.deleteApiKey(e,t)},c("index.deleteUserKey()","index.deleteApiKey()")),o.prototype.deleteApiKey=function(e,t){var r=this;return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"write",callback:t})},o.prototype.addUserKey=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKey()","index.addApiKey()")),o.prototype.addApiKey=function(t,r,o){var n=e(8),i="Usage: index.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.description=r.description,r.queryParameters&&(s.queryParameters=this.as._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys",body:s,hostType:"write",callback:o})},o.prototype.addUserKeyWithValidity=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKeyWithValidity()","index.addApiKey()")),o.prototype.updateUserKey=a(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},c("index.updateUserKey()","index.updateApiKey()")),o.prototype.updateApiKey=function(t,r,o,n){var i=e(8),s="Usage: index.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.description=o.description,o.queryParameters&&(a.queryParameters=this.as._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+t,body:a,hostType:"write",callback:n})}},{17:17,18:18,25:25,26:26,27:27,28:28,29:29,30:30,31:31,7:7,8:8}],17:[function(e,t,r){"use strict";function o(){}t.exports=o;var n=e(7),i=e(4).EventEmitter;n(o,i),o.prototype.stop=function(){this._stopped=!0,this._clean()},o.prototype._end=function(){this.emit("end"),this._clean()},o.prototype._error=function(e){this.emit("error",e),this._clean()},o.prototype._result=function(e){this.emit("result",e)},o.prototype._clean=function(){this.removeAllListeners("stop"),this.removeAllListeners("end"),this.removeAllListeners("error"),this.removeAllListeners("result")}},{4:4,7:7}],18:[function(e,t,r){function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}var n=e(24),i=e(26),s=e(27);t.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=n("query"),o.prototype.similarSearch=n("similarQuery"),o.prototype.browse=function(t,r,o){var n,i,s=e(31),a=this;0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(n=0,o=arguments[0],t=void 0):"number"==typeof arguments[0]?(n=arguments[0],"number"==typeof arguments[1]?i=arguments[1]:"function"==typeof arguments[1]&&(o=arguments[1],i=void 0),t=void 0,r=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(o=arguments[1]),r=arguments[0],t=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(o=arguments[1],r=void 0),r=s({},r||{},{page:n,hitsPerPage:i,query:t});var c=this.as._getSearchParams(r,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a.indexName)+"/browse",body:{params:c},hostType:"read",callback:o})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(t,r){var o=e(25),n=e(32),i="Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])";if(void 0===t.facetName||void 0===t.facetQuery)throw new Error(i);var s=t.facetName,a=n(o(t),function(e){return"facetName"===e}),c=this.as._getSearchParams(a,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:c},callback:r})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,r,o){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:r,additionalUA:o})},o.prototype.getObject=function(e,t,r){var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var n="";if(void 0!==t){n="?attributes=";for(var i=0;i1&&a()}if(!h.cors&&!h.hasXDomainRequest)return void o(new u.Network("CORS not supported"));e=l(e,t.headers);var d,f,y=t.body,m=h.cors?new XMLHttpRequest:new XDomainRequest,v=!1;d=setTimeout(s,t.timeouts.connect),m.onprogress=c,"onreadystatechange"in m&&(m.onreadystatechange=p),m.onload=n,m.onerror=i,m instanceof XMLHttpRequest?m.open(t.method,e,!0):m.open(t.method,e),h.cors&&(y&&("POST"===t.method?m.setRequestHeader("content-type","application/x-www-form-urlencoded"):m.setRequestHeader("content-type","application/json")),m.setRequestHeader("accept","application/json")),m.send(y)})},a.prototype._request.fallback=function(e,t){return e=l(e,t.headers),new n(function(r,o){p(e,t,function(e,t){return e?void o(e):void r(t)})})},a.prototype._promise={reject:function(e){return n.reject(e)},resolve:function(e){return n.resolve(e)},delay:function(e){return new n(function(t){setTimeout(t,e)})}},s}}).call(this,e(12))},{1:1,12:12,21:21,22:22,23:23,25:25,28:28,3:3,33:33,35:35,6:6,7:7}],21:[function(e,t,r){"use strict";function o(){var e=window.document.location.protocol;return"http:"!==e&&"https:"!==e&&(e="http:"),e}t.exports=o},{}],22:[function(e,t,r){"use strict";function o(e,t){return e+=/\?/.test(e)?"&":"?",e+n(t)}t.exports=o;var n=e(13)},{13:13}],23:[function(e,t,r){"use strict";function o(e,t,r){function o(){t.debug("JSONP: success"),m||d||(m=!0,p||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),a(),r(new n.JSONPScriptFail)))}function s(){"loaded"!==this.readyState&&"complete"!==this.readyState||o()}function a(){clearTimeout(v),f.onload=null,f.onreadystatechange=null,f.onerror=null,h.removeChild(f)}function c(){try{delete window[y],delete window[y+"_loaded"]}catch(e){window[y]=window[y+"_loaded"]=void 0}}function u(){t.debug("JSONP: Script timeout"),d=!0,a(),r(new n.RequestTimeout)}function l(){t.debug("JSONP: Script error"),m||d||(a(),r(new n.JSONPScriptError))}if("GET"!==t.method)return void r(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var p=!1,d=!1;i+=1;var h=document.getElementsByTagName("head")[0],f=document.createElement("script"),y="algoliaJSONP_"+i,m=!1;window[y]=function(e){return c(),d?void t.debug("JSONP: Late answer, ignoring"):(p=!0,a(),void r(null,{body:e}))},e+="&callback="+y,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var v=setTimeout(u,t.timeouts.complete);f.onreadystatechange=s,f.onload=o,f.onerror=l,f.async=!0,f.defer=!0,f.src=e,h.appendChild(f)}t.exports=o;var n=e(28),i=0},{28:28}],24:[function(e,t,r){function o(e,t){return function(r,o,i){if("function"==typeof r&&"object"==typeof o||"object"==typeof i)throw new n.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof r?(i=r,r=""):1!==arguments.length&&"function"!=typeof o||(i=o,o=void 0),"object"==typeof r&&null!==r?(o=r,r=void 0):void 0!==r&&null!==r||(r="");var s="";void 0!==r&&(s+=e+"="+encodeURIComponent(r));var a;return void 0!==o&&(o.additionalUA&&(a=o.additionalUA,delete o.additionalUA),s=this.as._getSearchParams(o,s)),this._search(s,t,i,a)}}t.exports=o;var n=e(28)},{28:28}],25:[function(e,t,r){t.exports=function(e){return JSON.parse(JSON.stringify(e))}},{}],26:[function(e,t,r){t.exports=function(e,t){function r(){return o||(console.warn(t),o=!0),e.apply(this,arguments)}var o=!1;return r}},{}],27:[function(e,t,r){t.exports=function(e,t){var r=e.toLowerCase().replace(/[\.\(\)]/g,"");return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+r}},{}],28:[function(e,t,r){"use strict";function o(t,r){var o=e(5),n=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):n.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=t||"Unknown error",r&&o(r,function(e,t){n[t]=e})}function n(e,t){function r(){var r=Array.prototype.slice.call(arguments,0);"string"!=typeof r[0]&&r.unshift(t),o.apply(this,r),this.name="AlgoliaSearch"+e+"Error"}return i(r,o),r}var i=e(7);i(o,Error),t.exports={AlgoliaSearchError:o,UnparsableJSON:n("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:n("RequestTimeout","Request timedout before getting a response"),Network:n("Network","Network issue, see err.more for details"),JSONPScriptFail:n("JSONPScriptFail"," + + + + + + + + + + + + + axios发送Basic Auth认证和Bearer Token | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

axios发送Basic Auth认证和Bearer Token

+
+ + + + + +
+
+ + + + +
+ + +
+ + + + +
+ +
+

axios发送Basic Auth认证和Bearer Token

+ +
+

Basic Auth认证

axios配置如下只需要增加 auth 参数即可,auth: {username: 'lanpz',password: '123456789'}

1
2
3
4
5
axios.post('xxx', {x: 1}, auth: {username: 'lanpz',password: '123456789'} , {
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
}).then(({data}) => console.log(data));

Bearer Token

在axios请求拦截器里面自定义下请求头即可。

1
2
3
service.interceptors.request.use(async request => {
request.headers['Authorization'] = `Bearer ${token}`
})

+
+ +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + +
+ + + +
+
+ + + + + + + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+
    +
    + + + + + + + + + + + + + + + + + diff --git a/baidusitemap.xml b/baidusitemap.xml new file mode 100644 index 000000000..366db9cf5 --- /dev/null +++ b/baidusitemap.xml @@ -0,0 +1,1838 @@ + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8Express%E5%BC%80%E5%8F%91%E5%B0%8F%E8%AF%B4API%E6%8E%A5%E5%8F%A3%E6%9C%8D%E5%8A%A11-0%EF%BC%88%E4%B8%89%EF%BC%89.html + 2023-09-17T05:36:14.452Z + + + 使用Express开发小说API接口服务1.0(三) + 2018-05-26T10:54:41.000Z + + Node.js + + Express + + API + + + + + + + + + + + http://blog.langpz.com/path%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.452Z + + + path模块 + 2018-02-26T11:17:42.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/pinia%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html + 2023-09-17T05:36:14.452Z + + + pinia使用指南 + 2023-05-27T10:37:37.000Z + + vue3.0 + + pinia + + + + + + + + + + http://blog.langpz.com/pm2%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF.html + 2023-09-17T05:36:14.452Z + + + pm2开机自启 + 2018-11-20T09:40:00.000Z + + Node.js + + pm2 + + + + + + + + + + http://blog.langpz.com/querystring%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.452Z + + + querystring模块 + 2018-02-09T13:10:53.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/stream%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.452Z + + + stream模块 + 2018-02-27T13:27:30.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/url%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.452Z + + + url模块 + 2018-03-01T16:03:22.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/vite%E7%83%AD%E6%9B%B4%E6%96%B0%E6%8A%A5%E9%94%99.html + 2023-09-17T05:36:14.452Z + + + vite热更新报错 + 2023-08-20T10:26:53.000Z + + vite + + + + + + + + + + http://blog.langpz.com/vue-cli3%E8%AE%BE%E7%BD%AE%E9%BB%98%E8%AE%A4%E6%89%93%E5%BC%80%E6%B5%8F%E8%A7%88%E5%99%A8.html + 2023-09-17T05:36:14.452Z + + + vue-cli3设置默认打开浏览器 + 2019-03-24T11:11:19.000Z + + vue2.0 + + cli + + + + + + + + + + http://blog.langpz.com/vue-cli4%E9%85%8D%E7%BD%AE%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%88%A0%E9%99%A4console-log.html + 2023-09-17T05:36:14.452Z + + + vue-cli4配置生产环境删除console.log + 2021-11-26T19:49:17.000Z + + vue-cli4 + + + + + + + + + + http://blog.langpz.com/vue3%E4%B8%AD%E5%BC%95%E5%85%A5element-plus%E7%9A%84Icon.html + 2023-09-17T05:36:14.452Z + + + vue3中引入element-plus的Icon + 2021-11-20T10:52:58.000Z + + vue3.0 + + element-plus + + + + + + + + + + http://blog.langpz.com/vue3%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.html + 2023-09-17T05:36:14.452Z + + + vue3的生命周期 + 2021-10-16T15:56:13.000Z + + vue3.0 + + 生命周期 + + + + + + + + + + http://blog.langpz.com/vue%E4%BF%AE%E6%94%B9UI%E5%BA%93%E7%BB%84%E4%BB%B6%E6%A0%B7%E5%BC%8F.html + 2023-09-17T05:36:14.452Z + + + vue(scoped)修改UI库组件样式 + 2018-09-15T16:40:59.000Z + + vue2.0 + + + + + + + + + + http://blog.langpz.com/vue%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.html + 2023-09-17T05:36:14.452Z + + + vue2.0的生命周期 + 2018-06-14T09:48:11.000Z + + vue2.0 + + 生命周期 + + + + + + + + + + http://blog.langpz.com/webpack4-0%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97%EF%BC%88%E4%BA%8C%EF%BC%89%E8%BD%AC%E6%8D%A2es7%E8%AF%AD%E6%B3%95%E8%A7%A3%E6%9E%90%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90.html + 2023-09-17T05:36:14.452Z + + + webpack4.0入门指南(二)转换es7语法解析静态资源 + 2018-06-13T13:30:47.000Z + + webpack + + 打包工具 + + + + + + + + + + http://blog.langpz.com/webpack%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97.html + 2023-09-17T05:36:14.452Z + + + webpack4.0入门指南(一)安装和转换es6语法 + 2018-06-08T10:35:24.000Z + + webpack + + 打包工具 + + + + + + + + + + http://blog.langpz.com/webpack%E5%86%85%E5%AD%98%E6%BA%A2%E5%87%BA.html + 2023-09-17T05:36:14.452Z + + + webpack内存溢出 + 2021-07-03T18:37:50.000Z + + webpack + + + + + + + + + + http://blog.langpz.com/yarn%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D.html + 2023-09-17T05:36:14.452Z + + + yarn使用介绍 + 2018-06-12T14:19:09.000Z + + yarn + + + + + + + + + + http://blog.langpz.com/%E4%BB%80%E4%B9%88%E6%98%AFNode-js.html + 2023-09-17T05:36:14.452Z + + + 什么是Node.js + 2018-01-08T13:29:21.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/%E4%BB%8ETravis-CI%E8%BF%81%E7%A7%BB%E5%88%B0GitHub-Actions.html + 2023-09-17T05:36:14.452Z + + + Hexo博客从Travis-CI迁移到GitHub Actions + 2023-02-11T08:58:23.000Z + + GitHub Actions + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8-Volta-%E7%AE%A1%E7%90%86Node.html + 2023-09-17T05:36:14.452Z + + + 使用 Volta 管理Node + 2023-06-24T15:11:37.000Z + + Node.js + + Volta + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8Express%E5%BC%80%E5%8F%91%E5%B0%8F%E8%AF%B4API%E6%8E%A5%E5%8F%A3%E6%9C%8D%E5%8A%A1.html + 2023-09-17T05:36:14.452Z + + + 使用Express开发小说API接口服务1.0(一) + 2018-05-17T15:10:56.000Z + + Node.js + + Express + + API + + + + + + + + + + http://blog.langpz.com/nvm%E7%AE%A1%E7%90%86node-js%E7%89%88%E6%9C%AC%EF%BC%88Windows%E7%B3%BB%E7%BB%9F%EF%BC%89.html + 2023-09-17T05:36:14.452Z + + + nvm管理node.js版本(Windows系统) + 2017-12-26T14:03:59.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8apidoc%E6%96%87%E6%A1%A3%E7%A5%9E%E5%99%A8%EF%BC%8C%E5%BF%AB%E9%80%9F%E7%94%9F%E6%88%90api%E6%96%87%E6%A1%A3.html + 2023-09-17T05:36:14.452Z + + + 使用apidoc文档神器,快速生成api文档 + 2018-05-26T11:13:37.000Z + + Node.js + + API + + apidoc + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8express-generator%E5%BF%AB%E9%80%9F%E7%94%9F%E6%88%90express%E5%BA%94%E7%94%A8.html + 2023-09-17T05:36:14.452Z + + + 使用express-generator快速生成express应用 + 2018-05-14T16:08:03.000Z + + Node.js + + Express + + express-generator + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8travis-ci%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BAHexo.html + 2023-09-17T05:36:14.452Z + + + 使用travis-ci自动构建Hexo + 2018-05-15T16:30:49.000Z + + Hexo + + travis-ci + + 自动构建 + + 持续集成 + + + + + + + + + + http://blog.langpz.com/%E5%88%87%E6%8D%A2node%E7%89%88%E6%9C%AC%E9%A1%B9%E7%9B%AESaas%E6%8A%A5%E9%94%99.html + 2023-09-17T05:36:14.452Z + + + 切换node版本项目Saas报错 + 2021-09-24T21:18:41.000Z + + npm + + yarn + + + + + + + + + + http://blog.langpz.com/%E5%8F%91%E5%B8%83%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B7%B1%E7%9A%84NPM%E5%8C%85.html + 2023-09-17T05:36:14.452Z + + + 发布一个自己的NPM包 + 2019-04-18T20:01:57.000Z + + npm + + + + + + + + + + http://blog.langpz.com/%E5%9B%BD%E5%86%85%E5%AD%A6%E7%94%9F%E4%BA%91%E4%B8%BB%E6%9C%BA%E4%BC%98%E6%83%A0%E6%95%B4%E7%90%86.html + 2023-09-17T05:36:14.452Z + + + 国内学生云主机优惠整理 + 2017-12-20T10:10:37.000Z + + 云主机 + + + + + + + + + + http://blog.langpz.com/%E5%9C%A8vue%E4%BD%BF%E7%94%A8clipboard-js.html + 2023-09-17T05:36:14.452Z + + + 在vue使用clipboard.js + 2018-12-23T11:30:36.000Z + + 移动端 + + vue2.0,clipboard.js + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99EventHub-%E5%8F%91%E5%B8%83%E8%AE%A2%E9%98%85.html + 2023-09-17T05:36:14.452Z + + + 手写EventHub(发布订阅) + 2023-04-29T14:07:39.000Z + + 设计模式 + + EventHub,发布订阅 + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99Promise-allsettled%E6%96%B9%E6%B3%95.html + 2023-09-17T05:36:14.452Z + + + 手写Promise.allsettled方法 + 2022-11-05T11:21:30.000Z + + Promise + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99Promise-race%E6%96%B9%E6%B3%95.html + 2023-09-17T05:36:14.452Z + + + 手写Promise.race方法 + 2022-09-10T17:57:26.000Z + + Promise + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99Promsie-all%E6%96%B9%E6%B3%95.html + 2023-09-17T05:36:14.452Z + + + 手写Promsie.all方法 + 2022-07-27T20:44:39.000Z + + Promise + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99bind%E3%80%81call%E3%80%81apply%E6%96%B9%E6%B3%95%E5%AE%9E%E7%8E%B0.html + 2023-09-17T05:36:14.452Z + + + 手写bind、call、apply方法实现 + 2023-05-13T15:07:23.000Z + + javascript + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99vue%E6%97%A5%E5%8E%86%E7%BB%84%E4%BB%B6.html + 2023-09-17T05:36:14.452Z + + + 手写vue日历组件 + 2023-01-14T18:28:52.000Z + + vue2.0 + + + + + + + + + + http://blog.langpz.com/%E6%89%8B%E5%86%99%E7%AE%80%E6%98%93Promise.html + 2023-09-17T05:36:14.452Z + + + 手写简易Promise + 2022-06-28T21:32:50.000Z + + Promise + + + + + + + + + + http://blog.langpz.com/%E6%8B%AF%E6%95%91%E8%A2%AB%E5%A2%99%E7%9A%84ip-v2ray%E4%BD%BF%E7%94%A8cloudflare%E4%B8%AD%E8%BD%AC%E6%B5%81%E9%87%8F.html + 2023-09-17T05:36:14.452Z + + + 拯救被墙的ip,v2ray使用cloudflare中转流量 + 2022-05-25T18:40:58.000Z + + v2ray + + cloudflare + + 被墙 + + + + + + + + + + http://blog.langpz.com/%E7%A7%BB%E5%8A%A8%E7%AB%AFjs%E5%A4%8D%E5%88%B6%E5%86%85%E5%AE%B9%E5%88%B0%E5%89%AA%E8%B4%B4%E6%9D%BF.html + 2023-09-17T05:36:14.452Z + + + 移动端js复制内容到剪贴板 + 2018-12-19T20:14:17.000Z + + 移动端 + + javascript,clipboard.js + + + + + + + + + + http://blog.langpz.com/%E7%BB%99%E9%A1%B9%E7%9B%AE%E5%8A%A0%E4%B8%80%E4%B8%AA%E9%AA%A8%E6%9E%B6%E5%B1%8F%E5%90%A7.html + 2023-09-17T05:36:14.452Z + + + 给项目加一个骨架屏吧 + 2019-04-27T16:07:19.000Z + + vue2.0 + + 骨架屏 + + + + + + + + + + http://blog.langpz.com/%E8%A7%A3%E5%86%B3Waline%E6%9C%8D%E5%8A%A1%E5%9B%A0vercel%E5%9B%BD%E5%86%85%E8%A2%AB%E5%A2%99%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8.html + 2023-09-17T05:36:14.452Z + + + 解决Waline服务因vercel国内被墙无法使用 + 2023-03-04T16:40:24.000Z + + Waline + + vercel + + + + + + + + + + http://blog.langpz.com/%E8%A7%A3%E5%86%B3node-sass%E5%AE%89%E8%A3%85%E5%A4%B1%E8%B4%A5.html + 2023-09-17T05:36:14.452Z + + + 解决node-sass安装失败 + 2020-06-14T20:21:00.000Z + + npm + + yarn + + + + + + + + + + http://blog.langpz.com/%E8%A7%A3%E5%86%B3%E7%A7%BB%E5%8A%A8%E7%AB%AFclick%E4%BA%8B%E4%BB%B6300%E6%AF%AB%E7%A7%92%E5%BB%B6%E8%BF%9F%E5%92%8C%E7%82%B9%E9%80%8F%E9%97%AE%E9%A2%98.html + 2023-09-17T05:36:14.452Z + + + 解决移动端click事件300毫秒延迟和点透问题 + 2018-06-21T10:53:59.000Z + + 移动端 + + 点透 + + + + + + + + + + http://blog.langpz.com/%E4%BD%BF%E7%94%A8Express%E5%BC%80%E5%8F%91%E5%B0%8F%E8%AF%B4API%E6%8E%A5%E5%8F%A3%E6%9C%8D%E5%8A%A1-%E4%BA%8C.html + 2023-09-17T05:36:14.452Z + + + 使用Express开发小说API接口服务1.0(二) + 2018-05-18T13:26:05.000Z + + Node.js + + Express + + API + + + + + + + + + + http://blog.langpz.com/%E9%83%A8%E7%BD%B2%E5%B0%8F%E8%AF%B4api%E6%9C%8D%E5%8A%A1%E5%88%B0%E8%85%BE%E8%AE%AF%E4%BA%91.html + 2023-09-17T05:36:14.452Z + + + 部署小说api服务到腾讯云 + 2018-05-29T11:00:08.000Z + + Node.js + + Express + + API + + 部署 + + + + + + + + + + http://blog.langpz.com/node%E5%A4%84%E7%90%86%E5%89%8D%E5%8F%B0get%E8%AF%B7%E6%B1%82.html + 2023-09-17T05:36:14.448Z + + + node处理前台get请求 + 2018-03-02T10:07:32.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/node%E5%A4%84%E7%90%86%E5%89%8D%E5%8F%B0post%E8%AF%B7%E6%B1%82.html + 2023-09-17T05:36:14.448Z + + + node处理前台post请求 + 2018-03-01T10:29:37.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/node%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1.html + 2023-09-17T05:36:14.448Z + + + node定时任务 + 2018-07-08T18:09:23.000Z + + Node.js + + 定时任务 + + + + + + + + + + http://blog.langpz.com/node%E7%88%AC%E8%99%AB.html + 2023-09-17T05:36:14.448Z + + + node爬虫 + 2018-05-12T15:37:42.000Z + + Node.js + + 爬虫 + + + + + + + + + + http://blog.langpz.com/node%E8%BF%9E%E6%8E%A5MySQL.html + 2023-09-17T05:36:14.448Z + + + node连接MySQL + 2018-05-10T15:40:04.000Z + + Node.js + + MySQL + + + + + + + + + + http://blog.langpz.com/Debian9%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AEFail2ban.html + 2023-09-17T05:36:14.448Z + + + Debian9安装设置Fail2ban + 2022-10-22T14:47:31.000Z + + Debian9 + + Fail2ban + + + + + + + + + + http://blog.langpz.com/npm%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D.html + 2023-09-17T05:36:14.448Z + + + npm使用介绍 + 2017-12-20T14:56:09.000Z + + npm + + + + + + + + + + http://blog.langpz.com/npm%E8%AE%BE%E7%BD%AE%E6%B7%98%E5%AE%9D%E9%95%9C%E5%83%8F.html + 2023-09-17T05:36:14.448Z + + + npm设置淘宝镜像 + 2017-12-15T16:06:34.000Z + + npm + + + + + + + + + + http://blog.langpz.com/nvm%E5%88%87%E6%8D%A2node%E7%89%88%E6%9C%AC-npm-ERR-Unexpected-token.html + 2023-09-17T05:36:14.448Z + + + nvm切换node版本 npm ERR! Unexpected token '.' + 2023-06-17T17:22:42.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/Buffer%E5%AF%B9%E8%B1%A1.html + 2023-09-17T05:36:14.448Z + + + Buffer对象 + 2018-02-06T13:43:40.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/ES6%E7%B3%BB%E5%88%97-let%E5%92%8Cconst%E5%8F%98%E9%87%8F.html + 2023-09-17T05:36:14.448Z + + + ES6系列-let和const变量 + 2018-06-26T17:08:51.000Z + + ES6 + + javascript + + + + + + + + + + http://blog.langpz.com/Express%E4%B8%AD%E9%97%B4%E4%BB%B6body-parser%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0.html + 2023-09-17T05:36:14.448Z + + + Express中间件body-parser简单实现 + 2018-04-18T11:49:16.000Z + + Express + + + + + + + + + + http://blog.langpz.com/Express%E5%A4%84%E7%90%86%E6%95%B0%E6%8D%AE%E8%AF%B7%E6%B1%82.html + 2023-09-17T05:36:14.448Z + + + Express处理数据请求 + 2018-04-02T17:28:39.000Z + + Express + + + + + + + + + + http://blog.langpz.com/Express%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0.html + 2023-09-17T05:36:14.448Z + + + Express文件上传 + 2018-05-04T15:58:58.000Z + + Node.js + + Express + + 文件上传 + + + + + + + + + + http://blog.langpz.com/Express%E6%A1%86%E6%9E%B6cookie%E5%92%8Csession.html + 2023-09-17T05:36:14.448Z + + + Express框架cookie和session + 2018-05-06T17:32:54.000Z + + Express + + cookie + + session + + + + + + + + + + http://blog.langpz.com/Express%E8%B7%AF%E7%94%B1.html + 2023-09-17T05:36:14.448Z + + + Express路由 + 2018-05-07T17:50:08.000Z + + Express + + 路由 + + + + + + + + + + http://blog.langpz.com/Git%E6%8B%89%E5%8F%96%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%E5%88%B0%E6%9C%AC%E5%9C%B0.html + 2023-09-17T05:36:14.448Z + + + Git拉取远程分支到本地 + 2018-10-25T20:42:31.000Z + + Git + + + + + + + + + + http://blog.langpz.com/Git%E7%89%88%E6%9C%AC%E5%9B%9E%E9%80%80.html + 2023-09-17T05:36:14.448Z + + + Git版本回退 + 2019-06-09T18:04:28.000Z + + Git + + + + + + + + + + http://blog.langpz.com/Git%E7%94%9F%E6%88%90SSH%E5%85%AC%E9%92%A5.html + 2023-09-17T05:36:14.448Z + + + Git生成SSH公钥 + 2018-05-05T16:40:31.000Z + + Git + + SSH公钥 + + + + + + + + + + http://blog.langpz.com/Git%E9%85%8D%E7%BD%AEhttps%E5%85%8D%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%8F%90%E4%BA%A4.html + 2023-09-17T05:36:14.448Z + + + Git配置https免用户名和密码提交 + 2018-01-03T14:15:36.000Z + + Git + + + + + + + + + + http://blog.langpz.com/Hexo-Next%E9%9B%86%E6%88%90Algolia%E6%90%9C%E7%B4%A2.html + 2023-09-17T05:36:14.448Z + + + Hexo+Next集成Algolia搜索 + 2017-12-22T13:13:18.000Z + + Hexo + + + + + + + + + + http://blog.langpz.com/Hexo%E5%8D%9A%E5%AE%A2%E4%BB%8ECoding%E8%BF%81%E7%A7%BB%E5%88%B0%E8%85%BE%E8%AE%AF%E4%BA%91COS.html + 2023-09-17T05:36:14.448Z + + + Hexo博客从Coding迁移到腾讯云COS + 2019-03-30T17:34:07.000Z + + Hexo + + COS + + + + + + + + + + http://blog.langpz.com/Hexo%E5%8D%9A%E5%AE%A2%E5%A4%9A%E7%AB%AF%E5%90%8C%E6%AD%A5%E9%97%AE%E9%A2%98.html + 2023-09-17T05:36:14.448Z + + + Hexo博客多端同步问题 + 2017-12-29T16:38:22.000Z + + Hexo + + + + + + + + + + http://blog.langpz.com/JavaScript%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%A7%94%E6%89%98%E5%8E%9F%E7%90%86.html + 2023-09-17T05:36:14.448Z + + + JavaScript的事件委托原理 + 2023-03-26T15:48:44.000Z + + javascript + + 事件委托 + + + + + + + + + + http://blog.langpz.com/Node-js%E4%BD%BF%E7%94%A8Nodemailer%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%E9%80%9A%E7%9F%A5.html + 2023-09-17T05:36:14.448Z + + + Node.js使用Nodemailer发送邮件通知 + 2022-02-28T19:53:15.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/Node%E6%A8%A1%E5%9D%97%E6%9C%BA%E5%88%B6.html + 2023-09-17T05:36:14.448Z + + + Node模块机制 + 2018-01-08T16:11:02.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/TypeScript%E7%AE%80%E4%BB%8B.html + 2023-09-17T05:36:14.448Z + + + TypeScript简介 + 2023-09-17T12:14:50.000Z + + TypeScript + + + + + + + + + + http://blog.langpz.com/VSCode-%E9%85%8D%E7%BD%AENode%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83.html + 2023-09-17T05:36:14.448Z + + + VSCode 配置Node调试环境 + 2018-01-05T17:17:59.000Z + + VSCode + + + + + + + + + + http://blog.langpz.com/Windows%E4%B8%8B%E5%AE%89%E8%A3%85MongoDB.html + 2023-09-17T05:36:14.448Z + + + Windows下安装MongoDB + 2018-05-08T15:30:32.000Z + + MongoDB + + Windows + + + + + + + + + + http://blog.langpz.com/Windows%E4%B8%8B%E5%AE%89%E8%A3%85MySQL.html + 2023-09-17T05:36:14.448Z + + + Windows下安装MySQL + 2018-05-08T11:02:20.000Z + + Windows + + MySQL + + + + + + + + + + http://blog.langpz.com/axios%E5%8F%91%E9%80%81Basic-Auth%E8%AE%A4%E8%AF%81%E5%92%8CBearer-Token.html + 2023-09-17T05:36:14.448Z + + + axios发送Basic Auth认证和Bearer Token + 2023-02-03T20:43:16.000Z + + axios + + + + + + + + + + http://blog.langpz.com/centos7%E5%AE%89%E8%A3%85MySQL.html + 2023-09-17T05:36:14.448Z + + + centos7安装MySQL + 2019-03-17T18:09:33.000Z + + MySQL + + + + + + + + + + http://blog.langpz.com/centos7%E5%AE%89%E8%A3%85mongodb.html + 2023-09-17T05:36:14.448Z + + + centos7安装MongoDB + 2018-12-16T19:22:11.000Z + + MongoDB + + + + + + + + + + http://blog.langpz.com/centos7%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AFnginx.html + 2023-09-17T05:36:14.448Z + + + centos7开机自启nginx + 2018-11-20T09:39:26.000Z + + nginx + + + + + + + + + + http://blog.langpz.com/css%E5%AE%9E%E7%8E%B0table%E8%A1%A8%E5%A4%B4%E5%92%8C%E5%88%97%E5%9B%BA%E5%AE%9A.html + 2023-09-17T05:36:14.448Z + + + css粘性定位实现table表头和列固定 + 2021-08-22T21:12:07.000Z + + css + + + + + + + + + + http://blog.langpz.com/css%E5%AE%9E%E7%8E%B0%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD-%E5%8C%85%E6%8B%AC%E6%9C%AA%E7%9F%A5%E5%AE%BD%E9%AB%98%E7%9A%84%E5%85%83%E7%B4%A0.html + 2023-09-17T05:36:14.448Z + + + css实现元素垂直水平居中-包括未知宽高的元素 + 2018-04-28T13:14:04.000Z + + css + + + + + + + + + + http://blog.langpz.com/css%E5%AE%9E%E7%8E%B0%E5%8D%95%E8%A1%8C%E3%80%81%E5%A4%9A%E8%A1%8C%E6%96%87%E6%9C%AC%E6%BA%A2%E5%87%BA%E6%98%BE%E7%A4%BA%E7%9C%81%E7%95%A5%E5%8F%B7.html + 2023-09-17T05:36:14.448Z + + + css实现单行、多行文本溢出显示省略号 + 2017-12-19T10:58:41.000Z + + css + + + + + + + + + + http://blog.langpz.com/ejs%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.html + 2023-09-17T05:36:14.448Z + + + EJS模板引擎 + 2018-04-27T13:36:44.000Z + + EJS + + + + + + + + + + http://blog.langpz.com/el-date-picker%E6%97%A5%E6%9C%9F%E8%8C%83%E5%9B%B4%E8%AE%BE%E7%BD%AE%E9%80%89%E6%8B%A9%E5%8C%BA%E9%97%B4.html + 2023-09-17T05:36:14.448Z + + + el-date-picker日期范围设置选择区间 + 2022-10-01T09:48:14.000Z + + vue2.0 + + element-ui + + + + + + + + + + http://blog.langpz.com/element-ui%E9%87%8CTable%E7%BB%84%E4%BB%B6%E5%A4%9A%E9%80%89%EF%BC%8C%E7%BF%BB%E9%A1%B5%E8%AE%B0%E5%BF%86%E9%80%89%E4%B8%AD%E5%A4%8D%E9%80%89%E6%A1%86.html + 2023-09-17T05:36:14.448Z + + + element-ui里Table组件多选,翻页记忆选中复选框 + 2018-11-13T21:42:31.000Z + + vue2.0 + + element-ui + + + + + + + + + + http://blog.langpz.com/express%E7%AE%80%E5%8D%95%E5%85%A5%E5%9D%91.html + 2023-09-17T05:36:14.448Z + + + express简单入坑 + 2018-03-19T13:38:00.000Z + + Express + + + + + + + + + + http://blog.langpz.com/for-in-%E5%92%8C-for-of-%E5%8C%BA%E5%88%AB.html + 2023-09-17T05:36:14.448Z + + + for in 和 for of 区别 + 2023-07-16T17:59:18.000Z + + javascript + + + + + + + + + + http://blog.langpz.com/fs%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.448Z + + + fs模块 + 2018-02-22T14:32:19.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/global%E5%AF%B9%E8%B1%A1.html + 2023-09-17T05:36:14.448Z + + + global对象 + 2018-02-02T14:33:27.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/hello-world.html + 2023-09-17T05:36:14.448Z + + + Hello World + 2017-12-12T16:00:01.000Z + + + + + + + + + + http://blog.langpz.com/http%E6%A8%A1%E5%9D%97.html + 2023-09-17T05:36:14.448Z + + + http模块 + 2018-01-15T17:05:37.000Z + + Node.js + + + + + + + + + + http://blog.langpz.com/javascript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2.html + 2023-09-17T05:36:14.448Z + + + javascript数据类型转换 + 2018-05-05T17:14:25.000Z + + javascript + + 数据类型转换 + + 面试题 + + + + + + + + + + http://blog.langpz.com/javascript%E6%95%B0%E7%BB%84%E5%8E%BB%E9%87%8D-ES6%E7%89%88.html + 2023-09-17T05:36:14.448Z + + + javascript数组去重(ES6版) + 2018-05-02T16:49:44.000Z + + ES6 + + javascript + + 数组 + + + + + + + + + + http://blog.langpz.com/javascript%E6%95%B0%E7%BB%84%E5%8E%BB%E9%87%8D.html + 2023-09-17T05:36:14.448Z + + + javascript数组去重 + 2018-01-02T10:25:35.000Z + + 数组 + + + + + + + + + + http://blog.langpz.com/js%E5%87%BD%E6%95%B0%E9%98%B2%E6%8A%96%E5%92%8C%E8%8A%82%E6%B5%81%E7%9A%84%E5%8C%BA%E5%88%AB%E5%92%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0.html + 2023-09-17T05:36:14.448Z + + + js函数防抖和节流的区别和代码实现 + 2021-10-24T13:13:10.000Z + + javascript + + 面试题 + + + + + + + + + + http://blog.langpz.com/js%E6%B5%AE%E7%82%B9%E8%BF%90%E7%AE%970-1-0-2-0-30000000000000004.html + 2023-09-17T05:36:14.448Z + + + js浮点运算0.1+0.2 = 0.30000000000000004 + 2021-12-31T19:30:53.000Z + + javascript + + + + + + + + + + http://blog.langpz.com/js%E8%8E%B7%E5%8F%96%E5%9B%BE%E7%89%87%E6%96%87%E4%BB%B6%E5%AE%BD%E5%BA%A6%E5%92%8C%E9%AB%98%E5%BA%A6.html + 2023-09-17T05:36:14.448Z + + + js获取图片文件宽度和高度 + 2021-08-29T10:15:39.000Z + + javascript + + + + + + + + + + http://blog.langpz.com/Vue3%E7%BB%84%E5%90%88%E5%BC%8FAPI(Composition%20API)%20.html + 2023-09-17T05:36:14.448Z + + + Vue3组合式API(Composition API) + 2023-04-22T11:36:22.000Z + + vue3.0 + + 组合式API + + + + + + + + + + http://blog.langpz.com/nativefier-%E4%B8%80%E8%A1%8C%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%A1%8C%E9%9D%A2%E5%BA%94%E7%94%A8.html + 2023-09-17T05:36:14.448Z + + + nativefier 一行命令生成桌面应用 + 2020-06-27T14:53:57.000Z + + nativefier + + + + + + + + + + http://blog.langpz.com/node-js-Windows%E4%B8%8B%E5%AE%89%E8%A3%85.html + 2023-09-17T05:36:14.448Z + + + node.js Windows下安装(笔记) + 2017-12-12T16:26:01.000Z + + Node.js + + + + + + + + + + + http://blog.langpz.com/npm-install-%E6%8A%A5%E9%94%99%E6%8F%90%E7%A4%BA%E8%AF%B7%E4%BD%BF%E7%94%A8%E7%AE%A1%E7%90%86%E5%91%98.html + 2023-09-17T05:36:14.448Z + + + npm install 报错提示请使用管理员 + 2017-12-27T11:07:20.000Z + + npm + + + + + + + + \ No newline at end of file diff --git "a/centos7\345\256\211\350\243\205MySQL.html" "b/centos7\345\256\211\350\243\205MySQL.html" new file mode 100644 index 000000000..14e186047 --- /dev/null +++ "b/centos7\345\256\211\350\243\205MySQL.html" @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + centos7安装MySQL | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + +
    + +
    +

    centos7安装MySQL

    +
    + + + + + +
    +
    + + + + +
    + + +
    + + + + +
    + +
    +

    centos7安装MySQL

    + +
    +

    centos7安装MySQL

    先去MySQL官网找到下载链接(https://dev.mysql.com/downloads/repo/yum/)

    下载安装

    执行下面的命令下载并安装MySQL

    1
    2
    3
    4
    wget http://repo.mysql.com/mysql80-community-release-el7-2.noarch.rpm
    rpm -Uvh mysql80-community-release-el7-2.noarch.rpm
    yum update
    yum install mysql-community-server

    启动MySQL服务器

    执行下面的命令启动MySQL

    1
    service mysqld start

    执行下面的命令检测MySQL状态

    1
    service mysqld status

    参考

    https://dev.mysql.com/downloads/repo/yum/

    +
    + +
    + + + + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    + + + +
    + + + +
    +
    + + + + + + + +
    + +

    扫一扫,分享到微信

    + 微信分享二维码 +
    + + + + + + + + + + +
    +
      +
      + + + + + + + + + + + + + + + + + diff --git "a/centos7\345\256\211\350\243\205mongodb.html" "b/centos7\345\256\211\350\243\205mongodb.html" new file mode 100644 index 000000000..bb8956927 --- /dev/null +++ "b/centos7\345\256\211\350\243\205mongodb.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + centos7安装MongoDB | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + +
      + +
      +

      centos7安装MongoDB

      +
      + + + + + +
      +
      + + + + +
      + + +
      + + + + +
      + +
      +

      centos7安装MongoDB

      + +
      +

      centos7安装MongoDB

      先去MongoDB官网的文档中的Install on Red Hat,检查是否有更新,当前MongoDB版本4.0。

      配置包管理系统(yum)

      1
      2
      cd /etc/yum.repos.d/   // 进入这个目录
      touch mongodb-org-4.0.repo // 创建一个新的YUM存储库配置文件

      vim 编辑 mongodb-org-4.0.repo 然后把如下代码复制到文件里

      1
      2
      3
      4
      5
      6
      [mongodb-org-4.0]
      name=MongoDB Repository
      baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
      gpgcheck=1
      enabled=1
      gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

      ESC :wq 退出并保存

      安装

      1
      sudo yum install -y mongodb-org
      • mongodb-org-server- mongod守护程序,以及相应的init脚本和配置。
      • mongodb-org-mongos- mongos守护进程。
      • mongodb-org-shell - mongo shell,一个MongoDB的交互式JavaScript接口,用于执行命令行的管理任务。
      • mongodb-org-tools - 包含几个MongoDB工具,用于导入和导出数据,统计信息以及其他实用程序。

      启动MongoDB

      安装完成后,启动MongoDB

      1
      2
      3
      sudo service mongod start  // 启动
      sudo service mongod stop // 停止
      sudo service mongod restart // 重启

      设置MongoDB将在系统重新启动后启动

      1
      sudo chkconfig mongod on

      验证是否安装成功

      1
      2
      mongo
      db.version() // 会出现版本号,我这里是4.0.4

      参考

      https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yum

      https://linuxize.com/post/how-to-install-mongodb-on-centos-7/

      +
      + +
      + + + + +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + + + +
      + + + +
      + + + +
      +
      + + + + + + + +
      + +

      扫一扫,分享到微信

      + 微信分享二维码 +
      + + + + + + + + + + +
      +
        +
        + + + + + + + + + + + + + + + + + diff --git "a/centos7\345\274\200\346\234\272\350\207\252\345\220\257nginx.html" "b/centos7\345\274\200\346\234\272\350\207\252\345\220\257nginx.html" new file mode 100644 index 000000000..fdd7960a3 --- /dev/null +++ "b/centos7\345\274\200\346\234\272\350\207\252\345\220\257nginx.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + centos7开机自启nginx | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + +
        + +
        + +
        +

        centos7开机自启nginx

        +
        + + + + + +
        +
        + + + + +
        + + +
        + + + + +
        + +
        +

        centos7开机自启nginx

        + +
        +

        centos7开机自启nginx

        1
        sudo systemctl enable nginx.service

        执行代码,会有提示然后重启服务器nginx会自动启动。

        参考

        https://segmentfault.com/q/1010000002889260

        +
        + +
        + + + + +
        + + + + + +
        + + + + + + + + + + + + + + + + + + + +
        + + + + + + + + + + + +
        + + + +
        + + + +
        +
        + + + + + + + +
        + +

        扫一扫,分享到微信

        + 微信分享二维码 +
        + + + + + + + + + + +
        +
          +
          + + + + + + + + + + + + + + + + + diff --git a/content.json b/content.json new file mode 100644 index 000000000..0c8d801de --- /dev/null +++ b/content.json @@ -0,0 +1 @@ +{"meta":{"title":"蓝胖纸","subtitle":"哆啦A梦","description":"我的大雄呢","author":"lanpangzhi","url":"http://blog.langpz.com"},"pages":[{"title":"","date":"2023-09-17T05:36:14.448Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"404.html","permalink":"http://blog.langpz.com/404.html","excerpt":"","text":"L2Dwidget.init({\"pluginRootPath\":\"live2dw/\",\"pluginJsPath\":\"lib/\",\"pluginModelPath\":\"assets/\",\"model\":{\"jsonPath\":\"/live2dw/assets/koharu.model.json\"},\"display\":{\"position\":\"right\",\"width\":100,\"height\":200},\"mobile\":{\"show\":false},\"react\":{\"opacityDefault\":1,\"opacityOnHover\":0.2}});"},{"title":"","date":"2023-09-17T05:36:14.452Z","updated":"2023-09-17T05:36:14.452Z","comments":false,"path":"tags/index.html","permalink":"http://blog.langpz.com/tags/index.html","excerpt":"","text":""}],"posts":[{"title":"TypeScript简介","slug":"TypeScript简介","date":"2023-09-17T12:14:50.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"TypeScript简介.html","link":"","permalink":"http://blog.langpz.com/TypeScript简介.html","excerpt":"什么是 TypeScript?TypeScript(简称 TS)是一种由微软开发的开源编程语言,它是 JavaScript 的超集。这意味着 TypeScript 扩展了 JavaScript,为其添加了额外的功能,最主要的是类型系统。TypeScript 的目标是提供更强大、更安全、更可维护的代码,同时与 JavaScript 保持高度的兼容性。","text":"什么是 TypeScript?TypeScript(简称 TS)是一种由微软开发的开源编程语言,它是 JavaScript 的超集。这意味着 TypeScript 扩展了 JavaScript,为其添加了额外的功能,最主要的是类型系统。TypeScript 的目标是提供更强大、更安全、更可维护的代码,同时与 JavaScript 保持高度的兼容性。为什么需要 TypeScript?JavaScript 是一门非常灵活的动态类型语言,但这也意味着在编写大型应用程序时可能会出现一些潜在的问题:类型错误: 在运行时才能发现的类型错误可能会导致应用程序崩溃或产生不可预测的行为。代码维护困难: 在大型项目中,难以理解的变量命名和函数签名可能会导致代码难以维护。缺少工具支持: 缺乏类型信息可能导致开发工具无法提供有用的代码补全、重构和错误检查。TypeScript 解决了这些问题,通过引入静态类型检查来增加代码的可靠性和可维护性。它使开发人员能够在开发阶段捕获类型错误,提供了更多的代码提示和智能感知,并提高了代码的可读性。TypeScript 的特点和优势静态类型检查: TypeScript 允许开发人员在编写代码时指定变量、参数和返回值的类型。这样,在编译时就可以检测到类型错误,而不是在运行时出现错误。强大的工具支持: TypeScript 受益于强大的开发工具,如编辑器(如VSCode、WebStorm)和构建工具(如Webpack)。这些工具提供了智能感知、代码补全、重构和错误检查等功能。增强的可读性: TypeScript 代码通常更具可读性,因为类型信息使得代码的意图更加明确。这有助于团队合作和代码维护。渐进式采用: 你可以将 TypeScript 逐步引入项目中,而不需要从头开始重写代码。它兼容现有的 JavaScript 代码,并允许你逐渐添加类型注解。社区支持: TypeScript 有一个庞大的社区,提供了丰富的文档、库和工具,以帮助你更好地使用它。环境配置全局编译TS文件全局安装typescript对TS进行编译12npm install typescript -gtsc --init # 生成tsconfig.json12tsc # 可以将ts文件编译成js文件tsc --watch # 监控ts文件变化生成js文件配置rollup环境初始化项目并安装依赖12npm initnpm install rollup typescript rollup-plugin-typescript2 @rollup/plugin-node-resolve rollup-plugin-serve -D初始化TS配置文件1npx tsc --init修改tsconfig.json文件module: “module”: “ESNext”rollup配置文件123456789101112131415161718192021222324252627// rollup.config.jsimport ts from 'rollup-plugin-typescript2'import {nodeResolve} from '@rollup/plugin-node-resolve';import serve from 'rollup-plugin-serve';import path from 'path'export default { input:'src/main.ts', // 定义入口文件 output:{ format:'iife', file:path.resolve('dist/bundle.js'), sourcemap:true }, plugins:[ nodeResolve({ extensions:['.js','.ts'] }), ts({ tsconfig:path.resolve(__dirname,'tsconfig.json') }), serve({ open:true, openPage:'/public/index.html', port:3000, contentBase:'' }) ]}创建 /public/index.html 和 src/main.ts文件123456789101112// /public/index.html<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <title>Document</title> <script src=\"/dist/bundle.js\"></script></head><body></body></html>12let a:string = '123'console.log(a)package.json配置123\"scripts\": { \"dev\": \"rollup -c -w --bundleConfigAsCjs\"}我们可以通过npm run dev启动服务来使用typescript。","categories":[],"tags":[{"name":"TypeScript","slug":"TypeScript","permalink":"http://blog.langpz.com/tags/TypeScript/"}]},{"title":"vite热更新报错","slug":"vite热更新报错","date":"2023-08-20T10:26:53.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vite热更新报错.html","link":"","permalink":"http://blog.langpz.com/vite热更新报错.html","excerpt":"vite热更新报错在pinia中使用vue-router控制台报错HMR error: Cannot access ‘…’ before initialization。","text":"vite热更新报错在pinia中使用vue-router控制台报错HMR error: Cannot access ‘…’ before initialization。发现是因为是循环引用导致的报错。组件中引用了vue-router的方法,然后组件还引用了pinia的方法,然后pinia又引用vue-router。造成循环引用报错无法热更新。解决方案使用 import router form ‘@/router/index.js’ 替换 import { useRouter } from “vue-router” 这样去引用vue-router。在pinia 中可以注册插件把 vue-router 挂到全局属性上使用。123456789101112import { createApp, markRaw } from 'vue';import { createPinia } from 'pinia';import App from './app/App.vue';import { router } from './modules/router/router';const app = createApp(App);const pinia = createPinia();pinia.use(({ store }) => { store.$router = markRaw(router)});app.use(router)如果还出现这类报错可能是别的js方法也出现循环引用。解决思路同上。","categories":[],"tags":[{"name":"vite","slug":"vite","permalink":"http://blog.langpz.com/tags/vite/"}]},{"title":"for in 和 for of 区别","slug":"for-in-和-for-of-区别","date":"2023-07-16T17:59:18.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"for-in-和-for-of-区别.html","link":"","permalink":"http://blog.langpz.com/for-in-和-for-of-区别.html","excerpt":"for in 和 for of 区别for…in 和 for…of 是 JavaScript 中的两种不同的循环语法,用于遍历对象和数组的元素。","text":"for in 和 for of 区别for…in 和 for…of 是 JavaScript 中的两种不同的循环语法,用于遍历对象和数组的元素。for…in 循环for…in 语句以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。for…in 循环不推荐用于遍历数组,因为它可能会遍历数组的所有属性,包括数组原型链上的属性,从而导致不可预料的结果。1234567891011Object.prototype.a = '123'const obj = { name: 'lanpz', age: 60, sex: '男' };for (let key in obj) { console.log(key + ': ' + obj[key]);}// 输出// \"name: lanpz\"// \"age: 60\"// \"sex: 男\"// \"a: 123\"for…of 循环for…of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray等)上创建一个迭代循环。123456789101112const arr = [1, 2, 3];Array.prototype.arrCustom = 5for (let value of arr) { if (value == 2) { continue } console.log(value);}// 输出// 1// 3for in 和 for of 区别for in 不仅会遍历当前对象,还包括原型链上的可枚举属性。可能需要通过 hasOwnProperty() 方法来检查是否为对象自身的属性,以避免遍历到原型链上的属性。for of 可以使用break,continue,return终止循环、for in 不支持。for of 按顺序遍历,for…in 循环不保证遍历对象属性的顺序。","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"}]},{"title":"使用 Volta 管理Node","slug":"使用-Volta-管理Node","date":"2023-06-24T15:11:37.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用-Volta-管理Node.html","link":"","permalink":"http://blog.langpz.com/使用-Volta-管理Node.html","excerpt":"VoltaVolta 是一个JavaScript包管理器,基于rust构建的没有外部依赖项方便安装,支持 跨平台,支持 macOS、Windows、Linux 、按项目自动版本切换、多个包管理器等优势。","text":"VoltaVolta 是一个JavaScript包管理器,基于rust构建的没有外部依赖项方便安装,支持 跨平台,支持 macOS、Windows、Linux 、按项目自动版本切换、多个包管理器等优势。安装如果之前安装过node 或者 nvm n 请先卸载掉再安装 VoltamacOS / Unix 安装1curl https://get.volta.sh | bash如果没有自动添加到环境变量,需要自己手动配置如果您的shell是bash,进入终端,编辑环境变量文件~/.bash_profile, 输入如下内容如果您的shell是zsh,进入终端,编辑环境变量文件~/.zprofile,输入如下内容12export VOLTA_HOME=\"$HOME/.volta\"export PATH=\"$VOLTA_HOME/bin:$PATH\"Windows安装下载地址 目前最新版是 volta-1.1.1-windows-x86_64.msi安装过程中需要把360卫士之类的安全管家关闭掉,否则有可能无法自动添加到环境变量。安装完可以在命令行输入 volta 检查是否能正常运行。使用安装 node 和yarn123volta install node@11.0.0 // 安装 node 11.0.0版本volta install yarn@1.19 // 安装 yarn 1.19版本volta install node@latest // 安装 node 最新版本固定项目节点引擎(在项目根目录执行)12volta pin node@11.0.0volta pin yarn@1.19将Volta保存到package.json1234\"volta\": { \"node\": \"11.0.0\", \"yarn\": \"1.19.2\"}Volta 将 Node 引擎的确切版本保存在您的中package.json,以便您可以将您的选择提交到 git。从那时起,每次您在项目目录中运行 Node 时,Volta 都会自动切换到您选择的 Node 版本。同样,您的所有协作者都可以通过在其开发计算机上安装 Volta 来执行相同的操作。使用项目工具node和包管理工具可执行文件不是工具链中唯一的智能工具。工具链中的包二进制文件也可以识别当前目录并尊重当前项目结构。例如,安装 Typescript 包会将编译器可执行文件 ( tsc) 添加到工具链中。1npm install --global typescript根据您所在的项目,此可执行文件将切换到项目选择的 TypeScript 版本:12345cd /path/to/project-using-typescript-3.9.4tsc --version // 3.9.4cd /path/to/project-using-typescript-4.1.5tsc --version // 4.1.5不仅 Node 和 npm / Yarn 等包管理器,而且通过它们安装的包二进制文件都受到 Volta 的监控。因此,它会自动切换每个项目的版本。注:目前volta支持pnpm但是不支持全局安装 例如pnpm install -gVolta 命令这是命令行二进制文件的命令参考volta,其语法如下:123456789101112131415161718192021222324252627282930313233The JavaScript Launcher ⚡ To install a tool in your toolchain, use `volta install`. To pin your project's runtime or package manager, use `volta pin`.USAGE: volta [FLAGS] [SUBCOMMAND]FLAGS: --verbose Enables verbose diagnostics --quiet Prevents unnecessary output -v, --version Prints the current version of Volta -h, --help Prints help informationSUBCOMMANDS: fetch Fetches a tool to the local machine install Installs a tool in your toolchain uninstall Uninstalls a tool from your toolchain pin Pins your project's runtime or package manager list Displays the current toolchain completions Generates Volta completions which Locates the actual binary that will be called by Volta setup Enables Volta for the current user / shell run Run a command with custom Node, npm, pnpm, and/or Yarn versions help Prints this message or the help of the given subcommand(s)volta fetch 允许您将工具提取到本地缓存中,而无需将其设置为默认值或使其可用,以供将来离线使用。volta install 安装工具的默认版本。如果该工具尚未在本地缓存,它也会下载该工具。volta uninstall 允许您删除任何已安装的全局包volta install。volta pin 更新项目package.json文件以使用选定版本的工具。volta list 查看已安装的 Node 运行时、包管理器和带有二进制文件的包。volta completions 为您的 shell 生成命令完成信息。volta which 定位并打开 Volta 启动实际的二进制文件。volta setup 通过修改当前用户的 来volta setup启用 Volta (以依赖于平台的方式)以包含 Volta shim 目录。PATHvolta run 使用在命令行中指定的工具版本来运行您提供的命令。volta help 打印此消息或给定子命令的帮助。常用的命令用蓝色标注出来了,对比nvm的好处是无感自动切换版本(在项目目录执行的时候已经切换好版本了)。速度更快。workspaces如果在单个存储库中有多个项目,都共享 Volta 设置。“volta”在 中的部分中package.json,您可以使用 key 指定一个条目“extends”。该条目的值应该是另一个也有一个部分的 JSON 文件的路径”volta”。相对路径将相对于设置它们的文件进行解析。12345{ \"volta\": { \"extends\": \"../../package.json\" }}只需要仓库根目录执行volta pin 固定版本 子项目通过extends引入根项目的package.json就可以实现共享 Volta 设置。pnpm支持pnpm目前处于实验阶段。要启用它,请确保将环境变量VOLTA_FEATURE_PNPM设置为1。在 Windows 上,可以将其添加到系统设置中的用户或系统环境变量中。在 Linux/Mac 上,您可以在配置文件脚本中设置值(例如.bash_profile、.zshrc或类似的)。由于此支持是实验性的,因此可能存在一些悬而未决的问题。下面列出了一些已知的限制。全局安装目前,不支持全局安装(例如pnpm install -g),并且会导致错误。迁移目前没有自动迁移功能,因此如果您之前已pnpm作为 Volta 全局安装,则需要通过调用 手动重新安装它volta install pnpm。在启用支持并重新安装之前,您可以pnpm通过卸载以前安装的软件包volta uninstall pnpm。一旦切换到本机 pnpm 支持,您可能无法pnpm通过调用相同的命令来删除隔离的旧包,因为目前还缺乏卸载实现。Volta Could not download node如果碰见 volta install node@11.0.0报错 Volta Could not download node 可以手动下载安装包再执行 volta install node@11.0.0 就可以安装成功了。node下载地址然后找到对应版本Windows 下载 win-xnn.zip后缀 我这边下载的是 node-v11.0.0-win-x64.zipC:\\Users\\电脑账号名\\AppData\\Local\\Volta\\tools\\inventory\\node放到这个目录下再执行1volta install node@11.0.0注:如果你有修改过VOLTA_HOME 环境变量请把node 放到配置环境变量的地址。Volta error: Could not create shared environment for package如果npm or yarn 安装全局包出现这个报错,请使用管理员权限的命令行工具。参考voltaWindow下volta安装node失败解决方案","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Volta","slug":"Volta","permalink":"http://blog.langpz.com/tags/Volta/"}]},{"title":"nvm切换node版本 npm ERR! Unexpected token '.'","slug":"nvm切换node版本-npm-ERR-Unexpected-token","date":"2023-06-17T17:22:42.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"nvm切换node版本-npm-ERR-Unexpected-token.html","link":"","permalink":"http://blog.langpz.com/nvm切换node版本-npm-ERR-Unexpected-token.html","excerpt":"","text":"npm ERR! Unexpected token ‘.’nvm 1.1.9 版本切换高版本node后,执行npm命令报错 npm ERR! Unexpected token '.'解决方案卸载当前nvm 重新下载最新版本1.1.11,然后删除之前安装node 再重新下载。找到之前安装nvm的目录 unins000.exe 右键打开执行卸载流程。下载最新版安装完再执行nvm list 把之前安装node卸载重装就解决问题了。参考https://github.com/npm/cli/issues/4234","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"pinia使用指南","slug":"pinia使用指南","date":"2023-05-27T10:37:37.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"pinia使用指南.html","link":"","permalink":"http://blog.langpz.com/pinia使用指南.html","excerpt":"Pinia 是 Vue 的专属状态管理库,Vue3官网推荐使用Pinia,Pinia支持Vue2和Vue3。","text":"Pinia 是 Vue 的专属状态管理库,Vue3官网推荐使用Pinia,Pinia支持Vue2和Vue3。Pinia 对比 vuex没有了 mutations 这个概念只需要用 Action就可以定义同步和异步的方法没有了 modules Pinia里每个store是一个模块轻量化 Pinia 大小只有 1kb 左右!起步安装 pinia123yarn add pinia# 或者使用 npmnpm install piniaVue3使用123456789import { createApp } from 'vue'import { createPinia } from 'pinia'import App from './App.vue'const pinia = createPinia()const app = createApp(App)app.use(pinia)app.mount('#app')StoredefineStore来定义Store,每个store是一个模块1234567891011import { defineStore } from 'pinia'const countStore = defineStore('storeId', { state: () => { return { count: 0, } },})export { countStore };使用state12345678910111213141516171819const store = countStore()// 可以通过 store 实例访问 state,直接对其进行读写store.count++// 重置 statestore.$reset()// 变更 state 除了用 store.count++ 直接改变 store,你还可以调用 $patch 方法。它允许你用一个 state 的补丁对象在同一时间更改多个属性store.$patch({ count: store.count + 1, age: 120})// 订阅 statestore.$subscribe((mutation, state) => { // mutation.type // ‘direct’ | ‘patch object’ | ‘patch function’ // mutation.storeId // 'storeId' console.log(mutation, state);}, { detached: true });订阅$subscribemutation.typedirect 直接修改值patch object 通过 patch 传对象方式修改patch function 通过 patch 函数形式修改值detached: true 订阅器即便在组件卸载之后仍会被保留注: store.$state = { count: 24 } 不能完全替换掉 store 的 state,因为那样会破坏其响应性。要使用$patch来修改。GetterGetter 完全等同于 store 的 state 的计算值。可以通过 defineStore() 中的 getters 属性来定义它们。12345678910const countStore = defineStore('storeId', { state: () => { return { count: 0, } }, getters: { doubleCount: (state) => state.count * 2, },})使用和state一样。Getter也可以不依赖于state,可以使用其他 getter 来计算。ActionAction 相当于组件中的 method。它们可以通过 defineStore() 中的 actions 属性来定义。12345678910111213141516171819const countStore = defineStore('storeId', { state: () => { return { count: 0, } }, getters: { doubleCount: (state) => state.count * 2, }, actions: { increment() { this.count++ }, }})const store = countStore()// 直接使用actionsstore.increment()Action 里面不同区分同步还是异步,比vuex更简单和使用方便。订阅 action 通过 store.$onAction(callback, false) 来监听 action 和它们的结果。传递给它的回调函数会在 action 本身之前执行。after 表示在 promise 解决之后,允许你在 action 解决后执行一个回调函数。同样地,onError 允许你在 action 抛出错误或 reject 时执行一个回调函数。组件销毁会自动删除action 订阅器,如需保留可以传递第二个参数 true。1234567891011121314151617181920212223242526272829303132333435const store = countStore()const unsubscribe = store.$onAction( ({ name, // action 名称 store, // store 实例,类似 `countStore` args, // 传递给 action 的参数数组 after, // 在 action 返回或解决后的钩子 onError, // action 抛出或拒绝的钩子 }) => { // 为这个特定的 action 调用提供一个共享变量 const startTime = Date.now() // 这将在执行 \"store \"的 action 之前触发。 console.log(`Start \"${name}\" with params [${args.join(', ')}].`) // 这将在 action 成功并完全运行后触发。 // 它等待着任何返回的 promise after((result) => { console.log( `Finished \"${name}\" after ${ Date.now() - startTime }ms.\\nResult: ${result}.` ) }) // 如果 action 抛出或返回一个拒绝的 promise,这将触发 onError((error) => { console.warn( `Failed \"${name}\" after ${Date.now() - startTime}ms.\\nError: ${error}.` ) }) })// 手动删除监听器unsubscribe()访问其他 store 的 Store、 getter、 ActionPinia里每个store是一个模块,直接import 实例化 就可以使用其他store 的 Store、 getter、 Action。1234567891011121314151617181920212223242526272829303132333435363738394041export const ageStore = defineStore(\"ageStore\", { state: () => { return { age: 18 }; }, getters: { doubleAge: (state) => state.age * 2 }, actions: { increment() { this.age++; } }});// 引入 ageStore 并使用ageStore 的 Store、 getter、 Actionimport { ageStore } from \"./age\";const countStore = defineStore(\"storeId\", { state: () => { // 使用 ageStore 的 state const age = ageStore(); return { count: 0, age: age.age }; }, getters: { doubleCount: (state) => state.count * 2 }, actions: { increment() { // 使用 ageStore 的 actions const age = ageStore(); age.increment(); this.count++; } }});export { countStore };注: 两个或更多的 store 相互使用,它们不可以通过 getters 或 actions 创建一个无限循环。它们也不可以同时在它们的 setup 函数中直接互相读取对方的 state组合式API写法12345678export const useCounterStore = defineStore('counter', () => { const count = ref(0) function increment() { count.value++ } return { count, increment }})在 Setup Store 中:ref() 就是 state 属性computed() 就是 gettersfunction() 就是 actionsdemodemo参考pinia","categories":[],"tags":[{"name":"vue3.0","slug":"vue3-0","permalink":"http://blog.langpz.com/tags/vue3-0/"},{"name":"pinia","slug":"pinia","permalink":"http://blog.langpz.com/tags/pinia/"}]},{"title":"手写bind、call、apply方法实现","slug":"手写bind、call、apply方法实现","date":"2023-05-13T15:07:23.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写bind、call、apply方法实现.html","link":"","permalink":"http://blog.langpz.com/手写bind、call、apply方法实现.html","excerpt":"bind、call、apply方法常用于改调用函数并指定函数执行时的上下文(即this关键字的值)以及参数列表。例如将一个类数组对象转换为真正的数组,以便使用数组的方法、Object原型上的toString方法判断数据类型等功能。","text":"bind、call、apply方法常用于改调用函数并指定函数执行时的上下文(即this关键字的值)以及参数列表。例如将一个类数组对象转换为真正的数组,以便使用数组的方法、Object原型上的toString方法判断数据类型等功能。callcall 方法调用执行函数并用第一个参数改变函数执行时的上下文,可以传多个参数列表实现1234567891011Function.prototype.myCall = function(context, ...args) { // 有bug NaN 0 '' 也会指向window context = context || window // 使用Symbol 防止替换context属性 const symbol = Symbol(); // 通过x.xx() 执行改变 this 上下文 context[symbol] = this const result = context[symbol](...args); delete context[symbol]; return result;}测试一下12345678910111213var x = 1000function b(...arg) { console.log(this.x ,arg)}let a = { x: 1}b.call(a, 2, 3, 4)// 输出 1 [2, 3, 4] this 就变成 a 参数列表也打印了b.myCall(null, 2, 3, 4)// 输出 1000 [2, 3, 4] this 是windowdemoapplycall 方法调用执行函数并用第一个参数改变函数执行时的上下文,第二个参数是一个数组(或一个类数组对象)的形式提供的参数。 和call 的区别在于第二个参数 call 是参数列表实现1234567891011Function.prototype.myApply = function(context, args) { // 有bug NaN 0 '' 也会指向window context = context || window // 使用Symbol 防止替换context属性 const symbol = Symbol(); // 通过x.xx() 执行改变 this 上下文 context[symbol] = this const result = context[symbol](...args); delete context[symbol]; return result;}测试一下12345678910111213var x = 1000function b(...arg) { console.log(this.x ,arg)}let a = { x: 1}b.apply(a, [2, 3, 4])// 输出 1 [2, 3, 4] this 就变成 a 参数列表也打印了b.myApply(null, [2, 3, 4])// 输出 1000 [2, 3, 4] this 是windowdemobindbind方法和call、apply都不一样,先绑定context 上下文和参数,创建一个新的函数返回。参数将作为新函数的参数,供调用时使用。实现1234567Function.prototype.myBind = function(context, ...args1) { const fn = this; return function(...args2) { context = context || this; return fn.apply(context, [...args1, ...args2]); }}测试一下12345678910111213141516171819202122Function.prototype.myBind = function(context, ...args1) { const fn = this; return function(...args2) { context = context || this; return fn.apply(context, [...args1, ...args2]); }}var x = 1000function b(...arg) { console.log(this.x ,arg)}let a = { x: 1}let bind1 = b.bind(a, 2, [3, 4])bind1()// 输出 1 [2, [3, 4]]let bind2 = b.myBind(null, 2, [3, 4])bind2()// 输出 1000 [2, [3, 4]]","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"}]},{"title":"手写EventHub(发布订阅)","slug":"手写EventHub-发布订阅","date":"2023-04-29T14:07:39.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写EventHub-发布订阅.html","link":"","permalink":"http://blog.langpz.com/手写EventHub-发布订阅.html","excerpt":"EventHub 是一种事件发布-订阅模式的实现。订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(Event Channel),当发布者(Publisher)发布该事件(Publish Event)到调度中心,也就是该事件触发时,由调度中心统一调度(Fire Event)订阅者注册到调度中心的处理代码。","text":"EventHub 是一种事件发布-订阅模式的实现。订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(Event Channel),当发布者(Publisher)发布该事件(Publish Event)到调度中心,也就是该事件触发时,由调度中心统一调度(Fire Event)订阅者注册到调度中心的处理代码。实现每个实例有一个调度中心。负责存储消息与订阅者的对应关系,有消息触发时,负责通知订阅者。on方法订阅的事件注册(Subscribe)到调度中心。once方法只订阅一次,执行后移除订阅事件。off方法从调度中心移除订阅的事件。emit方法发布事件,并通过调度中心通知所有的订阅者1234567891011121314151617181920212223242526272829303132333435363738394041class EventHub { constructor() { // 调度中心 this.channel = {} } on(name, fn) { this.channel[name] = this.channel[name] || [] this.channel[name].push(fn) } off(name, fn) { const list = this.channel[name] || [] const index = list.indexOf(fn) if(index < 0) return list.splice(index, 1) } once(name, fn) { this.channel[name] = this.channel[name] || [] let one = (arg) => { fn.call(null, arg) } // 记录下绑定事件 one.fn = fn // 添加移除方法 one.off = () => { this.off(name, one) } this.on(name, one) } emit(name, data) { let list = this.channel[name] || [] let ones = [] list.forEach(fn => { fn.call(null, data) fn.off && ones.push(fn) }) // 移除once订阅事件、执行完再移除不会导致删除数组后执行顺序不对问题 ones.forEach(fn => fn.off()) }}测试123456789101112131415// 发布者let q = new EventHub()// 订阅者q.on('click', function(data) { console.log('on')})// 订阅者只订阅一次q.once('click', function() { console.log('once')})// 发布者发布消息通知click的订阅者q.emit('click')q.emit('click')// 输出 on、once、ondemodemo地址","categories":[],"tags":[{"name":"设计模式","slug":"设计模式","permalink":"http://blog.langpz.com/tags/设计模式/"},{"name":"EventHub,发布订阅","slug":"EventHub,发布订阅","permalink":"http://blog.langpz.com/tags/EventHub,发布订阅/"}]},{"title":"Vue3组合式API(Composition API)","slug":"Vue3组合式API(Composition API) ","date":"2023-04-22T11:36:22.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Vue3组合式API(Composition API) .html","link":"","permalink":"http://blog.langpz.com/Vue3组合式API(Composition API) .html","excerpt":"组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。组合式 API 是Vue 3 及 Vue 2.7 的内置功能。对于更老的 Vue 2 版本,可以使用官方维护的插件 @vue/composition-api。","text":"组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。组合式 API 是Vue 3 及 Vue 2.7 的内置功能。对于更老的 Vue 2 版本,可以使用官方维护的插件 @vue/composition-api。Vue3并没有强制必须要使用组合式 API (Composition API) 在Vue3中还是可以使用 选项式(Options API)的写法。什么是组合式 API?组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。它是一个概括性的术语,涵盖了以下方面的 API:响应式 API:例如 ref() 和 reactive(),使我们可以直接创建响应式状态、计算属性和侦听器。生命周期钩子:例如 onMounted() 和 onUnmounted(),使我们可以在组件各个生命周期阶段添加逻辑。依赖注入:例如 provide() 和 inject(),使我们可以在使用响应式 API 时,利用 Vue 的依赖注入系统。组合式 API优点提高代码逻辑的可复用性更灵活的代码组织对比选项式 API(Options API)1234567891011121314151617181920212223242526272829303132<script>export default { props: ['msg'], data() { return { count: 0, // 逻辑1的数据 name: 'langpz' // 逻辑2的数据 } }, methods: { onAdd() { // 逻辑1的⽅法 this.count++ }, getCount() { // 逻辑2的⽅法 this.count = Math.floor(Math.random() * 100) } }, computed: { helloText() { // 逻辑2的计算属性 return this.msg + ' ' + this.name } }, watch: { count() { // 逻辑1的Watch console.log('count 变了') } }, created() { this.getCount() // 逻辑2的初始化操作 }}</script>组合式 API (Composition API)123456789101112131415161718192021<script setup>import { ref, watch, computed, onMounted } from 'vue'const props = defineProps(['msg'])// 逻辑1的数据let count = ref(0)// 逻辑1的⽅法const onAdd = () => count.value++// 逻辑1的Watchwatch(count, (val, oldVal) => { console.log(`count 从${oldVal} 变成了 ${val}`)})// 逻辑2的⽅法const getCount = () => count.value = Math.floor(Math.random() * 100)// 逻辑2的初始化操作onMounted(getCount)// 逻辑2的数据let name = ref('langpz')// 逻辑2的计算属性let helloText = computed(() => props.msg + ' ' +name.value)</script>通过上面的例子相同的业务逻辑,组合式 API 里面同一个逻辑关注点相关的代码被归为了一组:我们无需再为了一个逻辑关注点在不同的选项块间来回滚动切换。此外,我们现在可以很轻松地将这一组代码移动到一个外部文件中,不再需要为了抽象而重新组织代码,大大降低了重构成本,这在长期维护的大型项目中非常关键。<script setup>在 setup() 函数中手动暴露大量的状态和方法非常繁琐。幸运的是,我们可以通过使用构建工具来简化该操作。当使用单文件组件(SFC)时,我们可以使用 <script setup> 来大幅度地简化代码。setup() 函数1234567891011121314151617181920212223import { reactive } from 'vue'export default { setup(props, context) { const state = reactive({ count: 0 }) function increment() { state.count++ } // 还需要把值和方法return 返回 return { state, increment } }}<template> <button @click=\"increment\"> {{ state.count }} </button></template><script setup>123456789101112131415<script setup>import { reactive } from 'vue'const state = reactive({ count: 0 })function increment() { state.count++}</><template> <button @click=\"increment\"> {{ state.count }} </button></template>响应式 APIref()接受一个内部值,返回一个响应式的、可更改的 ref 对象,此对象只有一个指向其内部值的属性 .value。如果在 <template> 可以不用写.value123456789const count = ref(0)console.log(count.value) // 0count.value++console.log(count.value) // 1<template> {{ count }}</template>给ref传一个对象内部会去调用reactive()reactive()返回一个对象的响应式代理。12345const state = reactive({ count: 0})state.count++console.log(state.count) // 1toRef()基于响应式对象上的一个属性,创建一个对应的 ref。这样创建的 ref 与其源属性保持同步:改变源属性的值也会同步关联修改。1234567891011121314const state = reactive({ foo: 1, bar: 2})const fooRef = toRef(state, 'foo')// 更改该 ref 会更新源属性fooRef.value++console.log(state.foo) // 2// 更改源属性也会更新该 refstate.foo++console.log(fooRef.value) // 3toRefs()将一个响应式对象转换为一个普通对象,这个普通对象的每个属性都是指向源对象相应属性的 ref。每个单独的 ref 都是使用 toRef() 创建的。1234567891011const state = reactive({ foo: 1, bar: 2})const stateAsRefs = toRefs(state)state.foo++console.log(stateAsRefs.foo.value) // 2stateAsRefs.foo.value++console.log(state.foo) // 3computed()接受一个 getter 函数,返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set 函数的对象来创建一个可写的 ref 对象。123456789101112const state = reactive({ count: 0,})const doubleCount = computed(() => { return state.count * 2})console.log(doubleCount.value) // 输出 0state.count++console.log(doubleCount.value) // 输出 2watch(source,callback,options)侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数。第一个参数是侦听器的源。第二个参数是在发生变化时要调用的回调函数。这个回调函数接受三个参数:新值、旧值,以及一个用于注册副作用清理的回调函数。当侦听多个来源时,回调函数接受两个数组,分别对应来源数组中的新值和旧值。第三个可选的参数是一个对象,支持以下这些选项:immediate:在侦听器创建时立即触发回调。 默认:falsedeep:如果源是对象,强制深度遍历,以便在深层级变更时触发回调。 当直接侦听一个响应式对象时,侦听器会自动启用深层模式。 默认:falseonTrack / onTrigger:调试侦听器的依赖。flush:调整回调函数的刷新时机。 ‘pre’ | ‘post’ | ‘sync’ 默认:’pre’默认情况下,用户创建的侦听器回调,都会在 Vue 组件更新之前被调用。这意味着你在侦听器回调中访问的 DOM 将是被 Vue 更新之前的状态。如果想在侦听器回调中能访问被 Vue 更新之后的 DOM,你需要指明 flush: ‘post’sync 同步调用123456const count = ref(0);watch(count, (newVal, oldVal) => { console.log(`count changed from ${oldVal} to ${newVal}`);});count.value++多个值123456789const count1 = ref(0);const count2 = ref(1);watch([count1, count2], ([newVal1, newVal2] , [oldVal1, oldVal2]) => { console.log(`count1 changed from ${oldVal1} to ${newVal1}`); console.log(`count2 changed from ${oldVal2} to ${newVal2}`);});count1.value++count2.value++当直接侦听一个响应式对象时,侦听器会自动启用深层模式:1234const state = reactive({ count: 0 })watch(state, () => { /* 深层级变更状态所触发的回调 */})停止侦听器:1234const stop = watch(source, callback)// 当已不再需要该侦听器时:stop()watchEffect(effect, options)立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。第一个参数就是要运行的副作用函数。会自动收集函数里面的依赖监听。第二个参数是一个可选的选项,可以用来调整副作用的刷新时机或调试副作用的依赖。onTrack / onTrigger:调试侦听器的依赖。flush:调整回调函数的刷新时机。 ‘pre’ | ‘post’ | ‘sync’ 默认:’pre’1234567const count = ref(0)watchEffect(() => console.log(count.value))// -> 输出 0count.value++// -> 输出 1和watch()用法一样,区别watchEffect可以自动收集需要监听的依赖。常用的响应式API就这些,更多API可以去官网查看生命周期钩子⽣命周期钩⼦写法微调,xxx变成 OnXxx,如mouted 变成 onMounted。created和beforeCreate不再需要。Vue2中 destroyed 和 beforeDestroy 在Vue3换了名字,换成 beforeUnmount 和 unmounted 。选项式 API组合式 APIbeforeCreatesetup()createdsetup()beforeMountonBeforeMountmountedonMountedbeforeUpdateonBeforeUpdateupdatedonUpdatedbeforeUnmountonBeforeUnmountunmountedonUnmountederrorCapturedonErrorCapturedrenderTrackedonRenderTrackedrenderTriggeredonRenderTriggeredactivatedonActivateddeactivatedonDeactivatedserverPrefetchonServerPrefetch","categories":[],"tags":[{"name":"vue3.0","slug":"vue3-0","permalink":"http://blog.langpz.com/tags/vue3-0/"},{"name":"组合式API","slug":"组合式API","permalink":"http://blog.langpz.com/tags/组合式API/"}]},{"title":"JavaScript的事件委托原理","slug":"JavaScript的事件委托原理","date":"2023-03-26T15:48:44.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"JavaScript的事件委托原理.html","link":"","permalink":"http://blog.langpz.com/JavaScript的事件委托原理.html","excerpt":"事件委托事件委托是JavaScript中常用的一种事件处理方式,也称为事件代理。它可以让我们在处理多个相似元素事件时,减少重复代码,提高性能和代码可维护性。","text":"事件委托事件委托是JavaScript中常用的一种事件处理方式,也称为事件代理。它可以让我们在处理多个相似元素事件时,减少重复代码,提高性能和代码可维护性。事件委托的原理是将事件绑定在元素的祖先元素上,然后通过事件冒泡的机制,把事件传播到目标元素。代码实现原始版12345678910111213<ul id=\"a\"> <li>11</li> <li>22</li> <li>33</li></ul>let a = document.querySelector('#a')let aLi = a.querySelectorAll('li')for (let i = 0; i < aLi.length; i++) { aLi[i].addEventListener('click', function(event) { console.log(event.target.innerText) })}给每个li添加一个click事件,如果数量过多每个LI都会添加事件这样会添加N个事件。委托版1234567891011121314<ul id=\"aa\"> <li>111</li> <li>222</li> <li> <span>333</span> </li></ul>let aa = document.querySelector('#aa')aa.addEventListener('click', function(event) { if (event.target.tagName.toLocaleLowerCase() == 'li') { console.log(event.target.innerText) }})通过把事件委托到祖先元素上冒泡机制触发,然后再判断用户是不是点击的是li再执行某些操作。但是这样写会有一个问题,li里面又包了一个span标签再点击li里面的span就不会再执行某些操作。最终版1234567891011121314151617181920212223242526<ul id=\"aaa\"> <li>1111</li> <li>2222</li> <li> <span>3333</span> </li></ul>function onEvent(element, eventType, selector, fn) { element.addEventListener(eventType, e => { let el = e.target while (!el.matches(selector)) { if (element === el) { el = null break } el = el.parentNode } el && fn.call(el, e, el) }) return element}onEvent(document.querySelector('#aaa'), 'click', 'li', function(ev, el) { console.log(el.innerText)})最终版利用Element.matches()来匹配。onEvent函数 最后封装好的方法第一个参数祖先元素,第二个参数绑定的事件第三个参数绑定的元素,可以是css选择器 例: ‘.ax img’、’”input[name=’xxx’]:checked”‘第四个参数触发的函数优点减少了DOM操作次数,提高了性能。事件委托利用事件冒泡机制,将事件绑定在父元素上,可以在子元素触发事件时进行响应,避免了对每个子元素都绑定事件的开销,减少了DOM操作次数,提高了性能。动态监听绑定事件,减少代码量。在动态添加子元素时,如果采用传统的事件绑定方式,需要对每个新添加的子元素都进行事件绑定操作,代码量会非常大。而事件委托只需要在父元素上绑定一次事件即可。缺点事件委托无法处理一些不能冒泡的事件,例如focus、blur等,需要对这些事件进行单独处理。调试比较复杂,不容易确定监听者。因为所有子元素的事件都被绑定在一个父元素上。DemoDemo地址","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"},{"name":"事件委托","slug":"事件委托","permalink":"http://blog.langpz.com/tags/事件委托/"}]},{"title":"解决Waline服务因vercel国内被墙无法使用","slug":"解决Waline服务因vercel国内被墙无法使用","date":"2023-03-04T16:40:24.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"解决Waline服务因vercel国内被墙无法使用.html","link":"","permalink":"http://blog.langpz.com/解决Waline服务因vercel国内被墙无法使用.html","excerpt":"Waline评论服务最近发现博客详情页面偶尔有报错,评论无法使用,查询发现是vercel被墙了。","text":"Waline评论服务最近发现博客详情页面偶尔有报错,评论无法使用,查询发现是vercel被墙了。解决方案自定义域名在你的域名下面添加一个新的子域名记录类型CNAME记录值cname.vercel-dns.com然后再去vercel 给你的Waline服务添加上刚才的子域名然后再把hexo博客里面Waline服务地址更换成刚才的子域名如果没有域名可以去https://my.freenom.com/ 注册免费的域名后续继续被墙可以考虑换服务或者套个cdn中转一下参考使用自定义域名激活Vercel部署的Waline服务","categories":[],"tags":[{"name":"Waline","slug":"Waline","permalink":"http://blog.langpz.com/tags/Waline/"},{"name":"vercel","slug":"vercel","permalink":"http://blog.langpz.com/tags/vercel/"}]},{"title":"Hexo博客从Travis-CI迁移到GitHub Actions","slug":"从Travis-CI迁移到GitHub-Actions","date":"2023-02-11T08:58:23.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"从Travis-CI迁移到GitHub-Actions.html","link":"","permalink":"http://blog.langpz.com/从Travis-CI迁移到GitHub-Actions.html","excerpt":"Hexo博客从Travis-CI迁移到GitHub Actions由于Travis-CI更改了免费政策,系统赠送的 10000 积分用完以后,就无法继续免费使用构建服务了。所以迁移到GitHub Actions。Github Actions每月2000分钟免费额度。","text":"Hexo博客从Travis-CI迁移到GitHub Actions由于Travis-CI更改了免费政策,系统赠送的 10000 积分用完以后,就无法继续免费使用构建服务了。所以迁移到GitHub Actions。Github Actions每月2000分钟免费额度。GitHub ActionsGitHub Actions 是 GitHub 的持续集成服务,于2018年10月推出。GitHub Actions 可帮助您在软件开发生命周期内自动执行任务。GitHub 操作是事件驱动的,这意味着您可以在发生指定事件后运行一系列命令。例如,每次有人为存储库创建拉取请求时,您都可以自动运行执行软件测试脚本的命令。GitHub Actions基本概念(1)workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。(2)events(事件):事件是触发工作流程的特定活动。例如,监听推送触发工作流程等。(3)job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。(4)step(步骤):每个 job 由多个 step 构成,一步步完成。(5)action (动作):每个 step 可以依次执行一个或多个命令(action)。(6)runners (运行器):运行器是安装了 GitHub Actions 运行器应用程序的服务器。workflows文件GitHub Actions 使用 YAML 语法来定义事件、作业和步骤。 这些 YAML 文件存储在代码仓库中名为 .github/workflows 的目录中。迁移首先在项目根目录下面创建 .github/workflows 目录和hexo.yml 文件。SecretId、SecretKey、CI_TOKEN 环境变量需要在仓库 -> Settings -> Actions secrets and variables -> New repository secret, 添加Secrets变量12345678910111213141516171819202122232425262728293031323334353637383940name: hexoon: push: branches: - indigoenv: GH_REF: github.com/lanpangzhi/lanpangzhi.github.io secretId: ${{ secrets.SECRETID }} secretKey: ${{ secrets.SECRETKEY }}jobs: build: runs-on: ubuntu-latest steps: - name: Checkout codes uses: actions/checkout@v3 with: submodules: 'true' - name: Setup node uses: actions/setup-node@v3 with: node-version: \"10.14.0\" - name: Install and Deploy run: | npm install hexo-cli -g npm install hexo generate hexo d - name: Deploy github run: | cd ./public git init git config user.name \"lanpangzhi\" git config user.email \"875727617@qq.com\" git add . git commit -m \"GitHub Actions 自动部署\" git push --force --quiet \"https://${{secrets.CI_TOKEN}}@${{env.GH_REF}}\" master:master注意环境变量获取和写法和Travis-CI不一样12${{env.GH_REF}} 对应 ${GH_REF} ${{secrets.CI_TOKEN}} 对应 ${CI_TOKEN} 因为是从配置Secrets变量直接拿所以要用 secrets.的方式git 子模块需要手动配置开启123- uses: actions/checkout@v3 with: submodules: true执行脚本12345steps: - name: Run build script run: | npm install hexo-cli -g npm install参考从 Travis CI 迁移到 GitHub Actions","categories":[],"tags":[{"name":"GitHub Actions","slug":"GitHub-Actions","permalink":"http://blog.langpz.com/tags/GitHub-Actions/"}]},{"title":"axios发送Basic Auth认证和Bearer Token","slug":"axios发送Basic-Auth认证和Bearer-Token","date":"2023-02-03T20:43:16.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"axios发送Basic-Auth认证和Bearer-Token.html","link":"","permalink":"http://blog.langpz.com/axios发送Basic-Auth认证和Bearer-Token.html","excerpt":"Basic Auth认证","text":"Basic Auth认证axios配置如下只需要增加 auth 参数即可,auth: {username: 'lanpz',password: '123456789'}。12345axios.post('xxx', {x: 1}, auth: {username: 'lanpz',password: '123456789'} , { headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }}).then(({data}) => console.log(data));Bearer Token在axios请求拦截器里面自定义下请求头即可。123service.interceptors.request.use(async request => { request.headers['Authorization'] = `Bearer ${token}`})","categories":[],"tags":[{"name":"axios","slug":"axios","permalink":"http://blog.langpz.com/tags/axios/"}]},{"title":"手写vue日历组件","slug":"手写vue日历组件","date":"2023-01-14T18:28:52.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写vue日历组件.html","link":"","permalink":"http://blog.langpz.com/手写vue日历组件.html","excerpt":"手写vue日历组件vue版本vue2,样式和参数参考element-ui的Calendar组件。自动补全上一月和下一月空白日期,支持周起始日设置,单元格日期自定义插槽,自定义右侧头部插槽。坑点:闰年2月29天处理","text":"手写vue日历组件vue版本vue2,样式和参数参考element-ui的Calendar组件。自动补全上一月和下一月空白日期,支持周起始日设置,单元格日期自定义插槽,自定义右侧头部插槽。坑点:闰年2月29天处理处理闰年问题代码1234567891011121314151617181920212223242526272829//判断是否为闰年funtion isLeapYear(year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;}//获取当月的天数funtion getDaysOfMonth(dateStr) { var date = new Date(dateStr); var year = date.getFullYear(); var mouth = date.getMonth() + 1; var day = 0; if (mouth == 2) { day = isLeapYear(year) ? 29 : 28; } else if ( mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth == 12 ) { day = 31; } else { day = 30; } return day;},完整代码分为头部和日历天数区域,dom结构和样式代码参数v-model 绑定值 Date, String, Numberfirst-day-of-week 周起始日 Number 默认值 1123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239<template> <div class=\"calendar\"> <div class=\"calendar-header\"> <div class=\"left\"> <span class=\"month\">{{ value.toString(\"yyyy年MM月\") }}</span> <button @click=\"btnChangeMonth('prevMonth')\">上个月</button> <button style=\"margin-left: 10px\" @click=\"btnChangeMonth('nextMonth')\"> 下个月 </button> </div> <div class=\"right\"> <!-- 自定义右侧头部插槽 --> <slot name=\"right-header\"></slot> </div> </div> <div class=\"calendar-body\"> <table class=\"table\"> <thead> <tr> <td> {{ week[firstDayOfWeek] }} </td> <td v-for=\"item in week.length - 1 - firstDayOfWeek\" :key=\"week[item + firstDayOfWeek]\" > {{ week[item + firstDayOfWeek] }} </td> <td v-for=\"item in firstDayOfWeek\" :key=\"week[item - 1]\"> {{ week[item - 1] }} </td> </tr> </thead> <tbody> <tr v-for=\"(item, index) in days.length / 7\" :key=\"index\"> <td :class=\"{ empty: !days[day + index * 7 - 1].date }\" v-for=\"day in 7\" :key=\"day + index * 7\" > <!-- 单元格日期自定义插槽 --> <slot name=\"dateCell\" :row=\"days[day + index * 7 - 1]\"> {{ days[day + index * 7 - 1] && days[day + index * 7 - 1].date.split(\"-\")[2] }} </slot> </td> </tr> </tbody> </table> </div> </div></template><script>export default { name: \"Calendar\", model: { prop: \"value\", event: \"monthChange\", }, props: { value: [Date, String, Number], firstDayOfWeek: { type: Number, default: 1, }, }, data() { return { week: [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"], days: [], }; }, methods: { btnChangeMonth(month) { // 上一月 if (month === \"prevMonth\") { this.$emit(\"monthChange\", this.getPrevNextMonth(this.value, -1)); } // 下一月 if (month === \"nextMonth\") { this.$emit(\"monthChange\", this.getPrevNextMonth(this.value, 1)); } }, init() { const date = this.value; const time = date.toString(\"yyyy-MM\"); const firstDayOfWeek = this.firstDayOfWeek; // 当月周一是星期几 0-6 0是星期日 const days = this.getMonthDay(date); const fillDay = []; let day = []; // 一个月多少天 const monthDay = this.getDaysOfMonth(date); // 补全空格上月日期 const fill = (7 + days - firstDayOfWeek) % 7; for (let i = 0; i < fill; i++) { fillDay.push({ date: \"\" }); } for (let j = 1; j <= monthDay; j++) { let d = j.toString().padStart(2, \"0\"); day.push({ date: time + \"-\" + d }); } day = [...fillDay, ...day]; // 补全空格下个月日期 while (day.length % 7 != 0) { day.push({ date: \"\" }); } this.$set(this, \"days\", day); }, //获取当月的天数 getDaysOfMonth(dateStr) { var date = new Date(dateStr); var year = date.getFullYear(); var mouth = date.getMonth() + 1; var day = 0; if (mouth == 2) { day = this.isLeapYear(year) ? 29 : 28; } else if ( mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth == 12 ) { day = 31; } else { day = 30; } return day; }, //判断是否为闰年 isLeapYear(year) { return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; }, /** * 获取上一月或者下一个月 * @param now 日期 * @param addMonths 传-1 上个月,传1 下个月 */ getPrevNextMonth(now, addMonths) { var dd = new Date(now); var m = dd.getMonth() + 1; var y = dd.getMonth() + 1 + addMonths > 12 ? dd.getFullYear() + 1 : dd.getFullYear(); if (m + addMonths == 0) { y = y - 1; m = 12; } else { if (m + addMonths > 12) { m = \"01\"; } else { m = m + 1 < 10 ? \"0\" + (m + addMonths) : m + addMonths; } } return new Date(y, m, 0); }, // 获取月份1号是周几 getMonthDay(date) { var d = new Date(date); const y = d.getFullYear(); const m = d.getMonth(); return new Date(y, m, 1).getDay(); }, }, created() { this.init(); }, watch: { value(val) { this.init(); }, },};</script><style rel=\"stylesheet/scss\" lang=\"scss\" scoped>.calendar { width: 100%; background: #fff; .calendar-header { overflow: hidden; .left { float: left; .month { display: inline-block; width: 96px; font-size: 16px; line-height: 32px; font-weight: 500; color: #333; } } .right { float: right; } } .calendar-body { width: 100%; padding: 0 1px; overflow-y: auto; .table { width: 100%; border-collapse: collapse; box-sizing: border-box; thead { td { padding: 8px 0; text-align: center; } } tbody { td { width: 14.28%; height: 80px; border: 1px solid #ebeef5; font-size: 18px; padding: 8px 14px; color: #666; &.empty { background: #f9f9f9; } } } } }}</style>用法所有插槽和参数的用法1234567891011121314// 自定义左侧头部<Calendar v-model=\"new Date()\"> <div slot=\"right-header\" style=\"color: red\">自定义左侧头部</div></Calendar>// 自定义日期<Calendar v-model=\"new Date()\"> <template slot=\"dateCell\" slot-scope=\"scope\"> {{ scope.row.date.split(\"-\").slice(1).join(\"-\") }} </template></Calendar>// 自定义周起始日<Calendar v-model=\"new Date()\" :first-day-of-week=\"0\"> </Calendar>demodemo地址","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"}]},{"title":"手写Promise.allsettled方法","slug":"手写Promise-allsettled方法","date":"2022-11-05T11:21:30.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写Promise-allsettled方法.html","link":"","permalink":"http://blog.langpz.com/手写Promise-allsettled方法.html","excerpt":"手写Promise.allsettled方法之前实现过Promsie.all方法,但是all这个方法如果有一个失败了就相当于全部失败了,这种对体验和交互都不友好,Promise.allsettled就是改进版,有失败还会继续执行,等所有的Promsie执行完返回一个对象数组。","text":"手写Promise.allsettled方法之前实现过Promsie.all方法,但是all这个方法如果有一个失败了就相当于全部失败了,这种对体验和交互都不友好,Promise.allsettled就是改进版,有失败还会继续执行,等所有的Promsie执行完返回一个对象数组。Promise.allsettled方法和Promsie.all方法接收参数一样。执行完返回一个数组对象每个结果对象,都有一个 status 字符串。如果它的值为 fulfilled,则结果对象上存在一个 value 。如果值为 rejected,则存在一个 reason 。代码实现1234567891011121314151617181920212223242526272829Promise.myAllsettled = function(list) { if (list.length === 0) return Promise.resolve([]) const results = [] let count = 0 const settled = (index, status, res, resolve) => { results[index] = { status, ...res } count += 1 if (count == list.length) { resolve(results) } } return new Promise((resolve) => { list.map((item, index) => { // 把数据都处理成Promise Promise.resolve(item).then( res => { settled(index, 'fulfilled', {value: res}, resolve) }, err => { settled(index, 'rejected', {reason: err}, resolve) } ) }) })}demodemo地址参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled","categories":[],"tags":[{"name":"Promise","slug":"Promise","permalink":"http://blog.langpz.com/tags/Promise/"}]},{"title":"Debian9安装设置Fail2ban","slug":"Debian9安装设置Fail2ban","date":"2022-10-22T14:47:31.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Debian9安装设置Fail2ban.html","link":"","permalink":"http://blog.langpz.com/Debian9安装设置Fail2ban.html","excerpt":"Fail2banfail2ban是一款入侵防御软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。可以防止别人恶意扫描和暴力破解SSH密码。","text":"Fail2banfail2ban是一款入侵防御软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。可以防止别人恶意扫描和暴力破解SSH密码。安装Python2 >= 2.7 or Python >= 3.21234// 更新系统apt update && apt upgrade -y// 安装apt install fail2ban修改配置文件vi /etc/fail2ban/jail.conf12345678[DEFAULT]// 封禁时间秒,设置了一年。bantime = 31536000 // 重试时间秒,这里设置了24小时。findtime = 86400 // 最大尝试次数 2。maxretry = 2创建本地规则配置vi /etc/fail2ban/jail.d/jail-debian.local1234[sshd]port = 你的ssh端口// 最大重试次数,2。maxentry = 2以上配置都保存后执行重启命令1systemctl restart fail2ban常用命令启动 systemctl start fail2ban停止 systemctl stop fail2ban重启 systemctl restart fail2ban移除被封的IP fail2ban-client set sshd unbanip 1.1.2.2(要解禁的IP)查看 sshd 封禁情况 fail2ban-client status sshdfail2ban状态 service fail2ban status","categories":[],"tags":[{"name":"Debian9","slug":"Debian9","permalink":"http://blog.langpz.com/tags/Debian9/"},{"name":"Fail2ban","slug":"Fail2ban","permalink":"http://blog.langpz.com/tags/Fail2ban/"}]},{"title":"el-date-picker日期范围设置选择区间","slug":"el-date-picker日期范围设置选择区间","date":"2022-10-01T09:48:14.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"el-date-picker日期范围设置选择区间.html","link":"","permalink":"http://blog.langpz.com/el-date-picker日期范围设置选择区间.html","excerpt":"el-date-picker日期范围设置选择区间el-date-picker组件type=”daterange” 选择日期范围的时候需要设置一个区间,官方api没直接提供参数,这个时候需要通过组件Picker Options来实现。","text":"el-date-picker日期范围设置选择区间el-date-picker组件type=”daterange” 选择日期范围的时候需要设置一个区间,官方api没直接提供参数,这个时候需要通过组件Picker Options来实现。代码用到了onPick(选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效) 和 disabledDate(设置禁用状态,参数为当前日期,要求返回 Boolean ), onPick触发就代表选中了第一个日期,根据第一个日期算出来选择范围。disabledDate 根据范围禁用不可选日期。12345678910111213141516171819202122232425262728293031323334data() { return { daterange: { maxTime: \"\", // 最大日期 minTime: \"\", // 最小日期 max: 30, // 限制范围 30天 }, pickerOptions: { onPick: time => { // 如果没有选择时间 if (!time.maxDate) { // 算出时间范围(30天) let timeRange = this.daterange.max * 24 * 60 * 60 * 1000; // 算出最大时间和最小时间 this.daterange.minTime = time.minDate.getTime() - timeRange; this.daterange.maxTime = time.minDate.getTime() + timeRange; } else { // 如果选了两个时间,那就清空本次范围判断数据,以备重选 this.daterange.maxTime = \"\"; this.daterange.minTime = \"\"; } }, disabledDate: time => { // 禁用不可选日期 if (this.daterange.minTime && this.daterange.maxTime) { return ( time.getTime() < this.daterange.minTime || time.getTime() > this.daterange.maxTime ); } } } }}demo地址","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"},{"name":"element-ui","slug":"element-ui","permalink":"http://blog.langpz.com/tags/element-ui/"}]},{"title":"手写Promise.race方法","slug":"手写Promise-race方法","date":"2022-09-10T17:57:26.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写Promise-race方法.html","link":"","permalink":"http://blog.langpz.com/手写Promise-race方法.html","excerpt":"手写Promsie.race方法需求分析Promsie.race方法接收一个参数 Promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型),返回一个新的Promsie数组里其中一个Promise失败或者成功,则将执行对应的回调。就采用第一个 promise 的值作为它的值","text":"手写Promsie.race方法需求分析Promsie.race方法接收一个参数 Promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型),返回一个新的Promsie数组里其中一个Promise失败或者成功,则将执行对应的回调。就采用第一个 promise 的值作为它的值123456789101112131415Promise.myRace = function(list) { return new Promise((resolve, reject) => { list.map((item, index) => { // 把数据都处理成Promise Promise.resolve(item).then( res => { resolve(res) }, err => { reject(err) } ) }) })}demodemo地址","categories":[],"tags":[{"name":"Promise","slug":"Promise","permalink":"http://blog.langpz.com/tags/Promise/"}]},{"title":"手写Promsie.all方法","slug":"手写Promsie-all方法","date":"2022-07-27T20:44:39.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写Promsie-all方法.html","link":"","permalink":"http://blog.langpz.com/手写Promsie-all方法.html","excerpt":"手写Promsie.all方法需求分析Promsie.all方法接收一个参数 Promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型),返回一个新的Promsie数组里其中一个Promise失败会导致Promise.all 失败所有Promise resolve 回调的结果是一个数组","text":"手写Promsie.all方法需求分析Promsie.all方法接收一个参数 Promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型),返回一个新的Promsie数组里其中一个Promise失败会导致Promise.all 失败所有Promise resolve 回调的结果是一个数组代码实现123456789101112131415161718192021Promise.myAll = function(list) { const results = [] let count = 0 return new Promise((resolve, reject) => { list.map((item, index) => { // 把数据都处理成Promise Promise.resolve(item).then( res => { results[index] = res count += 1 if (count == list.length) { resolve(results) } }, err => { reject(err) } ) }) })}demodemo地址参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/all","categories":[],"tags":[{"name":"Promise","slug":"Promise","permalink":"http://blog.langpz.com/tags/Promise/"}]},{"title":"手写简易Promise","slug":"手写简易Promise","date":"2022-06-28T21:32:50.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"手写简易Promise.html","link":"","permalink":"http://blog.langpz.com/手写简易Promise.html","excerpt":"手写简易PromisePromise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。","text":"手写简易PromisePromise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。一个 Promise 必然处于以下几种状态之一:状态改变后是不可逆的。待定(pending):初始状态,既没有被兑现,也没有被拒绝。已兑现(fulfilled):意味着操作成功完成。已拒绝(rejected):意味着操作失败。两个参数resolve, reject 都是函数来改变Promise 状态的。由 JavaScript 引擎提供。resolve() 成功,把Promise状态设置为fulfilled,在异步操作成功时调用,并将异步操作的结果,作为参数传递出去。reject() 失败,把Promise状态设置为rejected,在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。实现1234567891011121314151617181920212223242526272829303132333435class MyPromise { status = 'pending' resloveQueue = [] rejectQueue = [] constructor(fn) { const reslove = data => { if(this.status !== 'pending') return; this.status = 'fulfilled'; setTimeout(_ => { this.resloveQueue.forEach(fnQueue => { fnQueue && fnQueue(data) }) }) } const reject = errer => { if(this.status !== 'pending') return; this.status = 'rejected'; setTimeout(_ => { this.rejectQueue.forEach(fnQueue => { fnQueue && fnQueue(errer) }) }) } fn(reslove, reject) } then(fn, ErrFn) { this.resloveQueue.push(fn) this.rejectQueue.push(ErrFn) return this }}测试123456789101112const p1 = new MyPromise((resolve, reject)=>{ console.log('hi2'); if(Math.random()>0.5){ resolve('大') }else{ reject('小') }})p1.then((data)=>{console.log(+ '/' +'成功1')}, (errer)=>{console.log(+ '/' +'失败1')}).then(()=>{console.log('成功2')}, ()=>{console.log('失败2')}).then(()=>{console.log('成功3')}, ()=>{console.log('失败3')})console.log('end');demodemo地址参考https://es6.ruanyifeng.com/#docs/promise","categories":[],"tags":[{"name":"Promise","slug":"Promise","permalink":"http://blog.langpz.com/tags/Promise/"}]},{"title":"拯救被墙的ip,v2ray使用cloudflare中转流量","slug":"拯救被墙的ip-v2ray使用cloudflare中转流量","date":"2022-05-25T18:40:58.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"拯救被墙的ip-v2ray使用cloudflare中转流量.html","link":"","permalink":"http://blog.langpz.com/拯救被墙的ip-v2ray使用cloudflare中转流量.html","excerpt":"拯救被墙的ip最近ip又被墙了,只能套cloudflare通过cdn来中转v2ray的WebSocket 流量,搬瓦工付费换ip太贵,也容易继续被墙。坏处就是速度变慢,时不时抽风连不上。v2ray我这里使用的是V2Ray一键安装脚本https://github.com/233boy/v2ray/tree/master","text":"拯救被墙的ip最近ip又被墙了,只能套cloudflare通过cdn来中转v2ray的WebSocket 流量,搬瓦工付费换ip太贵,也容易继续被墙。坏处就是速度变慢,时不时抽风连不上。v2ray我这里使用的是V2Ray一键安装脚本https://github.com/233boy/v2ray/tree/master首先注册一个免费域名https://my.freenom.com/ 最好先注册一个免费的顶级域名。最长一年时间,域名期限在到期14天内可以重复续上一年时间。注:freenom 这个网站的个人信息地址要和申请注册ip地址一样否则申请域名失败。Cloudflarehttps://dash.cloudflare.com/login注册一个账号,然后好给你的域名提供cdn加速。注册完之后添加站点这个时候输入您刚注册的域名。添加域名解析和域名设置自定义dnsCloudflare 找到刚才添加的站点左侧菜单dns,找到Cloudflare 名称服务器会有两个地址,把两个地址添加到 freenom 网站上域名自定义dns 服务器设置上。管理 (你的域名) 的 DNS添加记录,添加一个 A 记录的域名解析,假设你的域名是 langpz.com,并且想要使用 www.langpz.com 作为翻墙的域名。那么在 DNS 那里配置,Name 写 www,IPv4 address 写你的 VPS IP,务必把云朵点灰, 保存解析记录即可。(如果你已经添加域名解析,请务必把云朵点灰。)VPS设置v2ray如果没安装就去安装,安装的改下协议,传输协议选择 WebSocket + TLS (即是选择 4 ),V2Ray 端口随便,不要是 80 和 443 即可,然后输入你的域名,域名解析 Y ,自动配置 TLS 也是 Y ,其他就默认吧,一路回车。等待安装完成。然后输入 v2ray status 查看一下运行状态,请确保 V2Ray 和 Caddy 都在运行收尾然后去dns 解析那里把云朵点亮,再进入左侧菜单SSL/TLS 勾选 完全(严格)v2ray info 或者 v2ray qr 生成 V2Ray 配置二维码链接把配置添加到你的客户端。就可以正常使用了。参考https://github.com/233boy/v2ray/wiki/%E4%BD%BF%E7%94%A8Cloudflare%E4%B8%AD%E8%BD%ACV2Ray%E6%B5%81%E9%87%8F","categories":[],"tags":[{"name":"v2ray","slug":"v2ray","permalink":"http://blog.langpz.com/tags/v2ray/"},{"name":"cloudflare","slug":"cloudflare","permalink":"http://blog.langpz.com/tags/cloudflare/"},{"name":"被墙","slug":"被墙","permalink":"http://blog.langpz.com/tags/被墙/"}]},{"title":"Node.js使用Nodemailer发送邮件通知","slug":"Node-js使用Nodemailer发送邮件通知","date":"2022-02-28T19:53:15.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Node-js使用Nodemailer发送邮件通知.html","link":"","permalink":"http://blog.langpz.com/Node-js使用Nodemailer发送邮件通知.html","excerpt":"Node.js使用Nodemailer发送邮件通知Nodemailer是一个用于 Node.js 应用程序的模块,可以轻松发送电子邮件。支持Windows系统,使用要求Node.js v6.0.0或更新版本。","text":"Node.js使用Nodemailer发送邮件通知Nodemailer是一个用于 Node.js 应用程序的模块,可以轻松发送电子邮件。支持Windows系统,使用要求Node.js v6.0.0或更新版本。安装Nodemailer123yarn add nodemailer ornpm i nodemailer使用这里使用qq邮箱发送邮件,开启SMTP教程12345678910111213141516171819202122const nodemailer = require('nodemailer');// 1.创建一个Nodemailer smtp传输对象transporter = nodemailer.createTransport({ host: 'smtp.qq.com', port: '465', secureConnection: true, secure: false, // true for 465, false for other ports auth: { user:'SMTP邮箱名', pass: 'SMTP授权码' }});// 2. 配置消息const data = { subject: '标题', from: '发送邮箱' to: '接收邮箱、多邮箱拿,号分割', html: '支持发送html', text: '文本内容'}// 3. 发送transporter.sendMail(data)更多使用方法参考文档参考https://github.com/nodemailer/nodemailer","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"js浮点运算0.1+0.2 = 0.30000000000000004","slug":"js浮点运算0-1-0-2-0-30000000000000004","date":"2021-12-31T19:30:53.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"js浮点运算0-1-0-2-0-30000000000000004.html","link":"","permalink":"http://blog.langpz.com/js浮点运算0-1-0-2-0-30000000000000004.html","excerpt":"js浮点运算0.1+0.2 == 0.30000000000000004由于JavaScript的Number类型为双精度IEEE 754 64位浮点类型。计算的时候会将超出精度部分进行”零舍一入”。导致 0.1+0.2 = 0.30000000000000004,其他采用IEEE 754标准的语言也有误差,可以去这个网站上查看https://0.30000000000000004.com/。","text":"js浮点运算0.1+0.2 == 0.30000000000000004由于JavaScript的Number类型为双精度IEEE 754 64位浮点类型。计算的时候会将超出精度部分进行”零舍一入”。导致 0.1+0.2 = 0.30000000000000004,其他采用IEEE 754标准的语言也有误差,可以去这个网站上查看https://0.30000000000000004.com/。解决方案可以用第三方库来解决,或者如果是一位小数x10后再运算后再除以10decimal.js12let x = new Decimal(0.1)x = x.plus(0.2) // '0.3'demohttps://github.com/MikeMcl/decimal.jsmathjs12let x = math.format(0.1+0.2, {notation: 'fixed', precision: 1}) // '0.3'// precision 保留几位小数demohttps://github.com/josdejong/mathjs参考IEEE 754标准https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"}]},{"title":"vue-cli4配置生产环境删除console.log","slug":"vue-cli4配置生产环境删除console-log","date":"2021-11-26T19:49:17.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue-cli4配置生产环境删除console-log.html","link":"","permalink":"http://blog.langpz.com/vue-cli4配置生产环境删除console-log.html","excerpt":"vue-cli4配置生产环境删除console.log使用 babel-plugin-transform-remove-console 插件去配置删除console.log","text":"vue-cli4配置生产环境删除console.log使用 babel-plugin-transform-remove-console 插件去配置删除console.log安装使用123npm install babel-plugin-transform-remove-console --save-devoryarn add babel-plugin-transform-remove-console -D然后找到src下面的babel.config.js文件修改1234567891011121314const prodPlugins = []// 生产环境添加plugins,排除console.error 和console.warnif (process.env.NODE_ENV === 'production') { prodPlugins.push([\"transform-remove-console\", { \"exclude\": [ \"error\", \"warn\"] }])}module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ ...prodPlugins ]}参考https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-remove-console","categories":[],"tags":[{"name":"vue-cli4","slug":"vue-cli4","permalink":"http://blog.langpz.com/tags/vue-cli4/"}]},{"title":"vue3中引入element-plus的Icon","slug":"vue3中引入element-plus的Icon","date":"2021-11-20T10:52:58.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue3中引入element-plus的Icon.html","link":"","permalink":"http://blog.langpz.com/vue3中引入element-plus的Icon.html","excerpt":"vue3中引入element-plus的Icon最近使用element-plus开发项目,发现element-plus废弃了Font Icon 使用了 SVG Icon。需要在全局注册组件,或者按需引用。","text":"vue3中引入element-plus的Icon最近使用element-plus开发项目,发现element-plus废弃了Font Icon 使用了 SVG Icon。需要在全局注册组件,或者按需引用。安装123$ yarn add @element-plus/icons# 或者$ npm install @element-plus/icons全局引用在main.js 全局注册组件。123456789101112import * as Icons from '@element-plus/icons'const app = createApp(App)// 注册Icons 全局组件Object.keys(Icons).forEach(key => { app.component(key, Icons[key])})// 在vue文件使用<el-icon color=\"#409EFC\" class=\"no-inherit\"> <share /></el-icon>就可以在vue文件里面直接使用图标了。按需引用对应的vue文件中直接import图标。123456import { Edit } from '@element-plus/icons'// 在vue文件使用<el-icon color=\"#409EFC\" class=\"no-inherit\"> <edit /></el-icon>参考https://element-plus.gitee.io/zh-CN/component/icon.html","categories":[],"tags":[{"name":"vue3.0","slug":"vue3-0","permalink":"http://blog.langpz.com/tags/vue3-0/"},{"name":"element-plus","slug":"element-plus","permalink":"http://blog.langpz.com/tags/element-plus/"}]},{"title":"js函数防抖和节流的区别和代码实现","slug":"js函数防抖和节流的区别和代码实现","date":"2021-10-24T13:13:10.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"js函数防抖和节流的区别和代码实现.html","link":"","permalink":"http://blog.langpz.com/js函数防抖和节流的区别和代码实现.html","excerpt":"js函数防抖和节流的区别","text":"js函数防抖和节流的区别函数防抖:触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。例如游戏角色放技能被打断了,然后重新释放技能,重新计算释放时间。函数节流:高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。就相当于游戏角色有霸体释放技能无法被打断。3秒一个技能,不管中间发生了什么。防抖函数1234567891011function debounce(fn, delay) { var timer = null; return function() { clearTimeout(timer); var that = this, args = arguments; timer = setTimeout(function() { fn.apply(that, args) }, delay) }}一般用于input或者srcoll事件上。输入框搜索防止输入过快向后端发很多个请求,就是限制多长时间才能执行一次。重复操作会重新计算时间。节流函数1234567891011121314151617function throttle(fn, delay) { var timer = null, flag = false; return function() { if (flag) { return } flag = true var that = this, args = arguments; timer = setTimeout(function() { clearTimeout(timer); flag = false fn.apply(that, args) }, delay) }}一般用于mousemove或者resize事件上,避免触发N次事件,限制多少毫秒内只能执行一次,提高性能。demohttps://jsbin.com/budazewure/edit?html,console,output","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"},{"name":"面试题","slug":"面试题","permalink":"http://blog.langpz.com/tags/面试题/"}]},{"title":"vue3的生命周期","slug":"vue3的生命周期","date":"2021-10-16T15:56:13.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue3的生命周期.html","link":"","permalink":"http://blog.langpz.com/vue3的生命周期.html","excerpt":"vue3的生命周期vue3的生命周期对比vue2没有大的改变,只有beforeDestroy和destroyed换了名字,换成beforeUnmount和unmounted。注:如果在组合式API里面使用生命周期的变动就多了。","text":"vue3的生命周期vue3的生命周期对比vue2没有大的改变,只有beforeDestroy和destroyed换了名字,换成beforeUnmount和unmounted。注:如果在组合式API里面使用生命周期的变动就多了。生命周期图示vue2生命周期https://blog.langpz.com/vue%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.html参考https://v3.cn.vuejs.org/guide/instance.html#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%9B%BE%E7%A4%BA","categories":[],"tags":[{"name":"vue3.0","slug":"vue3-0","permalink":"http://blog.langpz.com/tags/vue3-0/"},{"name":"生命周期","slug":"生命周期","permalink":"http://blog.langpz.com/tags/生命周期/"}]},{"title":"切换node版本项目Saas报错","slug":"切换node版本项目Saas报错","date":"2021-09-24T21:18:41.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"切换node版本项目Saas报错.html","link":"","permalink":"http://blog.langpz.com/切换node版本项目Saas报错.html","excerpt":"切换node版本项目Saas报错Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime","text":"切换node版本项目Saas报错Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime解决方案123yarn add --force node-sassornpm rebuild node-sass如果还不能运行,建议先卸载node-sass再重新安装。123npm uninstall node-sass && npm install node-sassoryarn remove node-sass && yarn add node-sass --dev参考https://stackoverflow.com/questions/37415134/error-node-sass-does-not-yet-support-your-current-environment-windows-64-bit-w","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"},{"name":"yarn","slug":"yarn","permalink":"http://blog.langpz.com/tags/yarn/"}]},{"title":"js获取图片文件宽度和高度","slug":"js获取图片文件宽度和高度","date":"2021-08-29T10:15:39.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"js获取图片文件宽度和高度.html","link":"","permalink":"http://blog.langpz.com/js获取图片文件宽度和高度.html","excerpt":"js获取图片文件宽度和高度这里利用FileReader对象来获取图片宽高。","text":"js获取图片文件宽度和高度这里利用FileReader对象来获取图片宽高。代码如下1234567891011const reader = new FileReader()// 获取base64格式字符串文件内容reader.readAsDataURL(file)reader.onload = function(data) { const img = new Image() img.src = data.target.result let that = this img.onload = function() { console.log(this.width, this.height) }}demohttps://jsbin.com/xalukapolu/edit?html,console,output参考https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"}]},{"title":"css粘性定位实现table表头和列固定","slug":"css实现table表头和列固定","date":"2021-08-22T21:12:07.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"css实现table表头和列固定.html","link":"","permalink":"http://blog.langpz.com/css实现table表头和列固定.html","excerpt":"css实现table表头和列固定需求分析:实现table表头和固定列定位,滚动位置不变,这里采用positons: sticky粘性定位来实现。","text":"css实现table表头和列固定需求分析:实现table表头和固定列定位,滚动位置不变,这里采用positons: sticky粘性定位来实现。样式代码具体结构去看demo12345678910111213141516171819202122232425262728293031323334353637#table { width: 300px; height: 300px; overflow: auto; border: 1px solid;}#table div { width: 50px; height: 50px; text-align: center;}#table thead div{ background: red}#table tbody td:first-child div { background: yellow;}#table thead th { position: sticky; top: 0;}#table thead th { position: sticky; top: 0; z-index: 2}#table tbody td:first-child,#table thead th:first-child { position: sticky; left: 0;}#table thead th:first-child { z-index: 3}直接设置position: sticky; left和top就可以实现了,注意,一个sticky元素会“固定”在离它最近的一个拥有“滚动机制”的祖先上(当该祖先的overflow 是 hidden, scroll, auto, 或 overlay时),即便这个祖先不是最近的真实可滚动祖先。demo参考https://developer.mozilla.org/zh-CN/docs/Web/CSS/position","categories":[],"tags":[{"name":"css","slug":"css","permalink":"http://blog.langpz.com/tags/css/"}]},{"title":"webpack内存溢出","slug":"webpack内存溢出","date":"2021-07-03T18:37:50.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"webpack内存溢出.html","link":"","permalink":"http://blog.langpz.com/webpack内存溢出.html","excerpt":"webpack内存溢出当项目过大的时候就会碰见内存溢出问题。","text":"webpack内存溢出当项目过大的时候就会碰见内存溢出问题。更新从 2017 年 8 月发布的 Node.js v8.0 开始,您现在可以使用NODE_OPTIONS 环境变量来全局设置 max_old_space_size。123export NODE_OPTIONS=--max-old-space-size=4096// windows使用set NODE_OPTIONS=--max-old-space-size=4096或者使用cross-env来解决平台不同命令不同12npm install -g cross-envcross-env NODE_OPTIONS=--max-old-space-size=4096vue-cli2.0解决方案修改package.json文件(兼容windows和macOS本)1234\"scripts\": { \"dev\": \"node --max_old_space_size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --progress --config build/webpack.dev.conf.js\", \"build\": \"node -max_old_space_size=4096 build/build.js\", },参考https://github.com/endel/increase-memory-limithttps://github.com/kentcdodds/cross-env","categories":[],"tags":[{"name":"webpack","slug":"webpack","permalink":"http://blog.langpz.com/tags/webpack/"}]},{"title":"nativefier 一行命令生成桌面应用","slug":"nativefier-一行命令生成桌面应用","date":"2020-06-27T14:53:57.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"nativefier-一行命令生成桌面应用.html","link":"","permalink":"http://blog.langpz.com/nativefier-一行命令生成桌面应用.html","excerpt":"nativefier 一行命令生成桌面应用nativefier 可以快速生成可执行文件(.app,.exe,等),在Windows,MacOS和Linux的使用。","text":"nativefier 一行命令生成桌面应用nativefier 可以快速生成可执行文件(.app,.exe,等),在Windows,MacOS和Linux的使用。安装Node.js 版本要 >= 101npm install nativefier -g使用打包一个百度的桌面应用1nativefier \"https://www.baidu.com/\"然后会在执行命令目录下生成APP-win32-x64 文件夹,进入然后打开APP.exe,一个百度的桌面版就打包好了,可以打包任意网站。注意事项因为这个是基于Electron打包的,执行命名要下载Electron 有的时候会下载失败导致打包失败。解决方案设置国内源1npm set ELECTRON_MIRROR=\"https://npm.taobao.org/mirrors/electron/\"参考https://github.com/jiahaog/nativefier","categories":[],"tags":[{"name":"nativefier","slug":"nativefier","permalink":"http://blog.langpz.com/tags/nativefier/"}]},{"title":"解决node-sass安装失败","slug":"解决node-sass安装失败","date":"2020-06-14T20:21:00.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"解决node-sass安装失败.html","link":"","permalink":"http://blog.langpz.com/解决node-sass安装失败.html","excerpt":"解决node-sass安装失败node-sass 安装时需要下载一个node-sass …binding.node 文件,所以设置了淘宝源还是经常安装失败。还需要配置 sass_binary_site","text":"解决node-sass安装失败node-sass 安装时需要下载一个node-sass …binding.node 文件,所以设置了淘宝源还是经常安装失败。还需要配置 sass_binary_site最新方案mirror-config-china 为中国内地的Node.js开发者准备的镜像配置,大大提高node模块安装速度。特性支持Windows和其他操作系统自动配置各个node模块的安装源为淘宝镜像1npm install -g mirror-config-china --registry=https://registry.npmmirror.comhttps://github.com/gucong3000/mirror-config-china不推荐使用https://registry.npmmirror.com/mirrors/node-sass 无法正常获取到模块了使用新地址https://registry.npmmirror.com/binary.html?path=node-sass/12345yarn config set registry https://registry.npmmirror.comyarn config set sass_binary_site https://registry.npmmirror.com/binary.html?path=node-sass/或者npm set registry https://registry.npmmirror.comnpm set sass_binary_site https://registry.npmmirror.com/binary.html?path=node-sass/","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"},{"name":"yarn","slug":"yarn","permalink":"http://blog.langpz.com/tags/yarn/"}]},{"title":"Git版本回退","slug":"Git版本回退","date":"2019-06-09T18:04:28.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Git版本回退.html","link":"","permalink":"http://blog.langpz.com/Git版本回退.html","excerpt":"Git版本回退在工作中会碰见这个功能不要了,回退到上一个版本、或者merge错分支,下面简单记录下如何解决这些问题。","text":"Git版本回退在工作中会碰见这个功能不要了,回退到上一个版本、或者merge错分支,下面简单记录下如何解决这些问题。回退指定commit12git loggit reset --hard 版本号git log 查看之前提交的commit版本号,然后执行回退。回退命令12git refloggit reset --hard 版本号git reflog 查看之前执行命令版本号,然后执行回退。cherry-pick还有一种场景, 比如有三个commit,保留1和3,2舍去这个时候就要用到 cherry-pick123git reflog git reset --hard 1的版本号git cherry-pick 3的版本号git reflog 找到commit 1和3的版本号 回退到第一个版本,然后再执行cherry-pick把3的修改合并到1里,如果有冲突就解决冲突。已经提交远端仓库12git reset --hard 版本号git push -f origin/远端分支先回退版本,然后强制推送到远端仓库。","categories":[],"tags":[{"name":"Git","slug":"Git","permalink":"http://blog.langpz.com/tags/Git/"}]},{"title":"给项目加一个骨架屏吧","slug":"给项目加一个骨架屏吧","date":"2019-04-27T16:07:19.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"给项目加一个骨架屏吧.html","link":"","permalink":"http://blog.langpz.com/给项目加一个骨架屏吧.html","excerpt":"给项目加一个骨架屏吧骨架屏可以理解为是当数据还未加载进来前,页面的一个空白版本,一个简单的关键渲染路径。用户会看到一个样式简单,描绘了当前页面的大致框架的骨架屏页面,然后骨架屏中各个占位部分被实际资源完全替换,这个过程中用户会觉得内容正在逐渐加载即将呈现,降低了用户的焦躁情绪,使得加载过程主观上变得流畅。","text":"给项目加一个骨架屏吧骨架屏可以理解为是当数据还未加载进来前,页面的一个空白版本,一个简单的关键渲染路径。用户会看到一个样式简单,描绘了当前页面的大致框架的骨架屏页面,然后骨架屏中各个占位部分被实际资源完全替换,这个过程中用户会觉得内容正在逐渐加载即将呈现,降低了用户的焦躁情绪,使得加载过程主观上变得流畅。安装这里采用饿了么开源的方案page-skeleton-webpack-plugin。12npm install --save-dev page-skeleton-webpack-pluginnpm install --save-dev html-webpack-plugin安装过程中报错提示如下12ERROR: Failed to download Chromium r515411! Set \"PUPPETEER_SKIP_CHROMIUM_DOWNLOAD\" env variable to skip download.执行这个命令1npm config set puppeteer_download_host=https://storage.googleapis.com.cnpmjs.org使用我这个项目是基于vue-cli3脚手架开发的。第一步配置插件创建一个vue.config.js文件。123456789101112131415161718192021222324const { SkeletonPlugin } = require('page-skeleton-webpack-plugin')const path = require('path')module.exports = { configureWebpack: { plugins: [ new SkeletonPlugin({ pathname: path.resolve(__dirname, './shell'), // 用来存储 shell 文件的地址 staticDir: path.resolve(__dirname, './dist'), // 最好和 `output.path` 相同 routes: ['/'], // 将需要生成骨架屏的路由添加到数组中 excludes: ['.van-nav-bar', '.van-tabbar'] // 需要忽略的css选择器 }) ], }, chainWebpack: (config) => { // 解决vue-cli3脚手架创建的项目压缩html 干掉<!-- shell -->导致骨架屏不生效 if (process.env.NODE_ENV !== 'development') { config.plugin('html').tap(opts => { opts[0].minify.removeComments = false return opts }) } },};在项目根目录下面创建一个shell文件夹。chainWebpack配置 这个是解决vue-cli3打包的骨架屏不生效的BUG第二步修改 HTML Webpack Plugin 插件的模板在你启动 App 的根元素内部添加1234<body> <div id=\"app\"><!-- shell --></div> <!-- built files will be auto injected --></body>第三步:界面操作生成、写入骨架页面在开发页面中通过 Ctrl|Cmd + enter 呼出插件交互界面,或者在在浏览器的 JavaScript 控制台内输入toggleBar 呼出交互界面。点击交互界面中的按钮,进行骨架页面的预览,这一过程可能会花费 20s 左右时间,当插件准备好骨架页面后,会自动通过浏览器打开预览页面扫描预览页面中的二维码,可在手机端预览骨架页面,可以在预览页面直接编辑源码,通过点击右上角写入按钮,将骨架页面写入到 shell 文件夹中。通过 webpack 重新打包应用,当页面重新启动后,就能够在获取到数据前看到应用的骨架结构了。最终效果参考https://github.com/cnpm/cnpmjs.org/issues/1246https://github.com/ElemeFE/page-skeleton-webpack-plugin","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"},{"name":"骨架屏","slug":"骨架屏","permalink":"http://blog.langpz.com/tags/骨架屏/"}]},{"title":"发布一个自己的NPM包","slug":"发布一个自己的NPM包","date":"2019-04-18T20:01:57.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"发布一个自己的NPM包.html","link":"","permalink":"http://blog.langpz.com/发布一个自己的NPM包.html","excerpt":"发布一个自己的NPM包用了这么多次别人发布的包,今天咱们自己发布一个npm包","text":"发布一个自己的NPM包用了这么多次别人发布的包,今天咱们自己发布一个npm包首先检查npm源123npm get registry# 如果不是这个地址https://registry.npmjs.org 需要设置官网源npm config set registry https://registry.npmjs.org如果是使用第三方源请设置npm官方源 (注):第三方源只提供下载功能创建模块1234567891011121314151617181920212223242526272829303132npm init # package.json 内容{ \"name\": \"isnumber-lpz\", \"version\": \"1.0.0\", \"description\": \"Number\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[D\\u001b[C\\u001b[C\\u001b[Cis\\u001b[C\\u001b[C\\u001b[Number\", \"main\": \"index.js\", \"scripts\": { \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\" }, \"repository\": { \"type\": \"git\", \"url\": \"git+https://github.com/lanpangzhi/isNumber-lpz.git\" }, \"author\": \"lanpangzhi\", \"license\": \"ISC\", \"bugs\": { \"url\": \"https://github.com/lanpangzhi/isNumber-lpz/issues\" }, \"homepage\": \"https://github.com/lanpangzhi/isNumber-lpz#readme\"}# 创建 index.jstouch index.jsfunction isNumber(number) { number = parseFloat(number) return number === number && typeof number === 'number' }module.exports = isNumbernpm使用介绍里面有里面的字段,这里就省略了,(注):包的name不要重名建议先去[https://www.npmjs.com/](https://www.npmjs.com/)搜索下注册npm账号(有账号跳过这步)npm adduser用于在npmjs.com注册一个用户。1234567npm adduser# Username: 用户名# Password: 密码# Email: 邮箱# 登录npm login发布包1npm publish(注):发布的时候版本号要和上次的不一样,默认的发布标签是latest、前模块是一个beta版,比如2.1.1-beta,那么发布的时候需要使用tag参数安装并使用12345678npm i isnumber-lpzconst isNumber = require('isnumber-lpz')console.log('12', isNumber(12)) trueconsole.log('12.2', isNumber(12.2)) trueconsole.log('x12.2', isNumber('x12.2')) falseconsole.log('xacsa', isNumber('xacsa')) falsedemo 地址https://github.com/lanpangzhi/isNumber-lpz","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"}]},{"title":"Hexo博客从Coding迁移到腾讯云COS","slug":"Hexo博客从Coding迁移到腾讯云COS","date":"2019-03-30T17:34:07.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Hexo博客从Coding迁移到腾讯云COS.html","link":"","permalink":"http://blog.langpz.com/Hexo博客从Coding迁移到腾讯云COS.html","excerpt":"Hexo博客从Coding迁移到腾讯云COS最近coding的Pages 服务一直不稳定,这两天访问还出现404,重新部署也无法解决。国内访问GitHub Pages 不是很快,而且百度SEO也爬不到。码云自定义域名收费,只好迁移到腾讯云COS上了。","text":"Hexo博客从Coding迁移到腾讯云COS最近coding的Pages 服务一直不稳定,这两天访问还出现404,重新部署也无法解决。国内访问GitHub Pages 不是很快,而且百度SEO也爬不到。码云自定义域名收费,只好迁移到腾讯云COS上了。创建存储桶https://console.cloud.tencent.com/cos5/bucket 首先要创建存储桶。区域看各自情况任选,访问权限必须要选择公有读私有写。在基础设置开启静态网站索引文档一定要填index.html,错误文档就看自定义的是什么文件了。在域名管理开启自定义加速域名(CDN加速)填写上自己的域名就可以了。域名解析在域名解析这里添加上刚才配置的自定义加速域名的CNAME地址。安装发布COS插件1npm install hexo-deployer-cos-enhanced-dev --save配置_config.yml把之前deploy的配置替换掉1234567891011121314deploy: type: cos bucket: blog-1251123456 region: ap-shanghai secretId: AKIDIgxxxxxxxxxxxxxxxxxxxx0SepjX secretKey: qXPCbxxxxxxxxxxxxxxxxxxxxsJZfdR cdnConfig: enable: true cdnUrl: http://yourCdnSite.com bucket: static-1251123456 region: ap-shanghai folder: static-1251123456 secretId: AKIDIgxxxxxxxxxxxxxxxxxxxx0SepjX secretKey: qXPCbxxxxxxxxxxxxxxxxxxxxsJZfdRsecretId secretKey 包括cdnConfig下面这两个字段都可以不用填写, 直接从环境变量取type: 是固定死的,只能是 cos。cdnUrl: 是你的对象存储绑定的CDN域名,没有启用 CDN的话,推荐使用 https://github.com/sdlzhd/hexo-deployer-cosbucket 和 region: 在腾讯云的对象存储中,新建或找到你的 bucket,然后找到 默认域名 信息,会看到一个类似这样的域名: blog-1251123456.cos.ap-shanghai.myqcloud.com,第一个点前面的 blog-1251123456 就是 bucket 名称,第二个点和第三个点之间的 ap-shanghai,就是你的 COS 所在地域,填写到 region 中。secretId 和 secretKey:在 COS控制台中,找到左侧的密钥管理,点进去,按照提示添加子账号,并设置秘钥。同时要给子账号赋予 COS相关的权限,还有CDN刷新的权限。不会配置的可以参考 官方示例1hexo d直接就发布到腾讯云COS上了,访问速度相当快,对SEO也好。添加持续集成自动发布到COS(Travis CI)我的博客使用Travis CI,而且备份也是在GitHub公开仓库, secretId secretKey 这两个字段我只能写到Travis CI环境变量里面。123456script - hexo denv: global: - SecretId: ${SecretId} - SecretKey: ${SecretKey}只需要在.travis.yml 文件 script 下面加 hexo d 全局变量增加SecretId和SecretKey 这两个变量。","categories":[],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://blog.langpz.com/tags/Hexo/"},{"name":"COS","slug":"COS","permalink":"http://blog.langpz.com/tags/COS/"}]},{"title":"vue-cli3设置默认打开浏览器","slug":"vue-cli3设置默认打开浏览器","date":"2019-03-24T11:11:19.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue-cli3设置默认打开浏览器.html","link":"","permalink":"http://blog.langpz.com/vue-cli3设置默认打开浏览器.html","excerpt":"vue-cli3设置默认打开浏览器vue-cli3设置默认打开浏览器","text":"vue-cli3设置默认打开浏览器vue-cli3设置默认打开浏览器项目根目录找到package.json文件, 找到scripts 里 serve 后面加上 –open, 本地开发的时候就会自动打开浏览器了。","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"},{"name":"cli","slug":"cli","permalink":"http://blog.langpz.com/tags/cli/"}]},{"title":"centos7安装MySQL","slug":"centos7安装MySQL","date":"2019-03-17T18:09:33.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"centos7安装MySQL.html","link":"","permalink":"http://blog.langpz.com/centos7安装MySQL.html","excerpt":"centos7安装MySQL先去MySQL官网找到下载链接(https://dev.mysql.com/downloads/repo/yum/)","text":"centos7安装MySQL先去MySQL官网找到下载链接(https://dev.mysql.com/downloads/repo/yum/)下载安装执行下面的命令下载并安装MySQL1234wget http://repo.mysql.com/mysql80-community-release-el7-2.noarch.rpmrpm -Uvh mysql80-community-release-el7-2.noarch.rpmyum updateyum install mysql-community-server启动MySQL服务器执行下面的命令启动MySQL1service mysqld start执行下面的命令检测MySQL状态1service mysqld status参考https://dev.mysql.com/downloads/repo/yum/","categories":[],"tags":[{"name":"MySQL","slug":"MySQL","permalink":"http://blog.langpz.com/tags/MySQL/"}]},{"title":"在vue使用clipboard.js","slug":"在vue使用clipboard-js","date":"2018-12-23T11:30:36.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"在vue使用clipboard-js.html","link":"","permalink":"http://blog.langpz.com/在vue使用clipboard-js.html","excerpt":"在vue使用clipboard.js上一篇写了怎么使用clipboard.js,今天就写下怎么在vue里面使用clipboard.js","text":"在vue使用clipboard.js上一篇写了怎么使用clipboard.js,今天就写下怎么在vue里面使用clipboard.js安装有人已经封装好vue插件了我们直接安装使用就好1npm install --save vue-clipboard2使用1234import Vue from 'vue'import VueClipboard from 'vue-clipboard2'Vue.use(VueClipboard)例子指令形式的123456789101112131415161718192021222324252627<div id=\"app\"></div><template id=\"t\"> <div class=\"container\"> <input type=\"text\" v-model=\"message\"> <button type=\"button\" v-clipboard:copy=\"message\" v-clipboard:success=\"done\">Copy!</button> </div></template><script>new Vue({ el: '#app', template: '#t', data: function () { return { message: 'vbook.langpz.com' } }, methods: { done: function () { alert('Copied成功!') } }})</script>v-clipboard:copy 这里放你要复制的内容v-clipboard:success 复制成功调用的回调方法形式的12let container = this.$refs.containerthis.$copyText(\"Text to copy\", container) // 返回一个Promise你可以通过use的时候设置container为当前元素12345import Vue from 'vue'import VueClipboard from 'vue-clipboard2'VueClipboard.config.autoSetContainer = true // 默认falseVue.use(VueClipboard)参考https://github.com/Inndy/vue-clipboard2","categories":[],"tags":[{"name":"移动端","slug":"移动端","permalink":"http://blog.langpz.com/tags/移动端/"},{"name":"vue2.0,clipboard.js","slug":"vue2-0,clipboard-js","permalink":"http://blog.langpz.com/tags/vue2-0,clipboard-js/"}]},{"title":"移动端js复制内容到剪贴板","slug":"移动端js复制内容到剪贴板","date":"2018-12-19T20:14:17.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"移动端js复制内容到剪贴板.html","link":"","permalink":"http://blog.langpz.com/移动端js复制内容到剪贴板.html","excerpt":"移动端js复制内容到剪贴板clipboard.js是一个没有Flash。没有框架。只需3kb gzipped,实现了将文本复制到剪贴板。兼容性做得好,不兼容的话clipboard.js会优雅地降级,会自动选中文本,用户可以自己选择复制。","text":"移动端js复制内容到剪贴板clipboard.js是一个没有Flash。没有框架。只需3kb gzipped,实现了将文本复制到剪贴板。兼容性做得好,不兼容的话clipboard.js会优雅地降级,会自动选中文本,用户可以自己选择复制。兼容性42+ ✔12+ ✔41+ ✔9+ ✔29+ ✔10+ ✔安装1npm install clipboard --save或者可以用cdn地址使用12345678910111213141516171819202122从属性复制文本<button class=\"btn\" data-clipboard-text=\"http://blog.langpz.com\"> 复制</button>从另一个元素复制文本<input id=\"foo\" value=\"https://github.com/lanpangzhi\"><button class=\"btn\" data-clipboard-target=\"#foo\"> 复制</button>从另一个元素剪切文本<input id=\"xxx\" value=\"https://api.langpz.com\"><button class=\"btn\" data-clipboard-action=\"cut\" data-clipboard-target=\"#xxx\"> 复制</button><script> new ClipboardJS('.btn') // 传入dom节点实例化ClipboardJS</script>data-clipboard-text: 需要复制的内容data-clipboard-target: 需要复制内容的选择器data-clipboard-action: 默认copy, 复制的动作,仅适用于input或textarea元素demo地址clipboard 还可以绑定success 和 error 事件1234567891011121314151617181920<button class=\"btn\" data-clipboard-text=\"http://blog.langpz.com\"> 复制</button> <script> var clipboard = new ClipboardJS('.btn');clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); console.info('Trigger:', e.trigger); e.clearSelection();});clipboard.on('error', function(e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger);});</script>e.action: 复制的动作e.text: 复制的内容e.trigger: 触发的domdemo地址clipboard 还有一些高级用法,建议去官网查看。参考https://clipboardjs.com/","categories":[],"tags":[{"name":"移动端","slug":"移动端","permalink":"http://blog.langpz.com/tags/移动端/"},{"name":"javascript,clipboard.js","slug":"javascript,clipboard-js","permalink":"http://blog.langpz.com/tags/javascript,clipboard-js/"}]},{"title":"centos7安装MongoDB","slug":"centos7安装mongodb","date":"2018-12-16T19:22:11.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"centos7安装mongodb.html","link":"","permalink":"http://blog.langpz.com/centos7安装mongodb.html","excerpt":"centos7安装MongoDB先去MongoDB官网的文档中的Install on Red Hat,检查是否有更新,当前MongoDB版本4.0。","text":"centos7安装MongoDB先去MongoDB官网的文档中的Install on Red Hat,检查是否有更新,当前MongoDB版本4.0。配置包管理系统(yum)12cd /etc/yum.repos.d/ // 进入这个目录touch mongodb-org-4.0.repo // 创建一个新的YUM存储库配置文件vim 编辑 mongodb-org-4.0.repo 然后把如下代码复制到文件里123456[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.ascESC :wq 退出并保存安装1sudo yum install -y mongodb-orgmongodb-org-server- mongod守护程序,以及相应的init脚本和配置。mongodb-org-mongos- mongos守护进程。mongodb-org-shell - mongo shell,一个MongoDB的交互式JavaScript接口,用于执行命令行的管理任务。mongodb-org-tools - 包含几个MongoDB工具,用于导入和导出数据,统计信息以及其他实用程序。启动MongoDB安装完成后,启动MongoDB123sudo service mongod start // 启动sudo service mongod stop // 停止sudo service mongod restart // 重启设置MongoDB将在系统重新启动后启动1sudo chkconfig mongod on验证是否安装成功12mongodb.version() // 会出现版本号,我这里是4.0.4参考https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yumhttps://linuxize.com/post/how-to-install-mongodb-on-centos-7/","categories":[],"tags":[{"name":"MongoDB","slug":"MongoDB","permalink":"http://blog.langpz.com/tags/MongoDB/"}]},{"title":"pm2开机自启","slug":"pm2开机自启","date":"2018-11-20T09:40:00.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"pm2开机自启.html","link":"","permalink":"http://blog.langpz.com/pm2开机自启.html","excerpt":"pm2开机自启123pm2 start # 你要启动的程序,如果有多个都要先启动pm2 savepm2 startup执行代码,重启服务器pm2会自动启动。","text":"pm2开机自启123pm2 start # 你要启动的程序,如果有多个都要先启动pm2 savepm2 startup执行代码,重启服务器pm2会自动启动。https://cnodejs.org/topic/556f02a98ce3684b284b55ad","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"pm2","slug":"pm2","permalink":"http://blog.langpz.com/tags/pm2/"}]},{"title":"centos7开机自启nginx","slug":"centos7开机自启nginx","date":"2018-11-20T09:39:26.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"centos7开机自启nginx.html","link":"","permalink":"http://blog.langpz.com/centos7开机自启nginx.html","excerpt":"centos7开机自启nginx1sudo systemctl enable nginx.service执行代码,会有提示然后重启服务器nginx会自动启动。","text":"centos7开机自启nginx1sudo systemctl enable nginx.service执行代码,会有提示然后重启服务器nginx会自动启动。参考https://segmentfault.com/q/1010000002889260","categories":[],"tags":[{"name":"nginx","slug":"nginx","permalink":"http://blog.langpz.com/tags/nginx/"}]},{"title":"element-ui里Table组件多选,翻页记忆选中复选框","slug":"element-ui里Table组件多选,翻页记忆选中复选框","date":"2018-11-13T21:42:31.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"element-ui里Table组件多选,翻页记忆选中复选框.html","link":"","permalink":"http://blog.langpz.com/element-ui里Table组件多选,翻页记忆选中复选框.html","excerpt":"element-ui里Table组件分页记忆选中复选框需求分析:Table组件复选框选中后切换页码重新获取数据之前选中不丢失。","text":"element-ui里Table组件分页记忆选中复选框需求分析:Table组件复选框选中后切换页码重新获取数据之前选中不丢失。使用Table组件里面reserve-selection和row-key来实现需求12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 <template> <el-table ref=\"multipleTable\" :data=\"tableData3\" // 这里设置row-key :row-key=\"getRowKeys\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\"> <el-table-column type=\"selection\" // 这里设置reserve-selection为 true :reserve-selection=\"true\" width=\"55\"> </el-table-column> <el-table-column label=\"日期\" width=\"120\"> <template slot-scope=\"scope\">{{ scope.row.date }}</template> </el-table-column> <el-table-column prop=\"name\" label=\"姓名\" width=\"120\"> </el-table-column> <el-table-column prop=\"address\" label=\"地址\" show-overflow-tooltip> </el-table-column> </el-table></template><script> export default { data() { return { tableData3: [{ date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-06', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-07', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }] }, // 返回id设置row-key getRowKeys(row) { return row.id; }, } }</script>在使用 reserve-selection 功能的情况下 row-key这个属性是必填的。上面的代码就可以实现翻页选中状态不消失,分页的逻辑我就不写了。参考https://element.eleme.io/#/zh-CN/component/table","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"},{"name":"element-ui","slug":"element-ui","permalink":"http://blog.langpz.com/tags/element-ui/"}]},{"title":"Git拉取远程分支到本地","slug":"Git拉取远程分支到本地","date":"2018-10-25T20:42:31.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Git拉取远程分支到本地.html","link":"","permalink":"http://blog.langpz.com/Git拉取远程分支到本地.html","excerpt":"Git拉取远程分支到本地经常会碰见拉取远端的分支到本地,步骤和命令经常记不住所以只好做个笔记。","text":"Git拉取远程分支到本地经常会碰见拉取远端的分支到本地,步骤和命令经常记不住所以只好做个笔记。拉取分支首先你得先查看你是否和远端的仓库建立连接。1git remote -v如果没有的话那就自行添加一下1git remote add origin xxxx(你远程分支的git仓库地址)如果每天要提交代码 ,可以绕过上面这一步,直接切换分支1git checkout -b Q3 origin/Q3这个时候操作失败提示如下:fatal: ‘origin/Q3’ is not a commit and a branch ‘Q3’ cannot be created from it代表你本地没有Q3这个远程分支。可以执行 git branch -r 来检查本地是否有Q3远程分支。拉取远程分支到本地并切换分支。12git fetch origin Q3git checkout -b Q3 origin/Q3拉取远程分支到本地1git pull origin Q3参考https://curder.gitbooks.io/blog/git/remote_repository_pull.html","categories":[],"tags":[{"name":"Git","slug":"Git","permalink":"http://blog.langpz.com/tags/Git/"}]},{"title":"vue(scoped)修改UI库组件样式","slug":"vue修改UI库组件样式","date":"2018-09-15T16:40:59.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue修改UI库组件样式.html","link":"","permalink":"http://blog.langpz.com/vue修改UI库组件样式.html","excerpt":"vue修改UI库组件样式在工作中经常会碰见设计稿和UI库的组件样式不一样,在style标签加了scoped,就无法修改UI组件的样式了,因为当前组件样式只应用到这个组件上。","text":"vue修改UI库组件样式在工作中经常会碰见设计稿和UI库的组件样式不一样,在style标签加了scoped,就无法修改UI组件的样式了,因为当前组件样式只应用到这个组件上。深度作用选择器如果你想修改组件的样式就可以使用 >>> 操作符:123<style scoped>.langpz >>> .b { /* ... */ }</style>上述代码将会编译成:1.langpz[data-v-f3f3eg9] .b { /* ... */ }如果你用的是SCSS或者LESS需要把 >>> 替换成 /deep/如果组件的样式是js动态生成的,深度作用选择器前面就不要跟class了。参考https://vue-loader.vuejs.org/zh/guide/scoped-css.html#%E6%B7%B7%E7%94%A8%E6%9C%AC%E5%9C%B0%E5%92%8C%E5%85%A8%E5%B1%80%E6%A0%B7%E5%BC%8F","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"}]},{"title":"node定时任务","slug":"node定时任务","date":"2018-07-08T18:09:23.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node定时任务.html","link":"","permalink":"http://blog.langpz.com/node定时任务.html","excerpt":"node定时任务我们再开发过程中,会经常碰见这样的场景例如每天早上八点执行一个操作或者执行一个爬虫,下面就说一下如何用node-cron处理这些定时任务。","text":"node定时任务我们再开发过程中,会经常碰见这样的场景例如每天早上八点执行一个操作或者执行一个爬虫,下面就说一下如何用node-cron处理这些定时任务。安装node-cron1npm i cron -S使用cron值的范围。Seconds: 0-59 (秒)Minutes: 0-59 (分钟)Hours: 0-23 (小时)Day of Month: 1-31 (天)Months: 0-11 (Jan-Dec) (月)Day of Week: 0-6 (Sun-Sat) (星期)每隔十秒执行一次123456789var CronJob = require('cron').CronJob;var job = new CronJob('*/10 * * * * *', function() { console.log(\"执行了\") }, function () { /* 定时任务停止时执行此功能 */ }, true /* 马上开始定时任务 */);每个工作日早上7点执行一次123456789var CronJob = require('cron').CronJob;var job = new CronJob('00 00 7 * * 1-5', function() { console.log(\"执行了\") }, function () { /* 定时任务停止时执行此功能 */ }, true /* 马上开始定时任务 */);手动执行定时任务1234567891011121314var cron = require('cron');var job1 = new cron.CronJob({ cronTime: '* * * * * *', onTick: function() { console.log('开始工作'); }, onComplete: function() { console.log('停止工作') }, start: false});// 执行job1定时任务job1.start();手动停止定时任务123456789101112131415161718var cron = require('cron');var job1 = new cron.CronJob({ cronTime: '* * * * * *', onTick: function() { console.log('开始工作'); }, onComplete: function() { console.log('停止工作') }, start: false});job1.start()setTimeout(() => { // 五秒钟后停止定时任务并触发停止回调 job1.stop();} ,5002);捕获异常1234567try { new CronJob('invalid cron pattern', function() { console.log('this should not be printed'); })} catch(ex) { console.log(\"cron pattern not valid\");}以上提供了几种常用场景,更多使用可以去github查看api。参考https://github.com/kelektiv/node-cron","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"定时任务","slug":"定时任务","permalink":"http://blog.langpz.com/tags/定时任务/"}]},{"title":"ES6系列-let和const变量","slug":"ES6系列-let和const变量","date":"2018-06-26T17:08:51.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"ES6系列-let和const变量.html","link":"","permalink":"http://blog.langpz.com/ES6系列-let和const变量.html","excerpt":"ES6系列-let和const变量ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。","text":"ES6系列-let和const变量ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。首先说说var声明变量的弊端。1.可以重复声明2.无法限制修改3.没有块级作用域4.变量会被提升letlet不可以重复声明。123let a = 2;let a = 3;alert(a)如果重复声明会直接报错。let有块级作用域。123456{ let a = 2; var b = 3;}console.log(b);console.log(a);会报错 a is not defined。let不存在变量提升。1234console.log(a)console.log(b)var a = 1;let b = 2;会打印出 a undefined b is not defined。constconst常量是不可以被修改的。123const a = 'lanpangzhi';a = 11;alert(a)修改会直接报错,但是如果是对象数据类型可以在对象下添加新得属性。123const a = {};a.b = 2;console.log(a)这样写不会报错,常量a存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把a指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性。const不可以重复声明。123const a = 2;const a = 3;alert(a)如果重复声明会直接报错。const有块级作用域。123456{ const a = 2; var b = 3;}console.log(b);console.log(a);会报错 a is not defined。const不存在变量提升。1234console.log(a)console.log(b)var a = 1;const b = 2;会打印出 a undefined b is not defined。例子让i从0输出到5,按顺序输出,es5版本需要闭包来实现。12345for (var i = 0; i <= 5; i++){ (function(i){ console.log(i) })(i)}es6版本123for (let i = 0; i <= 5; i++){ console.log(i)}let和const解决了var的弊端,瞬间开发变简单了很多。参考http://es6.ruanyifeng.com/#docs/let","categories":[],"tags":[{"name":"ES6","slug":"ES6","permalink":"http://blog.langpz.com/tags/ES6/"},{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"}]},{"title":"解决移动端click事件300毫秒延迟和点透问题","slug":"解决移动端click事件300毫秒延迟和点透问题","date":"2018-06-21T10:53:59.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"解决移动端click事件300毫秒延迟和点透问题.html","link":"","permalink":"http://blog.langpz.com/解决移动端click事件300毫秒延迟和点透问题.html","excerpt":"解决移动端click事件300毫秒延迟和点透问题click 的 300ms 延迟是由双击缩放(double tap to zoom)所导致的,由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,移动端浏览器就等待 300 毫秒,以判断用户是否再次点击了屏幕。","text":"解决移动端click事件300毫秒延迟和点透问题click 的 300ms 延迟是由双击缩放(double tap to zoom)所导致的,由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,移动端浏览器就等待 300 毫秒,以判断用户是否再次点击了屏幕。fastclick老项目建议用fastclick解决,这样改动起来成本比较小。https://github.com/ftlabs/fastclick引用fastclick库就可以解决300毫秒延迟和点透问题12345678910// 原生js调用if ('addEventListener' in document) { document.addEventListener('DOMContentLoaded', function() { FastClick.attach(document.body); }, false);}// jquery调用$(function() { FastClick.attach(document.body);});使用移动端事件代替click例如touchstart 等事件,建议使用Hammer手势库https://github.com/hammerjs/hammer.js12345var a = document.querySelector('.a');var hammer = new Hammer(a);hammer.on('tap', function(e) { console.log(\"2222!\");});参考https://github.com/ftlabs/fastclickhttps://github.com/hammerjs/hammer.js","categories":[],"tags":[{"name":"移动端","slug":"移动端","permalink":"http://blog.langpz.com/tags/移动端/"},{"name":"点透","slug":"点透","permalink":"http://blog.langpz.com/tags/点透/"}]},{"title":"vue2.0的生命周期","slug":"vue的生命周期","date":"2018-06-14T09:48:11.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"vue的生命周期.html","link":"","permalink":"http://blog.langpz.com/vue的生命周期.html","excerpt":"vue2.0的生命周期每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。","text":"vue2.0的生命周期每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。生命周期钩子函数代码演示地址beforeCreate 在实例初始化之后调用,数据和事件都没绑定。所以在beforeCreate访问不到任何东西。created 在实例创建完成后被立即调用。数据和事件已经绑定,但是模板没有渲染,$el属性不可见 。在created数据和事件都可以访问了,就能打印出数据。beforeMount 模板渲染前调用beforeMount的时候可以访问到 $el 但是并没有渲染到页面上(virtual DOM)数据也还是这样的格式,所以不能操作DOM。mounted 模板渲染到页面上调用mounted 的时候就可以操作dom,可以把dom操作放到这个生命周期。beforeUpdate 数据更新时调用,发生在虚拟 DOM 打补丁之前。在控制台执行 vm.lanpangzhi = 3beforeUpdate 这个钩子函数可以访问更新前的dom元素。这里的dom元素并没有更新掉。updated 数据更新完触发。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。beforeDestroy 实例销毁之前调用。在控制台执行 vm.$destroy()当这个钩子被调用时实例还可以用。destroyed 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。个人总结created (实例创建完) 这个钩子函数可以用来请求数据发ajax。mounted (模板渲染完) 这个钩子函数可以用来操作dom一些方法,如果你用了jQuery需要把代码放到这个钩子函数里面。updated (数据更新完) 这个钩子函数通常最好使用计算属性或 watcher 取而代之。beforeDestroy (实例销毁之前调用) 这个钩子函数触发的时候可以用来清理定时器变量。还有几个钩子函数没有说到,建议自行去官网查看。生命周期图示beforeCreate在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。created在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。beforeMount在挂载开始之前被调用:相关的 render 函数首次被调用。该钩子在服务器端渲染期间不被调用。mountedel 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted该钩子在服务器端渲染期间不被调用。beforeUpdate数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务端进行。updated由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态。如果要相应状态改变,通常最好使用计算属性或 watcher 取而代之。注意 updated 不会承诺所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以用 vm.$nextTick 替换掉 updated该钩子在服务器端渲染期间不被调用。beforeDestroy实例销毁之前调用。在这一步,实例仍然完全可用。该钩子在服务器端渲染期间不被调用。destroyedVue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。参考https://cn.vuejs.org/v2/api/#beforeCreate","categories":[],"tags":[{"name":"vue2.0","slug":"vue2-0","permalink":"http://blog.langpz.com/tags/vue2-0/"},{"name":"生命周期","slug":"生命周期","permalink":"http://blog.langpz.com/tags/生命周期/"}]},{"title":"webpack4.0入门指南(二)转换es7语法解析静态资源","slug":"webpack4-0入门指南(二)转换es7语法解析静态资源","date":"2018-06-13T13:30:47.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"webpack4-0入门指南(二)转换es7语法解析静态资源.html","link":"","permalink":"http://blog.langpz.com/webpack4-0入门指南(二)转换es7语法解析静态资源.html","excerpt":"webpack4.0入门指南(二)转换es7语法解析静态资源之前写了怎么转换es6的语法,如果在项目中用了es7的语法和样式,图片,字体该如何配置,下面就写一下配置。","text":"webpack4.0入门指南(二)转换es7语法解析静态资源之前写了怎么转换es6的语法,如果在项目中用了es7的语法和样式,图片,字体该如何配置,下面就写一下配置。转换es7语法把之前demo3文件夹一份命名为demo4。修改demo4/src/index.js文件1234let obj = {name: 'lanpangzhi'};let obj2 = {blog: 'http://blog.langpz.com'};let newObj = {...obj, ...obj2}; // es7语法console.log(newObj);安装babel插件,在项目根目录执行命令1npm install babel-preset-stage-0 -D // ES7不同阶段语法提案的转码规则(共有4个阶段)stage-0 包含 stage-1 stage-2 stage-3 阶段 还包含 babel-plugin-transform-do-expressionsbabel-plugin-transform-function-bind 两个插件的功能,阶段标准修改demo4/.babelrc文件123{ \"presets\": [\"env\",\"stage-0\"]}在demo4路径下执行 webpack,就看到打包成功了打开demo4/index.js文件控制台就输出。{name: “lanpangzhi”, blog: “http://blog.langpz.com"}解析CSS为了从 JavaScript 模块中 import 一个 CSS 文件,你需要配置如下loader。安装babel插件,在项目根目录执行命令。1npm install --save-dev style-loader css-loader修改demo4/webpack.config.js文件 在rules数组里添加一个规则。1234567{ test: /\\.css$/, // 匹配所有.css结尾的文件 use: [ // use要从右往左写,先转成样式,再打包到style标签 'style-loader', 'css-loader' ]}创建css文件1cd src && touch index.css修改demo4/src/index.css文件123body { background: red;}引入css文件修改demo4/src/index.js文件12// 最上面添加一行import './index.css';在demo4路径下执行 webpack,就看到打包成功。打开demo4/index.html就有红色的背景色了。解析sass为了从 JavaScript 模块中 import 一个 scss 文件,你需要配置如下loader。安装babel插件,在项目根目录执行命令。1npm install sass-loader node-sass webpack --save-dev修改demo4/webpack.config.js文件,在rules数组里添加一个规则。12345678{ test: /\\.scss$/, // 匹配所有.scss结尾的文件 use: [ 'style-loader', // 将 JS 字符串生成为 style 节点 'css-loader', // 将 CSS 转化成 CommonJS 模块 'sass-loader' // 将 Sass 编译成 CSS ]}创建scss文件1cd src && touch index.scss修改demo4/src/index.scss文件1234$body-color: yellow;body { background: $body-color;}修改demo4/src/index.js文件12// 最上面一行替换如下代码import './index.scss';在demo4路径下执行 webpack,就看到sass编译成功。打开demo4/index.html就有绿色的背景色了。!()[http://hexo-1252491761.file.myqcloud.com/webpack4.0%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/QQ%E5%9B%BE%E7%89%8720180613163909.png]如果你想解析其他预处理css语言安装对应loader,添加规则就可以编译了。如less less-loader。解析图片假想,现在我们正在下载 CSS,但是我们的背景和图标这些图片,要如何处理呢?使用 file-loader,我们可以轻松地将这些内容混合到 CSS 中。安装babel插件,在项目根目录执行命令。1npm install --save-dev file-loader随意再网上下载一个png图片放到demo4/src/目录下,命名为1.png修改demo4/src/index.scss文件123body { background: url(./1.png);}修改demo4/webpack.config.js文件,在rules数组里添加一个规则。1234567891011{ test: /\\.(png|svg|jpg|gif)$/, // 匹配所有.png和.svg和.jpg和.gif结尾的文件 use: [ { loader: 'file-loader', options: { publicPath: 'dist/' // 设置public 发布目录。 } } ]}在demo4路径下执行 webpack,就看到图片编译成功。打开demo4/index.html就有背景图。加载字体像字体这样的其他资源如何处理呢?file-loader 和 url-loader 可以接收并加载任何文件,然后将其输出到构建目录。这就是说,我们可以将它们用于任何类型的文件,包括字体。让我们更新 webpack.config.js 来处理字体文件。修改demo4/webpack.config.js文件,在rules数组里添加一个规则。123456{ test: /\\.(woff|woff2|eot|ttf|otf)$/, use: [ 'file-loader' ]}如果样式文件里面引入了字体就会被打包,这里就不演示了。demo仓库地址https://github.com/lanpangzhi/webpack-demo","categories":[],"tags":[{"name":"webpack","slug":"webpack","permalink":"http://blog.langpz.com/tags/webpack/"},{"name":"打包工具","slug":"打包工具","permalink":"http://blog.langpz.com/tags/打包工具/"}]},{"title":"yarn使用介绍","slug":"yarn使用介绍","date":"2018-06-12T14:19:09.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"yarn使用介绍.html","link":"","permalink":"http://blog.langpz.com/yarn使用介绍.html","excerpt":"yarn使用介绍Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。Yarn要比npm要快一些,而且还更稳定,而且和npm使用相同的软件包流程也一样,下面只介绍一些常用的方法。尽快从npm上手yarn。","text":"yarn使用介绍Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。Yarn要比npm要快一些,而且还更稳定,而且和npm使用相同的软件包流程也一样,下面只介绍一些常用的方法。尽快从npm上手yarn。安装1npm install -g yarn初始化新项目1yarn init等同于 npm init, -y参数也是一样。添加依赖包安装全局包需要先执行yarn global bin 然后把获取到的路径添加到环境变量path里面,感觉很麻烦也可以用 npm i -g 安装1yarn global add create-react-app // 全局安装等同于 npm i -g create-react-app安装包信息将加入到dependencies(生产阶段的依赖)12yarn add forever // 等同于 npm install forever -S yarn add forever@2.0.0 // 安装2.0.0版本将依赖项添加到不同依赖项类别分别添加到 devDependencies、peerDependencies 和 optionalDependencies123yarn add express --dev // 等同于 npm install forever -D yarn add express --peeryarn add express --optionalpeerDependencies “同伴依赖”,一种特殊的依赖,在发布包的时候需要。有这种依赖意味着安装包的用户也需要和包同样的依赖。 这对于像 react 这样也被人安装的、需要单一 react-dom 副本的包很有用。optionalDependencies 这是可选依赖,意味着依赖是……可选的。这种依赖即便安装失败,Yarn也会认为整个依赖安装过程是成功的。升级包12yarn upgrade express // 等同于 npm update expressyarn global upgrade express // 等同于 npm update npm update express -g删除包12yarn remove express // 等同于 npm uninstall expressyarn global remove express // 等同于 npm uninstall -g express安装项目的全部依赖1yarn or yarn install // 等同于 npm install查看包安装信息12yarn list // 等同于 npm listyarn global list // npm list -g上面就是比较常用的方法了,可以快速从npm切换到yarn上,更多方法可以去官网查看。参考https://yarnpkg.com/zh-Hans/","categories":[],"tags":[{"name":"yarn","slug":"yarn","permalink":"http://blog.langpz.com/tags/yarn/"}]},{"title":"webpack4.0入门指南(一)安装和转换es6语法","slug":"webpack入门指南","date":"2018-06-08T10:35:24.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"webpack入门指南.html","link":"","permalink":"http://blog.langpz.com/webpack入门指南.html","excerpt":"webpack4.0入门指南(一)安装和转换es6语法webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack v4.0.0 开始,可以不用引入一个配置文件。","text":"webpack4.0入门指南(一)安装和转换es6语法webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack v4.0.0 开始,可以不用引入一个配置文件。安装12npm install -g webpacknpm install -g webpack-cli需要先全局安装你才可以使用webpack命令,然后再安装到你的项目依赖。如果你使用 webpack 4+ 版本,你还需要安装 CLI。新建项目123mkdir webpack-demo && cd webpack-demo //创建并进入webpack-demo文件夹npm init -y // 初始化项目package.json文件npm install -D webpack webpack-cli // 本地安装 webpack和webpack-cli使用默认配置去构建1234mkdir demo1 && cd demo1touch index.htmlmkdir src && cd srctouch index.jsindex.html1234567891011121314<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <!-- webpack会把src/index.js文件打包到dist目录mian.js --> <script src=\"./dist/main.js\"></script></body></html>src/index.js12let a = 1;alert(a);执行 webpack 命令。就可以看到文件被打包到dist文件夹了。打开index.html文件就会弹出1。webpack4.0可以不用写配置文件,然而大多数项目会需要很复杂的设置,需要你自己去配置。使用配置文件123456cd .. // 返回到webpack-demo文件夹touch webpack.config.js // 创建配置文件touch index.htmlmkdir demo2 && cd demo2 // 创建demo2文件夹mkdir src && cd srctouch index.jswebpack.config.js123456789const path = require('path');module.exports = { entry: './src/index.js', // 入口文件 output: { // 出口文件 filename: 'bundle.js', // 打包后命名为bundle.js path: path.resolve(__dirname, 'dist') // 输出的路径 }};在项目的demo2目录执行webpack。如下图就代表打包成功。打开demo2下面的index.html 就可以弹出我的博客地址。使用babel转换es6语法 => es5安装babel在webpack-demo路径下执行命令1npm install --save-dev babel-loader babel-core babel-preset-env把demo2复制一份命名为demo3,在src目录下再新建a.js。src/a.js1export default lanpangzhi = \"blog.langpz.com\";src/index.js12import lanpz from \"./a.js\";console.log(lanpz);webpack.config.js1234567891011121314151617181920const path = require('path');module.exports = { entry: './src/index.js', // 入口文件 output: { // 出口文件 filename: 'bundle.js', // 打包后命名为bundle.js path: path.resolve(__dirname, 'dist') // 输出的路径 }, module: { rules: [ { test: /\\.js$/, // 匹配所有.js结尾的文件 exclude: /node_modules/, // 忽略node_modules文件夹 use: { loader: 'babel-loader' // 使用babel-loader转义 } } ] }};新建 .babelrc 文件1touch .babelrc.babelrc123{ \"presets\": [\"env\"]}执行webpack就可以看见打包成功了。babel-polyfill由于 Babel 只转换语法(如箭头函数), 你可以使用 babel-polyfill 支持新的全局变量,例如 Promise 、新的原生方法如 String.padStart (left-pad) 等。在webpack-demo路径下执行命令1npm install --save babel-polyfill // 安装babel-polyfill在 webpack.config.js 中,将 babel-polyfill 加到你的 entry 数组中。123module.exports = { entry: [\"babel-polyfill\", \"./src/index.js\"]};执行webpack命令,如下图就成功了。demo仓库地址https://github.com/lanpangzhi/webpack-demo参考https://www.babeljs.cn/https://webpack.docschina.org/","categories":[],"tags":[{"name":"webpack","slug":"webpack","permalink":"http://blog.langpz.com/tags/webpack/"},{"name":"打包工具","slug":"打包工具","permalink":"http://blog.langpz.com/tags/打包工具/"}]},{"title":"部署小说api服务到腾讯云","slug":"部署小说api服务到腾讯云","date":"2018-05-29T11:00:08.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"部署小说api服务到腾讯云.html","link":"","permalink":"http://blog.langpz.com/部署小说api服务到腾讯云.html","excerpt":"部署小说api服务到腾讯云小说api1.0版本写完了,接下来就开始部署到服务器上,用到了nginx、pm2、nvm、git、OpenSSL。","text":"部署小说api服务到腾讯云小说api1.0版本写完了,接下来就开始部署到服务器上,用到了nginx、pm2、nvm、git、OpenSSL。服务器配置: CentOS 7.4 64位 1 核 2 GB 1 Mbpsnode版本: 8.9.0nvm版本: 0.33.11npm版本: 5.5.1nginx版本:1.12.2git版本: 2.9.5第一步添加pm2配置文件在小说api项目的根目录创建一个pm2.json的文件。12345678910111213141516171819202122232425{ \"name\": \"novel-api\", // 服务名 \"script\": \"./bin/www\", // 启动脚本 \"cwd\": \"./\", // 当前工作路径 \"watch\": [ // 监控变化的目录,一旦变化,自动重启 \"bin\", \"routers\" ], \"ignore_watch\": [ // 从监控目录中排除 \"node_modules\", \"logs\", \"public\", \"log\" ], \"watch_options\": { \"followSymlinks\": false }, \"max_memory_restart\": \"1G\", // 根据内存限制重新启动应用程序。 \"error_file\": \"./logs/novel-apierr.log\", // 错误日志路径 \"out_file\": \"./logs/novel-api-out.log\", // 普通日志路径 \"env\": { \"DEBUG\": \"novel-api\", // 环境变量参数,debug名字为novel-api,8080端口监听 \"PORT\": \"8080\" }}package.json文件添加npm run deploy部署命令。1\"deploy\": \"pm2 start pm2.json\"pm2 常用命令。pm2 save 保存当前进程列表。pm2 resurrect 启动之前保存的进程列表。pm2 restart app.js|app_name 重启进程pm2 start app.js 启动进程pm2 list 查看进程列表pm2 stop app_name |app_id 停止指定的应用。 all 停止所有应用第二步购买服务器和域名购买服务器https://buy.cloud.tencent.com/cvm?tab=lite,我买的是CentOS 7.4 64位 1 核 2 GB 1 Mbps的服务器。如果只是尝试部署流程,可以选择按时计费。购买域名https://dnspod.cloud.tencent.com/?from=qcloudProductDns建议选.com的域名。第三步设置子域名添加一个api开头的子域名https://console.cloud.tencent.com/domain,然后添加解析。第四步登陆服务器安装软件登陆到服务器然后执行以下安装命令。安装nginx12yum install -y nginxnginx -v安装nvm12curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bashnvm --version安装node和pm2、apidoc12345nvm install 8.9.0nvm use 8.9.0node -vnpm -vnpm install -g pm2 apidoc安装git123456789101112131415yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel taryum install -y gcc-c++ perl-ExtUtils-MakeMakercd /usr/srcwget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gztar xf git-2.9.5.tar.gzcd git-2.9.5make configuremake profix=/usr/gitmake installecho \"export PATH=$PATH:/usr/git/bin\" >> /etc/profilesource /etc/profilegit --version // 配置gitgit config --global user.name \"用户名称\"git config --global user.email 电子邮件地址在服务器上克隆git仓库先进入home路径创建wwwroot文件夹。1234567cd /home && mkdir wwwrootcd wwwrootgit clone https://github.com/lanpangzhi/novel-api.gitcd novel-apinpm installnpm run docnpm run deploy这个应用就pm2被启动了。配置nginx先启动nginx。1nginxhttp://123.206.45.87 在浏览器输入服务器ip就可以看到nginx已经启动了。进入nginx配置目录,新建文件。12cd /etc/nginx/conf.dtouch api.langpz.com-8080.conf如果一台服务器的server比较多,建议用域名和端口做配置文件名。编辑api.langpz.com-8080.conf 配置文件。1vi api.langpz.com-8080.conf把下面代码复制粘贴过去。12345678910111213141516upstream novel-api { server 127.0.0.1:8080;}server { listen 80; server_name 你自己的域名; location / { proxy_pass http://novel-api; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; }}ctrl + c 输入:wq 退出并保存。再执行nginx -s reload 在浏览器输入你的域名就可以看到文档,http://api.langpz.comgzip压缩12cd /etc/nginx/vi nginx.conf把下面代码复制粘贴过去。123456789101112## gzip压缩gzip on;# ie6不启用gzipgzip_disable \"msie6\";gzip_vary on;gzip_proxied any;# 压缩等级 1-9gzip_comp_level 2;gzip_buffers 16 8k;gzip_http_version 1.1;# 为除“text/html”之外的MIME类型启用压缩gzip_types text/plain text/css application/json application/x-javascript image/gif image/jpeg image/png image/tiff image/x-icon application/font-woff application/vnd.ms-fontobject text/javascript;ctrl + c 输入:wq 退出并保存。再执行nginx -s reload。可以去站长之家看你的压缩率http://tool.chinaz.com/gzips/隐藏nginx版本号还是修改nginx.conf这个文件12345vi nginx.conf// 把下面代码复制过去# 隐藏nginx版本号server_tokens off;ctrl + c 输入:wq 退出并保存。再执行nginx -s reload。这里就不显示nginx版本号了。配置ssl证书https,给你的网站加个小绿锁我用的是腾讯云的免费证书,也可以自己生成。https://cloud.tencent.com/product/ssl?from=qcloudHpHeaderSsl,使用域名免费版。申请腾讯云ssl证书直接点下一步,然后用推荐选项验证。申请很快不到十分钟就下来,到时候还会有邮件和短信通知。下载证书上传到服务器找到腾讯云的ssl证书管理去下载证书。压缩包里面有三个文件夹找到Nginx这个文件夹。在服务器进入nginx所在目录新建一个文件夹。12cd /etc/nginx/mkdir api.langpz.com然后把Nginx文件夹里面两个文件上传到服务器/etc/nginx/api.langpz.com 这个文件夹里面。可以下载一个FileZilla软件或者下载一个别的ftp工具,还可以用命令行,我这里下载了FileZilla使用它去上传。加强 HTTPS 安全性首先在目录 /etc/nginx/api.langpz.com 运行以下代码生成 dhparam.pem 文件12cd /etc/nginx/api.langpz.com openssl dhparam -out dhparam.pem 2048修改配置文件12cd /etc/nginx/conf.dtouch api.langpz.com-8080.conf把下面代码覆盖api.langpz.com-8080.conf文件。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950upstream novel-api { server 127.0.0.1:8080;}# 配置共享会话缓存大小ssl_session_cache shared:SSL:10m;# 配置会话超时时间ssl_session_timeout 10m;# 强制跳转httpsserver { listen 80; server_name api.langpz.com; return 301 https://$server_name$request_uri;}server { listen 443 ssl; server_name api.langpz.com; # 证书文件 ssl_certificate /etc/nginx/api.langpz.com/1_api.langpz.com_bundle.crt; # 私钥文件 ssl_certificate_key /etc/nginx/api.langpz.com/2_api.langpz.com.key; # 设置长连接 keepalive_timeout 70; # 优先采取服务器算法 ssl_prefer_server_ciphers on; # 使用DH文件 ssl_dhparam /etc/nginx/api.langpz.com/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 定义算法 ssl_ciphers \"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4\"; # HSTS策略 add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains;preload\" always; # 防XSS攻擊 add_header X-Xss-Protection 1; # 禁止服务器自动解析资源类型 add_header X-Content-Type-Options nosniff; location / { proxy_pass http://novel-api; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; }}ctrl + c 输入:wq 退出并保存。再执行nginx -s reload。现在就可以访问https://api.langpz.com。如果访问http协议就会强制跳转到https协议。SSL安全测试输入你的域名。之前在nginx配置加强 HTTPS 安全性,所以结果是A+。总结这种部署比较麻烦,部署完发现pm2也有部署功能,2.0用koa.js重构的时候用pm2部署,docker 生成镜像。参考https://nginx.org/en/docs/https://github.com/creationix/nvmhttps://www.thinkjs.org/zh-cn/doc/3.0/deploy.htmlhttps://www.cnblogs.com/chyingp/p/pm2-documentation.htmlhttp://www.runoob.com/git/git-install-setup.htmlhttps://nginx.rails365.net/chapters/install.htmlhttps://www.cnblogs.com/nuccch/p/7681592.htmlhttps://aotu.io/notes/2016/08/16/nginx-https/index.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"API","slug":"API","permalink":"http://blog.langpz.com/tags/API/"},{"name":"部署","slug":"部署","permalink":"http://blog.langpz.com/tags/部署/"}]},{"title":"使用apidoc文档神器,快速生成api文档","slug":"使用apidoc文档神器,快速生成api文档","date":"2018-05-26T11:13:37.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用apidoc文档神器,快速生成api文档.html","link":"","permalink":"http://blog.langpz.com/使用apidoc文档神器,快速生成api文档.html","excerpt":"使用apidoc文档神器,快速生成api文档写完api接口,就需要编写api文档了,如果一个个手写的话就很麻烦,就得使用apidoc只需要通过写注释,就可以快速生成文档了。","text":"使用apidoc文档神器,快速生成api文档写完api接口,就需要编写api文档了,如果一个个手写的话就很麻烦,就得使用apidoc只需要通过写注释,就可以快速生成文档了。安装第一步先安装全局模块apidoc。1npm install apidoc -g修改接口的注释找到novel-api项目routes下面的index.js文件,注释修改成如下123456789101112131415161718192021222324252627282930313233343536373839/** * @api {get} /index 请求首页数据 * @apiVersion 1.0.0 * @apiName 获取首页数据 * @apiGroup index * * * @apiSuccess {Number} flag 是否获取到数据 1成功 0失败 * @apiSuccess {Array} books 返回书籍内容 * @apiSuccess {String} msg 返回信息 * * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * \"flag\": 1, * \"books\": [ * { * \"_id\": \"5816b415b06d1d32157790b1\", * \"title\": \"圣墟\", * \"author\": \"辰东\", * \"shortIntro\": \"在破败中崛起,在寂灭中复苏。沧海成尘,雷电枯竭,那一缕幽雾又一次临近大地,世间的枷锁被打开了,一个全新的世界就此揭开神秘的一角……\", * \"cover\": \"http://statics.zhuishushenqi.com/agent/http%3A%2F%2Fimg.1391.com%2Fapi%2Fv1%2Fbookcenter%2Fcover%2F1%2F1228859%2F1228859_fac7917a960547eb953edf0b740cef3a.jpg%2F\", * \"site\": \"zhuishuvip\", * \"majorCate\": \"玄幻\", * \"minorCate\": \"东方玄幻\", * \"allowMonthly\": false, * \"banned\": 0, * \"latelyFollower\": 283375, * \"retentionRatio\": \"73.42\" * } * ], * \"msg\": \"OK\" * } * * * @apiErrorExample Error-Response: * HTTP/1.1 404 Not Found * { \"flag\": 0, \"msg\": \"rankingId有问题\" } */@api {method} path [title]@api 如果没有@api apidoc会忽略这段注释method 请求的方法path 路径title 标题@apiVersion version设置文档块的版本。version 版本号@apiName name定义方法文档块的名称。名称将用于生成的输出中的子导航。name 方法的名称@apiGroup name定义方法文档块属于哪个组。组将用于生成的输出中的主导航。name 组的名称。也用作导航标题。@apiSuccess [(group)] [{type}] field [description]成功返回参数。(group) 可选 所有参数将按这个名称分组。没有组,默认Success 200设置。{type} 可选 返回类型field 返回标识符description 描述@apiParamExample [{type}] [title]example参数请求示例。{type} 可选 响应格式title 示例的简称example 详细的例子@apiErrorExample [{type}] [title]example错误返回消息的示例,输出为预格式化代码。{type} 可选 响应格式title 示例的简称example 详细的例子配置npm run doc打开package.json文件增加doc命令配置1\"doc\": \"apidoc -i routes/ -o public/\"routes/ 要输出API文档的文件夹。public/ 输出文档到public文件夹,没有回自动创建。执行 npm run doc访问 http://localhost:3000/ 就可以看到生成好的API文档了。参考https://github.com/apidoc/apidoc","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"API","slug":"API","permalink":"http://blog.langpz.com/tags/API/"},{"name":"apidoc","slug":"apidoc","permalink":"http://blog.langpz.com/tags/apidoc/"}]},{"title":"使用Express开发小说API接口服务1.0(三)","slug":"使用Express开发小说API接口服务1-0(三)","date":"2018-05-26T10:54:41.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用Express开发小说API接口服务1-0(三).html","link":"","permalink":"http://blog.langpz.com/使用Express开发小说API接口服务1-0(三).html","excerpt":"使用Express开发小说API接口服务1.0(三)之前发现追书神器API详情页竟然没有下一章和上一章的返回值,只能自己动手封装一下。","text":"使用Express开发小说API接口服务1.0(三)之前发现追书神器API详情页竟然没有下一章和上一章的返回值,只能自己动手封装一下。app.js 增加错误处理1234567891011121314151617// catch 404 and forward to error handlerapp.use(function (req, res, next) { const err = new Error('Not Found'); err.status = 404; next(err);});// error handlerapp.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error');});这些代码放到module.exports = app; 上面就可以了。列表页增加返回ID找到routes/chapter.js 29行替换1res.send(JSON.stringify({ \"flag\": 1,\"id\": body._id, \"chapters\": body.chapters, \"msg\": \"OK\" }));详情页增加上一章和下一章的返回值1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 获取小说文章内容 返回小说文章内容 param link {String} 是小说文章列表接口 chapters[0].link http://chapter2.zhuishushenqi.com/chapter/${link}*/router.get('/', function (req, res, next) { if (!req.query.link) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请传入link...\" })); } // req.query.link 编码转义 let link = encodeURIComponent(req.query.link); request.get(`${common.CHAPTER}/chapter/${link}`, function (err, response, body) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回的数据 body = JSON.parse(body); if (body.ok){ // 再次请求列表页获取上一页和下一页 if(req.query.id){ // req.query.id 编码转义 let id = encodeURIComponent(req.query.id); let n = parseInt(req.query.n); if (isNaN(n)){ n = 0; } request.get(`${common.API}/atoc/${id}?view=chapters`, function (err, response, body2) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } if (body2 == \"wrong param\"){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入错误的ID...\" })); }else{ // 解析返回的数据 body2 = JSON.parse(body2); // 检查页码是否超过小说的章节数 if(n > body2.chapters.length - 1){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入的页码过大\" })); }else{ // 如果有上一页或者下一页就返回link否则返回false let prev,next; body2.chapters[n - 1] ? prev = body2.chapters[n - 1].link : prev = false; body2.chapters[n + 1] ? next = body2.chapters[n + 1].link : next = false; if (body2.chapters.length > 0) { res.send(JSON.stringify({ \"flag\": 1,\"id\": id, \"chapter\": body.chapter, \"prev\": prev,\"next\": next, \"msg\": \"OK\" })); } } } }); }else{ res.send(JSON.stringify({ \"flag\": 1, \"chapter\": body.chapter, \"msg\": \"OK\" })); } }else{ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入link有错误\" })); } });});module.exports = router;访问http://localhost:3000/article?link=http://www.69shu.com/txt/1463/4861037&n=2648&id=577b6c81ccb7bf00499d036c新增n和id参数。n 代表是第几页。id 是书籍ID。","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"API","slug":"API","permalink":"http://blog.langpz.com/tags/API/"}]},{"title":"使用Express开发小说API接口服务1.0(二)","slug":"使用Express开发小说API接口服务-二","date":"2018-05-18T13:26:05.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用Express开发小说API接口服务-二.html","link":"","permalink":"http://blog.langpz.com/使用Express开发小说API接口服务-二.html","excerpt":"使用Express开发小说API接口服务1.0(二)之前完成了首页和搜索的接口,现在就开始写剩下的接口。","text":"使用Express开发小说API接口服务1.0(二)之前完成了首页和搜索的接口,现在就开始写剩下的接口。获取小说源因为追书神器正版源是收费加密的,所以只能使用盗版源,所以要封装一个获取小说源的接口。修改app.js 文件路由中间件配置,增加一个路由12let sourceRouter = require('./routes/source');app.use('/source', sourceRouter);在routes下面新建 source.js12345678910111213141516171819202122232425262728293031323334353637383940414243444546let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 获取小说源 返回盗版源和正版源 param id {String} 是首页和搜索返回接口 books[i].id param n {Number || String} 使用第几个源,可以不用传参默认 1 http://api.zhuishushenqi.com/atoc?view=summary&book=${bookID}*/router.get('/', function (req, res, next) { if (!req.query.id) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请传入ID...\" })); } // req.query.id 编码转义 let id = encodeURI(req.query.id); request.get(`${common.API}/atoc?view=summary&book=${id}`, function (err, response, body){ if(err){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回的数据 body = JSON.parse(body); // 判断是否返回内容 if (body.length == 0){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"没有获取到小说源,换个小说看吧\" })); } // 第一个源是正版源,是收费加密的,所以默认选中第二个源 let n = parseInt(req.query.n); if (isNaN(n) || n == 0){ n = 1; } // 判断n是否大于源数据的长度 if (n >= body.length){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"n的参数值不正确,没有那个源\" })); }else{ res.send(JSON.stringify({ \"flag\": 1, \"books\": body[n], \"msg\": \"OK\" })); } });});module.exports = router;访问http://localhost:3000/source/?id=50864bf69dacd30e3a000014&n=3 就可以看到返回第四个源的数据。小说文章列表修改app.js 文件路由中间件配置,增加一个路由12let chapterRouter = require('./routes/chapter');app.use('/chapter', chapterRouter);在routes下面新建 chapter.js123456789101112131415161718192021222324252627282930313233343536let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 获取小说文章列表 返回小说文章列表 param id {String} 是小说源接口 books.id http://api.zhuishushenqi.com/atoc/${id}?view=chapters*/router.get('/', function (req, res, next) { if (!req.query.id){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请传入ID...\" })); } // req.query.id 编码转义 let id = encodeURIComponent(req.query.id); request.get(`${common.API}/atoc/${id}?view=chapters`, function (err, response, body) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } if (body == \"wrong param\"){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入错误的ID...\" })); }else{ // 解析返回的数据 body = JSON.parse(body); if (body.chapters.length > 0) { res.send(JSON.stringify({ \"flag\": 1, \"chapters\": body.chapters, \"msg\": \"OK\" })); } } });});module.exports = router;访问http://localhost:3000/chapter/?id=57416370ccc94e4b41df80cc 就可以看到数据。id小说源接口返回的id。小说文章内容修改app.js 文件路由中间件配置,增加一个路由12let articleRouter = require('./routes/article');app.use('/article', articleRouter);在routes下面新建 article.js12345678910111213141516171819202122232425262728293031323334let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 获取小说文章内容 返回小说文章内容 param link {String} 是小说文章列表接口 chapters[0].link http://chapter2.zhuishushenqi.com/chapter/${link}*/router.get('/', function (req, res, next) { if (!req.query.link) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请传入link...\" })); } // req.query.link 编码转义 let link = encodeURIComponent(req.query.link); request.get(`${common.CHAPTER}/chapter/${link}`, function (err, response, body) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回的数据 body = JSON.parse(body); if (body.ok){ res.send(JSON.stringify({ \"flag\": 1, \"chapter\": body.chapter, \"msg\": \"OK\" })); }else{ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入link有错误\" })); } });});module.exports = router;访问http://localhost:3000/article?link=http://www.69shu.com/txt/1463/4861037 就可以看到数据。排行榜修改app.js 文件路由中间件配置,增加一个路由12let rankingRouter = require('./routes/ranking');app.use('/ranking', rankingRouter);在routes下面新建 ranking.js123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 获取排行榜 返回排行榜 param id {String} 没有传参数就是获取全部榜单,否则根据参数获取榜单 http://api.zhuishushenqi.com/ranking/gender http://api.zhuishushenqi.com/ranking/${id}*/router.get('/', function (req, res, next) { // 获取全部榜单 request.get(`${common.API}/ranking/gender`, function (err, response, body) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回的数据 body = JSON.parse(body); if (body.ok) { let ranking = { male: body.male, picture: body.picture, epub: body.epub, female: body.female }; res.send(JSON.stringify({ \"flag\": 1, \"ranking\": ranking, \"msg\": \"OK\" })); } else { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"出错了\" })); } });});router.get('/:id', function (req, res, next) { if (req.params.id) { // req.param.id 编码转义 let id = encodeURIComponent(req.params.id); // 根据id获取榜单 request.get(`${common.API}/ranking/${id}`, function (err, response, body) { if (err) { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回的数据 body = JSON.parse(body); if (body.ok) { res.send(JSON.stringify({ \"flag\": 1, \"ranking\": body.ranking, \"msg\": \"OK\" })); } else { res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"传入id错误\" })); } }); }else{ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"id没有传\" })); }});module.exports = router;分别访问http://localhost:3000/ranking/ 和 http://localhost:3000/ranking/54d43437d47d13ff21cad58b 就可以获取到榜单的数据。1.0版本的开发就告于段落了。github仓库访问地址https://github.com/lanpangzhi/novel-api参考https://github.com/expressjs/morganhttps://juejin.im/entry/593a3fdf61ff4b006c737ca4https://github.com/jianhui1012/bookreader/wiki/API-%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"API","slug":"API","permalink":"http://blog.langpz.com/tags/API/"}]},{"title":"使用Express开发小说API接口服务1.0(一)","slug":"使用Express开发小说API接口服务","date":"2018-05-17T15:10:56.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用Express开发小说API接口服务.html","link":"","permalink":"http://blog.langpz.com/使用Express开发小说API接口服务.html","excerpt":"使用Express开发小说API接口服务1.0(一)1.0版本技术栈使用express-generator、express、request、morgan、file-stream-rotator。接口用追书神器API。目前接口设计有首页,小说详情页,搜索,小说文章列表页,排行API。","text":"使用Express开发小说API接口服务1.0(一)1.0版本技术栈使用express-generator、express、request、morgan、file-stream-rotator。接口用追书神器API。目前接口设计有首页,小说详情页,搜索,小说文章列表页,排行API。github创建仓库先创建一个仓库放文件然后克隆创建好的仓库1git clone https://github.com/lanpangzhi/novel-api.git安装 express-generator 快速生成项目1npm install -g express-generator然后再之前克隆仓库的上一级目录执行12345678express --no-view novel-apicd novel-apinpm install npm install request file-stream-rotator -S// Linux MacOSDEBUG=novel-api:* & npm start// windows set DEBUG=novel-api:* & npm start生成好的目录结构和文件设置cors 跨域打开项目根目录app.js,放在路由上面。12345678app.all('*', function (req, res, next) { res.header(\"Access-Control-Allow-Origin\", \"*\"); res.header(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept\"); res.header(\"Access-Control-Allow-Methods\", \"PUT,POST,GET,DELETE,OPTIONS\"); res.header(\"X-Powered-By\", ' 3.2.1') res.header(\"Content-Type\", \"application/json;charset=utf-8\"); next()});日志写入本地文件按时间分割log日志并写入本地磁盘,需要在app.js文件中引入fs和file-stream-rotator模块。12345678910111213141516171819let fs = require('fs'); let FileStreamRotator = require('file-stream-rotator'); // 日志按时间分割模块// 下面代码写在var app = express();下面let logDir = path.join(__dirname, 'log');// 检查是否存在logDir这个目录没有则创建fs.existsSync(logDir) || fs.mkdirSync(logDir);// 日志分割流let accessLogStream = FileStreamRotator.getStream({ date_format: 'YYYYMMDD', filename: path.join(logDir, 'access-%DATE%.log'), frequency: 'daily', verbose: false});// 日志中间件app.use(logger('combined', { stream: accessLogStream }));创建公共文件项目根目录创建common文件夹,再里面再新建一个common.json文件12345{ \"API\": \"http://api.zhuishushenqi.com\", \"PIC\": \"http://statics.zhuishushenqi.com\", \"CHAPTER\": \"http://chapter2.zhuishushenqi.com\"}API域名: http://api.zhuishushenqi.com图片域名: http://statics.zhuishushenqi.com章节域名: http://chapter2.zhuishushenqi.com首页接口1.0版本首页接口直接返回最热榜前20条数据。修改app.js 文件路由中间件配置1app.use('/index', indexRouter);修改routes/index.js 文件12345678910111213141516171819202122232425262728293031323334let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 首页数据追书最热榜 Top100 获取单一排行榜 http://api.zhuishushenqi.com/ranking/{rankingId}*/router.get('/', function(req, res, next) { // 请求追书最热榜 Top100 request.get(`${common.API}/ranking/54d42d92321052167dfb75e3`, function (error, response, body) { if (error){ res.send(JSON.stringify({\"flag\": 0, \"msg\": \"请求出错了...\"})); } // 解析返回数据取前20条,并添加图片url链接 body = JSON.parse(body); if (body.ok){ let books = body.ranking.books.slice(0, 19); books.forEach(element => { element.cover = common.PIC + element.cover; }); res.send(JSON.stringify({ \"flag\": 1, \"books\": books, \"msg\": \"OK\" })); }else{ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"rankingId有问题\" })); } });});module.exports = router;访问http://localhost:3000/index 就可以看到返回的数据了。搜索接口1.0版本的搜索接口只取前40条数据,可以模糊查询。修改app.js 文件路由中间件配置,把users删掉。12let searchRouter = require('./routes/search');app.use('/search', searchRouter);然后把routes文件夹下面的users.js删除,新建search.js12345678910111213141516171819202122232425262728293031323334353637383940414243444546let express = require('express');let request = require('request');let common = require('../common/common.json'); // 引用公共文件let router = express.Router();/** 模糊搜索接口 返回模糊搜索前40条数据 http://api.zhuishushenqi.com/book/fuzzy-search?query={name}*/router.get('/', function(req, res, next) { // 判断query参数有没有传递过来 if (req.query.query){ // req.query.query 编码转义 let query = encodeURIComponent(req.query.query); request.get(`${common.API}/book/fuzzy-search?query=${query}`, function (error, response, body) { if (error){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } // 解析返回数据 body = JSON.parse(body); if (body.ok){ if (body.books.length == 0){ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"没有找到书籍,换个名字试试吧。\" })); } // 取前40条,并添加图片url链接 let books = body.books.slice(0, 39); books.forEach(element => { element.cover = common.PIC + element.cover; }); res.send(JSON.stringify({ \"flag\": 1, \"books\": books, \"msg\": \"OK\" })); }else{ res.send(JSON.stringify({ \"flag\": 0, \"msg\": \"请求出错了...\" })); } }); }else{ res.send(JSON.stringify({\"flag\": 0, \"msg\": \"请传入query参数\"})); } });module.exports = router;访问http://localhost:3000/search/?query=遮天 就可以看到返回的数据了。参考https://github.com/expressjs/morganhttps://juejin.im/entry/593a3fdf61ff4b006c737ca4https://github.com/jianhui1012/bookreader/wiki/API-%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"API","slug":"API","permalink":"http://blog.langpz.com/tags/API/"}]},{"title":"使用travis-ci自动构建Hexo","slug":"使用travis-ci自动构建Hexo","date":"2018-05-15T16:30:49.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用travis-ci自动构建Hexo.html","link":"","permalink":"http://blog.langpz.com/使用travis-ci自动构建Hexo.html","excerpt":"使用travis-ci自动构建Hexo持续集成(CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。","text":"使用travis-ci自动构建Hexo持续集成(CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。Travis CI是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在GitHub托管的代码。这个软件的代码同时也是开源的,可以在GitHub上下载到,尽管开发者当前并不推荐在闭源项目中单独使用它。构建流程本地写完文章 => push github => GitHub触发Travis CI构建 => 执行命令 => 部署 => 完成。用github登陆travis-cihttps://travis-ci.com然后添加到你要激活的存储库。然后选择你要使用的仓库,我这里选择的是lanpangzhi.github.io,我放hexo博客的仓库。然后生成github和coding的Token。先生成github的Token。https://github.com/settings/tokens点击Generate new token。然后生成Token。开始生成coding的Token。点击新建令牌。复制令牌。登陆travis-ci把github和coding的Token复制到环境变量。https://travis-ci.com/点击Settings。添加CI_TOKEN和CO_TOKEN环境变量。CI_TOKEN是github的Token。CO_TOKEN是coding的Token。在项目根目录新建.travis.yml 文件1234567891011121314151617181920212223242526272829303132333435language: node_jsnode_js:- 8.9.0cache: directories: - node_modulesbefore_install:- npm install hexo-cli -ginstall:- npm installscript:- hexo clean- hexo generateafter_script: - cd ./public - git init - git config user.name \"github用户名\" - git config user.email \"github邮箱\" - git add . - git commit -m \"TravisCI 自动部署\" # Github Pages - git push --force --quiet \"https://${CI_TOKEN}@${GH_REF}\" master:master # Coding Pages - git push --force --quiet \"https://coding用户名:${CO_TOKEN}@${CO_REF}\" master:masterbranches: only: - indigo 这里替换你要监听的分支env: global: # Github Pages - GH_REF: github.com/lanpangzhi/lanpangzhi.github.io 这里替换你的github仓库地址 # Coding Pages - CO_REF: git.coding.net/bule/bule.coding.me.git 这里替换你的coding仓库地址然后提交github,travis-ci就会自动构建了。现在写博客只需要两步操作,第一步 hexo new “新的文章”,第二步提交到github。travis-ci会帮你自动部署的。省去了 hexo clean hexo g -d 的环节。看到这张图就代表成功了。如果使用git子模块的话请使用https地址,或者在.travis.yml文件禁用子模块,否则构建会报错,提示没有权限。参考https://docs.travis-ci.com/user/for-beginnershttps://zh.wikipedia.org/wiki/Travis_CIhttps://baike.baidu.com/item/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/6250744https://blog.csdn.net/qinyuanpei/article/details/79388983","categories":[],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://blog.langpz.com/tags/Hexo/"},{"name":"travis-ci","slug":"travis-ci","permalink":"http://blog.langpz.com/tags/travis-ci/"},{"name":"自动构建","slug":"自动构建","permalink":"http://blog.langpz.com/tags/自动构建/"},{"name":"持续集成","slug":"持续集成","permalink":"http://blog.langpz.com/tags/持续集成/"}]},{"title":"使用express-generator快速生成express应用","slug":"使用express-generator快速生成express应用","date":"2018-05-14T16:08:03.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"使用express-generator快速生成express应用.html","link":"","permalink":"http://blog.langpz.com/使用express-generator快速生成express应用.html","excerpt":"使用express-generator快速生成express应用express-generator是Express应用的快速生成器,可以随意使用此结构或者对其进行修改以最大程度满足自己的需求。","text":"使用express-generator快速生成express应用express-generator是Express应用的快速生成器,可以随意使用此结构或者对其进行修改以最大程度满足自己的需求。安装1npm install -g express-generator需要全局安装。使用在要创建应用的文件夹下面执。1express -e myapp-e: 使用ejs模板myapp: 应用名字然后安装依赖项:12cd myappnpm install执行应用1set DEBUG=myapp:* & npm start生成完应用的时候会有提示因为我是Windows系统所以提示set。MacOS 或 Linux 上不用使用set1DEBUG=myapp:* npm start然后在浏览器中输入 http://localhost:3000/ 以访问此应用程序。可以根据自己的需要修改文件,来满足自己项目的需要。更多参数12345678910 --version 输出版本号-e, --ejs 添加ejs引擎支持 --pug 添加pug引擎支持 --hbs 添加handlebars引擎支持-H, --hogan 添加hogan.js引擎支持-v, --view <engine> 添加以下模板引擎支持(dust|ejs|hbs|hjs|jade|pug|twig|vash) 默认jade --no-view 使用静态HTML代替视图模板引擎-c, --css <engine> 添加样式扩展语言 (less|stylus|compass|sass) 默认css --git 添加 .gitignore 忽略文件-h, --help 输出帮助信息参考https://github.com/expressjs/generator","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"express-generator","slug":"express-generator","permalink":"http://blog.langpz.com/tags/express-generator/"}]},{"title":"node爬虫","slug":"node爬虫","date":"2018-05-12T15:37:42.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node爬虫.html","link":"","permalink":"http://blog.langpz.com/node爬虫.html","excerpt":"node爬虫什么是爬虫呢,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。为什么选用node呢,因为我是前端,当然要用js实现。","text":"node爬虫什么是爬虫呢,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。为什么选用node呢,因为我是前端,当然要用js实现。项目分析爬取http://top.zhaopin.com 智联网站上的全国的竞争最激烈三个月内前十的岗位。不需要定时爬取。使用request和cheerio模块。node版本7.6.0、npm版本4.1.2安装1npm install request cheerio -Srequest 模块是一个简化的HTTP客户端。cheerio 模块专为服务器设计的核心jQuery的快速,灵活和精益的实现。可以把爬到的内容和jQuery一样使用。核心代码1234567891011121314151617181920212223// app.jsconst request = require('request');const cheerio = require('cheerio');// 发起请求request('http://top.zhaopin.com', (error, response, body) => { if(error){ console.error(error); } let json = {}; // 获取到的内容放到cheerio模块 const $ = cheerio.load(body); // jQuery 遍历 #hotJobTop .topList li 是通过http://top.zhaopin.com 分析页面结构得到的 $('#hotJobTop .topList li').each(function (index) { let obj = json[index] = {}; obj.name = $(this).find('.title').text().trim(); obj.num = $(this).find('.paddingR10').text().trim(); }); // 打印数据 console.log(json);});执行 node app.js 就会得到如下结果。12345678910[ { name: 'Java开发工程师', num: '340538人/天' }, { name: '软件工程师', num: '220873人/天' }, { name: '销售代表', num: '175053人/天' }, { name: '会计/会计师', num: '168225人/天' }, { name: '行政专员/助理', num: '150913人/天' }, { name: 'WEB前端开发', num: '140979人/天' }, { name: '助理/秘书/文员', num: '139098人/天' }, { name: '软件测试', num: '136399人/天' }, { name: '人力资源专员/助理', num: '123482人/天' }, { name: '用户界面(UI)设计', num: '107505人/天' } ]一个简单的爬虫就写好了,看看前十有没有你从事的岗位吧!参考https://github.com/request/requesthttps://github.com/cheeriojs/cheerio","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"爬虫","slug":"爬虫","permalink":"http://blog.langpz.com/tags/爬虫/"}]},{"title":"node连接MySQL","slug":"node连接MySQL","date":"2018-05-10T15:40:04.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node连接MySQL.html","link":"","permalink":"http://blog.langpz.com/node连接MySQL.html","excerpt":"node连接MySQL之前讲了怎么安装MySQL,今天就讲下这么用node去连接操作MySQL。","text":"node连接MySQL之前讲了怎么安装MySQL,今天就讲下这么用node去连接操作MySQL。安装1npm install mysql连接1234567891011121314151617const mysql = require('mysql');let connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'password', database : 'test'});connection.connect(function(err) { if (err) { console.error('连接出错: ' + err.stack); return; } console.log('连接成功 id ' + connection.threadId);});host:连接的服务器user:用户名默认是rootpassword:之前设置的MySQL密码database: 要连接的库常用的SQL语句SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。增1INSERT INTO user (username, pass) VALUES ('blog.langpz.com', '123456');INSERT INTO 表名称 VALUES (值1, 值2,….)指定所要插入数据的列INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….)删1DELETE FROM user WHERE id = 0DELETE FROM 表名称 WHERE 列名称 = 值不加WHERE会删除所有行WHERE子句用于规定选择的标准。改1UPDATE user SET pass = 'bbb' WHERE username = '张三'UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值查1SELECT * FROM userSELECT 列名 FROM 表名 注: * 代表全部node操作MySQL查询123456connection.query('SELECT * FROM user WHERE username = \"blog.langpz.com\"', (err, results, fields) => { if(err){ console.log(err); } console.log(results);})删除123456connection.query('DELETE FROM user WHERE id = 1', (err, results) => { if(err){ console.log(err); } console.log(results);})增加123456connection.query('INSERT INTO user(username, pass) VALUES(?, ?)',['lan', 'abc'], (err, results) => { if(err){ console.log(err); } console.log(results);})修改123456connection.query('UPDATE user SET pass = \"bbb\" WHERE username = \"lan\"', (err, results) => { if(err){ console.log(err); } console.log(results);})终止连接1234connection.end(function(err) { // The connection is terminated now});connection.destroy();调用这两个方法都可以。基本操作就是这个流程,可以通过路由封装接口,写一个CRUD应用,mysql模块更多参数可以去看github。参考https://github.com/mysqljs/mysql","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"MySQL","slug":"MySQL","permalink":"http://blog.langpz.com/tags/MySQL/"}]},{"title":"Windows下安装MongoDB","slug":"Windows下安装MongoDB","date":"2018-05-08T15:30:32.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Windows下安装MongoDB.html","link":"","permalink":"http://blog.langpz.com/Windows下安装MongoDB.html","excerpt":"Windows下安装MongoDBMongoDB是一种面向文档的数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题。","text":"Windows下安装MongoDBMongoDB是一种面向文档的数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题。MongoDB特点和关系型数据库比较,面向文档的数据库不再有“行”(row)的概念,取而代之的是更为灵活的“文档”(document)模型。通过再文档中嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层次关系。另外,不再有预定义模式,文档的键(key)和值(value)不再是固定的类型和大小。由于没有固定的模式,根据需要添加或删除字段变得更容易。可以进行快速迭代,所以开发进程得到加快。MongoDB基本概念文档是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行。集合(collection)可以看作是一个拥有动态模式(dynamic schema)的表。MongoDB的一个实例可以拥有多个相互独立的数据库(database),每一个数据库都拥有自己的集合。每一个文档都有一个特殊的键“_id”,这个键在文档所属的集合中是唯一的。下载和安装下载地址点击下载,下载完安装,用默认设置。运行MongoDB命令提示符(cmd)执行,具体路径需要看安装的版本,我的是3.6版本。12cd C:\\Program Files\\MongoDB\\Server\\3.6\\binmongod --dbpath d:\\db控制台会输出一些东西,没有报错MongoDB就启动了。这样启动比较麻烦,每次都要启动,所以可以把它注册成windows 的服务123// 使用管理员权限运行mongod --install --dbpath d:\\data\\db --logpath d:\\data\\log\\log.txtnet start MongoDB // 启动服务12services.msc // 查看服务net stop mongodb // 停止服务删除服务1mongod --remove --serviceName MongoDB // MongoDB是服务名MongoDB 还可以通过配置文件启动可以去官网查看https://docs.mongodb.com/manual/reference/configuration-options/连接MongoDB在打开一个命令提示符(cmd)之前运行的MongoDB那个不要关闭,因为没有注册成windows的服务,关闭就找不到数据库了。12cd C:\\Program Files\\MongoDB\\Server\\3.6\\binmongo这样就链接上数据库了,当然还会输出一大堆东西。操作MongoDB我们先创建一个数据库,再刚才连接MongoDB的cmd执行1use test02创建一个test02的数据库并切换过去。db变量指向当前数据库。向集合里插入文档,之前也讲了MongoDB没有预定义模式,所以不用新建表和表结构了。insert方法 把一条文档保存到集合里。1db.user_table.insert({\"name\", \"lanpangzhi\", \"age\": 18})查看集合里面的文档。find和findOne方法可以用于查询集合里的文档。只想查看一个文件,可以用findOne12db.user_table.find()db.user_table.findOne()find和findOne还可以接受一个查询文档作为限定条件。1db.user_table.find({\"name\": \"lanpangzhi\"})更新集合里面的文档update方法接受(至少)两个参数:第一个是限定条件(用于匹配待更新的文档),第二个是新的文档。1db.user_table.update({name: lanpangzhi},{\"name\": \"lanpangzhi\", \"age\": 18, \"sex\": 1});删除集合里面的文档remove方法可将数据库的集合永久删除,如果不加参数默认把集合里面所有的文档删除。它可以接受一个限定条件的文档作为参数。1db.user_table.remove({\"name\": \"aaa\"})","categories":[],"tags":[{"name":"MongoDB","slug":"MongoDB","permalink":"http://blog.langpz.com/tags/MongoDB/"},{"name":"Windows","slug":"Windows","permalink":"http://blog.langpz.com/tags/Windows/"}]},{"title":"Windows下安装MySQL","slug":"Windows下安装MySQL","date":"2018-05-08T11:02:20.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Windows下安装MySQL.html","link":"","permalink":"http://blog.langpz.com/Windows下安装MySQL.html","excerpt":"Windows下安装MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。","text":"Windows下安装MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。下载下载地址点击,进入页面。注:MySQL安装程序是32位的,但会安装32位和64位二进制文件。点击download然后跳转到页面。可以不需要登陆和注册也可以下载。再点击,安装程序就下载了。安装打开安装程序,勾选同意协议,点击下一步(Next)现在只安装MySQL的服务端,点击下一步然后安装。设置MySQL密码,继续下一步。然后完成,其余配置都是用默认配置。使用Navicat for MySQL 管理MySQL下载地址可以用它去管理MySQL。新建库,新建表,修改数据删除数据。MySQL基本概念库: 文件夹-用来管理,无法存放数据,一个库可以存放很多张表。表: 文件-存放数据用的。列: 一列(数据元素) 包含了相同的数据, 例如用户的数据。行:一行是一组相关的数据,例如一条用户名和密码的数据。主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。外键:外键用于关联两个表。MySQL常用数据类型数据类型说明INT整数FLOAT浮点数DATE日期值DATETIME混合日期和时间值TIME时间值或持续时间VARCHAR变长字符串CHAR定长字符串参考https://github.com/jaywcjlove/handbook/blob/master/MySQL/MySQL%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md","categories":[],"tags":[{"name":"Windows","slug":"Windows","permalink":"http://blog.langpz.com/tags/Windows/"},{"name":"MySQL","slug":"MySQL","permalink":"http://blog.langpz.com/tags/MySQL/"}]},{"title":"Express路由","slug":"Express路由","date":"2018-05-07T17:50:08.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Express路由.html","link":"","permalink":"http://blog.langpz.com/Express路由.html","excerpt":"Express路由之前在Express入坑里面简单讲了下路由的用法,现在就讲下如果再项目中怎么配置路由。","text":"Express路由之前在Express入坑里面简单讲了下路由的用法,现在就讲下如果再项目中怎么配置路由。一个网站下面可能有很多地址例如:www.langpz.com/aaauser/www.langpz.com/user/aaawww.langpz.com/user/bbbwww.langpz.com/user/cccvip/www.langpz.com/vip/aaawww.langpz.com/vip/bbbwww.langpz.com/vip/ccc等等。。。咱们可以拆分成vip和user两个目录目录下再放子路由。先安装express 然后在项目根目录建一个app.js和routers文件夹,routers文件夹里面再建一个index.js文件和vip、user两个目录,两个目录下面分别建立index.js文件。1234567891011// app.jsconst express = require('express');const routers = require('./routers'); //引入路由let app = express();app.use('/vip', routers.vip); // 设置/vip路由中间件app.use('/user', routers.user); // 设置/user路由中间件app.listen(8000);12345678// routers/index.jslet vip = require('./vip'); // 引入vip文件下面的路由let user = require('./user'); // 引入user文件下面的路由// 导出路由module.exports = { vip, user};12345678910111213141516171819// routers/vip/index.jsconst express = require('express'); // 必须要引入expresslet routerVip = express.Router(); // 创建router实例// 添加路由配置routerVip.get('/', (req, res) => { res.send('我是vip根目录')});routerVip.get('/aaa', (req, res) => { res.send('我是vip/aaa目录')});routerVip.get('/bbb', (req, res) => { res.send('我是vip/bbb目录')});// 导出路由module.exports = routerVip;1234567891011121314151617181920// routers/user/index.jsconst express = require('express'); // 必须要引入expresslet routerUser = express.Router(); // 创建router实例// 添加路由配置routerUser.get('/', (req, res) =>{ res.send('我是user根目录')});routerUser.get('/aaa', (req, res) => { res.send('我是user/aaa目录')});routerUser.get('/bbb', (req, res) => { res.send('我是user/bbb目录')});// 导出路由module.exports = routerUser;然后执行 node app.js 再浏览器输入http://localhost:8000/user/aaa、http://localhost:8000/vip/aaa,就可以来回切换路由了,如果新增了一个路由模块就在routers文件夹下,再新建文件夹划分路由,这样路由文件比较清晰,后期维护起来也方便。","categories":[],"tags":[{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"路由","slug":"路由","permalink":"http://blog.langpz.com/tags/路由/"}]},{"title":"Express框架cookie和session","slug":"Express框架cookie和session","date":"2018-05-06T17:32:54.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Express框架cookie和session.html","link":"","permalink":"http://blog.langpz.com/Express框架cookie和session.html","excerpt":"Express框架cookie和sessionHTTP协议是无状态的,所以要通过一些机制来记录用户的信息。cookie是存在浏览器端的,session是存在服务器端。","text":"Express框架cookie和sessionHTTP协议是无状态的,所以要通过一些机制来记录用户的信息。cookie是存在浏览器端的,session是存在服务器端。cookiecookie存在浏览器端,每次请求都会带上。缺点:不安全(用户可以随便串改),大小(4k)。sessionsession只存在服务器端。优点:容量不限,比较安全(用户接触不到)。session实现是基于cookie的。风险:session_id 被泄露漏 session劫持。提醒用户不在在控制台输入(console)输入代码。session_id 足够复杂,定期更换。Express操作cookie先安装cookie-parser。1npm install cookie-parser -S123456789101112131415// app.jsconst express = require('express');const cookieParser = require('cookie-parser');let app = express();app.use(cookieParser()); // 设置cookieParser 中间件app.get('/', (req, res) => { console.log(req.cookies); // 获取cookie res.cookie('user', 'lanpangzhi'); // 设置cookie res.send('OK');});app.listen(8000);在cmd执行 node app.js 浏览器输入http://localhost:8000/ 第一次控制台输出{},再刷新就输出{user: ‘lanpangzhi’ }。现在就能获取和设置cookie了,但是有个问题,浏览器执行document.cookie = “user=aaa”,浏览器再刷新控制台就会输出{user: ‘aaa’ }。这样使用cookie不安全,敏感信息容易被篡改,所以要使用带签名的cookie。带签名的cookie123456789101112131415161718// app.jsconst express = require('express');const cookieParser = require('cookie-parser');let app = express();app.use(cookieParser('abc123456abc')); // 设置cookieParser 中间件 使用签名必须要设置字符串。app.get('/', (req, res) => { console.log(req.cookies); // 获取cookie console.log(req.signedCookies); // 获取带签名的cookie res.cookie('user', 'lanpangzhi', { signed: true // 设置带签名的cookie }); res.send('OK');});app.listen(8000);再执行,就会发现浏览器cookie的值变成了s%3Alanpangzhi.i6hEUuhD%2Fd0miBMsGyRdktiDFmi%2BYfiJhQTcqKpQqIc ,再修改cookie的值,控制台就会输出{ user: false },这样cookie就不会被简单的篡改了。req.cookies 获取cookie。res.cookie(name, value [, options]);name: cookie的名称(string)。value: cookie的值,(string or object)。options:options参数是一个可以具有以下属性的对象。如下值类型说明domainStringcookie的域名。 默认为网站的域名。encodeFunction用于cookie值编码的同步函数。 默认为encodeURIComponent。expiresDatecookie的有效期(如果未指定或设置为0),则创建会话cookie。httpOnlyBoolean将cookie标记为仅可由Web服务器访问。默认falsemaxAgeNumber设置cookie的到期时间、相对于当前时间的到期时间(以毫秒为单位)。pathStringcookie的路径。 默认为“/”secureBoolean将cookie标记为仅与HTTPS一起使用。默认falsesignedBoolean对cookie进行签名。默认falseExpress操作session先安装cookie-session。1npm install cookie-session -S1234567891011121314151617181920// app.jsconst express = require('express');const cookieSession = require('cookie-session');let app = express();app.use(cookieSession({ secret: 'aaaa'})); // 设置cookieSession中间件app.get('/', (req, res) => { if (req.session['num']) { req.session['num']++; }else{ req.session['num'] = 1; // 设置session } res.send(`访问${req.session[\"num\"]}次`);});app.listen(8000);在cmd执行 node app.js 浏览器输入http://localhost:8000/ 刷新浏览器就可以看到访问几次,把所有浏览器都关闭session就失效了,再进入页面就从第一次开始了。更多方法还有详细参数可以去github自行参考。参考http://expressjs.com/en/4x/api.htmlhttps://github.com/expressjs/cookie-parserhttps://github.com/expressjs/cookie-session","categories":[],"tags":[{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"cookie","slug":"cookie","permalink":"http://blog.langpz.com/tags/cookie/"},{"name":"session","slug":"session","permalink":"http://blog.langpz.com/tags/session/"}]},{"title":"javascript数据类型转换","slug":"javascript数据类型转换","date":"2018-05-05T17:14:25.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"javascript数据类型转换.html","link":"","permalink":"http://blog.langpz.com/javascript数据类型转换.html","excerpt":"javascript数据类型转换在面试中经常会碰见问类型转换的问题,例如[] == false、[] == {}返回的是真还是假等等。。。","text":"javascript数据类型转换在面试中经常会碰见问类型转换的问题,例如[] == false、[] == {}返回的是真还是假等等。。。默认是false的五个值1null undefined NaN 0 ''记住只有这五个值是假的剩下的全部是真的。转换规则如果是一个值判断是否是真假,除了默认是false的五个值剩下的全部是true。如果是两个值比较是否相等,遵循如下规则。val1 == val2 如果两个值可能不是同一数据类型,如果是==比较的话,会默认进行数据转换。2.1 object == object,比较永远不相等。2.2 object == string 先将对象转换成字符串(调用toString方法),然后再比较。[] 转换成字符串 "" {} 转换成字符串 "[object Object]" 2.3 object == boolean 先将对象转换成字符串(toString),再把字符串转换成数字(Number)、布尔值转换成数字(true 转换成 1 false 换成成 0)然后让两个数字进行比较。Number("") 会输出 0 2.4 object == number 先将对象转换成字符串(toString),再把字符串转换成数字(Number),再进行比较。2.5 number == boolean 布尔值转换成数字,然后再比较。2.6 number == string 字符串转换成数字,然后再比较。2.7 string == boolean 都转换成数字,,然后再比较。2.8 null == undefined 结果是true。2.9 null 或者 undefined 比较另外的所有值,结果都是false,不相等。例如:[] == false 返回 true 2.3规则。[] == [] 返回 false 2.1规则。2 == true 返回 false 2.5规则。=== 三个等号还会比较数据类型。这些规则背下来,就能完美的应付这样的面试题了,加油!","categories":[],"tags":[{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"},{"name":"数据类型转换","slug":"数据类型转换","permalink":"http://blog.langpz.com/tags/数据类型转换/"},{"name":"面试题","slug":"面试题","permalink":"http://blog.langpz.com/tags/面试题/"}]},{"title":"Git生成SSH公钥","slug":"Git生成SSH公钥","date":"2018-05-05T16:40:31.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Git生成SSH公钥.html","link":"","permalink":"http://blog.langpz.com/Git生成SSH公钥.html","excerpt":"Git生成SSH公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。","text":"Git生成SSH公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。查看公钥是否生成过12cd ~/.sshls # 在Git bash下执行或者 C:\\Users\\Administrator.ssh 访问这个目录。看有没有用 something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。如果有公钥直接打开 id_rsa.pub 文件添加到GitHub和coding的SSH公钥里面,建议coding有效期选永久。生成公钥执行下面的命令。1ssh-keygen它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。直接回车就行。然后去C:\\Users\\Administrator.ssh目录 找到id_rsa.pub 文件就是生成好的公钥,添加到GitHub和coding。公钥的大概样子,全部复制。123456ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@agadorlaptop.local测试公钥是否添加成功测试GitHub。1ssh git@github.com现在就添加成功了。测试Coding1ssh -T git@git.coding.net参考https://git-scm.com/book/zh/v1/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5","categories":[],"tags":[{"name":"Git","slug":"Git","permalink":"http://blog.langpz.com/tags/Git/"},{"name":"SSH公钥","slug":"SSH公钥","permalink":"http://blog.langpz.com/tags/SSH公钥/"}]},{"title":"Express文件上传","slug":"Express文件上传","date":"2018-05-04T15:58:58.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Express文件上传.html","link":"","permalink":"http://blog.langpz.com/Express文件上传.html","excerpt":"Express文件上传在后台项目中会经常碰见文件上传这个需求,例如用户上传一张头像等。。。今天就用Multer这个中间件来解决文件上传。","text":"Express文件上传在后台项目中会经常碰见文件上传这个需求,例如用户上传一张头像等。。。今天就用Multer这个中间件来解决文件上传。安装Multer第一步先安装Multer到你的项目里。1npm install --save multer创建一个form表单这里就不用ajax去上传了。12345678910111213141516// index.html<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <form action=\"http://localhost:8000\" method=\"post\" enctype=\"multipart/form-data\"> <input type=\"file\" name=\"image\" /> <input type=\"submit\" value=\"提交\" /> </form></body></html>form表单enctype属性值说明application/x-www-form-urlencoded在发送前编码所有字符(默认)multipart/form-data不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。text/plain空格转换为 “+” 加号,但不对特殊字符编码。引用配置multer123456789101112131415161718192021222324252627282930// app.jsconst express = require('express');const multer = require('multer');const fs = require('fs');const path = require('path');const uploda = multer({ dest: './uploads/' // 服务接收文件的路径});let app = express();app.use(uploda.any()); // multer放到express中间件里app.post('/', (req, res) => { console.log(req.files); // req.files接收到的文件信息一个数组 // 添加后缀名,只支持一个文件上加后缀名,多文件改成递归 let newName = req.files[0].path + path.extname(req.files[0].originalname); console.log(newName, req.files[0].path); fs.rename(req.files[0].path, newName, (err) => { if(err){ console.log(err); res.sendStatus(500).send('error'); }else{ res.send('OK,上传成功。'); } });});app.listen(8000);在cmd执行 node app.js 打开index.html 选择文件上传,服务端就可以成功接收文件了。multer 还有一些别的方法和参数,可自行去github查看。参考https://github.com/expressjs/multer","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"},{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"},{"name":"文件上传","slug":"文件上传","permalink":"http://blog.langpz.com/tags/文件上传/"}]},{"title":"javascript数组去重(ES6版)","slug":"javascript数组去重-ES6版","date":"2018-05-02T16:49:44.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"javascript数组去重-ES6版.html","link":"","permalink":"http://blog.langpz.com/javascript数组去重-ES6版.html","excerpt":"javascript数组去重(ES6版)之前讲了如何利用循环和json对象去重,但是有BUG,如果是一个是字符串一个是数字就没办法区分了。今天就利用 Set 来去重。","text":"javascript数组去重(ES6版)之前讲了如何利用循环和json对象去重,但是有BUG,如果是一个是字符串一个是数字就没办法区分了。今天就利用 Set 来去重。123var arr = [1,2,3,4,5,'1','2',3,3,'1'];arr = Array.from(new Set(arr));console.log(arr);Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例。jsBin 地址","categories":[],"tags":[{"name":"ES6","slug":"ES6","permalink":"http://blog.langpz.com/tags/ES6/"},{"name":"javascript","slug":"javascript","permalink":"http://blog.langpz.com/tags/javascript/"},{"name":"数组","slug":"数组","permalink":"http://blog.langpz.com/tags/数组/"}]},{"title":"css实现元素垂直水平居中-包括未知宽高的元素","slug":"css实现元素垂直居中-包括未知宽高的元素","date":"2018-04-28T13:14:04.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"css实现元素垂直居中-包括未知宽高的元素.html","link":"","permalink":"http://blog.langpz.com/css实现元素垂直居中-包括未知宽高的元素.html","excerpt":"css实现元素垂直水平居中-包括未知宽高的元素这个一道很经典的面试题,做项目中也常会出现这样的需求。现在我就用几种比较常用的方法。兼容性也列出来。","text":"css实现元素垂直水平居中-包括未知宽高的元素这个一道很经典的面试题,做项目中也常会出现这样的需求。现在我就用几种比较常用的方法。兼容性也列出来。第一种已知宽高(定位加负边距解决)兼容到IE6123456789position: absolute;z-index: 8;left: 50%;top: 50%;width: 200px;height: 200px;margin-left: -100px;margin-top: -100px;background: red;demo地址 JSBin第二种未知宽高 (定位加margin解决) 兼容到IE8 移动端推荐使用12345678910position: absolute;z-index: 8;left: 0;top: 0;bottom: 0;right: 0;width: 200px;height: 200px;margin: auto;background: red;如果改变宽度和高度还是垂直水平居中的。demo地址 JSBin第三种未知宽高 (定位加transform解决) 兼容到IE9 移动端推荐使用12345678position: absolute;z-index: 8;left: 50%;top: 50%;width: 200px;height: 200px;transform: translate(-50%, -50%);background: red;如果改变宽度和高度还是垂直水平居中的。demo地址 JSBin第四种未知宽高 (弹性盒子模型解决) 兼容到IE101234display: flex;display: -webkit-flex;align-items:center;justify-content: center;如果改变宽度和高度还是垂直水平居中的。demo地址 JSBin第五种未知宽高 (table特性解决的) 兼容到IE6 PC端推荐使用12345678910111213141516171819202122232425#box{ width: 100px; height:100px; text-align:center; font-size:0; background: red}#box:after,#box span{ display:inline-block; *display:inline; *zoom:1; width:0; height:100%; vertical-align:middle;}#box:after{ content:'';}#box p{ display:inline-block; *display:inline; *zoom:1; vertical-align:middle; font-size:16px;}demo地址 JSBin参考http://demo.doyoe.com/css/alignment/","categories":[],"tags":[{"name":"css","slug":"css","permalink":"http://blog.langpz.com/tags/css/"}]},{"title":"EJS模板引擎","slug":"ejs模板引擎","date":"2018-04-27T13:36:44.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"ejs模板引擎.html","link":"","permalink":"http://blog.langpz.com/ejs模板引擎.html","excerpt":"EJS模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。Express默认的模板引擎是Jade,为什么要选择EJS呢,因为它非常简单而且不破坏原有HTML代码结构。只需要用JavaScript编写你想要的HTML。","text":"EJS模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。Express默认的模板引擎是Jade,为什么要选择EJS呢,因为它非常简单而且不破坏原有HTML代码结构。只需要用JavaScript编写你想要的HTML。安装EJS1npm install ejsExpress设置EJS模板12app.set('view engine', 'ejs'); # view engine, 模板引擎app.set('views', './views'); # views, 放模板文件的目录将值输出到模板(HTML转义)12345// index.ejs<%= arr %>// Noderes.render('index', {arr: [1,2,3,4]});判断123<% if (user) { %> <p> <%= user %> </p><% } %>循环123<% for (var i = 0; i < arr.length; i++) { %> <li><%= arr[i] %></li><% } %>include(不转义)1<%- include('./common/header.ejs') %>EJS标签<% ‘脚本’ 标签,用于流程控制,无输出。<%_ 删除其前面的空格符<%= 输出数据到模板(输出是转义 HTML 标签)<%- 输出非转义的数据到模板<%# 注释标签,不执行、不输出内容<%% 输出字符串 ‘<%’%> 一般结束标签-%> 删除紧随其后的换行符_%> 将结束标签后面的空格符删除","categories":[],"tags":[{"name":"EJS","slug":"EJS","permalink":"http://blog.langpz.com/tags/EJS/"}]},{"title":"Express中间件body-parser简单实现","slug":"Express中间件body-parser简单实现","date":"2018-04-18T11:49:16.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Express中间件body-parser简单实现.html","link":"","permalink":"http://blog.langpz.com/Express中间件body-parser简单实现.html","excerpt":"Express中间件body-parser简单实现之前文章写了怎么用body-parser中间件处理post请求,今天就大概实现下body-parser中urlencoded 这个方法。","text":"Express中间件body-parser简单实现之前文章写了怎么用body-parser中间件处理post请求,今天就大概实现下body-parser中urlencoded 这个方法。首先通过命令提示输入 mkdir lib && cd lib。再输入touch body-parser.js。把下面的代码在body-parser.js 敲一遍。1234567891011121314151617// lib/body-parser.jsconst querystring = require('querystring');module.exports.urlencoded = function (req, res, next) { let chunks = []; req.on('data', data => { chunks.push(data); }); req.on('end', () => { // 合并Buffer。 let buf = Buffer.concat(chunks).toString(); // 把querystring解析过的json 放到 req.body上。 req.body = querystring.parse(buf); next(); });}下面是主程序代码。1234567891011121314// app.jsconst express = require('express');const bodyParser = require('./lib/body-parser');let app = express();app.use(bodyParser.urlencoded);app.post('/', (req, res) => { res.send(req.body);});app.listen(8000);现在就完成和body-parser中间件类似的功能了,req.body上面有请求过来的post数据。","categories":[],"tags":[{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"}]},{"title":"Express处理数据请求","slug":"Express处理数据请求","date":"2018-04-02T17:28:39.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Express处理数据请求.html","link":"","permalink":"http://blog.langpz.com/Express处理数据请求.html","excerpt":"Express处理数据请求之前文章里面介绍了如何用原生Node处理数据请求。现在通过Express框架处理post和get请求。","text":"Express处理数据请求之前文章里面介绍了如何用原生Node处理数据请求。现在通过Express框架处理post和get请求。处理get请求这个比较简单(不需要使用中间件)直接req.query就能获取到。1234567891011// 服务端代码const express = require('express');let app = express();app.get('/', (req, res) => { console.log(req.query);});app.listen(8000);1234567891011121314151617// 客户端代码<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <form action=\"http://localhost:8000\" method=\"get\"> <input type=\"text\" name=\"user\" /> </br> <input type=\"password\" name=\"pass\" /> </br> <input type=\"submit\" value=\"提交\"/> </form></body></html>用命令提示行运行服务器,打开刚才写好的网页输入内容提交表单。就可以获取到一个json对象如 { user: ‘123’, pass: ‘abc’ } 方便操作。处理post请求处理post请求需要用到body-parser这个中间件。这个中间件可以解析JSON、Raw、文本、URL-encoded格式的请求体。先安装中间件1npm install body-parser在项目中引用body-parser中间件。123456789101112131415// 服务端代码const express = require('express');const bodyParser = require('body-parser');let app = express();// 引用body-parser中间件app.use(bodyParser.urlencoded());app.post('/', (req, res) => { // req.body post 提交过来的数据 console.log(req.body);});app.listen(8000);1234567891011121314151617// 客户端代码<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <form action=\"http://localhost:8000\" method=\"post\"> <input type=\"text\" name=\"user\" /> </br> <input type=\"password\" name=\"pass\" /> </br> <input type=\"submit\" value=\"提交\"/> </form></body></html>用命令提示行运行服务器,打开刚才写好的网页输入内容提交表单。就可以获取到一个json对象如 { user: ‘lanpangzhi’, pass: ‘123456’ } 方便操作。这样我们就通过Express获取到get和post提交过来的数据了。urlencoded() 方法配置参数 (options)extended 设置为false时,会使用querystring库解析URL编码的数据;当设置为true时,会使用qs库解析URL编码的数据。后没有指定编码时,使用此编码。默认为true。但使用默认已被弃用。 请研究qs和querystring之间的差异并选择适当的设置。inflate 设置为true时,deflate压缩数据会被解压缩;设置为true时,deflate压缩数据会被拒绝。默认为true。limit 设置最大请求头大小, 如果这是一个数字,那么该值指定字节数; 如果它是一个字符串,则将该值传递给字节库解析。默认为100kb。parameterLimit 用于设置URL编码值的最大参数数量, 如果请求包含的参数多于此值,那么413将返回给客户端。默认为1000。type 用于设置为指定MIME类型的数据使用当前解析中间件。这个选项可以是一个函数或是字符串,当是字符串是会使用type-is来查找MIMI类型;当为函数是,中间件会通过fn(req)来获取实际值。默认为application/octet-stream。verify 这个选项仅在verify(req, res, buf, encoding)时受支持。body-parser里面还有另外几个方法,可以自行去github看下。参考[https://github.com/expressjs/body-parser]","categories":[],"tags":[{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"}]},{"title":"express简单入坑","slug":"express简单入坑","date":"2018-03-19T13:38:00.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"express简单入坑.html","link":"","permalink":"http://blog.langpz.com/express简单入坑.html","excerpt":"express简单入坑Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。","text":"express简单入坑Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。安装12npm init npm install express --save创建第一个应用12345678910// app.jsconst express = require('express');let app = express();app.get('/',(req,res) => { res.send('express');});app.listen(8000);在命令行执行 node app.js 浏览器输入 http://localhost:8000/就可以访问了。路由控制app.get(path, (request, response) => {})根据path处理客户端发过来的GET请求。第一个参数:path请求的路径。第二个参数:回调函数,request(请求),response(响应)123456app.get('/',(req,res) => { res.send('home');});app.get('/hello',(req,res) => { res.send('hello');});app.post(path, (request, response) => {})根据path处理客户端发过来的POST请求。参数和app.get()方法一样。123456app.post('/', (req, res) => { res.send('home');});app.post('/hello', (req, res) => { res.send('hello');});app.all(path, (request, response) => {})根据path处理客户端发过来的所有http(GET,POST,PUT,DELETE,HEAD)请求。参数和app.get()方法一样。res.send() 发送各种类型的响应。res.download() 提示下载文件。res.redirect() 重定向请求。res.sendStatus() 设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。静态文件Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。只需要把文件目录作为参数传给express.static,之后就可以访问到静态文件。1app.use(express.static('./public'))注: 所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 URL 中。中间件Express应用就是在调用各种中间件完成功能的,如cookie解析、文件上传、静态文件等。中间件(Middleware) 是一个函数。它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。12345678910111213app.use((req, res, next) => { console.log('aaa'); next();})app.use((req, res, next) => { console.log('bbb'); next()})app.use((req, res, next) => { console.log('ccc');})可以看到next 的作用,把控制器交给下一个中间件。可以利用中间件特性来处理登陆用户。检查数据是否合法。检查数据是否存在。检查数据密码是否正确。1234567891011121314151617181920212223app.get('/login', (req, res, next) => { if(合法){ next() }else{ res.send('用户名不合法') }})app.get('/login', (req, res, next) => { if(存在){ next() }else{ res.send('用户名不存在') }})app.get('/login', (req, res, next) => { if(密码正确){ res.send('登陆成功') }else{ res.send('密码不正确') }})中间件的大概用法就是这样。模板引擎先安装ejs模板npm install ejs -S12app.set('view engine', 'ejs'); # view engine, 模板引擎app.set('views', './views'); # views, 放模板文件的目录1234567891011121314// index.jsconst express = require('express');const ejs = require('ejs');let app = express();app.set('view engine', 'ejs');app.set('views', './views');app.get('/', (req, res) => { res.render('index',{title: 'hello'});});app.listen(8000);12345678910111213// index.ejs<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <%= title %></body></html>在命令行里执行node index.js,就可以看到模板了。","categories":[],"tags":[{"name":"Express","slug":"Express","permalink":"http://blog.langpz.com/tags/Express/"}]},{"title":"node处理前台get请求","slug":"node处理前台get请求","date":"2018-03-02T10:07:32.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node处理前台get请求.html","link":"","permalink":"http://blog.langpz.com/node处理前台get请求.html","excerpt":"node.js处理前台get请求下面代码实现了用node.js接收前台发送的get请求。用到了http模块和url模块。","text":"node.js处理前台get请求下面代码实现了用node.js接收前台发送的get请求。用到了http模块和url模块。服务端代码123456789101112const http = require('http');const url = require('url');let app = http.createServer((req, res) => { let getUrl = url.parse(req.url, true); if (getUrl.pathname === '/getUser'){ console.log(url.parse(req.url, true).query); res.end(url.parse(req.url, true).query.user); }});app.listen(8000);先搭一个服务器监听8000端口,再把请求的链接用URL模块解析成对象,判断请求路径,返回user。客户端代码1234567891011121314151617// index.html<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <form action=\"http://localhost:8000/getUser\" method=\"get\"> <input type=\"text\" name=\"user\" /> </br> <input type=\"password\" name=\"pass\" /> </br> <input type=\"submit\" value=\"提交\"/> </form></body></html>在命令行执行 node http.js。打开index.html 输入数据,点击提交按钮。node输出 { user: ‘123’, pass: ‘abc’ } 123和abc 就是你输入的数据。前台页面会显示你输入的user。","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"url模块","slug":"url模块","date":"2018-03-01T16:03:22.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"url模块.html","link":"","permalink":"http://blog.langpz.com/url模块.html","excerpt":"url模块url模块,用于将url字符串解析为对象或将对象格式化为url字符串,用来处理get请求非常方便。模块只有三个方法,用起来也简单。","text":"url模块url模块,用于将url字符串解析为对象或将对象格式化为url字符串,用来处理get请求非常方便。模块只有三个方法,用起来也简单。url结构说明网址:http://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash从node.js 中文网拿的图。url.parse(urlString[, parseQueryString[, slashesDenoteHost]])123let url = require('url');console.log(url.parse('http://user:pass@langpz.com:80/aaa/ccc/ddd?callback=fn#top'))把url字符串解析成url对象。输出:12345678910111213{ protocol: 'http:', slashes: true, auth: 'user:pass', host: 'langpz.com:80', port: '80', hostname: 'langpz.com', hash: '#top', search: '?callback=fn', query: 'callback=fn', pathname: '/aaa/ccc/ddd', path: '/aaa/ccc/ddd?callback=fn', href: 'http://user:pass@langpz.com:80/aaa/ccc/ddd?callback=fn#top' }protocol: 请求协议。slashes: slashes 属性是一个 boolean,如果 协议 中的冒号后面跟着两个 ASCII 斜杠字符(/),则值为 true。auth: URL的用户名与密码部分。host: URL的主机部分包括端口号。port:主机的端口号。hostname:主机名部分。hash: 锚点部分。search: 整个查询字符串部分,包括前面的?号query: 查询字符串部分,不包括前面的?号pathname:URL 的整个路径部分。path: pathname 与 search 组成部分的串接。href: 解析后的完整的 URL 字符串,protocol 和 host 都会被转换为小写的。第二个参数是布尔值,如果是 true,query值是一个对象。 默认为 false。第三个参数是布尔值,如果是 true,则 // 之后至下一个 / 之前的字符串会被解析作为 host。 例如,//foo/bar 会被解析为 {host: ‘foo’, pathname: ‘/bar’} 而不是 {pathname: ‘//foo/bar’}。 默认为 false。url.format(urlObject)12345678910111213141516let url = require('url');console.log(url.format({ protocol: 'http:', slashes: true, auth: 'user:pass', host: 'langpz.com:80', port: '80', hostname: 'langpz.com', hash: '#top', search: '?callback=fn', query: 'callback=fn', pathname: '/aaa/ccc/ddd', path: '/aaa/ccc/ddd?callback=fn', href: 'http://user:pass@langpz.com:80/aaa/ccc/ddd?callback=fn#top'}));url.parse()的反向操作,把url对象解析成url字符串url.resolve(from, to)12345let url = require('url');console.log(url.resolve('/one/two/three','four')) # 输出 /one/two/fourconsole.log(url.resolve('http://blog.langpz.com/', 'aaa')) # 输出 http://blog.langpz.com/aaaconsole.log(url.resolve('http://blog.langpz.com/aaa', 'bbb')) # 输出 http://blog.langpz.com/bbb把最后一个/没有内容后面追加to参数,有内容则替换。参考http://nodejs.cn/api/url.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"node处理前台post请求","slug":"node处理前台post请求","date":"2018-03-01T10:29:37.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node处理前台post请求.html","link":"","permalink":"http://blog.langpz.com/node处理前台post请求.html","excerpt":"node.js处理前台post请求下面代码实现了用node.js接收前台发送的post请求。用到了http模块和querystring模块。","text":"node.js处理前台post请求下面代码实现了用node.js接收前台发送的post请求。用到了http模块和querystring模块。服务端代码123456789101112131415161718// http.jslet http = require('http');let querystring = require('querystring');let app = http.createServer((req, res) => { let str = ''; if (req.url === '/post'){ req.on('data', (data) => { str += data; }); req.on('end', () => { console.log(querystring.parse(str)); }); }});app.listen(8000)先搭一个服务器监听8000端口,判断请求路径,再绑定data事件接收客户端发过来的post请求,接受用querystring模块处理接收的数据。客户端代码1234567891011121314151617// index.html<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"> <title>Document</title></head><body> <form action=\"http://localhost:8000/post\" method=\"post\"> <input type=\"text\" name=\"user\" /> </br> <input type=\"password\" name=\"pass\" /> </br> <input type=\"submit\" value=\"提交\"/> </form></body></html>在命令行执行 node http.js。打开index.html 输入数据,点击提交按钮。node输出 { user: ‘123’, pass: ‘abc’ } 123和abc 就是你输入的数据。","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"stream模块","slug":"stream模块","date":"2018-02-27T13:27:30.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"stream模块.html","link":"","permalink":"http://blog.langpz.com/stream模块.html","excerpt":"stream (流)流(stream)在 Node.js 中是处理流数据的抽象接口。stream 模块提供了基础的 API 。使用这些 API 可以很容易地来构建实现流接口的对象。Node.js 提供了多种流对象。 例如, HTTP 请求 和 process.stdout 就都是流的实例。流可以是可读的、可写的,或是可读写的。所有的流都是 EventEmitter 的实例。","text":"stream (流)流(stream)在 Node.js 中是处理流数据的抽象接口。stream 模块提供了基础的 API 。使用这些 API 可以很容易地来构建实现流接口的对象。Node.js 提供了多种流对象。 例如, HTTP 请求 和 process.stdout 就都是流的实例。流可以是可读的、可写的,或是可读写的。所有的流都是 EventEmitter 的实例。为什么使用stream我们之前读文件用的是readFile()把整个文件读入到内存,如果文件小还可以,假如你读取的文件有几个G就会把内存撑爆,这个时候就需要stream(流)了,收到一块数据,就读取一块。这样占用内存就会小很多。流的类型Node.js 中有四种基本的流类型:Readable - 可读的流Writable - 可写的流Duplex - 可读写的流Transform - 在读写过程中可以修改和变换数据的 Duplex 流可读流的常用事件data 当有数据可读时触发end 没有更多的数据可读时触发。error 在接收和写入过程中发生错误时触发。可读流12345678910111213let fs = require('fs');let rs = fs.createReadStream('./hello.txt',{ encoding: 'utf8'});rs.on('data', data => { console.log('读取中--------' + data +'--------') # 如果文件过大会分几次输出数据。});rs.on('end', () => { console.log('读取完毕'); # data读取完触发 end 事件。})第一个参数是路径。第二个参数是可配置对象。flags: 读取模式默认为r(只读)encoding: 设置编码默认nullmode: 设置文件模式默认0o666start: 用整数表示文件开始读取字节数的索引位置end: 用整数表示文件结束读取字节数的索引位置highWaterMark: 最高水位线,停止从底层资源读取前,内部缓存区最多存放的字节数。默认64kb暂停流对象触发 ‘data’ 事件1rs.pause()重新流对象触发 ‘data’ 事件1rs.resume()可写流12345678910let fs = require('fs');let stream = fs.createWriteStream('./1.txt')stream.write('lan') # 写入数据stream.write('pang') # 写入数据stream.end('zi') # 写入数据stream.on('finish', function() { console.log(\"写入完成。\");});第一个参数是路径。第二个参数是可配置对象。flags: 读取模式默认为wencoding: 设置编码默认utf8mode: 设置文件模式默认0o666start: 用整数表示文件开始写入字节数的索引位置highWaterMark: 最高水位线,内部缓存区最多存放的字节数。默认16kbstream.write(chunk[, encoding][, callback])第一个参数写入的数据。第二个参数设置编码。第三个参数回调函数。返回一个boolean值。写入数据的时候内部缓冲区的大小小于创建流时设定的 highWaterMark 阈值,函数将返回 true 。如果返回值为 false ,应该停止向流中写入数据,直到 ‘drain’ 事件被触发。123456789101112131415161718192021let fs = require('fs');let stream = fs.createWriteStream('./1.txt',{ highWaterMark: 10});let i = 0;let max = 100;let write = () => { let flag = true; while (i < max && flag){ console.log('写入' + i); i++; flag = stream.write(String(i)); }}write();stream.on('drain',() => { console.log('继续写入'+ i); write();});drain事件如果调用 stream.write(chunk) 方法返回 false,’drain’ 事件会在适合恢复写入数据到流的时候触发。stream.end(chunk[, encoding][, callback])第一个参数写入的数据。第二个参数设置编码。第三个参数回调函数。调用 writable.end() 方法表明接下来没有数据要被写入 Writable。通过传入可选的 chunk 和 encoding 参数,可以在关闭流之前再写入一段数据。如果传入了可选的 callback 函数,它将作为 ‘finish’ 事件的回调函数。在调用了 stream.end() 方法之后,再调用 stream.write() 方法将会导致错误。pipe()12345let fs = require('fs');let rs = fs.createReadStream('./1.txt');let ws = fs.createWriteStream('./2.txt');rs.pipe(ws)readable.pipe(destination[, options])readable 可读流对象destination 可写流对象readable.pipe() 绑定一个 Writable 到 readable 上, 将可写流自动切换到 flowing 模式并将所有数据传给绑定的 Writable。数据流将被自动管理。这样,即使是可读流较快,目标可写流也不会超负荷(overwhelmed)。pipe 方法是使用流最简单的方式。通常的建议是要么使用 pipe 方法、要么使用事件来读取流,要避免混合使用两者。一般情况下使用 pipe 方法时你就不必再使用事件了。但如果你想以一种更加自定义的方式读取流,就要用到事件了。参考http://nodejs.cn/api/stream.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"path模块","slug":"path模块","date":"2018-02-26T11:17:42.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"path模块.html","link":"","permalink":"http://blog.langpz.com/path模块.html","excerpt":"path模块path模块是Node.js提供用于处理文件与目录的路径。","text":"path模块path模块是Node.js提供用于处理文件与目录的路径。连接路径123let path = require('path');console.log(path.join(__dirname,'lan','pang','zi')) # 输出c:\\Users\\windows\\Desktop\\新建文件夹\\lan\\pang\\zi为什么要使用这个方法,因为Windows和liunx系统路径分隔符不一样,liunx系统是”/“,Windows系统是”\\”,path.join()会正确使用当前系统的路径分隔符。获取路径扩展名123let path = require('path');console.log(path.extname(__filename)) # 输出 .js从 path 的最后一部分中的最后一个 . 字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名的第一个字符是 .,则返回一个空字符串。1234console.log(path.extname('.lanpangzhi')) # 输出空字符串console.log(path.extname('lanpangzhi.github.exe')) # 输出 .execonsole.log(path.extname('lanpangzhi.')) # 输出 .console.log(path.extname('lanpangzhi')) # 输出空字符串获取绝对路径123let path = require('path');console.log(path.resolve('lan/pang','zi')) # 输出 c:\\Users\\windows\\Desktop\\新建文件夹\\lan\\pang\\zi路径的序列是从右往左被处理的。如果处理完全部给定的 path 片段后还未生成一个绝对路径,则当前工作目录会被用上。生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。如果不传参数会得到当前所在的目录判断是否是绝对路径1234let path = require('path');console.log(path.isAbsolute('/lanpangzhi')) # 输出 trueconsole.log(path.isAbsolute('lanpangzhi/')) # 输出 false如果 path 不是一个字符串,则抛出 TypeError。获取路径中的文件名1234let path = require('path');console.log(path.basename(__filename)) # 输出 http.jsconsole.log(path.basename(__filename,'.js')) # 输出 http第一个参数是路径。第二个参数是文件扩展名,如果加上只返回文件名。path.sep 文件路径分隔符path.delimiter 环境变量路径分隔符参考http://nodejs.cn/api/path.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"fs模块","slug":"fs模块","date":"2018-02-22T14:32:19.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"fs模块.html","link":"","permalink":"http://blog.langpz.com/fs模块.html","excerpt":"fs模块fs模块是Node.js提供来操作本地文件(读、写、复制、删除…)等功能的模块。所有的方法都有异步和同步的形式。异步方法最后一个参数都是一个回调函数,回调函数的第一个参数是异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常,或让异常向上冒泡。","text":"fs模块fs模块是Node.js提供来操作本地文件(读、写、复制、删除…)等功能的模块。所有的方法都有异步和同步的形式。异步方法最后一个参数都是一个回调函数,回调函数的第一个参数是异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常,或让异常向上冒泡。读取文件同步方法 readFileSync()12345678let fs = require('fs');try{ let buf = fs.readFileSync('./hello.txt', { encoding: 'utf-8' }); console.log(buf); # 输出: 入坑了..}catch(err){ console.log('读取失败了: ' + err.message)}readFileSync方法的第一个参数是文件路径可以是(string|Buffer|URL|integer)类型,第二个参数可以是一个表示配置的对象。默认的配置对象是{ encoding: null, flag: ‘r’ },encoding:文件编码默认为null,flag:读取模式默认为r(只读)。如果第二个参数不指定编码(encoding),readFileSync方法返回原始的 buffer。异步方法 readFile()1234567let fs = require('fs');fs.readFile('./hello.txt', { encoding: 'utf-8' }, (err,data) => { if (err){ throw err; } console.log(data); # 输出: 入坑了..});和readFileSync方法参数一样,只多了一个回调函数。回调有两个参数 (err, data),其中 data 是文件的内容。写入文件同步方法 writeFileSync()123let fs = require('fs');fs.writeFileSync('./1.txt','node入坑指南...',{encoding: 'utf8'})第一个参数是路径第二的参数是写入的数据第三个参数是一个可配置的对象{encoding:utf8, mode: 0o666, flag: ‘w’}encoding: 文件编码默认为utf8mode: 设置文件模式(权限),文件创建默认权限为 0o666(可读,可写)。flag: 文件打开模式默认为w(写入)如果 options 是一个字符串,则它指定了字符编码。例如:1fs.writeFileSync('./1.txt', '111...', 'utf8')异步方法 writeFile()12345678let fs = require('fs');fs.writeFile('./2.txt','蓝胖纸',(err) => { if(err){ throw err; } console.log('写入成功');})异步地写入数据到文件,如果文件已经存在,则替代文件。 data 可以是一个字符串或一个 buffer。如果 data 是一个 buffer,则忽略 encoding 选项。它默认为 ‘utf8’。和writeFileSync方法参数一样,只多了一个回调函数。创建目录同步方法 mkdirSync()1fs.mkdirSync('./hello',0o777);在当前目录下面创建一个hello的文件夹。第一个参数是路径。第二个参数是设置文件模式(权限),默认为0o777。异步方法 mkdir()123fs.mkdir('./lanpangzhi', 0o777, function (err) { if (err) throw err;});和mkdirSync方法参数一样,只多了一个回调函数。注: 所有的异步方法最后一个参数都是回调函数,回调函数的第一个参数都是异常。读取目录同步方法 readdirSync()12let a = fs.readdirSync(process.cwd())console.log(a)输出当前工作目录下的文件数组列表。第一个参数是路径。第二个参数是设置编码。异步方法 readdir()123456fs.readdir(process.cwd(),(err, files) => { if (err){ throw err; } console.log(files)})和readdirSync方法参数一样,只多了一个回调函数。回调函数有两个参数,第二个参数是文件数组列表。查看文件信息同步方法 statSync()12let stats = fs.statSync('./a.js');console.log(stats)接受一个路径参数,返回一个 fs.Stats 实例。fs.Stats 实例的方法方法描述stats.isFile()如果是文件返回 true,否则返回 false。stats.isDirectory()如果是目录返回 true,否则返回 false。stats.isBlockDevice()如果是块设备返回 true,否则返回 false。stats.isCharacterDevice()如果是字符设备返回 true,否则返回 false。stats.isSymbolicLink()如果是软链接返回 true,否则返回 false。stats.isFIFO()如果是FIFO,返回true,否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。stats.isSocket()如果是 Socket 返回 true,否则返回 false。Stat 时间值属性描述atime“访问时间” - 文件数据最近被访问的时间。mtime“修改时间” - 文件数据最近被修改的时间。ctime“变化时间” - 文件状态最近更改的时间。birthtime“创建时间” - 文件创建的时间。异步方法 stat()12345678let fs = require('fs');fs.stat('./hello', (err, stats)=>{ if(err){ throw err; } console.log(stats);});和statSync方法参数一样,只多了一个回调函数。回调函数有两个参数,第二个参数是fs.Stats实例。删除文件同步方法 unlinkSync()123let fs = require('fs');fs.unlinkSync('./1.txt');删除当前目录下的1.txt文件,返回undefined。第一个参数是路径。异步方法 unlink()1234567let fs = require('fs');fs.unlink('./2.txt', (err) => { if(err){ console.log(err) }})和unlinkSync方法参数一样。参考http://nodejs.cn/api/fs.htmlhttp://www.runoob.com/nodejs/nodejs-fs.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"querystring模块","slug":"querystring模块","date":"2018-02-09T13:10:53.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"querystring模块.html","link":"","permalink":"http://blog.langpz.com/querystring模块.html","excerpt":"querystring模块querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。处理get请求参数的时候用的比较多。","text":"querystring模块querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。处理get请求参数的时候用的比较多。把字符串转换成对象 querystring.parse(str[, sep[, eq[, options]]])12345678910111213141516171819202122232425262728let querystring = require('querystring');let query = querystring.parse('name=lanpangzhi&age=18');console.log(query); # 输出{ name: 'lanpangzhi', age: '18' }// 添加第二个参数 seplet query2 = querystring.parse('name=lanpangzhi@age=18','@');console.log(query2); # 输出{ name: 'lanpangzhi', age: '18' }// sep: 第二个参数用于界定查询字符串中的键值对的子字符串。默认为 '&'。// 添加第三个参数 eqlet query3 = querystring.parse('name|lanpangzhi@age|18','@','|');console.log(query3); // eq: 用于界定查询字符串中的键与值的子字符串。默认为 '='。// sep eq 可以替换割分字符串的关键字,在某些特定的场景会用的。// 第四个参数用得比较少let query = querystring.parse('name|lanpangzhi@age|18@age2|20@age3|21@age4|555','@','|',{ decodeURIComponent: function test(str) { return str+= '1' }, maxKeys: 4});console.log(query); # 输出 { name1: 'lanpangzhi1', age1: '181', age21: '201', age31: '211' }// 第四个参数是一个对象, 里面有 decodeURIComponent 和 maxKeys 两个参数。// decodeURIComponent: 解码查询字符串的字符时使用的函数。默认为 querystring.unescape()。// maxKeys: 指定要解析的键的最大数量。默认为 1000。指定为 0 则不限制。// 我刚才指定是4 所以 age4 这个参数没输出。把对象转换成字符串 querystring.stringify(obj[, sep[, eq[, options]]])1234567891011121314151617181920let querystring = require('querystring');let obj = { name: 'lanpangzhi', baz: ['qux', 'quux'], age: '18' };let str = querystring.stringify(obj);console.log(str); # 输出 name=lanpangzhi&baz=qux&baz=quux&age=18// 添加第二个参数 seplet obj = { name: 'lanpangzhi', age: '18' };let str = querystring.stringify(obj,'@');console.log(str); # 输出 name=lanpangzhi@age=18// sep: 第二个参数用于界定查询字符串中的键值对的子字符串。默认为 '&'。// 添加第三个参数 eqlet obj = { name: 'lanpangzhi', age: '18' };let str = querystring.stringify(obj,'@','|');console.log(str);// eq: 用于界定查询字符串中的键与值的子字符串。默认为 '='。// 第四个参数 options 基本上用不到// encodeURIComponent <Function> : 把对象中的字符转换成查询字符串时使用的函数。默认为 querystring.escape()。querystring.stringify 和 querystring.parse 功能正好是对应的, 基本上第四个参数用不到,第二和第三个参数只有在某些特定的场景才会使用,指定切割默写字符,或者输出某些字符。querystring 这个模块还有两个方法,但是基本上不会用到,更多可以去node中文网或者官网查看。新年快乐2018参考http://nodejs.cn/api/querystring.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"Buffer对象","slug":"Buffer对象","date":"2018-02-06T13:43:40.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Buffer对象.html","link":"","permalink":"http://blog.langpz.com/Buffer对象.html","excerpt":"Buffer对象在 ECMAScript 2015 (ES6) 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 Node.js API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require(‘buffer’)。","text":"Buffer对象在 ECMAScript 2015 (ES6) 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制。 Buffer 类被引入作为 Node.js API 的一部分,使其可以在 TCP 流或文件系统操作等场景中处理二进制数据流。Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require(‘buffer’)。创建一个Buffer对象Buffer对象类似于数组,它的元素为16进制的两位数,即0到255的数值。Buffer.from(array) 返回一个新建的包含所提供的字节数组的副本的 Buffer。Buffer.from(arrayBuffer[, byteOffset [, length]]) 返回一个新建的与给定的 ArrayBuffer 共享同一内存的 Buffer。Buffer.from(buffer) 返回一个新建的包含所提供的 Buffer 的内容的副本的 Buffer。Buffer.from(string[, encoding]) 返回一个新建的包含所提供的字符串的副本的 Buffer。Buffer.alloc(size[, fill[, encoding]]) 返回一个指定大小的被填满的 Buffer 实例。这个方法会明显地比 Buffer.allocUnsafe(size) 慢,但可确保新创建的 Buffer 实例绝不会包含旧的和潜在的敏感数据。Buffer.allocUnsafe(size)与 Buffer.allocUnsafeSlow(size) 返回一个新建的指定 size 的 Buffer,但它的内容必须被初始化,可以使用 buf.fill(0) 或完全写满。123456789101112131415161718192021// 创建一个长度为 10、且用 0 填充的 Buffer。const buf1 = Buffer.alloc(10);// 创建一个长度为 10、且用 0x1 填充的 Buffer。 const buf2 = Buffer.alloc(10, 1);// 创建一个长度为 10、且未初始化的 Buffer。// 这个方法比调用 Buffer.alloc() 更快,// 但返回的 Buffer 实例可能包含旧数据,// 因此需要使用 fill() 或 write() 重写。const buf3 = Buffer.allocUnsafe(10);buf3.fill(0)// 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer。数组里一定是0-255的数,否则会不识别,返回00const buf4 = Buffer.from([1, 2, 3]);// 创建一个包含 UTF-8 字节 [0x74, 0xc3, 0xa9, 0x73, 0x74] 的 Buffer。const buf5 = Buffer.from('tést');// 创建一个包含 Latin-1 字节 [0x74, 0xe9, 0x73, 0x74] 的 Buffer。const buf6 = Buffer.from('tést', 'latin1');在 Node.js v6 之前的版本中Buffer 实例是通过 new Buffer 构造函数创建的,因为 new Buffer() 的行为会根据所传入的第一个参数的值的数据类型而明显地改变,所以如果应用程序没有正确地校验传给 new Buffer() 的参数、或未能正确地初始化新分配的 Buffer 的内容,就有可能在无意中为他们的代码引入安全性与可靠性问题。为了使 Buffer 实例的创建更可靠、更不容易出错,各种 new Buffer() 构造函数已被 废弃,并由 Buffer.from()、Buffer.alloc()、和 Buffer.allocUnsafe() 方法替代。Node.js 建议开发者们应当把所有正在使用的 new Buffer() 构造函数迁移到这些新的 API 上。Buffer 的转换Buffer对象与普通的 JavaScript 字符串的互相转换,需要指定编码格式。目前Node.js 目前支持以下的字符编码。‘ascii’ - 仅支持 7 位 ASCII 数据。‘utf8’‘utf16le’‘ucs2’‘base64’‘latin1’‘binary’‘hex’12345678// 字符串转Bufferconst buf = Buffer.from('node', 'ascii'); // Buffer转hex编码字符串 - 输出 6e6f6465console.log(buf.toString('hex'));// Buffer转base64编码字符串 - 输出 bm9kZQ==console.log(buf.toString('base64'));字符串转BufferBuffer.from(string[, encoding])encoding 不传参数会默认utf8编码进行转码和存储。字符串转Buffer实例方法buf.toString([encoding[, start[, end]]])encoding 解码使用的字符编码。默认: ‘utf8’。start 开始解码的字节偏移量。默认: 0。end 结束解码的字节偏移量(不包含)。 默认: buf.length。注:如果Buffer对象由多种编码写入,就需要在局部指定定不同的编码,才能转换回正常的编码。判断一个对象是否是Buffer对象Buffer.isBuffer(obj)如果 obj 是一个 Buffer 则返回 true ,否则返回 false 。12const buf1 = Buffer.alloc(10);console.log(Buffer.isBuffer(buf1)) # 返回true合并BufferBuffer.concat(list[, totalLength])list <Array> 要合并的 Buffer 或 Uint8Array 实例的数组totalLength <integer> 合并时 list 中 Buffer 实例的总长度返回一个合并了 list 中所有 Buffer 实例的新建的 Buffer 。如果 list 中没有元素、或 totalLength 为 0 ,则返回一个新建的长度为 0 的 Buffer 。如果没有提供 totalLength ,则从 list 中的 Buffer 实例计算得到。 为了计算 totalLength 会导致需要执行额外的循环,所以提供明确的长度会运行更快。如果提供了 totalLength,totalLength 必须是一个正整数。如果从 list 中计算得到的 Buffer 长度超过了 totalLength,则合并的结果将会被截断为 totalLength 的长度。12345678const buf1 = Buffer.from('蓝');const buf2 = Buffer.from('胖');const buf3 = Buffer.from('纸');const len = buf1.length + buf2.length + buf3.length;console.log(len) # 输出9 一个汉字三个字节console.log(Buffer.concat([buf1, buf2, buf3], len).toString())获取字符长度Buffer.byteLength(string[, encoding])encoding 不传参数会默认utf8编码1console.log(Buffer.byteLength('蓝胖')) # 输出6 一个汉字三个字节参考http://nodejs.cn/api/buffer.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"global对象","slug":"global对象","date":"2018-02-02T14:33:27.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"global对象.html","link":"","permalink":"http://blog.langpz.com/global对象.html","excerpt":"global全局对象在Node.js里面有一个叫global的对象,它的属性和方法可以在全局中访问到,即全局变量。在游览器Javascript中全局对象是window,而Node.js中全局对象是global。","text":"global全局对象在Node.js里面有一个叫global的对象,它的属性和方法可以在全局中访问到,即全局变量。在游览器Javascript中全局对象是window,而Node.js中全局对象是global。全局变量在所有模块中均可使用。 但以下变量的作用域只在模块内12345__dirname__filenameexportsmodulerequire()__dirname1console.log(__dirname) # 获取当前模块的文件所在的文件夹名称的绝对路径__filename1console.log(__filename) # 获取当前模块的文件名称-解析后的绝对路径setImmediate(callback[, …args])123setImmediate(() => { console.log('坑呀') # 把参数函数放到下一个时间环中执行});clearImmediate(immediate)1234let a = setImmediate(() => { console.log('坑呀') # 取消一个由 setImmediate() 创建的 Immediate 对象});clearImmediate(a)process 进程process.cwd()1console.log(process.cwd()) # 方法返回 Node.js 进程当前工作的目录。process.argv1234567891011// a.jsconsole.log(process.argv) // 执行node a.js a=1 b=2// 输出[ 'C:\\\\Program Files\\\\nodejs\\\\node.exe', 'c:\\\\Users\\\\windows\\\\Desktop\\\\新建文件夹\\\\a.js', 'a=1', 'b=2' ]process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数。第一个元素为process.execPath。如果需要获取argv[0]的值请参见 process.argv0。第二个元素为当前执行的JavaScript文件路径。剩余的元素为其他命令行参数。process.env1console.log(process.env) # 返回一个包含用户环境信息的对象可以修改这个对象12process.env.foo = 'bar';console.log(process.env.foo); # 输出bar但是不可以用这种方法去修改1node http.js 'process.env.foo = \"bar\"'用 delete从process.env中删除一个属性123process.env.foo = 'bar';delete process.env.foo;console.log(process.env.foo); # 输出 undefined注: 在process.env中新增一个属性,会将属性值转换成字符串、 在Windows系统下,环境变量是不区分大小写的。process.memoryUsage()1234567console.log(process.memoryUsage()) # 返回Node.js进程的内存使用情况的对象,该对象每个属性值的单位为字节。// 输出{ rss: 23588864, heapTotal: 7708672, heapUsed: 4430656, external: 8224 }rss(resident set size):所有内存占用,包括指令区和堆栈。heapTotal:”堆”占用的内存,包括用到的和没用到的。heapUsed:用到的堆的部分。external: V8 引擎内部的 C++ 对象占用的内存。process.chdir(directory)1234567console.log(process.cwd())process.chdir('..') # 方法变更Node.js进程的当前工作目录,如果变更目录失败会抛出异常(例如,如果指定的目录不存在)。console.log(process.cwd())// 输出 '..'切换到上一级目录C:\\Users\\windows\\Desktop\\新建文件夹C:\\Users\\windows\\Desktopprocess.nextTick(callback[, …args])123process.nextTick(function(){ console.log('nextTick'); # 放到当前任务末尾执行})参考http://www.ruanyifeng.com/blog/2017/04/memory-leak.htmlhttp://nodejs.cn/api/process.html#process_processhttp://nodejs.cn/api/globals.html","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"http模块","slug":"http模块","date":"2018-01-15T17:05:37.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"http模块.html","link":"","permalink":"http://blog.langpz.com/http模块.html","excerpt":"http模块http模块是node提供搭建http客户端和服务端的核心模块。","text":"http模块http模块是node提供搭建http客户端和服务端的核心模块。什么是客户端和什么是服务端客户端(Client),是指与服务器相对应,为客户提供本地服务的程序。一般安装在普通的用户机上,需要与服务端互相配合运行。互联网发展以后,较常用的客户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通信的客户端软件等。服务端(Server),是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。是实现游戏特色化的重要途径,也是最直接可以通过游戏表现出来的技术,比如你要修改某个NPC的参数,重加载后,在游戏内立刻体现出来。搭建一个服务器123456789var http = require('http');var app = http.createServer(function(request,response){ response.writeHead(200, {'Content-Type': 'text/plain'}); response.write('入坑了...'); response.end();});app.listen(8000);http.createServer() 创建一个服务器的实例,它的参数是一个函数,函数里有两个参数request和response,request是从客户端的请求、response是服务端的响应。输入 http://localhost:8000 就可以看到(入坑了…)这几个字。代表创建成功。response.writeHead() 发送一个http响应头给请求。response.write() 向客户端发送响应体。response.end() 结束响应。listen() 监听的端口。客户端向HTTP服务器发起请求http.request(options[, callback])12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758// request.jsvar http = require('http');var querystring = require('querystring');const postData = querystring.stringify({ 'msg': 'Hello World!'});const options = { hostname: 'localhost', port: 80, path: '/', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': Buffer.byteLength(postData) }};const req = http.request(options, (res) => { console.log(`状态码: ${res.statusCode}`); console.log(`响应头: ${JSON.stringify(res.headers)}`); res.setEncoding('utf8'); res.on('data', (chunk) => { console.log(`响应主体: ${chunk}`); }); res.on('end', () => { console.log('响应中已无数据。'); });});req.on('error', (e) => { console.error(`请求遇到问题: ${e.message}`);});// 写入数据到请求主体req.write(postData);req.end();// sever.jslet http = require('http');let querystring = require('querystring');let app = http.createServer( (res,req) => { let str = ''; res.on('data', (data) => { str += data }); res.on(\"end\", () => { str = querystring.parse(str) console.log(str) // 向客户端返回数据 req.end(`提交成功了: ${str.msg}`) }) });app.listen(80);客户端会输出1234状态码: 200响应头: {\"date\":\"Fri, 02 Feb 2018 03:37:39 GMT\",\"connection\":\"close\",\"content-length\":\"29\"}响应主体: 提交成功了: Hello World!响应中已无数据。我们可以写个定时器用request方法,一直向某个网站提交信息。options: Object | string | URLprotocol <string> 使用的协议。默认为 http:。host <string> 请求发送至的服务器的域名或 IP 地址。默认为 localhost。hostname <string> host 的别名。为了支持 url.parse(),hostname 优先于 host。family <number> 当解析 host 和 hostname 时使用的 IP 地址族。 有效值是 4 或 6。当未指定时,则同时使用 IP v4 和 v6。port <number> 远程服务器的端口。默认为 80。localAddress <string> 为网络连接绑定的本地接口。socketPath <string> Unix 域 Socket(使用 host:port 或 socketPath)。method <string> 指定 HTTP 请求方法的字符串。默认为 ‘GET’。path <string> 请求的路径。默认为 ‘/‘。 应包括查询字符串(如有的话)。如 ‘/index.html?page=12’。 当请求的路径中包含非法字符时,会抛出异常。 目前只有空字符会被拒绝,但未来可能会变化。headers <Object> 包含请求头的对象。auth <string> 基本身份验证,如 ‘user:password’ 用来计算 Authorization 请求头。agent <http.Agent> | <boolean> 控制 Agent 的行为。 可能的值有:undefined (默认): 对该主机和端口使用 http.globalAgent。Agent 对象:显式地使用传入的 Agent。false: 创建一个新的使用默认值的 Agent。createConnection <Function> 当不使用 agent 选项时,为请求创建一个 socket 或流。 这可以用于避免仅仅创建一个自定义的 Agent 类来覆盖默认的 createConnection 函数。详见 agent.createConnection()。timeout <number>: 指定 socket 超时的毫秒数。 它设置了 socket 等待连接的超时时间。发起get请求 http.get(options[, callback])123456789101112131415161718192021222324252627var http = require('http');http.get('http://blog.langpz.com', (res) => { const { statusCode } = res; let str = \"\"; let error; if (statusCode !== 200) { error = new Error('请求失败。\\n' + `状态码: ${statusCode}`); } res.on(\"data\", (data) => { str += data }); if (error) { console.error(error.message); // 消耗响应数据以释放内存 res.resume(); return; } res.on(\"end\", () => { console.log(str) }) }).on('error', (e) => { console.error(`出错了: ${e.message}`);});网站内容就爬下来了。该方法与 http.request() 唯一的区别是它设置请求方法为 GET 且自动调用 req.end()。参考https://zh.wikipedia.org/wiki/%E5%AE%A2%E6%88%B7%E7%AB%AFhttps://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E7%AB%AFhttp://nodejs.cn/api/http.html#http_http_request_options_callback","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"Node模块机制","slug":"Node模块机制","date":"2018-01-08T16:11:02.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Node模块机制.html","link":"","permalink":"http://blog.langpz.com/Node模块机制.html","excerpt":"Node模块机制JavaScript没有模块系统、标准库比较少、没有标准接口、缺乏包管理系统。所以JavaScript社区提出了commonjs规范来解决这些问题。","text":"Node模块机制JavaScript没有模块系统、标准库比较少、没有标准接口、缺乏包管理系统。所以JavaScript社区提出了commonjs规范来解决这些问题。一个Node应用由模块组成,每个js文件就是一个独立模块。npm基于commonjs实现包的管理使我们开发Node.js更方便。commonjs规范引用模块在commonjs规范中,定义了 require() 方法,这个方法接受一个模块的标识。1var math = require('math');定义模块模块有自己的作用域。在模块里面定义的变量、函数、类,都是私有的,对其他文件不可见。上下文中提供了一个 exports 对象可以导出当前模块的方法或者变量,并且它是唯一导出的出口。在模块中,还存在一个 module 对象,它代表当前模块,exports 是 module 的属性。12345// math.jsfunction add(a,b){ return a + b;}exports.add = add; # 导出一个add的方法再新建一个文件就可以用 require()引用这个模块了123// app.jsvar math = require('math');console.log(math.add(1,2)); # 3模块标识模块标识就是传递给 require() 方法的参数,它必须是符合小驼峰命名的规范,或者以 .. 开头的相对路径,或者绝对路径。它可以没有文件后缀名.js。模块缓存加载模块后会被缓存,多次加载还是同一个对象。查看模块缓存 require.cache查看模块绝对路径 require.resolve(./math.js)删除模块的缓存 require.cache[require.resolve(./math.js)]模块的循环加载123456789101112131415161718192021// a.jsconsole.log('a 开始');exports.done = false;const b = require('./b.js');console.log('在 a 中,b.done = %j', b.done);exports.done = true;console.log('a 结束');// b.jsconsole.log('b 开始');exports.done = false;const a = require('./a.js');console.log('在 b 中,a.done = %j', a.done);exports.done = true;console.log('b 结束');// main.jsconsole.log('main 开始');const a = require('./a.js');const b = require('./b.js');console.log('在 main 中,a.done=%j,b.done=%j', a.done, b.done);当 main.js 加载 a.js 时,a.js 又加载 b.js。 此时,b.js 会尝试去加载 a.js。 为了防止无限的循环,会返回一个 a.js 的 exports 对象的 未完成的副本 给 b.js 模块。 然后 b.js 完成加载,并将 exports 对象提供给 a.js 模块。当 main.js 加载这两个模块时,它们都已经完成加载。 因此,该程序的输出会是:123456789node main.jsmain 开始a 开始b 开始在 b 中,a.done = falseb 结束在 a 中,b.done = truea 结束在 main 中,a.done=true,b.done=truemodule对象module.children 被该模块引用的模块对象。module.id 模块的标识符。 通常是完全解析后的文件名。module.parent 最先引用该模块的模块。module.paths 模块的搜索路径。… 更多去官网查询Node的模块在Node中,模块分为两类:一类是Node提供的模块,称为核心模块。另外一类是用户编写的模块,称为文件模块。核心模块定义在 Node.js 源代码的 lib/ 目录下。require() 总是会优先加载核心模块。 例如,require(‘http’) 始终返回内置的 HTTP 模块,即使有同名文件。module.exports和exports区别exports是module.exports对象的引用12345678910111213function require(/* ... */) { const module = { exports: {} }; ((module, exports) => { // 模块代码在这。在这个例子中,定义了一个函数。 function someFunc() {} exports = someFunc; // 此时,exports 不再是一个 module.exports 的快捷方式, // 且这个模块依然导出一个空的默认对象。 module.exports = someFunc; // 此时,该模块导出 someFunc,而不是默认对象。 })(module, module.exports); return module.exports;}参考http://nodejs.cn/api/modules.html#modules_cycles","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"什么是Node.js","slug":"什么是Node-js","date":"2018-01-08T13:29:21.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"什么是Node-js.html","link":"","permalink":"http://blog.langpz.com/什么是Node-js.html","excerpt":"什么是Node.jsNode.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 可以让JavaScript运行在服务器端一个解析器。它实现了操作磁盘文件和搭建HTTP服务器,模块,操作系统进程等一些以前js没有实现功能。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。","text":"什么是Node.jsNode.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 可以让JavaScript运行在服务器端一个解析器。它实现了操作磁盘文件和搭建HTTP服务器,模块,操作系统进程等一些以前js没有实现功能。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。I/O输入(Input): 从系统写入文件输出(Output): 从系统读取文件同步和异步同步是指发起一个调用之后主线程挂起,调用者主动等待调用返回结果。异步是指发起一个调用之后主线程还可以发起别的调用,被调用者通知调用者返回结果。阻塞式和非阻塞式非阻塞式是指发起一个调用不会阻塞主线程的执行,非阻塞式是实现异步的前提。阻塞式是指发起一个调用主线程是被挂起,调用完成后才可以执行其他操作。单线程和多线程单线程是指程序按顺序执行,前面的程序执行完后面才程序可以执行。多线程是指同时执行多个程序,当前程序执行不影响其他程序执行。事件驱动这种模型的程序运行流程是由用户的动作(如鼠标的按键,键盘的按键动作)或者是由其他程序的消息来决定的。","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"VSCode 配置Node调试环境","slug":"VSCode-配置Node调试环境","date":"2018-01-05T17:17:59.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"VSCode-配置Node调试环境.html","link":"","permalink":"http://blog.langpz.com/VSCode-配置Node调试环境.html","excerpt":"VSCode 配置Node调试环境我们在写js的时候需要调试打开浏览器按F12(开发者工具)就可以打断点去看程序写得对不对。但是在node.js里面就没有办法了,因为是在命令行执行的没法打断点一个个console的话效率太低,所以这个时候就需要VSCode来辅助我们开发node.js。","text":"VSCode 配置Node调试环境我们在写js的时候需要调试打开浏览器按F12(开发者工具)就可以打断点去看程序写得对不对。但是在node.js里面就没有办法了,因为是在命令行执行的没法打断点一个个console的话效率太低,所以这个时候就需要VSCode来辅助我们开发node.js。首先下载VSCodehttps://code.visualstudio.com/下载对应系统的安装包下载VSCode新建文件打开VSCode新建一个文件夹hello,在里面再新建一个app.js新建文件app.js的代码12345for (let index = 0; index < 5; index++) { console.log(index) }console.log('Hello Word')开始调试再点调试,快捷键(Ctrl+Shift+D),添加配置选择Node.js。注: “program”: “${workspaceFolder}/app.js” /app.js 可以是任何名字,但是一定要是你入口文件。调试打断点开始打断点。打断点执行app.js操作和浏览器调试类似。执行app.js","categories":[],"tags":[{"name":"VSCode","slug":"VSCode","permalink":"http://blog.langpz.com/tags/VSCode/"}]},{"title":"Git配置https免用户名和密码提交","slug":"Git配置https免用户名和密码提交","date":"2018-01-03T14:15:36.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Git配置https免用户名和密码提交.html","link":"","permalink":"http://blog.langpz.com/Git配置https免用户名和密码提交.html","excerpt":"Git配置https免用户名和密码提交我们如果是通过git clone https://xxx 下载的项目每次Push的时候需要输入用户名和密码,其实Git可以通过配置实现免密码提交。","text":"Git配置https免用户名和密码提交我们如果是通过git clone https://xxx 下载的项目每次Push的时候需要输入用户名和密码,其实Git可以通过配置实现免密码提交。 在Git Bash 里面输入命令。1git config --global credential.helper store然后再提交输入用户名和密码提交完成后,用户名和密码就被保存了,下次再提交就不用再输入了。","categories":[],"tags":[{"name":"Git","slug":"Git","permalink":"http://blog.langpz.com/tags/Git/"}]},{"title":"javascript数组去重","slug":"javascript数组去重","date":"2018-01-02T10:25:35.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"javascript数组去重.html","link":"","permalink":"http://blog.langpz.com/javascript数组去重.html","excerpt":"javascript数组去重原理:在数组原型上扩展方法,遍历当前数组把数组的每一项存在json对象里面,如果json存在当前遍历的值就代表重复了,否则把当前遍历的值添加到一个新的数组,最后返回新的数组。","text":"javascript数组去重原理:在数组原型上扩展方法,遍历当前数组把数组的每一项存在json对象里面,如果json存在当前遍历的值就代表重复了,否则把当前遍历的值添加到一个新的数组,最后返回新的数组。1234567891011Array.prototype.removal = function removal(){ var hash = {}, arr = []; for(var i = 0; i < this.length; i++){ if(!hash[this[i]]){ arr.push(this[i]); } hash[this[i]] = 1; } return arr;}javascript数组去重","categories":[],"tags":[{"name":"数组","slug":"数组","permalink":"http://blog.langpz.com/tags/数组/"}]},{"title":"Hexo博客多端同步问题","slug":"Hexo博客多端同步问题","date":"2017-12-29T16:38:22.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Hexo博客多端同步问题.html","link":"","permalink":"http://blog.langpz.com/Hexo博客多端同步问题.html","excerpt":"Hexo博客多端同步问题搭完博客,发现只有公司电脑上有源文件,如果回家就没发继续更新博客了。也不能拿着U盘到处拷贝。所以就把博客源文件放到github上解决同步问题。","text":"Hexo博客多端同步问题搭完博客,发现只有公司电脑上有源文件,如果回家就没发继续更新博客了。也不能拿着U盘到处拷贝。所以就把博客源文件放到github上解决同步问题。博客源文件同步在博客根目录执行123456git initgit remote add origin git@github.com:lanpangzhi/lanpangzhi.github.io.git # 添加远程仓库 注意这里要添加你自己的仓库 lanpangzhi 换成你自己的用户名git checkout -b hexo # 新建hexo分支并切换到hexo分支git add . # 所有变化提交到暂存区git commit -m \"解决同步问题\" # 提交文件git push origin hexo # 推送hexo分支这就成功了,github上已经有博客的源文件了。github查看提交成功推荐把hexo设置为默认分支。hexo设置为默认分支git submodule 实现第三方主题同步因为之前是直接把第三方主题克隆到博客目录,有什么改动是无法推送到作者Git仓库的,这个时候需要把第三方主题的项目Fork到自己仓库,自己账号下生成一个同名的仓库,并对应一个url,我们应该git clone自己账号下仓库的url。Fork第三方主题执行如下操作。1git submodule add git@github.com:lanpangzhi/hexo-theme-next.git themes/next把自己仓库下面第三方主题添加到Git子模块, 注 : themes/next 这里的目录是因为我用的next主题才会写themes/next 如果你用的不是next请把next替换成你的第三方主题文件夹名字。博客的根目录会多一个.gitmodules文件,这是一个配置文件,保存了项目 URL 和你拉取到的本地子目录。.gitmodules文件这就添加成功了,然后执行如下操作。123git add . # 所有变化提交到暂存区git commit -m \"添加第三方主题Git子模块\" # 提交文件git push origin hexo # 推送hexo分支更换电脑同步博客和第三方主题同步博客电脑上一定要先node和git,执行如下操作。1234npm install hexo-cli -g # 先安装hexo的脚手架git clone git@github.com:lanpangzhi/lanpangzhi.github.io.git # 下载项目,因为hexo 是默认分支,所以这里直接会下载hexo分支npm i # 安装依赖hexo s # 启动服务器剩下的就自行操作了。博客已经完成了同步。注:每次写完文章部署网站后,记得再执行如下操作。123git add . # 所有变化提交到暂存区git commit -m \"新增xxx文章\" # 提交文件git push origin hexo # 推送hexo分支同步第三方主题在博客根目录执行如下操作。12git submodule init # 初始化本地配置文件git submodule update # 拉取子模块如果第三方主题有修改的,修改完成后在第三方主题目录执行。123git add . # 所有变化提交到暂存区git commit -m \"修改主题xxxx\" # 提交文件git push origin master # 推送master分支这样就会把修改的主题推送到自己的仓库。修改的主题推送到自己的仓库这样就实现多端同步了。参考http://devtian.me/2015/03/17/blog-sync-solutionhttps://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97","categories":[],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://blog.langpz.com/tags/Hexo/"}]},{"title":"npm install 报错提示请使用管理员","slug":"npm-install-报错提示请使用管理员","date":"2017-12-27T11:07:20.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"npm-install-报错提示请使用管理员.html","link":"","permalink":"http://blog.langpz.com/npm-install-报错提示请使用管理员.html","excerpt":"npm install 报错提示请使用管理员之前把node升级了,npm自动升级到 npm5 再npm install xxx 会报如下图错误","text":"npm install 报错提示请使用管理员之前把node升级了,npm自动升级到 npm5 再npm install xxx 会报如下图错误Please try running this command again as root/Administrator解决方案: 后面加上–no-optional 或者降级 5.3 版本 升级更高版本npm install hexo-cli -g --no-optional 参考https://stackoverflow.com/questions/46020018/error-eperm-operation-not-permitted-unlink-d-sources-node-modules-fseven","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"}]},{"title":"nvm管理node.js版本(Windows系统)","slug":"nvm管理node-js版本(Windows系统)","date":"2017-12-26T14:03:59.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"nvm管理node-js版本(Windows系统).html","link":"","permalink":"http://blog.langpz.com/nvm管理node-js版本(Windows系统).html","excerpt":"nvm管理node版本在开发过程中偶尔会碰见不同项目依赖的node版本不一样,而node没有提供自动切换版本的功能,这个时候就需要nvm出马了,n也可以管理node版本(注:不支持Windows)","text":"nvm管理node版本在开发过程中偶尔会碰见不同项目依赖的node版本不一样,而node没有提供自动切换版本的功能,这个时候就需要nvm出马了,n也可以管理node版本(注:不支持Windows)先去下载nvm-windows下载链接地址 注:目前版本1.1.6。如果你之前安装过node,先卸载掉。安装nvm-windows刚才下载的是 nvm-setup.zip 这个文件1输入 nvm这就安装成功了。安装node安装最新稳定版 node1nvm install latest安装指定版本 node1nvm install 8.9.0切换node版本1nvm use 9.3.0nvm list 显示当前安装node版本列表 * 代表当前使用的版本注: 安装的npm全局模块不会在各个版本的node.js之间共享。还有可能有些npm包不支持当前使用的node版本 nvm基本命令nvm arch [32|64]: 设置node是以32还是64位模式运行。 指定32或64来覆盖默认操作系统版本。nvm install[arch]: version 版本号 例如 8.9.0 或者 latest(最新稳定版),[arch]可选、指定是否安装32位或64位版本(默认为系统架构),将[arch]设置为 all 安装32和64位版本。nvm list [available]: 显示当前安装node版本列表 * 代表当前使用的版本,在末尾输入 available 显示可供下载的所有版本列表。nvm on: 使用Node.js版本管理。nvm off: 禁用node.js版本管理(不会卸载任何东西)。nvm proxy [url]: 设置下载的代理,将[url]留空以查看当前代理。 将[url]设置为 none 以删除代理。nvm uninstall: 卸载指定的node版本。nvm use[arch]: 切换指定的node版本,可选[arch]32和64位版本。nvm root: 设置nvm存放不同版本的node.js的目录。 如果没有设置 path ,则显示当前的根目录。nvm version: 显示Windows的NVM的当前运行版本。nvm node_mirror: 设置node节点镜像。国内可以使用 https://npm.taobao.org/mirrors/node/nvm npm_mirror: 设置npm节点镜像。国内可以使用 https://npm.taobao.org/mirrors/npm/参考https://github.com/coreybutler/nvm-windows","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"Hexo+Next集成Algolia搜索","slug":"Hexo-Next集成Algolia搜索","date":"2017-12-22T13:13:18.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"Hexo-Next集成Algolia搜索.html","link":"","permalink":"http://blog.langpz.com/Hexo-Next集成Algolia搜索.html","excerpt":"集成Algolia搜索起因Swiftype现在收费了,也没有免费版本。Local Search搜索体验不好,微搜索Next官网上描述太少!所以选择Algolia。注:Algolia搜索在版本 5.1.0 中引入,要使用此功能请确保所使用的 NexT 版本在此之后","text":"集成Algolia搜索起因Swiftype现在收费了,也没有免费版本。Local Search搜索体验不好,微搜索Next官网上描述太少!所以选择Algolia。注:Algolia搜索在版本 5.1.0 中引入,要使用此功能请确保所使用的 NexT 版本在此之后首先注册Algolia账户Algolia 登陆页面https://www.algolia.com/users/sign_in,可以使用 GitHub 或者 Google 账户直接登录,也可以注册一个新账户。我直接用谷歌账户登陆了,注册后的 14 天内拥有所有功能(包括收费类别的)。之后若未续费会自动降级为免费账户,免费账户 总共有 10,000 条记录,每月有 100,000 的可以操作数。注册完成后,创建一个新的 Index,这个 index name 之后会用到Index 创建完成后,此时这个 Index 里未包含任何数据。 接下来需要安装 Hexo Algolia 扩展, 这个扩展的功能是搜集站点的内容并通过 API 发送给 Algolia。前往站点根目录,执行命令安装:1npm install hexo-algolia --save # 目前最新版本是1.2.4,下面的操作都是基于这个版本的文档获取 Key,更新站点根目录配置前往站点根目录打开_config.yml添加以下代码12345# Algolia Search API Keyalgolia: applicationID: '你的Application ID' apiKey: '你的Search-Only API Key' indexName: '输入刚才创建index name'修改Algolia搜索ACL(访问控制列表)选中后保存。操作完成后执行命令123export(windows 为 set) (Powershell 用 $env:) HEXO_ALGOLIA_INDEXING_KEY=你的Search-Only API keyset (Mac和git bash 为 export) (Powershell 用 $env:) HEXO_ALGOLIA_INDEXING_KEY #查看是否设置成功如果没有值就设置失败hexo algolia成功后修改Next主题配置文件更改Next主题配置文件,找到 Algolia Search 配置部分:123456789# Algolia Searchalgolia_search: enable: true hits: per_page: 10 labels: input_placeholder: Search for Posts hits_empty: \"我们没有找到任何搜索结果: ${query}\" hits_stats: \"找到约${hits}条结果(用时${time}ms)\"将 enable 改为 true 即可,根据需要你可以调整 labels 中的文本。这个是我修改的文本。总结一下集成遇到的BUGPlease provide an Algolia index name in your hexo _config.yml flle原因:Algolia Search API Key indexName 错了解决方案:看下之前新建index的名字Not enough rights to update an object near原因:没有修改Algolia搜索ACL(访问控制列表)解决方案: 按1.4操作勾选上就可以移动端遮罩盖住搜索原因:遮罩的z-index值太高,我的next主题是5.1.3版本可能其他版本没有这个BUG解决方案: 找到\\themes\\next\\source\\css_common\\components\\third-party 下面的algolia-search.styl 文件 第8行追加12+mobile() z-index: 1000参考http://theme-next.iissnan.com/third-party-services.html#algolia-searchhttps://github.com/oncletom/hexo-algolia","categories":[],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://blog.langpz.com/tags/Hexo/"}]},{"title":"npm使用介绍","slug":"npm使用介绍","date":"2017-12-20T14:56:09.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"npm使用介绍.html","link":"","permalink":"http://blog.langpz.com/npm使用介绍.html","excerpt":"npm使用介绍npm是随同NodeJS一起安装的包管理工具、官网https://www.npmjs.com","text":"npm使用介绍npm是随同NodeJS一起安装的包管理工具、官网https://www.npmjs.com创建一个模块1npm init会提示你输入包名等,然后生成一个package.json文件,文件内容如下1234567891011{ \"name\": \"xxx\", \"version\": \"1.0.0\", \"description\": \"\", \"main\": \"index.js\", \"scripts\": { \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\" }, \"author\": \"lanpang\", \"license\": \"ISC\"}package.json文件属性说明name - 包名version - 包的版本号description - 包的描述,方便在npm search中搜索main - main字段配置一个文件名指向模块的入口程序。如果你包的名字叫xxx,然后用户require(“xxx”),main配置的模块的exports对象会被返回scripts - 是一个由脚本命令组成的hash对象,他们在包不同的生命周期中被执行。key是生命周期事件,value是要运行的命令author - 作者license - 许可证,让人知道使用的权利和限制的更多说明请查看https://github.com/ericdum/mujiang.info/issues/6/安装模块1234npm install (Module Name) options # 语法npm install express # 本地安装npm install express -g # 全局安装npm install express@1.0.0 # 安装指定版本npm 的包安装分为本地安装(local)、全局安装(global)两种。本地安装:将安装包放在当前目录下的 ./node_modules 下。本地安装:可以通过 require(Module Name) 来引入本地安装的包。全局安装:node安装目录/node_modules。全局安装:可以直接在命令行里使用。查看全局安装目录1npm list -g --depth=0安装包信息将加入到dependencies(生产阶段的依赖)12npm install express --save # npm5已经将--save变成了默认参数,执行 install 依赖包时默认都会带上,除非加上 --no-save。npm install express -S # 缩写安装包信息将加入到devDependencies(开发和测试阶段的依赖)12npm install gulp --save-devnpm install gulp -D # 缩写注: 包的依赖都被写入了package.json文件后,他人git或者svn下载项目可以通过npm install 安装项目依赖的包。卸载包1npm uninstall gulp # 如果你安装的包带参数 --save 或者 --save-dev 必须npm uninstall gulp 要添加对应参数更新包更新本地包1npm update gulp更新全局包1npm update gulp -g检查包是否已经过时检查本地包1npm outdated检查全局包1npm outdated -g --depth=0搜索包1npm search express查看包安装信息查看本地包1npm list查看全局包1npm list -gnpm-scripts可以修改package.json文件scripts增加自定义命令,执行一些操作123\"scripts\": { \"start\" : \"gulp\"}此时在cmd或git bash中输入npm start 就会执行gulp命令包版本号默认1.0.0bug修复和其他小的变化:修补程序版本,增加最后一个数字,例如1.0.1。不破坏现有功能的新功能:次要版本,增加中间数字,例如1.1.0。主要版本,增加第一个数字,例如2.0.0。","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"}]},{"title":"国内学生云主机优惠整理","slug":"国内学生云主机优惠整理","date":"2017-12-20T10:10:37.000Z","updated":"2023-09-17T05:36:14.452Z","comments":true,"path":"国内学生云主机优惠整理.html","link":"","permalink":"http://blog.langpz.com/国内学生云主机优惠整理.html","excerpt":"腾讯云云+校园扶持计划10元/月链接地址","text":"腾讯云云+校园扶持计划10元/月链接地址阿里云云翼计划9.9元/月 59元/半年 118元/年链接地址美团云云帆校园扶持计划8.8元/月链接地址京东云跃云计划8.8元/月 88 元/年链接地址注: 必须是要在籍大学生进行学生认证才可以购买","categories":[],"tags":[{"name":"云主机","slug":"云主机","permalink":"http://blog.langpz.com/tags/云主机/"}]},{"title":"css实现单行、多行文本溢出显示省略号","slug":"css实现单行、多行文本溢出显示省略号","date":"2017-12-19T10:58:41.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"css实现单行、多行文本溢出显示省略号.html","link":"","permalink":"http://blog.langpz.com/css实现单行、多行文本溢出显示省略号.html","excerpt":"css实现单行文本溢出显示省略号123white-space: nowrap; // 规定段落中的文本不进行换行overflow: hidden; // 溢出隐藏text-overflow: ellipsis; // 文本溢出显示省略号","text":"css实现单行文本溢出显示省略号123white-space: nowrap; // 规定段落中的文本不进行换行overflow: hidden; // 溢出隐藏text-overflow: ellipsis; // 文本溢出显示省略号css实现多行文本溢出显示省略号12345display: -webkit-box; // 设置弹性盒子模型overflow : hidden; // 溢出隐藏text-overflow: ellipsis; // 文本溢出显示省略号-webkit-line-clamp: 2; // 限制在一个块元素显示的文本的行数-webkit-box-orient: vertical; // 属性规定框的子元素应该被水平或垂直排列。注:因为用了webkit的私有属性,建议只在移动端使用。","categories":[],"tags":[{"name":"css","slug":"css","permalink":"http://blog.langpz.com/tags/css/"}]},{"title":"npm设置淘宝镜像","slug":"npm设置淘宝镜像","date":"2017-12-15T16:06:34.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"npm设置淘宝镜像.html","link":"","permalink":"http://blog.langpz.com/npm设置淘宝镜像.html","excerpt":"npm设置淘宝镜像我们通过npm install xxx 安装包的过程会特别慢,或者安装半天突然报错。这是因为npm镜像地址在国外,所以访问会慢有的时候还访问不到…..(天朝的万能的防火墙)","text":"npm设置淘宝镜像我们通过npm install xxx 安装包的过程会特别慢,或者安装半天突然报错。这是因为npm镜像地址在国外,所以访问会慢有的时候还访问不到…..(天朝的万能的防火墙)更新淘宝镜像源最新地址1npm config set registry https://registry.npmmirror.com我们可以通过设置淘宝镜像来解决问题淘宝镜像同步频率目前为10分钟一次以保证尽量与官方服务同步。设置成淘宝镜像12// 旧地址2022年(今年)5月份停止解析npm config set registry http://registry.npm.taobao.org查看设置是否成功1npm get registry注意如果你换成淘宝镜像的话,会影响你发布模块,这时候需要换回npm官网的镜像1npm config set registry https://registry.npmjs.org","categories":[],"tags":[{"name":"npm","slug":"npm","permalink":"http://blog.langpz.com/tags/npm/"}]},{"title":"node.js Windows下安装(笔记)","slug":"node-js-Windows下安装","date":"2017-12-12T16:26:01.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"node-js-Windows下安装.html","link":"","permalink":"http://blog.langpz.com/node-js-Windows下安装.html","excerpt":"首先去Node.js中文网下载安装包偶数位为稳定版本,奇数位为非稳定版本(开发版)稳定版本中已发布的API是不会改变的奇数开头的开发版就是会不断变化更新","text":"首先去Node.js中文网下载安装包偶数位为稳定版本,奇数位为非稳定版本(开发版)稳定版本中已发布的API是不会改变的奇数开头的开发版就是会不断变化更新点这里去下载如下图,选择系统对应的位数下载双击打开你下载node-v8.9.0-x64.msi安装包一路下一步Node.js默认安装目录,你也可以点Change修改目录,点击下一步(Next)点击下一步(Next)点击安装(Install)安装完检测PATH环境变量是否配置Node.js123win + r输入 cmd 回车输入 node -v 和 npm -v会显示你安装node和npm的版本","categories":[],"tags":[{"name":"Node.js","slug":"Node-js","permalink":"http://blog.langpz.com/tags/Node-js/"}]},{"title":"Hello World","slug":"hello-world","date":"2017-12-12T16:00:01.000Z","updated":"2023-09-17T05:36:14.448Z","comments":true,"path":"hello-world.html","link":"","permalink":"http://blog.langpz.com/hello-world.html","excerpt":"Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.","text":"Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.Quick StartCreate a new post1$ hexo new \"My New Post\"More info: WritingRun server1$ hexo serverMore info: ServerGenerate static files1$ hexo generateMore info: GeneratingDeploy to remote sites1$ hexo deployMore info: Deployment","categories":[],"tags":[]}]} \ No newline at end of file diff --git a/css/fonts/fontawesome/FontAwesome.otf b/css/fonts/fontawesome/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/css/fonts/fontawesome/fontawesome-webfont.eot b/css/fonts/fontawesome/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

          5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/fonts/fontawesome/fontawesome-webfont.ttf b/css/fonts/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z zq1_(l4SX+ekaM;bY|YgEqv2RAEE}e-Im8<@oEZ?Z81Y?3(z-@nRbq?!xD9Hyn|7Gx z-NUw`yOor_DJLC1aqkf2(!i=2$ULNfg|s8bV^xB!_rY+bHA;KsWR@aB=!7n&LJq(} z!pqD3Wkvo-Goy zx1edGgnc}u5V8cw&nvWyWU+wXqwinB#x7(uc>H44lXZQkk*w_q#i2O!s_A?a*?`Rx zoZW6Qtj)L1T^4kDeD7;%G5dS816OPqAqPx~(_-jZ`bo-MR_kd&sJv{A^ zs@18qv!kD;U z5Evv$C*bD~m z+x@>Oo>;7%QCxfp-rOkNgx4j-(o*e5`6lW^X^{qpQo~SMWD`Gxyv6)+k)c@o6j`Yd z8c&XSiYbcmoCKe+82}>^CPM+?p@o&i(J*j0zsk}!P?!W%T5`ppk%)?&GxA`%4>0VX zKu?YB6Z)hFtj@u-icb&t5A1}BX!;~SqG5ARpVB>FEWPLW+C+QOf~G-Jj0r`0D6|0w zQUs5sE6PYc)!HWi))NeRvSZB3kWIW|R^A%RfamB2jCbVX(Fn>y%#b1W%}W%qc)XVrwuvM!>Qur!Ooy2`n@?qMe3$`F2vx z9<=L}wP7@diWhCYTD?x)LZ>F6F?z8naL18P%1T9&P_d4p;u=(XW1LO3-< z`{|5@&Y=}7sx3t1Zs zr9ZBmp}YpHLq7lwu?CXL8$Q65$Q29AlDCBJSxu5;p0({^4skD z+4se#9)xg8qnEh|WnPdgQ&+te7@`9WlzAwMit$Julp+d80n+VM1JxwqS5H6*MPKA` zlJ*Z77B;K~;4JkO5eq(@D}tezez*w6g3ZSn?J1d9Z~&MKbf=b6F9;8H22TxRl%y1r z<-6(lJiLAw>r^-=F-AIEd1y|Aq2MggNo&>7Ln)S~iAF1;-4`A*9KlL*vleLO3vhEd(@RsIWp~O@>N4p91SI zb~+*jP?8B~MwmI0W$>ksF8DC*2y8K0o#te?D$z8nrfK{|B1L^TR5hlugr|o=-;>Yn zmL6Yt=NZ2%cAsysPA)D^gkz2Vvh|Z9RJdoH$L$+6a^|>UO=3fBBH0UidA&_JQz9K~ zuo1Z_(cB7CiQ}4loOL3DsdC<+wYysw@&UMl21+LY-(z=6j8fu5%ZQg-z6Bor^M}LX z9hxH}aVC%rodtoGcTh)zEd=yDfCu5mE)qIjw~K+zwn&5c!L-N+E=kwxVEewN#vvx2WGCf^;C9^mmTlYc*kz$NUdQ=gDzLmf z!LXG7{N$Mi3n}?5L&f9TlCzzrgGR*6>MhWBR=lS)qP$&OMAQ2 z`$23{zM%a@9EPdjV|Y1zVVGf?mINO)i-q6;_Ev|n_JQ^Zy&BnUgV>NbY9xba1DlY@ zrg$_Kn?+^_+4V4^xS94tX2oLKAEiuU0<2S#v$WSDt0P^A+d-+M?XlR**u_Xdre&aY zNi~zJk9aLQUqaFZxCNRmu*wnxB_u*M6V0xVCtBhtpGUK)#Dob6DWm-n^~Vy)m~?Yg zO0^+v~`x6Vqtjl4I5;=^o2jyOb~m+ER;lNwO$iN ziH4vk>E`OTRx~v#B|ifef|ceH)%hgqOy|#f=Q|VlN6i{!0CRndN~x8wS6Ppqq7NSH zO5hX{k5T{4ib@&8t)u=V9nY+2RC^75jU%TRix}FDTB%>t;5jpNRv;(KB|%{AI7Jc= zd%t9-AjNUAs?8m40SLOhrjbC_yZoznU$(rnT2);Rr`2e6$k!zwlz!d|sZ3%x@$Nw? zVn?i%t!J+9SF@^ zO&TGun2&?VIygfH5ePk|!e&G3Zm-GUP(imiWzZu$9JU)Wot`}*RHV<-)vUhc6J6{w&PQIaSZ_N<(d>`C$yo#Ly&0Sr5gCkDY(4f@fY5!fLe57sH54#FF4 zg&hda`KjtJ8cTzz;DwFa#{$!}j~g$9zqFBC@To^}i#`b~xhU;p{x{^f1krbEFNqV^ zEq5c!C5XT0o_q{%p&0F@!I;9ejbs#P4q?R!i$?vl3~|GSyq4@q#3=wgsz+zkrIB<< z=HMWEBz?z??GvvT54YsDSnRLcEf!n>^0eKf4(CIT{qs4y$7_4e=JoIkq%~H9$z-r* zZ?`xgwL+DNAJE`VB;S+w#NvBT{3;}{CD&@Ig*Ka2Acx)2Qx zL)V#$n@%vf1Zzms4Th~fS|(DKDT`?BKfX3tkCBvKZLg^hUh|_Gz8?%#d(ANnY`5U1 zo;qjq=5tn!OQ*-JqA&iG-Tg#6Ka|O64eceRrSgggD%%QBX$t=6?hPEK2|lL1{?|>I^Toc>rQU7a_`RSM^EPVl{_&OG-P;|z0?v{3o#pkl zC6Y;&J7;#5N#+H2J-4RqiSK^rj<_Z6t%?`N$A_FUESt{TcayIew5oWi=jxT*aPIP6 z?MG`?k5p%-x>D73irru{R?lu7<54DCT9Q}%=4%@wZij4+M=fzzz`SJ3I%*#AikLUh zn>k=5%IKUP4TrvZ!A{&Oh;BR}6r3t3cpzS(&|cEe&e{MQby|1#X`?17e9?|=i`sPG zL|OOsh`j@PD4sc6&Y3rT`r?-EH0QPR*IobE@_fkB8*(886ZkjkcO{K8Sz$H`^D-8P zjKG9G9A`O!>|!ivAeteRVIcyIGa#O<6I$^O7}9&*8mHd@Gw!WDU*@;*L;SYvlV#p( zzFSsPw&^UdyxO}%i)W8$@f}|84*mz&i2q@SlzMOd%B!BHOJ<(FYUTR(Ui$DuX>?85 zcdzl5m3hzFr2S@c_20C2x&N)|$<=RhzxI!}NN+yS16X^(_mtqY)g*Q%Fux5}bP3q$ zxQD|TB{+4C1gL>zI>g~-ajKMb{2s_cFhN2(I(q^X!$H(GFxpc6oCV9#maj|OhFZaI z;umX6E*fQVTQ@lyZauuv>%E)5z-?zQZne18V5A}}JEQmCz>7^h0r)!zhinBG6 zMQghGt!Do5h%HmAQl~%m+!pr-&wlrcwW;qw)S$6*f}ZvXd;cHw=xm|y~mHbT3yX>?hoYKfy--h+6w9%@_4ukf0Et^zr-DbPwFdyj0VJHi}4bqRetSNR`DoWd( z(%n5>8MQl+>3SeL-DB@IaM{NDwd{{v_HMIO)PKO}v{{##c@ihB0w$aaPTSP4^>n3Z zC8Il%(3dCLLX$-|SwWx1u7KVztXpzNhrOZQ78c$jd{B9lqsNHLr*9h;N9$i+vsrM1 zKzLB_gVdMCfxceejpIZat!MbR)GNZ%^n|fEQo?Xtq#Qa_gEWKTFxSL4b{g}kJNd{QcoQ}HUP-A)Rq;U(***IA*V_0B5mr}Xp$q{YSYs-b2q~DHh z?+muRGn~std!VXuT>P9TL_8Km9G{doqRb-W0B&%d> z^3@hs6y5jaEq%P}dmr(8=f}x~^ z*{I{tkBgYk@Td|Z{csd23pziZlPYt2RJW7D_C#&)OONEWyN`I19_cM;`Aa=y_)ldH z^co(O-xWIN0{y|@?wx@Y!MeVg3Ln%4ORu5~Dl6$h>AGSXrK3!pH%cpM?D|6#*6+A# zlsj;J0_~^?DHIceRC~0iMq)SJ&?R&if{fsdIb>y;H@M4AE`z8~dvz)(e}BqUWK^U~ zFy`PX+z*Bmv9VxAN;%CvMk(#kGBEMP;a-GgGZf~r$(ei(%yGqHa2dS3hxdTT!r>La zUrW2dCTZ!SjD_D(?9$SK02e_#ZOxdAhO%hgVhq54U=2$Hm+1^O^nH<>wS|&<)2TtD zN_MN@O>?A@_&l;U)*GY*5F_a~cgQb_3p`#77ax1iRxIx!r0HkDnA2G*{l|*}g_yI% zZdHt2`Hx^MA#VH7@BEN68Y_;sAcCNgCY7S&dcQsp*$+uW7Dm@$Vl7!YA^51bi} z*Vy8uTj{neIhIL|PhditfC1Jeub(uy}w|wV5 zsQz)04y;BY2$7U4$~P{k)b`hZb>gv1RkD)L#g~$*N^1N1GfNMS)4r|pT*V<&KE1M9 zTh}rzSW#Kcci_#(^qf0gTW3&QN&zsW%VAQ+AZ%-3?E)kMdgL)kY~@mC>l?RH28u;Y zt-@_u^5(W>mDdtqoe){#t;3NA7c@{WoY9bYFNoq+sj&ru;Z`x>4ddY0y*`HRtHFEN% z@mFkp=x0C6zDGgA0s|mP^WNEwE4O}S?%DOtce3At%?ThxRp@`zCH6MyzM)dA9C7IP zI}t;YUV(Jcnw$4LoD4H(EM#!{L-Z|&fhNYnBlKcQ$UScR#HH>scYBTf2u|7Fd8q$R zy5Cbt=Pvf^e}m4?VVL@#Pi3z*q-Q0MG8pGTcbS|eeW%R5bRzKsHSH#G(#$9hj9}0O7lXsC zbZ7#UjJM^FcvdKK3MOEl+Pb-93Px}F$ID&jcvZdJ{d(D)x|*`=vi%1hdg(dd-1E>& zoB4U&a${9!xyxoT%$7gFp{M<_q z9oVnk*Dcp$k#jA#7-pZbXd=L8nDhe<*t_*%gj^Vx>(~KyEY~i&(?@R~L_e^txnUyh z64-dU=Lc;eQ}vPX;g{GitTVZben7||wttapene^dB|oSGB~tmAGqE^`1Jxt$4uXUL zz5?7GEqvmLa{#mgN6la^gYO#}`eXyUJ)lFyTO8*iL~P z$A`A_X^V#!SJyU8Dl%J*6&s9;Jl54CiyfA`ExxmjrZ1P8E%rJ7hFCFo6%{5mRa|LY zk^x76W8M0tQBa1Q(&L`|!e zrczv>+#&b2bt zuD1Bfoe>oW0&!ju$-LI)$URptI!inJ^Dz|<@S1hk+!(n2PWfi-AMb5*F03&_^29MB zgJP7yn#Fw4n&Rod*>LlF+qPx5ZT$80;+m*0X5ffa3d-;F72#5un;L$}RfmR5&xbOf(KNeD|gT1x6bw5t;~j}(oMHcSzkCgcpbd>5UN z7e8CV*di9kpyJAo1YyE9XtfV1Q8^?ViwrKgtK$H60 z%~xgAifVV#>j>4SN10>bP9OV9m`EA-H{bzMimEQ_3@VZH%@KZzjDu` zRCG*Ax6B^%%dyLs2Cw{bePFWM9750@SIoZoff4mJvyxIeIjeZ{tYpbmTk4_{wy!_uygk4J;wwSiK&OpZWguG$O082g z^a3rw)F1Q!*)rNy!Sqz9bk0u-kftk^q{FPl4N+eS@0p1= zhaBFdyShSMz97B%x3GE|Sst~8Le6+?q@g6HwE1hJ#X)o^?{1!x-m`LlQ+4%?^IPIo zHATgqrm-s`+6SW3LjHB>=Pp{i<6FE#j+sX(Vl-kJt6sug<4UG9SH_|( zOb(+Vn|4R4lc8pHa-japR|c0ZAN$KOvzss6bKW^uPM$I$8eTr{EMN2N%{Yrl{Z`Y^ zaQ`-S_6omm((Fih26~Bjf^W$wm1J`8N+(=0ET@KFDy;S%{mF@!2&1UMxk>jTk49;@ z*g#0?*iga;P7abx1bh^d3MoAy*XQp{Hl*t(buU@DamDmvcc;5}`ihM!mvm36|GqRu zn*3}UmnOSUai6mM*y&f#XmqyBo>b=dmra`8;%uC8_33-RpM6;x`Rrc0RM~y9>y~ry zVnGanZLDD_lC%6!F%Jzk##j%?nW>JEaJ#U89t`?mGJS_kO5+5U1Gh;Lb3`{w<-DW; z;USPAm%*aQJ)UeYnLVb2V3MJ2vrxAZ@&#?W$vW)7$+L7~7HSzuF&0V95FC4H6Dy<( z!#o7mJKLMHTNn5)Lyn5l4oh2$s~VI~tlIjn09jE~8C#Ooei=J?K;D+-<8Cb>8RPx8 z-~O0ST{mOeXg+qjG~?}E8@JAo-j?OJjgF3nb^K5v>$yq#-Ybd8lM^jdru2WE-*V6W z>sL(7?%-Qu?&?wZNmmqdn?$FXlE!>2BAa^bWfD69lP0?L3kopYkc4>{m#H6t2dLIEE47|jcI$tEuWzwjmRgqBPkzk zM+(?6)=);W6q<2z95fHMDFKxbhPD-r0IjdX_3EH*BFL|t3))c7d~8v;{wU5p8nHUz9I?>l zVfn$bENo_I3JOh1^^ z+un~MSwCyixbj%C?y{G@G7mSZg_cf~&@djVX_vn8;IF&q?ESd=*AJHOJ(!-hbKPlb zYi-r+me!ezr_eCiQ&SetY;BocRokkbwr=ONGzW2U@X=AUvS^E9eM^w~aztd4h$Q&kF;6EJ1O*M7tJfFi}R1 z6X@asDjL5w+#QEKQE5V48#ASm?H7u5j%nDqi)iO@a1@F z*^R+bGpEOs#pRx9CBZQ}#uQa|dCH5EW%a3Xv1;ye-}5|Yh4g~YH5gI1(b#B|6_ZI; zMkxwTjmkKoZIp~AqhXp+k&SSQ)9C=jCWTKCM?(&MUHex;c3Knl(A%3UgJT_BEixIE zQh!;Q(J<0)C`q0-^|UdaGYzFqr^{vZR~Tk?jyY}gf@H+0RHkZ{OID|x;6>6+g)|BK zs6zLY0U>bcbRd6kU;cgkomCZdBSC8$a1H`pcu;XqH=5 z+$oO3i&T_WpcYnVu*lchi>wxt#iE!!bG#kzjIFqb)`s?|OclRAnzUyW5*Py!P@srDXI}&s2lVYf2ZCG`F`H-9;60 zb<=6weckNk=DC&Q6QxU*uJ9FkaT>}qb##eRS8n%qG`G9WrS>Xm+w)!AXSASfd%5fg z#fqxk(5L9@fM};~Gk^Sgb;7|krF-an$kIROPt4HLqq6+EL+62d@~4Hsy9nIU?=Ue4 zJ69;q+5+73nU|TQu}$>#v(M&Vx1RD=6Lu`d?>zHN?P7J&XWwsvwJt|rr?CZu+l>m4 zTi^VLh6Uu2s392u(5DLaM%)Dr$%h3hRB>V7a9XG`B{ZsWgh4IyTO9R~TAR^h^~>ko z(k|Hy#@bP}7OyN92TKE%qNZfyWL32p-BJf1{jj0QU0V`yj=tRospvSewxGxoC=C|N zve$zAMuSaiyY)QTk9!VmwUK&<#b2fxMl_DX|5x$dKH3>6sdYCQ9@c)^A-Rn9vG?s)0)lCR76kgoR>S;B=kl(v zzM}o+G41dh)%9=ezv$7*a9Mrb+S@13nK-B6D!%vy(}5dzbg$`-UUZJKa`_Z{*$rCu zga2G}o3dTHW|>+P_>c8UOm4Vk-ojaTeAg0-+<4#u-{>pGTYz(%ojZ`0e*nHo=)XZS zpp=$zi4|RBMGJDX{Db?>>fq71rX3t$122E;cJ(9elj+kBXs>3?(tq=s*PeL^<(M$8 zUl;u9e6|EP5Us-A>Lzvr+ln|?*}wt;+gUmd>%?@Wl@m%Qm{>Q0JqTcxtB`ROhd6TB z$VY<7t$^N6IC(s*Z@x2?Gi%eB8%(hYaC zKfY5M-9MeR-@5h zZ?V`qr%%FlPQlW5v_Bp^Q?^)S*%Y#Z$|{!Lpju=$s702T z(P}foXu(uuHN!cJRK*W-8=F*QlYB*zT#WI-SmQ_VYEgKw+>wHhm`ECQS`r3VKw`wi zxlcnn26L*U;F-BC9u{Csy#e%+2uD$He5?mc55)ot>1w`?lr$J zsrI^qGB@!5dglADaHlvWto@|S>kF5>#i#hCNXbp*ZkO$*%P-Sjf3Vc+tuFaJ-^|Ou zW8=}1TOlafUitnrTA2D0<3}&zZz^%y5+t2`Tk`vBI93FqU`W!zY;M%AUoN1V1-I2I zPTVFqaw3Pr-`5HcEFWuD?!8Ybw)Y>g7c0tt=soTHiEBxlY;RlQ`iYY-qdd94zWjyD zFcskM^S{_!E?f3mEh9waR7tb6G&yl%GW%e&Sc5i;y@N)U5ZFLcAsma^K?Cg^%d{PO z=SHQq4a|l`AakzEY;A{n6Rn1u`7v~#ufV*6GZ$`Ef)d2%6apsU6^>QJl0@U& zq|wIBlBAgf0j!YaozAgmhAy0uy;AjRA2%(!`#&e>`V` zg`MfSf5gWvJY#?8%&|`Aj0<@aZ;-q#tCx=-zkGE|_C4)TqKjr-SE6po?cX?Z^B%62 zdA!75;$my<*q)n@eB<^dfFGwRaWB25UL#~PNEV>F^c+e2Be*Df(-rIVBJo2o*an$1*1 zD$bsUC-BvObdmkKlhW<59G9{d=@bAu8a05VWCO=@_~oP=G3SmO91AK_F`#5 zwXLRVay<~JYok|rdQM-~C?dcq?Yfz_*)fIte zkE_g4CeLj1oza=9zH!s!4k%H@-n{6aB&Z;Cs8MK?#Jxl`?wD>^{fTL&eQHAQFtJ_% zNEfs|gGYh+39S{-@#MrPA!XpgWD;NLlne0-Vey1n0?=ww18{L)7G|$1kjI(sjs z@|alUMcx*04*>=BWHv_W-t=rCAy0q6&*;kW&ImkwWTe$lzHJRZJ{-{ zl-mK6+j}V`wobm^^B&2Tl?1r=yWbz;v-F<#y!(CT?-4K(($wWtmD631MN9?trDG zMI7;9U7|UsC;urLP%eH1h%U`LJxT3oM4=gpi%X@lpVR9N6Q(uhJ00RWXeL-Z*V(O8 zsIyyVUvf=RXLBKX`!peifjIMvMs1YT0n$0*B;K^yZf&HN8$N%e=EgOejqihLPBT|< zs)z`nNU}BOdT7wYLy}R10eXUksn9o)jG)&=qteGc|XNI~h5R6UBfaPeIHbA32@*>orZsCB4`Q79}A=z@najfekt-_eTg7a}Mcas^D1ELlN6(y28c{ur|tmueFvIDOQxXs1)_lKrA`L2-^^VNC#miFvO%l6w5uK2bFyu?hyNLCjTCNRRVW^i+GX``giwc&TpV~OHu(yN&o)r2$K$1kjh@>iP z^&`?sCk#?xdFX+ilAb(;I7<$BQ#6j*jKsu%LEhQKe=>ki^ZICepr3#_2#pE`32i4Z zu%eXsgL)3x3Q-^OPPRhm<^!TEPoek6?O^j+qLQ*~#TBw4Aq~M2>U{>{jfojVPADAi zurKpW{7Ii5yqy6_1iXw3$aa!GLn|$~cnvQnv7{LMIFn!&d6K=3kH8+e90Zq5K%6YfdLv}ZdQmTk7SZ7}>rJ9TW)6>NY{uEZ zY^9PI1UqUFm|h0Vqe60Ny=wCFBtKb zXtqOa3M?2OEN=zDX7z}2$Y{2@WJjr?N`auMDVG9kSH~FjfJRNfsR@yJQp4cQ8zaFkT4>5XQqSVt5c}`-A#Z=3-_mGZ^)Hqayei zhJ}wgZ5UDln%)!;Wz@u=m(6C_P@r9*IMPe7Db`CSqad3ky-5-EcG=*v8J&{RtLJ(E zw2h-ghGYcDtqj4Z^nU7ChgEXO0kox=oGaY;0EPqeW89T6htbZg4z!uU1hi;omVj+3 z0B%$+k$`oH5*SeoG`Ay&BAA%nAUjQxsMlNdq8%;SbEAPVC#qm!r7j75W=A)&a6)3% zdQq$fCN;@RqI!KPfl9l=vmBFSFpD1cAxb@~K-$ZIlIL3W}?#3+|2p{|vZVq`YA zMbx|Xl57kJVwoetAo+opiewCkCIO=uBLEaG+!0U$MRdReNsx>+PIJWN6dW)pfeZ(u zQ8ei-Ht69)ZV`qv=vmorhOkF)Squ;)8AUfh<7A_xI8FGHMRW>~%o`1Wt3|8IMrM%& z8)|@=#ssro9=f9HtN0F#O085{Bf6PJnurfzS_yg?qqszmnQIYDP{N=xqPfvl;VNsK^qpoy2&App~Fe(MB7KCI)$p1!&YEB&%$9gTk zmvlt?t7!>_paNt_fYJvw^~LCqX{4opLy!n)md7}<_s?`gytfSAdoScQWTy&Tbr&~( zg9myGVv)l|4-umFBL0)Y(d}Rvt11)(O4ij#zeao~K$vh~JDn0_@3RjP2M0|79T&9+ z?>Vx&M30Sb15&<{RtpeYUf|n7n5GHyc+-FtA=7H$p6Mh=&M0O!so)tze7#WT>pp|x zfWae>0++DfscU2%>|@oiCQj+6O827)1}KsN^a>NSI*4?#ylfG-{q?3MMXX$dUH^S6Ni=Ve1d0(janpz@WqGJ?cG&sewpq294Qa zL{huwuoARdt5F4Dbh#?<2ruzSS{VeDAOtY+52t^xJW=!(0f3P&G3Cs^%~Q~~Wq{YA z!QrEk#>oXK{sc&Z7VB1_>fA1^#YyU1Ff<^9G(!V0!JW`n@EDdj$$2SVK6*7$!BvXP zmAC;h-W75(Nnzpro3CE9eV=~Lp7yS(vXnk@$g3{R`!(UG013==W*Hj{-*F!ujl+np%IX?E0*I&-K^u zY1z1I!`iOu+Ll`UtL|F6Vb?~vk=x9w6}eE^*<)O?pZQ#8YKE#b($x>w$3E*F0Kfk zfnyCo#zOpX1(P2yeHG@fP7}}~GB|&S27%6=@G^V=rmeTB$(w9rC6J@uQmcAMq zQ=Ce?Z0RkF_gu30<;5#jEW32il2?}$-6PZ?au16Y)?kUFy3L?ia1A@%S3G-M`{qn8 ze+|6jh0vqfkhdSb0MvIr!;;*AL}QX^gkc+q0RJ4i9IyOo+qAyHblI+$VuZ3UT7&iIG7640a)fe&>NOVU@xZ*YE`oy!JGMY%j}bGq!= z`R5xY(8TK&AH4b6WoKCo>lPh6vbfu1yYy02g^t9bDbexN!A`*$M5`u&}WqF?+*m?ZoW85&MFmXqQ1J{i;_Oz>3*#0?lWa zf?{tv`_JzP7D3x2gX&ICRn(aR$#>;ciH#pO?<*}!<}cYh_r{hb6*kkXSteV>l9n6i zwx63=u%!9MdE>@2X)3$YXh=DuRh~mN2bQFEH&_nHWfU{q+4=t07pt+Jfj90Or;6JX{BCQrE8bZe&wi3fwEXHRp zz8{VAmxsWU)3nT;;77X7@GCm7_fL1p_xKEG&6G~luO;Bc3ZIa?2b(*uH7qJ!es71c z{Buj4(;Jds$o78u<3df_2~DLq`e9*$SGmrR9p2OoVB5Q(KL3M{1>eq+;+lHK9N?xvyBPHni<#j$sZK{QrKEcdR9+eQD0V? zGPaq!#<-c#a>t4bt+R#Hu_|}dlIGeve@SR!d((u)Ga45+BuhHfA88G0cPrw>>(`ID zZ;aIyn|qmhuDXBthoW{J(WN+`Yud=y(wvd0rm&1*4>6?#8&)Fz z&@V=a0w4)F{^!&W_l6<5xg|-0F!~>aCALbeVsZTd*)M*^tr*!)O8w)mzKThWyQW@X zw%BFs5_@CIic5EPcTJu8=CmynV;``)3}gJ`Vl#VY_3Yib@P-KvBk_%!9OVu#8tG|Nc4I~A>8ch-~X%M@!>yk~ERI|QEcwzgI66IaaY>gx0~lm<@f z5-k^OY#SGC80Yr-tDRP(-FEJ{@_4LHsGJ=)PKZ@`eW75-r0ylN%0Q>&*M;@uZLdJ$ z)rw7Dt5ajr;P;~1P>jID!><(7R;w|Yf}qI&8klT?1dTfc@us5mKEe;qw;YKR(cp-D z6NmUMP8x7cM%~ytE@l*Mp^oN*mCF`gRNhw3gpO1PVi_^JzCJo>#mX(q+iJ(Ts$5=! z13b45gILEULS!=)SmZ{qsC1)$8-4eADGR?v z>~4k_SvdvPHAC}=4(!I^OLgQ@9EMDE7d$PvJbi+K%-HTh`P0#Ea|Jm6zj> z?R)(YWtZoIRx>AqzlG1UjT@6ba>yE z{Wf<5moh^-hu;ptAtPG}`h$4PWcOn>vy`#bH#Ss>OoAEE1gIbQwH#eG8+RHG0~TJ$ z>`C`c7KyM^gqsVNDXxT|1s;nTR&cCg6kd<-msrdE5Ofk=1BGDMlP2!93%0c@rg~4` zq)UFVW%s|`xb>;aR@L^*D>nkSLGNmM?cv)WzHZy3*>+*xAJSX;>))*XRT0r9<#zIpug(}{rSC9T$42@gb zy8eb6)~}wl<=or)2L}4T{vum>-g)QaKjtnp5fyd^;|BxHtx~2W^YbKq1HfB7@>Hw@U5)?b^H=uNOpli?w6O#~V`eG;`irLcC(&Uxz`L_Cl zS8r24e*U71o@dV6Soupo-}Ttu*Dk&EwY`h4KdY-k55DSqR&o7nufO)%>%s-Es^5Q_ z60#cReEy=$4|nW)bLh=|4bxW4j}A?qOle+wjn88oAeYb~!eA+EQ;8Ggp-UldAt$3M z7*E590amz>YB9L(z?Xx&?I37XYw?Os-t+05x6Z4vkzBE6-hrbB=GAB?p{DQXV4CKg zls@_wh*&XC<3R(CEZxg8*Y(6a>cIOq9Nss7{=UQ7Nv%O_WxSyBqnH{@(<>A&2on@z zn57W4Dh*E)o#rJ2#tyxV2;C5#rl8%%As$4qB=IbMt-z|jnWi>>7Ymq37;AW!6Y4nx z1Ogx#!WVdA92mEipgUxzy_?ddg|x)KOCyK)P5v@usc;0sN3{=0slt4CuwaxK@20eO zhdp~Z8iJ7GWrkq_-X`~(eBpthn9|`tZEUCIGiFpJjjxPVE9I)#z3Q$3tw`a69qxjuf+~ z*?v>d5~pcH-AQ~0)8PyIjumD^?SM8!Wb>KZoD7hOlc2nA0_(eG!in>}Ru}>6)>5 z@*}T`Hw{I^-?PS9>(#UFBQpW72* zsfj(2+_9@5x+57aN!`e`f(Mp_I(D>}p8)@&g^g+X1%d{ z%X5boE?hEoj0CiwTh9)#8^?~;|wgor_=Z1BI9_dI{ z&t*f95n?ZgZ5CnQa!v(p|JT?y0%KKgi`Smi9k5r!+!Mkz=&Z$%CFl;?AOzV`YBKrY z0#Y6~J6&dA=m>T@TYb8ukaV4z^Z?VX*MCKcp13-ye1*`gAj_Tm@r{fpm?K!U@Xg2AfndEo6jZN} z=XK0GRNXVLW2c?}B)rH^yR>u}b?|p(W$!TkQTAgu1AIG>MFfNchMQB_^-AQxRE$Th5-E_tBP@v(Cy|ojjP5LEU|JrM8 zVF5;$>Hl^jlHWDPChrTH(vh%bARyj5#TPb>omAs-)4zN z9?9(wybd0$Z5s+}Fiytv}-8U`IC<{6U2_NqEAkv;7lys5Qcq3EKt z0-!^Xy3idllgZ~qX^QTe=i*oGUCJNk>Y26?+9U(Ks|C81S{-v+6ebc`c(yibQbuB% zxM7mk>}dI-TfUi5Jqdu6b`4SqF)y5humuCaHhssdcR(jKf5ZGprx;Oe7VG#G6TA1+ z8oZLl<+ey(L+$Qsck^4fi{I|)p15MX73gHFUU!l${lN{)Ht_Wb%j#UE6cZ9}Wq^>+1wz z9TBA@%f~tby^0YWafmn&8Ppjn1Ng{d;S01WImtMzV<`!zU7;+8e-Xko>qM^OfOZ`Y zEZG#vcm>EGF??&G6+v(3l`X(xMn8ESv=@LdMfdcxFi%g1?0HDPG>blldR`OLlWN80 zz<$t+MM9%1K~JT@#aBZjOu9*G{W$u7cqTM|&a1)0wR8R^*r$<&AhuCq1Z{-aUhc5P zdyaaK{$P=Y6R{40FrWmLbDOCijqB(1PrKlnL)Tm|t=l}toVLAZOXJ*~-dx|_A&o65 zskcpT@bs+d@ia`f)t8ivl{(t%H?O?;=^s3O^GXqopx7E3kz06f^UQq<>gyNmo4Ij; zrOxuzn{WOqP75~PwPXC;3mZ#YW1xy&DEXsl~)u4`-v_{*B%R6xNH3* zJElz8@d#i4`#JV(ko%x;u{LMqLEEDmwD*(ccB9Wp;u*9I?=sC7g>%L{%$4m#zhbjm z)gK{LWQvE1>_yl|4T$nYKNVZ<)vza7FKU5*W~4)KNgN@;SA<9&ERxIfA&UZnB=r%N z5YD4fY$9Mkzy}!G+`KUy>3l(FSi1 zw)t)*w$E4#ZSxfm3cZLC(o3aQQ7uHk>_@fMTHoM0=quh%mfN6%{`O($pyzg0kPf=2 zjA%M7bRl4BhV5{{d4HbnTh`HM&YKw@N~47e7NFGr*9Yzi(7XQl-FJb4hPEKOC!K2x$nWy>8=PJYE)T$=Cqe(n*ChZE zklF{Ms}h0Jd|@o;Gz(~b;9d&c#0O^j{1?tF5dtMj9dG`|j0qZi^aF1r{<7KC5hZ`E zNX2nxJYEr@>u86|tPjTDet;fLn1R+IOm6&3b*}TOyNpIaid@W9c9!jIfiJOgK-aw=xb5Kpb)`E9x%CU82 zEQg_v`e+tWYClJHl=_EsSW?LZO3)o#ox(#2UW9|V7I8fYnz5fRtph`u)dywWL9}UV z*hdU9-BBK5G&}j~O6&dSdWDIpFX;&Or5wNbm^Y+A-x6(K$$Of6JTVl9n0gFY&=T5p zZX?pCxA&w{J)eDSfb?Zh*LT#AdiPlB;A%p|-`Aw6RP2mYTh zLmL~zM^VS0V@*4LkOEG~nQR)HyRB+;*KWli%QqKt&%16HWyMXRhtwdCgyoTm*5#itgp(Wap66 zyr-dgKgjl&t?JLMuw}!Boz)TOa2|37p^FAcPmxX0apWmfp$B1WF_@-dsK+?1F6~yY zEwi!-))Q_CbOP%?p%bx|=d^nLBig-_$e!nh19^Ps`s{SNq{nnW)V-qnz3y+Ipd7HS zsb}z%!+}y8izoy>Nyyj4m_br&8TGFcze#gP4?v*NEdl zzGBLM4qpvdu;5vCFi9^zXU;sW`>pPi|NFD# ze=$xI@7q9B4WPsw4CAO~UJ(S)s@u41E>#9D>!?=*N5m$%^0E` z<0RjkAj02TN9RLX3Js+GArg=Nu>E5z zPa!vMuMV06#7$1dLbwv+VGT(5V_&A~Uy3T^+|y~Q2>lA|=hZZ)ex%G`rhkN54C5gq z>w?qN=A+LgB0-@s{OJs7Da|z%dK)uDH4?m5Y=K(N5KWL)uqDxwBt>QmOk(h~1u6_s z>9x>G_+@bJhBQ;(Rr?20>Tjn}^Y`|rQvI3Ua5$aGq{HFf4BhwAFVk2oHNbk)hmAri zjQ_!g*-c^AKM>A@je&H)i1PsJ5929F<8bLXvONK4;-n6d;Zm7Q=G|k6Fp*AY!b1a`eoS*c zF413z6`x;!NZV1k5)sv;-Dqjt?t&|JLNGSA2yWhU-RYC^oiWI1+idw;6*>m1&Io`^iPgF6c$sN zw9j3KFYs@%*HNz1Jr?F^RiLV%@DyQ^Dnc1h&59pWKhD#AMQV~3k7}>c@gdw=dyRf5 zHGNU7bA_hHWUnI-9SXtjM~LT>U5!uS#{ zKSOhB>l^nUa&S8kEFoAUIDG}(Lr#|uJCGb%29Xr>1S4yk0d)9hoJ7#4xNbi?5Dt?N zBp45evje1L)A;&Smy9J8MJe@1#HwBFoYPv$=k%GOaq!kd58)tzBI~EkGG3Rqy>GOTce-p>jH0rb~c(K z1|9q=$3)Vdgcwyvy&>S3p(f~O;~?XK{)Kch&2!gs=%kNH#-Ee-i}S+a@DNWR(Xnv< zv7kIUUD(c?RS|JmPeXBC6cbxUl6qRxl;fFAiK%!>EzFa zJ$-mz?G%WqC+P-l!DLX&nfxzGAnLaFsOg^Vq~gaW2QQ<(qixj#J=;Y{m`?kHkfO)i zdxQ*`2Jr3iXdj4QE%|AlQ;|Wx~pKrr7xuNnTe=t-AO)iha6xDYpH}>yZ z+FD^H2VS0x4us;Wo_95^kElZ$>j2HW@wyeLi3i%Q28NXxQT7V1{iHY}Llc~!Dkv8* zM><6X$}-pv0N#?+N%W`5%}K0Is%8kCOC~LuR6+;gtHYPi9=dqUoin~Q^MhE;TSIe$6dEI=Xs(`oTlj_C-3c4KT+wJvpu4Kkn_RZVg5jE+RF`XNx?0xmaV~bW?v}wVTXn4{5 zO&2X+*pF%!%qu@3SLRk-npU5?`f_cV9;|pa#ktlD9VuvRx;TK+fWUv_$vC8-@TcO4 zN_-D6?7|-4!VWMEgQ}TUe(c3w4{eyxe8C5t7pS0MFe;X@U&B?sVDIGR;u>?mPyb2F zV5WLiQ2mX&1v=E#B`oe9yk4Y2^CFRk8*rV6k1!uW{m47&7E!m%(ANz&+ixrB^ng(;#RLHnX%tfsjJWM- zyBo5Of=eNl8*;gm`ozE0weGdP7~Iz5$$pI`$C5 z`U46T|8cnpt;J+VO?%~H_`Ph??bcn%Jzu`2`z~tc^PoA?r znJlfFuxIeRC?a>J?C!EC2Bn;dnhn3XeZ}sbjb-10*a7A?aS00$P{m0wm zO_v_`nJOwO*k6S$tHR@xmt`N`;fR%l>^^ZvbfRm}PUBtryK5pTwRdIZgj<#_irORP zr7I?yj7m&+KkD(;PKtLXmF-s9=>`j_AFjI$YN7_w1g7hD(md1~ysZj9;u_Y4i3Ssz zgRH~g_UH9AHR4A!67Z@2zch=Odh*4WzWc2=ekK0-ueW&=xy{z7Gz9CSbv}Pk+4ST# z#ZxnW&!Z1tS0A}`@LT_*wh{sv=f-Dy+2cPoUi{nzYTGjx)eit9s#G5^D0+(|iNBlJ zV$vUX35MrZ8K19VAN|i75_}Z#DO`R~MZQy~2$6gqOvN0Js%d70SzJm|ER&Jy5k>-I z!fh9^fC*zr22w0EG6&Uqo`eqC7_L8gi(#?!A>;y86ak0F7|oHQIhmW!15hHkZ(*|o zF+vd5r!A(imA-b0}qc4-&FS58}j>!?PW$SEg*;W8H~a^e%b?2`O8 z*`i%!x17FmIo=X;^83K2Y3Hja(b_rMns6%ts^>=(bA-9V<9O1I>564?R3a}v1yYtH z*l6T7AY0T66-95WtZgaP8(}|MBGlfNdh@=~Y1m!IA7($BPUtE`qT@h@;M3Hd z;_dtQw^?1x7-WaPK4XDxuqd5+qVz|PQlALGw|x}&MFa4RtVSK`(e|RtFN=u%s&M?) z7+HD3$diG_iYZuX{0ijc(*2C7cTX)p*3LRRtn3r@wq>%<@A9jY)yX*dv zSq7pIH0)jCA$)wa^7RfPVlWXzzoH}vzHmu4?W&f|zEC#fi<;dYS!Z*G+=!O(wLx7} zkfS~!6{@R-(Uw86L(mJl7`6&&tfKDx<)c+WIlqL)3pSX=7*`N5ysyr`8ap$bd^E3w89)ZgPiCBi|f{Ji^U)|AMCk%95n_gVk3|_XmE_Z6(keo8NCgI|@0sfZs3_s1} z$KK|ZCF;AE#cQiOrv*z^HWTBHM`H8Hwdx20FDq8lu^{(Q!@5s%Urrmi_ZX=7)j%7* z2x#|wO+pMI^e#2DpLkU+erWUorFxiNlu1s>XIg^5wIEm|joek2Rd2IsPtNkBRLQTFsnoh4v_<(`f@uV0I_G*I9RD+?L~j{1bx`#0ta zEeZiTNBzhh^|GEN+1vl7{w)Wm!`yhLKAuC&Ve`GhjRo0c|E^`tZXfkQW;&_kBLS|M z7!XYb?!E&&=u`h5Ld{_dyivFMQHW{aI!yVS7oS=ttZ_4U4sb{P=wmO6wCrO3g8Cir zRxN0ht{}^=kNOy`2fdgiLzr_8?$^fWMSdbcHb<)&+4+$`i%$>mB*aF7fv0tiFWhcK zRThLy0Mtx?A6Q34Vn$tJOcHkv?-ldg8_%9Jr8YX#=C;}%u*pWq^?L5VVi61EUkC^@ zTi3LAgna%bC9aB?Qos0?XlUZtnp9cISx)1AbGeO~JGb1<*DpHId@iRrT4e7+!$h07 zWDZ4FAXQ;*hdB%9)8U`#Aq1XW1`G)sm$Ol@ZCv2#2r5~I^BXuYJm%NgOkCQOAufat z)Mo2&C`TDc7EDz1sE;V{`=Bx<#5gYrDb+@@FE3>Yx=pZB79-7UjD-g%Z#qc&td6cl zI`S1u2Q2b!m^1LOg{LEV_eV*@cFW|i{!+a94itA#8 z2;?I%3?C8LQn5B+Ac|?$1Ejde^`AH_B}3`>#H=np*@XDR^y^=fZDd~Fz;wS>e@!M7JaPvv zPU?=U|2$6iw_+;&j{0oiARgl1!2p}_PMTg!Yxs?H%{HmJgU62_ghA}_;}{7x*brZc z@>!rSz|M}1YPdKizI;?B3~2O%LY`8A1SF;-m z+Oxu{+PYOU-V9O}bVd$T!;AU2M<2*KtciMEC29!H9V-u9ZUJ$M-4#Nb$5QVy@LP8HyfiyK->WR(e1g77J;isq@ zxu$>@C(@*mf}RY@L8hJXBrWMOEKDqt3i8iwFSwpR$W>G_j=iMN>(!1>S7GdmXt%UH zpfdn%XxP3S<>d1=1{yBn9c@?(YZkyNN1 zQx^M4-32#mo8SKR;r8t_CV3=RwbSNzS!Jbd%GS0L=qT*0!ERw05x~DzSsUKHYQ||Y zuwKD!+2nux!l3~g>0-F=;qnW{w$F|jqXuhZz#N`4WtzLDj_MYvu(*X@fb3G;s!oPE z?QMW|e7J7#=?C#3QWQRp-~(1;_=?J(Y^}oNmHRoN$^y4Pv2Z8cL)EmwWVNJh@>2ER z)el6y-IQ`!2h2{kx3}jwTf$_!N75)(mi|n=?Ylj_>QzqjfMiO67Wc4{rOcF4JS+{j z&z%duf1`r(U@ZlI{F=sZFnCGJv}cN<(cA|5AP8m+HUK z@vG9%#_zOu)ChxFSxmKsBSSO9XX%g4SU79e4=G!|Cgo(;VeA8dsRxIZ$Eqhj(brh0 z>Jh)P2`<<#u_i^?L>%2jxXAxZX%?<7l073C+~1p!t{Dj_9ZxL$sz|_G{C#{Hv@t=B zP}EsMr62u$;U#=d%MRJHCiNv=5OI3(_o-A=G_9B~AsrRui@pzUDE@tHg#6PmWEuT^ ziPt|@8=kjTNmkqdOlyJS!m{E9I87hqn;%9rT0<0-L99QeURoyK-&OxH^mcao3^t~WeS^K zH`XC|VCLo6*duA78O!ugN@5Elxkhd!CmdSX&*f=utfmDFD9PkBHMk3&aFB&)R8NL4 zD&i)OQLO z(Z_o2Zs~o#^$zu`{XU~$I{T&vAH3;ofJ*ZpJ&JR~s{J0}8cw}`t#a3NvWA?#tMY67 zLG}{Q{#6^CipQ$*V2|W$g2v->Y9+4=(K+K`;I4$BFUb9!Nrk0B*fL+v z_lcdO1uEs@|8I@xoKCB{68@q=)}90JCVF33Lb?M@bC5mog<2~vPXXzk7B$|75Lya& zL)t=%E&Pk`S-PznN<)4iAI;NU!@f0_V&wOND{4!~b@1&pAN$Goqzvq>;o=lr=43Xx{tUtEaN3B>CWZ)Uac%%Y9--wFCA~Ek7aAC_APm}b zpXAnlNOIF+;t%pPlAxIkvv1neXa8*XxNLX6ZDDR(+U5bi-=^>US$+3TyUFaf{gSPI z&A@*!TUbRQ-p-3$KUDc=Hp9j|c+t%)Z{KNid2DyGia&p6lgtpOkDeM{Qy=)H&22V` zFBRKM=Etf98a&;o2pD`R2ctkyWxz`aTDZXBjY52aOspy*2=?xDIZi>&&))8y?Pe*( zt;DkFm|`@cFI!Kx=wFn7fh&cqy-f1RZb2KRCK7JNBsApYHWk=M5J&|wBQOdb+2_^g z*;b(s3o^wX$sWZHhUhNh^+UU2+hPaWw)eN~kHy66akHOp4#cDm_4zDetK1Mqx+sR1`nMz9wwQP*hL>=&Kei3+FtV>|yg%{T(6f`N5BR!MdXj8xHG^3) zqCJiEswQF>ZLP}3Hs3ciKciD63}0Z^MFL6+`V473sGm^=U1^Mx3`Y|Mrl>H0pEcT6 zg^H5MH*WeRUNMs9VN5fcZQ=>}GHBs};LS}+P-y~P#IlYJ0P8ym@R(0L;jYe*1D4ll zwDy~vES0HtyCCI2411OeiC>SA#1wX;8DRXzVihdy^T9BjrZUmN_=b)~n*!R4%Wps~ zkbFH!%W;I*pJZ#8%)c_#RUtKlOksrV!Y3i%vh>?b076sjL-)-NtH_t7E8;OBZOPa@ zAofQ3jdT&<%k!kzaG)7qW3j4HcvQe1&&jd+f8}J3!f+>UDx7H_B8^6hA&r*!PDQ-B za5jys`+BVIUd>7lmgi)Y&fyh!`yosPQAwyIh?7D-h2#b7);pTpdfDrCm->#&W_JPe zRvi?=>OgitOs_62y`!|JbhXf5STOdjJDPjj*#EK7D|Q>bl1&L=hPkN@2)(QE#vP@l zt9uJeTG&n{WG78N)aYu19%#`y%8i44oVsSwNLRxgR6hF`tsw;8VRy)COB4`B4i4SsLAa4`Y(WRazi3X`Vv!fMiDilJX?r1a{9%U3-*f6J-iKJh{i^La~ z$yJ?ASG(MP>=IKImh$g9bD7xJqR}YghlfIHszUwEmoF2yQ`Xet0HgZCGNmYge2TvH z+d^IF=q3{GD`-m8K+R-7AdPA64e{l|c4AofbmD)4hUvwM1bw^%@mXLok{H%R#q;qz z+gU3h@JZH-G^8$-2?T_&a!E51(fhSa5Q$w^j>=mA9b7)O1^G1VKyM1v8fOAgDLfFwlSN7aDkBbh=1Vofi; z{_|sQ`!zOY>fWC264~Y0Y;ZbE!j3Cqv4wlfV?E8SiTe3tr;ceTaXo*JV!Oufp0KT} z!>xB&7aARQo9It=F0Wa;$5j)X(=fKBtv5LhYKFC6eJA)BwZ>zny85O7zI6@a-&ln8 zLF2LorHz$i{9dO!8mb#Jp?&t4L$8*9&!)KTkLxQVHBP8FA!bZwX zC$1xtlqa{pU|8*e#v_V+#E4OT zjwi(7(vGZ$V!mG>tD`=FtRvSqWZ9$*B?GPmVd1ek!0@{$s=gg&_gx>I&W_E$e<7Y+ z5K(_sDS$qH^8rKPSita&*B->#;u88_rMf;Axsguitwh`|=XF8(EVlU^L*PKbu#TN~ zwj8|9X*SENE}$egSAG|3#!^5By}_`$$?RM3+{=QMMid7b`V01GIvvI+&E63R2wQNp zn}sc$*2c&2oUL%!tO4~7wk4n)tpFT)D3<_3R0r=|=}&0KCf!VqIpm|jC(z<~qb-#Q zZxk@2wJZtt%hiN1;J9w_Hzt9B+S-HzVkb8@NIl-+0XLm`=_dDWyDqXB zn&w}0*`hmpYVLH;R9>jKpbgr%Tssmku7 zB4?i;DJ=yE$6)n>a-tiWd=_(RksK=Y6Abz5;b5mLI|>)(FA9o zGzACes-Q@1Vend}5C)iY7*G)}1M%Udge?eW(1HnSXri;yq(~2bXQq`x;Yrz#0k&ke zS%JGlk~lDWC_ny*-Pvc@4#dzy&@`+2PkV%% zOIv<3)+u>drFF184*~^AoZL$_J<;#J>d$8hF1HEz)8d7HT$%mI=(a%Fw_CitukY~T zzCPh-wvU#V(e-YoddEiUO$O~Gr_8a91@$Jc+rpZOpW6;!qTct6s-1GiRv51Kzn!ku z>d;8_q{~ie0yF5Z-59^#vLXATUx*cq!zD=G$XZeu&u5Te*HqWE4IIDJ=3 z;X=s*MnE=AeJ9|E8#P5YEW>Y3>i7+gy{D`72zWgEJ6_;p$$k1u>hqEMJ4WhXT+1`J z2UoHdw1-mEKE?MEYBN#+HGKNk5c-SiJgPNDBrxIO3hq2zQ?Q-Gzn`%I_?VYp&dv2M zvIvf0jiNBnpf1lm=3_A6ApuPS)>4!*8O26GMgpxwaM6T-up7}x$fShgk;qe5v^RIo z>TaB#z4r{2{wUbivuj#sL%^MIIAif88=Zo8VO`(VhtJ#lK)G7`AVbhecjuza-rrB| zo4s>x>$20;IoY}UyhY=kM#Bz+WZSjeUwYHVtw){{#_rt79ybJJr`6`3xa`^N&f)n! zT=yimh90T==dW``)l)vNIle^QUoEWPPd=w1q+I0(zj?aa4;5EaZaQsy5FJ4LeF}5{ z$zg##sP#GwKG2!Ph}IYe2=jqBViZeEZy;=DiXR5O3_2O25Y~Q9y=cg)D}9l1=&&Xw&3l?g{8))$`(k@{a1p3a{ens7utuI^2=vshxrlD-kY-br`D+hAM=))3(PZ zpyB3*357l{^D%K-(OTUkjEoJ4X>x<^UfmPAA7hlXG?QgK21ybCZk1lxS0Sifv<291 zEjcA#Q%-#E!a(4PJtQIWk)#atL{s*GU*JZt07Zc#S!1%fwV7fXkwZu$LI=?Jii9b& z9N7&))d3Vh8fPHy4GD@Ijl7yD&?%NGuJ_OccYXkIaDN7{Ux?ntALbeUyb?sbz03s# zLfJD@r)GcJGkZS!PFErpG3low5RJ#jCL63{qLHqyaMc*AVNejQp_b+{ucvHN$a_^~ zK+n|6Qz^l#n5WiWi;#UEURyWC?C}74{5m0i9bm^jS=(82np)-?!p5j&Hj8-6#y5q$ z-cZx{GVhaJT^!E3OK(B$?9)Oq;h*nmgonr@l}$~5ny#*74^BUz-dtT@>WZ;S_3r_} zQNaQi9BKB}jHzND-dA1Yeacj3_qnU%q4vw$L-Baogt=3ig3Ri*h;4T_HQn8u6~D8% zu3dIGR>z7KUO$}07IDA zm>ULZ#zLtQpB=zl`Xly=k@2w#_&57?*Xi!kJ;wQT>Y(diU_s7c9> zJt9NLo6(QTdY?<&%(7s~gGuhxX6Ia@TxNd)1c%NSn z1vg!?!9F%t+BbteRT}T^ikFtgySn40Y{9CQ#s-^l6%*Z|a#r=PT|QRt>uzZ1KDuU2 z_UG&)_39e07-r|Hmy8d@CawADtYBN~ud`dnC6l4WwkC7cwB?%@#G0C73m(O(B@{A= zKYo4MwAZI+m;dFW_8z_0tM6&w{t;apJRSqCB|8-3|G^xy4{cteem4EFg?KyO^H>jM zvPiWhJ7a++c1XQBBKT_Aev;X1adZCx?O6i7i}=MPVM!{DFhM1no>Vgi=FJObSSzE4 z!cz06q4?jt9&?tl`>Ym||8Lbn@fQ|L_G8v#F`IpVs|l!&x&>B}_z$1B(XGyIsHAWY znA8qOJ=@^)4xPoaU-h^g^}_jK@kTQ7$?aFf|5I6D)sIC2%qiC(coF8shYu$ie*)ue ze%G2{U`NRIn<&=&^cNmI;H`MZjd~?#3I1s@KF{obqiu%g9@l{o^DS=Z{*u!j)-EktzHk%L~ zUeueNeuutfbuxAHnCfe9zB#!P8?xVF){CM-QK}``94{Bxq4Q=lI*@*(t$ z0*llTSuC3*FY_i0Esz=DU(#!`f?@wi{if=Z>r@~3asMrB8H6RvvkTcW)vbP8ZeWX4 zzxps+&i<@^TXl<*)K}C$u*vFs=c>O<uva_OepgZ3^mp(p%~u)K{5Z{k!@f>W^5N zctHJ;`gb-C%!>u<(kED#4A{XPx$+SHa}?%+(O6P8P)JhxL-2PKS-#1p!TbB=d;5nL zMMOs=yP`{Yvn%^wn}ki9e$C!VtI_NeVz`$Lz%L_RchA@F7J^6AM{gFM+M7MOSKOPu ztXH`F#C^w(VO);r;56Hd1-i|6n#b*T>ceqoYd9adu&Oc+x`?PF5k{oi7$_HEV@K2z zymA4)N+`DI{|3bN<-4D@&N)YxIVoqR5q@8N=Kc5COtz?XZfomYb%y==nU^drYn>b!5Ctr?PZ$sZJGC4(Lx<*GmYK3@9};69v2?xCz*86!x1fq z9-^Oe{|eU+0lSwM-%%oRlZiDYBcsgabpN8BFSM>vThx{{TLd#395z2-=dkJ; zUPumj_0A`QOXa%S$dG#HKaV)PHrXJUqTZlMEURp*D&K#c?PX)`>TojQ>yzh(U5ggE z+}3v2ww-mQmrPrgHX82`E)7LZ#9*S)OrYMVHZ2*%Ix2 z-f6n^R()lg_{@W9puD-%bs!$vZY>)VYBn{#u=iUtgZ1U*4oibOw!C4kr;~&cIo+d? zul5rmlh}%uY=)i|^mJ>IyR&mweFZIu_7x~{W-C@zr5Q1cK^!y+OU~frPEZqXZ04#L0$|tY}D-NPT^J>z!>2 zLk;VdDSg7vTYSmLjc%I1lCVSm>+G7BEY6w@(XH|*G{ zSt~)o`-!M-5J4aV2N@%gOd!0FRFIBn|vW}Drt z-eWVGJOi3H9hf$!nudR8+Nmhg011-@!@NC3DA2QVhVsnWtq@_vVUsn7Lgo{)!})lf zHnxUxXX|Z}q6~&9Cutz=WXN1iJCP;&D8)pBPR#N=xfBTp2pd7-lFF5XXBc!;f}%nR z1Ca6zjC^CAo!5Zpsbiu(lgpE2dZaZQmR3Pl1Nu#$p&}HOO1KhD0hr0cDxiUoC%PDR zz2y;b(?1FUenyXAUfrc`fgeIi%?Q>s#3O>1`S`d7)!ab-ztxcdp zi(oNgfzqrSy+Qa-h~$kCFl>tV#u zT0yo>Sj8|%X=Z5eLYl_j3H$wFA3GlQ`NIC8!J3ZtWgQ*Tf>iySj%6K(I%;b=*zAUs z@a=8sq4nu=XBezD!_2jBtet7FSqQn zIF@m`p^X#2_+Y@)f(;Nc7NdxOl%T-$NRFKpzZ*Diiyv-9$byI~Y_VA7@fF$z4H|Dx5g*3@-my-zW{NS^+s=4LU=S;5ULvFYRU7E$thNp8*A(h3CX5s zqQ~5@=c+ot#VX*Ndavjg1ef4*RI#r4+51F`-Xy>#L9~eMYl6w8mrb%>5bZT?ljVD6 ztEdNv0*uOqR@o*xU>7I~%q&O{-x-#ny*Sp3}O21M?Rd(O98C84<|F{P!iYQi+&Y*nsLu5^Ihu$V)k)=GECZL$l#xZCMb z%xz~?w@;eYGR~3+M_}0ce(?P zl902^TxqD4$DQx-Ouql3YC)>Mv?0+^0b7X9MdejK@03cTh{%+U%}ktHqQF-^C6`xw zO``FD0}P~L0z_&PDjancf@m?ZGR0TUYN{lM-RfudpltLzU;yJ{R+GzQ*P|q&zCuzY zP@pguLKr`*Q*oFilK?v&y$CF+j-b`jSz!_lC6mW>m+2px;ND~mcq=BCmMTz-PuXY< zOa5z2j)rQ{(LTN*&~0=Yh5whf_W+NhI=_eaPTAgjUu|FYx>|LuiX}^yT;wh{;oiU% z_p&Z@Y`}m`FN5C~v?rUXJU2@qOB4H#QH{+~N5*}@@#Jm2%V%+B2D zcW!yhdC$u$WMz8Y@Q7Sm;An!nZCaUSSuojY3}>m>9D|bq{)XtxPsx!lnpMKJ$>l0=VE#0Q${LhbVQ?(avB~M5H(A<6VIs~Hmen|XCr57cj;wDg~y7PjIZR* zau8CZLCaPfRJMsKeNi~1P;*LSAkgMF^Q=afBekooDqXYIppZJ`(kv}2%`0n&8lEg` z4=C(+1ET{^|A%kM#z zXK7m|9Wcfc3=~;>1jcJfX#rU|Ppz!j;7pMyJxd%-z##=(QTY&BIZl!@lVSAb*KE2t zsC)F&?X{LH;g7;@GHGHi9oIy36f@s3g3 zRt#I$TBG}b-9;4UrV$&5Ij9vP)Y;Np6VLT3k-c!=P<<;z&y-p^C+_T2?PjhnuA3&) zZg_w4iMx50MTey|GHd-~Qvv|JOonzEpncEx-PZbcYu(#|MF)Yep>~>mY?NK)j*MDlofYp2?IA zdWFjqQYB^@4u{F4kONMK_E=?Xxs$LThk3UpU19S{Nzmr?e_{2qb`9sV2yanqH0d@5 zKGJp8aZ;((RpJ-E(g5Ey-P)#3bab(6W+bgQb9J5E$fs<9fcfNuxIvFo=h1Dgwcy+w zPuTU(HesXi2ZPm;XEiGog3BROSUdQwi5UwQ_J3+1m1G-UYluB@01JOMr|AGf`7CDG z0ig`8Ee4)kL6qbPGy~CNdwL7bt`jNhr{b~f<0Mqx@25+$lS$DH(Vxp|&m0t?&qQTw z7?k*9V*W>p{DU=}4O&dJVTtJY(^>`^lPL~F6O|IFf&j!DWck6E9}tqnNz(gl(B;1+U04#Mx7H@PM!jr;8}`p8X5AFzRgZ z`H&lBbVagpDgs^cAL}3%1zD$XOne$PNmH;OFF;TKQt?TS2u1Xly;A5E%X>i&LS8)c z94WDnS|omqYiN=XeK3B}x+|c@HmfZ(WQ<~YG9AvJ!q|jbd#I*5WUrl&T>ys=H|eYa z=2P;fwY|sZguD`qxdX)M>uI;{{E0Cl55B`!K{}wLHeN|4VH*YnBfJf$tm5E77<2U`gq>@HG1qNC7Hcyb!M;d687pf$B(PUZ=T|xM7)L(EmRVw z;~E{-q~ZvOOr2pdE3KGuy*wmJ%9P@R0*A2yuAhIFS3E2{e{lXEPa&La>y?-W>-8zjMwKGjQ$BzcAdCp)p^-It?U!LP5Hxpchm^Keq$?$57$5a!Z+()BJRD{ z6WgCQN}23z-^iC&TytVqsnMs6p-*RQ(ixw2F8vzfP=&GB|8F?{vwhrLatNCSGk0hY z#-0-r+MT6XGIxqGf<)4vq(!0^mfU%UhXXyCkz}3fmG;0s&`8l>X!W^JfDuz9HUo@{ zuuFqpp>Uv)!psk76{RqQDF$&!v^n_ECT`}V@{zZoqC)oA7_w~`M~N|5Q|_k zJ;Up>vyh*=Kjn%>HQJW}(v6${w!9Z%lq8ZlF>@K=Ek<&|IT4DB~B~Y_O;v9%9bdID;FI$4}a;O}@l!+Yy zZ67)fU;`NEa8WOT7DH7N_&*q17&?q>qwQXMcFgOOnF<0N*-^sEWbzzvC)kr_vv+i5 zgPm2{O*$B>IAd@{>+WUK><(pc@%$Y%QkK)@5Tn}4^Ln|tOsDsh=f>O`Mru?jc?N+S zjv9?oZ;e0J6*s%IG6n*@)S#6c137i!nnDgDIU_YINmjH(${tUCloc<{sdVK)q-C~s z^SX%F!SQCb+A?8SAq-ab;ILesL&}?2F1w-0Zdb;3_7dq1y_J`mAZv20%2Kk(?Wvhm z?BgJojYahs`X@A7)HA9Qm5P}EkW30FIDr{C1ON{u z1g5dIMr=}b5GjQLE~kiOEsekhAqGW;iWew{c8QDP()f-j!!>b}0<_?aiq6~yI>*3B zi`CdXW~Cg76+JS8SL=N!|F26HjVUaAW#N(;&=GruQ@h?1{-Ra%60++(*a{-;SN={& z3m*yJzP9zU)P6F#y&<2IYIRcSWv>_H=QF%ksji&bymFkwB+s?s!OWBD?KvFpwAYaF z6HB9tl5(fq9jdFlXQI1E?Q^gHxncuVOg#lH7*|HYd$Tnnm)HD6gV_v+Ekb4 zp_-m+TC}!*?8^M?Y`$XK{JN&qk1Sq6xYYg&+mlym)o2Awb#46$jTWSN#;OI(jOptu zaCbaIeUAorw`cR3Q9bDuE~l}?)pf9WSllS}RTN5{AmKP8TP%l##64O+ z<9w~)>KD$L^#-v&PKLdn&JjL-V;0%hPd@a%E}(nDen@49b&%5#O-QsX6;-7Ym_{)3 zVl37&u%3X?ma&!7b)K&CFgV2vcWds-QvlU}1h5qyxV^(mlpUfHjzhVqKa?A?iY8<~>_=ad! zk8dO`rvOwQj>Y9oP2*Ot9wKK_hBC~WVtf!r`yU%(p%oD8e+cg4QUi%h2a{}O5}EG* zZ-HLS&Y#FkWd<|*0G}o#4taLmE^k0-iGxUlg8Xl6I@jpH*%~?tx@JuRJn#pu1 z@%_I=rNM%Y&`YFTCG|8jY9=GAaO%H4EqhwG9gJlaZKg1oi{db>rau>VdE^b)^5%>b8}?cL9itw!Y(Bor%WpI?%Pj4J{j!bwjl?n=A z?##%PqWmuA8zS)5vCxk(#bC(9jFU0xQk5C=7R7TRzMFn&JpLe}gI6mL{C!MbWW0*I zJeV8RWO=t%FK{h(m362pOLR55=AN7W`u2&T{v&qlpQUo)8&gl^+xyG^_=H+E&E8{g zDtj>Tm&AiGOuNYD{?mSBc+fDm!jX{TQ=#IZQaQll|>^G`1^D^SV zM+ZBRqk?)b(96%pKAv6kG#;Gx_9RUJOrL=Ch#REmXQRXa?RfD@|1DZPOH<>K-+Z~L-ZeSdCe_=8y zv$DFgjbD+f$Xn5p?QtF#T$_pgT|@$@QGPJGo8D>TeAt8fg6onA*w0M>p@iDdM_^a=-IIAa==ijmLcDs$P+!j}iuEj;;q_SK-hF(6t&u*(3 zU!LE)pqCz!$h##W9aWv*rYjeIUm+JxEFjgC8ezyBN-_G-vS}?09R$E(jR6BMU5U^@ z(V0P0B}3^eADjeW+@$S6T2jX+!gXXQh=c{DMBthD%*Muwk`k2(;0!J{>|O2$aekt_pC0cNlWBQj*NqU$H3%h)ui z?qoV$6o>@NL$D;;M02ATJ{}%ng;dfcXd{fw1p6fDH854f8 zL_5c+rAD;odO-?4m`z)jE@0QsIP#m%s{3yxi%G|qJ9mC592Bk*4$?J5vvrf&4==v> zL*Z%RPT^^~#-wiB-EW#fR>F=Qt#Nm25b;_CbGzR|l<+O7jV3LT3y%tNHaS?@`}o41 zF$uNZFw7Y~77Aa>jb2bAph2cqyb2hF{`0@kc^4I@JroH*5@Ck{3%HA7J ze{=QfTZrXPG(~C3e0zG=<=@}#yeD$(it9e|@}t3Eyl(l}7SBEY4FhdhBIcb^!*gCl znFlPvfq4vU4akQLkM!yPH0F@Xp4CK5WGsrIY#-Z~%66Yny0cS6LL^vZ{#CoPf547v zDOQeSMJf?e5Ldtea!LXg_#yu@^rU^*gZ%^VuaIC)(1`K^c$#TLNtk$0pons6AR0!$ zLUWQKxeJ{spst%xMbvmTKy*u_|1@&<2(Jsb3$Ne98JRk3nUx!DJ=x2tx%A513Tb^+ z6{A$>`g952ZR_y#^#BMQ;Q?NEWr8Kwqc!wGt6zh&EFKrvp{{ zN~{S=Y!iu^0Jos91XK~^De&WAO?3BQ!NF<=uyq~mg=ar(~#oOa0#k@s$PSzc6DGpZY zT%MiJKfg1}p{soS^vIIw;22}*cuMOjV++=yo`T|dD%z@Ov!(S!t0^oRsA=_x^+YR- zRun2H5=~%|fM4gQs|vMD>7n5f8#?tsN@5RaH1W^l8V#@Kb6(2f^@31PSCF5~CtaD} zHvqx#ExV!o0Lk}Jze|zj2?JMi!xC>^ZcUbx|8oD`UrHT5QaV&bC3|pDTvIB|$&v2% z6%>eP4*a&})c8hn-$b+WaF^U1-Y9%4?aZpl@s?;DwsrU3yUt6`1&HKhr(r4L3qt&ZY~Ue$d;q9YOJv}hM+5p1Omb%T%HEakh-=S^t}!cIW|NCt zvYY;N*Q~sC1sQXeEuA^!svEU*$tdANv&&^(v#x9Tve5*SsoPZk-nva@m)o@7>0Un? z!Atj^ZD6Nk^lh>fKMh(sMon0&1|FKqIv6qslh=z6Ed%72Dy!IIOJsI&k(zNe{r5j` zk_^X6`ZxFWKTWP6!%seNfB&|pQNmWNqVSmX-rpQQ`2bN0Cje~8WfmX!`rCUhuDV6| z?tzm(+(*>4Rl?Uf)zvuzW2UIDP+k<|WI}{Ib%x>RC*r31(n%p}+BT+-9GkW+IrRJX zl4DHYwrN6EI=PMW4E<6fuero2mvA4UMJq5i)7)epXyn;=e>z3@9f-LGcf5hMl*Uci zj^i)l8w{96&a4mrQ~GllC9!c~%TH#{M$B;EW?N3ttH6-F_R*bkE z%xs+9eK>1JJlEyUi3|T4SYbBZx6y2}B_?h-TH3hruKPE(H$8SVQM-|~4Xr_@In|BW zVgnhInnHim#YFuiJF;qqG`&6hB@?p%o1y+ku}Y5rxPFzA>{ANaiBNe-q$cmhZ(g6f}5CD+Sf>5JC1{YNhE(3F0!pqbX3(RwM@_N|c zFzw=ol!l+B7sM0Mdy|AsMx{HQl(76 z$#hO*p?1?0eXP0O(<)bIWm(nM?>D&fvK;|!P?al}G1;T~4{9s&3~cWA(L?15m&fK{ z)~>Hj3O^K`+eU6-gO#NfAS4*o;1-7UNR|0&(@~!?n_WwQKqAZxwyrJL|JM&?c06U%ORPS!-dO@oAf`H*?OVR=v)~F4S5z zN+5)YCd&}E8gy1RrguKlTO10oX1m^K%4>6G=~)DM_>yi%EXJsGuk#kUP6`2@0mFH& z*Y7NFja4Y}-Gp?I88a-Qs4d@6Y3k4^;uG$8HkVZ>6{d2Ts(+j_*H>Op!RM>kkox{2 z;Rsw5Iu&f8xr|1}tTY4tlHM>@EiDGFo?bbl;~Fu({1Z6Pa>+DgRgwURk+FuLorv&p zv=R76sC6XM%S1>W=qad%1G_wM3Sh6nDM0zsc0|E!6pSFE;zY!kd0?&wr8l1tn`~l0 zKjN<7P2T10Tav&7>10G6STwUFdt$Ckoo6!J;)Qlku~Vxs*jOESa`jr1$`w?}mAukM zx|OzkuRpal^rsm`;TczAm!Ag(3+p`9y^Z2s;Xjy+&E`xnc2|LnIxpPt&XsPg6uUf-7ft7w~JT& zfw+4o-?d@ch@?j;51V6l_vA4*Mm!^38vC%}t2Q0LXa*LS0U5%JS+ZNQ2IGMa4z4Ku z1XMXlM4({XWT3mXmejMX4KfvQpFUQG=p6zh1P(#hx0TaeK{z8y&FKjo3kEhe;iDcE zfcF9NrmRd+z#75I#zyOzI${$C4z8egkGJ98@%p80)mt99&dA=tEGF*_>L9oaR=CWYsR-P*G_o6S+z$z#(P~a{(6#ymX0~h z+zw|!lNvkPaUB%ja-FB?(Fv**Bgd~HFZW*OO%_;My4Q{$zEnTq*A43HRN?uNFg=hl z(mS>Jp)!boM~Ci|rMz6Z8QFl};xW z+VC;%K?kAOOY{Zm7ozQ4hK7!RFs`B9d6c9mQ-&9ZPv@IOdauhoi;5;SiiX_ zWHK;M)?aq=IP-A2oqKccL$m)pH~*+mz|;ySZZ3~)-BsluH|nc;xl+!#{ao9QcRBNG&Y@@wdtJbh8!GYyZ)Aw zzW!rQ{z;Ot{z+k{O^#r%wLyJLxwd z^XJOJx5eNf7|~5`*>4^z8HR_EXsbFq6_{Qh=&*U_cl%k zwM=iU2Q-PXbe70@^dA>Q@*j7JJAQ6|4-hly6bGu#Guf4I3#=NJmMq+jRMnDLMGTM8 z6FZqoQTr`j5OI0-s_>JgLyrB~1ISJSSW>S5iIM8Fd`kT8G)kmiG74kB5_qw%knBSo z@oyzBOWuPdb_$`9K7a)3Pq%~9W`D>*IUiM@0O!f@)4ww;cr6QD5gESP1B%!6;MicH!*-Y@P77+wB?U{(vm~ z0JN-bp*I7tds}$B|2Yv_ml9GUw621L=mG8zKA?tYOyL8Y$OA*gF20al| zE!BG;U}OpgXwsPQkfX7WgsEmUAWlI(Q%5G%c5JA@ zvU7cnaQC>*j%_XCf?T?a7#|JPH|92fQQw$ue`M)hN67HnNs*fMopiZ@%w_PtA1jc&hb32b{w#B}vxOro)&kk4QYrL#`LlzCOWDbu%nMm`flvZfG|KV$j$ z-FNRE&whE;GvWRhXt!eH;b*Q&eRI=I-{8}UJ`2g|xFh(1d6<`@`9woMA|kP%%i+S5 zK1F0WhSZW`Qt4EZc`V(MZsAXaeCedS(Vb5ELclEaS@QrmjTB5H)0hpPEE5EQNlSt? z21ITlh|EwEWF@giEs@COAQx(+_op}^iJXqHgKDa5asPlpLpVlbgj@6s?#6S zYL9`li=n^zx)AA&B=wJxE3xcTD*N=wh_LiAeKO-y5#$mc`A=Xw@xj(!AZfrCg?F2! z%%%|*5?(3e55O%Be>hdJWqz|Y>@NYc35+My#uxNsQ%rG0cZ281FRKs`l-S?BR7$Qh z-dVrO@Xl=E(CcZ!zjWz~bC~pbD^8Y^*o%J<{*O3DPI*%37d~UUCSH7g{XNT97LQ$? zYDwS3-Mc~fzXjb-ryofsKuafo;|MWb{O%5q#oGdD3s3+{Gu!C$mzxRqo(e`nj_uaPooI_7+V3f_n$&KXNEvegYzVOAmOI2;f z%Txl_vJgS~zx%NlOt`B5A1jvKoKv>6a#W5%cB9YQE}Ng#F-&RRe*ZmNFS`A= zffzY&T}2~NcH;d+T}$M2l)?WJg&c4iEkTi+0V>Z^9RNlas=*@uckms`6J|+}MwkVl zE*N-dTsD!&Rw6C9;`uACcs{*j*L;_2erJQvcU_02%bc~Ubv}FK!A+YVd~oxo2X_nq zIxLJ(Kec`BV~&r=1*4{GtdwIw_4r|;;(YY{D^5OnWS2C@x2K~s>682AHEryBn;yjZ z4?M8>3E?~8cUvB~Zsk;R?@dJv+4DFYRsX`H578avc%LRj22up7SnVaEaV$dP+@Mb2 zq4CIrhOkSI?M#gOW_%ee~$=YyOXUUtta- z@3Q5iMlTbdyK_ZVk=cxE)U2`ldFI@H5%zHXu&HYiR*LHY$S&l*@|^Pwk?pbS!QI|E{fuLT9l>Vn41g5I@&W>ri?f&GFo z2Mvui(Ha1iNH}VO&gaA?EjuED!@2g}wMSvNZckt@^ zbBcT{_aqY7%7ddWm!=M@i%rJXYvdmtmEHZ<%5=2wE#Ya?`{vOxdvUPHUc~Hq)u^&+ zVxd}piz@JUQn_L0+rqRxfv#aS1_Qa)SFTn?$r9m8tB0)&yDHj4Q)OzVO1NO^@T(S# zL(0QB&KiTUe&dAnr^5A~AR?Oh+sP8L@Ls*u%05spT>iM4%=WoC#%#@Vlnc)Y*M>(1 z%>k=bX=I0!#ZUiZtZ{s3P3^i(18oF$Y@`P&pb7q@ zvO&%Rinll&IO>Nvk;2BP83HY%nxOt@^RQ6}1388?OVhV+Wsgs0?25ERVP|+&EE0^` z9;D*zmtfJOHEx^cUSPX*CM%hFt8IaM+BUL@o;Mw^gE?}ONuG9OHsL}9goCExOl6k9 zcBF9hZPPbzo-Rz=Cbo417-4=XMb6q`w5^}k)dn8)rye-Nvy7(}Gh*3HgK@Lu%)3+n z3oI%!*v)_P(IJ#lCcqSZfges}9(VST_vZX!8Iyu_9WRljFOkeF&%DGjD#;zAuOeiL z)kL;tDxm*yaTD@D7Ic(j;`>P;SyBFLyqBneU^?`pM<(c}IK9OD2nZ!U*T9lL1{g;P zQHC5spChCsLWwhCBD+2mm(S2;iqgWTOcCcZWEYknl3hS(8+Jq-!Js3u!vGXFx%%`X z1GZyXL7}pT{gaax|rmpxnPf6C{R0 zTib|2S=j5#k%yaW)!9?dat0A=*X;8^v`SQ&KeDAp3DgrAcLuh@xA;PZBR zg`=d<4p03_tdo51mGomi;T*5W zBR30JjLniAk}JV|c8{b_@+!PN3ED$3pu<0a5gVJRMq0Nr)(md5j3YKqt%Cs={mM&V zt(QUujwTQ>MqnxgM4FbD0^omUM`j%X;ov|kMM@GAVteUvCTv*~XK!V8i8e-rGO=_w zoddypK}UkYEyU(oO|oKfA7hGR%Au_RIi%5mMX8P!NNn^DF#hO?MyUXe5YZ^CBuAyz zAaoLmQ4tEOMf%#4pPP{;jWHM)?Ifp@kt=LAg`7AKI~*z{W3ezw)pVPUQEMy~jk*Wh zTB*WpR!FsEi}0SsqLk?wqmj|el+#Tnl^ko>maAr>%xuC2=oZxEl4o@~9aI9XR%h1D z(rWcqJyENP-l}^|YjhfkRH_Dq0Csag*5}@Ne*Zr;M)&xhr-|1PuRQ|g&-ss8aV zHQ)cOM)PgI#`o!W$Vm6yr&5JrWzH40eATw{n%~Tk@(&l_f~OwphL< zCqVa}HZY$G%oj?XR`mrDRG?uJ%%7|Dde!ITbG2SC$p5Y}8a2z$XEq>ISjNkZ>1)ov zgE4B@ZHNjMe(1B_iMB^&AdI3IXEcx*Chj7 zB70ZAgoM~V!p$$OCVPKo`w;0RGhZ4!{v}p2VcgvrJjUJQ`tKgHL2`y{a5*?8l{pSS zVw`E_9ZV7@{DRZbcUGeBT!b+Rqb4RXao8LXXKXTqpXO606l_ghxNxwE%@d7RW#3 z3UEXjf7lI6*9ic+0Pae`^tPR>QL2SMsL3oEYnGOP$E&ou>S`~7xQVo(=)(GU4qQK3 zr?C@W$tk9f*D9E@M03cl(WrbDVpAIxG#Fl;5L{*BOWVj61YAL>qYM>lvf-j@87tpW z>ZJvtU!o^7M2?;aC>6H~*pz?_@A_f43oiSGu}SQ@oNif|jUiqc=UP!8 z=>_F32*pk3PFPZ*vcpA%CN-p;Wxmn4U-oTG7E0BO+K-oF$b+b15-I&yI4^>TevPA| z*`O%f1ySQ{Y5ZqvdO^$W`%*F%#Lt9hQ~Pdj5nk<{#WM`}1&EZna`}}EkJxL5;b(RK zf@)(^i_(k8hi0cS63J zs|Oki5QJx-ntFo~>>H%pY^E}xqM$b5MkoYvA@~kW?9WyLsNftU=J84%FU=uI1-qz& z1e^PwZW2CepU0^YenL2@YGH@)Zu1jQ{eo)vbm78VWF|Q$<=}w5W#K|%AkIaL_Q^~f zi|eTOp-#ROKBVnH#1e_)P3HY8s08{;dZ}0gP%Po!hLQr;BV~334uMWAl-Bd--#Lr4 zPP?Qdr)gAseNmTiQDw`*c6`PC1Bk z|3&YFAt(-S5J%N3gxme>D{!fPNgp+SjP6|uarzfLH$e)iK6*+D$1m-L*m8QjAGFH^ z!4#H29_}tYGe9>0-gpLnEkFNVf|O((Fhz0>mN{pkLJV{|+nAL!+nm@Nc5q(1;$0 zM^XlI4futW(0Z&+Dmx`;z%>=+F$`--08{c%b07caoO2rfcx&P4E_cI%*(-V`x`@j; zY3;gE`&aF}^~k{oo~)8NnyMR&zN(UV^8aqFW1e}|cCqmFEzbNRLwxxa?}InfKOla<+Aw3N@!C?SkfJo8^8o_ zI-fw6;_#rs8M>Q+4?{*lf6ip$gGD1_2)F*3nIb$OJoLNYv87o1MtGo;=rMVHc^Mg* zzJq)5cfvzNlfHv34fMZg$+Pso7znVXSU~|SIp>ji?}fH(>3^H-I{4m&4?q0ywD-t7 z&`*A`g)pImWS4M#Zu;G9Tl!s%h6&iR8RREo0+8h2rQ~oF4^Cf%UjrF-Vx~<}RSZ*I zE(2MIVn4)+wu!iV_&KCBJ7WozHtAvFJ})oAL?hICnfWHzmC33lUvkOkcX2xQWGg~> z@BaL}sp{L$pV2vjL?679*l!~z{`9L2m(0`GtD8C#ot^Q#F%1oEW0p0nz3W%&ub4Tl zv7>Bsdu8sZhQ_w8CH3p>X8H^MuC2*;raREK{(9zN$DD5BT3H_a=?1Nud0!pn*^pUZupA z00^Tj5tSm3ES7<&%$QX!=9c9_0)sU3X6E^ShyF8t!uA7Cb=}?d)XA@&a=V}EW*W(c zOu_RclPZ>-{Zx1NQ$Vf%1X5Uw9d3Fmy}|)ud-_SSfJENUoGgFpK<0AjCt1h|evE%Z z;>VXe18_1@Fu#N{v}Dy$lYcahh+FBgOa3nO3B5w!-!FNJjDG1I;T;eXh*@fdciwr4 zjDCtq-A8v`@^_NF?=`aGOWz0iLhnbEgMcy@d_;QkKk$7ipcWA}i23ZFsLEMr>E*^m zNiljMCxS`D0CtQRk`;cwZFtH2PC&AwZk-Esg4y{wTFw0ENVACmqI*lPKgx2}QEvCVye^Z; z7cdw4Cy!~hT58(tTvkqTwpOE+DP#Ggikowbz?sCpE1Y-gkZ|y`3z*$+64-JWdFkBM z*Ij#OYe`h^Gw4gVEuZc6IEwvFsdR;*#pxI9Sj47n+C_64wj)Xcy{3t;pT-^ zp1g)@-ZnI(|2o#{s+>8q(rfAp^75*M!p%o28Vqk=(~!6B6Rq}RU(=z=?xM1(WkubU zhnjpJYqg*F8xK`aD#}}&S2U^mP@|C3P(crm1S=Pk9!@{A(q$bR3U-;imDb8&gx;j0 z;T429XfFCd_&s7}e*eKm7kxl#5W7Zh_&9LS%OJK_PssaKWeGE7bk2mF(NjBbZ8CnPRDNY_y0vqvSTwEU)@I|E zO68Zv=36_MNF$?~kh8xcr^0{F%jpBc+=KqI8uz?&m(F%qRQMx)?AV_(LB-(KX^Hq` zc*ZkN%k29pbUyV*rbJ(s3^CW0uoy3ptf1(|FpOf9QHdS+wI<@yAcjwBu(VmQ6c=8m z6b?EH45R20DOnSoM;S*<`PnH@ znU-mbX3h<@cXoy%caE$qshO~gkdgW$q6rpc|}mM zfW4fn2@zHg?ak<`h$MyQiiQ`Lv=lS5hhmgJXsl0?YsZi4E)8$=c$QBnnXh9F&2c*$ zo}1qk)E{n2YI&bMPp&&}lpO)v=eQDNTY=41B&;b>thIE#&z#?7w)+at2l>OB;qvN; zop}qqD&bJPd~C*5L)|+2Gh=x(#-YO)hiLs$8|GplsgTtp7@+wT*fLZpU7J+vUEW}w38eItqmZNf`rIh|C45G*4gvtuv2ThuDXc4 z_`F(~o4xr#n>-TrA-kYAe{7|2#8J7Z{f-(gd;Ga>&c1)lWrqs;pUj`koHIS(pOU_D z^8LS$#%g*dRg)QD^LVnOJea-VNlv(W8>d}4abi{VBvc^g{(<%>=A~8;kSobx+W^dd z&`(FbE}}m!n<$swWH;yBxQ58)FmSG&`4)_se1oQtH6u;oagR#y4*UV% z$RlzEQQ?Bxx~KCmCdnIwnIbM2*apCK_K0`0o;qZC^gB zrnD~peLitnc+7HIOQfYaR@=5i$KjSiQ`sTL}ZLR4Z5zHCAtN>{bMsjN!6PEI-ku9@ESMg(;v}J0-^JMuS7w0b5 znX@cD7-?=8W)2tRaCYfAMyrX35sT!5f6!STjzv9;6_lBvK768%HD@<*NHttQXnIdk z?y7^F`IN{L?uU%rCUVHqK1zo@akLs-EoXkZnBZUz#7i_Tpn#3a5+TYeLYd_#dc{U1 z(h#`k#S*5uBs;gUF*loal*U~7`L0;$=f#;4=AN=BEs2&1-}$2Zg%57C1^v#VI#-t> zJzRMAY0~-3eWdazv*eQV6Mxve+y^*iS4kA#R|fn- zu&3e;qG3vLMn`=l-=NG{P!dW@q#yXDaL&2329-vr{@Uo%C`>lC=j2i0{4mP|q$wR{ zgn!v%CnO%Y0uBjp+Bjf5$TTk4KkHU)cFe@~QB_pz^SCGfJ*?JQKf0@!=#AcW;GQ7N zoi;maX8SBB zw0v&=GnX)%`~NoZ44HYcOdJ!a{DCi*(Pc}iWH`|I(H=k{g-Q{v<}ma?m=r%QWf!J} z8H0%E83q-u1cZqn?7c^L{#>B=FH!3BvbI-O&wt|5F=H-$V*bp7Etk-A)B;d}v8Z?J zB4WCFFCq`qCkDZL$3!R|>lU7)++0^}S32aEDj4OA`8fRuuF~3gDH32)EFsOzy=Bgl zbuV3)$8@b(Z6hmq6?u zdXVtQzxf91Fn&M9rzk%aFfXVsQ6;NGq(q#$=}<**)WJ{ZWib+A-;a)nqTVnf6_5cn z4t)>}4PzEXog;w~#$Z1ki{Lk<(qh}xw}&MofCb9!BjRB5?P=tIsR5L1!lWmvIA=!w|rhUdd}Y5$nj z@Zd2XuQLzdk4WtBzY3^hY>D1*R4J-QL@7{T4h1Gs&|F;1!b2qrcn-4Ri{yl`y@Yd0 z*^pzgBXmX3x!4)Jdgi9aQKc`rW~P=gL~>^9sMO=stc>u zp1E|DPH z1|+>G%%}<4&@;lb7~m`>2842kdFnKRX;3oaB^xJ=tNn^$zN#HJY2(KGHZfn-jm65O zv2|Y|sE=$MDk`P#+f=niuhp-qLb%_?NizMK%8mDJtX!j)P1?vF8!9)6SVmEIG{8bp z2aE9}WF=dHrxwk=qJ>vZKCOv%Yh zo)At7f2FjnBAx2PwiC{psVaa#f^a&N&m&A4FlmWM^^S9%ZFIKlfmIcYLA zle~cwab?#R3c6H?C69~O?j5+5(Ku}I{&=DcPF1X14!C@Ld06RKKXaA|hyZ9WLm+u1 zYU9HRsSL0LRFN&gn`8*8j+(;EIWTVc&J}Lr|J??}oqO%vFY7Pd{Y6}OUwA+M#qNvh zzMOllm$Y2A^8D}4UwIj6VU8R*BHYKNenP=LIsAo_?BrvlN&QmChJE`sbiAY%o;Ws{ zJ^8}+nDF|rXml9KiJ>Kc>Yu7U7@IPDQ1zHiY1R;GVYn5!>kiY=A@hYZ6D5!jXKm9F zjgDUbX@8jR^5dZ3&mH;m`~C4Uo)bA9>NwaLyc_};espuXotf1sT)&St6D)?TGRdDT zPCw<2Figb7ochV#|KTi>N(;hPVQX42l#brCNgD1 zvWp5s5{;f&-4$_d+2V?%|A$k^r5fdYhRjiF3}qc7I;+Crs?HH`C`>$a*KxQcE=)hS z=pzx^E@g3}=pCRZL~ZT#1ON~Xut5lx&eUcc*{uON08|U3d`6q&Pp<)B?F42E1NRRy zJM%GAHH^}96C?Sr?6UqhDb*1YaDnW1aE>TLszQtvMYxNSj>v)_3QAO@Im7ql1+=foE6>vkVT=e zML-E2DW}+g0qxjgNR(UI1)Cq(jDO_2P2H0>Z=T$}>HXxWlfN2Uojavei`8=j+%dd!-BCV*E({dFq=jrOQYQES*I7_41O!tkCj<#5M2QaG8ryvdqK7=gu9TZr8csspKTHAy4i_ol!q6 z<&!|m64QwpObHr;Z$XeC@yn?D)x@T*VtiL!l|DIvw7dzSd8F_dSYno+%Z(I9k_YJj zv|M0aC;$HDo7~;~Dq$pkFC_j<8=icM@OSfRWQ@v%95YffhmKT`I%QJSENWZSf?);l z!poo|oEX;_!8Rr%>f(a^n0^QrUm-z17`_DZ-=T;mxdE-G&1&Sa35xRsy&xnq5mJN0 zK!wb!qvfZ98jkQ>%^p&%D|XmjyV>G3!aoc_lNykvoS^23*1T~x2U{uIUmA95?=I9L z*Jlw~^}!~T5!peeSTkrd+Vf# zRppW?oSGxi$X>^L&`5?#8hsNQ=(QGe0tSE&-C`W$&(dQ$TdnBh+>We?VZv27Gv#S`x zZY2OyBt_P2SMC;6st1M5LWQvTL6yp|2gJf0<7BwUm3uT-o3rxrvdkMw@MpJCqwJhC zsZ*&j?k0Nqf?0WWb$PpuYUTD_yS6LUDAXx#+PCi}1wHVwKmF-3dLTu?Q9A&nV6oSo z@k-UhPdpYrmPL~F=$s-#*jh4}6K)VM{Y!r-HzX`A;+Gyg=WM=6{lGoW=DZ`R5fm3e zUJ!qT%nyqa{2SQ%$wGES$NUcb69&&849DX!S%_!9&{1|m^t$s{#zpXjSU!ThAZ`em zpMkBPEKH+)mURqx;F(k6X~?W8PDi4?A>1LBv62%KdYqIl(To)^r+k4rkHRibtuKrp z+A+}kFuI9BP}DF9=o3}v!~q124L~~#QGm2Yp#;K80}BN8x{HW(2&G>btrLYno+H9@ z35Jh4PFn1&B4`XL_{g>k=KW^r+_+su5K}zr`hwB#F1xI|d$y4oOH{&}z~X<*=X;n5 zfz3sWma*%`tr432PLpt_&gu7BDvm9EuOiIYq6=p1X{ncj7rFYuMO!}UiUBs)BTs*) z1o`Z5JrSoV`*u2pM+f-Tl<-D7;B|slWs{gddl4xwg@uU$RM2QL(h>#HgZf$A;YVLG zl0$wIQT7Opo4-^W&Ft;P9i#4#aYx_(jN}G|+H66>&7adGyzLmnne=3yCCIN}dz^55 z%q53NnLa4o_=l&E4%Pk62f{t%3gK|tBrIdDXQSypVUnQ#)ZYSK&Dbq7n*`JDF?m)27D?iLX(kMOA%T@ zfiG0Ffqf_p6^<=Uz=~9Qb}N=Wa;dfq39?xAiLF(tr0^|+?3lV+4bD}=FZvDP!*|ZV zleuo#==FO+)Lay)iB4#-+S-?Fy@|QJIIp+>9J{11)nNVZ*TGkL-3_oO9~YaG97`l8 z*{J|YePRu82%1q-h4#rUt33k4Y)Nlow(4E0rq3O23t7Bbe$|x$vS#+eW=Ftc^%IBu z#`5&R9&0=M)JgGTyx2DFr|X7BOXMQjAPG%>5=Me~z-OXC8J2#zo#gSvuEokmLq13>Ks;moLJ;z3yyYjIm? zg0+BGvYJ>*qa~#P6T$wBIE>PGX-G8vh!q|}3>8NeL~*NpU@c$^L@~tDK^DVraY>x& z?bc$O#cGkc2@KvrDU$WVlNFHR@nrPQ)cb{S2>N5OmC_7h^vhB+a6Q4DaVe_5(lU!# zw4+1&r_Wz*i%LbWS3HQz&{u#fCNW?^PSAZ(dZ*GecfnPx^t#xIhor9}Uia*q{^*2( zor4b~3k1>VM86!(%Z+PMc6V6DU}B5XdIGL@P}a@}*xZcN_4A&%c+8lK56{0owQc&0 z+cr&|vU&5AsnfR3n7%D_{rtmp-xKq$XXeNZGSNw8Bf?kHe2W-ikXB#O|-cKR7uZ5(TT(GVQ1;IKD*BA^?N;j z@0}ix!ATR1xOEQ{YHbdiSq;J%Z=uHSbC@*_zsJ8-uF;r^io9-jp=FLI67~A6TB9W( zn-kh*Q+vJO4pAtKQNPEeH5!aIo6)4#n%(}Fki*jDi6SSb_5z#QlcAS z@#%&1i23tyME{#Ci!?+UvreNCDv`Mgsb5hG8a^*#cNk6fiCMnPiX-Hp+aBztPl4Oh zyHn6D*0IHn$3DB=tiNbPC^UlpZ*J0?V|6jJJs@Q`rA}qn+Rc8tYS7vYi29IOYhBsd zuG*5FF<(~HWYziASy7zd5#-z)PSo2q#2&G$?fT0GFSTxP_hrrNTFu!t*=E!SBi0Cg z2=SRH$2YzncHm7u96A(;d=Z&(Qi-??nsK-hIGvf`4q1jA~oib#XKO7tb8)6w1$r@c;e$bb_`&F~Ni2jzvZn2Fw$ zz~B)d_)khjggJGS~kwcJ`S$EEhn$FG)b)C?Be?Rg4{?f);@1;dk*(~!#;TB_6ue~koujG{(Beh zUbt{KVXkcLp4__g$fK)QtXTahxoGr)j=G9-8WhCenK&*7rYIphp6F!0FZDa$cKI}A zbC$PH6CR9|P9~in$MVcdqgHQm<%JWmV76W(Ra?!jyjZd}yEEKSQq&abG|$;JC;bSc zi%r_Ko|C*fHU5MMZZ-d!_K;<@%9@Wx|6OFrky`ijgBLxNotf;yC;P z19KdM9L-wjp>Ck8BG5)h!T0r&0%+sf$hTN2Lv zkjxKXirD2~To#O4g3+K1RK6xdDPT%wEeGp9$`BglwrgN{jB|EL-iaRh)`YmW(^uJ7uLBa*m(&$7XGI-Ke zN;nA09{>_C7UNiom=;}hVi~*+tXPQjh2p-!$Alh2G7T7~LDWZk#B@Y`_||eS0j5c8 z+}MXS8)x<*jNC9-9f5cm&Im-bpfa@rDJ#}aeD&mfrlGy%ww*gk?W`wa$f&eubjT!agn2CWzTsF$9FQLv-MyCyzdwe%0(XgSv}M>Fy@F$&>plh^`XnrC<3lF=|wT zxwE#mprEjD7ST?yA%cmit*xpe>+d> ze4^cc(iT%F0-o}GzhxHDd0~0Nw%;391a(%WY$gC>p7cuGwE}l#_6uJTU3%q&Du-Sv z1BNQ6(xHc+GOV2wta51Ju2zM;w9pK?-$vo<7hb5Tx!}@jjIK(9#}tXZhOa3(4AZCt zeR8mWs=yNvM86y>IS;5hz*qP;0}qHi0D~PqBaSeil!iUQlCV3>8lbEi7?siLw38X7Ay0^wp7>Q~U9X90Kmz9u zGh;-Yf!@kam`UQaU~ zKC^g{E;aY>7jX`w7r}f$FY=D2T_qmcXkvb7<8v^QFe+0lBwIdIEMQiJi?iI}QvaG9 zFIlAGEc-(x;`Yw!xJj5VRhrI|!-jRvUkNW&`eTdRs$1-4wL%XTJcV-aZoPtMmT%{l z$~8)|v|`{C&B}j2h3Jt^>K>w12|Y-kXd!bQUbiuM2zE$ z5%+bOo?z+mdio*1I#~xKh1Nl9@bD{9rvijuq<*AxPY@W|#D%3Lf z|LDW95-oJ%uc7PzKjz*$Fsdr;AD?r})J$)wlbIwl6Vlsc5+KPWKp=z?2qjWO?+|(s zVdyBJ6hQ>RtcW5iifb1!x@%WfU2)a5#9eiDS6yFsbs@=IzMtn#5`yBo@BZFDewoaj z+wVE&p7WfiejXa4W`Z0o=tf#%Y#8W@tEJz+IKR>U~HRPH7}){FA_g z2@RTRpp84qzJ|6Tbl~m%2s1O8`iyqZ5(?E!d*MNCf_fBIp0pN>Y$)^p^{g6c-qdT) z2G|`q!rdp`_EOQ1xd-;oeZW1skI7UsOBvE8XfB>qbJ|9n@GEyp#)N$*zuR$;iHTMl zMb6o*mJJixJe)xE3Q6_4>)`+&0VYGZT=+r_+-_y*&qQ=9TDu^?KY|vD9{9zI3DK(5 zME=Du$arMS#9PPZ2`ya}-Oqi0SJ|R6){pAu>P}GuxC!H>S(E&)JRvc zK(%pLIt!%_Ggh;J!P3mN(C&zQ%b!{2zgdp>O3i+p(=nue_40cDaryCg10&jdx17tO z(^oG`_H-m)1cDqwb`64b;Smyx)_@t0hzGhdMCC4<9`|!TD8jm$rK?L{m%e7ES5xX| zjVv*(Fl`#N^Ymjk_TQ;du2gC}db*#$3;ZWOD(u{Xf?=5$H@|z8nKTK#24ycWnW{7M zAKQD&^LZK7DvgHE{3S1zo_>f1NH&P+M;%Csfl8EPu7x`aIkw>Sb*g?XAd3zsX^HUS z;UC1y6~<^aDLl9k{x&4~;8i-HtfOnX;mQ^KYx5>mteILiZ%SkHXs&4RwL5E-R@LO( zM6u}hNxwS1`A=KMZudb^r4d&kLjbo*jB_XUZm7xw()$Npp75WZModdD;0bDHwr`R1 z_{sVCpn^HUU7WwBZ2nzSn$~Q2(Y)xssf8Q^yiQfaGpCL)?csqTYl$*OC+Z@HVq^XB zOye(GF$~=Qgsvvqt>JX}F)?~g{W!WMD}jH~8i`yrp|6CFShk_1l1@(nOjnF*SpCVK zPZ>c(Klp(l_zKcZz|T@YCZ0yA0EZ^D{lW`$b84Z^U^;j-tpQBvB00=t(w>;jRGNw zHbmPcyBkeUMyN*Dp&<=!4Z*9_kr2sB-A2w*DIcMAtDSr>qu8;Cw5OT*sv9K9fcGOK zSm!4y(a2K=dfsK5;!ihJii?WuI$xqIGc`8d;YdoW%gL@wbJ?B#*wjo{qOWdT^k9m- zk==Ptc1~SdlEaZs=lt{%`6zA(m=DT}5dFZ2(yka(5~#H%rX*T@>g=_aAidv5RVz4Y)D3sGFSTS2r^}yJIAKH`4lg%ntx|R z@g|#cj@ugfX#OhfWp`jJqBtUbHkZ4DSHKDHin0O4ELt|2GH9gHaP!L}3}X%RMu9^v zuS(%Jt&VKN;Q3N&Y~gBXg}t%bWVW+k1Gq)5L#s5@ZkEsLIw^XNABqBodZ8Z+V-=0W zNfK@`WLS{B9Hl>p2R#J6Cms(mA4-IIVD5qlOg);Cpn%vztqY4NIw=`LQ{iB&^7#Wa z7a&uV)>V||WdnY{zt5auLkdb=`8s!>hE*dQPt81kI ziO)fk1BII*_SGJx{lTuOLY^sHz={3|Pb?n%Yie4$M&R<(ilKI}PV{R%0}AWba;7QM zlhO+kSbd)<)y`7?fZ^f#8IR88g^8yYJUP*(>zlFUnxzNtoZYl6N1f{El@=@+k}>b# z?4Dj;?9= zS6nw@ob*rWHR+$@M%;ibXjl5MM&Dm&83`?45etEsp3Zfah6&wn{SbZWiSl#g2s8QF z!b4X)kx8BIv0a|9d#)&qO#jKn1JeLSU&g}PO{iQL9$?_n`%N@9{Doli;kV#$3Nk1^ z#U4_1qX>;tNcxH3ovQtK_!)Q;noSJxssaap?qI9Elad>s5bi2j#ytCs3 za>OCS+>#mBw~`ecHs)WC{zzU^cx+5Je#R3lToHj6;g(tCOO%@6wkpq&GX4R1 zbtJ>0R7-sa=3topyX?tUg83mJE@(3F#$*?KY=Y=`;PXg{F}hsA=r60uXOmHR?c0m~v#F!u!V#*&AI! zFCAz1AzPG%yv`L)O!?wt1!(?ra)UJ3BIHo!{9Yy?_5{>Guyf`FChX$Fc_I zzkl<0r)IOI1!D?xv z|1Xy@#d)U%ppGeWtaJ{l2B)wBCoHNdN?uM*O~xylSFjm1X(4SGMWdi;NKxSuf(5t$ z(yq)xWA3qIH}GW;dPcJn8YKu5f;{oiO;wizg-JCFwS~i3j<8^y&6ATjN8`%xe@W3ZTPIsDF&xo?<=iJvK1bU>vQqQpAR2|98e;? zywn>Lli7c4!^k9)D%NBa68o3AL)UnD;d+hQ!;L5&d5@<^J+vey>4Buo;w7UeC9Ww; z>UC`7uuab)c08w7zw+VUfg^7(8}2hqI@xh>QPckSg{{)#cJ`ZoB^^z5>Wnx}rQ)|t zm9Bv?Y4QiD9p9(jwKLujJIq}-HB>Ae=~c1k&Xe~rE;Db4B|o4OT`5J0Rv@-mt!atz zj@X>-1Cp1zVgT55j#C)|HMfmO@q}V#n`2Twx+XYdZTw(Y`5GfTH>Yk!#zc-pZW=AdnU&ctSGLmPRA#Yl%*st2 zE5@3|99PQ)1!p??$QLg?_qS8cq3YGk^9J=x+wtQaLmvIzOJ(X93s+Gg81?GDFTVN4 zi)CtqLG-vQfkdF``vU)J8+thXfiD0dYXo1A1iUiY;}P;M1b7IG9)w;9FLlWY2N_j$6R}D_C#tuFLyR zQg?8Y>?h+f4n;=rDT>*O1&SreUa?-W86MDk6bIlb(X6-=xcVo7u>QE>DaBdEvx-;o zHejCOiI7E?piCY_R(m?>8YV(eH+fkc1o9v@DE}J~P!EEwJy^lDDl0jm&=M6(WjI1} zhsug1OnxZaJWem}2`>S^DmBPMa~QOGSg}|L3CHQ+J#ajM_k+p-7#qsBCaS65;S<0J2iW7)(J59wVcB6%k{?6%EJ!OsS@Utz_$(y8; zY_=t%V?5*DFrIlzZ{ki!YtM2>w{6Pe9$-Sq>~eHS?^dvtrb=lv8>;ST64@AOhk#MC zHzd7!sHq55P!v@j9C-9X0WZ0+LTk2bC|f@z1F_*7DLz zruI=vvH$QnNO|>oNZOsqiluu5BhEgp6xpgOR(aQlPoGxv0hs4a`qNCWlU_c;dVlqi zTDma!WiF=mlT6^9KFbP?yQEJ)%wpTyIW&YF?FBzULCQyRsUJR;KJU0*`iv#~`OnpC z4l-gG(E_)Pgd|FRRmT4(%sYi_RPEM6;$3%-Z%5%{n>c_iJhrLhpPL>N-gq#SBPHg9 zDzo{9P0z5IZB?7kp52`GFuR8^%q3e+zbL)g1bTBFEEJU4yBB)6py1I-C^!=N&1nNd zCbKBK(G8K1;))gUZ+7rVPAR3Vw7t$6-x$fJPaG&+8+m@w#PTMtSUR>8IWwlE8>A1U z(8^i-@18xi?eGFN_%(Z7r8sxBlq5ZS&Db~Cl-F;l9Je^~taR<5acm>kyS*=)&e>K> zn6*kON8)>1LFFjt>#TO+!OahJ(gx)D`j_ncOO%}4G{JPx7gXF@3{UmqLN~)yN9>Bc zpC>`rSsX-oGVPMHLph6`su_njt$XR&Kiz!upPqdwyjDEi%D68N9r}`S(*JBYcVz9o z&$k{p(E9wnYv-(faNH~R-S=Ja_ctH>=)vYCYu{Y{=JESp5mvRUOUK`Q^Y~KX!uq*$ z+wUr^XJ)0&pP$0-5Nl^v=I{ zJj$bjzVt*|k!cGIjUTvd6KyVeA${ty&7gHGB<#Q1y14zTyV}$4`fA-A?XMQk9G1;8 zp5EWF&#>*jJebfrN6kWh2{r0A9OgK6uv*5?N2oX#x;mx`pR@Uo*GrC8yA6OX273VP`NcBT5$Qr0j?G(M{{P7piqRt*) zN=el73s(VL`SV{oUT6>g%o)xA9Yvu3PritOk*PmT7!2X&#aO|Vk=pG~2a{1WGXR_p zgE>l4UMm$H7b0r$wzikJ{oJv(mqs9+QS`6EILDZbuS@=&Z5%$wIA;~Ut2=)?DwiM7V8y|a2de7gte_wyolz2Y5-{hoV zNoufec(7NxJ*CD7ZahunGQ>M#l7ayb)Ka^pQ*2}^2^dYOPAi<uj~;F1rK7F4-`>hvE3z-Vn_W?n%^t`Kao>fq*aO)WY&#u0N+&ig zJ}Q*7oyn@G$P)Y0@>jpY5>F&PG#&KoJ^YRX^+K*%Ss=<$$y_-}L{UXErgc(E5-&jp znr?_BbPwuI#L%IiL?tQGQxhLhEFNIO&2PPbbo8M$OJ>hnvg%;{q2Ii5`}B85i|$0V z!QOX<^!@rRpKN0Z=T@CRx@XJQI$o|_piwYoJ1MS+k z4@{;Nph^J0Rz&vw*R{6pWnO9y>5qG@xbr22mF}0)L#gr~)}4H_qp>6$<~$925GmFS z&0^K?9>3KCfKji9ml=9*)MPGa_6R~d<|%laTO_^BzGM?4)z`l!wMngf1bd$Dc#b>y zn)D5~h>eq4r8agA3&T>^5wi5Qbc9S$4}>iqA?)E5ky+fW9UZ(72IOS8<1gH;@(K&j zloXa+bBDra6BOoL3kUoHL_@>&^ECv-8f4FE#sp1A{n>?AMziib z$qd)|3UYAtV1Drc0u&k(6_1!N+06DIJd)YHfVjlPDl1-ccwBwGrPxwmkM*Bj&`JO9 zczs)T=dI|h&|7Ak>vWhY=o3EevYFqaC&{Tq z)3qak!8J0(ysUS8nYK5}M38q_I^SDc7B9UZ{n3JhIN{&iL_m^m`s*5hGQUi*X#Er` z6bg?OrWdP`5fltDi&4H2EUat@&_IR9LpUa5W4Rg%4tUpe(;Ger9WZ1j`qB}QTf#b^ z3yJPJRD~)R&xINrsUgCROu=#5G1XI4iK;2pV}O@}KOO%07*Vf-`?EeR$EwxqVsv_~ zH78B)v;dStjN$1NIP~7JcXh{s)q6EbIU@q&-f?ixy=5Md=FW1>?>pa>4E#k(Gs<^oc+1PZ8N16fN=wp54FANlzWFAaH=&b{ zfQAnN$J&Hh3yED}MWOIH7)ogV@}!cEsZ;SyN(m5WYD~`QDI`rOS`C|IRmP8uznuy3 z6YU4j3nT_Wj2)#Thq^tT0U!@=r>Blx9f|3`@u^wA`q~sTeE7h|h2DfqiUHkf@F7ED zuYDvW)BRyvr)4E^ilw7Jav_Gs7aQ@|s+U+3X3)W3FWt2JrdKY!z4Sq+^g^o5V&0dV z1qHkqhFbheojd#ItY@|lQRzNyUi9L?d3B#|Oz?MU#uKs^g5D++Bss#_E~hJT&JrXc zz?^emMMC_0k@h`{lHJLW=t%Jn&Ha_?_9*|MfFDXLc--MM6MEpA;3i*GXw={t1haxc zP`O~@;Da)-23idkDiZUq^f)0+6fq@S=PW6PuYLV{sqOpMudQ0PYG8bpASTE6ZY)hl zG*aHwjnBOO%*LsCJTs=3HujEB7KN<%fvc8PNnxb6k3uS-^=bnQO7TWH*Hy)gvgG8l z85Q}%i&JB8E8I|<5bHDvy5v-s&E`r=ju8y8&IB#)g!{#$77yo#OK1lAl0AaH(6h4> z(VSQ$yN2aB^90#@%0m!-u!JJq(ht2_FagGX;(L(h1it7V^eiZib?`=sRIu_INiKC4V|*i)2yOAx9uOS);1I@Ox3+wfauYF3K4 zOuA;4)LOn_QC(VE-J%WUtrDkDYIq@X0)YDCI7@<^#YJY=;(>PkSyL*zZ_nWm%{ET# zC5_}x+2RxIQr_V`A6&?+38kflYBDbn563}g9u_;~*cxbq6e@C1CRBO&B}a9MFmZHg z>&!U}3RApc!IDO{B7B9g^xk`|r1yg^5$eF`>Vbc3h|%r%WXnmGaS946*%m{#AHL;7 z=?R!_dYl?{EfP$pnC0-+&-WUwd!@fx$VwEwO6D^=?VyBEslcEkgpa6}lN3z`4yHZX z0PJK?bdvJ0Fj_W+No&{9n%>9*>{puinPiN$s+-au%71qGl-(Z(C}l zy-X=>xb4;D(X;8Ib!?q{o3`-fx)3Rmbs0h!^KMx*b`G$h3KiVGf3^t&K3Le`N(YJq z`T??m-Xc>Hm9neQeEFW!XjHi*jq+ootM5tgo!)c20)egr?CPwRuUfLyNo8iMvLbTl z7wD>#prGjauD7x7YW3UykBu=V=6-d>2Mvl# zTMd@Tw#(HL(Xa4!u(TMqUOM{n)hmcjWIp^F%XAv5s*(Aoy|L%plHZjaTRM->L;jn( z(Yu2hvm0`_bA)sevFNaIg4T5+6&Jg&Yy|O_8v!qQUC|6pyf#nEG;`oi7ov(2?tsOx zW$u{H1LI1Mvb{(D%T}Up@bb~XA}v#AsS~tIo6y!hUe3Hpod>3stXub!RwUgIXogZk z%z6oQ`n9kwl4ZuhA>I2=`@QF9hzRu%%$g3QTQ>nzmM@SQ5=@t%DGc~QxEVaeP4Jqc zE{Alb9FSjsl+J($zLMM^QvCIE_uhN%b>{Eb2iB!!>8wMCW-XNs%-qH6SFXIC z3q3(Y{R#O1|M$bvH>XTjkfI*9XHkN54q(mprAzIAYmU6KiOt`%2|=Delpg<6>)oYM zq5=0I!8m-lQR)EeDAT#pyIcQs9D(S9f?ZOoh&EIM?{pHpqp#BEz&v%nL&nrW6Gbh|z9nE=Zz&d4Rf@@`|1|q{5LbefQW~ z(y@Na-`H2D*4*%?Z7cqGjog2Fym_fl%A@S)Jyb3{)5Cj6+>5ufz_Gs;=VK3ci$ultSBF&OH3*5JvSrRY&ov&|RRcDKAZ z(cw&Ty~QfLtM*D4J5(^?V^3o8Thg=GgEmxl+BF8F4JW{^@$+qnKJ#x0Zx>;LPPL%3 zDdoN=vwA^5&Z75q_c;@~T)1b`pb6d5zaIJc$>lpxad^4*pst56UgwNs`X^hT+WSqu4jr1Y{0Y7^+WF+oE2$aU?qR7TA!Y3_<4M?r;FMCY> z>^ypYr$&JXSqv) zJkOTO`5Ya&wv_O*k&sroHp^$Wtud4XmQ7u&@r=;Yy;MG736DQB|-Wj=&+b6p7iRe>0zW&L)D!&`j4@G&%F8+)rOvC}XxURy=?4n#mJfM>!i*&PxL}F-W zkK9IO;HJ||)yaiLUj5NCL14o|7!omTpTvmD-|p^AUS5hQg_f_|cA5JFKL-naH`m7n zI=RB=4=O-BzC3o)xxBqV0Xqb!Tu66N_d)rAQ6f+M;=QQ_1*y{N7hRv__Fq%6 zbo;TFUW#~VpBOGkZ9AD-z}0_ob4dyNou+y3yBady!b zsk!m-lN*MHO8omWr)7?;DG;?sk|%t|#pff(gj0?OGPsDT8jDC;_neTvuR;&>6WRxhYVu;z}Q4(tjcOss|yB*Dg8?( z$7qdB>%TlPefo(nCH$-!{@qcKb>@6!)v8ydFK_+LNon%-`Kw;x3K}$`)|2TElxOd4 znm1NGzMq5F+ilxb_8P59T@woAsifhZH^I;PSC4-=bhbE?ZX%tNzIxlhm1xPGGD9ey)#?$3zhFH_?bxWu38Tp`)Pc?nRWaOu>(v7H@ zlDf9o9vj%k|G|rRTJ#G<8O$^XX>W<(?povI(@G+4a&HDuP4}|f?kLjO$)v~`g&X*S zz!hZRIEaPq;YHFl4|uw~M=0fi$Bt7-bx&?hoe~UINb3*u)8{@Rbbc6V9X8E&&~9{n*uB*L8l|I+P0y*hf| zNK4U>ZwhW$9hk9v`s9A;<}&=58;4Mm8R~;!)xYHW6)Fhbu&aL56A>mLqh-iT)S*Hi zVh9wVw0xuvlQ9-lBDsDgKH@D7cZu={LF`@K&_guDLmGUhP(n_=q-cY(TUG*b23?^S5*O33rKQWp`|kc5{)N;`2O~X&znq+_Ev|3VnupxP#M8lT)F{tXa(Ls#n=<(4Vni86uEij zxr*|XIyD@2Vjt;y08EWu4f$gMAVxChP$i+o2Wl3vT ze{-rKhD#EJ@$K`FxbsVGu2WcMOEg|m@UuFOGA&o#{-?NP{RjMKe8)2bxiy?IQ7L@~ zEfdOxcE*?_JT62j^u$+(_uY>$)saQ&N+fmRWYqgDRx#?5Qhg_K4@cvaa~1tzS?^#< zW`Xyt7j(Wa8^}hmNx-38$$rhAWADKLBXMvj6bUJf)Gkm>Ad7i46SLo^49e>yI{B2* zb1>K990uf+PH-K6bk+q9Dnu<+IR{;@1H7{%dPl))ptQ$`M*zGUTr;9ez`u}u>kM>G zdt?g*8%I+e)b4ngzX&&rURUgJB1?hOLAO9)H9pXprr|v~f`#QgMR(BzNda6c;P(@r z03L%p=H<{f(h)kKOoh=j`b@ino(y9E)c&-jn&BEcOpjEmQv41l;wO9}o`;I#a@++C zlTUGFbVU%HM*z_j)J`r69t!#tAQWWU3>5J`RR9)gdB0CAhvqY&gwCAycq!YK3^4~= zgvuc}i__2?MdiRTvCB_ZqTYCjI#r4M&?vJKP&BlM1bzo!Ovr*hl!mHR9HfHCSApxH z_%)>}6=iY?K;_1Ud`+soz)RIq6(jc}KB$j;D-mGp)GFlBi{i77)ILjGfMX*QP^lu7 z&l(5Uruqbjqf|dOC42C;y!70*CHgVZ)g10+)+;q3rPx=LC^ij82I1Ce|5%%_=(-gn zxbM_f6&oKe&TDW)Mnrz=9GeeJT~4&Bm2rjyl}4ACISiqiVXrP|R(u;|{6mGadqmF3^XjRN+iBC;*8a(j{I;}cU z@07mRjC2VJi8lAJ)Hr=VmtN#c3XOwZh76tEVRBtO>l&%?SQ8V{lltr9QoY8)prCou z(8rpVof99&zo$0yyxyFi#bTw_FYdbQi@S>F%w;NV(uQP>AWGk<0n_p}Cn%M=l&#W1 zQ?F8^1u*a8faiGcX6C%>K4w4c0nm)O${1f#2u;08%PBRg8040<3Uf<^7?%ksjlYiN zigUAK)MicZBsK!MG5oz&H;Abliwno-ox*RPpL%?X(#a)jVzRVWpmSMAb2e^;|)N>Gz+l?B(pIZGYpz!&J^?7uV3IA#fDWGz5!-lJEpLB;|`NorHQjTszjmC z-ebKXp;DtqKHLSOI69@rx=>|QXD6fq?ta z-5z8G>m>ry0eLfV$5^$`?5;@f6{yy5`LRZHqQn?YqRFDyXcJv_HU9u$kEVOCO|l9r zGPd;AyA6iW43kmImagUdZ_S_Xj!Uu#)}(89BpZ5f$xs?i(<{xDYZnP<%WLNGe%~&u zMWwcF>dSGPjxSq&{P^-^k`Em*VFd=2jvv(TNui+u&2AetQZ#Ze^;sFGR$5FqCvh8{ z`du#s^Pjs_ZwGu6VGOC*xC{(QwLV`|1K0^SVH%s+ssr4bxwJx~&e7|W($FlC%?8uJ z6}p(fyy8F|$MyZ7qGWMd(e^1woB-f1t5c`f)%Qzz-EQBPpX%Uwdt%=(%Pp?*dDze) z=s&SGi-0^1XD9X9Sv)Tgqgz>RGUTK9NQ_N9Lq83GlELp9$zvM%ysz-gU@o*P>@ot8 zBvrYXgP*h~k1U+C^6S?vCHzG9{bO7&w3J&?jaj zO`h0T?TZV?l6?;3_||BI3Sl44qHHcOwkQ$U=jhB-M2LSD|0j}cLI< z(l?ECuyNw1O%tPQd(WNgxDj3x#L3bUEsH+V89N2YUfIe7UX1~7qNg`14158Zng(zOWHZZB`0%GAORjEQ%lLEDZf_T|T3sl8!I;#U` zLC?`F!N%B3r}6U1%@mY$MVS)1%M?`#QxHb|q%`cV#bNea923nMVrzz3v?}Ns3Lcz1d|VaGZ6{zYv(1C0 z+pqM%ZPX1Mi9n&bNM3gq;|L#;TA-r{g+kJ|O$amzg;)r_FfI5sH8n9)NDQ}1jp0aZ zYk2S8a4Y8yvu1fU+MIZv9M{m5?SZ7OAgFjHo=>Bx?N1NlS0B$s*YYK&MZ+^&$qq(y;2J`Akhi`c2ew>|nRVJ|Sf!+aP6 z1uA_3C6dCF3pjd}fa9HiZMXut9k>Xpb%|a}7jksHyp5k|E3{*c{y2Oi_|PAG zh`OFh4RBc&G$TqC@@WrJis+;irPD*bRt2ROlCzhji^!QyY1+f=I%C1(1tSq(+8Eti zlHSo+GH4`rLZ(DJcgdJa%=4rhKoU48cD#7g_!Jcr?WTl_Jqf3{>OxY?6EV_v%-xQT zUBX^UPkbEd+B+0ok7kMsTAXo&M~7hU^b)=q#~N`GGPzUHO7LiUnVon@I@HOJ-Z=_6 zDirXC>;@!6f{D&`N1+2C+EK9_`LL3i+Z(_!_!&XEfd~XsfPsT%7pdMLl?I|2w}EMg zTKqJ4TXlP~Q?0%AR;}8pcRBf(9XpU=*4aMi(;@xluMTYQmB9vauS}aUf6bctGp6Ou zPE1_?*wn17sgJFn!PktbDh-XS0y`;{vcC6PhqjmsMA(v`xE#REiM-7hCt#Y66{;ft@pA0iz} zSjM^~tb=&Orj}C=FhH${=v%+Jm=XiYNEry&a0^Th zBfXyf>(lt}6&c)%y(v8>eTO@|xAJyoIC4Z9vg7-^8t;(adGcQAk0)o`^A)eWqB?S) zQ*`rc;4Q@;&B8y9Oe4?x%k#91=@+#jfR9jyt@?H-ORah#q_>7ARkh39fB@D3W3KC1 zv&<;a&PF<|bGI<`^2w7}d9$oZp~+O} zUY+{il&BYt2mU@3DjYROmt#gF2W44BEOhDDq81nEf`JhYWw1aXHH381y+hdo+Nrn* zGQlg@BZi7}u929YwicQ7X-uy$NOoFff3r_rJJrtqMjMfes@&YFTw(Xb8~1JAcjLtB zCDUgMmLV2l_Vgvy?TV}I6+)DKArj)lxMkb-GKVQIL>(R~uayoQSSqiWaPQozjwvmWi`5;Z$A2@%HvTz`RJQFbywZnQ^%PNos)tAUBF@Ka(SRW84X)B!CJ#z22<*6 zFILV6JQ&l^M}Q6(c)JH(8`__uVljNax%qswO+r-n#_nxVZllNzLw7H&?od=O-96Om zbXsXk=-Lv)$T_oU?p$e+)PA|jkP`P`MC@VW<$aO9N$Vf_Zu92v9$KHI@}zrIS8hh> zCproGM>Y@@;Nkzjs$nMc*boqi&}q(}iu(OxwOTtA8vYwi|HV6pd_H97;{N}6O{&Vv z+WKw$`|0(`$?H%5eIwCdqWzc4PO((~o43=5~p6-pOh*OVS)S?o$2~{+?jdTqg(ywmH0_V zD%`WDkb2Y=@4*P`b`9v^k4Q=o4#_!czsI0fAd?iXC@_o9#e0#hy+pL-V29`mXdqPPkfAXtkqjNQ(vnVrWf-TBTXy%VpThV+J86Ln zRRp#Xoy1s_v=%@m47R+Ohj8Q$<>ge#i&R$ZM_w6-#oGB=d2fN=puxe)0#QAxvb3tt z?34ue^qu+z%BH$Vc+`C9wIREv=|ts@$wfJXgfPG%Cg$}+WMsYTKKgCVO_kpDSCH5n z*DH-ZoYw0H+U>qBy;99p<%HK14i#CrAf-58b<^}83QMISvAK0k%SW;FnwhQBcCpDD z?E`46QTr&Aji3|xKw?*rVpx`w@f!#AEj1H04z&!L1u};mB|_q9*O}dIf%q}x+2Err znV;|_NIW5zU}}w{6RO-*6RHmRLV;Rx#SL)}rWC7&h}cK_-4AbHnrwAW+coDF^$^2# zBO-Nu7op@XQJ@X$hVgiuNT$^GE*c)VO9#;?@nOf$#J9K zcAdcO&UtQNnXqe`S-EqLWJu4H<`178%;gmQ$ILyD!XBEoODLoI%RG#1>xFj%ydpNI*<~C9GFl(tM$4k0N>uX1e^R$82$DfY?lLM-#^|M8<&5`68_?lI zW}+zONRW(_aFD}MYD}OJQ}BB<$_SQq*+!ufh5XaUDxBptqSQY3z=64ovj&epFgGWg zTZWn7!2B`N{S$6Fe9V^`4k@*!YL~GJViIz;0siMG!tc|X;FCr^q9f8_xFK39z z5-I2WGH22Jku|J7vluFZ*S4ooyO$OX$ni<9gm>i!MAz~GJ}qp4=EO~Pa}SvReqe57 zdczL;XeamLz`=%~C#On#NLyEMNr9EkdUd?r>nI3mnhinTd_i3sNUt)y6hfHK+!rb` zXLcy8qjdwaxZ47?>pc0=yE*06Id8mCouwWT$QWb>#q8{RvOJh3vil}EG_c8|{0VqtyR!Zfb$ zil#aV30s_eQu;?G-UNINjDl>lDw0u-0?ouQGHIr^Rfa<9+R@KVF55$ zL9={*3VN0oWRD^8lK`fee&v8#z7vuJ@%hSBp1jjjG5tlyuC>Q18Vqs$7|RH0l1ZNm zcn$F|c17tRF2fKn^08NkuC~t5i_27NCz>~nt>0*?pJm%vf6W%dgjK3*wLwQ-N`Bm& z1EmF$*nf1suS|32`aPO5UtWmc96wD{?#r#>m#GBxbaj!3do&}3wU^WuVW_?y8pI2s zTz{EnS^NRM;*w%=E!$ICnC)O6Cb%YU*N&b)YlL(syKls-rDL@>OpHyH6sk;-CEeXEy{d`^M~UA#LiWpps$zpKvy!{UCw86PWiw7no zP1=|^!8E%nQV=DC`{xYobKtLT=B9rU^MRz0!mkt$p_Ww?B37WOaq4@$`j(`Z(L4|u z7aU$2XykeahldZ(`+yr@AFJ9n>AhtOq}`zrQ8GB^mQ*fv?g2RGft&C8cD51mja~(1 zv7Mp-OGapv@?00KVgP|-Q5U9UB8o&0sS$u?X_TP|8;v#u+1bLLF4)iOV(`qOG z_+Z!c5$&Z+J^^45xIOwhq5%T9hKM7@C1MbZ>b|+VoTKeK8Y0u@9{9WYz}&h`iDnS0 z1p9#HPkMre!2^Q@b)ZdE4>-K`c(s1Bwkij^n>C^KO7(@AnH4X9D%FNwGE}8QZ=0Ak zKsVaD%RDF}FhZSG{l*(P)#W+TyZN4VwE=#$v*Ot4NfV^|$IL$frkh)qoiq2q_`z9= zi4aTeVofm3b?k6OJ{xI^&#BsGGG$s4rH^Pm&BYomHehAXa>Pbf3|N%&CFdmlC=^Bp zZ+30l--!od%UJJtpe*)(UenI&eMUaJ{~-y3b3542idFMO!6?b2KL*5!Ij$J_G7Sr+|rgT<=t zsL<=Q<``~>G#0^__eLIyF>AF3{@EC_HF6;~L6xdO(3hF2gbH=ySZWa2+&dbFKp^3e zwTe+xxh{U56e!Uk5YTuaB}C^z2aFt77)hW|=r)j$!9=k1^^Cgqj;cXLuOmT+^`K4t z++l9Xd(sZG!DMC& zq&w(71cMWseA~_!yk3%~qR#;naQ4Kj;5Z<%w`pUifwy#_ugmdESS=N;VdElD$UO9S3EG< z^u$wyF14y!M7QiyqR!sd&7JEVJjVu68>}5{r%k;7QkgHVkQADXZ z8=k=_bYU2mRIwLu>Hpw%&){~rumKQyKkbyHtNsA`x-_(n6?TPamdyb`avHBdMaWsO zt54Qu4p-qWPhP7B zf;c!c(gu=82Sjrs^=VKnkxz(6PJYhqfFn&1ZtFo|V{lk7IIP3JxOp-Dg$;}AhA&y% z+%e$T(q+f){QQ`(@z}DZ$FR}yvGhOBT=(|cwQpbd41cdAAGJjgY=W z7F48EVCw|7KC4`_@Q`%j@Rl#?a!2Y$yX(H(a#*@>XrZP&i!IpCZu?U!yMarHK0e6N z(~Bq3GZ!yrav56W2OndfA3OH>F)5v`W5%`T+s>~Qbc+^_KlJwUrEeab1kY#e#%sW1 z1)*?#;Vn+n&4y`=>8%LZ6ul2fRa=XEk^i@E2CN;a!ad zLb7BsK+ZYv2%?eA~Kv}WS~~$IVP{89HcxWKO`4m{y;*=fr#%bZI^yvS|Imm zr2~&|+VuD)mZcZ;>Dm6JFV!%e%N3J6Cb{2B()Y<@u$s(tgI-N9 zYAPLnm)GYB<)v}Ukzx7_?)1Z%r`X|56DMriG+|=o?u6{LUY@ub`ylx)dY7v|{EuBO zy=x5J&t4Pf>6Mn9U~?HP@q!^W-hrIw@fL$io(saV-c6`NQhcNa(eFK6<(5t8fviTe2ViJK=*+{_BKX?>ElzO@@yBqSvF zNz*#g`_dQso>?*!OO31{6cAu<(q3FiE&KoQp620ZwB10gn54_f5&eGl37agIM_uR9RZ^068 zmiYOw@^LW?KR)u|lLbf_jS&FekOCpqT;|9%GQOuQbSsl8$8G;idiH?_rDs3iJ|VBZkLUMlL=mwS2y9+vhCwAg2mVXn)s30E_tpJkl$y z*fSu%FhyERIvs|x90U!RMSV_0WD!gih+;(WMJf=%Jaz-H^c2Xf2DK-8TR^l&9k}3@ za?<-kgq;!0Yef+X4#trn3C^E&f>#~#I zcUa#^@*U$?-+p$_eD}hN*#47Q==?rw`4Z20{bwrngkfNxc=j4&JIW*9d1i5sSO+*FW&%vPA*H>)gG#i^0hLJ*21Q<1YGUj9u$uxPlPzLa=~j;p(&6w0j|L+ zS^q(P!zq4BFh?|wXqPN68A-trBv@WZOt~0*LGpUX%neqUQlCHr0C5Y_z0Fa9fobB% z!=ooNa|I*AKjMjt_oWnoH<+YZzIDfBUOJ{)wRz_x?uOZXVw|AwGx)7Q(WgKmaY(sufE+i9hOTeI~Wzvk|}?8NQ&OYpx(+-~s6w>BC6< z76Z3v6RTLE#1*I8Xj~zV5_+VUWov?40ZdQ`)3ig zD>3e{*bD1=6;7)0mX&HCJ~?{D_r2%3!Ka(|&r8Tu_sbqTJ;Au=dIpjraHH>dSNigj zf@NRW#740JEOVmt7Xxn|v4qS1U0*eLL?(_%RXOvtPxs3lS_1FKLO&<;PUBP-y_%mq zLRXfVTr)E;{?$`HU;V(7Y}}%u(md(;^_LVM+&8V0#-aY0&r)I0R}c{s$Y&EKQGjz| zFc4@EU|0#>8?duTKq@c*n$yrK2BItHr(uKi#^;YecUbyrX6-eCa82z@W;^`c@zv7n z_aqq}kbe8=R^qWALW^|ox{6UHZ0e_fW>ZV+E3cF8L%B&lG2y*^3onlV>?GAh z6;vKl>Hz=(uK@)_A<5SwXz?m}ivrRK(C1|69|uod5tMf1oQo@D2Uq6FA=L|rV*7?a z-aPI80(N)FXVSS7Pu=tBU0-LLC%njPkN=|rsYT;lM#ZIvLbFHb)y}A%J8J&k)vpdH zy!gVDF-vb*^H|PQc7c0WeD|i^f8fTJra!*Haxu&~K& zd3Uj4$PD=Lq^=Jk;J18h({2%8Y6Ds~_sB6=z^7_BUrp?G6 zT%8{iUzO1R?6G4n4fFL1>0@-x+sQbsIx~uaN~w| zd9+gKA|&h41|$UX>Y>0*d5PJCqE~_#2Nb#j&t^)>Yal@%pFk=(qQm9f+!=92Mh841 zSWLm`=&O{olfYx_X7odvtfHF`HL0~aU!x5w1^AiMGf)EHb%IKE6_qZg`_Vx>e6@1% z-b2TZAG~?d;_{3bp{P(~mc)XYQ^T8g-?Sw>MX5E$*wZ9?RfRp#Y}9JXt3<8Q#97o; zRVJ53uT)i5T3iY2#hmOBb?B0DEpqtnIf zHLAHY!Z&Z(kYEAn({H@z&V$$Ml#9zlp^B!ay|cz7s?~{%A2(p_%&EmCB|(%};H_S6 zq+DWcS(Rwwj0TmqvdWZX5vwZAu7trW7S0(_H(^5E$k`rMg4vWftv{>hwl~f?w|Czg zCS5_Hn&*`_&6-g?ux?O;G_7CF)(0oQuxsbeKnjQS=W5Yucy7%YzsSdmLWT!Ev3+G(b#j%Fj>TBSu>f^ zpw__F0smj++=867(&hxO&!GQv`Y@|iXYj4uzI)T`@{)$@R_&ZtU{4vVwD&FQYmwg1 z8n^EB%;|Sbsf>#>R#(-GavA!}UQpRrsZ6q(f+PCnmycgQv6sdOggjw+{)1!E-!je1 zukU5hTC;C;s5Cr)iK5A3InI=)RK>7+lB)_bbh=jWP@7HX=rcB5nOA?)_)$A2*7Qo$ zaO*4G0nXta8BFNAV*bedf|`lLQzA#lGi!P#y-z zl9w(wls=@q58ZI?bE1^#wBlgX7XKVt@AV>*=n26tghev}h|K z49Acbsu>qTZYYI_ssb#nyBT=J<#h&UrmM7CxM&D##>LSSBX0?cmY>wwAlHA`)f=OXtB?`4oRisQZ4=|BwuRxG^w2{Z{!MGYh`{_h${bV>?josn9j zE%O13HdTA$f7dKrUr7PbWp}i_aX0z4k>3ABV~{Kz<$04j=?Dpb;8r?+FhzHU z-72GEc6M{Q9QHYionTo|*EUFRa|#+Hd(T-CE%&e%V`MQsn!8EJj~<3v{KOC(JGYlk zTS+PlJll(L@ke=%@=}~dR0Y*tAx}4P1V41{3Y zb3@UnR7HAX#~FtDqpEy}jiG8i15RE?NGR0)(x9MQ3GA`4H;@>?i%F*Q6un*M8VW`$=60JJjrr3({3V6f+6E?_ zXIK%zv(tMgdB_cUh$2^v;LFJ&wo?b(l~JYZ7aDC@IueOP0qa<er^N)+%bc*@!y_d=@)A1hV&Y`*M#|WlEr?!!7C(z4)c>-EE zpq9Zhrvcs%0%=!;NKYN`75gBWmy6Ja!2^<^UM_akntdtFmX5r6)5ft0u{j5?%`6>I z_8Ob^=9_E;Rk*tL1*t8+QZ&X2yojLM7*3UE?-lFP9eL!k$%uQTM~$PkXW<=RUElQT z;DW~SBP!~LDB9cdLiEuuqtzg9Xc{ra;Tr)D(_ z8f{rHH1A@gRZ519o0R9v4Ahw=+5h5r*Q^hr$K^pAYa45O%)_JW!dBpq#2?hMh1s_ zNS)-d1Kf}l;-q2RVAu!lE@1XRlIuK=%E9l9sZEZXH!m)^HfD0b9gq&V#`}VRPuER2}!z+-;9AM#K$N(^$dr~Cf#Vz za2h}+P~E4?x|v+~@r{7BhipAjgAC%wWFrj7Ir%bpVMBI`Q1V6Rmv&2a(w_6W!t!PHqx-(kdM)E)4Q#Px zP-b~U!`iXZL$g`dAA66kU)FZV*tHD}#*n6!@*Q>d?xtGqR)#);Cnba`p7RTDL z4Q1sG+(W%5$K@2jXmcy{0MJ0?lQJ~u#~R3rEIzM7x^I# zQlrkL(`qx)(=)VMZL%)2K%*(RKo1+c7JY+ElPhpPBBke;u550~+o(>)t6n8i#jmf8nW1XBHhB>5lJLC~XT4=89`r<8QxX zqo(%VG->F%p(XKvpA?60yrrwZ%D(kcH2MUE0zD1Ak!E1(kZ^knV785N)rA@bqOc%O zP!I=&sVE@{{0sZsTw|meq5(^x*bM>FMr&&o+{dHyl3e#>)E@J@7ph2zpCI6rl)!;} zbZJoGMHSW{k6`f>o*oHDoqQ^Sg`fw6_kl9+{lVYw+IM01=shnk-1Oy;KP;4Pf8|%w z`){vX_crtW>O5O4g}6tS!BGCqqg|HrN0IE}_;t7Y8@Ic&W3<^nELwHL?hAVtzPM-f z>iO5*)3WYu>3vWS+~OUsT566+u-JE**QM{jl$JF!1d)`aqi?&xr?lc75>`tm9zoE< z{APq=n1Sfb#C?%N6Zo-hk325iZrd06icOGWI__c90jj(4mX42>@#7+Kjgvd>V#B%h z9UpOM3VF^}hM^NAd+v4UC~`(}NOzE4kg^8SU36W<8;LqX;upt~5M_!Mid`J8y?hPsg=j2!n+uy7P56f~wevR;29`yHc6Wcp z7?p{+Jy{-iw$DD)WbUgnRVP?#tmy^Jq>2%{&!hX8T1}V#BPJFihc&5%`_^P?;+n9K zze*Ja{BAR*{=e$p13ZrE>KosCXJ&hocD1XnRa^D8+FcdfvYO>?%e`AxSrw~V#f@Tt zu?;rW*bdEw&|3&4)Iba*Ku9Pdv_L|PA%!HAkP5cO-|x(fY}t^!$@f0r^MC%fcIM8V z+veVL&pr3tQ@lQ(H{B5hU3cf}4x7V@V;L~v)I?6_*wq6t@dtRqF(&Zxdh`_-87jFo zg{9(bQc^a6km*oxBtb82j0+|3Gt$9d#X?J%2b?W%t;(wOlfeAIqtZ25;A4nbqKVe@ z8qq%asL^OLI8WZ5S?G*P@uv8q)`9n^>;UDX_ULuK%KXB_tZ0`vF~1;IzRt6IISK77 z-|gv)Eyz#wx}viZ3-c>|-7zgy^wCu`W4o?X0{{rKZ1(}3OoJ%xgbRfJ&Tt)B>$;bt~Ya)oH02^A> z?zHL{FI=YWUC4L_u%Zs96<+WowQSBTzrv!*aGs7Lwv$2y=zHr!2B#q>)@n^jG<&zc ze%{XG;hsiMezkXY7Y&E#ncsi?kFPxOhr2$1aeo!7dhU;Gm3R31ubRC%u~1x$o<2R= z8k`#4%yc`wIbK)1ExM;C+7=&Q70n)*)D%-t6q_iRE0U+rIPYg$_ijm?=dI57%-;XT z{{DGazWCW)*MH=B>?8TP-^D$-<^HQvZBbL>I~nhcugb8+Us*55zK~{%u8P0)+2_6; zKQ$`angE(21O97%3H)Kw^?{5e3Q?J>K!-R4#1|JrMzTtP{cS}&H-*?hL0I&l<9B)i z6o@xu<10Ov6^e?+7tRS`%uDbl8>L@f`0%!E4`2B4(2c2kKkj|(ycU=)HYFA;TE8$q z!RSrw$;uu&5M2;nyJlvhWBAIBoSaoVU)Z|&#fw(@lk>v)QC#ne4`vi5x*f|iGwWM( z&Hnlem(96g&CKF7mzmpEY}>YC<+g1 z-E18(f+jMBv@km*uT?$Ws`}>>XgO8h2Io!Cra!F>uk%$gXCXL2%;_N?C)hp_*NI3p zLO*9c^P;nL+SwtN{ng&RU&-&_%08v`D05%sR4GB}+=id{&fc$1=bESTv%dZrXyY0B zl{^}LttWv8RCRvzoLD`v1a|b__0`w<=ggRC@<{)xcgob>IE|eDZEy5ZXQ)H;UvvRJ zdjbx$K;{Ty_n9R3hq1t>(ZxW(1Ldb;KSs(Ir|$s|xUMuAwG~zi!?c^=p=Xxp=9N5eEhR^|KX^olF;(A#aC4bl_-Q$^6);{6eB9CdQM8S1*_Np2I_X^o_%P!ZYABl3X2mGHCDR>zQW zM&Suv;SA%DgXBtCBtD({cutV6nQ`n0z7>Datx)gle30qL!MpT$DK7KGg=;Q}xGrCL zhbpgr$I8oHkxSNCrWGK9?4#dNFioHy99v&Fd2%5?fZ)kv93s_6;?u<(n9`0*t40`| zB(GDt>P$EW@i}5Ty~yEd;=6Jidwh96CF)-;PiHsfms7YL@Sh4?@@vou0_@DgLsq&# zhhK2HffFY(<(4WC=bWG-{d9<+MByX3&V*<_x!eGAnboY! zVK$59QoQ{50z>REr`aUTlM(s=hgAsum~KePrdLx~Ny(-!FvJ~G-=7XqIVNI9;pqII z$6`h} zUU)nZq6Cr^WSIYowj~UDC{{Lwnfvzd-?yE;CcnZ0a`CA(tXe+0Mt6$8THSy5Gk<^P z?*8iW0Q+#?e&O={`%X5q*H{4mUmH89JGBO)3O_&wHUI?r!jI1{DLMbgtO5wHLJg~P zGaEJlV5LoKmoBp`3*P!%#3>-bN!W00}QqoFh(U5 z_I3)fCvSpLkO+H)?~@-H`}}!1@Vqe~6-Nv>$hb*}RUVB()kzcIXv>RX!ILKas?#Y8)jb>rWA^~=6v($U zWv7;bzCwQyw=J5D9yuaR>)f;J%XMt|KlfcEXDhZ1Mq5|NV~=fprP4LWRr$)+$KUT=ltlgu{Ty{aMm#cPR0)3*R$@YWTsR5O zIA6&3uq7mxJGM^9vKoEz&eva;clwN0t5JN%h%MXW@_N4KSGXKsT6H43YU$D{@tvxr ze8cFd?$owzGFd;+so|5iQjSx)d+x!UG@i&t8RFUl2M)N;WFt$Gv>s#A2-r`dRf$Bi z>AxOF>X6ofSS6jCQVeH>63_Bk5f4s)J_ddop~SgAl^4$0uxL_c;p{9-qi0y?N@4$dG>VPyZ;IP+7B1L zH0+AXb|$CfMJ`#pILf$q_uUtd_-ge+T1HGIX8whfFFttPFP~?DOJ@u`aOZFC{&3Uc z#a=jNOyaR{(}54sc%S$VvZg_HCpz$Th0GxOa8#?DCEGdhE2#WZ5~D0D1?v+*oGL@y z5~4St@wFK#p0gJL8!tbqFgW?1{-==hxP0QN{{E++Ft;7OwL)25*Re+~}0H_}6{CX*0oRXs#@+*Y&tIGCWw(8|;cD7%( z`BrA!|Gm`Zm6GqX`1)k_`wVMT-pgz#XJ2RMzOIw+u3x!l?^F9u>>b`S`DOn1hN7`w zU@^4~_>H@!av%5N}n6I9m zvS)bjSNp!dZ_o1HYhK1z(VlUf-X{s&m6#W&542T6n!zXlB-zx%Zsmv@<^mME79>ML zJ3cXrLWL~$buQ;TKC1C5o*G0`w)>7%&%^hp`% zPFq|?O75ft_f)HXp&{OU^dVM<;wBa=KYGqq1O1V8N|07y+)a?xn6F!hKB9F>;pTuu zgG6>AWXypxT=3$F|H{5PfuwtsIfqT6p!g_fblgBT7%}xo@&{5J>HaLZjs@h9%YqV%e4vbA=;aBYfUvbgnw@=pZFuUNz%ud1nDwW_*iEIp78 zsneHMX_ zOssGM6bn=xAm$numq;aA5H6YM&=B$gPUVSqYj_0A35IkspBaRNOlh)^@*l)_*+1`L z!t%(vaBx-6*t5)Kf5+~Ue^q9Vmj4#xvhjRVG@E003zJT~Ab(+ZyY0;SBD;<`5~t*q z`YYmL8HL&7%l&ydRY_6&al}`hiH{qPhcZr+qvu&HZRLV_`A)#~k&iZ*wwh>!m-}4xID_ zG^|!*hXR=*3CtZ5mh)o)CdLgc0m4fdEPG&&LCBw^P{FgO_mH~-?9zsr#KP#mvO2hc zvxrHAjG%kK*wcGJjUx&SASDKl6_f~UxKWN0g>ATjcg2IUFv4DDhIegjnoVz(j4U&g z86~scmKM9#o8d5-jErZ*FY~#vuc(+mH7P|el=%H6I9dNlEq>- zCKQOK&1)^5DOO{2RMC>MI;)}kUHOZ5ySHYo%3v(oXq_V50rfescC*N3;p{hNyS_($ z<_6j1L5esaFF)`iMXdS*)BRx;MfGCI`>FhUYz4v5ql z6V~H?*!H|}6V`n|7DZcb6R+jmIa+B5D*-w%hIi}vUr*BND`6?@Q1GX~hzUw=5E#tG_8d-|q?Y7r{^tJ9yvIzVGg7UAc>DpVJI{$37J zKpTy)c84=_2JI+igw)j%EJDmdjF=*-sZBi{Y5Ne1L-ndKJ{HihqBxqi+G{X96iGlL z|G{@8Be)RJB-ucc0UeJ}_x-rqMQFffI}}py(;M-K+BG>`$TJwnFg_$_(V_dU zLeDGQZ8H51d)NtVcac%BMhudDsp>4h$Wvc*%4@ zB_<3{JjklBxfQ`oWI|$avv5WXcfRUy;5Gb@BO}I239C$V8ZsbNLdEKfQiTN%)(V`vnnc%4~>T=X>a7EQFGF(W|S5SHevO_?5Ko{=$M%3jD)D{ zgRAvU=plb*cVtH$vDiI7+ZVNeOUnF!A*G?{ysNXPic)d*;@O3vp^l7r;epdB;?oO~ z;?y*vF{5l^s_1`H6|*O@bgGM2bJ)b59V$;XrevjsF4pc`iDl90@lh#JtZh-o>?o5d zYIeq=HqH|^8`4>|x5T!IS#D%eZE=RGdGV8`EsjD9(N1%LIS@VjeEBG)kpFh0{8^hP zJw;8yiZf29$oLm!1Gf?ltM2PuuqZx{B-E7iYs@JhQQXAA2mQw3r&xPZW+JwBFm*)p zlny~C5zSLD`3o7iGvs22^zN_>I^cC4q*_4q(FB3rQ`|0j?2=CMIf5W2Km3toWM!vi zlzI=WCm25bfy1AalAaOtuDWsT+2dnRS<|d{TCMtOTt1GUUVG81S8Zwhs0QwPHSlL2 zl6yOPQ0GZmbFeV0cu8}`dWEfdIH$JCpPo~+ymb<0&)DTuEJ{tY>h-wVK8~Ayeb=g2 z!F@Wz4|c=GODFXP0G$2^7||CBNkB(Kevkr?=O9%lQ26Ma(f}5Hq)bnvvkt6}G@~@5 zCpaQkML$Sj9Q}2!bu^*H27(Y&q1#d!Y^YE4CPuN}&a=hXR_)?K$rrKtYxmE(`Pw)p zdhD|ca$}N`J%-q6Dd`n)9m^K(T@j;qNrGi#Z}EI4NT$cmQqCJos0+Lpu)rd9YxVMb z{q|J3!hW7)oXb7OYd+RTUGx2>y@&KXZBekLD7MHKhskO1B-JlWTi&yNZ=+|0$Eu$k z%}m^J@+>tyP^pl4lir0r`Z&<3I4dJT5Q855Kx$qdKm#EG;>&`pqBlw}67LtCL#LKr zP^n6%fyx4~<*FiG1V-UfAAC0&yp#+mgZ~~%Q{JqsuAZojX+>h9)otd^YNv~T;V|kw zjnyf4Jm%1wlZ@WA+aFxF>u}bxu>V$;T3G1A0dHd{&m$Qi&%i$XYT9{E^}!V4#yOG@ zxn-#*#kEy@H8v^5;jNVaaasPNc}0*Xu$t$x(A-sHcNlC;aGKT_T^V~)Ry}at+B+@{ zjds-~GH+I3hCelX>Y9z~a!p)de>>iD{Mjp9Ci%J+`P&&nMU~C)1Hcf&Ir}!q*G++s zxLxQS5{1Pd?SfIV21sPH1yE61Ks!KUYfG?yMm_;z`P__1pOuD?$VxJ=s`*pE`x!CslJ5wr>oJ+y}lyT%s!BB_805*;dH&79sLC)5WEie6Y2K2gqSDZl`=kM z0*kfyQf4Jw$@R<^E!^f19mUqN^*m>9sQUf1+|tZH#@W+S=f*-K_N$nf%=FprKVRyI zNz0rU^-RQ=91A7V@|>)4p(%P_cE#O=ljT-lo>=ZH&xX9AZ*opnkX1|7Iq3zH*P5qh zW)$#snXJ%ufpGPsoaB|xGLx<#c9?O}`6n}NPQ^}BrYr$x(!G2%> zr!KVMK$Rp|rN>f;J5Bo(?6!P5qU|vT%3c)Pch0badE&A0SC%xadgP)DLtKPqj?|r8 z?o4ln3%Y;A8_*G&Kvo5>0)u2`c_B+7F1@WH1_DY3yFQvf#;ko&!`5i?`K#NYoc!vw zZuhEF-$IndWj?=Jt~XTX2><-lWSdk0{(V+nEIZ#~zf4?zEI*C=4Br)kB`oTJhvkp! zW~`O_65UI;CT1r-cp*$5nG6r}itnyY&N8{3ZmY-W6;2F3Z*!TeoxgF(pZq>$PRf

          |iJ)rNwdGr)EOmirSOj@aI>%6ZNkal&y#akd%Z!h9PH=pX zunSE4#rHx6xEAD*#{#Db`j(nTHb$rq( z`SIDCw`IE4UK1Cdl({%QKiRpYvTI-Ol)2E3n83%6*X4lQTMw!im@x|=F;1LfZo~Bi zz8NanVFA(DOnN3USPvw4gNFtrRu0qgkpyHaDRvGISd351$@kpw`x|c>3KfXn$u&2; z`YH>)`XD!_1eR6A#F*dni;b15*+r!}i>5Wk&f1YAUQr*cES(1_$e9xt2lm;#X>q1N z^~f!^j11l7%FB=Wh5XVRZ?du2qN$s&8EW$xAD=en{wJ`EcLpk)nsQzwbcYS z`Gd1Uxu1V+O&I5g%~#~+ly9P;rmZu+8N?k8GcAjx>r1RXidKDjVTGVLT0Jn;=%&b4 z;Rg2DM0S{X%2U^#WXLMY%5+<^EuvA1%GkN&g*j1>MX_d^W76@)P`%T0883Go2a({ALKF?KFD>=KXUSYGYYJ3Q7Tk1Ni}n_TnL=PkP}eZH%SJ7V22 zNmh?T@7kRtc?vyJuFI61o{T@EJ6rOw6X){5n9c#d;0Ek*S7H2tlnGpED3z&Cv;vSa zF%Afdu{fd=#`T$~KS;8SP>%}g=rPh(qP!r9DH^uY8h5@~kzlghqids+!c%8YwPtRg zpBPMh53UQm?!}(WIA2w`YGpXMVoJCwB|bBDQB<7UXm}4v=IzL^PMtF~nB=H+N83#a z)$d57Y|nX>TZ*nWBxEG|@?BYpj>LtRrdlofq=r;Wd8SR0(sQyC60&pBCCQOlX-REJ z(p#*)-3yQ~%bk~!kQr~dvUqFdWm_=^&YauN$6lVGU&EvSYZy4!f`Oz{;h+$3V9B;B zaIj;o02H~N=!ESD}J8h-5^cocoYSL{%o5NvbyP58+$p9d*FRvk~X$=Ub z2Ipk}2>f&XbGS231p}FPi6cOn+?AjyX?&<~CXM`ez-!(c^n%-K7h6Hs)HHe)q>mS?`Y}S4F6yJZNv{ z{?h5q!P@gT)#`PHs~cwK7U`ouDNLH`&)28CXumgfp)=WFNSN)*w59lQ;%<@eNHWB( z;4HB)EeiZSeHrV6mm!lQtzc&11LE9u=UrX1aMP?*^-M*vpV|PLc`fWelWZH9{J`%M zerZ`{23RdQ^CPZ4aQlQG&?DU6o%IWH$X3#vA(W62?Na2jp^HF=uF6HqmHu?hmG#yG z`BM*eOqoC5?w{kg&zn`-ad1+}gKuTIj(s9YpMF3I3a1?EsGAAop5<3l9GX)2z?+#d zNRfO{{>!0F?;Kpc`rtd84l&!onPdH9{rnpK!?DR@lcgVy>BxTpA1z3+&zo7_acD}> zgKuYgKKfj*|Ma*k`|StwY7TWyn=#*>3&|$?{F!x~hbaXr|C3(-$p^0Nw;n8-a=5c< z{yck1;SuJ5q2+fsZ+e$3HamFo7?&?%+qlfOefbl1lTgOs9qiBK}bP zSV!N%Eo;293od`*1>x8KkdwXXWuZBXda7=zaJ%IXKYCJFdh$1!Mt*y1V_f6{$v@*z z-^sD2{Vr+7ijV`Y20{@JRSICq&Z6Yl^wHK%S;Vm{VXvZ4>(mBX$~nkA!t_dmJi_9%^0c(_i*qJt=OiWP z+?zc)Cnq^6=Q}yLPaeN9>tgwx`_Fsx>V+|#7jI6UQl9K9!>`YmT%K5B8@Tw&8Bxhi z;p54R9^BjCYLgqPTdJqFP30rAztuAL>ayZh?V%MJ5PlVBFJa!g$(8b_tHeopS^;G! zq^Nvl&&D<3;D%|wtQE757RN>x)b!L&^0>U*EtunDoy)$wG(BO`vPBh=)dq0!I}c{Z zr5BW~6n|e?R8(2?)#AbAyu9SWkZxNYBoUo{l-2Ltox2TJG9myfNxy{BQ);oi>mE`510-d+FPV88sw+UkSx zY%s4{&0kks-^g4k>kNfQ2g^GvF1zW%#X%hGK+&Mk@9w`utges@Qk28R^sz9avHSDn zlE#U9_&CUpkd#0$3$77pXRdG+A+HS>aAHI;VM6I}830cLF{KlU3}L@sKJW|c1&ytj zU*5WAa%a!}Bgc*%x$P%xMQ?8({;}wDNC>_uHRX~yE3SI}s!5SHlCOAu6Q%288_%T< z&>TfyjLy=t@Bnotz!;F60oD&mrd&BL(<{=?pc4Rg1Y{n)uH-wn&Xhk~a_cKcrp_6C zWOUBdr>}2qwLce}yWFzd9q)&}>f^=s;G|;tJJRyFf%;XWqpRu%;_CAqJSUoyvllx1 zUH}AA53Fm5s9PM$y8v{hG1t?dc1>}O1U%O@ z`h1N(y~$h=A4o6sT(IawV+E^xz*Cty$FjQi(2bJMnqZGHvYerTc|{fdQL{pBABPLm z`V_+@>((5s?YLt_#m^EG@^ayI-(yx(4*81yDu%FC@$8S$Z%8YhNJ zp`~;R4$V~dPG`0O5dH>X04mvw4)m}Lj1BP$Kwj7dAV=`I{a_A|5QCH~2C4)D)EmBn z%7evN71PkL^|n5#skpJSF|bBy8&r!3Er2im7X|g ziAS7ZSqK+sje&V{XU$zuyigcCSx8FM!s`x`p)9I0v}Q}AI3qPPGp#{t+_ENA8C7O5 zjotZ!DaJTU5QW~gK%lp&GlZSPC@W}*Gfw$|adKLL$5Z5+O6vvj-PCU_fxmO?zyV75 z8XTSrd1O{!wPc}r1WXntL63%)Wq{-1io(Zc7E&ro4K!}h1ZXDk*sy~@e<2g~7_2r) z&t@3~bKV^nidnhyXJs;$Icr|NU)p>}78;vrOt7qdLz;_UBRLp!(2j`r}o`(yqxwEOv*>ejs@{S*0p2Pb~@x^Hu zH48pp!0Qd9rig1UN>=(tG|jw4tV&5sOQ{l{&o>HVe&NWX@>##-waMw}$+i6U!zBT$ z;p9594|3nhbxNlnDfbVuW+^$nBsR7rJvrmvM-~#e;M_O{Jh?vtuZ+tb#p{w`2gr}T zXh63STn#UnT$x!C^9ork6B>4Sb`wJ$FeC|?tPIxED7q{QNAi%vD0A>E16flmB8hfr zD)>WLegPte{;ct9Sthtuo*0*+=pExF8yjV$%Sxs;Xd{cvY}QL@?|@MdZGj5yrymyo z4MgM=JJ>Q;H1Q7DE||B(Fg6u#apjN2cE@k|*avLHC9e=}a3AMa0Ho1%B?H(n@7TO|ErL3%|m{Y~T!xA+4+ zd+Sec%BAoA?QOR6O*Z|fW5?fOFvE6B<7e}k!z2V7^!(6^>}U6#c<2wee$F>M%O1bw zGKiT=^{mMt6|@=I>tls>ga$z-7bssm@rlIo6pf7EF({ zRm^N|<~R0ScU@2Sb=S%BkJ_V;QFaO0p(3RSeUEBa?L0yGMiV67R^ZeRI|1d44$B%a zmPiy9Ed-#WCc*z)pbEB)=qu0q7VWFFq!Yh9=3JS2QB*&zxNv5X&uN%nJ9e~oKC}iF zgd{^CrXVTDpOaJ&6W|ZIZ0l$ijbG2|1)J*>^ng!P(|ZxKSvVh`+Ko?^A4{7ubH$vT zx{i*z;#KSC2E`PM*MxswO9~S)?G-o8>UCnTP+^1?NR=2@%})+=u1CQyPX$d<1Kq+A z%vs`_k3#@g0Dx=aWuOH7=&5nj+~KJI;aOdBkq8SjGNqmgjW4?p6wyWJG*;+~6Y_I& zbMq65^%add(X*g29bUBK`#W}gUrd`QN+07Gd(jaSu_U1x;E<0H zEa(9dY{_VMYlWETaGOkSN1|BK+C932Po=_l$iJ;7aH9*0Mwu}Vx-iR`*m(q*>n6aY z3Z+oO14HrD=-2vh2YOHi5-^!cm8Gr>YIa=PT`1%{fNk6!M@R#{fA#FbPKml)6~P20 z1`0*f8q`8xKe-Wgv%<12JnQQnyXU{?Qb5p`3iPpcN(X5cJ;>$v=-S#Z(JNZ_zB#(& zYdy@KRJwO;-RX|}^mOn3?R4D907142$qzqz zTB}j9g!`i#Uv|z~v}l&|IamZg&|n@y+5C0C-@AF;Dly%K3Yn4d|@i} zw0S@>)vg&21d}bg6rRfie$4_Ve@V5ydj;9v-77!*8A=y>_n#4K++X|ocGk1~^SiVL z>vbec`N;R6hI!SMe`d3l>?fwb{MAjWtflFCm> zqdjdEvu9U88A1W&6Gxw%8{gnN#=VHsa?*bB4?V>_AimbaQ4Kn53gAksICqyTN5su zJD1&}$mz((kWj;@r>z00&nlWd6UqA4QPPQ1{onQD=~bGSDuBTM6;91O2d7F3(W2s9 zLYn8|T-Uz|(uGlC$j(HT1b)7sgrKj;IXEZj>WT+fM&LD1J_OR4Ls*l*q z(0*St?x?Cn66Xlq2=RBXfAIcmuf0F3!jl#b&CDrGE$O=Fk~`|^*v=7bS7u(Zditi- zwW-ZL2jmZbwQJY=ENTCiKfZAN(wlb|t*M++%RhlqRfYV#{G9wl`NvUtlN<7qoXx9x zBKzeX35|WLYW%Zc^=lYDzVEu5<-IgK1gx>U`KST(A29 z7zKa>5}U&3kmea3T`C7PP8?q(!vL&C%aPcrM^Mg1kzT=ZU_koGHY{==3Tvr$@}meu z(76{7H1?;&I71DJEHUJbY5U7kF&c?($w^%6EDR3)04!Cc>mjVaVxT%7K77Y zh?pqBk>{-y%(hC8Bnm!1{Hf0!vV!feb#LkwVyxaMx5<@y*LL}%dvho98^~G} zG!Mgm12%DxTp%-y23ElgP>F!e<8u@r#M`blW%*7XNs4jC{))30i@_o{144R^Rr8*2 z&`0p*=TzY~ufG2^DI z;q(2Q)BlV7uRm}~M}+kHr>C!dWnn&ErK*Cu zE0x>r%5_Y=!9E*3GS~n^U_5eSLiybZxnwPulF6?oQ?HO%i>G#=8S&=)RljeYeqj9x z@a&1IUpOl(sV3iSmhVvVt^C?Gs8pfKH-G)@yI)IBZS@Byro?W5#*eMGzbgOS`0-~wIj{%qH??L=S2NXR ztHxf1SHsRpw0yA>v zFz!3P#c0_0114N`D=T_$``GdAPi)`*1iPhsjS;ks*I=%!9eIAkj-xhnU5(igD{-f> zshbOzynpf4|Gb7RU)uk6%gU84Z}%;`lj%N}&tEE7O~uhZ@RAp>z+(@yf;-KIp8I}x z!DI5P^955(tf|OqvWk_zW+iuA#iVDpn#>zsli$mvI=7$FZGCgP-e?YHo6X_93;UmF zwmN>eWA&Yr&E}k-$*7<8?giVAU#2(g{Ie=s13AS}aA?3%B=_Db)9(y}j{!}bz<8*~ zJ?g%B6!NI+Chq$f<~O#PjBK3i&fUL_9~G&2j~%7mH(fB+3jam%K`7{~!1cNu7L~(+ zy=h;dw&bj>vBtMm9KnNrBUkX)?+a+$*pYEY0AHsXIp-+-6y9(hF$h$CqJVmdLqK&a zaz)CwldWB7-owEOwgIH1fMZBlS);Sa6aa|k1qDt}&g~oVTYJssk3Tk>_X4fr9*@9T z&wOZNx4r$Zl4;pQ*Tg=hzCoX2Y{;`c@qPYdySUmWO6x80W2*PAyVU04t~7VT^GVy+ zhnU@kPx*$lr}N4$i@LL5fcjI#@d_-FBkZq{^@S`jHYmR$t@{QVp0)EJjtpP>CVHKC zwK@aG`T{8vN%%r}=W%B$ z(_Hb|gBcG?AUFkN5Y~VkE(GrtKO*q7;wN+fJOUo29}*gAigXo;osss59xv!U`MCtT z0Y-7tL3UXoH<G9z{;ZqrR6sUVoNd1cHI&I+7p&q;$?!N3uAwtrmOGDX%no4MwBE zYcw26x2D_tR;zm3LQw{z$I14jT^sfninHcc`?<&9(%S_|Fgz!CeQEma<*PGWbp4^j|Y{)20DOhSxob0p(vRs8Wo6THMV&gai%S?{*q({Z?zGt@82bgi}jd`<0OI%h}?mLwImJ5vIN5RxqA_FrH zs@2572~8G=#8x69z5(NV=>~rmtP)1KN?i~;E|k*J)1YM>DD}XM1K28x)-O3(Ze>l-?J=9$=Cy(7F3C?I= zOiomcQC#KDxT_pC^QMT7w4}n6kv>CmQNZ``#3MQW;Ul8Q=rkAw7UD+1DS2AAFt5=8 zA(0!o*B50lJByg6e69S~^~sLO zw|{F_PIhXxNfa*p$t_zOL`Qkrd0#$!O=hMi9nQo;ugPP(9?98#=>=I?S8aao(^>ZT zhF`y0oHk=sMkaa7nFW=1eN=iTkVoP4?m&{jrHbrYIKMKwrruJ`EsJt?C59YnzC*C! zQE}jx$A82GV{%*XJUltl`DgiwiySp_^I88y9q~t86c=iP4J! zOUleNTViVGPR`iymr8w3ZGBv<)8vY4j&06#i|cM)Q)97u{jKbLX4*CPHTjQ2sg`&c zEnW%xe1QwPR>j9#8~m4DwLLeN$2j6+6B4ZEl*vZl{wrR(WvDeV%`t1Tf8LPXfbq*b zW!1kU{S_xw#h^f!DHf-&ED-(&wMYUV2B-?j z6~eSPWM;Y7&#Oer#)Pmg3sa{oS+olnaA``?^re-%BGFb@dQ7QI$e5a!8S92~PqrcW z%%9*w@2k%r?vR+n>=#QrVX2g@V=IT<{4WbG{r+p;zjT3mV*@q6gZa~+$nVMWBaO)= z(wr-w`rxy_AAe~0qngDl_DX%?Ehd@uOH~qD* zwHg;Z@OSyv7j9++e|`O1ksR-mTZaNy$`}2WEw7hQ^6Gt0{p{86?_I%@+xEVSsR4Ns z&@>7TC3|*7(9tHD?tbWIUj@DF`(gVBa;IdW66dL8xw72&(=`%gnh zzCs1%*%DQD!bmw$!sq|PoyLagim<*d!1{JI(VBo(P%#kG@j!@A$c(}>yt)?AcAAc2 z@J=zY5+y+c4O{4OQ9sO*D%dbC07Zs_2{OW>#H3(>#ID;VMJbP904q|7Nu-?yyrbMn~K9OnSo4Fk@c z)L8C(P5yJcZF;~~_JlV8LqFap?nsI^<-%FC;u!KJ(Ug!T#wSog@j;JP4s(1%Im~fR zISKJ%T7pTGUs8NphLdtl@$8n=Zd<7rjaq-iUuw=|`8UZgd>Wmb;xa~$zD2TtZ;eJ9 zT`9TIpR$UZaXdqZN7Igq5s^!a3Kj~lCj;(!JkeM~M1#cqv_}Ts%8;Hh zH12(EWcaYY~)7fzL!mxZ`r)XYE+ zt0PLtbgAx?I7Pm7M1JY^N97k^h`WTX8fIm;KgP;mi1REbqDk8un00no0QaC}BysLa zx3F|qR+-lT;-vs4*|IY6gBc`0&i*HwK019KPci|*!?%>)e^1Fn^I|@ak*BfZi{;nY zyPtP_#j9P|C%d zIzDS(x!~yqYn5Ecf2Jh9=^Lm*>{(AS!%FC^F4wi_dSGSZB6y*CRQIgzW!*cvk942n z8zGA2hoCFA71%OBmJ$;}uWT`($E@x(gc!ZDg-~`0;6^B1i7*L+hrI!1y{AYTqa2d@@6zTCo1Q!H`o@u428IC!p?{x+;^E?Y0l5?UBS4;X7dxD;~Fnwu*TU^wrhboN7w;8N~lBoLGfs-|Qr^6m6 z2+l;l%xXx>v088$i^-UZMLaqhS4nhP%WM4Bgv6RlriFS|_PQ@RG{wp~{yIG%EZUUo zugVZZ>+5|x4?i${#-&@97wLlyF}@Rnc9YvxVpFd7iqUC_a7yKjN)&H{44Es<7~^)Q zj`cVli3wAjPDi+ket?a>MUOv_72z=D&!M?0i14E< znc=Akr;1+YFkp|BV2duyO}yg#tJ$WZ$8Pq0S2##myV-&$Vlc3FA#2Kmc5Q-#L0 z5dz+Ga;S1VUEFbVF#@!6v5 zh!ce$wCeIJWPazJe&>?M~T7=80Km%%z<$p*1`g0SAVL7MV*HckBHJs zx(s}m8rCDeNedfv-)7sjuu&Jww`gIL&drZ#VT&%8Kcj{1y2*k7-b6p-jkmzhX%}o^ zbi&7&51O0JIJbx(G##NnXf$m>H~1emZ8;TqtN9^B958d9Djx*_BnRC2c=rLL}j zV9Q`vN9VAwzIkKBH@&&9ZHq5ZToNwy)%5iElvhK(!N^c#aATwm85+=@KD43+_=!sE z2Spn}bbsG)&8Emue=i;uBBlfKE3@Y{^Evd%Nyq}q^SR(#-++v4WW;ybv|7X-&TfSF~Z~hqFWjn z9O~-t^92jb3X7GG{Lcz+#D_%iDb#h;r4bw)Q78J)4gJcsQ+e}ELq&O7k#4+U?Z~0# zRP)d?btjcIh&tMkzE|nCZp1Ysmg2jxAdDb1UP>Qw(Nil@5796-_C%V8A{eLk$e?ey z-#6SD@tqmkp-Ag6eRz96UgAwV2Fo`**xVNBZ656QH4hIDcD0NsN&5PSyILbd+CUGY z76PVohI(+=cY3V92^Mu{U`eNd>@YyM5+r&NdQSb`=CjHyRK85tIXpZ7y&h^_vkFUv zUH$(}2}KwwwO9I-(JDgbZz{8>2Orrt6v2Ci#-ZE4`p2Kc8wN^9z$xJ#-EN#QU9GzY zwu1KRu406);cgXD1+m@36aLx@U1YH&13UfBU`{0vPIbGEn!R9GPWFkVOFwLY&BcM z*0Lt-|C(6~@Y!cN8*624EW+AZ2kT^AY(47+^Q{;9l>KagZGa7wAvO$?up8MXcq8A! zwzBiEF}?ueliS!RyNF%PwzEs%c5o-#1xb?2pt`z;UCypxSF)?v)$AI!mtD*DvHk1- z`xcC{UC(Y{H^N8IL0ITM%#N^|*|*s(>{fOgyPe$uPgi%byV*VLUUnb*4!fUymp#B9 zWDl{2+4tBZ>{0d@+^s&ro@C!=PqC-j57<#y<9wDq$9~9u#GYp_uou~n*-Pvv@Id`C zdxgCUBf39hud|=CH`tr(E%r8hhy8-R%id$ZWWQqXvtP4g>;rb3eaJpyzkxN?-@$Xy z$LtU6kL*wE6ZR?ljD61j%)VfMVSix4=7)jl*ytck(D6&0XBhW4MQVc`T3P@jQVi@+1y^3#>Y)@-&{#GdL_q z@GPFqb9gS#c`5L~KH}Q46nYZv( z-o_)m9ZCR% zG2hNF;XC+FzKdVVFXOxU9)3B$f?vt6;#WgcbuYh`@8kRV0sbw19lsuQ|Bd`6evlvH zhxrkHGygWfh2P3=F#jHZgg?q3=tm{3-r4{{cVBpW)B)=lBo#kNETa1^y!cF@K5wg#VPk%wOTJ^4Iv!`0M=V{0;sl ze~Z7(-{HUD@ACKfFZr+d`~27Z82^AD=O6Nq_;2`c`S1Ae`N#YZ{Ez%k{1g5u|BQdm z|IEMOf8l@Sf8&4W|KR`RU-GZ`34W48H>a)ewVPskSv z1n}a7VxdF`2&F<07AV6)nNTiN2$jMlVX`nqs1l|M)k2L>E7S?~!Ze{lm@do^W(u=} z*}@!Qt}suSFEk1ZgoVN)VX?48SSlMn~gl3^dXcgLoh|n%{ z2%SQguwLjEdW2q~Pv{p0gbl)=FeD5MBf>^uldxIXB5W1T6V4YdfD*|zVN|$CxLDXO zTq5icb_%a^VW$O5rNuYT+7TuW+rfPuMRU5WXc`CtNSwAlxY2BpehD z35SIv!p*|Bg2=@!$6&}#-lRA2uhlZryk)f_u z{ZOQNu(i_|>Dw6T=^uzlop>G=hlZO6&2(vs^bQPf5l29^i0xfHy~g3rCQu+95kA~$ zpm5jFFz@fy4@P?XH%1Iw`}=#Fy84XDy?8^<5?BLfsCb@jFMZ?+8dG;e8Y?HX+DiJ;Db zNb|4(OEsvfP9rr%DX^!%wOefOY3?xNW7-Bf`}-n8=8gS5BfXI(w8x?asREN09vRSY z7;Notix^ta9k>g_%^f0sLt;yRf47k?w8BdRgI#^Y`qt*&$Y8Tb%PZdZwCTHso3RjD zh9jGYn>r&z1)7!crmnW(PBY$h^fmQF+J~)b5KHE8WYD5MD3qa14X+;=8t!V}BGR{5 zy87CXPR*xW!>{q|sHvXV|f@z>l%BMx zL8TQ&H9Rt4Rs#w|C|yKwgysx&ZH+XwkM#6dweV1Hb5D;mvbnXVxwrXrv&4?B_F)l( zV>{-^V8j^N0zkuPm?+TN(?1lkqQCmO`Z|=hOX$zOh_SV~C(_r}Jg6VUR-wPw(AwYI zi}BX?Hh1(zhRx&sH8OCzAE|u+_u);E$gmBcJ}^Ku?5h8&g&CfB0W8p zR_fMvbnI}%+=*dqQlVQ3(tI~4p^*WTa;FZ7Qh~GS3`9ns6{8g3I4f#o;OtCP3~+dV zOGLkE5Ocm$8g3ry9?}D&qR&h%gI$sKR%~L-1i9)wkvazZM+Sga`nn|mS5 z$Z!*VDdq_UF-g?`b*n`UDt(1{1I*qxBo6ft0@QF(vKf>RCeQfFMj(PULWMOE?d}J_ zbO8R_uq3tgV~i~tI8#dNIB3%Y;rL;|>o9hC14cmlAjZBK7!f$n4BXxcq&d>lVgz2m zICn(sN*625pry;IKB|yvpry2_x6OjQ!=3#@==_LrXrybHM$AY+MK$VMu~0=KSYi5s zm1(6^mJ|AfmXWR=%$5!#G7r$YV`}b2?ah6y5q)o@t-EX3(oRi6E$bs_dIal0r_%3Y zdvSXts;z$n1J#6f;!2$veO8PLe`iGj{?2-)Q8Ay%Z&8CvMxz=gjH;ARNeyk0p>8Z2 z`kv+ix+#D%Z0+rDq3=>=qg8`<1>VdXM*4@ z*#IiVra)PRWx~p085+Ti#PsbN09cQ-s39aPFSQPgY~4zI*A;1vU;(89iOR8`2@;{B zAL{Ii^t9Q>7aFxSQM5!g0lfl-M!JSN(W8Svb`e^5Hn+9`L20YDf&ml&IV(m5kh7u) zK~2o0AgIpa-ky-yIy6+O2W$dmnpLby9jRc^A*_xrzrj<OOZWXSXNDEchhc(j6pqt1Gw_b9G3NSBax3s%#S zmWaBvX%FIN46}(YO7!V8)R~4hzzv9MpmY#`n|t-`plQ1Yh32+CvAv|M z#NN_1+ycZ7Y^)9gFk#Q2Wmvf>QI4K|RCI=zvQ2m%8JPH%;L17Stvbawfz0jSG-SXu z9qjLFlQ1zxHlvwcEwr`_b#EEKqSik$IJ98|ivq|2fJ(o<9cZ~HBGQEx@ZqijVQ7Sg zHXJt4=B8_7L}(f5;2XQ8O_8paerz22@P`Ct0lV_;m<}rDrnq2?`T^r>aF0rY)2pz( ztsnG&vi;CHzpUK45u`Y%Ql(8uRbFgUS2iW0sh^?(bSb3^ja7MwE@8Tq(WRU&6^4<% zu7;ADV)S)$31TWJQ$;B~Ql<*ZR6&_4C{qPxs;Cf~g2hUX778Ipuo%?@i-T%uwJ0c9 zj7-5|WC|7|Q?Qsal@!y3-j-0N63SG9YJw%GCRjo_N+?GOI4p?)>g>sZ?&8yc6tS?auu2)h})>5rX_)S#0r9Q0P zsqi3`5u{p!RBMoG4Jt1vYf#HNjVcaN#UUy-M43XADMXnfL=X`ohzJoxgo-PqjS=8d1PLTUR91*UB19k&B9I6XNQ4L^ zLIe__5~?IXl>{gU0Yiv@Aw<9sB47v+FoXygLIeyU0)`L)Lx_MOM8FUtU#BTP9k=(tdha0PlBIdGvI7<7av2Mv0N z20es9$AxmxpoeJCLp10i8uSnidWZ%+M1vlpK@ZWOhiK44H0U83^biethz31GgC3$m z4`I-8p&Wz>LWBuIzy$4qvWPN20_EzA3Q$d98u~B|eOSW>fpT>^1*pC-0YI1lAWSGB zOt2KD@ekAZhiUx7H2z^4|1gbzn8rU$;~%E+57YREY5c=9{$U#bFpYnh#y?EsAExmS z)A)x2>a+~hXf3Q!=X{_hptiiGRJ*GaE>NR2wML!!ftoVyeYtiYFRw;>uGQ{!+Pz-8 zPgC!;TD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4s8qy5Z zY4z4=_10?v$(?k d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/css/fonts/fontawesome/fontawesome-webfont.woff2 b/css/fonts/fontawesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Bold.eot b/css/fonts/roboto/Roboto-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..b73776ee3bc194caa8f5839e96269516ed65cb55 GIT binary patch literal 20966 zcmY(qRa6{I&@DQ^;O-1M4DRj_+}+*XonXP;-CcsaYjAgW_uwH3p7Wh^@4wEyU2Csh zRb6ZMOTTn?^_eOFK=2=+|1%)qfAjwgC_wLj0T7^|at94K&<6ul!2j=5Ar#<07fKoZ z^W*w|s{b#e0Mr1^0JHz#@gD#H1c2Co>;SO%&u0W^0W1M-0C#}xe>tcBWY_@A|AF;C zV*_yh2Z8@`?Efd?_^%%C|EC51|0n?fV(QW=|992@$Aba5rvcdA0qi~ihAFJs%a{po zJ?%*weOI|aZ-{xf8>2O&v-s5i0B_yn!6#ruG-#rkGHVBzBv-GDY?owpEnz3@_Y$?Q%$O(1h*HrXz zcq%#WJ)Mo_*gK8o(hF~f%`&aEbByRA_tdHS{=U(nIT&6hng(X2>9}>YxE!qx%BSku z-TWH+6z$`5xj`=2z#j>!T%C~10^qot!A3eSkWI2~?kEEo1v?$ADbwUs*FiIpCDf$p5H?nI^n|qUmkX#iD z33;R5D;_O!&1g(9Qu^$2+ki{tR!3vAxi-U5!3hwg=d6JxE;W03&@95~wq%8pYkTp7 z-cD1-3UP@)RKt0_%RwWq0&;1^0X2XlZ8Y>^^GqUdB77tqO$z>>(lPQ@BerlX+}SnC zf^aaQo&pjD4*Jj_5ia6J9p0!i*c6bFp;zHm&Mbp!LY;t^fV^YG8_GM8GO$-Eg~5=G z*Yp*{_4gq~H7r}#iPVXG4vf8~rL2v_z^mp0^ovUfF_@dTr@pxvvj6odgm9{C)95K_+JQjl{N?phXzG56%$zV7nrh?I0*A6 z$f>j|8x0%OCJ#B;QKVtMky+>_hQYURS-AI9oqtBeA%3Pz&!lL zILBcqCRE7>AvOTPKp|8Ov*le#N6XfO;m8s{K=GlNnp#xDfSg^NB*F`m8*OD+Vj=%h z5lD^3LuwPt9v~fBoHf%F8l#n-hHud3u};e>1k)HM6^v&oO0*=o!&pjyvlOzzS;Q4Z zb4}TeTo|Lqw8z5~7?HaQJE1LC+ z+Ld+5v-FP9?Pud|enERnMTTeMU5@?3QNj=koFW?I`K$*$iUat>2!$+?SpaKOMXiAi z2$Xr4aYw{tQqcHYf&j>C5nVJ~PbqZ0auWjf(Vz%K8k)4EHe6&!2TX5l0wq<&SfYmj ziDDNG$BZzy{O3ODNb$%Y7G@J#VqQYpmUZ14Mu8|AE_PH}TJbnZ4k)+43(60T6bF*( zniqzqrFL6j2oiI`&-tG2$A0mc`n|iM_kNVSbR<}%IIsaTU<)&Od@Kc0Rn}S%L2w?? z9JJLCN5e>{hI3ILQ}sk3B~khe_-P2oXi7LvAQg3{k|h;%_WDhLuI`yYL1b+jh5AT9 zK?mrCAIB)hHx+lpHe3Dbjv*jCo-$!PX<3TQ#Fuoj1)^sH8AGV~c}kW)T;HaZpMKym z3EMm2r4+U|7$z0A7uIVkKc&7;?;aepSTk5YmXjvGOwQv35C<838Q`nfXUIo~Wv8ae6*M-Mcln$3iB(YnZShL&WUGxx67zyUMmkwkOemPQ zf4*?~WQ-8M_L)V8ev)z;u81){+5D8}Y6ABD7)i5{jmb92z(O9uqV=2^Jw>wr+sdU0 zW^4`+FqJb8>7*)C(PWbZe?mg$5ehJPAvrpjGO#qkZ88djIZP$=qZ-Q491{BQ7+i(q zqDn0m(D^@Ja6esQaPk%nVF($}k}r@vQ2ijzt3%FxhPbWd!Fqg(c1W0CL9GV89%EJG z1|=;bQN>jjb{~9vOHmR}h?F04Xu?8tOX~}fszG6u7d^0Hhi$kx6UMj)%wt8sAF1KO z(etgtSecWEk6M9;AN#_T1(M_8`EJ?+=Q)rZL5wpb`2BMr^fp$NSde$#v#`*$D4=8?6tMncLHk-P)>$e#g=D^yA-5aFs;()6 zb*pw|I?`G6Q?guuEuEt^=hbuBmM}?p_+Zl(PDKX7Z>Z;q$y~H

          $uh}9|_)vlhC+}uEfuy+v4Ii* z&|0GNYK2ZYYw@m$y0G+YZ<}t{q}EWg^(k||&PTTLQvr)nep)hV13vq)sRcT29Bb4D z>F-o@$3ASUW{XBw8>?2ZE^>r{i@VS0SzI$*?0iq-8yAEj&hlCeow zPobP~M;5~e(ZQj+jNDIz^t64yY}Imqu|$C==c{H|r+g)17&1|`m>U($(RAcY5YZ9S z<~YB~K1W@a8e-=PU^E<1SteTh?_T2L5aCyjsn-RYN;aI_SJl#$*^`uE+K)fH1MfG3 zl)oH0`C@{ageW{7d1qQ^ka@?^Ch&$Qt3=D2uI@2mcV6UBD7iZA#<0+}bUwH4t3$ra zO(PN77s)KT=_GKbf<785w-j_k-(6A)pyshh`zGKW;4vN+&r{l`K<&Blb5w8rB*5GX zSPe0##$qKaKTaM8H`em!ztyJt%Lg*elx25R-mbW`h^VIQq=x^hRaSd*R{8HT&`nl# zY%eNTE0F7;@r|)#BNU{3@?6Uq3u`VOKMubpRF4V4xkR^9FjJHyW;&5ergcgDc4$`o z-GVQu*b}=WxBjg$j(FTX%fD@UWEh(Y>+_Py^W*dbtevrU`NWn%i>JJgmk|sTcabYZ zOSp+X=hRR-)LeK~6*^^+f~b=a_~GTwj7u-U5c@pvm0BIP@8#OQ`rWw;5&Qj}7b6wS zV5@00#Y705mDmTAqR<|Ue4`9oBxAUW)57B}Q8oMrj(KWuXty>~v>>r))BvkWW@Hnr z{NqrBzFw$c#gF*Ci|?jihQ4N{Yr%E7jFbA${b-NdM-y~O@>z!`!UU=}mOQX|hMksX z8)bGk$ohFxaOAMz{FoU`uBA?2 z3;8DT6!A>C&=}(PJt7}zC8#3zJj*Gtg_chKbVP|{DPS2%$dPS3V^Z^ESPMa8iC%8 zAJo!&Fr}|d&H}j@XHB~gQ0gOod`y%N1|Ab2n{bY&V-38*iV4Hc zs}^i{=*5SHRRR+6w!Kb>rxwr@6a3YnxtOp4RutJa^SuqcyI zN$yL*yDZ70YO%p^o$7B38f2 z9KFAKIs(5r8;@l~QicvLX_5l3W6yQ=i#WnMe4dz)RB$#~88Rc~L#c4+ar_k!9s;+7 zjwF|26C?(#D%kaXM#w)zph3Xb1_ba5dNjch1iBH5cSk)Q<=+&|@6#&$VN9x*>3ICK zH4)2fV~3|041Zg3JcmX_?C$381zPeb55)>HD~^T0w~wWL7@m>%QQk&v3%%Swnm4q( zSW<(>??h_l+iteN9(m;c1L>~A~t>dodG6%ML$y1Ud zR8-R!yES`ly0;~!0|248Ll~X8lZowou%LBeievS4Hf!kSyf%_Mzk%Wel_W|U@$+i4 zVmV4?k^lE!VWu1)@hM}yW9#yl=zjln9qVkTLrYp#a^GFh-q}(qL@XsKo_*)_9{Vs}#8m;zh zUgW&MWZMX-Unn$W{F0ym(`0+{*A`aLFU;1D5&tJwHj0O{nE3#H9COGNSv-;ZXR1~lNDeoCYa2(`d5AA(FarT*G*RouZ{#$iwWAq# z;iuO3OuQMj8Vyy+_GQQ)HN|u$wl1@mPmEWmMaW47>)6bMJG&5XtWIYeU~}oijLXC~98jH*uJ^V; zVxOh5g087vfm^*&f%oY20yN0bv(ZWu5Q~3EpjDiWVM#4hrk|(!X#vo$Tp)JNur^4} zqAVx(;5ea+8{z^9|7xb?W4v0Z6JD?=t7~P8vq7u$T4~sO7)AIY-e}a+1DgO^Qg8of zA>=!U%k3H_e^s84a!KGz)ahzG`=8nDW*hc#g>DCY@ z%$T_Bx+!&9K6?tSB1Mdtxd|gO_oe z8Cl;}d?iXCO@9m;fhW4VzpASlj~YSd#{nwI)s>w4=33;Ur2Xj_QOYEa@YEJ-#BQvm z@qea=DoIm2Mh4TMt5l*VKyf7TsfB_ejmi4%6gxS8ws;AFEy(H;B5cGPX6VD9Dmwop z3&3y8$q90>lM~6e-w&Uth~+pj(QPXDtx%^`ojXP>4Jpu04X-W>e3)fxAL6!2DU$br z-+}xqmSW({uuUY7qOV^|_W9@){MUEXv=+{1({&b#rot}Lj-O+yoD|Ula;|@U-+L=T z`?HNID)>F9j)6t=iMDyWn^lmL)I`NrcC>A*q%%uX4Eqz7mYLoB^@ow9$%ce@fs`y* zzuDd6Us}SK(&QgyZq*{m@dFiJcr(*~y{R}5&`WJzBxjYGrU}*${QoZXtxFe^n?i*u z6^hhbhoxQTJR;N3g1AD|P^%=%QiOldSikO_&8eWL9bry8u`m4AAXY8JiRm%d%#Hjy zi5F|S0uiYQ5x3tZ4|n_iDMQ}{?b?XRv8>=NmY z12oBls*9xw=c0t{>YyJYsLSnbT6E>AecutH1)VG~@Q!ud3A2%W+cX-mhizvQ_q8&r#}oVp0X1bJ3>7B>RyWU?#^s2cWS2S=1(zkMV!dgxs# zQz#~93R+dWa3UfZ3OiLes&0J6r{^<&YYxyD!R?c;J3#o6DGjm{MP2_Df0btCl9N|_ zFpvU5u!ASdVD~68H?ppthE~pa zupu_IOID{vY%!fTpv5FUh*Vi2#{9QA=FiYV82CF3cDPD1fJTEZ zS8Di)_*PUGBh?O3LKBhX6j4J!7#!+JGkK7Mym&B8R(iuW5wu}KvuhD4Sok724O zb8*F3*t4vEM)~hN_D3C)W=K0@PzS_#*p|gagl|yToY07R?Gvir52#S+ z!|`~*__yU)+QN`1>QhdM=3F$^-J^wytg*j6_C0eA&UCq1?Lc=mVm@M2HVA?wk_KTd zn${_lt9}X-1F9D<35A%K;)FXp15imK0=;-Z-zHTmfg}|cvDag6Q&+}Okv)^>>D*U% zpumghXHTlT_%FlxLe-X9;27qGT)5-czUL!T2t>!2I9R)NGE125T)OjT?}jIl_d-8r4SO= zSV39-gdRAmp`LEU{yaaC^Zw*{H~wTlJm&o)k??|-YS~F6aVEnpdtOSQ;1(h}J&N%q zOCgy67EO28ZRe_=CHePTNXLC?|Dtucr~>F>_1Tu6b?VAUw(74vQ9w`ft~&h_8fV;_pmXUOKA-Mha0w32nh`kK`Uul{omfN2X!w-ZlaJK=b$NpOGpvuaWKc zCIL83jIfp1@$@Z|o2Pzn^jfgc5^A;A4Yxnp^Z2+$vclZxiG!z9hbfwNh)x%D$3}3| zFgr;U6)lSANM-ruAG=K#R1JKV;vl0p78>njvabZ?5^FWucYt&Ft*s+0k`Eq3f+$4z+7R9BTj_cEQ6_#vjhaLRFBa zPm}SBHvY52>Rw)*tkkW~l^_9bGU<9(*qA+5>DTo!jY^hBI(?d6G1)OzItoW|65U4o zv%I11e^~6@13;1!yi;|W9IV0wByp}}8XTd-kQ>}0Y<&DSthJdnial=&doWW~Bh84J zQ@ArAN5uk@8n!GH{Fg9>aj+nNB!C2OfeKLAQzjaAWZMFz5c-~!wb~Z2EXG~U75TM- zGYE!cw|?NJTgM?v=cO-b5bb=Nfs*-rixlr`D7H(cRD4PmcN?^N?zIR>{T1B6^kb%K zIitx~IaMY0DV^iqzTWWwmjIZ7KJs#bjo52b$`7(wt+$q*qDAi$OE$o>jdzgZ`!r*5 zP+^g2B7y806-}l36BBtisANSzgVDj`Ko0o6u>VuaMhTKgUXKKrrfr2xe_A%@U`2XI z^J-qY01NuEL@Yy&8o8cRURA(eEgmEXHKqW5=x;HO_Z)CB_k3Plo)6{U`cw0gU5CzC z7Oukw z6p%jBQD!(H#diJUMpmt{Lw~!HBbwyeKu^K`)}Rd76Yq1VG)YDp)7+JK${*)X_G@DuOW0DR(N3uM z7By;p*@qFpwB{Ew8~l6eb5+lJ&ng-hKA)KM0*0i7@GJVPC?>J$NIpK40ANN>9-uYb z-n&OpR=}>7^t7Jaltd3Hm#Nd*tL(xL#ayt848IvblT@ErhhkNUl*fr@g^I)E5C6yD zPdlA6xarcUUMHaxB$A|^m^%y7wjC9KK4{J}0Uw_rNKA#%CkU5lPl&$K)`BDA&zh2j zyH+SJ+7 z%nb63DM=4jY3v~#kbX%00un?p=nD(3fnkT2qO{6K8YI`36f6WeFC>(X8XTD8#8YM2KuSA zO4X(=!k9|gY|gXMphl#pRV}gc**sO5rpggu&rFADrIPS zI9}m$b=#Bao&GLmK4=8_xbJUMob0YPs16fW%r8ymW|*;gRg@!;gpSZV@EsROg^#9T zM;|ufY2XK&o;O;rvJxF8LC3N-;$uG!WeMMk9+_*txFFu`bkmxDzLCx%YlFnQ`Vuz5 zQ)XHAZ*$rgSH16ZIf{Rwl+VuScXq2rWg1XHg6NIII-GV&EC zfb0W@Gdp78HkiB>=1uM|p1;dipCZs-;mH0PW)?47%oee=^{2dO>{ z-GP!`4l7)`E$!`$6}nLmYrKwptMnT~Nm|GCev)s!=-nSn^6??Z9By~EAbjFld{@`@ zQz1;tIb&8Q!#Y$F?PHdmzcN9I8qNye1)F+8PUZGAgRvubV~r@#f2r~j*gvui5c5hV zHXBoz#GSNZd)4C)Hdj=_%)IwZGnAmwM6$}vwyvms58h}HoTr(jLoHhM%~T7)VRp^> zzA~DGi>8y_R@38-VvbA8N>0=SH4!nh1tb0F8Db9XO8$Nzrytro*8WQ@$Jy53NIxFw zoDwxH?E)t*Z4fCYFewyCrpJFGPlGurOca0kLx1b+&mgjMND^Nw6%1l6PW1qm6mflM zksBrSN{xc5({b^gscsa~1O%wEEuY%9+jZ&rbAcsX4iXzx%ShHYA z>P(Md1MrEo^1?~3N5Lt*1q%2&%Wh`GF>3*iCEYyfRh82Sk^{3J!}J)FDM(F7_X&Gp z+ubydnCGt6H@=N~s31YweMEp-4DEB_<5Qn^vrv#hWWrY0t7yfOsTdm~YHJtO;tttA zPu#x){A84fv#g=T6hdi9dh0FFe8=<*=m|QAXt1i-LR&45|5iBRb4BJMzgoO8y|D6G zL=>IXH7kZ6F6DTcJcMVDvGR*GCbD(5)MlI%gaj1XWnhuaXg1mk>iP&3T)^uA%*=ut zqzgAviL-<}Zrpz@vwVXa?htNaaOR%wQj;ZPxp|+U&T6%Z8gj*?M@->pO-UU&hOrWP z)c^6E9>Gos{gjwRhil?Of2l^`sgtf!YG=9wgODSh@HLlULj*5;|Rz zw&KLf9Je|TGW*cA_{|THDy8l6a4A0E(gZQ%_DS7D``l&L-pLdmZ!*Vog;q-?%jP?? zkj~6GYF-`wozGdXO zDq5o2X0m_K+Sx(8f0YQF80imSh1QO>os1Y_oq=L^3eZ{Dfjj62A>ZB-RkeGB`^;3* z+qJkmwKf75?!Uz60QNA*8C6wju9$ZwPsbs%?Y|RBzXn`-KzAd2Vt_>J4F~4S!@Txm zev|f?d=MYTuP9N$(-=$JMuw@ot~diX3$L`sh-shPGpiW4N!tm%aW@?Agi@u{YWC}v zNrh*(C4K4a`%dMgt`sL4X=c){i__h|l#2EQ>%ea}Hn|Nl8bL+n1o87X%7T%` z$&7dg+*Z3F$zSZEXxG;=ib2~ISM6auT););FP*(=?N$Vb+nEKWkD#*rnjQV>VWEbODOV!+;vO$SUYCW9oBhr#cy>(4-wNSrU_@zLE8!w~h>q!fE z<2f|RI*6{zdKndtGI&SEaGUnTtOX#Vf{<@pb0f%8E8V}_xCb@esX@e!Bncn`g4F8J&h`)t4|e@S6iX@IK085BFoSwv;l+kB+1R5>t8rTL&EIZW#fF~A59AoC<3p! zzp%P=YUzlsiEzf?QF|&EvnDP~Csl$wx_o)b&b+$P%6icDRuWevH;FxV#BWB(H((n#BwzjY@ENmR zrz3eM=B|S8?>X#n?cWj@F{~lV=D=T(QKC@TE#EV2>{c{&4&Dv2pH>03HX64SD zu!Er2xnhM0;772!B`Zq;t}0vL@RrP_u)8wmBsZM*>bRyna>gv6kSJt1?v%I;v{((3 zkE15yH%x6Y$vLs!Mr{j!83<%u8J>I8fnX<}qi?ff9=W^3GwyOfX}0s{=E96yz_l=< zXB|6X-LY_3<4DiP0}DXWH1nu!K^cQK@ABz9IMvv4si+u8T>QV>tq^vs)%=W+Us=Jp z@hS30AWBYCVvmHz#Wbo4tbO#uKuiGYOlHW|YyJdGC|tRhBs6a)0M7~b_{{;&_H>HX)(uSq^|vnN-f zg)T88!PLq(FGK}+o51Y4Int+)-GbAx-39QhjYWAsEmttk-8|byNBnqC)+LtQFUd)6 z%a%i2V7`qQmXVDs;jNZbH2EyGLK$!Ar&+K9Ir3Vl==e(FO5x58{YkdDu&SPf^8@)G z6DTG^LpU}=^oIN+lXvFpjlK5qUU?M68!p zwJYF8-w`w>*b-R=cvSGS{`ue&*Sv5NJ-x_&otVwZD*B+`*kVT$1 z&QnDNMc)5*hqQ~lhzh(b_K3UkPn@=3%kM+{R?5NGQxJy0n~T$^@79ilM%y?i<(YGm zvwJ;Kdt6yitf-I-XYT5m8%D$>B0_$?fHv}0xJ6hj&bZ0a^0_Za?n7w~SK?iVULtAn zOozwC6&PHCw2AP;UqlWCc_j52OEDzGM?(;cB1+gX;CV62Nz3y(z0y1qS8Cg^Ninkz z9@vqWlY1f9Bkf%|_o+_4v|Ij`sy1g-CqIrx4eiiWYrgG|JA3QMtFXUzVCa(I(|83= ztA1u-LS{Z6X)4OOO51%^N2apD$&Ker(t{9~7{BalK^+%^!cz0wg4iP1%{0WqC*@j^ z8MONBkhXFJd&I!V5PVfBu=q*feUzb1{Oa{|ZRV70aJoRHKf`(^4t453>2EEi_v(KF zBag#RT%-TGZ;->`D-cFvq$`J zgw&lhqnpWs;X#!mR&rtdH5@N9RS%HSGs9C@<80yui*jap4{A0{VjDO~W7^lLAKD3g zJs5lkAzP0tY$wt1+#tdOCufx8FaNh?Nx#>em{lazkT6s2Y?Bv%j3$L3 z{7))xuRgk;FD$+n&zXo_vsw9sHSD2k{4_y4{4jW0;9dsrI)eU+yzcBQ{Z`T>!^rAu z-T7(_ML}Rj#`{6B8^3P%^Np=F!unql4LcY||AkS2ee-u)QcDyvmn2i3Q26Zl6(*#WQDW2b-Y_!hGf0hjblMIc6Ke1c_595!)0*J6+#@DIu}CQ3jHbyoXEoRkoa zTKkY!uqQ>Dq~k({$PA)bhd4lbpPP#Uy2R^ z>Ai=`^=Z{=xs5bM9*~FPRLx9YCBBOwl*2Ae#rQbL$K)9M6g^2R?H`jzdGY=Dzpnm@ zrpgTrMl=fqGaxy12h7r&&(lhRm>n=UDzV*;0w>Jm=i{lfkyhwVuG?I=z;8RWS~P4ixYcGM_gBCISR(4#f%ExjF)G zPoGDUaa8w3dnKpm0vDMl^&-g78lQGxOHmXPnTp z6}}A+Rb|%Nv}yON!dDz`ts)5Ga^fVVh`4BXQW(IQ$RJgNd8*Ye7;*KH6qnj0Y({xa^ z{dou>pJoHt%KnsBrYIFSCh*UuNgV2S<;$BPq`>&ELqKh%6LSDR@Ofh%NEmWK~SX(XR*v6J&q zDT<${t*%n0)gxcKV@!t9MbRp0k*PKy|0`i7=ejon)70T>G5{X&n}U=We&DTg~a502)MURmKmAELs6h9hct-r@Z-+ zpS`qL)4z~!3M`|kBDYOsz1m!aST!i1c`gX8(r*LQ>~ut8pWrNjk8}n+VF-95S_mO z*FMx%!K;2pauGW9)gM||@p2DN_(q=G8r^gm74IL~?J^>pZXs<>B&Hre>)_X!i525*1n}3{8S& zx9u3fj_bpEl7jMl5i}0OBIOk=p+_P+NJhs|Fxga!#41AEue)SJlwXXp0-T2nmCwP> z7r5@hoTqNByRb?Qt)V7UZ~r^yxbR!JE4_(ZrKxT>;1ehf0)aw2=XHJ%LF?hC?CW?TCkbo45D*%3te zsuxNq^8PBWuo;x_7)W~zwLBS88ikxlwWfK1x2HH|-?8C%%_=W(nP`H&8CTetH$ydxSd}WBxz#hG>?68mFmtKW>lO_Ewlm}Uhk^3dfy0X ztAbG|p}!i?q&d9EOMMOY`(oy@LVcMxUnXv3jZmtB0{yKazj|RsX6zgf6-R19z2#Lt zE{#?r(Cbq@0CCaC)WqE83(WZ@Y(KEyC(G#vYHa8qmf`FWC6z9%mvtE@nDL)Re2Ks> z;~FX!n*q}?p*igX>3o~J9SXfGjICOPI#-a} ztNRV*0`2s7yiSNF@!xo$Wr`_4XnjX@YQ_YU)m=vBGRUn<%#6@^ltRk3FJD1wFnC!h zHFT_chlbsIf_U*xOwV;!=#^mZemW0G+^!r+eRwP$ueANxKCz_d#aa^u8GTEHzXpdUt zTnCEeqXZ>%W8n}86s=bg8Sw|iz2oi04B}9h`(V~UjFR(otcyWRoVN4 z02HPBKpKP_2ZV-R0uGoQV~v)rsjYdKr3mWK5w}8NjXJdhd@**NFgrpRJ*|3Jbd$Tj zj1iie{cyJUh%)OCxUCF0;p9Z6fi3g+qKv(cC4+SZK@;ecLVHTO3WJ$1$;F3gi=h1& z&D*w#o8UogvI4R&YXXdyASNaOv7`U!5E_XR0~x#?nDpFUM@^GxgmuEC&+)oq?>+fv zt9!i3e;tsf{5hobu^jlr_nq@ENGV9c_=SocK$7k9Df#*oD5Dk>1G629mfP|3+J|C^lqI4#GLGE-#b zcN_Ln5^k!^M;O>AgvS=ZJV<+I3IX!nK_|P=XyOr0YbfMB6-Toyv{;)CS8v``gpQCz z4}PCB(7`~Xx2~o1$v=oG&o#T=5SSuEF0qAq$nh_LB2=e_)#gV7U!~|H`St9JYzg#O zPVXjBA}#CZLyBzktMI8{{%$Xrz~$K*OYDJpnNEr!N+NC(pB~2q!URKrBZeYN!^aH;ptIjSE~`I+t1(wq%v!9EpnDt z4Speo|K;s3#x!imDg)W2<iIM>*-E} z>6Du4k5wa~ud)%10nb7q*@A|WmO9rc{*!E`!a$viDd{0>=IjlxGYd=;r&GP4>PKI* zL!Y6ye<5=IMJ$lmM|oA=OHiQFHPTt(%`E(^V_*N4&Ia`lk7QwbaahyGs6uC19esdV zj2Of1YQnHr@7y*K<{ z>C#awVAl- zencOTGXTpYlen7hCUGCe!0Ffsg`LawEo+aEv&!2MHgu>{_tNarh5Zy?0y%H`bny1< z&G?R0I(){J*)Sj@W=+%|{jD4Wb8LeyAXBUGz!8t>MpUJsImQKPNsJqs;eLn#S5)}q zc&iB&Z^NN7+zaIb1!PPc2B4rS5DwvK z9)h-Iiup4+(SqQQ+8-|rIyf;%d3Gcg|3Zyi3$Lr?O&&~qlVkdH{5kHF!#T>!QQoVe zUgtSaUfs_}u(6D$y4T;#ugN3sOV=-LI@^1cguK zZl&WZWw2z-kS)@t#}7XRjR>edB*#e0)D2`j`N^zLk=2Hji9cQ*-82xy??z%z(Z00P z&x=_T9AV>)o`MGOn5?w8gC;wge-IB!Gb}vyeAW&UF_v2?#!YybiW)+g zJvUP2mszr;Y?SpO%$JPRwOqHxkw_kU((u zOK*nG@e4oQc$U0U(f|sanf=S^gQ!i%Y350fkP%tkvsRNaJwFNWLo7zSZt6GQHS9pT zKPB{j5>MV*B!Q^A1Tt3JajlJT$+I^B)bb1ck+2!YEgd|$E7lH)qJ$S)m`BU^{Y(aP z2-#YQruIS>fxQyS!Do4i3$gi!tdxyXGU2oTfc@dKY_v#6HNym&dTVhNfi4ztDJ^ZIjDUT#ogrzF@VYVgRD^XEfT!>bqi6 z^E#r(V5PrgYtge5-d$-Hr;rzXR&pckXo&G(PXCMU9x{4_6B{AMg=(?^IQ};8A)?50 z&ID|DHi!S$@p2N)J^QmEEtjM}GrmUTujLyStmk@QH(4&t4Fit*rv;p_qSl!; zp15)W^v1x^EXwI+_$y`<1~%2^xrWWNAk4$sA9oGjK@P!H_4s>zpHfly{WeuEsbG3c z>djDbp_TRWD2@?aInMhNN`S7+76ZS&xt5y%V|$u6E$fTteG zY(JX(s(~ET~mdfU39PsGYnoDcGCg34W|Z{ zWU_(fe&))S6^VXk-<1*xif~mp-Afr1Wfbm0=2qC@s4XG8#}XiJ0$e_!mP`t##bip! z89FESB0AGcfox=a0QB*0NvhT?+c_c_y%}NqF)kTy!q}0lZ&$$yw^d&&(~g&-%Yo=P zHn$!4v>NzPQ-`m$bMs7&r{jiaX zOOCze$v$`)=KDKdtg|2o~1}{%drR6JN@}0Fj5Y2lwC#Q+n44 z#i>MWnmHa(%`eW)BU({BaX%3lb$fNi$+{8<^ZuGa7&{ic{O8Ui3{zL#D#n23uOiZQ zDh63lEqcltGkh3aZh~^({aq}b`mN*EYU161%nIL;cqqGr+j=T5H%Q$1A)Q&nD(Ejw0@`J?DKxvonT(LnA&ZpR`6h_Rmm2gC)-|^;CsRZktA+;cn0g< zzUi-SenYW7*klMJiVCWb&A|)ox$|nx4&$u^9ccJPh6{9fo}!COluE%(gA7ZV&vQkd zaiv<;b<`Pcb45z2HT1uPZff0VQSf+O1n*} z&!tJ)370#9aD_f0g>#E%PPlVeT@T;#xCVyp!WqgYFAfc<=*3QSe)$hylW)*&D%v`f z*iEw`te1ojLeGLm?Kb;bHevQtZ>L5LZ?ZYvQ>(x3MLr8O9%wrR$GK+c0CfB2Ql|2#=>P{)P?t$k5^4V24x3DEd>)unKXJB zMK6OwV8mvd>5^g@+NqILD3XE`5vUoE&a&=lDcLOF71X@s!@$H_PUwz6xW+-84TwdU zGIL4bw1NA2WFq6uDPSOcAZVR2Kkj9kxoQA21tK$XJtuDoa+BE~ADT!<=+BKWi>>f&(`6ousxen4?*xJvRxVL`w1N@;e~PUi(nAxZ{kF z=!(E!bFgb$N+@%FtvD-5Z7nk`O>)D!3_t}8CO{f5X%PdF1W7xu1*yUw>KHt&vnM*B z#=r^`qY(%(9i5Z2xUD~%fgIg0iSg~iy(b%R7bJN7!E5BfBMQDybS&ldGXUYke8R;O zDwKs+R?qXDecFH_wO4eV{pmJH&sTTSkviXX@l^7BJnvMS|9aUt;aw;|a&bk?#|fWv z(t&?A1p;1k*u+uZ%hjM~QQ><;J^)*yZ%?A8NZ(pu2ork%$r^A3z}Lu&U}U;qlspND zci)8$JVw6o4h51F+zDp#3IQ2bQHrY>#%nlW0{~IOla>atshqZ;Kqr^FhY5kI{>jq8 zxU=c9&P)e0bvemmv$1ZFF!E5>jR!)TxA1|{TZHn!g#vz_5Lz(oQ$WsKa#AaD-1%S{ zEf<^$7o>f9*LF}m4G_Ow2GcAk1c#D`z^LA)SgY}XxI{R}Kykb~+7=eS0Y|mU;IIRY zW|os75R7H?B3rz}Mj$65Tdj7a$-!Wn6c8%$!tq&FT^#J26uw;?=Q9-{h8it zII-01$iNriR#d0$h6mhE{jgq0g*Ich2#_AUT5m1npx za-xAq63yf4!8eRI_{&k8E69lvc@$CYx|x;`@0;CYVBn&&;E|8{3L!l|45F_R&tqBW zRRbL8uY271&khJl$!YAzHX>cCQOIy_V*LZ(FkDh$4~}8lOv1@_jFrKnW#GXcE`nPB z0EdM30RRQv0Km1200^(bVM20s50Nbv-*Ve|>ZI{Z`w1bF$!~TQZN!#a*H(xq+`q}z z21(&llAgpwxF;GrJXAsCPq?=jZ2X1%EwCK|_Ph#+HbVx?G1+-2B0)xluDU`bTsW=W z)r~nJ9_o&L$q@8=FoIBZ3>3c8xG5kc%m>CyJ&ReLf{k_R*mpQLG=i201u5ejvP9*q zd9~fj!hyx)9DEKdD7pnpnFGQAm9TSh32D{LiK>uL1coH~kmw;@z&`f@8 zA$rQ|*%GVbPCfCQI@?TQU19qw>_t3~@{0x%wXo@fvG?H!^Y2$>ffpcCm~fEZpX z;PBQAZ9Yi0xc?LuNS@ruGR_Kl_8ot0Lv*Dm0yW~_SFBQ^U9xU+M+961Q_A5HBgZEZ z+^Nn{5O2qn{VOaNb+(ij>#Y~K9><`4G}{v|0+F5o$y9ZvT?LauI+Kj`K752ZPMKPc zBwwa_gRtxgfp6M+9gZa?CjIz(8t&KI1*b#$;FK`u?>>kRE;r6hN3cWy zA^|o42%?Z!^28jsvezvGa~FQ0+oj@(*DK@ogoU!Q@p zUlV?!$pLBr3MoO*?9dH>c%BO*n8aJ5e8@TrnSWo*5L7=-e(o%*DnB2@%~Nwq*X=&QDEwI*oN7+;=Kid zg>|jPH6F8`D0G~tq%{F5B5_-(@`hp3bg=Z0R16>9?o$``VNcj#&OqI0VAUMjId)4C zi{?6dh-XJ%4#O6@BM`g>vQuyru`9F+rXtbV@_7mR-?!kxurj~QM^zk1uYgr?Hjv>% zvR?tN?&!7r5`wg6g)0inY1raSD)zW5Qp@KlPZ~E|fn_z!6<(WD>qL-8_EXG3sw z_Q@}??LRz%OdN%w2=ePXvj34JAB;ASTjYj+zA>(IEUM$O-$sPqAV!C@l*?aAVCz9DCIF5xK75b0GdDjmyOe(s>Q$v3283W(`4Q!AB&=w zG$a9xP>y~wjOzBEn`zkkB7j}0dbLK|#tyb8n?sOP^7~*y4Ddvost&4Quax!h)@t2kM#rzQw_xWFo@{C)^rK>+SS%{KuMaoDFu zAu72-$)_$d8?pp20*tW{RnHf5u;Sp_t#O);HNy$;V$TdrQp+lhW)`G$OzDp15c~{q z(CM^w7@O*Wh&x(SOTYyLF3-Pm21De*10Zps$diQ{tiiO+T@vT$dTC?5o{&Voq??t_ zp$5QuRSYA}j3Rh2Ku+w4u!C3^0cFw62Ung)Xy&OE{5vu`%*pC7%~ zT86BdbRG_gMt~UdzSJfP)q7D{*C~5av^Yr^#rDN=2VYpBmIxx-!1CERZ0*MkEsi+2 zBz^O8e-Uk_adYWP1;2{nBadE1onTpkS+n$u?E}}UI}#N_EoYorAm1!VPz#Bd!a<}F zavM`{a$!AK3=M^d6;=9&zYofnOmJZ8BH;>vE^Kd0ATnaQMN@c;MdO8ElN8>IGPiThG<`qyi*Hz^rY{692nFrjLSYTpe&4V2-2af zER4vv%YEX!Jc?+Wd$=8j5F5VnXQx*{%LC@&(@WLx($oT2sy9_4!5Y=M+@}2(MGd0Ktz{B z@?mMT!g=P}c%pM?A!NlUfw$R;g!9>CO8Nb9?^Iy3A!lLHlu_FBf^1o3QD?O?3NN23 zP*ypujcCdg+I)kzZvsfN!FMj6>r!G)W@ROJwO69x*ji-+-t)(~xlY;mJCJ<&@CXIN zF+Twq{kD76%ovpO|6o~Yp23IK39{u6g2uauP33PoKmSdHc%2Hw;+ckOGgaNAXcRf^x1+8(Ih?fk{i{xeE(=~`EeDcu4)DX6uqFF(r2nebSkU*h7Vi+Zp zB{s(Zyoul#E!mKQr6n=M_Ba%rtZHmaj=$20TKlhxkI)O=V2u5udAAcmqW?v zaYF;cY_JI&=yyg_(a*AF{Y<{vc;^kiOt74YPq%fG~5#qN4y(=rn3+)HG_V zh#U6rhzAB9C9tOmw$d<7S1?;eN;Wjk1;>eE-IM)q_L-MttZm{pgXY+j8=z)zGJ2D3 zb{TpC*}89yZ2mR3L2lGRcTC#5@wJFhnbL$2ukN8s;=LreYS&!&xV5b?1Kzc`@n`y+ Dx+ZcR literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Bold.ttf b/css/fonts/roboto/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..68822caf2421c331497581f9b80e49401189b996 GIT binary patch literal 127744 zcmeFZcVJXS*FQdU@7>*mlHU8K_iVD+-Sl2bCzTLFdO}F=2|a`=9YjP#P()P3h^W{Q zlm`(TA}TgO1Rqr70rf#2$=>~aW|Ku8%lm%+`2G0?=FGi&=g!QTne#bk&Y4|82_YtA zG2uy7dP-{AWUtBIgccshry1$_d4+NFoxdftXbK_Q52Y6tCwcm~yiDlzql5@?d4(Zi zFMjU#4I#7%<*Q0ka?0Ai>&qj=VkIGxi?yxQ9a}!$8cc{Co|{~1Y#D5La_c!AAt9rL z{C2phzPj$0o`ib5dksn5gbyZr%TA*{PuzPpwe}2{CjYPo_a_N4JKEA-TkW#w{7Z!R zWD{ak(^@^yA>>hiJkLORx3=omdh*cahm27@0@En&POeR^?z z$86J>e-mRPd_c(Y8|LUEA@3jf`sQy6?MKEdjJi?Im~iY<{NWv0i-<8WUj3V5%-DE^ zzNYbKdMYT`C!nLmh71tNAD;8L=Y`L>SMY>Lwo8<#(sexNKOhZ;X2vVLNH|?Sahr)d zH}*-#U{^Q0(rKkcB&0#Mox?4CD37%mCBaDImZNyY{#ecuw~-_W$4RJgAE}UBC9@?7 zB%NlFc*&kP`4ZEG$NytpY+T$n~uge9b12qa0uFj67O;La0gVI%4rB2AntY2~bR zyM;8;j_ZZeA5eB4cwCOM?7d|qiTfV8Gl}31kxA?wVKSL2`HDD!Uu!|YY+8_M+#aIf zq~s~&?h*xQ#+WP?9w4>CF;Xj8O$vl>h!rQ0#S$5*;9nuLq-mstUrSc;I+7#ILA$sY zII@LzBnyQcQqJ8b8YBhx7^xS2AouX!lPqoyS;Kjf8tw2&tFak|Jq8 zsl=G4%9dd~5=f$CDVZglC(9&L$O`E(@Uop02^&bfFoNsVq*L-bapOYCa^Wz>wvV`Q zUBpGQ3w<6TEwa~0wM;__IZM*ZeXaXavV-IckD<{mjxOORJ1cO~TZ4YEZm;|`L~gj%e3@Fet- z5y_{-O0tAZmjn|tVHMWs<75PRhSZm2N=}n-Nfl|p{ACKK$vVNBn4_O5LO0eQN3vO; z!AA$`T#Y(qLM&;N_z)F7?-X3X^A_;zPXe*VJ0-smwd7}#BHc&|g*QmA@RIJI(w%7g zHgT4ulTxET;%hWOMx=p6F4<0cB|KS#XZEt&X!Bnr8J`VcefmnK5?ARek}0)7nGIx> z>`AiND3C0c`V$A~e=zP8a~)3NWNXmh6S~X7I*k7cGR&8gcDyT>enfl(C#=EMSX;xG zgEhobYKffPvt&tJCFj87MO?R$GW4-s7EW3qyK?D6DA$kVN8+W6$O>VQ_zClLZ{t2e zdLH#$#ycar&saUO&7@zt0rJ|XyCU->3#7*AZzeItJ2KgPvRPV77NNhblJlh9IEUP8 zG!<*Y31eu4@mNC2F@}i}PcoT}`NVyaY!mA2$2wtkZ$#a{k{Loe*6(dH7xUbWG=RC@ ziu4$;U7yL5&sP4Y%%6I8a!oT-F-lYr4JBq$%`aPc1e!`Ek+fX zhaX6bv=vz4Pl|yj9+E{QNYX`GA)`%_ZCKkTx+}s--7AtX)Ugro?L(bd50dpHOW1{V z`!Ja;Ng_7LpdOndIYr7lsFX z87T#xG)OODP2ERkNG_6k{wLyZ*FY2y9_^Z3)~4W&_7uxpJ}^`l1|t4F`UJQ}7%JxloY`?l+Ro zC+oHgGF_@5BTM-Q$!w02Wx{@)PG|+zErpKgCAIwLNN?c&VaV$zq?R)UR((O-ggSiw z5~-ES@a$uxqbNV1&l7<`wL&I|5(-dmJ+Nz~PAAb4SG>auIjBDry2qE~A>E4O~Egw%zy zA0z*SlnG5_J=T7iPzu@G4=kDsJrYb}fU8x)8DLl(c-jcrNQ2C8L)wb81JCcpXWMb@ zN2W2|g)&KKhw0xUrca?KE18aC7|e7%)8CQ;GKnQ&o9$OL{%bbn#y$=w^ZG z<+~DBtb2*+X5>#J?Z2awnO?p-F@1bj((7ZUbN?@zcK%d^Hw|`)RFdGPE7Ea_d_4#uX_qWMH zHV?dZ!NXGO0iQHUoQ^BtJUvvE$!g{(p{{m|a^UnDFf6eta z8?&33&Bo?#!ggc!6SLv&&Y2y<>=wNp!)%sbUAjIod|-IyfWLI;f8*Wncc>0 zHRxr%jRreRZ+9};hHcC2Y0SMf+Io`NXnL7PuD8)xo3Ibr8lAwS{rdd^FqpN^?65oi zW93ku*=YKHK_2y31zS?TmtZ)6{^|D(44;_HGh2)G!>~tS>yp{^c*blsz1`3D2*4%% zK7rY4C}UX5f6NVQo3i~C+jo_d`GS@>L&jGz{m=Tv_851tYPrrs_6l*9eU3fJMBfel z(%ZeTRV8}+OZT18YLaBU8a%)bWwxUM*Ys_|K4as<>{KaiOLl#yjR|}-$dm!+^fnUg zcxKBR-n&yb#*mE-8%up|z!rl|XvksXGCP#bgC2|jn8P;K+pn;Rncb=%dp5qR@?BWpNP4>k>zB!|e%&)!W%~@akH(y^ zeGHo`L(b%m$$(*P7;J4l=2P8A5+q>q6~0_|LK3gLD3rqvH>{V5HuUQq`x?Vs8`i3! zO+7Bu=zd~$GQl4gMCK!-u$b{jrjTEabi{}l=|uQojCEQviA(~WOeTX)AyYu7lBv2e z_^nJpO^GR}88HJjC+51_#DZ9WS`tf8D`Ev|4f-2=GuEKC#0J!k*n-*RF2otsmAHVq5m!(-ant=m+=(32gSdlw5)V)>;;Fkuyond65Ag=| zB|e~jp#LWR#1}Mx_<;rzf6yQjp!=BwlR(fA5(KIs!JwfeME4U3BMML@2?Y%&VW29a z)cr`*Bpg&jRG<+=4H`)_x|<}5M1V$&%&=isgno5#%*GU>l22Cd^pcy0;G?S$1ejw9GI%pQj0L>6G8?pxRDsrmenT2aHE1KL0c|3+pmRu_ z?h0up^`LV}1856r1Z^cvy33@E%mHmD&7d7*E@&rd(S1#@*97e*ZJ<4*9kiEp=q`~y z(h1s6x~cB1?5&lGS7c^d7PdbPZV!x)$^ccv@C~t|u!& zA;+K_$!gu_WD~gubTe54x`nI-y_c-heMYvD^`Q5W4WQe|M$r4oCf%oGJJ}5S0NDb% zgWL=HAla%rM|P6?Kp!I8KzEV*L3e|GLLMgDK_4LxfbJnXKp!O!>OLlW$xhJ6$U~s} z$S%;w$!^_8;-+AJO(;S_JKY_9@l+H4w5H8pCwO% z9wPfep94KZo+nR%zCaFu9wtwNzDP!OACQ;GGoUY%gP^aFXF*>jhjgdO5%L`9Yvg&* zqvQq9W8|>zeeyba5%dl666kUAGUz|ZE4uf{3GyoFo8$=SN%9)#TcGcfQ{*V<+vFJN zJLGlHcgY*NcgTC>I4Ir*Jxxx4en8&Ty-m)Llb|1xw?NO5Q=lJ_w{@q;$K)N*PsqEV z=g51YpOW`=Z;{W)Y0%Hf2cTb&GoW9Bo+RhVhoBe8S1?W}sCFr;0yzU?5J8}W^dvX!<8u<$J2XaYwoLnbggZ_(L z2E9S9fZhasgZxOo0sV>m6ZB_t74+ZaTixsA7WoeJ7xF#mujCr&f5;EIW8^n-9rQN& z7w8zd0jec8bw}Z@{t;A1egefdbvzl30O{GE6F$Ke=S`%{qrw!x#1nQi{znNnab?I2 zPyU#X*U1YZM1YrFN@UO=#?Ty-p)saHQ6Q8mocA5kTK4pl%G%HV!BY4=j*18Hkz+ zBuxi`W&%00fS5Tz$~+)s0g$l}h*%6HECmA20P@WQ;>`lm%?82|&X}9TP2o&9YtDgl z;pChf=gxU@9-J5F!})Q(oIe-91#y8~Fc-opxG*l1Q*tUUoYQb>E`p1sEkLsxAY&tK z17MppqJ2O(i2K%Rv_*cQ5iY^JLr zqjSj+?I1iS;fy$YAk0QuLu=_A+Dz+d16fYjanalpw1*DTF4|2u@pZJ7^wCB-mv(Y8 z&XkjKX53WHg0tkTICIXHvjc}VoD=8FIRewR15?_7HxB}5`hhGD0f7W*B_{SeprsVO zLUGKU9KG5F+;|F-d;-$;4OXm3O{qEcqCQkXBWMCGq_ffPLb`}gO3WmdF4QI7Wtq!Om!Dkz}K>j-#V$8Y8z;h*7O;!p7(fL9`T3ko4k$QNpb4q-@GDZDS76D|q2 zB%H+Dg}B7IEOy!D@}tYo;FY*py4kw9xp{%tFt^A%ygmY6pZqUgXHM{HeiyHG;FW?` z3SP&+D-{A^0TF0V!f-+N8pJ*oDFG=4DGDh9NsYw3t6?ZZ#h=B0(q4?xbI`m)Vzrn+ zp3t7vKB_&geOmj7_F?UV+HKlpC^@2Aic&-?!FAo(f5vXXGyNRWQ%DaZ?I1)vi1akB z(dv~sSNtx2dS%Mx)+>`PyL?qb$X7XEWq&p8tHiHEzKZ0iR?qJzvbcZGI z3lwLon^5>zDPoRy663i7331EuKU!tD`sFM~D-y@=Kk*5v$=P%C#F z=`7OK@iMibRdh# z638Qyei!VhhRIT(n;iJ&0fh4c`YZ#Yg#y!*z%vzWp%uV14MR2Xv63T#Kvr=aJk@i! zW^OLm!nJa3u!+{dpWDw3aD&_sH;K}-PQHwCl&6B=z<2T8Ko?7DMXmWBzL)Rk`=|%?6kG*2!5$dv z4V3kzeuAUmMEz-iU?o`d1N@*M6=XD!1_{oB3k{|rf{|bhG!CUI+U5VW%l~PY|DUzX-6oSAc6|GwIk(U~^fVP= z<-~9$Tpc$8OXLi9nRkFqu#P`1IKc*AEu0lD3fEwF+eiW>!%{P8u(U&ZK>D%thRjHo zA*+#f$hOE1$&Sme!YLYK)NJ&G(HF)F;}qj2m|`;}Zc5#hZBq_UIWg5}s$y!})csShnoKe&GZ``2Z}PgyB~#8+ zVVY(-Y`Vepw3*Z_*sRBF)LbwRHcv4>X~9_xSsb@GZE?}E(z3;JujL8LTUK#axmJBv z8>~jH&RAWxcDD|;POzSCU1$B0^(7m@Cf{bU&1benwtH=_+NtgO>~`55uzSbusy$~P zY~Nu2goA@aghP+ROOAqLgky)}2FJ6GR~_ z{J=edM*`0WnFOT-bp(wD{Tl2W+#I|=_`49#kdly&kOLv#C|neEic!TG#jQ~9(2~$C zq3?xRg_VRoue4H5S8i3lqWmUY5k5csM^&@xpz4;|UtOhMqu!-{U42GG#)Q#xu=$7c!(MO`M$2i0^$2=eNU93ZF zT5Lz`^Rd_CyyMhyX>mPquf#jVx5OVwFiWUO*q3lE(L1p&ac|<)B&Ve5NqhhH-)PcH zNhgxdC;ggimh6=5n;f28k=&QOJ^7X7lgZ~&mZxk_8BIBoax&#cYDDVF)c4Y|(>A1C zO*c!=O|MGtN*_tzntnZl%W%sG&Pd5Pn(dft#hci!PewO+3G|y?CSw>mq zS(~yBXPwEqmTi+AoSmJ$Jo{+&wHzVGA*Up#BWGdGuAHMer*nSHos^rD+m?GE_k5lr zFD0)jZ#eJayw~$S%e#^9pC6OomVYGwe1StjWkFZL@##j>bEj8L-!T2$^jn3B!k)sF zg&!B$6nPd^6wNPMUG#j>*XvR0?((;t@vhuy<-<1D0Gh$}n%!3tNMMA~GikB*Wn-w=}-K_JK zft6*IJ1ehO-l`O5OJ}QRH_YBT`_SxfX8$-_teRA1Q{`S2ToqN7RyDnfGw`>W1pB>V?&-tG8A^Tz#PW zrRo#aXR6Ove^-60hO05Daj5aG39E^#nO0L$Q&ZDcGgPy@W>d}1nkQ;5)n?b0)z;N^ z)XuM6S-YinSMC1V!?nk2PuG4?d$soGI#M^KE~##3-4k`s*S%i%UfpMP-_-qBC)Q7@ zx2bop53Y}@Pph9^Us>N=-&en@{$l;L`d=G_2D1jI2H%G8hJ=RfhO&mbhK`2$4J#YA zH0)~F-*C9$c*E(2FB+~k{M<+yr!?9%dNwK=V;VCWiyEsMTN(!%M;bRY?r7ZCc&PDc z<2#M#8ZS5AXdG)YYO-o_YYJ?NXi90yZ>nf&YU*iP+_a`?ThpGV(WdKj6mw$cWXvg= zQ#Ge$&cK|JIUDBen6q!rp*ctAyff$AoXc}=%o%GoYPM>2YYuFVXijO)Z?0%=YVK)X z+`OiFTl1dg(dJj0Pd1-zzSw-N`PaF^T(h}ObA9KA&rO({J-2Lb-P|2>_su;t_vqYr z=AN5-dG3w5V=ao7n3jx|qL!+bmX?8*k(LcDJ6evnoNoD|mbwlfp)_tvqT93BA(|WG;a_f!Ou{NW&w6^JOm2J&!eQm>S>)N)r z?QJ{QcBJi8+sAE}+OD_#*3Pw0YPV>2Xm@Y-Zx3saYENpP);_(xyuGHqxxKG_xP4vw z_V&H)2iuRdpJ;!t{p0rY?ccQj*e-TV>agi>?+EUQ>R8vYwd3KACpr#x9O*dKai-(5 zj!PZib=>L@JEff_oi?2=o!*_no$AiG&a}?yo#mZ1ox3{sb&htv(s{D;bmzIw%bnLc zf9(>w%(|Sqe7nNC61uXx%DU>hTDp3=7I&@b+SawJYk$|_uH#*&yT0hU+VyL<&~4W3 z)a~1?=#J=4>CW%2=x*xn>0aEurh8lWuI_!^qusA`pX@%}{YCfH?w@-|k5P|Vk5i9t zPk2vEPexBsPgPG#&p^*e&xW2IJ^OkN^&IUv*>k$*i=L}JKlhT}DZO^Rp1q3RnBI)u zqTZ_Bj^4$+YkIf!?&{s&d${*_@9Ewzdaw5W+(-JR^x5@!_9^;e`ZD^;`kMNB`WE-C z>D$(~r*E|HmA;dG=lZVp{oGIbr}W$Pd-f~(WBN1ti~6hjTlxq3NBTGP@9H1zf2IFq z|JnYF{nz?`9S{c02Al?b2f_yu2C@gr2I>Yn1{M!&7}zneZ{X0t(Sdgc&JA21xG^v` zXf$Xw=r$NQ7%`YKm_JxC*fiKPxOi~Q;I_d%gQJ7544xc3J9u&M+TgE4aYMO7;J@6f#W=KVb1X@21R znE4s=i{@9&Z<#+Ze`Nli`N!v9UtqPsX@T#8F#Lmu2p&Z@)IDQEKHle(Sxl+Oi zo#gxQDVpl@@LQ5Tv7Yl<%?K+WilS>JqwsX&Brf&fJuE#`a(zRH7fB!ZDCNNzm-*JK}_{SUGb4ko68?6d|)7h%Dv+9 z{6f+dc65<{LU^FHS3&c-n&LH0iN+s)I%Qhl?z(|~$B+asuNY;JozL{S>#EDvG{hOd zdBQlRbN@j4>_}UO;CPIu1X09mk`0o7ASw`mewV@{Pb|@CWta=+OwmaX_h3$?oakaK zV@uBk{eLJU@u9Y}{qlQra{Kdree-*BbNciBj+(j!ySWCtn3}qTAa^yTzxoy2U8KP8 zsD(V(*)zmxvZ-r`EB>2m#kJg8)`&v8@FPML}z)(Td`@MiHEbMKi}N;%)BJ}UDGV_D{ChYOPP~uTCBo1$JNi)*g_uW>aO%K zrz_(d%M1KU?=LJ_Tdz^inwP39&rfqn7QfIe&Rl-AQd^=9k8Ryn9!0ZF?LvYAto$=n z&U|lBMYz(++sD_|HqgVy)>nnK7|(x7E%kCTE+y2``GvERRN|7bCgHr1_8w z#BG@gRrdG$Z~Tb5pknIs(MJFK?WM4HHGG0$4*#!UI^N5ZSDmTCLk9(fZ5$_X!5Vs=6W66hzx5Xy9jY<#^qQpbo z3{UedL}Z8;lU<)UJ{GRNMb4^>fcq@HTr7VMjp%8u^2&2h$u3jF=ZtsS=xuH{cbUch zs9YuIc5C0|l=Swu?Ab!yzv(}yA0l!@bJv1nD{P@{K#Z4HY=Et8KrAFUz;>NH($CJ$ zFH$a#@Uyk`W8neaPr9YtC5#2?w)LROQ=f2lpDd6DpHQ zmqCclC&XGMXwsKF*Vgvja7Oy@A$=}ha8zY06j|YpPT|P2m5yBbp6|D%r*Hdyk9N=Z z_ob)b_x&Ef>X8CZ&w`O^@leh3LQl`aCeLF>a=- zP(JtjbBzBq;BqGV=+4ThD3hXbe3Toy$wryVh0HMr`iUwt$g*apGEe0so=+Qjxwre7 zfwW{S6r|b(jt(^JYK;tQ zda%VWCDh3Yj71fO+oPM9Hx0&QHs*AaeuYCbv9;+#t_iZvZmJmyg^9?8k8i{$=Zmc!l;= zPt(B2WY0N|cE!XDy||!qbY&4wU5s1HG&!NRPElnszR|%RrrbN+<(uN0MwaH2lNUbU zT|K%yKeBaa{mgp*jM~V^*~wleHqNGuhdT5jPx2bHZ8%2Tnkfre9GV@+Q`QYEL<_a2 zl4nmCiW<7acbhlv>Cc>^+FaTAKvQ_?;^#Vgk1WfqJ3_5SZ~7#u{ie7@7AQh;)Gp2u zXyLl5W=*L&F>l4Q_02CV&ndqDqs1Mg)cb6o*2mf_)Uh8nY2q$%RDiyW;y?xHeD_BqqQ8D4h5X(qxbwS6B{shXVTVS{dQ$yA;G7WvFLD z&9en8wYIXs5)*kjl9( z<MG&i--S&$fGUZVR^2*mn!MTDMsVTLv1s>-0rfa{!82!NP{sWpb#XG2eu+a7L@ zH40ym)A&$}CUwzs9UU($POErP{O)C2YMWN?;2Mz?sFxc|ViHQxv12w)Gwpqwy^Ft-(=&CuL!9|Td!q4KG-x9CV)@!s?)Q9mn zvXVv$QvPGimJFpamF8?ZrDMbVLYBDiu4!wpq0RxalD~lOny@;(%&9ds=U&ym%r}nR z&$YfyZN$yri<_wJ_!#088h;RD=z}v2u--6+cOXe7|6Put`DJ&2bOJBvOjFOO0QV?= z+q@jt=wK%*o~Ic@kItU6w=32+r7YCR%hs5RU)%Zv)noi^4LN-+Wo~(nk4t1^yk~Kd zrGH}3ocrrS!)rHJCN)=<204UBCi;l)0`dX<5pp*J^kcrW#AxYfl9f1Bf%5{?MB?G@ zJz<=n(@fNCdFi-ZY1B}>kU`4Hq)_cl)S&5k4|h**PNQaG7$(?QP$||do>;Q7Qt27q zE;w!WyzG(%Zeh!EGrP0hCYcn@d$263EIr0WDK&NTw+YRQlJiE1TYq@u{(nDRYh;x5 z;1AmaW|ro8vDi@G~i^_*yPD6*%kpo{ucfgzBb*9IJ=Y; z^XKLUO-oHnOXz*HVe$K$@+@3@t+hwO;yq1b=B%6kD4qOjWB-TZ`6r$iue~yRl7+qL zc3Zj4usGNtWvwu8) zSc|RxG0uhBaB}gO_B?HQfd-0aC8NLPbFP3-tfpaL#4C8$3a2g*K~|c}Ctyp)40geT z;)4nJ^isku4EGM8!&F>!@}5k4Wv)75X0)UDuQ5?aX;e{!qaCz?`1AShj_&zqB%_Mj ztqoxn`H9wMi6!-_v*)-WvENyl>KBrwayrY+Dyc1H>ySd0uL-xY4)Luk$|fq9>H%{c zLT%;2_(%$Qo|sry+^zI6B*$!PrxI|d9e`TB( zR^N2gH(_U4Lrz)ZuWOHTd&U&}d)i7af$JBCZc0Xf5+Bv`&)!kv9k#ne+27v~&+><~ z11MjpeTo&Iun8++!*dufSUO(+!+4D^a20Su!a0<$d~smyw|i%nK6GjIy7%wNog#i= z?44AdynWY!ed_#3?9KyZ4pHgjC680tq002d2b(oB;@!W!Qg-D#6Kne^ zx4&fbh5kxB#(9LTqwg`J5)bjL_66}Q4dgPBIaOws!L>DRc~E0WM>oScTrTJV!5R2gg47 zeeMGAz69f{pEY`bTQF8i18-uo#_N|Z#1(9DV~(+HiLkjPa&8js!>Op%;)gC`|9j$q z3zMDzAzG1}>37hcu#%f`4IB;|lsYE*oF! z`NfV&-%o={<8=oVO_S$LF*1o+&{FzQkm=*2h6g?|J{F$R#on$m)$umvO zPYfjflG%%jzx?#}NBCjx%|<1y3?tnV0mxMgK3@3LNSE@ip<3D)R4Hdq@0m z=8?z$WBfmIH_qD)@MeLtfbfy9NiYB(wU$rVjKDhX!GD22=Y=O%PxDNvilNcs5gc-i zo)PWRJ9v|`)_yM;jcni3lE0{Snxpn96W+)*GB32TPe0G8z_o|LBeSVsR!{gw^md`# zuphy8dfYPt-i6=&BE2^8?PYb(EX&DT|Bt@G6Kk@?v(7Q)vC*ZG&YRcuKQ|bcwfc>L zj15aW3PWg+e^zs1R7r#*UFaPf9_Hkh-@0!0%=?<7lLsEH3C@jhbqJ30$f)-BD(_lX zUbVGRV;`Q|ykdG%MWlm$U@VhA;LjQb+?=4Gyiq`i)rzyCpDXh;yG1XS@$Q1`^!)&)vg}EwPL~ zD?TD##lJ^zRYqsM$C&qrowHJU~NehUhN7FS^rA z-i_NZR;9hcnen^u3fj%YJ3H|XWSn7%ikWQI^eA`!_LJOcZK#lP^X8~9^{4%;?118Rwj|Gaxa#@JR#Ivd5 zQ}osGIxN`?D$PBn(or#g{d(!nUrjGal_(R)eaaW%eP$c-*gylljvn}i2ArV*SA>T} z4fl!GkF`T}F8l_xh;}6CHosx4lV5-7lD-e&!YNLL3h)fC%Q@8#;x!sAoMMOfm|Uk| zjYwgC`oX_M@5pcwoDQJ6lk;7q_+68}BN;ht0}{yJTe?xU4F7MQudyK=gJM0^Y5M-PqknPezcsAh2|t0ij|?MbKCxpPmrSY5 zeB5+Y331_bb~ab83Y#j9QMqDCN%KR^;o=30ko>sJ3VZvCtk}E|9C#f%wW%OIp<7C{ zpGL$^-*jpqp}Qn3S}hi+)G=W`DHo0l z^-WSZQXG3t8+fF0;Vbjw;^x1+pzhJWBr4vd_Q5HE@%ce!W3nnRO4gL{d4d;K;OD4i2+YBJ)FSIj?!|Y|4*|;Cz20-3jT1o8Ib6 z>M9P6QPC&W(V-VDx18uv2Z&${-WPCe3&apF9Q{%T`7{YVsrPk0ju<$%o%JDs-jjfC=M`y~M4o7zH)--Oe z@X5p}zwq4RPd?!r&Q?~es}7rDbkR5~z4GkX_HkZP#S)xT%Y`P^jC)U&VQ`4vv0C8p zgYJOYsMpclpGGw`w)5eJ*(*Y(P-*t6*LuP_T5H@FE0^YXFIEf}*YEC(rE&*NVPxto zN2i%7k%bYC<3pSf)o}a!_Wk{_R{jZrqmc>oI-}IlhT#qmp>Hab`r)Sd77P(gG0(7O z>BNf0EbFxm)->juu2OF-&mXB&iWh7H6a7-k9mEURD;!VE465JNr7hw1ho=QtsDj3H zsD)$S*P_oz{t0;p>gz4HaP{4u4MYUaV~M<5nsxU+Pl%#+iA6TP8aKJd*9JM0J>70G zi|$8V=Gbc(G>Es4Noh$~@COZG&v%Q*2AKvPun`NFnO>>X~b+ zLXC{C2$JMXp^vpylxS#);zT?V%F+8j+JW@fCdO+7cEvNrLHf9Oh#qVbpO@mSa0X2k zW3{W;9K%luvJ3A6vH`ZyQ@DD5A7(3?yKe9?U1+R+prQI+ zKh^H`yd^V3#q(grJGtDJiWh9)ElViF90*Z^Nm;q2Ic0%04|ZwuxM$R9KBmc$k|`2x z2=}x)&DTt=(DFhQ`Y?yhG5Wyf_|L7g1_zBJc2?&sEDvRqoZz1@(}^{(AT2APW@ooH zpF0?y;%gqE&`MC>I5s4sKE3bs&yf&=YY;d!?)0}#N*R7_Xx`DKDJe^j%$xVx(iAGU zQx(U>6szs*)FrVo#VR|_r|;C}qN2^G`mFok+FV$;`K|t>p5m~u;+`bygzi$Mva~ya zt*>^mN{H3BeHR|Hb!uSjPk0=wX@0PwWT^sEIb~AVvYCxLn>An)aisK__VzO~VSm|h zmaO#{wa7_6YmQ0E+xYgpMTV93VC%>DM%(6wwhfr5!4}y3Z=^RVqGe}e z#mZ1iQ9Q3$Qrz%hO9UWM-?D?l%+$y{r7h<(@9mBGY4M%Ec~dQ96a$b1O%M@AUkg=* z76TIXYl!<0?V4l$7}|~t=EQ2^-nWUiEuLc!_RNj^2J&r{W;kjriBxN2gs3HHc}5cb zI*foWIfFVNS!`PV+qN8c%H0XNF%P6_9B8>0Ey7At3fDG9MYr#+pR=zwUc8WBoSAPO zk`qz3wKXoGe_vDAf&Lh3!O7L>K83|Jz}8#tVq&4rZ%#`Ynxzh(wKzMjAW3QGKVz^gETL&Q2@BbR#n&jlyLpXUi{A^-?;04o>bLG{jrGK^G7L7SZ@u`UiIbm` zLx7oQu{yo0AaLhSNs4&utoE{dpuMrce?HmNBYUWXi#|(X$+3EyphrxxVzKVM3{?Sn znO^{U3u}h^MY*Xqe`Izzl_O-}o?GJpXu8oBml9Nc|6J}BZBkHzkA+&niMLO%`ViOP zZ=*hlw%)dcIU~G9gT>9_HF)fTX*Kuh?Gt#;$|Be)Ifm;AJJe$`vwoNz>a>p9ir0R8 z_uZQ?glyNI_<*kBp1FO3dt6&8L_yRh_IyB3fk`jyP_zX*6oxF@nofS6s>F9_qIl}q zQSmM0?@~4Q3r*Hu*Pf$A;(mMu$bz-ci&+B2`*54HzK&ZCKB_SNCO@8{CjKN-aIW72Hxu3qA12p`eEaB4 zJM8hsca*|E!pep+{nC;XJ^iQoyC~c(J_#)y$}AX33CQqu3H7kz?PqUqjWKfzbN35y zR3v(HRrfbXCMNm&JB20zAUU#FTn`^}4#ojeV5!7XF!)O*jL0W$%CUx`4a(AxbBo5z zBwp~SGS8};A*e?2o!QBPt;Cz188FzS<1za2VbsU*|JyE|Zm>(kXD!M)S--U|G^}=O z{mID6$STPjdOx5o zmJ!=GDdCd#0bYy`B-HGLKCrfxTXW%3XF0d__LmiQPNovc!`o#^1CQ0WKHd`}e&rY( z>z-6HB5k@o1Aw)-nXll?4es=mI4F)hHaRwWBJF@Hc) zJ+fd+;G>Uvs5L&C31HUP>Z2kEi^~kYNJCsf2+ew-vGIkhC2LnG!Xv{stX(&4w5H~n zX&csUQAQ|3?pZfBn9zQ2N%6hy3CN2}kk5@tPKp`Xuqx|dUDM&5%^NmqVqznUgI##MntcR?hYDF%-NlT zAYKTJn;`Va6cjUH*h|8WqTHm^X)9jqO<6YBm>odnK^ZecI(nRvJBm9F&P&A8v}r4j z_75Ceo*`avjw*?aEsb!nOYA7?es*4h_GRyMHy=;CgpL{BX>Pv$PAOgVt63`o!dBOn zubCZc?i)XAem;#z_cP0icMA*jw{uCa8JRhARS*i4tVIN;^`S=O~}?=abFvTa6?hei>EahN51%+HXVMI0L*r(y$`;3 zI^%bo(Mze`9`|6I>xsQ1^x?#W#0eN&fjyAn!~+Tn)+{c@oK3>4kka`%1xw09L(7*G z>&4=G(8Y#rYPkB2 zAK?xpzyW3J#ln1g$b}Q3LTbdj)uhMFikI(usv$BuG4rXw>0RlGb94Nsn25W4iyZ3% z<9)3nxnpMdlBU8frYO8^P#Kq~RG27><2*c48&ky-p=E)?UiK>yqOtK0hVKQx;Yb$n zyZ9Z%n|6JL_#VCkTcgMSg|v@9#(OcpG4mwCV{+`Ib{U@xr?BuOPHh?H&K@Y6kMI8K zPoMnPTxj&t^ZR5;%u$ctA332+ZEUSQg1K-^x3`CnA$lA@Oa5j$hW={q=qvY8`)LEk z!BLvnP}!shBoaO`cjroZT(FacUvlU$_vv3xNb_IJ-D&Y@e!6>74g8KSt{v$S-buD* zQ+@rtC#%y_mYX^UID3YBH(R*}IXDE$EiL7N4h})?R>Ei`PSxP7O=M(kW6&&rn|ok2rJ+T(-oX|wJ~k1xS%FLX12fYy0!mQ7f?JRJU(%l> zU}6ktWInU;+M)jLMqR@pHI#y( z9jILVNgB|R)&Ts5WxOS)N@Eof%H6(wA|)U=NX(FY#_G$0Em{wKgcu8^hHYHfxFW=| zy0HK7f`o(xhx=(TXOy;Je|_El1#lDNoi&^*{g5wW=ZgM_#%tJ4+iCGQ6*N-%B6%#F-c$Hul~=8aiXLliJ@QsBE}I78;+NpZ(_( zhkc6j#rXw`%N2?li}Uk=)K6OnBnAc~_*)|n2uKL97OHcHD^;q>;oKZtgoooIC|l#^ zrpXS<2^_zGRSfJZCiC%KaQyZr?FLNA5DHtT|GXainhwbm#D^Z!o#(b8@1d^nbj#>* z?f{!&yjz4a|G=E!8GaYSNMH6{4*qKTIm9_K+3FaQa z6-QFVMc8NLPMkMjrZ_uOI3A{)@P)G3MnGTlN2`|GZt5O^^9BKSh3W3GIB$T(n9j}{ zJk}HIpH{BG*+L^qJq^~bA?KE+%qh$9af^yc_AAJ?@=FYA+Flo`tlcy_skLfGkbRgY z-iL<$(JE$rh0kA>37$<6A%Yi(*GJW@<(5DU7KY$unPZDg#H7c>r+5qgSM3v~^ptoP>mhU5ucTeUK1a@Cibx-9av+D_&)G0VLjXbSsGJ~F~#`^nK8cFuN2>Xf_;nj z30UpQClF3JO?&ZO*~op^4QlowAoAuu?CT(HJbnphw?rkmj=iWCfkv8$1p3H4G~R3j zW-;!L(kNv%7S<9gTRP!w_n{bK!~|6=Cb(y5@yqKf8(COz#?F*!FRv)B94iZ@N2kr* zwuc+=5;Ia}-w6<=ZM<1Yt)3kZ5&HWrxLhgTdNSduPVV1v*RR~$thEnefkF#eXLc?5(NU zJCH1Xg}W(Ywr5PPe?VTW7sG@V*!Q2r?;j`Y{c*qBSFmN6Jp*Y4PE2@SnYn{S#LOOi z3|yxB#0yFDMq5j_cPE+IIog>8Cg&yxMtAO=>r;@GV5N5J&d4hYO3F(LGP8HGH?#GR za`%q)w-s`_p6reao^?+}Xu2veB*Mo%E+Mt3E`G*6RbfV^)>E#Sdt}D@CC0|*R3`=| zse{8JeLNz3ZS2%#30Uhq^S4Xa;%rY05UmvQ!;Y))<9KGUV9>d7W0AQKZ82yQ-f&0& zHq!dtn8Bi<%z%?Ko`my@jwLx}*9>M<-`fy=``?cg^yvF%sR~#c$p_aRqdEt%)yk%HsxT};dggeW`R(ezcT01un9Q>~rNU$yg7IYlIM zd*soDp-zDr;c$;2ri*zhkOtuQR1gfJHWTM43>XeiDa<(izRE`fpSdls_k9_T!^Kj* zU~on5>LVSUFOFo!_C7W@ZJyGhSo2!$w%FyVGp`?fGH1V2b3tdfb3{S7rYO=`Vn1Je z;Z)|bFCHw-9y!?1adPorcZsSZ%~v^NUItv_JgnzM zLbC8Fu54K}f@yt2_{Ff2%zs~D`jsUl-yRbLZN(o|$sg~z=x-=?);N*u8zGxni#hCsK97gKx7F{$^|IydGkz-bZzE*!dXMa|0`6?;4!`K{ z9@(^V2m6^Bzk6h()w9GZ*)Hvu>gYQ@*-$YtG~$j=)(x_Pvo6rZ@NeitGx`m#K5PT* zWt&`_XHgCfjh{8?>KZ?7GIkG_seM5>dEoXp?BI#uaNz3ItJ;HyA&V5hEJ5gFuu=F4 zfBs_(eQ?j74FkJ2;d%;gU=dHJIrKj5FWUFn zyRZR;Z1j~Gx*BUlS71%bRPaR7_s^YUCr6eoqk;UQxD#<=#7(Zo`-C^Qa^gL%0AmbY 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ⅅ%Qy$40*tT??~S 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ℜeN^a{BwUnis$8D! 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 z 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 nA6}7f$Qwz7U3eCvV(s;fI7whq`tub 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 IZdj~7U^(uNF8}}l literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Light.ttf b/css/fonts/roboto/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..aa4534075781ca6567452f1ae8ed0d4f6cb453c7 GIT binary patch literal 126792 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 W3o|&$$Q&Ur?yQj~$$;1GV(+Q7+ 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.eot b/css/fonts/roboto/Roboto-Medium.eot new file mode 100644 index 0000000000000000000000000000000000000000..f9ad99566d1e19ef4cd8629304dd20243eeae278 GIT binary patch literal 21364 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

          9AxHZ~IbT3h=$85=u+hltSGXC~N5kVn{GK7RUy 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 }9naMW3e6&}Zp3`W)R(pQk(M3v{RU3Vo5jL|>-6 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 H=d=F@iuu`M literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.woff b/css/fonts/roboto/Roboto-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..1186773fd0a88ef19e2d374f9740e0467c285c17 GIT binary patch literal 62980 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 W)JRRhj$au6(c?2O1cmssXa5HETy$pu literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.woff2 b/css/fonts/roboto/Roboto-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d10a59261f0413aba05f86ba90b86e93090afa1a GIT binary patch literal 50224 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.eot b/css/fonts/roboto/Roboto-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..9b5e8e4138917c9ca08e0004a0e8f509c40e7bcc GIT binary patch literal 21320 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 G5dQ-=cGtK7 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.woff b/css/fonts/roboto/Roboto-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..f823258a4e6e66ff781f4446303823f36201a2eb GIT binary patch literal 61736 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 z zdLOR8f2t(9?@DXZifpg=m1oK(D$cHq=WK&aKei3d=u5}58h1t>9V^*ZDGBSo)K<8s zHSD5uWWEGtq!cQflB=11(5hcP^i(Blx>-DwrS+wb+uVX`X>~%yHOy1sI})D23GU3D z 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.woff2 b/css/fonts/roboto/Roboto-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b7082ef310e9159bc75fcdc0c35de4df22d76878 GIT binary patch literal 49236 zcmY(qW2`VrkhQyQ+qP}nwr$(CZQI`Owr$(C?R#b>-;cXeNhg(b(p-7cm3EgGV*&sK z_)q;R0C4{`fY%-X0DbTOm;0am|6f=V*g>TNI1zkc258X+0J%m`!S5i!9jt(CKqSD0 z0?-LY03ZaQ5uV@^zS`46iEs?S?MxrZ$|6;;B7gmyPj?4IL_=(Hz9e89~NKDdFB*$Hk|Gpv^&+BsN=t%MsL!XdfJ#$D@S3zW?{csWBn`>%|XfpY_Rr?h<|tp?C4ody>e1EEI6qkOkDK8<^fZ!!qX(5YC|;AX>heMc0LNPwn}B ztgqf*cJ}a$J=PM$k!$!wMu`-wEKDInB}}+?Fol*xEqCB8|IFTQ$BC5$4=ad6i7z1% zxu`@A1r!kB6<`FaV6>z@_aP1>;6+7_ef21T5s~#4#k3UkJ=+fqvwxV`bv0ORr?ZsV zfk!|TMMOwTP!p6G6%cDc#R_M~Z7zmbfCUY?$H6$ZfM53E205{FrXwXm0 z2nrV+`v-6niy~yJB4Rf(GFWd?>9$W7Z_xj~E{iH&k8*wUm(L`oCJPx9iKw7(3sNd6 zhOee7T|scWzkoV0f7!kPV1x|!qH;y{j_GRElW=QWHX)yjmaMpB5^Wq}CzfcGUodK(M;Z_Lef=XZ25N85zl?0l4Ujj>f{o;jznN5KJA z(^eSWyQ$QmM#0jQw`^qUzqsq$!*bG@n2YhYg0p{YwP=un=K}~r2pBLd6??p&Zr9|{ z;1`ksWqtOyw#JU3I}IbrHY*Ug5}$gc|3rv)9(V0qym77nfk3>+2Lez81Tw@w*-3bi z)EVe``xg*}GUH>tu3+)az4fgg-6{L(%SYe9b7mcvZX}N#_O?m_8dOpm{P?f& z+1{cFK7Kn>O?$CVOb`B0mgex2dYw?t$pzY${wPSPmkL+~s;Wb19+{l!n|JzYiW`Kl zQ-&I7SZGLL?>D%7uNL}rxc>`o0(QIiq1zAy#U$k>059zdLTSNmiask+7Rm`IcU$Lj z!_H-jkv^-n_RP~#lYH9AEum@$AhRih0yLr=zvg51m!>;Xn2Mh-@tJVP$x3C0&=!cn zE(;`5z_|F6Vb!J)9C03RJkP)pKB+qV=I5T;7y!}%K*4VS8Tp2TagP^VBu+6iLti!m z6g!xONe3n^hmb_47*hycm31ae^Sf2LDtqm4Qtha$Jv9>YzJ(7|#nx3KZUiEfP2xlN z``OJpK}sruJkj?Ye7K!M^5<2`%0xA@MkVa9z!4)ffwB@PB{)VCBd94WfU+wA4zVow z=YhdD`g9TY`Gj)jfGRb(t)waJG-x9@Zu(blwThI(FGa8>{d6(lboz9(NQn}AJd10M zUK$O>{C*6T^#L7CAY(0#(me%>S*DzF&eDatii&f%bM;f#>EuaxMy0+MrlGf_w~{jU zq;Fh*)JzUBCKQd#4=eH1;sTUd`nvUlSLCuGurHW-2sjU<#u)49_cxjgW@3BoVN%!mL&9O!?x zrOv5--|K}QN)ZD=7GV(MX#X|s6TA1J_~(suT7B00wu^CtWtzH5q$LuGRGM-gpWoX1 zv?MgEXPIAWn~NR8xO@7p7cx&N6ai!0{AXS-!UqLiL0}@=k6``*10Pxbw12h)Rq4dkW7_2v7m&h1|aX@GgdsDZYRc zo?oo1fCDLSG!a$&-m$7&NW&D)DP1K17F+c~A6aR@ZV(8U=3XxGj{n{5i6`WU%o~@k z7r1xA{ah?5acDmoNg#W6|G+;6ck}JdmzPh>%4N(YPUcECS6#p{vVN)(rPOkX zn8%LXbJF~blA|`<)ob?g!|%6mnXb)xh1LH>cZnT-uhRQz#{+%~?qA9{LwaP>A@h=; z9Ac`_g$hGV3h>7U;*D}wGXYc^3wndz-a&n6Yb(}fer<{E1PKc0h|o(B2?gq8z@&5@ ziey&~LilhfQfu)!>*m&z_gd>Qm;2If_+0heU^}wATL3Xv)zS8_yZp}YM1JiOQ}iZ$ z->5gMzO+isluN9x_&j2gn#m0qmR;44rbZD-nFto5UTC$ysQMc!S)_!y{`wu*Pw%1X zS^z0?rtoV}5RZx>Zd^YAf0BjJDF#$tQE>_7Dd8t(ETxL~@t8qD;m9AQ@X`EsX4ZR+ zlyH)#E%jm#xAoa=QT#J`o_Uv7U z$1N-mHD0*+zNtrRx8d#XVf1~CgBFMg z#6p3F_LjnT*4$n1muokvqGU&juoj8$)LnCp)|{?cI;V+Urn(v>c53bWA5MdQpMEca zKJ+?VJL0|CZ@iJvLRp5I4d^b^cg-*b=cM%H7kFQl5> z{Am~7VmnJNR;d~JuvGPu-3pxbAIy$*R{7HOTqXQsYI<3pN+A3SZkrZ z^b#xcl5u9nwFDxNJj4PO0Z?`#;Tmuy8y^n^juQdVLXTOPXKKT-(T#GX0n&x7OvZwt zkXZDwQv%$Qc+>dH%`;vlq5gbFicRf71pG!&%2!j^EON^)cv7szf&93r)}k8)Z~DI; zOt__V)p42>C7m{P9S?cddQbga@wm&A1!FwGehfAphBGh@;|M>l+(eyQl4w*6N?)rb>$wIEe@Rx})!Mj?0zSvsX9+Moy58(x*;A zqT~!C4y7AoF~1M0T8W>M&L`DLaynI{#77-v4ka?3<1X_dXBY?zm zLZgXML_9b%L3BJAZ@uolDM@;a0bF@jZ)P2&_tSrOlq*5CBj71mD{zTScw}^S9VW)8 z^{|w5XBX%74C9PG`Gy>(A@ow{&}Zv;89zT<*y~Vepkm53C2rf*1(X?42Uq&Ee?a`LWA+X9RHHjcqde47Cf;ogG5e;D^hKVRe zrBF^ANMDY%R#jRsOgY>%eS?+Ix5r$KPQVIASY)K7h?l4FN&9X(VIhuS(3Q8*YJ1j- z3XF_H8nIa}s-BP#nyO7#9Abs5;H2ByndeAV8GEDXx4cxl*rG?;4DbeK+z9luon_?xac4lqY)lCLvoMbxL%QkePthpkgX8XAV*bFIBXCyF{06wE<`Me4Io_%ajaC}$;?HVZU9YN*9Pb}j_TEGNwKRSAhD!P zaYIcz)!{|rtTp)mOCl~%5)4gXCw?_kXtr>y#{Jds2iTnNjCs+b;f^FsbpW7{}Biyif zJ4$|LX@LI0wn0}bKY3ZN#bI|&(|<%wvETt7MQ7k;iD-*Snu#W-p}YW2yTMF+XE|=n z$+QL4!tqR;dT+Yc515hkl3llN_a0hfh{N7b9oo^z;k_qc9*S;*QrH^|#e4;5#<`^k zabVf8hMCG2)U*jGY9_!_hMYbaM&t@D*}ivwlK==is|B@sA*fH@RBq5Wl(ONj>VAy(y2bxgsAAI)T||d5W~nEI`X%R8R{W) z-T_09RgM6Tg~am^Yw8q=5n-ZeXF~T`tae5cc!dtJkzk^r<4S?d=PiahcWBq#%cudc zf;>?)6IUV9E>f_>(?!YC@7K4L*F&jAb)xJ;MKsTa@^B1W98p_rOy#2`r#j7Tg-VD7 z0(rz1g^zS@TRnW}XDSwv`b;B>AmJ?{C=nLhi*BOQ%HptSGDIlW3LS6tPxaayVbJ-t zcy#=uA@g}~c~57T(ISyKo=BQq`AhTZgGS+MnB2&_?Y^zMNptHfJlxl`@AlECjir`h9DM0jcLUst9nU$8pWu=Fd}86u zJd#ac6@c~2uP(JHGfIOwl-BvE5?IIPYT@ux2pYyNO!Yz(=$R9GeEl8YJ@rb_@xQc2o#7p23ZofMjLT%^)5sR?Y{ z{@HT=Pj@A@Q^*W~SRh`HjDQ)M8k-xO9Gx8=0_NZ(J8&>TWSFGH0D=>gREODo06gEP z(PAR1wR52DB3$2Z>!0!lHy+TF4jw{i%pkNFR*WuVqbbdvEQd@=X4y-1aFdp_L?vau ztXk$-mzuQ@1j;{@be~#9P?7}9krWJPb#H=mVE8Ym$vm5|RSu5*`y}Jy-IgP8ftiv@ z000yK2nIx`P@zJ=G66{i3KXdKDT=LE)9^I>^UankhXX+onIMYF7f^5d{5LvL@DM>3 zC0hh-l-DkD`+l>#1IYFF-n&OYoAbBN3|yYeNJ!)$vX+os70fE3R4i9DU%hU0b6DJ1 zX7yVh&xg}!Eud8t&TBdkmY4Go?$xuNu4avXbPY8p5_fw2x6uT|cpgTx?U3|djTV(v zKKMtJ;J+0SpY9IAA$U5L4(iqMrB9zbS~u*t{gHvU=Uv}KyF_=?jl|otdEFe;@sb*Jwnicr$h05CY6g*wWI z>qA#F?J$n}{hqyX*zmhlS0$9rXc_Lce8{^J6cI!!oU%|oY)#fcZwi22c~TRS>U2pw zi!pAwh8@|RFXt=ed%nPU%ev*j79-8s$UVw#z=>@57H3j#UuwN)Ut(i-+!urgPGvc~ zlyN`0a5+C#Tc%ei)qBmTP+sn1$^?X0K*c9+=EU2=^(SyC6M%#8f zlspW1+g{cWj6$Voi#pPn7m?3OUySg~7MQm)^qHhI`Rbh38u@!GHd*+7pSE4sbisWL zh*n0UlE?pf&CvyT^g4o6H13G8Y9^Gb)p8q24O{7dTl`!ds3!cMp=?x0widNs5FhOd zi*q=i>|%N$+Mh*J6^t4kkxErjrdTprrK)vmxnk+~>qRq)auLaiW@Dv}a%#a+ZfAI0q2yuhQ$^3xfz7@|K{>P z*QjO%wo#V<`*G`E?&R(ZA!xH;JSpD%rV)uxcX(D)*&98)Jo1wtISv}o|Bf!OgphbN z^}2_wlE`JbYH9ydIQp#;!xE&{VyJZv8`Kid^*rMZv-muRq;fz(pS^_b=YGn5%ZYK%L9ZzVMpC|$=#MLRg-%?%A zXQ&6{Y%~8Lg&_FZi-<%*A?A`fBLHz==v4OE; zc#P3$IdxasBgbmt`{hHhE=*smF{{mjy3M#$C#jb$Hj6;dwS+tJbd|V} zS1bc$Y!p>mm7P@1u2Iz!ve$R%?4j@ryfIOnmeb=T>q{P8&)S(MJ1hz!Gf~(~fnpv@ zeIye*k?I$1R|2d6fn6)wV6%!Utn-wZtqz?V-RDO{fG8LSC+gz2>K_}jhvXY@;`4d) z2v9B*pJ5o0uufp3#H9BqV+V;ZmV}=Z8+}eskD~0d3hULR+_E^Nv7`k%Y!eq#6mXnH z_uN4t7bJvWF)GxrRl@<8r;pn1#R(0Lfi_|yq5Y7I10jv{=45)9a5ZzttTcfXz)We= zK%_$-Lo6FzRfPy5a&mxNk=G~)xLYPG1*8>)iev?AB~AkOm7lS!VO`a+4Q3$Hl)KV^ z1N2S|hYlKP%8$&CAdN%`9oLpFQfN)g53Z=Df!m{AIkV5V$XRJ5kES*}H% zl-comy(;U#arjW~+Tvde#jB{4YW$sfTsY?=2 zMG+xB#2#Q39$DeKhDo!vBFTdT(0Z&#vct%GkT%`-gxJGM3#v9mvBA6Kcn-nV;HZPu zz{!1B05#5hoOGh%q*VD-F9m5KUW`sB2zTbS?I;LiF7>s#dN3ThQ#1 zqhWWwTBw%q`vT)xchBqy)WbLu4*0uozJb)affN;)Q*1gzGQUs+vnX;1s~Hg)(qPVm z^vspa%emCJFnn8LsqdWjRCH@J(YTx(n)a@ie;O3YaI%5Ik!`0iTPKSoDJ7LJd{e%< zT&!tnvOU@|g)7j;d-d`7$Ezr%PSp1d9h`H)(-6tXc*h)Mz?2)#n%T=j%ARq-gYdKf zGn5l{WGEj_jzt_PAxZ%=mx4&S12G!({&^;PYus~ z?LL)oAK5-&{7LvZlirb`5k+InYOV1feCGS5-!M9C(nQTrN!EBonsIwJRqkr)Lcc;2G$x@AKW;>RNhK@j50LJ*cvUc-G%0j1Hl zVcC-Ji=Ok|2dM7fNcznb63Eo#eZ@eKGCgsO z&<99}$O!54ng0=Mucab?pH%O>2bv!bo{@03r4k=5i`S+p-$d0@mubD495(+LzxSZg zl=t&L>XXS}O6GJA9DF;a)!J1@2L*VyeUH88>l;4x%NIFdbF*GpJEyi5*}QZBS$7fg z6K84Y=^^?jWH_f>Xzj(r^8StL{Q=3Ny}J$yuN^(yBJx=fKUn8cqgwWV04=8_X&%Eh zm`VM{=e!KP>!T>$&op8RH>G2~Ybz z(W0{E1wKN1DS$G^Hy*k5wmC8thWl2Tw%cZFi+J)2izq*+wZZjF{AcNb?o=zPh~mGv zbT8HTpa|!NKJ51A+()&LM}CmH3H~4UDV0c8bmqxCs~S}DNy<`B>jCrL|dA4oy+UN)ezWQcT;3XvvI#GfOLKOP2wTqqz^3GI=Jf`EgA zyS-^wK~O%-C{qzjyD!Wll{|&aBb6IVA-V2Q&))F_I!LVDuggAwLLQHW{F7}ejZ9E7eG@3E+l2)X5VmTtIHi- zn>O;d=kul&JqKLn#oqe@> zkGfs4*Ib&|+8S~CS;@GCUswo}`9A|20apJ`|M%Vu?bECC=HY&B@!z@Yul^#ZzI+qM6nTP#JRz0$8Ob$<~9F#jp zSQv(ODE7~6=pEymjbG!48}7K}8Ju+Wk1Bb$hSP^(FRaoSScH|;+|Zm5grA==m8XeM zJqLFj#o89!W-jDu=|-SnYQD6$T&35ZNc{4ev*tVlAInQAtu$L5a7A8f8?8jjv+Z@- z-`02}!PI<$l7j0f?}|fhnFSZF)=+de_raw)J$w4DS1)&^nV5azR?Q?+WIX{@;BXdk z{p=`0sTfo&jLZa3BC6F$7Bvu$2yS1c983n+2&2505b>)>F;P}~BuBZ?RM}mYRf_w> z{L^#4XfMyt`vPOSFG!4ujpQ-tuB7SKo?eh~=F~hFuH$RX2scIi8QBVx<@5Uty==1u zTqoCng>#_ML5>qAAs$ei9htBY&|ra#pK+lgM>=$|fOIBXao}quWRkT+OH~^TZ7CO) zu@lhIL(Ko6B)oePGy=qupo1Zopv93&QKO2_4kO|P%!>XNxumc@r_{bp!Rpe4o-opbgqHe`5#xOn zCd5~Kl!nYW3o4DG+fo6jF+mlu)gq4jB&iXUmP!4O-GyApH;g*u@aAa7vv=`+9dSW zNc;AP)w{YFBnA!vlsel9Ory<-PN3sYgsIZ*k)&5PrAyo->wFDqEKB?*B!`p|MoVLK ziaTbRK*(Y6s9Y`>jlm12Hw=4$K+MPm=#dkW!9mavkkAqX2ooqwU14QuS1R8Is;3meEqTS<=FXY(-Pgx+BLLe3n#e%k3X*qs$_y!+ z0A=$rf)VLKJR_6BgFm^jET+(bAfbt*5mWp|1Uc}5e9Ex&K=wjDu-DNBu-*t*BuA{_ zZOkJWv#My&xT7-E!7shaG;q%DyV%ZKXhHZ{td|GSk$})U|G?33C?&|1(8zG|Ep!T! z>`)ZKG+H;iE*8GYJt9^|Ct6u8US1o_T$vQiuo}BApWZMV4|+siQA=GVugTt2Y!f*J z&f;U$x|DpU@}LxQ)UxghmIi@krhOqeK@k*=ytAW?W{Bv}O&E>t9V{-SY75?RrTI+= z&8$tBCKz3sVFwNz7Fp;Z0tg|qZ4;?h6fgAJO@oWDEz;Ne((Lv0<9x02rEoRq`*%hl zfgl?KNJ7M50yxvTK_GYbB$I&+c0@^FNibqf3lI{gh+{#h**d?9S}U(C*0Pi$bu^gZ z)bWVWeh=6&keX+NX+s)R63j`CrYoGIP4p0RU!;b=K z7-#%d2uH4DQo+V~)3y#&MI%+9qC%_zGnWLN9_4JN9CS|!vSwR$`4+?%57y~5)VBy_Cm5?YUMk+bd3X;?!1*l?&r~(OL ze!;EhY|ZEze>mmcBL9I~+-LgAxB0#zK7qfiPlzAvOXO$!iNE6F9k8I!Hiu8iwY9+1oazm4ewoap%vjt^E>LaahJf_DF_lV=z~*i)$*o z%h~j(O3(sHdlW;;Lu;YyZo9~kGOU7S8JN=-*aTcpLI5waCVgeUuc;JP zLuBQRG*Zh|8c!a_xtKWK%mV}CM(b(BL@t(-A<)Tx(W@*peNrKe}UMl1> z6>+v>fj9B*5GAk%Ib&pEa`*JX5Z!1vcof72s(wK^L)^2umbr{D3e%lg7!f0{{F#({zz(GqHILTM{hIznCT>7c)vJEXTCMMj56NlFSBJcqv+ z+w!1*B`i{6a(aS_lA5Bbvck&Hu>-yP_aH=(GKEGQf=VnyPTdMdP5hQN(4jqfAYNh( z0Yi?MIT&?^dSlM8Uf4!yg7|U$We}5ym!cMWCZLBOOfz5`xUlp5WGu;M>9R~zGRHfGSv!R<{s@*g?$A6X+lQ%EWzpIeH&3?G^Lu7CcOB z_vDnq^UfFKm*@h(V5MQ33{~rosS3ZM$?6BG6-`N3Rj*W4Mtfe3N;JUaJ;=ME0_%bW zA`&v4Jsa~&FFE;L`OF}BNJOfeE}G4TQ+eF*d8wXh42VU;5nE4OuhIw@D6bm;%uUJw z;NQ*EodRsF@s9b>lm&agsGEI6IiLZ60M|Q?d`L6`A6*U5|IkxGLB^%W5?3G@zH{^m z)sYDxXd?FOai?Cn>c*Z%El@&CSwVjyib^chS|o<3Hc@V%;%m2k5>-W&o2^~LZ(Z7R zJiA_jXdOTRA!J}!LBtSYWU;F`v->5BRFtz!DByDGl)Z5H)cdCr^hJX3{w%^QiG<1y zd6LIVp)}JTYm_Qdu~b`~H+_ui6Y3dMWSMd0Bi6%N>pwumY8ZoJP>#{#8^`0w$nzGeCqxmY4vC zE@A|ilWK`?QgG*jFXhn8LH>(*b#@w;3!S6N$vRKkcH-T9SLs%!(o|=)soSg*>qaq>q^>kS$9n{(=y&M52KgSUwWkd@I^0xP_lAUZ z)gYXuCnTWEpe(#R5Ojlw})uwkd>(P*R(M`0geUIqN{1MvR2h^=2cnSS_sO{~_ zD-0k30xi0Ke#_r-o50ngSn2_FdO|o=SS2oD)9Tj)Mi!9(Gt0ZkW*6qj-u<-?5r7a= zkik(0l>}9*hD%3ZmK9!9@b0XXsZ*#@$*PsRYw+)wIt|42Li#{!>Oly@Rl+ELW&YNo zGYReQaBXaDPTyVS_#6`>^B}N-!UE$wW4)cj!|VP92>~e)Avq~oQAt739tIo|(>D)D z$%biP*6lk|La5<5*VV3aCsO8SVbum z%@`uUU+EyAAwcSL^RYx(z8lwj_Q9xi!NqSYlk08RMb0fI9*^_TDMZI9QJXXSTXN1| zH!*+2<(p}+s^`qXYdfzk{npki=qo|SEC1mrgaL}&>jbZ8`EA4O&eJ&$H~nn3B35l9 z<{BrPIhh^ZT(c)P^b;|J90L*m4a+`r`^Z-BMc=_RZ%PJ`k_8Hys7Rs`3kvSYq>q|I z#+auVrmFC4Kvdyk1x-~zR#|QOTFP4DTKRz`L2dYHN$Gsf^cbcg>d(iA_w}WJ)ukTNT;KUE%9 zSzV>Q7msX2KAu6F=Zjw`Y@4G`4(iigWq?zLe9LpfSJBS@iZW&teG?q1jLnc zLkbepfh2`hx#5ZBZrgV=@-=~6j{h8raB^de7tieQd;qP6?{#JbSpI?Z-eaq8u z$6h=5)rtHc=64syu3lT|%yvuN?!OACFEXB*fj8j{yDUG#Sbx)`i0MDjUcZN{9}|hF z#qgddyFr0XnH3J-CiJ=(0itS(`$~or#G3DK{b9i!pARorBU_my3Cg>dA+~(vd zMeY2)9C~7K?632Eybk|&Y;UY_`+#Zy2k?Ggz&-G9sC)QJ=Ld34zY=r+V;|7xZRb~7 z8%)p>0Zzp_yjLfV=Gjr3kGD$h?sDFtSp8#>phVs~P@!du1>@o8CUuF(WD?o5?WGc`9kx^p{v z50H@bczpo{3PBB%G=)goBuwyXCy?C6?c~;b9}qr!0W`^Clc1HRI~EJx=O*`zq<9z8 z*h37PQc<45Nv24dL=An3df0PrExZQd>&1gaMRVK&HZ{t+tcs9DR$A*0ISLEi%H+O^ zO0_~`nLHv4^B%$PxL}pSp2OX58k*5Va6t+;* zOP0($l+j_vECa2SBoZuL)Kt}IARy<3kV59xeuhVt%E~erQ&CwlsbwR^7kGp!SoDu5v z6xBMlq`(iW$;sM}jyeRkS+!T)?ss*$A!Gq-tBmCV>}0e!)fO`&2ue;Vb2Su8F7kGCX6GMt?a;{LBRtQon$!PsfWjmiq%*e% z&dZ5VLqhukb>ThOTF3z3k%{YM7ZQ~-qWUpHPB=@Tln1trJtCloBYN?Ouj^&QNe!{Q z0TPBkI_H6lceUy|>|JB?#w=v)0A(s1JuFS8R^V{bP@rSurAZTeEIbT*kbCi+U&o*K zLH!;z0Jk%G#xhGmJ43i71|x2MBLCUPF*Q`J_!CblcXj zHt?ZJxU!WjXycBCJX{0AJxt(c7QnPH0E^A<7LN8sFo)ZMqBN1~W0Vf!7G%~i({aNm z-X!w2+ieho@6g!dQj?l$=v_|G!xDhch-)1bQ9Xlqq!dMsAAOh!(8`kicx7CDmtlVpGT8vT1rn=|Df_G&GP4Z<(XA z-b%pOm@PRFkv`>!DuXs4-dx+o?rU%4nG%~d_|4tW#FXYgU|2G2H0a{_RlGu-Id^mL zmALtRvZUm&h>@PyT1Z+8?43EH6AN;Sb&$uuP^gf&BDgLg6(F(WrnZ-aF;}iMm|!0T z83Y2T5?2HTfPh9Rm#P*3SR)8DD#+DIwVx89Gg9ez6UR*zUIuckxZJWCZwV+acJZpf z(m*yfEE+Dl_4}b{8GeQ?u$v_&HdM9@Ve?JG0z5E!&>=#fS?A&Z9Pnx=D6;((31IDV z`)4DXcBZ8}rIAGYP?N2%Zr=8RKSBo>RWFyk!Sqz@)7YJBX$Qe?_=Fd2Tk@jv#nNko zd9ZI^D7M|%*L(KZ^+S~emZ40R@QGyxp$hxBIerZ~#a@w8pjBuonjCij%ZYyv7!@GH z7%mCL+S)o~$=ySoaQriWn&W4oEgv39XQL)hRLjzR7+^FFtMxus!asE;3Xmwy@g1JCa@0=v>f3`7M_c; z5v_MSUF>bI+IJjZ6g~AsNxZ{aA=;eICMQIP$#Agd%%6*dQ9`Wu`})$?Sz3Z<(R+w{ za!7C1bd<&ljna6XJFPafzxdRt0qnT8N`E*bh|1`JCt!+>t!VIq;sGzZQll##G{tI4)u&a zuOZ}43xn(0$JlgpxWgge{?z7fOYP+~lq$r$u~-^kWUIVcm7%Sip5YmyY8(uCWxg)Y zBAG_j1=gIE>Km<;|C#RHldt71Jhk)tz^8j%S%fzARF-;PpKW3~hFMxK}cmh9IG4>ZPrgfjZ38m9YrQy!RKzN%YS3`)y}3 zV^j@P#jDn|v_R2->|)J!=)7--LBUXo)z0$FSvvbydK9006Qn`Ii(n z__5e~|G_#U4$;z-oWoS;+gp+_HADbwqO@M7S1X9*r%`c<8p-Wkmu0x6tCRY-5zA0E z03t0lI5tMU5et}^IJs*3s$5^)Q|eJmBndQ$(P2MpwdC&}uWGcj^Q<+^I2do{&$4R2 z*W3ifm(_5Aoexk5Po*R2F3JI zoXnzGhc)BgJWz`*?x9jrDw*_Z7i8Z}K(BN_U z-v^6M_M)=%!Q-m69jQ93Ilt@fK-m|5zQ=YM%kx=j(C*8xx3R;Yufl-1&n-yBvZ)-< zCSsQC;0zl|dZVV}Dr(mX=9S6WDh=7orUDo+^SB89#S<#@L<_HYin7gMbLb*JOARby zn2@m3bAXLWL^YAk6#Fex0&DGq8ubmdu2T`equB#Hs$Lm|v+G85`nRk>5L@}@NN$vb zFvyDAeBkDf`Zec0A+>)atl_XWfd-RZb3=-)lhJZ>_n)b{4y!C2*j(z_iab!^jrX*{wv8YKx61*KC7C?9j~0lq-XZ(;XPGuDb>8q!@>MHrU;7mfl1yk;3;hEy$W` z>90|P)U|9URhUr9DoR}ou>NIXv3bDTg*nEvAS>mZ78~Xg)_8V(3&j5wjq2GlU*o%Q z164R{kU49ljV2~pysF;g1fv^6Eh}m<0aHE>%B|z)**BgCS$#Lq3=Z;qopufTK9%4s z2qYz5$s{FdlrqdGxJDKXoqD*b5KL{%DB!cA#Za#=dM)4xJ5m@fEex- zM1~0k(Y=f4`9(s>!s*z$SwjXNL?($1nfCN2R~i`g&0N6Hllv6n?R zgisA`!T3UW_rDcaeV1g-SqUh|4|2|7VwgHsVKZ4uq_u|&szeIkpzjKHz#5LD)kPmH1|Rn9XgC%{Nbsr z^QRx?^S-Bb58WvNEdHkZJU34NFA zneBB}n99C-aX{nKhq;&*=}|%I92S*f&qWkat~JPO4zirYHtVEWIP9r676Isw8+7vR zOGGGq)ND;Z_g^%(K%~VNSblrr1hep1OoIzki)H8)+sFl%Rn$AaAaQaFJ@W#yUFd;= z?Zh~VqdRFaB`F;=CUOyo_SB>-atPOqmspbw&yYfbD2Lpz_y2K3Qk3tf&t)uzd+nD^ z;^FkoQUdJ6cg_`)_xXt5{j z+jl2Ky2j1t&MX~N=_ea;Wt3xPbx8(6E^nUdXg|tcYAy77>1`lUNs;7+3i--Euy3q) zrt|9Cb{b(-SIRf}lu9gd1&M`SKHjuQqem^q(qONz9z^FK@hrl2o+_{~NS*d|13{-h z5XAytT;eDFe*iB)(7&mJcg@6GH&tc>kbaX?usej{c`a;i(x!%1Ph7IHdsAS4`1=Bn zP6y*TdJ}X$nlh-XOxtdvY`ci}G-XdchwEe9BA(^RnAbqFeMs=1$xcDz&Mt`(9cmT& z#m(XTalq72viS|VXm(sQUlT)O4G-JIo@9BjmA7q#Ca0CE`BLD4HH#$cneM0#aIppyG3eg8D=cdD~*KKCaXgd zZjNMrHJ~6tphl4ga}>zgT1rrCrBR4LKQs@BAkqX{Z4&GmZE0bf{AFA<L*t%L3-aDQ-QoX=S)WPXFl?X)!PP8^!2AnA5}yOpAfZU=2$_D_Y~BoaN}r9NbF67Cps`L^ zoK9F)i5sL)H)5$JPzU$CPT>{jL>}_8T4Wu}(WGWm^GQi8idb#g0d9|pL*BdY@^{;3 zHS^A5kU>-76GN4RRR=$@m+U?C!!FkG__rQb*=q9a6{*bDs>_@0mg->WRAe+MTP|7L zKQx0c*|{4Qv=Zve4TcxsU5lla3Oj*J1c5zNEf`C)?89eX)C5P84NpP*Z5q2x*ODGq z6@>^0V8mXSk2RDV|DbSv>ArMXZDEF3va_{@lSL{@dtk@#+H`geRg0mF?>SCMizUe=>#a~!vAP^YDDrdSGuS2w1A-hTnZ)vYxD0hvr!Ht8+diXxZh!-| zPiY_L5`qHmk?B4-WzRAsCd(!l}6@?E7a4RCgFG84x=Z50j zx7annyVCl1aTY$i3)r$`JHTCmw%aPCb%RH7Ui~Um2Vt zPWo>mJS3mFxw(J$?wdyJ;DwU%3Z+Vpsj{Kfd#1#}Vsq6&HiU+5hGs25vT9a2-GWP`Xs$q+{(CLY27J-g(G1YcuM%ipZ|r9h2^O_sO`eDMD(xi4&I z0n%9uRT+>k1JhTSj@2{nj|XrNE*=uAo1Q@rF5s22%ldk2{f!yDcZxu1Y;hG}_ z$-*6pn%nIi6Qt7gY<{SW=TT*I2rbp2TRxN``iRbQ9s_M!i^#%}F}O}Brpd`jla=R@bfT@6l{G;U_W z;&HmVha}xw`)Il(sNORsowH@4Se4^QDO2EDR4Itw85yJ4Q@caPuQGnJ>o|pXmWCfr z^ZoGB#t&(4>-t@zy^jqQ^mr@dr8fN%cDx`&p&*=JIr2RM=_#hk7^lg2l5C+#L!>jm zpe1-!Ap z&thP^wQl>Sm$|o3h>SWP(skO*Xt!=SUd=O;cpFTFF^vyq@%9T_Xp$v~^P$)}vnFz0 zb8r{NJ47fGib0y4B1P@$?%vViv2st&w;@BoLz<_NVZT7=UUZh~nVe7?azN(n;d#lG z@$Kes?*H6p_Rr#Hj|R6L8)!}uiHqgRdR~pqZP6#UBjQhiC59mNiz`Sb0{g-4WY+fE zSgyLuSn%R~Wqv?UzNWKLyjuUg^V#R}1X7wE9jo9;=#;o7{Y#utP|5z_2j;->M-+76 zIhuSnzn!i&@1AdRm>r4=um~CF*eW}#1_(;Fi5lElu{RJ&C<5CeG|}#Z9RHkq1PCZ( zkkEk4A4HJ?=^gDNZ3+`nid%6@;_I2_f#mBT4@!LkcPl8781ch(2}_@jF_A*gikhHG z`@_fINgS(wcx<1@!DDU#iY2bsyk>qZU9uuuE?m1Jsn;Nq@g|ao9@S-cyVMsEbaA(2 z*Y)%&tb?1(1G)ciga5pry$;k~8(@^MBC?eDzk~4Be zg->smSmFz{V1DJ=7LC_#Ovzs+o&*9XJYqyl@9m8|)b8?v>7g~*R52;X>GXt3rKr-TCrUnt<4)vp77@V#z4iIstL!^bAB7eq) zu*lITdm7ocaA@_3Jn`S{-!j6ZecF;!iF{1|mR|3+>Vqs`u+A&H{o{#AI9^D3Xrgfd zT4}!PbmYTfEw;a*Qx){6617~caLn`5Y5eInY`-WvNT8WQ!&{KL_!V@oqpaga99A2a zBh{DN*(k_Pg}nvyOND>6(NL?)^KJ{o!ez*`Rb>oR(I!-j>O}Gz6Xn9@J%SyVMPr>mZ-0NfdT^A9CHG9jE zE)qXXtBfrXB4H2W*+(34=(lDVpfEz4rD3yn`C-T))eZV|6x%2^A zk${whcOgMJO%h5e!+l^7+ek``(VygpJzdJj%pQid@tD~oIBoj@#h6oC-F!Y~WBv52 z!_yF5_SEy=SBif1)OPuk{m<9FXmqFg|I+ct9iu+?*PCAe?BHc1lUM)xPr;(HKRmkq zkG8YNZuj=+tstOs%HxE`EOxUr-ATlLI470Wlt58@DN3C%rSVbQ^l5SB*H?S3tg{V< z6oGH-quwN;Wn=~ddrHBCp|COym~<%mM!%gHV&Lg9hMs6?-2k?MnBuRZSVE+11A`cqs-2R_Or*5-ANzfw(-k2v zA3;C=`6-cauuxMd&UVW9P5k09u>ZADyQ7?u+?jFA5#|5sf&sL&U7ms4wE5;>*ebbr zNb!l5^=_h7>FEgbh+Y%;z!(NBz0)Mh*#rz!^Z{48G!eeRuT!QxwI0HskeM5bd+a|R z@w&fl0k(sm7Y!^yxL>jf9-m`Eeb3|H1E7dHFlC|ECOmbSgfAVrHceyIEi%u@9rUzZZZ8 zGiOBaR~=r6$W31q3;V_IXJ%(C{t+Hr2+J8+6fFkPKezQ-mD0}Ga$O{;Ie+(pMo?$g zn3vMe+c_?p#OkC$lOg9&FS)W05d| z@|af>LZ_#SFUSj0r&!z~&mRkqtZ|9$<(|g*M*v5b)H|7I*o=x(RIID52_e!T2%Vr_ z4Tp8DWX%YvgQw{HqG+h-ax9^Ujw-Lg#wl)2Jk}|8*~ZJ5^KA0KJiV-l^jno2NXj8` zqCm(Q3|r7nD->z>gSkQQm4GVy%k8qqDN3U})A@;i)}7uxvHsW_Tz+7G=hrr8x3*#l z){visIF-ChlR50=iui17LF_2Gcu+I2m3s4D(ca2JiIX6Ygq6Y&y1*6Vp~!{O7Roc{`X(4WW)JSb4k0%+N%ayA6L{8z7HGiD5NyWI1JU)D}*gKrR z6LI3h25l^;l(U^*Mv;iUUW${(f(FS@997~H2N#@2{HM$jwH6-XP-aQ+QoSo3Eu zTeNx=C1EfwG(+#O50x_(7^K`Hqjc!-aU2dAHN+?2q7+j0bsmDKw?Z9b;QB`y`~tih z1$Bp=3ogWk6&ed{*okrKMa--Na-qbKd|)faO8qF%t`Cw}&`d>w2120;8aA!Z2&!Ny zRfr%x0x);=FC)2)gzsu_YUp$n(KBkI_{irH49?YZ-2#GBvE<;)(r$5}$pQEL&!_u_ z3Li(w1G>L|t%V^eG0Zb=-W& z5v$CPK+?tLBRaWhr!ijX5ki%tlMSS1Y0~Y2md+$N)7UN{Hr(OoQfr5b%LX6O^&7yk zu%2pEgA(dEcKIvorm=quZ-0aCv889XGSOw~h4-A(_>87Bw1)Vh1D|Q3*f7o}&jpV7 z$$zrrTkr0^Qjzt}H{ZSYE;&jb{u>tqFGTFiL&{^#3nnN^*=CggarfW$ff=Q0k~RzI zZi-00vJJcSNv7SM$)Rb9zdoIT>!5b>F?RxAk_Nk6wER)K>l!`+w1i~qUDnZx+zSl0 zZlUFH^hlV(j7ib)$yuv3yL)r=a5`T0N!IbS*k{T%s%Ud(tZ}gpLM`kBfL>hyH z;^xF`s7^NiMmTdJ>)+nPy~8eJtatdiog?}MPv=i43!1shMc4}7JweTUGz&1O)(O?0 z^w7g;TY7Kr!~orj^tg2Gvi)m%H{Ox~WNFbk4k;Eb^^|UT57)np1?SEWssAhKdVrHv zd@qp}!l!o;9~{$U1hg4Bq}Zb%G!s`#^DB7|SVsqAa9Ym+CHTr;l;qL9z%K?K8kikO zTlW(GDSsJEo$p*Anp;@j#j?zmauzt0!aTKjNIIUe6zycUf!32eb(R4;uo(^jKYYu@ z--9{apx^k}`sYvyYl#0N81BB5|c!Seud~QuZdj?owcrY@FhwZAxM25cm4uD$PXqiN%GHQ`Q{GOf_eo zD~gX=Qj5dYZj{TwrVqioVv;EV`1KcGt|k>lHe8m(`u^oQ4^IFrQ6JkY##)+}1MT{b%D8fcj0j*wHdJ^%14Qv`I z13d37af$1q(elok+&Lb1%^iiL1UeDDeAuz%Qx%09kzAC*fQm?oEKfjGEyv=@XqUqI z8SI7#7WUUul}v%9;Yf)%&84wMmbmUF1iN#x>fo69Q>DOF5bz49)n8Q1w|hf?dt~`x zDf((>@ghHWlGJiy26?sY;ljUY@A8z3{MWUKAm!cFke z_P#~V*-o|p28CMwaJm^>-EaSTS=?yhX8kpY@kAt{yv!vGdxUeKn-e@fx;*h_=HrQj zsmhP<%{-l0fc#GB!-ulu{Xt9ChTl6t)otntYZSkh2=)Fh1IpYNi%?g$*ij7XFIHW3 z_2lGyRt+0X0>HM^k_)1wIs!kGMh(|DH$Wm09k|RB2WhuW&!3o znC=?Y<#w{RMGAvuhnbln)JhHAAphT*R}A(|xNS!B3=5>gK^+00mx!@sNErd^mTF?` zwfUq$ZrbY0F~T11D%&-4z?bi(w36gu9(PFOuSvO?;utl7acFk5EQPX;x7b|~xmnn` zQXmZ}*FEMmjwWT>dn9=JDjK#J;}Xclb257JsDabX-x4YeHXXK{41r3l!F;Ku|4;kx zUle09JSLQl2ETg<1Wrm`h^G0(N$dtI708lUBz*R$Gb%Y4+kD)GHFL4ud1%r)tJ z#bxt=BHqTWqHWID4#II12sytY9^9>TU|1J5Km$G>Z)+ImW5|ttnRP@I^nq3zH0oGf zHqDmzdBfjs0Rxb7&Everu_SWp030A~5MGC3n&(RR^E?{Q)0xF{I_Sw0M`0yGRklGQ zhQpLDtlN>4*ej-3M-6%1ye*-!5U90SE%wVV`rqk({?d1Jv(c!#IIuH1imocck|y_# ztSd&sEaD~oQAToGGDK5D7)Av|6kNpq}pESD0 z$u&157n&RJSp%e=;-+FW%Eod>v>{y`qkrR&;(bmz5@r*>%VfqFoQggHVOBK&HLKCM zawztkk%lzOV32eyv_4thvV!8}Ux}*dk!}?l7mhPjG_R!a^AaxJ&{m<+0P(}DJdp;@ z7pcZD{(!Nb)d{omL5(^W#01^x2d0;DE6QD$Yf!{$RDjxtqg+CT^w=~Fvy-`5wjB;; zrcfok%Yj7j7XG{c-hI9sm4OerJW+I7Z?-S#>xe2k5y{F9%5-e6lKHG`0@N{@T757CRp8W z!*r<$Fwt&?xdr1F?BW{$R{(9^Zg||M=G)9PG2y(_ z?iIbu*DpzwTCiDx@dphNaA|)7Ri}8S3EJ_p9@9wn?kt1DMM8Xlod?s+k0S zxTO0?*gP&u(~hgs%mdc`|6BWO73?Fmw+m!@YxLSBf!)Pc6mQQ%*EZlc!`iXQY-11Y zwJ)s^`*y*jeGPoO|8Gxr+pzHe@Fy)Ctj}O7ns4uv9Bn7xcs_vjis>lkNUNOLxG=%f zK;1qgkFP_cy46SMQecYh4D|IU7lr!0*8)vqd_9%Dzf7*md_KvpBT(c^pa!Csoz+3f zap)}l^HjtsvuBJzch+(3h~c;>&L^D$Ec@C(-9lFH{Cd_6h9cAO90PqS$t{WZ7}BpF zHk<%TG(U~}Qz^wE9lq;;qE#WOg#C7-cn)Ff4+?#W)Ih-dPD>+fickxAaIdmMPKBg4 zgGoa5hTKV$>kxv5NOl1W=}~veX)-Bz?I#!RnK^y8xhGKwT-SC6ykfYrw=J>qb>wac z`3MfKNF|nu~Dm_XHg0>Vda~895q~s9UB-=>5CZO6I9T&J>rJ9bz*Itd7{C$SG=KMdOI#2t#OR zq*}JB8G8Wh-&~LIx-}A)M4?6@Jyen%VK+*0h}qydn=nOK2cAlp zDDk>ZWnM-*;q-BQ(p=IrNhSgW6_u9}L+t@xvjWsn`??AkD|@*yg0F0CZ_z$NK}1uE zQTwY{mIA3Gnjb@Ie|c1~^>8UB8X*>VyX|;WJXOi0TDp@|1?mBn9Wkd;QO^IQmvL|U zTkaD}%U&lg_)A%H3HQ36d5=(9_69*H6TiysyOudpQ`3W=rIB)}=uVrIIYM2^bpxkD zx`}~38F1=@mtc5l%IhV?7ttk+zT9AfwF7pq*~^a|`BFrUo-5_aGprMT;a)Xk4@(m=jxG*GRI2q{^% zr1*#$4fo5~#7KaX4T@E6e3XhB(~t8JTB#l3(F{?UA`GC`zdhdrX#=|aH4~+fYHf_~ zC~<6!K2T1%t~u2x;DMXu8H$|HzE{;3HQ369nYt|;x_Pl+n3Y3P*5%S3Z(fr$qvYRik*x;48=zzF1&MR{0YLpQ8BVH+ z<0@%de}T)0Sc4!n#IsBlG@Vau=_gqqA{rr2LT!kAGv!(rT%hM$Xe4-Y3;BTOG~m#) zvkgYgi*Fb9M-g<=%;kBRkp|pLkc4ixfW|R=F9nkupfa+|wq#U9k=1QZc{;_u)bkQi zc2K+>S8{>n`-!q=h%XOnur74W7~Dn35u<>I(0avBT0I8wScMMO7M3DfWSt4tDs&2^ zK3eHDt@(^3nK0~c_z|07-*>V9vVECzq8Od)d|U6g$Rzwrhgo>4f^tU)rAxQl^A>th zYZAi~M{cr%R?MQZxy+cSf*7s3LsVK3jr3(DX$^NpRM^G2MC^ZX6qoFb0u=%Rhong9 z)SOeDOEdshg*lHsTg>ZZr3YHD%OXDE5o@R$)IF$us8!nY= zX--B-y9vCbO^1Gr*0B!>;&pq`UQ!PNSs;y(=CtAtnBIatKsZr}Zix&RK2&Mz2j1s~ zwU6P$OdB=fZfY}_8m%K>L&PHY*hlAPo_R4dOVijE@MoHpeYF#&FDyrok%`Nfj6Oz# z_QseT&y18)$-Y!Bd_y&n)8HqSu%om|XchQCe4w`FKF+a%z&w4}F$t}t|2y>UlY^un zu{^}a4x1$8Bx<|BsKlKs;pKv zAKQ*Fn2%6m&D<0d%H zu9st5%c#%d;v8Qz8IEV4k=QZmYAYi@O^R`U*VdQmHC~Ut^SMY}%y;v&=*WS)P!nm9 zI^|%2nQuTY7xn#$K+c?$Vrl&j{%sL8(7=7m)oR-%+o!h6hu$uGZ)FxDO0E*P|0(n8 zmig(-6Hh&Ri2up`7l3JjHBo0f-a3+?W!HxfTI9e(0JBQ%{l4?oew6=`!NnDDRU=8jIlH#IUC04iUzvmyX_G9lO0NWvGW z;s*G(B0`auLOAelkDQ4mqFTbF*h*b`@iJq~tjnJXc^+7F#jiD?H#@*Cg{yVisZ) z+n(VZvFmM*b8GTujHTV;twM#t&hKL9h%|7vNHHF2@aLj;I$1e+XtF?sC-kC-e6c|v z%a{9zS*LcJ2a*O2ssTK3x*g-$7|pC8>KO9oAmdr|94RA}WjhP7)Y>kqlOS)_Vrw&L z_+AZrYQn~@9Tvu?Jd@D@h9MsQ8q24FPclmLh+VRg6tASgY`hhfqMtt}*{YKE3QJxV zkJ_{(ypP^9<&^J7ib2lEr;iqa0C;m)AiHXAZ}DL9*cv`+#~A@<55rSQu%kf-P*w?Ju0I%~KKP8##PR0F$cexi~u2VRi5+dIHB5 z^Z?}dzVc;Vg&*1|bT9HeD3{G6GJweuxex>uKO5*F(<04t06%cHar>-PA3&ht4#sG6Zhf2B&BimYu_p4p18n6RA>ptlNr_I({}ys8fFVsVuzBesv2{!xLvQQs-w=!2Gd)zUD7W zb7)Gl6qJ45HviktiVCCeItrB99&RWoe*SikDGJR-FP|x}Up_YI`pYr1Nxklurx97e z<_*q1R*VAH-zg}+hP8bvi_w?2qGn_Pp}H?fc*M(i?-InH?95;TF-$e z-WUD$x7`ir~Xh}VtTTz@HAGmeqv<; zCw#^s*H%ff=_#mC;U>k(hIhJ;l~o}7<5+S>isECY*J?kktsdXT#DRcBy11X(X}v+v59|_gBDA9=p1j%HN**P%dY?0$uHo-zwj~v>(H74bbvM^5)@X@WFuP zURFrm7QQZyETCLS3mXKfp?U#sih5zCpgM8`aUv^4x^wXNo*5t1Mou%iKgjFQ|I*Za zB}-KPY*zEU`#}AV@CYRJ293l7 z&}*(8?d9Z^`2JX?b-?UV+FSduBpf=%0S~ihAY)%Y0 zOF&5oU|1(k;`qvbrp%0uSMYAzdjxNDM<6gJ-AJbtA$>AMxOW~j8t7fYn#ayoJy6b@ ztbUz`)}0SgQcqUhic4q9>LOa+TUOOFW?@}zvrAeY79Qja6CyeGwYVEbSB!Yj-BQ`b zB!1py-4Y^R<{4S!!^z@egLsd6j^*AZ=tk_CU9@bza;U^diq(rFMj*EwNzG7*cfuzH z$`Yy>2KXms6~=fJ$s)87MEV?ACPiCWs|iF^m2nD-%FRX!gVG{RQd)&Q$V|7+DAa<2 zvUUPTN{rzPgHWMzHH>X0#&^@9)bVGx3HC>Kq??E?w}LKUVH$Uu8x=3*mx6V$_dZ+h z!Wl7ylRhTv!8r9>0_$&L%enK z0IEu(t+3eBM!KmHi%(NWR-#u82`BCMm`yoiANK42z1LI9G$y<1>%u;*I=h&3jn;}z zI3@lxdiPBD2jQuO#Ftq0g2!QJW=$Zv3-c zR{SYa@8dn!OowX;U(w-&Z3AMMJ(@pt3Me5B5#<8{U*#ks4Ye>SbibEfN;c09%9NK+ zUWa-*5QT&289(+M(Ml``waIbxuuP+qT;)ckyI23UM7P);9O@<+Pa6wL;=!E6$ntk?u+?JeRAgrUxoE)x2VPlwcUn_TE2*6H2IziM!H80A2N!3_wY z?;tXV=$t`ecmD*{Dy9dMXaPJbm1PBw!B`E*rI(ym3Sl^`-z<-k>Wab1nwrijzHI64 z1{^b|4iFu#7pwPBpsVGwi>ds)i$;-VLm20p1l#mNGLOsb z&t&HOr%p`iDm{Id)WPhn(ITD6Een?7r^r5HfM&$?UM!AJ3ccrAE3zwdZzS|PgKp;`@7 z@h^Fp?UG5UMm2}noF^qUH)--6n~Fz;dlpdDeK8N4KP$g-yiY~hB|^Aq3J{|-{I$Lf zYTGd;BhrEp#3%b1TtB6z-|a>ZZrW0V^oNmkAuG*`9f_;eC8>pq9_c0JF={cbVL|wd zxW0Zot7y8|#mn*jD1@G`{V8rD{H7rFU@uc5%)1G2H0S>or-M43eR#3VALnKlW<>=n z!G$!$>N@1!)-F+gO;^V$j?PSGS)=rUlVAI-zuoR#{>z;ot6vI2kx;Wa!@9o>ouXSx81n1K%>YTRrhX?I@CDOj{ z{gVn1bK6D#*l8d;bE@tDoVGG9z`U5+=fjh5RyY?#>{;`$`I68R=-t3Ztq|ZVh7xsw zDy^zC_X;(`7GmLDt-{ClkMtDSAS#J48UFYEHaD@=8tFxi0IukO?IXd79m-}{ot56_ zfa(>n#Vm$kW-V`(FRE%w%MXX)pbYam*$M6eI6O{homW4)S^?DN74gWd-Zd|B~mife9;6rlz;|!IFdPY1Va;|zil*t>vcb7tVEHgvyvii^SFTFSNnFA%WQ0hay9M{) z9{08@+&`67%oyXq2Bf@h@K=pf#-qUTV}?H?@7ws_m-A2ZDsm&ETV5=mkJuzfawj`? zyB^zl{xT$;ywTtuP*#&I*1wMK9nQEbNzb^~TXjszk3UchSvrV^u=jkhd`>*8cugS< z2lQ`oJ7BI!E;WI~V8zz|}ZgSk62d zZIIB)s5{K#k|Z>$;oE^3xGMnGD3H?N!xCAHe>)*aTwvW69!;3Gc6_`#kVy6gRlQH7 zhyhLxFr>~n1`H8vpAI;L$)&%i8u?ET@?tmvj9&;B0->vW68XhJV?|^_rcIaCj8_1| zhsX5-$<16%cO21FM9@bFB~1wrX)}?F_2T)M(xx|v^5x_&mHC_?Kee)M5-RIfV{5Au zCwI_*@xgAcrHY%_&V`J38bdeBFuFDCey-A&_N}XH2QSv>Ii52__A)OgGkuK4$C|=m zQw^L;9N|l`Im*ZHPa}K8t1XDsVuc<4X^hT=O$Atje{wG<1a{!{g9+F9 zDqiB5Y_YjpZczQe42N}KsLuqXA7IbtLUZ$?S}>{&+Eye@j!Elw;~?e5B=~@u!$eY{ zrIy2Ln$J8$a=4*PpCA0w>6)N+T$NQ=lqSyQSD1#Pf?-CW5XBw^SydUkLDjhCOGr+Kwt1VU~{QvXtLN#pRF%i+NKyfen(;c&aeo) zvV~Vq<3~ASDeaB7pW%RE>NUw5MfEt%JHMuD;ToSCFK$>;43wMR`2epi@%$BZ6lgSE zf4JzutMvu~PZaEa@36z&?uf!1V;?>>-HW4pnFX-IT%t!Ml9SdYX#_#~-1Z44Oj&Xp^JP4+8hKJ~nf^SaM( z0P^Q*E}h}*4bZG`{3*Gs2~KBjXygV$lJGI~ncAX~CE%~FNsZ0t!3vbo#|B~yiV?P` z`5OTHvwyB7LVoq1I|`^$47??RQ>lPft&usrI!tNzfx+EkpB++XH#$4|pX-X(y2uVn z_Fyz=h_WLV<4f-3j&>yytx(XJ#WVlLx49F(TtjN6E-s5&Gr|x@jQN9*92Mu>6ElsH z=QzSaVk6R`F>BP42RL#H$I-#!P#hVE=k4yZxS(+@Sb6U4(A}X*y?dt)dIIq?aUFrAvBRl^Ci+5(}UMSgbh;1|K%{?HH=i*c~RFs_~`1|Nv5LFt1P=2k9c zhKIR%XV5kT*$j&GPR}$DQiUUeWmj~am)y@ysVv0^dxZB*M4FRt!o2t)9%o3{5t^hr z#7tl;nr<(0WdmVlOCk;rw&I=gtriCZh~}-=D#1$?<)>lBHFdg-bBgj><;<4cs{6?H zp}1_&$K!0L6%WWKuC{1)L9$xB?kvLn%~|v2VUj zEu2)E6zMR98mAXKVR~sHzMn?AJm3~M%>F68%P;kU)>n!H6XfJ_*ZG<2 zE4n-sKS*U_EVPhGu@U5&zW>M0yFHxKQK&ImWRwOawExj2Tj#F}It}dB`~7#_r_sbh zgS=r}G43yvG68m@U{rq9f#m`v^fD^PFj}S$Q8UI*$9Ts|V{eJ!nR}_s5`T2q{;qu_ z*{TBJAfh}$1|gKyjCy1rNww<1U=URtBJ&~YxvPQXPVfUlP-{NRM@UZhAnr<`@+d;m z))5FPM(e->#Z-`4==E@O4BvwF+K?x!tw#E)U>JAg#M$wc_*{#VZj?e z-611YF)miKz(LU5H0=CCW@cr{&CyoyW*MZfX_8ILh0?Q$d}e33GJn1cTB$L&?3}8w zPCT)h{NRnTcPFTt?i@RR>3pwzZr$e2WSdR&!UH0<=V2`P#<_sI$`!4`-69NY`UpG0 z3!g1%RcH>!qi$e_Z{2=q6tY6w?XWd^dl3p0)eflWmtp0Sj_P!%gqe7B)6OrtWLV+J zqIZuXQ?J`{yY`Y9|2Cp%NIYM{yURnNJPt7PsB&78ez$PF&Vh9lfl!`M?i#OHJYUYZ zNaS;xwmd4R-fQ-GG&tN?5Hvl)7@}lXTRmNreTr9a^J5G#rs+?gl9> zW~`by!KTX%79o{GXh}{e%3jI}QF=*^=16{WL|8`B@MYszl>=+jHeak7mdSO8E{p}g zygEXQbshq_Z#h`Me&62&8d__SuHFpoNzN|&^KC1p&^m? z+j{XI{e!UV@J{eNAg0{5Dp7#C6-AEX)!6v%eK^m+zL=u`YCRN_3Yq6!U+j^&B}@y8 zS>`V;3(36~h)Lun4k8gY-8t^44c$@l!8sQOeTSaO&-0 ztdtWj%co}@MS#@-^43uaMaFQ+E=@i(K)o7442~$glmg`=Cpps;7(+vLsq*0g+6%=z zCY=1fS++S;GOE5GZrvzrzg8>-&4#wA%n7Xjy-fb&i;q{hV*v!|@v@hZY)OW&tl;8$ zI~Y6p~ErMbc85Sd-{NX9cVr1;{+j_2vFHgj!&#j zICP6`N?p#Pw{;*Ma&9IiMV7K*cyPWrIYpKn_}yivQkzANEc13REu6dG$%f5apka@^ zZ}W9U^VTTzBiC0dEz#l71J{6`NmV6L5%MQo0hfvs3$%@!2Gp7^&Mz)2|A{c%pMJZw zLL?$~A*;tj`@bR~==U?4z4x3hDhhIdLakWQ)64-!syX~(q%EWZkoleYLm$$7)?f0N z?TQ!Y@*cxGdy#kQ(nGfkk1faMuWLr;v8AOG-AVBD<(JQH*Lu_(E`2qyX|ZDRx~O(0 zaXA;VFUCyJTEePqw!Fo=$)=aALZ|5&7Z1=G^{`DsFbw- zzjDoOIrWdnrJul>Zx{6AFECUEjm2$}|wN2%$% zKgk`uk^XN>dv(N{qR|B+9XM}JvO{I4g~9Lgg74+kk0HtO^5T@b17jcO2S3Sd?nmJg z1`NzD-gfc(-UuyfI`wGDW?IM8@A+|7IQ28xZ#1c0MfS7kQoovAAhia8YiV!hiNGj= zf0J$e#EL~c4!c(t?2?>KRaC=ChDJ>L zrrF<9a5)@iDIUY}AL&bLELv(qgfE65$J6 zOH;8@;w?dab2udhtm(3TIb$IN$CwHT8)Vt0S_E4`T*!cXiTaNzbc={ZH#N3Jd)d`{ zXz}TC?jR=_wI7#n6t3r01Lc>ygfrV0(N*2i+Z7eO$3oeq1mQY)avn!g3ha!jY;R3G z5(MkXvAbF#b3B~>jKjVVGgfN~BiRgjbDb z77ko#9zf>!lLI0g>Q}F%r2zvSFuMs+JT^v?5XU^VUpjlQi8E4;ZASYZ;Ajl?ZPBk; zMXPk-PbR7iUVKO`>-!+9<4od*j>Px7a-+vPlxk!cw>2*V!W0$%Vx&r$<@W=Nvklm zQ`U*N!bQ#rtlEx6(AWi8uS^a^s{^r}POwt;UCyrIa9$R7c#w*0muZHb8x>epN}kA8 zvYoRoWoiWI%E4+JIGa}2lM{kVLv-8fHGa$W_i~Hd+WQfaQ6^h7xmEyR8q%)@5&Q@` z+zwvm8glA$$#ISi5O6pE*E0f1{d9~lz=R5K|N4?DIQc9Ie(9lUa%WT{s$ONpI+2^( zPfx{-s)&3z%pAh{)bW4+_L4iKo|?rwIwpuGzd6}}(St}4(_NKWMW#GuNxl`pXLFxY zp;aA&U#q+_4kdWk4WON^QuFCVz9;<;erQ4!*OQd;0!!aWbx!#=ZW~qd#u7@A2 zNgx1t&IgBPASe;df26knT@<7;h7LfSkUpn44`nEhyWakLV>_~FF5l~8bR^A;aqDDE z{@76HT2_##NcC4?c+e<4{=dwnHB%DG(L}3O*%5oS~ZL1 zyt$|jchz3nsYq6UT?8AFbK_A$yWnPL98Uw>9NRI4Ee%ndLX(Yr>VQjXo~y`68^5hXZqrPe-cg{)}7u=XXv}U?>nSpgXIuz@RlNmoM&?Tp9b5 zHms|3&WzJrmyiId!5NF+F#G59lkEsPXMJO1V4{>X(RFtE%G`ptvG?xpoVZa6w-2nT zLRR4^cSyL~o;AgFCN~k6s%)^{$`kbqP`-8LoVYlxwI&Dxz2_8Ft0GgKON^%w z;*=2eU{ph5-!A+A+H&*#W+3yq{Pn7Wta$C~T}9TM*Pz}Z;%;4mTAu1PP~I(C`6^C6 zgL+ZTQ9a-bFFuv|=kO6c?heSNgO=XsM@VJ#x%6&=Y(6LA+|O)V*Vdt0t%4=4VA3xI zV3;dFQibcAYsfpt1pZ18cKC)s(^xBR{^F=^VUtQgRh-i`VUnhs|f2we+3XjWp9tg@D5pioCNR*)|xxvUfpP$#yWB?)-(VhBa zdylfLmg}3z$UCrEfx2+KlWJAo0+ps6?qpo? zFCV*ma0yK9OI!}{Pb9@zCUeMytU417B50!fD#`uFlnve^+qvNa2r{7C} zjIIMS^i=Po3Y;1{8v(dKN5Bh}g{^?B{j{=QCYNc;I%S`{+lSh<+d;#SnH$k5Rgy>| z4@pWudIUWLhgBI!7N%K<2=@R|UO|8xM;?SsNc855nHZgDSqgFwT!HXWTJVV#j_GCy?KoAaDiDi6>n zZLFe629lIYvR3114@R9@SF|Ur;E`xqEAp1=@oCX?^K{wt#@ghovaF@3e37^PS%U#` zUMCk>OSEKY-PPm`71hmRz-tBlnJGKu!h)tW65_{r^curp?KHSZVv`F8ThWQKRsui= zGUy0(p9w8JNQ{&Ql$if;OMAtl_2LjM23^<6;0k~L#)Z`Vj3I4KL|H|iE9&hEX$_jx z&^unR#j@KxL^lo6+InC=uD}&;5#1b^YCD+`WV0RgNK_%5@Ga8**fOyIQy`BF3RNuk zyI^(1Xli}xF+N;a8IP-===_zGl}M~aY?`5qTPnzBN#xiBsq)E#%@Gv1D!Eqy{TtikJN%DtKbm2dv$rFzNng4^&x2!+p_E|t(L^->w{qUJ*DGY@%jlZp~o&4)V&_%b3=Q~ z^oQuX%j7GSlG1k2vFV0OQ_{2X6$2VB6X{2lS`Vw~J|``kulDA^igMIKHWCR#>|zfQ z@FM@7hw_i@<>o1%t~wMbrcF^R4IQ+Gl*`1MjS?N|==%V}^sZ-CY$UY6-+pM`_RVD8 zd%@yx2v|G4hi!XU-hL^ao!Bkmq#CPk-Ab-l7P}<4tV^-w{jv?Vxo6Nttc06pP^45C z+hf|y3l<#{z$Xu>*^-$pRBBWBY6mBl6N6LOA|M>XiP6Nuu$91bO^Q^b7=M6}0|cD> zyYVa$qD$dx9Nb_9Al3*OP61NH&a%*M*vYtyo4eeq%vR3*(@bPUW8Ag2ZpAs7$X&0Ie>@_&?6JF!K>wN#-)^7uK|IOoY zn!=}7>*QMgn*+l7WNyp-hBva}yLb4F_wU=cXCHi>F?&~LxU@nYM-<{;+$x&%m={tcaiDMJc!&lwcItqijjtKfB$UB2g+>gfQkJt5OF+b< zd8d3?rMTOKC@d~MrjJS_m5IV5z4k{AhE$$jJC{-oR5rKIgp??PNb(hrjviSWjS4(5 zc^wz(Uaa(wWV2e4+SVHPibLKDUL)^$uc4PR_ax6a_d>2w?)hB9+~(D_fI@xvm<}iU zkze_Tw?6kT-q*Y@yk)_almBou{}<RMm!EtB3OV63d zaY3HTj}%~(Q056EL~;PO%i5Yxh8U_h$QmO&gX4C#n?z4#Y>z#TpV^2SaP3`Fbz7%} zS9pvboWxxDX@U_I(UxeJN+c=+C$V^N>QH!PWOO&h9xs(}PjSpUV-qA2S%MR&eHC$M zkiqCR$S5za-!sgqXU$f#oQr9Dq_PRRAzyXKX$+llVYlIHd&`qss0;`{ESPv^V)Al~ z)?2B~c4CUQAM}3`W|<1I7cS}SGbK4$Av#-m2UvuppYVeWz% zYc&3-b6L!BerxWptWr}{e7T|cU10e?hTH;e@fXt1aCwy#b!B_>b{Vxo{#cr?gy(0@ zar1|yU0X4W#gKT5&`yPYMGSob*WFLEgmrotUbfzo8U*PuiJb`iP{)pVGi2lt|tE5o?#8UI012%}_Wx5GDgV3y1@NZ0hITKP&R|I^&G3 z0E+C#MylQ7K`LX#-T31j@T*mas-SC?`SbBb*)vRjR@}5B>Fx?gt%Yl&$U-GdT@l+i zkY*+KCuo%nogubuJxBSSS>uZ!uJ|eICq%^Mq^2xKq}wkF4I_&`ED}p5%Zj|Q++iXw$*qqRl#OM%1bwKzVS)KAEDiojcJ&ZJ z5o9ihsT_Gf#IS@rC>+(>mlR0^)oL^IQKoJyg0xqd2=k~o8}NuqoSO0H+XM{{HO>o>&#+HFuyKRD-l(b#H*O3ZG_CQxZ-jmcqE?f&3p8ZZ2deuht_SLoy{nptFfc?N~`kiA3 zJCu)Im2BlZZ4M{Ij{qu8DS6@C5Bc4})4$#TLHjN8&MacuY(L#FR8$OTrhb%?mssV) z0^-1kfW4l#Che34FOHWD^9h*|K5HHC&J_xaQ&WTad>t_N=5*ZYJVC+yJUG!e5l@=< zYFH9Hoh?1xEsaOv<-I4_Q2Fl`ffVyV&>NOW@pbr6W0^9|%}I5Wsc~khn}sb{9q}$X ze5eu_=qf#ufM2tU#a@-TS&pEsh^b5*Bg-=&y zUD5VR#;UF07iC2`P^~m6>UCsK^xRZi9$C{Llkqv ziBMW~gd~7*NhA=UHBAlC7%6JylDG#N592Z&qO1`@yEm2DGn_XBQZmOuFpiY*!RT7f z&-JW#^h*I9@0YtOyIy-WGuU2XJrEKdMpj1HTq_tSB@+@VD1rm{keh_g2+a0?kTvt9 zT7^S|{n)SV%Q)C&?SEl+H#(R?3(q*XMBn*Q&h95x5FLhvZhh9lE=t5uI^Ll#8G!F& zYrEg|0mYw(hV5g$&oyIn#*pU)g&Nf9O#`LBJd@i490{fAy{Z7CMQl8pxN%QiabRfH ziDX5pR4$TUO${?gEb&AhLteXSZ9rh<@uIKuP6IS4C~dB5W$od7fO8WV(;T6loTB7# za&9C8Cw1gR>ipsPPF9*~dXhWKWAEwmOYGSrpBglYf|)WYXs~;L^L<&$xvb^~l5nuo zGFTX&`71sn;o!qQb_PLYOk3(y_^?{yO8KkU5UXKw0xp(=$k!E!3MDSEz1JVE78>1Z zy4<4{8FBypI|UzA%1^vKKMxA}9K0*6tIyV^euK7W7&9!fH8@4f;S}Af3_N7dj8p}& zMKCQ*dTNwC!{)VBocvz`ad(=cygGg`mV+UKHADy?n%*UnmjiE9_7%Tx&?qj zy9C4@`u!=l3Z%#|2%Sbp9!W7Lx%va2vns~ka|*9^vheG_5P+im$M87cZi>W&AAug_ zld(aC-nB(Xpy0HNh7m}3zv6&Y{7|hT8U`bFMa_MU(vq#wk zp0dd${3AybW9RD@=d$w990x1Q!-1!Lwv8}x==lT;% zV=LpdFKy%4hj=viAL$g9GHd=pbMvwt+fzQ7x46H%;=yZ~+IvQA9lMTRu-2K*f4D!f z^W=^j#%-;;-uz&>^j-dg{a~*{oYTq_`y&$S_;ugZZV+zVn3;d0Ov7!J7}&`39J@MZ zUoeU$wlEz;$sV~W_^7F0`!$?ryFRc-mO&m0I5- z>Nk_2mN|swo$tb)&WSM*l6dfKtqF|n_S`m0Ua|xXecA?X^g{2IzpZYE{2#%iYMO8| zx;$*02i+CP2&b}uqiy6HC+MeFm7g}Uc0}af%tj?enT@Rc>eU%%JD-bADFr2=h_L`1 z5u1%r9eT-ulqrrjhpusgiokmp)K2XG8&)kYvUn!X>*uK1OrzeSoImmqWeU#0=70f9 z%EJVO;~dO%hzbf#GH|JBrz97p_W(4Rv##gKr6i@#ychpaLLE?^FXx_lyZHBWPLDuk zc4ZxFwRqCjA6o}6eftA^Z`FVP$KF)AOXcXtpIA*$in0yx2@?>r!^lGMb45R$!<9qpUtT z_$okd>6N&isx4edDyVrgy>}k_?qpwA%G);Pjr6jbJCRj|iPO7?51jU71hr*^*hmYM zUB$S%>{3C<>PSV8G<|A%ZAB~k_-2s2e2s_hUuvmbi>+wjxu?RqI1^bY)WT%{uQOBVI#7xFll->@j)et5!KcbaOqJ4uTOYeDqU;8Q`)wO zAS-eX7|EvhVaSm^U|Rl{xT)r^q`R&%G=^M=vuaRzgvGs`^?g-a7n{!=IJ%OcK?D(c~%*a__$Gh zL67umxkr`t`PbYSG9!6h&+8Fgui&xvJomdPL*7c*?azlLv3@`8GTj@v6ENUX;$C!b ziO(PY^>R1&drHy7IkuqngEgQOU-9LIpd-qEsU$SPy2WJ8(dFo{8JnzI4MY2iIrAXd zF+^h|>7{n7`=S+-t1bov&|gke@C&PYjM~jH>^#wMMjCPHDOp!zN-`e$=16HfVdry# z%>HgBCBta+k6#;J3Z(=3$;0dNp*W@D72Cr>edG@PUHhL|*b=Ep#vQnRbHMSZM2;4q z0M6R*sst;Od6L@=vh`$%dn+JQ%h_r6J1e64Dp{66QkwGkXj}no&ZfvsG5hQ3*MZT2 z&Z<3q30+|Pw1WxWTR2qDVJ(-R-Of8V5d!@&E5l@;$nvo~RuFYEl`rt-)_vHvDVi#KqmAl|!Po5a|NEc7WnPn^`T*`_W zB~A_lJ;cd)KAxAtH1}mfS0zc&MX|ZNlB7FE-U@@W-_P>qE)eO)!lm3!KdV6M1$7>r#$vaxsXIRPNytk3 z_(e+DF=ei6TE`pAmb2fRo6i^Na*<{fr%F21?s_%NCea*&PypD!Yqk zbD5?GOb#q{F)16AJeqXOAHQDcUgdox%^Ho(^3E$*b+nn0l6TbNr8P-n6;q#TWxP|Z zAN(9`lY!pyaywE!q1#3=QxXb#U5*3{I6&=?rssuwNEIMoT7Kfce8c6b((@oU%-D!V z8z^YSj?8f^>?+@>-e8!WXfu7gHMfMX_TkG$f;&T?7yW1m7p14Q&L!%yf;+j4<&x9e zIKplfDLx6|C+hbFyz_XPu5*lHcd8&%Ntdo{HG^-Fa2=;7hXiX@cfM&Uupt4q3s9oE1 z&txUb@qCf5dof%ep;-FgJA@@bf^Tn@4Ym)}8RGf!Bv#cIR%uIiaG<8^`#EuV5c{(2 zXPeK9(`A1rDlWe)EX@4=@%fu6@bN8oi+6Ece;je!&hW#C*jk6$}9cY%_G*9)#Curs@kn$;M+Rj8mNg60%}K=Kt#uXw#0CS ziN!=sVx-lZ4&~&tvu*n8uT~5XSQ~Sn$V~3sG^v3g>AIJib{-&=X4ZyajG+#2t7f0d zw%z7XKNPG@2uf{yfUAmm`s_C9d1%)Qx+b3aw6yC2tyZ@zT$dD7dFiRyO$w!E=`3Lh z`ZaO)nMSyoP81!6+;?3c!=vop`+@gJS-9`M;>Mt<*Y}@iWzU#*nLp$@37u+{d?EM3 zsspROd#XgTBRCy*fq-T647zk9dvv! zO(&gER#*}*(mGWbo~Bwr_nn1X7T+nG5b0uBjVkhHIUBwSk($Bp*=BfkBPTmK32AN> zBEdfa0>M6iA}MR6!h!?;8UQi;fB%6q=VRT`6C+p?O!Scn14vo!LY0f9{OrYrGlTWU zjmWob#{3ZK6wW-DWOQ)Kq-&E75c-gIoy3XpKV1Nr3jk63!GM_UH!a4RaqITrFK_T$ z`4$%fEa&p~;Pf%H$ow#bT*^N=h`Uc54z3EYl8}^v=UIRl>M8(X)Ujd;qOFl8BnO

          IzrzT?ijDYVI^ZDkHlQ<9n=p(c@aeaq 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Thin.eot b/css/fonts/roboto/Roboto-Thin.eot new file mode 100644 index 0000000000000000000000000000000000000000..2284a3b3efbfce6ceaf6288f38089f888d69bd23 GIT binary patch literal 21659 zcmZ^KWmFtN)9x-Tu(&&cg~fe=;O-vW-Q6KTfGqCr?i$>J26uNSxRVeF5+KRV`+oPw zcg{U``c!q*Q&rD&&#yT%)wx;#0G%cPfbegC0RQ^}0-pc5Ab_&kcLczmAq1cX`M=>p zAmE<~d?$E%TK9jU|1}W-Gytvui+|$vPaps-fE~ad;PNj6>tDngU<>dDI04K79{-S5 zfX+X}1K{~D!}VVd1ONlD{}axC0|wyvCqn-)uK#-6|FymTvD*Br_Wm#X|1f*~%V7lg z{L5ko2>h%14+9T?4Pg1t`wtJ(zc|~!dqM#G|Ft~+>9_wP|3T&c>HqNmkLUZ(`%mqE zBJclcnt!X614#dy|AScmSKItsH~s%-kC6XohX8=2rkvXUdOZI%5di^U08bZyrysxx z!kamd8TU2Nov<@>SN!NpW7*}wYRf9~NdJf=6|zk>{3Yh$=W80cLA>ajUR6J-K1pwN z#b_9srNe;wH+T0X+*DVz??$wOLsFs@zFm&-uUj+|w8OVWeq7nX6LHgUHpFduoCzpW;%RKc-2WiJ!E-@{fU zW<<`Z`-3jMsZ(g)NVr{i2wv%Le?6{IGbzL)P3z=!z5AR364DzVEz8CF)oB+%E>%V# z4E>&OgUO1K)br+(pvyh@glQ02Gn6nzWrHy42cvoacXfd$Zga0l2q$N>?-zOtcEq1y z3d_&D>DZH)Pn>fh;5cLl_NGb1YlL6L=)$x!wWo;{5X zkxFz3?GMfoSKK^viW1LQ?%Bj<-)%_zcdTCVmkBdT^tddWTR^EN(%T726-={ZIMg!? zVD}47&RLg5bL=yq;Dn>VCTGPBBYcW0`GT6Yk~d2fhxND5(7({=_mA+gHI83{r|9X= z2rq0>hC_~YmF}J;kG$UGv?v7KSUE3s9y*2C%652nC_wnxW|l}-5|1w&lBDpOSV}Zs z=}-6N&XWY)itn$}!Z0kD1R2C?0o-#!7L=!Hy>^2ot>Y5OB}JezA?$6yc9U`X|LjK7 z5n8}ZlO)3uXpROU-ylbf-dqc8dda5n;U8obLbNbJlGx>h7khX)F7n_zMdoBeA9eU! zRPY@`q_8aIC%-hP8d=_2cwdYsm4Ce410G3E6AG`)ubRP2(;1y)!~5%}o5*9`{+qBK zf2P4jkOjY_886j5zl%PWfxiog>wG*3>{!mRJ3yJz*Nyly`)KP8aNx8ZIoGZ=On0Jb zj}eWHN8@?{56Jnm1s9+uIR-S-r)CNHE;%O|GZ_U24K~+`1H#bO2~uHUUa&>+69aJH zZjKe=$M$G>;!~Ie;4{0aXA+|L@uL8ct6tX&d zkRR=^m*_C)xw*c~Y+e@*( zoj{teG%D;r3a(r>gTR(YxiQ@1CfHy85WI@Wkr4>t`fa_yuSRJM;KGwCaVs`?1K=W) zDngK!^#a+yA?idT%3aCX-^#>t;kR__IDnGZ1XYdC`oie)pfW4`if)X48rkD&oN6$& z*W%yOgQAWFpj_4~T2z%6QVh>+mncidAJ3(6xu zDY-;PN)|7}$58A)0N?!wJc&sm*wp)h$9dmj`=r`tSw4|_)6)~-WXLU4n{+PUsjEWwR^KVG)!Q7$a~r-X zw^#b7-!=H4Rt(^PU&4HTwQX7r*o027RtF~_2j1H2q6HZ&$>rKHTXMR~e5`&T#O!2| zpk#yIXyU5b_q-#hfFEdOR->?M8W6_6zq(*Ru%=WKyi!%qZxR0bW@+INVYeR!cqqcP zu4

          GNKiVLiuP5Y0a;fIvnf>vxks)zp}0aGQeiM-ib{~Bu`52m(5664j3}I#g2G$ zAyE~R6?b5)BpwaOUrt|PON zy;W=se>t_tkT2$T4x%EbSR(uHBZ)0aJbrLC(`QDPl+CJAqNYs5pR0vlU$Bm0W8u2} z#6kjEn>wUYo)rn@Fjqo7J(v!M$SRi~Gf^K5rUnHyQ(6Xkb!s4A4t0cy2S#geOp4<5 z&w8;%Yas;#_vU@q&McVU3J7XihAO`s8(&Dwts}i$e2Ufis%=!`_La$KO5{)QXyJ@c zhUZ@mYc>lhgw!`IeZEqse^R^N-C)G(b?c;iMLeslew@k?Fg4&_FJ9o1t zCU->^d+mcg0=0XoVBUEpssEkP>;2mG_VX^xQTPmF;})FZXK%y8E%No}+MJS3OR(pZ zO&d^(tww{Hw)B8DE`qi@Em?X6gh@9CQS&gpcr^yYO_k&!OfwpXoY9OwDJcNK zt{?EXIJA$9s8BEfn;lMLH1dM<=3|*! zI|E>3Q^Dt!7yzcAnWU~Amyf>MsM_-?3r6B|D2LrM;3Ce2>924%kYPgAgZB7$(Q4+p ztT=&o89XmfcH5`uNkJJy z`G=d9IVjR0N8%4ln>djSnZtAHYVHLG2Bf#Sq)!)cIFQS7h0!Q_AT#1p=ZlVPb#rHL zKDSFtBSU|U;WU31@-jne!2ddsyug1@-VR22QKSzSooTx{2^!pK9eN=H2Mp^H^*OF} zW(QyE>*Fkps*Qb=ZWTQtPp?OuY}M1K7JD~^mK+f3q`*BF@O&X@#kCeQ7oqO4nC%lT zA0pXAjGc^*lZ`FbB(2eyxO`7SsK+k+fOVF+MIF`xmA1{<%CK0C3+LB;C=#)l7nxHG=X zJ~1~tvKgzFsmPDuFLLvmVamyxJoz(`n|RfH0k!VNFQjjGeLF8ZK}OkitUlYuKAOg{ zU$+0(BPXKUm_~FB5F_!~9rI1ngXZ{e2$1($^zuzf!*?gwCi&-$-?1G0Mo(F?j3jQj0JQ_LBD~BU zL+Uk9Ua9kd=V(bek;p&Un1H`xqdXf<{Zt$sBNtfdDVF2IoCZpn{MjnN9MEgzZ(L(w zmBr<$e?Fb_NZHjCm%lLHGFxZizNAfa*{z`Mi>3Jxf3RQ@;(au!HS4}NOHZEPw(vYd zJ&N3w*08Q5OdxHm9U~Po+*U(HYBHpS=<#4m|6XcjWQ(ZMGDkWHLQ4*ltd|_ZfM7Sq z%0@+v*x>itDhdA8Yv$46s@GN^M53j6GCQvAgzd%AkQUvP5lF~TmTI?Ft92QAK;;4y z0lbD4D#_VdNVH)BxN3W5A||k8=d5j{h?&|33?N;uEiOr9y;yD~QD^@>{kqSK<@p?= zb%RM7$^5$_AYO=YxzKPGw{hr7;{<|~OanUt;(BH@slULSV7K5qXlchGy{`wh2#L>N z>=bq02Wu<)ti!#r5>(CsG0d>eP*5;}cOC3)s8_bRwWNuV33c1tP&|y4xDwaCQ^k1L z3ns}4*LyE!0gt-#2ayCnlfN^+;xqb)sY2p$aw-)@&{pa0_#3^r&N8b51_L;gMKoo! zuggQ&3PSLU$S(WC#G)bQX5ROBI1Feh1;OxCHoT+QdX*{8)*)T$(PRT=iY?EJ;GQUV zg5gOyE?S`ZW{f3|&4zp-(*R@&X0wgA+XXt`h zIYQUI$=l(r`jkoOpp`3!zw$|=`Xt)o$7*N!HY++ywqoc79$Z*WH(ju!E^dm+-XLBz zG-?<*JG&#~dd={<@u2zxoB;JhfSm$O&)wy!uws?8zJ(!l32DCo<>$3l8+N>81eE0#Vem6!jfX&w?6Zu!H@*aj-Hd1JJfF*hB4f2gic z;mnrMT+}4sQ=@g)v$zfeMUvjmHqApDp{S$~1M4^RG)&V72Q`LOjXT(%A*F)~}3ngUsjqMV_kI(GtZG;Ga_ujr1lx-y!DsZ;!NYnx8 zw68ImRU~NLg1~|J21JjY^eMg4Hz()HnT9$}L@A8~#rmVF9okXIvcZ6kino53D{iP) z_iC%Lmt0Ht0O;pd$yo;|C?u=VzU)z_NC=yDW_yX%E=-Y|xJUzLff-Uo(>;WyK|KG< z0{UKp{OuTPvBapJtagWW+o1;PXn!>aHJ5crjyxv$Mvu)2*(GlM*zV3r3^J~X;>q4t zFX}y_{2?~hgk6zjoqjnXfG$aYb3`HVKy24P?WYC7dLAN^o5SdU`$pCFvV+X zJO6F8A{+24?wBNx5yKn&7WID6I62ZPDT*o+TbuTJ_E?h3y1@I#FDZ+&OZa0Kb*?Ve zG*!!C2%_p1axkUYdS|yQz1TVYq-Ji4@L*Ld_rOusm>o%ETr>D6GOiW5rP~f7rXTA9 zK-|c|5o6sdb<_=&jyk^5nZ5?XiJ>{#eB^6KXsC=Z1Sf{Fs`v9;Vo_Q>@$sN+z$2mI z=*pJ7<^YJW1pA#)W8<^qAZkK%DeX#ye(*@WqSc2{#xSycQbq{Q%ecr`p>eUzh>*Qk z#qVsNbi7lPVaxYok6bQCyE|jSTl(cjL1NqQ4O{_F0kGj(mB zsl5gbIy!`KiK=a&xOr}&-#;Ba|Rd14g zQbRJ-8ZOf?7L8$u78tr1R_O@K$`3??ULOwW_un|JS@Q)JPh^}9TWJ&e=3r(JDk)Ko zf%iK4yE;mX2mXi-#b9e?O;Bvm_1nz=abR{hwf(j%dJ&z((S7%K?hF2OhZY$l3rQ-X z#k~nWELH~+G^1~ew5*6SK!i@mMJk@)kccw7AE+kC{gWt267J%om@lAcB4qB*Qh#&$8fb9*`r=zoXtxnS z9SpWtMsQN=Izsk9jQ^2Z|g!tnwl zVo+-n+d0cwQn9{<^Zp&3IW3p=yrm%t`3zWoWSZcSC7MZ{f05QK=1RT1KWA%!HvU8_ zJNPib_QlFq?B3%mv^9cJy}1wb8}1K$#Y+4$RN24#927;}sY4hpqdGUHt+*KDsx$}% zgGI%;%67N-8|?a+>@w8i#ZqB$&1$~qGvV#Z@Ar-x>)#K0UtsJLVjGc}!7pwq=zE#u zsixS|Z-iuYMDZc~cE=5dh+2{LRm1oAtDR_7dcuNnHeUJ@FoTWMp$#`DLR!6f6gdvB zLZzT_G7$vp)f}NkkA~oWggW+$uTv!f_JOlXPkzT+dm3e#(`P-xmiH}Nn5ML)93H-k zdBd@YNu#Efc-tE`nI|wB+h6y)nrNc(epcNGkGVWID!LZ!DjesX!aV5+bE{BWu?)%G!Jp zc_4@3g^*+3qKgZVmI1Yo6HA!mjxSI_5TOhK#YOMK~FX5uCT*BtOyG=GAwB9&RF6 zM`8*R^odp}8-65h#(A4r3|8~ab-fLzZ-+Z%bUOOBmtk7|h#Opx|HEK8fP9f4 zEu*|jWKz#}rqs7g|5H7g>CXjSOT(kVZXNOaft5+ds=PWud_mVuEfI2-Iz4*2Uopsia*|R*!NH8>5DUgs-sL%I`cbuXWZu)Y~u92 zJQ>%{cI*9>2H`@%ei@^Keb}MIbA|)O%2r-;MOgJ(#-p4nt1 z9?W|__nnKC^lNnFJb%cU#P}8yQKGPTDafoSqT$|kUzFIUahM$Qg`B=hoh*b>;>(+T ze9m@IYIBp7{(Ney>2y2bfS={A=NicKTqiEQ;JLoZ0Ll!N~Q@{{`SG% zNQxu&$6MqgQVRtms|x94w!rOSY<1$$A&J7Dqn)d3Q^lty5&cFX4H?I#1avq;d7XlF zvL;sqW?f2S6H~g(w#+0Z!ynv7OK5;`b`F4pxu`=LgWH5g;R35UlJo#RfQouHNfDk7 zf~)n6OKp3=+oWPa>~l4H!r4~Rc%0Cms@Xl?k$ub}b=>K?o!ZXzBo@NQ8?vbRd7?!I8WL3M5_si9sd4;{1*(HygorB& zYGYPlROmwWzbRRAzF@D-YGzarGQV|4s}^!@!W{!74-V=K%-n|KaO1iOcmWW8+LjV& z56y4JlNaHJN#N6M9)*aGcs8S{695%?hv!K?r_@aFpuVePjLO!**wLbv(E0#@zyvtQ6Y?+c{lEZOS=Iu5lfIf*X8;!5`h=quS4?RZTt@67V@6o~| zC|**K{4tJvi5&ghWTRgFT+Y9K)}rNkY3ar#2Wr-P^lX~Ve83uJko+U6wRttiuF;Z& zyntHq!a6|6lq|Z;#z2amu*h{7G93JE;S?P6&i>?S;t!{gD8d?~wTz9lur!7a=b~xa zj)DuT=cj8eMt#puXI{Ot)`mUW8nrcw?#spTOqrPL@~{Noszu$2Z?f801J+Fm8oGa! zCb$^CE!`R{*k*jl+?}i^dA3k$^(%Ine52ZkvaBj>lEE!BC!+9Vg%F~S* zJo-`zeio}f60t<#j~5_MyRi$C@PBx_LXvj7U`6z4<2yUPphs)~5Su;3f+kq`>@$As zT~y_j{qw;`g zyn^clL$n!eeDy?_!3F3Jx{d_MX&FSVzzEgJ%VXuuaBPCq4q{v=wIg zgC=AQLH+dQ`YjDOZ|%zZ+scLCnWD?PNY>)amW8*W9OFLlJkx@|`_i@9;eD4dW0x$< zJV1`UF-&MwW=U@U&P$y2UhFG4gSwPfkFoH6d^_tSbBER1$F$JND5vF!kM;xtdeKYF zMg0_gEQ<{LdTGVAX*m`n!=FDZkz3Cl*h~}ilgy~QFsIU6TSeB7t8*B}r;t%f)6|3? z39ggvDxA^8IxlVs;X9QxP^(g$sZY~m6*#bNv>zMTl9xFIyDyrkRfvPt4KCcvUXCrc#?qEip(>kZ@MC@-S+u!N!OAhTQwEi=KDHi01t{+-3$Kx zKUWCr-5p4|+c#1z)zXEBzq99=pR45WBl=Y@;xz?=rdCX~1&u558<)o&MhUd&xcP|8 zYJpEdmfbe|IM;agY|$aT8KkU5vTDKii0#ju%kV>tEA@xx?>gO~Vq z9X`pVb6|dXYTc%*xZEfHIC;9CDsjCDjzgAwhJ;#w6oM*q^9tvT)BuLbq#k_K4pG_y zlrP1(6hmZ8=h$j?$SK$)!XefA5p?^PGDJJ}*tCJgo6*>Zr#hj=`m|E3e&ExV*!+g- z&p4M^-UT+b9-d$1IqqFPU}mJ&{OC!1RmV}E51Ro;yAdz0d;O}W^CiuBLs)HT^YO|1 zibj%Jc)7jSCogEm*t1mq&aUtlRAt)b5!j=vcjdORe^2uQPL+n?C9-TFjl}`oA zB9eSC=~N;ZCh$`v(@q_E7a#L&QbI~mu$E4VyB6lx3J*y7F1u_?w2MHb1h2iV&yhI7 zJM^Kg&nQ6ADa4f1lVR#gydSFLOe+?8$Mh*UyA`-zqmJPc!m6MS^us*EX!YA0!U8o2 zMajuKE$1*Q&3z54lf{dM>XNvos`y@1#JA#D4EjbTgHXlB;Iy%F^+5^_f+dvjU+S-@ z6;>dH>wUY>^eOu%y1GPdkpw4|DL@H#|aBd9@7Fn3_d77$%@_gnezhx{H8Wo z*>oMuoFEO;;Nxta6f~KSL;hNW0wceLh5Phg>Ra_g%!77$t!ollyk(o2g;C)@0-O4v@8YDv;8hl`)<^gPm`)jS$=uhmA z*uXxLnfF{>o=l93P97qVmd|hZrU@(*t;*Il#)33SJtF@4s5{1K>Q%5f=qb}=v*mt) z24}hJSd-AV-xt(xV~d|;g0#)j{Ca#qW@Tn=YR!Y}nz{hZjR48XM$iDy$FHdB;pk&3 zR~o`{*AjtUaLkLkKcLS;DRi`hbh0o#dQA6ht&qal9C(|`tw{Nb@rPP0sj~7VtoSH%Hek$ z@$0W#pOLpfq1_*dt%V+=w zQEo-D_2OQcUvnh@n0+re2l7vSvDCI-D&yAGPkB5Dy6Fj8pGM|oKmW#MM z(nJS1`ggT}$e9@Q1iNMgC4^=IAK`plAyy>bSLJ-2>Kt94){7fTCFDwp;EQ#<3EDKp zK3F4r6X9HdhK7#xU!f~WO-YYUba^%U{HAJfAC=|vLuxK9V< z@nYu}mdnVZD*BYRTJ4%_C4aeQr^KX$YN!B6=+TKRx- zG76j3Z*~hk_xw5j?7tfF5kA;5g;brqkIkk}9A*B1W#nMX!U?KK&fu)@v<8s;Y1fpk6bouo zuq{$_y_XA^yIT)iNdKTTlq6_@)Slm|B8#WEx=gSE;#gOi%(-j>#d(W*d_bla+R??` zZN1unpc`1V8RYsPS63x4mMEuv3bp z;J5=&AICQZdlrbdVz4rE>!B(sV+aK0;%Yt7NE3Tf%w4y_gijJ73@J=W4p|!9o0tvX zFlhpJiim1N^CiqDGj7nN9c_kHKpHd+L)6Zt{DA(bE4oT9f0Fv#Zime)CiHPq%r@wv z?;~s28Ds0xj4lqNH`3+}xu7@XOjSx6=emQ2_A4D-&bTi{OL18F=M_J+q28D}(HAqN zhi{RguA=(^TSGHFZf{J;N!=2-C9%fAbYFsv_MTnNbHZT{_G!nZ%~!9GLd$hYK!P_= zOYi2E!0I$UK~PzOa0FdfrCZ)KZv>TupvRTHG>a}2r!wPeWo;Srz@c!mUKkCGu9_ir z@QxqIHf4tySH$%W{EqM^aj>Gzr`rzQvMgGFHBS0lwDB*J0C$i0fC4&KXq|evIQMT- z2f)YTuq|!>GE@A-@~_5*(?8=ij*ka0QVb$rLGt*#MsmpjWZm*$KqhY^3j**8zp?rKJ0?PFP+t~R6A`^67Z zl%cO-tmnik-GUMjx4C5Oj5dsIiCQ5^Ix~oaagv^+Kcf#HU9*aHWS$SK{(+Q2aoiL# zCf2+|=rWCi+gONrg03UG__7bJo}NivxdUbE{80*h~=jnlzVg?DU92iVCQ$03$bQR6fBrQe{|xkRJChTF#K6OcOod{MKFG zu+)sIO7kolJxsKeSRe(cg;S%)e_(`zkif z5y@y`%8oX++s4ky;?`Vd9OsyKVi~w}R0-nPX{~y&e#!1$d`}f#N)JvjZ$tQ<=}iyW zM5%;)Eq!imD6b~1&0}(B36o758<8W8%)n)iJu*DFJTQ;?%3zd=B%7y|;@!X%H9F8N z{I0f*MDUSBStf&qdP>kGDcgEj9VS4jEiAKM)q-!g*?`G2#+F>>q&yvc%M)g^Xx*oR zXq%&)rHzho)r|0lZ!=(#>4#_`8R-m_-|{xLTbSTcL~%@$z1T_p>`%HHY61=tJqNH_5_hp%@j$QysE+s0rU4)Xno-zpol?mqvFD zJ7|^{1zQEMNN&WYC665<4;P2sWJ(rx9|TrAay?R4usDWifI1O7yuoDBvTwlxn+H&k zItr?_kg|wcP%GO#(#W&7ig8CF0ohMU?fXyC*#;m5;iU^aMMllK^Sb7P9*YipKjR&|Fc90tBE(R5%!36He_TeDRu!Ihz{ zjL1%)g10-b_|YTz5vtUcc3b?fY?9^6g>z^22Sj{}VvP}fY+Wtk%%6nERaKRje(*W^ zD&~=Ti#42g!=*2Uy0X%8~;x3~1O8bD_|LKBn7@RzWOb{b>foEfc91f!WcJ zeDwVt&>zc)ZUQ_3eB+1h2WaY{M*^E9NkTBO@+CQfe5t9Y8HNOmE7{cg6-BEix6eq! zkaIoYt4+T8c%8Ym^p@ce`S0j0Lk$JvJN<`LX+p2m1>qZ5d=L#kxt}975SAyLfXc>m zEk!)Sg7cR;sgKi7IQp+_9Ij(KgM^OZEOLR{?`Z z%5+-v>$m?$Nr2ipwg429Igb_N5dvWg;K3k-SAIh-oWLs6qVmsWcCzu$Qcd-K`K8I6 zLaeSxaZvW8X5z$*V4{`cRF7c4a^YZp=jD1y*E#Z|hp+tK*B_&(E?VkskPppW&3kqe zkntxh`raiB!07P0?!t+*RDa2g#murM9|TIJDSGD;)v>4g1(DL(fRFd_->an<&S1q0 za;JO%CO=7<=nPr^UwaZsZLaB644J+48 zM1rX9bL)iWP3>!S^s?3zcU)uXy^jYmpXfjsvkhUmc`lcgm|Wjqndms~`tC)A=6~Gr z4RnT|lM+ayM(-ZIKQQOP0|=b=8IgejnLdX69f0ofPrtQ=N>;0YaBrLpAUi?2mD2aI zOC3$KZ~l0`KOL`wThEFsJ-Z^)+!DrQ4lXEkcMZufG6y}p4-(qK`=YQ@h5vO3hXsvL z*8I4h&qjXrk#1bEmaaxsp&W?#To8jri;ZMkz6v+>-nqyAieth0HqCXQBIRNVNFw!b>XgOY~M_GHKP}Es1oH-}>_Gr8< zMuBhm#0*kW@<}eOz<{g9R49ff&B5An9TmB@#*4Lz$I^-O!dxZnQ{1#C^!gGegDlxGJ~R$drnB~TYh#SG{I?U_-<2vTyS!R;An&4qp|I~~w%ZIU=N3V!+MEFDKTY)N4#o*CY zrb>p60+u3f&)cBg#@chtdoy0~Hdr;9!%IeqMY-4(yy?9&cK}Gey*DHJ^XFRJ=AT)0 zhL*&RG1f9{u1JKDpVbh~QFc{HQkf``y#>mBlnu6z656(IgINF{45IBiJ5O06*uxxg z=>omz-fdX0Vf8sKPe}zC!e7=4h^pR#DV1@n{XjE{Bmg)=irQGRn-rlGcsf=53@rHw zJzK2|3E{N2`h$N^szi@mTLxOg0-2HzFm)y+_-af5@??I}l}Vy514jOmTZ@8ZFKS+hwB^UR)Dq31|MXBTo<#%rms|3+Hs0*Ai zYROt!YF^6!`badIBU?9)E*ckGcaFEu+L>@i?Pj6Em{dG=$$*odXIq^!?RFXJ`{Ny| zYkDZm#4_~(k#jwYM9|JD8JaSP(=@?;+eqs-p4!#>lS3EhSK2`KBfskeGx{Kn)7Bks z;k^tRe#4mccAD(Z&!(#(o}Q`W!TJORlGsfx>0V&fUhg+KVV~rJqF*yTeD>N-Y%FK* zMn}%(iP$0Rsc|p5S`UB8$PUXjTi?=sU(uD}sZNMDs|iW+-mgAUYgtW@yr9clRz2s! zA)Jt{o{+b@!BX5=xHZXVnZ7?})-sV)9nd;(r%$Qr%YW05Vv2p#Z-s%g=SPMR9-}pD z*3Lg;Pc>ZIOJzNg$|e=Jo;FF69{o!ZOwxtCH&sc`gGODpq&$XPa?EQhnQ`L0u;bYE zgNKn@q&>ooSMEN{(_9t)NS6V6B?X9vX#TzZRQS5eE{Pk+`-tCt0-p}-Un$h7+u(-C zBa;Y7sNoOZ10TSw*qmuF1I^xz>JF$3mmK$=tT_#s7QLZYjOID!(U|u4mscwr@BMld zxp@Wb>44O8If9b{jr$i){(vq=PW}Fk;p7&e65}T}OB#k9D{dBTdeu)(;`yGJ8+IJ2 zhoZl3mkPc&Nt2FIl_$9euV9HuY5w}ri^CsauVTPl`}G-H(h9#bQu+izvr)ZPne7y* zv#0&`eJ(BsX~V@ZeCv%;zO#KIVX56`b_F~jeub&sgNf*wa|4ID!_NL!Q^ zdUdAK(}Uv$jMCF8ymcHr9IxNk_M zaciR7Aso@`AXai34=DiTwU_6NF>SouVaplErFIRaT0A5Z}%>({~AlqOh*S&`}@E+}(n*3^Qi;tz{2WWFZ;!W{v_Y`fZK=#6F zjegmZ$K5PScFadm-WyhC+i0lO50^{gcEA(LIx^LOzR!oJUbhhD(U$k; zVpJVa-==X$7|;~9lxxhq8d1gvgYp|7)Df6{=J;5__srh*eI1g8lEL_KCj<}&B>N_S z-3XI9%lb`E?SQN)TQspsD>WdmmyE108&GdoG}2&WjLwY@Tn&ju9;;GuCK{v%TjIyHJGa|XIZP5Fh(TW&<%ggQp19f zaeWf)6h8As)3p5(ZKk`y1>BvWLdF7LIZ|^}CNv-vEFYSK0(~1Sp*q8`PO0)Sq+7 z+18LzKTO{6Sc$MlK=cKlO3Ke#?CIUF?iD{PV%H*N$wl2Ao(@^XjCl$;nR3DVJq{(c zcmOA=XD*2WHI|ab7KU>QE*O3v2-xz+Hn8z3%h0*~y9`A1Mu@q#jMCwhPUb_8q*w}9 zZj>9pvVYPC$&&Q=;6X^Pzoy(Fl|=4Wn?(_hRkj<0AaK8Q47wY-xsC~5v`}P?JG*Ea z6B;Thst^}iJn;gPZWJ6s199=MlSTNdHm2Qjl7RCIy*&3@s+|ey&)5ETFX-Y268*J= zh1Sd0-(_Vnf$d;U9U5S%q=Rt}DunWWMMVD08X367)`DbJpi!Evm)L>glFC7QA>&E@ z&TjwL29-f~)dbESI*wJ4zJ3dMFZQ*&zLB$8E_`EE>RR}FST5jGr0aG6)cIo)=i0&{ z?@t5l@9@dQir!3C11jpuGp=YmgnW6(Mw$Z#fdu9(;={pI$S)2qCtCeTt}P5c&?M3< zP3_bVw^|HV2zj0OBkOk!+T=2PBjsPB6ril|W-w|*zd`u$k=i{$>a}S$8deGqL?x^S zWgs@;A)X@6Y$i)m^L6k8qigGf9%5{MN>Bl#B#Qp}r))%ACp9t>z_P{jAQeqW`?83l zIFZnGcUCeSRmz<~Y?X~mk<(peuPi2QIUEGCnv4t}J1J;TsY4CXCrIG{C7FELIJlH- zO<^Yp9;3jYz9qCv3{Mhatp)uNPxx&yzQMKS`G}tv&sLTk9+nK3j6)x?j6p%-W{phB zdRrvhBPogI7B>l_rA|*1$hnM!C*m&ZD?VGnHAdJ5N1&~xAxj0bA>VYzZ<@$}z52Pe z<2GAZUgA^hj=$=%l#kUasKQ4U0O5|Ntw+R4W&3*3P_>_yKIFyJ3bn{f?eQ_YjKy2p zBm42Yh|pG-?{MtgsRzRzuibY#zQlPqW1N&L4}gEC0k?pHKQZF}3EG*fqx>IU^aiwR zCz(&IcHQiD!-6%OhqZPx&1iNAjKJ$I;F>osels~4Q>=Q3%pZhp8epB;@9aa+@IIq7 z-F^|Z6cc*Y4nS}wn0e(%vhOFPt7U9*BN~B7XJ2#TSv{= z(!^#7wJVykP2HPhI9u4=6aeRBk8#$n-5?s%Um3u?-yQ!q6J+hyM!=v`5i>|*GLW48 zj7?g^q%Vm3@?d)xR+;?|S{j^a%4B`N!BPrLpBA4y?efY6 zlYRvPgg?PBj|!c_5&TC^CzWLctYvm2=!57dC3LV6o#d%KA?AX}w`vYRaU!5$oAMIC z5gM z6n7zg0Q;s#$B`r+oMb$emR4vsB9Fm~sLdC;)U{_xd(?D+vg`na5qQkH?QR7jb&Oq% zG(S%!Kvn3q z>lMop3OGK3$@ja>S*f#VdP6H%$85;y+r&wa(1NWO#O27IP4^bksB!r3TtlX3WnDU1 z_nqC#q^4M9=~7>@2LnpJ>d{-~*0m+F0{W*}^oX`u0?HXWv!jLugbRLwO^)&aZ7^v@ zPK*UDQiZEADb3(GztovZ->XGzRhhwhHsACM!I4uH1yTYcY0OgOilsb@Zz=rv-k+1{ z@#8e%0k|r0B^t4h(FaM+gR??c;wgKav#w6CMI8>p5{wDT=1m@>>F4nzcI7nv&ixl= zJ|YWovq(LD%_nTj>w`?FV&oO4rG)YuiV@avMOi!E{l^N-?*q{XYT06F%(PMFE7^ zu>Ki^78od3z)>@uluTeB6qA|yc?mq;5gS3F6D^f?4scCD>&Lne>@{!Ad-DFzRX`gM z!9*gI!AlZiZMYklvqi1EmP6g8jy3|%WMZ=>srCs^uw0}2xMIL<3o@uz&O+h2wgqLP zNaee1tq=~(k=Ih|4|vtIDO|+6ikPetx$GZ3geDJ@69%q)LkH$#LUA|u8d9Sd2n(#i zc2p+%^mN*hMF6?PXx?JzPm7tqEd~2zp-4h%hP3^pEVaC0GzuKEJarXfc7w8C*#Yqo zPOv?l3RAEO)G!Vv$x_X$yL#JqjqYgSLv9Io8eH+wvQ4nKIA%1=E}o`;Q~ zov$*>V;_2(2(}q@NpUetQ1}p*%N?cv1*oISEcD)>f(S7y)f*{lCxXxv1ptmy5J&44 zB{1?>;uQj@c*6sI#L%2XT7&dro_KkXy09G46xi~(a(D!Yy?r|9h%$7CNL93kieZlk zle?6Ne04wpzf$Y4h`$CJhW1zjAVIU48BvjJZ+WFcjLK#7|C1!JM326oDbu<<7X1Ed|d)mh?{pAj+7EvI9P zbaxX-6*r^k0O1hY8fwQ(pPwQ`KiY6qZcli(tC~5G_cNAp~Un6JH=%Py9DZ zH4cbY3ijDnN0DS9c`O|hG!TVGS@9`h=dnil6uH4ZcrR-Nl6+Z*)-fW6kYq{-h9Fpm zmxpQQv&Gn@^}*%O2VJB+YD(7D_kn~Jsda$1r_Sx(5TOeige2(B8l!?F4p8*hhh?}f{Hy!4Q}DVcYpLT}htLrBvq6i5At9>-V6{TZ@O&!L zX|@IVU68bL@T*OTusD@vg#zQHq_%JqJjBo@P>yrGASW~?7#cx2>moVCgahZB(Fz$% zJ*JaIh6&d~2~1mbpJW@tqh1E-fLoP{cGdP~slkutpJs zFAMLgP5^OA0l@sRL~kwK4?Jh$miJ~%%FP(5l(*%JFZ;j%i4(f&6WS_@Ir`{v2eScy zuvsZBae@@-5uZ1F5|WLBdVw_U+TVKS0LW4rQ}x?QxA!GcV^2(v*GS&Tr*}L=L1KPK z=HnQ2Yz|4pcKnEnW;|+}6k;H(L1pS^(YGX&$PIVwcibGVn->c|3xWaRc3(TrhpE7Q z<|_7?iZZ84o4m*kG0v8Z-5@X{uATBYOB{?bPJ?6G?Dc-tRKWk}w~W)rtke=G-=cj2 z74|wLY1%|mbD$&^&n&CwoeSWxYPBTCcjO~4ndFJSGd=>?Y(VqlP~>|}G+0atv8fVF zFsLxcz@uT2YQ`~#A@(5xcF8>nIWw7pDE7q4Rqk9eX)R2Uz(GL>d%tnwgqlZh+dgX9 z;EB|vMg_hgNd^_#FA$u%a~Trnx`v-z=D_@8~VpY61kl1nGuE(^K;dUDH3RAXV6N;%qH3m*`4laiWXR# ziFSVS>?gwK3Nn#fO=SbsWHKQ=y#!QmiQpA&Hjxm}q}1!lFQn%f;`;IWlRAeur0D( z(l>kp%TY+5xBR<_3qSH3iyT7%O3CH(A}mly-xAi6V!QHFmF-HbQ1?*WPm{S_5eIF04MBni{EFR8KXdwC&~yscoA0 zqpbzhCjE{J9{k^kftnKTTsOrP+HU0z?713)J3?R#gwWO#PX+soCM07R7O-9c_7gcH z1LpKTYSnKI;>C6$8N_?OXPtnd9nQ^1V0`&a?`ro6ZC+(;iP%6@Dm%#nz(Wr#D$779 z`K($XjmWn1UWuZF12P0fw$kuW9%-Ek6Um$&&QYGoIxWdSk@ph2>FRmkhXxc0LqWN^ zAV|xPOFwgO>GWs|mI|?tX`%L2#dU>fQH6*`L4CFYaSqtG6^Tn_zSL6I7t=j$lS_qQ zr~40NDKP5#vY8(L5R&&q((5@So9Q9eO950k3_&I&LOM(+??Mgx+{65>sgA)QuFgm+ z-R+?8*HRjxdSNgFUJ&iYwO2STtO-c4F?pFICoqv#U>G5`U@tn!&vx6rXp6`OBGJ~> z1~&AD6S+;0Fp$Qj;sQR8BodU)BbMc?t`zbKz{BH6Z=Im!0((eov{4YK!YfUpfY~+9 zGt=fJd-cGW2h9TWk3jLd8qXq+Vrx!SW>4VIBHy{ZYZk_WQhf!Fj01r~SMTJ7 z3InF*9BJ|?>{Lx4nD)M1ZP!gg4K2a`l~K>Rl{F28d!H`G$I8=^T|b0R`fwucQ6x#o zS(qYkM2+G;bq_TxLgJb{slsG9B!+D^0ONQv)+!#Ji`rBL5XfDp^P!{^u$$KG2zHR3 z*TINr4iJorODRJe)nNvo|q-w_aFsJdTA(bRUt!_=E!@lD<)w zbI8OH?n2X zx423%BMm%5fJfB`x!v#rD~2|KZdb2^C}Cm2o-B|Z#ELZFL;VChL-9_~5$!F8-vE6? zqn-n0hAN15KvLbvEnDAw*rCwPs8}R0={p{0fahveSuEWX18XBCR4{7@Oa*qQAJQ3I ztAr4^mE_bh0*}cp47C~IpJy^D{e>p~sL|OJX-VUu`K0zBAiF2yl(UUYB{ufjY><;e zPv*i{sPx(pc6V|ukufeIPpJ~5e}mdJOjh;D367P25nb+Xg_&YcSpgx-0&_@pM?CNe zBR7$TBa9DJ9P4F7AYh!r0CTvjU ztW1GwU~n}oLV#P%RA<1ono2*W!Y8*fJN*yIR`c1+9kJs2S8NjBmdILZvn@Iji-JV0 zFt7v_2CUwZ5wq$@vscsj1t_6AfMFd8(5rc)wwr(Su+ORCddoOHvuM=dU_GU#Z6`DY z6RCIzybr>Pf>fe&8>9wDM6^B__$VzE;&+gx-sFrs6GjUZ4gf*)2Z-_fB2$0}+Z70) zsp&HqgaORjFE0v`ooO@EFD;yK3J;1JYtScS4@~ExYd5u>OJmz;B=qLp3DL_Vp(A=r zW=7b`08 zCgcPvV<}DGCJtw}oLJXAF=AZz2VzIX#avI1xP@2B1-QIY{L(mX~IJZmz>1E|GX z64u_MNuw)6PiV&jImKyKy_HeE=HMhTA3-iaLcnw*G%(QWFr-Rc5JX)s2+Fs;xUNNS z!@O?AlLTH?TQY`2v|tZ!QYkP?agp}If6D@|K)Ch4d>~pgt-6*LF<3-9fDKO)CSs)R zfTsI2>O8h<35ReS7WBVd4+ET>*sw$w6F41f0L~&(I*0kqOQ`j@EK5Gltg%-S8GO0%G82tF`E%kWGY%c;& z-!QX3d;(VhKsQbv$H!fNSrTr5Z!3@GY)0tRvA*0FaycB*^0lrlge$t3_|rXAEH1zg z`ZfWf6;w5L?^F{6c~X4?D*cN@2sQ8~GI77wkAP4P85G5Jr(#9%O#Pyo1C0IDuzz>(lr%t#G^UqM07shPnfpK00+6(Q8RxJ+k#ux=tbr#bkMF3Z-hBg3&1|`|G#+b5* z*$EyIt$ai{TG!CiZFA!W+U|+9L=u2RV#UP+6T)Z(0Eo=P9s<7@sEAJF%M%t5j(E8< zb+p+wZaG*7r9sxu08^QR%EH7N#QfX{L9hr!wATf(R2zWO#P}pQl2wMZHR3$W zA3vR`)ZZgzmvB1&GVhW3#6!E!rc7&7JehTh^I8=}PZxYl>@6eJPze2T^gRYy5Lro= z;tu41fVR^-(2&1|5xFn=F zxY;iM_706{LPDsoH7+)nrxTn8k)$sk4hQ<-`@R;rpw^5};YWw^5Ec3vWF4{(18wxs z$U>%RJ|j8AtiD9r-wF_Zc4kAj^Sl=sNecWa)~`%?;YYH5Vi(8Wk}2dIQ%8s@6#sk1 zDm;s-#?9d7Dn(e9jZsY=9y~l$NKyrNAP`dWjGM3pSKxO)AX7wg9R8sA6vQ+SA>#Cq z!nMLeKzjT&U!y|mYDg^9OVqBX6KEt!V5W?9i}C=m8xiGN3Tf`Esq}Cd&TRl9$_i*3 zCJ)#<*mMEz#Yu!N2QV^39SNE?99NBL)%0B6T5YIeE-*x4 zTMVNrbN;Lka5m~#M1K>EfI#GrvSUQ&kpyUb(dFhQ4L}(}B#TA#Gfo5SGUlKGC!~iC zrHl~dX^i7U=&)vTc*Km`Xx2OzN_&kqawYH&SVMpgI)-LIn&=YoRtHipgbbtgfL&yR ziDQi`w~H5DY^kj0ZEr_+GY@kAb>Os_Q!sJl2k&*yjA?e^~jBf4IsgKHp& zGbR$N%$$FyhcKN;hb}UGYh+Sf|Z~M$^V+gG|mMPj@3(MDzqwG ztePamx)&LrL?8u6z=?U5>3%UMB8(q;h(S_5M2jhA*i6jzW_U=M2NpXf8(|YQfbC<1 z5x|UN--kgNFK61f!ndbZmk1y>C?)sTYhwcgGY{Q+#q z!D-Q8BXcQ3Hlu_nHb$T!Xlk-aH7!xPHR6q#qgg@?6&@R^wLpo z{z=_L5P}u7b)*rY1UDcsu`5PkDAde2N{fp)Zzy4Xj>q1V%&Z5dkKdE@Rz1#Aa*)bKtg&*@0;E>yPLX6Hf_^;CB66FI}k$e2uPDAARtE2fQUW_ z2#AP^h={1bgNnd|$fJmm-Tj@pn+?%NKhNj;dj0>&4>H9eDP@g@V+gH`Mb&0a~EQ0fM2+cfQ*H~KY@pcomjqit$ zMp=DvR}+(r1L3|5%3C)S*O%)!rgS3gJq+zz(A3!4c1EIm7-7+Lgd7+|`U=UYXW!?A zIzhi8O%1q!(CLS|9wh(x;6HyJ7t24_WHeggR1;C;D*VASygCKcq3Jj-{`~_@RZXgU zEM>e&8K9%c2rWV!_D#?4({N5RHRvhaL7a^o0aR(F%IQy0h59wB2W}urnT)Jw!a*=!P`i|4g69Pd1C-)6mD4~3g0DVpkBz?v<$7GG|@WdXB5U1qi)V` zsD=3!wc>QNkSauLsYYZ@XCq5y5XIm@ln2*>@e#C!)u25{X5o#S4Id#^xBNAsDBsvMp>#k`G*m~%+X$v|&Gop!ts6b!kDt^XV< zfHuELbCEwjqI^Q9pxJbSQc2B1FEIWn58Ako(Lu$K_b?hLi<*z5OeyMy^80&p|_+x6vxjZFt@X_0cO) z9nS>$Fy^R)<=-jb=}TxA_bkeX{8eTFih;VaAnoJSBLmW2CJ60k9FPY79qDrRL3y~x zOF>P%VU!2FIY0t%0(esaVv4zd+Hn zH_C;6tfuCoV+hGXrsN>E22sF=@Zob9%mj3AZ_N@ui;;wWfEF>QkOYqRGhy&d zKGaD=-@ReZWuT>;OthA}5p7_Wq18;P@+>zV@i{*tDIm^DjqOMT=@d5~dBA&5fuO#} zS%vbrpCWzceP|1rn`@CRhekHgwkXbObQGRD#fwG9c^T+9H%0jsw+X!mt2z?~;?@hWC=0G+I;P*LX3w7G_Fj8_cy2ABGdtg57(TGO(c?{Gy3%y9+MosJ-nghK16xq?=B3Jet z<`2&ry~W*$Hc!_50Ig(9psnwt%`m>-Kw1W4JQvbFgcO?~T_Nx1VBpIjj1i1C-3)Ck zg8XO5&!W=|AMNKBp#sh{2YQuQ^Iek;{eGy z-ytpLFw$o0Fhcvun2~;S4uBjjhc=N^qFhbKDHnrWg>deo5bibLTRifHx#q@%09MIS z74HZN<<=rTZxg!2U5~af_t8d1AB}K!A}fv&3WIkoW(+{vI0M>Fp+pU1bOJEFkuw9W z;Toe>?oD{_TWA@#2Jm|=s$m|ZH-HcR%nGy<=31D>YiKD&DT|r8sC)vi;{mg4nCU12 zpF$f!U-aV-(R!F8QqmLXbEbw6bOT@#k$vhT6i07F19&A`!Pp{m#tFu>9r!$i_R)7C z{R_^I0{&e=`|t(yA$=CbF?n!(CE(5-xc3dD4SD zq>#w9M8MiQnuiVpUY`WMu7UpS!5h#R;8-K|oAMOni*l)7lw0T}AX}z@F>9cIF!wp2 zi-@iw`hv~3!2D%U3#EkqfKFufnjf0WSqy3IL|y>pKS$eu-}9Ignt&%m$$$YIVB8-~nX z$g3yv9mJ+0cFljy)pKZSK8hU4n3M7N-{w59*@)dl#)sA6WSqcuBlgpub7IF3yM^rw z$Q{Uu2Ac>*5X||z1USTE5W%5|1Q=uh>0Nw5`7cOcPvQ^3ps9&q&(uV)XX<+h#!XFX zyqoea@=g}}2>z)Pi-XEhc=v8dA46L-A&pJJ#q9(e)roB%!ALbus@q6#Qk@81PECX_ zYW$qqhlyhrPf33!@RVRGNgB3L4;hC?$ec?dC#nbRpen#ISLGNd7|U@{C+x3T8vZC((-CYTutSOMsKzz*I|+Y?ol0y= za?J8&3LdIuN{w%gOiw{xi;y^_Uu4z$RqnlH_3Hg5B9e#)0(vKXPKL5&IQv zV%Bbjc>(3b!1o?vN5j~<{kfh0zn}jNo~!u)`MUoJ_kox1gML~J`6nCNP%lSgCU& zcSHu%b7RuhCNgstY$B3MU>#hF7>*O7>94`QR?nLWUC7EItZSx@HJK;scf#{+V58a) zI~hIy!{8T!KQtXZ(NH1{q@h$GO{A%mBQ2x_bQ+olbUK<2bOxHC97ozn8>kM_0Xh@S z1geX4mCukK(gUiG^nn^61E7XLpMrnJ5U4RS0&0ScfzCoE%HNSGng!GhnF2LOW54;kR?!SWChd)Su1}-w#Wvk9kK;#kL-XtAbaIwCeYa^3uqq72AYp@ zly^`8$^}}8W&5S5!C=~LbX7fQJwOis0GynZAA@0+fXCWcGRT2g*s3( z&`#6>vHbAc{G^ORqs#b_Al5;Py^QZxc|8PMx!Ia&a81zHGn zC0Yb@6G(Q4(FXd_w!bQ4+& zbTfJZ=oSQaIogWW1APf?0J;sm2y{EpFVGIO5$H~|3Ft1g8R*Msi}DKEjkW^agI)r< z7i|Oj3fivx9PL9pfbK^-fgV7+fWC@eR$fL2(Qcrxp*=uH(O#ghqgRxlp+jgN(8Fjy z&^OQlpl<@bgvQXTK#!n2;uQqeDQCqr*VoL2oEOLGPkBf&K%H z0X>0^0DTV~Rep?4qPKvaLdSrfMsEXsA01a-L}$=DK+mFgfu2ME0Qv#YkI;E^0_cb6 zJ)jrRNuVF0Q_2hIB03Eeo(B2}Is^1mbXNHxx`fUF{S18o^fEdR^mFu~@;thNE&%-k zeFXF>x(M`3^s({-bPat1^egl!(Cg?D(651>L*Jm!fPRZE1HFMh2YM4-QJzJ&&=)}e ziLL^@jlKl>9lEAGgT6;!0sR482YLs64fIF!jq-hT7kvx#9=ZYaKDr6?U+9+dGUFGD*=oR z1#Fc9rbYmkMgfM(06Sv=Gvfg(69FTW0UJ{R6Vm|;GXVp$0sC?R^YQ@e3IOAZ0NcQ` zL`|b+P&$+mWky+1wv-KJM>$aTlq2OtxlqoOE9FLcQ0|l`|#L19+0j1 zfH{MJt@U^zT8o!}bk?C>+>B_7OKDQ3fGw+WDK5h`xE5F7O0)p4pn|CVxE=T4R@{cy z(B-%Rb>b>qhg&EOY9_^_bSZ60pE95fDLu*reDjDhrYtB+${f&a6QD^WAk9`lm@dGS zZGb%tHx)+l4z!gE2u|WKGXO=m0cyMoa(o74?R%K73ao>5u>ovwGYpXc;Gvkxp^j5$sSl{HsejX$rfE%Dhqj{^(@W{q^mclbevAHqzDQr9 zuP_dbClkpeF(phR)6I-97nv`Zo6N5q%$dp2x5Snqmh&xtw*0r{?^X%c)2t1xEv;>> z9j(2r1=a!9LDmu0ZPtUTC7y}(up@TD-q;_9;dERC z940;8hF^o8KE>m}S<{K0o`IfTg`R?8Hqp~z=;?BL4ZV|oojyjNr$2?BBF2&NVxpL2 zrj%)7dYFaG$IMmc7W0@xada(_rNnZ`a+~EN%U__U$Xegp*xK6K0eb3V?LXPmozT<$ zf9UD#iJt0C>1i4C6hluj^mH70iW#tnK%XMO2t-f;M?ngM6by+(^ZX$}v;ccUf>@c7 zQv9m8gFApjW1ww&6(x!=v|s+Ye7F34`KWxCe5ZV?{6+Z)l$@`G$RGHhxo})Q{&f5| z@JWwBItXbeq%Gi+J`4$>X5;YI?`pntxqa=s8Mhn0n|9mkW)?y>6K^KmjJqlQr`OGZ ze>&atzDeD9g3ygikUDNu->AHi_wC9XDK{Lxo%_w+Z#%wi|F+@V+HVWL4gc2dTj#Id z*I%LaG0g85@QV}pMjCSi68Ode)e+2Ggdu*3U8W=v9A`r+gZu0s@hksNe>jxf#WL~) z?o*Y-5P!n(28w~?2nlMXPC)tu(rs0l=M+4lfAL2_w1%Yr-5<3>RSu*K0XpzN+BFGw zp&^O_>@p^@4s+5B?47xkIVm9!+>bEfNA!CYOtzBBYN1$*KY*b(mo zKAi=xuLoES=jle;7hR-<=wn($i)laFALRK{bcqh6o9H0)86Au+(-JxaeNKmhUGN1& z#=__T^d&8&!|4b*l8&OIX&G1sU(qpiEXI%(k%CS`N;;j+pfl+#c3DNy*>nq?gK5lQ4r4~Q(rs8D8(>3hM7Pr& zbQj%;?Xd%6&Db!efHr)<8)xjom@^jG6}vHpj1k>U_b@z01G{4n#*(qZp4f}gWV8U6 ze6RrfVj&jMy>uTljhRmO(*ukXL*m68L zQcfnPhVuqDmRrR=z`esW;Cb*Ocnf*kcn5f&@E-6K8s-{48ciBoHSTDdYqn`F)I6kl zUh@|%11&c#saB>|nO29^Vyz8YyTK(IF>UU≫L}7foL|{oU!;W^iZN&+wYjHDmXT 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

          $(!at=3<`mujoM2yp_khnd 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%0D&c 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 H5)}XdkwQtE literal 0 HcmV?d00001 diff --git a/css/style.css b/css/style.css new file mode 100644 index 000000000..99f01a97b --- /dev/null +++ b/css/style.css @@ -0,0 +1,11 @@ +@font-face{font-family:Roboto;src:local('Roboto Thin'),local('Roboto-Thin'),url("fonts/roboto/Roboto-Thin.woff2") format("woff2"),url("fonts/roboto/Roboto-Thin.woff") format("woff"),url("fonts/roboto/Roboto-Thin.ttf") format("truetype");font-weight:200}@font-face{font-family:Roboto;src:local('Roboto Light'),local('Roboto-Light'),url("fonts/roboto/Roboto-Light.woff2") format("woff2"),url("fonts/roboto/Roboto-Light.woff") format("woff"),url("fonts/roboto/Roboto-Light.ttf") format("truetype");font-weight:300}@font-face{font-family:Roboto;src:local('Roboto Regular'),local('Roboto-Regular'),url("fonts/roboto/Roboto-Regular.woff2") format("woff2"),url("fonts/roboto/Roboto-Regular.woff") format("woff"),url("fonts/roboto/Roboto-Regular.ttf") format("truetype");font-weight:400}@font-face{font-family:Roboto;src:local('Roboto Medium'),local('Roboto-Medium'),url("fonts/roboto/Roboto-Medium.woff2") format("woff2"),url("fonts/roboto/Roboto-Medium.woff") format("woff"),url("fonts/roboto/Roboto-Medium.ttf") format("truetype");font-weight:500}@font-face{font-family:Roboto;src:local('Roboto Bold'),local('Roboto-Bold'),url("fonts/roboto/Roboto-Bold.woff2") format("woff2"),url("fonts/roboto/Roboto-Bold.woff") format("woff"),url("fonts/roboto/Roboto-Bold.ttf") format("truetype");font-weight:700}/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url('fonts/fontawesome/fontawesome-webfont.woff2') format('woff2'),url('fonts/fontawesome/fontawesome-webfont.woff') format('woff'),url('fonts/fontawesome/fontawesome-webfont.ttf') format('truetype');font-weight:400;font-style:normal}.icon{display:inline-block;font-family:FontAwesome;font-size:1em;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.icon-2x{font-size:2em}.icon-3x{font-size:3em}.icon-4x{font-size:4em}.icon-5x{font-size:5em}.icon-pl{padding-left:5px}.icon-pr{padding-right:5px}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope-o:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-o:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-check:before{content:"\f00c"}.icon-close:before,.icon-remove:before,.icon-times:before{content:"\f00d"}.icon-search-plus:before{content:"\f00e"}.icon-search-minus:before{content:"\f010"}.icon-power-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before,.icon-gear:before{content:"\f013"}.icon-trash-o:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file-o:before{content:"\f016"}.icon-clock-o:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download:before{content:"\f019"}.icon-arrow-circle-o-down:before{content:"\f01a"}.icon-arrow-circle-o-up:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle-o:before{content:"\f01d"}.icon-repeat:before,.icon-rotate-right:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-dedent:before,.icon-outdent:before{content:"\f03b"}.icon-indent:before{content:"\f03c"}.icon-video-camera:before{content:"\f03d"}.icon-image:before,.icon-photo:before,.icon-picture-o:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before,.icon-pencil-square-o:before{content:"\f044"}.icon-share-square-o:before{content:"\f045"}.icon-check-square-o:before{content:"\f046"}.icon-arrows:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-circle:before{content:"\f055"}.icon-minus-circle:before{content:"\f056"}.icon-times-circle:before{content:"\f057"}.icon-check-circle:before{content:"\f058"}.icon-question-circle:before{content:"\f059"}.icon-info-circle:before{content:"\f05a"}.icon-crosshairs:before{content:"\f05b"}.icon-times-circle-o:before{content:"\f05c"}.icon-check-circle-o:before{content:"\f05d"}.icon-ban:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-mail-forward:before,.icon-share:before{content:"\f064"}.icon-expand:before{content:"\f065"}.icon-compress:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-circle:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye:before{content:"\f06e"}.icon-eye-slash:before{content:"\f070"}.icon-exclamation-triangle:before,.icon-warning:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-arrows-v:before{content:"\f07d"}.icon-arrows-h:before{content:"\f07e"}.icon-bar-chart-o:before,.icon-bar-chart:before{content:"\f080"}.icon-twitter-square:before{content:"\f081"}.icon-facebook-square:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before,.icon-gears:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-o-up:before{content:"\f087"}.icon-thumbs-o-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-o:before{content:"\f08a"}.icon-sign-out:before{content:"\f08b"}.icon-linkedin-square:before{content:"\f08c"}.icon-thumb-tack:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-sign-in:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-square:before{content:"\f092"}.icon-upload:before{content:"\f093"}.icon-lemon-o:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-square-o:before{content:"\f096"}.icon-bookmark-o:before{content:"\f097"}.icon-phone-square:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook-f:before,.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-feed:before,.icon-rss:before{content:"\f09e"}.icon-hdd-o:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0f3"}.icon-certificate:before{content:"\f0a3"}.icon-hand-o-right:before{content:"\f0a4"}.icon-hand-o-left:before{content:"\f0a5"}.icon-hand-o-up:before{content:"\f0a6"}.icon-hand-o-down:before{content:"\f0a7"}.icon-arrow-circle-left:before{content:"\f0a8"}.icon-arrow-circle-right:before{content:"\f0a9"}.icon-arrow-circle-up:before{content:"\f0aa"}.icon-arrow-circle-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-arrows-alt:before{content:"\f0b2"}.icon-group:before,.icon-users:before{content:"\f0c0"}.icon-chain:before,.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-flask:before{content:"\f0c3"}.icon-cut:before,.icon-scissors:before{content:"\f0c4"}.icon-copy:before,.icon-files-o:before{content:"\f0c5"}.icon-paperclip:before{content:"\f0c6"}.icon-floppy-o:before,.icon-save:before{content:"\f0c7"}.icon-square:before{content:"\f0c8"}.icon-bars:before,.icon-navicon:before,.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-square:before{content:"\f0d3"}.icon-google-plus-square:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before,.icon-unsorted:before{content:"\f0dc"}.icon-sort-desc:before,.icon-sort-down:before{content:"\f0dd"}.icon-sort-asc:before,.icon-sort-up:before{content:"\f0de"}.icon-envelope:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-rotate-left:before,.icon-undo:before{content:"\f0e2"}.icon-gavel:before,.icon-legal:before{content:"\f0e3"}.icon-dashboard:before,.icon-tachometer:before{content:"\f0e4"}.icon-comment-o:before{content:"\f0e5"}.icon-comments-o:before{content:"\f0e6"}.icon-bolt:before,.icon-flash:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-clipboard:before,.icon-paste:before{content:"\f0ea"}.icon-lightbulb-o:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-o:before{content:"\f0a2"}.icon-coffee:before{content:"\f0f4"}.icon-cutlery:before{content:"\f0f5"}.icon-file-text-o:before{content:"\f0f6"}.icon-building-o:before{content:"\f0f7"}.icon-hospital-o:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-square:before{content:"\f0fd"}.icon-plus-square:before{content:"\f0fe"}.icon-angle-double-left:before{content:"\f100"}.icon-angle-double-right:before{content:"\f101"}.icon-angle-double-up:before{content:"\f102"}.icon-angle-double-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before,.icon-mobile:before{content:"\f10b"}.icon-circle-o:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-mail-reply:before,.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-o:before{content:"\f114"}.icon-folder-open-o:before{content:"\f115"}.icon-smile-o:before{content:"\f118"}.icon-frown-o:before{content:"\f119"}.icon-meh-o:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard-o:before{content:"\f11c"}.icon-flag-o:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-mail-reply-all:before,.icon-reply-all:before{content:"\f122"}.icon-star-half-empty:before,.icon-star-half-full:before,.icon-star-half-o:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-chain-broken:before,.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-slash:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-o:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-circle-left:before{content:"\f137"}.icon-chevron-circle-right:before{content:"\f138"}.icon-chevron-circle-up:before{content:"\f139"}.icon-chevron-circle-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-h:before{content:"\f141"}.icon-ellipsis-v:before{content:"\f142"}.icon-rss-square:before{content:"\f143"}.icon-play-circle:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-square:before{content:"\f146"}.icon-minus-square-o:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-square:before{content:"\f14a"}.icon-pencil-square:before{content:"\f14b"}.icon-external-link-square:before{content:"\f14c"}.icon-share-square:before{content:"\f14d"}.icon-compass:before{content:"\f14e"}.icon-caret-square-o-down:before,.icon-toggle-down:before{content:"\f150"}.icon-caret-square-o-up:before,.icon-toggle-up:before{content:"\f151"}.icon-caret-square-o-right:before,.icon-toggle-right:before{content:"\f152"}.icon-eur:before,.icon-euro:before{content:"\f153"}.icon-gbp:before{content:"\f154"}.icon-dollar:before,.icon-usd:before{content:"\f155"}.icon-inr:before,.icon-rupee:before{content:"\f156"}.icon-cny:before,.icon-jpy:before,.icon-rmb:before,.icon-yen:before{content:"\f157"}.icon-rouble:before,.icon-rub:before,.icon-ruble:before{content:"\f158"}.icon-krw:before,.icon-won:before{content:"\f159"}.icon-bitcoin:before,.icon-btc:before{content:"\f15a"}.icon-file:before{content:"\f15b"}.icon-file-text:before{content:"\f15c"}.icon-sort-alpha-asc:before{content:"\f15d"}.icon-sort-alpha-desc:before{content:"\f15e"}.icon-sort-amount-asc:before{content:"\f160"}.icon-sort-amount-desc:before{content:"\f161"}.icon-sort-numeric-asc:before{content:"\f162"}.icon-sort-numeric-desc:before{content:"\f163"}.icon-thumbs-up:before{content:"\f164"}.icon-thumbs-down:before{content:"\f165"}.icon-youtube-square:before{content:"\f166"}.icon-youtube:before{content:"\f167"}.icon-xing:before{content:"\f168"}.icon-xing-square:before{content:"\f169"}.icon-youtube-play:before{content:"\f16a"}.icon-dropbox:before{content:"\f16b"}.icon-stack-overflow:before{content:"\f16c"}.icon-instagram:before{content:"\f16d"}.icon-flickr:before{content:"\f16e"}.icon-adn:before{content:"\f170"}.icon-bitbucket:before{content:"\f171"}.icon-bitbucket-square:before{content:"\f172"}.icon-tumblr:before{content:"\f173"}.icon-tumblr-square:before{content:"\f174"}.icon-long-arrow-down:before{content:"\f175"}.icon-long-arrow-up:before{content:"\f176"}.icon-long-arrow-left:before{content:"\f177"}.icon-long-arrow-right:before{content:"\f178"}.icon-apple:before{content:"\f179"}.icon-windows:before{content:"\f17a"}.icon-android:before{content:"\f17b"}.icon-linux:before{content:"\f17c"}.icon-dribbble:before{content:"\f17d"}.icon-skype:before{content:"\f17e"}.icon-foursquare:before{content:"\f180"}.icon-trello:before{content:"\f181"}.icon-female:before{content:"\f182"}.icon-male:before{content:"\f183"}.icon-gittip:before,.icon-gratipay:before{content:"\f184"}.icon-sun-o:before{content:"\f185"}.icon-moon-o:before{content:"\f186"}.icon-archive:before,.icon-archives:before{content:"\f187"}.icon-bug:before{content:"\f188"}.icon-vk:before{content:"\f189"}.icon-weibo:before{content:"\f18a"}.icon-renren:before{content:"\f18b"}.icon-pagelines:before{content:"\f18c"}.icon-stack-exchange:before{content:"\f18d"}.icon-arrow-circle-o-right:before{content:"\f18e"}.icon-arrow-circle-o-left:before{content:"\f190"}.icon-caret-square-o-left:before,.icon-toggle-left:before{content:"\f191"}.icon-dot-circle-o:before{content:"\f192"}.icon-wheelchair:before{content:"\f193"}.icon-vimeo-square:before{content:"\f194"}.icon-try:before,.icon-turkish-lira:before{content:"\f195"}.icon-plus-square-o:before{content:"\f196"}.icon-space-shuttle:before{content:"\f197"}.icon-slack:before{content:"\f198"}.icon-envelope-square:before{content:"\f199"}.icon-wordpress:before{content:"\f19a"}.icon-openid:before{content:"\f19b"}.icon-bank:before,.icon-institution:before,.icon-university:before{content:"\f19c"}.icon-graduation-cap:before,.icon-mortar-board:before{content:"\f19d"}.icon-yahoo:before{content:"\f19e"}.icon-google:before{content:"\f1a0"}.icon-reddit:before{content:"\f1a1"}.icon-reddit-square:before{content:"\f1a2"}.icon-stumbleupon-circle:before{content:"\f1a3"}.icon-stumbleupon:before{content:"\f1a4"}.icon-delicious:before{content:"\f1a5"}.icon-digg:before{content:"\f1a6"}.icon-pied-piper-pp:before{content:"\f1a7"}.icon-pied-piper-alt:before{content:"\f1a8"}.icon-drupal:before{content:"\f1a9"}.icon-joomla:before{content:"\f1aa"}.icon-language:before{content:"\f1ab"}.icon-fax:before{content:"\f1ac"}.icon-building:before{content:"\f1ad"}.icon-child:before{content:"\f1ae"}.icon-paw:before{content:"\f1b0"}.icon-spoon:before{content:"\f1b1"}.icon-cube:before{content:"\f1b2"}.icon-cubes:before{content:"\f1b3"}.icon-behance:before{content:"\f1b4"}.icon-behance-square:before{content:"\f1b5"}.icon-steam:before{content:"\f1b6"}.icon-steam-square:before{content:"\f1b7"}.icon-recycle:before{content:"\f1b8"}.icon-automobile:before,.icon-car:before{content:"\f1b9"}.icon-cab:before,.icon-taxi:before{content:"\f1ba"}.icon-tree:before{content:"\f1bb"}.icon-spotify:before{content:"\f1bc"}.icon-deviantart:before{content:"\f1bd"}.icon-soundcloud:before{content:"\f1be"}.icon-database:before{content:"\f1c0"}.icon-file-pdf-o:before{content:"\f1c1"}.icon-file-word-o:before{content:"\f1c2"}.icon-file-excel-o:before{content:"\f1c3"}.icon-file-powerpoint-o:before{content:"\f1c4"}.icon-file-image-o:before,.icon-file-photo-o:before,.icon-file-picture-o:before{content:"\f1c5"}.icon-file-archive-o:before,.icon-file-zip-o:before{content:"\f1c6"}.icon-file-audio-o:before,.icon-file-sound-o:before{content:"\f1c7"}.icon-file-movie-o:before,.icon-file-video-o:before{content:"\f1c8"}.icon-file-code-o:before{content:"\f1c9"}.icon-vine:before{content:"\f1ca"}.icon-codepen:before{content:"\f1cb"}.icon-jsfiddle:before{content:"\f1cc"}.icon-life-bouy:before,.icon-life-buoy:before,.icon-life-ring:before,.icon-life-saver:before,.icon-support:before{content:"\f1cd"}.icon-circle-o-notch:before{content:"\f1ce"}.icon-ra:before,.icon-rebel:before,.icon-resistance:before{content:"\f1d0"}.icon-empire:before,.icon-ge:before{content:"\f1d1"}.icon-git-square:before{content:"\f1d2"}.icon-git:before{content:"\f1d3"}.icon-hacker-news:before,.icon-y-combinator-square:before,.icon-yc-square:before{content:"\f1d4"}.icon-tencent-weibo:before{content:"\f1d5"}.icon-qq:before{content:"\f1d6"}.icon-wechat:before,.icon-weixin:before{content:"\f1d7"}.icon-paper-plane:before,.icon-send:before{content:"\f1d8"}.icon-paper-plane-o:before,.icon-send-o:before{content:"\f1d9"}.icon-history:before{content:"\f1da"}.icon-circle-thin:before{content:"\f1db"}.icon-header:before{content:"\f1dc"}.icon-paragraph:before{content:"\f1dd"}.icon-sliders:before{content:"\f1de"}.icon-share-alt:before{content:"\f1e0"}.icon-share-alt-square:before{content:"\f1e1"}.icon-bomb:before{content:"\f1e2"}.icon-futbol-o:before,.icon-soccer-ball-o:before{content:"\f1e3"}.icon-tty:before{content:"\f1e4"}.icon-binoculars:before{content:"\f1e5"}.icon-plug:before{content:"\f1e6"}.icon-slideshare:before{content:"\f1e7"}.icon-twitch:before{content:"\f1e8"}.icon-yelp:before{content:"\f1e9"}.icon-newspaper-o:before{content:"\f1ea"}.icon-wifi:before{content:"\f1eb"}.icon-calculator:before{content:"\f1ec"}.icon-paypal:before{content:"\f1ed"}.icon-google-wallet:before{content:"\f1ee"}.icon-cc-visa:before{content:"\f1f0"}.icon-cc-mastercard:before{content:"\f1f1"}.icon-cc-discover:before{content:"\f1f2"}.icon-cc-amex:before{content:"\f1f3"}.icon-cc-paypal:before{content:"\f1f4"}.icon-cc-stripe:before{content:"\f1f5"}.icon-bell-slash:before{content:"\f1f6"}.icon-bell-slash-o:before{content:"\f1f7"}.icon-trash:before{content:"\f1f8"}.icon-copyright:before{content:"\f1f9"}.icon-at:before{content:"\f1fa"}.icon-eyedropper:before{content:"\f1fb"}.icon-paint-brush:before{content:"\f1fc"}.icon-birthday-cake:before{content:"\f1fd"}.icon-area-chart:before{content:"\f1fe"}.icon-pie-chart:before{content:"\f200"}.icon-line-chart:before{content:"\f201"}.icon-lastfm:before{content:"\f202"}.icon-lastfm-square:before{content:"\f203"}.icon-toggle-off:before{content:"\f204"}.icon-toggle-on:before{content:"\f205"}.icon-bicycle:before{content:"\f206"}.icon-bus:before{content:"\f207"}.icon-ioxhost:before{content:"\f208"}.icon-angellist:before{content:"\f209"}.icon-cc:before{content:"\f20a"}.icon-ils:before,.icon-shekel:before,.icon-sheqel:before{content:"\f20b"}.icon-meanpath:before{content:"\f20c"}.icon-buysellads:before{content:"\f20d"}.icon-connectdevelop:before{content:"\f20e"}.icon-dashcube:before{content:"\f210"}.icon-forumbee:before{content:"\f211"}.icon-leanpub:before{content:"\f212"}.icon-sellsy:before{content:"\f213"}.icon-shirtsinbulk:before{content:"\f214"}.icon-simplybuilt:before{content:"\f215"}.icon-skyatlas:before{content:"\f216"}.icon-cart-plus:before{content:"\f217"}.icon-cart-arrow-down:before{content:"\f218"}.icon-diamond:before{content:"\f219"}.icon-ship:before{content:"\f21a"}.icon-user-secret:before{content:"\f21b"}.icon-motorcycle:before{content:"\f21c"}.icon-street-view:before{content:"\f21d"}.icon-heartbeat:before{content:"\f21e"}.icon-venus:before{content:"\f221"}.icon-mars:before{content:"\f222"}.icon-mercury:before{content:"\f223"}.icon-intersex:before,.icon-transgender:before{content:"\f224"}.icon-transgender-alt:before{content:"\f225"}.icon-venus-double:before{content:"\f226"}.icon-mars-double:before{content:"\f227"}.icon-venus-mars:before{content:"\f228"}.icon-mars-stroke:before{content:"\f229"}.icon-mars-stroke-v:before{content:"\f22a"}.icon-mars-stroke-h:before{content:"\f22b"}.icon-neuter:before{content:"\f22c"}.icon-genderless:before{content:"\f22d"}.icon-facebook-official:before{content:"\f230"}.icon-pinterest-p:before{content:"\f231"}.icon-whatsapp:before{content:"\f232"}.icon-server:before{content:"\f233"}.icon-user-plus:before{content:"\f234"}.icon-user-times:before{content:"\f235"}.icon-bed:before,.icon-hotel:before{content:"\f236"}.icon-viacoin:before{content:"\f237"}.icon-train:before{content:"\f238"}.icon-subway:before{content:"\f239"}.icon-medium:before{content:"\f23a"}.icon-y-combinator:before,.icon-yc:before{content:"\f23b"}.icon-optin-monster:before{content:"\f23c"}.icon-opencart:before{content:"\f23d"}.icon-expeditedssl:before{content:"\f23e"}.icon-battery-4:before,.icon-battery-full:before,.icon-battery:before{content:"\f240"}.icon-battery-3:before,.icon-battery-three-quarters:before{content:"\f241"}.icon-battery-2:before,.icon-battery-half:before{content:"\f242"}.icon-battery-1:before,.icon-battery-quarter:before{content:"\f243"}.icon-battery-0:before,.icon-battery-empty:before{content:"\f244"}.icon-mouse-pointer:before{content:"\f245"}.icon-i-cursor:before{content:"\f246"}.icon-object-group:before{content:"\f247"}.icon-object-ungroup:before{content:"\f248"}.icon-sticky-note:before{content:"\f249"}.icon-sticky-note-o:before{content:"\f24a"}.icon-cc-jcb:before{content:"\f24b"}.icon-cc-diners-club:before{content:"\f24c"}.icon-clone:before{content:"\f24d"}.icon-balance-scale:before{content:"\f24e"}.icon-hourglass-o:before{content:"\f250"}.icon-hourglass-1:before,.icon-hourglass-start:before{content:"\f251"}.icon-hourglass-2:before,.icon-hourglass-half:before{content:"\f252"}.icon-hourglass-3:before,.icon-hourglass-end:before{content:"\f253"}.icon-hourglass:before{content:"\f254"}.icon-hand-grab-o:before,.icon-hand-rock-o:before{content:"\f255"}.icon-hand-paper-o:before,.icon-hand-stop-o:before{content:"\f256"}.icon-hand-scissors-o:before{content:"\f257"}.icon-hand-lizard-o:before{content:"\f258"}.icon-hand-spock-o:before{content:"\f259"}.icon-hand-pointer-o:before{content:"\f25a"}.icon-hand-peace-o:before{content:"\f25b"}.icon-trademark:before{content:"\f25c"}.icon-registered:before{content:"\f25d"}.icon-creative-commons:before{content:"\f25e"}.icon-gg:before{content:"\f260"}.icon-gg-circle:before{content:"\f261"}.icon-tripadvisor:before{content:"\f262"}.icon-odnoklassniki:before{content:"\f263"}.icon-odnoklassniki-square:before{content:"\f264"}.icon-get-pocket:before{content:"\f265"}.icon-wikipedia-w:before{content:"\f266"}.icon-safari:before{content:"\f267"}.icon-chrome:before{content:"\f268"}.icon-firefox:before{content:"\f269"}.icon-opera:before{content:"\f26a"}.icon-internet-explorer:before{content:"\f26b"}.icon-television:before,.icon-tv:before{content:"\f26c"}.icon-contao:before{content:"\f26d"}.icon-500px:before{content:"\f26e"}.icon-amazon:before{content:"\f270"}.icon-calendar-plus-o:before{content:"\f271"}.icon-calendar-minus-o:before{content:"\f272"}.icon-calendar-times-o:before{content:"\f273"}.icon-calendar-check-o:before{content:"\f274"}.icon-industry:before{content:"\f275"}.icon-map-pin:before{content:"\f276"}.icon-map-signs:before{content:"\f277"}.icon-map-o:before{content:"\f278"}.icon-map:before{content:"\f279"}.icon-commenting:before{content:"\f27a"}.icon-commenting-o:before{content:"\f27b"}.icon-houzz:before{content:"\f27c"}.icon-vimeo:before{content:"\f27d"}.icon-black-tie:before{content:"\f27e"}.icon-fonticons:before{content:"\f280"}.icon-reddit-alien:before{content:"\f281"}.icon-edge:before{content:"\f282"}.icon-credit-card-alt:before{content:"\f283"}.icon-codiepie:before{content:"\f284"}.icon-modx:before{content:"\f285"}.icon-fort-awesome:before{content:"\f286"}.icon-usb:before{content:"\f287"}.icon-product-hunt:before{content:"\f288"}.icon-mixcloud:before{content:"\f289"}.icon-scribd:before{content:"\f28a"}.icon-pause-circle:before{content:"\f28b"}.icon-pause-circle-o:before{content:"\f28c"}.icon-stop-circle:before{content:"\f28d"}.icon-stop-circle-o:before{content:"\f28e"}.icon-shopping-bag:before{content:"\f290"}.icon-shopping-basket:before{content:"\f291"}.icon-hashtag:before{content:"\f292"}.icon-bluetooth:before{content:"\f293"}.icon-bluetooth-b:before{content:"\f294"}.icon-percent:before{content:"\f295"}.icon-gitlab:before{content:"\f296"}.icon-wpbeginner:before{content:"\f297"}.icon-wpforms:before{content:"\f298"}.icon-envira:before{content:"\f299"}.icon-universal-access:before{content:"\f29a"}.icon-wheelchair-alt:before{content:"\f29b"}.icon-question-circle-o:before{content:"\f29c"}.icon-blind:before{content:"\f29d"}.icon-audio-description:before{content:"\f29e"}.icon-volume-control-phone:before{content:"\f2a0"}.icon-braille:before{content:"\f2a1"}.icon-assistive-listening-systems:before{content:"\f2a2"}.icon-american-sign-language-interpreting:before,.icon-asl-interpreting:before{content:"\f2a3"}.icon-deaf:before,.icon-deafness:before,.icon-hard-of-hearing:before{content:"\f2a4"}.icon-glide:before{content:"\f2a5"}.icon-glide-g:before{content:"\f2a6"}.icon-sign-language:before,.icon-signing:before{content:"\f2a7"}.icon-low-vision:before{content:"\f2a8"}.icon-viadeo:before{content:"\f2a9"}.icon-viadeo-square:before{content:"\f2aa"}.icon-snapchat:before{content:"\f2ab"}.icon-snapchat-ghost:before{content:"\f2ac"}.icon-snapchat-square:before{content:"\f2ad"}.icon-pied-piper:before{content:"\f2ae"}.icon-first-order:before{content:"\f2b0"}.icon-yoast:before{content:"\f2b1"}.icon-themeisle:before{content:"\f2b2"}.icon-google-plus-circle:before,.icon-google-plus-official:before{content:"\f2b3"}.icon-fa:before,.icon-font-awesome:before{content:"\f2b4"}.icon-handshake-o:before{content:"\f2b5"}.icon-envelope-open:before{content:"\f2b6"}.icon-envelope-open-o:before{content:"\f2b7"}.icon-linode:before{content:"\f2b8"}.icon-address-book:before{content:"\f2b9"}.icon-address-book-o:before{content:"\f2ba"}.icon-address-card:before,.icon-vcard:before{content:"\f2bb"}.icon-address-card-o:before,.icon-vcard-o:before{content:"\f2bc"}.icon-user-circle:before{content:"\f2bd"}.icon-user-circle-o:before{content:"\f2be"}.icon-user-o:before{content:"\f2c0"}.icon-id-badge:before{content:"\f2c1"}.icon-drivers-license:before,.icon-id-card:before{content:"\f2c2"}.icon-drivers-license-o:before,.icon-id-card-o:before{content:"\f2c3"}.icon-quora:before{content:"\f2c4"}.icon-free-code-camp:before{content:"\f2c5"}.icon-telegram:before{content:"\f2c6"}.icon-thermometer-4:before,.icon-thermometer-full:before,.icon-thermometer:before{content:"\f2c7"}.icon-thermometer-3:before,.icon-thermometer-three-quarters:before{content:"\f2c8"}.icon-thermometer-2:before,.icon-thermometer-half:before{content:"\f2c9"}.icon-thermometer-1:before,.icon-thermometer-quarter:before{content:"\f2ca"}.icon-thermometer-0:before,.icon-thermometer-empty:before{content:"\f2cb"}.icon-shower:before{content:"\f2cc"}.icon-bath:before,.icon-bathtub:before,.icon-s15:before{content:"\f2cd"}.icon-podcast:before{content:"\f2ce"}.icon-window-maximize:before{content:"\f2d0"}.icon-window-minimize:before{content:"\f2d1"}.icon-window-restore:before{content:"\f2d2"}.icon-times-rectangle:before,.icon-window-close:before{content:"\f2d3"}.icon-times-rectangle-o:before,.icon-window-close-o:before{content:"\f2d4"}.icon-bandcamp:before{content:"\f2d5"}.icon-grav:before{content:"\f2d6"}.icon-etsy:before{content:"\f2d7"}.icon-imdb:before{content:"\f2d8"}.icon-ravelry:before{content:"\f2d9"}.icon-eercast:before{content:"\f2da"}.icon-microchip:before{content:"\f2db"}.icon-snowflake-o:before{content:"\f2dc"}.icon-superpowers:before{content:"\f2dd"}.icon-wpexplorer:before{content:"\f2de"}.icon-meetup:before{content:"\f2e0"}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-scrollbar{-webkit-appearance:none;width:8px;height:8px}::-webkit-scrollbar-track{background-color:inherit}::-webkit-scrollbar-thumb{background-color:#b6b6b6;border:1px solid #fff;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#9d9d9d}::-webkit-scrollbar-thumb:active{background-color:#838383}::selection{background:#d7dbf0}html{background-color:#f6f6f6;color:#212121;font-size:15px;line-height:1.5;overflow-x:hidden}body{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-overflow-scrolling:touch}body,html{position:relative;min-height:100%;height:100%}.lock{overflow:hidden;max-height:100%}body,button,input,option,select,textarea{font:normal 1em Roboto,"Helvetica Neue",Helvetica,Arial,"Microsoft Yahei",sans-serif}blockquote,body,button,dd,dl,figure,h1,h2,h3,h4,h5,h6,input,p,pre{margin:0}button,input,legend,textarea{padding:0}fieldset,form,td,th{margin:0;padding:0}ol,ul{margin:12px 0;padding:0 0 0 32px}ol.reset,ul.reset{margin:0;padding:0;list-style:none}ol ol,ol ul,ul ol,ul ul{margin-top:0;margin-bottom:0}p{margin:12px 0}small{font-size:75%;line-height:1}main{display:block}template{display:none}img{max-width:100%;border:none}button,img,input,label{vertical-align:middle}i{font-style:normal}h1,h2,h3,h4,h5,h6{font-weight:400}.h1,h1{font-size:44px;line-height:48px}.h2,h2{font-size:34px;line-height:40px}.h3,h3{font-size:24px;line-height:32px}.h4,h4{font-size:20px;line-height:28px}.h5,h5{font-size:16px;line-height:24px}.h6,h6{font-size:12px;line-height:20px}input[type=button],input[type=reset],input[type=search],input[type=submit]{cursor:pointer;-webkit-appearance:button}button:focus,input:focus,select:focus,textarea:focus{outline:0}textarea{resize:none}a{background-color:transparent;background-image:none;color:#3f51b5;text-decoration:none;outline:0}a:hover{color:#303f9f;text-decoration:underline}.hr,hr{border:0;border-top:1px solid #dadada;box-sizing:content-box;display:block;height:0;margin-top:24px;margin-bottom:24px}.fl{float:left}.fr{float:right}.tr{text-align:right}.tc{text-align:center}.clearfix:after{content:"";display:table;clear:both;overflow:hidden}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-column,.flex-row,.flex-row-vertical{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-column{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-row-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-column,.flex-row-wrap{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-row>*{display:block}.flex-col{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flex-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.flex-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.flex-justify-start{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.flex-justify-end{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.flex-justify-between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.flex-align-start{-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.flex-align-end{-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.flex-align-around{-webkit-align-content:space-around;-ms-flex-line-pack:distribute;align-content:space-around}.flex-align-between{-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between}.flex-col-auto{-webkit-box-flex:0;-webkit-flex:0 auto;-ms-flex:0 auto;flex:0 auto}#loading{position:fixed;top:0;left:-100%;z-index:70;width:100%;height:3px;background:#ff4081}#loading.active{-webkit-animation:loading-anim 1s ease-in-out infinite;animation:loading-anim 1s ease-in-out infinite}@-webkit-keyframes loading-anim{to{-webkit-transform:translateX(200%);transform:translateX(200%)}}@keyframes loading-anim{to{-webkit-transform:translateX(200%);transform:translateX(200%)}}.fade,.fade-scale{opacity:0}.fade-scale.in,.fade.in{opacity:1;-webkit-transform:none;transform:none}.fade{-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateY(50px);transform:translateY(50px)}.fade-scale{-webkit-transition:.6s ease-in-out;transition:.6s ease-in-out;-webkit-transform:translate(10%,20%) scale(.6);transform:translate(10%,20%) scale(.6)}@media screen and (max-width:480px){.fade,.fade-scale{opacity:1;-webkit-transform:none;transform:none}}/*! + * Waves v0.7.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;background-color:rgba(0,0,0,0);font-size:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all .3s;transition:all .3s}.waves-float:active{box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block}#main,.container{position:relative}#menu-off{position:absolute;top:0;left:100%;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}#menu{position:fixed;top:0;left:0;bottom:0;z-index:66;width:240px;min-height:100%;background:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.4s cubic-bezier(.18, .81, .3, .89);transition:.4s cubic-bezier(.18, .81, .3, .89);will-change:transform,-webkit-transform}#menu.hide{-webkit-transform:translateX(-100%);transform:translateX(-100%)}#menu.hide #menu-off{-webkit-transform:scale(0);transform:scale(0)}#menu.hide+#main{padding-left:0}#menu .inner{position:relative;height:100%}#menu .brand-wrap{background-size:100% 100%}#menu .brand{padding:40px 20px 2em;background:rgba(63,81,181,.5)}#menu .avatar{display:block;width:80px;height:80px;border:2px solid #fff;border-radius:50%;overflow:hidden;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}#menu .introduce{margin:1em 0 0;color:#fff}#menu .mail{display:inline-block;padding-top:4px;color:#c5cae9;font-size:13px}#menu .scroll-wrap{position:relative;overflow-y:auto}#menu .nav{margin:0;padding:12px 0;height:300px;min-height:calc(100% - 115px);list-style:none;line-height:44px}#menu .nav li{padding:0 20px}#menu .nav li .icon{position:absolute;top:0;left:20px;line-height:inherit}#menu .nav li.active,#menu .nav li:hover{background:rgba(0,0,0,.05)}#menu .nav li.active .icon,#menu .nav li.active a,#menu .nav li:hover .icon,#menu .nav li:hover a{color:#3f51b5}#menu .nav a{display:block;padding-left:48px;height:44px;line-height:44px;font-weight:500;color:#727272;text-decoration:none}#main{padding-left:240px;min-height:100%;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.body-wrap{padding:30px 0 40px;min-height:calc(100vh - 340px)}.container{width:960px;margin:0 auto}.container:after{content:"";display:table;clear:both}.mask{visibility:hidden;position:fixed;top:0;left:0;bottom:0;z-index:88;width:100%;height:100%;background:#000;opacity:0;pointer-events:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.mask.in{visibility:visible;pointer-events:auto;opacity:.3}.footer{color:rgba(255,255,255,.6);background:#303f9f}.footer p{margin:0;line-height:1.6;font-size:13px;text-align:center}.footer p span:not(:first-child):before{content:"·";padding:0 .5em}.footer p a{border-bottom:1px dotted rgba(255,255,255,.5)}.footer p a:hover{border-bottom:1px solid rgba(255,255,255,.7)}.footer .top{padding:16px;background:#3f51b5}.footer a{color:inherit;opacity:.8}.footer a:hover{color:#fff;text-decoration:none}.footer .bottom{padding:16px}a[title="站长统计"]{display:none}@media screen and (max-width:1240px){#menu-off{display:none}#menu{z-index:99;box-shadow:none;-webkit-transform:translateX(-100%);transform:translateX(-100%)}#menu.show{-webkit-transform:translateX(0);transform:translateX(0)}#main{padding-left:0}}@media screen and (max-width:1040px){.container{width:100%;padding:20px 16px}}@media screen and (max-width:760px){#main{width:100%;overflow-x:hidden}#menu .brand{padding-top:20px;padding-bottom:1em}#menu .nav{line-height:36px}#menu .nav a{height:36px;line-height:36px}::-webkit-scrollbar{display:none}}.top-header{position:fixed;left:0;top:0;width:100%;color:#fff;height:56px;background:#3f51b5;-webkit-transition:padding-left .6s ease-in-out,background-color .3s cubic-bezier(.4, 0, .2, 1),box-shadow .15s linear;transition:padding-left .6s ease-in-out,background-color .3s cubic-bezier(.4, 0, .2, 1),box-shadow .15s linear;z-index:30}.top-header.fixed{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.top-header.fixed .header-title{visibility:visible}.header-icon{width:56px;height:56px;line-height:56px;text-align:center;color:#fff}.header-icon:hover{color:#fff}.header-title{visibility:hidden;font-weight:400;line-height:56px;font-size:16px;text-align:center;white-space:nowrap}.content-header{min-height:210px;margin-left:-240px;padding:104px 16px 48px 256px;color:#fff;background:#3f51b5;text-shadow:0 1px 1px rgba(0,0,0,.2)}.content-header .subtitle{padding-top:6px;font-weight:300;color:#c5cae9}.content-header .title{font-weight:500}.content-header .article-category-list-link{color:#ff73a3}.post-header .subtitle,.post-header .title{display:none}.categories-header,.tags-header{position:relative;z-index:6;padding-bottom:0!important}@media screen and (max-width:1240px){.header-title{text-align:left}}@media screen and (max-width:760px){.content-header{margin:0;min-height:auto;padding:72px 16px 20px}.content-header .title{font-size:24px;line-height:30px}.content-header .subtitle{font-size:14px;line-height:20px}.post-header .title{display:block;font-size:24px;line-height:1.5}}.highlight-wrap{position:relative;background:#21252b;border-radius:5px;box-shadow:0 10px 30px 0 rgba(0,0,0,.4);padding-top:30px;margin-bottom:20px}.highlight-wrap:before{background:#fc625d;border-radius:50%;box-shadow:20px 0 #fdbc40,40px 0 #35cd4b;content:' ';height:12px;left:12px;margin-top:-20px;position:absolute;width:12px}.highlight-wrap .highlight-wrap .highlight{border-radius:0 0 5px 5px}.highlight-wrap .highlight-wrap .highlight .table-container{border-radius:0 0 5px 5px}.highlight-wrap .highlight,.highlight-wrap pre{background:#1d1f21;color:#c5c8c6;line-height:1.6;margin:0 auto}.highlight-wrap .gutter{padding:0!important}.highlight-wrap code,.highlight-wrap pre{font-family:consolas,Menlo,monospace,"PingFang SC","Microsoft YaHei"}.highlight-wrap code{background:#eee;border-radius:3px;color:#555;padding:2px 4px;overflow-wrap:break-word;word-wrap:break-word}.highlight-wrap .highlight ::selection{background:#373b41}.highlight-wrap .highlight{padding:0!important;margin-left:0!important;margin-right:0!important}.highlight-wrap .highlight pre{border:0;margin:0;padding:10px 0}.highlight-wrap code,.highlight-wrap pre{margin:0!important}.highlight-wrap figure{margin-bottom:0!important}.highlight-wrap .highlight table{border:0;margin:0;width:auto;overflow:auto;display:block}.highlight-wrap tbody,.highlight-wrap thead{display:block}.highlight-wrap .highlight td{border:0;padding:0}.highlight-wrap .highlight figcaption{background:#000;color:#c5c8c6;display:flex;font-size:.875em;justify-content:space-between;line-height:1.2;padding:.5em}.highlight-wrap .highlight figcaption a{color:#c5c8c6}.highlight-wrap .highlight figcaption a:hover{border-bottom-color:#c5c8c6}.highlight-wrap .highlight .gutter{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.highlight-wrap .highlight .gutter pre{background:#000;color:#888f96;padding-left:10px;padding-right:10px;text-align:right}.highlight-wrap .highlight .code pre{background:#1d1f21;padding-left:10px;padding-right:10px;width:100%}.highlight-wrap .gist table{width:auto}.highlight-wrap .gist table td{border:0}.highlight-wrap pre{overflow:auto;padding:10px}.highlight-wrap pre code{background:0 0;color:#c5c8c6;font-size:.875em;padding:0;text-shadow:none}.highlight-wrap pre .deletion{background:maroon}.highlight-wrap pre .addition{background:green}.highlight-wrap pre .meta{color:#f0c674;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.highlight-wrap pre .comment{color:#969896}.highlight-wrap pre .attribute,.highlight-wrap pre .css .class,.highlight-wrap pre .css .id,.highlight-wrap pre .css .pseudo,.highlight-wrap pre .html .doctype,.highlight-wrap pre .name,.highlight-wrap pre .regexp,.highlight-wrap pre .ruby .constant,.highlight-wrap pre .tag,.highlight-wrap pre .variable,.highlight-wrap pre .xml .doctype,.highlight-wrap pre .xml .pi,.highlight-wrap pre .xml .tag .title{color:#c66}.highlight-wrap pre .built_in,.highlight-wrap pre .builtin-name,.highlight-wrap pre .command,.highlight-wrap pre .constant,.highlight-wrap pre .literal,.highlight-wrap pre .number,.highlight-wrap pre .params,.highlight-wrap pre .preprocessor{color:#de935f}.highlight-wrap pre .css .rules .attribute,.highlight-wrap pre .formula,.highlight-wrap pre .header,.highlight-wrap pre .inheritance,.highlight-wrap pre .ruby .class .title,.highlight-wrap pre .ruby .symbol,.highlight-wrap pre .special,.highlight-wrap pre .string,.highlight-wrap pre .symbol,.highlight-wrap pre .value,.highlight-wrap pre .xml .cdata{color:#b5bd68}.highlight-wrap pre .css .hexcolor,.highlight-wrap pre .title{color:#8abeb7}.highlight-wrap pre .coffeescript .title,.highlight-wrap pre .function,.highlight-wrap pre .javascript .title,.highlight-wrap pre .perl .sub,.highlight-wrap pre .python .decorator,.highlight-wrap pre .python .title,.highlight-wrap pre .ruby .function .title,.highlight-wrap pre .ruby .title .keyword{color:#81a2be}.highlight-wrap pre .javascript .function,.highlight-wrap pre .keyword{color:#b294bb}.post-list{padding:0;margin:0 -12px;list-style:none}.post-list-item{padding:0 12px;margin-bottom:30px}.post-title{margin:0 0 16px}.post-title-link{color:#3f51b5;position:relative;display:inline-block}.post-title-link::after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3f51b5;visibility:hidden;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.post-title-link:hover{text-decoration:none}.post-title-link:active::after,.post-title-link:hover::after{visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.post-meta{margin:0 0 10px;line-height:14px;font-size:13px;font-weight:700;color:#727272;overflow:hidden}.post-meta>:not(:first-child):before{content:"·";padding:0 .5em}.article-category-list{position:relative;display:inline;list-style:none;padding:0}.article-category-list *{display:inline}.article-category-list ul{padding-left:0}.article-category-list-child:before{content:"›";padding:0 .3em;font-size:120%}.article-category-list-link{color:#ff4081}.article-category-list-link:hover{color:#ff4081}.article-tag-list{overflow:hidden;margin:0;padding:0;font-size:13px}.article-tag-list-item{display:inline-block;margin:0 8px 8px 0;border-radius:2px}.article-tag-list-item:nth-child(n+1){background:#8bc34a}.article-tag-list-item:nth-child(n+2){background:#673ab7}.article-tag-list-item:nth-child(n+3){background:#ff9800}.article-tag-list-item:nth-child(n+4){background:#f44336}.article-tag-list-item:nth-child(n+5){background:#00abc0}.article-tag-list-item:nth-child(n+6){background:#2196f3}.article-tag-list-link{display:block;padding:0 16px;line-height:28px;color:rgba(255,255,255,.8);-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.article-tag-list-link:hover{color:#fff;box-shadow:0 4px 8px rgba(0,0,0,.26)}.post-more{display:inline-block;padding:0 6px;font-weight:500;color:#3f51b5!important;border:none!important;border-radius:3px}.post-more:active,.post-more:hover{background:#eaecf7}#page-nav{margin:30px 0 0;text-align:center}#page-nav .inner{display:inline-block}#page-nav a,#page-nav span{display:inline-block;line-height:34px;padding:0 1em;margin:0 2px;font-size:14px;color:#727272;border-radius:3px;overflow:hidden;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}#page-nav a:active,#page-nav a:hover{color:#3f51b5;background:#dadada}#page-nav .current{color:#fff;background:#3f51b5}@media screen and (max-width:760px){.post-title{font-size:20px;line-height:24px}.post-more{height:28px;line-height:28px;font-size:13px}.post-list{margin:0 -16px}.post-list-item{padding:0;margin-bottom:16px}}#gotop{position:fixed;right:16px;bottom:30px;z-index:30;width:56px;height:56px;line-height:56px;text-align:center;color:#fff;background:#ff4081;border-radius:50%;opacity:0;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateX(200%);transform:translateX(200%)}#gotop:active,#gotop:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}#gotop.in{opacity:1;-webkit-transform:none;transform:none}@media screen and (max-width:760px){#gotop{width:40px;height:40px;line-height:40px}}.share-icons li{display:inline-block}.share-icons .icon-square:before{display:inline-block;text-align:center;color:transparent;border-radius:.2em}.share-icons a{display:inline-block;border-radius:.2em;color:#fff;text-align:center}.share-icons a.weibo{background:#e6162d}.share-icons a.qq{background:#3d95d5}.share-icons a.weixin{background:#2bad13}.share-icons a.facebook{background:#4862a3}.share-icons a.twitter{background:#55acee}.share-icons a.google{background:#db4437}.global-share{position:fixed;top:56px;right:56px;z-index:96;width:260px;padding:16px 6px;background:#fff;border-radius:3px;visibility:hidden;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;-webkit-transform:scale(0);transform:scale(0);transform-origin:top right;-webkit-transform-origin:top right}.global-share:active,.global-share:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}.global-share.in{visibility:visible;-webkit-transform:none;transform:none}.global-share .share-icons{margin:0 auto}.global-share li{width:80px;text-align:center}.global-share a{position:relative;width:40px;height:40px;line-height:40px;margin-bottom:20px;font-size:1.33333333em}.global-share a:after{position:absolute;bottom:-22px;left:50%;content:attr(data-title);white-space:nowrap;line-height:20px;font-size:12px;color:#3f51b5;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.page-share-fab{display:block;width:42px;height:42px;line-height:42px;color:#3f51b5;background:#eaecf7;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.page-share-fab:active,.page-share-fab:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}.page-share-wrap{position:absolute;right:35px;top:-21px;z-index:2}.page-share-wrap .page-share{visibility:hidden}.page-share{position:absolute;bottom:48px;right:4px;text-align:center;width:34px}.page-share.in{visibility:visible}.page-share.in .share-icons a{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.page-share .share-icons a{width:34px;height:34px;line-height:34px;font-size:1.33333em;border-radius:50%;position:relative;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center bottom;transform-origin:center bottom}.page-share .share-icons a:after,.page-share .share-icons a:before{position:absolute;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.page-share .share-icons a:before{content:attr(data-title);font-size:12px;color:#fff;white-space:nowrap;line-height:24px;padding:0 5px;border-radius:3px;background:rgba(0,0,0,.8)}.page-share .share-icons a:after{content:"";border:6px solid transparent}.page-share .share-icons a:hover:after,.page-share .share-icons a:hover:before{visibility:visible;opacity:1}.page-share .share-icons a:after,.page-share .share-icons a:before{top:50%;-webkit-transform:translate(-100%,-50%);transform:translate(-100%,-50%)}.page-share .share-icons a:before{left:-15px}.page-share .share-icons a:after{left:-3px;border-left-color:rgba(0,0,0,.8)}.page-share .share-icons a:active,.page-share .share-icons a:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}.page-share .share-icons a:before{content:'分享到' attr(data-title)}.page-share .share-icons li{margin-bottom:10px}.wx-share p{margin:0 0 15px}.wx-share img{width:200px}.post-widget{float:right;width:20%;padding-left:30px;min-height:1px}.post-widget+.post-article{float:left;width:80%;padding-right:30px}.post-toc-wrap{position:fixed;overflow-x:hidden;width:20%}.post-toc-wrap.fixed{top:76px;bottom:140px;overflow-y:auto}.post-toc-wrap ol,.post-toc-wrap ul{list-style:none;margin:0}.post-toc-wrap h4{padding:0 0 10px 20px;font-size:15px;font-weight:600;color:#727272}.post-toc-child{padding-left:10px}.post-toc{display:inline-block;padding:0;font-size:13px}.post-toc>.post-toc-item{position:relative}.post-toc-item{font-weight:400;color:#727272}.post-toc-item.active>.post-toc-link{font-weight:600;color:#3f51b5}.post-toc-item.active>.post-toc-link:before{background:rgba(0,0,0,.06)}.post-toc-item.active>.post-toc-link:after{border-left:3px solid #3f51b5}.post-toc-link{position:relative;z-index:2;display:block;padding:3px 20px;line-height:1.5rem;color:inherit;word-break:break-all}.post-toc-link:hover{opacity:.8}.post-toc-link:after,.post-toc-link:before{content:"";position:absolute;z-index:1;top:0;right:0;width:100%;height:100%}.post-toc-shrink{height:0;overflow-y:hidden}.post-toc-expand{height:auto}.post-article .post-content{padding-top:20px}.post-card{margin-top:-150px;min-height:100px;padding:35px;background:#fff;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.post-card .post-meta{margin-top:8px}.post-card-title{font-size:32px}.post-nav{margin-top:30px;padding:16px 0 0}.post-nav .next,.post-nav .prev{width:47%;background:#f5f5f5}.post-nav .next{text-align:right}.post-nav-link{display:block;line-height:2em;font-size:16px;padding:10px 16px}.post-nav-link .title{position:relative;display:inline-block}.post-nav-link .title::after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3f51b5;visibility:hidden;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.post-nav-link .title:hover{text-decoration:none}.post-nav-link .title:active::after,.post-nav-link .title:hover::after{visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.post-nav-link .icon{vertical-align:-9%}.post-nav-link .tips{color:#727272}.post-copyright{margin-bottom:100px;font-size:14px}.post-copyright .content{margin-bottom:1em;padding:20px 30px;word-break:break-all;color:#727272;background:#f1f3fa;border-radius:30px 30px 0}.post-copyright footer{float:right}.post-copyright footer a{position:relative;display:block;overflow:hidden;padding:0 16px 0 42px;height:28px;line-height:28px;color:#727272;background:#f1f3fa;border-radius:14px}.post-copyright footer img{position:absolute;top:0;left:0;width:28px;height:28px;border-radius:50%}.post-footer{position:relative;margin:0 -35px;padding:20px 35px 0;border-top:1px solid #ddd}.post-content{padding-bottom:20px;line-height:1.8}.post-content>.highlight,.post-content>.image-bubble,.post-content>pre{margin-left:-35px;margin-right:-35px}.post-content>.highlight,.post-content>pre{padding:20px 35px}.post-content .image-bubble{margin-top:20px;margin-bottom:20px;text-align:center}.post-content .image-caption{display:inline-block;margin-top:10px;color:#727272}.post-content .headerlink{visibility:hidden;margin-left:-1em;padding-right:5px;color:#c5cae9}.post-content .headerlink:before{content:"#"}.post-content p{word-wrap:break-word}.post-content li a,.post-content p a{color:#ff4081;border-bottom:1px dotted #ffa6c4;word-break:break-all}.post-content li a:active,.post-content li a:hover,.post-content p a:active,.post-content p a:hover{text-decoration:none;border-bottom-style:solid;opacity:.7}.post-content strong{font-weight:600;color:#3f51b5}.post-content strong a{border-color:#ff4081}.post-content em{color:#727272}.post-content h1{font-size:24px}.post-content h2{font-size:22px}.post-content h3{font-size:20px}.post-content h4{font-size:18px}.post-content h5{font-size:16px}.post-content h6{font-size:14px}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5{padding-top:56px;margin-top:-56px}.post-content .video-container,.post-content blockquote,.post-content figure,.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content ol,.post-content p,.post-content pre,.post-content table,.post-content ul{margin-bottom:20px}.post-content .video-container iframe{max-width:100%}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:#3f51b5}.post-content h1:hover .headerlink,.post-content h2:hover .headerlink,.post-content h3:hover .headerlink,.post-content h4:hover .headerlink,.post-content h5:hover .headerlink,.post-content h6:hover .headerlink{visibility:visible}.post-content blockquote p:first-child,.post-content blockquote:first-child,.post-content figure:first-child,.post-content ol:first-child,.post-content p:first-child,.post-content pre:first-child,.post-content table:first-child,.post-content ul:first-child{margin-top:0}.post-content ol,.post-content ul{font-size:14px;line-height:30px}.post-content audio,.post-content video{max-width:100%}.post-content blockquote{position:relative;padding:16px 20px;border-left:4px solid #3f51b5;color:#6e6e6e;background:#f5f5f5;font-size:14px;border-radius:0 2px 2px 0}.post-content blockquote p{margin:0}.post-content blockquote footer{margin-top:10px;text-align:right;font-size:80%}.post-content table{width:100%;border:1px solid #dedede;margin:15px 0;border-collapse:collapse}.post-content table td,.post-content table tr{height:35px}.post-content table thead tr{background:#f8f8f8}.post-content table tbody tr:hover{background:#efefef}.post-content table td,.post-content table th{border:1px solid #dedede;padding:0 10px}.post-content figure table{border:none;width:auto;margin:0}.post-content figure table tbody tr:hover{background:0 0}.post-content figure table tbody td{border:none}.post-content code,.post-content kbd,.post-content pre,.post-content samp{font-family:Consolas,Monaco,courier,monospace}.post-content code,.post-content pre{background:#f5f5f5}.post-content li code,.post-content p code{color:#ff4081;line-height:1;margin:0 4px;font-size:80%;padding:3px 5px;border:1px solid #eee;border-radius:2px;word-wrap:break-word}.post-content pre{margin:24px 0}.post-content pre code{border-radius:0;font-size:inherit;margin:0;padding:0}.comments{padding:40px 0 0}@media screen and (max-width:760px){.post-widget{display:none}.post-article{float:none;width:100%!important;padding-right:0!important}.post-card{position:relative;margin:-20px -16px 0;border-radius:0;padding:16px}.post-card .post-meta{margin-top:-40px;padding:20px 12px;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,.16);border-radius:2px}.post-card-title{display:none}.post-nav{padding:0;margin-left:-16px;margin-right:-16px}.post-nav .next,.post-nav .prev{width:50%;background:#fff;border-bottom:1px solid #dadada;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.post-nav h4{font-size:16px;line-height:1.5}.has-jax{font-size:13px}.MJXc-display{overflow-x:auto;overflow-y:hidden}.comments{margin-left:-16px;margin-right:-16px}}@media screen and (max-width:480px){.has-jax{font-size:10px}.post-content .highlight,.post-content .image-bubble,.post-content>pre{margin-left:-16px;margin-right:-16px}.post-content .highlight,.post-content>pre{padding:16px}}.archive-separator{margin:35px 0 13px;color:#3f51b5;font-size:16px;font-weight:700}.archive-separator:first-child{margin-top:10px}.article-card{padding:16px 20px 0;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,.58)}.article-card .post-content{word-break:break-all}.article-card .post-content .highlight,.article-card .post-content>pre{margin-left:-20px;margin-right:-20px;padding:20px}.article-card .post-time{line-height:24px;font-weight:700}.article-card .post-footer{margin:0 -20px;padding:12px 20px 8px}.archive-article .post-title{font-size:18px;margin-bottom:0;padding-bottom:16px}.waterfall{position:relative;margin:0 -10px -20px;opacity:0;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateY(50px);transform:translateY(50px)}.waterfall.in{opacity:1;-webkit-transform:none;transform:none}.waterfall-item{position:absolute;width:50%;padding:0 10px 20px}@media screen and (max-width:760px){.archive-article{display:block;margin:0 -16px;padding:16px 16px 8px;border-bottom:1px solid #dadada}.archive-article .post-footer{border-top:none;padding-top:0;padding-bottom:0}.article-card{border-radius:0}.archive-separator{margin-top:16px}.waterfall{margin:0;height:auto!important;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.waterfall-item{position:static;width:100%;padding:0}}@media screen and (max-width:420px){.archive-article{padding:16px 16px 0}}.page-header{text-align:center}.page-article .card{padding:20px;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,.58)}.page-article .card>:last-child{margin-bottom:0}.page-article .card>:first-child{padding-top:0;margin-top:0}.page-article .card,.page-article .column,.page-article .timeline{margin-bottom:20px}.page-content{margin-bottom:30px;border-bottom:2px solid #dadada}.page-content img,.page-content>blockquote,.page-content>figure,.page-content>pre{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,.58)}.page-content img{width:100%;padding:0;margin:0;border:none}.page-content figure,.page-content pre{margin-left:0!important;margin-right:0!important}.page-content figure{padding:20px!important}.page-content>figure,.page-content>pre{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5{text-align:center}.page-content .headerlink{display:none}.page-content .column-2,.page-content .column-3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.page-content .column-2>*{width:48%}.page-content .column-3>*{width:31%}.page-content .timeline{position:relative;text-align:center}.page-content .timeline:before{content:'';position:absolute;top:0;left:50%;z-index:1;width:4px;height:100%;margin-left:-2px;background:#dadada}.page-content .timeline h5{position:relative;z-index:2;display:inline-block;margin-bottom:15px;padding:.5em 2em;color:#fff;background:#3f51b5;border-radius:3px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.page-content .timeline .item{position:relative;z-index:2;margin-bottom:30px;padding:15px 0;text-align:left}.page-content .timeline .item>p{display:inline-block;width:45%;margin:0;padding:10px 15px;text-align:center;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,.58)}.page-content .timeline .item>h6{position:absolute;top:50%;padding:3px 8px;color:#fff;background:#ff4081;border-radius:3px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.page-content .timeline .item:nth-child(odd){text-align:right}.page-content .timeline .item:nth-child(odd)>h6{right:50%;margin-right:30px}.page-content .timeline .item:nth-child(even)>h6{left:50%;margin-left:30px}.page-content .timeline .item:after{content:'';position:absolute;top:50%;left:50%;border:4px solid #ff4081;outline:2px solid #f6f6f6;border-radius:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.page-about-me{position:relative;padding:30px 35px!important}.page-about-me .avatar{margin-right:35px;width:100px;height:100px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.page-about-me .avatar img{border-radius:50%}.page-about-me .content{color:#444}.page-about-me .content p{margin-top:0}@media screen and (max-width:480px){.page-content{margin-left:-16px;margin-right:-16px}.page-content .column{display:block}.page-about-me{padding:15px 20px!important}.page-about-me .avatar{margin-right:20px;width:60px;height:60px}}.page-modal{display:none;position:fixed;top:24%;left:50%;z-index:120;padding:30px;text-align:center;color:#727272;background:#fff;border-radius:4px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);opacity:0;-webkit-transform:translate(-50%,-200%);transform:translate(-50%,-200%)}.page-modal.ready{visibility:hidden;display:block;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.page-modal.in{visibility:visible;opacity:1;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.page-modal .close{position:absolute;right:15px;top:15px;color:rgba(0,0,0,.2);font-size:16px;line-height:20px}.page-modal .close:active,.page-modal .close:hover{color:rgba(0,0,0,.4)}.tabs-bar{position:relative;padding:0;margin-top:14px;overflow:hidden;background:#3f51b5}.tabs-bar.expand{overflow:visible;text-shadow:none}.tabs-bar.expand .tags-list{position:absolute;top:0;left:0;display:block;padding:16px;white-space:normal;background:#fff;border-radius:4px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.tabs-bar.expand .tags-list .tags-list-item{padding:6px 1em;margin-bottom:6px;color:#727272}.tabs-bar.expand .tags-list .tags-list-item:hover{opacity:.7;text-decoration:underline}.tabs-bar.expand .tags-list .tags-list-item:after{display:none}.tabs-bar.expand .tags-list .tags-list-item.active{color:#fff;background:#ff4081;border-radius:.2em}.tags-list{position:relative;z-index:1;width:100%;overflow-x:hidden;overflow-y:hidden;margin:0 auto;list-style:none;padding:0;white-space:nowrap;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tags-list-item{position:relative;-webkit-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none;padding:12px 1em;line-height:20px;color:rgba(255,255,255,.8);border-radius:.2em .2em 0 0}.tags-list-item:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px}.tags-list-item.active{color:#fff}.tags-list-item.active:after{background:#ff4081}.tags-list-item:active,.tags-list-item:hover{color:#fff;text-decoration:none}.tags-list-more{position:absolute;right:0;bottom:0;z-index:2;height:44px;padding-left:1em;background:#3f51b5!important}.tags-list-more .action{width:44px;height:44px;line-height:20px;border-radius:50%;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}@media screen and (max-width:760px){.tabs-bar{margin-left:-16px;margin-right:-16px;padding:0 0 0 16px;width:auto}.tags-list{overflow-x:auto}.tags-list::-webkit-scrollbar{display:none}.tags-list-more{display:none}}.search-wrap{position:relative;min-width:56px}.search-wrap.in .search-input{width:320px;opacity:1}.search-wrap.in #search{color:#c5cae9}.search-wrap .search-input{position:relative;z-index:2;width:0;height:36px;margin:10px 10px 0 0;border:none;background:0 0;color:#fff;border-bottom:2px solid #fff;border-radius:0;opacity:0;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.search-wrap .search-input::-webkit-input-placeholder{color:#c5cae9}.search-wrap .header-icon{position:absolute;top:0;z-index:3}.search-wrap #search{right:0}.search-wrap #back{display:none;left:0}.search-panel{position:fixed;top:50px;right:65px;z-index:36;width:400px;max-height:70%;overflow-y:auto;background:#fff;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);opacity:0;visibility:hidden;-webkit-transform:translateY(-50%) scale(.5);transform:translateY(-50%) scale(.5);-webkit-transition:.3s ease-in;transition:.3s ease-in}.search-panel.in{opacity:1;visibility:visible;-webkit-transform:none;transform:none}.search-result{margin:0;padding:0}.search-result .item{line-height:1.6em;border-top:1px solid #dadada}.search-result .item:first-child{border-top:none}.search-result .item a{padding:10px 20px}.search-result .title{color:#3f51b5}.search-result .title:hover{color:#c5cae9}.search-result .tags span,.search-result .time{font-size:13px;color:#727272}.search-result .tags{margin-right:1em}.search-result .tags span{margin-right:.5em}.search-result .time{padding-left:1em}.search-result .tips{padding:30px 0;text-align:center;color:#727272}.lock-size{position:absolute;width:100%;height:100%;max-height:100%;overflow:hidden}@media screen and (max-width:760px){.search-wrap.in{position:absolute;top:0;right:0;z-index:10;width:100%;padding:0 16px 0 56px;background:#3f51b5}.search-wrap.in .search-input{width:100%}.search-wrap.in #back{display:block}.search-panel{z-index:28;top:56px;right:0;width:100%;height:calc(100vh - 56px);max-height:calc(100vh - 56px);border-radius:0;box-shadow:none}}.page-reward{margin:60px 0;text-align:center}.page-reward-btn{width:56px;height:56px;line-height:56px;font-size:20px;color:#fff;background:#f44336;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.page-reward-btn:active,.page-reward-btn:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}.page-reward-btn:active,.page-reward-btn:hover{color:#fff;text-decoration:none}.reward-title{position:relative;padding:10px 30px}.reward-title .icon-quote-left,.reward-title .icon-quote-right{position:absolute;font-size:80%;color:#999}.reward-title .icon-quote-left{top:0;left:0}.reward-title .icon-quote-right{bottom:0;right:0}.reward-lay{max-width:100%;width:360px}.reward-content{margin:20px 0}.reward-code{width:200px;margin:0 auto}.reward-toggle{position:relative;display:block;width:120px;overflow:hidden;margin:40px auto 0;border-radius:3px;cursor:pointer;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.reward-toggle:active,.reward-toggle:hover{box-shadow:0 6px 12px rgba(0,0,0,.2),0 4px 15px rgba(0,0,0,.2)}.reward-toggle-check{position:absolute;visibility:hidden}.reward-toggle-check:checked+.reward-toggle-ctrol{-webkit-transform:translate3d(-60px,0,0);transform:translate3d(-60px,0,0)}.reward-toggle-ctrol{display:flex;width:180px;height:30px;line-height:30px;background:#eee;border-radius:3px;overflow:hidden;user-select:none;-webkit-transition:.1s ease-in-out;transition:.1s ease-in-out}.reward-toggle-item,.reward-toggle-label{flex:0 0 auto;width:60px;height:100%}.reward-toggle-item{position:relative;z-index:2;height:100%;text-align:center;color:#fff;font-size:12px;box-shadow:inset 0 0 15px rgba(0,0,0,.3)}.reward-toggle .alipay{background:#1e88e5}.reward-toggle .wechat{background:#4caf50}@media screen and (max-width:760px){.reward-title{font-size:18px}}@media screen and (max-width:480px){.reward-lay{border-radius:0}.reward-content{margin:0}.reward-toggle{margin:20px auto 0}}.img-lightbox{text-align:center}.img-lightbox.ready{position:relative;top:0;left:0}.img-lightbox.ready img{position:absolute;z-index:890}.img-lightbox.ready img.zoom-in{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.ready .overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:888;background:#2f2d2d;opacity:0;will-change:opacity;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.ready .overlay-title{position:fixed;left:0;right:0;bottom:0;z-index:900;height:40px;line-height:40px;color:#fff;opacity:0;-webkit-transform:translate3d(0,30px,0);transform:translate3d(0,30px,0);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.active img{cursor:-webkit-zoom-out;cursor:zoom-out}.img-lightbox.active .overlay,.img-lightbox.active .overlay-title{opacity:1}.img-lightbox.active .overlay-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.img-lightbox img{display:inline;margin:0;cursor:-webkit-zoom-in;cursor:zoom-in}.img-lightbox img:hover{will-change:left,top,width,height}#comments.vcomment{margin-top:40px;padding:30px;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.2);border-radius:4px}#comments.vcomment .vheader .vinput:focus{border-bottom:1px solid #ff4081}#comments.vcomment .vsubmit:active,#comments.vcomment .vsubmit:hover{color:#fff;background:#3f51b5;border-color:#3f51b5;box-shadow:0 2px 8px rgba(0,0,0,.4)}#comments.vcomment .vlist .vsys{padding:.2rem .4rem;line-height:1;color:#fff}#comments.vcomment .vlist .vsys:nth-child(n+2){background:#8bc34a}#comments.vcomment .vlist .vsys:nth-child(n+3){background:#ff9800}#comments.vcomment .vlist .vsys:nth-child(n+4){background:#f44336}#comments.vcomment .vlist .vsys:nth-child(n+5){background:#00abc0}#comments.vcomment .vlist .vsys:nth-child(n+6){background:#2196f3}#comments.vcomment .vlist .vname:hover,#comments.vcomment .vlist a:hover{color:#ff4081}#comments.vcomment .vlist .vat{color:#ff4081}#comments.vcomment .vcard section{border-bottom:1px solid #dadada} \ No newline at end of file diff --git "a/css\345\256\236\347\216\260table\350\241\250\345\244\264\345\222\214\345\210\227\345\233\272\345\256\232.html" "b/css\345\256\236\347\216\260table\350\241\250\345\244\264\345\222\214\345\210\227\345\233\272\345\256\232.html" new file mode 100644 index 000000000..e1c6815d0 --- /dev/null +++ "b/css\345\256\236\347\216\260table\350\241\250\345\244\264\345\222\214\345\210\227\345\233\272\345\256\232.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + css粘性定位实现table表头和列固定 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + +
          + +
          +

          css粘性定位实现table表头和列固定

          +
          + + + + + +
          +
          + + + + +
          + + +
          + + + + +
          + +
          +

          css粘性定位实现table表头和列固定

          + +
          +

          css实现table表头和列固定

          需求分析:实现table表头和固定列定位,滚动位置不变,这里采用positons: sticky粘性定位来实现。

          样式代码具体结构去看demo

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          #table {
          width: 300px;
          height: 300px;
          overflow: auto;
          border: 1px solid;
          }
          #table div {
          width: 50px;
          height: 50px;
          text-align: center;
          }
          #table thead div{
          background: red
          }

          #table tbody td:first-child div {
          background: yellow;
          }

          #table thead th {
          position: sticky;
          top: 0;
          }

          #table thead th {
          position: sticky;
          top: 0;
          z-index: 2
          }
          #table tbody td:first-child,#table thead th:first-child {
          position: sticky;
          left: 0;
          }

          #table thead th:first-child {
          z-index: 3
          }

          直接设置position: sticky; left和top就可以实现了,注意,一个sticky元素会“固定”在离它最近的一个拥有“滚动机制”的祖先上(当该祖先的overflow 是 hidden, scroll, auto, 或 overlay时),即便这个祖先不是最近的真实可滚动祖先。

          demo

          参考

          https://developer.mozilla.org/zh-CN/docs/Web/CSS/position

          +
          + +
          + + + + +
          + + + + + +
          + + + + + + + + + + + + + + + + + + + +
          + + + + + + + + + + + +
          + + + +
          + + + +
          +
          + + + + + + + +
          + +

          扫一扫,分享到微信

          + 微信分享二维码 +
          + + + + + + + + + + +
          +
            +
            + + + + + + + + + + + + + + + + + diff --git "a/css\345\256\236\347\216\260\345\205\203\347\264\240\345\236\202\347\233\264\345\261\205\344\270\255-\345\214\205\346\213\254\346\234\252\347\237\245\345\256\275\351\253\230\347\232\204\345\205\203\347\264\240.html" "b/css\345\256\236\347\216\260\345\205\203\347\264\240\345\236\202\347\233\264\345\261\205\344\270\255-\345\214\205\346\213\254\346\234\252\347\237\245\345\256\275\351\253\230\347\232\204\345\205\203\347\264\240.html" new file mode 100644 index 000000000..c755e5390 --- /dev/null +++ "b/css\345\256\236\347\216\260\345\205\203\347\264\240\345\236\202\347\233\264\345\261\205\344\270\255-\345\214\205\346\213\254\346\234\252\347\237\245\345\256\275\351\253\230\347\232\204\345\205\203\347\264\240.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + css实现元素垂直水平居中-包括未知宽高的元素 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            + + + +
            + +
            + +
            +

            css实现元素垂直水平居中-包括未知宽高的元素

            +
            + + + + + +
            +
            + + + + +
            + + +
            + + + + +
            + +
            +

            css实现元素垂直水平居中-包括未知宽高的元素

            + +
            +

            css实现元素垂直水平居中-包括未知宽高的元素

            这个一道很经典的面试题,做项目中也常会出现这样的需求。
            现在我就用几种比较常用的方法。兼容性也列出来。

            第一种已知宽高(定位加负边距解决)兼容到IE6

            1
            2
            3
            4
            5
            6
            7
            8
            9
            position: absolute;
            z-index: 8;
            left: 50%;
            top: 50%;
            width: 200px;
            height: 200px;
            margin-left: -100px;
            margin-top: -100px;
            background: red;

            demo地址 JSBin

            第二种未知宽高 (定位加margin解决) 兼容到IE8 移动端推荐使用

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            position: absolute;
            z-index: 8;
            left: 0;
            top: 0;
            bottom: 0;
            right: 0;
            width: 200px;
            height: 200px;
            margin: auto;
            background: red;

            如果改变宽度和高度还是垂直水平居中的。
            demo地址 JSBin

            第三种未知宽高 (定位加transform解决) 兼容到IE9 移动端推荐使用

            1
            2
            3
            4
            5
            6
            7
            8
            position: absolute;
            z-index: 8;
            left: 50%;
            top: 50%;
            width: 200px;
            height: 200px;
            transform: translate(-50%, -50%);
            background: red;

            如果改变宽度和高度还是垂直水平居中的。
            demo地址 JSBin

            第四种未知宽高 (弹性盒子模型解决) 兼容到IE10

            1
            2
            3
            4
            display: flex;
            display: -webkit-flex;
            align-items:center;
            justify-content: center;

            如果改变宽度和高度还是垂直水平居中的。
            demo地址 JSBin

            第五种未知宽高 (table特性解决的) 兼容到IE6 PC端推荐使用

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            #box{
            width: 100px;
            height:100px;
            text-align:center;
            font-size:0;
            background: red
            }
            #box:after,#box span{
            display:inline-block;
            *display:inline;
            *zoom:1;
            width:0;
            height:100%;
            vertical-align:middle;
            }
            #box:after{
            content:'';
            }
            #box p{
            display:inline-block;
            *display:inline;
            *zoom:1;
            vertical-align:middle;
            font-size:16px;
            }

            demo地址 JSBin

            参考

            http://demo.doyoe.com/css/alignment/

            +
            + +
            + + + + +
            + + + + + +
            + + + + + + + + + + + + + + + + + + + +
            + + + + + + + + + + + +
            + + + +
            + + + +
            +
            + + + + + + + +
            + +

            扫一扫,分享到微信

            + 微信分享二维码 +
            + + + + + + + + + + +
            +
              +
              + + + + + + + + + + + + + + + + + diff --git "a/css\345\256\236\347\216\260\345\215\225\350\241\214\343\200\201\345\244\232\350\241\214\346\226\207\346\234\254\346\272\242\345\207\272\346\230\276\347\244\272\347\234\201\347\225\245\345\217\267.html" "b/css\345\256\236\347\216\260\345\215\225\350\241\214\343\200\201\345\244\232\350\241\214\346\226\207\346\234\254\346\272\242\345\207\272\346\230\276\347\244\272\347\234\201\347\225\245\345\217\267.html" new file mode 100644 index 000000000..d37f003b4 --- /dev/null +++ "b/css\345\256\236\347\216\260\345\215\225\350\241\214\343\200\201\345\244\232\350\241\214\346\226\207\346\234\254\346\272\242\345\207\272\346\230\276\347\244\272\347\234\201\347\225\245\345\217\267.html" @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + + + + + + + css实现单行、多行文本溢出显示省略号 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              + + + +
              + +
              + +
              +

              css实现单行、多行文本溢出显示省略号

              +
              + + + + + +
              +
              + + + + +
              + + +
              + + + + +
              + +
              +

              css实现单行、多行文本溢出显示省略号

              + +
              +

              css实现单行文本溢出显示省略号

              1
              2
              3
              white-space: nowrap;  		// 规定段落中的文本不进行换行
              overflow: hidden; // 溢出隐藏
              text-overflow: ellipsis; // 文本溢出显示省略号

              css实现多行文本溢出显示省略号

              1
              2
              3
              4
              5
              display: -webkit-box; 		// 设置弹性盒子模型
              overflow : hidden; // 溢出隐藏
              text-overflow: ellipsis; // 文本溢出显示省略号
              -webkit-line-clamp: 2; // 限制在一个块元素显示的文本的行数
              -webkit-box-orient: vertical; // 属性规定框的子元素应该被水平或垂直排列。

              注:因为用了webkit的私有属性,建议只在移动端使用。

              +
              + +
              + + + + +
              + + + + + +
              + + + + + + + + + + + + + + + + + + + +
              + + + + + + + + + + + +
              + + + +
              + + + +
              +
              + + + + + + + +
              + +

              扫一扫,分享到微信

              + 微信分享二维码 +
              + + + + + + + + + + +
              +
                +
                + + + + + + + + + + + + + + + + + diff --git "a/ejs\346\250\241\346\235\277\345\274\225\346\223\216.html" "b/ejs\346\250\241\346\235\277\345\274\225\346\223\216.html" new file mode 100644 index 000000000..e7a560a98 --- /dev/null +++ "b/ejs\346\250\241\346\235\277\345\274\225\346\223\216.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + EJS模板引擎 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                + + + +
                + +
                + +
                +

                EJS模板引擎

                +
                + + + + + +
                +
                + + + + +
                + + +
                + + + + +
                + +
                +

                EJS模板引擎

                + +
                +

                EJS模板引擎

                模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
                Express默认的模板引擎是Jade,为什么要选择EJS呢,因为它非常简单而且不破坏原有HTML代码结构。只需要用JavaScript编写你想要的HTML。

                安装EJS

                1
                npm install ejs

                Express设置EJS模板

                1
                2
                app.set('view engine', 'ejs'); # view engine, 模板引擎
                app.set('views', './views'); # views, 放模板文件的目录

                将值输出到模板(HTML转义)

                1
                2
                3
                4
                5
                // index.ejs
                <%= arr %>

                // Node
                res.render('index', {arr: [1,2,3,4]});

                判断

                1
                2
                3
                <%  if (user) { %>
                <p> <%= user %> </p>
                <% } %>

                循环

                1
                2
                3
                <% for (var i = 0; i < arr.length; i++) { %>
                <li><%= arr[i] %></li>
                <% } %>

                include(不转义)

                1
                <%- include('./common/header.ejs') %>

                EJS标签

                • <% ‘脚本’ 标签,用于流程控制,无输出。
                • <%_ 删除其前面的空格符
                • <%= 输出数据到模板(输出是转义 HTML 标签)
                • <%- 输出非转义的数据到模板
                • <%# 注释标签,不执行、不输出内容
                • <%% 输出字符串 ‘<%’
                • %> 一般结束标签
                • -%> 删除紧随其后的换行符
                • _%> 将结束标签后面的空格符删除
                +
                + +
                + + + + +
                + + + + + +
                + + + + + + + + + + + + + + + + + + + +
                + + + + + + + + + + + +
                + + + +
                + + + +
                +
                + + + + + + + +
                + +

                扫一扫,分享到微信

                + 微信分享二维码 +
                + + + + + + + + + + +
                +
                  +
                  + + + + + + + + + + + + + + + + + diff --git "a/el-date-picker\346\227\245\346\234\237\350\214\203\345\233\264\350\256\276\347\275\256\351\200\211\346\213\251\345\214\272\351\227\264.html" "b/el-date-picker\346\227\245\346\234\237\350\214\203\345\233\264\350\256\276\347\275\256\351\200\211\346\213\251\345\214\272\351\227\264.html" new file mode 100644 index 000000000..a2d4d75f9 --- /dev/null +++ "b/el-date-picker\346\227\245\346\234\237\350\214\203\345\233\264\350\256\276\347\275\256\351\200\211\346\213\251\345\214\272\351\227\264.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + el-date-picker日期范围设置选择区间 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  + + + +
                  + +
                  + +
                  +

                  el-date-picker日期范围设置选择区间

                  +
                  + + + + + +
                  +
                  + + + + +
                  + + +
                  + + + + +
                  + +
                  +

                  el-date-picker日期范围设置选择区间

                  + +
                  +

                  el-date-picker日期范围设置选择区间

                  el-date-picker组件type=”daterange” 选择日期范围的时候需要设置一个区间,官方api没直接提供参数,这个时候需要通过组件Picker Options来实现。

                  代码

                  用到了onPick(选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效) 和 disabledDate(设置禁用状态,参数为当前日期,要求返回 Boolean ), onPick触发就代表选中了第一个日期,根据第一个日期算出来选择范围。disabledDate 根据范围禁用不可选日期。

                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  10
                  11
                  12
                  13
                  14
                  15
                  16
                  17
                  18
                  19
                  20
                  21
                  22
                  23
                  24
                  25
                  26
                  27
                  28
                  29
                  30
                  31
                  32
                  33
                  34
                  data() {
                  return {
                  daterange: {
                  maxTime: "", // 最大日期
                  minTime: "", // 最小日期
                  max: 30, // 限制范围 30天
                  },
                  pickerOptions: {
                  onPick: time => {
                  // 如果没有选择时间
                  if (!time.maxDate) {
                  // 算出时间范围(30天)
                  let timeRange = this.daterange.max * 24 * 60 * 60 * 1000;
                  // 算出最大时间和最小时间
                  this.daterange.minTime = time.minDate.getTime() - timeRange;
                  this.daterange.maxTime = time.minDate.getTime() + timeRange;
                  } else {
                  // 如果选了两个时间,那就清空本次范围判断数据,以备重选
                  this.daterange.maxTime = "";
                  this.daterange.minTime = "";
                  }
                  },
                  disabledDate: time => {
                  // 禁用不可选日期
                  if (this.daterange.minTime && this.daterange.maxTime) {
                  return (
                  time.getTime() < this.daterange.minTime ||
                  time.getTime() > this.daterange.maxTime
                  );
                  }
                  }
                  }
                  }
                  }

                  demo地址

                  +
                  + +
                  + + + + +
                  + + + + + +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + + + + + + + + + +
                  + + + +
                  + + + +
                  +
                  + + + + + + + +
                  + +

                  扫一扫,分享到微信

                  + 微信分享二维码 +
                  + + + + + + + + + + +
                  +
                    +
                    + + + + + + + + + + + + + + + + + diff --git "a/element-ui\351\207\214Table\347\273\204\344\273\266\345\244\232\351\200\211\357\274\214\347\277\273\351\241\265\350\256\260\345\277\206\351\200\211\344\270\255\345\244\215\351\200\211\346\241\206.html" "b/element-ui\351\207\214Table\347\273\204\344\273\266\345\244\232\351\200\211\357\274\214\347\277\273\351\241\265\350\256\260\345\277\206\351\200\211\344\270\255\345\244\215\351\200\211\346\241\206.html" new file mode 100644 index 000000000..06cdfb998 --- /dev/null +++ "b/element-ui\351\207\214Table\347\273\204\344\273\266\345\244\232\351\200\211\357\274\214\347\277\273\351\241\265\350\256\260\345\277\206\351\200\211\344\270\255\345\244\215\351\200\211\346\241\206.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + element-ui里Table组件多选,翻页记忆选中复选框 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    + + + +
                    + +
                    + +
                    +

                    element-ui里Table组件多选,翻页记忆选中复选框

                    +
                    + + + + + +
                    +
                    + + + + +
                    + + +
                    + + + + +
                    + +
                    +

                    element-ui里Table组件多选,翻页记忆选中复选框

                    + +
                    +

                    element-ui里Table组件分页记忆选中复选框

                    需求分析:Table组件复选框选中后切换页码重新获取数据之前选中不丢失。

                    使用Table组件里面reserve-selection和row-key来实现需求

                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26
                    27
                    28
                    29
                    30
                    31
                    32
                    33
                    34
                    35
                    36
                    37
                    38
                    39
                    40
                    41
                    42
                    43
                    44
                    45
                    46
                    47
                    48
                    49
                    50
                    51
                    52
                    53
                    54
                    55
                    56
                    57
                    58
                    59
                    60
                    61
                    62
                    63
                    64
                    65
                    66
                    67
                    68
                    69
                    70
                    71
                    72
                    73
                     <template>
                    <el-table
                    ref="multipleTable"
                    :data="tableData3"
                    // 这里设置row-key
                    :row-key="getRowKeys"
                    style="width: 100%"
                    @selection-change="handleSelectionChange">

                    <el-table-column
                    type="selection"
                    // 这里设置reserve-selectiontrue
                    :reserve-selection="true"
                    width="55">

                    </el-table-column>
                    <el-table-column
                    label="日期"
                    width="120">

                    <template slot-scope="scope">{{ scope.row.date }}</template>
                    </el-table-column>
                    <el-table-column
                    prop="name"
                    label="姓名"
                    width="120">

                    </el-table-column>
                    <el-table-column
                    prop="address"
                    label="地址"
                    show-overflow-tooltip>

                    </el-table-column>
                    </el-table>
                    </template>

                    <script>
                    export default {
                    data() {
                    return {
                    tableData3: [{
                    date: '2016-05-03',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-02',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-04',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-01',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-08',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-06',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }, {
                    date: '2016-05-07',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                    }]
                    },
                    // 返回id设置row-key
                    getRowKeys(row) {
                    return row.id;
                    },
                    }
                    }
                    </script>

                    在使用 reserve-selection 功能的情况下 row-key这个属性是必填的。
                    上面的代码就可以实现翻页选中状态不消失,分页的逻辑我就不写了。

                    参考

                    https://element.eleme.io/#/zh-CN/component/table

                    +
                    + +
                    + + + + +
                    + + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    + + + + + + + + + + + +
                    + + + +
                    + + + +
                    +
                    + + + + + + + +
                    + +

                    扫一扫,分享到微信

                    + 微信分享二维码 +
                    + + + + + + + + + + +
                    +
                      +
                      + + + + + + + + + + + + + + + + + diff --git "a/express\347\256\200\345\215\225\345\205\245\345\235\221.html" "b/express\347\256\200\345\215\225\345\205\245\345\235\221.html" new file mode 100644 index 000000000..b17c89bd7 --- /dev/null +++ "b/express\347\256\200\345\215\225\345\205\245\345\235\221.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + express简单入坑 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      + + + +
                      + +
                      + +
                      +

                      express简单入坑

                      +
                      + + + + + +
                      +
                      + + + + +
                      + + +
                      + + + + +
                      + +
                      +

                      express简单入坑

                      + +
                      +

                      express简单入坑

                      Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。

                      安装

                      1
                      2
                      npm init 
                      npm install express --save

                      创建第一个应用

                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      // app.js
                      const express = require('express');

                      let app = express();

                      app.get('/',(req,res) => {
                      res.send('express');
                      });

                      app.listen(8000);

                      在命令行执行 node app.js 浏览器输入 http://localhost:8000/就可以访问了。

                      路由控制

                      app.get(path, (request, response) => {})

                      根据path处理客户端发过来的GET请求。
                      第一个参数:path请求的路径。
                      第二个参数:回调函数,request(请求),response(响应)

                      1
                      2
                      3
                      4
                      5
                      6
                      app.get('/',(req,res) => {
                      res.send('home');
                      });
                      app.get('/hello',(req,res) => {
                      res.send('hello');
                      });

                      app.post(path, (request, response) => {})

                      根据path处理客户端发过来的POST请求。
                      参数和app.get()方法一样。

                      1
                      2
                      3
                      4
                      5
                      6
                      app.post('/', (req, res) => {
                      res.send('home');
                      });
                      app.post('/hello', (req, res) => {
                      res.send('hello');
                      });

                      app.all(path, (request, response) => {})

                      根据path处理客户端发过来的所有http(GET,POST,PUT,DELETE,HEAD)请求。
                      参数和app.get()方法一样。

                      res.send() 发送各种类型的响应。
                      res.download() 提示下载文件。
                      res.redirect() 重定向请求。
                      res.sendStatus() 设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。

                      静态文件

                      Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。
                      只需要把文件目录作为参数传给express.static,之后就可以访问到静态文件。

                      1
                      app.use(express.static('./public'))

                      注: 所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 URL 中。

                      中间件

                      Express应用就是在调用各种中间件完成功能的,如cookie解析、文件上传、静态文件等。
                      中间件(Middleware) 是一个函数。它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。
                      如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。

                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      app.use((req, res, next) => {
                      console.log('aaa');
                      next();
                      })

                      app.use((req, res, next) => {
                      console.log('bbb');
                      next()
                      })

                      app.use((req, res, next) => {
                      console.log('ccc');
                      })

                      可以看到next 的作用,把控制器交给下一个中间件。
                      可以利用中间件特性来处理登陆用户。

                      1. 检查数据是否合法。
                      2. 检查数据是否存在。
                      3. 检查数据密码是否正确。
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        17
                        18
                        19
                        20
                        21
                        22
                        23
                        app.get('/login', (req, res, next) => {
                        if(合法){
                        next()
                        }else{
                        res.send('用户名不合法')
                        }
                        })

                        app.get('/login', (req, res, next) => {
                        if(存在){
                        next()
                        }else{
                        res.send('用户名不存在')
                        }
                        })

                        app.get('/login', (req, res, next) => {
                        if(密码正确){
                        res.send('登陆成功')
                        }else{
                        res.send('密码不正确')
                        }
                        })

                      中间件的大概用法就是这样。

                      模板引擎

                      先安装ejs模板
                      npm install ejs -S

                      1
                      2
                      app.set('view engine', 'ejs'); # view engine, 模板引擎
                      app.set('views', './views'); # views, 放模板文件的目录

                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      // index.js
                      const express = require('express');
                      const ejs = require('ejs');

                      let app = express();

                      app.set('view engine', 'ejs');
                      app.set('views', './views');

                      app.get('/', (req, res) => {
                      res.render('index',{title: 'hello'});
                      });

                      app.listen(8000);
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      // index.ejs
                      <!DOCTYPE html>
                      <html lang="en">
                      <head>
                      <meta charset="UTF-8">
                      <meta name="viewport" content="width=device-width, initial-scale=1.0">
                      <meta http-equiv="X-UA-Compatible" content="ie=edge">
                      <title>Document</title>
                      </head>
                      <body>
                      <%= title %>
                      </body>
                      </html>

                      在命令行里执行node index.js,就可以看到模板了。

                      +
                      + +
                      + + + + +
                      + + + + + +
                      + + + + + + + + + + + + + + + + + + + +
                      + + + + + + + + + + + +
                      + + + +
                      + + + +
                      +
                      + + + + + + + +
                      + +

                      扫一扫,分享到微信

                      + 微信分享二维码 +
                      + + + + + + + + + + +
                      +
                        +
                        + + + + + + + + + + + + + + + + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d868a7fcb498f9e0af80fc969041a80ef1a93881 GIT binary patch literal 1150 zcmb7EOK1~O6rFywDu_iyH-c_NS0Z%dQbZ9~x)KzM?(E8iMd?m7;G&4dVrdOcjfJ*| zpW4#WMeQf_Lx@__ruocFGLvNTndziW(zN;YbA0c$6KJdp?{MFJ@4kD^z4vh$j;kPF zZ7oOEvs^FtKbLjV>#~MCu+wf*l%5C^|e)oH8>1we|3yuX|h}{2VM+dQc}>| zWQMo(a0x?uG%(c4?T7IB$!R!k-3W!kh{fVWV|!{A=525eKZ7{@5W;l(9(?zsb6D)X z!Q!*oEVj0`5Ra?7Jn>RZx~^k&HA8YJC4AUi4d?3`NDeEDn|Cf?ZqCU#DBZPprR-dX6ZsXcwS^@U5mjr)X4ICKGY!;46&YNQXl1@ zl1`^d-6>=;YoKpK#kiyU@ch?OFYb@Gz;Q7-L+`ZyJB9UM?QS@VMY?92+x&dc4_^THhc?-GY z0Me->nVmfP`v);KH4B%^jYuTQ;$|j>;PZO+V2wjy<}D(fHDpGw!#~=Dh0zvvRV)@U z*LMfMJL}+^-g#pKQ*L#|1#z$*!n@-TtmomMFu`uQ2I0$XsM3$}@PD2+H#ecFQK-=n On}z)X%l`-ed;SBYQD-aw literal 0 HcmV?d00001 diff --git "a/for-in-\345\222\214-for-of-\345\214\272\345\210\253.html" "b/for-in-\345\222\214-for-of-\345\214\272\345\210\253.html" new file mode 100644 index 000000000..299b7040b --- /dev/null +++ "b/for-in-\345\222\214-for-of-\345\214\272\345\210\253.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + for in 和 for of 区别 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                        + + + +
                        + +
                        + +
                        +

                        for in 和 for of 区别

                        +
                        + + + + + +
                        +
                        + + + + +
                        + + +
                        + + + + +
                        + +
                        +

                        for in 和 for of 区别

                        + +
                        +

                        for in 和 for of 区别

                        for…in 和 for…of 是 JavaScript 中的两种不同的循环语法,用于遍历对象和数组的元素。

                        for…in 循环

                        for…in 语句以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性
                        for…in 循环不推荐用于遍历数组,因为它可能会遍历数组的所有属性,包括数组原型链上的属性,从而导致不可预料的结果。

                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        Object.prototype.a = '123'
                        const obj = { name: 'lanpz', age: 60, sex: '男' };
                        for (let key in obj) {
                        console.log(key + ': ' + obj[key]);
                        }

                        // 输出
                        // "name: lanpz"
                        // "age: 60"
                        // "sex: 男"
                        // "a: 123"

                        for…of 循环

                        for…of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray等)上创建一个迭代循环。

                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        const arr = [1, 2, 3];
                        Array.prototype.arrCustom = 5
                        for (let value of arr) {
                        if (value == 2) {
                        continue
                        }
                        console.log(value);
                        }

                        // 输出
                        // 1
                        // 3

                        for in 和 for of 区别

                        • for in 不仅会遍历当前对象,还包括原型链上的可枚举属性。可能需要通过 hasOwnProperty() 方法来检查是否为对象自身的属性,以避免遍历到原型链上的属性。
                        • for of 可以使用break,continue,return终止循环、for in 不支持。
                        • for of 按顺序遍历,for…in 循环不保证遍历对象属性的顺序。
                        +
                        + +
                        + + + + +
                        + + + + + +
                        + + + + + + + + + + + + + + + + + + + +
                        + + + + + + + + + + + +
                        + + + +
                        + + + +
                        +
                        + + + + + + + +
                        + +

                        扫一扫,分享到微信

                        + 微信分享二维码 +
                        + + + + + + + + + + +
                        +
                          +
                          + + + + + + + + + + + + + + + + + diff --git "a/fs\346\250\241\345\235\227.html" "b/fs\346\250\241\345\235\227.html" new file mode 100644 index 000000000..400905338 --- /dev/null +++ "b/fs\346\250\241\345\235\227.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + fs模块 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          + + + +
                          + +
                          + +
                          +

                          fs模块

                          +
                          + + + + + +
                          +
                          + + + + +
                          + + +
                          + + + + +
                          + +
                          +

                          fs模块

                          + +
                          +

                          fs模块

                          fs模块是Node.js提供来操作本地文件(读、写、复制、删除…)等功能的模块。
                          所有的方法都有异步和同步的形式。
                          异步方法最后一个参数都是一个回调函数,回调函数的第一个参数是异常。 如果操作成功完成,则第一个参数会是 null 或 undefined。
                          当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常,或让异常向上冒泡。

                          读取文件

                          同步方法 readFileSync()

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          let fs = require('fs');

                          try{
                          let buf = fs.readFileSync('./hello.txt', { encoding: 'utf-8' });
                          console.log(buf); # 输出: 入坑了..
                          }catch(err){
                          console.log('读取失败了: ' + err.message)
                          }

                          readFileSync方法的第一个参数是文件路径可以是(string|Buffer|URL|integer)类型,第二个参数可以是一个表示配置的对象。默认的配置对象是{ encoding: null, flag: ‘r’ },encoding:文件编码默认为null,flag:读取模式默认为r(只读)。如果第二个参数不指定编码(encoding),readFileSync方法返回原始的 buffer。

                          异步方法 readFile()

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          let fs = require('fs');
                          fs.readFile('./hello.txt', { encoding: 'utf-8' }, (err,data) => {
                          if (err){
                          throw err;
                          }
                          console.log(data); # 输出: 入坑了..
                          });

                          和readFileSync方法参数一样,只多了一个回调函数。
                          回调有两个参数 (err, data),其中 data 是文件的内容。

                          写入文件

                          同步方法 writeFileSync()

                          1
                          2
                          3
                          let fs = require('fs');

                          fs.writeFileSync('./1.txt','node入坑指南...',{encoding: 'utf8'})

                          第一个参数是路径
                          第二的参数是写入的数据
                          第三个参数是一个可配置的对象{encoding:utf8, mode: 0o666, flag: ‘w’}

                          • encoding: 文件编码默认为utf8
                          • mode: 设置文件模式(权限),文件创建默认权限为 0o666(可读,可写)。
                          • flag: 文件打开模式默认为w(写入)

                          如果 options 是一个字符串,则它指定了字符编码。例如:

                          1
                          fs.writeFileSync('./1.txt', '111...', 'utf8')

                          异步方法 writeFile()

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          let fs = require('fs');

                          fs.writeFile('./2.txt','蓝胖纸',(err) => {
                          if(err){
                          throw err;
                          }
                          console.log('写入成功');
                          })

                          异步地写入数据到文件,如果文件已经存在,则替代文件。 data 可以是一个字符串或一个 buffer。
                          如果 data 是一个 buffer,则忽略 encoding 选项。它默认为 ‘utf8’。
                          和writeFileSync方法参数一样,只多了一个回调函数。

                          创建目录

                          同步方法 mkdirSync()

                          1
                          fs.mkdirSync('./hello',0o777);

                          在当前目录下面创建一个hello的文件夹。
                          第一个参数是路径。
                          第二个参数是设置文件模式(权限),默认为0o777。

                          异步方法 mkdir()

                          1
                          2
                          3
                          fs.mkdir('./lanpangzhi', 0o777, function (err) {
                          if (err) throw err;
                          });

                          和mkdirSync方法参数一样,只多了一个回调函数。
                          注: 所有的异步方法最后一个参数都是回调函数,回调函数的第一个参数都是异常。

                          读取目录

                          同步方法 readdirSync()

                          1
                          2
                          let a = fs.readdirSync(process.cwd())
                          console.log(a)

                          输出当前工作目录下的文件数组列表。
                          第一个参数是路径。
                          第二个参数是设置编码。

                          异步方法 readdir()

                          1
                          2
                          3
                          4
                          5
                          6
                          fs.readdir(process.cwd(),(err, files) => {
                          if (err){
                          throw err;
                          }
                          console.log(files)
                          })

                          和readdirSync方法参数一样,只多了一个回调函数。
                          回调函数有两个参数,第二个参数是文件数组列表。

                          查看文件信息

                          同步方法 statSync()

                          1
                          2
                          let stats = fs.statSync('./a.js');
                          console.log(stats)

                          接受一个路径参数,返回一个 fs.Stats 实例。

                          fs.Stats 实例的方法

                          方法描述
                          stats.isFile()如果是文件返回 true,否则返回 false。
                          stats.isDirectory()如果是目录返回 true,否则返回 false。
                          stats.isBlockDevice()如果是块设备返回 true,否则返回 false。
                          stats.isCharacterDevice()如果是字符设备返回 true,否则返回 false。
                          stats.isSymbolicLink()如果是软链接返回 true,否则返回 false。
                          stats.isFIFO()如果是FIFO,返回true,否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。
                          stats.isSocket()如果是 Socket 返回 true,否则返回 false。

                          Stat 时间值

                          属性描述
                          atime“访问时间” - 文件数据最近被访问的时间。
                          mtime“修改时间” - 文件数据最近被修改的时间。
                          ctime“变化时间” - 文件状态最近更改的时间。
                          birthtime“创建时间” - 文件创建的时间。

                          异步方法 stat()

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          let fs = require('fs');

                          fs.stat('./hello', (err, stats)=>{
                          if(err){
                          throw err;
                          }
                          console.log(stats);
                          });

                          和statSync方法参数一样,只多了一个回调函数。
                          回调函数有两个参数,第二个参数是fs.Stats实例。

                          删除文件

                          同步方法 unlinkSync()

                          1
                          2
                          3
                          let fs = require('fs');

                          fs.unlinkSync('./1.txt');

                          删除当前目录下的1.txt文件,返回undefined。
                          第一个参数是路径。

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          let fs = require('fs');

                          fs.unlink('./2.txt', (err) => {
                          if(err){
                          console.log(err)
                          }
                          })

                          和unlinkSync方法参数一样。

                          参考

                          http://nodejs.cn/api/fs.html
                          http://www.runoob.com/nodejs/nodejs-fs.html

                          +
                          + +
                          + + + + +
                          + + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          + + + + + + + + + + + +
                          + + + +
                          + + + +
                          +
                          + + + + + + + +
                          + +

                          扫一扫,分享到微信

                          + 微信分享二维码 +
                          + + + + + + + + + + +
                          +
                            +
                            + + + + + + + + + + + + + + + + + diff --git "a/global\345\257\271\350\261\241.html" "b/global\345\257\271\350\261\241.html" new file mode 100644 index 000000000..d6c18963e --- /dev/null +++ "b/global\345\257\271\350\261\241.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + global对象 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            + + + +
                            + +
                            + +
                            +

                            global对象

                            +
                            + + + + + +
                            +
                            + + + + +
                            + + +
                            + + + + +
                            + +
                            +

                            global对象

                            + +
                            +

                            global全局对象

                            在Node.js里面有一个叫global的对象,它的属性和方法可以在全局中访问到,即全局变量。
                            在游览器Javascript中全局对象是window,而Node.js中全局对象是global。

                            全局变量在所有模块中均可使用。 但以下变量的作用域只在模块内

                            1
                            2
                            3
                            4
                            5
                            __dirname
                            __filename
                            exports
                            module
                            require()

                            __dirname

                            1
                            console.log(__dirname) # 获取当前模块的文件所在的文件夹名称的绝对路径

                            __filename

                            1
                            console.log(__filename) # 获取当前模块的文件名称-解析后的绝对路径

                            setImmediate(callback[, …args])

                            1
                            2
                            3
                            setImmediate(() => {
                            console.log('坑呀') # 把参数函数放到下一个时间环中执行
                            });

                            clearImmediate(immediate)

                            1
                            2
                            3
                            4
                            let a = setImmediate(() => {
                            console.log('坑呀') # 取消一个由 setImmediate() 创建的 Immediate 对象
                            });
                            clearImmediate(a)

                            process 进程

                            process.cwd()

                            1
                            console.log(process.cwd()) # 方法返回 Node.js 进程当前工作的目录。

                            process.argv

                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            // a.js
                            console.log(process.argv)

                            // 执行
                            node a.js a=1 b=2

                            // 输出
                            [ 'C:\\Program Files\\nodejs\\node.exe',
                            'c:\\Users\\windows\\Desktop\\新建文件夹\\a.js',
                            'a=1',
                            'b=2' ]

                            process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数。第一个元素为process.execPath。如果需要获取argv[0]的值请参见 process.argv0。第二个元素为当前执行的JavaScript文件路径。剩余的元素为其他命令行参数。

                            process.env

                            1
                            console.log(process.env) # 返回一个包含用户环境信息的对象

                            可以修改这个对象

                            1
                            2
                            process.env.foo = 'bar';
                            console.log(process.env.foo); # 输出bar

                            但是不可以用这种方法去修改

                            1
                            node http.js  'process.env.foo = "bar"'

                            用 delete从process.env中删除一个属性

                            1
                            2
                            3
                            process.env.foo = 'bar';
                            delete process.env.foo;
                            console.log(process.env.foo); # 输出 undefined

                            注: 在process.env中新增一个属性,会将属性值转换成字符串、 在Windows系统下,环境变量是不区分大小写的。

                            process.memoryUsage()

                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            console.log(process.memoryUsage()) # 返回Node.js进程的内存使用情况的对象,该对象每个属性值的单位为字节。

                            // 输出
                            { rss: 23588864,
                            heapTotal: 7708672,
                            heapUsed: 4430656,
                            external: 8224 }

                            rss(resident set size):所有内存占用,包括指令区和堆栈。
                            heapTotal:”堆”占用的内存,包括用到的和没用到的。
                            heapUsed:用到的堆的部分。
                            external: V8 引擎内部的 C++ 对象占用的内存。

                            process.chdir(directory)

                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            console.log(process.cwd())
                            process.chdir('..') # 方法变更Node.js进程的当前工作目录,如果变更目录失败会抛出异常(例如,如果指定的目录不存在)。
                            console.log(process.cwd())

                            // 输出 '..'切换到上一级目录

                            C:\Users\windows\Desktop\新建文件夹
                            C:\Users\windows\Desktop

                            process.nextTick(callback[, …args])

                            1
                            2
                            3
                            process.nextTick(function(){
                            console.log('nextTick'); # 放到当前任务末尾执行
                            })

                            参考

                            http://www.ruanyifeng.com/blog/2017/04/memory-leak.html
                            http://nodejs.cn/api/process.html#process_process
                            http://nodejs.cn/api/globals.html

                            +
                            + +
                            + + + + +
                            + + + + + +
                            + + + + + + + + + + + + + + + + + + + +
                            + + + + + + + + + + + +
                            + + + +
                            + + + +
                            +
                            + + + + + + + +
                            + +

                            扫一扫,分享到微信

                            + 微信分享二维码 +
                            + + + + + + + + + + +
                            +
                              +
                              + + + + + + + + + + + + + + + + + diff --git a/hello-world.html b/hello-world.html new file mode 100644 index 000000000..8ae3b7ab9 --- /dev/null +++ b/hello-world.html @@ -0,0 +1,439 @@ + + + + + + + + + + + + + + + + + + + + + + + Hello World | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                              + + + +
                              + +
                              + +
                              +

                              Hello World

                              +
                              + + + + + +
                              +
                              + + + + +
                              + + +
                              + + + + +
                              + +
                              +

                              Hello World

                              + +
                              +

                              Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

                              Quick Start

                              Create a new post

                              1
                              $ hexo new "My New Post"

                              More info: Writing

                              Run server

                              1
                              $ hexo server

                              More info: Server

                              Generate static files

                              1
                              $ hexo generate

                              More info: Generating

                              Deploy to remote sites

                              1
                              $ hexo deploy

                              More info: Deployment

                              +
                              + +
                              + + + + +
                              + + + + + +
                              + + + + + + + + + + + + + + + + + + + +
                              + + + + + + + + + + + +
                              + + + +
                              + + + +
                              +
                              + + + + + + + +
                              + +

                              扫一扫,分享到微信

                              + 微信分享二维码 +
                              + + + + + + + + + + +
                              +
                                +
                                + + + + + + + + + + + + + + + + + diff --git "a/http\346\250\241\345\235\227.html" "b/http\346\250\241\345\235\227.html" new file mode 100644 index 000000000..1ddf65905 --- /dev/null +++ "b/http\346\250\241\345\235\227.html" @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + http模块 | 蓝胖纸 | 哆啦A梦 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + + + +
                                + +
                                + +
                                +

                                http模块

                                +
                                + + + + + +
                                +
                                + + + + +
                                + + +
                                + + + + +
                                + +
                                +

                                http模块

                                + +
                                +

                                http模块

                                http模块是node提供搭建http客户端和服务端的核心模块。

                                什么是客户端和什么是服务端

                                客户端(Client),是指与服务器相对应,为客户提供本地服务的程序。一般安装在普通的用户机上,需要与服务端互相配合运行。互联网发展以后,较常用的客户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通信的客户端软件等。
                                服务端(Server),是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。是实现游戏特色化的重要途径,也是最直接可以通过游戏表现出来的技术,比如你要修改某个NPC的参数,重加载后,在游戏内立刻体现出来。

                                搭建一个服务器

                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                var http = require('http');

                                var app = http.createServer(function(request,response){
                                response.writeHead(200, {'Content-Type': 'text/plain'});
                                response.write('入坑了...');
                                response.end();
                                });

                                app.listen(8000);

                                http.createServer() 创建一个服务器的实例,它的参数是一个函数,函数里有两个参数request和response,request是从客户端的请求、response是服务端的响应。
                                输入 http://localhost:8000 就可以看到(入坑了…)这几个字。代表创建成功。
                                response.writeHead() 发送一个http响应头给请求。
                                response.write() 向客户端发送响应体。
                                response.end() 结束响应。
                                listen() 监听的端口。

                                客户端向HTTP服务器发起请求

                                http.request(options[, callback])

                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                17
                                18
                                19
                                20
                                21
                                22
                                23
                                24
                                25
                                26
                                27
                                28
                                29
                                30
                                31
                                32
                                33
                                34
                                35
                                36
                                37
                                38
                                39
                                40
                                41
                                42
                                43
                                44
                                45
                                46
                                47
                                48
                                49
                                50
                                51
                                52
                                53
                                54
                                55
                                56
                                57
                                58
                                // request.js
                                var http = require('http');
                                var querystring = require('querystring');
                                const postData = querystring.stringify({
                                'msg': 'Hello World!'
                                });

                                const options = {
                                hostname: 'localhost',
                                port: 80,
                                path: '/',
                                method: 'POST',
                                headers: {
                                'Content-Type': 'application/x-www-form-urlencoded',
                                'Content-Length': Buffer.byteLength(postData)
                                }
                                };

                                const req = http.request(options, (res) => {
                                console.log(`状态码: ${res.statusCode}`);
                                console.log(`响应头: ${JSON.stringify(res.headers)}`);
                                res.setEncoding('utf8');
                                res.on('data', (chunk) => {
                                console.log(`响应主体: ${chunk}`);
                                });
                                res.on('end', () => {
                                console.log('响应中已无数据。');
                                });
                                });

                                req.on('error', (e) => {
                                console.error(`请求遇到问题: ${e.message}`);
                                });

                                // 写入数据到请求主体
                                req.write(postData);
                                req.end();

                                // sever.js
                                let http = require('http');
                                let querystring = require('querystring');

                                let app = http.createServer( (res,req) => {
                                let str = '';
                                res.on('data', (data) => {
                                str += data
                                });
                                res.on("end", () => {

                                str = querystring.parse(str)
                                console.log(str)
                                // 向客户端返回数据
                                req.end(`提交成功了: ${str.msg}`)
                                })

                                });

                                app.listen(80);

                                客户端会输出

                                1
                                2
                                3
                                4
                                状态码: 200
                                响应头: {"date":"Fri, 02 Feb 2018 03:37:39 GMT","connection":"close","content-length":"29"}
                                响应主体: 提交成功了: Hello World!
                                响应中已无数据。

                                我们可以写个定时器用request方法,一直向某个网站提交信息。

                                options: Object | string | URL

                                • protocol <string> 使用的协议。默认为 http:。
                                • host <string> 请求发送至的服务器的域名或 IP 地址。默认为 localhost。
                                • hostname <string> host 的别名。为了支持 url.parse(),hostname 优先于 host。
                                • family <number> 当解析 host 和 hostname 时使用的 IP 地址族。 有效值是 4 或 6。当未指定时,则同时使用 IP v4 和 v6。
                                • port <number> 远程服务器的端口。默认为 80。
                                • localAddress <string> 为网络连接绑定的本地接口。
                                • socketPath <string> Unix 域 Socket(使用 host:port 或 socketPath)。
                                • method <string> 指定 HTTP 请求方法的字符串。默认为 ‘GET’。
                                • path <string> 请求的路径。默认为 ‘/‘。 应包括查询字符串(如有的话)。如 ‘/index.html?page=12’。 当请求的路径中包含非法字符时,会抛出异常。 目前只有空字符会被拒绝,但未来可能会变化。
                                • headers <Object> 包含请求头的对象。
                                • auth <string> 基本身份验证,如 ‘user:password’ 用来计算 Authorization 请求头。
                                • agent <http.Agent> | <boolean> 控制 Agent 的行为。 可能的值有:undefined (默认): 对该主机和端口使用 http.globalAgent。
                                • Agent 对象:显式地使用传入的 Agent。false: 创建一个新的使用默认值的 Agent。
                                • createConnection <Function> 当不使用 agent 选项时,为请求创建一个 socket 或流。 这可以用于避免仅仅创建一个自定义的 Agent 类来覆盖默认的 createConnection 函数。详见 agent.createConnection()。
                                • timeout <number>: 指定 socket 超时的毫秒数。 它设置了 socket 等待连接的超时时间。

                                发起get请求 http.get(options[, callback])

                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                17
                                18
                                19
                                20
                                21
                                22
                                23
                                24
                                25
                                26
                                27
                                var http = require('http');

                                http.get('http://blog.langpz.com', (res) => {
                                const { statusCode } = res;
                                let str = "";
                                let error;
                                if (statusCode !== 200) {
                                error = new Error('请求失败。\n' +
                                `状态码: ${statusCode}`);
                                }
                                res.on("data", (data) => {
                                str += data
                                });

                                if (error) {
                                console.error(error.message);
                                // 消耗响应数据以释放内存
                                res.resume();
                                return;
                                }

                                res.on("end", () => {
                                console.log(str)
                                })
                                }).on('error', (e) => {
                                console.error(`出错了: ${e.message}`);
                                });

                                网站内容就爬下来了。
                                该方法与 http.request() 唯一的区别是它设置请求方法为 GET 且自动调用 req.end()。

                                参考

                                https://zh.wikipedia.org/wiki/%E5%AE%A2%E6%88%B7%E7%AB%AF
                                https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E7%AB%AF
                                http://nodejs.cn/api/http.html#http_http_request_options_callback

                                +
                                + +
                                + + + + +
                                + + + + + +
                                + + + + + + + + + + + + + + + + + + + +
                                + + + + + + + + + + + +
                                + + + +
                                + + + +
                                +
                                + + + + + + + +
                                + +

                                扫一扫,分享到微信

                                + 微信分享二维码 +
                                + + + + + + + + + + +
                                +
                                  +
                                  + + + + + + + + + + + + + + + + + diff --git a/img/alipay.jpg b/img/alipay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8047f5d3097a1b0ef63ae36a91d7387eae15cab GIT binary patch literal 22420 zcma&N1yo$k(kME(6C8pwxVuY$;4U)|{6mAyV1oyO2Paqv5Rzf=!Gg`;kl^mYT>=CN zo&*SwbME>7|Gu^Ey6@Fqd#&EpCEeB4y}G(L+CH1PKrQtNqrH0@8{00ZdxI}&ZZ#-Ajc37M_DJ}GbL7qAh{rj zH^doc&l&{rg!;(^DFXj3T<)>_FSIa__1`2g4@IELzqGQx&^Kaz?&a&uDk&r>=qMs8 z!742)Bq}K?AtNflDkdT-E-WH0EGjN2Dkdi)D<>++`X2y3YV&n+kuy=#_>Zo~FGb*g zIu#fgC=@6zv{IAh7 za`l3F`MG*|vp#>$YVHPg@(T3(mtFtUOlM!W0B0u+UoQyjzYQbj_P;5YkrGuGQ4@Q7 zq(vnqq(x+9)t*Z{mlhKdQ5RQN7n1`1hsWuE>+Jt0kMN^%;eUuBKbi}ZoDGXYRK*_numm8+ zdaNhMA_qJJj8udCBo_;6l9XoKoJ=vM&GD;Hhw{ z0Ru-mBZt{+=O+=wKHzA=kK*80=O$tv=^u=St=;U*sj>OcJ$F*?Sd+%--rC~3q@D~j z=@=b$B%KvJ$mVOCUp{%NR#iyA?obm+7&te+6^xw;zk?CmL9?o+%(AsQJm$4$tF@E0 z9{_=hyx*Dj67?}Nb(lKi&C`d{XnT z*Nm;6jWI8ai+JldyF9OC8R-FX_lCS#Nn^GVJlBYvC;MPdmFKxatx7?4*hPZl4F5Z+ z?XB27+~60sx4LXpF)R43SU1VAOsxE;m?K9J4{8$yj9SQm*pnNW=yVUU%Iwe%aK5dcw2oGv#A?9`_buUi z!S%>s?34rxsH*72*W_$G0T9=Ue_ndXK1Cr*C8T+o-KJiapK-D+Lbsl_W>tc ze@P@kvZm6AD}?KmfL2q1HVlhlc|4%R#=9aQCc9jx75GION&Qp{dpU6mL2)A=C#`>pNmlo)HQ{a1hzIKvcU|S5 z!0~s9Q5%Io;l;Bb@SDG+p*0VHQNRPhE9dVUl_agqysEoZS4*_>%Dp}^Geyfk&RO9H z?oejrmtJqH^-7N!2rf$O0q}un;BI#P?ENH%ug!6A{~%f+=;}|VfFwANL}F#27hC;8 zjhsp`om_%6?d1(lNL5bRUK1}E+eN~5S|@Cv+4uB(dj+^0mf53ndrbd+*PPj|5w)W6 z;iGL969<@_yGUk<0^tu*7sPyb+w5a7o9F=BCzR|EXXw{03rkYL0G;2~^;+AKAS!%Q)^Ahz)+cF7e!t+XM8u$Ta zqyoVgHkv&dHTgz_t<$6~tyQ3Uez+MNZJFgCWWtytRL%4~&;Lr@Ku2?=xjkF%q!lA@ zHSD`}*o8DRENcZerxiaG2n5<9ksanL-a8BpjEy( zCh*}Q-)pYOz>}>)n%rywWODO?kN_8^T0AnU{0BsL4}zrN`JFEHV@CPY@FGpR-JS1Z>rX}>e z%$zBWB22aF0^gT|SHoE8M^QtZnoA5)r)?jnB79N|hjoPye7>r%rbe5{r){rK9;n9Y zIRI1ty{{l-=$=blC=W*3u^Y*m3Ju!ZT?xGp=(7fSeh}M07X6&G|K}C@`BhzYTYqXG z*s{UIEgq~Bg%&7kd;sA7^36zPp;8=)uUUoB=MJxYG93rqg?f!yk^mbhWIph$KG_^}N01RzQRng<3_pqQSI4LJa)AzS z(2Cn|va(M@E^AE8Cu|VN^e_pI5SzH0cU=F|{`&qd1=mb5mx8;kt?$4P%~Z3}dm`t6 z)x{M8)k%Qwx7^n(&i%-!w35G%-!*-A*=JAx&s+Hu{tvPtG3!t(FI2<~nZvRbousXl z(88Q^rN{zLj&mwgj88aeOPA1I1nm-&UWLrxTO^U|ndulOJ72re-1~9afp;UQyMT4& z?)r+X2XJd`k+FQo`1dj=X2bUCLfpepm_A@l@kZUGy++5M*}s^~^AN@n+|l#R3twUzX}qZ7oQ_9Q9=jI5z?Xy&lAi3u z|M)C5vLc~j$u5xc?GLl65Gu?>->=Bq5Bad(ZX>c4w?bPjoi6hpDHT(=kU&jLj=EAYl#K-cUM>H(3Aw_s+f&$ zil6Zz7~g~?oz#@#MFJ-yMQGz8i)S#RrndsEW`l)!gd7^Rh>NB07pPV($D-QxNNiPA zSP{CRz`sN9qA!B>=>>0@xD?!_qy1m;2p!BdRukR=UE1FT| zerQf)v-8%g{uo|yI?|c1T<<=g#l;T(P$Id4jYSgw_HEEjB#9<8gy1F5lK%ROzX5^1 zCf%6|i!aYHuwhvBKfBjwPYB!Ke)pd?;fT-Cv#8H0rC@G4_h-dasu^&$k=*0iKVER# z&}l9rW~&m$nD=}c{Az2%gi5(%&Brs4PD@PU^pxu4eD|evCmZ7mBCTYOHhy8=%F)Jr zKK|;n?H*-vwd+ck=}OR__f9lSJQNmLDg1gsTIXIR`9HDC;qqSaqoEmly&G^^K>}Na zAUk=VekLtBZ3kNbnA+}RMBdqTuB(l?y1`biMY$+f>2EFncj+H7OMWsdSEBU+RG*+S zm;yP7p~1o4_j~$EJsBGWk%>pDs^y7^Nn1(q6T~g32R!}&*qLv;64r?~31k1cc3kLH z{|Q4#{>+XEqu`C>3$s*-PRGR?vK8Z9)wjN@wC_V39m#vi!Hx)D_4S%4o5luC_vHcb zGQ9-dgmO*g2+%a~dvNEi>X7%AmLi$7{*3Yi;H!ijb?7qop?WwXD^H=q7uQBzk3l2G z&T}eQen)@MSZ<%tVc}QJW`DYh9Oaa8|H`FY z4_w(ymEe5UNy8UFkorL3NGS?0DtF=0saCJ(-j@6_iy75)`+K5Lnpk%M23}^D*wsnHq95e$kT}f!Mj&5 zqENHLriB|XyXp?}n7OClY&4LXY=z10b-DVnyFx^B)Cw@VGk#gAsZnYFO*czlD86I` zMI2RQ66gMeW{9f76OnC#hA3-FXKIiQ2BY-H0Yh1DN0$e{ixuf-ANPx;Zju}6Uk>xg-;5Mqo$u4U zGjpn1ddCz#mVhbo-W*dQgQLAB(CYMavM?z}^b{p*Re}L!vzTc}HhYvuQha3=4f3B2 zK=!%`y>AX{Vx#a1xM9YEOZ9_R-uN#46j>ee)GxC1;vXNZ6|f*t!d{LQq0B6=D&scB zD*qKOhaoT%Hc@J_)+4ClwEwOh)z75$I|NN$$Z4=QoN{$498ntCCs&Xle5CF?$v^)= z&UkvWH)z?#+Ss3ou6#;rqqTAXsyhR@q-%WU9t3Uo!lAehFZG!OpT%EF&yu0HO1gC+ z*9V=^=jdZ|;z=8~yw#ugqVs+F5%2D#@O#ajjh~aRlEau59smTJgn~abkj7pc<#P_& zv~0>(Mk%&F%9SNW z%_vnY3bH3GVgo5~XtBKbD<5~a9Zq1yCW}VGRl>}`#ILoH*be}s^V~#Awdw0YOHw6M zJ1W~&Kym-tL^|aI;Hj3~z+Bn=CuPxqRiV!_zr3gz%yBBrF#L-^=A{gK<+pIslSyvo z>DQ(z*-@WfGP|Hmt~uaUJm(Bq8La_Bd(sfvG~o&YsY$7t;fwh`Gbg>bDtbM=e}+*f zbo*5TId4YjLMvBy;-+Nm8VpIWcf+@buNpXqBWKnf7V~+h;IqtI6+op!PkKIoThAk_ z$KfTm$T?MbwX-J}x7EJ;&wE-8Q?OTR2t-@{YhaJb+(YUMW zOpCsYZuD;D$%C3}{$ndXuc8tw(LKt#A9w#D8pkpC?(qGoG|2L`LoWH7EKBcvAgemW z3JeDOysn1pZ4*05x*0)u zjJpHan=~!56fE}mwkn`sVGFu{BmmR`Os?}@?)Z*gR(ACt{NF+O@(mKI{J1+eE{wbq zlL%ukYoeknj5arurETREK1h}oj;H;ODtZ9;e+6*Z;?L(e?dRceVo8LSH@gYUm7_+r zXBQdM6ZF-EaJsXIAnWS;sul3NOt+21A17vF{=vhNx00bbB!XpAZygNZU_dN`HHV{T z^7cu1JEujeb+FxIo`Pk`N>IZ6uQ;W9mwjXjxEFtdYyhR0QEME{LMEMWs~4yp-4zKI zS7~%ae&nBRj)Vg@_#Oa45kFQ0D-tVDzTO*y0t5%&euAz>&6G2j%-Eq6Ku^LA&ZsW9 zQzL2Lcz2o9l=o*YcOv29sj&FN=^`%L5=qN9#uVw&Ua9_4j|$I{udY{L|GjsZ?!U;InW%{8wm9 z%WPK&J$-R(Y^EU$>+VVmEjTr27U;BB^LdiAO~aNynQ z1K`mFo|pFzC>v2cZvd@%3L}n^8=vwDp(9p0`)5`%<9x@^%8R3 zWq+eo`z|WOp}SwYU#!r0DS4+&@w1CQTj%ys9zF(yq#O8(Vv_hN{ZB|?OyM7r*GCKTO<_kYlgRwmrNL) zGM$S3PG?+w*L*a&L(oq?+)ygt%UT3SBy+@fGwqN!cJCs_>k`6hriFQEJokm0yg^g- zvDC~TRkaSt;!fCjNDqm&S}|)?Vu0K~IgO{TUcWxiw$SYoUYEYIds37$|I1az=e{XI z@I(1M;WxKEVON3HCt}Vb-BzrW5<4fy!daQya4YA#XonYQYRk&xJx0A0AmY;F?W)^+ zq$QX=4BII|Yw%P1jlPL4|J1=_SVEM@6R2 z2>}PFolWXkPzu`S?3##6%5F;uDp{3js@a!4O`143$ zIx6ZT3-zS??y$jgYgla@j4NXC&Bj$A7+-S?9X^EU}x+ ztu}~R{w`2p!e$XIpfZo68F!bhtNiTa@o0%^rk3s=Vr7X}>#c-LwM=Tj3&``gM-gl5 z5ETV;m4b{D1wo_M;|eK%){RNT`|1!`33yGE0*6*q4XrRL<|8lM*K*dr<1n46uR2zm zQXn!ZU~&igb=VKa%a?LL%^|b1a4GR~(rbl^zld&C#m9J!(3Ytf&}E9~6*6E*O++~f z((@rJONnmPCSlemq2ZMlU441S&8Gj%u3-48G}@LAJ()?&blp!=_kt#E!h018nD5{{ zbw53GsrWj?lhdzQ(--K75hzGuZ8_K$`bNL??vnC3ZK+CqP3wV5l`J9ZD5q#{=QG0Q zyH!wj-^!cEQ@@k=JUm>h8*aXBm-WcB!wa|;o3G-_))@#<|G5;&mF?cGu;QHpj6{Jg zp>~9b#RimM(C^Y_Vs2fm$TTN{XC@7)2eKN-%hvyL#VCM6q#Vu0j%>SRCl;#ZW5TzM z^ZiDi66|b5f9dvr?PTQz$4;_suKV81Bl)UO21!jAYBiQg`*KKSKZY27`7*4f^j?A~ z;P1-@*3hKN9lU$<9ZE}Yx~*yc+e|@JK6<3=J?%D}nn`N5 zpFkEh{a-~Ny_yRoaOUqOeBTe}>d=qPEWhD3jLCx~!5}&H%LuOeu6`T6+=eZ5sLqP1ES3d=pU4{OfMyKTljtu+GeZFmj`P?;~QJ&>yRlJ-BsJ}H{ra#FHSAMr6k39MRt*- zX$IpJknQ{eNJYO-j_?@nGu`kFADTnV_v?y}+TOmge8N|NU6#U#oH;0YKArMS3okAB zF%(SJgCs7Oa$2;hX7McZ3Xro6JU3up(a%YngM(yG))rg3t6RZBC5FgvGw1u1qq*b` zYF+g+!^-ZiDY=DE#c)d;lIgLrqz3giqfYmemGg=(%szv7*1_uraT`ghCP6j(s=ALh z#7dkSmGR(3()gwV<^eJpvpZUq+2vR%S65|eD$7bu68NT4drp6nCDr{IM|H5n^7486<|?k>hJD7ix)CWw}ofM zXDSj2!u%Vr+PuH7kVejo!0+GiaqbfQ*cy0wIsOcVwnEO36s73X85-SivHv|e^@-K^ zdwL$^DqFa-Vj4UQov(ucnogFG*F1AS(`aPXf?utE36QJ&va7D&Q)`1|QX5}u`HhI5 zw9>{stam#K`i&!hJThMQG?6!hzp}wKdJ~???*mQtcm+BD{b@+&o1NxKo#j1|`T914 zfRBJ1YpX+os-LKK%Q~%z#-@N?{R{5LmBc>VLK^WB!Am2^cdfher_IhoT91n>bA#gA z!qGEe%qk{)QQ{>wRhXQV0@zYN^OMRX`Q`_HzZW#wQ`+H`Plv7=!I46Itvo~5Bz0mY zgRWjPv225+V-P4#p!LY2+Re)_$Y}Lg4MUfN-g~5wHC9oX+s#WZ78?lCi7M9 zow_#!0ZS|&S14UERkaxgs@r7!X$XQBl8FhJ^TdO@!SJLPbX)A8#|=C!&Gyuwq; zCb=Y^{&1EnuK%a)aPPRvXJu-Zw7Pa?8$Qv&T3j1+NggitjNGw4H7VtW0d!dl8KS0o z1*30yB5y_GziaZiQ+)#gy%y#g_$DO~(X!%cy^8la6f)t(1gOkW?D|Ai6-1?V4SMhK zyC_?n<|CL!X}YdkRg_!k0U-GMm4XCw%A!wLJJ6g@Px6(xom$MSiv3d!>e{wdRf&w) zAvw?ZPa|;1mS@`?DB3noLeteY^4$`J|M(#bk`_nGfCSQmhK~=>rE;;=*F4RpO!0a4 zlo46)L1!U)IqG|yK;K%9ESw6b$G%oB5_;Kq*b-Zo5kH2@tHQ@yR>5s1ylSdBWw|{v z3qj-joWwK{<(SxH&y^zyof%Hvlv?F|%N7<8#*R$t-lC24{qsr!7iHL_Gj`=}dNM?- zSr(4OK4<`nw(pncO7D3WPzx9B!jZ>TV${GE`D@bb*n{*@cV!P{n zpPiqbgjs8lHtWTe)B%>}`-{PX)cyA#a&R!nv^#keB&eX$BN7Tp%FTQf$EDGiMXpg| z1TB0gV^3?Txn|H^FV80R=iddsvF_xd#Sx1Kh1l>nHtbim^Ne;b4{x%;r51!m&x0dF zT=cafojI>{6$m$vlE3{i07JU+I;eL}EZ8CV>VqRo>>45<6 zWoH!)(o#44GdQS1dt8_~?)|4-;^{lnCsT?uHci7L&Uy$rv1RuP5i)FUJoKh*KyszKQ?%u~w2ajoDeZKf$<@Yu?GqL7iUb%c+78RgU zVY=C-=fY#eIiz*+`9LnM@I9e0$S_)a^I}rwfO${M30X|nAiDjzQ0Z2GC~tq5%(+N{ z5*DAQqJpuKZC)Df#Xsfwr(gz;)8ynu!;g2p|M=!Y`-9)S^QikEo$ngzVgTLBVTu96 z=x2|%&0f=uHJ41~B?XH(r9;HM`>ncD@e_zRc-aCmf%_~Z7?Md@72qT@5}loJk`Bwa zarFljPSFPSh)sO9=wZ?)Y*fM`cQDG@mJjM0B`P@?|CkNK(KvcRnx0l>WE@zj&?gwe z5(evrAEVwkRD#@X<(n9h<0;roB`P$jrq%T^+Eldm=2U?;7_K~Ig>l0i@#W7q$~&1% zl?%trufFJ1^fa;?6WUPh#QPwddNqSo+_kF$nK;SKrszFeYQ+o(oF?)0iyd!im+x0S zOoZ{N(audkT`TS6)bwVOGynumqI(^JU5olv4|gUc=~FBNS{+fPhkyQ+=^be%9ue>R z#3dFqgjW%CIcYpw>jPU14k>g|0xeu$DvP^pSVW{WBPQvA6iCS{`ZCpDu6QTUd~->0 zdW@nq>lmv{9EW_GskII``-?wwls}PzH2$ONnvY0Cx{?R|keL%8LhM!IJZ&-IAEy{h zyoj6sr>%c0ZMwLP_jq2VDB72LLesrPt$2AH%(imc#Qf@8?98RZjZ{l8U;rUkvIqJ( zNoN=S%`?ehy}}^;0#uo6TMLygDVRX0dt2%K#Jh+t!COS-Le81s%{z`d0;M{xeqx=KkIsu z)3Yt?!}s^d6A-f;%bs3`F(@_u0e}gy!X}xB+iyp&tLWRGdS$J+Sr>qlEW(RT5r0ga z_tYDyPKZ9BDFpu(pe7A+LpfG{L(Axs`&$25?GU|Q2?2EQWZ6o1q$lEKUfW1erOJM} zti+va;i>*+lS$J)#eTl-NpFVpf-AnWM17G&wuN6j_fqS6T#u_l zn5-BSQC}S|R)cvYz~(QU8gVN;>pi!s8#3Nnvp