{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAASwAAAHMCAYAAABvOZX3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAB2HAAAdhwGP5fFlAACAAElEQVR42qz9d7xlx3EfiH/r3DtvcsIgDNIgExmMAAEGgVESkyQqkgoWLcuWLK1lW07rdVzv57f+2XK2dy3ZCqYCLVGiRDFHEYQYkUgiY5AGcZBmMDm89+6p/eN0d32rus99D9q95ODde06f7urqCt+qDkd+9Ef+lUIVACCqAAQKBVQBHX5huJ2+KyACdc8AogCGJwFVCPyzwHCNf/PzgAI9/CffE031p3rKZXtAyn+10CF0pdADelbTc2J1SH5WPSm5LwK4+ks/XD2ZQKH+SaFdRSBQiKZ6pDxa+i18IY2DlF725Zvvk/p6RCEqhU4RGq/QpkCGNksd9F8xXuYx6ajDIsSD9KXjcSH+FjlIny7yjMvRwyq+DBz99KxY/5gmoXES8f0XUSoX22cOcfvq6jZS29cz70TydZN/K2O61FFfkGRFqG0I0CnzrG/wEJA+tSVJpjNftA+8Sc+qyXnn6lP7q8RLEI1UvnP6qkURrR8KNg+SlF96GlfVQnP+24E6XVS9GCgeLqpd1f2VzEQaJDNOVH8wAmBjRfeUmEJVZwKDSXIV2n+LzSUGMUkaHtNAhtgN7rtWDwYJ4R+uaIN/zY8Nbv7XUkymRkN/TFaEe232nwsFWbVrahW733FstdzT8NvkhDmTpUMCK+JY2vhpkI98s9xrjIgS/1oVO/JUoCokW2HI1CTON2TcVX64KV/M6JokyWNNTtGVEz+W7AhqHkcpkcHiQ1EJywg9QTTcNcFf4OP6grEfK36mSLw0q+atqEdZrBXqLGEkrOpYHG1tfU/sJcUqTItGVE2EBDVjRcbaY0Z5s1eQlaC6nh8RV5WE+hVMjau3fPdCK/S4ZC9U8UzjBddWLbeaBDR5aapTJBoKj5wqbuZ+SWwDTSSYqyjU5TK52yLOgZSmRb1hLoPf8J6BNi1oSTwvHau4X6EzDA2TMpSS1Rg0iAkyw33OtJVmtNXuUCcjFs3frXONvrc+Qk66SWbDXgWEnH+UMWM+hPr/whZs5U81hACmxVhFD0AD1fTM5XvDawQEoaopRIjIyZ5V+p0Nh7qK5xtIviDN79YHob4KS1sSfvRtY9Py8vVN87Qq1QMVMUUwc3VaSVMpk/lRQgVt1+8MkIaBdwpoAe4oigtWuzwl9bg3MNJgKFihtfdmo/IK0axkLzGOZsWE2Fci1jd1pAyhsnmLBhERJDt7NdTZJ5npyv1ohBPpbFCDDrTGr7pWgYVQpJDvR1HC7erDNlzD7xGy5tmmzOP2s9Ls91iTvv9W6bSNjtS8QmYWGxCHuhqMDfUUrxOYn41URYIboKSE5r6MO9EgNaWrNRJRaDxy5Muc+2jW3UCUxQDU+mMXZVxuVY1mCc+Jb9Zwoo4Jk7Z1nXlZcYskj5xI5IAz6gZO6vZjrq1uEIaUzFLkep19Zm+/YkjEFzXRJ96QEX8dQnKVSeGLOdM0Hi3IQuMUILkHTFqqh+nEwC3OI0LHPOjYMLbNgITrFTgaUYlYXcV2RZ2HzbW3SHF64XNfjRrcp4SERflDfooC+fK7IiwYqlGD4x5T18woHYxBVB0C8XWyYVHkJGkxuAGv+Txb5npjJApbQ3vVII6PSi0msbnWs0GwaPQMJfgxaA1wi2QGFhKeMUdV86sJ1fKNjFCVLFcJcfsGZUy7UN/UteXdBfWTNVXM5HRW0oFAZxiiDxMtPLWpDddkYB51PXgDRz/nLavum1yLq3c8pAPVa6F1VWXtOQhe5gmfUWwzSm/dTPt6RpHjhXyIudrPUGHnjA0nSRUD5nWhom9Fc/KSqvDZzvSP6igWmZmT2i6zKq4Zl8kqDzSjLdYhqJMXri0/78OjRJdayKghTHa94AQ04LHwCPQNlTT6FcpoKKIDTRIT+IFfWrPL1ePs3DzPGT8NclWNruxwiiiV8mJ0unDct8YIVfNsVRahBi2liZRBj4aXvwmkqksb/HBMImdXyTnzu+pvrrtO/NWzzw3HSXydNzBaP1b/pdIq/gGbzCIMPy9fJlx9mPAI8mbjMlafC5JbA9e80Y3cbQusjN+rPIXOMdFUHf8rzwka0+48GKFXjllaOxj2WVloR/vCUiyVkrYQDDtTrQS+VpBCirb+NfimroGioK2QMs6aNTUdlg/Lhll51k3b/TRj3eBEg0e+30KCbKPiu2h9NMxkVqadOoCrN/OmHk/v8v2MKMoyHfax3hD5xpXKNOtsfbgJ9QXJNpYf2WgV59pyQiMfoYZc3R6sUn3j49kmsnXPljuNMcBLXu266k7457uxigG4dTBcAyfzXGKP3Yd7rGCn0Y5YWV9HqMaVL53Nc8GSCsnwI3pZe1aKUghLEQvQSG6ihhi5BU3orB54aQhbjWwinIJpReXTQ+Nq7cQwEWN1N0SlNCV+2r/0w2C0GUyHAIkWp9VmEKECqEB78XyIhoEnZOi6ht8eaXreed3J8ECqIRzEpxGgB8PsDZQ0yzhPGBjI66zMoBC/Wp/Urca0gIWkxRi3a+GeidZ1u4431EGq2gy1lnpkXL/d0hV2Di/hk2ufRitvNiGudGLPG5W2MtflSc5LqRN4HoEADN1XpeKZ4Rbn5+rqhF+mogVLG4aByJKc/6pZD85x5IRhe+Y9JJsdaogRZMFpKwybzXgx10q+SbxgN8U3Tbkb2pNyrdTI0qo2mn5GOX+qbKsfX5+7h9MCDcn6MfjK4yRS3Uo2Fl4gfC6llI/rDHj6MHSn1Btoq3g7Oo0eWMK5G+pAQbVi1UgxYtLmC0g/ackGp+lizpt1t9EtGhQ/7lVXCsto0SvL00jc4kVsPoSJT+epiClbb2FBjQ05o0AS3xwfz8Aoq/6GmldqICjVtBra2R31hNWjaX+dZJPxkLFBm8/M7Mcq+1z6pG7cc331GDTcfINRpgs1OqoVmun3giP8hceyLA5tCVqgnBWfe1cQSnB+df6dNEqozxJEI3c6aI0Cw4yZONryL15DZzmtCGUZkRAPsgjyPQlDEg1cEBLH0zLLCi9/DSRSJfljvWyEHUsIjUqjvpbY1WS3CzU+EvSw5dDh2Ecy4WzLSs55/P60NalQPdMAVDWAZuWYY8wat8bCsiJ0I3TMBySV1fCeuMnweYw0Ilz+wZFrkN93Nqm4qONSRJUyDypnZQxjlafYBaTEzcWPadmAitvmYoA3VBxRY8Wa6NgI8YpfxuB8+jxHU6EOb9SE+mezhIS2s6cX37Yw7xraHG1idYPHW8SjJB6IaATLAFHihO1nnC5ryrmWca23XjFw0BFLZANX+u/GdiVU77vk2FehTkcyVKLjz/SuZKzGr061JYSU/OTwyYUfMFnyMJeSfNEQzRH4mtyAKHR1DC4OsHID6gSCvRSLrkFb9uBKz5HJaSBSlDqJ5gCxvQJ7JCrWUFUj2xS3MkitTeZfy7jlQWuBs/ZU8zwkjWGanJDNeKjkh8IvPPeaOoxhC/dGgtOY8RCLhvCw0dESZhnvh21MRlhBkSU1IsTnEBLRkLWiY0OMLfqJxdJWVx8yRwMXUEwAf/xsvKbpxmj+jOlk9Fo+q0ljRN6v/kaLF9O6iLM+Vb3+KluAAINDmVjbeKRrZaMzrCmKg+eNQNW3oJFVLogqM280stF5lKZGx9QXHn1+jgEsgh9yX0I1RAjeAExGf2mbYc248CmkbPMBDDTwbgUzzlo3xH2NeavK61FhRlkNhc2TIz5MFdeXOkembYZUnGqgMGcMY3xtVcecnIRmyoLT2FyMVMWYOLDJt1nJ34hczgsTR6S44oK4v2Lh/pi6hVqyoV8NcBmjsGPM7yeaZbQPJlq0IjfDmqr9YahkpI65PHRtrdCbKgSp72deRS+xmp0SClOLIquECFY98REIMK/HN2gcXPkW/rS8xtiSBseeXF+ZwZOKpnzbV6XO7rbqKksKQsFqlrQn2spzuQ0JNDAyNuRf+ttYk2ZLS+LAjOQeucOu/sAD8ayrxsLZaakraDQdNaE9s4lm6Xat7RLNlHMp3lD0MW+HAVVzn91adQOi7ejvJQCy1oNToGXtQ6DLVt0pWzAnYTtHgZshWVkgNiOWVrvEkCrRzTQ4ugJsClPdMRFe4HLThaprJ+64i4lmfy9/cabF+ON2BPP9kCOLI11YG2KK4AYtHFTjuXP9FhC7PDhsqBkt5O06LaDTYoDx13JrtvJcKJEc+gctW2PGxrtaKc0QOax+57qb41VQGvyMIOcU6H4UNXX5uoYbdsMU2g4JoVGg56410PqcTx09NCttPDFSVNo3Vkzkx0eDbqzYBAbn1hVL6JCQl4b6EA9DHO0mS4FiNF7KJGapRUlZmiWIrrQISUAGOPwzE5QFWEtD6pa+j3kqLf1xSikWPrJQxjSMuhtUF3wuRFrthn6b8DZccBmCrI15d1ojC8ggZQw5hMKqc0Y/6q6SscqTD2P8ba7GpMsa86OEpCritTYUjeU3fJQRA8aKAOOoffKRSmMQm0PiFrSbg54yRboaHs9Bc/ONVcs8qb8p8Y7Wyf9WuyOTGy/l0ypfclg2G89GSxsKRMo259rAKPaz2h603Dmt12p50OAP/mJhVbAqSiU8/n6qk9wkb2ZtsmveffVYItNboUbHxyBxpb+EAbRuj7Efg9lx4ZGq77x9humNC1nZsFcIhIfBoVAbT4fQGJaNQLSoWBpqbwJgIspxLyEft75MOYfSgibqichDI+YAs0w3nhwBHo6Lda6y7O+L0YrMrTguLwhJST8rSgPaaAEcvbiclzbqnjteY3I4UsHox3i2QtLdlMdoJdHNSNtxioxOhKulhMItMUJDXmkVszdKGNESr/DOWLW6r9q6GHteysaEaUV3EzWTwCsZW1ttSWyrN5Ab/9oDWwlIKsqhKofNPgldH3Pn7zexFw+NtxGhZD7upiSJW0ORlSi2o0QPT+81x98MkQ+HKsjBHjgzKowVPe3y2BTCtlkSDERok+mICFsZdZsbFtUSWvK6tebAcyqlFWo2WZGhyHhX4mdu/1fxsfDfZbpX/zx/pxOOwyyhVn/GI1o2cOMHhrUXJHo5snFnwQfVj8LwWik9goqobB7ubh0DU+fhar6I1niLj+HJZZpTKKrt70R/7fxNAbwgeV8ZAYI/DC5XEbingWfRM1O3KgRVk1eAQx7EygvPOSOs7IqQ6o6jt7oWapKR+iu2Fn4I9atltIOBjIaqSQ3c+LI823iRKmceNlbyEzRM/x9bihByryLpZJpxGD6OjML9KjR8KZ/M6XpBc7Nog67Ml6kvSGt32OMzoqr0WMNfP1gu6adRgWI4x7jVew2HACisKWUrw8CsbW+IHh5llEahg6sb7nptFMeQXWZ2rqYeDU+XXzpQqZQjgEOhmifiTJMt6zQHH7cUOQhUjwEHEbVldDyoloQI1UCdKb2T2EzYFp2cIsTzsLnmiuqZ79EjGhOrs9QvLqQq0EcjWsq8ErRnA9qtF52gbH6cj6kfYJ552SsnnQY+eGlY7Yf1Ys4nyGPr9iqbcpGwu01yOHUei0pWoZ+Tq2CcxgwNN18hC3tmbkpefe6qPtIiV8JRuQl1e+y1CXzi9peiUPldF4w+HN0egVXITpmf6opUYY0zRsNz4hBnPJuriUNGrxfZGAM6zmBIc1ycMfYMNDEPdpzpYoOGhmFT+i8j7IL0Sk7NaXEjClXqQzZEdcGC9oVxaUD/rTxR88MS541XFXa3FmEHumqdY8fJwVYDmowAq4atG6G/gfTg0xCNR8gpAu1TW4yBNRnzc15TZpwrF8q3jVX6Tgfct/hQQiiNiXPU7QIQbRChrbKti+qMT3vQG98jOaplDyNdbNPDFwKyaxaOCJHrDsoQz4DPY8Ei41Fq/uMVk/falWdcpp0Ok4vEthSUpJ7TRc1cWGW8WDut324TcB4eqcfYJ4rDoXsNS1wQEzgkjRjfO1ZvrNhSkqWu5Mf6NYK53bPGggaDq0vzYFeiuYo7qU91aLDCh/LX6ZfMMYSjS0byeLe8RObTCvTwrofpmD9oNVzCAbpYhIZXFoNzUl7hatLjJtW28WjlHdkfsgI3Nwq7rz5EzM4+FvTwvGU42kbP+emYC2NU6fYQlc5W4HVwVJwo18oj23epUhlO8MaEtjEt3wphTVgb0qIY2V5C4WcwQA7xuTTVyBjO47XrpBBqog6PQkxPPxsrMywVrGSu27iWvjZIFrhwMiJ7Q3sNHqZv5Qz5UEhJqL2+rHCK6dhnFIVlfas72HwkCEV2No6dc4jzISH3qzBsDCmt2I8GLEcdmjmlz3ghePw5dfrrWYHZ+0kR+rgNt4LQjaFw7cVV2+FWE8JTqIPcO4LTXIFDJdpQwFyveitUp9g9Gpg3RnEM8m9BbEOayydYKRVa3i04XCjx2hy+UrjN9oQnAIRQuYdv1T5jz/x2B2tEKtVzNk6SDJW0DXxE3ZIdEFbH+7HxIL0eO/7bWFHFDuO8WalpZyBb6LgGBbFs0w82Y+r4maeL9adzKawAIpTrDNQ4Bw60XIKnqfGTQXmuI29/GO40zV9bIsSuVY6QajNDVjN9LvNdrzOz7J8jKcJWbbelfK1Js8B1rCKFBi1eymSOD0MpaAuH60aUKi4nk2qjmviMI4i6yIswizejA/6qf4y4agVp/uDUAyl7o+uJxFh3prklG41IoLHvRZtPwxCqK5BOXxv3oaPX1dUr88tH2vxAzY2wWFpbvJ+fefJlRmLmVX26yrT7mpsXihoVy9NoPeI8IYY2GeehdTuJmlqWhgUtgqnlnyenhZXJZMgQdo3ykmWhsuS+Sn+Kg7pOtdSuPoGRjZRX3kZz7dvCtGaBDMZAfDtcwhpohYotOqwufmPxcMH/1up6/m4U2HqkSNGYYWNkOFf9rB7xuU7PyEBP+R770eKPNtyMt2Yv6SUMbpw4IKf25wntCnekOqGXCynmghHMSY+NObKaHeEzzpxO3Tu76+4UxkgSykYZZqwTnWK0vNhVx6myDXJtJJEQqVtkoyBWgQqbrDGREUebI0SZdvrS0rEmS/3AZDKbK+Ub8t7CYB4yeVTVRop8X+tbbpDU5ZW8Arepan1Ea2U3+tiY1Eqft9x4JTQT0fTe3C2xeiVbA6cQvna7EYyf1qXahseOD7L+t7kkSm96CsZfMG64HAWMxPKkQJh9m3s0UPg6D23WN0Y+Eos1bMbIZ0VpmlNgGoFVa8B8XVL+O+/Tum85ZnVm2acoeHEZZaBc8jtnRvNftu/jaERSbmIV+ucGMKZoxr0jK2PmEyc8GVvFNVcjoxUiDy8WUZX4HCe70lqDw3mzsfrG7ihQJZarp8sFRgBZunrH13zUtNGMkfVE479LJlRYjvK9YPIUYbbdxqt1xefY6U6ow3ZsGlMiG+bxtf1RX1F5Pbi130Q3sY28VWm0jXkkZJ2bV05XrOovGAW6j1vWYB1vGKVsY+YtOQj5lIFBQePsZiibv4t76/PghZgLAW1p9aXJoMEJ2HsKeSaqQ1IakiC3NIK+e5b4t1G3UUk0pjW5tfEYMQDUKuf/qnVCEVLJeL0eztsaKeHCinp1ezaFOoSADqQ7GjQ0rFQD/aUTGlozZDXOCuua6tv2dMsyOJHKnpTGO/DMk6COQfVK8tWZotWXrBPT46vd5z/fMm6VM3pJdPjclCLoSiunPprwmsOJNAidE6iG4XEVq4/Nzf7o+DNUd023jHgfemN0g3LbGsNE0/vhrObhDmFeO9eJ37CbiRtLWrYNjZFAkL+c2cQ8oQxI0a/WKNpIhuDaPeNfcppOmihjEOIUodNPtbZrZU9iOMmAT3BoRv+BIe0wQMvG9uFePggrGwYlPo3npvi/1rgT2EATylibRW8j70qOtOVAtHqC+2/jGnOnilYNPDzWvK5cUAPI8eJP5aXck1alrmvR0Y4ZDd6xGupY4aNzfr3Uz7S6EtdT0S8HnLVVxjNkrOviagwdCULCsDzLnlcCFI8nzQRxQHXOISdVyEUkhG4jENpPkatvp+qkhidZ6OZ5q3iHykisFxQK1TUYGiMHIRG3SDu3KvluTZF7/Txpn4g5CX/OWB6DbGRZBgIvWnMkTR45qSypSSFl5dCwzow1uF1SnFwnWfAclVUWUryClIZl/nn9pRUdvTe2bk/G6mmF6s0mTOLLC4RjvY26eFjLko6qzuo92vbwvM+c+9MKvbXC84o52rhWlx211WPhcBWa+l6UPLlLOrMXj0MA6FgYqlrnkHprv1oLpeEFX+oT2rZbLw9kQEYjg8Br21YaLbO59Xoyb8iyhEUJ1aLRTaPpyjPa9Mcn5nEobbb2+eRZv6K0Dk4g5vWGujIKniNXzVyWjmgT/cyOLvBZXEVNeDPQqpxzZEPtnYDn6UvJ2gR4G15OEeeAVqqqMlShidH2W6TTtdbYtDc0i2dHiEFbPtcVqAgeJLDjMsq1NSrRFctQe/PKNlcMo8wGVrhjhUEqhqxObFnYFxTGssZ2Lc8eu6WmaidglmcZ3blkcoPnK3x43Vn9SCOMaSQW3VuyC/2BxhDtjk3JN5sSroMaC3LleMT3y5KFfvgnvY2B2P3IT+sj9UdpiYEL9cL4jnz3izf8/SbiR5+QRx+uh5+jaiOmB80xHPmoL2/YZ2yQ4uUG3pZ5z7Xi/gBRCqCQFetx0rVKkCUryKQAmGq4wCGSo1vnKZbx2Dae5y951kfBhkrBXSP/ls4F4kP1/DYUDs59wnZAiNELeljPxkfpunmlxiJQG7Em+uIwoLaZYwGIR11+PX4l4rA4LiK3RuyUL9VOr0aaNMZ+JbMPX40fibbEM1tRQteRw+toDKJAWljYTrS3+pVzj56rRTay4UhhZzlLieSltVFFeAxKlMn0CtHJmrACJHQz2DS6VZQR0G1jb2Fs2dHaKDsnwpxzI/BgtD8oUcaofANQlZrTI3Wzxo6ROK2hsPhH1cTK8SICHwfBPbzMIVGEgawQzhDoHMEOtBUjERPxVHnxC0qCnbdUaDAWqm68fcjmjYyVbWWP1Pd/9EM0KiCtWLk1MxsMsh0/bOPBetdyhPEcq9ZYxpBrUOzaSDpsTItAhcYi5vtszL0BbfXBh13qiK4Rtn3XNOXnFuc2jE50oKU5kpHWKOdL0iChrXg2u9fcd9mMlYKBbH20fcHRUIkR33WCbX6wtd+19IPHov2p+TEf1Y9wuDxvr6rXmlGDdTQjUZYCOMWPDam7HhGN57nnYOvlA0Wgg9IaXRFR5XqysTUjyKKYE8MF6jZkwS8S5Q3Tuc2xqWWl9nwyhf1sXITKCWi7J3Xd4XollMFRdq3nxgBMqSPtz0zWQCXt43KHNWVEQ5WFMK1GVspNGBLP/WZCmOSwUc9FpaW8kDES+xsdoAZjof5xh6KUTsPPeaxEQH4xR53DCpzlkzBiuZajkDmGqfXRVV6b+1kZlmVcmqnjXHTL4A+/Godk/gUJFVVeOGqDHFMUFVx10BXIc+Dzz7VCGNDa0OSksaU+xjwNJ72DkktGThrqCHUVY1VV3W7TGSuPqzh0DSz2YQazQetBzkjRsysgyshDEOLhs7Lc7oAWMmuYwvRcVk4+IUJsgAJflAxVvt42WCEoSghmTGBX0sIW0qGIIGwH8ieLElqiN0ub44TPC1ajmiZgRvNHqI6BktxGQI3tKrRVI9EasVG9ZrKc0ECYop0cf8mWLTxRh5EtZDlvwTW5FoxznZ0vaMyoEnepgfxqNfBPOW/FBAdPJLXalk7WzOE2xbXJz1ut4tqRumdmuDKAiD11HW1xgfugdK1+vryDSNxQ+8CogKAI+bgg93YkjFRFM1E7H8VboepFfA3rntZ6Ddd62FabIcnOa69y0t2YHesMaEzoel4Y5pjK6Fsb9HjDqYk+8NXs2Pi16gU9cUlQqOuHJI+rm+WmwWwlXZjF0XLVIzaOehqEFKPB17OcjOtwe2XgSld05Pr8Lkjz1ihmoM80l2DvbgilmXVzHqImQZpnnudC2Rk3fX5AXGPIrqzy1ew3swcKolGm6QnuOuMhdsxu6UTA69lA8dEnFWNj4lGI0pUGL1ynLrSeFQl6Hj0597gCw61V2Z5FEvkVCg71ZgJDTpERMHpUs5WxToabsdP017UJlAPdPC3iKtXQlkTmFjSZjVDj/PkkU34ZScttpsyeeKLb57XSkyMgbc7wVHeiHfBIK+tF+9mBZtQh81i7KbruMCJ+ldBRRa3KV9dJV/3UHWSXk5PZSTkP5rnsz0L3DRsIV4PClCeqaWND4sPS2Bdv3EC5jWicEARNoU0DlkxvvSAq6JZXCGeulP2T76RtAZIR4ZznV9q5jBLxOTkzY9JqKSKxyKlWUscLo7q/kq0mGxzJiCWEgzHP5Sr3/bNtMZkGoytiab7eXmHe0IoiAmI0MtoN/JPqC/M7IesVlM2N10qfMBT+tXuNeh1x44s+K26vcAJD3QY93exvJZBttjU+q6NkqHnqYnudr7T1FC0oXMhltXo27s1qUSLcBI1u8l1oKn04FzrqQOUPndBwilsLQIv+WbitaC2rrop/LvJOWnQwX/l2LRyZhK6qPBWtTrWwNsvIRcOk1mI1tqmMhLqkvLSWOWihmS1paKGvxuDTt1oPvCOQEUGqjjpu3jd36FbpxzEt08mU2mjRxvyrwtWOvtt9oUvjn9FkwZyyLSfjueyCU008kfk4UKpf2i6gaPYrXjL94ohpnB3x3hRqeRXTg4ysygX/p7WWacRY8Y941nrsb77AyxsikCoV1dW/hI8f4HgeVdx6Q2k463V21g1DFj1iZUhzhU4X56GfwhjEVfNeT7RaTzUCZIjZRIRb/+AR1WAsmCbbXmOIqicnom4co0chN+n60d7Uy6GNRxHDGJiRz7O5rovN8U/GKGSC2yvXPeKSNIb8Nu24NcXsnYeHY1uOyhC0haBGv0UfGqhntWgO44biJT0cAc5YaNisoBlyNekTpLfmOFVJTCiWsDJE0VhQmSpeq5nLMzCj3Zln/OZFTk3U0v7L6MCf3W8K1CV6edtNm6HUT67H2YOASiPt3L98PC8rZ1SsBvy312m1Q0IDU62XxcYxI+NLeyyHvz3YkA2U9OlXPjqGFkhiJKfZMurSuMY/hG2f5Z44mR7rdwg8pzRoTD0C4LHMCGtFSOSZXBrjwI7HNw5KYIeEuriI+MebvHoJn5V6tsqeY75irvDMKhrIdEzdQWRxj15SvCIcVf2tt+CMoawakUjVZsJ64vShDj1ACqvte2OGCiyotNg08sxW16/kJbxRjpFBRBI+YdKoO3inKgJiKNoIA4TNg1IFQnTkCMXiROJb6EBGdcJ8jcsV4lmlCbELk+GNtOtmiLe4z9W4xB8V2qT1fqE8j7V7qzmx3eaW20TQWZFjDbgb/E7I6rMKXQ6da4eUI+B4lG8rNh5L+rdcNlEdM2iOe4qsc4CsVOGjDf5MGR35t9Mo5cmTQOtgcEzYuWIyPM0zs1Z1aC2Fm/BKXYVt+UB6H5YMRUfOGtVADym/M05OCdjLDt9MgVEwflFKZ1Cs+azAvOm38FEMecZzubK4NDhl/ltQzbwOA9/gsdoaIkbRprAUTgon8jN6ykbKeG7JdRqPkTyb5Dbt5YLunv8vShnejuOdTMBW7Dhb4UnpaDxUsbaYPqLjALBlAAwW8eu2Kty3WigUw9E4KTRilHxvvOJ7W9IKS8Y+DWP1UvoSqIxrsl6K3bMXqap/hZfSX35DCui7X9jpc2BeXtuoazRMj9eYR/6ldavnUy5f3lTTUWokW+a4JGMo6VXI467i0YmeFjKLB8Ll00+zca2OjCkelWAKkdF6zZdf0e4Znr2ky3dVtGlh+IAkGg6Bz16X7GDoxAwOJbP8tIaptV8oQKsx45ARUnGmmRFqvXVsjPYqO2jOb8UV7OPmsxqjKBtMZ8t/2aWKsKazbDVZNS0t/fZaz9JsitwoIw1iAg2FjfKStNA3zayJofIIKp3a9hQiuDKiHpnUrKxDQj7Rs1VP+yys2rCZwCfxHDvmlQyGvZrKTwpXglj2TOXRDrjbnW/EPVHPdGJ2ace5O3VyWV52EeNHl5+BoVLxxSCg1dp+aGIei/M9KHWFcSkbmbPxrNdXWRKdjFg6xcCMFVdah6sA4iEE1UeaFxrC20KPAudwKr0b845V+Cjt68KV5tgwVERWxIWCWtc3lkeb/xkPuQoJK4GmFapwW9UkXK/KvkR6G23X/R/nxjQWsd350YjYX1YoI8AMH0P38k7LeFxyhbqSIkRUNpo8RykvZeCV6vJl6uf5EDkONNTzoIUSS0kLb6pDRLSlYCa8ORcSDbCJuhRD0PLEHjIra4G72VSGoDiC4WywPHtp66CYZ7ZK3O4peH1WzEU0oVH+Kg0hjUotZRRKGMttaPwObxAZLRTw10Q66b8NY8p/3abv1ShqdgRsRVrPytyfoUP2XaU1ozpOXzsMG+mIQzzSNlZz6Bw1wlU1LTSnIw/qYLDMieVmWEEyojCTqzzLRHbFPFoQrmB7XBK3SFpKtouWTdcu/GRDQ8wuK5XVwrN4OFyLGSXvojRwjk8ezUUDEfc9WlfNQLb11Sejbbz8IJXZNhnq7KgOCYpvexs16J2HFqzsxcBywl3I8DtElRFdnglU1w8PHzXZHhPEKgwBr6wz41XQoZiCc76rDrzm5EVzFR52+r/jj1o4nhfnUcO2xatV4WqtT7vI6Es90jB3+YCAlxiHFX6vqu/k8HTlZ1bdwaBi1Zldq3AC/ojkLPiFI+Rlo9V2Zby3rhtnBSDkBTMymTsFF8RNzamRkvhnxOZOKu0buYwQv1WnUtSvuS/1Z+/CxrNiLLVWrafK4VaD/408TnMNFQZj7k5bBDIzwpA2Rj68JIKNlJVvoCdYQl0b5Zzj4AZ4gOt4iw5KRBRZtIyAYMwkeBmtIhiAjGA9YtJ8KtccQ2r/MCcXqlCSxyCGo2NKKbHemt768frXmG15aWFnqD3TNYK0YmbDX18NMss16Irlpwz32Jl4M85cH7SvyiVVMJQp91tkKk/JIZuaZx8cdjA2gEv286kMhUpVp/hwjKO/jXDPbzky3sQzvtp8b9RdSXyI52PfKtpi+GS8qcNf/4lIy9BMaIs2C5uQ2dmc/iWnnp8map7eBnNcm6piuckVw0jqiVsflseIsZaM15WvcSARkFJrK5DP5zRNWN06M+UlvDV1JaMS4p+V6UAwKGPtVMaoEW7qeH0xxIxOpWHKqxpWY1CnMfktRUlbxNZhU/mr4S/9Metr+Q73GKGe5syjxW0oHpVmN4v/D8sc2ICBrsYlGXWuyiyJqqKaYi2/R/oJ+MR/ZqlQ2OjZUBsXCt0cyxvunsNWadxj3YxhXpnlq1BWojNbRrWQs0mHGg01M4L1jZ0pxssjrhIqVu2J0VUPSgO1hjrIqjQu1R+tg8BMmdhAt/nhKq1V9S8SbhXRW8WzqzaV1bFGI4h19RTGnmI8hJcq2jDD61udxplrfyxxDmeCQieOlVyGk3N1jfmXHfgQLho4e3twCw2FkKXQF0KWVB9bex/yUb0VQokGyJcrvmJs72TqmltPlRkuGnRsJGSIISEprdB9c/qjImBlU25J4EM7oXG0lfNhSYtniGfVCBoaU0LeB+j2BJK14DBunh93rMxvpUmeYZB9y4P5vuQooSLO+CyClFANNAjiaPj+8OkHje7xBUWzzKhRSDfGAlhfcOQjUWbahtTd5VC1hIYjlaMIv9mRZlFigNPXlT/TIY8akFFAHHYkthkTO9EzF/OLTp3xahKlVZ0RPbnkeXgFUUZTEgyZ1UnXmjiZhJkMVDY2vn2rLSLA+JVDOg6vuGhEPR7twSEy/xkxqOnBGOq5kzOFlyaEsQb1mXkXFKvtN0lQQzlJ7XJFRUU0Cr7Q5nOpV5SXtpCO6TLuWmKetzLFJ7VFXWggjYr6dziLu8/jJDQKWqPLagzZiOYigo6PyGHL4MZ2nilS2IRJa4zmfeY7PD6TnY1VPX6Bv6Hv85aNt3bQ2Gh76qfQ3j9FDXIo59ovyxni1hxvzNC450M2b3DKupQShnEuSpP3ZA2yqXYWndInZjxCsjyiIxKULPqd1uJdG604/I2kvMbBQPHojiWhzNgEF4dmPm9gvHRj4HJUVpadTSJpfqjlKElDIixa7I7r8rUxkfR/ziH5b/VSBB4R39agUHkzTI0aMkJu5m8Kb0ei3tp6hjGq45lcq2LYl9oQAaItj0vbvGT6RyLxFT8vKfIsQ96gZlVxYXB2q2x8NSHoNJ9/BSAYjzS8RbEJBSihrhxOsAGIb3Zx1/i3usECt6V12QqN0SJW21sYe0D1BNpQ3fPl7RDDWiyy4QrqYz/cBX/ooVZ0aF05kBZwEjoplXgDVYxWCIEsjLU8lYQSTHK92De1QJpVhwP+fT85FMvoqvzmLUzUaMEw2QALhZRhD0cxjkX4/P22T/bWwYXZCcpKuW//LB+YjKoLD7PEkXkNY8WEWPhOsoNs7BryOO4f3CUPIqjtlieMBkRbN6gtaVczLgcm1+XFHVKP96DeTULI/7Qs3FB2Kj0FQBwalWNus46EcKO0ELx73K8H+Pvg9U1hvVRJoNehoQ1kTzN50XjFMI4MXDBGXhZafioiQ/bSIwYsVMfinfOB5UUH7pm6Pks4W9/cqQkxV8IhX6nYHEIfkpqV8tAdn9nwRqCAaynNttGUAF3BNHbL0IjHCxYGSqiOQ848a9lS2TFUKIUXdQiZ6xJ0kJJa8XgrfacXckDod8zFBT/UUuyWOvI4FAM6iuRJrR3NdnseZ1YNy1plR2NTwq8hgT8OyuYQQkCKP1NbNuDDOa+cSnpvYZMd+s+GiwgZQRED0/pwbxxBlZbzkgdeo0X3iEJDXI6e8AzTUzFWq0GX1v43V0cN+/PdgoaoUm7L+27mkyadM4NsewZJMMrheVZfuas1TREDs/BndRhCrMHKDt8b3RerhfklsUD4LfRtQFW8zCEGbmMqPnY/mGHNCCmaX365hiS5HgySp5+MFV8OoV3sppcvj4A8GtTq2flGpQG7wp1q+9VofTr3UulDI0Bq57DGW/Eh9pxtdlXEYXI+tfxUnNHLuuJRShVeURg3f7kA3/PPMRe8kWQuqT/LPF3j0IcNnMb2YAbAb9hsM9qMQLxmvlohBdLne9Z3FCX3KI0MftM9Mn9y3zxKKUiKXhprNFF9NGy+idCgSjOiGCD9SFal6TY1AievWwU1SjESA6IiM5fhW7GOLT8dGw/oiRrnk8Wk+bwYuqPlFSWyQD4nwhu3gnGc7WA582PffstOiZHsOYZ5c42MNDniOWPaJK1m6x9jElIVK4cQrCwU7YqKbLbXe3ngbqG7Ow/LTtdkVBOFgBEYI6l63VMlQG45QzBWhCCcfWQFbx3hbJSSJxkzQlZGSZA00OCeSa7E24BoeOOAtVxUK9nrDWkmztCOn7V0J7EKaBkIcd8JIlBdHskPtDBK6WK2L/yEqGuKOeidgYRWMoJphX58Uqf1OCIUWmBCFbQQVwPziRmhbCB80lyq72oPUk1sZBtyGS2Ezw8YfbTHsNY1Gg9GNC0oW4WP8yzeChCuFUsWehFkTFdXJ9cxr7hTqbrAlFFVWSFOSl/4HmYGVUOlRVdD3soZt4zcRpbgU52ZjjI287yNIyF63mi9PZSwrjY2GavjAH1aZ1A2pcjdV9j2mrLROJd2e+fSs2zACi/NqVQhR2UnpcE3aX71yja+lsrl74KXnZuvKftxWNE5DKyDSTQQT/WrCCP/TvzUkcCS2jSsZGEfvyJuQMnRYlcxPVzjDT6sLMepXAi1CovHgEsYt1KJYwbGDQTpedaWlTASRsvxG4bafV+VPs+5Po3hWZy0cIQpG5xAAa8daeSu6kQ7E2fKGu0gC1nZFE1lvAemB9Wrs4FPRjXRQwDDtqMQDjrsHVCUtIo10vIxZgR707yhNfLN0BPji3j6B+Ovsr3QwR+ijPMnsYvcl6w4o9LLo6hmjxw7SeHLZeNzWWyJmDPiUeHRZWQVNLsYCil2msPy+L20VkLSgLCEv3sDFnoy+vEuLMIvb+gJiFcsXg1ueamfKuQCnN42DRLxVbgg/I8Yquaca1Un68QqLKUiJd1HLZ4Lr9T9tjwKP2tlTL+zYispTu/qce2U5327vLDRmNFawZ7rE1qhXzMyC5zf2chj5r2FtiYVSre1hBoemZpRq5+rv8ejoBnJ2pHDOS8RzH5CE3kdsCfRuOTeOQE2CHXw1Z52Z6ukpW8S+mrIMddpKKWTjsLCaBXbUqvURvXqq8rSRjrTSFPol18iIZVEMKRjHrtXTlTg1NHjyGLjF3hJ3jjmfx3dWP2nhULr51vhdB6fEShW+DFmWRh5+0smZ80dnxVlUgtwekaHI5KzMJjB8w/4MLERr+cLGhmWSHAxZG/GDvl6CHeQZv0K7xQ+AZ+7FmgECbbUdMRIoh48Hmg7XSKOQ4sBlunwqImPYLE8sq0dyxVXCzqVr6XSpTg9rZ4SjUdAOiAS0Yvz841r6QrH5hzRlQZiLdEYmjKIdBDpQkXSoGEgvPLoebQltJbXbEkeu4zeqsC5oCo+7NAZIoKWtGGnGu3qDDRmQjBa7oW9sazrJSOvGvHIWBWhnLtaRQExQsiyNAfLOVTjTfSY5IzVI/7BRqd09Pc0IhvDIj4BXwaooAmE67FD+WzyiLAye9S1kzfi2ixaDDHp2VyvM4TUuQp32vVijjjdUI0tW4EolHYmenz7jKA38XZK7JEgbzRuH1dTUQP26po7gvyumkiy+Asx6k1lfBiinjnlQD+r0r+kQqtTT33YZciCw646qyRw56flViS+JoKUtrENSD0FJBvimiq4SqKeJF4nWgcW5NnBqJz0lENtWZcIZjrUnx/wsTifZeJujMiDs6Fl2FojgarGbh5cYwCl86prz1Ay1U1Q2SKrAp3+Qtn1kj7TuCHWZDJsi8m+n4wEGzQ/CBzuRSOV79vroLiM28uG+jvTwAi2fpUUr8ZHLmQDXGHT+PKLmnlAFkql72ZWMqJyZ6dzPXzel++RwwJF6xthnbejjDDGpCCGqYNS8hgqcj4prJBX+CigHOZITkvoVkUuGSoRAB2hl4wSySAIKV5BKD6Dx6ir/vh+u21Nhc5opihLVrQsnoZl2Kag3obytXBHgykjn9bLXVfoo0tWttuUke+ltHssOLqq5fnhqTZ4MtzQNnUavo9UzremWnx0UkSxsNDH1T7UGVB4iDVpTdfQ/1Yd2TByqObDvHgUb72vMD8HiyjCzKOPmP21GuC3vqu70HpTsKEp4ks1Cu0RMmNqTzlxGHb4JqMvZL+kXXW5ziGFUeqWIThjxX8J06jZTGk04346Sx8LmMKzEZC0ViLuHnShj3PT4tqpMpmFLY2ZQXeEtaEr/yovxsCZ2d5YNYE7X2hujwHp1PyPtx0hPOT/NEM3b478uI410qJg5E6j7cqANbpuV+YxQFegyW5OgeVCkKj6+htThj656hFDNFCVsarQU3ieURcM5eVn2FDk9ovmR+SHRqgDUCjQQlTE3xKaeraboTKUUZ2S4Mipz7MSSCGrHm/y0RQueEQVH2KFsvxKGU7BkNtyNBiQA0CTI/QM9TP3xPEolSknoeYjWkqOKFOUCkuXjG/2MsFINPnB59tnIexIhqzv3B8QTaWFxrRnfZSNjejYMcj1FZP/fMcrcprAYX8UKDH7lK1blI56VrJ+R8IYjYp4w9A280Hgd6DUoxE63my/hcTKvs2q44hDmZyZ1cnFp4plxLPJI7RtoRWOTXx5b4ENkVnIWSfdc+lwjpUzNjRzxu2x1XEOjn5XR3qgfmNNYl6NJiwEKMgT1gZ/zxW3HKB1I4iZusbIaKmfsRRHTqic/CmhKm7cT6QpYo7I+8ABLXTSFtJB7yk0gqE5y1/l3FWHMhunvGo8GzEKt3hMaqswlJFa2iVqH4WPQykpfRRae5UBg8hYo+EvM2mF8KU2pf4jrjydA+aYYO58xYP+Vro/99nUZklFtAXYUGkbLc3DUXl2v3otmDJLV4ahU9GTntuBhOJrirL6HEJ9hjsxeaDUrsR8VkBg5mV8GJpXANfISJ0sAShvlvZGtB4fRtyjB85xPzUqrxko6zCLa5TtelbP1CjkXhAQEVXWAr7D9XC6KOHfSg+EOKOsEGq8qcIKdQwR5lvmRw7xaMmCZGQ1DA4ZKD9TWCQrvvZbM5fEIrVkZEoCIuUz/T5kWzXvwj9FSqx7XhRtsta8fw/Gyjv4geaWMo/ZN4fFvPVy+tXEUB4s+1RB6tMgJ0FQxNfDKpvXAHaZJ/NmDBufQfr6eLHRi5pHBZcF/BEBigKYCpYD5dx3ce2Z8jYMenRugWADi1yIISIZsKRhZXBaC1Hz85GMaEQA1+nIwHHHND8nJaUxaljFC3miu2/UIBDakB5nxMy4ga4ZB1vinNmn9vqnsGy6HNOsjouD8mcE7FBHFCxtKkyqJN0zZOVNfv6dlxGGPYTerNjRPkKmmLo+ksYt/SljqBiWUhSEFUC5INDJffPXogw5H9BwWK0xqutxDTae8SapdahkLSNehZ16Sd1Co6maYP4xzvoVP+2QMEcHvi2WtczeKXS5yk00Qw9Hp3/nIOh6RV3AyKIR+tWnKkRDMRh8RmcsYm0EVbdgRaM9rn1UXJCarrm+shC1hFko8DWkWNdqdHFwHMNCofzI2AsxSmK+KPvQTq8+bOopzOXJjLzEQjo/51p+FZvhJxwKlnKrxsM/TcZKk2Gi0z0hUhTeGfx6ZE2mo+yVKM/fkDiSFg26ev33FkKOg82JfM+rWI9HXg3ZYmhRtiPxZJj/2C4EqpdiLXYi6nK8rV5au4ZyQpuZPOEYy1MXw7zxT4zA6IFGhBd1c6q6PFJvtPLWnrNBasNUi1k+H4eoIWM6/Nba8KkpT/b4RkX0KYEBgTUdxiJjm09q+dYiWDlUanC0nG2p6sQ8r5MqIqoSnvJVKQaDHAPKIhrqe9p8lZqY3JdwyQgoPehSQrdX2HE5GtfnzJE4AfElXRJvrNjgKASihLaaRo0HNODh4n0Fjqmjz5BB0NZ6K0JFbImcnbEn5s6UlsGyMLYth/M2anuWMyiwvgjslBEyGCuGbVqTOjLCcZdTk2HVTX90QN1KdoNV1OuKOHut0cD754YjkkOI4Goiihm9oUFAC+35vXdsICL243oaswmNj8MpWtds7LILNchv1Vl7mPp8ZSmzgL6oOOHzOubvmTGyci1k6HN49Wfgly19GHI6ORfmj4eexTO9KGzt5mx6LuiSEEo5cI+XLrh1VhwW1v/8sTJDSN1yIbw4M0YnRXZSGTZGndatxvHzM3e0dSmG/9WPaDxpdpaLjg9anYCuu2Xj6+62y0Uyc8kOK38cKBgLDcc+o+Vj5NJg40p3Qt1TnTEH4WC/5259wD8bquwEWQiU/sNLDAanSI1VQ523p3iPGaP0Mn+pdl1agh1onW8HWSDqM75ckbwNRDFqTrz8G0bKv/0BrTlUk+phDcphedFUJyNXMUNlQ9uDX0nlNoKTEmaj2T4HS0ukWf4F/lq4xHfa/yzRnp4hq8LgJUIaCVrl90Gmv8r0jI31Clts5j4/pqU+pGy+ACUwjJto1coyP25IYlKC7jBgHWWHd5wVmSPPtNRjTnHkiZX5elhjthIS9j0nt1GEvq8KZ7apyxE5RmdFYMUjxfSOnUIbIQPpNDyGYJFZdYigjeGWRh3ea1rS2fl4jkYc15O1UAfQ61Cv3KDzOJVoVN9di+DUtVv4mscjhdGeLMsz1e8xN16a4e5pcKUSDHYAbJwMG0Uj4aBOftKHf2GVOw2+H6GG1mbD0t6szfEprdPTWoUrM1xCysYnhCtESC1Q8y+V51YIGpoFXJOON2Ph5TxDyoa+8fScCGqlq83PSPTrAIT6iz5C8p+pPZSWaXI8mT1agFbVW4lCI6Xv1fouY1R8Jp4GIzy9nf/kAW8MiPMKFVJcAYBW53P5hEIhreSSMsLj0I6NT1LaeEQNipm139mAaYb+FBgzTE9fWNWNCgsbCuoSVBMVHGpHw2RN0GYV8Q2KQ0G2SLSMISQNUgoF3TKGOjDLhFS4wCxvCZ2MOqCK5UBGysmoEmXiSreVsJaOeWuD2ggqnIK7is9YWJjvSVVa2zajscynqrE6cXc+G8ZpG+tfpk8Cc2r9KqvnCwKaj7kE2WCx10dGV+INQ1EeGfId4PRLXhwqVQMebpMy5l9hzxyfVmpGIaIvM3LFaEa5cha7FVaGe8xfoq824DBIK/Y9V17qV1MM5cGIqIq7lo1WIqi8NZr6jEBTn8orEdxCno6BqWzXUIU8JJafqityUVrTKCH8bhgqQlKsQD7st2IgSaiTsh49+JxNNtJCW7haH6ozK9CcUCfT4UJKcgZ+fR3XHYfD96U+Kx2G9Brx1woRb+XcI7opbfKQjSEsvrdakNWyVfPi33xjZC/T1E+1c65E4b+JU7a+NNYKEY2SPEPmwz8rVT3r1tDwqw0CNAjQLholaEM2QAtfS7hl/HHhryIdCdL2scoDXRkq+s7tAOBZizwzGOyIz00ZvEOc8Shj0Q/fyoaVllKS4gu9faflbhk55d8dhYWlzKhx6tK9kaS7+opcS0ERIoJZIRqbP1kT+FwuOyPRTnC321NXKubWWk/5c9VQQvnmLF20LKOOaN5H3HM1YnPg0D8TSwWDOR4uttrODqeO/ay7FDO0QjYAU1KfYD2lbj+WadzmL4x8lIjviJBiXBgpCYNxny/J055Wt7mH7O0YibSGxvbWWczXcgLRWJntMIrcgoZirOJJXX6sfaI9laHMqBOXaIWpVuctdViqwG0SiEFcXqL8zsAc3kHSTKHlrSBBmZy7DartjJ8k1loWS+fGIvRcCzJzfBwNbDZmI96/9aKDWtlWsATzpsfjpXjPlWvDCkaWykorQS2Z1qqfKMuMMviQRrsW/ZjMzgE1gTu8rGJeeR1ngcPJdRTnTF5oY5qnwKtpzaL+fFqPmPqF8M9+1IJhVQ4C20MhvVXBoZfZIAoKRVotpSviKDPDVXOK67eOepDsnFmhz4yaR8XRgwQq8+3MslTWOwitIm8WK07j1SteOHTVWpHJ+DtBksyxzN8BUXUi1dIGGfln9+lq5mky6B1di7jFvKi6rTKSCW8ovcQKJNJRtUASEXjj8LTWdwj6OyMBoMHqRv2VNIyR58rLijVTaQdFuGqtZDAaq/mfeZaoda8OfxtbPuf2f7WfaZ5W9oeUSbtetSEe64jSdzvoroHiGnwZPISTEo+kAJfoL7/JYOSD5vwpB5FTDcguqIxwOSOQysXqqmUUObwgAzVcVpfzGwwZmRytvZIzZuIpsPbU7/kNIEZTR0o4SGGXhXreWAlqdOUXYJp6+XlVLuFcTj3mI0IbZ6HHPrKKa4EtdH0O2pI40uKkxklIsw8hBAHg15y0P3lUWyZ0vM9tI+R+1wCmzVx3zetIC/DGh0dpaINBrDzCFGKTEkz5GJHWFG5NeqrEndHepiMmf1mAfDLbwpJ8IlZ5R1y1sMszIM/c+YWNY5KRwhSVku8BUojqHYQ3ejBDGfvjME/MSfVeSLIxz9f6CmWNHNRffTzSCiBx7ixQ3tIhCWmJDOcpFGNFiXZ/wiiHkTyaue/5ibCQtDUG4DCNTEDtqD2YCIIk/mdQVJ2jxS2KmLXaFGuH2nV+PVmn2sFQ+7e450bCxipfsLLizys7XkPrzktBaX8BEt1IDnoq4oV7KiJhdixiCsIQDeSw0scpcPrvYGi8IeTBKOFOQSskxZWbaPidrGdS6XJ5oqdYvxdDBEJt2eJKoaS5HwS3sV2zMVb6nZmvJclekuqay2qraq+I6hsrzscz1203yY9wOJ6f7UTQdYys4jYWTfadFwE4nAaHqsrK+iB+bhYRKVQkvvAIhjweD+08JYmIGzS2skL5+o6jfrzBqInB8pgj8aYrhrXlkdoalfV38z+rtQi6ihqyLMp4Idfcqi1Rk5qqlaortZ2ZSguNRJRUarOrnPdyrUndTr0soREaOgvGu/ZJgUVX7KgzUJmcVsgf4n8NIsXArvLAtJ7CkuYo6MnSBlrCPvtN5WEGq0JrEW3l9kL9hSjhr1LCuWJi8m/xaCobLDvsxQyiGQ0tY1LyebT+ik+B45xWXP0Ugy1/BPMKwp8VXLQk7/PzkirLMhkRTDWG7aoLmx1PVZwwVG/eo4fd8oBUGZ/9Vm3tDuMZHWukjWUjXkG8Qt7D10FHncfGVkRhUh9Z0/yI04V5fHe/dSwYts+UGcwhWenoqJHhN9zMoYKvxzyXSHp5KyjPKvZ+vhge5K+0JiH4ZDNQkbHZK4p5+YpmOnyvrNIf20ZAoR2jTlvAmdBU34fHwjHS8Kir0CZWPiOrehV/TqCDpJLXlyeeiAVoGU11AkyKwcr6GGnLH9/G3EAnwNo81k3HGGO6WFdLiBQ+4g+aLjJe1uxOXuPmQ978g1MVfjHvPMxWoyeeyapC91bXI2KjfmTL7oAYKahbmhHGqMlNHRvHSF3KkfZ2zdxOjMbGhq1hZM3nNygYGWekhaPVYJVNgXUHqRu1K8DYXI35JTZWzghV9XpJG8bfTi/ohOXCmBaP1c7RV6R57jrkOo51XpT8Ta7Voace2QCrK1/KgQ1bbsaYmXNbFi6oM9IWSmQXk/lLs3zlBNC8Ih0pBOzQdYa2mAv5JFGL4LQt9MJfpIR9Wo5GaYTppUpCK43wOkpOu5LWdbrB+hGe0cRPV9wgPI+U7yrb5Dli00RDjWejIQysqZhtMtA3EVPT5hdHF2+S7giDEraExpP4nGtvJRhVfch6x2d53EbqpDc/M1nZH6u73klWMCG0bCvFNcBA72SkMeDqBontBEtzWTMJm0Eqq+15v2L6zmcSVQDEWi49tJX65D9inJ4XsboQQMH8GwyUIa18rfylOt0K9/xcppeQTOF9XPuQYFMJ/5DPSrfxKeEf1EI/GfJXbhwELLWVAogvWDHUB9NGe5RFRz5WkvUcA8LJ55ySeZi8020UFgevTUkNsEgWhqqFoW4evKDcKQ0Qg+GCGBr64JyoDmFvsXUBFFT7Wt2YZJr9yjPrRtMievYSUvcSaHW1QtDWOe7xWUdPXXWzXFxoO7UCpphjcWxWKI0QX9vlY44iHoFqx9xWDTloVARJiLxsxDQKG9elvj+8742lSFmJtFKSoQgxvgidGadcXebl0LQ/MYG7BdTPWX3Gn2zceknrx4txMn4J/bXNypyfYuNmPLDnzKi2BTIOkdDGdrs6jEEr5vFBhFsoUIyvx9nGbBaIGrEw3wy1i+/E3ChTDY0ghMQJfuTcSvX+wADpVzTCCqxq7SzJyFiYRsytn0vyOpYWjEuH7NFgdHxHXyKYGvcyI83XvdRap6eGpEbSXXEUiiLlODS+VIGssQBxBXe5kQe5oCLupKBAqRDrGpqD036HTCjbzhuuPRMzYtKaLuVu87lXRndcre6XZhhp9SJDPuO+NhJOKJISlm0xCQF2HQXfpADZSEGG18FnNNVlY9bRwcVmu6gxCgGlGrV2XFiUdkR2iEfR+TACdvuciBF5ljiGau3P6jccx56XvnLUkGrsgqradLv1w7s0NDQqBmZaG/cRkyBwkjf8N4dyUcBIkDyvRzpetWTQx4Idj3LmMLA5Ik3LwiCA3wZcaA7PJaWaqs4RgorfgbKMnBm5FMSStdWMQHypSdUHQjtxiNrewnvigUQv8Ej5il7hEn05sc3PmKEb7nXB2ysrtaYV+zmsLPzhAVfqvoW/Fh5q1ZsOQL2Pzy87yEaJgeOQv4KtraLvbjMzQHsJR8K2Eh83XtZAfeVjZZqRhOuZWDWs626qr/VEi8CxS4yDGkiZ6K8QKssL3IIWoygSxSiosj0aIlqK8XgvZ/VpHMU0l6/5Zu8vy8hP1bFicz/j9K700RXv2CSCR0ct+qYaBtTDNRdNoilVoVcmB2k7RjYGBTQZsgp+ywty6olPlNcCandqxpSjixvhWC/akmn/wpZkkhx/uG7Jxip4pWKwmRb/F6GezDMRf4pCCQHzwOZwLBFrRihtN07GKe4JzKFYNjFStJT+Emgqa61yKFkG0Upki1+WuKTEu5Mlfr4lM6tSGT7oj2QlI7amNjc13LXojyEy4tzx3Kug0BxqjfC08a35rIz1wxM+koay7hKbVg7tG/S0QtYVyGoj2xXQSVWtn9nWkTqnHnUF61YtPY40tOY6qHqhgLNsISGw7eJ0SWtsfM15g65LgmfPn4REaRTNi9KsJCPAMFCmVPZcM02Q2ogTCw5RaWA0oSvnyVOfslHvsiEqPAuD6LbMDHfLM2nt02DoCEmJ4Z/8Lj7H/sKWHHfXw9wec9Zicf84tFrNkseVhLmMY2v+u1kPvRZK6yKVMs4lUOyh6Hl4gZ5LZ/gKR40LPTs/LGtfb6UZxrji0ONY1wOhTvTZ2Y+FdyOf+ca+kb8uzxjK9Y8ops5mhKyFEYmkeH6HtcSWqos865VgdoHeKElz2/xqg8IoI+46j6yN0/M5DGwkhEa8hzYHqbg0CGzKO9em5Z59bw9QVJJhK5CFSCz/nFB3KCcZrU6sDCMr8PWCtpJhjAe7kaGyZ0GhI6My3wtFNpq2edpyHeLbCWJYh4y2HKM6jUE9ikVpa14+JYSEUZLVtx/PmBsmSmhd/0r5HyrAVZfnK+sYcjIkf+TdiOzs2GD3SAOLzjTSC20JtBSLNu7yAHmDHz14K5oZHxPfYeaL2C0+ZqdcFi+vCkyBzq22LlUXI+PDmIjCalY1fGs2VsX4aX2Nh53jbBbk4LGE/iOurFQC5UMI64uMqRaHHpnmMGRenv12X/KHzUFmo2TdCKEfzCjltVO5rM38BQRWngEJO18DnOklA9WCH7GPftuAf6V7ZHn9iUZkZN1eTA0UpitMqqPKaTnw0NM/fnhji7QcCdQyjFpPQ6qihd6LJIxM2TEiLF0r9+xoouZLuDWVaXXK8Wk+YlsBao5/dPTH/F9N5EkGew5JU80Sm2rS9NdNsY8B/CBYA2LyIhhz4MMD2Vh15RiPvrUaOnVMyfp6Bz0n6ielz2UdHxyUbz07znCrmVFKg/Z8vayx4vPuOQrLaIvRkhlOv8jT1lS1yC7HGGdYncPBUmeml96WLLThOYRN7viYdIUyYY2ZLmNANEf86gs3cmVpQc11j3hHxmxECAYJmzOuc0BJZairsLBR4dxzZ0JIR350fuDU6pUDQ1X9dXCXvyb0NMY2bddZY9W6AjfSjFznMXiFwZDGrSlDSn9mEXVOPSwvtUUU2xovlktEZUj/LaFO9AeGgdxzWke/bAjGeCCgXvJKezIkqbJyv6J51EL2RCmHpOKeFdduRFi21ipXUOeibAaQl0SwQcrGkQ1UMVK56mIIPXKMX/h4Pzfw5bXu4RHwsxFPUdkRuNO+rPPvN/atufTDivVHvKdFUiTmNFdRkb8VjHL1+EheiFI0XE/McrREsUVaTl7YCGj7ofkWbC4Wsxz1KvNcraItR0DkTLV3JZGTwfmaWgFfv7bYSV1kJ2RVe/jM0UXJ6ViStb2G1WqI75Bz7QYmlB4xIggoJfK7JP4NgPpRK0fg5OrY8FnIppRQK4gmIJCuPML5qa5UZcsdjNOVscprVwS0PzAPli1pKKBaHKnEJwoHKVTR/N7A8nA2XjUvS8tqRrfStqDWXGaeiSrKp4A0kHORN5nTZGmnjeybIheLNEKbUTvGYhfkqLlWKTHDSUlw/shIJveF9Kxpralr88yKjO0SmPMpWik6B11FpJrk3UKpcV6mDk9nfRb8off5HXvmH+3kKJ81aJ/jAGB0diRkccJpCpb/ydYwh0R0Aku7TZZ2h+byDylGYoxmXsCaJwOisar6JNQ2GS2Uti1nZ29GtnJmL2w2MKMzn3xHeI5zZeEIPRFHpy2LUIes8j2u36m+ciGPqKo8VbBGFSINAxWzV+X3S1SS9odTGdFhJy9IRiv7APGa0ajW5NL3x4/NXNgT6jOOhZeeCLeZGY6aPyuyawS5iZ+6aL2a3v5yyXkxdIs/zJxMvzG/QvTZaI3KgWKqfdqs6/IcHDoN/8nK4LbuaigLeMZHgksZMpL5iWJhnRUDkeAbaA2KZlRjhspAiQXbplYtrxbRhvGyniagJG8M/dAVJnTCbxnmEM9+g38zIuQ6aXyGazaDVL2Sy/3LY8vJoDp7YpMiZFQI8bQWinJYGytsOxW6lIeexkJGyuYiYwgmtiMsL+0inkpnicfzmrF9l4+ifM54WIbxNviZpt3zz1Us0vk2zNmLMfsyJ1R3I+2OkE6vCBzhd9ULgYuOVhxT0t1pfuOKCtCplCOGJRaG5UwYwg7RgF+f5IddiTG1B2YoKKG1iqvB+1g6iFBZ7psmeJoBAgmT7xfR7GBpe0MnGzN3FA2NdkcFPWqyIY+ePRqo/L3kqooRU6ozGLfchhg6HIwVGeuGoWoKVTB5zbGzLtu9skwl7+/Mg2Ian9nsuMahIDuLhpLVVgNt2tAyTiy3ocAcZc29Z6TRClbrx01jzBlzwNt4d6e2eF0buSYbxm3hUEuwyXXYNd7eWLsrfcr4anzaa3wdg8VaytacQVJm6F04IlZuWKjIa6Yo6ZtPcMinFeT7jgxFmRHMyjx0pM5WlCvxRQANwbIFZqQ11R7CGJpQVRoWatiNipHxNRc+rIOjoYNQ9DEyvELBkTNo6uuWwXDZHqv0142Vf5moZGMN+wuqz/FUmcYoJu1j+Gphkjm/7ScrpNMUGX3SjyNdaZ1nxfkTF1kEQxHSgURSO56rnHQgP9IfkVQkpf6lVrzKA61gheYwbuWRYdSd+aY1j+IzLhU1JxQMfZDqykvr0tSf75RCyLQvyVZM6zAHxiuOk/LYVhsfGpQd7sny5WNXytiIVkS5v1VvzIDkpQ4GT2vlyEfOR2+eGSyuLlTMNDXVqomYM6qOKQ4oyskDoYcOft6G27Ez161GFxZKrstm/ko+SxiR1djfGSEXJeaxYloakjginAWlVgX9KvjK8YwiHXNhzYU1wZlVqbVUb51dC/v1Ghodo4VyWwEZ0eQ6z6n193CpOVeRaXbHnRixfr3ZnPobw+YBatBB5ZIrVBZKtCIR5UKNcNsWuAxU1XUoIg3TfIRvLUypM3Te1bDS2gtPUZ5mZznECh1VEzT4J8ZSS8iSpFEnWgaeks+G8jh35svl9xSa4UihbJ6p45XsbjwN7o9tw4iLXcs/qY1ivm6IC+5e+Z5+dOLrbW+sdV6miIJ1JT9RLyKpsVXsXLgV9jppo3aC3J4812aUm3pLlHJP8tYpVBIY2lBrWkZ7VT/XmPqyYEG98Uky2qw3AKrA5PaYcX3cXaLB93U8lAuEN/gcSArIND/S5ltb38twNzpbI2d17cTPtNceefOqlrVE1ErunxpaKk2nUKVrCjjcuozaT5jhLfmEEUqdcoUe1gaE9UAofULhV6OVfIKpSYTlyIQrhSlJRqA5zCmhGhu+UnEI85AW57rQr5FwJ8PF6KpVzv6wgcpfTaPqDQBKVKHkwOx+HNnwcW3X5arz00Y/Ro20b7Wa9X3kr3MM0kjTNSVFUOYHMC8prxPAUDvX7y801SMuBeB0S3zzUfVwrWPjzmk1wVsuZ2VrEAEH8cpWLo31eGfNHwsJ2XrkhxurmPOqrAK3kyHrxA7lKMiGGdtkRj2dO7ZXzC/qG8HRebBK38OABzQiQRg9uqCNtK7l4YQkplGSgBh6Et+WUO0UqvH2HDN2pihCdDujFY0VQMf+BoFsSLqfLTfzGle5+z6OiC0ZQlNycaZHxoauESrE9lsoaUyYy5iG8o629Ks4szmf/AyT6e2uoCXDw3hJgUERgErdCEbtygjrrOiYMSEoVORxvMPN3U4jTOEXCK/ozKq7wVo3jFXrSq5jmuN5AECvBXraUIBQRGAwSdJM/TEnZVsJAH8qo1RoqiAbZ3GtbXcGfEo+sy0tAjWY7VJvy8I3rT4rC/XLFMM2fcdMChutwhbXDq04l/gM/DVephB4xeCWy+R73kBnjgaDXY1dCxnXuSIZ+Z6vVDmvmJsJzqOCxCF89eNgENxV6SJKj+Bb9Eq0DHOOCy4iJCiyy6mRunyqN/+RmqbKCs07yqFlrFphpnIeyB5k8l2YzN0PXfGi4ZWrLqdzwsLA/D48vOJnPpqbcm4nM1JTR81CZ0/Jb7ihlBkLT14kKfYyVO9hxbVXTEGVzzBBKQNMAxcNi/+ic2Wh4STtZ1aSWDcIPRGhNtlg9HFuSoLIcjulTMhldalARFjDXzKursKo/I1BF28HsnbZ9hxpKpITZmlVK/WNMtZEZ/lN+IvD06LsHCZ7jMse3RQzaKIbS7DN84Pe2Czt6g1bLbxhDnXRg47znuHEmtiTxqcJxVpGQlH13xk41uWqukZtak4ni0QMNRC+jwQ9K37G7FNjqROQXvPVF8NA3VNbcZ1Pc7AZEsBWxbtuJjs3HMSr6NHlmacGKmVhkUykcG01/Dc0NdJJCV+rQaeLhF58qWQswgkN5b9i09w2Y0h8QTzzPqIjj7i8MNZBUea7P8SuerQ9e1S0j4S2DTOre5G8BrnEVf/2Hs3840WzDinXRsuQFa3hYpHNZCYgPXYyRMuwRvmqJSJAj1FB840KgoxWSecWNCJeVHBKRtqVCu0Ml03g6/RFrj+g23zk0JgHCs2OidRK117Sp4EkWktMOnW3smHqoVD02qPX3q2WVwA97JoZs/Svz3+HMr1qqiMfcAfkmcnhXnr7Gxm/oUoTAw1yUIYgffFDEuI5NpDRHKzk2BI8jFtdzKywV26EPEmpJNbLMZOL4aWy0J5EKQrPPCltryKx7cPRwI+RWTv3USFjTLyunmHtCjcDGmw57NHmV1N2xUHWRjli8eiTid65Z5yPBNTaKFFt4ie+aruvdfk5Y07RirYsT6OTFeDMOibzx0ZWuh4dxSoHPd6a5vVRvj6jTrPWDXEi9YMH3aarBxSd351m/kfTbGSX9yam+krcT0Em5zzcgr2Amoq4a7hYlHre0a3hkdxfmSsCPsKp2Mp4fDWjm7wd8cHFFeJ/DnbOPCnbA86ZzLVbFZgyZFfQRg1Nax44dz4SrjiUwh3yheIZ9kAOrUe6QHP6rYjEby6O4ePIYFa/G3CzvAUaJustToUhjN1uh5bh+QYJNYrRqhGOQFW0PYo6T0Da5Kz4xDy0u9KzBATjqwXjp4MmRFUBhMYrqhxaImTUa1EalHuAFoSmBY3N+h6zjKwq5AW40yPUEeS/FtJslqscd1Y9l4zmCBMkfm8VLIjNpGk8q0BISRqNUA6ltnU57OTnaEQ5BGwSOuIyw+79ppEozqUxBgoz/wSFXWt53Fcy3PoSf7fGKlvwkXU/Wl2RuZa8xnqwsGmMppeyWVvGy68ceIa+r6IWw4BjcH0cR9YyrasaIlFdgWcGclrRcFNVwmfa97NUSri+9JetdniRaGis91WUdVsCoNc+PWJ5GKWpb4HQK8NyzF+sZNL/RAu/eoeRYdElv5FEwbkoO9zOoSquoqAVX4uw8pbSbLL877mM13nDn41v2HLEXnvsoDgeF4owfTv1+WIx8xG/OrrdBrxoQEfOdorZb5KGaE/HEUQ9VkWx4g5kaSm7tvtUcaf1O0sqoxfLi81NUcXhbZSZm4sDIFRZy++t9hSHFhod5Ue9+XbFRzynmMC6UGt5x2re2djN+llCQX3aPhMnwzM6IajmLGhGWj36PtdhBa3OAT5ldJaRV99bLqugMWioR6hd859RuIp48Xk07n5ANaUu+zeEwOJe2FovrUehT6OFCJCW9NOflVXcTEA0rp+wtuKYO3ChngRXm3dArWivwa66vfI3viOQ/46FwqEBibWtQICOX9TmTW4r/Yf833jRdpLH1tVpcyyyfEe3I8RYL3IRhaQyI+PcSj74H+L7yHTpKvjbqLs8patDV47dY4VaC/1WR1r5TPs+bXiWDnndT5deHYmcXyhH/Ga0MdzTwtEcxqQD/0QotLGZIDd0LsZmxVV6RVXjMLCmmzDE7fJdifa4ZguOHnG5ZqFCsSkWuogEKnQRH06Kw3k43sOosWgGBNWeS82pryqWNV421nzRBRYqW2w64uILM4lozs846jPjmMAGbskOSOCPMA4aP2+p0tjHlvI1UHEhZcTzE3kVQmuhGI5rGuNRlLFKnIVyjcvNsWABGQOMq1R+J+usH2V1wHhlY6GqxWPzWWzPNODzCvBt2i8vAyKYTIYB0GRIOrcIgyesA9dSGT5SubwqK8hrTNlLOs5Ge2KSDOFlRwNi/yxUzM8WpYtykw1lFIgWHuawptSX+23XuaKhbg6ZR5zKiDzH4XODzb4+hw1h4BCEahTZI725uKn8vJxy0NTSX8lPBwtXkwFoXukfQ0uTD0joYSUbgW6ml1FSYGgJxVshJV1bTbhRnHHWuUa/4zn1K35aMVxz8/RKb63W5lejvNG/EImvOvobM+yj9pmtc7O4J3y1RrpR23R5aWlAQX2PbtINSKvs/8j5ji559ZyXsrxNRqyehvrtta0xM/mzdwuaPNpWmZzc71j2+UWolPOyvZAkdUpGpikK/rXhquadnYKBFCQbaon01sNVBY18rIwLY1F7N/Ht0xPht/2oA1j67RBEgyMVMqrNMecbzalkx2X3CtorcFJC/1rxgRiCBLwcFXKIZwWlaVA0T3kXlcP53XziRQjpbcDAZ9+PC7e2L7UW9Ta6v5LR4fARJHfDzxq5MepfPVDlY5/a/WzRWThHtqu2qw1Dvar8mz03XV5aTidiKrQXSNeh6zpo16GT/G6p3nNOuiKK7Yq9EhrM1oKMukB8PjImM4tfvpBZP4PSLr4xT6fegIbFn+0FpWHD7ag7rjdCxNAwMrg0RZdsyp4OdkPt0d0uAQrFAXYatVczr+DHxYlu5j+fcRa7Uk7V45AwVxEQVTYkSg6gLA6NSC00g5HrinwQW+ihj7X82JEzxLxPG+VUhGWHmn9mR9lC7OrrHaWBTwYZKTQCapttFhtedYlRj/gUwJykumuWkW65aLLHIuaOuxslPt1RONmfOyz0mc4Wl9B3HSaq0EkH6RQ6UUjfQ7sJJpPOVlpLF0SkL7mRLJrVG2gcBLaXjpbzteIgSt68XLCa42k2nQLKf4g3IuzNW2MS4ay0BBXtZ+eqQYSb6Sc7/tZLTaVV8xyJbR1cl8tySOxvM68DX8kIqUMTjCbh0Ff9Eq9ad/0r2OH+a/0ITi4/l9uoNlfDa1MjfKkW1DfoMyc68CpL5+gwuzPL52lVG/k2jXIjTF/Z0IJOv1AjpQlYJTLMOVw/xu0PP25out0XEL//v/2Yq53O+h7oh/VS034CmUyG8LDrgIkCmFhSXhQiHTrpK04Lw/TYlJuGouNzhwdTuexxkujQvp/saG2bEEoI2aWQr1dvAJQWu4KuG4NT6BHj/2AovGK2IC09E8K5gqIYsZW/g8bY9h4bFN7w7JqOmLbh5SU8qGwgK+WuXKcFcdmAFYMuzsM2p+JLyBJPYrXCLRTLp0UUZ0Pmo3QzhHxzPfgIeZURd9vBRpAT4v1VaCXb4qrO4CCt8/VRMy4soMfCJXbyowtuYXpTE/dSHHmMrcYii/br6Km7TSrbC75TSDhLKzV1eVDwbtZDJx00GS5VRdclYzWxULDLCElZfEzQTegoLISWlJJIenlqCf9I1WmfIm+qjknRHoph36K6M5wEsNAz7/tTLxsKdRC2jgJNmM37yqgmxCNfavRChCfjKy2tJ2PFulmQ/JhAsjJnhFJ4Z30caNXx56u4OYZ1JIJBEX2w2ugUoxr/g+oTV3UW4coqa3wuKnUdnDTsvwv75iMbXflyCMHHeSygBFldkc6tpfnxDqK1Ho4P6hxlU1WrzuNLAKTu/DBFOZOLKag2UUu70jGypsuq5dRKnc3QiWCS1kcN4aAO+axJB9Ee3WQCSIc+Lz0AhlwXQKghBSdsiJJByetChNlKxmg4u9xehlEvTfFopEePjIMYJWfk0sOrXY4VynILmLxb9TmWEa9ceRD5qJF2HFd4H1eU13A8txnEU+FnQaOMNUc0II+RyDGHFE2VLqF44wQyflNEMKRljyUtcPRLVCVWxiLTGl6idyjoDpdMORB+RVybFyM8yNcDwokFHKCLyKfRptNHHdXH+icBH+cQtDHeYc9nIZ1CQAufmYhUMO//JR60/XA7moi5p3kGba4TaKFYbagVfaYqQz4pd0Qh0Jmi63to32HST6CTYVNzl/JZXTcgpa6bAJ2klez5f4DPn2S/m5GQeAtcUAOFlEJM5LpKbmP49OxJQk8532EnhFLei/IcjoHOcwc3Lg0lzs3TDx962l459zZtN0p8trwJS9MeehQ/OuCtEa8ByLgrF6cl4+jSI76WNnPIOwb0WxeSi1FSyIyMa1jWZgQaCG5OuFTfj0t5GiFSuFUA6ny4FuLPuo6mkRzrshKKBlp+ZS6vIlidS3pElCtAwKgn5cE525rmtT/tE5LJyGhGK1t1Nmzb0b5PifkJOlVgosPRvxgWmQ7rtwSddOjFUC9PoWe/m9+0a30NC1HzAPCYUdLVdYhX4QbmcThqiwgFMxnMXBdCSM8wO2KW5wVFx4fT6YX4ujzh0tYljgxIYpX+M3ezrNTPRmmqFCmPDzG+cEVSAp76JNWDHklJWjAsHB8TTU54s0KNTum1EFILCtDAu5BZfPNNraT8TTYWjiGtkHX+x4dQLOXzkQjmja0rt8pAMTreSofE3W+fc9ZqiTymxuv1w3OizRGjNb9/U005nj7hlYnm87HSQcAzDNPeKWybaAftO0jXQScKTADpBiHtEyO6IXkU4GNAFxGFhcEwWK0urMvPcvdsDRALmjqGDWzuy+8eKDNQ2aD2ml56CnWKVeaQsodXu+lfIiu1PLHx4rQNfTd5TcE0e8umJazfAcmpkEHntC3cHKY20KgTNmf3aq1qhVnRy/swKRgRzDum2LunTIKQoLfIap4IryPViwAaJ5BG46N2p5ll43DRM1ZNygUaeG+NN/Gq6nz0FmlfETJxsZaszKlrBdtZ8tWrKFs/0y48tWnfAVXMMKyRyjmgmfboVTAZuDW02yu6LuFQHQxW13XoOkC6Dr0oOqVzz0u+hDTAoEPpvMM7wsXUKRczsjqIVhuxt1joqCTlPEjZKPYkdV3JdwE2m2f1d2RYFEDH5ktIiIUHjV0Pv5zW6BK0BMifkz70RUuVtX5JLXDE3qYAGofp+YahkmhoqIz4hvIJou1PQwMaYVmQjJHAk0q5zdBj7QLz5h4qNDpP4bKchpltGe1LQL6RdalolaGI7PXqM/4ZNaQNh9vopFRfRtpdrZ+YE1fOM1YAMJWQqFMZEFanMOMlOix9EAGWh+IzEaxZuyY12Q2zfukt0l3XoddhaYQjrSRkxQRZUzjaJUUtyxZQZiknk4mhjnQsTTfprLON3BJHb5JQYzl3vRRIcKSjtWMeKROiSoqap59hJ1QUhJcVWXI/DHGZndKgcPNdD++XrqKsoLLspA0d2QsyCoIrT7a+ZXLYNdJfRonlTjagFUlJkcE6UsJkf7qHET42MzUUacXTjjzb/ypGW7YgqnmyiHhOY9+031mOPBx2HDBnw+GSjy5KlTnqdFCax6vievlehbcrfubh4JVmRlu1iKd7hFf+p1b1zDtwpFFV+XRTHWblRIdQLitnL8BMFL3oECJiOE1huZ/h/MsuwHVveg2mkwlmy8vol2foZ30xJvnEUlU7iQEIIVsS2p3n7sR7fvLd2HnOzhKuZMN27kXn4jXf9WqsW7+2JOMvufoSXHXd1egmE1pJTyeecmiYbRI4T6ZFQDdv34LNp2wxI4l8bld6jkIPDW2U01IJ0fG5XiAlZjBZhk5znXzfD5FbvkZIuPpofV2j5FhBZo2diqGhOE9ZSa04LnXE7StCfa0TIhjt+v5qxShmBDkVrYlWX70bQ6N3GOA5wIs6adfHFLu5LovEvFDZGAMuK1pX0yZmXlhO70qYV5c0miq8YYLbi1Tmf6KJGudz0a4xvjc+XScdJiqYqKQQxz8xw2CwZkm5+l7x9h98K37pf/9FbNy8EbNkrGZLy/Z9NivoyB32V4zWQOGahTV494+/Ey+75hIcO3JsQEp5KYQCr33La/Gz//CvYOuObYAqum6Cd7z/Hfixv/6jWLturdONKN/WJooRyrrZq2K6sAbv/5s/iR//2z+FNWsXyHjYIXRKdXG92bh4I5YNnlETZbS9RANOwVrC1fRT6cxaj2CygCXEx6Cx5Q3NZ4c8EP1tYf4Qk0n5Z4XtSF0lhSUH0Oz0iJhHEhuRJFVc8V+DUiiXHbc1rlKNTGp+wpGK5hW8kYjGO/jxCB6d9Ql+yOu6VFWWsu7CiFFpObax2bxRixRuyHi5ZqipOvLg8Hu6ZjLBrM8ng+bkOgqqGmRfhkWaiZ7JmulgMFTR9z26fkjZ65ICvaKbdqWN4VDkDv0sLUBNs4t93+OcC87Bpq2b8If//Y9x8MVDmHSeyOmaCRbWLpTN2CKDkcuhaO5ghtC9alkTVitJ9hjDZzabYe9jT6ObTAZ02Oe+AvndRF0JNS221J43ynohzOvM+B2EuYz0KRQQCcpaT/qXY2fKMT05xlPbdiKwt7owomsJAgt5sYGa4ye0LIAPD+cJnr0HsqxzK51I4SgziTelc6wcSRkNvxzXS1NsYFqzoc6tS/XVlVXrFXjiwo+WkR95ZdlGdba0FeYh3HfsVvh5k5Xyj41yrf3GZUV8PZTk+MgczoFLCrOn3JZgjshEPrq2x8oP/51O1kzRFVSU0VRfiGGD1+ckbzkYDNAemC3PsHb9WmzashEnjp/E8vLMZg1FsXbjWmzYuB4njp7AbHlWkoyHDhzCn/zmn+KpR59MG7BpUIPHZ+Qw3Bd0Akym06H9dQtYWLuAY4ePYdbPIBB03fCvn/VYv2kjtFecOHocEGB5aRmf+t1PAgCWTi5CJh06GQzZhk0bIACOHzkGhaTV8gMNGzZvwmx5GUsnFzGdTkooDFVoJ9iwaQMmkwlOHjsOnQ2LWteuX4uFdWtx4sgx9Msz5HW2WZFUTER8MNd4tYV44baDf5SeanjpfI21uYWqch5OqcFKcLKmNjSIQkhJOaPhsn9FV/VcMCLegCfuNJMe2hT0nLzNvB1TCM4tjm8hGCqUmMiX0F40hNSJanvm/6vPUEl7G1EdZzNwmjfDaK81GzmupvVhPxDe+DMGhKt7c8Nh74ymIoBMhkWdPRQddEADqphlXKUwhAVTo157zPoZdl18Pn7iF9+Pi6+8CE8++hR+/9c+jD27H8Nkqrjmuqvxgx94L07beSq+/Y078Ye//hEsnVjENdddjXf82Pdi6/bNuP0r38LnPvx5nDh+Anle05Ao22oTWu17nH72GXj3T70bex7Yg6uuuxpnnrsTt3zpFnz6Q5/C8SPHcdV11+DV3/Vq7H1sL67/7hvQz2b42G9+FHffcjemC1O886fejdnSMj71u5/ANTe8AldcewWef/p5vOZN12KyZorPfuiTuOOmW9GrYmFhAd/1/W/G69/1Xdi39wU8sXsP1m1cj8/89sdw/MgxbNi8EW/4vjfjFTe+GuiBT/7GR7D7jntx8TWX4q3vfydO2bkDe+55GF/80Cdw4Nn9BWmaS4/eLIhLRCZhSN1eTK46y5CYgePnpNRpyXBWqtrIGLKU1jXSIgN+nl7uQa0YmobZi7ftN2zngMZEvQojlfgyUkkmuRg7QukSG2+80GE8MU4ErOLjjDbzaczoCVBm+sZt6winMGr8x6wXa+b8zJU4w7kS+uJ2Y7luMpmim3ToJhNMphN0XYdJ+jf8b1iPNfz1Qzzre6zftAF/7R/+LC647Hx84vc+hXMvPAd/9e//DDZuWo8t27bgL//yT2My6fDxD30Sj+5+FIuLizhz15n4wC//FA7sexHf/sadeM9PvAuvesMrC1KBWMg1wloogA2bNuDGd9+I7/vp78cTDz2OvY/vxXv/yntxxauvwGw2w6k7T8X3vv8deMM734i7b7kLW3dsw4//rZ/E9tO2Q0Rw1XVX4/LXXAkRwelnn453/tR78Jo3X4dvf/VbWL9xPX7kF96H7aefgtnyDNe8/hX4wZ//UTz50OM4uO8A3v0z78XVN7wck+kEk8kEb33fO/A9P/UePHr3Q7jtC1/HgedfxI6dp+GH/tZPYrJmils+/VVc+bpX4G0/+R5M10xRBFeE8j1enH3agUKt6K0NBDS41VDGkpHxoYHDcyP8d+oaZxRKsi48EUM2IlaojDcF9qsIOPd9JAHjF+2GgmPKGFRIuR4+nihU1RqKgQZJMtzgheN4IIVCex5TrRpt57RWZQfH2BHQdJW61MZ1xEIrmCGtvlCwPfJIuDWVrgM0bVnpgL4XSC9DTgeD4BRDUuL7gbBZ3+PSa16GV73+lfg3f//f4bMf+RyOHj6Cv/uv/jYuuvwiHD18FOecfzb+y7/4VXzxY3+GtevWQiC49sZXo5tM8Ae/9oc4cvAIrnzV5Xj1ja/CN/7sm+hnvc95pD+8QTp/+tkQut71zTvxx7/+xzj3onNx1WuvwoVXXIRbv3QrlpeXISK4+eM34TO//xns3fM0fv6f/3VcfPXF+PZXvuVOflheXob2Pb74R5/DVz55M44dPoq/9Pf+Mk4/+wwceP5FvO4db8Qzj+/FH/zH34Wq4oIrLsTC2gXMlmc4fddOvOH73oSvfeLL+NNf/XDZk/nG974VO848DX/4bz+IR+96EBu3bsIN77kRN//R5/DcY09jknjPJ5d2iB9KEDTkIa5UL38Epc4oSu78CQliWuJOH6q5l0NTHdULO9LCRgONBPFcn4TQ4FjCimhoQTJa+JtveqOiZbnE3O0yoT6+1ByL1qN0O69da61rcsewuL6ncUo52Spkkoa5iyA8JOicyMyHtXRDbYxXMIDsm2SlksW5Uv0rPld/uoyuum4y5IUIbU2mE0y7CSbdBBPpMBGpBv3Cyy/A8tIyHnngUXTdBI/c/ygWF5dw3iW7sP/5/dj//H58zw+9DbsuOhf9bIbJtMNFV1yE2fIyzn/Z+bjiVZdDJh1OP+s0rFm7pj5LC6RgYYU7ZMif7X1sL/pZj+NHjuHksZPYsHlDOhJHcOLYCTy952mICB7b/RiOHz2Bs84/u+KUiOD40eN4/unn0HWCQy8eAgCsXb8WG7ZsxFkXnI1H73kYx44cw+Lxk9j3zAuFxF2XXoD1Gzfgnq9/Z+jjZIJuOsG5Lzsfh/cdxP69L0BE8MTuPVi/cT12nHU6Tbe3Q4QWLmqLS3ieU0tkf1pVudxg5nKBe2Mg37toQVhKwsrfQEHVCZlxuFsIQKtqrAcKLzPKaiBwmj4WSjoHOR6yaUMOx1BbWaC8kpEMfJhnI1oTBPVD/Ko1s0zaqD+LHp+mW08gjLA+XLXlKPOSZNk558Shyd5qP510yUhN07/JpMzmDX+7EiZ2IphIV2bPOumw47QdWFpawrGjxwEojh05hqXFJWw/dTuee/p5fPDf/w7Ov+Q8/JP/+A9xxSsuh4hgy/bNOPeic/C+n/8RvP8X34et27fgqT1Pp7fu5PnJ8aEbFp7a8TVxuwL7SL6/eOIklhYXsWnrpjrklIy2a4+4bv06bNi8EUcOHAb68Bp6AU45/RQsLy3hyIFDyKv6u67D5h1bcfL4CSwvDefmHz9yDBBg45ZNCa2qCXfOrXAfSoSV3yQ0fzDdRvFWQp3/kS67qA6NRD+C8cgEs3RTJ/wsaKJb5yhmyW8YE1wY6B5UcFikVoUpmSKtLWwwKcTc1g5LF0Z4XYdiYyhDeDB99fPHkOiK1+Y9nsNYi3D9yI0au9xGFVo2grUYjkZmrDY/V+ibV7ZtwaddNxwhI103vCuwH1Zsa3pdoYqWLSB5/12Z7Bdglo5YnnTpZNJuOBN+6eQidNbjy5+6GfuffxG/9H/8Iv7qP/gZ/Mu/8yuYLc9w16334D/90/+CfjbMKC4vzXDi2HGUI2h0WPPFxwTnRaV5RtP1H/4E0+gpIFJoW15aHvfaacR5/PpZj9nyDJM1U/NeNHCzWXqrdecDutnS8tBmWsU/hICC2fJyCcVcZBDIyUKfy/qD/QYLmw3P+FHJXvhKm43QyqJAmxUdbmVqtFFvCAddDGmxRT6TrOwFpDC4nPnecCIBKDgGadTsQJMLa8ixe2bYUUYllyYt+eEmNBJiXZWRZ0bhXU197H6zkIz8DB7GF52z9SYaMBeywyzh6IzCSgaI6Xd5DH+rIQZFF5BSJiKGpLpJh66TYZo/hTZDmJh+TzqsW78WJ0+cxGxphmefehZr163D1lO2otce23Zsw9r1a7H38WfQz3r0sx7f+tq38Lv/6UM496JzcfqZp+GZJ57Bxs0bceTQETy393m88MwLOHTgUHmv4YAmehzcfxDThTXYuHUTtFdM10yxZdsWHHjhAJYWlyyv1RL0dGkyHdZyad9j89ZNWFi3Fi8884JDUs6b+aQOpAOOHjmKg/sOYOeuMzFdM4TOa9evK2X2PfM8Ftatxalnnw7te0AVs+Vl7H/mBWzcuglr16+D9oqtp23HrJ/h4PMvuji+Ep7WR+iPJhSRhrP1AgLrT5QI+lNyCl7YKjPHqIolS619fv+2PcmwMaMt7zl94GkQKSJKc/qhQz2qMMQvUG7BHPvZRPIE5ga9VfsxZ2yaF6mfpushwd8mr77KhpBpbNBRDXuIjueSnu/J/PujdWijhHqn6iXOuMDpjCLoVLbzXE0oxBmv9G86wcbNG3D+y87H1ddehSf3PI0Tx07gwbsfwskTJ/G6t12PrVu34Pq3XIejh47i/u88gIV1C9i2YxvWrV+H9RvXY/HkIo4eOoJvff3bOOu8M3Hdm67F2nUL2LB5AxbWrhleY9/P0Pc9elU8ct+j6Gc9bnjb9di6YyuuuvYqnHvxObjvjvuwtLRcjMuAPoR+2+GC6zeuxzWvezm27diGV77x1VBV7Lnv0fTuwwbXS97H6jpx5Bjuu+1uXP6aK3D1Da/AZa+6AhdedXE56+qJB/bg4AsH8MbvfwtOO/sMrNu4HpPJBA9/5wFs3LIRl7zqcmzathlXXP9yPP/4M3juib0QXuBaxm0YuGwAoi1mJKbJYjHabWcEzEDMdf58ZHEOqUalklRMo+C1hDyHvh5l5JeOaFDumLyy46493OLJhnozdgxpagPmzUars2E9/hgqH+NRBFUafhCM05FKm1tjWsZqYFQgIjytCmcP3HN18yulIPgR25Tf8pBK9UlJvxSUHMqPyjAUUyPfHuy6rrwvUNNews2bN+Nn/94H8IrrX451G9bit/7dBzGbzfD4w0/gY7/7cXzfT74br7jhFTjz3J34yG/+CR576HFccuXF+Ov/5Ocwm82w66Jz8dXPfg2PP/Q49j7xDL7xxW/gZ/7OB/Dmd98IAPjk//w0brv5NmDSAf1Aw54HHsUX/uSLePsPvg1XvuZKbN2xFQ/e9RC++cVvDhT3ipPHT2K2PCv9WjyxiOWl5WK0lpeW8fIbXoGLr7oEZ+7aiZs/8WU88dDjmEw6LC0uYXlxCRCgn82weOLkkKOCQGc9Fo8vlvD0zz92Ey6++lL85X/8c3j28b1YPDHc67oO+/e+gM/89sfwA3/9R/GL//bv4sVn9+Fzv/NxPHD7vfjOl2/Hu372h/C697wJW0/bjk/82odx5MCh9N7HIDwuTMpJUCUjGv7mTjeT6lqhuPI9RzHzD//2sZG2y9sbcgys5VAs5kUMyA0/ctghZHiZ4LIhmpZQu/AtKluhB9xYHQKXGC7x1sXlNSpTpoVJrBgrlZZzGF4zuepyUFDUdYUBrQCWA7BknLWuu2mwheUD1fX5n1XkpOaWc7C7eXdy9qbz/3lUgpK8LVtiBF03IKzHH3ocH/7vf4TvfOPOJNeK3XfuxuMPP4GTx0/gk7//aXzp4zdhtrSM5cVlHD9+AidPnMRNn7gJn/jQp3Ds8FEsnlzE3bfdg72P78XS4iJ23/0g7vv2fTh25FgJ8wTDqvMH73oQj+3eg8MHjuDWm27Dpz70Kbz4/IuQTrC0uITHHnwMD939EI4fOY5+NsPTe57Gg9/ZjYP7D+C8yy7AVdddjT/+b3+E5558Brf82S3484/dhJMnTqID8MLTz+OBbz+AF5/fj2OHjuLhux/Ekw89jtnyMhaPn8Cj9z6Mx+9/FEsnF3Hs0FHcd+vd2HPvI7jti9/A6eecgbXr1+Gbn/4KlpeW8PQjT+KRux7EiSPH8exje/H4vQ/jyIuH8ehdD+LgCy/i6IHDuPmPPosHbru7IDNLgGsxTpwQj3mrFoLi12d5REQvgqD8DZ99nx8teSR6t6Pkxktei7JXtGVJqCKbARL6L9EA67Ojj+5bddwvnznL5e13PXsdwxku42jOSyMcL7xBcnwkvlX005gyHcr05AjAEWvXjEYN9HsaYnQsMGMWc1aOTuKlK0/tujqlRUMweg35821y+dygpTIiL0s/KRwokvXanW9SsIFiIpI3zEe9DDmpmc3KJZivfU8ox45BVmhJjgsw5MO6IUeWvf9kkgziZFLCz2HbjZQwT9S+T1KZXGc/69MsZsqG9MNpqNr3+K733IgP/IO/jF/5pX+F+26/F5NJV+rpRErOrJt0QK/pSJxkOlLeouuGMBmpn33fY+Pmjfjb//F/xeH9h/DreeIA+az3wSB0k+EEVu0VwyFxA3tzvwA6h54GVQB0UUiknIdIQks5o5TEdEFmLF+2NJHCOsE0deVF+EXMSDJFvAnpcm/Ei15GOlY/Gyk6/70Ys2Dg3BorOl8/KKITelIenijrSgjNBkudwQLXKbUyGV1eEbPTQTrokl/GIMjDQ4ZDON/n6ZfSrt+iVRmLglRNfgYw6kMqSYdWCtUjVB7cbwFEexIhendBbzR00hfKuoJSY7hN/Uhb/ZAPBRVN4akWVouqfy61yQuMRYGpOqbySOcXFaTzsNBh2gn6aTecxJAqy7OKebZRVYE+n5qpSC+NHipOR1jlNrsuCXEyQNn4STdB2WHfeWXKx9xk8R3OxbJ9jvn0U9M1KYZwMpmQ4AkmE9rUNxnW9bMhyQhSVbFtxzbsOPM0HDlwCFdcexXOufg8fPRX/wCz5WV0YkY2MzsrQJdX5LICFQVGac8pBCuo2CAW8S2DXVkW5K1NbVTNeD/cohmhKkKS+Ii6m+VX3mvKZTO8oK1F4tqMfSDCmgk3aV8PEexY7/3v+gEOmzMTVntWAxcaTdF7NNB4lO41iin9J24g1pG6nZOI4V+sfCRaGz8LDKMi1ayjSZnOL0fgaQpkQTOL1TzJMoVqE0mGrxt6l5c9ZAM2eKx8rhQlSbMSKdJ7wyUZvOQVhkXfwzkJ2qPLitAP/xmOLu6B3tZgiaCgr0yj6rAfEgBOHj+J/c/uLzOK1n+PKFlUXCiigwHs+x7nXXYhfuRv/Di6aYeFhQXc9oVv4I4/+2YyVlaNhStBcEiDNUlXx1otXDBKjjiDkqktoVxrJqklLTm53ryPdh2ueG292Htn2qtEcTZMrbqQD9VrtTHPKCf5kvq0izG9MPtYG0m/Yl8dKW1GjSt+la1Ra8MXj2MdMWMjH5ajnszrikarzzCtH9B6CUzW/fDR8HdVHxl/QOsL7fO2mh51KH/dGTdq9oJ5x3qccaseVDNS2SipKnTWl0WC5QQDZYFOXRI2MkmWO1snNYRNXUFgJTxM5RnRZMPT0dadjHQ2bt6A7adux/5n92Px5EmC1ZJCPy8mhuRqdm3YuB5nXXAOtpyyBYdeOICnH3kSiydOurDGEJHVZaeVoqq3EwtvXB0YD3EY2sOV4VCgtZDW1+MlKEN1G+/orM2Q5zCwlg/Js1R8XfL6KylOz2qhsNC1z6EyyQn3wyXv4fjMYVvhdeFxihjoRboppiEXkJQ+OJ4yriXs4nHLtKRn1RsGl0sSRshJEeEdWA4PS6SCHHB4cxhTCiYHw9/OyXOOHnJIRs9mfqmFeyWMFUD6IgjoEELC0j47rTokFIgL/Yq6ZaBTeJM+OSRMIaeoYtr26Ia68ltuLHcgw1HAeV3/kOAaaqFTQPN6pHjgHY0wCZgUwrNz1X6Gcpxt19mQqABdP6gYJa+L6iWUBQGOHDqKI4eOYpIMoQm+nfSZFVEC2rLXbA21nzh6HA/fuRsKRZfDv7kYWB1Lo89gtR0rwxdbE3o84L5iQwFVKEeJ9FI/0vHOeQii2+ayZDRt9k4IeLExgF++RHsHczt22+8JzE7UTqGYH3DELrWOXslhusEej5Za52ip6PxhBg+zNw75u6lofKNORSIqofFXQhCOSmik/CNH6O5pVPUQ4P+/+FTgM9qVANk061lbUSxDZdHZsKyhk2JczEgR68kwAFlRZMgvqQAq0GS0CvqSiX1Pea2SXO1gkN7HOS4ezlPmwxuikdBVcgIynDEvUHTJj2RYP7w8wpK9fARyTNcqhvBTYC+iKOSIGS6IQCYSputtAPK5T/Yqv9yDAoBiNBVG2pSmY6jmopMsgDmUirakVkKJ96J0ljayoSFe1Ye3WzkgvQpNymW2le69PspU5NX5yUwFhrjQzNHqjZs9YAgJ8V78ROb7k/9W+anjJL+MIvPPh0a532NGwZmvZOk1FhgNzTyqGefCeARRNmq3Pev/dx96F+lYh2y9Xn1/mkqkyiyW14yceG9M6UCGxYRadIIcGiIZqOF62u+XYOjQjH++6wwVkZsvxrNyOoKUqxoMU58RVxqPwfAohsQYr2saKuphpyLkfHAfd5GTdCnzKBMh5sPK/BUtRHLTz2Hcx1JEOS9XC7V6WlB7fcZUjGzE1UUWwCxyFT5F41Pq5de7aHjAVZKNnfWkHJSnsYERFSaYxDzmAsV4tcHGCp8KDkQg6a5Ffjgnk0NCxXC0TOlf4FORC2JgtuncjnPaeZz8K/JcX8N41JxiOZBiNDwfdeWHG/aluXq9CKDRXtOprGyeCY4ehpmCqYgwUqdtCNlLmlLnVoU7l9GEmOcX0eEV8oWrOW4mxILG2plcexZAOuUxLwisAGaCRr30aYaQaU2YiYxgvlnedUghUEZPUXiKjPGMlrru2Xhonl1te7LYXzf0td63pWSssgAYpCXVDUsnje8OGTY+wR7FpxoH5IUHikES+65JhuJZNkxHoL+E7mQR2ZFG6kbHhG251Jcx7xmutzTiGTca9vFdhyTz9iKpnw/gNeeaGMk7Qywjzc4jKTaahzAYrtJdRuqV93NKOUcn1IeIJAqZJ9Oydy411vIymsI59+JPSqBmBvFRtF0662kwNFqMSzFqbmzJKggLX2pfqW6QUSAG9aqQXoA8a0ehhGjnaOf1UkBabZGNdRr64fRV40WHHPYK9ZeVgOlrOOMVBivmo/IUtYxIm/PAQmKtdsb96CwbG4IglCW6yf0YgXKtfliCmJC3uyn2t+hoRoTZ6Q1ayORFUFKjIjZywWaMoi8Osr3R9mUFqExHQCNV5W04Iq0LShWI/YzO0Kj2dVeGrHrEG4v6Mx8RjoYGjU8BEK07RWdaUFBTJETrvmAJek6LTMvMTXrBQlmDVTUZpiA15DC4+3kWMAuwKr2gVD1jS3iVkR2jNSonRMHYlhI1VEjEJKMlVR8yg4ZTKMxo5VmkjMIYMeVNuXnpQjiefVTZnWGjCJ7sqh/DpsTUoQoaz5rstSeNo7DUIWr6r3fZQ43sUhm5jki377cTnlrb3MkJ9nCeEGh1ZuCd+pNGGbhh5Bniu/MJ8yCx41J4v6Sawq40hpnr0irpjBWDiRCqjjiT+rVjSi2uhPR8DyvqBZzmXNXHPc/IMFxnA92S2iwTU+3zu/pSp4qJt9pLRbyWSTCgGWZU0FBeYe3rt/CpkJoPgSuLD8WFthk19SXkGuroJL1vOXWUtxVlY2PrtvJ3Q2xO8SRBnC0AAIAASURBVGWYWs7tuW0M+TeFDZ0I+tT3cmoEWx/1AgdJZ+MXJGED1Qf2eQilZhyQMnvZYynK9zJpQBFYMRvRMo4IqYolXzWcM5/t/3BtYIK9abtliqPwkyUpU+Ns7OyMTp6ZNu/Lzqai3L6T1vOyGqayIJUMQPIKc1XP99IBzstlxzbGSQ0EBgcVEHi+y7wsPA7UJxhe8bbQPWbU8dI+NvEWGhor7/o0x6Ilqy6U07YdB+1m+Bz/6Xe/961ksHoapyCsFLJ5+gkyc2xbHYSnLj+Wk+G2XstfZxrauZ3QqUITr3+xK/kht+6HKw8DlBW/hR2YFRHVmLGkTbi0LYb5ytssslgOdZgDMcNKClXKGs+Mhtq7cn02YsN1s4f5nlB4zH3m0ILVXuCbjYbKQ52BBVF6Mi8NXTv7SjFhJdD8Rh2logBcQlh9bsTa19V/J2Pt2tEQ6iAct5NtSc5PNcqXv+SUrF+ellK32ne3hEF7N/aGwLWMed5K42SmyIEBB+NfT/V1xUJJOTVQgX4WB2fEzunctAlfEudgBdMt27c4gv1aEVpHJWYKTAeVx9A1pNlbMNzLyxzywKR7ZsjspaRmuCjxHmLa2qgKTHazoNRG1h00xwMdmBnhs80KEkPpir9e89K33zAwdN0n7cnwELPz8cT8rBf+1G5BqkSP1gojgZxYLqLCVsg5OEMyLvPeKsOr1N1q91AvIUYHprg+5kvlVE3hHB/zuERE5cp4WTEUCkJlAV1o3oVBBFZel2kWA4Y19HJ95j2AEZELj2kD4dlSCdI3RLnSWjYUyPths66yPhu/otFuEkN4c84nBCtFx244++1a+KhDYOG8a14ACmnHzJlZtDI+bmrlgWfr7pBLTjY31mCwIcoPdHkxV6Kr43atcdvfl+rJv7oc52WDmBFTakTCM3y966zOvGbKn74AOj6GQmrqr4WZqJBdRz+yEfKr4NuIqqy4zjfJs5dnwyBGI+t1qs5PumfDhuZ8zbjMpyRlK5LXbSWe53Cd2nPrtMJzUrXvKYg7DvKnK6G4l0vmLzs2nxym1Xtcr9ii6q6Bov1427h0TcNYj2WHHjZtnVaui00G+RXqtrgyGw+jhTY9Eyp0jqpcp1XsAaFy2CylTG/RAm8fy+syQavYVcmIq7vfkkOootOU6EigcZqFoyiY0uwbNK0ryYbEFpZmQ5H5XBTaKR+7AcsPxW0LBMHMYnOsoLCXj7JQpxeP8badIvpuoWs2XlQH7T/kZ51hoPCkrMinuus8lzihAD1fGSxnjDLv1fWbt6e4gQQ968xLHpcY+kjjO3lqhPFoPZPoA/XHC1iNpFqAovzu4ITXm7c07A2kBOJJuBDKmMWWRjmpygKjuYaRn1JdMyjUxpW0pMdhaA614wvO4NBl3Bso7WbCpZH+ycgDq/6YnDXTJq5Jyq9wFOCu52vi66DPlNc35UWiXdKaIXzr4RVDKqYxdUphWAnLsrznnrkBsucVtMob2bmwFzCDoOqNUoXucv3Fq8buK9239lw7dM2jRjhB9+gNvtyKH19Q+Vn1xmc0sWk2aFwBQx6JpjZWpgfwjUcZG+2r4atmEzIimlLTRj4ts6YYbQ28dyLPdEsokw13sw/mOQq/JCDY+UPpxiBHKC4E4xbKVrdxfspY7Y180Kpm8jjm8naz8Xw0kr5A0Uu6V4eJTKyO1u8Nmv9Mte9heLgre+TytoyJTCzv5CqSwCweBM73pG0rpRMMkvOWHxZQ80HFYJVw0G8PGjMQPixx/7FnGb0QeirwmWcTXRttwxdG01+dY7yqle065xmhPJTm3yjr3PL1/Bb5wtfYAOWLyg4DbTiI5BT8jJGmdjMD6+WNJRlfHKGl52sT1ugwLVOIO/BafBeaOWYqnFywUwUgo3WmwnnjcaFFCm/nDM+IVDARjVPkV3ButQtpFGjkrCxAaTimaLznkhONSTQoWv7J2DMCoDfKJD7fBIGeXwJg2s/68kqvlMFK50L5EMheOmoziX5FqlTCbm1q+du3cgFFuFpDHJKx0TZQLjPTac9QmCFebHJ7fqB8Hxh5WQm7JxV9oGdX96HdPJURdnk+KmdERWXnpHq+3HKX2nTmLmcrNnSuCa46I2repOwkj05dcEcd29/i5IXVK/G1Ycl9KwNT8iRNbkyZacy/xLfs+V06XZn/jVmsRhhW8c8prFijTQvFzOYEbRgYXVmeZJUXxwCgNGm0BL0E2+PraywGbS1UTWMsjRx1k0ka4dHwGRBWbrLLAtGbQtIapvxwfFXj0KaS0TJu27orQX7pgKSYrhCk2VjFRGfYcE0dK8IXQzpKrLNomwFSW49F3tLyVx2FrX4CwQytLbaNouBAGBvXIN02OcQK7PuY9VgdnR415oWCA/skIB4Y4iIZqVACh4uN9Ff8CD3EmDiWIpPU0MM6id48k8rd90sYVKz/fhdGG0HFcMwFMK7DCUWq72usR/JAUkfYmPOfVhjV5pVne6yr5RxbH22UWemAQ15yZBxv3B9tqUFXUpPR94yWsKBVFc1qCqAq2WB16NEnaN2hT6d2dvkcAz7DmZPVbpoU6SgOGrloOaUWo/jWXovMcujhwzWuq3MIqDGjlUmnkC8b35grE24n/0YwaoQ4AWszOESjoYVYEIVRvK1qCK31kXjKyuSsE9yMV2ULcxOCyrDVjaL5mR/ueuvnQ8ERlBJpIZ4hPecXleQrzWDHao48YxMaNZ/kzehrWIgW83gB9MjbW+fuOggfl1ur74JlpObbPMPQClXHjGiDn8QX16arxjsE/8KQmh6uvhJBdbchUExnsxk6HRaDDQfbKYAO6AYjBqAcqOfVNA1EPl2UrxfX1BDDsq+Qc1eZ4L4aWIfGhMIwsBiMGKuMmoTqghkfv76GaiIDGNf0DEgxhTjBX881CA0BcDwjj66l3UEBYtgSQyfz8kTACgLgBcF/KgWY45p9+NVMk1vDzaX8FEqVkD5JRZo15VOIOB1RsCmRF2duY8c9Aqrxkwvr2rGSv0ZFKhaVe61NOPSrceZWNbHF9LNPaI2mO/kkSXewvUM9xBedJ6utT0z/RIhE6JWvVfGtl9WKoOLRhhJTVcVs1mOSBqhXoXVAgl4UUHtxhFt7k4TDXlw5EBBjT79qOsQn1DVXtjA7HSNTrRiXMnpaNNz7YctHmdUSq8AoqpATCUMM5SiL0lRsot15tfi7PG83KqTo4kuSqIZHcwLYtFBByktIGvrbkC+N8Wx4ps4EpropYR2NhwvvArk1CgBZ6zqzkZPuVUU83m6BI00IxSecolgr1ULS4mUzdG5spI7R/tgn73d1HNSRR7UtX/E+dSoE5zRUSUscnW2E79qvrJvWZVofSfx1Ti4UySF+/h50cspGOVfQ9z06VWjXpf1yaS9XOrZY7M0SFYoZrLmtkHe5p+CNTRiyffZJy3KgYOpoDh1cn7My8KK1gHQ888MwEPpK2NLY6CMJPyTlzC6PFAamS9Xl/DJQnn1kTOJV2mbZmlITYZ0otU7dIkVlNGGQvs2LChsV6YnPeLUX6lW0K2XvY9UJ32/jRF4DqF6GHK3qvnvZTspYAHP25HkfWwSObfNQOZWKfi1M8ssrglWZ84ldkTlPxRyjVjWtLsST8PS8ZQy52vJGn2YTI0jUOdYV9l+mtrItipgdoHVY/Ww2GJ5ueHtML4BgONWz67phxXsH9L3A3qMH5BWdZR8YjVFejJoNjpJ3MIPOsTGFOmqIR1XtFFF3QA4L3jDMwzEzqc5kXHM7Npsl9lwx2H5qPJNm4VhUFsAnITP6s+UeeYA84xUt1bc+scpWUabVoArlVzIJyqvOXN9M2mhLkAm2Uyn1fWjgzRUF1W3LqQyNfW+Hjm1+1IY4fxd4Q0phSDZiVXhODPOddzK1IoqZQ+9Qf+RLOyclI/Vp49tYUyt9XNlo08igNCPgjIqa9TXCwGZo2azU7mqUcxqj8Jk6z64AesVMZ8O55egA6YbXanUC0b6EX52kV9iHgSnvHSTSLBTNkmY70yPjx6Bg8eVZqcNDOQ9w2pmnYfPWTVAo9j+7H0cOHAYSCjQ0SWeYO1g/x5i0Iw7nHktIW7x6y8u6+JJOP2joUGvMZRij9Vs24rRdZ2HLqduhfY+Dz+3DC489haWTJzH2KZ67wd9cYrT/o5WOGL9GWOqwVAnRyemQHGejMz8YZcGOiXny2Kkdew3WGF0YaZCVKyPrekhXRB6rsjKG9Jt4KT6vrR+rRFqanYuO09WoRsLfdkiY+W8ItF2pUJlAt7KoDvem0pnn5ThGMbykVPJ+qV4wXTPFeRefg10X78Kpp5+KLds3Y82aNVheWsaBfQfw9GN78fjDT+Dg/oODAnYtiOw9PG9LKfckqDiHNkFSOLicTCb44Z/7YbzxnW/E0uIifuff/Q7+7CNfgEy6dECcrSlxHkyQlmQEZpL2xRwUr52Jm1Z9DsOjnqoLpV5OOCdMVhAk7S4QwctueCW+68fehV1XXoJ1G9cDAPY//Rw+9E//HZ649yFMOgtseW1RJMlhn6B0bl5rJFnueuyOWyFOOh6k6wGJt8KPVlPCpLgBybkHbci8t4J8VEk9YpwL8wt0fdFWjoBD++IZ6TGhZ7mvMajzdTtdmTcEjnlzrAzzm2f/K6PiUaGdmjD2N9M1Eho2L0kor3WZ0M/p8ALUdFeHVen5rJ98JExm9vptm/C//JOfx2ve+GpMpxNMppOyWHO2PMPRI8fw6AN78IU/+TPc9Kk/x9HDR5Py5FBOCpIoh+JlWRKD7wxTC+Yp23JioJLDxuH3pq2bsO3UbVheXsa69etGWeaUmM9byuvJnBWqFcEqZiMcVxHFvX6YI2xBABgNJEFQKC6/4VX44X/w13DqOTuhqsmpDM7hxJFjfklDQ4bcRCKXK+Go52sMk2uq1RuSxKvczbIBl4Bs9fHdrMM3ziPUeDy1xwY2GDMXTJtrrsdjrKced9ZTCNkQxsSGdXDom3oeNFCFa0la4VLglyMz86Mt7VYmUlanHOYBwbKdjxJq/s3PEV15VrqwT71hRxx/tcXFAmDaTaeDoUqvbS8ZbceHHJsKtmzfgnXr10JVcezocRw9fBRd12HTlo3Ysm0zXnH9NbjsmpfhwssvwG/9u9/BkYNHhtfPgzViIMe9KouWQvAqa7d8NF9M68X8AkGtjJkGsYn33Lqvco24xlCZVmmzEooE6YlusIESXNmVkHvRO8W2007BW3/6vYOx6hUPf+sefOuzN2Pp5CJUexx+4UXPg3mC3QoJg9HyiIDD2+CZCbIX4aIxBEyhbT6C5Uwa+RMOvTzyMb76kLuE99T34Ss7PW8cuIYc0pfuNELDfNify9k6++idm0OwdC3m1ri5eOKqH0OuiI0Tt5tDvTDmQZ7Y+NWoPxyNVIiO22rQluEKkfGv+llz+xweZrpNy6eTSYe+1+Hdf9qXl6NWL6NQOGN24vhJ/Lf//2/g1ptvw5q1a3DO+efg7e99C1731uuxbsM6vOt934sn9zyNP/mtj6LvZ2VluTgmEyqRwahlT2mH8JMgKLB1+1as37geL+x9PoSyfmV8/amhDRstf4Jk2LIB0FoZ27ZRZFWMR5aw5o3dLatVD7QhyLghdxiLC195BXZdeQkA4PnHn8JH/+1v4Il7dw+87aS8rqwyKLFdiy4rIRvfDt22vKqcC0RRwlqIWVtrAeZArD2GHPx7vjLvORzLkzHRl1QRHv8lpdfR8pwbGKIHt7sGKHR53kV0WP+KSDWOn6mvmnK3OtSsnUPUsXAwCmVCx2wAs/y49ZZaiC0kjUSnbdqaUha6JJhKN0mJ80F5e+nLLFsJCVXR5/Pe09PLy8vYffdDeODO3ZhMJ7jvW/fjjq/egV/4xz+Hd73vHVi7bi2+54fehj//zFfw7JPPoptM0vqumiR3rDFJJI/dqTt34LVvey1e/92vw6MP7MEHf+WDmC0vW4dGQq1WGDn0jcKVliEj5Vekl1DMkQmD8OreQl3uysjDK8VIqdVuMsGuKy7G2hTmPnjbXdj70B50k4nzhD7k8AfrNgDDqB2tbGr0ujH14E+xQzEkAK2uqKe1nWOIMCsQkndSmJkSG3v3ZHJ60TiG9Vp+oXPkTnJmYPlpDRalNQKqKcaNoaYmY9E8jTAboHRdw6RURP2ODEn8MSvRMpOeQ9FIaW28ym/1OpOXOATDV55ssjSgW+o6c9jz0Bv5zvbVdcOShskEMu3QTdK/riszfzHamEwEMukG7z7psO+5/fjwr38Eex9/BgCw68JzcMlVF2PW99C+R9/P0Kui1778y9PzfTw4UI18VcX1b3stfu4f/zW86o2vwuYtm0pnymvvBc38Fu8F7FzZlrIYSlvJI+f2eBV9B0nGylfA+xDLb6JBsow6t2TrjxSK6cIUp5x5GoBhMuS5PU9heWmZRKYlyFIqrjhTS4Zbi5cBNUVTTrS5ZAHfTs4ZHccnq1RKHmnrv9L3jLYLUX1pcDj+KJ3uVo4GHspo+lvfU98WlP4HQ4mhpy7sakREw/BJdb2QztdTX6LSSqiRpXEeWNHYCN+pB82kpoxVMF6NxoQHzgkITW2M0FBNaeVhrpjVMLFU3/DWHNr/MMDbpOSqULH3C3ZdVy/OU2Nr1wmeeOQJPHDXbpx9/llYt34dzr3wHACKvp+VHELX5bczp/cJBjQjMbekioW1C5iu8e99HTyCGSsH14FizAQooW7ZIN0FDJRhbv6RuZ8HtGznl2L4sqFxhk1zakHNoCkG45x45HJyPChD7Ak/zTy0LV2HhYSu+tkMRw8eTi+rNW9nARA9m0N8IPVZXO6kxB1ZDgsCsNBj4B3KbgeniEL1BM9efyhmjJqaw6tSMu988GGSlgeSKS9hOM/q5ftiv93gsIoFY57Kt9AmMYhH3G4JU7aKSC1yJ+3PzWRagNw2VS0+myQwf8PzBblpu1L4GV9/rpWGf35kBrmZHwe2sCW3bfVk0TTlnBrvTe3suNOurJfBDOimU88iGZSA58kXTy7hmSefHX52gs1bNkFEMFkzxWTSDZurZz365RlE7CibbEzWrFmDbjJkY2azGabT6YDmkrECgMl0gnXr16KfDdeWl5YxW561xUIVC+vW4dSdO7Bh80acOHoc+/a+gJMnTgBd5+25w94DW7fu2IJTTj8F0zVTHDlwGC8+tx/Li0vF4LkTJTrBwtoFdJ2gn/VYXlyCKrBxy0ZsP/0UrFm7gGMHD+PAc/sxW1pqhKpKxnKgvZt0mKxZwNr169BNJo5XCxvWoZt00H6G2eIyafdgpNauX4etZ+zAug3rsXjiBA49tw8njhxN6+uoz0mCJtMppOsgqpgtL0N7xXRhDbadeTom0yn2PfH0QLcjmURP8stgA/QngSnAmWPXFO6Zglr/C/JjG6+wehI/8s1sgjjkcW+sto1ncCvzo/rPi6dA7fKarEgny5Xa8Fb3iiGndYCt/EMhNcRbGgv43oymMBxcJMIZEBCCcuPi6vJhcRlT6kucIa762WRwQPQKTCW/JosGMVszTbNxqgqZTIYV75wDyOHiZHiLRh66IVRJZVL5N7/rRnzXO96Arutw92334E/+x0exvLQ8nL+VBmHL9q348V98P3aecwYOvXgIf/rBj+G73vlGXHTlRdh5zhmlrmuuvxp/99/+3WFav5/h0x/6NO64+XZEm62qOO+yC/B9H/h+XHndldi4eSOOHz2Be265Cx//H3+KJx58rGyC9m+AUWzcshmve+cb8bp3vhFnnn8WJtMJDu0/hHu+eSe++AefxtMPP1EQYw5bt556Ct77C+/DKTt34IHb78GXfv8zuPr1r8Qb3vtWnHXRuVizsAZHDhzCnTffji/9z0/iwDMvDAY/CEMe3L5XnP2yXXj7z/wQ1m/agHMuvQDAYFi+633vwcvf+jpI12Hvg3vwxd/6Q5w8dhxQoJt0uOTVV+O6H3g7zr3iZVi3aQMWj5/A3t2P4pY//Rx2f/129MuzIpyKwVG8/v3fh3OvvBRH9r2IL/3mH0C6Dm/4iR/AZW98LQ49vw8f/if/GoeefQF2XjX784QEszGCba2pcUzDv6qVLWmf1ITl0vm4IqvKLcPiv5WSUocrL9UwVlmh2Ail/lUblsmY+P2TpnUyx/iV/FELlrHxGoevofBK9z39SmewV+FhaZuNF58Zn8dqrG0yxhnBU+vsG2z3QhtZTitjJQgKPBzFUkIcIqLrJkPOS9IB3QkRbN66uZQ6ceLEsLl6OsHr334DFtYu4PSzTsMXPvpF7HtuPyai0B7o+xnOPHcn3voDb8b2U7fjgTt3Yzab4YpXX4FXvv4VjujTzz4dp599OoAh+X/7zXeg732srr3ivEvPx43vuRFXXndVub51B7Bz106ccsYO/Nd/9J+x75kX0HWZcUMfNm/bjB/5Gz+Ot/zQ27F2/Vr0/RAWb92xDedcfC4uvOpifPD/99+w5+6HoITS1iws4GWvvgJnXXgOJpMJoMD3fuAHsHn7ltL+lh3bsPP8s7HllK34w1/5DRw7fNTWpKWxNY+t2LR9K654/auxftOGUkc36XDuFRfjXFwMAFi3cf2AQFUhkw6v/J4b8Y5f/Els33n6EA72PTZu24JTzjoDu656GT73a7+LWz/2BeisL3IhXYdzr7wUV775dTj0wn7ce/M38ap3vw1Xv21wMksnT6KTScnR5NDMomehPBjnE1uol7M1uSZFJcoGPJz8Vu8DCLDGhySM5LIlE09KubLKIE7MHHHKp4W0qq7zrZJcz/ek6lu1di0b6FKEg2TuZ/6q1lTTmGnog3JT5X5J6OdkZQtJRtbFJDtRzLa4C8aJYpaq6qnEVpQGhKM/Bbpu4irp0j7DYfHpYH03b9mMXRefCwBYPLmIZ554Ftr32H33g9j//IvYec4ZOOPs4d8Lz+wbvGYS+rPOPwsbN28EADxy3yN44ZkX8I0vfhNP7XkKF1x6Pq549RUQETz+0BO4+5a7izI+/uDjQzhC3mEyneBN3/cmKBRf+8xX8dQjT+G8y87HK17/CiysXcDV11+D67/ndfjkb3/MTlMFMOk6vPmH3o63/sh3Y2HtAp546HF85WM34eTxE3jt97wel73qCrzsFZfhvT//o/j1f/p/4ciLh8pShuWlJSydXAQA7Lr8Qpx3xUUAgK997Es48Px+XPLKy3HRyy9FN5nglW+9Hnf9+W24/bNfBSZhFPIYdIIDz+3DN/70C1i3cT0ufe3LccqZp2M2m+GhW+/C8088jcmkw3OPPYXlxSVAFedffRm+++fej+07T8exQ4fx7c/ejKd3P4rzrrkM17z19dh86il4y8+8D889+hQe/dbd5cUgOYTNvHvN9303LnvjtRARnDx2HMcOHEI/681QUdK2IA+nMyR2QY7KAyHWy6PQSsg7YBQTTHNf9cwzpWQQaE0Y+/qYvYoq7puiTKCIf6qh1Brpi7OAEf3FLUC5gfKlcaKDa3POkcXlME1+NBuvmONSWxgaYOUoqErl3USOwg4GKG3WrsJHw85TYVpuBs5klFUqlVBOBgM26Sbo0vae2azHVa+5EhcnRd3//It46N6HMZlM8NzTz2PP7sew85wzsHnrJlzwsvNx7x33lgonkwnOu3gXFtYuYHl5GQ/e9SCOHDqCP/3gnwIKvPdnfgCXv+pyiAjuu+M+/Nr/8WslrNFe3f5FYJggWFi3gD/61T/ER3/jT3D86DFsO2Urfvaf/By+6z03Yrpmile84ZX44kc+j+NphXjfK3Zdsgtv+eG3Y2HtAvY98wJ++1/+Br7957cDqrj7G3fiF//V38YFV1yEq254Ba55/Svx1Y/fBE3Gcnk559KAzdu34PiRY/ijf/87+MpHv4jlxUWccd5Z+MD//ot42auvxPpNG3DFDa/EnTfdkvJ5lATOU8YieG7Pk/jov/8trNuwHj/9L/8OTjnzdPRLy/jmn34B3/rczZhMhhNS+77H2g3rcf0Pfi9OPedMzJZn+OqHP4k/+80/xOLx4/jO527G8slFXP9D78D2M0/Htd//djx134NYOjEYWO21GNv1mzfhsjdeBxHgzs/djG996ia8+PQzOJqMc0ybGtSHtyiMuijMs+0/tgjXLVEQWpFeQiwXZDn99MfqVCamnZ6KRq/1PcWWeSKi5HOrkNPSAkP3a/7MyydVn9jB2KOQ5rPVq+q1nY2bGyRz7GWSBXkNpJWxdY7eAOc6BwOU+ameJtAjMYROAyCpL/NfmOERZ2er27VZrBwfA/gksSaKCrwXXHT5BXj/z/0otqYQ6JabbsNTjz6N6Zo1OH70BO6/czdUFWsW1uDiKy/CmjVrkJPW69atxa5LdgEAjhw8gkfue6Qo4vLyslvyMGxJmWE2m6Ffnvl71IdH7n0En/2Dz+DooaMABgN68ye+jONHjwMAdp53JraesrXMggHAK974Kuw870wAwLduvh33fPPOYUnEpMPju/fgKx//MmazGdZtWIdXveU6rN2wbjg1AQOt/czefnv/rXfjG5/88mAIRPDsnqdwxxe+XozazgvOxrqNG5BfHhvHLbO4n/UpLGUe9OhnPWazYbmI9j3OuOg8XHzdNQCGhaW3f/JLWDxxApPpFMcPH8WtH/sCDj63DwBw0Wuuwam7zh7W1yFvrxpyj91kgunCGtz5+a/gY//613Dfzd/Esw8/juWlpbR1y1Kx9Ma74XuWByWjlX5reUuwqYwq0KdXyw084DphdZKc1fFIe7FpdMajRkNRlKcoNn0kVhiy/mMnVzWJGf20sNBqXlih8SEUA+MS5mRFFMVEZUMF/kfrWdySB7fUBP7Z0D5HLX0LiZXfnJASaofNvdXflUvaF8VrMigwqpt0OHXnqdh57hm46PIL8a73vQN//1/9Ml5x/aAwD937CD7+oU9haXEJ08kUUOCB7+zGsWQsLrj0fGxKM4giw5afs3adBQDY+/gz2Pv4M2kZhYTcWaQvDYfWg3v/Hfdh/7P7U2J7MLx79zyNQy8eAgBs2LQRm7ZuKgxev3E9rnjNVZhMJlg8cRJ3f+NOnDxxsnReVXH/7ffg8P7h+fMvvxCnnLHDxrPXwbBgMF6777h3QG+0hGLvo09i8cRwosKGLZuwdsNa5ARmcH7zpLRcSwtKABGcd9Wl2LxjOwDgiXsexIt7n4fkvaLS4bk9T2Lvg48CADafuh1nX36xCVUPLC/aZMnBZ1/A1//gkziy/wBkMpxAW4VIisEQIRiTZFw0v+NSWR0EPfnIEOGk7yx06V9cOCbBeI1+dNQhsKkt6sEHTlGWhFWoORIjYewwGRXQR+YbGXDrUzCQzkimUK58jcaqFVgFXvBIZPoa1mRYXtHX9ehYzXC0tSkYxtG/v9NycFpXWP2clhMCylqsHI4M1eSp2+jF1q1fi5/9ez+No0eOYf3G9di+YysW1i5AVfHoA3vw6//6t/Do/XuGqXIIptMpnnj4CTz31PO44NLzcNZ5Z+G0M0/D0YMD+jnjrDNw6s4dAIBH738Uhw8eoUWfDcFsTLlwqb7v8fzeF9D3s7SXcejjiWMncOLYCQDDuqLJdFqYvfWUrTjz/MFoHj10FHsffcrxous67HvmBex75gVsO207tuzYhtPPOQN7H3kSHR0hDQDLi0vY9/TzZeV7JvD44WMlV5QX5jaG3sSPBrW2Y9biZM0anHnJ+ZhMJtC+HxDR4pItlAVw8tgJPPvIE7j8DddiumYNzrhwF7rpJKEs/3n6gUfw7COPQ7oJOXGxXJPTa8u2l5VDc3WH4oAY/pR6pbZFVfjmBbp5gAOXiNGhy6clNMHPOzojPRaD5FDKzE34Vuv8UL70JcfLo6agMKfklhqhlN9exvysXg3jVrQPzXv0ZOVj9FKHh2XChPpQOYc8OxNSafGrVW1I0NoApihnQ+WYdjhXvQPI69dEdF2H0848Fael38vLMzz/zAu4/c+/hY/97iex++6HirJAh/IvvnAQj9z/KC649DxsO2Urdl14Lh574DEAgnMuPAcbN28c8ld3P4TZ0nJR5l76UZBhUYFnb9/3A5IpeqHp+qygoPjZdur2MqN35OARHD54KJ02YUbr5NETOPjCiwCAhbULOOX0Hc1Fq/2sx8njJ8LAArPlGbRvKKuXkiBzUhXTIEhr1i5g2xmnDmOxtIwDz+2D9gqZ5LVRAp31OPDsC+hnM3STCbaefiq6NWvQ5zwWtbHvyb1YTNdr5nMeKz/oU9dQo1qdfQpGhjxsR2OazyH3BiO1yZs5oxHJWYr8hRLY7HSlUpa88FSoW0pJYp+XAjBMLITlDVKMAbOncSSjEllMvpPpwPZstNSf/FVbgRa2oRxV6Lk72z2GkIWtSvfg85JK/KvobSTPw6fyWZk3kY+aVrqzd0SytnnJfpfX3IQN0UuLS/j6n92K5556DouLS3j2yWfx4D0P47EHH8eJ4yeG5zLzU4OLJ07ige88gDe9+41Yt2EdLrz8Anztc1+HiGDXxcM6pRdfOIA99+8Bb6vpQkiY1051qQzv/K9USwTV/rEWfMewwHNhYQ0A4PjRY1g6sWghqQzPzpaXcfTwgAq7SYcNWzYivzG7WsunnI0JMXnrI75kvhYhO6vegOoV04UFrEtLH2bLMxw/fLT4fatVcOzgEcyWB4O1dtMGTKZTLOli2d2QPyeOHB82xTPv6LutwW54EgUdS5MtSAtm+DB+sElBYxtGfN4nFs+/i/Fjw9d4Cayvo22QV9UwHSq44schy1BnYWgoGAu1Ol1QlNKN4tLLNdN+ylUVox9ftdXK6dU//QJg25OZt5wKW6ZMZz44IPsloEKR05oZQhaTXrAUEvOLJxfx8d/7FG77yh3opEPf98N+OpFirGJ3VBW7734Ihw8cxrYd23DBZRdg7fq1EAC7LhqWQjzzxDPDZumUvzKG+Qo7kQEZCgY8KDn0snJdfl0ZTzkHw9Kl+woMq+rTbONsaXlAYoKC9CTxIId0gmERZ3lb9ipls/2j9XbeHKq0PzYcaU3cNG1d6vuUj8oZmnTGlyKtvh8eLGvogtcHhu0/vMfS3S8eL4R/ajJjSmOhDCsO26Q6RAMs0Gjz0KhSM34uaosBGgO0wVi5o7L9UJTCHsVEWDearDGyiHXOpmQnnKfa8ljrPDnSrNel0YK1VN1MHWt72ZJWOMIGjGhgoeJr1M8SQWcnFPf/Wvajtq/VdytQbI42yiI7MrWXUJRmKqHU4okqW51mqmRiSg1vM1LZhDQ6wd7HnsFTe/Zi245tOPv8s7B1+xb0qti5aycA4JH7HsXhg4cDLo4brzOiETJA0tigLcVo5Zo6V0DKWrLhZ7jXpefpXlchthJtND8c8owZHj/efgA0DWZttGljLK0iZqLyeJXTVBvO2W++CAmQ3LG8H5MGX4RyQk5myTSpVuFC2SMIfi+AX5CcKRnlnFg7w/MtlzbnTYCiADq3Qr59VHU0UgqvL8F4tU4oDPpU2uD8UYGBnsn8noFylEsDCNT94+v0l3ezU9zlTxMlxJaiLHFdzMKoVh3zw71bNPc1kkrvlWSASEJasTl9hjdoZdtL1tFtQ81aE1mlKLNzwywjnaXl+JfrFxw6cAgP3fMQAODUM3Zg57k7cdqZp2LH6aeU9VdLCcE4aBoHKesSX5KuolGK4RneAFRthSmocMjx5PzSmoUpptPpcHa9DDm9wbhNsLB2oZC3vLTURG5G1hzY5bpFIQnJlGpd1pyHYQ1eUtFJh2kKbSNCmy4sFAM9W14eVruP0ViWJHg0l++Z/KcMR5KHPsmAncyhmPU9ZtpXtPuDeKTud8Wd1rWQIWpGUGTUlQyrWljNZX2AGP9qCffnOYGKXrV8kcbq6Qnff3UeId5zfp06WHSWpmm1cMH/M531xk1Dm+w8cy98TRkYcBoB1f5JZRqp72PHbRaEjPxKGVqVKgUyeE74Iyi4ody54aiPvDxCw7qh/FlaXML9396NxZOLWL9pPXZdfC7Ou2QXNm7eiEMvHsaeB/YktCjm6tCoitaT1LF6ILF48hBbg3JcIjh25Ggxlus3bsS6devszTOJJ9M1U2xIx9vMZjMcOXA4CHv7M4J0C+k2VZ3DuLoPVZ0kSEsnl3D8SMqtTSdYt3mjIbMst9Jhw9bNZRP1sUNHsbyUN41LTRdISEng8zIBKJJRyn/VGaeejJcS0QKUt3YPldqxP1nk+OidXJBDQN4aU/AVHVHsogXXLwtvNMiNrUvKjthX4PpRDYcZzVbD44sjjR4v5N5DqRHs+xF0MF/ixaBRf7Xou/eInFJSumY10LKFDFRySyVPBaJhPPTgeqMDwehTZR2WQffSGTdcjbM8SYgLE9QYkgU7n3tlK/sFj9z3CPY//yImkwnOv/R8XHzlxZhMJ9j7eMpfSQcUQV/BEowZKsecrDh2zAs/nxHhwX0HcfjAYQDD2fCbT9mKHl7A129aj22nbgcAnDx+AvueeSEYzqp280AkEF4Y24lrEyWpDHaeFMn1L544iQPPDotCpwtrsH3nacirtPOj3WSC7WeePmxWB/Di088NpzzAFoNaA4ygjI9lTVMa24KkesVMe8x6+82LB00MDcb7XBRcqTba4QL0syXkQTYNcYQBaDxrpzzQwHMZghWEU9LDIwoajR9qcTFjqOVvTBGN4xAzXF4yxu+zvrfoZIfH9lJV0RM99vYdj4b4dzCvjkI6o6Ia5pAZSivd0wUORTKs9p1uDYYxxryxOqNlCGyAt88+/Rwef+hxAMBFV1yIi68aFjA+ct8jOHzwCFaS0IV1C8ORzsGfVUpNjLFZTl+mTwoGAAf3H8Czj+8FAGzYshFnXXiOybgMxm7HWafjlLRebP8z+/D8k88lw6BoLpbIiwMZCbRFrfo3qA4ta2zJX4Ijy0vLePrBxzCbDdt8zrz4PCysWzuITspFrd24AWekyY3FEyfx9O7HwhIPqRqwkH/4l/k1S0ap57+USzP/JeV/WaaEr5WstAYUUmlqqY95li0fn61vnrtWWZZTf8M47VIgDU/k7B7pu/utyrdcnBJHufquni6/QZw76T1l5oyhsdo4GS7yvGbD5arONQQD3WeloHQPJ5NiHitysXJUuR9Ne291d9rPCB3FAXaSgnZVcTaGUBaHAyVOFhw9fBQPfGfYpnPBZefjgkvPw9LiEh749gNYWlxqJktPHD+BfjYo1/bTtmPt2oXixauVv47RSsIzjthEBMePHMf9t9+HftZjzcIaXHXDy8tpDZrOvb/82quwadtwGsVD33kAB8uLH2IIwt6xPoyWx0m9fNm9OeCxiCg999hdu3Fk30EAwK6rLsGp55410K7DurCdF+7CWZecDwDY/9SzePL+R5zBiONc+NonpNwP4d+sH7YKzXTYP5qRVjbOCnEGBMgRPiN1UjIPvEi2PPzhYNkMHxEbsrTFeI5zPvwDvJkhz81ax0noImcsdWy8uPUaAjgDFRFHapcNgCAivxGjx7Ao/ovCpYmvhJ5djk/T7oT824/O8EvZrHBoHh0Et5vpidnI1md4ruv7YV9eP+vhNYf6nBnZMlzhUoGC0iAaQ55rNpvh/u/sxrEjx7Fu/TqsXbcW+59/EQ/f9wgNmz2tqtj3zD4sps25F1x2AV5946uxccsmrN+4oWy+9oITaavRVexG3yu+/ed34LknhyOer3n9K/Cat74W3bRDr4oLr74EN7zrjei6Dof2H8RtX/gGFk8u2fg3Kq3ySBEFal1Wg4FrRTLDs9lQDunIvQ8/gQdvuxsAsOPsM/C6H/4ebNy6BdorNp26HTf80Nuxecc2aK+458u3Yv/TGR020GlCU7M+5aRmfTFUOWcV0VdWblOuGuJXMUI1seaNVLMCrb0zIyolVBsRi5MsNhQVD1i5A/OzYudZvVKMEUxEOGGwqVrvRhvEgnQvhnBpAMR5PEU+7in3IyMoyfQz8oItKa0BgJUcxt3jszqs99MVLu9PmftKXcbWcpiFBgBM+9lsOGVShtkiEcFwABa9gj53pKHxFXLIie2cwSdsWOYQRPDYg4/huaefwwWXng8A2LP7MTz75LN0RJC9OUZE8PjDT+CZJ57BhZdfiC3bt+Bn/7efxfe+73vxzBPP4IO/8j9w4PkX0wyfVgQ2Z928/A1TyJ3giYcew5c+8kX88C/+GLacshXv/zs/jZe98nIcP3IML3/jq3D2RediNpvha5+8GQ/cfi8Bq7jBUwwAldxebl8CfWonAbBg0+ukmuPoZGRYhf+1j3wOF7z8Muw4+3S89vvegq2nbcfTu/fgnMsvwqXXv3zg/d27ccvHvoTlpeWy1q2H580Q6vXIyyO8OCp4iOd98oJbKd+zM6NaJec/6sEphoUS8lmX83kiuUw4xNQ9WwCYZgVoGNO6mfACXd5+EwoWogxFOfSXryr8eilXRuHWQ4m/51dNJAOUOuW215ChEY0vpggH93Hg15j59Cgqhd+qflyBtOKfJ1IS3xlJw3Sh4nfmHQuhFFErfJjq4EqTt0ibjfOWgzInSQKWvWfRGKX6G4bKEWDx7sH9B/H0Y3txwaXno5/1uPuWe3D08DF3PrcNMPDcU8/ikx/6FP7SL/8lbN2+BdtP247tp23Hjp07sGHTBrz43H7HAju7nJO/XlAk3AeGVeKf//BnsO307XjzD74NO3aeiu/+8XeW+4snF/GNT38Fn/iNP8GJYyeGZRJlxtIrglZtKrMBRYsRipAlMkQgHrmEFf65rke+fT8+/au/j3f+9ffjlLNOwzVvuR7XvOX6oepe8cS9D+Pj/+G38eyjTxYBiu+oK7xQ9UMvwRCkv35mCAU1dSQrbFxthDyS5sDJnWUujWUGZIGKEibPndfl+RlGIcKzJmSYJNRGljxr3/rs3wRUwhkJdFVDGYyNajCuvDYtm2KUtVfWP5Mq9720S5itlWMgicwr/83WEpqsJNYMd15m7I4GB9wx1Mr0UbVjvo0nOUh7HS+zHZ/mFepFMDqB6LBSvbxsIa3bOXn8JL70iZvxwJ0P4sTxE3j2qedMioH62FgmKijmmoU12JC2khzYdwB33XIXVHtI2ERcGNcrvviRL+LA8y/i2jdfhx1nnALtFY89+BiOHj4GiKDvFXf8+R04cmjYfrLn/j3VkB0/dhw3f/zLuPe2e3D8yDHse3b/kFBPyedOBIdfPITf/w+/i0fveRiv/e4bcMa5OwERPP/Uc7jjS7fgm5/9Kg7ns6GKgR6M2S2f+xoeu/8RLJ1YxPNPPQdA0BeDIDi0/yBu/qPPY/3mjTj0wv50FlfssRcGxbAl6K6bbsMLTz6L2dIynnts73ASAxsLGXJVt37yZux/+nlc++4bcc5lF2Lt+rU4evAwHr79Xtz6iZuw96HHPG8T9Nt9y10JBfbYc9fuqH9VSj7b22wkxIubf07YEHnklX9Xz5TeB+1hutsA1BBSadMjoDrnGDpXiBiMWj7FoXMFUOr1Lw4ZqcrHeFXOzd4zmJGWkqYzQvKoaOAfvRXIJdCpziKHGuyJGT3bckU8Ci9H5FyVVG93JmBTtmQZIo9yZPtwyZCyH7CeDvS/YusNxQbaynFJYWIiqsu/xbbMBOGoj4ERB874mX42w6tf/yr8o//8v2Lbjq34+he+iX/9y/8Gx44cs4P4QuxmyFuxZs0arFlYA0CxtLg0HOSXWSmmICi8NhiQabVmyIqT0uXBXb9pAzZt3QQR4NihYzh+5NjAq/ACC0Y/kjxRGSBzPmWQOhoQN4CMpDjyEFu7xPC6zv8MkqG9Ys3aNdiwdTPWLKzByWMncPTgYfTLy4BjMa9Gz/zTSpkZDAqMf0VuIg+Q3s8oWSjV5ITLJiZGNGaozMIkO+GAFBw5xKKwksc68BQQ2u1gLxKx1fbOrNI4eEMbx6djdBgiRntOyb8p6Qb1rzzH/aG+WrYJbo9CMljCoR0U3bzEfBl3b1iLI8inxhZkNfyeiI1551CQ2mGLvbXDMtpRSFjGnOSvLK4lQ5brhqbTGpj7RYH7PjmkFCKmHM+AgrJxIuli6JdPf+B3tKntM1u/YR3e8v1vwrYdW7F4chFf//w30ivvmXU06Bni68Co2fJyOWyOhcKFSMlI+sV0SPo8TMtn1JMXSHDiOFd6/OixdO46XL+1Vy+NasEEFOjJSGkw2EMS1JQo88zuc+dZvurkAvla8/SJpsWTSzj57D7LoWTB76mJ4qEz0vJtS4MUPzaNbTWEntx98YoetzS5MJC66Xbt51xVWI7Telmu1RFzTxQW8piQwY7BaUUT8a6Mg1C1bHALkTVVrZeZMk0mQBRmSZ9K9hZK0iw/h5ecoyLAWIyEcjdSW3y8tY2L9amMbUBo6v9jHB9NdtoYOAQ6glQFimkhRKjitLYmr3rPu+ilN6RVTjDoOhqTLPxhwzHMeKgqrn3TtXjd24e8ykP3PIzb//x2oqymdthTFWITJ6R8NEhmgIldeWszGwhIGWhtMJN9cD6ALw9uPge9DD4MSjuB9sMNBa3wFioX2tfRHz5CcKud1YbfTUnDvK1LfYwkK5z/idA8G+YADRl1dAk2lGu5DjFvndG3zxsBfguKlo4q09iwHq299mPmyxypdYRzpREVV5wnC6pjbRH6zIpWu2E7OG9IpdWGxQaFkVFfDJlpWEROyVgRGnWD3Fwjlv8jfswJhVr+yvpvO0G0yCQbH7bT/FdYeCpEL6Euo35aYnRSuYI0EtDNlnR4bf3wQtSS30pMH0JFe/1TX2YUkmHTYenBZS+/FD/xi+/D1lO24uSJRXz+j7+I58vrrtpiZkfCkFYCRDPDmeRfxEfjYchKvSU2jghH2Pvl3/D1ZUMfvHBWWi8NVLUXW/+K7zygSXlsA6wJm+uXqpO4sqylzEzS2460pdgxvKGpg4Cw2FjZXxNocfxgCxgcQHbPlTjyuHrjXB9glY1OJrQWemkwPquaGX3CXSWJLo6mem7QvX4CJJBZdFzF3IZT5vJ0cqElyZ5bsDFnw2R5qZ6Mh1+y4IxAWUaggZ5aP0D3OKSeCN+jSMxB/dosl2FKctuFelqPDAWMfrZpU0CKUHtsaF1TN8BDR/ocGqZ9YL32kC4plwK8SFB1OGH3ytdcgZ//h38Vl6SV7bfdfDv+/NNfQd/36Z2H7f6axMfkwAiDnJUIiwtLORLnaKuKANTHi8T1ZRYG1alm4QrprhtbSoDmwRmQn5lHIeMDsDBnq+Yp98javFXFjwZc8bM/6vpbUBMZoQn12+XqCFG5RHsRLamk1iVlWelL2AeyCJGZ9ID6JqrxZ8NVUHLAx4pKloo9KyeE+qIFuRd9SvUFAxh57mgr7cbjibX+pzRDargaOY9V5CfJjh1sWAbG0GZ2OGo8ixvyJFASu+B6WXgVCtL4ldMaohGDn7k2PZW0rIEoyibKVip7JS/Xim6YpdXelDe/EaXrhjc9v+yVl+GX/8+/iYsuuwAA8NC9D+N3/vPvYd9z+4Yyfe+T3qQcWYFF+F5mtutp+8OCTvG0pAGrUEc0ShEINH4XJESwwL6mMCl9VRKKCMTs6FotoVkePDakw6d3KIERRV5t4dlABk3qTlRT1c4YkQESOlQxIFFn2MgAss4W9Fu+Z/4Zs8vR3bk+msluDXDJkeb35zHwIcNVUCn3nJWmWMVsybJSiZ8IyL3OoaSr0fSCERXTglC+GgvJ4WtuxNCV36KjZQGrC+UByvAkqdEQZIU1UflHnH5wBjHMQEoekxZ2YOPHosf1eYA6ikOy/E6HV52be3en0BLELw+RwoEGUFkTySj0s2GP2ZFDR4rQPnjPQ/i//8Wv4r5v3z+gtX6WBN9mGkVMWKQ03CE4t8SYhAKdEtJpRrl76vvizhuKzGGQVoYvD3wIYFJ3y8nHFGIOl3ozB6qedhKclvBkwaoXDVqRMttEz1giOr9RWAqvokezsI6uM5ilMcn5IjNMSZQkGz2WjegMtDIQ+aqhUUMNrXFxiAeWqZSqDPEpGUYXvcQQB2w47R2XbkGjm5hi5A7ThWzcIjiq5Emt3ihwHALm3FBKvIuO88d2HpBBiaFb/kYoiw1TprvL40cyCPdVqcOhn0U+0uwwOeXOSVmICiLiFpbRoWFLugfLmxeNeqYMXodnzJyIBOkq0+UCPLXnKfzZx2/CYw89gd/7z7+H++/cnU7qTP9oVjJ/Sp4sWQORPtzP74xNnsLlc8jQRSNHyfnsyXvYAOWB75AT89xJdge0yFUN4ma0w2faazJajLwqGc6DytOHrOTUVxReEVr03HeMYMNtFZCRYQNFQhKdSDRWjKg4ihoHvRHZsfCCFGleeoIXF+fcT2a0kMenl+sGY8FGnHntlKaEizapU6qpZv2IVvboXH+JFuI4NcasCgFtAE2WKZ9VbXexVAOLk+Wns4Gy3GNxPnlMU7rBO18tXPXvETFLYcg7R0khjOCHeWxKfb6HLhJ55dYbtABcwrZ5htDCouC1GiIoXVdO+Gx5gK2nbEXf9zh84FA6RtniZpBy+CYbYUoqkxW7tJbqWLdhHdauXQBEsHh8ESdPnCwwuvXaMHagsa3c5y7FQmy8LXw1Q75uw3qsWZhCdNiwvXxykUbK84zXBmXpYtrc6ahQTCYd1m/agIyKTxw5Vg7t4wV43mDbu9wUAJ9fyMYlr50ChrwUyrNmEMvMcK4z9oOUI/IpixavNRrqzcqjhRZU48AV5nVHWtorv3P9YuVsRo0MfQk/UY7HLmOc6XD9MCRQnCDRZoabFdYbACDwjCIC7rtoTyi1t/vlWR8OmvGxvbS8nMHHHBZid2oyk+nqRIbrpV9miroRwylMA/HCZhStHoGi45XOPB7E5bwK32RACrKcqusOMd1hsdShTrBl+1acesYObNuxDZu2bMR0OsXy0jIOvngQLzzzAvY9t394W410ldE7mN4HKOHVVuw1a3vo08WZSYphrVOZncpGTwRv/5Hvxlu+/81QBT7z+5/GZ//gM0XZoFLyL2XrUXE9FEYGSNJnOO48ji3+U+2xsLCAH/j5H8FV11+DpZNL+OivfRjfvunWdGCelj446cnCnaMD1eFVXcDwskDyblt2bMP7/sFfwWnn7MShfQfw4V/5Tex95IlyvlVWzsl0Ul7WasMrpMw84oycxCtefiZpUydoOBQbJ2eAzZW6Mi7JImT2CQX4/Xuw9WHJgJZQgVyvRVZis30VarPnXLqgLFOoV9VbRGiIStQMjEOE3N0ytiTd6mlwGxwLXyw5Lo5XZixCcEehn8KdHxtf/lEMcVitjuyEBO4Nzvmvqi27oMXKlsOSQiIbLV8L4GWhcauRgjFNG3g0dQIcoEZOZOa6Nm7ehF/6Z7+A177pWqzfuB5rFtag64YtMSdPnMS+5/bj7tvuwef/5Au485a7sJxewZ6r7Shmd9PfUsCjCUWzFyGE0GTOypnlg9c6/ewzcNkrLwcA3PblWzHrZ5h0HfJrmWaJlpzTMhpz4pZjbWvahQMN8qQTnHnB2bj4mkuxtLiELadsRa9lcYivrxE3iQguvOoSvPEH3oLjR4/jy3/4WTz/5LNlXKZrpjjv8ouw84KzcfD5F7Fuw3qY+CnWbVyPG77vLdh15UW45yt34Ntf/IbtAiDmVugF2ZhxDorDQKlQh9Vnntd6aUneooAufDCF6sp9E9DqJTseyI7leMkAgeiRgrh4DK0JWyZSDFmWq6r+GKZGubQ2xDdS0GX5nss1tui4Ux08i7NJq+SSbVttcjLVYiGe2DgKTzzl0JVSEMF3FxthaxkzAje0VriUx1X48Rr9VemK7AiYBwCm+bjcemkDhV/Jqq5ZmOKCS8/HGWefDmA4Inh5cRndpMOWbZux7ZStuPDS8/G6t74WH/rVD+Ojv/2xdCSMlC03LNpllq54MG+XXViWR0RBi+zaq5D5DdbZO+dZKF7FO/DEr7JhYWrYFDcaASS1ZCSEBTk0qsNDVWDDpvV4z8//CF7zthvKyRN//J9+bzhuulSfEQWFuBiOgrn0uqvx/b/0k9i4dRMufc1VeHbPU3jy/kfsJRtZQBOdJcwDjXOcGczGosQ5hHiVx0eDoaBp9mRomBOlTGK0pvay43F8VvoBFAPHmSwHefioZAnVBRoBmtmNSR8vFW53gp84qI2bItPo5SiHPAXJhOy8IcxkmjTUSos+JcnBELJFZ5A7SzO19JdDNvD3ggVyK2Hxq3qeCD3LIVzbpbQdQXTn/HQA5PZewrw3DhQOmMkOsB7AyROL+Mj/+Cju/OZdmC5Mcd7Fu/DG73k9XnbVxTjtzNPwgb/1U9j/3H588WNfqsOIMvAWyzHKyZ3mnIAy1Y3u55Idrf8q7Ct5L5qaLh6mZjWHGtFkiVM8jS35mUrWI0ev+ALp+8L6dTj1zMEZSCc45czT0E06zPqe0I7vP+vMtjN2YN2mAXVt2r4Fm7dtqcI8pA3m67dswPKJRcyWl80zdl3xluPG2i8KjWGUCZo5gpJorkLGVFY9jyLbQzBdpNjCNYZdlg8rkKk0GwxAybUy9BKbOBEyPBU9NWLq4R3C8OoxcSiq0AzLsfnXpMGVZalhhG/mZLiTQ0FrSih9YUIfDUxeemB1m7Hi9xQ6n6Gwo2bcDDOBHeK5oU6l0B3Ft/C4Ol1vqOC0vASUBrGUydcLQjHSlhYX8bXPfx3fuOmW8j6/L33iy/ilf/4LuP7N12Hr9i34/p98D771te/gxRdepLfVGHvMeAWDRowtq4B5RqzuRyPZa9fZWOXBE/pta4zMI421Y7wd+pBeO0THeYT2qTzNm1RwWCA4dugI7rv1Lpx54dlYPH4SD9x6N2ZLy64wC45blybAk/c9gmcffQqn7zoTj93zEF54Yq/NtAKYTCY444JduOKNr8aZF+/CZ//r72P/U8/SWOekOqNsblNrZKGsTGPLEUwDM6r14k2LZ8XfETWelR01+Tvst7g1eUJKRtZQbflFRi+9eMPqbZ2fyOBJmWHcLNzJOa6yZqvQ750S91FdmcYY04/clxKqectLJewKbzQvqCrLvhsj2wBfUBxZsbbj4vWAjLDyIIVozZFKsT0NESPH0K0yDpbD4hvREuRZsM5HqJPpFGsW1gxJYlU8unsPfvf/+n1ccuVF2HH6Dlxy1cW45KqL8c0v3YIOnWuAZ+28AjRm8QJjmt9L6BJQDg+exPoMfUlsTdBoSRtXeHV4e2i5TS8oPmRYOrmET/y3P8LuW+/BiWPH8fB37i/G1bxeqDcZmm4ywRP3PowP/qP/gNPO2YknH3gUB57dl7ZMAegVp5x1On7iX/wN7LrqEux78llM16xBtnZZsJu0U8iUQza/XDTxIlqqkE/K/c9hIIeNZRAzwnOviHeZpuFX6x2AqXKVUH9yCNWbn5O8Kcui6xCXtU7aWkBbu5W7UZYDuOQwy02dDnBNlpDW57M0oUM7BbR2CgE8giOKOCMYUX/e5yveQhbeZ8Ns6MyjNd8hb6xyN2z2NuIxz4FopI1eySEhtSoIiMewjoTtM9IJRDpAOnSiEOnw4D0PYfddD+GGt+7Axk0bcMGl5+OWm25znemEScgdGhBc13VFEOJqe5sPMGGNKCi+d1CKQlJdGcqScassu2N2TwiMjI9p34ofTjTmt/4yis0sObz/IG7//NcAAN2kK4Y298MLpb1TEQC07/H43Q/h8bsfshfEJvSloli7fi22nrHDh/ssQJpwhvC4pLai3lZoxMaLvT8vF2njCKrHlYjbNtioNSqUqkqSX0ttqJBBKPdi0plRNgUpZOcyMsub4WPuK4y++zZi093VHgXzDe33ZFrI+nO3yQ2TIwzrrFwIWDwQ5ayKIFCd6vSsy44luC2HxhsDY4dOeHTWsG90i8ECLRy1wbXv7Hla65cGC96VV8SLACePL+Kpx54GMCjc9h3b0jR9QAdZCXU4t2nj5o1YPLGIk8dPFHhfvJcINmzcgHUb1qKf9Th2+NjwsgpBWXyaGdERkiq0o4N0go2bNmBh3VosLy3h+OFjpHAcCibm9sNxOuvWr8PaDWvRSYelxUWcOHocs9kMk86WKrAuuS6mgZCuw4ZNG7CwsAaLJ04OZ2rNQYJIyxTsTdZDRR1huVKenhNI2c8p3H+GT0HJy9IOvkc5i6zwWa0LwlKuKok1ofxQnYVBId4Rvh+EtkYQio6etLkXW7CrElTYbUIkxci5JXJ+MTtl5owMhxrdpW00wqwwk6zCjsEruRuWIlK8al0tiuI6G9auGCgYau4KbXSCrNsQTahNqYFAY5HPsrA8jlk9CcYq0o5cMoKsZae2/2Kvqnf30iCXxZ2Oyd4yVg33ihPHTpYik8mkLH0454Kz8eZ334i16xZwz+334dYv34aLLrsA73jf9+JlV1+Cz/7R5/Hp//lp8hyKHafvwBu+9/V49Xe9GjvO2IGlk4vY88BjuPmTX8Y9t95T3qQzbBkZaHZvgFZg6ylbcON73oRr33Ittp26HUcOHsHtN92Gmz76Zzj04sHBQ+bEqg7v9bvgsgvx8je8EhdddTG2n34KptMJjhw8gofvehBf/eTNePyBR9NgZiFseFcFTj3zNNz4Q2/Hlddfg41bNuLA8y/i1s9+Dbd87qs4efT4ELLRI1e97uW49NVXQqF48PZ7cd837yxSEw1cRlFd2ji4adtWXPeeG7Fx62YcP3QEt37yyzi87wAuec3VuPwNr8Sm7VuxLp3yumHrZrzlp38ARw8eRtd1eOahx3Hn57+GK2+8FjsvPncI8e+4Fw9+8zu0dXQIG7aevgOvfOeNWLdxPY7sO4BvfeomHD901MmG5UTMcHOKyhLalWw7e8ML3p2xVkBo47jVl9eNmToK08MOW/LeQxPmsgQiFyHjHXNiApMbPzLaUGaveCWXloxZ5pkz8ozsYPwyQ2p05wMhY65q+G57N5nFmirjMLAFLBLF3oBkP9fqIxsp8YjQ9u7WqFPn8SzrpgmCkuWU5hMxb8FxcGFiJ1i/cV25s7i4lGJv4PSzTseP/dyPYNOWjfjEhz6FY4eP4hf+2c/j0mteBgC4/eY7IGnBqfaKXRfvws/8vQ/g2je9Jp0wOnyufM2VuO4t1+IP/ssf4PN/9HksLy8bBCZ0oarYuGUjfvxv/iS+9/3fW14xDwBXXnslzr7wbPzuv/kgjh467MKZ8y49H3/jV34ZZ19wdmUkrr7h5Xjlja/BB//P/457vvGdMrMWYyZVxSk7T8VP/W9/Fdd9z+swSctHAOCy11yJHWedik//xh9jeXHZhUyXX/9yvOtnfwgA8Olf/wge+OZdgxAVJGu85y0z2is2bduEN/34u7Dj7DOwf+/zuP/r38bB5/bjvKsvwVs/8F7Xlw1bNuH6H3x7+X33l76Ju77wdZx9+YV48wfeCwC441M345E77sXSycWy5EB7xVmXXYi3/dUfxdqN67H769/CHZ+8yZ9yMyLAfKG17qZe1MpGJJfLGhQVAdFq0IZ0Kxglm+1XNiA2W+036LJhKmvTGh3kPY4ZOghs+cRgXIUjMqK5tFoMiDPIRK+lJiifRLkqISNWD0U4nqjBF37eoXlnvHhBcnt7UI2suNkaMY2FliLAtOSD3FKDdgcq6+tczeBG129Yj7N2nQUAWF5axgvPvID8RprlpeVydvppZ56GH/9f3o9Lr3kZVBXLS8uYLc/SVgnFth1b8VN/6ydxw9uvh6pi9527cd+37scZZ5+Bl7/u5TjtzNPw/l96P55/5gXc9qVbS+4q53oyL17z5mux/bTt2P/sfjz96FM4Y9dOnHnemVizsAZv/oG34PEH9uAzH/oUdUNw7NBRLJ1cxFOPPImH7nwQB/cdwPbTtuPK116NHTtPxfmXXYD3/vyP4ulHnsTB5/eXkJRDgq7r8MYfeAtOPft07H3kKex/dh/OvugcnLLzVKzftAHf/RPvxpP3P4pvfelWL3CR72IeaTRF0hAIvrz/6efw4C13Ye2G9Tjr0vOxJoWmT+9+DIsnTqDrJnj6wcewtLiIx+7cjcXjJ7Cwfh1Ov+BsbNi6GQef3WdpIxGcdsE5WLN+LQDgqfsewYnDx0w8nZemI3qyT2TnRqHmiMB5FJ+2Z7ABySKfv5RURhWq5BaDkeHV58mw9YAt7CxWmNIjFcul0g2lRGBcaMOLMon0smawT4Uk3DfrGRxWUubynivxRiKeCGdI13ip4ZloBhyK9OEYfR2MsyGlHD76TmS+RtDrqqZnmHtTRy0vaYjyglGdMBHoFRdcej4uvvJCAMChA4fx6P17imdfWlzC8tJwtPEVr7oca9ct4MjBI/jq576Ou265Gw/e/VCKkQWv++7X4fq3XgcRwZ3fvAv/9z/7r3jqkSexcfNG/Ngv/Bi+/wPfhx1n7MC7fuKdePDbD+DwgcNl/VChqpP/h7L/jrPrOM/D8WfmnNu2d+wu2qIDRGEB2HsvIkVRvVjVsizbkuPYsZ3kaydOtZzEsaw4ViRLtiSr2aIkqlIUeydBkATRO7DYxfZebznnzO+PmXfmnXMvlPwuP0vces6U933mecu8g1XrV+Hwa4fxtb/4ewycPI/uNd34yB9+DFfctBu5Qg63vOM2vPbkq5gcnTBml8TU6CS++d+/hsnhcYwNjCKKIoRhgN23XoVP/OlvorWrDZsv24qtu7fjlV887/Y0slkNMyF6163Ca4+/hO//r29henQS67ZvxAf+6BPou2QDGtuacf2Dt+H4a4dRXlquGnsuKFwufhVm1ZwZKXDomb04+uIb6N6wGp/4yz9Gc2cb5idm8IM//zLG+od0eZ8oQlSJMHzqPGbHptC5thct3R1o7V2B6eEJs1NAIciE6Fq3ClJKlJdLGDh8CpUoQhDImuVsHJikaARf6xj6CKRNLGEFkbmsHMMS5MvyvU3OJ8lfcS3wIMQ+S6CsP1Qx5XZ+oJTyMgem5wETcDltdH/hm5csuGiVl28BqnKxsR6Qb9JrF2ub6x6Zmwrcr8YzAi0ThHIAyD7nvt0abiVzFxp/Y//X9DWlRrwGLaclzks+Za4BmaZwfu4EC8bXctEo7dNQiT4BuK2zFe/86NvRsUIf5X7wtcM4d/K8jS7GsT5EFQAamxsQRzG+/b//CX/7Z/8Hjz/8BPpP9EMBaGptxI333YBcPoflxWX8/FuP4vxJfbT9/Mw8Hv3Oozh/egAAsO2Kbdi4c6OX3c4fs1OzePiL/4zjbx5FaWkZZw+fxg++/DCmx/WxYKs3rcGGHRttv4UAokoFb73wBi6cHkBUqUBAs8U3nnkNB158EwCQr8tjw85NCMLA8yVxJRnpH8KPv/Q9DJ8eRGmpiGN7D+KX3/gJSktFAMD6XZvR09cLKCd4nizYYWf/r1rdUqtwen6gT/NZmltEcWHZlhJKkgTLC0tYnlvA0twCysslQAjMjE7YU3UKDfXoNkfb01zn6+vQaRj0/OQ0hk/3e2DCncZcpmhjru2YxyeF/S/tq7JJklW5Sr5MkgHn0uHSPIibcDzvUH89gbKHwyZMnW0rDXEXqUmwLmtvKgTcMe76TykgUTpbng4kTSCQgM6A1OcM2HbYawsTSDDQIchPy8eM7VYgVVfuLzF7YO0Ysbmpkh5Gz7xS6Ewo0zmPNkAg3NUVv+avelQtcvQ/yhTwP5dWmBJlhZkExNb9MVdhVj2EAPKFHAr1BbS0NeGyq3fis3/2W7j5vhsghMDY0Dh+8q2f2TpYAgJxJfY25b7+wpt47HuPo1QsacWXEkgUVq9fhfXb1gEAhvqHcXz/cQTs1J6xC2M4su8IAKChuQHbr9yOIAzgpQiYx6mDJ3Fi/zEEQaB/HwY4c/g0Tuw/rpWyvoCNOzfp4IAQkNBOexkEOq3AROoCKRBVKug/fs6atV0ru5DLZS8SQQWO7j2I4TMDCAKpAU1IHNt7EENn9JmATW3NWLWlLyVEF5vPGnlPcFG7qgMkuDZaOpNyEglPCyEgUFoqov/gSSRJgiATomdzH2QY6KPp4wQN7S1o7ekEAIydHcTs6CQoO9ydvm1MG6soNZw1cPd3CbBu9hT7I21L5+Z6CshNOF/8UW3fuLFTSgNEoriyOfMv7cXhxq6yY5v6s2NKZ9y4s24SA1x0enac6L2tMZQ9VVmBHQ3PGk3ySaksJHfpyDj1gcDPjT333vvj5JuYvt+K5ibtz1Wp/3MSV/M2/y8Pzyas9r2Figx2+kDBRBVgaLeLYPDr5Qt5fPR3P4T7338vmloasWrdSrR2tEAIganxaXzjC9/G/lcOeHlRiUrs9SrlCvY+vQ8Ls/PWIU0kcM3mtWhoagAADJ4ZxNz0rFMqw4DOHj2DqBLpDcGb+5Av5FFcNgebsoG9cPYCisslO9hSaKU8fegUrrrjGggh0LtuJXL5HMrFEh147TEbGMVL4gRzU7Pa15aVyNcXEAYhIlTYtOtHHMe4cOq83WtJl5ufnsXgiXNYt2MjwmwG3X0rdTWHWoko3FZg82Pf4YyAzJiLSMlFEvGtyUMfJUrh/KGTKM4voq65Ed0b1iDbUMDSzDygFNpXdaOuuVHPzdEzKC4um+tw1XI31SDi5s59p9oTRKiTWJ+S83UI1lhbnTTlPnHy61+XKyCXaXpu/WK8RdxE9RxmKXOS+02qu+L+5SarBUdqi78/0+KrcFvNLEixcUybpyp1c4/lCv+pYr8lsOJHeblcSTbWqRW5egF1v+HD4aVxUOfYXtgquQED4BTuhCpJ2IALN2IQ5kRoarBwJTWhS5hsu2yLa6zSFRuOHziJ7//9I3j5yVeRxIkHWHx7zdLCMgbPXnBNMaavDCR6Vq9AmNEpYuND4yiXKlUt1++XEWZCtK9oR6G+gKIxtfi4FheLoMNi6f1EJRgbHEWlXEE2l0VLRyuy+RzKxbK/CKkEYSaD5o4WdK3sQktHCzZfvtUpIC7+UHGC4tKynwVtWOb44KiNYLWsaEcQBvrY+BoC4PmAVPXnTD6r2wDnQNav/eWP2pakHLwjZwYwMTiKNc2NaF+1As1d7ViYmoWUEl3rVyFbyKG0XMT5wyc1eAcujYT7W6sTkNm6mVI0AiQFprRpB6oCeORPcLn1bs5uAjcAzmT0PEk++bKmVsrJbg9TFcwFJtxNma+KLzKc/emxdvNATeHdcP0nRkVgpe/ngUyVJLB78dI1KelQYOcMCvg1sKhvwgUq7Bh6vkS+OKYSQfm88lunvuJFWpl6p/1vvPmh9v3UWjGU7YEyiTSJim0joyjCyUOnMTs9h0q5gtELozj8+lEc2HsIk2OTLotcgSWhuvuUS2V73p9rlIIMAjS1NevJTRLMTs2ZQyr8KZqfXUC5WEZdQx3qGuuQK+QcG2SDkiRxalXUAz03PYeoHCGbyyJfl0eYDWErF5nN4Osu2Yjr33YTtl+9C50ru5CvyyMIAy87/leZcipOqt9LEsxNapYWZkIU6gsasMoVXe+96jpO8JMqxGK+CeVnhgOwppnnZ4H/OZ1K7VZ7nW0/ePQM1mzfiPrWJqxYtwqDR88gyIRYsW41hBCYG5/G6JkBry1ph0Pa/+mqgQg7Dz5ZcfSC+0fYgszcX7WcqgxIOCmi/yt/PH0vGjODGNhyX5YGLf9edhHmW3YU+djY+CvUMNHMpZjfTppOSgHLrtKOdEZ+uOq4htldFbx2lQMPupaLKrLSQqI2+DiSVVviHc1JLYqsb76BS1PtO/j/bw97CIVdtYwguzRtJz0JY1il5RL+4fP/iNdffBNSCB0BNGkJ9qxC7txTyjjGzaqeJIiiyFFy83UpJbIm50opZcrTmDWBjUWlVLYO/CCQCMKwdg9tE+zSAQGgXCxrMINmddK0WUFHwm68/2a84zffjZ612sG8MLuA4XNDCDMButf0QgTCu0XNwRbOT+KcoZqJUskYGejk3JRlbq+rUsKdvr79LxXj56Fz549Mgblx9rpz/YQZ2wrOHjiOqx68Ddl8Dr2b+/D6o88j31CPzrU9AICxswOYGZ30/E9kWrgrpVIxmFJZf5MZGyvYaZDh4yt8U0F5LIxH0FKLieIwxRJFVXpXAGsf7bYQDki1KjCbTaS4hTIpCXRn5fvxlEpsO4S9pr8JyG23gjHNhJdTJVMoxbgaCKxE6l0nL45B8e07fC+W4GkebOLseKZ9Q97IV+sC/yStI05ma+1MrX4IUHmZqosLug7AQEwlzgellMLy0rL2QYWBzYqnJYboN1HsRCXWWW0HIUkQJ7FFWgI2nyUktkVuMISnhE7IzAbOi9FQRkFqO6n148rbr8YH/+AjaOloxdzULJ7/8TPY9+QrGDk/gu1X78Qn/+y3ka/Le/dU0MLJHxoQyCxWZhyUNw4UxdErdK3161dMpKoGJK495EyGSqBUgkT5dbXo3jZUbBYppRQGj57GwtQsWla0o2dTHzL5LBo7W63DfeDIaZSWimB4BR/2aJ440/H3pBFqOS7jm1POl5H2iXD/C7uncGCVBqk0eFql9doP65qorZDujk5e3Xf5IkGmX6ISKxfOzGS9UcLlEHrMKuWp4f1PmYD22kZ3uAoppDYtC+b5AYGiG37PFLd4LyAMFCdwJbf9ueZi6S8K3q6DlH5bPnQx2uYTNoTS5Ne4kRRu5fu/gR4DJqc4YHsLaVJ1JnYaJAjEyHxUSiGKI0SRq1MeZkJzCrUym5AFlEoQhKF11idJgjhKXBiX0227KLD3Es2iqPpEHMWI4xhJkqCjpxP3ffgBtHS0YmlhCf/8v76Npx5+HFGpjDhO0Ld1nb0WKbwGIGHD4u7eigGCW/PDbGhXlziK9dgA/gG/bordWFcxMAeW1mRUqc/NNRK2OPKr23+5zSgEJgZHMXp2EC0r2tHV14vG9hZ0rtYO99JSEQNHTkElCWQQ+BngnGEZ+eCVFRzDYP0iBeLFAb2oq++yIFOsllWYeE5sZwaSUlqFZVelPa22NLG9rWdQee3QYybsPZ3K6DmPlZ4RF3hg92IPx6YIrNxzd0fl3ddvlap6P91i98d9YJxdOhBJDyndg5JZaU2pDVSpURLVZjf5xrxN/f8P7IoeIQmHXcNSHk/GuAFiUXzSzA2dJ0xYJy4xLN1XosQ1lJ01vFJRWJib15Mp9aELiUqgYkfnVZIgX59HaEzH5cUilpaWq9kGtdMsgwnohByFuoY6nQoBYGlhCaViGXGSYMOuTejbphNfj+47jOd+/IzdmsJTAOiRJMr19yL2PQk0PeoaG0CVXhfnFlCpRB4tdw/GBi9yXRKkROm2eJyTANzzXfqA6hYRP6N+eW4B/YdOYss1l6KpoxVda3p1xDCfw3j/EMbPXLDhdJ/E8lNt/IJ0Xr+4SXOR1VrhokNS9U0O1sqegeQubB28abaRvo9icMrNJ+Fy7Ci5lNqfGHbjGJUz/ex2N9sQZ2pKCEjpDqN1viphx04IPmsGjBUBAV/hXHoHXZ8PGYGgnWnbJOUBDS2c/vYgX26sFZkSS44V1Z8Jl32gqtOP/l8fobtgiqoi7Y8QzNdBn0uryISebt6F/T8Ay774IzFHe/Hid1EUYWxo3J4G3dHdDhHobT3ExJI4QXNHM3J5vTdwcnQSi/ML2ryEr+CZbGjukdgJUQpo7Wqz+xOnRiZRXCpCCIHVG9cgZ7adnD50Cotzi8zXwp2mXEyqkxuFEAizWa+/OgoaoK27w0bWJofHEZsIYS2nOM9tooRCK0jMnNRgparuR/lRSZrhmvcJMAQTXAiBOI5x7uAJlJaLyNUVsHLrevRu7gMAjJ4ZwOzEFLxN5vy+3J9S9R1f/EWNf604s0Hx/C7sSjxNgF/fru5GplmA2jMtCZm4u8H5d9jqr4RJtzAWhXDgoU3vhPljuXIL77mAPvadwJ58VNYtJqp9PbRQ08LoQljO6CXzVFhWQ+kJbm9h9ThTq9iKJmDBP+2gsH43M3jp1BJ7XWKzfD5pHjxr7mLMivkJU1+hushVd/VyZww/TdNZR82lLrFsnuskSWGKx/G/1G1SbE1Bg9j5UwMoLuuKDyv7VqKuoc5uLSCf0JqNa+xm5v6T/VhaXDLmYOIBR9eqbgSZQGfZJ3r1CzMB1mxai8AkRJ4/1Y9yqQwhBeqa6jXjTBIsLy6xa+m2FuoLlh3xAaPoIilYmAnRvbYHQRB6np18XR6961cBgN7Pd3oQcZzojOfU/CgFxIlCkjifW5rNsDhGtelLgOcxLDPxYQAZBpZFpMQLQggMn+zH7OgkgjDAusu2onu9znofOHoa5aWiBX/m8tU9lQKZXA75hnoIKcD9fFAOSKvdDgyo4AMILds2IRIEEgnzUqXAzXNN+JzEb7NnNHnpN97vyCpQClGiECUJIqX/EpXoTHXKi7NtIXbmEj4DIREKgcC89tXKh2S74Kg0g1dV/XCg7vphAUT481vrwY+yt3445WTPN0x9gfIYU/o0dc5q6XsXSxhMj0GqsdKiX5X3sZpxqfRFDbuiswillLaonzCZ3b4MVhPBlOEJISTOHj+LkYERAMCajavRt6XP+nlUotDU2oTte7YD0Obc4X2HdQa9MWdDFjHcfOlm9K5biTiOoZRCHMdo6+7Aliu2AtAm2cm3TugsfyUQlUwSqJRobmuxUTxAH7/Vt3UdsnmfOdFkShl40cptV+5AS1cb4jgxLCdB74bVWLOlDwAwNTqJ/mNnDFDrzy/qpzLKkt5MoZRz7FZvX1GMvSokUYw40ns583V51Dc1+IjDBUNKzI5NYehkPwBgw+7t6FjTg+LiEgYOnbJlfRxr09K9+drL8dC//hQ++Oe/j7s/8yFk6wssF82DYxDz4ezcLoJc4AT1BVAJLKOx/ebQY8CBb13xJC6tJ9ZqTNUkEAJQwo57bO4ZJ0qDVBKjHCeoxIkBr2oAlJIifhKhlAjMn5RklbDNy9RVxqgVAz8/D5+DlW+q8Sij9PpVpXTgg2z9oIqNNd2pht+v1uVY16s/F7V/W9uJYkbFK3tt5FI5GHVCpdgPGbOSovqWfPVyE+9+7+13Ev7QWXPSMjUNeuPDE3j9+TeglEJLewvuec/daGxpRGyODbv2jmttSZpTh07h6JtHvUz2TM6Voula2YV7P3gfGlsbkSQJ8nUF3PGuO7Fm4xoAwMkDJ3H26FkIKZAkCYbPD6NS1qB1yZU70NnbhbgSIY4TrN22Hrtvu8q1X/rbFaSUCLMOsNZuW48bHrwVmVwWcRShoaURt7znLrR0tQEAjrxyAKPnR9zU1WRIbIVNm6MpsFLVaMemUmB5YQkLM9o/WGhswLbrLkeuLu+2IVHunJnT0tIyzh04gSRJ0NjWjGw+h+mhcQyfPs+m3LEPGYa4/N4bcf3734Zdd1wHGQYoLxU9ieMuYu7bIWVLf5ec2Bo0EsSkwsw8po3NQkjnq6J7pW1Ixib54SRIybFjGfz+BFYapOIkMQw4sUpOMi+FNNtoJEIhERhmFTCgYpTEU18yLRO2WFn3CkWUmaxok08gnRIhUuxN+C/sE2WuqxLFQKvWV2szn5pcifGgiwGdqnmFi3u2BFjiqF83CC4NC6hZkZYGwJpBnifOUVF6Zcv41mgEv7oQeqPx4z94AlfdeiXWblyDm++/CSpJ8Npzr6N7dTfu/+B9qGuow/zsPH7+7Z9jetwdciGksKbi0sISpkYncftDt6OhsR7H3zqOvs19uP7eGxBmQizMzuPJhx/H/PScNl2Q4PibxzByfgSrN67Ghh0b8eE/+jhe+vnzqGuow63vvhOdvV2oVCrIZHQte1vnXul7UyBgdnIGpeUS7v/1h9De3Y7hsxew+YpLcPmtV0IIgfELY3j+kaf0PkopL7K1hgFR4pu6VrCVE/KLS49mrouzC7hwsh99O/Sm7Vs++DasWLcSC9NzeP1nz+LM/uMahM1UJrHeprM8v4h6sx1n4OhpzI5PsSRQc1ulkKvPo23VCgBAaamIU6++hahcgY1E85wjL39LcJywkTU/NYFhDc+fEk5Z9etaPiD2W/D87TS/Z2QRyjrTE6VNdsojtOkiVjH1+YraJwVr+kkhEUhhQOri5YEImIXtqf7zTnkGUzNPe2gsFDu6qzad4Um4PNUEfLG7mCPda8nF8qYcJXYLRy2N99PI1cWuVwN0QpssCuYHE5p6uw+oM24bDyXU6fwePTkETs4x7CbVMixiQlIwhiXc94WADATOHD2Db37hW/jUv/kkOns6cfd778Zt77gNQRAgCAMszi/iB1/5AV785YssPKoTMclkm5mYwQ+/+kO8+zffg1sevBU3P3CL9c8Vl0t49FuP4rWn97I+SQydvYDHvv1zfPBffhh1jXW49p7rsefWqxCEAcrFEp56+HHsvO5SrN64Bplc1h7AYe9tHO3D5y7glUdfwDt/5wO484Nv0yanuff8zBx++pXv49T+Y24XgFGSFAXVuVPkw3YOJ5YcSeNsrs9yegQvsQwgKpWx96fPYutVu9C+sguNbc246m03I6pEGDp2FqffOArIwE6blALj54cwMzKB+uZGROUKTu07jPJyCUF6O45SaOxoQ1uvPqZs4vwQBg6d8vpi+VSKaYP6YqJrtLR5B27y5ZqUwbM1aGyMQgiWL2TdEkZGUspISasKCdt9pn1SAnC+KQNYBKOSzYUQAoF022kCadiUNadIyJg/yOoHATTlyRnAYiyFGJXN0GfX1XlVzlJhdi5s2gCJFt2fLQbcMKt22FQ5gtyg0uJhp0eYBSQ1vt7VqoHp4pwq5SRTQKj00cQWLJRS9iAIk1RF6buolCo4vO8IlheWsbiwhJnJGdt5yqdKvDPcmEmpgOXFZRzYexBD/RcwNTZtInMElMKP7Cvg2Z89h4XZRTzwa2/D5p2bUKgvYLG0iPOnBvDL7/0Sz//8OZSLZWMK0B0F+k/0Y3/rfgydG8IrT7yC2alZvPOT78SqDXpbydiFMTz9wyfx5MOPo2Q2RpNcx3GMJ773GOI4wu3vvgsrVq/Qvzk9hqe+/zheeexFRJUKZsamMHRuyK7E9NtTB0+guLyMk/uP4bkfPY1yuYI7338fOld2IokTDJ0dxOPfeRSv/uJ57U/izFYBQ2cHceCFNwClMHRm0Cmt0PXyj+87hMnhMcxPzWJ5YdHu2ocQKC+XceK1QxjrH8bsxDSKi8t+pFcInHj1IL7zn/8Prn/nnVixbqUG/5l5zE3N+G3x5lC/mBmdwLm3jhGcGIwQFi9XrFuFhtZmAMDp1w5idmzSlhZyJh+8BYrYIflu6Noe62EKTwqYrilOom2PjPX6wX2kNcxTBe9UGjI5Y+XMT8rvIpULDDBBwEb9yOzjLIvfzaUduEifyx5XXr+5smtmZd34th8ScKkKXsVbtw/QHaBSi3yz/D9fZR3V/FWPtKwofvKzlz5q+8I40f/lUfve4rKma5T1I9HFSAkYdyT/Ui6f1dE1laBSrFigsiwKfijb1e8BAimRK+RtDfJSsaz32zHfWhrpVaLQ2NyAntXdaGhuQHGpiNHBUcxMzvhKQBMlgGwuizAMkCQK5WIJSim0dbZhxeoVkFJiYmgMkyOTNnWCBshm5Zv327vb0NnbBQGBiWH3m3w+BxkGUEmCcrFkM9el1OxOF8SLUS6VIYVAe08HOno6EccxxgZGMDMxrSeXEmaN0AohkMmECLMZCABJpE/WBpQ1e7KFrBk/vT0pSRIK9UJKgVw+byNzlaL+3MY0hRPOXH0e9U2NCAKpD8aYW7BnINLYJ3GCy++8Fh/5899HvqEOe3/8FL77Z3+j89LY/JJy3PfZX8Ndv/k+LM3O4x//6L/j+Auv68RSOBPEI5DEoshOseDszD2aY3e8uks65HLjX9/tiyOZIPCg0D/AtqKBfDcU5UuMKaif03d44iUBlI6Gw0T9pHmPtR2KRd+U60OK4dB4uFwpBe98SNPvAAqBaUcgnBksweHKnTolOPsm8y8FCEK5fDnpYRBjc3BMSjJLgJ8gzf8oZ4TGwMoeY8025YTPPfO0CSSOLJpbhtYHkxIou7Ir170kibG8tOyBkRUPWoiFgBKJt5IlSjvLk0QhWlh0Ey+Ey+5OQy5dWwoszC7g+MwJJrzSdtbu3mf2eWm5hJIxEYi2T45OYmJk3IGoMUmtyWUEnK4VJzHGBkcxaqKVkjnYl5aW3Fixdqs4wdJCZJtPfR4ZGMZw/5B1inJnPc9BUwqIyhHicuTuCSb9ULrQnqc8buKUUijZ+XFMl5vo9LvSYhGlhWX7W0nzaV0CCfINBVxx743IN9ShtLSMg8/sRXm5ZPx2zBECoNBYh9XbNwIABg6fwuDhU+40cdJXKLsGOn8cmSukNIyFcWbGTcAqUyW9uLr3ecQxccMA6x8kBgUXcaRgBoEpjY2JP1qwCMkElAIhOdOdxjrjUTGfjX3u/iXQcb3y2QXdXwogYG3gSp8eD98XZofZsTxRQ+VSL+y+Qwt8Tjc5ONrv1lBjJ1AOqFSNO/p9F6ln7gshrcZp04EccR7jYS98ak1lZQ1dh96O4zLoGQCSL0uB+b2UdShyRXb3UO53dEeirKatNe1j7hxlkqygc5toBXMgXWOyzMySjwW2j6na4TQv9nrC73NQK0pqkgHJvDDv8ef6SsITTn9PWlrqfBrut4jGlgmegDfP9KFSwI6br8QlN+wGAJw7cAKnXjtk6o1Vy2Rb7wp0b1iDOIpw8MlXsDSrD/Ygx7UVyFpMCrw9POtbpLSAR9ecULsxcmyPsy63sDOzk1IGTJTVgZXzIykwh74BqcAsltL4rMgEpPu5hZPtzGBCouCc7w5j06rq3tNszmTFA969BB8KXkbCFwD//tUfVy28/gd+W7iPTKR/r+DjBTExL5Ik/Jlj901nx9d6hLVOSgY0s7HV5JVb5VTijly3LWQtd20jTzEdQkDKQTOlnZluv6HyDmh0Mqw/lwYAlH2PbnOR/WfmHk582SCBUfxao6IcCNNFnIWsqq7lfsRpKjuMUwhwMOVR0yCV7uEDkxtm/4UbcwJ6r19MAnnf+RpeBV5MmFWcYO2OTbjrk+9GXVMDSktFvPqjpzA/OWOjiLxvUAprdm5Gc1cbLhw7gyPP79OVPVg2uO1GGoPMtXhqS3rx8UFNeXPqlJbG3lv7LYMlEyw2zMmWegHPYfMVUwpt5gcGPB1AmWx1yQCW+aFi5v/xM/Ad4yITz++g72TWAOVyqmSNsbPrtiePPkDCjIO/VYmNUkoJqsAwNQvW9HPEv/aDE46qjwSXZhArtL8gE9LeUb8IOQuqbZUJv4NU64JsVEaBrZVQo5OkEM6Uo/ec+eg2kap0O/XuMAtelBLnw5GDIdI8n0GIlBKkyJHXLzuxjHHwcXIBgpqQZ+/mIlPmcFTyv0A4vwNvTHq58+SQCZdyysBZBn2Nn3Tq3LVuzqr3nbl7rt2xCe/8o1/Hqq16T+WRF17HoWf2en2z65UCgjBEJp/F/l++iDd/8TwmLox4A8YszbRwwZptdlxYd0X1bxXNKcAiY9R3ZacvHa4nM48AyzEsHvVzNajoEFvyUwWCIn/wPqfx1SdKO9BzOsGcMJyZ0ELNBFCwoQmgQVFIw6z4+HmpGzWAymi6i3im76vfuxhBr8XcHYi56CUXBytOytcLBe6IT1+UgZJnCfFr8PcVxJVdNyseiaLJ9ZQxtYzz2lneANQIV9NDm3+MrXldqvq6vQ/vjE9HJQQTZWkgXzjRZSzAXN32gx9F7jM2n+lUMzPeLm526NfufvzMQP4Z7ca3v1W1rutBY/X3hS+kwiwAskZzuXB5fePvmBVcJQqbr9qJ9/7b38CqreshhMCFE+fwrT/5AvoPnjAZ2j4hoFUxk88iiWNUSmVvLGkBIxalK2iSTDh2n1YCW0iOkxB2HRpbbjbzKGN6D6aASTxNEvCKDpJd326dkZSlTgmfup0UDZTeZJCfyEUSfTBRrH8GGOEzdfpM+6jA7kWyoux+Q8nBh8mKYKYXbcQnWaHvVjvmq007ydpJTNrmeDHQsqEqpdyCwR3qZiQkFKQlAcqetu0BIyWvp2S1ykkPZQ5SJVPMmj1c5BiT4jJe5SshyfT5GoEaN9v4w0tYrbqm/z1491IWoLgDmAMVZwFCuAFRvD9pnmRXaxI44QbYNaZqomHCzOwXdiJ5gODijAxVphM1QQkqUyM8weS/44YSBy+V7o2Z4MQKLWdmOvmzfVU3hBAYOTOAR/7HP6D/0AnGWoSrq8USPKNFPxDB+y2gI8SgezLzrTa7910NNL4WpJg8EFNPWOk8tzMgMfv+YntNXnqImhEY7QmMA903/fRrB7gAqNSRADMlfXcDz5fyBTlFJhhDlEJZENesqtpX6VSfLWxMJnihRru2MQbqkxbSBtaWKrBiQGUBKz1F3qptO1lT0lOkxsu18zqZShbmJiEHAEmCyRsm2A+FG/F0trMDEKa4HkvijMcNXC0fmt9HzmjIHHTCywGVbiNpbfDGMm1CXmQgSeEMcjjHqLDKY1cExWgv90Ux4KNFIC14F7P9BfSiI5CY25g9bVQ2xfj+XFkbYhiuyI9b1FyxFZFuROohpcTZ/cdxat8h5OsL+OnffBun9h2CC17ojpA/hLNUezsm1LYkSwp4uGoL23bef64ZduZTUU9mThnAsqae0ttmlHkvZrsxSIQtMAjGpiSlK0ibBOqBJAgQzf2V75NSNoiTYuQk89atq7x2BPAz5JGSt2qw8W1IW76I/LbW4c/hRLnBY6CV9iRxnRPEniwPEVam0i4Rt8j6ZMHNNPdPER/2/bHegHlIwj66qudW5a3BKfagUkiZzhtK71/jIGWVm7fDCqqPWpoV6EQ3q/g+8apatXlIN+1A90CxVmTDGxQOfjQvIvXddB+Mmjk7LaWobLwouKBUVZud8Q/WxhqVRxn78vwZTI5k1bX1I614dp6YcBFVhwB6NqzC8vwSpofHwUGKjlx38+zPedpcc2VTBHhOFPel8QXHO7nYAzkGYjTaBiwSJFCx3oxMaQjaT6VhjADG+qcsEAm7bUZKt4UmkLQPkBYZAZcQweXV1UAjk1CLGstpsrNh+mzaL435J4VOOg1tsMFFEKUFc59JcVOO5MIDA8D6XQVdx1tEzPWtS4d0xzdXdQoH/61wgM+qAHOm5clWypTTt3Iy4e3OSJl+7hpmnm2/TT0sjpZcMOyeLc9n5VZ8pXSSZqEujyAIEFViFJeLiMoVIxgux4uvxWlU1xFCEg7JHJWk9BwkfGXVAyq99wAGmkTbjZCSza10zRYI2vRrvuwNmPCv57M5DoJVxLhqhaM9l3GsjZJASifEqfQRm1Bp2+8vWEr4dyOWx1c5znAd0Dup5tU1/TI0CgOmgoSXYkL98XxLfgoCd377k+GPl+XajMHy8RdSuJgBsQi4TvJcqaauNuy4/QaE+SxmxyfxxmPPoLy46OYlBVTEqKxfSpIzXVqT0CoZMzur9vrRnAnnt/JdAB4PtPJAuVSBdIuMMwvBrsPmisliWsYIMj3HtmVEfAJUirWmFcZ9TBn86UXRSKYdV8rAT92lVkPTTy7WhKqH91NBJiGFXZA6QskqPf9XF4Pr6u3E1TfvwWXXXIqeVSuQzWWxuLCEC+eGcGDvQbzy9GvmVBymWDWc7VaZ6XPmVBZ2gOBfw5p96fGsNveqWZfQZWIuWYu2zjacO3YWU2OTNZggZ4kMlNjztEuKzAPLnM1YEQnL1xewYecmRJUIZw6dRHm56C0IJIRc6a1JyACQooAXMW49dkctU0bqLSNO/AXDi3C5D9KDB26m2FLYVZ6oGtrlZI4xOwZ8jM7a9ApmflE+nTX5VIwoitDd2YY7fvMDqG9pxsDRkzj0wqtYnF+wUTxKEibQInMvkKw+lX3uA266pAvd37Iq2w1hdYeDsvUPCRovyuXSzMr3DXGfFzMtOXKl5MSNE/dp1Rp7RgAMmFnsImYHWtxq+JRqXYdPs2dt1liwmGAaou5IkqrW8YvdFgoIQfvwJFBT3QVfJfR3rrp5Nz762Q9ixxXbbGUE+7hpN6647lKcOHQKi3MLHtjRAHnSS50UMHE/YkM+cHDaSSsOrWZ+VLO2Pe6QOsGOK3fgd/7zZ9HZ24GXHnsJX/6PX8TCzLwFD2+kuNKbt5wbQNV87V3BMBcZBLj3I2/Hg598F6JKhO/81dfxxHcfdWcC0oKR7gP1Lz01KbD0sv0J4qx/h7qeeAuEAzISYjf2VQEH44C2rgwClqoQe+oVkx+PFVozyPSR+uA5jZX1n6X39cVJjEqlgkocV93T3EAXkpQuLUFKUzjP1qaqPjXZ3ZmXcHGAKVJKy9mhO0DFdxjbvC0Bu3VHCmXsghrOeSsCKQCsAiuVajetlLVZruDXT+mHZXfeAkTy5y7Lr2wPsuDtFaw56QakwJwYGmeW/LdKKHdMqumTdbpbZOc6yk04AahEYfcNl+MP/vNnsWb9KiilMD+3gNELYyiXymhqaUJXbyeGB0YwNTYFWwOerwSxjq5Iqipg+WtqZfBk31/Fq0s1C2+AlGEP3iGu7Ls7rt6J1Rt19cxd116Kju5OzE/Pc3cU17aUGBMxZvczDIV8VdQ3EjKlFOqbG3D5zXvQYMq0XHrd5Xj2+4+jVCqbMXcQbR25F3GQp9/nqznPsNZCkVgQTFN4aruNtXomMQEKy5HyTJUa5nAKRNMCaw8e4D5KM9ZKaEDlcKXNZ72xPgbPSk+sSZgov06rY0zSMqfA81FJ56diAZW0AQf4gMVVjRhTOlnTsRzuRHcgFQhnBvpmVxp43BXTlpU7qVrw5jj+7VkogM5F5O1OyxIzRQHw/YsaDoS/6Cj2Q2/BFlW4Af6SL1uKmaye0pkb1MAA+nrNTHfXAGEFM0kStK9ox4c/8wELVvtfOYh/+rvv48Shk6hUIjQ21eOSK7ahUqpgaWnZMQehQ+FhEKKnrwfbLtuMg3sPY/TCKNzeY9dQl+ynO8NwR0+iEvBwhX0qgwBdqzux9fJtOL7/GIbPDflmW5JgemIalVIZmVwW89NzWDYheSsMyoGgg0naqOvzD/pGrpBD39b16Oztwr6nX0VpuchlCpVyBbMTM7YdMxPTiOPYUnHbPsr4Z/OiRLqXivl4tKBa05M3mpkWPHzMzVonY8IoUxq0qoWn+qVRLWbO8DvQdS3lcK3yIm0q4cX5lHWk60J5CfsVkxNPLzQghUGg2ZRhWIFhVhQNlMyaoGAC+am4/UGMyfPTMGblhlpZPaFh8BiVFF5lBf09ngdl2LGX7Ovk228X05f0XKTkBIDRLx9crflHpignwOYSBFQ++XTCIFL9TTXOjJFbKG3zFFCjkGj1g/fPQoNA6H7l+B13YRNNV0rh8msvxY7dlwAAzp7oxxf+4xdx/MBJyyimx6cxcGYQMgj0Fh7mtK2rr8N7f+NduP2BW5Cvz+Pff/o/Y3hgGFTZgRzinj+L+Q3sOiKcP8fbbKIUcvkc3v6xB3H7Q7ejua0Zn/vdz2HwzICupknfFMBLv3gBbV1tWNm3Ei/8/DmMXRjVQkv8lwQWbqCqebv5fqKwcv0qvOczH8TlN+zGwKnz2P/i6ygtMfNKCBQXl/HIl/8ZS/MLKC2X8Itv/RSRqaDKxzm986DWPjCrIwBgdgrY8xjTScBg9Ylq+Ph0tQoWvfEk1/lGlBHYNOlLZ9HD+Gr8qKsPbVCweVI0yonSx6zFBrSgFKI4tq2g0D0xPWnPCeB2MRDIQJcjDgLDsPR3w0BamRL8mnbKDUu2vVbeSLiFxedixLsFtEFB5p9NMoW/rYYDYMqISIEV2zx9kYe7HvmhhDXvaT5p/jmTAnvu1hBzV2+u2H34kxqNYkNzESRy+GLvmSZh3rfTvlGtu+4g1TTscQYogEw2g517tqNQl4dSCi/88mWcPnLGHd3OtUkpt1PfgFBDUz1uue9GrNm4GtOMaVR3PDVgltU4k8f31+gJUkohV5fH9Xdfj74tfViYW2BCxx17AtMT0/j2X38TYRiYcsipnI9UasfFxEVAK15P30pce/cNKNQXMHhmwLsaTaQQAifePIozh09p1kCnALExS08urfq+KaeAxLXY8mHhxsvLWzNPuKOb+ysALrQp85JERTmB9xcUNxKWtVkF4rKkkFi6oOzCRM5zpfQZlSrRvinuu3LTIey2MGq7MGyKbiSFQCYIEMhAH/RgfFVurTFgyUEnJbeeZyLNBEyIna0W+r7QTMbVxDJsL73OeQyUcSjmqyGzj38z/YIzX09Gvfd4tJPGjdfbYgtA2tpjS2UNpwqcXrm5sfrFXBvulB8rhPYg1TQsVmMdmZt+A0MvF8cag9BLAkWOlEA2m0VndwcAXcL4Qv8Q4jjRZYJNQ32Acc2J4xhxklqTzIELifE3UTiZHokpCZwu9kb1q7iJo+j7SeJ1LkkSc1iCMS1tuROBOIosaASBdPJgo2XC+lSkdAfBSunOZlSJQhLTidap+ybKZpVTJFYpXZ9LDxeJhc9meDE/peIU64QHCG5sdIkc6ztLEl0R1GaX++CUdgAooynWVOBKpVxViticIanTVXQEVEoJEfjakxizHSox86vNXAUNTFEUQRmGkxgWpQTzBXLFYukpSJROT5Ds8FHpx4oDIZCREjKQtg6bnVZiQ2T+MX+Pk1a+iPiDlZApxNiSNvt00mkA57NypJyfzeg5ney9FX+PDMBaUVs7f6pqPunyno8QnFlVFwf0eYZg4KV8BuTbhTVYoar6nt9y5ZJPRYqNpR56WFKLCHuE1HJfiLmhbp5KV2FASol8Ie+csUz1eCqEShRa21vQvbob7Z2tyJvz/sIwxIZL1kMGEkEgsbiwhMHTg4iiCFAK2WwWPWu6sX7rOnSv7kYun8PS/CLOHj+HEwdOYMFEH2mSGlsa0dvXg6aWJhTq6wAAQRigb0sfysUSZBCguFTE4OkBVMoVFOrz6F3bizATolwsY6R/CBVTgwpGcYIwwOot67D18q1oW9GOqFzBhXMXcPKt45ganQSUQndfD5ramrFm01pIqcvk1TXWY8vl27A0vwQh9Mk4YxdGIRKFtq52tJoDKGYnZjAxPAbP/0GCmijIQKKtpwM9fSvR2NaMuBJhbGAEw+cG9cEOBgAzmQxWb+7Dpsu2orWrHVGlguEzgzhz8ARmxiYNiPuS5PLuUqs9Mw24OS4E0NjeglVb+tCzYQ0aW5uhkgSTF8bQf/A4Js4PudOrrQwnKDTWo6tvJUQgMTMyjrGBYdS1NGLzZdvQu7kPMgwwcnYAx155E9OjE9V5byySmM1lsW7nVqy/7BLk6+swNTiM03v3uyJ2RvR0ZNCBVWJLU5sVm8xAA1jEJXyLPzUfNRRSCLh6WGQCcuYjfJCo1m9hwZnfkbsB0guL8ykxsGLMSaZeC3DAonax9BjWKK7H3hywxpPFVNW4lN/LWtRpFijSffJHu+oz4V8HCggdLWaN9S6s36+UI0xNTAPQYLD10i3IF/Iol8uus2yV1itwgsuuvRSf/fefRjaXRV1DAQDQ0FSP3/qTTyGOYgSBxOHXj+LPf/+/YW5qDi1tLXj/p9+L6++5Dp3dHchkM9CF8BIszi1i33Ov45tf+BbOnzpv3996+Vb83p//C+QLeRTq9T3yhTw+9ocfRxzFkIHEmaNn8LnP/FdMDI9j1frV+KPP/zGa21tw7vhZ/I/f+wtMjkzownQJUN9Yj/t+7QHc/f570LmyC2EYanZUKuPYG0fwt//fFzDSP4T7Pvx23PGeuyCkqyO/dksf/uCv/41RDImfff0RfPt/fg1xonD9AzfjXb/1AUgh8Og3f4Jv/8+vIYljT0iSOEFHTyfueO+9uO6+m7BiTQ+yuSyUUpibmsU3/+IreO6HjwNKoaGlCfd+9B247b33oqO3EwG1s6hLKf/9n/41RvuHICTYmlwtKHaWicWSjJjV+tLbrsbdn3w3Vm1Zh3xDnT1UIqpUMN4/hCe/9kO8+uOnEFciWKd5kmB130p87L//ERpam/HEFZoNJAAAgABJREFUN36A137+DB783Y9h+w27kTcLS6VUxvHX3sI/fe6LOHvgmDbhzH2l1Bnn9c0NuONj78WN73sbmjrbIaVEpVTGiZffwOGnX/Z2W1A/3OnjyimkSps5aQXhlgGP+jl/JOV31Y4A+tF266O21ouzYrgj3VXOoGRURgB4x5A26xhoKR+cvMNZDcP1Fyjum4NtWxpg7fvKa4YvQ3wBtF6VWqDrfcWzntKuKGdG+mwvTJIkdWEBfvosXbRcLmP/qwdw9ztvR6Euj6tuugJ7brwcLz7xKmqrg+Z+MpDIZDMWeOiamTDUWyICiTATgAyRTC6DS6/dhZ7VPZiZnMbc9DxyhRw6utrR2NKIWx64GWEmxBf+v/+F2akZwAhRmAkRZkM3CEIfZkorLp1VqKABt7m9GU2tTWhsboQQ+tQaJAmCMMDbPvJ2vO8zH0C+kMfy4jJG+ocRZEJ0dHcgX5fH8uISEpXYvnm9Nm1RSj8XUugKAUmCbD6HlvYWAPpcwDiJkSSxW/FUglXr1+ATf/pp7LntWnMdhagSIQgkGlubUS6VoBKFXCGPt33iXXjot96PbD6H5cUlTJ8fRpgJ0dbdiXxdHqXlYi2yXLUY8U+4qUlC2LN+NTZecQnKxTImBkYQRxGa2ltR19yA3k19ePBffgyzUzN48/EXAQBRkkDFMUqlEnL1dahrakDfrq3YeMUObLv2chQXl7A4O49CYz2y+Rx23ngVolIZf/eH/xULU7PuIF4hkM1mcPuH34W7P/V+ZPN5qCRBcWEJMpDYesOVaFu5AhmWC0j7CElRSaGkpy2CKRlXJhe1pJOwkd73J119KjpkgjvUayupsv4pp5V+LhVPReEzYxcO8hPSMe/MP0aVHixYCaRAjfudfGRQqc/TjbfqlPJ/V3URPBBWO6VZgblAlC+Fvk/Os+N9hpUkcXVkil3MHc+l8NoLb+CtvQdxzS1Xor2rDZ/6o48jimLsfXafDtFLZ6bRIOx/5QD+7DP/FW0dLfjkv/oYuletwMLcIr72V/+I/lPnEQQB5mfnsbigt1NMTUzjqR8/g+cefQGvv/AGZidnkC/kceM9N+A9v/EuNLY04sqb9+Dy6y/DUz96GlIIHNt/HH/+u59DU0sjPvL7H8HqDatRXCriW1/4Fk4dOokgCLA0v4i5mTkdmWIHlurVOEasYiBWWL99A+5+/73IF/IYGRjBN//q6zj0ygGE2Qy279mOOI4xOapru//0H3+MVx5/CVsu24r3ffZDyOVz6D9+Dt/+/DewvLgEKSVGzg9pR3KiPCbAT4mm2Whqa8GH/vATuPquGyCEwMj5Ybz4s2fQf+wMCnUFdK5agTOHTiFRCmu3b8Bt77sH2XwOo+eH8M+f/wZO7DuMTC6DrXt2ICpXMDc1Y/O7KN+KFIdmtVYGvycjCji+9wCe+c7PcOTFNzB06jyiSgU961fjvt/6ALZcuRNNHa247l13463nXsPi3LyukBDFWFhcQmTOeNx29WUQUmLfY8/jyW89gtJiEdc9eDtuft/9yOZz2HbtFbjkmiuw79FnEMrA+DQVNl6xAzd+4O3I5vOIymXs/8VzeOux55Cvr8O173sb1l2xwxvTODHsylRTIDNQsVQGCcUSEi18OEZG5h1cORx9GKpxpBuzi/Zuuj2A3JziY0z3IWOPTt8hMFDwmIrVUw40TrE9BszNP/g+M8+/dRGkcfPvg0RNAE6hkANUZ17TeFzsYWGTNUelQdIbRObThWFYfEWlndTponqAwMTYFL75t/+E1etWYeXaHqzf0od/9V8/i+/+3ffx6Pd+ibmZeT8hFAqjQ6MYHhjGit5OfPDT7wWgc5Le2nsQh984Yk0Acp5WSjG+/w8/RKVcRhIlMP5dXOi/gO413bjvffcgX5fHrmt34ZmfPoM4ijExOoHRoVG0trfgoV9/CAAQRREO7zuE15/bBxkGhs5LqEQfhMkHMIpiRBV9gs3WKy5BZ28nlFJ46geP47HvPmqd6ueOn4UMpMkYFzhz5DROvnVMO5CjGAAwNz2HN557DfMzc9bH5zuG+cwINvYCNz5wK665W4PV0NlBfOlPP483n9tngwOZbAYqUZBSYOueHWhfodv57A+ewHM/eNwq4YVT53UgwZvb1CJkqTtby5kQJUxwzx46gXNHTqFSLNmywoOn+1GqlPHbf/0naGprwbqdm9G2uhsTb0wAQiCJE5RKJSSJHpdMLovj+w7iG//hCxg5o8354TP96Fm/GjtuvAr5+jps3rMLB596WVcvkAKZTAa7770Frd2dAIBjL+zDz/7qq5ifmIYQwOTABbzvv/whVqxfw+bTnGKkfP0iR7vtIsuqd+u+q+1kGZWgfX/skFL6DkeSKsX0+IR+J7VnlIVaal+EdNaCD4v8gcDKmY9C1PLF+dd2W7wIWC6+xcv9xgfOGl8A8VkXgza+Q5Z9UH1+Q8r0ZU41z3XFiJZNubI+DKrImD6402QUv/HyfnzxL76KkQtjAIDulSvw6T/+BH7vP/wO1m5cbU+Q4SHjquRU4XwBVCNc5+DEiJMYpWJRC7pwK97C/AL2PbcPZVMgrndtL7KFLKI4MhUe+JrFZpsiZwKIkxhRko7qKVbUDejs7TQbuSMMnr2AKI50xEmSE9edoiKlgAwDEzl0twyCwP6RM76WIJIJkiQJmjtacctDdyCXz6FSLuPHf/997Ht6L5I4sSczJ+bIeyElOnu7IAOJqBJh5NwFJHFiD7eggIc7vYgcz8Izy/mGbncoq7/9JUpilMplLC4u6lOP4xiVOEEljnHizSO4cKofAFDX1ICOVd06O12Zca3E9kj7JI6x9+fPYPTcBWSyGWSzGSxNz+L4q29ZOeta04tCXcGmJbR2d2Ljnl0AgOLiEl7/yZOYm5iGCHSkduDoKRx68kUvspooHb3kJzZzySCdcSdmJ97uAB15pD2HOvE0lNI42Nm4caBSadnzo76x0mccUllmfRpPyqOUZmggsBKG5TmwBANNV0PLx04lGMSwa3NGbf9NVUt1oOf2TTorjaGHh14p4EsTuirPOgNRFtdIR//T21lDVz7Yjrz7VCX67FQGNnGS4KmfPINysYxP/eHHsGHrOuQLedzzrjvQs3oFvvAfvoijbx23YWxHuP3GKytILMxMyOpFNU2oO0kwMTKBUrGEbC6LptYm5PI5zKk5vVcuFf60w516/2LhYvpuuaRNmDATYu3mtchkMvYoM496e4IlUtdKP6rpOG9Wkihs3LkZfaYk8eCpAbz6+IsujaLGo1J27Vy1aQ3CTOiHta1JIiw74IpkHcO2PYmLopFiJS5nKkpiqCiyAJskCZKZOUyNTph2ZNDQ2mwXO2Iw1M/i4jIGjp7WDmoDBEIpTA2NISpXkMllkW+oQy6bRbFcgVAKXX2r0NqrT5KeGhzB+cMnoOB8VEkc4/yhE6gUS8gW8haIrD/FjAcBBzfRFJTdHiMtE3YVR3mGugOPWgxDVb1WZoIJBBNV4/ssfUCm5IOXmknLnHfcFjPjrUzSwl11vgCTxhr+Im9LjkgxHPj9rhXV4yYkH5Ka3DGt5L9yRHkrFaTOI4rNnyvbQQyL9mvRSkQZyM/+4nn8x9/7HJ559HlUyhUIIXDZ1bvwL/7sd7B+cx/iOPaUoNbEEnDbKImyb+uVyeToZPM5tHa0olBfsCt2EEh3TLy9+q+gttw2Ty0PRP+VSnD68CksmwNIb3vHHbjp/psRhgFDGEfK7V8NUORsxcJxagjo91JKbLp0K+oa6wEAJ986hqmRCZ+5Qa/s0iTPnDty2mz/EbjpHXfg6ntuRGhM3/Ti59gzPMDRJYNjRHGEShyhHFVQjiooVcxfVEGxXMZyuYRSqYxisYTl5SISpZBvqENTW4uj60LYJGK76ZjVPS8vF7E8t4BMGCITBghNgmdszlYETOSNHQ3WvqobWZMKMzE4jPnpWXtgRAJdmG9+dhZRpVJ7zplbxsmyYV1Gk8jsC81WnjCQ3t5DawlwE7CKybv5TBRM2/Tz2LApyul33iufzTgWRdt43L81gcvzkSkNMoJkjAMgywMTPljxa7iu1AYSG/2l63jdF25l4MLNGmv3LIObrLDXs60QF9FhQT6sKDYXpIbo5zGfC0HWcmLLlADAkTeP4nN/9Jf4yGc+iHd+5O0o1BWw68rt+LXfeT/+x7/9PBbnFu2hnrRPjB5E20VsptCsOGTOZLIhNm3bhD037sbWXVuwYmUXWjtaUd9Uz5HBNlKwiEtKjsg5Vy1o6fGVEgde2Y/9L76Ja++6Dp29nfj0n30G3Wt68Yvv/AzT49M6iZRl3Cl18etZQOYvajwyuQx6162yaRoDp/oRV2JrhmrFcpt1hQKOvPIWjrx6AJffchU6Vq7AR//db6F7TQ+eefgxzE3OQAbS+aOI2rMsc+5TUcokwKrEJOAqk7hrRDVJkMQK7T0d2HnDbuy49nKs3LgWzR2t6FrV7cbb+OsCc2+dha4fcZwASYJMGCATmGiuSAyauDGzIC+Axo42BCa6Ozs2iXKphIQ2cxsQiqPIbnbnY28PNIHvT6KqEwHPobJ7DjlgcN1hGsr3vMKxNrsrgcYZxqvj7flTdpwAx8zt2X6CMTqiy2CMCz5o8QijvkQtGXPlotKWAbxrODX51R6t1NWraBYMuIhUW929vO+bSUrjLEUcU5dFGEc6D0hItteKDRQSZVdNdwFXenh8eAJf+ouvQiUK7/uNdyOTCXHDXdfhqZ8+i2d++ixkIMyqnoJfA2JJqhNJkqCzuwPv/sQ7cde77sIK46uJY+0PCZgSpH0I6WtxZyfYc35Siv2imbGp8Sl846++htauNmy9bCs6ujvwkT/4GLZcugXf+Muv4czRUxDuQPSaZqedC6Lsyrkj/cnW/olcLoemtmYAehfB7PgMpBAIA5dVLyFYQEMnnn7/f30TzR2tWL9jE9q7O/Huf/lRrN+1BQ//9Tdw/vhZOwJeO5XJxCdwMtSPdgVYc0YpDQRKIciEuPre6/HO3/kQtuzZibzZnhVXIo/l0p69QAYQUAiDwAvoBFIilJpdkWymzenEsCcpJLL1efv+8sKC3SxOZzn6QqAnkqo5AMJmpeu26VWe/FEEUpJMQQiWS8VCiFySuL+X/euy6J3yJWAHNcA/SMSmKAiW7CnSe/6EPWG5Vu4VM09q+IVUikkJs6i7Bd4NjdF5mJsrhWppJhbF7Qt+W1Ed5PDcD665noLwF94p18L7l18vTOLY+D5SBcmE/4NEJJZaUufILTI3NYd//JtvY/OOjbjqpj1obGrAdbdfjRceexGVSkUDU5J4AJtY57erSqpiXRHid/7db+OOd9yGIAhwoX8Irz69F8cPHEd9Yx0+9nsfRXNbs1thkxiBSWSsWmkJKO1J1Mqat2wcrfJKUw7n2JtH8fk//kt8/I9+Hbtv2oNsLosb7rsJbV1t+MK//TxOHTxpS9fUWo3c9gi3LUcm/mnYutqlLoQbhqHLE0sSROWyZldSgvsoXL/074+/fgR/9yefx/t+/+PYcd1lyOayuPreG9HU0YKv/Mlf48zhE3raBR9vWOe9dgcQvXFboQS7kRACNz10Jz75n/4FOnpXoLi4jDeefgWHX3oDE4MjuPk99+KK264FoM30QAbIhAFEimGBsa9qV4ejWDzpk49XVI5swMH9yl94iFklKgHfVE8nM3tlZgLpVVHgppdno6Tta7CFkPmrPLZjzT++j8459W3ulqBSM8pjURykuO/KNs3mdVXXSeO+JHIfkM5SBgBbLfivPKbrfUUxnx+/Eb8GY0pV/jJWYVrVUhj2gai1+JtrCwCSTLM4iRHHerd8HMVIosSwGs1s4ijWr/m/UWyVYHhgBI8/8hQqxp+wfss61DUUEEeRVow4tsKlzCofR3R9fT0hBN7+oftxx4O3IQxD7Hv+dfzJb/w7/OW//p/4wT/8AK889SpKZi8eOV9ph3/CSpM4fVPO52H2tTELxFOS9G+P7T+Kv/yD/4bv/s23MTM5AyEEtl+5Ex/+/Y+hpb2Z+cTS5XmEZaSBSVqlf9OAJUVg6zbx1SoIQ2f2wEWy4sTMiYnexSrG0X2H8Dd/8Bd45P98F3NTsxBC4JKrduFdv/tryDfUYblYQrFYQrFYRqlYRmm5jHKpgko5QkRzGMeGTYH1S/9v/a7N+OAffRIdvSswPz2Lb/3Fl/A/f+vf4Qdf+AZefOQJjPUP2T4FUiIbhsgEAcIw8Ptl58TMP1xdKzcVfnSPz5MMA+Oa0A+KuPnslpfREbbETMawupAxvNCUReZHjVXpUPq58QNq3xT9ufbGBGIpl62L6FFOl18vy0sCNUxLm4aKEQlCU+X8UQw7fOuVR4O5ZIIBjd9TFwKr7juNp2/j1RiztM2Zel4FReSzVqlrsKd8fABAuoPZ9CgK8y9tRnUdUXYF40BAjjilFE4dPYOlhWUAQH1Dnd5SYk+E8pHCHsOUaBYURzFWrOzCHe+4HWEmxNjQOL78ua/gwCsHNAiq6vxZCgzYaFTNiCDzFdRgjnzybSTQlCeZGJnANz//dXzlv3wJM2Zb0p6b92DPLVeBai9RygMXTnIoSxnYTPsgCGwSLrVFGIduHMUWiIMgQH1TgwVZvXE8QRRHiKLIpBVEiKIKKlGEKIkxdP4Cvv65L+Or/+l/Y3ZyBgBwxS1X45JrLkNpuYRSsYJyqWxAKjIglXiMVEi9K0FIaTL0JcJMiOsfuBWrN/UBAF545HH88huPYHl2AdlMiFwuq/1VJExCmL4bEK6KnpqFw5xmkyTV5jRJXKIUKmZMACBXV9CAxQ9CVa6ig1UrCbtIhDKwf5nAOPoNs7JRP0YuHDdyKkti5YAqBaoKNkWBvuM51YVz7Lva8nRv9x0XhXQgxdvmlff0CZF9jxOmqoXCttEZmNaRrriup1BDcewh5PGRSKS+8aucYPYejM1xLLS6QQuJ8K8pZSAhM4ERVgNagVZEEQb6eegEWQYSItDvC0/ABeI4cnlYNL7mM8EiXg48pN19r5TCuq3r0bu2FwBw7K1jOPbWMe08ho/+XECJ0dQEfApNSwkBaZmPzci3iiatD0/YjbO69nsSJXj6h0/g6UeehFIK+boCdl1zGfL5nCsWx5JyiDlZv4SX75SePS30pWJR15WHTlPoWt2NRChUogiVqIIoiszzCKVyGaVSGaVyRUfulssolyMszi/i0a//CE89/BgAoNBQh+1XX2rmJdYFHdhqRmxeBsLNoTGVwjBAEEo0tjRh655dEFJiaX4R+59+FahEyGezyIYZu72KjzeZw1XVnJi553KR0oDDZEMlOipoosKNHW2QYYg40XlNNrE1lQNnQSqQyIYBi/ppc9QepVXD/cxf8yhwAg1UkdKRybhWP7wruIhumlXREfd2K43w0y1qRe4sBKaBykMprhG/Ciz8qLWq+oHzH9F/HD29UUuBifOcs3Gs7RCzjKs6GJC6T6ozUoaBTn7MhJCZAIF9HSDI6H9lJkSQDc13QsjQfBYGEIEBsVCiZ3UPCnXaUTo3O4dSuQJ7/ZA5YM1+uyAT6KRI83lXbydyZl/Y5NgkoiiGDHSbglAik+UKImy1B0mMhjt5DeAIA0ZBaJI5DevhAGMTPWVgBds9D1ApRzj06gGUlvWK39LRgkw2CxuuTTEnb4FSLiLK5y5JiD3FKBaL6D9+FrHJll+/cxOydXmUyxWUyxGKxZIDqqIGqeJyyZh2mj1F5QgL8wt449nXUFwuAgCaO1ohyY9EQmJYjTCBFhrDIAwQmvnPZEJkwhB1DXW2ukRpuYj5iRmEYWjGi34XVilFrGqZa870Ti7yOY2fgkCigMkLI6iUdaJwx8oVyDfWmTwrp6uNrc0IMxkr7JkgRDYwjEpKZIIQoQEqr4Kq4AqsL0bWUmL/vVjSZypFgZEfe86hdPlc3G/lVXRlbN9TXI/1cd+Ve82ZCQcI+1vhg677E/5zHqFLmaapK1eDCX/hSQBcy38F2xIc8OieF2GH9AhFYA4mFe4jl+7vBkFAuHwZ6eoMwTi7G1uacNM9NyBf0IB14vBpLC8VEVBCo5TWwZvJZlDfWK+BhkWMwjC0rc3mc1oQhYuOrVi5AnUNdVawM5kMwkzGbLlRCGRg7xGGIRqaGxEGIQKTbU4ENp2MqU0IXoiQ7ulC4XEUWwUrl8qIzZYTW9PJfJavyyMIA51sGghbo4tSBeiRqATluGJ8hRGOvH4Is1MzaOtqx8adm7Ftzw48+8iTkFLqqJdZEsm0trW6uGNCAXGlYpc1Si6l3Kb6pgas274RbSva0dTWjIMvvo6R/iHngGYnygAKWTO2gHaoZ3NZVwddAdl8Hm09nZ5g+U6EGhIKchYz7eDCaSO4CqNnBzA/OY3cqh50rFmJno1rMTM+4Y7mymSw/tJLkDUyJ6Rmh2EQmnpYztT3wli+bttz7xIfDlj+YMqzw6KP1C3uRA/oPZAjn/fXOdQle+70zyRECNQsXexe+C+d+WjklnlgXFPNtb0pcRcQcO3RmuKfBMSmEFWwIlSN+/n3tU1X/rXS/fRcbDTU5n1pT3QwsCpMpEzoEopuu0cgsXn7RqzdqLOqyfcEIdHS0Yr3/fq7cPPdNwAAJsen8MITLyNKaFuJruypq4AChUIe67es0/dS5DMKMTM1Z+tS9W1ai7auNmvL1jfU49rbr2WAReaXNHW6JaIoxuKc3kSdzWexfus6kwFuwsrG7PNKQKeGOFfIIZfPafYTxYiiGGEmxCV7diBf0OH8wTMDKJfKdivTwtyC3TLUtqId7b2dKJXL2m8UVVCuVFCqlG1dckCzrnK5or9XjnB8/zG89eKbAICG5ka89zMfwrpLNqJULKG0XEK5WEJUiWyhwlwhh3whj9gUEExiXcFh1/VXIFfIQyUKQ6fPA0ohzASQgcDO6y/Dn3z9c/i3X/0v+MDvfxwNzQ3IhAGymYxL6DTO8lAGSMoVzE/P6TlrrMfqreus/yhOYqy5ZAPWbNsAPph8VeV75xQDI6/Wle8uMXsV9e/GL4yg//AJAEB9cyP23HsrGhobEUCnLPSuX4vtN11jWXWYCQ3ImuPlPYe6qAJR2zZymjNzL6bEWhsAYL8VrCC0TJt/7rUumUxySuafcgBn5ZhHGX0/mqJAg3C9sMrOgIyzJ3cdn1H5vWaA4cf12M2cFaLv55ClFnHiuvSrDu6qXqdq0CqDUuklI+S3so1M/VgphUIhh0/87oex+ZL1ePPVgzh78hwW55fQ1tmKK665FLuvvRSFugKiSoSffe+XOLDvkKv0IIClpSKGzg/j8msuRZgJ8fYP3Y/5uQVMjExg6PwwLvQP4ezJcxi9MIq+TWux8ZKNeOgjD+JH3/wJkiTBLffehNseuMW2idiZW7UESsslDJ3XUSspJe58552YGpvGyMAwRi+M6gMpvClzipQYB881d12Hq269Gq89sxeDpwYQBBJX3LQHd773HggpMDY0htee2YtypYwgCKDiBKNDY5gam0RLewtaOlrx7k+/D/VN9VhaWMKpQycxNzVro6L0SOIYUTmykdaZiRk88pXvYftVO9G1cgV2XH0p/vUX/z0e/eaPce7YWWSzGXSv7cXLjz6H4XMXcMs778Se26/Bq4+9iMFT5xFmQlx157W4+0MPQAiB0YFhvPnsaxBCl9OBCtC3bQM6ujsggwD9x85gcnAMmYxmoG6fnNtgWlxaxtkDx7Hj+iuQyWZxy/vehgunzmP49Hl0963EA7/9ITR3tlkRCmwJn9rmwMVACun5MPNXWlrGW0+8gO03XIl8fR1233ML5kYncfjpl1Df3Iibfu2d6OpbhahcRpjNIghDHWFlgOJ0z3cnu4g1DynBJq1WtcxZjlbh7JYeQac5c0YFx1iYG4i/nx6DqvdqtUNwYCCD1j2v/gVnPiJ1L17Kz3NE2QTlWg/vrItUNQX9VCeZ8zYT66N7WlhT1XBpW+STOwBAKGxKrylrSw5ps0oopYA4RntXO7bu3IR1G9dg/eY+w7Bis8FXmw3LS0X8/OFf4ltf/mcUS2XrTIcQKJVKePnp13DzPTegoakB67f04Y//4vdRKVfwlb/8Gv7pK9/HhfPDePInz+Cjn/0Qcvks3v+b78G1t10NpRTWblqDofMjmJuZx5oNq3X0LQjYqqJQiSrY++xruPXtt6KlrRkr163EZ//TZxBVInz3i9/FN7/wTZP+4CtTYrao5At5XHPntbjtwdtx49tusucqNrY0IcyEWJxfxCN//wMcef0wKpXImonD54fw2tN7sW7Lekgpcd3dN2L3zVdhdnIG//7j/wYTQ2OAENaBDMBGRu2GZgCvP7MXX/9vX8En/+S30NrZhm27t2PTri0oLRchgwBJHGN8aBQzE9O48e234ZZ33IHb3nkXFmbnIWWAxlZq5wJ+8vcP4+zRU8jkMtqXk8lg7eZ1kEGAOIpw+KU3USkWEQahAyli7WZsoijGqz9/FrvvvgErN6zB+ku34rc///9hcngMHb0rkG+ow4l9B7H+0m269lgYaEFTTPzYYm1LRVsFqzYchXFKB4FOQj3+8us49PTL2P2221DX1Ii7PvVBXPeuexHmc2hoadJVR7MZrLtiJ4JMRrsg0tLPru0iYrwelbKJnpS+4NiHkS7aZMzAigAqMGYgUsxJ2u+SqeUqg3JAsYpP7amhqGmgshMlagEUv4CDKao9S64RN0bCARjnK16wyOWFcdPaMwOtXVorPEatd+a0uGhSlruMANg+UCCUmcBF9FgGcfrfpaVlPPfEy0iSBCt6Ok2ULEAcxZhdmMfpY2fxix8+gSd/9izm5xbsUVUkJUIIvPj0K/jOVx7Ggx94G1rbW5DJ6KJ+2VwOEEClUsEPvvEjtHa04q6Hbkd9Qx227NqMOI5xdP8xfPUvv4bb334runo7EUURgmygfUkiAIwzdt/zr+M7f/sdPPSxd6Ctq13vb5O60F6idHpAqVzC4twistkslhaWUK6UNWPKBDh1+BQ27diMzp4OtLS3QkGhuFTE8QPH8dN//DEe+6dHsbyw5AlRabmEf/rbb6O1sxXX3Hkd6up1SkeYDSHDUAcPpESpWMKCGZsSC9lDOD/ZT7/2Q8xOTOOh33gvNu3agrrGOhTqC4gqMWYmpvV1MyH6j53B0NlBtHV3oLWrHUrpdp4+eByPffsnePYHj0MAyGQykACaWpuxenMfAGByeBzHXjugxSh1hiKxVfKLnDtyEt/7H1/Fu3//4+hdvwYdK1egY6XOyfrF3z+MCyfP4df+9DOoa6zTRRpJY5VeCIqLyygtLaO4uGQPmFBGdRR0Sgcds1YplnQKQhjqBFMhUFlcxhNf+Q4yuSy23XAlsoU8WntXIKpUcGrvfjz55W9h1103YeW2TaiUSqa+vEuA5WzOq95ALMG8TrzsdubLZX4w54YgVpViTYIBFfRhqWTyuZOLzGjb5E8Oivp/Qin/3lbRCeh9l4aFh4vREsV8VXDf8V16fo2qdBIRf279ayr1AQcr71rutjUhKn28mXczvxHi0rW3K34zjq5g2dkqSZDJZtDd04U161ahq6cDOXM8/dD5YZw7fR4zJgdISFHVWEq6y+Wz2LhlHdZtWot8XR7zM/M48tYxXOi/YBWlvrEOV1x7KbZfvh35Qg79p87j1Wf2Yvj8MNZuWovO7nZUyhWcPnqGnS7tRi8MJPq2rMP6LetQqMtjYW4Rx/YfxeDZQdCRYxsv2YBMJoOlhUWcOnQSxeWSPnUlm0H3qm70belDW2cbkjjB6OAoTh0+iYnhce1ETzsGjQI0tzVj6+Xb0Nu3ElIKTIxM4MBL+zE3rRM6e9auxMp1KyGEwNjgCC6cGQBVq4AUdhsUALR2tWLdto3oWduLbC6Lhdl5DJ48h8EzgygXi8jlcujpW4m1W/rQ1tWOJE4wPjSK88fPYnp0kimZnscNu7bgX//9f0V7dyeef+RxfOmP/wfKy0WbOc6P+RK+GkAIgVWb+7Drxj3oWNmNpfkFHH/tAE68dhDZfA5rtm1AGAaYGh7HSP+gne9cIYfV2zYim8+iUixj4MQZlJeWPUVsam/Fqs3rEIYBlucWMHK6HyJRxgflHOcNrc3YeOWlWLl1A0QgMXa6H6f37sf8xBQ61vSieUUn4koFY6fPobS0bDPHdVNYIIBtRnfarLwxsCBBAESfC10bizMnap+0vinFttgo/Vvhm3vEtuj+nvOcAQQ9l+6HKZe5AQghvAxxYd8H25vIAEMAUvmZ9MSmeHFDLt+SWCdDR26x2nvyPio3NtwUtCzW3oddy7Je0yebCKyVTuzqu0PZ2EKqXDLfqsFPN3YXdXRNSmmZlFuoUmhLZUcS5d1LmrBzEie2XngSxyZaBbshl/aGEZXXkT1aJPU17e9tVI+iasreS592E9s+6bY75dR5S4k3GZToyR82LG25KxtDcr6GgXXEKqWg4gSQAkHgopWUL0aX0X1Sjgqb/CgaZ9ryok91hlFsYa+TzqpXcYzb3nsvfvNz/wpJHOOLf/jf8MKPnjDnNRqIYmBF9+f0nw54pfG14wbl9zmgLTH6O7QDQUAgCKVzSAthM+HdUfJ6m5KkdADrwKY5TswJRwIwlXLt4mhqogVSsu0fLsHUxc94mMp3YluAEO7QU9prKOz7zmnuAZeN/FElUmVBy4vqkTKzNlqPG4EIi9j5nifz+1SUkoDLAz6muw6wXIFCqajKA/cpuX6A/Q5QkBxw7Wqt7LYbf3+hgDAZ45K+T2OsdHKtSP3GYQx7n2OIeT9UpkieMBnr1HELTIx1KQ/xrEgY/KLMaU7YWPF6IWxmuqt4qT+M4wSJkLpqp1JGCPXmWpUQrdaAJpxGI1Gx7QwAvb0nkOwYJ2qvnsUkTiAqRH0d4Oq66tUPYZZcyUBYcVDmXlhoMBQisADAFUrne5EN4ELGJLg6jSIFHCzBlbb3QCnwZFQCJs8HldqeFGYz2HT5JchkMzjxxgkc2fsWwECUm0A878f6JwyYWINEUNt0+F3KwN7T1UQ3f0HAImUuP4kiu5QBHgTu0FPrvCYfiiAzIbCAI8wi5+YpsGVnFJv/dOk+a4K5qfB8M45ZuYx0y6RE2i8FH7wIiFgyKBPPGvaQf2QW9yvZKeSsxii8O+zUZ8H0ivYm0vcF+w7Y/bS8+ealUG58PGLC9UJwV7/7lDM1OnSXrseLpaQZPMmNGxV/uPihqiF1Xh8j507dtT8l9gKN2tz2d+a4Dge7mygvVYXYjV6Nda0g52cgxmbUQSkggsfm3HUY67G+MdZDpaAqiRUEz01h76PsCSN8O0/6LDeb5kFvCMc+OCuxgkFKzICEfwa4rHeuGPQ+Xc8lFrI6TIKcvPycQV+euQfGjLRWIaXQ1N6KDbu2QCUJXnn0OUyPTeqyP0xALFgxZRCsXUxaraInbAHzTSxhvyvN6cu0VUfSsfHmeUDfkW5sfaASrDeMfbA2UTIqL+3iMSkYpWG+Ir9LwppPmlG5dARiTTodxo8EUqqCV+TPA0ZmfAp/lHxbivWXLRrWh+17kFif2MTz9zigCfZ+1RNjNnInmFfIj30v7eKhVjLA97CVrelpma3uUe0kCJW6IwCEMAxAMeT2hJ+ZdwmNhWKKwaMbIFMG8HYZk9+Asqyt7Sq8xlsQSZWi8U/CJQbIwchQeK1FAISrh8QazCssCCm8o4u80jqCKY8RINrSY+dSuH1hil4zcLHKZh2e7H3zPUrQpO+4SqF+Vja1gyBGR2+Z0CimGKwv9N/KjWvQ0NKEgy+/iVcfex6JYWkUwneC5W5IhoIFb0+IaNHhQqpsXhyZZlqhqcxw4NefYuae/g5SwGiuLSiy5oDe9dbV8+IJp/SMxyP5dbmz3CZ3CjpgwgAWtcHc0zrQUc22BAgQuaJXPXXKYz9zaQVUScHWthJMMzgyMbBVyi+F44ECzSE3FdlvrUxpJuLdRrGmWjxMgTwJQ/o9Dl5cZvRcwoUqyVXjbu9jLzMjedBR7NxyryI/hEpiy5gsyBj/AAGNEDA+KLaC0ffJZcRX3oQdMQ/3WXo3OR2uQMzKgZgElE6M9BGaNioLqFjf2PpXWIed/0M58wwMvKQbEVvig5+YnAIZsPe4T8eBHrEkBz7u967PNoGVASNfrSycM6cjmbq2/DRbKKqUg4FZZ28XOno6MTk8jqmRcSbQTrA5XrlyysKCH33sFMpngNY3YphUIMnvptlUKJ3/SrMY6UXXPGUSKSWxAApr5tmNu7avji/6IKWfBWzuvHIyZGJLWMDywMj4pLhz3Zq4NtconQZRzQ34AREi5T+qOX9VqQG+v8c+dzgGyRYgGjdpTTxhAwO6H+waKb+V7RMDO3pOlpbzM3E/mYMc6yQ3fbHXZ2zOubiVLSvvLC4nl+SyEgBC2mumEBvt1jviLbVOEggEdosJ90V5LCrhRW+YOWcGiHKQLJOhVcGstOSf4ttjkCSmYikQMMdu2o/mL0DCAZ4BRsWe09x7ysIkxgMaOMW0A8hNR8A6nrWiS6fw9vouGMEZlt9+H2SJOtp9ana1c5tW/R+4V271dUAwMTSG8cERe3o3+Z/IlWhXVCdK9qZK+eY1MUfJzF8pU05/01faGK5ZpwRPtCT2JlImCAd+B6LkclC2TbWAirfe+qrgrukWCpaBTg51SSxdWeVz2evOfeFysRzrJ5ZkCZES2vJITwpHZDbzdN6MN5/Cm2gGAxy4hB0fwa7r1RLjFSHg/tLvuaHm/igufilzlsYhLYsCLuXB65OwmOIPhl+Oxy90mbJ3AYSZjD5VWAWBRUJdbM+ZeO4EXfNeHLPPnIbwqJzuE63ScOBGvifebMHmm63oxM4Euz4HLG9wU/410mzP0ch+z9mSj1mMBdUCL/5dI/z8KK20M5wzF2GpsM/ILCu1zU+troq1wXBouzpZ4kEmMODjmICUAGTofWDJmYBxVsMbK5ESUWKUdjuU3foCV1fK1kEPXCVPc2S8NI3lZ+pxzfGVDNYFQRUtCLyrXBCWHThnP5sgf2sMzRn5pIRvHoIigHC1qvR3OIvkwMhMam4eCSfGtPPNyQKtPsL60ixfqXIfCabIZg7YC8qHsixYMbll1/H8qsx09KHgYr4kGlfhtc29Vr6QV/2aAR6BmfeJ37+q7Hou6EohDGyIXDFb0oSqLQARWBk7O1SWcdHd/FNJhDP9mMllt+oop7S2UcyMsrOXKFsT3p4rRwyPmaSWYTGgI/C0aQd8oM1rqraqABOlcueXCCGsCQwwMEoxPMmByYofW3UZiFbl1PHgBn9WwzeQcMVU/Bop4eDrgnd1s48PdJqMgqolHMRSU4JOR19ZliYck3KOcwnPWU311Zig24WXMy0jkLa9ipt8ru6arxaO4VhFYwuDYGDlQMjcF47pWTNNmpOcLbNiGeoeUPkT5LErJ4isHUx+mMT6iao0Lg54+EXS4MJB2fNzitRnVkaZGehWuNSkeILgsUAu0w4gmYVC16AF0HxI5h2XaZ+QMfNPXKwt7vsKQBgGbv8XMRMFpTkyy7niIKNP0lXGXDQ+H3KoC4a+dDyWBRlTa9tSb8ZYuF/L2kDkNFNW4YUAIH3GJwDfpxaYNicuikiHF9D9crksLrlsG+ob61EulXHsrWNYnF3wVitiFZ4AkFmnhAV2V2LGtFPwRD4mgCyPLD03vngwMU4zKfv/GisaJ59spnVABZal0jxJVoLZKoeATacgpgTAAJVMOcwlO8xB+KYwzTMpUrqjpDNGcWmBoZwpp1PKmVdG9uge3DyypqpwbIiXPeapCaRoBEjOia5YrSqeba5sRQc+A75sUFtIwVPRVTYnis2fZ8YD4CFMUUtALJak87MEuyIbk9T4M1LrtcaZle7d9FLDF2V7J+FLoo+DwruuH613A1IrzSE9ZnTNUIaBu1MqMZQ7yEnQC7ksbrn9anR0tgFK4diR03j9tYPWr+VWAwEROKDpXtmFm26/2lQhVXjjlbdw4uhpZ4v7Y2HM0BRT4c+Vz6KUdOYoCWyS+CBrr5AkaGlrwaf/7aexYdt6TI1P4T/+zn/Csf1H3WkzzNntZpH5dJTO/O/q7UJxuYjpsSnPVLVMAv6EclXjbIFuKdxXGEtS4PvGKJ4kICzzovdrTXwCDehBIHHFLdegb9sGqDjGgRffwNnDJ23iLrEi558SvlknTFmXdKIq0w63s5P5LuDAngOugmbKdHyIfieldDRCxF7YSk6ax8HJByyXJmIPHAXfMmNYlQDqmppQ19SIpelJVEymvB19c++aJ8pUITE/L4b3laufS17gaQya1dZQXI9FcRjh0WynC/TcBn/Spp43sCnmyxVROalKf1Qt16x3Qg+azyFR2+Rj0/krjiq0FwqDTMiSRBN3BWYO8tNWmlqb8L5fewCbtvQBAF587nUcP3oGi4tLKbYkLVAkcYzLrtyJ3/y9jyKXzyJJEnzp89/AqRP9JuLlm5MeaNH1qOPEAlXitiww5OZ5ZDJQ3rXsb4XOQM8XcsjmssgX8rZmOE/As4EHk1HORzjMhHjHx9+Jt33oAUyNT+Grf/5lHNl3yPeZ1ZpVoNrP5BDHABADJ0o7MQim7OfCsBGXYcQzqEXq3pR1f8MDt+LWd96DOIpQKf0tzh09ZQoW+lnoMsWcdNjfT0eg6/q5Oylzgbon+Fquy/L4rxX/uX3f1wQH4uTI980/XpeKm3UcuHxQE0qhtbcHN/76J9C5fh3OvfYaXv3mP6K0MM9Ay7E6Tn8sbnq+zRQAeUueb44x4xFVHaV7WkBiQ8wAmzMnm1bDnvuw6RZAfqiFDe6kRNIz/Zh3A941U8LMFtmLBDrtqPhLmqUeVd937hOBUISh27OjXF6QAyz6sYJMEhTqCsjlc/aafetXYkVPJ/rPXfCdf3QrpQv2bd2xEbl81gp5oa5gd9ZLAkbAS+P3TCk4H5sGMGmBRDmbx+wAZzvxLSsSThvixPeZ0KiZrEFB91QJu65TIpUotHd34M53343evpXo7VuJa++6Hsf2H3VmMRt0G41j7MCfaJZFniLi1BTe/oR9w7Iw5j8g0OU5RgBMRVZWsTUMkMlmEIaBB0yk3MSmyEQkIa427wT48NIcw8wNVwg6sYiOZOOmHc2bM3+rTT5n4jGHeqruFLELfr4gT/rkTnckCVZfuhNr9+xGEIbYeOMNOPHs0xg+cticWuT3lc8RmWaurc4cTANENXmoPrLUVUzwUwUs+AsBkSg3Ft5Cz80/Htm+CGpU39xj9i5HC0Y3GXjX6gs7dUurHddDOEywtzdjRfJUjVM1RkchlKF0WkF+IutDcCYVMax8fR55AzwA0NbegrUbVuP84AgCth/ObjJNFBqaGrDBVAogYS7UFyBNZU7uw7BNgZ+GoDiaKTocUjLWRRpb/a8gMLQTIuyeNztXVMPeViNVEEpfX/pxV80OpPAK8sVxDAQ6Z4wyxJ15oP+VoDP1akxLlQmq2Pup9Yg5x/U7Wospr8v2iSJ6AhBCHyrBq60GgS47EwSBNY3oqHa6bsC+zxwobq7AzJSUX4RlTDkzOSX0ChyYXO4YOcg5GPKSLhKw2fHcNyVtyoZiUUA6BMK5C0i59brkouJJHJtjwviqwziAZR0yNR5GCT0PAu8d/G1qRp6tOQRYq4RMJ+tHA28zRVRdArYUwm5OrkHoWfv8rUDE3Fmtgirnt3/sVm0jMDV7/vd56VN7A/q0urWcxfm+YP1hKELjeLWmH9nCcEpErDjWFTkzhhkppauHbt62Di+99CZs5QH2W6VidPZ0YuXqbjuJQghdOTSQ2n9hXTTCwxvbBrfEuNeK+aUMzbAE1oCZlkDHFO2CmCiIIGCDJ8zBGvpwDW5GCsBu7qWfCwSYnp7BT779E9z73nsxOTqJFx5/0Zw6ZFgjN3UZKwns8PBKXmCg60CZ0zNr0tL1lLuuM4tIuDlTctU3M5mMPdQDQp/uk8mEFrBI+LmZwQ8PdQmmoqZiEGtKksSBASg6maqQADcfxIZd+920cke6F/UTDLDsd3k0UGeuu+O0eCliyhDXUeiBt97E8WefQef69Ti791VMD5zXZWoYOHsmkmUFWiEVcwAp4S8uzIj3NmW7dsDbzGwXMwIt4e7nGBdjivQ+34XBR5pF7zkgKKPY1A8rR1YEfbM2bVS6O5F+pWwGwcSVkTrPNGb805Mnwv0a+BdCsn3YCtakguL+JPIPCVOzPESlEmFpqYjm5gZs2tyHQkMdFheXAUnMzAixBNauX4mW1iYsLi4jiiI0Nzcil89BhNKYoYDHHSFYaQln9/PO8uRQPgS2H/Q80N+V/B5SeQdWQBhzKTRFARUBq2kOS82gyUgS4PEfPYm9z72GcqmMpflFyExohZSXN3HKaRYGEmHuxIfQJigJuWLMhTk/AXdApsu4d9nllFlOddy5wmdYjXZA95lYF/dJ2SxlbuJ5LfBFzPqkGED5Dgy+v4+voHBskUUYyX/m2g+PZblsdWXA009FcJnoMExLA5QlbdQOoeVjYXICz3/ly8gWCijNzyOOKo4lC1/JPBclSzPXi67PJvRaI+0d3QKV8tVY1sgXuOpqC9QWz/Sj71WlyFT7w7y3vfl0DM6bccvC6P7M1VL1SLFmBlZp31eth1L4v30DABCCKghQI43JY/OXPJNXIFeXQyYToFgs4fzAMHY0bcTqNT3o7G7H4rkLgBEUiipmwiw2bVmHbDaDgfPDAIDm5kbkCzkEmRBRkrgJYSyPrwtaiKWdQD8aqX/H99fR/NgQfjoPLEkgwsBb1fTpPaEFFaqGKAJAglgX2zYU6PvOTM3quQ0DRtnJ1+UE3CqscuWYKYXAkikj3IL6wQSU5kXntklT9UA6NmUAKhDCApjHUKAP5vCiTBQRDCTgQZC7MXeP0vM4UQCdCWnpKPXadgDkw9DMmzF4cyO/D9wPxZz6pp3e0QPGDyZMioUrmAebZqEBIbFt4FpJTIWuDyEQFYuoLC/Z8bS+QfPEN96cbCkrW9qk4x5xzRJ4RJiEwZw+TqAj/fxDDlLO6S7cfez7lAhNc8XAyi44KVcCNYM9tX5OBkauPT7gEQGzLLwqgEBuAiZLqbHwRMQ118oYEaZ0c4VSukQy0w9jlTCjgFZ345QvFPK6XG+5gvMDI9i8aS3a2prRt24Vzp0fcg5apaNY9fUFbNi4BgAwMDCC9o4WAEChLo8wl0U5isC30yiVoK6QR3d3J7q62lEo5FAuVzA6PI7hoXEUl4tWsAnK+epD+WBSCjQ0NqClpRHZbAalYgnTk7NYXlxCkmgTkOO+CCTCTAbdvV1YubYXhUIOU+NT6D99HosLS9Y/pJSrGFFXX9DHkimF5aVlFItFrQpKIZvLorGpEUIKLC0sYWF+AZlsBivXrkTPqm5IKTE2NIrzZ86jXCpp5kN9UKw/RjkaGuqwcu0qtHd3AkphbHAYo4MjiKPYHsFOE05lXBwjkxBQuh4Vr+klAATuTEIwVukBrYLNNk9UgrqmBnT3rUJTWwvKxRJG+gcwMTxmDiXhLMNR/rrmBnT2dqOlsx2ZbAal5SImLwxjenQMKk7Y4abCmnuF+nqE2RBQCcqLS0jiGPVNjejZ0IcwE+LCkaOISiXUNTQgX1eAUgqlhXkk5TJyDfVoX70SDW1tSCoVTA9dwNzICBSVJGJaK4IAufp6c/pSgvLioik5pNuUa2xEmMtBJQmKc7OIKxHyTU1oW70aheYWVIrLmBkcwML4uK9gVT4uvbA2dvagddVqhLksFsdHMTvQDxVHyDc1IwgDqEoF5flZCJPj5+/78wsNuhv6qTLctHSI4YCTRx+ty4djKkcWA1zebgzwB2feF2NTggOMfU9xKmYFjiRZ+f0SwpWXgWC79020UHCoNGZVoS6PQGowOj84gsXFZbS1NWPTprV4/qU3fG4Xx1jR3YHVq3sQxzHO9V9AS2sjACBfyCObz6JYKtk8rzAIcPXVl+KOO6/Hxk1r0dTcoA8zjRPMzs7j9dcO4off+wUGzg+ZfXvO9KCFTQmFrq523HTbNdhz9S5093Yhm8uguFzCqWNn8bX/810MDQ7rA0TZ5GQLOdz9jjvwwHvuQffKLsggQHFpGW+88ha++9Xv6Yqo5Cgxcnj/++7DDXdchziK8aPv/ARP/expQ9ASrN+2AZ/4vU+grr6An3/v53j1ub14x4cexLW3XovmtmYIITA/O4+Xn3wJP/j69zE1PmlBizKSaWVdt3U9HvjAg9ixZ6c+FTpJMD05jZd/+Tye+P4vsDAzpxkirdiWYTjfhF5vUqSf1/olKTdClTBGqdcBhUQC2668DLe+523o27oRubo8kijGxNAonvnho3j50SdRZqWflVIo1NfhmntuxRW3XIeevtUoNNTrw12jCDPjk9j/9It46ce/wNLMrGUaEvrUo9s//B5suGwn5ian8PP/81Xk6+pw64feg75dOzAzPIof/Pl/w9z4OLbfciMuu/duVIpFPP/1byCOI1z10EPo3bYV2UIeSaIwPz6Og4/9AkeefAJxqQjyiSql0NjegZs++SnUt7djcXICL/zDVzS4meDMjvvux8brrsfSzCye/+qXUN/ahssefAid6zcgzOWQxDFmh4dw4Cc/wukXn3Nb15hJKZRCJp/Hpltux5Y770HTil6IQKI0P4czzzyO/pefw2Xv/ygau3sxefIo9n/9S4iWFquSPh1pSlEU5oLwauo777llacL7Tg1gsf5nJhOJHwdN45AFG/u2n3vmR/2Zh0x4pJsBln9JMklD0NYXjoDcwW3voN+rq8tbP8jI2ATGJ6bR1taMjRtXo76hgIXFJVegTwn0rVuJlpZGLC4t49z5IezYuRkAkMtlkM1l9KnSQlcBzRWyuOPuG3D99VcgMse3q0QhX8hhRXcH7r3/FnR0tuJvPv81TExMa9CyZqA2wTZfsg4f/eR7sfOyrfqcQ/aIohgidCdV00MGErffdxOuum43GpsaEJvDNXK5LG6550ZAAF/873+HxYVFOx5CSnSt7ML6LeuRJAlaO1ptuEoBCLMZrF6/Cg2NDbjk8kuwY88OXH/79frXiYIMJDpWdOC+970NMpD45v/+R5TLZef0NhO8aftm/Pq/+hTWb12POIpRXC4im8uie1UP7v/wQ8gX8njkaw8jKle833oF/oVxikrhL3/GDrOOYpY0nLDX5Je6/Iar8d7Pfhzt3V2IKhWUlkvI1eWxcmMfHvqtjwAAnv3Ro87/lwANrU24+Z33YeX6taiUK6iUSgjCELlCAd1rV+OOD70b9Y0NeOxr30ZUKhmGrkskt67oRM+GdWhsa8XqrZuw+547sW7XDsCMb2DYYb6xHh1rViMqlbDhqiuxeucOrNiwQW+9ErpSRPvq1bj2Ax9ApbiE48887fqfCIS5HNrX9qGxsxP5hgYE2Zz2MxkVyDc1oXXVGhRa5rHphpux4brr0dLTiySK9FmI2Rw612/ENR/+GIoLcxh4fZ+JNjvzLshksP2+t2PXO9+LbKEOdERcXVsHtr3tIdR3dKJt/SbUtXVgeWrSz4kz6GGd4l7eGzGTFAKlaBAFTIT3TjXSWA4lar/vnDUM2FLX9a4p/DtxM/Nifivu3ve4mwJCIX2mQuagtxZTLpKQOh3BnAE4NTOHgaFRbNnch9WrutG1oh0LZ5fMAaIKYRBi06Y+ZLMZDF4YxdDIuD1MNJvLIpPLGtNMr/blSoRDh04gCCT27j2A4aExSClx+eXbcPfdN6KxqQFX7NmBG265Cj9+5AlvtUkShZWrV+CTv/0h7Ni1BUopjAyP48CbRzEzPYuOzjbMzMxianoGSoIdmgnUN9Tj5juux+D5IXzvWz/C3Ow8rrz2clxz4x6EYYgrr9+N5558Ea88txfCHNoqpL/GGQeKNWkqUcUe67Xn+j3I5rI4dfQUnv/lC6hUKrjutmux44odCIIA191+PV595hUcPXDMbn0BFJpbm/Guj78b67eux9LCEp780S9x4NX96Nu8Dve+7360dbbjhntvwbG3juDg3v2urq+ZMmcySGeeMBOFTjHWiklLG/OzGYVI4gQ9a1fhbR99D9q7uzA9PoFHv/1D9B87iR1X78bt77ofdY31uO099+PEgUO4cKZfH5AbAIuzczi5/yAunDqDo6/tx9zEJOoa6nHpTdfi0puvQyabxRV33ISTb7yJk6/v11VZdZMRR/og2DCTwZ5778TqbVuRxDEWpqYxeeGCNtsEUCmVoJRCkM1ixx23I8xmcPKVl9G//00Umpqw7eZb0bZyJXL1Ddh++x0YeGs/FmdmLGPmkT2bQ03jqBQqRX2SdrZQwI577oOQEkeffhJDRw6hqWsFtt56Bxo7OlDf1o6tt92JkaNHEBVZXXml0LvrUlzytgeRLdQhKpcwuO8VjB09hMYVPei7/hasve4Wm1KjogqESa3gDvcaillb4YX7DTf7qpiahzGuqknapuNbySx3V/4F0i2p3TLhfeabtLVBi3+uFBCKQDC8Es4nxCNTRNsCYXOw4jjGUrGEs/0XoJRCS0sT1q7txen+QS0AEqivK2DdupUAgIELI5iZm7e5S3kDWJAuHA8FPPn0K3jiqZcxP79oQfTwkZMIggDveOhOhGGI3Xt24sknXsbS4rKNXOTyWbz9obuw3TC448fO4O+/9F0cO3oKUSVCJhPqgw5KJSR6YbWPIJAYGxnH337+H3DgjcNQKsEbrx1AU3Mjdl2xHQ2N9di1eydee+VNXQYnkHqvpTcXxm9kCv0lyp30XN9Yj3On+vHlv/wKTh87DQWF44dO4Pf+/e9i7Ya1aG5rxrbLt+Pk0VM2ogcFXH7dFdixZycA4NWnX8JPvv2IPhnnyAmEmRDv+sT70NjShD03X41jbx1BHEWeU90TQAUkgpdj0aAdqRgioRI5zgS0z5UuR3zVnTdh9aZ1iCoRHv/nn+CJh3+COIrQf+I0GpobcetD92HFmpW49IarMDpwwfrR4jjCY998GFGpjFJx2TrIB46fRH1zI7ZdtRv1zU3YvPsynDt4CDqupiOecUUfqpurK2DN9ktQKRbx5i8fx9HnXsDSzDRKiwsG2CLtsggC5BsacOzFF/DMP/w9lqanIaTA7Ogobv/Up5Grr0fb6rVoW70GC9MzjhELX4UVBBLGDGJj4skgRLYgceAXP8Or3/kWSgsLkGGA5bk5XPfhjyHMZtG1cTOaVnRjqv+sXT+ydXXYfOudqGtphVIK5158Fm9+86sozc8hCEMsjg7hsg/9OoJMQc9LVNF1upAypS6OAZ7j2lbEYKzKpk8QaDAnvVIEJMojARw+bPIAfDeln8l/Mf+Vz5pAOWTmBzV/4/XbdVLaSIiJLNkVR8D868ISQkoU8vpY8ChKUI4inO4fwtJSEblsBps2rNFOQyPsnZ1tWNW7AgBw5uwgloslVCq0aobI5jLGchS2INHC0jIWl5Z1bpA5GLNYquCVvQewYEyy7p4uNLc0aZYkNFNYv3ENrr3+CgghMD01i29944d468BRVKIKlFAoVcpYXFrWbbNC6h4vvfAaDh86Dhlq5/v4+CT2vbrfgs6qtb3I1+V1ZC0I9FYenvsiBUSo3xeBNM5q4/9JErz49EvoP3semXwWuXweo0MjOLL/iBYwKbGqbyVyhRxkKCEDibrGOlxx/R5kcznMTs/gpadeRKlUQpANoASw/5XXMT4yBgBYt3UjWjrbTN9g/xIoxMZRHps/TsMTlSBKEsRwn0fmjEb3OkZTRwt2XbsbQggM9Q9g77MvIlG6Vny5XMbrz75kzkaU2HzZDtQ3NehSM1IiCCSWFxYQx2W9aGRDZHIhlubncHzfm5aFrli7CnUNBYSBRBjqCqQqiczY6sXhwJNP4aXvPYyx8+ewPD+HxETakiS2Y708P4/DTz2JpZkZPRdCYPDIYUwODgAAMvk8mrp7DKsSSCBSpokCFdlOzBzyA3DnJ8Zx5KknUVpaRhDqbW0D+9/AwoR2uOcbG9HU1WUjxlBA6+q1WLH1EgDA0uQETj7xc5QWtN8RSYzBvS9i6uwp1gSeMwZGk4zqC+VRJqrBziN+fFeAYyq+zCslbEa62/JGLgAOhBdjUML7HmHMxdiWorbDepg0GYL/R2NQdQHw8jrMZFAQUEJa4ErM5AmpfVgAEMUxYqUwODyGcXO818b1a1BXV0ACHVBes7oHrS06/+rE6fOoxDGK5kj3MAyRzWaNaaaVyppp9r7GNBHAxMSUZl0A6uvrUNdQQKwS+/nlu3egrb0FALB//xEcOHhMJ0maVVRICREIFyJ3yxBKxRKOHTmlM5wDU3pSCgwNjaBc1gDb0NiAXCGvzT76EzynSSLIBAgMaCnhAGt5aRlnTp6FCCSCTIggoz8fHR6zq3d9YwPCXEb7lCTQ0dOJtRv7AAAXzg9haHBI562ZNISZ6VkMD+iTrFs7WtG+okOPl/mLGUhVkhiVJEaUJEjYxp4EQKQSRAagIjMHiVCWhcZKYeX6tVixqgcAcPbYScxMTut+mjyuyZFRTI9PAAA6e7vR1NaiD+QINPgSCMtQAxj5nmbGxxFVtDw0tDQjV1eADIQ5zAMeUMyMjuLA00+jUippRbfsSAMWPebGxzB54YJOAjbzXl4uYt5E8GQQINfYCCWEkVPFzyi2+sEVkgPi9IULmBsfAx1ALIREaWEei5MT5voh8o0N1g0sBdC5YSPyTc0AgMmzJzF7YcDmvkkpUFmYw/Tp4/b+cVS2ey39pAF1UQpDACk5q0obfywQ5zm2VW0S57+fPgMAnPgQHHnf179h4WbUALSqG9euKGv1zJsk+gJrTaJcUQ0ppQ7jA6hEEaI4xtTMPM6a4+FX9XZhRWc7EqUFY/261chmMxgbn8L5CyOIVcIAK0A2l7GHWyY2ryWx5lScmG0SgTaxSiUNHoFRBFtBor6Ards2QAiBSiXCW/uPoFQuG3ByTnYNWuaPmXTlcgVzcwtOwQINbsViSTtuzT1DAzZBGJgDWpnjXkoEYYgwo/+C0GXSLy8XMT+/YBRXaOAMBIrFZVeJVbr3IYAVK7vR1NIEABgZHMbS0pJWHqXBqFgsYmZqBgCQyWXR2NZswIf/xfqP3k8xLMUAjhYH7dei1VCne6xavxb5Qh5JkmC4f5CZnvpixaVlLMzOAgDqGhvQ2Nqskz9D3R8CIWkWCxlK5PJZCKXc+IbaZKf0BqQCBGP9/ZgdH7PjY3OqUubc0uwcKsWSyYnSqZhxkqC0vMy0W0AX8qAc/JTq06INOHPR3GJpZhpxpcySdgWSOEKluGx/buuCmX61rloDquw7O3AOSbnkbTFCkqA4M+V2VLDdGR5YeXBARp9x3fBgDQMqiurRXwLWN/vHz6V2r30nkn9dF5hzKQcW5JXPvACWKeXRRZHqlUr96wMZAISUZ0MRAJ586Y5uSgxgBchls0bJy4iiGMulEo6f6sfN112O5uYG9K3txbFT/aivy2H9Wu2/OtM/iMnpWSRKWcAKggC5bMZu47BhUANaTY312Lh+DTZv7kNvdxfa21vQ2dnmyZUeL4Xm5kasWNGhBWppGQODwyZE7vZmuaxykxXOMt0JHGUQsK0rwg+UCqEZQhhq/4xRQNscKTXrkAJCmTP4zGdRJUIU64gSmZFKAXGSuKkhJZR612F7VzsymYwGgYY67Nh9KTy/khAW0IIgQLaQR6wMBBH4G47vNojwUAOsqaiUdNnkgJd1nglCdPR0QUiJJIrQ2tWBS6/bY/cYCugASr6uTgtUJoOCYUoUQFBQCCTQ3N6GNRs3oHd9H1q6OtDS2YlMzm2kdyaPSMcHMD85gTiObHlnrVbatOd+u6hSNmydfC16GxMBIxd/xXBBpT8jGbC5R/oeUbnkInZMtmjhsV0xwZdMNou6tnY93lEFS5Pj2j9F+YpkkUU12gcPs+2AeHCkKALooneezP8KKEiTNRshTKFMVWAytWXJ/ThtctYihCxlgrEv7jv1ne2uPUIoA1iMr7lDHBLvPaW02VMwTvdSWTOsRCmcODOAhcVlNDXWY9P6NXj8mVfR2tKEVb1dUErh2MlzKBaLEBBYMiudlMKyNVAblEIYBrjiskvwwL23YvslG9HQUOcJpBs0SoIUaGpuREODVpjFhSXMLywhMCkNzpfgpiNRGnz4pjUZSAShBFVgpexxvqDIIEAQSrf1hbVLSs0kIAVE4pSeC5swG9101CYV/jXfoXlsaG604Lnnuitx+dWXs4nWjzDD0jYE9FHwUpqtRaaylGLrqaqxo08AkEbouf/D9DmTzaKxWQOjDALc9uC9uOX+u1KToYGKxonMPhnogEq+roCd112NPbffgu61a5DJ5WzuXVqYFQUdUlNeLpYsUOtbCqc8qe8mRs7JHwPDLHi/LSBdzKNtgVDYhTF9T2om339JbTPDijATImPAPIljVJaW/MjfRQDTaQVLVbHA5NiV276Vit5ZsHKybwkb/YRvfWOZ7u4OroKKxg7BLkItYKzPd3ylp9bdWrH7/z853d3zMIlpb5u7iCtt6m6sSzs4k7BcqSAyZVoGh0cxMjaJpsZ6rO9bibq6PHq7O9DW2oT5hSWcPHPe2qLFYlmHoKXOmhdSC4CCToO4647r8JEPPIj29haUyxWcPNWPU6f7sbRUxE037EFXl16ttJmht8PkclmbG1auVBCZ/BhJR3mZ1cZOvDIMi42HDI2TnzLOhTZduABbc7EGYNEmNiHMAQSpjXiCStfQ9iDjI+ShXjLJANjSO0oplEolFJeLVXNqnfpxgoX5Bc2WEvdZ1arFtjsAMAEEAy5wjlr+PAglMtmM/U2pWESlXIaoEjPd59LSEqKogjCjS9YU6utw80Nvx9V334FcIY/i0hLOHTmK0f7zCDMhdt5wPXKFgh1jIeHYlUj1ldGuixkPZOLEyk572tdsv0Ofp69RAy+rPtdmmPLBx4mKM/noAFyaExN08qNtNaiIWU18Mw92Hu2NbIdSoARhI4EXDzI68HdRPD8/i9kQVcmmrEVwtEel3q2eLIsrKbvRGwLLHOHAKwFCv2a2qtEAd4EgDJA1K2m5EiGO9bo1M7eAs+eHsHnDGvR2d6Krow1rV/egUMhj4FQ/hobHbSXPcqWCxBwpX1efd2aSAnbt3IJfe/8DaG9vwfT0HB5+5DE89+LrmJ6eRVNDPbZfslEDFgmCOWrd+jWgwS/IBNaxy7cx2F1+Sidu8hEKAmfS6Qspb6OwABhgmchVWsiYSUfsLz29XsSED6+C9TmRcNPj6ceeweM/e4IVD1DuO2bupiemDODFdhxIEcgRm66xLqVmlGEQuIhS1T4+B7JRpYJf/NMPcfSNt/T4sn1/Lh1DYXZySvv5hMBlN12Ha+65A9l8HmODg3juB4/g7MFDWFpYRE/fGmzZs1sDlqadzCStho10+oEArE+GP+i0ARvAwcWArcaDSJWoBjpvnlkULi0HzroX/rplMuf9TdC1H7bCKoMFwe5PH7tqGv6p3VZMGCDzwn9VjTaMTFY3wrRVuWuwMfRn42K+JwZm3t5D17iqihD8csxhH1Zf3q+J5cxMhUwmRM6stuVyxYaVy5UIx0+fxx03XYXmpgasX7sSa1frqNKZ/guYW1yClLr2VbkSQSkNELQvUQiBfC6LO2+/Dp0dbYiiGD959Bn85NFnEcexBqEw8JRNMPCI48T6EHK5LAqFvDbdpKiGDJNVT0yJ3ieTjs4ZlEid7Ekmgv1LTTpJqZDQyQT+nGl/kStXE8eRyUlz4BMnifZrKYWi2eIihMDS0hL6z/bzizkhMOaff06gMVnojEDTD12ZgQGWkAhDA1h0bQNAbo+XBioag6X5eYwOXkAYapALhETATEp3Wo5AU3srLr/5RmTzeSwtLOCZh3+AI6/uNXl3iQeGdH1yeKdVmVgRVxSz6HpRPtr3mChyQVWfBKOMLgqGTL717sfXWEDZ9pGSM+20VzEs2LlOzPgJKREacPZ2ltSAT5LVqtQE1gfLtoQwOxN8N4Ni11KGcflXSN3RWFXWr8YuJ7xf+iajHXhyu4jqO1AFF94m/4p+W9Jsjl6GymuNuJinDAp6O00upwGrWCqDiuwpleDUuUHMLy6iubEB27asw6reLiRJguOn+1GJI8NodBRP5zYFqCvkEWZCJEmCrs42bN28DgAwPjGFV/Yd0GYiVSVlUTdiO4FRmuVSEcvLRbS0NKGhoQ5tbc0YHh5jysmjK1oCvU3ANMp0fZ5/xseApJPmx5sQc6it2XwdpxyecZJY8E1UokFWeaqm85+SBEkcY2pySm9sDgO0trdChoFNkNSuBLcE2aoFwpSXYcm47sxAU62Bl5ehw07pBGva0SDNIa9GHhbm5rWwhCFaO9uRy2VtjS0CKD22XPASrFizCh29euEaPnsW544csdUZVOKlsVGL2IJQzVAtCIHMKWWifb6csh1G+FUGnlbManAkGXALgKdKtnnS8JpA+NdwzRdIKmWU5uaMDGdQaG03oMwOfTDpEbXk0W8928/HgkHgmMdE3pd6RlksLSNUSrP9dPkb/Zuqzc+KgaYnyYxXKQdWAKvcq3xzs7YXz1hEwjE7aaNlLExMvg2bEmDey+Wydn9eqVKxlFsEEkNjExge1Xugdl2yEat6VmBufhFnzg9phTIRuJIFLKCuvs4oUYC2thY0NzYAAKam5zC/sKgjciYaR39WtIVmREEgsbC4hInJaQC6oOC6vtV2Y69g1d381Rz+c+H66SuNP4wu9O+vihaUjFkXxzGbSMU+0/1PVGLHwU6yUkiSGHESY3hoBKWSZlndK7uRL+S0U93IG0VBZSARBoE27cLQZPT76RVhqD8PagQKaI4hYMczkAEzFRUmR8cs2HavXolsLusOq5DCxxc2bC0d7TYKODM+gTLtFbTDm1ZS2KTe9IKh45+aXCYKiI0lYM8srKkwF3s4gKnl4HflbgishOdvSTOri5qOAOJKBfNjw/a6Tb2rIY1bRbkbItvQ6E4cN2BI7oyUoJqFRXjg7P0p//RBnSBqB9ixVeUNsKcYHOwUhBlnlhLhOUOFdxm9eOvFxP2r5y1teTjFQg0ml4py6jlxzmTJAMopsDQObKkZkYmiVaLIgJUu1TK/uIQzJh+rb00v2lqbMDQ6gdGJaYRhRju0MyEqcazLkAAo5HVNLBlKrxqmEOQQJuAUqK+vQ0N9nTdIOlIosbxcxOmzOpM5CAJcdtklaGputHk2PBpovbo1VlUlHHXmByMABCYmGTMhhuQ+j+MYSRy7zxL+W1j2pBJl2RZnWEq5jPQECgMDFzA+qpMd16xdjfUb1wMgJ3lgq4VmMxlkshlkTW32MDSAFQTImH+p/AyZ0HwMNfC4BUUnhJoETxM1HRkYxPKiTtpds3ED2ld0aoZggI4y67kmCykQZFz9LYpAEqIpAIWmRpfWwBcLkt8Uc9I5aM7kS5Q7bch7pBGkpo+JRUNr/JxHSrlu8aPu7SGruMhDACqJMd1/GlFJB03a1m9CfUcnEpMqpBQQFurQ0rehusHeKqBfK8VzqIRl9lzW0sE6B2T8M3+xBdLAJ2zCuLJWV6o+v72u8sxzvqgnin5VY/kQqRYwtuy1TjkXiBSWSQV2y4l9Lwjs+zBZ7mFIgBXr3KMgRBBIREmCk2cHEEWRBbWz54ewuFy0SiDN90hRc7msrXhZLJVsVnlbWzNaWpqtWaUAbNqwBu1tLa6nTJDiJMFbB49hdlabLlu3bMAtN11tzE1lwMAc+3Ux9mQ+18CkEMfKAyQF5yuLDAvyAS1BFEdIklj/KT8vJ44TRJHOx4rjSANW4gNWbPPdJKYmp3DogN6609zSjLvvvwvtnW2QUlpQCohZBSEyYca8J70FSMpU4matNczUP7c+G7tgaAAbvTCEwTPah9bZswK7b74emVwWiYrhSuQmtkoD7SIoLi3b/KeWri5kCwWboCrDEGu2bkXWbPXSemAUUDkloAcxKxL9NLOoqQ0WjaoRy6VwVJum7mc+aNFn9gAMMg+r7+DGRQhMnTmNuaFBAEBj90qsuf5WyEwGSRxDJQqdW3agfePW1O8ZkxIEIIzB0B80o0qUS9y0vwcsowL7rcu7vAhYMTNOKT7ewm3dUezPyK//Gva76bGtMSNez1PS6bUzFHREvbVP9Z3ssfDmpxIB8vm8dUqXyhUNZMLYu0LgzOAI5haW0NbShEolwomzA4iSRPtJAIhE2Ax5AMjns1rBpMDE9AxGxibQ2tKEzvZW3HLDHvzgp0+iWCpjXd8q3HPHDTalQkiBMNDbW6SOHePUmX7se+MgbrvlWuRyWTz4wB2or6/Da/vewvzCEurr65DPZXHi5FlUKrEPRma1po3ZxHY4oIDMtTjWw2fGgQNOYhzmsfmefxqMBmqVVLkrdZ9MqoROttSH2L747Eu46to96FzRiatvuArlchlPP/Y0psYnIaC3C61csxKD/QMYGx7VvyNFIvHlyYZSMLIp0LtmNS698gpXkth4W6UQKBVLGDx7DlG5jKXFRex74SWs3bwBhbo6XH37rVBK4cAre7E4N4dAAg1NTejo6Ub/8RNYnJsDIDA+NITFuXk0t7ehd906bN2zG4defhlQwIadO7D92mtc+wKd5hFTaRqVDshroOP1vn4lWNl/VRWhppeSAVf6185x7iqi0oc8Dytd3YHkiYiBEAKLU+Pof/UFtKzpgwxCbLrjfggIjB5+Cw2dXdh094PINjZZnbNSk/Itu/fJK043dmW27b9kQwlXPdfLwatZGgaugqhzArr7Kupz2udVDTe+F4qTqYsb6lXBghpfDaVVPOU1SNof69tJCNQV8gikRKIUypXImhSAFvjRyWkMj02iraUJc/OLODs4ovfGkeJIiUoUIzJZvflcTidqCoHZ+UW8vO8gNq5bg0wmxL23X4+1q3owt7CIzevXoKmpAaNjk1jR1a6V21YM1QJcLJbxk0efRveKTlyybSMaGxvw9vtvxy03XY1isYRCIY+h4VH85ee/imKppMHFG3TlQAew4MOHMjHRPf19/3OdLR8BEJZlwZtI5Qm7VP72ICEEMmEIlcmATrs5d/ocfvbIo3jPh96F+oZ63HrXLbjiyssxNTEFpRSaWprQ2NSIh//xn/HkyKgpIywsaNHDns0nXeRTCIHrbr8JV998fZVQSCkwcmEIX/+rv8X0xASEAI688SbWrO/DdXfehrqGetx8/324/PprMD8zCxkEaGxuRpgJ8fCX/g4n3zqIQAqMDw3j9MFDuPzmG3XxvXe/Cxt27oBSCmu2bAGUwvzMDBpbWqx8xErZwxeqnOmiWmGsX90NpO2frXcu0l/hJZd9isTNRSkBoZgfC877pdi9/ehbDcVNFM69+Ay6tlyC3suuRK6xCdve/l5suusBBNkcouIyJk4cRfvGLRCBPheAb59xdpKLDItqKLD3E9YVghpoIqxWu0IejpgkvPH8aRrAlMMHv43wrlh1JQLbqvuoKpQTNX7O6mE5j79/eIK5kEhQKGh/QxzHKFUqVabV/OIyTpwdxOZ1q3HuwghGJ6dBGelCCIhEIYpilMta6cnnQh1+5qV9WNW7ArdctxuFQh67L9M73BcXl/GjR59GXSGPt997CwSAbDZrmJBbQQeGRvGVrz+Md9x/By6/7BI01NehtbXZtm9mdg75vC51q+DKv1gnuDkEApYtJd53CKT0vwKxyZlKksT+CSHtthj+W8egzB5EmWjwZ76uMAwRh7FlOwLAs088hySOcdf9d6K7txut7a1obW+1111aXEImlzVbjci80X2w5xGaKZLsMA19EnRgM/v5Q0qJbDZr00KkEIhKZTz945+hVCxiz43Xo7mtFa2dnWjt7LRtmZ+eQTaX074WIVAulfHSY4+huaMd67ZtRUNzMy656ioAwPT4OJ770Y+x+bLLsG3PbsgwhAxDbS6aKJrbX0oVUCk0b9TMRPi0OZ/oMvu01Yuc5jCgZPut6+LrY8KIBcHu41NKUWkzW5cMys0hP46O/2t3FiSJ3VBN6RBCSCxNTWL/d76GqFhEz64rkCnUIcwXsDw9iVO//AmEDKxZSP3lzMZqMmNGzinvSoxzuBAsUZjg1pmNnGFxIOL9YqsGuWCU79sVZD6yhlq3vYlgCu+eirU3XcRPfybYK9Zz/e89v/EnbDhYAqlyDaR8lk1rV2Lr+jVIVIK3jp7GwPCYVSxqdG9XO9b0dGFqZg5nzg/ZvYLSTHZ9IY+rLt2GhvoCZucWsG//EZ1zZNIjmhrqcO3uXbh0+2Y01BcwNT2LvW8cwhsHjmJVTxe2bloHpRQOHTmJC0OjdvWj849VAtQX8tiwbjU2bliLttZmQClMTE7j5OlzOHnqHMrlMgr5HPZcvgMNDfUolUp4/fWDmJqaNiF3nVrQ0dGK3VfsQpgJMT09g72vvolSsWip9a6dl6CvbzWSJMHRI8dx+tRZO8AtzY245tqrUFdfwMLCIl579Q0sLy17pteqlb3YeZku4jc+Oo6D+w8hjiOjKJRqoBWuZ2U3tmzbhJ6VPcjmsqiUK5gan8Tg+QEMnBvA8tKS9asAzFXH1lApJTZv34ru3h7QIQg+F3M+mqXFBRx98wBKy8s2QVTXhQ/QvWoV+jZvQFtnJ4IwRKlYxPT4OEb6BzB24QIq5ZIRdq3ErZ2d2HHVlVi1cT3CMIPJkVEcfnUvBk6fwrqtW9DR24tysYQTb+7H4uysZqAAVm/ejO615jyAU6cwfPqMA2FSAZWgc+VKrN9+CYSUmBkZRf+hQ0iSyLZZCIHVW7aga80aKKUwdvoUxs6etiwsX9+A9VfsRraQR7S8jPP730BlccGSgY5169G1YSMAgemBcxg9ftTZfVCQQqJ3xy40ruiBimOMHj2I2QsDnuNeu0QUsvUNaF+/EY3dPYgrFcz0n8Fs/1lsuvsBXPrBT0BIidNPPYo3/+GLQBz77MU85wavPeuQTF+ghhdecYzSv0/8lBqLMXBA4oDDWVzG1LDtkko50GPsSrD20W+FMvWsLHY5NxQdvCKUy/GyxJdYNwBx76f+VBEd8+m2Ymjr7FpiDemzDOxPTLUFEnzL3oiWm+/YQyBTA0bXz2UzCAOJShTprSDGr6OSxFL2wGuDy21R7HvUzsRE6CwjVTHiOLErLq2e2tmYWD+eSigaqOxdQI7HxO1Q0/WfaB8izMlB7Fgq6ZzeLjrlBENIdjQXXdPzjzvQoT4RKxCsOgCZ6NZ34y+QgIrtasz35XHLiKcd2GPdmV+MTtzW7dXA5Noi7FzwjHwBhTCjt1BVyiVX8cFUkHDy4tpLjJba6peAZm01c2Yd4jLVH0CftGOupesvujETRpmoyqdNOLYAkBiZIGAQTknJ55skbI6Eddh7Sac0F0nsA4gAtr/z/dj+rg9CQODoT7+PA9/+mgV8y1hsn81zZg+7ZAXflqbj8nzTDvbkIfemMMzTHbIC777MbWSZm4LkbWSAZY8JUNDXNN+RHqxwwGL9Y3/uOhq0QkviROrUOEUjLNjA6j2AnAIS++JdpyO3nG/MJYy5wyFhab8Tan0FBaBYcocZ8EmgLS9KsTpG1vxxiXXkm0sSdk6eMIBoJlEYz6uWRReT4AxcSImQ0WErPHAOar5xmBgLHeYpIHxFJOUXTtS4j8WuLlw5kQq/my0sMnQbtW1/GJ92bJ4dryToGDCYBYPMRkfcbXuYKFgTRE8CYOdOm1fK2FckyHzuSeAiU2rYqrtiZwk4XfLHwC46fOWlMVMsBSHQY43EsW72ncCcf6mxRJn9kvq0NgfI7tRvbu7psTL2ozU+FJM2kktpFdebL+ovdVUGoKJ7CoAIAtS1d2mgTxIsT0+506eNfNOPU1BpH1TYju8LTj+cmjqCQEmZHJDSfi9XhEexoeEmJey8+/fmfjY68i3VBvaN9KPWtUK7Gdf2SOFiD5Uors66Eew9zUgY0rseex32jsb2rgZ7HQ5e1DSCJGImNoxOt7FHcDE2xNrGYq1wJymnFIsuqJw5QYCYNn8BxzSpeBpFTflUWfCh/vL8HwZIJALekeXcxOO/p/sq1hAGGHaKPbOQ+XRSgOnNBWMQdCUBt0BwRg1h6uNbfxOfUKYEJMzGf+RO2PTFNf3Mpm7Z+XRj55lGzF/FGSrBkJB0QrQy71EelUr1XzF9ZL6dWnph2k9RTdfmlApyH1qqf0olyDY1o3lNHwAgKhUxNzLkgbmicYA7e5Mdv+uGulb7PDLBzDqV/qqqvhBLWXAn8vj6L+xv2GxYBCMCwKhQClQVe9+NDMkkRzj9JASqGZIZGmYisTXFmkzUJxYtU9RJOsHYCQHVJxJC54+kCxrwwSKntajRNncYo2I/0SsmKYy3rYAHETy7nA1OIJAkygIUjwMJBic8RcCBEaqubSNUjBXY8RD+VNkIFFNKz1xjylRtKnJh0GBpT6wBE3RjOhDo+izF5wG2LwJwsOsYlh1jOgU4cdLP83BIkJUiUHfvkyyA/vUkVni6bl8KN8bOdGWs0D5xiizZwiBNrpkU0vIoclrz9pLsMwlLCwzsIpwyYY2h4hrNMEAIqqIaWX+NUvr0pVVXXouWVWsBAAtjI5gZPA9iZCRPirfBg+qLwCn/QQ0ssleqxgQrWdRP36HvxocvoHStdESWt8fjrT7usXH0F3ceMAGsSegGUEGZw0gTi4bkz/EYlbHbXWcZS0nTRdYxlSjrgNdsK6UyyjcnFMjhxjS3Bson9rf++/7gKAYMzs9gE+C93DN/5zpXGrq2JzbCKZ9I3Z/fy5uYqmxr33eSBjiqX8Q4sRUWj82lFneee5U+MkB5r9l1VVph9b8UuXP+LM5UuWngcqUSWkSYT1MZc9TmDKXa7Y+7U0wLUayyg2NOjFUJPX8kX4EZB9r/x2XEvaqtRSrdHqTnki0ipGDcdFQKzT292HDjrZjqP4u5oUFES0sIC3Xo2XUZtt79AIJsFkkc4/zel7E4MQm+bck5wKs3ISl2W9vYixhJvlam51Z5aKL0ZLOxceOVHhRuwlczN/+7PH1B8AtcBOz4/kUoIHQlSlzYHvY9B1xgIGKd0B6joSPYfTXwVMGaVLwDlKdFl7QFnTyTgjMux3mUG39O4dPsjTMJZoI5v5OyvhxvJUkBlJs0wVoPx644OCi3xYnOpOEml1710+YgeM98UbF9Sgkpu7f7h+3vY6zN/YiE0vfJpRMLlRVm7RhP+Fzwz70olGL3ZD5Fb+KVhQ0Hpu7ftPlMz11/XLY57PWdL1AKmA3JLAcN1crARtcfARZk4d/y+JQw5lF6ETBg7H6mF+fOLZdg671vh0oSlBYWEJeKCHN55JqaEYQhkjjGwL5XcOrpx5EksTnb0933V1W1Yk30v+uBF1vgSK9IriyIKO8zd8Hqe6cMBZucKoSTLe8SNL6WWauqua1VocNfnIFQl9RNWB6Ki5yR4HLW46i++07CwMxfsdgYsUZ6okAmBCkevy+9Tg0YKZow4kt9F77WwjrjLYuh062F52fwBooxHvKfeL4Zu4owERfutGY3AYxVETAp5d2DvmxzgUjYlfudNfkYKiko54hmJhOn6DVpORdQJtppxmTvohzLJWCkKC4Hc1IMBza+2Q42R27x8NtOrIngjhiZFVg2h9afZ+xKycDJHWYtbLTWETt2jJXwQ/fVSurYIA2uldPU+BJL5Asa9+tCSshMFqWFeeQbm1DX2gYqWqmiGPNjI+h/5QWc+OXPsTQ1CQgKbHFtgp0DB6qsuXxhU3zkncXjsSh7CQdWCinnPWEwyWhKljxmCSZXDhNte+lWrmwV0xXSFxIFT939pTtUJiGSemAFlNBWwYKVnQDhBoW/TqmG0yK4zvrsp7pkL1OjmvQyzVJcJMXdjkdXavmMLqbMFowBppA1vi8ci/DWXcqfYhekSVWMTjhgSQuNW1U9w42vtp7DvlaEMd0hNzf+Kse4hXJjzn2WUC5507JMYpwKbKFgc4va1D5tQ6WFXQnfd2eXEQJ7myZA+/90fX5n+oFF/Ug2uN3i99OOiKrVTMcJ4PVF2TnmW9eIdTKLiv1Cv3Hi2acwduo4Wlf3obGjE2E+j7hcwsLoCCbOnMTchQtIKhUIIVFTlS7y2jfqWYY7Z4se+6L3lHdBxeUhdUPfUmJlcbi9x2U5deU0S7IgxeSFg5twP/a6KwCE3AxUdKqKh8JkOjhDUwBQpvywUDrhE+TQ9b7v0/r0a5fuoNhptYIxI8ArhkPROrqW+Q7tvXPvU8/ZKmmZkUNQHszhzFeAATGXkpQyOQc9Y3tWsFNC5obPAykfT/1Vkw+dYxWcZQjvu+TX8UEQbN+kW4X5AqRfJm5hSqcn2HFxoE/jY1dOwRYfMoetvVpjNU4953JRlUNlcrAcMLEon3D+KjLT+IJoldGnT5556j5xXKR2QIifYeiWVgGXq0kMll9eASgXlzF28gTGTp5waSXK5fLZM0G9eyJ1dc6QqQVsZbWADPA6Vx4YmfZI3rg0MqTsJD53ngOD35r6TfIAswjxNjGZJSbnLVreJWvcA+TD8iaVmX6m31wt3fuSmW+MGXhRuTRS+0svOYiV8lkEL00MxX1GVQu1x1rA2ypIwJQbKKE8hsChXJlr8Tt54e4U6KbNgvRK4csdY5F8dfSu7y5E4Mc/k+n2gExDVlhNsVXek0B308RUOXWA5ObMjwr7XhPPdFIp3x1c0q5g7YRIj5NjhIxw2k6nc9ScmUf5bM6RTs81mNWqrc5GwK7eDLhUShP42Crqk2/S+PNaa4SVp//+Q2hHug04mTmz9d7h7lStq96i4dwT7HspkkH98LYSkalH/7JZdsPGLR5VJeO+APrj5/nujW1KtogFPvZzjdHKG1w/yl9tYvklkgWYmuir2Gz1VFut74iv1EqZDFrnK6JWOLDy2ZcfJVMpM84JEK1IvoO3xiCa61DmuqOvKSD2hlI/bFlb5cCUt9NG6Szldhnrdv6E1wxvNBUbX6e45prWgcsZByNdqf7ZlT0lNHxpd0/ZXjfltlUQk/JNcDYHzDymvnFD2C0ybFERfE7ZPBqG6xYW2G8IC0our84e4iCEreipq3vyPYLVw12t5Iw1WhnjCuub1ZbUMNOcBsGDKDNcpANcPDm4UHu4j5MkRpPqlMnEdJSCHJ5JRteuMsFqybdrKAdsBd/XbGU3BV7efWuJoS+S+h97YXdfGjnLhEF8QjF1Vu59NpdgMgwBhJooMTE0qQcCghKa3QqeBi/FjD+VgCq5CQGbQKrv5fJirLDbAeDhbLbygASfCUiKLbl8FgYaTODIcej5ZUhNvHQAlg8FOwwu/4V+x+mB7Zdv11nFZiae6zMrjcuuyQ07vbWFqZ7gI+5A1nMGKl0z3hdMl2bimftQ3nikU1Hc8LmFwTpcCdzMBLqcL+H6kjb1GFuiJ7R4eUm3BEocpMz82+02yjHN9NETPPHREQB/5Pwn1cmxdiFQrk9gimTzED1Fgr2Op2j2HikmRrKqHMNxrohU5hsDWX9p9e+ZQDFnOTzmY3XEyoEPEFznAAYorB/OYvn/56HvouerOg2IP1SN99yHhu2bL4TOLJPOTPLsJQXBJ0XxKXaDSMF7GxGU7Bsc8JQvbCniwHpAWfOMfVlTjibTLXMesrNBUNwJZFdNE8kRMJE7Bl7iInPj2QYOJH3/SNq2SF9AjxMpnBMMflMupG4V54OTmM9cTpRhWkrphE6TK6fY53aPJ1thvbMB3XloPjtN94zMNlo0akXvkDJ3aQSEn8wpYEq4QHiVIRyrIjDzTcuLTY+T8ersslq2Gl8oCDh8MVJV1/SQhwGBGxsfoDhx4otJ9dLlForUFTypsBxXMUlnpIKtpt7i7z7x5cu1ze+DcB8wOeWMiS/4jr25JGsj60ilDNm58fidPwgJ74vyxjIUgoBG2oZ46Ql2Vz8sexIpxfdtH38LhQJPKOO/4+OqwA7UMwwN9j2ewGnxiq1SupkpBpUaZAIj+6mnSW7SuC+AF/kzlMI305gwWRPJu2cqogcPNz36nmYFts1c1Phke3lSpvyK3bRNV7VLrr2u/Q2xJ85MBN3jImseZ0w0iIqAyC1IZPI589oxVp4/Je1roUs4w/8ON/tqrcBWTllfhHKmnltM6QvCzbV5WcOW8VgYUmPtLR7K+5aXTmAlnS0QdmyIsZKVQOlBqV9zRm3TcThns8BHMkHvMxOL5MBKGpM98/00eHiMGMzK4SSvBnv1Fizl/I6ialz98UqbxMprCTdgFUIZBCxsTSaGmXIFQARsBWF38JYbToJNX2zEisUoKOJk6pbrMa9OFNW3YmYLaQC3gpQ/0HQvIYTNlXF0T9Rspz98qTVNpX6akiUhyHxzgijZupk2e7kAVnMEZStc0AD6C7xjSXys6D+h4Cfz8vHkCMlYnV0ohBs7V0qIEj2F7auT2Vpmn3Bg7Zl57lqBOa/RRvYkd6ZrRsWZlC3vTqk1wgd4sEVVKOWpIo2LBWvHCfkVqqZBQNhFKm1Koeq3zLEN2ORgLk2q6hrC9seXBbcgpZka6Y1lJ1xH4JIQEsA5sIktCnjf91pnrZ6UnLkQe5UZ5+STvu6AjHaj0PekAKrl3I1HbRPQ/8T2knQfQEgHPyQUXgWZFyIFUGx5UAI21GrRXLGNkS6fSyUsXG62/FgFMTlgjl24Ui9+1JEm0U+4lPDN0yqzoBaAMaVybXXXZ9JrVj8aQ0Yd6Cv00kyy24wteEPAo5PchOPrB7EkeysunPa3vJRH4pmEVWWBaJJToGSJkXKrMnM/+/KTyo2yJYU5g60KTsCCkDRuAQnYE3soNUF/Lm1iZ8AYqGVwfNHgJpC5W8IYhuO0KsWeUsuF7S+7FlNYj4swX5Dyn3iy6XQ49X2lvMitQ/1q5ksKaT/2Rc1e35mcDrRIB4kQcHmSKbDl7Nfez77n5kDrs9MX5rHwdITup/XM7cV1m6X98fEgrNbazRdsklU4XQzJsWxTCaySK52ugCS9wJjTX2In5BZcWB0pYkCUmGrYlK6FpVyZF2IFjDXQNatqbVtHrAEr4SshrUtW2OwAQteMgjArvWNsyiqiKy3ilJR+n2Io1UuNN7gcZLRQ+r48HlLmJoarduFWRtqBYB3ncIzCS9Hg7WNN0g7Z1KpldYQUWlWxJgWeSkFLqM9Q02f3CcaY3GnQwqUiSMmy0V1uVfr0GmX7RA31/Tpe/h7rrzUFmaFg19qUOZJWFKsUdlxJNBkoMvD3fgfmJuHM3wNZbnKyhaiK6SjrPnA9TEOs8hYopSfav7b5cgIHan4irR4gql5h98F6NbgApt5sjOE50i2rYotDmieh6n0ju47uu7EiPfIWDP1cl0jmpgNjN0IoJImLbSmVIJcJsaanC11tzZhbWMCJc4NYWl52gJMkZvIIiNxWH2VKEQulD3kgJU7+f629adNlx3Ee+OS5911770avAAiQxEKIpChKFBeQIkVJ1G7Jo5FMyzP2jLcPMzFLTMT8gIlwzC+YsWP2cWhkjTyyaEuUZJKSrYWCKJKgSAAEARB7o9GN3t7e3/XeU/PhVGY+mXVuE3b4ko33LufUqcrKfOrJrKwqWgoURvq6Y7HGNbjZavQf+cEPYH19DU989cnh7LxaxoED+3Hy+LFhk7lqgZcvX8GdzU1iBQXve+xRnDp5HE/85ZPY29vD2uoq9vaG0218wzjPbF5bXcVsbxez2bzJh4nI7h0Mc1IK6dKg2D3Pptp7AnBL5tXtmX12rZ39dLDR+hSqnwKLwpTFDsYSNp2QopSe0lvER2kCHt5gTzcinFCMitMU8okzbIha3d7ibNktGx2rB42QAAvu+gJhp6vQTyWCQJhZtWvjJFHTzakf3D2MXgc/lGOVWmZwA9M9Bs2FdATkSYTB0wdQqz+zYOtjGuDIW3Cwot9BzEv1p9TteXjQa73P8Rfjd6p52L+NHAaRyrA0yl1yWTSKFRTsX1/FZ3/qU/jQ+96D2WyGre0d/OPf+BxefO3WcI8Ck7ov9XNfmZfte55mWGx9GnVOxxYD9ckJtwuwvLKMn/nxT+LGrdt44qtP+vbDBfiRj34In/2Pfh7b29soALa2t/FP/9m/wAsvvlwNatja40c+/mEcPnQQT3z1SZw6eRx/85d/EX/+F1/Fk998GrFSBWfOnMKv/NIv4I//5Mt46pln0UlXXVpnULwsSFvJU+JhaUzJC8npL9id9oTPYdTUkd58O1NmJkQmK3VZAZOrCCmnjrKkvKxXuoqB3T2d2VOGNOHTpzPDqjEqwPOtVMtc59pE1bxXuKqkxCrCzSgbSRl5R082kqMyJ28izbBZKVal4BtyDeokVwQxjyVJAA19SNsev78QSIVTCdk+A+Cl/rP/jsVX498RPzTo0xCJzGGa4q4fpRs5O0sUjb5iaA4sGpFDaflT302PllyQwgz7Hg3G8mMf/iA++oHvw6/9zhfw/MuvYWVpCReuXKHR33fz7OtxWLYLRO8jmMWxamfnjBitrRtLVFZlV/v3rePYsSN49oUXh0MIJgMpnU4meOhdD+KtS5fxm5/7PGZ7M8z7OS5evGxHjgHA+voqTp44jtfOvoG9vT2srCxjZWUZe3t76ETw7ne+A/v27cOz33kOs75gZXkZS0tL2N3dqwHrCibKQAQooG15AHfphg9D3Mm+G44E41lPj+0pUM1NUUAMQBc/l5qo20nUBHazeotNSGAbfqoM3ZvyEeLmg+rWaYxKMKmbDXYiwzmV5AaGNAYZM8mGqtgvTg548r+YTjRuA9sFmYKEa+rAV0o9z89ZfnCzimujsGYSKDiz8dgZu5V6je/UoXXQwdnZqmk2ARDLx3cDrTE6BVsL4A/X9Iiz6mHwGgFF0fpyGhO9DeASYl8MurSVkPZfoLkFeVY9ttFfmq4T6+gus0D3w9LtkXtFdQ+I6xl9q0tL+NB7H8G3X3oVf/r1b2K2t2fCL6VHqQA1nUywtzczl6+vR7RPRTCddpjN5nYy7KSeODybzQAU2yAOMgRUl5eGLYD7vqZd1M7tuuF49hP3HMWB9XVcuHjZTqQBhuPqT504jpdfO4vnvvsSGZur33TS4dChgzh06ADOX7gIlIJz5y/gn/xv/xSbm5tYX1/Dr/zSL+CV117HU898GyKC186+gX/8v/6f2KoHM/T9fKhLNxmO/yLg0RFWY2Hz2cy6iLdptpN4KHfK1/WJgRfT7Q7APFgpbdWiAFNgS0F4ktROciHFM+Wl5M2cvqAA1UlXgWoApol0lIrgbp/Wk3e0dU5Fg2Lt8wwsHofzYT5fH1YYjPkflIag5RfVV2JB2X1jFtfzgGrxrBw3JBAJZlhqqsJwV0jKTC6ay4XYSJrEGkyVgL5hef6AgDl3S9wMlLqyouQCiziD6ojthLjjSGCvoB46Ebqkt0vUHliOMJ2sTJzDFaVg6sIYjMIZAG0708/RyRQry1Ps7u6i72cQ+n0+n+P08Xvwk5/4KO4/fQrf/M5z+NKfPYHtnR1Mug4feOw9+NRHfhgrK8v4Z//y83jj/Hk89vC78eMf/9jgjn3tG3ji69/AfN7jwx98P9ZWV7G1tY1PfuzD2NnZxe988Y/w1qXLAASHDuzHjz7+ETz67nfi0IH9gAguX71aN/4fmn7o4H4cPnQQ5756AaUUY14oBaurK/jID/0AHnv0YayvrWJ9bQ0X3rqIgoIPvO8x7Ftfx0uvvoYf/9Qn8M53PgDpBD/1mU/jib/4S7zn0UewsryEv/zak+hLj3vPnMInHv8ojh+/B9/5znP48ye+gp2dbTzy8EM4dfIkLl2+jI985IexNJ3ii1/6Q7z6yqvmEg5stLfTpkMMxRgrK6bP4MwBY2UDwLj7bEt8KuJ43IFiVkafCiB+8IWCVNcpSxJjYJ0M7EkPXe0CUMGu14KE1DF5AcEdcI+bwIraNha+NeDSzxq7InfOMCyUy3GfDAotY+vrZ0kgYplqBRY3G0uH8O2EeGG+xEOLrR3FQMvvdUAN144wFo5TqZDiwKTPjO4hw4aCut6nC6QNqKw8GiRH+kUTu9ueoxZWr85mxvOlNKipb1kATIfC1UVTVjWn0X/4t7m1iZfOnsMPvOdh3HfyHrz6xrnKoOY4fvQI/ov/5FfQdYLLVzfw2Z//abz+5pt46jvP4zOf+Bh+9Rd+Dq+cfQPfffU13Nnawvvf8yj+y7/zt/Dy62dRSsHf/9VfwflLl/Dq2XP49Mc/iu97+CG88PKruLO5iZ/45OO4dfs2fvN3fg/71tbxt3/5F/HuB9+Bbz7zHTz8rgdx6/ZtXL9x05hM3xccPXIEKyvLuLJxDcvLS+hkOHF6aTrBz//Uj+MH3v99+ObTz+L73/cYdnd3ceXqVUyXJvjUjzyO7a0tvPLaazh27AgmXYeNjQ30/RyTyQSf/tQnsLGxgb/4yl/i3jOn8Xf+01/FjRvXcevWTfzCL/wcLl66hG899RTe//734hMf/zhefPFFbFy7hg/90A9iNtvD//HKy5VhqivSG4PiXRM4dsH5MlLdBnOxihpDR6zAu1/qzJ6CkceVQPlTFJdScLKs83oSdddBpPN1fCELvWu2GtZYHjv6FmpjozSgKiG8oYbls6keiXF9ZqulxE5mXTprrTZE7LcUIAarqwl6Re0aZ1HkoqDGEvvhu07dTVA7mUUJ7ZBAkWRmnJGfedggRPtSqksTB6sxQhuACukOAYu7kq2r6PoTr7Hr2O0NYFRSmTwY1N/Fuy7PmmtYylzQhsXW7WU0toKie2MV9POZpSAU9JjN9vClJ76CH/y+R/B3f+mv4X/6td/Apasb6AT42R/9BA7sW8f/+E/+V5QCvPeRh3DPkSN46MF34Fd/8efwp3/5dfzm538fW9s7OLBvH371F38e5y68hf/l138Tp08cxz/67/9bvOsd9+OtS5dx6vg9gAC//QdfwKWrG3jPQ+/CoYMDk/r4h38QH3jvY/if/69fw3dffhXvfOB+oBTc2drEEDsS9H2Pk8eP4eCB/fjrP/MZ/NSnfwQb16/jt/7V7+NdD96Pj334B/Hr//xz+Kunnsahg/sxO3MaN2/fwv71NRw7egRfe/JVnD13Di989yWcOnkC/9/n/hUuX76K4/ccxdEjh/HU008DKPjJz3wae3u7+Ke/9uvoOsHDDz2EBx64H089/RSO3XMMS8tL+NIffgnPP/8CTp44gf3796Pv55jN9oa4FcU5jOUOfnmMI8Y+MwCiuRqi/IPWWtIlaZ7u4+QB9M6zz2tcSjAEz6eTriqPsykLsBvriqwsvyz+CbdPXiaUribiJwFEmIOowfZkEHl2zbf1Le52k4GHnRLM9pLRFYDPDggMkSaMmB2G1NVs6CIEVm7wXE8Hd4pLFQaFBFIERoFBk8EPfZjcO6qjgYqWKzFEoL2RKV1cBpfc+PCb/7evv/G2RM3e8OnZY3GzbjinbmBVpZ+j9DP0/QzAHKXM0ZfhOwHw4utn8X9/7nfxnnc9iM/+3E9haWmC40eP4GM/+AH8+Tf+Cptb2/jRj/wwJt0EFy5fxk984nHc2drG7//Jn2J3NkM36fDYQ+/Cu95xP/7tX3wFu3u7w4nLfY+V5WUcPnQQx44cwZ985at49Y1z2Le2iuXlZVy6uoF9a6v41OMfwVPfeQ7PvfgS1tfXcOzIYbxx/gJ2drZR+vlwVLz0uPf0SVy+chXffObb+M4L38V3X3wZ8/kefuSjH8brb5zD088+i5WVJRy/5xguXrqE7e0tHDl8CPv3rePN8+chApw5cxIbG9dw69YtlDLH0SOHsLa6ijfOncPJk8fxfY+9B19+4glsbFzF3t4u9mZ7mHYdlpYmOHH8OL7+ta/hmWeegQiwurqCi5cuYnt7C7P57gBc8xnm9K/vq6wNwDR/rXcXURXE2FJea2uuAACAAElEQVT6pyfRG3sSAy8hd04BZ4j7dRYTnE6Hk6AnXVdPhe4wmXToJp25gI1m2awwjbX1u74MjHde29LXeKiejNwjGjob8nAtLIaqW3OHZxAI9dW9tmfU6+e1DiW42REAra4j/4qBrYOV3WdA1RqeGq/2zcB2/X5to6e7FCuTr+GJKOZhbNk2gHTFVwvYTLCCkf/V956+BMuJI6++oVYqp4KCIj1cI0uoj18PFCnoZfhrXFUBzcqmgTSpF42zAIBp6ef1kFGNqdR0BHgsZSh8oNdPfPNbePDe0/jpTzyOL/zZl3Hs8GGcOXECH/nA9+ND73svDu7fj8998Uu4duMGPvCeR/HU88/jxq1bmE4nQAHe/55HcOPWTZw9fx6T6QQH9q9jaWkJtzbv4MQ9R7GyvITnXnwJBT2OHzuC/etrOHf+Ak6fOo4zJ07g81/6I+zs7eLeA/twYP8+vPHmOezNdi3gvrqygjOnTuDZ55/Hb3/+96177zt9Gu984H78wR/+EXZ2t3Hinntw5PAhPPvcdzDb28WJE8fQlx5vXXwLy8tTnDx+HG+8eQ7b25uY93OcOH4Pdvf28NbFt/CeRx5BP5/j+Reex95sB5NJh5WVFWxc38Da2ioOHjiAp595Grfu3MR9h+/F4cOHcPbs69jZ2w77V/EhsmVklLO4lI6Ixd02zXO1rZhrzzpj6hy0lBV1/luXPk/oHk59sBhZHPsMNDwYrcYPZzE00nIe1MKFr2SYHANz15djXdGdtLSRJvZHxilUJgGNgoYwKgRQc4PNeW9jbhnHe2IBkTGx3Q6rIaKblVm4yw9NJjyzEB2ghrgdaLmThOowOFkPF0R2Xl89uD8jdObLA5BVBhx3zqDkdGg8LUbtcwhE75v2FbDQe7zK0be3CqqRzGYzPPnsd/Czn/oE7jt9CkcOHcLO7i6ef+VVvHHhAl56/SzOvfUWHrz3Xhw5dBBvvnVxUNhJh6XJBPefOY3LGxvY3N4amMzJEyilx8Url/HQAw9gZ3cXlzauAgKcPnkC877HW1cu413vuB/zfo5zFy5g3s9wz9HDmHQd3rxwoW7aPzRq/77BtXvq2WcB9JhOOpS+4OTxY1hdWcG58+dRyhyHD+3H+toq3rxwAQVz3Hv6FG7dvIWNaxs4sH8dhw8dwle++pfY3duBiOD0mVO4fv0arl3fwJnTp3Dt+nVc3biCvdkujhw5hNXVFZw9+/oQ+5pO8Ma5s5jNdnHs6FGsrq7ijXNnMZ/vAZOJGbPSZFZ4lbX68woYfLqQplBo7KkOr34dx6M0YD7pbFZP3yu4GVgB4dkODIOyaCpF40LVi8Lp2YjAZDG2GAhJsSgGqwgajjfkNhVnJxrn8bgTQr5fF9xCKr8BQOqKXDNyJ3N8iuOEgZyUkprYGnw0/JQ0mj2yETdpeL5v9ZN3Q8lt8QRhndbwmdDQRzR5EWOAVU+zoDj2anIu4bTnEH/V26mNQ6wvxdvoNS3khvC+13oyLQqGQ2/rMe9dJ5hUENibzXBg3zpu3L6Fz//xn2Djxg1D8bXVFSwtLWFvPh9GchFMp1PsW1/H5atX0fc9lqYTvO+RR/DmW5dweWMDn378o7h24yZu3bqN6aTD/WdO48bNm7h+4waOHn4fdnZ3cWfzDgTAux54Bza3tnD12rUaFB4EdfzYUexbX8f5ty4M/nulowcP7se8n+POndsACu6/9wxKKbh46SKm0wnOnD6Fi5cv4ebtmzhz+mGsrCzjzfNvYjYb8rPuPX0a5y+cx+3bN7Fv3zq2tjaxvb2Jfr6HRx99BNevX8Mrr76Ejz/+cWzeuYPLVy4CpceZe89ge2cbFy9eGDq0j/EbTYFhEPL0An/fda6CuozK2Y/YEfGQzKKG2b3JZHD9JtIN19JMn6i7Z8pTUGxnA1q/Zirh7pDOQOmJSR4PQaN0RLiSwRqJar7nzxpD6lHiEewhEI0WMIseAusGxfEbDfoqILKVhBiX2YlYeojnm6nB+Sygx6w84Kx9buc60jVmb1lwksGlZXI2EyhevukIMVQtttOdV+wxEh5ZQt9Qwmqtq5cV+7DN0fdhzccqT9MJ4C5DvTJzI0JYg+6M9LTgtZTBL16aTrEyXcL2zg72r6/hkx/6Idy8cwdnL1zAsSOHsX9tHWdOHMeN27ewuryM2WyOO1tb2NndxTtOn8J0OoFgSLDc3NrEwQP7MZ1O8OC99+F9jz6C3/nSlzDb28N9p07hrcuXsbW9heWlKe4/cxqXrlzB5tYm9mZ7WFtZwf71NSydOomP//CHcP3mDWxtb2E6GYLCpe9x5tQJlL7HrVu3sLa6ismkw+7uDmazPSwtLWF9bRWHDx3AR3/4h3FncxPXb1zH+toKTtxzD77xrW9iZ2cTR48eBlBw7foGZvNdHF49gGNHj+Hbzz6Dne0t3Lx5A2dOn0bXCU6cOI6PfvijeOIvnsDGtQ284/4HcOXqZdy6eROTSYcH3vEArm1s4MaN6x47MLDxESec7kPsiF09BjBVXwUqC4wLAZMxqAGUuk7BKgJjNE5SRA+f2FW9Kq6xxD7s202Dsxlzhh9W5C59F9w+NWT9U6fLde+vxuVL93PLgrtFsTAZA8eC8d/FZwp5i+boVrXss0gJv/HsnTeOBBA6Q0aASfWGVyjQewvyw4DGAIaeHdmU15r/+vvo+kalAck3tl0vF3p2dkXDKosRVs4PmobwRCG6VhvV94J3338/PvtTn8HtzU0cPnAAp4/fg9/6wpdw5fo1PP/KK7i9uYm/98u/hO+89BLWV1fxu//mj3F5YwNPPfc8PvOJj+Po4UM4++Z5fPHLX8a3nnsOf+NnfxZ//2/8Ct5x5gxeePllPPGNb2DfvnXcc+QInv3uC5jNZzh44BCOHzuKJ7/1FOb9DK+ePYvp0hT/4G/9Km7cuoWl6QRXNzYw7+eYTKpr1E1w76lTOHLkMP6zv/lZ7O7tYT6f4/e++IUhHrW1hc/+0i/h4qWLWF9bxeUrl7G5dQdnTp7E/v37cfbcG5jP9rC3t4t9+/bhZ37yp/DPfvM3cOjQQezbt46zb5zF3mwXTz3zLXz8Y4/jH/zdv4+jR47i6tUr+MKX/jWWl5Zw5swZnHvjLLa3N7Gysor77r0P5y+cx/b2VmBBOkIaGAGQriPA6iLDIvDy9wo8Ayh13aQmdGowvQKVxb0i6A3GNPR9n5TDBn9VB3OnCjGUOvom1qSzlXqfMRfE2IvAnxvdIWJc7F5Yqo3GRZQtlQZ4irEqBSE3JX2eTacXNzTfkrqFWWc1NJlh9a+bQpKx5mz5aOWlLdxiVUIxS/oL+LIY63v93l1B3X3Uis71pD7geCEAZ6LsWlcqZPFHYsLMQGPvwdheWweNTfluKnngCjBFrHPy8Ec/9j/wrIJtJdLpTJJgaTrFof37cGDfPly6uoHf/bd/jCeffRZAwa07d/DquTexvraKtZUVvPzGG3jp9dewub2N186dw2y+h4P79+PClct45Y2zePOti9je2caxI0fw9PPP4/f+7b/BrTt3sDSdYntnG08//zxu3bqF5ekUu7t7+Hb9fOvObdy4eRP71tfwV888jaeefRZnz53DlatXBxeoAyaTYbbrrUsXcenKZVzd2MClK5fx8quv4OLli7h89TLW11bx7eeew9f/6hs4+8ZZnHvzHKbTDteuX8fTzz6Nza07uHb9OnZ3dyEAnnvhOezu7WFj4yqeeuYpbG9v4fLly7h27RpOnDiBl195Cb/127+Fy5cvYmk6xWw2w1NPfwtXrl7B8tIUfd/j6ae/hcuXLmJSp/E4Y1w0ftQpoHQDcKlrV3OgBhCa1O8nmHSCSTfM6nV1Vm9aZ/i6+l3XTeozCKwUEIlbtYpMClv/Fprp85BqYd2MxpdMMkz7B0OKSs4n9/SV/Q9Y1dtsYVhNQMbPsamefg9pDShwtyrFeoqabwkulW6Jo3loPvMKn8WyR7fMQtsa4l7JsIu60bRagF0/S84VkK06aPFBsaFNXdoZQwdM94ETmKcYpMWdXFZd6lkPHbRMWyRm+NtKC21H/Y4noIL8tE/qjifyM//Nf1f8AWkmRhPrauBw0g15Tv1cx65hKnk+m2PSDQHX2WxWT6318oZlLL01qMMwpT6fzW30VyVU1tGJ1DV6ncXFho7s0Pdzp+a0LQ5QFwnzQQvUNt3NYd7Paza/tq3HfO57c/W6HAZAPx9ifMMz/cSTUnp0XYd+Plzb1faXvretVLhetmuEKi/R9+D2pb+6nKjNLu+sTF3jN+k6UmIqp3Nw8h0onIprbYLRqetF31mGtsRcKaf8tOWy6pMZngbCo/tkddGhtPjz3H0bmflLcRSPqbEn6T5tRzsPcP4P24juPACpRlllNFFWBa97mFlD3PcqlJ9AUXVOGWIANYr9dRzfUTcOeh5jAiV7ZqF7nW35/dGF1rhvAKyelzMxSFFdCdCkRLxQT61T168QYNXvLYm2enTCM8oUoRoyQSrjrPWfykTcnyZXUNvlvVDzYVAgHSwVQrdHmVfDNoTOLkQdEjRfZ1iHR7NakIC6w9+JuU/e4UDXTUKnDYIaFgJPJgKUzoLAlkleG6OAxqM4b+uim+LZZnlV+z0dwRW5lIJuUmtSBjaKiS8GdoNWoHIt53iD78XlYARp33tcqgJWZWkKdrwdjv611IiUIuEG68pqAFXlYa4Xy5oVk8DB3AVTRO//EPtQ9qUDTHFm5zuq+r0YAysMG9P1VixPmxffElwBiMDMYx8Yf0khUKKzEEGGZhIjeWRmkf5GHw3kGycXT59DgNhpvewqn+wwsVbaYTOG5CJan2e59smNyzOAtXC2s4IBzHOkjic4VHamd/ady9VcQlYrrqdhEMV6CzCdTDoLNhjiWifH0koZdmEoKEBfKH+rugy9sg+qvHhjzXTFDXrIBZI65U4Jb/DpzWxkIQHQWDwDjSt6QXUlaKubyK5KvD5sYFaCkSiYah7JADD6myuh26VQh8d8JsszsXKdSdmSF4tBUUwKQoyT4lzkQpiiAPE7AhSLSSmoFAUMQxRivrAYBuuDuQAj4Zj8KvSfCEAFfe91i7k7HvBlxg4A88S0zBVJaRI+I+Wjsj7DGVmcADEXDDGwPtiPeyE+rpeoo+Raol7LdK5lR5G56W+d7fjpeUodSriP7UPjRR6kl7rHPcNL7UsbxKlzVMZCqSChY4tfru3SChRUN1qsqaF94BOPCI+ihgzFcUCro3gmBNNhBC8eIQ2V8Qxh9NVt6ufm+uhfBwv/bB0jElw6c2nU+DpnB75uzfvXR192T2DDegEBpeZO23Y29LcueVF30hW3D+1lw7A9z2tgkM2RXazQpwpqJW7dYn1Ls3wcPAd465bo6rHMmnwpLbMao3D9hBXGAbp39Ag5S6qODTsQGvRISXWbZ5YAj0/aNHPPNSWhPrdXN9PYfZ/KoSUr9tjsGppCqH6zrjM98LZSJcNRYmnGT+x+YhGGzzyQjSE2D6jpd+obO48RnioBcdcJtZft4A5KycjAZ4MnV8FbD4s3FWfFVg7Z7Dj5jC5vCc8ucQC2f1W2PGkQxrc0CjY2VhAKLAVT3Q4rHxahm+4NW8dowNP3veKFuwxYdTVoGK00hqLxlK4GjDWAOKnxnkndQlfzXJK8yN+OLKq3ZSwFHGPiQO1gQZrcSCBrnaWxpuFcRnX7bCKCEgA5BqUHLahB2y4JJmupzLV+UgZlgNX5CC6+EZ65eV1nZfD3ztpyb5dQngFy78DhM218rzMCm0FMND/oFGlsPm1Idcxm9oChzwq8P4DqivsGiOMDhpiB2G4LcCZVLO7pLXCgcVNrQMb6ttR+cFew0wFKvP2BnY28eM8s0xH2UpSBa2xJGGgYKN1Y2SUc2kRrRptrlE0lo1EWXb/hyQiW9zAwu1yDu5Zc8gxW2l4GUIt5FUHX6aBIrFNlFLulkWpwTyGYokNdMDooT28g1NeAsu4WOrfdQvueMuLND9eKe/F68EDePncArLS1rv11oHOXOs8MwdiSAlihWFSpsTbumDyzlH+3UUKGtffcCcpeKG8w6nH90BHrgRmRwNIYoAAFY0oOSGJstNN7OH0hpDHAFY1ASxp5+WSGGo/tp0QgawZm+tPuRxV0ihiw3qGg7GkQFCw3148Yuz5bJyWMSdfyzEZ814LoxoWvrWM45tZX1xJC5YpuCc57y6P2CQG32DvSEzbULJXMP5z1cr8pOHc0sPixZ9GziIeakn1VN1dTGVD7NYZN4AdxFM+fizOAcWaYXVLWp6KDPCIoucz9foDcaPOQgnKRzbh8TAfTxlrZ7Z06C9EgOi22LfyZdnVIvjg0v6jQmiBzY3RJiDMsZREBpGzEU5OJjCDuG9VjXrheA3uyfGa9jkGJDl91dBf7G2IkdZ97jqexYWjAXUfH1qKJEtOiYXMGJcaqAjDZfdJ0duh4t3h7tucr1U/WJgd5Y9dgg9TgN8VqRpRGlUrC80GDATBMIFfm28cFx2GnBIl1pMMFk8C5JvF+NX4DFQVoUfbm8izQbbeJ4VSGBWLRwYUku8on2ZiLCHav3D0KNlJZqO4XNkzjsxuv7Eb7fiSoruUryEj6HsxAmVXFT0FRGZzMKyA2LT5wBfAt3i6fPfQYqrp+7GmYrgh/bKlVdkdF4g9Tjfl4OsAAYGH3UVY0FKCrLIBGSl06wtPqyjqkZlvrk/XgTL4+TocjuGwKqsMo7a6qcPcUByX7q0AF/14Zk4/uPKHPtENHiApOXe3K4gmCQHJdzR3o6Ey+mAA6KBsliIK2N6YZUi3PATXGIJiNlKJg5IHqzgypeCyHRresGIM4KGYQ3ip4BzM1uNA9+VFqyki9r9d4Z2J4pog2exe3sjOHlJFAn0ldFeODbqxSXJams+T22fHpNiBxAJomG2rZdqgEMUjucP2Okz0cqFzHjUnZdwo07hqCBhWuv5Vnkyu+CyjLzFtTwmCR2WCXgENdzowh/DE8W11ben5HOtPolw1MBO4BO7klNNOYcGFa5nN38Wjx87C/FLlMghqLqikFthd8CTtTKvp3Sr3hLp6+wpS/jUZqjD6drkZkm5HoLB4xKA20I3SM96QzP+3xYkBhRsRiYoHqSEdMazhFSIXpLqO6Q5qmYBMNJBt1GU0m0E3q/JwVzpliV0ZB1w9NRRhIzLoqaPUm2/pewZcMqVXOwg+1ekaFd/Ax14+YlMcMAQ2c+TbDypLUyHWGj4mNDy5MeHzyxcGAY4emWwpOPGEiMuQv2QxgGbEoL5PrC6hrOehAHwBXZZlcG5UxDUDB9SMbiLsjlPieyjPmAndzFTR0sHaGTZyK9lSX/Jn1oIKVDlB2fYnP53aIDurwFAq7j7TKhRvb4y4ly6+E0EbuoOm8+C4NTRBa2dJEF9v6zFcYAci145mvLjyKO8J8GJJYoZGyfjY3EMaUdCF2MGJRj4LAigKQ0hFQcH0oBYNBywOPfrX5510xsFLKq0tuLKdKmaUFyb2MHIuSwjUqbpFhQBy+5zV0oa/IdfJteZ0DCb1XuUeXkD+1a8bEquaMm5mTun58sg//Dds9a1pARdHCdYfH3JpzB6FudfQaufYCctsMrED/SmyQ8bsR2wjGBrvWQgKmy74zqklZ+NBZWDwqAlBxOzHga108tjUDLKpw6BPEWFUxGyTvyOya2BXTQfTWbP66I9FZzhcoEZmkomQAJCUTO+k6x7vjRAIPY8xnyxDD4pkP7XRlSAGEiEVYToVoBzlSdrqbpVFAVl5vEPvVtjsEC5xcOwUxPX9Ov9dV79IBUj1Zc4EqkOisn7uALgtd9R8VX9vqLFIv4Bk4V6aUY2UxutwdaP4Or56ucVeIZ9NUMYetgLILQ+ZudRQaYGIb4vl93AeulNZsGYLlKjM9qo1PQQLP0ALgBFB2/XSmNSSYBiig6qQz8dhdHQMY25QQlU3ZEWS8aR2MxXs7XQuV5yq46DO6VDklJBDSbXG5elw2un5qpHHw5hcFroP7F086CozXmBXFcFEQQVSfTfJC7AdmQpJk3wApg6jaM3k1emhKoWuGHyS6nToghr6kuDK5OyrzqTKRItQxhYyR3LkhybRUgKJFtdox5IO7dcCUFQoepTd2Ev3aBGAZtNhFBVPXGnfohuC+C0dHCbdQzsIfKt55ecWNx+BXRxOaEjTA0usMrIf7NfGwTR3QDk3KytPF5NYxkxmOTUOSp5bjzw97tmuNgtuB6AqnwK8qnCl+D5vd6wywnOX5LG2hstW94HQH/12HyLi8h+qBsZcnsbIb6BM6xGZsR4q40FfbpqTWxrH6fI778ymddlCCGqcwyNEsralazatSZiWaZ0X5SMQggnGLtzZuBOj5UnoCuFqA701PTErrUYhZBrfNbTPMN4yc6Ax630lMnwgndDeaLqGvkMqS9KV9lwYj91gLpqLB777YFDuso9XNGxo0mfC6Pj9EM1YtrpMqPr86/DapQ1EpKPp9ge/FTYboW8qqq0SuRQdIL0HY0om7WAQ+PBpbTIanT4OnwDQVdmyjEC3hpM1BNtF59Bi6mUIIPKvhhE5ht6nw5AL9Vhx8woZr9VmdDS7FjEpnnaICsRoR0FTlsxgZsShNIQlgWahvuJyR956nFCm+ykyZTTFji1BfMCQgsmF3Nth4uxk8OrY2VXyqAjPJYu5pdfHsGkXIqBeu/8UXFosnf6oLqnUbA4FcX2dlxWJVHoNVH0OTo5NLGBhVoTJ1EoJ31XC4s/oQ2/EBu9AEgcQ6kuqMvdipc9vTL0u4lyYgk2aQmtWypsMOAkPvaravoZ2QsDV4SU9geuiuTJ58p6URNDpyJAAASjeAps/1jAhB3Rt9zgQGMM4iiS3Re53usTCXuIyk0CwVC5JcQGdDDNLBHui9syTfqM3LLwTqqnTKXPT+fmSZE8i9i8wWNrBwbMTjG9lABJ7IyYDl4BNypoonEms/e8CW2S6xV9YJ/j3JjYE+fleUlDcsw9tek047NiRih4V5L6jtZEocJgAZsagO0WCr4C/VmMUHdJ146ogZOcPyZS4ta3HQ4DWL6koV+KYB7laXIE/VJ2W1AwkkWUu0D9YFdu0AnQwotARIXe3suo0w4cI9z7/HwdGYZOF+J52x+1sUmE6mE+uMTuk0yK1QCkju33C9z2xRXaDHnptgNE1Ko3U8urErjkh6QrlCIKH2pUqiwBS1rL71uI4yk1L0QZScSIbAEo8+Pws9ujIcU2MgjsFRHbudNelvClY2mUBun5pXWLaBOsnRUYdnFzD7TkQv/Ch1/euLwH0lQwEnbZa+DwoUc7piQmKBt9UAopRgjI1aN64b//V4aThRWtMUiM0YoFfXDSSfqKgJ0JyEuqlQWVb3TkJagrJaBipjNtCcKiZpgxJyEN6BynO1UHQG3HWBs6xcSRENiXVTsn2WoA8Sm+zASbo9fPb2s1tZJLIjhpc4pNP34lfk2FWmKSPeJqbTqe6IUIXYua8dAsc02sXeZTSAAYahKQEVs4/g5sE7VX9TBS1GBmhZAtNowJMEq1SdRbnrZ2EsGa7ncqJtu5nZ8fPMyqzqirRu+MPvrCTsytEsaCkpaM0uYQR1bbPGxUzBhY1SlcsTZy3eYw0rdZUOgZKtDPDvbBYSpW4JpO3poytjKqEA27M4yUXJIBVVkmeKxlyIxhURQdfB0hQMHJJOBLUPATwx1hv1rg4+AbjYvRPbE0sZR+sS8vdet1oyMam4i4KEevc+YJkJqxuIaFuF3UDAwgClxMGWYk7WZ9y+QvUoHhENdeZO8hqQ9FpPI9tsmzfmhbZwO+a5yMCwYoBdHbYS9k7y0pj3ReAKhF94YWseGfyawgIQDGkBfe8KaIN0TPakIJnv5EmdN1S1CiqMKgWlY6YopgilysCD4joKc6ck0QYaDmcSgC28VsBSl09P127yqFQyym7h8o+AxY61aiHHNXw0tAXGwc30NISwyL1X911n+Ty4q/LgOrrbRswryCh8eZeXWBv0wjDThhKZjQGI0/OcC2VMn/o5M8y2Z7m84WE2eHcUQBfadkbZlYISpfVwXElFpoyLWVpgLSNxwnDmAlzHInrw8jgChmonHvusAyC7fGgB1Db7467T8b/QtzzYK3aYGJ0sRFhzF523BcrNZFZYMOxeMZ1Op8HV6+h9CIaRe2NB8/q7BAZVO3wIStGsnFULOvTbKKIsoU5TxrjR4JKWPhTieFUlEk4nsViXq2HpUScEhepLSzZoiqinjjfG4ShYfytB2PxbIYAy94oZFWJZbFTmhlcTsgMnxIFg+NXnsQoA3wSqup19rUfvibW+VIbypmzGVmNTnDRJo3k1lEF5Yp9aAmM1kGKGQUq8iGOxyzdYWDUc3VcsMhyx352dGYDa4BHZjUpFiuZMMZd29R6qK7bOL5/76PlUJczGOqtyWXifDoV3iOf+8b5alnZSLFLlSp77gWKGbKd88IWvlKC+65ThKONLmffKqoozWd500ZQwjUUsOzea9FshfQgaX9zjSRGMVlGG66eTSUeGgiBsNcTBbouPZJSFzO5zxQMzRiZghRTeWborc8GwayevaDcjFJ3pKkAP26JEBavfi/hUdURJysWh+tkIEPIPCm1QpsrR2218mpCyyJhQiQEket0MsA8JsDlRlXch9RGuglcX42Eec/M8J3MaON5UYM/taY1o2KWiLm0aDDmyRp4lc/9UCWvWWHUJx+m+zZDKIlX0gUITfMM2xFVG0sUYGE//+8y22HdctgchFrgvBKqdzux1CawQg+gBTBs4proK7QNVnJF5HUgvFLCIQQ1MJIYdjGHZzJ/aJj2/dogCKrfbGRSDk4TvUw97XROR5Yt9+CjpS1KQQoBs/YJUqN+bVwtNJ5NpmG50pVMaww+Do3YFnOqtQWfuovvn/3gENrQXQSl1gUrJihifaV08ATqbsKLRrOZe6Hoslx2NSDS7qYXrVHpziKWUGusiRNbfU7yJY0ClV+YCeFwIppTZUIzt0YyTpyL4LKfKQ91VC+b3ccF3TOzsMe91Dea8AjezQWqf+ySNco7N1mR9dYYSFd48+MAOvf2ajzQAQB3lO0qcDEDOu2+6YSRv0g2htPUR14YmpWBCz5rY5HmpG0sys5KGVfkg7CBgR4F15NrW+vNg46BazB3PrjWzXvGRy0hEx/IlN13gMndwGvbVsnuDuxhUwR6T37A3pU0KfevaaxhhkYbCPWcX03v35Ep67rSrW/raNsbJqKw2cdCyNwWaPxO39SoJ2JiKC1XMDgLVVpQeFq8yPklU1EbiUg9/jewg1NFQEL4Xj3aUfcwA653ddQ5MHgugA9Yrm7KYVF9ndgpCXpmBtbBSSwgcG4AId7yPFMwcOaeLNykECvp5P2xXjeG7vu+dnZoAU2yFZvi8g4hZJUXO+sFtiu6B9qmjhg9K1H5jKaWNXUHC32ZEN9bnLMl/c5bvcSUvwieXYKzK9ypLWyMnVhXX9CUwSPcEoNI+1P+mAUgrH/alsq7wAcfbTt1qTDOBVKqfDQDF66n3x2XoXiFNME1dAH1S0I2UAqCmaNzKCA63q5agsWS2Y3rWdIiRxAWReqPPuFGB5FLRBpEAG0XCGG7IMAL0rtop6BxmG03ohYSgt2kqAzWK6TKAIpqtzuwppjMApW6jQQYdZgCLGXwZiUlZbKjneBGJhBQaiLtCstvDzQezN3j8juN/tvd8ZVS6jq/Qex1Gcha0WP9GA4mAtJhVsZ7wCN7cQ/3i/e/AbcYCpIA6gRDvUaVlUnwl6BfcKAxpaWB1I0/xJ/G9sTivio/0ikAV+21gUWL9q+v3JPW9sSo1VgqiG6MKaECsKsi6mMzCQID43sCzNj6kUhRNuRCSCyzON9KF9MZt0b0zU1kI6ZqWoeOWAXQCo0SQ7U4JvxVMNW40LIHp/cm1Uu761cCz3lrghpyCg0WC2iBsMVzKMBOIfpiBYwrIohKEtROW1yPeEIguHBVjS2Zser9R0mJAYDEwTamosQMh14Vn09jdawLofR+mmyN1d7ag1fR96j3Yyp1VeH/zxP7iltSDu6f76lt8qhqEu3rkrvCJK8yiVPGS0jevlDnoYzi7CDRSBYDiiQTP9fNdLVRevEyIDGpUsQs0bYU1kI3I2+Nsdiw2xW7oREGK6sj38uSHAYO1cXxpS3SCSpDlkE9Xwtcug9QvwXOh7wnkQx2Ky5+3f7EzMbmOSoghAUxs3OC6aL+VWA/vo5iYoThFm7ykl6ZkuE4N/4/INtUtRxRYPFdI4yje+7aCnjFNaSQ/CHWrYR7EucGlOpKlDGknSrasodUAurhPVtgfxwZffb7n0FiaAu2PpcsTdCYssqjep1jDVsswt0oZFAA6LQh+bXIPDFgNpIordG2HxXVUrtR+60bdNFHZlG5N3df4FO20oS6DdoUalm2nwu6+DgSjyBRfMvJeYSaffBKUmUBbDdp/1od7JYwxW5kqLyfcOX2hlN6AkTm5xrksD8oYnackdB3o4BNek+jLnPL2xbzzp86uOfBRfxIKuIHGyZwsT4Ze1dHAfpDdPn9pcufw/ASkVE97VojzkkSVQNSBhzMFvK68Q8XIq44jenIVg3aha0ZvFVOBUSWcitBeTPBYk3RtDhJASzmI3tmoZkIiWhEqWGg7ldp1HcIaMVfMBOnkftqWxUCY0dOLlF147EbRu4dtUwMHJUtRsO2gewKnQrNsSudLJaAFzpSoQztnUt4WVzJLHyiJnerkArE6T43wgP6wMZ5vZc2MU5Wdc3xyp9sARJ8j6LSqKHS9w0Np71IDMQNnN89ByeVGIE7MwOeOqe4EBDbIIupKqLuCJLGkiQKTBs+FtkaCWIDd9njjNsAz0QUD2AFxf3YXs7vxbjLsRnnir2WWS2yHanmndiiE8drSwnE+7Sdnpjwb2JFsIiMqqSsJrOiroOMgD0wNt7qTzeaxaMGRgTC7g4HdBPWV4ah673wJ+SFeWmUEqpG9K2tc7V9LyKCmFVU3sgjFkaA9UCmxVEwo0YWpkUF3v2gJgc5mcgPrCMpbswDKpBTYPLNb3ax+7odrRPdPNzZkxlcCSZAgj2IicIG73HjnCU1k1AXPQyyqTUkwttX7hoZssHd158aUgV/E01tXhJkh4EH7rMzOlAJoMXgykAEILF4kVyjVPX6gaECMKTGTUFbVdfXkZmdVdiKyKAOhswcox6tNZXAwMIBmFsKzgOwh1HZJruNI1/hOE21QO/Sz1YVYlUKT+Ck7XE5hmw4S99lGrrNta1wYK7zbvLdogxsOnkPqzjJxkLPUJm43N47CI/qMqTbYQNBApsaZAGuYpVERNR+e2QVjHAJ3vblstQlh5OR0fXMdC/zEGvYTybiD5AwFiTUhuWjKhIxFFYAW9Qb2UigtwH4vo8/30SwpY6C0PFJQYFVhryf5Wi7XAEp93QnWXMBSQaoul2HF5Y2zPW0hXMBaZSN3jlOYQfAavGBczu99f7SYD90clmE/lZHvK9NLgBtHXB+WS22f56g72ylUVzvWHUNoYlJBSQ8+CW5grbOzLG4T5V6B4ln6OYcBAAOoQrFDTVo1N5VdwuAyJSAjm4w5gwT4Wk/ur5HPojZlesmuqttirod2ubHnVF+17QLUrKYIeOmcCer22MMjuzOPvMoQw1I4sx0EVL9J8T0ng9gQtcrYhY7ApTM/3I5rEoEeB0+aHFW0Y7dxKEvnAgZg83MPI6/14LR0DkbDlsgarNbZMz9oo68xKj1yPuymCU3i8ziK7QVOihCqojOq4i6nKwgxxOIpEJoaobJSt29wTefG7pBGKBswlJzkCKgpowO4fa2Wxn1Hxgjk/k0KRnGnTnJqYisbDfJyDWIXiqXWSHheDXJKXc0AClwYeHlqhC7gd/YkmNb1sQ5efAgIoMOtbkLpbE0BDiYPBqs4zc+hEaciQZ5Q4IC5T2FShuQhFkOO3Zp3IG22GYLEpNAg59ICSPjsAOzdpA2R1u6YN6iG5/IzCgUmqt/Fm3xHU50I82pMbVSGQDfu46OYDKyMT4r5rrwLqbsKEvDHc7tK/VtjZhoAD8paKyqFd2odtkUOZ5pRhrYpSAUiYlqwwzR6+y2cAk2zbJqVHoLhQAW/4YPNrOhIIwmwCgGVMjIO8BNwKWD1BFI+EzmvuzfUU7bRh/utKzACUCODCetmE7cid4jZEbM0Nzj/a3HKzLDsYZKMxQEuujQqO4YiNiaHtLD9Md8vyoD8+DhmUh1974DlB/aGGTRmURagT0mmpNe+PM3b4TGa6P4IvPHs1YRy+frAsPQ6BqQIVuoWdsWf5YvT3U5LlavHkcgjSXWyhjPt1ZCNa3PDrOKL5SDmBTXxRlNn1hCmXoKp9rpt7eaZdsO3GtQTbrSOgkMjiVU6VbcH05pEZSnV9WMlKPpMzTnq4NsXW+/SZwt5KINTkBkASiqAabqGnrzT62xfcP/0n9Y/PUOznqmdWg2deWn3fSokbAKpohvkeRB9cEfnFDvTMx+VTVZWmjc+owCCZvKbeHjQSMrHxqMHY8RJAiU1wsTMR3fxZIMIVy04sdIy2/BnqaNMbdGq8LlaZLh8VqMIDITEAGk4tWhKx8k5UCEE2bUcX1guEagAanPrDkUFToangzUDLN1i8U6VsZPe2E4grghArIvqprM/xhaXYZhxp37xgSG65hwYd41LGr7AlXObbom/6SINsEx8JJYQ5DftREGKJ9TVP/emF7Av78oVUFlH9rD8Q7U/Vlh3OtWJLqPSNWbfeTvMFVLwUDYHZVHGPHzmzHOnKlBRXlVf3CXk2JRQMFljIVrJ7AZSEr2BUeTIyigjiPGJ2fYXDqg6U+ltyvEdYr7MRop/DjEeu95jMLq6wGfpkiHpd3RN3Ao43TMSk7D3jdIjMiSVrytQKMSZgure8P3g9g1XTOpp4ppDlVmWuoLGmhL7swNV6zeczmCMGrHOhE9xOxdyBQECJZNVdLuksOgkfG6YlDJ75H8SkkLVlEqsUqh36Kxq3AacHKciV9Dm4ymmXZpCXQAy+sD0MnCOQGUL6O1o+gpY8UGpEfDZEsX3saDuWONAe1FpI2MHkoJ3BaVpNDGzAlsIXajTPceqAgEfYY8YowpH2pO7xgalmxUGJRVvDjdTNw60nvPuBKuK0mUGS94gr+cTgEAAV4ptTa1i7KTuL15SBwA1+RA2olsbZFLjOuoCiZ8hOaK7sH52F1G/40NjlRFkA0VTM2J09eYxpqV/mP2JXS+WnmCzeenkcHX/JhSnirOBzsgclH1G0EGKWaTXP5vJKNOy+/KOCvX66tkHcOHCa5+jgmcIcCtYCQEZuaIMgACZXrGincWVoDkIMc4CIiTcR6UCVLHyOEQT5RFd4fRVqyOCkO7kRSsDrjf3FbBKLoViIMwooG4HP6xAz3GwoGmoeHBN4nCr+WnEWYMmlMSsSim2eBo1P8mOXq9H5hRy/wwgKFbE7isrGczgGag0qK2y8M5SULG8tARU8bNu5zJvdvXU2NqwXGl43+lZHyQPN17XgsbN6MjYRNlEPCykE4mdx04cDVJx65YYjGeGpAeh5CF8zAUyfUn1t8Ew9A2xO6q/gVJX41C1vgZSzK4q0DkbczCeJHCyzPamHqQP5t6nwYzdHpodFN0MIMlIkt5z9npgfiQ4vdxOjaY6eMwxpikEcK2dxetFhS4qoV6u8whsKi7XVr/MyAP1aO77kt64fsTNCPIrzIiLBt3ZgSwSBJcVjjvTFFZ/42dmVKvPcaT3hoWmBsc3N159xWIUlo3e/keJl+7kOqPiyQ6mokGJoLOVhdiUTg4Mdeqtc6kbtREVSH1XT2J25JsPt5NLEQBK+2R4W6qwO4lX6GsyoWRHdX2qAWsXd03Pxv50OTgTaS9PMRQZU7Q4ivPydzUy7vccvFc2xyyKZ/cmFZy0rdM0M8gTCQbe1L4h9uXti/GqaEhB/8Tz/5q5USuP+5f0iZ9vhKY0AM7/tBz/TuzemKCdvBSlKRw0t1goIjYEt1RVLvoLJZfPhYRBO7E3fhAF2t/eDiCRjQvKkDgK0JQyxafGlVVnAuPKeJt+TAyKGVvcgE6tUBW+jkR9ep4IYIme3BfD9YVc1LB3lDiYWva8GkWIudWSi65xUxCUuiB4+G3I11QXcpAXudewvKaabApiUeb6pZSJEAvUzcQMhF1ZB5YB20KHZ8Vc/oLJpLPv2Fg7HYFHACuAExmw540xsDiA8ogfYVMHhai2TZhe3R7xqzwITqxHuhAkZxdwUt3cJlWBQEkNm5NDra3iOzUALJu4JAYlDjDGTJgtCutzvY4cBgYEIbfLltQYUyrGrkxu9Fz+ngNVLU8gHcrGQ+zK9tMKPah/a5Cl6KOKszSTTUtuGETjOJz/W0aeSnoEt1l91rSQUbQ0jlwi6oTB+Oko+lApKkNAoJViX8UXGzNdLpU5DYIoBgQKiJw9bKfiwGffPH6jyt2hSBmSwwmx43ayxcCIhVn6ep2HvKC1MiXo43Il3+I2nobM6QkG0JWt8XkePnUvZhA6ozq0rQvsQ3Ogus7jOqwUxnrNgGPAWWjNJzMd3ruL43rxGLRiwJPNJRhork993wWFIYAl9zWnJWhi50TGZgCdkYtIA9px6xoCguAJsGPjNsAAJmwHXnuwogaWRD/pR839ymzK3W9asqP/BDU/C8GWSgAt801hgMRYwMt/6NJC96sLqJ8iEWnXQ7q+jcGO61UHYplKOOwiIZnWfrA1kbUtAkytIyjgjFIsOi/8WOqkQCHhLWQDaf5WYzdD1GUDwaXQ3q3GQQ0TfwwMQdj/1zI7VXY/16vrWJnVCN0V62i5kTIqnQywEXgy/Nb3Lmgta55OnQE0vsUTwSNdKllZSQMNVNMMl7pCACZd1wTR2RitT/R+OCvQa9W9dvGnFIlqKFaWhLud3qeAViGrymxcv9dj42w0NTYEAiWf3Zwk1892VFBWBWdQuiWMgmp7IrPX0w2jNcI2o12szo3cLUajxkNxx8L657ZiNljG+9AHWEeqQv8pVE8PsrAb4QyFuzmjTLFr6hKbZumOyq6gieojXUjPyYPkeKxqRAYEzCr3aUNp3T8JnWtLZpjKuR9oYGHS0ex2BZxCiqGXJJRGGVa82zhnyxzASGVGBMiw51UHoBcL/g/lYAhSWKZ9SQjOdHioa6+7g6rdDUQpjLK96R4ngDILdifRdk4oqd48ta2TGGnUVEXlTufZsXCgbQAg6mxY08K1Ekr3G92r8RHNXP/AJlR7qyH1/EMCw1AHB5Ncd2NUnXhg2eJUaMEKYtvUcKIns6dhRpSZSQmxLG2zmXbayVTDIu6C62BbQruEKYn113CBgVVibwDJ1WyIXSjx71Nvxdwn7+jSfhU+5jWg+ru6fRZYL6E05xv1uexGZt4ylnOVgZ1ZDLNH1q0YJ/VnTVmRIB5UVsHYIzRBHWyYcbRkV6sw7aNlBlmQzAQa95BGKO2k0PVCY0/XobPtiOtV6soE4Rb6DQ4wpQC9nT3sIKI9Co4t+T0hnaIG+dVubWZV4zoqaQb0KluVUQaTgSl0IbFxUrO0AWcM3AtaR45n6asbYQZRK1UzxdiJSZw6IPR7R1u1pdGVlSSMtlLX+enZimVY68ezmQ5SXWVcMU3B3GEoWDlgdeGUHUprSECdQSKkIkisszC6EDtn3fLrQLJI3gec5TJ4sfHqtsX8SFdZpyHswOgMvhp8BChlRZHdKED1ClIEWuFetoeGIEUqFNzlEQLmNqq3E5koUX5ZV6c8eobOsocKUvG2ADNNG0TGxXTBNsuP66fCrYU60VIVAF1zFZ6hI3se0UUPhVWQ64MiWafRGkdfnifoJn3NQ1WAc45aes6p8lGI1wBabYJRt0qSW+/xqUGmGWC6zpkGIBF0gtGIf1fY+Ouv4ortp0xX+fBsUu6cCijCSbu5S1S8Yy2k+vq2LbCDHnxbYo4zecKnpiDYnlrGeJxV+cnLKjeEshwMeETM7SwWGnFmVSJQszaWdC8rc9M3rhs2W056Ioj/2Ee3gVwfGgZ5BGB0EkBssHi9dBA1P0ABCmG/zAWv8V94NwdrI7nGYzCJynpNbxkTwk6oPvEF2AZ+PuXsaO3Cs1kzYgbWC8VvMuQvoda2LlAVzGWuTIhZR5KNEEciVwLoqgEN7h5sBm94oBmtsSHtRKtsnb2jgYcXqwEhlsTpEvqdbeJHtxn75Lr22j4hd1AqMHvH6jUD0xju58BycKtGFMf2aiLXaCgjXifVjWaKHg/K1H7hm9iQxLbHdpmTjiQVDS6a6HS85j7RLJ4yKm2jxOTPJlZFYKUgbzsxmB5XGYwZXlJjFFjWOh/qwEH5sM60vukIyMxmePCgZ7YMDyG43jVEqFhXBJfPSIN/ziEWgUQvCc6iBk++mL6y75BjWkFm42gddDJ7CWOETMJ1HEOk3VKNsChuFM3Dgl8o8WEew2CfLCKiOYG1UENcRUb+TKLxzgXZB4WoPRxkQAeBHZEtxYPqMikkCGJ/uo+V+ZRujFKqC2j5WlJHIZ0cKA2jGkTiymFOpwwMRPrq6pWCUmf4FDGYRfk6sjizGY5ir5LinQU8huDGCL4OcWDQ711Xhi/14E/uGasjxSJNLlRPZVtN4oO4keQTiiS1w05ShqTdFfLiY7FJFEvsTAxrOMgUAaj0qRFQQb9GQwtGQpcFdiMlxpWUyWj/uT/mRhjYWbq3+JmGMcZqppdMvh1Ivd/SAFMVxcmW6rBUr6APsbDsIfjMsX9fwhu32TG2b/ZM7Nt11tdPNrlWyrySzLQS07EuzOe6mbdQpx4L+8Ym4Bp0F2ptBQhmOx6rqWpesmE4DHBmbciw73SkKvZPlbKYS1Uq2HbOjJLrVjDMHvaeATo8XlCd+lIXKPtSH0VQrcdwOk5JbizJ0Tax9k7VnVx1w0M7dh7D8VK8zYl3Ioy0+oGwKn8CN5sxFGsGkx6m2rxASoqHBMLx8YUrTgbKlF58JOdBj9MvVGa8LbEvn3H2xQuZDeQgxkQYrPw3YlQ2WCXWPsIMJP1Xzz6Mv7cOw9AfJVzjQEVApvoPHcQcqPQ6Z1eRlaacdRiKIPZnpjFC3xf6QTW314RmsxeMIhEzSC4g7wTcBSlmFharL5AhzzINLCzvxnMw8Kkuoa0VNIXTJM0kEaLJiZsGZqr3KuQokPEhlzxKDX6053YUfqpU2lK3K7bjiCrD8k31HQD6nvbbosLoDIrgwgD9wBbmlMmr6Qjem1Z3X3xcAlNiW1Yl9YmH6B4E16Ya3nTSmW1pBjMrpi1S1/YTw4DeQ4F8YzXKJjHMHWjKgA0wqigd9BBo0hHfZZRdhsAckl6ppNTVs/YSa5robKD4tsQ8qdCNgBWnZAhdx7pqM2tCkwCJMRkpqnJwwBhbTlK8P6ydeaYbaQEzrC7KmgJ7gLucgxy1YtX1KyRYSt61tlDSVVokF9xPrVtfyL70PUVIvLEZZcjBpEGv6BF8DGokV4ZcrbkOJJwe0pnwYPlWCbPDS3+aKtoIBfn0wAZ3AbkOQu1jlyJOq3oQnUYFjd+YEZTGGLTm5mZCanqCP8cTy4qfYlID7DLxhNaipzcasPnyaFWCgEkyMCrTIakThASU6lWqG8jbonjqu+/uwEMhTzY40xi+0xmyhgbDPPB6MrYbrQKB6poea886qOkmw1HpmRUoE4XPCPLsKcUqXSGF3EPvOOHroADTtk+VVQ99UFDSfdYBhNwqHZnH3MU8IZQBR+uslZTUB+r+crzWGuRE0oBBmW6r5zAEYGbC2+MwONrRW/ACGS8sOVpifdw8mDjQoEN25P8YoIp917yMQRJVq7qsOuj4SFvipOfGIkuQoQR5MWVFFGpEvkCEplq5sMunCiGTLAdcmuIkUBJPDA0V17qJj+rcAw6AztiGK/SI1g4+/ayA5cLoAKB09p1hSM9efmUfPV/Af4hRhUx648IuPMVEcwG6enSYAqADuBoXwOfeDX/9MARnPYEd0issIdH34syrlBRcN7xRFzkGe4FkNCrbCoo2klKemVVL/I3tvEmsT3XBTj4WTitIWxgLpSCA5KRlKGB1PFo7wwmGTPrElFegkwqupwxaEhoXdd0YWdJXBmn/Q4MT6X1Tbzag4rgw2LFQPaISOHjqIn5PHRroj98VtoAJe8y3ZWe9WMBUHKBVp/V5I8zIWVUGLmVUSYD0biy2qi9f/GwsiRU49qQRTR09wAF2NA8OcrG+FEJ6hB95vBSJgohTv3q9x69kRGjoiudQBWZQd1XVW0KMC1Z23esjbm2jsFncUFEGxmRKowZBzJXdomGRMm8g57LKgBXATpslLCm/hpmvuaq2mD2u/fRnFAcncVXlOtHAajJwUlFjklQHAyko8fR8K0GNU3Xe8wZKcObU6fXEtMJRVqrY+lyrmyuM9wHAmfrMRoKuso5xu+k5mYAwEHEfjoFrvM51SgcB91oiM2syMYq3n/FNoaxnt08ZVjS42oYS+lTTHqrmtAMc/fMYkkqopL7hNou1I4NRiizEgachggVT5SV2mk14NC321Uqa4KIPq83sSNh63SgEI38nyBLyHT51JHdgVSV1sOsjm1S3rBMNgUVqXP15nQ6GClY7sc4+lU6GNe79YPA2n2hxJt+Vtd4YOspm9kSPhaqLrMUXDtu6vbAcKjKBTiQGfY2aer8YYJk7blbggJIDt9ytRSdOItXg8SsobVIzBx+vs/71jPW0RIba6Yub495UrgNsEG7BfkxYa1wur/w5smzJ5QpCKkQ4omsU+F2mvE9VOAswWUAAPyY1whNJWqabdjjW3XR+uLgvDlwGZDk+lXxaCV6SGUlovdVfEI7ca7XABxoG/3CdIPRlAwMdhfbTvVPvjMFY+wbVvODgNYZp6ygMvTa42oQmxuL0cAGTnVmgsSff5UFnF8lV0y2E9YGkKAW+VEhPzInOKHdrNVKNZ0jtEy2vfskunh7SqvXhsUKDyRA6s05iEDooQOGu5tiNj0Pq1rHb6weyctsL7ZSgSXeRAYDaFsYTVaQ+2IpvIJiVU7sR1B54m9kFNvcX7PJFRsZxr2YXA1Z8p5JwmgvTLx3zheUYjMQBnttjsVtQ+dQH2R4CABKTUx3ya5RhuOYF4VFZhpdkQHnACFUhfCml0O7/nprTvJrmRPDm+lg7Sm1FM+ua9AFCbiMo1uUTY9z88frEAYqrNuXOjrtTEXWTFqXDaIQ4ylm/jyzH8aLFQUrbkJDXDJ3qY3VRATKrYkUzlyj3ReuMsvVpoHrIHKii7gpEurqlMTxnr3aGnexciwkGmkZ3fm4+tptjTbzhHDUHpdAuB+p+1opoRjsf7hEGFepaT03R/1ISa4rRcZ21iM4fP9JnClQYCZQ7s3Qw56PhHdS8dq3sLHBLvetGQzrJ/cw6q+0TcolHrh8+MNuJqSDwr0lfqV+srDEmkBCfy8xGLK0k9OeeB+Oq3pa6ULIMR+qkKJhojYjEmBX93LpyYvJmndB2SKhIalxp+5lDPCyGKXfP8LDhPMJWGYjbJmbleyJxwBx1pFfREEhQAECkqzlMPTEqH9V8VlABjuIWlR4UUZao35LwQ/In/QvMyqWmYSsF1WGX00qd6wykTT0XUnBBjdNUmYRgeuooYoK+XU9kHybzIPZBCfXEYU9LIHkgeO4e72ASom6DsaxiyqnuriApWWJpY1ufaF2YVYaUBMSDHxjUwy6aoOB9cheCBksJdSD1rOpi0Rm6nderuhvUsC0ho1wA3vqFJn86o/AROC8GDjOxzDLcsq2v/WGlcat02B22VfIvzBUknea4fJSN20ioD81Wh9gwgTajibOp6DpamknDThOVG2HpgR8RM53mqJWpXUbdpsMWjBjcOczapI6tpQ9Xm1KXukOQxA3MLKcpCLWYQLzu6eQVeHY6J3zyLgvw2nm99Ugxcw87FPGDEUvRkdNX/vM+9V3HdY8dbRng3MlJcjqjZsqghqOKBDqpp/eyxfW9KoH/ICBwq3E6dSOhLmTVmLypHp9VGeIxBQ0g81o+Sdebq0dsa2LskwfMaOTtltt1BQGljqhR2L26Fs10WEwXA3jTvYWflUCG1x/y6TXtPyHQcgY6PMLRKTymArb2cSBctn2GWB31ZVt+F/c42D3UP01+WWY5BJgBoBgkE6hoX5sea9tRwuf4TKlrNGuBMV40wqRr7dNswXDMV2kvVwMs1AAfcLVjSjR2ftVpvqFdQiO0AhMiimtHa+PCKvrMk7XHW9AM277oaTkMeBoj04FO/JkQWGq4bmw3AFcHjQ2p2isD4el6bbaukQuDCxM5e+ZQAT6RpqPRa3TVO5Eedd2c3ns5WRG64hsNckxGWRx70r6fIK1IAMWwCmwtYmAVQhMl1k6ehICzSHYPeUaPuiIrr7vAfo+73DE9xNtW+1tBLRuTS87vVMAXuja4LYN0lC12QXcrQDaDkZpQ3s00X+exN1t7qr8oLS60JUzWfysD5pIa4SvxOa4j8TmR+eWXWPn6yQ7e4P5r7h8vMLuWuR3239r2KWqO0/Aczc52BQx5HsnfVvYTxMB+MI2ECFcRULF6SV8VL+4kEHKpSpSGk4nBdYw7p5f0KVFTm3evRdOygQLNV/XO5NQA3RyuS+1gt1YVzKChpI5G5/faKERK0fRkBPpMowN9DzJnk0xboNQXB9TtvQ79pV2qEfY1HwGmsN0x3WuHfdL1puCsDyXCig0qpdiGgzZbyrGTANjkMgYACRQkAAoyoGjPUzucURCzIJadSaE3RCcSEnsB21mtQyFORQmf9pfAKmo17UySgEOa8um3APWug/XxJM/oYsfj0NRrCZIbKRe892aqfW5TpI3ToAj6gKT43k6JShV6I7538qebARaAUg+0432dWQFKB0HfTFFb0ZXplcIiC00D90T4VcG1G5JkS6+M0UfDYrlUNRGThsGYUlC/EzY8dS91mhgpoOtKrtWMeyJFACq5s2mXx2EZTVwsq8Bqrk2J6qgXd0KiZCVmY+WcJacc0Q0kBuVr/FzuZtAiQV5u6EkezUoL1jNqBtU5pj2kl8BjKtqHySpG2076YP1kspIA1L6ObpC3cAfyc6hO/L2+9wngEY9B/5WCOQ2AvCh9uDAVShbA8g/hI00TKiRTAhL2EHSSI4AVyQWBvTddMfJKlaG6a5tpgZWVMTU+4c52rWDLihi8mEjZ2zA7BYN3x2UFrz6OTl48fLfrKHcrSd3MnHhXBW20WetrM29pf4WuG6g1KZpl4EJn2nhXBTdg10nORVNJUt3pBCJdHhNZZXzPW/V6YJ+uYbdcLVGNjZROGU9YgQ+vSycujbHgNruBEWzbtXVBacP17C7wCJ6STAv/NuIiUJgAurBdXJlZ9v45ZVYDyCsy7NowiRNfLcDSd03sJdKZQrL1PMeRZMwmSQlGKkoZIhSaCNrTIsCwNK40j6f6U8EhVcO5UMMIQWZtYqMYYerbMBiwDmRM4vqMLO8ad2+5DhbD0gcoV0Drsyv9DnEVXiDJUQ+XYhsM1hF5gBp3qbSnBt9MVMe01KoBPgMooVHB4SMMDsNbVU4zChF0PbhyVqClKmgMS1hh/Rah4Yi3IkmTQZafAygba8eiCBoI1htMupAy6FdOkl1myS00YxNNynQD9tOQvO4BfKSN2bSgFsHLA/DMLJ0VIdxPgESqK/mzKX6aTXXNtc9dMiT1EDpSHAaV8Az4pIrrQwIuBgqhJyfZsWtqwwEzZmISTpiG8EaPEhYw28ErOtAGFpXl07IqbqTnjsGf31wmpucGbjTIUFcGzrSYVaWL6z9tW1MQ4vupGu6gTCWwKKWp4X42FEsOErqPEhlVMIz+NIPjRlNdRuv4Dihz+EEIvjLP35NW5JGLH6izk+gpk1ytsgMmxUFHAVOUObQxkE5dS2Mm6ufrjI1TbM8Xg8XJFJw9gJ2GIO5yS5QlBaluMUDgLayoegmxIHHF6+i6ZnYOCP3WtJ0VNuheBqgxdtZqXxjdyUX2IDztwZXK4XrZZwZhaltQ2wAwUfJoyqL3qU1Z7gGkRkGixAu1H1NCswKVvadlbOxVxHK13sQgR/ImIxMto5hQaufy4Okuf/VwkmytzYnFZRnk3SX8kjLKsCT9BYBpR1WPM3oUU1CDH+HsxoSK0M+JZgcKr84hUXQrrManpMBjX/oADalrxEug2e2sJTbj0dXfuwFUhqn7IefLfUiug6c/aDA9TOMrckC3cknKoi6Yle3swCQTNMRlTsjrnR4YrQNfPqxEauV0eZBKSmgldDiGSyhPiqrDYGPxKcTrDCQIKFByZj7ie+9aCg2MxZPIEc3LiRIby89gZtckc3LWv+Oh9b0xWXijBBiJWbLOiw+wBJJBl1me9owS9Mj9Lz//zxhV72sAVa/MtuhhxuAIQEMcOsijytWYXXyFgVFIDnkAIhzgXRu4z5Shx2dE5Y3hN/1Adyj7Iv4xHaXV4irllFaSwXE1CmAJp36BKhF3vFPKdgRQX19POA4+FQToiV2B4kUQ6LbI7KZQGNxG1gGTKnCJG4jQBQOTAnRjPUnScHAT3/65uhC260RKsTf+GfKjami9RCUzl0ytqRmpYoxEFSX0FYlN+0HLZCDWuvFuBrwwWa+x06P5+woIXa2nZeGzcdoA6Lo0xhbFNLMFNWYHcRDRnD1/BuunAUt6+eqKGOBH4bLpPRstDSCcUDUWr2kHtXFupMto+poEOqeF+GHWncZDoRI4TaV5fEg6je64ljCUmfRGryY2LukBzVjLsh/pC/3gYvGlgJGBj1JUAHUDP/ONuQbBx2cmA5tS5ctN4bgx1h1x6pc34tNRismusMVmey2hKl41jgcIK3AFUm1M1YKO1YWXtpThqDHA//oMiIKV1hFAp3lfVW3q/vKF0RP+eNX1DsNsokUB9WShOvp3Ugz88rmNYUQzqXGOUQUB6pvAjMQVUELdhgs6Ky9OEljqBWJyrAGKcH1c+ZkV+iREZh+IDEhLoJgX51l14FURfI8OUhHoRp9D/+XXAEzF+tjrReERY9lsBKwvzML04dGl0089YGDVl+LBdbUzdQWl1isaGD06KhwzSRW6tkD0Jt78jcCDbSwz7fg9t10Hf65PC1bsBoYCWThj9A016J53TCzw0aDke1Knh9hDUoaYJ0P5Xo0rG9e++ZjrNJEXLxPHgBmmHuNOY495hpYKqY0RWuelC6l9n3P114XqZl1twc5iJzLbHvCkA8NhAppmWkhunM9VQmd6v/k2HwrI3GJWRjsrD+yadGTcxG6JaSowhWskKaJEpQyHJYwor8rcZx6HD5xQaK4Y6bmua1xkGK5PlCxavK+6oE/Dh852H0mKm9668TvYxHSLxDiCXgj1BfMlfkixZjebJlQWNe9LZVU+I9isJClkT2OsZwEpse2ZobrKTE3StaRXoD6hUUeMZpq4vK6F9dllkKNlwQPMVZdQfPMaYlhSDbLwmZhimdFFlwakk3055iLiHc8jdXRbvNIxB1WoaQ5a+gT+x4WpnjmOe2cyQLtvTiVZjo67Hh25Jw4AtYa2lGcouFQv2GQmXpdOCWKhTqR1b/wM33JZ3VWqPPcsid6SNIjxaE6YP4NERe6lGby4ezUwFhpkil9jsQiSZ2BmEEpizLNVCk7iI66+JwS2nRmIdTOLsH2yuA5qtMn3aBhmcsmDizYyWLic3ECtGO2bcC0Xyf5NCUYZr9A0hQGg5sVnAvUqH469E1mvvW7EjMj+2IqsmpnUBPnEPs4kLvZ5/F41klvZcBKQTYQv64BV2rLja6js1KlfNXaalbDxREcrcb7h94Qrg6LZzIJE3OXAnB6WqpWPA0UeNsSMyCWe0ijqTx3d7oFkv1nqwq2O7g/7zmsFqdNtyw44oxmAgzOTqxuh7VaFN6aafNrC9aT2ks9tgFMLyvlB1W9IrMAR1ALadaE5u176viuudIFt6bPoOx1wHMypGcTSTEeSgrrLzkMWXU0M1/cdI+CyPtKGwJWCQZwqZakEySzi012HRON4Jf2tg3tkJ5oYDaOZLc9wBqqsqgDDAScarzKdS6BAesLJuxKub23SGFhp2R0rYWS1POgX2tgg3RYvT6w1sqrc/lCL78Go8ivs1tDURqQCmA63faOAId+DPmupGg9Rg+V+bjs11sMaGEYwoZHNaUBMBlRBOqioQWeXrCNpjbkiCOXFz/w8c2TJKHzdocdbwMZtcZLkk8PsjsBO2+gGW9DmOhmkVkCJ7R0MMacfAL41TcuglIX6DJwNYtSYADjMDKmcQuUPKuXuchMvI8PRfzkXyjSO4xb01iZBiEmCRc3uK3Wr15HYdWIjDJIhbWfsJer+1ThVdQF1ztsqU5SrZNAiNi0lhHbCcWqaqJxcvXCaEzPOnFslmqNWrJwxVoUF3wX7cS8xtDLUq4x/J7ksKmHqlKWFvjgLR1vHJIeTR1OdMVKlswwqpvpGKeJjeTmKo3F0pQL/Mi0bF6xO7w+6xfEpoLOcM+pwbq8ykaKb9bnJFUMRASNxkBgBppbXMUNlRhXSJJzRanuEthe2dgVuMELZSVT5ePrIxGLMxuNanAkvI8pIkGFiiMiet4aJYEizr4ExCMLJNMEFLKFMm0UFGSmlG2T5RD0kRsI6EC5MrwBabdY6P5Axu2ewSmyK15u2cuc+S24zNDZIjF/aei6qn3sc9e7EjJHe+3fkPlMbVXYNg1pQjaBCqU9DUjIraymYOhKOcDvAGEDGfKWMPLIKf+YFzByXiQjVNIppY95jvmE92hB+Sy5gEAL95dva0bFoiCuARiEpDnhS5cLPTLKwdlPahLI8X3nv8SgFbAXFPPpZ3RMziArmI6f+6AmfBE4yFjiPKRxBYZipxGBny1TYJaKxaazOsOeOsyqRyCL9njJaln4ZZq1Z/fheVlDuwwQW8avG9wGs//hnD63Mq9vX9w5Yg01Fdp9dP62rDygl6CtPoBjstmTKn5FYYh4sBFoed5SvjTVwIx0Jr2zaKfpxt2CP39iW7LpUT82JoKBFU3CFoHBs1A2JiOLsqmEkGE495F0LjBCrW9XwxCx6sgCQSyGxib52q7pjKcbjJx8nX7WgBgHjiJ3bwXG8aBeuVGF0UAMiBlrnJ333TgUmrh8bvCopfJ2g3ctKQe5xzNYXmghJMzr2jORCqlkxsFPCbegZTgNYBAACMDvkJMbhMAv4DCBMXBhLIm1cNH5YS+Bp9Ob+0x/T5xL1JWhrZo7FDdQ0ltjUkAyqgXXv/3GK4X81fjTIidMsql5rSCTIpYy6WmaPPAAm8JK2Cv7fbIKQFqCgNtyKqaSy3+4rXx9Ofg7bINf4VUT8OMLlIDUrY1Do3ACB02IkSOKoupUnbtFWgL7rgE53e9B7tKhB8dVN7eqTBJFdmKCDCWsaAwEVhW24ulYXMiaexHCJVfZGYKDgz0tmtAyL+XQxpUDbxrIH9Fm5DRykroAklLA6Vo66CLWurqy1TxPb83o7dNpp1pzDVvszr8HTenVh2VYcWVuAJXOS6CqGiAXVU8J3Cmxx1A/veWxqxszW9xmAyoPo8x7kCg46ZkVmdpbA19w9TQuhlA5eVB8mPFLbbVwnbbL97E32YmsrDfhHD42hQiEYc8j8+f7fxp6olFGelcIh+enT+DEWZeuCg98crZPBitUl8rLUtwZgbYUHeVUBEymJ/M871T8KIH3tlqHmMa/IWcagXb1xrOxGZv7Azy+srMwkCNTV+AoZWdwXLCX/ESCM7YTARo0ALDClL/Zk7R5/Nu+SqWyx2SBRCLzIpfTcx0LjBue7xfif36euZ5vTFAcUb2sXmGEeSLMSkzzTiSfOBBHqll9aP9U1a08xqYTnhb+kL+ra2YLl4gmgpeSUBRp7qf+ZJRq48zY/iWVb1W1AaZ3AYCs08DQ7tZIu8jURRVUi/rlUPdMda1VPhmIZBxxbGLTG6zvOwfTbqX8x0EtvO9FWpsuUXWwUk9Q3PM5Y2bjC5BrlGIOxPHA6g0NXDEwO1/GBnGwgnr3NAsgLkNjV9EbYcpu065kCYDsSuBsZXW12P+O0PNeLy4uLlbWkONx77KPE6ypChdkes0yBLURPQKh9VjgdIOhqrLcxMURjirJ20NX8NWO7YWAhQ7F2MItEKLWwvlCfjW13bPxPkbug7bvQv8V1OGBiCbqtUKGuoC5aph2svWbMBvn5Nptb+5GWKQ0yIqbqzbTGxWU8XrfWA6jlsf0wcNH3o7Op2VuqjW4DBJlhxZqFz0JEqOmtWOaUZ/7yaa6R5nOjVClUAEoz/bfMnnLlx8eCEd+eopmDEXjWejtjpMCkWfXFs9chZKTay7WmxpQkVIz97hB0t+8lxOPcdSEtCq2UUFe6JXRcpNGueDG+pEuEYOgQ3B5yRWPqxtBG3W21UajkRowqWqi/t1ldF4Cez6yh1j/vCxb/RbphQeDQGbFOWU/bZFKXCc+MhV5WQHJaFxmoVoaN39b7+X5VYZM9zirX8sdAkpmlMmCVV82FcoadQaM0HlxgVqTzXZVlmLSpv5fkhnEdmW3HREhaahNWoiwoY+T3srA/eYD2509D8p0JsBY2IgRJSB/cLkV6VpXS9pDzAHU6SyjLe8OQBAowHL+2UVIkzngJ1SvkOmnZLiXhZyiAsQyTXvMe5Lw9dDCaGn8oNEL6lcWVlAzEp/LJ4IUyj0pms8QWlF3pSMUDCbcRbpTKlrVOzl4DbXXDZWDle21nCZdLfmbcRtoNhpldnLGMa0tda1x5Gb+sXeyWcldbuyWwKye9xEb4sdnKSHYGVND91Uv4Lh+e4PYDczl9cIvLYPRvTJStZWSGQw8IBl6fYfl1BFLWbhJDBDlvYwAPyhjIWfl6X+tLkRDzoMP2roMYMW+9lL+fMvkyiaY4VZOYWf92klWq/jfN8Rb+KplvrJyYoOzxpcNwYKoS5p7csGFhswmcaXXoCHfFArCICkfM6AEJ8QZdBOaDvrOgKMy2x/hpTQpI+E7rTnUOncml6aAhdg2fiC2pQ53oePpEKLeostAuGfoc/ly4reOjZzBKkjfLio0wbrGDuBVMUGUHnvb5GV3iKCv5nmQ0ypTu/koBp+IuoG2uVxlWv4CVGtCOHlBBM4EqJw6so9UFBYq7MiJuMwEXC2Fs15RmlpcYaYhPlejltHP//rlQuRnV7JmqO2T/jjrDl1NFkrjPDgOOZm/T6CXxHDmb/dCGhYDb8J0H2ilgS2gesDalEnh+jhumG2xXDT/m/uTZykjF8xOHypeUt2My4PJoaYuzPuZPaaSma5vRVOuRs+05blK/96O/4iSHK3wh8OGHc/wncMc0rsRrTY6LRkVWqrCLKIGU7npBStnMdnJfaB+P9ANPKNgruOOkn9kzEJ14oPYWKyKCX0yNHwVGPYWJmVV7PcIgXwicGYA4+TOcDyDU5gAyCQ7E+zWGHMR1nndlSHYcCEKyrTw4FHjumJZSsKDxC14Ni0V7u+mSXePKNs2Di4lYPFZiDFqFaIrFd437sKob7UgQ+EdqDD1j4HLQDQSbDcO62sEk7FiuYGHFwktX1XubrU6UfR3aUvz3WGCdJEBUUq1WTgS0OmtiZ61yx0ojrGRxZIzzWbpMQ8vImXVpVNXb+gWjtU3EZIF5wD6zNjdKj7mF7WAy8DEwjvXPCFNiw2myzolNcNuTuqVnJV+BR3r7lTfVQ82xyrEkQ9jIUuBM3QccnsBiNuVyYpvgLQHCEpaU1Gz6xFURknsCIqmdJvU5Ga55UxjWJGNNLD4e2AgfGuDPTCrUuwQdEOrxkNbQGLrlFThau3FEVlBCt+p/BLklzLoADoImI6L9rRiGOuKVLvAOHeiA1rDPz0DDh+961ucQv2A6GxigKa+XF5QuU2wdskocYU22EtWBuV6ThiEI9NwTCXlXglgsw6rn8iCAroN4CQo9RtUz8VZ90uBtvoHrr/G+DtxWKtsk74inck6Hu4VYi+tDZD2jsg7uvas1F877VunOsawjdE54WBs35kgy49XVEAxQXEepbomz7eLxvSJ1sNCKlbYvGBBMMF6eWSOxOM6/YkCQUK6YRDNIBlmO9CbVKNRVBI7uAay4jxhJJfSLFjdlA+IdBXj0Y5bI2/62+9xEphUdycVxghAHytoFGkHTLFycFSMBFQn3e8ldGC3iVRoPS2BlR48RbBYXtFjci56WqHEEepaxhMuNsVAf8ARCZ/ydqDuVw88d9K6Y8rmbwCOlg5jnpI24tMYK83o7bp+DrgNUZFUGvqHvOSGSVUXo2XHtPxsXs7+hnEK6VJLqtQjLfWapFiymWp6xKjCARQsQLocSPgMA1j+2hxcdRRaAlAa+sapzefp7WK5EbC6rZf4upyz45FmFPJUB6ULcZSG640EmzL4FDDc0oHthmtbCpIZrPZVUOEIdkmEIF1GMvWRk42sEFMQWMvQRhdHofO4MqUd/+cjZh1F7uJ6OB7MGFGMWw/Kj3qaNYYmdzFKGo5QLsRlrWx2JQ2xMBFIXRwf/P0khgArXOXRFie2B770OFHovtFuq1CaSwZqx+6DScZ11ZFVApq+1zLgLCzMUBpHYFo2b2ZH0rJCZbbJlsPyttT4QsDGM5lvl6ts3xPaDfqfBc3xqy8rXyb6eYlV9rWNkPKTXxnb9udyvbOhxlp2YL8wEybw8hYi1x5NKaQBsBh0fUEB9YANw0CkeHmAgZIOabqfU8BAmFFGn7HtlT0FACGy9dUr9NUV+LZwxEaZgRI/LyG0tYR5AgLdcGRnviNYxC3Ew0HyfahQ2K8jgM7Aiq4NQAqQeGUzCsyxqZpI20npjOZPfv1fQgudDmTvYCtwf4TOTPkslntFMrMNZSpxNjT0jofN5OOR7mwXuBV5RbiMNMIWOJ+tAskoAqwbnf32f16FdRPfznv0jeqAjfG6pARgpEK8gCMu6Wo+iZRmN3jqLUkMtVXZ+4jLJtxbW6UJ4kmVg40CIIQk1wgB9JBUiOFmZCZHA1L205zNi0cG+vnYzsn1+4KIcSt4BOAsvQIyUoP85dDDWF00/i8ufMYEAy0c9XpqR96fhLWeGqXCMvFQYlKOh95QRpUmMwfrSGuMVHphGPVFngVs1KBTtnUqa2zoF3QBaEuRkoGo0Ng3KXEfv3wpgdH3XPI9sShkbBcYt61tU6cXKMeNQ2KuGEd0ShcTkglaGGEDKENQVsQC2eV3oIzMqUiAzvmJHidkCZqL21vcjo5SJMJKtoEXerrzuzs0t4J+k8hNO+6s0740TK1iZKzjC7hKLYWbK5CLoO4OZ3sODm8QplHYJTwtcWX6ZlcRYEA2WWPTKYfZcYGnvJxtwOkJsNw0uQT59fsDYk4fha8rjviyu4sKXOUJSQhxn8HElGlRY1OzVLoUPilAG4lLwxD7xJ0qBHlnTdBBqwJPa5Psj9OFKPW2Hv9GMertWg/Z+RE4tW9cjKrvj+upTk8YhKrDW0sc9ysWBs84wu8f7opObwKatZceUOh/RVQEsBqf1JfeB5ekGSW2TlCskizbZyx8c8OxjGTcfjm2xwZubQkDR1j0BEgnEu9EZiBlpAKtovMYYkhtD6mrA08Un0cBLCaMjOTDWTm2suzPNAB7kpAM+6YzrL4KtRBKSa0CKQ08aY2O58bajRJb/iP5Yn1q/tatE4hIrSxwdm+rmAlwqXk9G0FQR+AyRflWoMpFZqTA7iPT+e6Dcfl1nBseOZaY67TTqMDIL/BQddd0iRQmuXAVS3eVR6Za5njRShXP1AlCNJOdZIDYZtwzBWAdNSntYsKuA91VWNop3UMLsEDCtAFi8VzryCflAjXC/xM85pyhktAd3M8X+ki7rM3mmzC8pnlrh/LmRg6g7WHywal6jthZNK6QtKNMoXASDTL2zDs5aHAM4RmoiynatvSZYX7dKdypjDScs6bNGQDOw4npR3FVj5D5q3/AIAopEX3V9b57JHcmUizY/8IPUukUvt3+u6jR+lTpCgUEYpKzaiKfEqsLHoOIgcGmzqK2R9b8CaJQrCp5YR4BK7wE3/lgHFqLK3SFR2QWxxCQHA90AaIOC+ZUMuoh/w5PRBBYFoDrEZEFBHH3FBguKU3AsjXpPZ3ILeMkSAQLIkgKNd90M7CWteOWZSwfscZXT0rWaAkSDb9wYiS6HuWOup4sUfenASUxXD2J74zX0s11rVTSQpLOIYNW7yS5crjSIRBmCkDHXnLNAImiQt1gTEI54g+uqhHtdHIM+Zhnw9XSD2oMyraLPXiy/oamCUKEgdUTk0HKYUalaSaz3GEB5jifLT9ry08sYFoNATApt1cQyc2m8szmpMBuhEFEAWrTMwpDQCVobXm7jiYcBqTG4ZPowPTxDj5aCvudzCQPLYyWMqq3t14mCANi8tKLA9tryRhO4MJDS71maYjWqe8xHbt50tLkKiIoSHkOG5O4AVbwMJXd1BjXOXKkOkMtYCKS4HqMaMqLY3HwGwXQd4Qh/E3onNLYULO07hkMPfBQrh+/H8qH7sPGd38fmpefQ726h7G6aZzAWGzEmxW6gMXv4QJsdEPurMib9ZAPOgBwMWRaUCQdD1cfw20j4ZqR+7ALmZze3kVuc+Do1QvVfDULiwGzskBecc1sjyGt6ROtauuyyuzqNVctpml6RsRGU9UrIAPiJHuNqJJSew4DZ2YUdvN87Y1ocVE6+NqG8j5RRMUp4x93TGVjmzpUQ/fRn2N3BZVPWlcGfnmfYUYwR+W/jANB0QaDqgCQhx6l21gBncfmZYesbAXg6nI2kMxe5uIuYNWNklzdpBWtycNlFdzDqTX4VdNMV7DvzA+iW1rB3400ceeQzOPTgx7B76y3ceu0r2L15Af3OpithZSMje/B5ztGCp42zBXqfQCJONKRJotjtdv9Y+SFjXiVZ0oMWgaNixbg37jeVt/N9AoNshqIyEBtlpK+39PHCQuXxTqmEh8jj97QHEE5B5sbqt6WRK0CGB/s9X+Wg5Puz62+drWhvZj7IrbKZp/Bs3eMpOnJ2c2knxG24KSZHhlNrexB24p1+3QjYjlBpEHAZiKSRMIBejqw0HaYMLnYDrxEMeq2uQOgOLzAEj1VLaBYpFkiB/9DGsVEWTR1JHCn1yVkpa6lAyNMqsZBEWCfL+zHbvIpbbzwJ6SZYP/4obp39KlaPPIhj7/8l7Fw7i42nP4d+vtuM6sX+xSF9MVscn5ryHSji/XGWz/k9L33Lom5PnE7MKImjqS/bkilCmucMXkMqO9dHq87glNijVSk1Jth2ArZCtHZkUxc4gfKXuYRd+iHTQna1tChvoNh0s5t1bF0ELZ+zM8POQcsEVo1bQbM7efbMOJjAsxtIYayghqQVr6UCV+oBkRgL8liIWMdKqlOUAmDgiOQyagdbdXQmb0Sx6Hp+FwYNZWrWBO2kyrxYqNyORnPq94V/55hB1OKYUxQZkgExVF9aplybPlIHrW4dlErB2j0P4dhjP4ud62dx+9w3IJNl7Fx9BXu3LmHr4vPYvPgcjj72szj00I/ixit/hrK3baXxMK3nCehM9KA4DqScetQREKiuWnIuN6X0BMJuUbr0Jgwc9lv0BsKgUPU+aCT3HY+zY2DSShl8VaAbCdSdEcroNWFANX0cVdhxVWbSFhhpvHY6WlnEgKCEAkv7BHULhI2QKxA5Qg56x4cr46rBdutQv6gkQWn9mg3w8/Q8P49HMBtjmXFpu3yUGMrnJTzKauL74B4Zq6NZu9SZQc7kZyuYN0tigmJExeGyY75SCffGZ1SxjGRrW4kKcJxtbUyneKfQ0q1WOfOWKBKsQarM82g7OvMIoJss49ADH8N89zb2bl+CdBOUvW3s7m1BZAKgYGfjVVx7/l/jng/+TezePI87558GwlTEICjpplg/+QjWjr8b3fIa+u3buH3uKexcO9d6F7WjdHlNZs3a7uWj92Fp3zFsv/UC+r0dv5jdJ2qgMnz9wIeTBObDsl/EtpKjw10fZj2rbTXJnWOz0mP4k/WgXkdcMuhkZnBF+z49r4w+UnxgSBu0IGksuAo8MA/AIuG9XVfEFnEOCZX6r/P3iJ876F/NZCdzDjN2Yv9zDtYs2AntoVu9HUVie2muXoFTJdgp7ZcuPN+GzdBNUsU7NtkLui52LDdVZYaRfmHIs1E7aDwsT6rtUpV9EEgzwgNjh19ETRK6P3yORcdSSlkgk3YwjL0Zh+H1E4+iW1rFnfNPYb5zc2A0AkxWDuDgOz+OyfI6RDrsbLyGzTefwuqxd0O6JXIDvVGH3vU4jv/AX8dscwM7V1/DgQc+hMMPfxJsPoJWu4TqzsxYug6Hvu8zOP6pf4ilw6fhrnxuTWReHf1zEEfUyfA/JQkL5MTSzcBFbaADeBbInvpSdTPpH4lzXBeol5u5pbf1KiNLc6iQwgKrLYzfsZKNUFT7flEQ3w3FWK3RjMgEqKmBAgcUou9aBzf1EDGdwJDER6BhQJe4zccI1/Y0AY+hRbtmYs5MrB1HmkRIq6y6KAj7H43OFrHC5FmuwAiSSiUGF2s2znqCSKwLuO9HQg0yVm5R0ZGM3K0u4XPB8oGTOPTA47jx2hPYfOvbkG5SO2+OpbXDWD/5GDbPfwvAsA5w861ncc8HP4ulc9/E9sZrMCguBZOV/Tjy8I9i59o53Hzpz9H3c5TZHtaOvxvSCTAHCiXEuBeAoOslgdad176B2Y0LmN2+Sm6y9mgheYirj8oiMx4q11337EeR8tqlsawR/yi4xkJI0uzzlZb12LCZPB4E2Yy/ItNe9GoLmY65CRwHUoVBNmy7MjddIhEqpJDWGC07gl2k/h54HcMKhHVRsJqU0g3KVdJNgAczg1FHdxVUjy7FtuJoKgQevYNLKSxC2zPb5FlyINE54r/Lq4l9DY1vlUAQJjLCkwlVI5a3caXMAPN8dHswRqlxpqolPAKPZLX77hegPifGqd1QgG5pDYcf/nHs3rmErcvPAyjYd/p9WDv2MHY2XsXaPQ9jvn0d/d6mlb175ypmWzdsQOUqdN0U3dIKlg+exHTfUezdvoLNC89i9/o5oBR002VMVg+g39tGhw6TlX2Ybd7wlAmZYrK8jjLbxWRpFShAv30LOxdfwN7G6yi724NMJhNMlteB2Q666Sq65XX0d66hzHZcDtMlTPYdhUiH+eYNoB+AsuxtAQAm+49AltfQ376GsrMFQQdMppDVVZTdHXRrB9DvbKHfvkPami1hfCAKerloIqfeLA2YOJFpNn1EHK7VfpsYWX6NBLqmo+iu1Vf2ULICR8bABF5zhBwU+JramuJ5zZJqpiMOg1CiKySeYpSIWZEWVBrBRgma24W8JjIyS2nqSqxF4zcFGOZv9REut9jhZdj+Fu0WPQ6YY8NTpP/1wjDCc3jfs6Jrc3M8K8uDlUa47hzvoqPLLIF2bPM8GBtXcBuelPPS6s8aRyGtkly9qoul9Dhw5gewcuAU7lx8Ft10FTJdxb5T3w8Rwdrxh7F28n24/Ff/D/r5DMCwA0e/t4N+to2lA6ewdfW1UOH5zh3cOf9tHHnsJ3Hq8b+Ha89+AVsXX8DOjQuYrh7Ekff+NPbf9wPYeut5dNMVrJ54CLsbb+DKN34L/e4Wjrzvp7F24mFsnX8Wa/d9APM7V3Hj21/EgUc/henaYVx54tdQ5js4/P6fxsrJR7B78UVM9h/D8rEHsfPmt3Hz6/8C/c4mpvuOYv/3/zS65XXIdBnd6gH0u5vYef0pbH33K1h794ewfPIRyPIaAOD2Vz83zIp+8Kcx2XcEuxdewtqjH8fWS1/Hrb/4bZTeZ5xaslPCu+D6AbDseLNZ0s+G/dGgv4BVxYH0LtSLtLQNeFUSEZHXPdewxxR9PxgA51fF5pJXHuA5TOEH/0J/X+BIW1m1XpA6AkhlvC3sZcoZjJFiQ4FVNXEohN0Thus4/iMj/1pZ2TeFYl6NrBZ1MZrSQm+RyEy/ckBev5fUN9QXYZO9YlL2gkN3UmLgSJ3aejOgIvRx5rcBrLggcjtnOzdR+hmW1u/Bgfs/jAMPfBRlto3rL3wR6Ka4+eqXsXXpRdD+HSilR9/P0S3vj3UToPR72Hj2D7Dx7d/H6tEHcOZT/xVOfORvY+XQafS7m9i7eRHLB0+hzHdx7dkv4vp3/hDr930Ah7/vJ1Fmu5hv3cDqyUeweupR7Fx8ATtXXsfs9lWgn2P56P3oJhOU3U30e9tYOfEQAODWN38P269/E+sPPY6lo/cDAux7309g5b734/ZTf4Db3/p9TA+fgUyWsHP2aazc+xjW3/tj2Hrhz3H7yd/F0vEHsf6+H8N86yYAwfI7PoDp0Xux/fpTmF07H9ZAfm94uNurjLxrNXSQpQQbGn2wu2Zv65W9qzBL2NFvBgGNy5h1zhlUJJBMeeoz1PiF1kzZjXnJyMj0x9tqGhmH0VPzz2z/cX1sXr7i4ie3L7U3xp7Yars62+HDkSQZMkDGEUvrF9vUrPG0/bfiVQ3Lsox86hUNT4wqjKdojOz4nOqAkS9aJR2ImgcAdSM7BSReTTJcwA8qo29FBFuXnsN0ZT8OP/QTWD36Tsy3b+LmK3+CQ498BvPtm7jx8p+gL/PAYAUA+jlmty+NpOgIZpvXcfVb/xK3z/4Vjjz2kzj08KcwWd6HC3/+v2P3+nnM9zaxdfkVbF99HXu3rmD/Az+E1ePvBroOOxtn0e9t4fYrX8WtF/4UIhOUfoa96xdQ7nv/0ITZDmbXL6DfvYPtc89g7/Ir2Fk/jH2PfhLdyj7IZBnLJx5Cv3Mb89tXAQjmt6+izPZQdrew+tBHMNl/D1be9aHBo5jtAJMl9DtbmF2/iLKziTtP/RF2zn8XEF0254znbeKD9VuIhY54L2GZTwmXNzrSqM/brYy0107zEzJMjL03g5Z4XxwKgZDpnIBr+DYq8AJ1bZwY/vZuYD12rdlViJNo58bWdmxZ3FGebBWXtASQjGIIgFycebjbFD35sM6R/N1IrZk6p5y2Me1xlCbSlOIU9n5sVyTqq6TEScetdfx8rmsG48atJN1hYNdY1+1zT2L32lmsHHkAALDv3h/EbOs6rr/wRfR728wPhyd2U0xXD2K6diix+ILpvqOYrBzAzsbr2L78Ei7evDikOZx+L5YPnjKhiciwRXc/Q799G91kCZrXVvoZ5ls3qnD7oGs2gx6WU5FcRID5HmbXzmH1wQ9h+eRDKLNddKv7sP3K14Cuw/TgCcxuXsLO2WdQ9rax+cIT6DdvDG6fCPq9Lcy3bsYTn7QfTK1b9AqDVzI6SUbX9tFIOEO/HhkQwcNH3hn2ri8fzLsgVXNmyOXJLgerWaiYV9njUwxmUWbWUaaSI/NJVDZP4zZ+DqFdbEFMqWAnJbptEu6T9DkKvT6zqMvcOj4ag4ugwsrqbxrXTb9j2XLdBalOfrM/vynUS06jYe5C6zFBe28us1BTxl5l/O67uyDUtY0ekDz6Hru3zuPma38+PKqf4/oLX0C/u1ljmj1K6QeFKz266TIAYPf6Oaj7Msi5YPngKRx57DPopmsABP32TWxffRWln1XwqbUuBaXv0U1XMFk/hK2L30XZ207LadLsXRWEsBWXCga8l3k/w53v/BvM72xg/wf/GtYe/RHcee5Pcef5L6PM5+h37mCyfgjzW1ewc/4FzK5dQJnNhnZqr40cFGIOxiJMyCAV+qjtLf7G3WoHiLd1Ylp4brnrZYF0iGBqCYFoR0g/cklnbzLXad97HNpNQvL1d1mMGkypWYDII7NQbJh2MU3btgDx9BlnWvWaAvBp0tpyyflMqmB52QQrRe754Op6Hb0m7XcyMvIwrHJPxe2dY3+MzcIaKw5B7sx0nIJGfbg70Ni11O6scJpgmqdcdFjmxENviQq7jFRmitWj78D++z6E7SsvYWnfcWD/yeZMg1J6LO8/iW5lP2S6DOmmKP3cpNrvbmLt+CM4/PAncfPVr6Jb2Ye1Ew/jzrlvYu/mW1g5ct/AuM68F/PNG1g79Sjm2zdx67t/hm66hKVDp9AtrWPp0KlhtnBvC5PVfVg6eALd8jqm+4+j37yB6cGT6KarmOw7DFlaxmT/UcjSCib7j6FbXsPqfe+DdBPcfu6PMbt2Af3mTZS9HZT5DFsvfw2HPvmf49CP/QPsvPZNdGsHsXPhJWy/8W1M9h1Ft7IP06NnsHdrA5jthj7Pg8wic7vba3SIVAMsWVPKIniIBdzlmbLg8zSX0KquGmQEHKZ3ccM9d/VcXiOzSaThmYkFYcDN001cNZEz04leh8x6jzNFV00NQaC7OXjOKK2no6U4BnKWb8X1RQDFxr0rAt1dwkBKqVTx9mlFhGZmA8CSAD0nrnXrWo1oVWBsxaU3VdhvTlsct7GwwL/MD/7eznpM1R67wmUQnbwhHWHt+GNDAP7ASRzcdw+BXYyBSTdFv7uFtXsexu7GWcznc9OXvVuXcfPlL2Pt5KNYPnwvSumxffnFISdrb9vY2Oo970Q3WcbutTew8eRvYe/WZSwdPIGlA8exefYbmO6/B8tH78XuxRexfPgMRDpsn3sGy8fuB2Y7mKwexNbrf4XJviOY7D+GyfoRbL32DXRrhyCrByErBzA9ci8O/vAvm1u7+9aLuPWNz2Prpa8DMsHaQx/B8n3vw/bZp7Hz5vNYOnIGEGDr1W9h+fS7sXftLextnIPvb/Lv9tI8wEZzyIOJaxSRx2eyF7Rgpt+9jTiWhxloIP5H/+9vFAWNzo7Boh0Rw0jtG+rxHuug9x7P1GBJqf5n8esEtJ9Qoedw5XpzhkOQm74zYy0Fvikf8dL63FKv8Vwlqrf1TkGHHoK2bVLjEkOHFgIy5sDexrBAOFyX21nsPjZGviZsWFe8TWPJmRIAnvorBUj9UVRGuIa36lHdK6aYnEbiZVbgLSUoL8egTOTw643jpd0a7LfiFhRkZGtPJ035frgp9YN+jwLMZ/AcMZfYZGkV3XQV/XwX/fYdcynXTjyM05/+r3H1yX+OO689iTKfVX3QcMMEUvoK8j3Q9+i6DrCtvFUunT+unwN1+VCpn9ce/CD2v/cz2H7jacw3b2Hp6L3Y955P4eaT/wq3v/WF4XnTZYgI5rs7QF8oYbaadj8fygaBi7YzxEILSAV9wGGvgOXTk+fSk4fUkwQVyNgGrS8F0tP34T7yKgp8Mf+wQZnrWBFNHK0LhZN7YLQkJ446afHr8lCbX5wzVPxZ5kLys78HXQyPzR8M1X1ksFSCsAn6GEtjFkcdB9TlOD34RMrCxpfcUF3gHRy+UXdphJOHQWkRZyf2FcaiMtIvia7n16KuC4ukiXGlbXOsJiaXPGtcQpHjwVqua0FUslia82ZBt7SGrpu6XjWB5aJjJgCgn+1hPr8NHxicu5XdLcx2NqluLGOgzHaHxdMKEvqgfo9c6NrjfY+aIm/VKWXmGlEA9BVA+x7Twydx4IO/gDvffQK3nvqDIcC8tI6lo/dBpstOG/Z2YpnzmUuR+iNC8V1eknQUau/5Mopqjbh77fPcJxq1ZeE/kq7J+uG9Ph1ZSZOAK4FRoIOxmn4yYaKFTU3v4tBKVE+/Ukdbck/AZssgpShvlGD4TWjGDRJiJrGrswtCvwlD7VhHSGAR5PmONl/lP2yi5+4fmZHfqi50OEyihD7J8busAMqmOalWTyzOC97ZbXW3dLzdwSXsKtCZBBbeNlpGfLk2NddPlnHs/f8x1o4/AvT9iEamlkuHrUsv4PLXfh39bNuFH7xx1ZHa190USweOD+Bx8CS6lX1DSoEO9Fo7CjlEEAbpbOXVReogTex5aR2T/fdg6fBpdGuHUHZ3MD3+IMp8hu03vm3qjCjVBZKJeOL1LPBlTgtkzyarzNbFkfpSmR0/WG2NyqLQR/vU0nzj79u2TUs4EbE9c8V3muQV+1XoHBRqDkOgCmnu0F2YU94TzMRMsyuFBcIySPlLaUxHY8jiLXUd8C2KM9rH0T+oafx9RHdYFu6G8jO0LFbB4k8hRhJ53MhuDRbncncrtiQOAXlYGAUFMBdh8MnIC4zFrXjCweRshuyjuSy4X0ffsBWRVb/H3q23IJMl+FYu6RXk3GHv5lsIew41XRefNF07jOVD92Lzzacx3X8PVo+/G1sXniPZwYy5mSNKMvVwDp8kPdy4e+08bn37S9j38OM4+ul/iPmtDUCAm9/+I2xfehWWW7WgN4Mp5r7kuvEYrvXmSnPXEOo1u6TSd3FQSJVY1Kf2t+pHDpwt0DP5R7/xG0Uf5H5sjOPYe6vh8DlsD6wxGmsPHfDN8atUnsZ3fJO+apw6XRtiTgCg/rluPFgQYmT6PsxysWEuiFHla+y5fm3OHRbdM4kg1tpDny0WRM8QO/HHy+PnenkL/qovre1Tb42MwuTOBqSKp35SrFrbjyPAx0FTA0cFo5KuUwDgEbBQWxaUA22f7r/Ee3EV/QxAOi/PROmhBi229CSrfh7EIqHtyVCkQ9dNHGhLGeJE1E+i8gRSm8jy2BSse+IMs3QTLB06jcmBYyg7W9i7dmFYT2igndqex0g+bKQCoZQC6d1tcSalOiy+87HpAsvS26T9GJhWz2TCtKyuwy3WTgDDcV7WDmYo9DzWrZ7qUH8f3a1h8YtaXYhxWbnRQTPXKYBkOwwyWCJR5ZYjxE8cEpF0SWB6lYUJsRDOtreOshZgwZPJsISNifz84Lb6kBbYhkFgYmo2QlnrSO4Snq/ybamz0/KS44/psuw6OiC0cs6q0K4pEwPBpr/ykN9qATF73VBvEQBQMcUnZwzjEhDEXQsSAwz0wBtr2fClR5nPq55llu5lxIX7uZk03BHgZh0v8xl2rrwOXHndQJN7t8SrIy8fE6l1FDduvEtG3/PWJVWE4w5oLH0RUx9TwdCXC75iT2KaSGt6enSFAjWDI25JfFSXjrDN2oJotgZiQUXdNKkKp0po7lBkaAXDFtFtrKbYgRRA4Q2/PFep1Po06QAOZnwQgxYwuMWxDO1YCcFpFlmAuuBeRtbUQiW7G+xeixUf1dnYpNpa6j+vUlkAOItesW6jOldiswexuKya7IUc48iq19Qod/bYlQ7sPAD6BcX7h/p5DMiMMXJMkutZB8CFOJEeHrl5rUYwGx2waO/fekFvj25BV+7y3OGpXbguaot6JXnIEwLt2E/GsgDw7qcLuiXUiOtQ/D8LpSfenSawLqw3ZmkaE5H4VGoQ9T0ZEaqOErLrCGda28KMU/SI6NqZBcWOYCpWZIngFsqJlLyNf9Df4lcbhFWQzRphmw5SS6TKK+6I0P5jYORf2j5XxXXw80XmLBEhQB2RqZXmbWOcRer8sfF3dFQNYhk3GQcQYp1Y/OLmqbTkLuXzTy6bYne6xGNNWOZh7ao1TKoBC4EVlaEDK1VBY59xACgmv948QvpfIR02zS/punrsWPF7Qt+gzu5LaE0jy6gPsX/CmmDJMsojjD/BAjXj5L7pI9zla8Ei5eAVKsNrqkINIxKNRnwAKteqQKevF0umHdv5gjrKZ6KbQMjuUvCyuIt3rdRODVVQFlUf778nCxTTptDhOdAeguIGThEaTbTp7MLYBewqpvJtsz136aQeUxZJG014mLLSFYk5+mSHAOhH6zO25eAgb78y9mp29TMAE4BICWxiTCqLRtr8eEm35L3Fco8tckXiBFBm2gnDzCPgmweWVdL3GovLYQUHKO9f0OOLeEHBVRyPjfy7iHB0MsDbSMnHzf0c6sirM+9WhbtUdkE9hf9TFt/Qpf6u5xoWW/LSVL9wE1TaaOIeYW/wBj3zWO692VtR3lMW7LYjmPj4cB6xCvrCKqy/0YiYOq8dx51ZWDslXhGRn+6Xdr6tNYJwWBYJHUa5Tdl5akevoWc3jFafUWloXKIyzsRGuBA0hkTQFNue28UD5F1AIIwVhUpJBpx3ArHiCppQlK1jSwbPYJUHIvuf0HfN+r8oHUtdQFTp/Jnrx0wpenJqObz9zTAQaW5ls4BYRZUbWM0ic/nBE+hSb7euZMtsx19Rj93gJRUW+w6ke8klS/VpvZDxunRJhm3wLhsr16Nt+sKXyILyqPJDZwTUS73kI76RZ1PiCEw8NIWOGHNxGoDxRnruCwuUF2JnEw4OBFgNDFQSzeXYF7uVYj/KAom9ve/GblbXNmzz05QwnrPDxcroMxY4FAm9kmhDIzIojD6zaftiHRx91kg/8HZCYV29cC9kNGn7QBOx2e1rx/WREAXE9ppbbNvF6iUStcPrrBX3Wfaw6ysicxpnooGWjFaFB/V2KIxDRBDyyFPGwCqX2WHsVXc38JG+jQqZJteWxlBQ28jxKtXOKfF6Pk16TEjuPrZVZ5haaND1P/k0kqDApJsMzjHBIMJWjidpbGsY8TraJHBELrqjRKAFceiKR0DVZ5exIsW2NLG6cLlNqnL8y137PYah0IY4WkvQj+Yuui7v5ZD7zTB1YYXuMnIbE1OQZkPHEDzPZVMF78ZLA7NiZyiwpNqewsGPuiwoeZrDPXGQHs8UjyDAbTLZ53ZmipFJvP5iujPe07kOXkg7TN9Nbly/puS7KF7XFEeGOjbolqAciybUqaplRFz6k/VNGdI5At0fQfaMUDImRv2JDTKJKfFgAxLb5yqH1XM3tUYeAyZjkokMbaTrEJQgPJGbnOok0cCt/BElt/5QCoCFevE2fxkPGTA/GNmC6S6sLRon52aJ3phcTn/rittOM4xWN/UMbDaWe3+4IMDRQgn5jLa7hn1xL8DDJ8OA4a7gOGdrJwVg+YoKRB29/94DTCo90ONWZwL/GqHTeV3zENd+u0+/iyBZpulzl7+woKDQ5TkNnaCxEKuICyZBLlV+iLTP5HvSd637mQWf/tWbcrzCQZC61ww4Qsr3Erzkd5LK49+DP5xjQIkBZQoN1K164iiW2SrHcnwnivQMuiswYuE25CtVriMlJffaNqkj/2BspOWj4bzOubZlaLf4gDcaEyYAc+kS8Ekut9Ge9GkkcASPLPLBviHKasBM00ELlKgwWFFTdFH52J4pjhvkaNGMdUYsGRVY1J02gjTulyzEE1P1ghg5Hr+/WVcrC24IoZH46por62WM/K3EHRQWj5zjqN12XqpzIi2564aRsHbZIhaBwSh09AmMKlhS7GXOXR5LQoiZU2NdzL8vrtvoeFjGLIvbk9sRS7J+Y7mXxBUWlPE9XwuUR78c44XhPprAGCvHloGEnVLRBuNzKRFFF8h8nA9GUWQDjlq56NqCOudKDCnHqhyYSo1N8f0SA+yK9WNMp/j3o24UVT2oNhZfG/6OguuYB9Om9YRrZdF9uQfe3muEYQkoA54GR1432AZig6E29cvr4KNCs58PpI5r2I9QmTXepUIh5iHoGqalbl4QqhlyrE/J3TgCGux5LIrPjcaZwhgjvpi0AT42ycRC9bsm2MIMsY0HxSRK3g22cXyojqoLEVCbQXs06bIFbb5kMYcJDaU6UrRQmH0QLY5+JP0tI30y1n/anHZGRpdauQmkO2nQ9hm+svghxK4CRDLKjOb/ETOFBDfQGyXjGG7ftdlteQjOV2btKKnwZjZTZZbv+Q/06jjIYKyKjEldlYY1BAfWBdzkbSfXJDMqnRGBiHVaDOA34rfV7j4dzbAYHME43Iy5ajwLx88r9D3XoaQy6TeXGQNQ7P7QrgBaXmY7u8KKVhY+H6mu2ZZTmC1dbz6HGcziWBM9hfq9dWR8wGCXvOFjAaTGOKT2+11rMrwrGfJb12wh+eB66GJ90u242DceLcd5VmE7qBzuKAiTTMP4WWgVSNu0oAl36ZD2xMvcLh1U4++tp+KzmqNow+MDqc3dXv+hQKvTTNo+NZYG7gUVIBDjDbhGGq6X+B4Z0QXLMyqRcDKlIeUNngHnJmlvKMOq5Y75nAQHTcBQ4rXO2nInjLU5f0/fSDf8y0yuxr4Y4kacIHfzZASsv4drZACWJkLGs0HEZS6xJP1bqCNGhjTrhqYq+o2mNc0AAAQSSURBVEZJUiKFd31xgJP9rvai0QcziecUhiClsWn3hP4hZSHEolzfU4iNPidgybpJfyysweLhzzZ+LkpU1r+pTXfVldz48eezRDQG14AI3l63hmLvcnEXRwZiWxijdmMj+iJVTS1C679rG8NlId7BLlDgTXRFJK+DwjkgKMhwUDswkESEVaty+gKzmgAOBABj5ScYbX5hVfCF5GRcuVxh+ZCMxOsh1O4AiE3dfMQVANkjGsuQXhg2DD+0me1jo/VdGQNXavQmlUVknG0Mkl1cNn4Zf2ZT6+LMiAY1BauegCgwOcmliAXn+zFkoasZqGKQfYyFhkZR35JFSIcxX3EcSJQyLIhL5gYSY2wb/+/Pq3LOmJbVcZV58BqRe1PgImXjeMzdmsAxrPFy/O6cWW6VILprXZsBROivzSTGdjdhxOKlOp0Yu97rOOZ4+JqrJDDpQh0joI5NYOTnjCuJR32SUS5czh9Zq8cyM2do+6Y56EKDy1hkDPy8slC5yvcwlUWvFgDHAv0CnhkekUITknNWpO8iswh2k/5y0H1MiKnb02wvg1Ssl5Prkmwgy0TCs5J4RqUY1T3hg8b0LD6IdneStplvC7pYb/gf39sBOXeCfVdpqa22P9VinIDDNChlO4w0wkEuN73JDEcXR54RoQ/PSWBFYohB7ruxRImVr5+L1qtJHyAAYs6ewLkFIxoTyTUMbJP6JdYwf46/eX+6heRdxjgY3wbRFw0oKhtprw7NUiN0bq1sth0k2XUFRvNiAl2Tu2FfEIj1dNOkBWgTbnfdLAW+qw2UWS0CM96srwUuboprLeeSjXdFtj+5GyzQQ0wt3zb5WRRXS7/dhS5nn2ZR/9z9NVzUsXZZbESrGoKQSHDnwfIY2klNod5bxEDYXSnhL9WtyfERO/rd1lKFlOU0z5EMK1hV2F4jXlcWfO87ZXYOqHVW03Ng4nu2Yp0RjfgzNr4kmWUGkT63LlE0uHCwQOpjf8Q4SNn3qT3aW2wSi+YiFwzqyB5s237inOK1GS1T/J4My/rfJjxHz+c1htrVo6wK7gY6ICEAsblLdwswcVuiijd14mtiOaGXSXqUhCOSL1/YKaOeOFoGq43ThPJ/P268+JXF1qkAFqtUdu/alpYABgmWJHbkcP14/7WLPmXkb2QdvtwlmRlPwxdxYBUZml06hKFWqFRhg9O6ZbCjRtjqfURtSgy0RHTSFkDdzrwDA/83BOETW/WSFhn8IjeyhN/LmLwDmGbN8P+Eoy+qfMaUN3KYpFfC/NqvchAeaWVSx0V8kOEzGLQQvAdUSB2oNXKlatymzKzyp9AHiQxkoAzxqpCuMzqMRW1lVa3qjk7Aq6QbLWQw44qFoW98/yueirCt0KnP0pMg8abEMJuvw+v/B1zBSj+GD0vGAAAAB3RFWHRBdXRob3IAqa7MSAAAAAx0RVh0RGVzY3JpcHRpb24AEwkhIwAAAAp0RVh0Q29weXJpZ2h0AKwPzDoAAAAOdEVYdENyZWF0aW9uIHRpbWUANfcPCQAAAAl0RVh0U29mdHdhcmUAXXD/OgAAAAt0RVh0RGlzY2xhaW1lcgC3wLSPAAAACHRFWHRXYXJuaW5nAMAb5ocAAAAHdEVYdFNvdXJjZQD1/4PrAAAACHRFWHRDb21tZW50APbMlr8AAAAGdEVYdFRpdGxlAKju0icAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": { "image/png": { "width": 200 } }, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image('../../Python_probability_statistics_machine_learning_2E.png',width=200)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib\n", "matplotlib.rcParams['mathtext.fontset'] = 'cm'\n", "matplotlib.rcParams['mathtext.rm'] = 'cm'\n", "matplotlib.rcParams['mathtext.it'] = 'cm:italic'\n", "matplotlib.rcParams['mathtext.bf'] = 'cm:bold'\n", "import numpy as np\n", "from matplotlib.pylab import subplots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Neural networks have a long history going back to the 1960s, but\n", "the recent availability of large-scale, high-quality\n", "data and new parallel computing infrastructures have reinvigorated neural\n", "networks in terms of size and complexity. This new reinvigoration, with many\n", "new and complex topologies, is called *deep learning*. There have been exciting\n", "developments in image and video processing, speech recognition, and automated\n", "video captioning based on deep learning systems. However, this is still a very\n", "active area of research. Fortunately, big companies with major investments in\n", "this area have made much of their research software open source (e.g.,\n", "Tensorflow, PyTorch), with corresponding Python-bindings. To build up our\n", "understanding of neural networks, we begin with Rosenblatt's 1960 Perceptron.\n", "\n", "### Perceptron Learning\n", "\n", "
\n", "\n", "The perceptron is the primary ancestor of the most popular deep learning\n", "technologies (i.e., multilayer perceptron) and it is the best place to start as\n", "it will reveal the basic mechanics and themes of more complicated neural\n", "networks. The job of the perceptron is to create a linear classifier that can\n", "separate points in $\\mathbb{R}^n$ between two classes. The basic idea is that\n", "given a set of associations:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\lbrace (\\mathbf{x}_0,y_0),\\ldots,(\\mathbf{x}_m,y_m) \\rbrace\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where each $\\mathbf{x}\\in\\mathbb{R}^{n-1}$ is augmented with a\n", "unit-entry to account for an offset term, and a set of weights $\\mathbf{w}\\in\n", "\\mathbb{R}^n$, compute the following as an estimate of the label $y\\in \\lbrace\n", "-1,1 \\rbrace$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\hat{y} = \\mathbf{w}^T \\mathbf{x}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Concisely, this means that we want $\\mathbf{w}$ such that" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{w}^T \\mathbf{x}_i \\underset{C_1}{\\overset{C_2}{\\gtrless}} 0\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $\\mathbf{x}_i$ is in class $C_2$ if\n", "$\\mathbf{x}_i^T\\mathbf{w}>0$ and class $C_1$ otherwise. To determine these\n", "weights, we apply the following learning rule:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{w}^{(k+1)} = \\mathbf{w}^{(k)} - (y-\\hat{y})\\mathbf{x}_{i}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The output of the perceptron can be summarized as" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\hat{y} = \\sgn(\\mathbf{x}_i^T \\mathbf{w})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The sign is the *activation* function of the perceptron. With this\n", "set up, we can write out the perceptron's output as the following:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "def yhat(x,w):\n", " return np.sign(np.dot(x,w))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Let us create some fake data to play with:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "npts = 100\n", "X=np.random.rand(npts,2)*6-3 # random scatter in 2-d plane\n", "labels=np.ones(X.shape[0],dtype=np.int) # labels are 0 or 1\n", "labels[(X[:,1] -->\n", "\n", "
\n", "\n", "

The softsign function is a smooth approximation to the sign function. This makes it easier to differentiate for backpropagation.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAADnCAYAAAATtFHUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deVxU9f748dcHRL0uIAIii6YooijgTcIlvaamUblWdk1zycrK6lZeu9a9D2/7zdJvpi2WlWnZalmKmpRbqWmumXuKkiKouIBbCCPv3x8sP2CGfYZh5P18PM5jZs77c+a853CY95xzPuccIyIopZSqudycnYBSSinn0kKglFI1nBYCpZSq4bQQKKVUDaeFQCmlarhazk6gImJjY2X58uXOTkMppVyNsTXSJbcITp065ewUlFLqquGShUAppZT9aCFQSqkaTguBUkrVcC55sNiWrKwskpKSyMjIcHYq1V7dunUJDg7Gw8PD2akopaqBq6YQJCUl0bBhQ1q0aIExNg+MK0BEOH36NElJSbRs2dLZ6SilqgG77Boyxswxxpw0xuwqJm6MMTONMQeNMb8ZY64tEIs1xuzPjT1V0RwyMjLw8fHRIlAKYww+Pj665aSUymevYwRzgdgS4jcDobnDOGAWgDHGHXgrNx4O3GWMCa9oEloEykaXk1KqILvsGhKRn4wxLUpoMgj4SHKueb3RGNPIGBMAtAAOisghAGPM57lt99gjL6WcacGCBezcubPQuIYNG/Lkk08CMH/+fH7//fdCcR8fHx577DEAPvjgA/74449C8cDAQB588EEAZs2aRUpKSqF4y5YtueeeewB4/fXXOXPmTKF4WFgYI0aMAODVV1/lwoULheKRkZHccccdALz44otkZmYWikdHRzNw4EBEhGeeecbqM3fr1o3Y2FgyMjL43//+ZxXv1asXvXr14ty5c0ybNs0qHhsbS7du3Th16hQzZ860ig8cOJDo6GiOHTvGu+++axW/4447iIyM5NChQ8ydO9cqPmLECMLCwti3bx+ffvqpVXzs2LG0aNGCHTt28PXXX1vFH3zwQQIDA9m8eTNxcXFW8cceewwfHx/Wr19PfHy8VfzJJ5+kYcOGrFq1ijVr1ljF//Of/1CnTh2+++47NmzYYBV//vnnrcbZhYjYZSDnS31XMbElQPcC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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.pylab import subplots\n", "fig,ax=subplots()\n", "_=ax.plot(xi,y_,label='softsign',color='k')\n", "_=ax.plot(xi,np.sign(xi),label='sign',linestyle='--',color='k')\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "_=ax.spines['bottom'].set_position(('data',0))\n", "_=ax.legend()\n", "fig.savefig('fig-machine_learning/deep_learning_002.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Next, all we have to do is `fit` the model on data," ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "W0827 13:25:04.517766 140166438127424 deprecation.py:323] From /home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/tensorflow/python/ops/math_grad.py:1250: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.where in 2.0, which has the same broadcast rule as np.where\n", "W0827 13:25:04.543447 140166438127424 deprecation_wrapper.py:119] From /home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:986: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.\n", "\n", "W0827 13:25:04.555888 140166438127424 deprecation_wrapper.py:119] From /home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:973: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.\n", "\n" ] } ], "source": [ "h=model.fit(X[:,:2], labels, epochs=300, verbose=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `h` variable is the *history* that contains the internal \n", "metrics and parameters involved in the `fit` training phase. We can extract the \n", "trajectory of the loss function from this history and draw the `loss` in \n", "[Figure](#fig:deep_learning_003)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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WKgoRC7Avffey4cffsiePXto2bIljz32GHv37vUdS6RIqShELlCXLl1IT0/nwQcf5JVXXqFRo0a8/PLLnDx50nc0kSKhohApAlWrVuW1115j/fr1tGrViscee4zrrruOJUuW+I4mcsFUFCJFqFGjRsyePZupU6fyzTff0KpVK26//XamTJmiNQyJWCoKkSJmZvTo0YONGzfy7LPPsmHDBu677z4aNGjAE088waeffkpWVpbvmCLnTPfMFilmzjnS0tKYMGECc+bM4aeffqJy5crccsstdOrUiZSUFC677DJiYvTvNvGqwHtmqyhEStB3333HvHnz+Pjjj/n444/ZtWsXAFWqVCE1NZXOnTvTtm1batas6TmplEIqCpFw45xj3bp1fPbZZ3z22WfMnDmTgwcPAnD55Zdz44030qpVK1q1akWzZs2IjY31nFiinIpCJNydPHmSL7/8koULF7Jw4UIWL17MgQMHALj44otp2bIl1157Lddccw3XXHMNjRo1UnlIUVJRiEQa5xxbtmzh888/5/PPP2fZsmWsXbv29LWlKlSowJVXXnm6OK655hpatGhBhQoVPCeXCKWiEIkGWVlZpKens2rVKlauXMnKlStZtWoVR44cASA2NpYmTZqcLo6rr76aq6++mvj4eM/JJQKoKESilXOO7du3n1EcK1euZPfu3afH1K9fn+bNm9O0adMzHlWrVvWYXMKMikKktNm/f//p0li1ahXr169n48aN/Pjjj6fHJCYm0rRpU5o0aUKTJk1Ov65bty5mBf69IdFJRSEikJ2dzfbt20lPT2fDhg2kp6effhw+fPj0uIoVK9K4ceMzyqNp06ZcfvnllCtXzuMcSDFSUYhIwZxz7N+//4wC2bBhAxs2bODrr78+PS4mJoYGDRrQqFEjGjRocPrRsGFDkpKSqFixose5kAukohCRwvn+++/ZtGnTGSWSkZHBli1b+O67784Ym5iYeEaB5H7UqlVLZ5+HNxWFiBQt5xyHDh1i69at+T527NjBqVOnTo8vV64cl112GQ0bNjxdHklJSdSrV4969epRrVo17RfxS0UhIiXrxIkT7NixI98S2bJlC0ePHj1jfIUKFU6XRt26dU+/znnUqVNH54gULxWFiIQP5xzffvstW7duZefOnezYsYMdO3ac8TozM/Osn0tISDirQHIXS2JiojZvFZ6K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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "_=ax.plot(h.history['loss'],'k-')\n", "_=ax.set_ylabel('Loss',fontsize=18)\n", "_=ax.set_xlabel('epochs',fontsize=18)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "fig.savefig('fig-machine_learning/deep_learning_003.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Trajectory of the loss function.

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "### Multi-Layer Perceptron\n", "\n", "The Multi-Layer Perceptron (MLP) generalizes the perceptron by stacking them as\n", "fully connected individual layers. The basic topology is shown in [Figure](#fig:MLP_figure). In the previous section we saw that the basic perceptron\n", "could generate a linear boundary for data that is linearly separable. The MLP\n", "can create more complex nonlinear boundaries. Let us examine the *moons*\n", "dataset from scikit-learn,\n", "\n", "\n", "\n", "
\n", "\n", "

The basic multi-layer perceptron has a single hidden layer between input and output. Each of the arrows has a multiplicative weight associated with it.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from sklearn.datasets import make_moons\n", "X, y = make_moons(n_samples=1000, noise=0.1, random_state=1234)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The purpose of the `noise` term is to make data for each of the\n", "categories harder to disambiguate. These data are shown in [Figure](#fig:deep_learning_004)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "_=ax.plot(X[y==0,0],X[y==0,1],'o',color='b',alpha=0.3)\n", "_=ax.plot(X[y==1,0],X[y==1,1],'s',color='r',alpha=0.3)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "fig.savefig('fig-machine_learning/deep_learning_004.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Data from make_moons.

\n", "\n", "\n", "\n", "\n", "\n", "The challenge for the MLP is to derive a nonlinear boundary between these two\n", "classes. We contruct our MLP using `keras`," ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "from keras.optimizers import Adam\n", "model = Sequential()\n", "model.add(Dense(4,input_shape=(2,),activation='sigmoid'))\n", "model.add(Dense(2,activation='sigmoid'))\n", "model.add(Dense(1,activation='sigmoid'))\n", "model.compile(Adam(lr=0.05), 'binary_crossentropy')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This MLP has three layers. The input layer has four units and the\n", "next layer has two units and the output layer has one unit to distinguish\n", "between the two available classes. Instead of plain stochastic gradient\n", "descent, we use the more advanced `Adam` optimizer. A quick \n", "summary of the model elements and parameters comes \n", "from the `model.summary()` method," ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_2 (Dense) (None, 4) 12 \n", "_________________________________________________________________\n", "dense_3 (Dense) (None, 2) 10 \n", "_________________________________________________________________\n", "dense_4 (Dense) (None, 1) 3 \n", "=================================================================\n", "Total params: 25\n", "Trainable params: 25\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " As usual, we split the input data into train and test sets," ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "X_train,X_test,y_train,y_test=train_test_split(X,y,\n", " test_size=0.3,\n", " random_state=1234)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Thus, we reserve 30 percent of the data for testing. Next, we train the \n", "MLP," ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "h=model.fit(X_train, y_train, epochs=100, verbose=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To compute the accuracy metric using the test set, we need to compute \n", "the model prediction on the this set." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.9085714285714286\n", "0.8733333333333333\n" ] } ], "source": [ "y_train_ = model.predict_classes(X_train,verbose=0)\n", "y_test_ = model.predict_classes(X_test,verbose=0)\n", "print(accuracy_score(y_train,y_train_))\n", "print(accuracy_score(y_test,y_test_))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To visualize the so-derived boundary between these two classes, we\n", "use the `contourf` function from matplotlib which generates a filled contour\n", "plot shown in [Figure](#fig:deep_learning_005)." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "xmin, ymin = X.min(axis=0)\n", "xmax, ymax = X.max(axis=0)\n", "xticks = np.linspace(xmin-0.1, xmax+0.1, 150)\n", "yticks = np.linspace(ymin-0.1, ymax+0.1, 150)\n", "xg,yg = np.meshgrid(xticks, yticks)\n", "cg = model.predict(np.c_[xg.ravel(), yg.ravel()]).reshape(xg.shape)\n", "fig,ax=subplots()\n", "_=ax.plot(X[y==0,0],X[y==0,1],'o',color='b',alpha=0.3)\n", "_=ax.plot(X[y==1,0],X[y==1,1],'s',color='r',alpha=0.3)\n", "_=ax.contourf(xg,yg, cg, cmap='bwr', alpha=0.2)\n", "fig.savefig('fig-machine_learning/deep_learning_005.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

The derived boundary separates the two classes.

\n", "\n", "\n", "\n", "\n", "\n", " Instead of computing the accuracy separately, we can assign it as a\n", "*metric* for `keras` to track by supplying it on the `compile` step, as in the \n", "following," ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "model.compile(Adam(lr=0.05), \n", " 'binary_crossentropy',\n", " metrics=['accuracy'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Then, we can train again," ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "h=model.fit(X_train, y_train, epochs=100, verbose=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Now, we can evaluate the model on the test data," ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.9966666666666667\n" ] } ], "source": [ "loss,acc=model.evaluate(X_test,y_test,verbose=0)\n", "print(acc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where `loss` is the loss function and `acc` is the corresponding\n", "accuracy. The documentation has other metrics that can be specified during the\n", "`compile` step.\n", "\n", "### Backpropagation\n", "\n", "We have seen that the MLP can generate complicated nonlinear boundaries for\n", "classification problems. The key algorithm underpinning MLP is\n", "backpropagation. The idea is that when we stack layers into the MLP, we are \n", "applying function composition, which basically means we take the output of \n", "one function and then feed it into the input of another." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "h = (f \\circ g)(x) = f(g(x))\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " For example, for the simple perceptron, we have $g(\\mathbf{x}) =\n", "\\mathbf{w}^T \\mathbf{x}$ and $f(x) = \\sgn(x)$. They key property of this\n", "composition is that derivatives use the chain rule from calculus." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "h'(x) = f'(g(x))g'(x)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Notice this has turned the differentiation operation into a\n", "multiplication operation. Explaining backpropagation in general is a notational\n", "nightmare, so let us see if we can get the main idea from a specific example.\n", "Consider the following two layer MLP with one input and one output.\n", "\n", "There is only one input ($x_1$). The output of the first layer is" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "z_1 = f(x_1 w_1 + b_1) = f(p_1)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $f$ is the sigmoid function and $b_1$ is the bias term. The\n", "output of the second layer is" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "z_2 = f( z_1 w_2 + b_2 ) = f(p_2)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To keep it simple, let us suppose that the loss function for this MLP\n", "is the squared error," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "J = \\frac{1}{2}(z_2-y)^2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $y$ is the target label. Backpropagation has two phases. The\n", "forward phase computes the MLP loss function given the values of the inputs\n", "and corresponding weights. The backward phase applies the incremental\n", "weight updates to each weight based on the forward phase. To implement gradient\n", "descent, we have to calculate the derivative of the loss function with respect\n", "to each of the weights." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial J}{\\partial w_2} = \\frac{\\partial J}{\\partial z_2} \\frac{\\partial z_2}{\\partial p_2} \\frac{\\partial p_2}{\\partial w_2 }\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The first term is the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial J}{\\partial z_2} = z_2-y\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The second term is the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial z_2}{\\partial p_2} = f'(p_2) = f(p_2)(1-f(p_2))\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Note that by property of the sigmoid function, we have $f'(x) =\n", "(1-f(x))f(x)$. The third term is the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial p_2}{\\partial w_2} = z_1\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Thus, the update for $w_2$ is the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta w_2 \\propto (z_2-y)z_1(1-z_2) z_2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The corresponding analysis fo $b_2$ gives the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta b_2 = (z_2-y)z_2(1-z_2)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's keep going backwards to $w_1$," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial J}{\\partial w_1}=\\frac{\\partial J}{\\partial z_2}\\frac{\\partial z_2}{\\partial p_2} \\frac{\\partial p_2}{\\partial z_1 } \\frac{\\partial z_1}{\\partial p_1 } \\frac{\\partial p_1}{\\partial w_1 }\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The first new term is the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial p_2}{\\partial z_1} = w_2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " and then the next two terms," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial z_1}{\\partial p_1} = f(p_1)(1-f(p_1)) = z_1(1-z_1)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial p_1}{\\partial w_1} = x_1\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This makes the update for $w_1$," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta w_1 \\propto (z_2-y)z_2(1-z_2)w_2 z_1(1-z_1)x_1\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To understand why this is called backpropagation, we can define" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\delta_2 := (z_2-y)z_2(1-z_2)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This makes the weight update for $w_2$," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta w_2 \\propto \\delta_2 z_1\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This means that the weight update for $w_2$ is proportional to the\n", "output of the prior layer ($z_1$) and a factor that accounts steepness of the\n", "activation function. Likewise, the weight update for $w_1$ can be written as\n", "the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\Delta w_1 \\propto \\delta_1 x_1\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\delta_1 := \\delta_2 w_2 z_1(1-z_1)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Note that this weight update is proportional to the input (prior\n", "layer's output) just as the weight update for $w_2$ was proportional to the\n", "prior layer output $z_1$. Also, the $\\delta$ factors propagate recursively\n", "backwards to the input layer. These characteristics permit efficient numerical\n", "implementations for large networks because the subsequent computations are\n", "based on prior calculations. This also means that each individual unit's\n", "calculations are localized upon the output of the prior layer. This helps\n", "segregate the individual processing behavior of each unit within each layer.\n", "\n", "### Functional Deep Learning\n", "\n", "Keras has an alternative API that makes it possible to \n", "understand the performance of neural networks using the composition of \n", "functions ideas we discussed. The key objects for this functional \n", "interpretation are the `Input` object and the `Model` object." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "from keras.layers import Input\n", "from keras.models import Model\n", "import keras.backend as K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " We can re-create the data from our earlier classification example" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "from sklearn.datasets import make_moons\n", "X, y = make_moons(n_samples=1000, noise=0.1, random_state=1234)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The first step is contruct a placeholder for the input using \n", "the `Input` object," ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "inputs = Input(shape=(2,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Next, we can stack the `Dense` layers as before but now tie their \n", "inputs to the previous layer's outputs by calling `Dense` as a function." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "l1=Dense(3,input_shape=(2,),activation='sigmoid')(inputs)\n", "l2=Dense(2,input_shape=(3,),activation='sigmoid')(l1)\n", "outputs=Dense(1,input_shape=(3,),activation='sigmoid')(l1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This means that $\\texttt{output}=(\\ell_2 \\circ \\ell_1 )(\\texttt{input})$\n", "where $\\ell_1$ and $\\ell_2$ are the middle layers. With that established, we\n", "collect the individual pieces in the the `Model` object and then `fit` and\n", "`train` as usual." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "model = Model(inputs=inputs,outputs=outputs)\n", "model.compile(Adam(lr=0.05), \n", " 'binary_crossentropy',\n", " metrics=['accuracy'])\n", "h=model.fit(X_train, y_train, epochs=500, verbose=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This gives the same result as before. The advantage of the functional\n", "perspective is that now we can think of the individual layers as mappings\n", "between multi-dimensional $\\mathbb{R}^n$ spaces. For example, $\\ell_1:\n", "\\mathbb{R}^2 \\mapsto \\mathbb{R}^3$ and $\\ell_2: \\mathbb{R}^3 \\mapsto\n", "\\mathbb{R}^2$. Now, we can investigate the performance of the network \n", "from the inputs just up until the final mapping to $\\mathbb{R}$ at the output\n", "by defining the functional mapping $(\\ell_2 \\circ \\ell_1)(\\texttt{inputs}): \\mathbb{R}^2\\mapsto \\mathbb{R}^2$,\n", "as shown in [Figure](#fig:deep_learning_006).\n", "\n", "To get this result, we have to define a keras `function` using the `inputs`." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "l2_function = K.function([inputs], [l2])\n", "# functional mapping just before output layer\n", "l2o=l2_function([X_train])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " the `l2o` list contains the output of the `l2` layer that \n", "is shown in [Figure](#fig:deep_learning_006)." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "l2_function = K.function([inputs], [l2])\n", "# functional mapping just before output layer\n", "l2o=l2_function([X_train])[0]\n", "\n", "fig,ax=subplots()\n", "_=ax.scatter(l2o[:,0],l2o[:,1],c=[ 'b' if i else 'k' for i in y_train],alpha=0.2)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "fig.savefig('fig-machine_learning/deep_learning_006.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

The embedded representation of the input just before the final output that shows the internal divergence of the two target classes.

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "## Introduction to Tensorflow\n", "\n", "\n", "\n", "\n", "\n", "Tensorflow is the leading deep learning framework. It is\n", "written in $\\verb!C++!$ with Python bindings. Although we\n", "will primarily use the brilliant Keras abstraction layer to\n", "compose our neural networks with Tensorflow providing the\n", "backed computing, it is helpful to see how Tensorflow itself\n", "works and how to interact with it, especially for later\n", "debugging. To get started, import Tensorflow using the\n", "recommended convention." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tensorflow is graph-based. We have to assemble a computational graph.\n", "To get started, let's define some constants," ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "# declare constants\n", "a = tf.constant(2)\n", "b = tf.constant(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The context manager (i.e., the `with` statement) is the recommended\n", "way to create a *session* variable, which is a realization of the computational\n", "graph that is composed of operations and *tensor* data objects. In this\n", "context, a *tensor* is another word for a multidimensional matrix." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a= 2\n", "b= 3\n", "a+b 5\n" ] } ], "source": [ "# default graph using the context manager\n", "with tf.Session() as sess:\n", " print('a= ',a.eval())\n", " print('b= ',b.eval())\n", " print(\"a+b\",sess.run(a+b))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Thus, we can do some basic arithmetic on the declared variables. We\n", "can abstract the graph using placeholders. For example, to implement the\n", "computational graph shown in [Figure](#fig:intro_tensorflow_001), we can\n", "define the following,\n", "\n", "\n", "\n", "
\n", "\n", "

Flow diagram for adder.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "a = tf.placeholder(tf.int16)\n", "b = tf.placeholder(tf.int16)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Next, we define the addition operation in the graph," ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "# declare operation\n", "adder = tf.add(a,b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Then, we compose and execute the graph using the context manager," ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n" ] } ], "source": [ "# default graph using context manager\n", "with tf.Session() as sess:\n", " print (sess.run(adder, feed_dict={a: 2, b: 3}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This works with matrices also, with few changes" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 2. 3. 4. 5.]\n", " [ 6. 7. 8. 9. 10.]\n", " [11. 12. 13. 14. 15.]]\n" ] } ], "source": [ "import numpy as np\n", "a = tf.placeholder('float',[3,5])\n", "b = tf.placeholder('float',[3,5])\n", "adder = tf.add(a,b)\n", "with tf.Session() as sess:\n", " b_ = np.arange(15).reshape((3,5))\n", " print(sess.run(adder,feed_dict={a:np.ones((3,5)),\n", " b:b_}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Matrix operations like multiplication are\n", "also implemented, \n", "\n", "\n", "\n", "
\n", "\n", "

Flow diagram for multiplier

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[40. 45. 50. 55.]\n", " [40. 45. 50. 55.]\n", " [40. 45. 50. 55.]]\n" ] } ], "source": [ "# the None dimension leaves it variable\n", "b = tf.placeholder('float',[5,None])\n", "multiplier = tf.matmul(a,b)\n", "with tf.Session() as sess:\n", " b_ = np.arange(20).reshape((5,4))\n", " print(sess.run(multiplier,feed_dict={a:np.ones((3,5)),\n", " b:b_}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The individual computational graphs can be stacked\n", "as shown in [Figure](#fig:intro_tensorflow_003).\n", "\n", "\n", "\n", "
\n", "\n", "

Flow diagram for adder and multiplier.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[160. 175. 190. 205.]\n", " [360. 400. 440. 480.]\n", " [560. 625. 690. 755.]]\n" ] } ], "source": [ "b = tf.placeholder('float',[3,5])\n", "c = tf.placeholder('float',[5,None])\n", "adder = tf.add(a,b)\n", "multiplier = tf.matmul(adder,c)\n", "with tf.Session() as sess:\n", " b_ = np.arange(15).reshape((3,-1))\n", " c_ = np.arange(20).reshape((5,4))\n", " print(sess.run(multiplier,feed_dict={a:np.ones((3,5)),\n", " b:b_,\n", " c:c_}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Optimizers\n", "\n", "To compute the parameters of complicated neural networks, a wide variety of\n", "optimization algorithms are also implemented in Tensorflow. Consider the\n", "classic least-squares problem: Find $\\mathbf{x}$ that minimizes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\min_{\\mathbf{x}}\\Vert\\mathbf{A}\\mathbf{x}-\\mathbf{b}\\Vert^2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " First, we have to define a *variable* that we want\n", "the optimizer to solve for," ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "x = tf.Variable(tf.zeros((3,1)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Next, we create sample matrices $\\mathbf{A}$ and $\\mathbf{b}$," ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "A = tf.constant([6,6,4,\n", " 3,4,0,\n", " 7,2,2,\n", " 0,2,1,\n", " 1,6,3],'float',shape=(5,3))\n", "b = tf.constant([1,2,3,4,5],'float',shape=(5,1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " In neural network terminology, the output of the model ($\\mathbf{A}\\mathbf{x}$)\n", "is called the *activation*," ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "activation = tf.matmul(A,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The job of the optimizer is to minimize the squared distance between\n", "the activation and the $\\mathbf{b}$ vector. Tensorflow implements primitives\n", "like `reduce_sum` to compute the square difference as a `cost` variable." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "cost = tf.reduce_sum(tf.pow(activation-b,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " With all that defined, we can construct the specific\n", "Tensorflow optimizer we want," ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "learning_rate = 0.001\n", "optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `learning_rate` is an embedded parameter for the\n", "`GradientDescentOptimizer` gradient descent algorithm. Next, we\n", "have to initialize all the variables," ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "init=tf.global_variables_initializer()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " and create the session, without the context manager, just to\n", "show that the context manager is not a requirement," ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "sess = tf.Session()\n", "sess.run(init)\n", "costs=[]\n", "for i in range(500):\n", " costs.append(sess.run(cost))\n", " sess.run(optimizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Note that we have to iterate over the `optimizer` to get it to\n", "step-wise work through the gradient descent algorithm. As an illustration, we\n", "can plot the change in the cost function as it iterates," ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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44wz4o7WDxw40C+99FKvqKjwyy67LO4vBUOHDvXrrrvOb7jhBq+qqvJhw4bF7Jefn++zZ8/2uXPn+rx58+KO/hcWFvqjjz7qjz/+uD/55JM+YsSImP1GjhzpL730kr/yyiu+aNEiv+GGG1r9kpGdne0zZszwFStW+MqVK/3999/3W2+9tdX3nJOT4//+7//uGzZs8E8++cQ3bdrkn376qd9+++0x+86bN8+//PJL37Vrl+/Zs8fvvvvulP7lIdX7pUONqd4v7M/uLooTkEPfSc/MBkl6XlKVu/+nmW1192FRxz9z97y2zsFOekD66ujOgYn068iOicnuF28HxuLiYq1evTpp/fbdd1+9/vrr2rNnj/bs2aOJEydq3bp1rfqNGDFC8+bNU319vfbs2aO/+7u/a9WnyU033aT6+nrV19fr2muvjdtv6tSpqq+vV0NDg+rr6/XAAw/E7fu3f/u3zX2XLFkSt9/o0aPV0NCghoYGbd68OW4/xNevXz9lZWXJzLRr1y7F+nvdzDRs2DCZmcxMn332mRobG1v169Onj0aNGtXc7+OPP1ZDQ0Orfn379tV+++3X3O/DDz9UfX19zNoOO+yw5hqWL1+uPXv2tOrXv39/jRs3rvl8b7zxxl67jzYZMGCAjjnmGJmZJOnVV1/Vrl27WvXLzs7WxIkTmz9Xkl544QV9+eWXMft+5zvfae77zDPPaOfOna365eTk6NRTT20+39NPPx2zX25urs4888zmfk888cRef35E9zv33HObP/eRRx6J2W/gwIE6//zzm18//PDD2rFjR8x+P/jBD5rPd//998fsN2jQIF144YXNr++77z5t3749Zr+LLrpor7YFCxbE7XvJJZc0v7777rv1xRdftOo3ePBgTZ06tfn1vHnzYvZr+edhd4q3k16oAdnM+kl6QtJ/ufutQdtKSce7+3ozGyXpOXc/uK3zEJABROuO0N1ev7CCeVgBvjvO2Va/VatWNQfpAw88UGvWrGnVb8yYMVq0aJEaGhrU2NioY489NuYvD6NGjdITTzyhxsZGNTY26pxzztGGDRta9RsxYoTuueee5n5nnXVW3PBZXV0td1djY6MuvvjiVn2azJw5U42Njc19r7zyyrh9q6qqmkez/uVf/iVuv2uuuab5fDfffHPcfldccUXz+WbOnBm339SpU5v7zZ8/P26/SZMm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.pylab import subplots\n", "fig,ax=subplots()\n", "fig.set_size_inches((10,5))\n", "_=ax.plot(costs[:60],'ok-',label='cost')\n", "_=ax.set_xlabel('iteration count',fontsize=18)\n", "_=ax.set_ylabel('cost function',fontsize=18)\n", "_=fig.tight_layout()\n", "fig.savefig('fig-machine_learning/LS_cost.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Iterative costs as gradient descent algorithm computes solution. Note that we are showing only a slice of all the values computed.

\n", "\n", "\n", "\n", "\n", "\n", " The final answer after all the iterations is the\n", "following," ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.08000698]\n", " [ 0.6133011 ]\n", " [ 0.09500197]]\n" ] } ], "source": [ "print (x.eval(session=sess))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Because this is a classic problem, \n", "we know how to solve it analytically as in the following," ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.07974136]\n", " [ 0.6141343 ]\n", " [ 0.09303147]]\n" ] } ], "source": [ "# least squares solution\n", "A_=np.matrix(A.eval(session=sess))\n", "print (np.linalg.inv(A_.T*A_)*(A_.T)*b.eval(session=sess))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " which is pretty close to what we found by iterating.\n", "\n", "### Logistic Regression with Tensorflow\n", "\n", "As an example, let us revisit the logistic regression problem using Tensorflow." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib.pylab import subplots\n", "v = 0.9\n", "@np.vectorize\n", "def gen_y(x):\n", " if x<5: return np.random.choice([0,1],p=[v,1-v]) \n", " else: return np.random.choice([0,1],p=[1-v,v])\n", "\n", "xi = np.sort(np.random.rand(500)*10)\n", "yi = gen_y(xi)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", " FutureWarning)\n" ] } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "lr = LogisticRegression()\n", "_=lr.fit(np.c_[xi],yi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The simplest multi-layer perceptron has a single hidden layer. Given the\n", "training set $\\lbrace \\mathbf{x}_i,y_i \\rbrace$ The input vector\n", "$\\mathbf{x}_i$ is component-wise multiplied by the *weight* vector,\n", "$\\mathbf{w}$ and then fed into the non-linear sigmoidal function. The output\n", "of the sigmoidal function is then compared to the training output, $y_i$,\n", "corresponding to the weight vector, to form the error. The key step after\n", "error-formation is the back-propagation step. This applies the chain-rule from\n", "calculus to transmit the differential error back to the weight vector.\n", "\n", "Let's see if we can reproduce the logistic regression solution shown in [Figure](#fig:logreg_002) using Tensorflow. The first step is to\n", "import the Tensorflow module," ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " We need to reformat the training set slightly," ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "yi[yi==0]=-1 # use 1/-1 mapping" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Then, we create the computational graph by creating variables and\n", "placeholders for the individual terms," ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "w = tf.Variable([0.1])\n", "b = tf.Variable([0.1])\n", "# the training set items fill these\n", "x = tf.placeholder(\"float\", [None]) \n", "y = tf.placeholder(\"float\", [None])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The output of the neural network is sometimes called the *activation*," ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "activation = tf.exp(w*x + b)/(1+tf.exp(w*x + b))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The optimization problem is to reduce the following objective\n", "function, which includes the one-dimensional regularization term $w^2$," ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "# objective\n", "obj=tf.reduce_sum(tf.log(1+tf.exp(-y*(b+w*x))))+tf.pow(w,2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Given the objective function, we\n", "choose the `GradientDescentOptimizer` as the optimization\n", "algorithm with the embedded learning rate," ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "optimizer = tf.train.GradientDescentOptimizer(0.001/5.).minimize(obj)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Now, we are just about ready to start the session. But, first we need\n", "to initialize all the variables," ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "init=tf.global_variables_initializer()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll use an interactive session for convenience and then\n", "step through the optimization algorithm in the following loop," ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "s = tf.InteractiveSession()\n", "s.run(init)\n", "for i in range(1000):\n", " s.run(optimizer,feed_dict={x:xi,y:yi})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result of this is shown in [Figure](#fig:deep_learning_001) which\n", "says that logistic regression and this simple single-layer\n", "perceptron both come up with the same answer." ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "t = np.linspace(0,10,20)\n", "_=ax.plot(t,lr.predict_proba(np.c_[t])[:,1],label='logreg',linestyle='--',color='k',alpha=0.3)\n", "_=ax.plot(t,s.run(activation,feed_dict={x:t}),'-ko',label='MLP',alpha=0.3)\n", "_=ax.legend(loc=0)\n", "_=ax.set_xlabel('$x$',fontsize=16)\n", "_=ax.set_ylabel('Probability of Class',fontsize=18)\n", "fig.savefig('fig-machine_learning/deep_learning_001.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

This shows the result from logistic regression as compared to the corresponding result from simple single-layer perceptron.

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "## Understanding Gradient Descent\n", "\n", "\n", "\n", "\n", "\n", "Consider a smooth function $f$ over $\\mathbb{R}^n$ suppose we want to find\n", "the minimum value of $f(\\mathbf{x})$ over this domain, as in the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}^* = \\argmin_{\\mathbf{x}} f(\\mathbf{x})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The idea with gradient descent is to choose an initial point\n", "$\\mathbf{x}^{(0)}\\in \\mathbb{R}^n$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}^{(k+1)} = \\mathbf{x}^{(k)} - \\alpha \\nabla f(\\mathbf{x}^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $\\alpha$ is the step size (learning rate). The intuition here\n", "is that $\\nabla f$ is the direction of increase and so that moving in the\n", "opposite direction scaled by $\\alpha$ moves towards a lower function value.\n", "This approach turns out to be very fast for well-conditioned, strongly convex\n", "$f$ but in general there are practical issues.\n", "\n", "[Figure](#fig:gradient_descent_001) shows the function $f(x) = 2 - 3 x^3 +\n", "x^4$ and its first-order Taylor series approximation at a selected points along\n", "the curve for a given width parameter. That is, the Taylor approximation\n", "approximates the function at a specific point with a corresponding interval\n", "around that point for which the approximation is assumed valid. The size of\n", "this width is determined by the $\\alpha$ step parameter. Crucially, the quality\n", "of the approximation varies along the curve. In particular, there are sections\n", "where two nearby approximations overlap given the width, as indicated by the\n", "dark shaded regions. This is key because gradient descent works by using such\n", "first-order approximations to estimate the next step in the minimization. That\n", "is, the gradient descent algorithm never actually *sees* $f(x)$, but rather\n", "only the given first-order approximant. It judges the direction of the next\n", "iterative step by sliding down the slope of the approximant to the edge of a\n", "region (determined by $\\alpha$) and then using that next point for the next\n", "calculated approximant. As shown by the shaded regions, it is possible that the\n", "algorithm will overshoot the minimum because the step size ($\\alpha$) is too\n", "large. This can cause oscillations as shown in [Figure](#fig:gradient_descent_002)." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "import matplotlib\n", "matplotlib.rcParams['mathtext.fontset'] = 'cm'\n", "matplotlib.rcParams['mathtext.rm'] = 'cm'\n", "matplotlib.rcParams['mathtext.it'] = 'cm:italic'\n", "matplotlib.rcParams['mathtext.bf'] = 'cm:bold'\n", "import numpy as np\n", "from matplotlib.pylab import subplots" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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xupERBJfaGgoa9assbYbNmxoYzWPRyHSCUzTXGKaZlHTNJ8zTfNzu+sB6Nixo90lpDg6ps7VsWNHypYty+7du3nrrbes9uPHj9OkSROWLl1qY3WuqXnz5naXkKLoeDqfjun/rFixgsjISABKly7N008/neDHsPtzSSEyhbL7jZUS6Zg61+3jmTlzZmbOnMl3331nDYOIjIykd+/ejB49OkWOr00sd4ZxeXI6ns6nY/o/zrgq2+7PJYVIEbGdYRh06tSJ7du3x+nenjp1Km3btiUkJMTG6kREnCs6OprFixdb2644HhIUIl3esmXLeP755ylcuDAjR46853bTNOnRoweFCxemVKlS7Nq1y4YqXcejjue6devw9vamTJkylClThmHDhtlQpeto3749uXLlomTJkve9/e73Z0xMDDt37qRevXrWPrt27aJevXocPnw4qcpO1gYOHEiVKlUeOH5q69atlC9fniZNmtCkSRMmTZqUxBW6lvPnz/P2229Tr149GjRowE8//XTPPqZpMnz4cF5//XUaNWrEn39q2PvDxOeYpvb36ZYtW7h8+TIAefPm5aWXXnrgvuHh4VSsWJHSpUtTokQJhgwZcs8+dn3W6+psFxYTE8P777/PypUryZ8/PxUqVKBRo0YUL/6/VReXLl1KUFAQQUFBbN26lS5durB161Ybq06+4nM8AV555RUWLVpkU5WupV27dnTr1o233377vrc/6P0ZGBjI0KFDGT58OBA7t9wbb7zB8OHD46zJnRr5+vrSunVrPvroowfuU65cOf773/8mYVWuy93dnf79+1OiRAnCwsJo2rQpVapUoXDhwtY+69ev5+TJkyxfvpy9e/fy6aefMmfOHBurTt7ic0whdb9P7+zKbtiw4UPn60ybNi1r1qwhY8aMREVF8Z///Ie6detSuXJlax+7Put1JtKFbdu2jcKFC1OoUCHSpElDixYtCAgIiLNPQEAAb7/9NoZhULlyZUJCQjh//rxNFSdv8TmekjCvvvrqQ+f0e9D7093dnc8++4z58+eTIUMGIDbkDxgwgIEDB9o62bXdKlSoYNtCAilRrly5uL34Q8aMGXnuuee4ePFinH1Wr15N48aNMQyDMmXKcO3aNf755x87ynUJ8TmmqV1CxkMahkHGjBmB2LlSo6Ki7pnY3K7PeoVIF3b27FkKFPjfPOf58+e3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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "xi=np.linspace(0,3,50)\n", "\n", "def get_chunk(x_0=1,delta=0.1,n=2):\n", " '''\n", " n := order of approximation\n", " '''\n", " x_0 = float(x_0)\n", " delta = float(delta)\n", " return fx.series(x,x0=sm.var('x0'),n=n).removeO().subs(x0,x_0),(x_0-delta<=x)&(x -->\n", "\n", "
\n", "\n", "

The piecewise linear approximant to $f(x)$.

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Let us consider the following Python implementation of gradient descent, using Sympy." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "x = sm.var('x')\n", "fx = 2 - 3*x**3 + x**4\n", "df = fx.diff(x) # compute derivative\n", "x0 =.1 # initial guess\n", "xlist = [(x0,fx.subs(x,x0))]\n", "alpha = 0.1 # step size\n", "for i in range(20):\n", " x0 = x0 - alpha*df.subs(x,x0)\n", " xlist.append((x0,fx.subs(x,x0)))" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf8AAAFJCAYAAACVYiTWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3dd3hUdd7+8feHEiB0pAmSyaogimuJrCIWWFTEjuXZR8RFRY0NxY4IiA0b0gU1NizRdVfR1R8jLCouLAqINJG+mAQQEFBKQk++vz9myBOSSUiZzJnJ3K/rmivJOWfO3Akk95zvaeacQ0REROJHNa8DiIiISGSp/EVEROKMyl9ERCTOqPxFRETijMpfREQkzqj8RURE4kzUlb+ZtTGz6Wa2zMx+MrP+IZbpambbzWxh8PGYF1lFRERiUQ2vA4RwAHjAOTffzOoDP5jZNOfc0kLLzXTOXepBPhERkZgWdeXvnNsAbAh+vtPMlgGtgcLlXyY9evRwU6ZMCUNCERGRmGGhJkbdsH9BZpYMnArMCTH7TDNbZGZfmFmHw61ry5YtYU4nIiISm6Juy/8gM6sHfAzc65zbUWj2fMDnnMs2s4uBT4G2IdaRCqQCJCUlVXJiERGR2BCVW/5mVpNA8ac75yYVnu+c2+Gcyw5+7gdqmlnTEMulOec6Ouc6NmvWrNJzi4iIxIKoK38zM+ANYJlzbmQxy7QMLoeZnU7g+9gauZQiIiKxKxqH/c8C/gr8aGYLg9MeBZIAnHOvANcAd5jZAWA3cK3T7QlFRERKJerK3zn3H4o5OrHAMi8BL0UmkYiISNUSdcP+IiIiUrlU/iIiInFG5S8iIuWWnp5OcnIy1apVIzk5mfT0dK8jSSlE3T5/ERGJDenp6aSmprJr1y4AMjMzSU1NBaB3795eRpPD0Ja/iIiUy6BBg/KL/6Bdu3YxaNAgjxKFptGJolT+IiJSLllZWWWa7oWDoxOZmZk45/JHJ6LpDYAXb04sXk6P79ixo5s3b57XMUREqozk5GQyMzOLTPf5fGRkZEQ+UAjRnrHwrhOAxMRE0tLSwrXrJPZu7CMiItFr2LBhVK9e/ZBptWvXZtiwYR4lKiraRye82nWi8hcRkXLp0qULeXl51K9fHzPDzDjxxBOj6mC/Nm3ahJweLTd78+rNicpfRETKZdy4cZgZixcvJi8vj6FDhzJv3jzmzAl1F3ZvnH322UWm1alTJ2pGJ4p7E1LZb05U/iIiUmbZ2dm8+uqrXH311SQnJwNw//3306xZMx555BGi4XiyrVu34vf7Oemkk/D5fATvB0dKSkrUjE48+uijRaYlJiZW+psTlb+IiJTZm2++yfbt23nggQfyp9WvX5/BgwfzzTff8K9//cvDdAFPPvkkO3bs4P333ycjI4O8vDwGDx7MrFmz+Pe//+11PADmzJmDmXHkkUdiZvh8vnAe7FcsHe0vIiJlkpubS9u2bTnyyCOZNWvWIfP27t1L+/btadSoET/88APVqnmzjbly5Uo6dOjAzTffzCuvvJI/fffu3XTo0IE6deqwcOFCatas6Uk+gH//+9907dqVAQMG8Nxzz1XWy+hofxERqbhPP/2Un3/++ZCt/oNq1arFU089xcKFC/nwww89SBfw8MMPU6dOHZ544olDptepU4exY8eydOlSRo8e7VG6wJuk2267jT/84Q889thjEX99bfmLiEiZnHXWWWzcuJGVK1cWOdUPAiMDp556Kjk5OSxbtoyEhISI5vvmm2/485//zDPPPMPAgQNDLtOzZ0+mTZvG8uXLiz0joDI9/vjjPPHEE0ydOpXu3btX5ktpy19ERCpm9uzZfPvtt9x7770hix+gevXqPPvss6xZs4bXX389ovny8vK4//77SUpK4t577y12uTFjxuCcK3GZyrJ8+XKeffZZrrvuusou/mKp/EVEpNRGjhxJo0aNuOmmm0pc7uKLL+acc87hySefJDs7O0Lp4N1332XBggU8++yz1KlTp9jlfD4fQ4YMYdKkSXzxxRcRy5eXl8dtt91G3bp1GTVqVMRetzCVv4iIlMrPP//Mxx9/zG233Ua9evVKXNbMeO6559i0aRNjxoyJSL6cnBwGDRrE6aefzrXXXnvY5R944AHat29Pv3792L17dwQSwltvvcWMGTMYPnw4zZs3j8hrhqLyFxGRUhk7dizVqlWjX79+pVq+c+fOXH755bzwwgts3bq1ktPBiBEjWL9+PSNHjizVWQYJCQmMHz+eNWvW8Pzzz1d6vk2bNvHQQw9x7rnn0rdv30p/vZKo/EVE5LC2bdvG66+/zrXXXstRRx1V6uc988wz7Ny5k2eeeaYS08Evv/zC888/zzXXXMNZZ51V6ud169aNXr168dxzz7F69epKTAj33XcfOTk5vPrqq/kXHPKKyl9ERA7r9ddfJzs7m/vvv79Mz+vQoQN9+vRh/PjxlXq9+iFDhrB///5ynS8/YsQIEhIS6NevX6VdmXDKlCl88MEHDBw4kPbt21fKa5SFTvUTEZES7d+/n6OPPpq2bdvy9ddfl/n5mZmZtGvXjt69e/Pmm2+GPd+iRYs49dRTuf/++3nxxRfLtY6xY8fSv39/PvroI66++uqw5tu1axcnnngiCQkJLFq0iFq1aoV1/YehU/1ERKTsPvroI9atW1fmrf6DfD4fd911F2+//TZLly4NazbnHA888ACNGzeu0G1w77zzTk455RT69+8f9rMTnnjiCX7++WdeffXVSBd/sVT+IiJSLOccI0aM4LjjjuPiiy8u93oeffRR6tatG/b71Pv9fr766isef/xxGjduXO711KhRgwkTJrB+/XqefPLJsOVbtGgRI0aMoG/fvnTp0iVs660olb+IiBRr5syZ/PDDD9x3330Vuk5/06ZNeeihh/j000/57rvvwpJt//79PPjgg7Rr147bb7+9wus788wzueWWWxg1ahRLliyp8Ppyc3NJTU2lSZMmDB8+vMLrCyeVv4iIFGvEiBEcccQR9OnTp8Lruu+++2jevHnYbvn72muvsXz5coYPHx62G/Q899xzNGzYkLvuuqvCGV9++WXmzp3LqFGjaNKkSVjyhYvKX0REQlq5ciWff/45d955Z4lXyyutevXqMWTIEGbMmMGUKVMqtK7t27czdOhQunbtymWXXVbhbAcdccQRPPfcc8yYMYP33nuv3OtZv349jz76KN27d+e6664LW75w0dH+IiIS0p133skbb7xBVlYWLVq0CMs69+3bx/HHH0/9+vWZP39+uXclDBgwgOHDhzNv3jxSUlLCku2gvLw8zjrrLNasWcPy5cvLdSzBVVddxRdffMGSJUs45phjwpqvjHS0v4iIlM7WrVuZOHEi119/fdiKHwJX1XvqqadYtGgRH3zwQbnW8fPPPzN69Gj69OkT9uIHqFatGi+//DJbtmxh8ODBZX7+P//5Tz755BOGDh3qdfEXS1v+IiJSxLBhwxg8eDBLliyhQ4cOYV13Xl4eKSkp7Nixg+XLl5f5lr/XXnstn332GatWraJ169ZhzVZQ//79GTduHN9//z2nnXZaqZ6zc+dOTjjhBBo3bswPP/wQtmMRKkBb/iIicnh79+7lpZde4sILLwx78UNgy/rZZ5/l559/Ji0trUzP/e677/jwww956KGHKrX4AZ588klatGjBHXfcQW5ubqmeM3jwYNavX09aWlo0FH+xVP4iInKIDz74gI0bN/LAAw9U2mv06NGDLl268NRTT5X6ojrOOe6//36OPPJIHnrooUrLdlDDhg0ZOXIk33//Pa+99tphl//+++8ZN24cd9xxB506dar0fBWhYX8REcnnnOPkk08GAheoqcwb0MyePZszzzyTJ598kiFDhhx2+Q8//JBrr72WN954I2J3xXPOcd5557FgwQJWrFhR7G14Dxw4wJ/+9Cc2bdrEsmXLaNiwYUTylYKG/UVEpGRffvklP/74I/fff3+l33muU6dO9OzZk+HDh7N58+YSl92zZw+PPPIIJ598MjfccEOl5irIzBg/fjw5OTkMGDCg2OVGjx7NwoULGTduXDQVf7FU/iIikm/kyJG0bNmSXr16ReT1hg0bRk5OzmFv+Tt27FgyMjIYMWIE1atXj0i2g44//ngefPBBJk6cyMyZM4vM//nnnxk6dCiXXXYZV111VUSzlZeG/UVEBICffvqJE088kaeffjrs1+AvSd++fUlPT2flypX4fL4i8zdv3syxxx7Lueeey+effx6xXAXl5ORwwgkn0KBBA+bPn59/MJ9zjosvvpiZM2eydOlSkpKSPMlXAg37i4hI8UaNGkWdOnXCcp38snjiiScwM4YOHRpy/uOPP05OTo6n18evW7cuY8eOZcmSJYwbNy5/+ocffsiUKVN4+umno7H4i6UtfxERYdOmTSQlJXHzzTczYcKEiL/+gw8+yMiRI1m8eDEnnnhi/vRly5bxxz/+kdtvv52XXnop4rkKcs5x+eWX880337Bs2TLq1q1L+/btadOmDXPmzIn47ohS0pa/iIiENmHCBPbv38+9997ryesPHDiQ+vXrF9nd8NBDD1G3bt1iRwUiycwYO3Yse/bs4bjjjqNJkyb8+uuvXHnlldFa/MVS+YuIxLndu3czYcIELrvsMtq1a+dJhiOOOIKHH36Yzz77jFmzZgGBMw8mT57M4MGDadasmSe5Cvv2228xM3bt2pU/7ZlnniE9Pd3DVGWnYX8RkTiXlpbGbbfdxjfffEOXLl08y5GTk0OrVq3Yu3cv+/bto0aN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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "xlist = np.array(xlist).astype(float)\n", "fig,ax= subplots()\n", "fig.set_size_inches((8,5))\n", "_=ax.plot(xlist[:,0],'-ok')\n", "_=ax.set_xticks(range(0,21,2))\n", "_=ax.set_xlabel('iteration ($k$)',fontsize=18)\n", "_=ax.set_ylabel('$x_k$',fontsize=25)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "fig.savefig('fig-machine_learning/gradient_descent_002.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " [Figure](#fig:gradient_descent_002) shows the sequential steps. Note\n", "that the algorithm oscillates at the end because the step size is too large.\n", "Practically speaking, it is not possible to know the optimal step size for\n", "general functions without strong assumptions on $f(x)$.\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The step size may cause oscillations.

\n", "\n", "\n", "\n", "\n", "\n", " [Figure](#fig:gradient_descent_003) shows how the algorithm moves\n", "along the function as well as the approximant ($\\hat{f}(x)$) that the algorithm\n", "sees along the way. Note that initial steps are crowded around the initial\n", "point because the corresponding gradient is small there. Towards the middle,\n", "the algorithm makes a big jump because the gradient is steep, before finally\n", "oscillating towards the end. Sections of the underlying function that are\n", "relatively flat can cause the algorithm to converge very slowly. Furthermore,\n", "if there are multiple local minima, then the algorithm cannot guarantee finding\n", "the global minimum." ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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uP766wPOaTQamEwmOVjp9fpBByufzweXywWHwwGn0wmn0wmHwwGr1YpXX30VTz/99Cl7QU2dOhVr1qyB0+lESUkJvF4vPB4PxowZg5iYGEyePBmxsbFYvXo10tLSBlUXhSUGKSIiUtaxY8dw00034b33AjfAuO6663Dbbbed9t8KIaBSqQL+qNXqXn+XJEkOTy6Xq9fjVFRU4IorruhzBAoACgoKcNNNN6GiogIejwexsbGQJAknTpxAVVUVcnJysHjxYixevFgOihQVGKSIiCg0bN++HevXr0dZWRmMRiNqampgMBhgtVrlPydvuxIs5eXlWLNmTa/zSUlJeOSRR+D1euFyuWA2m2GxWPCf//wHLS0tMJlMuPLKKzF//nyGp+g0MlvEEBERDdaqVatwzjnn4Mknn0RycrK8353RaERKSgokSZKn4Gw2G6xWa59tCAZCq9XCRULLmgAAAR1JREFUYDBAr9dDr9cjNjYWGo0GHo8HAKBSqfCLX/wC99xzD4xGY8A0pclkwoIFCwKmKYlOxhEpIiIKeT6fT/7j9XpPeSxJEnQ6nRyeejqT+3v44Ydx++23Y/ny5XjmmWcwYcIEBb4jCjMckSIiovDVsxYqGG677TZMnz4dK1asUKTlAkUWBikiIooqarUaK1euVLoMihDsbE5EREQ0RAxSREREREPEIEVEREQ0RAxSREREREPEIEVEREQ0RAxSREREREPEIEVEREQ0RAxSREREREPEIEVEREQ0RIrstSeE2CFJ0nmj/oWJiIiIgkiRIEVEREQUCTi1R0RERDREDFJEREREQ8QgRURERDREDFJEREREQ8QgRURERDRE/x/jMF3I2nE62wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax= subplots()\n", "fig.set_size_inches((10,5))\n", "funcs= [sm.lambdify(x,sm.Piecewise(get_chunk(i,0.1))) for i in xlist[:,0]]\n", "_=ax.plot(xlist[:,0],xlist[:,1],marker='o',ls='',markersize=10,alpha=.3,color='k',label=r'$f(x_k)$')\n", "_=ax.plot(xi,fxx(xi),lw=3,color='lightgray',label='$f(x)$')\n", "_=ax.set_xlabel(r'$x$',fontsize=25,rotation=0)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "_=ax.spines['bottom'].set_position(('data',0))\n", "\n", "for i in funcs:\n", " _=ax.fill_between(xi,i(xi),color='gray',alpha=0.3)\n", " _=ax.plot(xi,i(xi),color='k',lw=3,label=r'$\\hat{f}(x)$')\n", "\n", "fig.savefig('fig-machine_learning/gradient_descent_003.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Gradient descent produces a sequence of approximants.

\n", "\n", "\n", "\n", "\n", "\n", "As we have seen, the step size is key to both performance and convergence.\n", "Indeed, a step size that is too big can cause divergence and one that is too\n", "small can take a very long time to converge. \n", "\n", "### Newton's Method\n", "\n", "Consider the following second-order Taylor series expansion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "J(\\mathbf{x})= f(\\mathbf{x}_0) + \\nabla f(\\mathbf{x}_0)^T(\\mathbf{x}-\\mathbf{x}_0) +\\frac{1}{2}(\\mathbf{x}-\\mathbf{x}_0)^T \\nabla^2 f(\\mathbf{x}_0)(\\mathbf{x}-\\mathbf{x}_0)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $ \\mathbf{H(x)} := \\nabla^2 f(\\mathbf{x})$ is the Hessian matrix\n", "of second derivatives. The $(i,j)^{th}$ entry of this matrix is the following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\frac{\\partial^2 f(\\mathbf{x})}{\\partial x_i \\partial x_j}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " We can use basic matrix calculus to find the minimum by computing:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\nabla_{\\mathbf{x}} J(\\mathbf{x}) = \\nabla f(\\mathbf{x}_0) + \\mathbf{H(x)}(\\mathbf{x}-\\mathbf{x}_0) = 0\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Solving this for $\\mathbf{x}$ gives the following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}=\\mathbf{x}_0- \\mathbf{H(x)}^{-1} \\nabla f(\\mathbf{x}_0)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Thus, after renaming some terms, the descent algorithm works by the\n", "following update equation:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}^{(k+1)}=\\mathbf{x}^{(k)}- \\mathbf{H}(\\mathbf{x}^{(k)})^{-1} \\nabla f(\\mathbf{x}^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " There are a number of practical problems with this update equation.\n", "First, it requires computing the Hessian matrix at every step. For a\n", "significant problem, this means managing a potentially very large matrix. For\n", "example, given 1000 dimensions the corresponding Hessian has $1000 \\times 1000$\n", "elements. Some other issues are that the Hessian may not be numerically stable\n", "enough to invert, the functional form of the partial derivatives may have to be\n", "separately approximated, and the initial guess has to be in a region where the\n", "convexity of the function matches the derived assumption. Otherwise, just based\n", "on these equations, the algorithm will converge on the local *maximum* and not\n", "the local *minimum*. Consider a slight change of the previous code to\n", "implement Newton's method:" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 2. -6. ]\n", " [ 2.33333333 -6.4691358 ]\n", " [ 2.25555556 -6.54265522]\n", " [ 2.25002723 -6.54296874]\n", " [ 2.25 -6.54296875]\n", " [ 2.25 -6.54296875]]\n" ] } ], "source": [ "x0 =2. # init guess is near to solution\n", "xlist = [(x0,fx.subs(x,x0))]\n", "df2 = fx.diff(x,2) # 2nd derivative\n", "\n", "for i in range(5):\n", " x0 = x0 - df.subs(x,x0)/df2.subs(x,x0)\n", " xlist.append((x0,fx.subs(x,x0)))\n", " \n", "xlist = np.array(xlist).astype(float)\n", "print (xlist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Note that it took very few iterations to get to the minimum (as\n", "compared to our prior method), but if\n", "the initial guess is too far away from the actual minimum, the algorithm may\n", "not find the local minimum at all and instead find the local maximum.\n", "Naturally, there are many extensions to this method to account for these\n", "effects, but the main thrust of this section is to illustrate how higher-order\n", "derivatives (when available) in a computationally feasible context can greatly\n", "accelerate convergence of descent algorithms.\n", "\n", "### Managing Step Size\n", "\n", "The problem of determining a good step size (learning rate) can be approached\n", "with an *exact line search*. That is, along the ray that extends along\n", "$\\mathbf{x}+ q \\nabla f(x)$, find" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "q_{min} = \\argmin_{q\\ge 0} f(\\mathbf{x}+q \\nabla f(\\mathbf{x}))\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " In words, this means that given a direction from a point $\\mathbf{x}$\n", "along the direction $\\nabla f(\\mathbf{x})$, find the minimum for this\n", "one-dimensional problem. Thus, the minimization procedure alternates at each\n", "iteration between moving to a new $\\mathbf{x}$ position in $\\mathbb{R}^n$ and\n", "finding a new step size by solving the one-dimensional minimization.\n", "\n", "While this is conceptually clean, the problem is that solving the\n", "one-dimensional line-search at every step means evaluating the objective\n", "function $f(\\mathbf{x})$ at many points along the one-dimensional slice. This\n", "can be very time consuming for an objective function that is computationally\n", "expensive to evaluate. With Newton's method, we have seen that higher-order\n", "derivatives can accelerate convergence and we can apply those ideas to the\n", "one-dimensional line search, as with the *backtracking* algorithm.\n", "\n", "* Fix parameters $\\beta\\in [0,1)$ an $\\alpha>0$.\n", "\n", "* If $f(x-\\alpha\\nabla f(x))> f(x)- \\alpha \\Vert \\nabla f(x) \\Vert_2^2$\n", " then reduce $\\alpha\\rightarrow \\beta \\alpha$. Otherwise, do the usual \n", " gradient descent update: $x^{(k+1)}= x^{(k)}-\\alpha\\nabla f(x^{(k)})$.\n", "\n", " To gain some intuition about how this works, return to our second-order \n", "Taylor series expansion of the function $f$ about $\\mathbf{x}_0$," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "f(\\mathbf{x}_0)+\\nabla f(\\mathbf{x}_0)^T(\\mathbf{x}-\\mathbf{x}_0)+\\frac{1}{2}(\\mathbf{x}-\\mathbf{x}_0)^T \\nabla^2 f(\\mathbf{x}_0)(\\mathbf{x}-\\mathbf{x}_0)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " We have already discussed the numerical issues with the Hessian term,\n", "so one approach is to simply replace that term with an $n\\times n$ identity\n", "matrix $\\mathbf{I}$ to obtain the following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "h_{\\alpha}(\\mathbf{x})= f(\\mathbf{x}_0) + \\nabla f(\\mathbf{x}_0)^T(\\mathbf{x}-\\mathbf{x}_0) +\\frac{1}{2\\alpha}\\Vert\\mathbf{x}-\\mathbf{x}_0\\Vert^2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " This is our more tractable *surrogate* function. But what is the\n", "relationship between this surrogate and what we are actually trying to\n", "minimize? The key difference is that the curvature information that is\n", "contained in the Hessian term has now been reduced to a single $1/\\alpha$\n", "factor. Intuitively, this means that local complicated curvature of $f$ about a\n", "given point $\\mathbf{x}_0$ has been replaced with a uniform bowl-shaped\n", "structure, the steepness of which is determined by scaling $1/\\alpha$. \n", "Given a specific $\\alpha$, we already know how to step directly to the \n", "minimum of $h_{\\alpha}(\\mathbf{x})$; namely, using the following gradient descent \n", "update equation:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}^{(k+1)}= \\mathbf{x}^{(k)} - \\alpha \\nabla f (\\mathbf{x}^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " That is the immediate solution to the surrogate problem, but it does\n", "not directly supply the next iteration for the function we really want: $f$.\n", "Let us suppose that our minimization of the surrogate has taken us to a new\n", "point $\\mathbf{x}^{(k)}$ that satisfies the following inequality," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "f(\\mathbf{x}^{(k+1)}) \\le h_{\\alpha}(\\mathbf{x}^{(k+1)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " or, more explicitly," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "f(\\mathbf{x}^{(k+1)}) \\le f(\\mathbf{x}^{(k)}) + \\nabla f(\\mathbf{x}^{(k)})^T(\\mathbf{x}^{(k+1)}-\\mathbf{x}^{(k)}) +\\frac{1}{2\\alpha}\\Vert\\mathbf{x}^{(k+1)}-\\mathbf{x}^{(k)}\\Vert^2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " We can substitute the update equation into this and simplify as," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "f(\\mathbf{x}^{(k+1)})\\le f(\\mathbf{x}^{(k)}) -\\alpha\\nabla f(\\mathbf{x}^{(k)})^T(\\nabla f(\\mathbf{x}^{(k)}))+\\frac{\\alpha}{2}\\Vert\\nabla f (\\mathbf{x}^{(k)})\\Vert^2\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " which ultimately boils down to the following," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "\n", "$$\n", "\\begin{equation}\n", "f(\\mathbf{x}^{(k+1)})\\le f(\\mathbf{x}^{(k)})-\\frac{\\alpha}{2}\\Vert\\nabla f(\\mathbf{x}^{(k)}) \\Vert^2 \n", "\\label{eq:backtracking} \\tag{1}\n", "\\end{equation}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The important observation here is that if we have not reached the minimum \n", "of $f$, then the last term is always positive and we have moved downwards," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "f(\\mathbf{x}^{(k+1)}) < f(\\mathbf{x}^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " which is what we were after. Conversely, if the inequality in\n", "Equation ([1](#eq:backtracking)) holds for some $\\alpha>0$, then we know that\n", "$h_{\\alpha}>f$. This is the key observation\n", "behind the backtracking algorithm. That is, we can test a sequence of values\n", "for $\\alpha$ until we find one that satisfies Equation ([1](#eq:backtracking)).\n", "For example, we can start with some initial $\\alpha$ and then scale it up or\n", "down until the inequality is satisfied which means that we have found the\n", "correct step size and then can proceed with the descent step. This is what\n", "the backtracking algorithm is doing as shown in [Figure](#fig:gradient_descent_004). The dotted line is the $h_{\\alpha}(x)$ and the\n", "gray line is $f(x)$. The algorithm hops to the quadratic minimum of the\n", "$h_{\\alpha}(x)$ function which is close to the actual minimum of $f(x)$.\n", "\n", "The basic implementation of backtracking is shown below:" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.32000000000000006 2.60000000000000\n" ] } ], "source": [ "x0 = 1\n", "alpha = 0.5\n", "xnew = x0 - alpha*df.subs(x,x0)\n", "while fx.subs(x,xnew)>(fx.subs(x,x0)-(alpha/2.)*(fx.subs(x,x0))**2):\n", " alpha = alpha * 0.8\n", " xnew = x0 - alpha*df.subs(x,x0)\n", "\n", "print (alpha,xnew)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "fig,ax= subplots()\n", "fig.set_size_inches((10,5))\n", "_=ax.plot(xi,fxx(xi),lw=3,color='lightgray',label='$f(x)$')\n", "ha = fx.subs(x,x0) + df.subs(x,x0)*(x-x0)+1/(alpha*2)*(x-x0)**2\n", "haxx = sm.lambdify(x,ha)\n", "_=ax.plot([1],[fxx(1)],'ok')\n", "\n", "_=ax.plot(xi,haxx(xi),'--k',label=r'$h_{\\alpha}(x)$')\n", "_=ax.plot([xnew],[fxx(xnew)],'ok')\n", "_=ax.plot([xnew],[haxx(xnew)],'ok')\n", "_=ax.plot([xnew],[0],'ok')\n", "\n", "_=ax.vlines(xnew,-6,0)\n", "_=ax.set_xlabel(r'$x$',fontsize=25,rotation=0)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "_=ax.spines['bottom'].set_position(('data',0))\n", "_=ax.set_ylabel(r'$f(x)$'+' '*10,fontsize=25,rotation=0);\n", "\n", "_=ax.legend(fontsize=20)\n", "\n", "fig.savefig('fig-machine_learning/gradient_descent_004.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

The approximation $h_{\\alpha}(x)$ (dotted line) moves the next iteration from $x=1$ to the indicated point that is near the minimum of $f(x)$ by finding an appropriate step size ($\\alpha$).

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "### Stochastic Gradient Descent\n", "\n", "A common variation on gradient descent is to alter how the weights are updated.\n", "Specifically, suppose we want to minimize an objective function of the\n", "following form:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\min_x \\sum_{i=1}^m f_i(x)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where $i$ indexes the $i^{th}$ data element for an error function. \n", "Equivalently, each summand is parameterized by a data element. \n", "\n", "For the usual gradient descent algorithm, we would compute the\n", "incremental weights, component-wise as in the following" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "x^{(k+1)} = x^{(k)} -\\alpha_k \\sum_{i=1}^m \\partial f_i(x^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " by summing over all of the data. The key idea for stochastic gradient\n", "descent is to *not* sum over all of the data but rather to update the weights for\n", "each randomized $i^{th}$ data element:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "x^{(k+1)} = x^{(k)} -\\alpha_k \\partial f_i(x^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " A compromise between batch and this jump-every-time stochastic\n", "gradient descent is *mini-batch* gradient descent in which a randomized subset\n", "($\\sigma_r, \\vert\\sigma_r\\vert=M_b$) of the data is summed over at each step as\n", "in the following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "x^{(k+1)} = x^{(k)} -\\alpha_k \\sum_{i\\in \\sigma_r} \\partial f_i(x^{(k)})\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Each step update for the standard gradient descent algorithm\n", "processes $m$ data points for each of the $p$ dimensions, $\\mathcal{O}(mp)$,\n", "whereas for stochastic gradient descent, we have $\\mathcal{O}(p)$. Mini-batch\n", "gradient descent is somewhere in-between these estimates. For very large,\n", "high-dimensional data, the computational costs of gradient descent can become\n", "prohibitive thus favoring stochastic gradient descent. Outside of the\n", "computational advantages, stochastic gradient descent has other favorable\n", "attributes. For example, the noisy jumping around helps the algorithm avoid\n", "getting stalled in local minima and this helps the algorithm when the starting\n", "point is far away from the actual minimum. The obverse is that stochastic\n", "gradient descent can struggle to clinch the minimum when it is close to it.\n", "Another advantage is robustness to a minority of *bad* data elements. Because\n", "only random subsets of the data are actually used in the update, the few\n", "individual outlier data points (perhaps due to poor data integrity) do not\n", "necessarily contaminate every step update.\n", "\n", "### Momentum\n", "\n", "The gradient descent algorithm can be considered as a particle moving along a\n", "high-dimensional landscape in search of a minimum. Using a physical analogy, we\n", "can add the concept of momentum to the particle's motion. Consider the\n", "position of the particle ($\\mathbf{x}^{(k)}$) at any time $k$ under a net force\n", "proportional to $-\\nabla J$. This setup induces an estimated velocity term for\n", "the particle motion proportional to $\\eta (\\mathbf{x}^{(k+1)} -\n", "\\mathbf{x}^{(k)}) $. That is, the particle's velocity is estimated\n", "proportional to the difference in two successive positions. The \n", "simplest version of stochastic gradient descent update that incorporates\n", "this momentum is the following:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathbf{x}^{(k+1)} = \\mathbf{x}^{(k)} - \\alpha \\nabla f(\\mathbf{x}^{(k)}) + \\eta (\\mathbf{x}^{(k+1)} - \\mathbf{x}^{(k)} )\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Momentum is particularly useful when gradient descent sloshes up and\n", "down a steep ravine in the error surface instead of pursuing the descending\n", "ravine directly to the local minimum. This oscillatory behavior can cause slow\n", "convergence. There are many extensions to this basic idea such as Nesterov\n", "momentum.\n", "\n", "### Advanced Stochastic Gradient Descent\n", "\n", "Methods that aggregate histories of the step updates can provide superior\n", "performance to the basic stochastic gradient descent algorithm. For example,\n", "Adam (Adaptive Moment Estimator) implements an adaptive step-size for each\n", "parameter. It also keeps track of an exponentially decaying mean and variance\n", "of past gradients using the exponentially weighted moving average (EWMA). This\n", "smoothing technique computes the following recursion," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "y_n = a x_n + (1-a) y_{n-1}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " with $y_0=x_0$ as the initial condition. The $0" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax= subplots()\n", "_=ma.plot(ax=ax,label='Moving average',color='k')\n", "_=ewma.plot(ax=ax,label='EWMA',color='b')\n", "_=ax.legend(fontsize=18)\n", "_=ax.set_xlabel('$n$',fontsize=18)\n", "fig.savefig('fig-machine_learning/gradient_descent_005.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " As shown by [Figure](#fig:gradient_descent_006), the single nonzero\n", "data point thereafter influences the EWMA whereas for the fixed-width moving\n", "window average, the effect terminates after the window passes. Note that \n", "mini-batch smoothes out data at each iteration by averaging over training data and \n", "EWMA smoothes out the descent motion across iterations of the algorithm.\n", "\n", "\n", "\n", "
\n", "\n", "

The approxmation $h_{\\alpha}(x)$ (dotted line) moves the next iteration from $x=1$ to the indicated point that is near the minimum of $f(x)$ by finding an appropriate step size ($\\alpha$).

\n", "\n", "\n", "\n", "\n", "\n", "Advanced stochastic gradient descent algorithms are\n", "themselves an area of intense interest and development. Each method has its\n", "strengths and weaknesses pursuant to the data at hand (i.e., sparse vs. dense\n", "data) and there is no clear favorite appropriate to all circumstances. As a\n", "practical matter, some variants have parallel implementations that accelerate\n", "performance (i.e., Nui's Hogwild update scheme).\n", "\n", "### Python Example Using Sympy\n", "\n", "Each of these methods will make more sense with some Python. We emphasize that\n", "this implementation is strictly expository and would not be suitable for a\n", "large-scale application. Let us reconsider the classification problem in the\n", "section on logistic regression with the target $y_i\\in \\lbrace 0,1 \\rbrace$.\n", "The logistic regression seeks to minimize the cross-entropy:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "J(\\boldsymbol{\\beta}) = \\sum_i^m \\log(1+\\exp(\\mathbf{x_i}^T \\boldsymbol{\\beta}))-y_i \\mathbf{x_i}^T \\boldsymbol{\\beta}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " with the corresponding gradient," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\nabla_{\\beta} J(\\boldsymbol{\\beta}) = \\sum_i^m \\frac{1}{1+\\exp(- \\mathbf{x}_i^T \\boldsymbol{\\beta})} \\mathbf{x}_i - y_i \\mathbf{x}_i\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To get started let's create some sample data for logistic regression" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import sympy as sm\n", "npts = 100\n", "X=np.random.rand(npts,2)*6-3 # random scatter in 2-d plane\n", "labels=np.ones(X.shape[0],dtype=np.int) # labels are 0 or 1\n", "labels[(X[:,1]\n", "\n", " For stochastic gradient descent, the above code changes to the following:" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "import random\n", "sgdWK = winit # initialize \n", "Jout=[] # container for output\n", "# don't sum along all data as before\n", "grads=np.array([grad.subs({x0:i,x1:j,y:y_i}) \n", " for (i,j),y_i in zip(X,labels)])\n", "for i in range(niter):\n", " gradsf = sm.lambdify((b0,b1,bias),random.choice(grads))\n", " sgdWK = sgdWK - alpha * np.array(gradsf(*sgdWK))\n", " Jout.append(Jf(*sgdWK))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", " The main difference here is that the gradient calculation no longer\n", "sums across all of the input data (i.e., `grads` list) and is instead randomly\n", "chosen by the `random.choice` function the above body of the loop. The \n", "extension to batch gradient descent from this code just requires \n", "averaging over a sub-selection of the data for the gradients in the \n", "`batch` variable." ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "mbsgdWK = winit # initialize \n", "Jout=[] # container for output\n", "mb = 10 # number of elements in batch\n", "for i in range(niter):\n", " batch = np.vstack([random.choice(grads) \n", " for i in range(mb)]).mean(axis=0) \n", " gradsf = sm.lambdify((b0,b1,bias),batch)\n", " mbsgdWK = mbsgdWK-alpha*np.array(gradsf(*mbsgdWK))\n", " Jout.append(Jf(*mbsgdWK))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " It is straight-forward to incorporate momentum into this loop using a\n", "Python `deque`, as in the following,\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "from collections import deque\n", "momentum = deque([winit,winit],2)\n", "mbsgdWK = winit # initialize \n", "Jout=[] # container for output\n", "mb = 10 # number of elements in batch\n", "for i in range(niter):\n", " batch=np.vstack([random.choice(grads) \n", " for i in range(mb)]).mean(axis=0) \n", " gradsf=sm.lambdify((b0,b1,bias),batch)\n", " mbsgdWK=mbsgdWK-alpha*np.array(gradsf(*mbsgdWK))+0.5*(momentum[1]-momentum[0])\n", " Jout.append(Jf(*mbsgdWK))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "[Figure](#fig:gradient_descent_006) shows the three variants of the gradient\n", "descent algorithm. Notice that the stochastic gradient descent algorithm is the\n", "most erratic, as it is characterized by taking a new direction for every\n", "randomly selected data element. Mini-batch gradient descent smoothes these \n", "out by averaging across multiple data elements. The momentum variant \n", "is somewhere in-between the to as the effect of the momentum term is not \n", "pronounced in this example.\n", "\n", "\n", "\n", "
\n", "\n", "

Different variations of gradient descent.

\n", "\n", "\n", "\n", "\n", "\n", "### Python Example Using Theano\n", "\n", "The code shown makes each step of the gradient descent algorithms explicit\n", "using Sympy, but this implementation is far too slow. The `theano` module\n", "provides thoughtful and powerful high-level abstractions for algorithm\n", "implementation that relies upon underlying C/C++ and GPU execution models. This\n", "means that calculations that are prototyped with `theano` can be executed\n", "downstream outside of the Python interpreter which makes them much faster. The \n", "downside of this approach is that calculations can become much harder to\n", "debug because of the multiple levels of abstraction. Nonetheless, `theano` is \n", "a powerful tool for algorithm development and execution.\n", "\n", "To get started we need some basics from `theano`." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "import theano\n", "import theano.tensor as T\n", "from theano import function, shared" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " the next step is to define variables, which are essentially\n", "placeholders for values that will be computed downstream later. The next block\n", "defines two named variables as a double-sized float matrix and vector. Note\n", "that we did not have to specify the dimensions of each at this point." ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "x = T.dmatrix(\"x\") # double matrix\n", "y = T.dvector(\"y\") # double vector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The parameters of our implementation of gradient descent come next,\n", "as the following:" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "w = shared(np.random.randn(2), name=\"w\") # parameters to fit\n", "b = shared(0.0, name=\"b\") # bias term" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " variables that are `shared` are ones whose values can be set\n", "separately via other computations or directly via the `set_value()` method.\n", "These values can also be retrieved using the `get_value()` method. Now, we need\n", "to define the probability of obtaining a `1` from the given data as `p`. The\n", "cross-entropy function and the `T.dot` function are already present (along with\n", "a wide range of other related functions) in `theano`. The conformability of\n", "the constituent arguments is the responsibility of the user." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "p=1/(1+T.exp(-T.dot(x,w)-b)) # probability of 1\n", "error = T.nnet.binary_crossentropy(p,y)\n", "loss = error.mean() \n", "gw, gb = T.grad(loss, [w, b])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `error` variable is `TensorVariable` type which has many\n", "built-in methods such as `mean`. The so-derived `loss` function is therefore\n", "also a `TensorVariable`. The last `T.grad` line is the best part of Theano because \n", "it can compute these gradients automatically." ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "train = function(inputs=[x,y],\n", " outputs=[error], \n", " updates=((w, w - alpha * gw),\n", " (b, b - alpha * gb)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The last step is to set up training by defining the training function\n", "in `theano`. The user will supply the previously defined and named input\n", "variables (`x` and `y`) and `theano` will return the previously defined `error`\n", "variable. Recall that the `w` and `b` variables were defined as `shared`\n", "variables. This means that the function `train` can update their values between\n", "calls using the update formula specified in the `updates` keyword variable. In\n", "this case, the update is just plain gradient descent with the previously\n", "defined `alpha` step-size variable.\n", "\n", "We can execute the training plain using the `train` function in the following loop:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "training_steps=1000\n", "for i in range(training_steps):\n", " error = train(X, labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `train(X,labels)` call is where the `X` and `labels` arrays we\n", "defined earlier replace the placeholder variables. The update step refreshes\n", "all of the `shared` variables at each iterative step. At the end of the\n", "iteration, the so-computed parameters are in the `w` and `b` variables with\n", "values available via `get_value()`. The implementation for stochastic gradient\n", "descent requires just a little modification to this loop, as in the following:" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [], "source": [ "for i in range(training_steps):\n", " idx = np.random.randint(0,X.shape[0])\n", " error = train([X[idx,:]], [labels[idx]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " where the `idx` variable selects a random data element from the set and \n", "uses that for the update step at every iteration. Likewise, batch stochastic \n", "gradient descent follows with the following modification," ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-4.6811301 4.53544488]\n", "-0.5143806030648878\n" ] } ], "source": [ "batch_size = 50\n", "indices = np.arange(X.shape[0])\n", "for i in range(training_steps):\n", " idx = np.random.permutation(indices)[:batch_size]\n", " error = train(X[idx,:], labels[idx])\n", "\n", "print (w.get_value()) \n", "print (b.get_value()) # bias term" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Here, we set up an `indices` variable that is used for randomly\n", "selecting subsets in the `idx` variable that are passed to the `train`\n", "function. All of these implementations parallel the corresponding previous\n", "implementations in Sympy, but these are many orders of magnitude faster due to\n", "`theano`.\n", "\n", "\n", "\n", "## Image Processing Using Convolutional Neural Networks" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib.pylab import subplots, cm\n", "def text_grid(res,i,j,t,ax,**kwds):\n", " '''\n", " put text `t` on grid `i,j` position \n", " passing down `kwds` to `ax.text`\n", " '''\n", " assert isinstance(t,str)\n", " assert isinstance(res,np.ndarray)\n", " color = kwds.pop('color','r')\n", " ax.text(i-0.25,j+0.25,t,color=color,**kwds)\n", "\n", "def text_grid_array(res,ax=None,fmt='%d',title=None,title_kw=dict(),**kwds):\n", " '''\n", " put values of `res` array as text on grid \n", " '''\n", " assert isinstance(res,np.ndarray)\n", " if ax is None:\n", " fig, ax = subplots()\n", " ax.imshow(res,cmap=cm.gray_r)\n", " ii,jj = np.where(res.T) \n", " for i,j in zip(ii,jj):\n", " text_grid(res,i,j,fmt%(res[j,i]),ax,**kwds)\n", " if title:\n", " ax.set_title(title,**title_kw)\n", " try: \n", " return fig\n", " except:\n", " pass\n", "\n", "def draw_ndimage(c,m=4,n=5,figsize=[10,10]):\n", " t,mt,nt = c.shape\n", " assert m*n == t\n", " fig,axs=subplots(m,n,figsize=figsize)\n", " for ax,i in zip(axs.flatten(),c):\n", " text_grid_array(i,fontsize=6,fmt='%.1f',ax=ax) \n", " _= ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", " return fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "In this section, we develop the Convolutional Neural Network (CNN) which is the\n", "fundamental deep learning image processing application. We deconstruct every\n", "layer of this network to develop insight into the purpose of the individual\n", "operations. CNNs take image as inputs and images can be represented as\n", "Numpy arrays, which makes them fast and easy to use with any of the scientific\n", "Python tools. The individual entries of the Numpy array are the pixels and the\n", "row/column dimensions are the height/width of the image respectively. The\n", "array values are between `0` through `255` and correspond to the intensity of\n", "the pixel at that location. Three-dimensional images have a third \n", "third depth-dimension as the color channel (e.g., red, green,\n", "blue). Two-dimensional image arrays are grayscale. \n", "\n", "**Programming Tip.**\n", "\n", "Matplotlib makes it easy to draw images using the underlying Numpy arrays. For\n", "instance, we can draw [Figure](#fig:image_processing_001) using the following\n", "MNIST image from `sklearn.datasets`, which represents grayscale hand-drawn\n", "digits (the number zero in this case)." ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.pylab import subplots, cm\n", "from sklearn import datasets\n", "mnist = datasets.load_digits()\n", "fig, ax = subplots()\n", "ax.imshow(mnist.images[0],\n", " interpolation='nearest',\n", " cmap=cm.gray)" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "fig.savefig('fig-machine_learning/image_processing_001.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `cmap` keyword argument specifies the colormap as gray. The\n", "`interpolation` keyword means that the resulting image from `imshow` does not\n", "try to visually smooth out the data, which can be confusing when working at the\n", "pixel level. The other hand drawn digits are shown below in [Figure](#fig:image_processing_002).\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

Image of a hand drawn number zero from the MNIST dataset.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axs = subplots(2,5, constrained_layout=False)\n", "fig.tight_layout()\n", "for i,(ax,j) in enumerate(zip(axs.flatten(),mnist.images)):\n", " _=ax.imshow(j,interpolation='nearest',cmap=cm.gray)\n", " _=ax.set_title('digit %d'%(i))\n", " _=ax.spines['top'].set_visible(False)\n", " _=ax.spines['bottom'].set_visible(False)\n", " _=ax.spines['left'].set_visible(False)\n", " _=ax.spines['right'].set_visible(False)\n", " _=ax.spines['top'].axis.set_ticks_position('none')\n", " _=ax.spines['bottom'].axis.set_ticks_position('none')\n", " _=ax.spines['left'].axis.set_ticks_position('none')\n", " _=ax.spines['right'].axis.set_ticks_position('none')\n", " _=ax.xaxis.set_visible(False)\n", " _=ax.yaxis.set_visible(False)\n", "\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_002.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Samples of the other hand drawn digits from MNIST.

\n", "\n", "\n", "\n", "\n", "\n", "### Convolution\n", "\n", "Convolution is an intensive calculation and it is the core of convolutional\n", "neural networks. The purpose of convolution is to create alternative\n", "representations of the input image that emphasize or demphasize certain\n", "features represented by the *kernel*. The convolution operation consists of a\n", "kernel and an *input matrix*. The convolution operation is a way of aligning\n", "and comparing image data with the corresponding data in an image kernel. You\n", "can think of an image kernel as a template for a canonical feature that the\n", "convolution operation will uncover. To keep it simple suppose we have the\n", "following `3x3` kernel matrix," ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0],\n", " [0, 1, 0],\n", " [0, 0, 1]])" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "kern = np.eye(3,dtype=np.int)\n", "kern" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Using this kernel, we want to find anything in an input image that\n", "looks like a diagonal line. Let's suppose we have the following input Numpy image" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0, 0, 0],\n", " [0, 1, 0, 0, 0, 0],\n", " [0, 0, 1, 0, 0, 0],\n", " [1, 0, 0, 0, 0, 0],\n", " [0, 1, 0, 0, 0, 0],\n", " [0, 0, 1, 0, 0, 0]])" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tmp = np.hstack([kern,kern*0])\n", "x = np.vstack([tmp,tmp])\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Note that this image is just the kernel stacked into a larger Numpy\n", "array. We want to see if the convolution can pull out the kernel that is\n", "embedded in the image. Of course, in a real application we would not know\n", "whether or not the kernel is present in the image, but this example \n", "helps us understand the convolution operation step-by-step. There is a \n", "convolution function available in the `scipy` module." ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 0, 0, 0, 0, 0],\n", " [0, 3, 0, 0, 0, 0],\n", " [0, 0, 2, 0, 0, 0],\n", " [2, 0, 0, 1, 0, 0],\n", " [0, 3, 0, 0, 0, 0],\n", " [0, 0, 2, 0, 0, 0]])" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.ndimage.filters import convolve\n", "res = convolve(x,kern,mode='constant',cval=0)\n", "res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each step of the convolution operation is represented in [Figure](#fig:image_processing_003). The `kern` matrix (light blue square) is\n", "overlaid upon the `x` matrix and the element-wise product is computed and\n", "summed. Thus, the `0,0` array output corresponds to this operation applied to\n", "the top-left 3x3 slice of the input, which results in `3`. The convolution\n", "operation is sensitive to boundary conditions. For this example, we have chosen\n", "`mode=constant` and `cval=0` which means that the input image is bordered by\n", "zeros when the kernel sweeps outside of the input image boundary. This is the\n", "simplest option for managing the edge conditions and\n", "`scipy.ndimage.filters.convolve` provides other practical alternatives. It also\n", "common to normalize the output of the convolution operation by dividing by the\n", "number of pixels in the kernel (i.e., `3` in this example). Another way to\n", "think about the convolution operation is as a matched filter that peaks when it\n", "finds a compatible sub-feature. The final output of the convolution operation \n", "is shown in [Figure](#fig:image_processing_004). The values of the \n", "individual pixels are shown in color. Notice where the maximum values of the\n", "output image are located on the diagonals.\n", "\n", "\n", "\n", "
\n", "\n", "

The convolution process that produces the res array. As shown in the sequence, the light blue kern array is slid around, overlaid, mutiplied, and summed upon the x array to generate the values of shown in the title. The output of the convolution is shown in [Figure](#fig:image_processing_004).

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The res array output of the convolution is shown in [Figure](#fig:image_processing_003). The values (in red) shown are the individual outputs of the convolution operation. The grayscale indicates relative magnitude of the shown values (darker is greater).

\n", "\n", "\n", "\n", "\n", "\n", "However, the convolution operation is not a perfect detector and results in\n", "nonzero values for other cases. For example, suppose the input image is a\n", "forward-slash diagonal line. The step-by-step convolution with the kernel is\n", "shown in [Figure](#fig:image_processing_005) with corresponding output in\n", "[Figure](#fig:image_processing_006) that looks nothing like the kernel or the\n", "input image.\n", "\n", "\n", "\n", "
\n", "\n", "

The input array is a forward slash diagonal. This sequence shows the step-by-step convolution operation. The output of this convolution is shown in [Figure](#fig:image_processing_006).

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The output of the convolution operation shown in [Figure](#fig:image_processing_005). Note that the output has nonzero elements where there is no match between the input image and the kernel.

\n", "\n", "\n", "\n", "\n", "\n", "We can use multiple kernels to explore an input image.\n", "For example, suppose we have the input image shown on the left in [Figure](#fig:image_processing_007). The two kernels are shown in the upper row, with \n", "corresponding outputs on the bottom row. Each kernel is able to emphasize its \n", "particular feature but extraneous features appear in both outputs. We can have \n", "as many outputs as we have kernels but because each output image is as large as the \n", "input image, we need a way to reduce the size of this data. \n", "\n", "\n", "\n", "
\n", "\n", "

Given two kernels (upper row) and the input image on the left, the output images are shown on the bottom row. Note that each kernel is able to emphasize its feature on the input composite image but other extraneous features appear in the outputs.

\n", "\n", "\n", "\n", "\n", "\n", "### Maximum Pooling\n", "\n", "To reduce the size of the output images, we can apply *maximum pooling*\n", "to replace a tiled subset of the image with the maximum pixel value\n", "in that particular subset. The following Python code illustrates maximum\n", "pooling," ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [], "source": [ "def max_pool(res,width=2,height=2):\n", " m,n = res.shape\n", " xi = [slice(i,i+width) for i in range(0,m,width)]\n", " yi = [slice(i,i+height) for i in range(0,n,height)]\n", " out = np.zeros((len(xi),len(yi)),dtype=res.dtype)\n", " for ni,i in enumerate(xi):\n", " for nj,j in enumerate(yi):\n", " out[ni,nj]= res[i,j].max()\n", " return out" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Programming Tip.**\n", "\n", "The `slice` object provides programmatic array slicing. For\n", "example, `x[0,3]=x[slice(0,3)]`. This means you can\n", "separate the `slice` from the array, which makes it easier to manage.\n", "\n", "\n", "\n", " Pooling reduces the dimensionality of the output of the convolution\n", "and makes stacking convolutions together computationally feasible. [Figure](#fig:image_processing_008) shows the output of the `max_pool` function on\n", "the indicated input images.\n", "\n", "\n", "\n", "
\n", "\n", "

The max_pool function reduces the size of the output images (left column) to the images on the right column. Note that the pool size is 2x2 so that the resulting pooled images are half the size of the original images in each dimension.

\n", "\n", "\n", "\n", "\n", "\n", "### Rectified Linear Activation\n", "\n", "Rectified Linear Activation Units (ReLUs) are neural network units that\n", "implement the following activation function," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "r(x) = \\begin{cases}\n", " x & \\mbox{if } x>0 \\\\\n", " 0 & \\mbox{otherwise }\n", " \\end{cases}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " To use this activation properly, the kernels in the convolutional\n", "layer must be scaled to the $\\lbrace -1,1 \\rbrace$ range. We \n", "can implement our own rectified linear activation function using the\n", "following code," ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "def relu(x):\n", " 'rectified linear activation function'\n", " out = np.zeros(x.shape,dtype=x.dtype)\n", " idx = x>=0\n", " out[idx]=x[idx]\n", " return out" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we understand the basic building blocks, let us investigate how the\n", "operations fit together. To create some training image data, we use the\n", "following function to create some random backwards and forwards slashed images\n", "as shown in [Figure](#fig:image_processing_009). As before, we have the\n", "scaled kernels shown in [Figure](#fig:image_processing_010). We are going to\n", "apply the convolution, max-pooling, and rectified linear activation function\n", "sequence step-by-step and observe the outputs at each step." ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "def gen_rand_slash(m=6,n=6,direction='back'):\n", " '''generate random forward/backslash images. \n", " Must have at least two pixels'''\n", " assert direction in ('back','forward') \n", " assert n>=2 and m>=2\n", " import numpy as np\n", " import random\n", " out = -np.ones((m,n),dtype=float)\n", " i = random.randint(2,min(m,n))\n", " j = random.randint(-i,max(m,n)-1)\n", " t = np.diag([1,]*i,j)\n", " if direction == 'forward':\n", " t = np.flipud(t)\n", " try:\n", " assert t.sum().sum()>=2\n", " out[np.where(t)]=1\n", " return out\n", " except:\n", " return gen_rand_slash(m=m,n=n,direction=direction)\n", "\n", "# create slash-images training data with classification id 1 or 0\n", "training=[(gen_rand_slash(),1) for i in range(10)] + \\\n", " [(gen_rand_slash(direction='forward'),0) for i in range(10)]" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(4,5,figsize=[8,8])\n", "for ax,i in zip(axs.flatten(),training):\n", " _=ax.imshow(i[0],cmap='gray_r')\n", " _=ax.set_title(f'category={i[1]}')\n", " _=ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", "\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_009.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

The training data set for our convolutional neural network. The forward slash images are labelled category 0 and the backward slash images are category 1.

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The two scaled feature kernels for the convolutional neural network.

\n", "\n", "\n", "\n", "\n", "\n", "[Figure](#fig:image_processing_011) shows the output of convolving the\n", "training data in [Figure](#fig:image_processing_009) with `kern1`, as shown on\n", "the left panel of [Figure](#fig:image_processing_010). Note that \n", "the following code defines each of these kernels," ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "kern1 = (np.eye(3,dtype=np.int)*2-1)/9. # scale\n", "kern2 = np.flipud(kern1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next operation is the activation function for the rectified linear unit\n", "with output shown in [Figure](#fig:image_processing_012). Note that all of the\n", "negative terms have been replaced by zeros. The next step is the maximum\n", "pooling operation as shown in [Figure](#fig:image_processing_013). Notice that\n", "the number of total pixels in the training data has reduced from thirty-six per\n", "image to nine per image. With these processed images, we have the inputs we\n", "need for the final classification step." ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAKrCAYAAADsy3uCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzde3xUdZ7n/9c3SeUKhJsJhASJAorQQQRsElvHduTS2xpbBnTcGbRpdLbnom7TuOP27PBzdX87u6vL/NTu6XVmHbqb6dFhEG3EbhO723tCS0CTiRoukUuiEAmQBJJQVUmd3x/nBA4xgVSlviSF7+fjUY+qnKr61KfO+Z5vPvWt7zllHMdBRERERERcSUOdgIiIiIjIcKICWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8VCDLkDDGODFcfnIB8trkvdayOMX7Cy/eD+MRzyZjzDeNMS8ZYz41xoSMMa3GmL3GmF8ZY/7KGHPFUOfoZ4xJMcbcbYzZbIw5aIzpNMZ0GGM+Mcb8qzHmD40xgaHO80KId7sd4GtWea8570K95lAwxozw3ufJGJ57i/fcrXHMJ+4xh4IxptAY8+fGmJ8YY2qNMd3e+/ruUOcmApAy1AnIl9ZP+1g2AVgMtAOb+rj/HasZfYkZY/4vsMr789+A3wEh4FLg68ASIAA8EofX2gT8AbDccZy+tvNAYlwFbAauACLA+17OAIXAUmAZUG+Mme44TmSweX+ZGGP+Anga+JHjOH8x1PkMV8aYKmAuMN9xnKqhzifB/BHw2FAnIdIfFcgyJBzH+XbvZcaYG3EL5Oa+7r9AHgD+C/BpnOL9E/Br4Hic4sWdMeYu3OL4OPBNx3Eqe90/AijFLZiHnDeSXQFk436QWu04TkOvx0wAHsLdnkm4RbTE1x8AGcD+Ic7DtnZgBmpD8bYH+FugCtgB/HfcD7Yiw4IKZBEfx3E+Az6LY7wWoCVe8Sy507t+ondxDOA4zkngny9sSn0zxhjgedzi+OfACqePnwN1HOcw8H1jzIuosLHCcZwDQ53DheC1r7qhzuNi4zjOvwD/0vO3MUY/6yvDiuYgS8Lxz+s1xuQaY35sjDngzZv9J+8xxhhzpzHmp8aYj735tJ3GmF3GmCeNMRP7id3nXE5jzBPe8jXGmEnGmH80xhwyxgS9ebqPGmNSz5Vrr+Wn5xEaY9KNMf/VGLPHi3fYm5fXZ47e8//IGPM7Y0y7MeaYMeYVY8xXY5yfmONdfx7Fc/y5FBpjfuSth1Peun7LGPPvez1ulvdP8A+8Rf9qzp5jPpD5s98ErsYd1bu/r+LYz3Gcd3pPrzDGjPLW97956++EMWaHt23T+3h/UW8rL5ZjjNnQX27GmAXeYz7xCn//fTcaY35hjPnca9efGWOeN8ZcM4B15I9zzrnJ/nbtW9aMO70C4M97baMf+h7X7xxkY0yaMWa195gTxp0bXmuMecwYk93H42d5sWqNMUnGmP/obZ9OY8xRY8wLxpjpUbzvyV68+j7u+4Hv/RT0uu9ab/m7vmVfmIPc0yZwp1cAbO+1nvpaJ1Hv59Hy9sU6L4f/3Ue7ut648/M/89rV58adw39tH7FOv2/j+lPf9nSMMSne45q9v8cb9ziGN40xbd6+9Y4xZnG83p/IhaQCWRJZHrATd67pDmALcMS7Lw13pPF2oBUoA34LjMT92n2HMWZyDK85FXe+683A28BbwCTgr+l7XvX5pAO/Af4j8DHwK9z98h7gLeNObziLMea/407dmIf79WQZMMXL5+YYcjjoXa/q6/XOxRjzDdw5y38GdAG/xN0Wc4GfG2P+zvfw47jrqGfk8Q3v757L/gG85G3e9RbHcaKetmKMyQO2A2uBibjr+ze42/Vx4E1jzMh+nh7NttqAuz6WniPePd71T/2Fvlesvo47rWUv7jSSw7gj/b8zxvxRNO85Bs9xZj53HWdvo23ne7K3Ht4A/jcwHXe/ewX3g9h/AaqMMfn9PD0J2Aj8De40p1eADtyv3iuMMZMG8gYcxzmIu+4uM8YU9rr79323e+8vPff95jwv0YC7Po56f2/l7PXU3OvxUe/n0fKK8kpgGvCg4zjf79Wu1uL2V0uBRuAlYB/wLeBd0+sDbS//CDwFnABeBj4Aen84fdC7L4DbD9QD1wG/9PoJkcTiOI4uugyLC3Ajbqe7/zyP+wvvcQ7wIpDZx2NScAvn9F7LU4F13nP/tY/nbfLuW9Zr+RO+13wSSPHddzVwyrtvdj+5/rDX8lt88d4BxvruGwd86N33YK/nXe8t7wB+r9d9/9kXc2uU673be95R4CfAnwDzgcA5njcF9x9mCLiz132FwEf9rMs+1/EAc93pPfd7MbaxX3rPLwNG+pZfglvYO8A/xGlbbfWWf6ePPNKAY7jTPwp9yxd42yIE3NLrOd/x4nUClw+w3Z5zXfva9ZqBtNtej6nyHjOv1/K/85Z/AOT6lo/wrf/Xej1nlm8d1wEFvvsycYtsB/jbKLb1//Gec69vWbq3/mq8+37e6zm/9pb/Xq+8HeDkQNfBYNvOed5XT8ytvZadxO0Xbu/jOX/gPWcfMKfXfTd5z+sAJvfxvh3cgYfZ/eTT7D2mnS/2Sf/Du+/9Abyvnrb63Wj3a110sXHRCLIksk7gTx3H6eh9h+M4XY7jbHIc51Sv5SFgDe684FtNH9MizmMPbjHR5Yv5Ae6oF5w9OjUQXcBKx3GO+eIdxR196yve/d713zuO82av+/4HUBvl6+M4zhvAv8edYjEWd1TrGeA9oMUY8y/GmKv7eOpDuP9EH3Pc+YT+mPtwR5X9OcfDJd511NNBjDEzgG8AYeBPHMc50XOf4zhHgJ7TS91jjBnfR4hot9V67/rbfcS6DRgDvOmtqx7fwx1ZXO84zlnTZBzH+UfcAjMdt4Addowxo3ELeXD3zaae+xx3LvufAEHgZmPM7H7CfNfxHXTp7d//zfszmv2rZxTYP0p8He76ex53XzkdzxiT5t3fgTsSG0/Rtp0BM+5p0V7C/ZD++47jvNjHwx71ru92HOd9/x2O4/wW+F+4B1yu6v1Ez2OO41SfJ5XH++iTHvPyutoYM/Y8zxcZVlQgSyKrcNyDsfpljLnKm8/4tHHnDf8E9+vCCO4o3qVRvma54zjhPpb3HMSTF2W8XY7j7Iki3u951184aM5xHAf3H3/UvAL3UtxR9x/jTkMI4Y7e3QG818dXsP/Ou/7XfsK+i1sYfLX3XMgh0rPuXnf6OMDMcZztuEVTALdQ6i3abfUy7oj89caYy3vd1zO94if95Nh7eY9/9K5v7Of+obYAd7/a7fR9wGcj8Jr35419PP+k94Gtt1j2r55R55t87a+nEP21d8k1xnzFW9ZTPL/tfZCOp2jbzkAYb7rVj3GnLRX3tc6NMZcCVwFNjuO83U+snsK2uJ/7Nw8gny8c9+A4TjvudBSI7T2KDBmdxUISWb9H0Xsjw88Cf3yeGKOifM2D/Sxv866/cJBXvOJ5B8X0HFDX33uP+cwC3mj7C94FY0wW7le3f4M7ZeIfjDHljuM0G2OSOPPh4uPz1L8puOu5NdbcfI4A+ZxZD9Homb+67xyPqcf9ur+vua5RbXvHcULGmOdwR3vvBv4fOH0KusW4X4mfPg+0t31zz5Njz0FnA5qLOwQGuo79j/Vr6GMZxLB/OY5z1BjzATAHKAKqcQvkFtzpNJfgzgm+GXce/UDnH8ci3v0GwCLcD6ltwHXnGCy4zLvONec/U8QlfSwLM7Az+9h4jyJDRgWyJLLOc9z3n3GL4wPA93EPOvq8Z2TIGFMDfAWIdmQz3qcMizVef//o4pafN/rzL8aY7cAu3NHkhbgHcSVxZt39HHek+Fy645TWDtyCZ34Mz+3J91xFwrnaQyzrdj1egWyMecQb5f8jIBnY5K3jvvSXY7xH4uP9LeJQrONz+Q1ue/l9Y8x+3INHX3Ycp9sY8yZu8Xcz7vl4/aPL8WbjVIM7gSxgJvC3xpgV/qlfPsne9VH6GOXtpbGPZSFnYD+0o9MpykVFBbJcrJZ719/u/ZWt93Vr76+8hz3HcbqMMUdwR3kupe95uFMsvO4nxpi9wJXea/fkchj31w//qq8pC5ZsAe4FSo0xox33PNMD1fPP/7JzPKbnjAdx+aEYx3F2eh/GinCnFLxOP9MrvHXahDuKfBnQxBdFm1/PVIH+zpIQ7RSj87ng6/g8fo17zMHNuCPXyd4yHMc5aYx5D7jBm3M+D7eIPN9c2+HiCO4Icjnwh0C6MebOPqaH9IzKn3CG7geYRBKO5iDLxarngJC+vrL9Fu5oaCJ6y7u+q/cdXuF/Z+/l53O++cHedJWer/79I0y/8q6XE52ef+CxfEDfinsGgizOnKu3X8aYEm86CJyZZ3mj6XX+W++xc3G/VQjjzp+Ol57T/91j3PMYfwV3CsJbfTy2J8e7+4m10rt+Y4Cv3VOEXtn7Du/0c1/r53mxbqNtuAfhTTfGfLWP18zD/RYCBv4eBuNt3PdyA+4BmnD2FIrf4H54+Evc4vn1AY6W9hhMWx4070C/m3APKvwW8AtjTEavx+wCPgGmmD7OzywifVOBLBernoNf/sxfAHpnMnhqaFKKi56i8D8YY67vdd9DuCOV0fpnY8x/6adoHAP8A+4ZF45y9tfPf4N7xP9jxph7jTHJvZ5rjDFfM8Z8q1fYnqJtRrSJelMU/hD39HJ/bIzZ2Nc5dY0xlxhj/iduEZbkPfdj4FXcU/094z/3rDeC+GPvz586jtP7PLaD8U+4Rfcy4M99r9HXNIT/D/er6u8YY5b47zDG3IM7J/wU8KMBvnZPMbjKfz5g773/X/qfyx3TNvJG9HvO3vF3xpjTc1q9Oe3P4M5F/fUAzoowaN4ZMLbhfqC6B/jUcRz/r+L1tOe/6PX3QMXcluPFcZxW3PnIbwBLgFe8de231rveaIy5sXcM4/6IyVLvQ6KIoCkWcvH6b7ijRquBJcaYfwPGe8t+jXvuzr5OXTasOY7zpjHmfwH/CXjDGPM27gE0RcAVuAX0/ZwZ2RqIS3BPx/SoMWYX7oeLU7jTJ67FHW1vB/7YcZyeA25wHGePcX+h7XncIvoRY8yHuD8IMgn3BwtycQ+WfMn3ei/hfu39A2PMfOAQ7pzVHzuOs2MA6+BjY8x1uEfWLwf+wBizkzMHhk3BnWuaBOzm7LmRq3CnOXwD+MSbh5qCOwo3CvfUdqvPl0M0HMf53BjzK9wf/ug5l/HP+nlspTHmL3F/tORXxpgK3B9QuRK4Bneu972O4+wd4MuX4b7frwPVxph3vOXzcD/c/Bx3TnRvb+Kep/kGY8w23DbRBfzWcZzz/ez4Q7j71gKg3hjzW9wPCDfgFuR7OTMSfiH82nvtnh/r8NuG27Z7CspoD9B7EfeDz4+MMbdx5gdCHruA0456pov8O9x9YglQboz5Rs/+6jjOz40xlwH/FXjdGPMxZ/aNfNz2NRJYgTvP3zovH39bmuZd/ydjzLd9yxd7HwJELiiNIMtFyTu3ZzFugXAJcCtusbYW9xy08Tpo7IJzHOcvcb+C34lbwH4Dd+rD7+H+OAd88Ze8zuU7uOen3YhbBF2PW3jO8eL9T2CG4ziv9pHLr3APEnoct6C6Dnf95nvPfQi3+PY/513cAyg/8HL+Dm7h2vsXz/rlOM6/4Z66aiXu6dQm4Bagt+J+ENrkvYer/F+ZO47zGe46exR3Dvc3cUff6nE/dPye//zIcbTed7v3uY/P4jjOE7gF+8u4v0S3HPcUWRuBBY7j/HygL+qNUpfi/jjOcdy5uLNxC6l5uL/Q19fzTuIWWmVeDnfjbqOSAbzmSdyCfA3uecNvxh35Pgr8v8B873RvF4q/6D1rhNg7ZWPPVJeDUXzw6Hn+P+Oeu7oe98wkq7xLX2eDsMpxnE7cfe8l3O30G/+5hx3HeQz4Ku6Unwzc7XszkI27Xnr2pQsl08un59KTa2Gv5YELmJPIaabvb/lEJBEZY/4F97zF33Uc55mhzkdERCQRaQRZJMEYY670DrDyL0syxvwZbnHcju/8uiIiIhIdzUEWSTzfBb7rzbtt5My5UC/FnTryH7yj20VERCQGKpBFEs8vcOekXot7cF4q7jlznwfWeT+ZLCIiIjHSHGQRERERER/NQRYRERER8TnnFIsxY8Y4eXl5cX/Rjo6OuMcUu5qbmzlx4sQ5f3Gtx/jx450pU6bEPYf29va4xwQ4efKklbgCx44do729fUDtJiMjw8nOzo57Dvn5X/gdkbjo7Oy0Elf9Y3T9zejRo52JEyfGPQf1C4knmv7GVn1jS0NDXz8KO3jTp0+3EjeR+sf++ptzFsh5eXk899xzcU+mujpRfupeeqxdu/b8D/JMmTKFqqqquOewbdu2uMcEqKystBJXYN26dQN+bHZ2NitWrIh7Do8//njcYwLU1NRYiav+Mbr+ZuLEiaxfv/78D4yS+oXEE01/Y6u+sWXNmjVW4paXl1uJm0j9Y3/9jaZYiIiIiIj4qEAWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLikzLUCfiN3b+fyVVVJAeDVC9bRldaGoUVFWQ1N5PR2sr2FSsu+riJlGtMDh6Ep592bz/4IOTnu7e3boXaWti9G555BgKBC5PPOeQ0NjK1poaUcJiKJUvoSkvjyh07GHn8OFltbbyxdOmwiJmIcaMxqamJWXv2kBoO8+p11xFOTQXgup07GdfSwpabbootcAK1xUTrF4ZNfxNnibafKe7FbWpbG1/7/HPSurv56dSpnEpO5qZDh8gOhbihqYnvXXtt7MHVPw6vEeQplZVU3347DXPnMrG2FoB9JSXUlpaScurUlyJuIuUakxdegPvvdy+bNp1Zfsst8PDDkJkJodCFy+ccrti5k8rFi6mfNYtLd+8GoG7uXLbffDOpweCwiZmIcaNx9ccf81pJCbVTpzL9wIHTy/ZMnjy4wAnUFhOtXxg2/U2cJdp+prgXt68fPszPLruMipwcrjl6FIDfTpzI9vHjeScnZ3DB1T8OrxFkAIwBwOn5OxKh6KWXqFu48MsTN5FyjcaWLRCJuHk4zul8TnvySSgthaysC5PPQPSss55cIxGKy8t5//rrh1fMRIwbhdNt1suhsLGRER0d5H3+OVkdHbRnZkYXMJHbYs/fw71fGOr+xpZE288U9+LWez8DFn/2GRunTIk9pvpHYJgVyPsXLKBo82ZSQiGOFxSQ3tLCV7ZswTgOuXV1tEyejJMU/aB3IsVNpFyjVlp69tc2DzwAb78No0dDWRns2OHujPPnw5gxdnMZgF1z5rCgrIxAKERzXh6ZbW189bXXAMivr6c5Ly/qdWYjZiLGjcYHV17JoooKAuEwhy65hJHt7bzodXpjW1ujL44h4dpiovULw6K/sSDR9jPFvbi9MWECK+rrSevuZt/IkYwJBulMTiYQiXBiMFMf1D8CYBzH6ffOmTNnOs8999xg8u5TdXV13GOKXWvXrmXfvn3m/I+EefPmOVVVVXHPYdu2bXGPCVBZWWklrsC6detoaGgYULuZMGGCs8LC3NTHH3887jEBampqrMRV/xhdfzNjxgxn/fr1cc9B/ULiiaa/sVXf2LJmzRorccvLy63ETaT+sb/+Rh/FRERERER8VCCLiIiIiPioQBYRERER8TnnQXodHR1W5ns0NTXFPaackZubO6SvX1NTQ0FBQdzj2poTmN9zfsc4S7Q5jDa2WTTy8/OtzBc2vY/AjpPDhw9biTthwgQrcW3NbR7q/sYW9Qt2DXV/Y6u+sbX/btiwwUrcROsfZ8+eHfeYmf0c6K0RZBERERERHxXIIiIiIiI+KpBFRERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFJieVJY/fvZ3JVFcnBINXLltGVlkZhRQVZzc1ktLayfcWKmJLJaWxkWm0tgVCId5csIZyayqW7dpFz6BCZJ07w5q23XvRxbeVqa5tFY1YoxDc6O8lwHB4fNYrOpCS+1dHBuO5uvtnZydKcnJhjJ3/6KSPWrwfg5KpVdE+cCEDg/fcZ9cMf0rZ6NeGZM6OKOfqTT5j03nukBIPU3nkn3enp5FZXc+WLL1Lx0EOEs7KiznNSUxNFe/cS6Ori1ZISQoEA0w8cYNKRI4zo6ODlG26IOqbNuDmNjUytqSElHKZiyRK60tK4cscORh4/TlZbG28sXRpT3KgdPAhPP+3efvBByM93b2/dCrW1sHs3PPMMBAIDDjkN+AHwEvALb9ndwHggC3gsxlSTGhvJfPZZADruu49IXh4AKTt3kvXUU7SvWUPXrFlRxRy5Zw8577xDcjDI3nvuIZKRwdiqKgqff57qRx6ha8SImHK9mPsbG2z0CZB4/cLF2t/Yare29l+w09/Y6htt5WtLTCPIUyorqb79dhrmzmVibS0A+0pKqC0tJeXUqZiTmfHBB1QsXMjeWbO4dPduAA5Om0ZKKEQgFPpSxLWVq61tFo3bOjpYN2oUZRkZ3BAMAvBSZiavp6fzakbGoGJn/PKXnFy5kpMrV5Lxyiunl4fnzKFz8eKYYk5+910+Wr6cT+fPJ7emBoCm2bM5ctVVMed5za5dlBUXU3v55Uw/cACAPQUFBMJhUsPhYRf3ip07qVy8mHpfe6ybO5ftN99MqrcNL4gXXoD773cvmzadWX7LLfDww5CZCVHuH3uAn/RadjWwzrudHWOq6a+8QseqVXSsWkX61q2nl3ddcw3BJUtiijnh9df55O67+bykhHE7dwJwbN48jhcVxZil62Lub2yw0SdA4vULF2t/Y6vd2tp/wU5/Y6tvBDv52hL7FAtjAHB6/o5EKNq8mbqFCweXUa+4TlISlYsW0TpuHCYS+XLEvUC5xm2bRcHpdQ1wZ3s7G2MceQFILy+HSOT0+zt9HQeOjZi9YjtJSZQXF3MsO3tQ29dW3NPtpmcdRCIUv/oq719/fewxo7Fly7m375NPQmkpDKIN9eac/yF9SisrOytXx0K7iWdb9Me7GPsbG2z0CZB4/cJF299Yarc29l+b/U1/Yu0bYWjyHYyYpljsX7CAos2bSQmFOF5QQHpLC1/ZsgXjOOTW1dEyeTJOUvS1d93VV1NSXk4gHObIxIlktrUx9aOPSOvsZGRra0wxEy2urVxtbbNobMnMZHVbGxmOw8eBAJd0d9NuDKlAyyBe+9SiRWdPsfjOd0j93e+IjBoFaWmkv/UWgd27aZs0CWf06AHHPXjddczcuJHkUIjWyZNJa2kh8+hRxu3ZQ6S8nLrbboMo837/iitYvG0bqeEwn40fz8j2dmbW15MRDDL65MmYt4GtuLvmzGFBWRmBUIjmvDwy29r46muvAZBfX09zXp71dkNp6dlTLB54AN5+G0aPhrIy2LEDHAfmz4cxYwYcNhdYBmTgjoiUAR8Aq737W2NINbh48dlfId57L4Ft23Cys3FSU0l9801Sdu2iPT8/qrZ4+MYbuXzDBpKDQU4UFpJ67Bjpzc1k19WR//LL7L/jDkhOjjrfi7m/scFGnwCJ1y9crP2NrXZra/+11d/Y6Btt5muLcZz+Pw8UFhY6jz76aNxftKmpKe4x5Yzc3Ny4x1y7di379u0b0Me91NRUx0YOlZWVcY+ZiHFtKSgoiHvMdevW0dDQMKB2M2/ePKeqqiruORhLoxSHDx+2ErfG++o+3qqrq63EHer+ZsaMGc5678NxPDU0NMQ9JiRev2DLUPc3tuqbCRMmxD0mQFEcpmP0xVa+tvpHG/XjXXfdxYcffviFdpN4H+FFRERERCxSgSwiIiIi4qMCWURERETE55wH6WVmZjJ79uy4v6itOci25thJdIqKikikuaQbN260Elei09nZaWX+ra25cIk2d8+Woc63vr6e5cuXxz1uos0VTrR8L1aJVockWv94ruPmYpXRz2lmNYIsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPilDnYDfyD17yHnnHZKDQfbecw+RjAzGVlVR+PzzVD/yCF0jRsQUN6exkWm1tQRCId5dsoRwaiqX7tpFzqFDZJ44wZu33jps4trKdez+/UyuqiI5GKR62TK60tIorKggq7mZjNZWtq9YEVPcqB08CE8/7d5+8EHIz3dvb90KtbWwezc88wwEAgMOOQdYCmQCfw10AD8AgsAM4N4YUx39ySdMeu89UoJBau+8k+70dHKrq7nyxRepeOghwllZUcec1NRE0d69BLq6eLWkhFAgwPQDB5h05AgjOjp4+YYbYsrVVtycxkam1tSQEg5TsWQJXWlpXLljByOPHyerrY03li6NKe5wkNTYSOazzwLQcd99RPLyAEjZuZOsp56ifc0aumbNijruNNz29xLwC2/Z3cB4IAt4bBjla6vPHQ79zaxQiG90dpLhODw+ahSdSUl8q6ODcd3dfLOzk6U5OTHFTf70U0asXw/AyVWr6J44EYDA++8z6oc/pG31asIzZ0YV00ZfA+pvomWr3dr6v25r/wU7/Y2tvhGwUlsMqxHkCa+/zid3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z8X9RYuKiuIeE2DRokVW4j7xxBNW4lZXV1uJO3v27LjHvOuuu/jwww/N+R8JBQUFzurVq+Oeg9hVXFwc95grV67k448/HlC7KSwsdB599NG45yB2qb+RWKi/kVhcyP5m+JTqIiIiIiLDgApkEREREREfFcgiIiIiIj4qkEVEREREfM55kJ4x5ghw4MKlI8PYpY7jXDKQB6rdiI/ajcRC7UZioXYjseiz3ZyzQBYRERER+bLRFAsRERERER8VyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLiowJZRERERMRHBbKIiIiIiI8KZBERERERHxXIIiIiIiI+KpBFRERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLiowJZRERERMRHBbKIiIiIiI8KZBERERERHxXIIiIiIiI+KpBFRERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExCflXHeOGTPGycvLu1C5DFpDQ4OVuNOnT7cSt7Oz00rcjo6OuMdsbm7mxIkTZiCPHT9+vDNlypS455BI60tc0bSbjIwMJzs7O+455Ofnxz0mqD3apP5GYhFNuxk9erQzceLEuOdw8uTJuMcEGDFihJW49fX1VuIWFRVZidve3h73mIcOHaKlpeUL7eacBXJeXh7PPfdc3JOxZc2aNVbilpeXW4lbU1NjJW51dXXcY65du3bAj50yZQpVVVVxzyGR1pe4omk32dnZrFixIu45PP7443GPCWqPNqm/kVhE024mTpzI+vXr455DZWVl3GMCFBcXW4m7fPlyK3Ft7JMA27Zti3vMlStX9rlcUyxERERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFJGeoELoSpbW187fPPSevu5qdTp3IqOZmbDh0iOxTihqYmvnfttbEFPngQnn7avf3gg5Cf797euhVqa2H3bnjmGQgE4vNGBmHs/v1MrqoiORiketkyutLSKKyoIKu5mYzWVravWHFhEvmSrzNb2yHR4kZjUlMTs/bsITUc5tXrriOcmgrAdTt3Mq6lhS033RRb4C95W0zEuFHR9lXcYSKnsZGpNTWkhMNULFlCV1oaV+7Ywcjjx8lqa+ONpUuHOsWzzAqF+EZnJxmOw+OjRtGZlMS3OjoY193NNzs7WZqTE3vwBNovvxQjyF8/fJifXXYZFTk5XHP0KAC/nTiR7ePH885gNvQLL8D997uXTZvOLL/lFnj4YcjMhFBokNnHx5TKSqpvv52GuXOZWFsLwL6SEmpLS0k5derCJfIlX2e2tkOixY3G1R9/zGslJdROncr0AwdOL9szefLgAn/J22Iixo2Ktq/iDhNX7NxJ5eLF1M+axaW7dwNQN3cu22++mdRgcIiz+6LbOjpYN2oUZRkZ3ODl91JmJq+np/NqRsbggifQfvmlGEEGwBgAHN+ixZ99xsYpU2KLt2ULRCJuXMc5Hf+0J5+E0lLIyootvg2910EkQtFLL1G3cOGFeX2tM3sxEzFuFE6/tpdLYWMjIzo6yPv8c7I6OmjPzIwuoNpi4sYdCG1fxR1uet5XT1uMRCguL+f9668fwqT65/S6BrizvZ0fjxoVe9AE2y+/FAXyGxMmsKK+nrTubvaNHMmYYJDO5GQCkQgnYh3GLy09+6uCBx6At9+G0aOhrAx27HAbwPz5MGZM/N5MjPYvWEDR5s2khEIcLyggvaWFr2zZgnEccuvqaJk8GSfJ8hcKWmfWtkOixY3GB1deyaKKCgLhMIcuuYSR7e286P2zHNvaGn1xDGqLCRp3wLR9FXcY2TVnDgvKygiEQjTn5ZHZ1sZXX3sNgPz6eprz8obV+9qSmcnqtjYyHIePAwEu6e6m3RhSgZbB5Jlg+6VxHKffO2fOnOk899xzFzCdwVmzZo2VuOXl5Vbi1tTUWIlbXV0d95hr165l37595vyPhHnz5jlVVVVxzyGR1pe4omk3EyZMcFZYmGP4+OOPxz0mqD3apP5GYhFNu5kxY4azfv36uOdQWVkZ95gAxcXFVuIuX77cStyGhgYrcbdt2xb3mCtXruTjjz/+QrsZPh9ZRERERESGARXIIiIiIiI+KpBFRERERHzOeZBeR0eHlflSEyZMiHtMgA0bNliJa3ofaRknhw8fthJ39uzZcY+ZGcWBULt372bRokVxz8HW9rXVHhNtrmFubu6Qvn5+fr6V+cKJtv8mWnsc6naj/sal/iY6J0+etDJf2Nbc2/ye8wXHma0507b6XVv59kUjyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLiowJZRERERMRHBbKIiIiIiI8KZBERERERHxXIIiIiIiI+KpBFRERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKTEsuTxu7fz+SqKpKDQaqXLaMrLY3CigqympvJaG1l+4oVMSUzcs8ect55h+RgkL333EMkI4OxVVUUPv881Y88QteIETHFBUhqbCTz2WcB6LjvPiJ5eQCk7NxJ1lNP0b5mDV2zZkUVcxrwA+Al4BfesruB8UAW8NgwynU4mNrWxtc+/5y07m5+OnUqp5KTuenQIbJDIW5oauJ7114bc2wb68xGe8xpbGRabS2BUIh3lywhnJrKpbt2kXPoEJknTvDmrbdGHdNmXFv7etQOHoSnn3ZvP/gg5Oe7t7duhdpa2L0bnnkGAoEBh0yk/ddW33gxtxtb/Y2278XbbnIaG5laU0NKOEzFkiV0paVx5Y4djDx+nKy2Nt5YujSmuJOamijau5dAVxevlpQQCgSYfuAAk44cYURHBy/fcENMcUd/8gmT3nuPlGCQ2jvvpDs9ndzqaq588UUqHnqIcFZWTHEBkj/9lBHr1wNwctUquidOBCDw/vuM+uEPaVu9mvDMmVHFnAMsBTKBvwY6cPvgIDADuDfmbO2IaQR5SmUl1bffTsPcuUysrQVgX0kJtaWlpJw6FXMyE15/nU/uvpvPS0oYt3MnAMfmzeN4UVHMMXukv/IKHatW0bFqFelbt55e3nXNNQSXLIkp5h7gJ72WXQ2s825nxxTVTq7DwdcPH+Znl11GRU4O1xw9CsBvJ05k+/jxvJOTM6jYNtaZjfY444MPqFi4kL2zZnHp7t0AHJw2jZRQiEAoNOzi2trXo/bCC3D//e5l06Yzy2+5BR5+GDIzIcr3mUj7r62+8WJuN7b6G23fi7fdXLFzJ5WLF1Pve191c+ey/eabSQ0GY457za5dlBUXU3v55Uw/cACAPQUFBMJhUsPhmONOfvddPlq+nE/nzye3pgaAptmzOXLVVTHH7JHxy19ycuVKTq5cScYrr5xeHp4zh87Fi2OKeRfwCO6gxEJvWQTIA9oHla0dsU+xMAYAp+fvSISizZupW7iw36cMxOl4Xvx4SCsrg0jkTM5xjN0f5/wP6dNQ5HpB9W43wOLPPqN80qSYQ9pcZzbaY+914CQlUbloEa3jxmEikWEfN177+oBt2XLW9v3CtnjySSgthUGMlvQ2HPdfK23RF++iazd95cDg+htt3wsf94K3m97bNhKh+NVXef/66wcV9vR66omflER5cTHHsrMHtb6c/vrFQUgvLz93nzsITq9rA3wft0AeFbdXiY+YpljsX7CAos2bSQmFOF5QQHpLC1/ZsgXjOOTW1dEyeTJOUvS19+Ebb+TyDRtIDgY5UVhI6rFjpDc3k11XR/7LL7P/jjsgOTnquMHFi8/+Wuzeewls24aTnY2Tmkrqm2+SsmsX7fn5OKNHDzhuLrAMyMAdbSoD89C5rwAAIABJREFUPgBWe/e3Rp2pvVyHgzcmTGBFfT1p3d3sGzmSMcEgncnJBCIRTkTx1XhvttaZjfZYd/XVlJSXEwiHOTJxIpltbUz96CPSOjsZ2doa035jM66tfT0qpaVnT7F44AF4+20YPRrKymDHDnAcmD8fxowZcNhE2n9t9Y0Xc7ux0d9o+9qNO9TtZtecOSwoKyMQCtGcl0dmWxtffe01APLr62nOy4vp9d+/4goWb9tGajjMZ+PHM7K9nZn19WQEg4w+eTLm93TwuuuYuXEjyaEQrZMnk9bSQubRo4zbs4dIeTl1t90GMcQ+tWjR2VMsvvMdUn/3OyKjRkFaGulvvUVg927aJk2Kqp0/jzuCnAnU4PbBmcBf4fbBJ6LO1C7jOP2PlRQWFjqPPvpo3F90woQJcY8JUBSHqRh9sZXv4cOHrcRtamqKe8y77rqLDz/8cEAfI0eNGuUsWLAg7jls2LAh7jEBaryvpuKturraSlxbcnNz4x5z7dq17Nu3b0DtZt68eU5VVVXcczCWvoWxtf8mWnsc6naj/sal/ia6dlNQUOCsXr36/A+MUkNDQ9xjAhQXFydU3IKCAitxKysr4x5z5cqVfPzxx19oNzqLhYiIiIiIjwpkEREREREfFcgiIiIiIj4xHaQ3WIk2V8rWXMNFixZZiWtr7txATZ8+nfLy8rjHTbS5pLYk2v4zUJ2dnVbmZyba/vvEE09YiXuxUn9j18Xa3yQaG3Nvbdq4caOVuOvWrTv/g6LU33FbGkEWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLiowJZRERERMRHBbKIiIiIiE9KLE8au38/k6uqSA4GqV62jK60NAorKshqbiajtZXtK1bElExOYyPTamsJhEK8u2QJ4dRULt21i5xDh8g8cYI3b701prgj9+wh5513SA4G2XvPPUQyMhhbVUXh889T/cgjdI0YEVPcpMZGMp99FoCO++4jkpcHQMrOnWQ99RTta9bQNWtWVDGv7Ojg99vayIhE+NGECXQmJXFvUxOhpCQuO3WKRwoKYsp12Dh4EJ5+2r394IOQn+/e3roVamth92545hkIBAYcchrwA+Al4BfesruB8UAW8FiMqdrYvrbaoq19x9a+Phwk0v6rdhMDC30NqL+Bi7fd5DQ2MrWmhpRwmIolS+hKS+PKHTsYefw4WW1tvLF0aUxxJzU1UbR3L4GuLl4tKSEUCDD9wAEmHTnCiI4OXr7hhmEVd/QnnzDpvfdICQapvfNOutPT+f/Zu/fYqO47///PAdtjbIOvYMA2V5uL49jhfguFbEmIm5S2aXAU7ZZolWylr1Y4+kVbKfqutmVTtapWVdSAVmoipdkmu9tyS/qlSR0uaSghQMDQQjBgHC62MWAutsfgsed6fn8MmBMCxHM8n3jGeT0kNJPBfvk953M57zmeIfmHDzPtnXfY86MfEUhPj6vcie3tzG1pwR0Msr6sDF9SpLWtbGhgVFcXv33gAUe5jq4gT9i7l8Pf+x7Ns2Yx5uhRAM4sXMjRFStI6ulxVAjA9L/9jT0PP8xnZWWMP3kSgKaSEpL8fpL9fse5oz/8kNOrVnFp4UJyDx0CoG32bNrLyx1nAqS+9x7eZ5/F++yzpL77bu/jwZkz8T36qKPMyo4Ofp2fz59HjGD+tWsAhF0uRgUCdA8ZBBf8N2+G1asjfzZtuvX444/Diy9CWhpEOdYNwH/d9tgDwMs37mc6LNXE+Jqai6bWjqm1Hg8Saf1q3jhgYK8B7TcweOfN1EOH2Lt8Oadsz+vErFkcWLaMFJ/Pce7M+nq2LljA0cmTmdLYCEBDURHJgQApgUDc5Y77+GOOrVxJy5w55B85AkBrRQWXS0sdZ5rMXdTUxMbSUg4UFFDe2tr72JH8/H7lOt+xXS4ArJv/HQ5T/vbbnHj44X4VdHuuNWQIex95BE9uLq5w2HFsb5038vvLvXUrhMO36o1RLtie+41bF/DLsWPpHjKEjFAoZj/nK7dly+eO2RfG4pVXYMUKcPgq8k6sL/+SO/oqxjdWc7GXobVjbK0PoERcv5o3URiAvQa03yT8vLH//JvHKxxmwfvv89fFi/sV23ucbuYPGcK2BQtoy8yMSW8T89y7rZ1+Mp1783hMu3KFiosXmdjeznCHL24cvcXi7Pz5lL/9Nkl+P+1FRaR2dHD/li24LIv8EyfoGDcOy8HVkhMPPMDCbdtIDgS4PGYMaZ2dFB87hru7m+Eej6NMgItLlzL5rbcY6vNxbeJEUtraSL1yhcwTJyj84x85W1UFQ4dGlelbvvzzvxJ77jmS9+3DyszESkkh5S9/Iam+nq7CQqysrD7nvp+Vxf9pbSU1HOZkaiq5gQCp4TD/1NpKRjhMVyJfRV6x4vO/9qyuho8+gqws2LoVDh4Ey4I5cyA7u8+x+cCTwDAiV2+2An8DXrjx9x4HpZoaXxNzEcytHVNrfaAl2vrVvImSob0GtN/A4J039TNmMH/rVpL9fq6MHUtaZyfztm8HoPDUKa6MHevo5/916lSW79tHSiDA+bw8hnd1cd+pUwzz+ci6ft3xczKV27RoEfdt2MBQvx/PuHG4OzpIu3qV3IYGwtu2ceI73wEH2aZyPx43jqq6OlJCIZoyM8ns6eH1mTMBGOn1cs3tjjoTwGVZd3/NO3HiROull15yFHwvrTcugcdaRUWFkdzyfv466m4eeeQRI7lvvfVWzDOffvpp6urq+vSSb/bs2VZtbW3Ma3DF+grIDRcvXjSSe+TGr5Bi7fDhw0Zy8/v566g7+fGPf8yZM2f6NHD33Xef9bvf/S7mNZh4XmBu/f7yl780kjtY5432mwjtN9HNm6KiIuuFF1748i+MUnNzc8wzTVqwYMFAlxCVjRs3xjxzx44dtLW1fWHeJN6lHxERERERg9Qgi4iIiIjYqEEWEREREbFRgywiIiIiYuPoX7GIV6Y+TGCKqQ/jmPiQ3tWrV/v8td3d3UY+MGLqwy2jR482kmuqXlMGul6v12tkDZsa30Rav2Duw8YDTftNxECv32glWr2D1d69ewe6hKiY+FDh3Y6BriCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxUYMsIiIiImKjBllERERExCbJyTflnD3LuNpahvp8HH7ySYJuNxP37CH9yhWGeTwc+MEPHBUz6tw5So4eJdnv5+NHHyWQksL4+npGXbhA2rVr/OXb346r3OENDYzavZuhPh+fPfMM4WHDyKmtZeLvf8/hNWsIZmTERSZAQWsrZQ0NpAQCvL9oEYGUFAAWHTpEbkcHW/7u7xzlxosh586R9vrrAHj/6Z8Ijx0LQNKhQ6SvXUvXv/wLwbKyqDJLgP8L/AH4fzceWwXkAenAT+OoVlPzxtRaj4caEmn9jr96ldlNTbhDITZVVOBPTqbs/HnGt7Vx3e3mLyUljnJN7Y3xMG9MMbF+QfsNDPy8GXXuHMVHjpAUCLDn0UcJut1MO3iQ4e3tpHd2svOJJxzlFrS2Uv7ZZyQHg7y/cCH+5GSmNDZScPkyGV4vf/zGN5Tbj1xT4+boCvKEvXs5/L3v0TxrFmOOHgXgzMKFHF2xgqSeHkeFAEz/29/Y8/DDfFZWxviTJwFoKikhye8n2e+Pu9zRH37I6VWruLRwIbmHDgHQNns27eXlcZUJ8MDx42xfuJCjxcVMaWzsfaxh3Lh+5caL1Pfew/vss3iffZbUd9/tfTw4cya+Rx91lNkA/Ndtjz0AvHzjfqajVDO1mpo3ptZ6PNSQSOt3wdmzvFNRwcGiIsouXABg0enTWC4XLstynGtqb4yHeWOKifUL2m9g4OfN1EOH2Lt8Oads6+HErFkcWLaMFJ/Pce7M+nq2LljA0cmTe8+/DUVFJAcCpAQCyu1nrqlxc/4WC5cLgN6tORym/O23OfHww44j75RrDRnC3kcewZObiyscjrvc3ud/Iz8WTGTeKXfiuXNMaWxk7KVLpHu9Mf1ZXyX31q0QDt8a4xgftztx2pKYrNXUvDG21uOghkRev5nd3fzpvvsYef06Gf04CXxVe+6AzJsYG4i9BrTffKXz5vZjFQ6z4P33+evixf2K7V1fN/OHDGHbggW0ZWbGpAf5uueaGDdHb7E4O38+5W+/TZLfT3tREakdHdy/ZQsuyyL/xAk6xo3DGhJ9733igQdYuG0byYEAl8eMIa2zk+Jjx3B3dzPc43GUaTL34tKlTH7rLYb6fFybOJGUtjZSr1wh88QJCv/4R85WVcHQoQOeCfC3adN4ZM8ekgMBLowcyfCuLt65seHkeDx0paVFnRkvfMuXf/7XiM89R/K+fViZmVgpKaT85S8k1dfTVViIlZXV59x84ElgGJGrN1uBvwEv3Ph7TxzVamremFrr8VBDIq3ffRMm8MSRI6QEgzRnZ5PZ3c2eSZNYceQIKaEQXTfeMhUtU3tjPMwbE0ytX9B+AwM/b+pnzGD+1q0k+/1cGTuWtM5O5m3fDkDhqVNcGTvW0c//69SpLN+3j5RAgPN5eQzv6uK+U6cY5vORdf264+ek3AhT4+ay7vHruYkTJ1ovvfSSo4LvpbW1NeaZJlVUVAx0CVHZtm1bzDPfeustLl682KdLBffdd5/1u9/9LuY15OfnxzwTYPTo0UZyL168aCT3yJEjRnJN1PvjH/+YM2fO9GnemNpvTI2vKW+99ZaR3PJ+/vr7bkysy2jmjfabCO030c2boqIi64UXXvjyL4xSc3NzzDPllqKiophnvvzyyzQ3N39h3iTeS3gREREREYPUIIuIiIiI2KhBFhERERGxUYMsIiIiImLj6F+x+Lo5fPjwQJcQFRMfxhk2bFifv9br9Ro5Zon24ZZEq9fEh5LS4uBfR9H6Hdy030QkWr2Ddb+RwUNXkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJik+Tkm3LOnmVcbS1DfT4OP/kkQbebiXv2kH7lCsM8Hg784AeOihl17hwlR4+S7Pfz8aOPEkhJYXx9PaMuXCDt2jX+8u1vD/pcU7WaGrN4qGF4QwOjdu9mqM/HZ888Q3jYMHJqa5n4+99zeM0aghkZjnKHnDtH2uuvA+D9p38iPHYsAEmHDpG+di1d//IvBMvKos4tAf4v8Afg/914bBWQB6QDP3VUrbl6B1oi7TeJtNeYzB2s+42pvQbMrF9Te42pegfaqHPnKD5yhKRAgD2PPkrQ7WbawYMMb28nvbOTnU884Si3oLWV8s8+IzkY5P2FC/EnJzOlsZGCy5fJ8Hr54ze+odx+5JoaN0dXkCfs3cvh732P5lmzGHP0KABnFi7k6IoVJPX0OCoEYPrf/saehx/ms7Iyxp88CUBTSQlJfj/Jfv/XItdUrabGLB5qGP3hh5xetYpLCxeSe+gQAG2zZ9NeXt6velPfew/vs8/iffZZUt99t/fx4MyZ+B591HFuA/Bftz32APDyjfuZDnNN1TvQEmm/SaS9xmTuYN1vTO01YGb9mtprYHDuN1MPHWLv8uWcsq2HE7NmcWDZMlJ8Pse5M+vr2bpgAUcnT2ZKYyMADUVFJAcCpAQCyu1nrqlxc/4WC5cLAOvmf4fDlL/9Nicefthx5J1yrSFD2PvII3hyc3GFw1+P3K+o1piNWRzU0Jt3I7+/3Fu3Qjh8q94Y5X4Z68u/5I4Gqt6vTCLtN4m013yFuYNlv4n1XgMDs36d7jUwyPeb259TOMyC99/nr4sX9yu2d33dzB8yhG0LFtCWmdmvdabcGwyMm6O3WJydP5/yt98mye+nvaiI1I4O7t+yBZdlkX/iBB3jxmENib73PvHAAyzcto3kQIDLY8aQ1tlJ8bFjuLu7Ge7xOMpMtFxTtZoas3io4eLSpUx+6y2G+nxcmziRlLY2Uq9cIfPECQr/+EfOVlXB0KFRZfqWL//8rxCfe47kffuwMjOxUlJI+ctfSKqvp6uwECsrK6rsfOBJYBiRKzhbgb8BL9z4e09UaebrHWiJtN8k0l5jMnew7jcm9howt35N7DUm6x1o9TNmMH/rVpL9fq6MHUtaZyfztm8HoPDUKa6MHeto3v516lSW79tHSiDA+bw8hnd1cd+pUwzz+ci6ft3xWlBuhKlxc1nW3V9HTpw40XrppZccFXwvra2tMc+UW/Lz82Oe+eMf/5gzZ8706TKBqXkzevTomGcClMfg16N3YqreixcvGsk1sS6ffvpp6urqBnTeaL8xS/tNdLTfRAz0flNUVGS98MILX/6FUWpubo55ptxSVFQU88yXX36Z5ubmL8wb/SsWIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxcfSvWPSXiQ91yC0VFRUxz0xLS4t5ZrRMfVjE1Hy81wdg++ORRx4xkrtt27aYZw4bNizmmdHSfmOW9pvoaL+JGKz7jYkPkcktCxYsiHlmxl3+Bz+6giwiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERmyQn35Rz9izjamsZ6vNx+MknCbrdTNyzh/QrVxjm8XDgBz9wVIxyzdUaDxJpHIxqaoJ16yL3n38eCgsj9999F44ehZMn4dVXITm5z5HFnZ08eOkS7lCI3xYX0zN0KH934QKZfj/faG3l/5s7N67qjUYizZtEqtVkbjxIpPE1SvtNn406d47iI0dICgTY8+ijBN1uph08yPD2dtI7O9n5xBPKjcNcUxxdQZ6wdy+Hv/c9mmfNYszRowCcWbiQoytWkNTT47gY5ZqrNR4k0jgYtXkzrF4d+bNp063HH38cXnwR0tLA748q8qGLF3lz0iT2jBrFzKtXAfjzmDEcyMtj96hRcVdvNBJp3iRSrSZz40Eija9R2m/6bOqhQ+xdvpxTZWWMP3kSgBOzZnFg2TJSfD7lxmmuKY6uIAPgcgFg3fzvcJjyP/yBEw8/3L+KlGuu1niQSONgwpYtEA5H6rWs3rp7vfIKrFgB6enRZ99+DIDl58+zYcIEx+UarTcaiTRvEqlWk7nxIJHG1wTtN9G7+bxu/uxwmAXbtvHXxYuVG8+5BjhqkM/On0/522+T5PfTXlREakcH92/ZgsuyyD9xgo5x47CGRH9xWrnmao0HiTQOxqxY8flfIVZXw0cfQVYWbN0KBw9GTgxz5kB2dp9jd44ezQ9OncIdCnFm+HCyfT66hw4lORzmWn9+FWmo3mgk0rxJpFpN5saDRBpfY7TfRKV+xgzmb91Kst/PlbFjSevsZN727QAUnjrFlbFjHY2vcs3mmuKyLOuufzlx4kTrpZde+grLkVioqKiIeebTTz9NXV2d68u/MvHmjYnjBVBeXm4k95FHHjGSu23btphnzp49m9ra2kE5byRC+010tN9EDPR+U1RUZL3wwgsxr0HMWrBgQcwz//Ef/5Hjx49/Yd7ET6suIiIiIhIH1CCLiIiIiNioQRYRERERsVGDLCIiIiJic88P6blcrstA41dXjsSx8ZZljezLF2reiI3mjTiheSNOaN6IE3ecN/dskEVEREREvm70FgsRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxUYMsIiIiImKjBllERERExEYNsoiIiIiIjRpkEREREREbNcgiIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxUYMsIiIiImKjBllERERExCbpXn85bNgwa8SIETH/oUVFRTHPBGhubjaSa+IYAHR2dhrJNaGzs5Pu7m5XX742MzPTGjVqlJEaTPB4PEZyy8rKjOQm0jy/dOkSHo+nT/MmLy/PmjBhQsxrOH36dMwzAdLT043kdnV1GclNJF1dXfh8vj7NG52nInSeiu48lZ2dbRUUFMS8hra2tphnmtTe3m4kd/LkyUZyTWhpaaG9vf0L8+aeDfKIESN46qmnYl7M2rVrY54JUF1dbSS3srLSSG5NTY2RXBPWr1/f568dNWqUkTE2dbxM5dbW1hrJTaR5Hk2tEyZMMHLMqqqqYp4JsGDBAiO5e/fuNZKbSHbs2NHnr9V5KkLnqejOUwUFBWzYsCHmNZjINMlUvYl0HO52jtBbLEREREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsUly8k2Fly5RceoUKcEg782fjz85mdn19WR3djLC62XzkiXOK2pqgnXrIveffx4KCyP3330Xjh6Fkyfh1VchOTk+6o0xU7Um0jGIlqnnVtrTw/KuLlLDYX6Vm0v3kMjryVUdHRQFAvxs5EhnBX/N57gjdztmAL/9LezcCW+8EVXkxPZ25ra04A4GWV9Whi8piQcbGxnp9ZLV08MbM2bErv5+MlVrouVGw9ia0PrVeSpKYy5cYPrx4yQHAvz5oYcIpKRw/5EjZHk8ZFy/Tk1lZVzlTu/u5uFr10i1LNaNHNl77vuHtjYK/X5+MXq0o9xE4+gK8qyTJ6mZN48jkyYxtakJgNqpU9k+Zw7uQKB/FW3eDKtXR/5s2nTr8ccfhxdfhLQ08Pvjp94YM1VrIh2DaJl6bt++fp21OTnsyMhgkdcbeezaNfakpfWv4K/5HHfkbsds+3aYMAEyM6OOXNTUxMbSUg4UFFDe2grA7vHjeWf6dFKDwRgVHhumak203GgYWxNavzpPRans00/ZuXQpJ6ZNY/Lp0wB8Wl7OR4sXkxLlXPkqch/r7OQ/R47kg+HDWdjVFXnM42FverrjzETk6AoygHXzjssVubEsHv3kE3ZVVDivZssWCIcjmZbVm93rlVdgxQpwMEhG6jXEVK2JdAyiZfqY3byd1d1NbihEqc9HTihE29Ch0QVqjkfvXsfsgw9g9Gj461/h1CmYPDmqaOtG1s1j57Isnjx2jJri4hgVHzumak203KhquHknVmtC67eXzlPRuf1c4rIsluzcySdz5yZE7kyvl5xQiOk+H9nBIO1JjtvHhOHoGR6aMoXK/ftJCQQ4n5fH8K4ulh84gAsobmmhJTcXa4iDi9MrVnz+11fV1fDRR5CVBVu3wsGDkU1pzhzIzh74eg0wVWsiHYNomXpu72ZkUN3WRqplUZ+SQl4wyJpRowAoCASib45Bc9yJex2zX/wi8tjZs1E3xx+PG0dVXR0poRBNmZlk9vTw/WPHcAGlly/TmJXV2+QNNFO1JlpuNIysCa1fQOepaB0tK2Ppzp0kBwK05ueTcf0639i1CyyLCY2NtObnO3pepnL/NGIE/3z5MsMsi3q3m7xgkJ+OGQNAgd//tWiOwWGD3DxqFM03GoWbNi1dGot6YNw4+I//uPXfN9/fdf/9jiON1htjpmpNpGMQLVPPrS41lbrU1Dv+neP3H8PXfo47crdjdtOvfhV15JnsbM7c1sT8ZuZMJ9UZZ6rWRMuNhrE1ofWr81SULowdy4WxYz/32J++9a24zT02bBjHhg274999Xd5/DPpXLEREREREPkcNsoiIiIiIjRpkERERERGbe74HuaioiLVr18b8h667+QGHGKuurjaSW1JSYiS30uG/Ufhligf4E/idnZ3U1NTEPNfUvGloaDCSm2jz3MR8bG5u7vPXnj59mqqqqpjXsHLlyphnAkZqBZg/f76RXFOKiooG/OfrPKXzVLTa2trYsGFDzHOPHTsW80yAjRs3Gsm1LOvLv8gBU/vjmjVrjOTeia4gi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMQmyfF3NjXBunWR+88/D4WFkfvvvgtHj8LJk/Dqq5Cc3OfIkc3NTD58mCS/n32PPUbQ7abo+HFmb9/Oe889hz8tzXG5SefPk/nmmwB0PPMMoTFjAHAfPkz2r39N2+rV+EtLo8qcATwBpAH/BniBh288fhV43UGdkz0eFrW24g6FeLOkBF9SEjMuX2bStWtk+f28Pm2ag1QovHSJilOnSAkGeW/+fPzJycyurye7s5MRXi+blyxxlBsPNZgYBzAzZxJtjpf29LC8q4vUcJhf5ebSPSTymnpVRwdFgQA/GznScb19NbG9nbktLbiDQdaXleFLSuLBxkZGer1k9fTwxowZjnKHXblCSU0NAA3f+hbdubkAZH/2GdPffpu6qio8EyZElWlqLk7p6mJpWxupoRCvFRXRM3Qoczs6KPF6yQkEWDd+fFzlmhqzqOgcZWw+Dtbz1JgLF5h+/DjJgQB/fughAikp3H/kCFkeDxnXr1NTWeko907rofziRcZ7PGT19PBWRYWjXFPjC9x9/ey3KQYfAAAgAElEQVTfDz//OaxZAw88EFWkqeNgivMryJs3w+rVkT+bNt16/PHH4cUXIS0N/P6oIqccPMgnlZWcLi9nXH09AM3Tp9NSXOy4zJvSt27Fs2oVnlWryHj//d7HfRUVdC1b5ijzaWAN8AcikxJgFRDG+YFdcuEC/11czN78fGZevQrA4bw83KEQqcGgw1SYdfIkNfPmcWTSJKY2NQFQO3Uq2+fMwR0IOM6NhxpMjAOYmTOJNse/ff06a3Ny2JGRwSKvN/LYtWvs6UcjEK1FTU1sLC3lQEEB5a2tAOweP553pk/v15oo3LePhspKGiorKdy3r/fx9uJiWubOdZRpai4+cuUKrxcWsisnh7keDwC1mZm4w2FSQ6G4yzU1ZlHROcrYfBys56myTz9l59KlnJg2jcmnTwPwaXk5Hy1eTEqUc8XuTuvh0/x83MEg7n4cL1PjC9x9/cydC9/9rqNIU8fBFGfHcMsWCIfB5Yr8983bm155BVasgPT06LNvZFmOCruztA8+wHWvevvBuu02H/glMBHIcRp62zEIu1z8b0kJF9PSGGI5PzK933kj32VZVO7bx66v8FWbqRpiPQ4m50yiz/FZ3d086PVS6vOR048mKqoabjtmLstiZV0dNQ4bkzG1tbhsa8mK9z3hDrlhl4vfFBZyPjU1JvtCzHNjPGZR0Tmql6n5OFjPU7cfL5dlsfTDD/nE4Yvm3tzbjpflcrHpvvtozcj43F4Ude5ttzEZ3y9bP/1g6jiY4OwtFitWfP7ye3U1fPQRZGXB1q1w8CBYFsyZA9nZfY49OXMmc2tqSPb7uTJ2LGmdnWR0dDD67Fnu372bQ8uWYQ2Jvqf3fvOb+O2/vlq1itQDBwiPGIGVkkLa7t2kNDTQXlBAODOzz7m/J/LqLQ04QmRi/g/wr8AwoD3qSmHXmDH8fUMD7lCIM8OHk+3zMa+1lYxgkLyeHsIOJ+qhKVOo3L+flECA83l5DO/qYvmBA7iA4pYWWnJzHR3beKjBxDiYmjOJNsffzciguq2NVMuiPiWFvGCQNaNGAVAQCNA2dGjUtUbr43HjqKqrIyUUoikzk8yeHr5/7BguoPTyZRqzsqJucC/Mnk3HlSsU37hS91llJXnHj+NPTyeclMTow4fJbG7meF4egYyMPueamIsA23Nzee7cOdzhMKfS0sjx+1nc3k5GKES+z+d4XzCVa2LMoqJzFGBuPg7W89TRsjKW7txJciBAa34+Gdev841du8CymNDYSGt+vqOff6f1MPv8edL9fnK7ux2vBVPje8/143bDtm1QVwfjx0e1fkwdB1Nc1j069tmzZ1u1tbUx/6Hrbh70GKt0+P6gL1NSUmIk11S9xQau0Kxfv57W1tY+zd78/HzrqaeeinkNpuZNQ0ODkdyaG+9vjTVT88ZEbnNzMz09PX2aNzk5OdYyh79KvpeVK1fGPBOgqqrKSO78+fON5JpSVFQU88wdO3bQ1tbWp3mj81SEzlPRnafGjh1r/fCHP4x5DceOHYt5JsDGjRuN5N6rB+wPU/vjmjVrYp5ZVVXF0aNHvzBv9K9YiIiIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETE5p7/ikVzczPV1dUx/6EmMiHxPqQwWHk8HiMfUNOH6SJMzfPVq1fHPHP9+vV9/tr09HQWLFgQ8xr0YbrBTeepCJ2n4kOifZjOVL0bNmwwklsa5f8spy/OnDlzx8d1BVlERERExEYNsoiIiIiIjRpkEREREREbNcgiIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNklOvqnw0iUqTp0iJRjkvfnz8ScnM7u+nuzOTkZ4vWxessR5QefPk/nmmwB0PPMMoTFjAHAfPkz2r39N2+rV+EtLo8qcATwBpAH/BniBh288fhV43WGtkz0eFrW24g6FeLOkBF9SEjMuX2bStWtk+f28Pm1aXGSC2THrq9KeHpZ3dZEaDvOr3Fy6h0Ren63q6KAoEOBnI0c6zjYxb0Y2NzP58GGS/H72PfYYQbebouPHmb19O+899xz+tLS4qdXUHI+HeWOKiWM2pauLpW1tpIZCvFZURM/Qoczt6KDE6yUnEGDd+PGOak203Int7cxtacEdDLK+rAxfUhIPNjYy0uslq6eHN2bMcJQbDVNzN5HWr6nzyWA9T425cIHpx4+THAjw54ceIpCSwv1HjpDl8ZBx/To1lZWOck2NLwBNTbBuXeT+889DYWHk/v798POfw5o18MADUUVmnT5Nwf79JPl8HH3qKUKpqeQfPsy0d95hz49+RCA9Pa7qnd7dzcPXrpFqWawbObK3t/iHtjYK/X5+MXq0o1IdXUGedfIkNfPmcWTSJKY2NQFQO3Uq2+fMwR0IOCrkpvStW/GsWoVn1Soy3n+/93FfRQVdy5Y5ynwaWAP8gcikBFgFhOnfJfQlFy7w38XF7M3PZ+bVqwAczsvDHQqRGgzGTSaYHbO++vb166zNyWFHRgaLvN7IY9euscdho2lnYt5MOXiQTyorOV1ezrj6egCap0+npbg47mo1NcfjYd6YYuKYPXLlCq8XFrIrJ4e5Hg8AtZmZuMNhUkMhx7UmWu6ipiY2lpZyoKCA8tZWAHaPH88706f3ax+Lhqm5m0jr19T5ZLCep8o+/ZSdS5dyYto0Jp8+DcCn5eV8tHgxKX6/41xT4wvA5s2wenXkz6ZNtx6fOxe++11HkeM+/phjK1fSMmcO+UeOANBaUcHlKF/4fVX1PtbZyX+OHMkHw4ezsKsr8pjHw97+NPL0Y2ysm3dcrsiNZVG5bx+7KiocF5P2wQe4wuHezN7bGLBuu80HfglMBHL6E3yjxpu5YZeL/y0p4WJaGkMs6+7f91VnYmbMnNZw83ZWdzcPer2U+nzkODwhm5w3t49FfyXiHI+HeWOKiWN2e2bY5eI3hYWcT02NyfpNmNzb1o7LslhZV0dNP19gRlXDzTsxmruJuH5NnU8G63nq9nFwWRZLP/yQT+bOjWluTMZ3yxYwNR9NnE9N1nvb7Uyvl4VdXUz3+ch2+KLN0VssDk2ZQuX+/aQEApzPy2N4VxfLDxzABRS3tNCSm4s1JPre2/vNb+K3//pq1SpSDxwgPGIEVkoKabt3k9LQQHtBAeHMzD7n/p7Iq7c04AiRifk/wL8Cw4D2qCuN2DVmDH/f0IA7FOLM8OFk+3zMa20lIxgkr6eHsIPBN5EJ5sYsGu9mZFDd1kaqZVGfkkJeMMiaUaMAKAgEaBs61FGuqXlzcuZM5tbUkOz3c2XsWNI6O8no6GD02bPcv3s3h5Yti/qYJdocj4d5Y4qJY7Y9N5fnzp3DHQ5zKi2NHL+fxe3tZIRC5Pt8jtdvouV+PG4cVXV1pIRCNGVmktnTw/ePHcMFlF6+TGNW1q0TsCEm5m6irV9T55PBep46WlbG0p07SQ4EaM3PJ+P6db6xaxdYFhMaG2nNz3f0802NLytWfP4tC9XV8NFHkJUFbjds2wZ1dTB+PGRn9zm2adEi7tuwgaF+P55x43B3dJB29Sq5DQ2Et23jxHe+A07GwVC9fxoxgn++fJlhlkW9201eMMhPb7z1qcDvpz3JUauLy7rHK738/HzrqaeechR8L9XV1THPBCgpKTGSW+nwfUcDpdjAFZr169fT2trap10vNTXVKioqinkNNTU1Mc80mWtq3pia56tXr455ZjTzpqioyHrhhRdiXoOJTID58+cbyU00Jtb6jh07aGtr69O80XkqQuep6PabsWPHWj/84Q9jXsO///u/xzwT4F69Wn9s3LjRSO7KlSuN5JbG4m0etzlz5gzd3d1fmDeJeelHRERERMQQNcgiIiIiIjZqkEVEREREbNQgi4iIiIjY3POjfSNGjDDyxn99SGFwKysro7a2Nua5625+8jXGEu3DdIN1nnd1dbF3796Y5+rDdIObzlPiRHt7Oxs2bIh5rj5MF+Ey9K/U/OQnP4l55muvvXbHx3UFWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2SQNdgN0M4AkgDfg3wAs8fOPxq8DrDnMnezwsam3FHQrxZkkJvqQkZly+zKRr18jy+3l92rS4yTVVa+GlS1ScOkVKMMh78+fjT05mdn092Z2djPB62bxkiaPcqDU1wbp1kfvPPw+FhZH7774LR4/CyZPw6quQnNznyJHNzUw+fJgkv599jz1G0O2m6PhxZm/fznvPPYc/Lc1RqUnnz5P55psAdDzzDKExYwBwHz5M9q9/Tdvq1fhLS6PKTLQ5Hg/zZmJ7O3NbWnAHg6wvK8OXlMSDjY2M9HrJ6unhjRkzHOVO6epiaVsbqaEQrxUV0TN0KHM7OijxeskJBFg3fnxcZCZirqkxG2iJtn4TLXeg95vp3d08fO0aqZbFupEj6R4SuYb4D21tFPr9/GL0aOfhdzv37d8PP/85rFkDDzwQVWTW6dMU7N9Pks/H0aeeIpSaSv7hw0x75x32/OhHBNLT46peU+tnzIULTD9+nORAgD8/9BCBlBTuP3KELI+HjOvXqamsdJQbV1eQnwbWAH8gctAAVgFh+lfokgsX+O/iYvbm5zPz6lUADufl4Q6FSA0G4yrXVK2zTp6kZt48jkyaxNSmJgBqp05l+5w5uAMBx7lR27wZVq+O/Nm06dbjjz8OL74IaWng90cVOeXgQT6prOR0eTnj6usBaJ4+nZbi4n6Vmr51K55Vq/CsWkXG++/3Pu6rqKBr2TJHmYk2x+Nh3ixqamJjaSkHCgoob20FYPf48bwzfXq/ntsjV67wemEhu3JymOvxAFCbmYk7HCY1FIqbzETMNTVmAy3R1m+i5Q70fvNYZyf/OXIkHwwfzsKurshjHg97+9No3nS3c9/cufDd7zqKHPfxxxxbuZKWOXPIP3IEgNaKCi5HeeHmq6rX1Pop+/RTdi5dyolp05h8+jQAn5aX89HixaRE2U/YxVWDDGDddpsP/BKYCOT0J9jl+lxu2OXif0tKuJiWxhDLuvv3DUSuoVp7v/NGvsuyqNy3j10VFY4zo7JlC4TDvT+/9/amV16BFSvAyWZ02zHrr7QPPsB1r1r7IdHm+IDPG8C67bm5LIuVdXXU9PNF0O1jEXa5+E1hIedTUx0fMxOZCZlraMwGWqKt30TLHej95vbxnen1srCri+k+H9lOm/8vO/f1g2Ug02i9t93Gav3cnuuyLJZ++CGfzJ3rODOu3mLxeyKvLtKAI0QO3P8A/woMA9od5u4aM4a/b2jAHQpxZvhwsn0+5rW2khEMktfTQ9jh4JvINVXroSlTqNy/n5RAgPN5eQzv6mL5gQO4gOKWFlpyc7GGGH69tGLF539tU10NH30EWVmwdSscPAiWBXPmQHZ2n2NPzpzJ3Joakv1+rowdS1pnJxkdHYw+e5b7d+/m0LJlUT837ze/id/+FotVq0g9cIDwiBFYKSmk7d5NSkMD7QUFhDMz+5ybaHM8HubNx+PGUVVXR0ooRFNmJpk9PXz/2DFcQOnlyzRmZd06SURhe24uz507hzsc5lRaGjl+P4vb28kIhcj3+RwdMxOZiZhraswGWqKt30TLHej95k8jRvDPly8zzLKod7vJCwb56Y231hX4/bQnOWyZ7nXuc7th2zaoq4Px46M69zUtWsR9GzYw1O/HM24c7o4O0q5eJbehgfC2bZz4znfAyfEyVK+p9XO0rIylO3eSHAjQmp9PxvXrfGPXLrAsJjQ20pqf72jeuKx7vNIrKSmx1q5d67Dku/vWt74V80yASofvMxlsig1coVm/fj2tra192vVmz55t1dbWxryGdTcXa4yZmjclJSVGck3VO9DzJicnx1rm8K0r99Lc3BzzTLmlqKgo5pk7duygra2tT/NG56nENND7zbBhw6yJEyfGvIZjx47FPBNg48aNRnJXrlxpJNdl6AXwT37yk5hnvvbaa5w/f/4LBcfdWyxERERERAaSGmQRERERERs1yCIiIiIiNmqQRURERERs7vmRzM7OTmpqamL+Q/UhhcGtubmZ6urqmOeayITE+zCdiNyi85Q4MXnyZDZs2BDz3KqqqphnAkZqBXMfpjP14b+vkq4gi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMQmyck3FV66RMWpU6QEg7w3fz7+5GRm19eT3dnJCK+XzUuWOCpmssfDotZW3KEQb5aU4EtKYsbly0y6do0sv5/Xp00b9LmmajU1ZvFSQ9L582S++SYAHc88Q2jMGADchw+T/etf07Z6Nf7S0qgyZwBPAGnAvwFe4OEbj18FXndQZyLNRYiPeTOxvZ25LS24g0HWl5XhS0riwcZGRnq9ZPX08MaMGY5yp3R1sbStjdRQiNeKiugZOpS5HR2UeL3kBAKsGz8+LjITMdfUmEXDxNxNtPWbaLnxsN+YcKf1UH7xIuM9HrJ6enirosJ5eFMTrFsXuf/881BYGLm/fz/8/OewZg088EBUkSbOfWDuOIy5cIHpx4+THAjw54ceIpCSwv1HjpDl8ZBx/To1lZWOch1dQZ518iQ18+ZxZNIkpjY1AVA7dSrb58zBHQg4KgRgyYUL/HdxMXvz85l59SoAh/PycIdCpAaDX4tcU7WaGrN4qSF961Y8q1bhWbWKjPff733cV1FB17JljjKfBtYAfyCyOQCsAsI4/9VLIs1FiI95s6ipiY2lpRwoKKC8tRWA3ePH88706f16bo9cucLrhYXsyslhrscDQG1mJu5wmNRQKG4yEzHX1JhFw8TcTbT1m2i58bDfmHCn9fBpfj7uYBB3f9fD5s2wenXkz6ZNtx6fOxe++11HkSbOfWDuOJR9+ik7ly7lxLRpTD59OpJbXs5HixeT4vc7znX8XK2bd1yuyI1lUblvH7v680rIlnczP+xy8b8lJVxMS2OIZd39+wZTrqFajY3ZANeQ9sEHuMLh3sze2xiwbrvNB34JTARynIYm0lwkTubNbc/NZVmsrKujpri4f7m33YZdLn5TWMj51FTHx8xEZkLmGhqzqGq4eSeWczfB1m+i5cbDfmPC7evBcrnYdN99tGZk4HJ6vLZsgUQ692HoOPDFel2WxdIPP+STuXMdZzp6i8WhKVOo3L+flECA83l5DO/qYvmBA7iA4pYWWnJzsYZE33vvGjOGv29owB0KcWb4cLJ9Pua1tpIRDJLX00PY4eAnUq6pWk2NWTzU4P3mN/Hb32KxahWpBw4QHjECKyWFtN27SWlooL2ggHBmZp9zf0/kVXQacITIBvE/wL8Cw4D2qCtNrLkI8TFvPh43jqq6OlJCIZoyM8ns6eH7x47hAkovX6YxK6t3043G9txcnjt3Dnc4zKm0NHL8fha3t5MRCpHv8zk6ZiYyEzHX1JhFw8TcTbT1m2i58bDfmHCn9TD7/HnS/X5yu7udr4UVKz7/FovqavjoI8jKArcbtm2DujoYPx6ys/sca+LcB+aOw9GyMpbu3ElyIEBrfj4Z16/zjV27wLKY0NhIa36+o3njsu7Rsefn51tPPfWUo4Lv5bPPPot5ptxSbOAKzfr162ltbe3T7DU1b6qrq2OeCVBSUmIkt9Lh+54GykDPm5ycHGuZw7fD3Etzc3PMM+WWoqKimGfu2LGDtra2Ad1vdJ4ya6D3m7KyMmvDhg0xr2HNmjUxzwQwUSuAy9AL1ZUrVxrJLY3ys0R98dprr3H+/PkvHIjEeykmIiIiImKQGmQRERERERs1yCIiIiIiNmqQRURERERsHP0rFv1l4s35couJD4fV1NT0+WtHjBhhpAZTH3pbvXq1kdxEM9DzxhQTHyKTWxYsWBDzzL1798Y8M1o6T5k1WPcbUx/SM/HhNICf/OQnRnJNqaqqinnmJvu/H22jK8giIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsUly8k2Fly5RceoUKcEg782fjz85mdn19WR3djLC62XzkiWOilGuuVoHs9KeHpZ3dZEaDvOr3Fy6h0Re963q6KAoEOBnI0c6yk2k8R3M82ZieztzW1pwB4OsLyvDl5TEg42NjPR6yerp4Y0ZM+ImN5FqNZkbD7R+Ey9XojO9u5uHr10j1bJYN3Jk77nvH9raKPT7+cXo0Y5yx1y4wPTjx0kOBPjzQw8RSEnh/iNHyPJ4yLh+nZrKyrjKNcXRFeRZJ09SM28eRyZNYmpTEwC1U6eyfc4c3IGA42KUa67Wwezb16+zNieHHRkZLPJ6I49du8aetLR+5SbS+A7mebOoqYmNpaUcKCigvLUVgN3jx/PO9OmkBoNxlZtItZrMjQdav4mXK9F5rLOT/xw5kg+GD2dhV1fkMY+Hvenp/cot+/RTdi5dyolp05h8+jQAn5aX89HixaT4/XGXa4qjK8gA1s07LlfkxrJ49JNP2FVR0a+ClGuu1sHMuu12Vnc3uaEQpT4fOaEQbUOH9is3EcZ3MM8b68ZzuvkcXZbFk8eOUVNcHHe5iVSrydx4oPWbeLkSndvPfTO9XnJCIab7fGQHg7QnOWvzbs91WRZLdu7kk7lz+1GtuVwTHB25Q1OmULl/PymBAOfz8hje1cXyAwdwAcUtLbTk5mINif7itHLN1TqYvZuRQXVbG6mWRX1KCnnBIGtGjQKgIBBw3Bwn0vgO5nnz8bhxVNXVkRIK0ZSZSWZPD98/dgwXUHr5Mo1ZWb1N3kDnJlKtJnPjgdZv4uVKdP40YgT/fPkywyyLerebvGCQn44ZA0CB3++4OT5aVsbSnTtJDgRozc8n4/p1vrFrF1gWExobac3PdzS+pnJNcVmWdde/zM/Pt5566qmvsByJhUoD7+Oprq6moaGhT2fKkpISa+3atUZqMMHE8UpEAz1vcnJyrGXLlsW8BjFrwYIFMc98+eWXaW5u7tO80XkqMQ30flNWVmZt2LAh5jWY8uSTTxrJraqqMpJriol6q6qqOHr06BfmTfy06iIiIiIicUANsoiIiIiIjRpkEREREREbNcgiIiIiIjb3/JCey+W6DDR+deVIHBtvWVaf/o8bmjdio3kjTmjeiBOaN+LEHefNPRtkEREREZGvG73FQkRERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxUYMsIiIiImKjBllERERExEYNsoiIiIiIjRpkEREREREbNcgiIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxSbrXX2ZmZlqjRo2K+Q/t7OyMeWYi8ng8RnKLiopinnnp0iU8Ho+rL1+reRNhanzLysqM5DY3N8c8s7Ozk+7u7gGdNyaeFyTWOACMGDHCSK6Jdal5Ez3Nm+jmTV5enjVhwoSY13D69OmYZwKkp6cbye3q6jKSm0i6urrw+XxfmDf3bJBHjRrF2rVrY15MTU1NzDMTkanjYGLMqqur+/y1mjcRpuqtra01khvNGPfV+vXr+/y1puaNiecFiTUOAJWVlUZyTcxzzZvoad5EN28mTJhgZCyqqqpingmwYMECI7l79+41kptIduzYccfH9RYLEREREREbNcgiIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQR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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(4,5,figsize=[10,10])\n", "for ax,(i,cat) in zip(axs.flatten(),training):\n", " res1=convolve(i,kern1,mode='constant',cval=0)\n", " _= text_grid_array(res1,fontsize=6,fmt='%.1f',ax=ax)\n", " _= ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", "\n", "_=fig.suptitle('Training Set Convolution with kern1',fontsize=22)\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_011.png')" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "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IVVVVWYsyxYUFNjNmzdHPAdxq7i4OOIxx9NuFi9ebLdu3RrxHMQt9TcSDvU3Eo7J7G+uiTHIIiIiIiJjpQJZRERERMRHBbKIiIiIiI8KZBERERERn1Ev0jPGnAUaJy8diWE3WGuvH8uCajfio3Yj4VC7kXCo3Ug4hm03oxbIIiIiIiLXGg2xEBERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8VCCLiIiIiPioQBYRERER8VGBLCIiIiLiowJZRERERMRHBbKIiIiIiI8KZBERERERHxXIIiIiIiI+KpBFRERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFRgSwiIiIi4qMCWURERETERwWyiIiIiIiPCmQRERERER8VyCIiIiIiPiqQRURERER8kkabmZ2dbefOnTtJqUxcQ0ODk7jz5893EteVrq6uiMdsaWmhvb3djGXZeGs3LraXeMbTbqZNm2azsrIinkNOTk7EY7qk9qj+RsITC+2mo6Mj4jEBMjMzncR95513nMRdsmSJk7gu/PrXv+bcuXMfaTejFshz586lqqrKXVYRtnr1aidxd+zY4SSuKwcOHIh4zPXr14952XhrNy62l3jG026ysrLYuHFjxHN45plnIh7TJbVH9TcSnlhoN2VlZRGPCVBcXOwkbkFBgZO48XRMFhYWDjtdQyxERERERHxUIIuIiIiI+KhAFhERERHxUYEsIiIiIuKjAllERERExEcFsoiIiIiIjwpkEREREREfFcgiIiIiIj4qkEVEREREfFQgi4iIiIj4qEAWEREREfFJinYCk2He+fPceeIEgcuXeXXJEoJJSXymsZGMYJClzc188777op2ic+m1tWTt2UNiby9NTz7JQFoaM8rLCbS0kNzWRuPGjdFOMea42Gau9kO8xR2PTzQ3k3/0KEmXLvGLBx7gciAAwK379pHZ2srez3/eeQ7RFm/7NxbaTTyJt/0Qb3GjLaO+npyKChKDQerWrqU/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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(4,5,figsize=[10,10])\n", "\n", "for ax,(i,cat) in zip(axs.flatten(),training):\n", " res1=convolve(i,kern1,mode='constant',cval=0)\n", " _=text_grid_array(relu(res1),fontsize=6,fmt='%.1f',ax=ax)\n", " _=ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", "\n", "_=fig.suptitle('ReLU of Convolution with kern1',fontsize=22)\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_012.png')" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(4,5,figsize=[8,8])\n", "for ax,(i,cat) in zip(axs.flatten(),training):\n", " res1=convolve(i,kern1,mode='constant',cval=0)\n", " tmp= max_pool(relu(res1))\n", " _=text_grid_array(tmp,fontsize=6,fmt='%.1f',ax=ax)\n", " _=ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", "\n", "_=fig.suptitle('Max-pool of ReLU Output for kern1',fontsize=22)\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_013.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

The output of convolving the training data in [Figure](#fig:image_processing_009) with kern1, as shown on the left panel of [Figure](#fig:image_processing_010).

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The output of the rectified linear unit activation function with the input shown in [Figure](#fig:image_processing_011).

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "

The output of maximum pooling operation with the input shown in [Figure](#fig:image_processing_012) for fixed image kernel kern1.

\n", "\n", "\n", "\n", "\n", "\n", "### Convolutional Neural Network Using Keras\n", "\n", "Now that we have experimented with the individual operations using our own\n", "Python code, we can construct the convolutional neural network using Keras. In\n", "particular, we use the Keras functional interface to define this neural\n", "network because that makes it easy to unpack the operations at the individual\n", "layers." ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "from keras import metrics\n", "from keras.models import Model\n", "from keras.layers.core import Dense, Activation, Flatten\n", "from keras.layers import Input\n", "from keras.layers.convolutional import Conv2D\n", "from keras.layers.pooling import MaxPooling2D\n", "from keras.optimizers import SGD\n", "from keras import backend as K\n", "from keras.utils import to_categorical" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the names of the modules are consistent with their \n", "operations. We also need to tell `Keras` how to manage the input images," ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [], "source": [ "K.set_image_data_format('channels_first') # image data format\n", "inputs = Input(shape=(1,6,6)) # input data shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Now we can build the individual convolutional layers. Note the specification of\n", "the activations at each layer and placement of the `inputs`.`" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "W0827 13:30:23.762012 140166438127424 deprecation_wrapper.py:119] From /home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py:3976: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.\n", "\n" ] } ], "source": [ "clayer = Conv2D(2,(3,3),padding='same',\n", " input_shape=(1,6,6),name='conv',\n", " use_bias=False,\n", " trainable=False)(inputs)\n", "\n", "relu_layer= Activation('relu')(clayer)\n", "maxpooling = MaxPooling2D(pool_size=(2,2),\n", " name='maxpool')(relu_layer)\n", "flatten = Flatten()(maxpooling)\n", "softmax_layer = Dense(2, \n", " activation='softmax',\n", " name='softmax')(flatten)\n", "model = Model(inputs=inputs, outputs=softmax_layer)\n", "# inject fixed kernels into convolutional layer\n", "fixed_kernels = [np.dstack([kern1,kern2]).reshape(3,3,1,2)]\n", "model.layers[1].set_weights(fixed_kernels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Observe that the functional interface means that each layer is\n", "explicitly a function of the previous one. Note that `trainable=False` for the\n", "convolutional layer because we want to inject our fixed kernels into it at the\n", "end. The `flatten` layer reshapes the data so that the entire processed image\n", "at the point is fed into the `softmax_layer`, whose output is proportional to\n", "the probability that the image belongs to either class. The `set_weights()`\n", "function is where we inject our fixed kernels. These are not going to be\n", "updated by the optimization algorithm because of the prior `trainable=False`\n", "option. With the topology of the neural network defined, we now have to choose\n", "the optimization algorithm and pack all of this configuration into the model\n", "with the `compile` step." ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "lr = 0.01 # learning rate\n", "sgd = SGD(lr=lr, decay=1e-6, momentum=0.9, nesterov=True)\n", "model.compile(loss='categorical_crossentropy',\n", " optimizer=sgd,\n", " metrics=['accuracy',\n", " metrics.categorical_crossentropy])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The `metrics` specification means that we want to training process to\n", "keep track of those named items. Next, we generate some training data using our\n", "`gen_rand_slash` function with the associated class of each image (`1` or `0`).\n", "Most of this code is just shaping the tensors for Keras. The final\n", "`model.fit()` step is where the internal weights of the neural network are\n", "adjusted according to the given inputs." ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "# generate some training data\n", "ntrain = len(training)\n", "t=np.dstack([training[i][0].T \n", " for i in range(ntrain)]).T.reshape(ntrain,1,6,6)\n", "y_binary=to_categorical(np.hstack([np.ones(ntrain//2),\n", " np.zeros(ntrain//2)]))\n", "# fit the configured model\n", "h=model.fit(t,y_binary,epochs=500,verbose=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With that completed, we can investigate the functional mapping of each layer \n", "with `K.function`. The following creates a mapping between the input layer and\n", "the convolutional layer," ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [], "source": [ "convFunction = K.function([inputs],[clayer])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Now, we can feed the training data into this function as see the output of \n", "just the convolutional layer, which is shown," ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "image/png": "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fE3QfhO7m8/r5s+ORFi4bRt/WbJEuYmca4CjBvnsggWUv/02KYEA7UVFpHV0cP+WLbgsi/wTJ+gYPx5rSOwXp5VrrtZEkEzjYMyKFZ//FWJ1NXz0EWRlwdatcPBg9MQwdy5kZ/c5dueYMfzg1Ck84TBnRowg2++ne+hQUiMRrvXnV5GG6o1FMs2bZKrVZG4iSKbxNUb7TUzqZ85kwdatpAYCXBk3jvTOTuZv3w5A4alTXBk3ztH4Ktdsrikuy7Lu+peTJk2yXn755a+wHImHioqKuGc+88wz1NXVub78K5Nv3pg4XgDl5eVGch999FEjudu2bYt75pw5c6itrR2U80aitN/ERvtN1EDvN0VFRdaLL74Y9xrErIULF8Y98+///u85fvz4F+ZN4rTqIiIiIiIJQA2yiIiIiIiNGmQRERERERs1yCIiIiIiNvf8kJ7L5boMNH515UgCm2BZ1qi+fKHmjdho3ogTmjfihOaNOHHHeXPPBllERERE5OtGb7EQEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGzUIIuIiIiI2KhBFhERERGxUYMsIiIiImKjBllERERExEYNsoiIiIiIjRpkEREREREbNcgiIiIiIjZqkEVEREREbNQgi4iIiIjYqEEWEREREbFRgywiIiIiYqMGWURERETERg2yiIiIiIiNGmQRERERERs1yCIiIiIiNmqQRURERERs1CCLiIiIiNioQRYRERERsVGDLCIiIiJiowZZRERERMRGDbKIiIiIiI0aZBERERERGzXIIiIiIiI2apBFRERERGxS7vWXw4YNs0aOHBn3H1pUVBT3TIDm5mYjuSaOAUBnZ6eRXBM6Ozvp7u529eVrMzMzrdGjRxupwQSv12skt6yszEhuMs3zS5cu4fV6+zRv8vLyrIkTJ8a9htOnT8c9E2D48OFGcru6uozkJpOuri78fn+f5o3OU1E6T8V2nsrOzrYKCgriXkNbW1vcM01qb283kjtlyhQjuSa0tLTQ3t7+hXlzzwZ55MiRPP3003EvZu3atXHPBKiurjaSW1lZaSS3pqbGSK4J69ev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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=draw_ndimage(convFunction([t])[0][:,0,:,:],4,5)\n", "_=fig.suptitle('Keras convolution layer output given kern1',fontsize=22);\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_015.png')" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "image/png": "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wNz8ltDQ0ODYGOMwrS9xqW4kCNWNBKG6kSCmqpvwvRUTEREREbFIDbKIiIiIiI8aZBERERERHzXIIiIiIiI+035JzxjzHvAvty4dKWAfcRxnUSY3VN2Ij+pGglDdSBCqGwkibd1M2yCLiIiIiNxudIiFiIiIiIiPGmQRERERER81yCIiIiIiPmqQRURERER81CCLiIiIiPioQRYRERER8VGDLCIiIiLiowZZRERERMRHDbKIiIiIiI8aZBERERERHzXIIiIiIiI+apBFRERERHzUIIuIiIiI+KhBFhERERHxUYMsIiIiIuKjBllERERExEcNsoiIiIiIjxpkEREREREfNcgiIiIiIj5qkEVEREREfNQgi4iIiIj4qEEWEREREfFRgywiIiIi4qMGWURERETERw2yiIiIiIiPGmQRERERER81yCIiIiIiPmqQRURERER81CCLiIiIiPioQRYRERER8VGDLCIiIiLiowZZRERERMRHDbKIiIiIiI8aZBERERERHzXIIiIiIiI+apBFRERERHzUIIuIiIiI+KhBFhERERHxUYMsIiIiIuJTNN2Vd9xxh1NRUZHzB7URE2B4eNhK3Lq6Oitxz549ayWujXwvXrzI0NCQyeS2lZWVzuLFi3OeQ19fX85jAlRWVlqJGzY2tsts6sbWfBO27Tds9ZjvutF8E075rhtb840t6ptcNrbL4eFhrl27dkPdTNsgV1RUsG3btpwn09LSkvOYAJ2dnVbidnR0WInb0NBgJa6NfNvb2zO+7eLFi/OeQzZs1WPY2FgP2YyZrfkmbNtv2Oox33Wj+Sac8l03tuYbW9Q3uWxsl3v37k27XIdYiIiIiIj4qEEWEREREfFRgywiIiIi4qMGWURERETERw2yiIiIiIiPGmQRERERER81yCIiIiIiPmqQRURERER81CCLiIiIiPioQRYRERER8VGDLCIiIiLiUxTkTssuXqTx/HlK4nFeXLeOaHExTV1dVA0PUzE6yv4NG3Kd54xYy7e3F3btcn/fvh2WLXN/P3AAzp6F7m7YvRuKizMOuWpsjM0jI5QlEjxVXc21Oe57mNbBQepiMb64aFGwXGcxW+vMRt3YqsWwbZPZ0ParuikUGl+7cfNN68tlNV8L866tfAPtQV7T3U3n2rWcWb6clb29AJxYuZJDzc2UxmKBErHJWr7790Nbm/uz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lpZSP20aT5w+DcCRggL2P/00boc9aCJTueEj0vYz5QZnwr59NLzwAm0lJaR98w0AF0pLObl8ObF9fcavP1yYuh8iLTesXkEGICoKAOvG3wMBCj7+mPoFC344uZFUazC2b4dAYKgOy7pZz03vvANlZZCU9GDqGQ6t78PvG4Os275GWRb/X2UlX86ZE1aZyg0jkbafKTcoN6/3xvEpEGDq1q00LV78QK4/XJi6HyIpN6wG5OaSEgrKy4n1+eicOJH4K1eYsX07UZZFRn09VyZNwooO/kXvSMqNpFqDVlZ260cs1q2D/fthzBjYtQuqq4cG59mzITXVbC3DoPUNk74xxJOfT2llJS6/n/aMDEb19DBv3z6wLHLOnKE9IyPo22YiU7nhI9L2M+UGp2XePKZu3UqM10t3Tg5xnZ3kffghWBbjPB6u5uRATIyx6w8Xpu6HSMuNsizrnv84ffp0a+vWrUGHfp/a2tqQZ4pZ69evp6mpKer7vxOKi4utqqqqkNdQV1cX8kxQP5oUTN88+eST1qZNm0JeQ2VlZcgzxazNmzfT0tIyrL7RcUpuCObxJi8vz3r77bdDXkNRUVHIM02qrq5+2CU8dK+//jqNjY139E3kPYUXERERETFIA7KIiIiIiI0GZBERERERGw3IIiIiIiI29z1JLyoq6lvgzIMrR8LYZMuyHhvON6pvxEZ9I06ob8QJ9Y04cde+ue+ALCIiIiLyQ6OPWIiIiIiI2GhAFhERERGx0YAsIiIiImKjAVlERERExEYDsoiIiIiIjQZkEREREREbDcgiIiIiIjYakEVEREREbDQgi4iIiIjYaEAWEREREbHRgCwiIiIiYqMBWURERETERgOyiIiIiIiNBmQRERERERsNyCIiIiIiNhqQRURERERsNCCLiIiIiNhoQBYRERERsdGALCIiIiJiowFZRERERMRGA7KIiIiIiI0GZBERERERGw3IIiIiIiI2GpBFRERERGw0IIuIiIiI2GhAFhERERGx0YAsIiIiImKjAVlERERExEYDsoiIiIiIjQZkEREREREbDcgiIiIiIjYakEVEREREbDQgi4iIiIjYaEAWEREREbHRgCwiIiIiYqMBWURERETERgOyiIiIiIiNBmQRERERERsNyCIiIiIiNrH3+8fk5GQrLS3tQdXyg5OYmGgkNyEhIeSZzc3NdHR0RA3n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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=draw_ndimage(convFunction([t])[0][:,1,:,:],4,5)\n", "_=fig.suptitle('Keras convolution layer output given kern2',fontsize=22);\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_016.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Compare this to [Figure](#fig:image_processing_011). This shows our hand-tooled convolution is the same as that implemented by Keras.

\n", "\n", "\n", "\n", "\n", "\n", "We can do this again for the pooling layer by creating another Keras function," ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [], "source": [ "maxPoolingFunction = K.function([inputs],[maxpooling])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " whose output is shown in [Figure](#fig:image_processing_017). We can examine the \n", "final output of this network using the `predict` function," ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.4350518 , 0.56494826],\n", " [0.24229054, 0.7577095 ],\n", " [0.14936452, 0.85063547],\n", " [0.48847622, 0.51152384],\n", " [0.27999252, 0.7200074 ],\n", " [0.37032166, 0.62967837],\n", " [0.06253155, 0.9374684 ],\n", " [0.16374767, 0.8362524 ],\n", " [0.06253155, 0.9374684 ],\n", " [0.42775342, 0.57224655],\n", " [0.82428503, 0.17571492],\n", " [0.9134076 , 0.0865923 ],\n", " [0.50833887, 0.49166116],\n", " [0.82428503, 0.17571492],\n", " [0.7137422 , 0.2862578 ],\n", " [0.6836652 , 0.31633478],\n", " [0.8407292 , 0.15927087],\n", " [0.7729743 , 0.22702564],\n", " [0.7729743 , 0.22702564],\n", " [0.50833887, 0.49166116]], dtype=float32)" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fixed_kernels = model.predict(t)\n", "fixed_kernels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " and we can see the weights given to each of the classes. Taking the \n", "maximum of these across the columns gives the following," ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argmax(fixed_kernels,axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " which means that our convolutional neural network with the fixed kernels \n", "did well predicting the classes of each of our input images. Recall that our model\n", "configuration prevented our fixed kernels from updating in the training process. Thus, the\n", "main work of model training was changing the weights of the final output layer. We can\n", "re-do this exercise by removing this constraint and see how the network performs if\n", "it is able to adaptively re-weight the kernel terms as part of training by changing the `trainable` \n", "keyword argument and then re-build and train the model, as shown next." ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1.3517758e-02, 9.8648226e-01],\n", " [8.7332483e-03, 9.9126679e-01],\n", " [9.2126220e-06, 9.9999082e-01],\n", " [7.9193451e-03, 9.9208063e-01],\n", " [1.9740355e-03, 9.9802601e-01],\n", " [1.2133834e-03, 9.9878663e-01],\n", " [2.0620177e-05, 9.9997938e-01],\n", " [2.0275579e-03, 9.9797243e-01],\n", " [2.0620177e-05, 9.9997938e-01],\n", " [1.8704148e-02, 9.8129588e-01],\n", " [9.9372357e-01, 6.2764031e-03],\n", " [9.8774612e-01, 1.2253815e-02],\n", " [9.9268419e-01, 7.3158811e-03],\n", " [9.9372357e-01, 6.2764031e-03],\n", " [9.9093610e-01, 9.0638511e-03],\n", " [9.9482489e-01, 5.1751570e-03],\n", " [9.9963152e-01, 3.6841063e-04],\n", " [9.9949062e-01, 5.0930912e-04],\n", " [9.9949062e-01, 5.0930941e-04],\n", " [9.9268419e-01, 7.3158811e-03]], dtype=float32)" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clayer = Conv2D(2,(3,3),padding='same',\n", " input_shape=(1,6,6),name='conv',\n", " use_bias=False)(inputs)\n", "\n", "relu_layer= Activation('relu')(clayer)\n", "maxpooling = MaxPooling2D(pool_size=(2,2),\n", " name='maxpool')(relu_layer)\n", "flatten = Flatten()(maxpooling)\n", "softmax_layer = Dense(2, \n", " activation='softmax',\n", " name='softmax')(flatten)\n", "model = Model(inputs=inputs, outputs=softmax_layer)\n", "model.compile(loss='categorical_crossentropy',\n", " optimizer=sgd)\n", "h=model.fit(t,y_binary,epochs=500,verbose=0)\n", "new_kernels = model.predict(t)\n", "new_kernels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " with corresponding max output," ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argmax(new_kernels,axis=1)" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=draw_ndimage(maxPoolingFunction([t])[0][:,0,:,:],4,5)\n", "_=fig.suptitle('Keras Pooling layer output given kern1',fontsize=22);\n", "fig.tight_layout()\n", "fig.savefig('fig-machine_learning/image_processing_017.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Output of max-pooling layer for fixed kernel kern1. Compare this to [Figure](#fig:image_processing_013). This shows our hand-tooled implemention is equivalent to that by Keras.

\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(1,2,sharey=True,sharex=True)\n", "text_grid_array(model.layers[1].get_weights()[0][:,:,0,0],fmt='%.1f',title='Updated kern1',ax=axs[0])\n", "text_grid_array(model.layers[1].get_weights()[0][:,:,0,1],fmt='%.1f',title='Updated kern2',ax=axs[1])\n", "for ax in axs:\n", " ax.tick_params(labelleft=False,left=False,labelbottom=False,bottom=False)\n", "\n", "fig.savefig('fig-machine_learning/image_processing_018.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Kernels updated during the training process. Compare to [Figure](#fig:image_processing_010).

\n", "\n", "\n", "\n", "\n", "\n", " The newly updated kernels are shown in [Figure](#fig:image_processing_018). Note how different these are from the original\n", "fixed kernels. We can see the change in the respective predictions in [Figure](#fig:image_processing_019). Thus, the benefit of updating the kernels in the\n", "training process is to improve the accuracy overall, but at the cost of\n", "interpretability of the kernels themselves. Nonetheless, it is seldom the case\n", "that the kernels are known ahead of time, as in our artificial example here, so\n", "in practice, there may be nothing to really interpet anyway. Nonetheless, for other\n", "problems where there is a target feature in the data for which good a-priori\n", "exemplars exist that could serve a kernels, then priming these kernels early in training\n", "may help to tune into those target features, especially if they are rare in the training \n", "data." ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax=subplots()\n", "_=ax.plot(fixed_kernels[:,0],label='fixed kernels')\n", "_=ax.plot(new_kernels[:,0],label='updated kernels')\n", "_=ax.set_xlabel('Training index',fontsize=16)\n", "_=ax.set_ylabel('Probability of Category 1',fontsize=16)\n", "_=ax.spines['top'].set_visible(False)\n", "_=ax.spines['right'].set_visible(False)\n", "_=ax.legend()\n", "_=ax.set_title('Updated kernels improve classification',fontsize=22)\n", "fig.savefig('fig-machine_learning/image_processing_019.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "\n", "

Recall that the second half of the training set was classified as category 1. The updated kernels provide a wider margin for classification than our fixed kernels, even though the ultimate performance is very similar between them.

\n", "\n", "\n", "" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }