在构建ionic项目过程中,当我们创建一个类似表单提交的页面时,可能会对用户的输入内容做某些规则验证,通过后再执行提交处理。

在验证的过程中,为了提供较好的用户体验,可能希望有类似于jquery Validate之类的插件来实现优美的验证以及提示。

w5cValidator基于angular原有的表单验证,在原有的基础上扩展了一些错误提示的功能,让大家不用在每个表单上写一些提示信息的模板,专心的去实现业务逻辑。

怎样在ionic项目中使用它,下面来看看:

Stpe1:创建一个项目(此处使用的是tab类型的项目,创建方式可参照我前一篇如何离线创建Ionic1项目

Stpe2:修改项目信息

打开[config.xml]修改id,name,如下图内容:

aaarticlea/png;base64,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" alt="" width="323" height="104" />

Stpe3:引入w5cValidator

下载w5cValidator相关文件,包含w5cValidator.js与w5cValidator.css;这里没有使用w5cValidator原生的样式,因为原声样式是适用于网页版bootstrap的,所以我提供了我修改的样式,以适用于ionicUI。

文件下载地址:http://pan.baidu.com/s/1slgu7fB

下载后将以下两个文件拷贝到指定目录

将w5cValidator.css,拷贝到www\css目录

将w5cValidator.js拷贝到www\s目录

打开项目www\index.html,引入w5cvalidator的引用

<link href="css/w5cValidator.css" rel="stylesheet">
<script src="js/w5cValidator.js"></script>

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAukAAAIuCAIAAACNSwFQAAAgAElEQVR4nO29X4wd2X3fKb3Z2Ie1n9bYhzwFINUtt81YjFsGo6qIaQ8VdkjqxkNe9nDZEoe3JdHc0CSHZgjEnkRKyFFEgIlJKotMZDgJ3R0EA4TOOIE5lOlYIEdkgAAhkyWRICSQlw2yDwZ2bWkUeRPvQ9U999T586tT/+6tc+/ngwLRvFV16tT5+z2/8zunPvbZaZF2w5EjRzoKGWqQJGvXN0f3B2vhZzcGm0+H61OJHbRPlqfPtrbU4ctNuWwALDhyS0g7afAxtAsAAABEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBdoysZg8+loeDFJQi6+OGSHjxmQrA3uj/JdWJ5uDjbCMmu2IRs4S06SrN8ZjcKLXx+ILs4bg00hZ+WzAB2BdoGcrEmtISzCtcvF4ejpaPP6Gs3czLg4HHXU03QXcuovOdHpgDTCOGfy1LvloHgWoCPQLpDTtXZJ1ofPtrburMfRXs8rMWoXoeRke/Xaz9WtQeroSdnzxbnPyJWXqg3TB+0COZ1ql3ysGcngrHZS9J/otItccmTt0s/eNEbtkuamL281l88CtA7aZd7IxkDOL8sYg1HVsm8MNo0RanYYnbcv5LF2mXzXxu71BX2jfxDHmBdI1gb3R5vX1xIVQ/0C+WxDsjBriy0pF5L1O65cSCeuA5MLhHvtlxVCVvgUhpALgfhDlmJlG0iMp1fypjKC9doJmpUr4Y06LZMyXdejLEm9nyrzn83VZ2xaDXoO2mWuyFof1Zgm68PJ38n6Ha352BhsOltkX9skhKyavOwX24CcDzRdOsAYVZtPGXds2QXGgFU+25zsRWoEKOVCsYk3rpRT0kgrI0PlkBVOhSHnQiDukMVY6Wfz7DPLpLfkyARol5rlKuSNuiuT3vedSj2STWte8ZrVIxzdoFXQLvODPDAyL7aUiqBd5JDNhtIO2X+7Mao2+irbDVC/Xj4rvrv56WPfMpn8EVXG/eIA1NET6y2+nJJCf1wasvyjnAuB2CGHvG/hudYLVirSOiHapUa5Kn2j2mWyIdOpR/aAJ+QsdhfoArTL/FCplaykXeSQrXbTdFDwufIF9gRyD9S1T4PTHiAgzY65euJkfagCl1NSTVU4UrIsZEUNhRGII+Sq72trl7pOoPJUVO1yVfpGM/GzmVo9wmMX+gPaZX4odZez/VoCtYsccoh2EQZkDvtHcUTYB+0S7vsipJUzwuHaRY9MSGccrF1KciEQn3YRYuWaMyo81FdySmlSckq1S+kbTV27TKke9aE+AmSgXeaHUutIycxOP+wuhQu6aSsrzBlV34qjqt1Ft7SXpqQRsYlnTFnIikC7Sw0C7S56rHSPZnf6N7O7dKRdpDfqjd2lcEF7dhdBStYWmgA1QLvEh88Jo9I2GC7t4veoFbuQcu3i91qQ5yZmO86r56tbngvh/h8ly4MnOdjQ3yVkhqjU9afqbFSIZurU36WOdmk2OxMU81o7102nHjXyd0HWQKugXeLDWI2isD0z9BUu+s6kyhvA6BX8u5dKIQfOdLhVUcCWnTPRLrXXSMtplSkbfZWKfmWJv8v6UM8v4145ZIWwGkh+WV+pKwlZjFXpLGen64xqnhXfqAXtMrZFVVJs06lHNdcZFdcxAbQC2iU+5BHwxeFkNkR0lVi7vml5HRYnU2xl4ww5xFogjNjs2fqQlTWlZ5vQfG86X1qlxYkSIxNLU1L3WHLs7yKGbM+R2TOGvrOpv9SVh+yPldNRw8hQeazvQ95Xt2G5kt6oBbtLNf8q7cZu61Ht/V3ScXVAu0CLoF1gGsS1ry5MAefSWdvyt4Alp97+Ol3TZF/d7I3mcqNqmBVoF5gS/WyRYVb4/F6dppfFKTn93A2lyerofr4RxA7aBaYH35EGhd2lCZ3cIpQcNVvUN/tE7e9I157/AigF7QLTI2vL+tY0w6ywF6vL31yk5MyEjcGmID7kswAdgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0CwAAAMQE2gUAAABiAu1SB/XpEDaLBAAAmDJol/os4JdWAAAAZg7apRHGh38BAACga9AujUjWh2gXAACAaYJ2aQTaBQAAYMqgXRqBdgEAAJgyaJdGJOvDp6PN62toFwAAgCmBdmlEttTo/mBthnEAAABYKNAuLbAx2Hy2tYWCAQAAmAJol0Yka4P72F0AAACmCNqlEfjqAgAATBm0SyPQLgAAAFMG7dIItAsAAMCUQbs0Au0CAAAwZdAujeB7RgAAAFMG7VKfJFm7vsl3pAEAAKYK2qUO2ZZ0z7a2nm4ONjC6AAAATBG0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNolyCStcH90ejO+pS2cskex469AAAANmiXIDYGm9Pchq62dsk2zbs/WOsoYgAAADNnStqluxeYgnaJSBBEFFUAAIB6dK5dun6BtrSL8FXFZH34dLR5fS2C6RtBu3QnaxBMAAAwTbrVLlN4gVa0y8Xh6NnWlqfLd39wUX3S6NnWllPZJOvD7OyzrS399mRtcH+0eX0t2Rhs2rdns0X579Ys1XjqavJoFWcVmnHoL5Vd08XHI7sLGQAAwKBD7TKdF2ioXTJp8mxry+eH6/TSzYSL6qqTZP1OUWdkfbm6K1kfTv4eq5Ps9lwbWTLl4tDxoxIoWWh23EpNIJmi6sJ3p7uQAQAAdBZau+QSRJwPcnrpysuOsrM+AZH74WomCud0laBd9Ocal4VM33S3iInlUQAAMAUWV7vkHa1oJ/BJATVh5JQvgutMWqZ7FD7tYoRs/BLoepIbezpw4ukuZAAAgIzF1S6Zj4tsJEjWh14H3vFkk+3vcnEo2R76o10MD5UsQZyOMqVn5ZABAABaZHG1S1o2Z+Tz0nUGottgpml3qTNnlL91B3NGnYUMAACgWGjtkoq+uuF76RqKIfNareT8axOiXWx1Vaq38NUFAIDYWXTtkuFcI+1UDxnJ+tBYe1xY52z5fNjrjFrRLs7JqYtDryWJNdIAADAHoF1yqjqO6PupOLWC7iBi7e/i1S7ObVp8m7g4pZXuiKPfy950AAAwH6Bd3AheujNE9qQBAABYBPgWo4NAL93pg3YBAABAu8QE2gUAAADtEhNoFwAAALQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXN8mJwx/ePqaOd08kbYV87srRD28fu3t2f417L++cf/XiwntvtRYZmyQ58t7z869eXMiOkGclyb6920vLHyzvOZMkZ/Ysf7C8dG/PapLfmP2ijj1nKkR+9eZS+C373l5Z/mB56eZqePgzZ1ZxjjGtpoZcnjt87lunVL2rWs1nFucGtVumUt1vkVmlJFQF7eImRLskhw7evXW0qrLps3ZJ3jj+UBMudbTL63tX7i0tbe/dV0W7ZHfZZ8PbrywOS/dW9r5euNgXcnOah+yLc9fEmFbTRC7PHT63Le1SK86rN+sUxXi1i+99Z5X7UBW0i0SS7L96zatO5k+7nLhx5tWLCy+fn7pcpa7qfaGvtustgiOE5tolGyHZz+1xf+yLc9fEmFbTJKQ8d/n0AzcfVK7mDeOcJKt77tWX0XLtrken2kV439nmPoSDdskZXjr5ePvYObPHlbRLPfqsXbLwH944UPVGNYjJG4WK2kUINvCWWVmYmzCrOMeYVlOmtDx3Rz3tkjaLM9rFeLQvJZPk4Le2T79/aa2LWEEl0C5pmqbnrp5+sjOyS6RPuwzPDoQZpXNXjj66Nbh6KL/3w9vHHl15TT+rtIsK/9Gtw+cCGpqxdslbt1cvLrzcmbx+ZnN+eOOA8ll5+fzMzTcmwZb6stTWLqX4WrfM8cJnc1btV/aHz0qRD4+K09JyyKlmDMiOlbf36c9durey9/U8zoZrSGnIadGWHh7n0nv1OAuTPs6z8aaVQKdpVYPmdbC2dimJmOd9jQyaJObN1XRcAY2EzX/UclnQLln37ysAQi6M6767XJWH7Dkrv28Iw0snn+yMHl89GHg9dMSia5ckWXvnm6ef7Iy+9aarVa2rXfSz2aEMLbp2yf4OFC7pWFsYh5Iaqt3UL1MTQLYvi7rXeerViwsvHxw/kSSqMXWeDU7n+tqltJVxep7KIRvz9EbIzueqDru0P7Zv1zt7Ic7yvXacBZ/oZY+PYYxp5aPrtKpB7To4CcGlXRrWQeF95b58rHQnqsL+JfXXbkPyVsojuVyVhOw/21y7pGmavHnsyc7o8TcHQ+aSZsdCa5fMAPh4++Q7A3cRLPF38ZxV2iX7PRM6yvSitEv+e7BwSTXtkrVruXvK2PSStZsvH5x5+PzU5STJRnhq2GfMN40vPn4iSWaoXeSzqv3Kfh+7/TvaTa+ZwRWyGpOpBivv0ceBGM919vfe9nrcIust6Z5if+z1lhXvNca7SbJv77bZ1vvOxptWPrpOq3rUroOTEDrQLqXv65tDURlniNHA/DXmfQxHq5A88pWrkJB9Z4X3DScZDN7fPm27GcDUWFztkhc+UTs30S7K0JItWXp07WD2IN0q8+jW4OqhCkXfmNMx2j61TsGe9DEs1dqIsGDQnv6ckXzWbIOcnavo8Srdog/Exz10dln2XGOAaE5JiHGWh3G+OMv36kNGOxnls/JzhTeaeVr56Dqt6tG8DnYxZ1T6vpLvqpahXg0qql7LuJI/RY6VUK7kkEufK79vOJnNXhj6QqcsrnbJfFxk4dxEu6gfndrl7rXKRpe0bNyW/9e1SshrWSleHKN2kX36AuWOcVnpuM0bsjVOdeKMc8i9hsXbiJJ8NtK0kqPaXVrVo3kd7MjfRX5fcd3N5FSlVYTOiRtDBwuxEsqVHHLIc1vULvi+zIrF1S5px3NGJdrl7P7c2WX8ewhB2sVlRjZs13L4vgn4Wc0ZadqlMOJPU8njVQg50JZQoz9OA2wJQpwD7RDq0c6LfWdjTCuBTtOqNs3rYBdzRlo4nrJRtu4mk4mZ1LD1omB3CdEHzlhJ2kUMOeS5LcwZ5X0Hc0YzY6G1S6pp50q+uvLZQO2SJK+9e6vaeukG2iVv++TGrufaJe+urHGbMPiu6MORh9ykP1ZDSZ8PhxBn+d7Vm0u2wUlv64WzkabVJECrm+k0rWrTvA525O8iv689KihEKTe37Nmz7VkZJ9rVfDat0jzyaxcp5NLnlr5vKfjq9oFF1y4Z9hpp51qhTH8oyWKeHU8ABWoXdSp8/5ja2kWdldc4dDFn5F4rVGyDfNbdkrUGZRtMCSE7lxusFD095XbTF7LzgpA4l97rTA1D2PnOxphWxgU+/9DW06oJTeqgcxVhVcuKk9L3tRPTuQTazgWhdqfpxJ+6dh75NLEcsny29H1lWCPdE9AuOcbedNPRLqm1KEmmiXZJx1briLSLOR1urDDKmjNXo1Maclps4Dx7S9Tpj+23tr+QIDeUvnvNU5YQEc7GmFaFAMXpjHbTqglN6mB32iUNeF/DxdW5il5ORneBtzxnjc2BapSrkJDls6Xv64O96foD2gWipIutPLtmVnGOMa2gV+Tahd3xoTegXSBKYvzUyKziHGNaQX+I63NUsCCgXQAAwIE+aduKLzNAW6BdAADAgb2YC6AnoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLu4UV9JrPStxBCM7xlVwvieURcY31sJeZa+5fz46zOOj812Tb5tefc7aBlfeotis9FZ5ZHx9cFKRXdmce4sf41v9EyNntRQgBZBu7gJ0S7JoYN3bx2tqmz6rF2SN44/LH4orrJ2mdW298m+vdve7zP7WL1Z+ZZ0DrTLFPOoNe1SK859y9+utYvvfftQQwHaBe0ioT4ZvSDa5cSNM69eXHj5/NTlKu2arhtmpl2sz8yW35Ks7rlXp28b3x7TBw5nm0dJcuDmg8pFt2Gce5i/nWoX4X37UEMB2gXtkjO8dPLx9rFzxfosa5d69Fm7ZOE/vHGg6o1qwJc3oFNvGWv0Cj3s2zplhnlUT7ukzeLcw/ydlXZJxZRMkoPf2j79/qW1LmIF0BFolzRN03NXTz/ZGdm116ddhmcHwozSuStHH90aXD2U3/vh7WOPrrymn1XaRYX/6NbhcwGN8li75D3BqxcXXu5MXj+zzz+8cUD5rLx8fubmG5NgS31ZamuXUnQ7vNEDqa/ULn+wbLe88ln9GnsK33ev/oU5/ch8ZbIOxohk/qPmTCP0bVn3UHvSodO0qkHzclVbu5RErJf5K+TCWLvkIdvuWSUhe87K7xvC8NLJJzujx1cPBl4PMHMWXbskydo73zz9ZGf0rTddnWJd7aKfzQ5laNG1S/Z3oHBJx9rCOJTUUH2MfpmaALJ9WdS9zlOvXlx4+eD4iSRRHY/zbEi0syZbP9Sn3QzfAsOLUD6rcHrpCvfKbf1YCU16HfuX1N+36V2X/b4zT6sa1C5XkxBc2qVhuepn/sq5YGdu4V45ZP/Z5tolTdPkzWNPdkaPvzkYMpcEMbDQ2iUzlj7ePvnOwF1dS/xdPGeVdsl+z4SOMr0o7ZL/HixcUk27ZH1A7p4yNr1kfczLB2cePj91OUmy0bAaIhvzTeOLj59Ikk61i2rN9VZ4z/hvY7ybJPv2bpttve+s9qPDVF56r8/GrjotFWG3NvL0bca8QCVHnK7Tqh61y9UkhA60Sz/zNySP1O3Gc0NCFspVwzmyNE2TweD97dP21DlAD1lc7ZJXVHGc0US7KENLtmTp0bWD2YN0q8yjW4Orhyo0E8acjtFPqDUd9qSPYdXXRs8F438Xc0a2NV5HHzLaxnn5bIZPHJTeK/k2amF6x9+u3w2rvjb4DupRuk6rejQvV13MGfUzf+VYZflrGGnG0ZBCDilXzbVLOrZDC8M5gJ6wuNol83GRBxlNtIv60ald7l6rbHRJy8a4+X9dq4S8lpXixa1rF3uMa2NYvA0VIp9NRf9H+V5xXcbklG9dhrtvcxn2l8Omb6aQVvVoXq468nfpZ/4KsRJsJ3LIIc9tUbvg+wL9Z3G1S9rxnFGJdjm7P3d2Gf8eQpB2cZncDTu/HL7PWaEV274P1VU4L/ad9XnpBt1bti4jkxFZV2TrCWFcXrv/6DStatO8XHUxZ6SF08f8dcZK0i5iyCHPbWHOKG8PmTOCCFho7ZJq44xKvrry2UDtkiSvvXur2nrpBtol7yfkjqEL7aKGoT4fDr1vMDpv+awK3GmoKL1X2eHdMw75cHzPnm23NvL0bfmPss1jvLep2c10mla1aV6uOvJ36WH+luaRX7tIIYeUK/l9S8FXF+Ji0bVLhr1G2rlWKNMfSrKYZ8cTQIHaRZ0K3z+mtnZRZ+X1IF34u+gDUHWsFP1PjUM1vvLZkIG1715nxJxLZG0F4AxZdSr2ShNDXQkhd5dWTWhSrpwr46paVpz0M39D8sjnbyuHXKlcOd9LgDXSEB1olxxjb7rpaJfUWpQk00S7pC7Pyilolwy9TXdurZGf8iwXcp7Nm35/Ay2HnFqul0ZQ+TIQMUrOl7I9Kw3LkM/u0l1aNaFJuepOu6R9zV8hVoFrhfzqpKxcie/rg73pIEbQLhAlU9jWNu/b2D19TiF/AeIF7QJR0vVnWdTKjli2/IdKkL8AUYN2ASigr3FtxdcVegX5CzAHoF0ACtiLfWCeIH8B5gC0CwAAAMTEQmiXP15d5eDg4ODg6OLoqHcDAbQLBwcHBwdH/aOj3g0E0C4cHBwcHBz1j456NxBYLO3SURwAAGDRoGeZIWgXAACAytCzzBC0CwAAQGXoWWYI2sWN+kpipW8lhmB8z6gSxveMusD4Nk3Is/Tt+cdf6nF8mLdr8i3e+73bmPFFvSabutpfw1koZlXqjG9PVqqMM4tze6XOwPhC09ToSZuDdpkhaBc3IdolOXTw7q2jVZVNn7VL8sbxh8WP6lXWLh1v1S/HocUPEHZESC8SuF19De2yejOCJApkVqWuNe1SK871cjBe7eJ73z60OSnaZaagXSTUJ6MXRLucuHHm1YsLL5+fulylFdB1w8y0S8WO3GjNA9t01WK6v0gc/nTxQ5IdaZfsI8Nzpl1mVeqS5MDNB5UrY8M4N8zBLj5f2ql2Ed63D21OinaZKWiXnOGlk4+3j50rln5Zu9Sjz9olC//hjQNVb1TDo7y5mXo7UrUNraddUiVTNAO16hLC95hvpRdZcO2SzrTU1dMuabM4o12MR/tSMkkOfmv79PuX1rqIlQ7aZYagXdI0Tc9dPf1kZ2SXdZ92GZ4dCDNK564cfXRrcPVQfu+Ht489uvKaflZpFxX+o1uHzwU0YWPtkrebr15ceLkzef3Mmv3wxgHls/Ly+Zmbb0yCLfVlqa1dStG1gtFeKzPD8gfLdjsln9WvUXrCN3+kj8/yjl90jnHG2TaKGC2srYpsTePrRfTPBDq7hOxZ+jWTiPmfawTr/BKhns5GnLOQV97ep55etfvsNPdr0Lym1NYuJRHzvK+cg5mAMBI2/1HPYr92McqVcYGQC2Ptkods16mSkD1nQ0qszPDSySc7o8dXDwZeXw+0ywxZdO2SJGvvfPP0k53Rt950dYp1tYt+NjuUoUXXLtnfgcIlHWsL41BSQ7XI+mVqAsj2ZVH3Ok+9enHh5YPjJ5JENdPOsyHRzho4Z7dq97gFk4Z4VmF76TqHg7peKdUuvjjbVhbD/hFi0amnXZwhhzy3tCdwh1w8u/L2Pj1Nwl0ju879GtSuKZMQXNqlYU0R3lfOwbF2n6gK+5fUX+oM2Vopj+zMLdwrh+w/21y7pGmavHnsyc7o8TcHw86scWiXGbLQ2iUzLT7ePvnOwF24S/xdPGeVdsl+z4SOMr0o7ZL/HixcUk27ZC1m7p4yNr1kLfLLB2cePj91OUmysaMaUBrzTeOLj59Ikk61i2r79DZrz/hvY3SYJPv2bpsto++s9qPZTGdt354zY3vyvT2rY1tLLkGsFllv0OU4G94tWSR9E0bO1U8l/i6usxNXm6JY8U062M/1WeAn1pTxxeN5sYIlaWl7ZSVLxiozF13nfj1q15RJCB1ol9L39eegqacrlTpD6BvlKiSPDJWsLg4J2XdWeN9wksHg/e3TtjNAW6BdZsjiape8WIuqvIl2UYaWbMnSo2sHswfpVplHtwZXD1WoVMacjtGqqhUQ9qSPYQPXxpoFU3kXc0a27VpHH2DZHbl8NsPZhWc3rry9Tx+AKkGTpm5Lw4qnTzWfqIXpbF4dQ9Xm2sUeW9ttvfhcb89nLTFVasZIq3CHHkXXuV+P5jWlizmj0veVfFe1wuC1r7g1sTkLOTau5E+RY2UI92I0pJBLnyu/bziZZV0YoDYB7TJDFle7ZD4usiRvol3Uj07tcvdaZaNLWjYizP/rWiXktawUL25du4T4sRr2YacK8Z1Nxemhlbf37Xt7ZWl7ZeXeUv63uN7SaPp9cdYvsAWE09zdgnaxFUbx0aXPLdEuhfFuIQK198+YQu7Xo3lN6cjfRX5fcd3N5JRv3Y2giV0aYpLdQqwE24kccshzW9QuHfm+oF1myOJql7TjOaMS7XJ2f+7sMv49hCDt4jJQG1ZxOXzf1H4rlnAfqmF1Xuw7a3jpmr/fXF29Of53e+/em44r8+uL3XNpnJVtXBl4xvHMR5P1rPfCWVm7hDy3od2lnm7oNPdr07ymdDFnpIXjKe1l626UXnfqRcHuEqIPnLGStIsYcshzW5gzylt45ozmkIXWLqmmyiv56spnA7VLkrz27q1q66UbaJe8VZWb0S60ixq0+Twe9JbU6Orks6k2N2S9b7ZscmXl3tKeM0lmcVnZdi9JtXdtkeOcajM4K0VXG7PXHw8u2/B3cc/jGNpFeK5xjf275e8yXrcVoF3GAsjsZjrN/do0rykd+bvI7+vLwfxsbm7Zs2fbrdED/agqxUrULlLIpc8tfd9S8NWdbxZdu2TYa6Sda4Uy/aEki3l2PAEUqF3UqfD9Y2prF3VWXj3Rhb+LPlxTh+FZYhyqqZLPlm5dpXrTSV9e9BMsGqt1CSLF2bjAudeLGXixrTfPFtt6nxW9zr2uJbL2Wed8k28hlZzFPpXWeu43oUlNca71q2pZcVL6vkIOpmIuCCUnTYN8v+Q88vnbyiHLZ0vfV4Y10nMP2iXH2JtuOtoltRYlyTTRLunYHj5l7ZJRWF7r2ojCFhClZ+V1zvqmF7ZpwWiRnYEIcdbPChtaLG3v3TeevXI+t5J2KTxUhaz6CfG5dtzMnk/fgsWZzrXsLqUpWTv3m9CkpnSnXdKA9xVyMLUWiDmDdWaE7TmrawghVoFrhfzqRDpb+r4+2JtuEUC7QJR0sUkoQNRU/TYFNISeZYagXSBKZvgRE4AeEvgZLGgRepYZgnYBAIgY3V2pFV9mCISeZYagXQAAIsZezAXTgZ5lhiyWduHg4ODg4Gj36Kh3AwG0CwcHBwcHR/2jo94NBNAuHBwcHBwc9Y+OejcQWAjtAgAAAHMD2gUAAABiAu0CAAAAMYF2AQAAgJhAu0gkyfqd0ejp5mCDzVvTNFkb3B+Nno6GF0kNjYvD0f1B519O6ZQsZ59tbT3b2lqo0p5V8OzFn21t3VnXvuI0i9K+MdicfvpvDDap1D2nSR7NQe3O6qnRzKJdJJJk7fom2iUH7WJzccYE0E0AACAASURBVDh6Otq8vjYnCXJxuEClPR+ZDNfdZ7sp7c5W2HyoJ0odPRftMjXk3BdoJY/ird1ol8pMX7sk60M1CrSHg7qCdg4W5w/jlXv1sllm9SpKDYm3datBsj6cvu4s7b06KlRolz6AdqnHtLXLdN6qLe3iLBy5dulgGCTj00xZRz5PnaVM1o7rRfbisC9GDnnUHinxtm41mEmfHdJ7XRxO1d6DdpkaaJd6oF28XByOjD4yY560i1H67a5Xn/s3xqPyjOl4kl67vZhitrkoZLwbYvSSrTLCG5WeLcXXmiRrg/ujzetrycZg0w5czoXSlJQR0rk09zOcrZsdq0qNb0ku9DQHvaVdzl8hVup643A0O2uD+7V6ON9rys8dp8Pa9U13/ibaKeNlm5TY5nVBt1KbbY7Hk2mcffnZO+t5PmYZLZ9tkhrhuS+mlfZo8329sVL4tIsvrZzXV5JfQu0u7zW0N3Km1aJrF5VATkGwONrF8V9XKff1bXrRNIzeekOcv1dYNzO+2DvaMCK5MdjUQ5bfKPB9S+LmKhiqumZnjawsba+FlCyJkpjODbVLIVZVCmF5Lkw9B53Tsk6Z4m67xfwtjVVg09/6EFm2u0j111VE1dkmJbZhXTBikqwPnW2OcWWmTu5vbl5fy1v+p8N1VaTls81To4ndxa6DKhw5VgqhPDvTyjMXEfoKcu0O7zV8D11o7ZJnub8rXSDtEhay0LcZjZ01qisUytCeb9zNhGSB8Vz5QQ1n34SRse1uqadASHvtS0kZOZ2baxc9rcJ71hpCZzo5mAbY4YW23pe/pbEKzFOjoW9OqXYJrb/FJrHNElulLkgV0NVoq6zUs0852he1i/ds89RoqF18dVCOlfOWoLTSHMIuDvPLatc7u1wJaWVEFe1SIC+m8pREL7VLYbAY3MCF2F1Kx0zeOQXZ9ltXu6RhtlD9uYZU91vUgt7X+yz/+FJ+wWppVcWlplPtYvTx4bPvldJ5mjmYNtMuXkVVFqvA3qt1j91wfxe9bMh9m3xvKU3qgpB3TlmjumE9+wxBo7SL92zj1GjR30X9Uhor4ceAtNq8vpaMB/nDi5NptRa0i7/UBWm+xdUumY9LaROs9Kbzdt9UnHy2lBn5u9ScMQ2x6BTnMuo4nSndpiemPYtcLPHSG4WrIkdk/EtUZqVd5HSelXZJy9J5VjkY8hY1tEtAnMO0S9te+XW1S8ETQhsyBdkRZZrUBcGd2Zl0LWmXpqnRjXYpiZXCp128aZWs38lefH34dDi4vjn+O7juC7Ub7dLtnFHq1y6dMhPtoj3dO3aso12K7gVNZvFt35FAe3XrI/ge2l3kdG5Xu9TzxrDTeYY5mHamXeRYhdtdpjlnVMnuEnhvKdO0u6g5uNbtLpVSY2p2FyeBdpdJWiVr1zdH9wdrG4PN7N+nw/Wxj215yaw4F4l2qYjsqzsrpqFdxF2wfHWsqnZpd9JNTxY7ieR2oclZx/Vl/i6h2qWYC7V7gsqtqif3w/K3fp7q6TzbHEy71y7OWAWmns/fRbfeh0Qg5LnlFg5/X9X6LGdgXZAGDwH+LvW0S/PUqF135DoYOJao6u+S/z0cXN8cy77NwcXBZoUWyV+7K/UamQxCuzjwr5Gu2VI0pAvtUvCWL66VSNM0WR8aczHOprOG3aX2ZhX2Gg2jBOt72tozSvIbBb6vP24l64xCPEztXGjSE8jpLD+3EEhZ/lbKUDmdZ5iD9nvZ1PF3CYhVyF7M3uWsY+tajbG777khc76+Qth8lrNeXbBX0hXWGRX3hdJzoaF2aZ4a9XbiNkI260LYdszu8uxPq3Tc5I6Hi7kdsUqL5K3dAXY1bX+HzeGdzenuqxvyhg3peG+6aWuXkH11mzgnalOhbm3rnKe3py3DS6FzOrbSul9frCzHgtzCGfJGpWdDEtM9Mi7LIyEXGvUEZeksP1fO3yazfkI69yAHHVVbTo3w/PXFyti4otL+LureGmN333MDZzpq1P1SGtYF3a3Q3B1E3/rF48NeQ7s0T43S3HditoSebVdC6q/9XF9aqXv1gWiFOIu1uzStVOY+Ha6r2Ss9/M6/CRDykk3gO9J9Ji+RxZo2H98AqtpMd0qn6VzJMxeaI1u2NqzlsgALyJS+Z9TdC6Bd+ozPF2w+Gt/+vEin6Yx2mSby6minSAVYQPgWI3SI3dTOWePbExtSp+mMdpkaguOCssC39a0AgKhBu0C32J+l6Mk8Sys4J2JnGJMu0hntMjU2whZxAADaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0ixv9+xG+Db7yjaQqbn3R5Ov2U9hpw/guRsiurPp30fI0mcXWc84PzdTLo/DHsfGJzKzKRkj99d4bYZxlZrVDT09aBphL0C4lCJ8Xnz/tUu8bPT1poTYGm76v/qJdZsXMy4ZQf300jHNWiZpsV1gjzjKdthvC+84892GOQbuU0Ho70mvtUjdu6utxs/pCYfMOAzpitmWjXv1tEme0i87MWwaYV9AuOb7qvVDapXb4M2+hmqQqdArapSoLol0Yb0AT0C5pmqYXh96PnDnbEXlmejx5MXEcKdTYYi+bfTY2sGUZt0GTL9focU7WBvdHm9fXkuwDws+2tozuXP/kjbOn766Ny17T+Z0d3cPGjpV8Vn8vM9gy7wHBs6ckB0N8ofzvK6MHXhorPffls0GP7jKPatC8PKcd6IDU/74qnsaRZUSWvPa3vu2Y++Isv6+QC3K7ERCy+6z8viFkIWCMgRosunZR1dLnlCq3fc6zqkpnYRoftde1Sy5cgqtuScjjbi8LMO/Rx9Ezxj1ZUHo49tFWo68/K3vc5O9irJJk/Y79MWTPWYXTS1chqE/VyBoxlNNZDll+XxnjBY2OzYxV8a3ls6V0nUc1qF2eddq3m5a9r8+cYMTfDkqOs/y+cqxK2o0qIdvp3NB8kreB+MFARRZau+TVUhwp1tYuRuVXdVtpF+c4TKYk5MwbTmsKdTuKYVNx2iqcdhf7A8WVlI2hEpxnfV1sYAfs9NJV2HnkfHf9MjmdhZDTsvethPFcu9sQ4uyLnvtB3edRDZqX59Sf+w3Ls/C+Ql9uiNFKmlh+XzlWcnmWQy5N5+ZTP7i9Qw0WV7sE+r3X0y7F2l4cEmXaZVBZuJSH7G+/SntrZ/itIIepDN2eaEtn9WuElHT0Xq6uWreHyekshFz6vpWQ+5hU7MsrxaTrPKpH8/Ls+7FRrMreV1x3Uzjli1sNtS3HSijPcsgh6dyK24q+IqlJOLA4LK52yXxcShv3LrSL05shhAbapeDbMRlr1u3twlHOer4L6s21Ty5YH8rh+7SLuRNMS9ql9H1lbB+CKWiXrvOoHs3Lc9qVv0u534nku5rLAu9lLu1S/r5CrETtIoUc9tzWtAu+LxDO4mqXtMs5o3K7y1qSiadK8qVdu0tp+Pq9tW3s4T1ojfF9yHsF2l10e/6s7C6VbPupNWcknC19bnd5VJvm5TntYM6oGA1nmZT6cn3K2JfmgXaX8FhVtbtUem4Lc0Z5O8ycEVRgobVLqjVk7frqhmiXGmbS2tql9EWc4beCb1LffbHc7ltnQ5wt6vm71NYuIe/rnOD3+XK25Zfge25gnLV4Vsuj2jQvz+GX1cZRJsPUwMWh95rmk19lJadQnms0cc43ComY43Z8daEWi65dMqqukZbPBmqXtPosbxPtYns+lobfCvY7FtawrA/Nhb7FK4WzaViDLiiMYuNeWNFTX7uI76vCd04aXhxOblSrbHw9kDHRI5+Vn9tpHtWmeXlOu9mfqfR99Xy08eWCHGf5feVYhbQb3pAD0ll+XwHWSENt0C45RvV2bl1grPgI9EsQtIs6GzjqbaJd9GfZcXaG3yKZOnzm2jtET0y7BRTOykN8OY/SouOR7CniXCYqhCy/byrYP0yXhbXrm+Y6I98ch3xWfm5pnGvnUROalOeQPKpN6fsa01LWZiruKZLyEivWXyFWpVpcDrm03ZDf1wd700ET0C4QK6VeunOGrCy73nMZ2oI+G6A5aBeIkoaz7DGCdpkPyCmA5qBdAOIA7TIH1NiREgBs0C4AcYB2iZpSF10ACAftAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxMSXt0t0LoF0AAAAWis61S9cvMBPtwpdgAQAAZkW32mUKLzAru0v2dZKF+o4xAABAH+hQu0znBWY4Z5R9Evbp5mCDD+ABAABMC7RLI5K1wf3RiO/3AgAATA20S1OSZO365ujpaPP6GvIFAACgcxZau1wcjp5tbanD8L2Vzyoy7YLvCwAAwHRYaO3SnGzBEXNGAAAAUwPtUh98dQEAAKYP2qUmrJEGAACYCWiXOrA3HQAAwKxAuwAAAEBM8C1GAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNpFIknW74xGTzcHG0nS3VMcz10b3B+Nno6GF9t+bishZ4HcWZ9qmvii8Wxr69nWVnd5tDHYfLa19XS4HlHIAADzDdpFIknWrm+iXUw2BpvTTxOBi8MO8wjtAgDQN9AuErPSLn0ms0XdH6zNOiITOtUuAADQN9AuORuDTdsakWsXRsYayfrw6Wjz+lqPhALapSE91KMAAAJolzRN04vD0bOtLbvtnr52KfXhyLqZ7IJnW1u608l4KmdygR7zEO+QZH2oQna+tS9B9MArxcq+99nWltJGhqDM3Y+sp/u0ixCrZG1wf7R5fS3JJm70h6bj2Rz9MMqGnguVlFx3ITeECSwAiIhF1y5ZZ2x0bMbZmTTozv4464xVb5f1Nyrmql/MfsmEiP1evp7eCC1ZH9r3Or10k2T9jhbgxmDTqQOcsdLfKE/t4r21tYscKyVrstCEyUHbJmFEw3hQON2FXI8sa7BgAUD/WWjtkncV/tFtr7SLMzL6Zab48EwEhKgiHyFeusZz5ViZ6qSojRraXYRY5T7LWlDOSUP7RjuSteku5PpR6sxJHACgRRZXu+TNtNjn9Uu7uOSF7n3SpKf39dyFZ4V5RZSok2KsZqtdQlSCzzris9WF013IzWJlWr8AAPrG4mqXzMeltMO+OHRrl+x2n9eCfDYwek7tYs7XtKRdLg7LR9vJ+tB3jeDGIcfKNWc0ubihdhFi1US7qKg29EppPeRWyqSKAL4vANBbFle7pAFzRqlfu3RNoN1Fd+Po1O4imKCqzQoZ2kXzDradLRq+kRCrhtrFOFvPUtJdyLUZ1wjmjACg1yy0dknLfHVnSD1/l/qerR7H3skFns7e9nIN1y6lU3LOGaWQNyqNVVvaJeSC6YdcD3x1ASAWFl27ZPjXSM9sGCoojKIsaGtVjunlYKwzEnxKLg4nN6r1O4F2F3muSlcYxsqg0jeSY9XI32V9qP/XyIVwugu5BqyRBoCIQLvkePamm7Z2sV00DFFV2IKlGLFSr1g55LToElHYG6ZkdsNw0Vi7vhk8Z1Tcrsa5PYz2sgU7jfxGcqwa2l30R7fr79JKyK3EBACgt6BdoBzBS7dRsK5PXer2kj4QuHq8VyEDAMw3aBcoodQrZfXA6o/81R9ZPbBa9e9kbfDBaPTbf+V/1X//hddPPtva+kef/9l6Ybb+989+/mh4fKolbJmPEQAAOEG7QCN++shP/9gv/Vi9f3/q8Gf/j9Ho6amDP3vuf/b9MpN/r3zlzx06/FM14lOaXNeHuZHJaXMCAIAQ0C7QiKZWjdcS5ZWSO3lsvDZzi8vPrh/6bfVRoYrxkSl8VQrHWACAWqBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7QLckyb6920vLHyzvOZMkZ/Ysf7C8dG/Pqvq80Zk9yx8sq2PPmQobta3eXAq/Zd/bK8sfLC/drLb17WzpLs4xpoZBpdxvQl5ot/fuyzYVbFBiu0OuZW0+aDB4f/v0t97sxVvDIoN2mQ3JoYN3bx398Paxd09UbgXOXTn66Nbg6qE4mo9Cq/r63pV7S6obSMN6guwu+2x475XFYeneyt7Xi9/a9ITcnOYh++Kckb27npLNQ+5zatjMt3apmr9yLWuR4aWTj785GE5rM+jFaSehKmiX2VC7TibJa+/eiqlO6j2lr1XVW15HCM21S7H7KQ25OS1oF0+cMxpplwhTw2ZW2iX/USyxzamnXeRa1pwkOfit7dPvX5re10MXp52EqqBdcoaXTj7ePnau9x+XibFOrt4ct6rJ6p7q2kUINvCWqfVzLdJdnGNMDZv51i41EGpZJc0htITJm8ceb598Z9CXVxYQ2snpKzDoArRLmqbpuaunn+yMjNKsJP+Ht4+568CJw9nZD28fe3TtoLKjZr/fPbs/qz/G7cOzA3WXPZ4Y2zn3X7121AjZuHHy6CuvBb5m8sbxh8/Pv3px4dWLCy+fn7n5htYWv3Xq1YsLD28cSJIj7z0/b1+grslvf3D8RHs6z9cTZG4ZPvu86r2yP3zj1HwYWpz+l0NONVNBdqy8vU9/7tK9lb2v53E2HEdKQ06L8w7hcVav6btXj7NvsinG1HAi5L5dnAz/HjnOaZpm3b+U1H7tYtwbLm5ayV8fw0snn+yMHl89KF/mbAnH77X2zjdP2yHE2E4Gpgb0mUXXLlmFfLIzMrzP9Po2rpaH9bHIuStHjQvunt2v33v37H79GnV7aZ301bqG2kVXHmP5cuqyakfG2uXyznnnBfrv2fHwxoE0TZPkwM0H5qmq4qaJdjGbe8v/1OmXKods+DQYITufq7rz0t7avl2XAkKc5b7NjrPTWzPG1HAi5H6IdhHi7H7fMO1iiLyGb1QjfwWSN4892Rn5vFV8LeHkApeXbrztpJwa0H8WWrtkxkOnFTSrG6q4J8n+q9cmdVLV2Ek9PHTw3WKdfHRtcPfW4XNJ4rReJkk+YvDVyez3PCjt3tpzRpn4eLlzZBzOgZsPTO3y8sGZh89PXU6SzPqiTC9K92R6JU3T5I3j73WvXeSzqq3Pfh8vryiMR2WPV2fIatysurq85xsHYjzXqQa8fdu4B5r0lK/v3VPs2+Q46+HofVvuITGORpLs27tt9m0xpoYPIffDtYsdZ3Wv4ZwbqF2MmSzZaUmgXv6WBzsYvL992p4SElpChdNLN+p20pcaEAWLq13yguvR3bp4t93EjBprhmzVWMc1Yp1UP9qX1dYuJ26cUcLivbcsu66lTnQM3dM6TbTLpJ9wdr1i5yHdoi/kHvff2WXZc41heqW+TV6cHNLh2dfoFg7fPEWMqeFDyP1A7eKM83hObSLvwt/InmkaG0iqze84HxqSv0EhZ1M/mkyRW8LxXW4fkdjbSTs1IBYWV7tkM7uC6DZsj2o+VdUTX5UbDwIOC3J++tolLcoXwzSS2120SSItqrllxSlrWqE77SJ7dAbKHeOykLG1p2/Lf5QnEUK8UJ0PNSZobI0SY2r4aK5dnHH2bUEU9EauCaMakzu+h5bmb1DI47kh5e1R2hKmaeal674g6nbSTg2IhcXVLmmYpVTVCn0AETKe0L3ShGDL6mTuxdaKdhmHMJnlmUwh5XNG7okewe4y8zkjrfcq2APS1O2XWhpyoKWhRm+dBlgaSuMsPNR4tPGgGFNDQMj9mWmXbIFPdSuLTY38DQo2b/GqzRn5vHSL18TXTvpSA6JgobVLquluwwft3JWjem0xKqEaaojzuC3Uyfy52tDErqWBXN45r08Vme4vonZRBpse+ruoH/OOUOt1sh5LGNZX9PDIQ27SW6uhs8/DozTOvoeu3lyyDU72kp+4UmMSoCUI5NzXZ4XUU4K0S1GZKY+cSpakoPm+6v5Mcv6WUttXV9hLN952El/d2Fl07ZJhrwx0+rHbJkrBf95ZJ5036rXO+Vzd6GqHELjOyF4opDu+yNrFKVBamUJyrxbJe5HJ+NJpgS9ZLeIfBJeGbBjnjZDFnq8kZOcFIXE2X8Hjy2kchlkirtQwLihddbXsX98Url3kMll61rlGKfCNmuRvKU3WSJ+76vWGibSdZI30HIB2ybF3ZCqu3HPYHgsXWPsWtFInPXsr5UOKStolLcoX5/4usrGkcHtL+7s00S7m9L+xwihr/V3dQ2nIabETMkJu0lvbb22vgw0ZTDvNG4Vg40+NQoCW6pJzXw92aXvvvmy+LEy7uO8N0y6pZqlyahfhjRzXBOevTJO96Urvja6dZG+6+QDt0i8MWyjUo4fbnpZSKc6VFt/GmBoLTu3F1e3HxO+lO0NoJwHt0i+ok63Q6efoOkKOc5Ks7rH2jQ10d4gxNRaNJvnbZazKvXRnAu0koF36BXUSnDh2qW9jPQv0BPK3ErSTgHbpF9RJ8FH8nE3lLUOg55C/4dBOAtoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbSLRJKs3xmNnm4ONpKku6fMhOzV7g/WZh2RbknWBvdHo6ej4cUZ5eDFYYVE3hhslkZ1Vm/ke272+7OtrWdbW3ZNkc/KhKTGwtJ6/Z15TZlai9SkTPaWjcHm3LxLIGgXiSRZu76JdomY2i1yK+lzcTh6Otq8vlbszv0hx6hdFBeHUk2RzzpBuwigXZpTo0zOEDl98uwbrk85VjME7SKBdllYmqdPsj58trV1Z90sOQ21S29ZNO2S5eOzrS0jK9Xvz7a2bOUq31v16fNUf9EuMqXp42tw5hW0S46zocy1yzyK2flr+9qlYfrks42ukoN2CaTnqXFxmAsUPSuNfN8YbDq7E+e9lZi/+ot2kQlJn4vDqVrOZlsI0S5pOm5K7DyYlXbJFHQ+dCs+XR/VGc1isja4P9q8vpZkLaY97MteR93rbHbtkDNrpJE4G4NNPXB9Crmq9i8dp/pSQ35feVZ7PD08ebR6QRWacVSqos5+tzTk8V2TbCpkUNk8fciI38bZguutUqB/QGfaZZIaVl3QTgW/b35vgxKrbr+zbrbdxms6Dbe+e8sf6q+/RnkzJFS7NcXMhWJKVsqLshbJnb9BLVJA2fCVSaGNFdqNcSLnp+6s56ltlwdnrIR0Dm+RnCnTKfk7zmJ4v+jaRRUmZ+M1E+1ijNWS9aFPRphXjhuRLMJGu2nca0hmIWS7/TVDTtbvaGeNRkTGbGSLQYWkhu99Fc4WSjUH+Tvm3Ymu8+oPKeRiI9tdCrHyGIEFtSGkpA+PxdERySbqpJ52sfPIKMClFg4nTUpsquWvWYmsRMtysKgq3PeWP1SsvwHapaWaUiyTeqzyYMPrvtwi+fM3qEUKs375vMt9bazQbmTa5f7m5vW1vE95OlwvXCDGqrTuBxaY6RuT8kI+dQvWQmuXvDD5K9v0tYsgnJ2R0Uuq7a6lt2jWiFAbWJeGvD60xz2+fqJSo1wSlDiMkN/X+SL6lUbTIKRPVUqiXaZdJh2D50qhza0x261n7sVhnp7O0GaiXXx5ZPXW9atq1bxWj3YOAPTe6OloeLFYd3z3liKXzxDt0kpNKXlulUJY8Y0K+Su3SIFlw37f0pZQKJN6IisnfT1icqxK635ggakqxFthJo7ei6td8uQW29Ppaxdhjt/ZI+p1WGg45JpQHrLYrJQ+S0CZZ53RLnlQWEPpa5GNkJ2tf03tIjrNhfu7+JxmBLtL3emPzetryVjKDy/mDbHZAk5fu/jyqLSPqUSNEjsW/V7tMunStMIg3Fs1hjW0Sys1xTYe1NMuJS1S6WjK//rhZcOhXcpaQqlMOnN//GOIKpLrfmCBmZXHblWrW3MWV7tkPi6lUlGNRJ23+6Ye5bMljxO1i1EoW9QuQsipXhtdldCeka1gDPfPAcuuZ33WLqIxrxPtkoopKcU2Wb+TNa/rw6fDwfXN8d9h4/JWzjoRtUvBI0HztAgd+dUusUIP6nRkMc1anntleqtdXHNGQVlQpl3K89fXIoWXDZ92EVrCBtqlJFataZfq9tdW+jLV+ExtqL+42iUNmDNK/dqlI6raXXQLYbt2F5c3rrKCml5mITMdpdiWg2naXdqcM5qF3cV+RODwK2t07g/WNgab2b9Ph+vOra76pF0aGURrl1hzqsLlouHw7sziLN5b8tzeahfNj76S00MNu4sZgqdFCi8bgXYXvSUU2o0adhfrKe3YXWYwZ6SZbKf20IXWLqmmFnuyLF7o9gL9XQLvzZrvQAttWuzh5JUUzbxczTGrJALabJHNFGjkP1Hi7+INuS3tklbMhYvD0dPh4PrmuCfYHFwcbFZ9btfaxUi3BjNE9UusMQa1x6PudUZjHwj53vI4e+pv6pm76Vq7NPMxKnmjAIHubpFC7vVdVn1mZ3K9rF1KYxWgXYJSe/r+Lvjq1qTjNdLTlpP2rGFhZc360GqwQl1ozdHD5vDOpqkSfCFPfizelaHvHqtWSaJU+wAAIABJREFUNIQOKNeH+pXOhY7e1GivRXZOTjl3xQ16qbJWxhdyI38XMSVl9MWcynjQN+3iLO31Os4mJVbHYTwoxkrIhVoOwv76ay54KeRgd3aXJhuKhLyRnL++FimwbPjqkdASCu1GqXaRYxVS90NapCmvM2KNdH063ptuBqawtDhEM3dT0Dc7KUastIVSwT4drqtRS0jIevi+Hfw0NwszZBnd88BZM32pUarVhAGucbbUfaRq3yZLB1/IpX6R8pC9NCWF2Oppa0j5SilZ6ayMsXGI4J5cOeRmJdaIgLPjFOqRcK+MXH9VUqtNcQK1S2kOSnNGLjeOcBt2SYtUlr/C8hbh3tIyKbSEQrtRql1KY1WqXUpbpCnv79LExN4ctAssIrInTXN8JhOAuSEv5PZ8zdT9LaZG1+1GQ6a8r+5sQbv0i9UDqz/yV39k9cDqfPw99fQLZQptkG9HLID5wOfZOsfFvs/ahe8ZoV1mxk8f+ekf+6Ufm6d/Z52iXqbTBs33GBQWHNvu4rTEzBO91S58RxrtMkv6YClp/e9+Mp02yJ7CB5gn7A8SzXf32VvtsuFaGDjfoF1gZmz8/Mc5Ao9Z5xUAQI9Au8DMmLkgiOiYdV4BAPQItAvMjJkLgoiOWecVAECPQLvAzJi5IIjomHVeAQD0CLQLzIyZC4KIjlnnFQBAj0C7wMyYuSCI6Jh1XgEA9Ai0C8yMmQuCiI5Z5xUAQI9Au0C3JMm+vdtLyx8s7zmTJGf2LH+wvHRvz2r2UdYp9v3H/8qfWv5geWnnJwZrH5u5EKmnXYSUbDnLBoP3t09/683ebWIBAJCBdpkNyaGDd28d/fD2sXdPVO4hzl05+ujW4OqhOLqWQo/7+t6Ve0tL23v3oV1+/uMHby+FR0lOyXYZXjr5+JuD4dS+nb4wdQEA2gLtMhtqt9dJ8tq7t2Jqr7Med+neyt7X0S4taBdnSraaXwe/tX36/UvT2wt4ceoCALQF2iVneOnk4+1j5/q32bNBjO316s1xj5us7kG71DrklEwrag6htCdvHnu8ffKdQQSlS6gL01dgADBN0C5pmqbnrp5+sjMyWjo1HPzw9jF3+3jicHb2w9vHHl07qGzs2e93z+7P2lbj9uHZgbrLHmuObeD7r147aoRs3Dh59JXXAl8zeeP4w+fnX7248OrFhZfPz9x8Y/Lo5K1Tr15ceHjjQJIcee/5efsCdU1++4PjJxrrPENYZIchL45v/MTP3FtSZ3/mqz9q3PUzX/3R42s//nP3lpY/WF6696c/u6HdO/7dGbgvZKc5JP/x9o8bsbVjJR9ZOL4oGbHSXyckPYeXTj7ZGT2+elC+zFnaM5Jk7Z1vnrZDiLEuBKYGAMTIomuXrLF+sjMyPBP1tnjcZB/Wx6nnrhw1Lrh7dr9+792z+/Vr1O2l7bWvRW6oXXTlMZYvpy6rPmasXS7vnHdeoP+eHQ9vHEjTNEkO3HxgngoUN77uXEkBWyUoAaFrFz2EpXt/6uDax7z3joWCEHKmHnTdkGkg9Yvz3p/7K0HmHFm72CGr1wnJ4jRNkzePPdkZ+bxVfKV9coHLSzfeuiCnBgDEy0Jrl8yw7LSQZ+2magqTZP/Va5P2WrXmkzb60MF3i+31o2uDu7cOn0sSp2U7SfLRpK+9zn7Pg9LurT1nlImPlztHxuEcuPnA1C4vH5x5+PzU5STJrC/K9KJ0T6ZX0jRN3jj+XhvaRfXWE72y8RM/99Uf1a0mSqwMvvqndWvEeBroT//MvT91cO1jusI4vvajn91ZssVK9l85ZHWvkiPyfFN+7zio8MMOVrfubPz8x4+v/ehnd6ppl3SsP+wpIaG0K5xeulHXBV9qAEDULK52yRs1z5hMH9jZLoRGa26GbLXmjmvE9lr9aF9WW7ucuHFGCYv33rJs/pY60TF0T1vYvbWjax8bHnQ1k6kKW/cYMy8F24muXcJCVrHKIqlbVhwGkja0SyaDnIacSgmbT/1oMkUu7eO73D4isdcFOzUAIHYWV7tks/7CgMywS6u5dtWG+prj8QDxsDDUm752SYvyxTCN5HYXbZJIi2puWXHKmiYoC4fTX8Tu2g2LiC1BJN1jaxch5NyEo5tzJkHpCqNd7WIHrs5WSlg1N6S8PUpLe5p76boviLou2KkBALGzuNolDbOiqxZTH1yGjDV1j0Uh2LL2OvdwbEW7jEOYzPJMppDyOSP3RI9gd2k4Z9Tc7uKcygnSLv6QdVuLYYNRVyq91eKc0eTUWEupkKvkb1aqq80Z+bx0i9fEVxd8qQEAUbPQ2iX1ey+eu3JUb0mNBloNQ8U5/hba6/y52rDVbsEDubxzXp8qMt1fRO2iDDat+7soM0MVf5eCN66n73fPLpX5u2hqJpt1uv3jB287/HYnIY+XBRnaZSyPCuueSrXLwdtL+lSRLuwCc7m2r66wl268dQFfXYB5ZdG1S4a9atS5xsE2XwtrK5zttfNGvUV2Plc3yNshBK4zshcK6Y4vsnZxCpTmU0iGgcFeZ+ScnTFWIflcaO0VPfrFcsim5cM1uyTMGdlWk3DtYoecqZmQ9GyyRvrcVa83TKR1gTXSAHMM2iXH3q2ruKrTYZcuXGDtadFKe+3ZdysfblbSLmlRvjj3d5GNJYXbW93fpbDI2djvRN/6xdi+pWy7ORXs0s5PDDI7imdBstNAYtuEDNNLIeQ27C5mUlTZ36XJ3nSl90ZXF9ibDmC+Qbv0C8NOPt8IviCLcFTa6rfTjBC8dGfIQtUFAKgE2qVfLFR7vfHzHz/8lz7+P1352OG/9PH5+LtErKz9+M+p/WbUDjRhTr7d5UKIl+5MWKi6AACVQLv0i4Vqr/f/wsf/lwsfm6d/y7WL8Y0CcVJpanaXfrJQdQEAKoF26RcL1V73wVLS+t8l8qXwuSLHzjRoF8VC1QUAqATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAuAAAAEBNoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATKBdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXYBAACAmEC7AAAAQEygXQAAACAm0C4AAAAQE2gXAAAAiAm0i0SSrN8ZjZ5uDjaSpLunQJ7Oo+HFbtJ5Y7D5bGvr6XC9i8ABAGDKoF0kkmTt+ibapXPQLgAAEA7aRQLtMh1IZwAACAftkrMx2LTH/Xmfyni9YxZHu2QWpvuDtVlHBAAgYtAuaZqmF4ejZ1tbdo8yZe2SrA/taGwMNp+ONq+vJeMord8ZjZ5tbWXHnfWkeOVEfuUTMePIJ2uD+6PN62tJNoHybGtLD7Y8bmuD+8JzNwcbWsT0V5DPlj9Xu7FShNVrqsN4bu2QG8IEFgBAQxZdu2TqxOiMjbPT0y6W+cGlPyaj9qwXVDEP0C4j1WtWMnUkyfod7UpDTimVkMUke5AeK+Fs+XP1VyhGIxzb2tFWyPXIROoi2JkAALpgobXL2EXUO+ae/pyRaWVZH056fVdkLg4n+iNEu+i3O6fJQjCkgCGh7FgJZ0seVEXohEe4xZDrRynLjs7ckwEA5pjF1S555yF2otPXLkYvq3fzhtElv359qLROiHZppbe2tYvRB+u/yGdDHuSzitWOcIshN4vV2vVNSToDAICTxdUumY9LaSd6cejWLtntPl8K+WxpxDK9YvS4TvExNe0iuI90p11SbVKviVeK00O2Scit5L6KAL4vAACVWFztkgbMGaV+7dIdSo4k68OCFnHZXfQ5pu60izHvU2p3EWay0ipzRjpNLCXy6p6Z2GC63tIGAGCOWWjtkpb56s4ENVFlyKbK/i5FB5fa2sXnQezTLkY85bMVY1JzgXHpjVNeuoyvLgBAExZdu2T410jPZnBsrM2ZxKe4iNp07NXUibGqKG1md7k4nFinVMg+7XJxWEgx+axMsj40l1vXmjZy+Lu0FHINWCMNANAQtEuOZ2+62WgX4bmZfBl7aZgXaHu3DC8WLRxNtIvlGrJ2fdNcZzSJVdGcIJ8tRb+9XX+XVkJuJSYAAFAJtEsfiauHk31va6/EbhGnqxAAAEQK2qWP9KG/DycC7aJtkwMAALGDdukdzi8D9Jl+apfrw/G+ONkEHI6xAADzQhza5cD+5MR6MjrymdGRz5xYTw7sn3RC86RdfC66Paef2kX/ABOOsQAA88THdk+LNE3r3Xht48/8u7/5mf9wfe0//Z3X/tPfee0/XF/7d3/zM+9s/Jns7JEjR2qE+bnNpTk76qUtzAczL369Oj72Jx/72J9Mr2UDgOnTd+3yT/73T/9f/+DwH/zz49/7zhd+8Pj0Dx6f/t53vvAH//z4f/kHh//J2U/vRruMjxqJAHPDzItfrw60C8Dc02vt8ne/sPf//s2jH3146of/5is//Ddf1o6vfPThqf/6m0d/7Yt70S7ZUSMRYG6YefHr1YF2AZh7+qtdVpY/8ezvHvrev/ryf/vXX3Ee3/tXX372a4deHxyuEZmZN6+tHzUSAeaGmRe/Xh1oF4C5p7/a5Wd+aukP/tkXf/DdL//w+ds/+Ne/+IPvfumH//5Xfvjvf+UH3/3SD5784g//z7d/8N0v/8E/++LxX8DusvQ5tMtiM/Pi16sD7QIw9/RXu3zqp5b/2/0zP3i49cOnf+3/+y+//sevbvzwP379h//xb//xqxv//b/8xg///V//wcOt//btM28c/XyNyMy8eW39qJEIMDfMvPj16kC7AMw9/dUuP/NTy3/4O1/66DtbH/3+6I//043/8Uf/4qPf++JHv/fF//FHv/3HL2989Pujj76z9Ye/86Xjr2N3Wfoc2mWxmXnx69WBdgGYe/qrXX7qJ5f+8z/d/P7vbn3/90Yffff8f/+vd77/+1/+/u9/+b//1zsffff8939v9P3f3frP/3Tz6C9gd1n6XI+1y65du3b/46XlD5Y/8cauXW98YvmD5aV7n9i9a1f7D3prafmD5aXrrQc8PWqnVdXScuAXD/z29unf+OVPzLzcdnGgXQDmnv5ql098Yve/+rW//P37o+9/+83v3z/10XfO/vDF3/7hi7/90XfOfv/+qe9/+83v3x/9/q/95c/Huc7owJfS37p19MPbx379lyr3H2997eijW4e//qXCjTUSYToU+uPP7l66t7T0j3fvcvbH15eWP1j2ng14ytK9pd2fbV8V1afiG1VIqyJVi9AXvrbx+O8f+MLJKWmX1ku7fKBdAOae/mqX3bt3f+bP/uT/8y+++L3fOfW9D059794Xf/Bv/8YP/u3f+N69U9/74NT3fufUH/7LU5/5sz8Z6Rrp2q35gZOrv34rPu2SqYoOtUtmpah1b4fU0i5BaVWkYhH6c7+xffq3v/apeEu7fKBdAOaeXmuX3bt3b/6lP/v//vbmH/3LL/zRv/zCR9+9/NF3L2d//+G/+MIXD//s7vb2pvvC1zYeb3/+0rRGovW7gdi0y+7du3dfH/fHu3Z/Irg/rvqIzFzRcrDTx59Wu3bt+3vbp+/+4h77pkrl+cAvf/7x9sY3frHvRV0o7Z8TFRjaBWDu6bt2+cnlT/zhPz/xJ7976k9+99SfPP6lP3n8S9nff/T+//bJpU/sbkm7XLpx+snOyGgH1WDxw9vH3K3nL30uO/vh7WOPvpEqC3z2+29d2ZO1vMbtX7hyWN1lj0THFvI9X//GUSNk48bJo7+2Gqhddn3u0Heen3/14sKrFxdePv/S1z836el3fWnj1YsL3/lbn9q168//5vPz9gXqmvz2bx/6i63oj+tLyx8s64ehbDLzQ37KMyWUmyiKriGZJaYQ8lvavWOJkM3RmM+Vz3b/Rj7WfnHjyc7o8dv7jN9DyvO4y//UN/7+6cc3/pz5e1SlXemzJzsj+13QLgBzT9+1y+7du3ftWko+u/aZ9C98Jt3/mXT/Z9K/kO7/+V278t66oXbJmvInOyPDb1FvqccN+ufe0kaxb33tqHHBb13ZY7Tm+jXq9tLW3NdeN9QuuvIYy5eNM2pMP9YuZ/7heecF+u/Z8Z2/9andu3fv2vWpr3/bPFVB3Ig9vUN/uHxXnV669r0Fw4z13EII8tnu30hg1y8cebIzenzztTXtrtLyPLnA5aUbXWmfxPyXP/9kZ2T47qBdAOaeCLTLpz/96SNHjhzWOHLkyKc//ensbBPtkpmdnfbzrFVVDeWBk3u+/o1Ja67a+kkL/qX014ut+aNvHP6tW5976+QnnHbvAyfzsaavNc9+z4PS7q09Z5SJj5f/8M9n/92161Nf/7apXV5++0vfeb5xZteuzPqiTC9K92R6Zffu3bs+d+g3W9EuGg6flesFUbJr167d/9js6QO9dE19M1YYmZoZL+oZByKf7fiNyoNNXru7ffrx9pFT4xtLy7Nuq7C9dKMr7bYa0yfI0C4Ac08E2uUrX/nKxYsXL2hcvHjxK1/5Sna2tnbJmzzPagt92Gc7GBptvdmYWm294xqxNVc/2pfV1i5/8W99SQmL3/ySZbqw1ImOoXs6wu7pM8FhmkzK7jJOCZYVFaa+wKf8bMdvFBTyrj2/cvP04+2NX0l27Q4oz7q4seeSoivtVvif+sbfn4g2tAvA3BOBdrl06dJfs7h06VJ2trZ2yXwCBP9cw2qtZuJVC+trrMfDx4LVfebaZXdRvhimkdzuok0SKZRlxSlrWsSpQvTO3q1RPF66xo090S5BbxQS8q49v3LztPJ9CSnPn8u9dN0XxFXandpF+b6gXQDmngi0y4ULF7761a/+dY2vfvWrFy5cyM52NGdkN7v60DNkJKr7MzZozXP/x1a0S4Y+yzOZQsrnjNwTPYLdpds5o8lTNLdZze/E6aW7e/fubJGO7p/rnDPS1El+vUe7FM92+UZBwe7a9/eqzxn5vHRjLO3FwLO3Zs4IYIGIQLt88pOf/OVf/uVf/dVfzYTLr/7qr16+fPmTn/xkdrYjX923vnZUb2eN5lsNUkUPgBZa8/y52qDWbt8DtcuZf3henyoy3V9E7aIMNtP3dynIheumT26uSN6ylUFBbailPT7tkoesNJB8Vo+t6ART441Kqe2rK+ylG11pn4SMry7AQhKBdtm9e/fS0tLq6mqSJEmSfPrTn15amnTVHa2Rdq6AsI3bwsoLZ2vuvFFvr53P1c31dgiB64zshUK644usXZwCpfUpJJ9nq2+tUL4Diks96FaNCiuJ3pKeqyukQKtJ1Tcqpcka6Us3vN4w0ZX2XFSxRhpgUYlDuwh0tzddcc2nw2pduMDa8aKV1tyzK1c+GK2kXXYX5YtzfxfZWFK4va39XTTcMyxaZ2/IlPx6j3RQppc8zGx2yaNdTAEkn9WfXtXuIr6RTJO96Ur30o2rtMtvhHYBmHvQLv06DCt6+NF6wk6fSvv61/afzZH34W1pl96pfamgtHgIXroxlnb5QLsAzD1ol34dC6Vddu3a/Ylxv660SKDzR6XP/TjoRrs0eaMmyGUjxEs3rtIuH2gXgLkH7dKvY+G0y73y2ZlO6E67zOKNZl5up1za5QPtAjD3oF36dSyUdtltftyn8g6z9elszmgmbzTzcjvl0i4faBeAuedjn50WaTccOXKko5ABAACgh6BdAAAAICbQLgAAABATaBcAAACICbQLAAAAxATaBQAAAGIC7QIAAAAxgXaBbkmSfXu3l5Y/WN5zJknO7Fn+YHnp3p7VJGn9QfveXln+YHnp5mrrIU+NLH3UsedMEn42RqZWNpLB4P3t0996M/oUA4AMtMtsSA4dvHvr6Ie3j717onJ7eu7K0Ue3BlcPxdEQF/qn1/eu3Fta2t67z9U/rd5cWv5g2Xc25ClL91b2vj6lZFm92f7jYtcuVXMwvGw0ZHjp5ONvDoYdhOxkcWo3wKxAu8yG2q1bkrz27q2YWjddVXSoXbJRezc9n+Nxyeqee11JJb1Hr3p2ttTTLiFlowlJcvBb26ffv7TWbrDSExemdgPMCrRLzvDSycfbx85Na2RWmxhbN2WiyLv8DvqnrNecWneOdmkLoWxU0hxC/U3ePPZ4++Q7gwiSS6jd01dgAH0G7ZKmaXru6uknOyOjXVCDpw9vH3O3JicOZ2c/vH3s0bWDyiKd/X737P6sJTJuH54dqLvskdnYYrz/6rWjRsjGjZNHX3kt8DWTN44/fH7+1YsLr15cePn8zM03Jo9O3jr16sWFhzcOJMmR956fty9Q1+S3Pzh+og39kWmOwscLi8omG46PPw/k1gr5kN3lKqHPswghL3+wvPL2Pj1WS/dW9r6eqwTdjSbzqrEPdUH2xJW392WdsR1t4bn5BXW1i3qiPalUKVaVNFkrOehjeOnkk53R46sH5cuc9Td/erL2zjdP2yHEWLsDUwNgEVh07ZI1bU92RoYfn95yjRu4w/qo7tyVo8YFd8/u1++9e3a/fo26vbR187VfDbWLrjzG8uXUZdUij7XL5Z3zzgv037Pj4Y0DaZomyYGbD8xT4eJG7vkMDw+fL6fPS9cOXAkFO2Q9BPtGdW+4dtEDUdGWn5uHUEu7GJLI+b7hsQr3mW0lBwWSN4892Rn5vFV89XdygctLN97aLacGwOKw0NolM8M67clZK6MajiTZf/XapHVTbd+kRTt08N1i6/bo2uDurcPnksRpB06SfOzla92y3/OgtHtrzxll4uPlzpFxOAduPjC1y8sHZx4+P3U5STLrizK9KN2T6ZU0TZM3jr/XhnbRsX1Wcv8JJQuSfXu3zZ7P56Wres1J//363j1v70s1+4RhTVGBqP440we2NhLmjMZvsbJyb89qkuhXlj5Xf6Oq2sWYNTMSU4hVYDqHUC8Hy4MdDN7fPm1PCQn1V+H00o26dvtSA2ChWFztkjcBnhGMPgyyHe6Mts8M2Wr7HNeIrZv60b6stnY5ceOMEhbvvWX1uJY60TF0T0fYPZ9u5PC5d/i8dI1e03GLZgBQqiJ7SnavYbQoumKUaBf3ZFDZc8c/VtYuxmyRZuTIYyjEKg1L5xDq5WBQyNnUjyZT5Po7vsvtIxJ77bZTA2DRWFztks2RC8MXw4qrZqZVi+NrvMbDqcPCwGj62iUtyhfDNJLbXbRJIi2quWXFKWtaxKlCjDkan0YxJ1DGHbyzq3ZpkYIgkG0YaYjdxe98IzxX+FE+65wwsmeFhPma0nQOoV4OBoU8nhtS3h6l9TdNMy9d9wVR1247NQAWjcXVLmmYzVm1L/pQLGRkpvv3CcGWtW65P2Ar2mUcwmSWZzKFlM8ZuSd6BLtLp3NG2lMcbrNpKnnpNre7NNIuzrfo2O4ieMIGriH3pXMgNXIwKNi8nlabM/J56Ravia92+1IDYKFYaO2SaiMYw5vv3JWjertjNGdq0CbOiLfQuuXP1QZ5dnsXyOWd8/pUken+ImoXZbCZvr+L3kPbciQb08vzIFX8XXJVEahdnPJC7L9Lnju+rIZ2yX/0qRNZu5Sm8yQEcaFQjRwspbavrrCXbry1G19dgIxF1y4Z9hpL54oA29grrERwtm7OG/X2y/lc3XxthxC4zsheKKQ7vsjaxSlQWp9C8nl6GsdEUojGBn2grw6lY5zLhdTZAO1iBm6sM/KphJDnmvM+46Dks84VTILLjo6czsb7Csqjag6W0mSN9LmrXm+YSGs3a6QBFGiXHHtvq+IaSIcVt3CBtQNEK62bZ5eqfHBWSbukRfni3N9FNpYUbm9pfxcdZ/9aXNNbXI+TXS8O4gu3G/uO6Fu/FEMu1S6pZkSppF1CnltPu9hRCtcucjoXQqhodwkJ2Rtag73pSu+NrnazNx2ADtqlXxhW5YWi0r7+c7a97Hww5S8zSDHxe+nOkEWu3QDtgnbpFwvVuiXJ6h415aE8NsKcITr9dB8E0iQHu4xVuZfuTFio2g3QKWiXfrFQrZs9xzHND0FDc8jBSixU7QboFLRLv1i01q34sZs6e7nCbCEHw1m02g3QHWgXAAAAiAm0CwAAAMQE2gUAAABiAu0CAAAAMYF2AQAAgJhAuwAAAEBMoF0AAAAgJtAu0C365v3jb+J0sgtI/k3mWW/qOn9MLQeFLz8DAOigXWZDcujgXfFj9wLnrhx1fsWtnxR6PnEj/+yjffW2+c+e0p9NXdWObT383FLVdA7PwYYML530ffm5CxanDgLMH2iX2VC73cw+MxtRu6mrig61S2++Apgxf9olJAebMP3vJC9OHQSYP9AuOcNLJ3v44VmbGNvN1Zvjni9Z3dNNz5f1xz0UCvOBkIOVNIdQy5I3jz3ePvnOIIIcFOrg9BUYwGKCdknTND139fSTnZHR4qhh2Ye3j7nbqROHs7Mf3j726NpBZevOfr97dn/Wxhm3D88O1F32mG9si95/9dpRI2Tjxsmjr7wW+JrJG8cfPj//6sWFVy8uvHx+5uYbk0cnb5169eLCwxsHkuTIe8/P2xeoa/LbHxw/0Yb+yDRH4WN+RWVT/FyOe0ooNwZYThjyvcZ3BHXdk1lxVt7ep65RtzuNFvmPN1fTsduNM1gjfPf7+mMVmBpOWklnH8NLJ5/sjEq/2+ysZfnTPV9+jrEOBqYGADRh0bVL1mg+2RkZHoJ6mzhuOg/r48Xss2r6cffsfv3eu2f369eo20vbTV/L2FC76MpjLF9OXVZt/Vi7XN4577xA/z07Ht44kKZpkhy4+cA8FS5u5D5V7+OFr/05vXTle/WuWh0rb+/T7115e58evez2sU6a9O65KWL8S6l2sV958tyAWJWmRnfpLJC8eezJzsjnreKrZZMLXF668dZBOTUAoDkLrV0yA6/TUp21X6pJSpL9V69N2k3Vqk7aykMH3y22m4+uDe7eOnwuSZwW5iTJR3W+djP7PQ9Ku7f2nFEX0+RvAAANr0lEQVQmPl7uHBmHc+DmA1O7vHxw5uHzU5eTJLO+KNOL0j2ZXknTNHnj+HttaBcd22dFt2ekueOFZVzxeOnK9xpzTMajx/9dWcn0iqZOdMdVX7RVrByGk7FK0PXKnvHfcqxCUqO7dC4PdjB4f/u0PSUk1DKF00s36jroSw0AaIXF1S554+IZG+kDLNuVz2hVzZCtVtVxjdhuqh/ty2prlxM3zihh8d5blu3dUic6hu7pCLtP1W0YPl8Wn5eucK8xL6MZG3IBZCsMxxPHPb3T1canXQyVUClWIakRQr10Dgo5m/rRZIpcy8Z3uX1EYq+DdmoAQFssrnbJZt+FgZFhH1Zz3qot8zWL44HaYWHINX3tkhbli2Eaye0u2iSRFtXcsuKUNS3iVCHGFIytUQQvXd+9zqkZfaJE3sVkbIbRTTJua5ARMfWjWxKVxSokNUKol85BIY/nhpS3R2ktS3MvXfcFUddBOzUAoC0WV7ukYdZs1XLpg7yQMZ/uOSgEW9Zu5p6GrWiXcQiTWZ7JFFI+Z+Se6BHsLp3OGWlPyXt9w2jh89KV7zU8VCrFJEMJJsMGYz+0qt0lxE/WlxqB1EjnoGDz2lRtzsjnpVu8Jr466EsNAGiFhdYuqd+L8NyVo3qLZjSUajgozrW30G7mz9WGj3ZLGsjlnfP6VJHp/iJqF2Wwmb6/i9732x1/Zi1wmjGEe1UP7VMnpdol10w3V9XiYfMCj3ZR5g3b36U0VqWpMYm5KIBqpHMptX11hb10462D+OoCdM2ia5cMe/Wmc62BbUYW1jg4203njXrL6Hyubhi3QwhcZ2QvFNIdX2Tt4hQorU8h+XxIjWPiyioaKkrutVbWLFsreiTtotsnCpudTH53z0a5LhBWEuln5TcyY+VXHlXTuZQma6TPXfV6w0RaB1kjDTAF0C459q5ZxdWVDvtw4QJrb4lW2k3P/lf5sK+SdkmL8sW5v4tsLCnc3tL+LjpOxVBcpVyQKb75mpB7U5dvbLh2SV0WlDRAuzgiJu7vYoQvv9Ek5hXtLiEhe0NrsDdd6b3R1UH2pgOYDmiXfmHYqxeKSvv6+yZloJT+fD9B8NKdIYtcBwFiAe3SLxaq3UyS1T1q7Y/y9ghzs+j0o4BzRpN07jJW5V66M2Gh6iBApKBd+sVCtZv2/Eh/PgQ9T5DOlVioOggQKWiXfrFo7WbxMzp1domFEEjncBatDgLECNoFAAAAYgLtAgAAADExz9rlj1dXOTg4ODhaOTpqwwFqgHbh4ODg4Cg/OmrDAWqAduHg4ODgKD86asMBarAQ2qWjRwMAzD00pNBD0C4AAOCFhhR6CNoFukXfvH/8tZ1O9hfJPjA08+1iZYyvLTb5oEF/tvbviKmVHOFb1pDSkEIvQbvMhuTQwbu3am6Bde7KUef34fpJoQcSN/LPPgdYrzPOntL/7WJDtIvaR05WNjW0y+rNWSZR1fwNLzkNGV466fuWdRdEV/f73JDCwoJ2mQ2126/sA7bRaZesy+xQu1TsyA0NEWgF8X0MKDf51OqVHWe70S7ZlwGi0y4hJacJ0//yc3R1v88NKSwsaJec4aWTPfykrU102iXVhvt599lBD5T1i+FTMPW0S6pkijZ5oYTIytv7Qp/exkewo9MuNRBKTiXNIdTu5M1jj7dPvjOIIE2Eut+pAkO7QA9Bu6Rpmp67evrJzsio+Wp49OHtY+724sTh7OyHt489unZQ2Zyz3++e3Z+1Ncbtw7MDdZc99hrbhPdfvXbUCNm4cfLoK68FpFOapmnyxvGHz8+/enHh1YsLL5+fufnG5NHJW6devbjw8MaBJDny3vPz9gXqmvz2B8dPtKE/Ms1R+ExgsTMufojH3e/mg/KxnvDNH+lj97zjF51jdH2jYmUbRQxNYKsiW9P4tEsmjAQt5fiqooqY/7lGsJN7tdfX09mIcxbyytv71NPDBVAr+etjeOnkk51R6ZeonbU7f7rnW9Yx1v3A1KgB2gV6yKJrl6zxerIzMjz19LZp3IQd1sdt2Qfb9OPu2f36vXfP7tevUbeXtl++FqqhdtGVx1i+nLqs2tyxdrm8c955gf57djy8cSBN0yQ5cPOBeSpc3Mh9m90fO701bS9dpxlG1yul2sWOWNad21YWw/4RYtGpp12cIYc8t1S7uEMunl15e5+eJoFus63kr0Dy5rEnOyOft4qvdk8ucHnpxlv35dSoDdoFeshCa5fM0Oq0GGftiGoakmT/1WuT9ku1bpM269DBd4vt16Nrg7u3Dp9LEqelN0ny0ZWv/cp+z4PS7q09Z5SJj5c7R8bhHLj5wNQuLx+cefj81OUkyawvyvSidE+mV9I0Td44/l4b2kXHngTJPSRUJ5rs27tt9m1OK0vWW+85M55ruLdndWxrySWI1WvqQkGdnQiU1/fuKZoxVDyzSPomjJyrn0r8XVxnJ642RbHimzOyn+ubM5pYU8YXj+fFCpakpe2VlSwZ68491cvf8mAHg/e3T9tTQkLtVji9dKOu+77UaALaBXrI4mqXvJJ7xij6QMd2qTNaNzNkq3VzXCO2X+pH+7La2uXEjTNKWLz3lmUDt9SJjqF7OsLu23SDgc81xNmFZzeuvL1vPJ20svf1RAma1KVddP1h9KnmE7UwnR25w5zQXLtoD/W9uPxcr3axlh8rNWOkVbhDjzvdauVvUMjZ1I8mU+TaPb7L7SMSe923U6MhaBfoIYurXbJZcGGAYthp1dyzalN8zdN4wHRYGPpMX7ukRflimEZyu4s2SaRFNbesOGVNiwgqxDnjkCFMD628vW/f2ytL2ysr95byv13WAsOkUep7q18g98dtahdbYRQfXfrcEu1ScIMtRKCtvVXq5W9QyOO5IeXtUVq70zTz0nVfEHXdt1OjIWgX6CGLq13SMKuyakH0wVbI2Ev34BOCLWu/co+/VrTLOITJLM9kCimfM3JP9Ah2l07njLSn5L2p2R8XvXTN32+urt4c/7u9d+9Nx5WFR4/PynaXVJuRUQaecTxzi4XhJ9u1dgl5bkO7S/PVYTXyNyjYvBZXmzPyeekWr4mv7vtSowloF+ghC61dUm2MYvjrnbtyVG9ZjAZLDcvEOe8W2q/8udowzm7RArm8c16fKjLdX0Ttogw20/d30ftvW1IY0mESVL6kdmXl3tKeM0lmcVnZdi/PtndtUcYAp79Lqs3grBRdbcxef7yIpg1/F/c8jqFdhOca19i/W/4u43VbAdplLIAkJ5ga+VtKbV9dYS/deOs+vrqwOCy6dsmwV1E6ff5tc66w1sDZfjlv1Fso53N1A7UdQuA6I3uhkO74ImsXp0BpfQrJ58tpHL7FycUIj+WItrOZHrhj/UtBgkzMALY3jHGBc68X39yN842MuSorYgVrULV7C9rFvMbWas73LdUugVaTqvlbSpM10ueuer1hIq37rJGGhQLtkmPvXlVc5eiw0xYusPZ4aKX98uxDlQ+/KmmXtChfnPu7yMaSwu0t7e+i4+wji+tyHS6xvs5S38XVNi0YvaYzkMKjPX42LpvKZAuWpe29+8azV87nVtIuhYeqkNWyI/G5dtxMZaNvZuNM5w7sLmYiV1m71GRvutJ7o6v77E0HiwbapV8YduOFopJfRStb08I06c/HIwUv3RnS27ofY0MKcw/apV/0tv3qgiRZ3TMxG7g/FeS9t8uP80ErNMnfLmNV7qU7E3pb92NsSGHuQbv0i962X13g2OE+qq/tgAz5W4ne1v0YG1KYe9Au/aK37VdHFD9n03QHEegb5G84va37MTakMPdEr10EVJXj4ODg4Gh4TL8NB/CBduHg4ODgKD+m34YD+EC7cHBwcHCUH9NvwwF8zLN2AQAAgPkD7QIAAAAxgXYBAACAmEC7AAAAQEwskHYxvhw7td0UQj4tCwAAAIEskHYZXjqpfzkW7QIAABAjU9Ius35Nx3dW0S4AAAAx0rl2mebLGF+610nePPZ4++Q7g8mpWWmXTr9WDwAAMPd0q12m+Sbnrp5+sjNyagLnl2PH2mX/1WtHP7x97MPbxx5dea1412vv3spPGSonkyP6cffsfuFew+4yvHTyyc6oh1+yBQAA6D8dapepvUMmTZ7sjJQfrnlB0Us3I9MuPgmSHDp495Z5weSspV10ceM8a8wZJW8ee7Iz0v1vAAAAIITotUs2BWPMBxkYXroZSrtkmmN4dqCbXowZJdlnRb83SXJDzmSSyHNvpqh8k1wAAADgJG7tknf/ovXC51+SqRPDlJIpDHvGJ7ed3BpcPeQ1ruTa5dDBu7eO2lc6dU8+mSUKLwAAANCJW7tkPi6y6SJ585jzAsGy4pww+vD2sUe3DmfhZIYWt3bJwhlfmQZoF3xfAAAAwolbu6Rlc0ZOL90MSbskr71btJ0Uw8ytMspmU5gzCtYu45gzZwQAAFCB6LVLKvrqOr10M0TtYvqsFB+Xa5fsXmWkGfu7FM+Op5bw1QUAAGiFedAuGc410ueuer1hZG9c51qhzNCilI1zzij1rGBijTQAAEArzI92Sa296eRd4EpXEtkeuxPHXu3Uo2sHh5l/rrY9jJIvk7PsTQcAANAGc6VdDHxeugAAABAvc/stRsFLFwAAAOJlbrULAAAAzCVoFwAAAIgJtAsAAADEBNoFAAAAYgLtAgAAADGBdgEAAICYQLsAAABATPz/UGDliJyqN4cAAAAASUVORK5CYII=" alt="" width="511" height="382" />

打开www\js\app.js,将'w5c.validator'加到module引用中。

在app.config事件中添加配置全局属性和显示规则,将一下代码拷贝粘贴到app.js文件中,位置如图:

代码如下:

.config(["w5cValidatorProvider", function (w5cValidatorProvider) {

  // 全局配置
w5cValidatorProvider.config({
blurTrig : true, //光标移除元素后是否验证并显示错误提示信息
showError : showError, //可以是bool和function,这里使用我们自定义的错误显示方式。
removeError: removeError //可以是bool和function,这里使用我们自定义的错误移除方式。
}); w5cValidatorProvider.setRules({
email : {
required: "输入的邮箱地址不能为空",
email : "输入邮箱地址格式不正确"
},
username : {
required : "输入的用户名不能为空",
pattern : "用户名必须输入字母、数字、下划线,以字母开头",
w5cuniquecheck: "输入用户名已经存在,请重新输入"
},
password : {
required : "密码不能为空",
minlength: "密码长度不能小于{minlength}",
maxlength: "密码长度不能大于{maxlength}"
},
repeatPassword: {
required: "重复密码不能为空",
repeat : "两次密码输入不一致"
},
number : {
required: "数字不能为空"
},
customizer : {
customizer: "自定义验证数字必须大于上面的数字"
},
dynamicName:{
required: "动态Name不能为空"
},
dynamic : {
required: "动态元素不能为空"
}
});
}])

添加自定义验证显示方式代码:

位置如图:

代码如下:

var showError = function(elem, errorMessages){var $elem = angular.element(elem),
$group = getParentGroup($elem); if (!isEmpty($group)){
if ($group.hasClass("valid-lr")){
$group.removeClass("valid-lr");
} if (!$group.hasClass("has-error-lr")){
$group.addClass("has-error-lr");
}
} var $next = $group.next();
if (!$next || !$next.hasClass("form-errors")) {
$group.after('<div class="form-errors"><div class="form-error">' + errorMessages[0] + '</div></div>');
}
}; var removeError = function (elem){
var $elem = angular.element(elem),
$group = getParentGroup($elem); if (!isEmpty($group)){
if ($group.hasClass("has-error-lr")){
$group.removeClass("has-error-lr");
}
} var $next = $group.next();
if (!$next || $next.hasClass("form-errors")) {
$next.remove();
}
}; var getParentGroup = function (elem) {
if (elem[0].tagName === "FORM" || elem[0].nodeType == 11) {
return null;
}
if (elem && elem.hasClass("item-input")) {
return elem;
} else {
return getParentGroup(elem.parent())
}
}; var isEmpty = function (object) {
if (!object) {
return true;
}
if (object instanceof Array && object.length === 0) {
return true;
}
return false;
};

Stpe4:使用

打开www/js/controllers.js,修改'DashCtrl'为如下代码:

.controller('DashCtrl', function($scope) {
$scope.saveEntity = function ($event) {
//do somethings for bz
alert("Save Successfully!!!");
};
})

打开www/templates/tab-dash.html为如下代码:

<ion-view view-title="w5cValidator Form验证测试">
<ion-content class="padding">
<form role="form" w5c-form-validate="vm.validateOptions" novalidate name="validateForm">
<ion-list class="list-inset">
<label class="item item-input">
<i class="icon ion-android-person placeholder-icon"></i>
<input type="text"
name="name"
required=""
ng-pattern="/^[A-Za-z]{1}[0-9A-Za-z_]{1,19}$/"
ng-model="data.username"
placeholder="请输入用户名">
</label>
<label class="item item-input">
<i class="icon ion-android-mail placeholder-icon"></i>
<input type="email"
name="email"
required=""
ng-model="data.email"
placeholder="请输入邮箱">
</label>
<label class="item item-input">
<i class="icon ion-android-lock placeholder-icon"></i>
<input type="password"
name="password"
required=""
ng-model="data.password"
placeholder="请输入密码">
</label>
<label class="item item-input">
<i class="icon ion-android-lock placeholder-icon"></i>
<input type="password"
name="repeatPassword"
w5c-repeat="password"
required=""
ng-model="data.repeatPassword"
placeholder="请重复输入密码">
</label>
<button type="submit" class="button button-full icon-right ion-chevron-right button-calm" w5c-form-submit="saveEntity($event)" >提交</button>
</ion-list>
</form>
</ion-content>
</ion-view>

浏览器调试,结果如下:

其他:

感谢why520crazy

其他关于w5cValidator资料,请参考:http://www.ngnice.com/posts/236860ed32d3e8

w5cValidator更多Sample,请参考:http://blog.ngnice.com/angular-w5c-validator/example/index.html

在ionic/cordova中使用Form模型验证(w5cValidator)的更多相关文章

  1. 在ionic/cordova中使用百度地图插件

    在ionic项目中,如果想实现定位功能,可以使用ng-cordova提供的cordova-plugin-geolocation. 但由于高墙的缘故,国内andorid环境下,此插件不起作用(ios环境 ...

  2. 在ionic/cordova中使用极光推送插件(jpush)

    Stpe1:创建一个项目(此处使用的是tab类型的项目,创建方式可参照我前一篇如何离线创建Ionic1项目) Stpe2:修改项目信息 打开[config.xml]修改下图内容:

  3. ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法

    This step-by-step article demonstrates how an ASP.NET   application can use Forms authentication to ...

  4. 【ASP.NET Web API教程】6.4 模型验证

    本文是Web API系列教程的第6.4小节 6.4 Model Validation 6.4 模型验证 摘自:http://www.asp.net/web-api/overview/formats-a ...

  5. Asp.Net Web API 2第十五课——Model Validation(模型验证)

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址htt ...

  6. Model Validation(模型验证)

    Model Validation(模型验证) 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/344 ...

  7. ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证

    原文:Model Validation 作者:Rachel Appel 翻译:娄宇(Lyrics) 校对:孟帅洋(书缘) 在这篇文章中: 章节: 介绍模型验证 验证 Attribute 模型状态 处理 ...

  8. 【翻译】asp.net core中使用FluentValidation来进行模型验证

    asp.net core中使用FluentValidation FluentValidation 可以集成到asp.net core中.一旦启用,MVC会在通过模型绑定将参数传入控制器的方法上时使用F ...

  9. Web API中的模型验证

    一.模型验证的作用 在ASP.NET Web API中,我们可以使用 System.ComponentModel.DataAnnotations 命名空间中的属性为模型上的属性设置验证规则. 一个模型 ...

随机推荐

  1. TIJ——Chapter Eleven:Holding Your Objects

    Java Provides a number of ways to hold objects: An array associates numerical indexes to objects. It ...

  2. Linux系统安装

    http://soft.chinabyte.com/os/447/12439447.shtml     磁盘分区 http://www.huaweigold.com/doc/ServerDOC-201 ...

  3. UISegmentedControl 的使用

    /** 设置选择器 */ - (void)setUpSegmentCtr { UISegmentedControl *segmentCtr = [[UISegmentedControl alloc] ...

  4. phonegap android 输入法弹出会遮盖表单框的解决办法

    phonegap android 当页面内容比较多,表单超出屏幕范围时,点击输入,输入法会遮盖住表单框,而且无法向上滑动. 经过测试发现,是由于config.xml中设置了 FullScreen 的全 ...

  5. UWP toast

    Windows10的自适应和交互式toast通知是一个新特性.它可以让你: 创建灵活的toast通知,包括内嵌图片及更多的内容,不在局限于之前Windows 8.1和Windows Phone 8.1 ...

  6. OO Design

    什么是设计原则? 设计原则是基本的工具,应用这些规则可以使你的代码更加灵活.更容易维护.更容易扩展.基本原则:封装变化Encapsulate what varies.面向接口变成而不是实现 Code ...

  7. OC-01 编译链接的作用

    编译:检测代码的语法合法性,随后生成.o文件. 链接:把项目中所有的.out合并,生成一个可执行文件. OC编译连接过程 .m---->.o---->.out  . 检测源文件的语法合法性 ...

  8. 鸟哥的linux私房菜学习记录之软件安装原始码与Tarball

  9. Android EditText中插入话题模块的删除处理方法

    在 EditText 中添加话题 或者是 @某人 时 看起来挺简单,实际操作会有很多坑爹的问题 private String mTopic: //光标保持在话题的末尾 mInputEdit.setOn ...

  10. spine实现预加载(一)

    前言 本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象. 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装 ...