001.開始使用ASP.NET Web API 2(一)
原文鏈接:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
(ps:文章只是講解一些如何創建Web API的步驟和一個簡單示例,沒有涉及到路由選擇和方法選擇,后續的一篇是專門講解這方面的。兩篇是一起翻譯的,其實兩篇應該一起發,但一起又會很長,就周六發吧,這篇當是我的見習基礎翻譯文章吧。)
1.前言
HTTP不僅僅致力于網站的頁面,它還是一個強有力的平臺,用來提供服務和展現數據。HTTP是簡單、靈活且無處不在。絕大多數的能想到的平臺都有HTTP的類庫,所以HTTP服務能夠應用于瀏覽器端,移動端以及桌面程序等廣泛的客戶端。ASP.NET WEB API是能由.NET框架提供的一項技術,在本教程中,你將會使用ASP.NET Web API來建立用來返回產品列表的API。
2.建立API工程
在本教程中,你將會使用ASP.NET Web API創建返回產品列表的API。首先在前端頁面,使用jQuery來顯示結果。如下圖
aaarticlea/png;base64,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" alt="" width="473" height="233" />
打開vs,選擇新建Web API工程。根據不同的vs版本,新建的方法可能有些不同,但大同小異,大家可自行新建。
3.添加數據模型
一個模型對象在程序中代表了你的數據。ASP.NET Web API能夠了自動的序列化你的模型到JSON、XML或者其它的格式,然后將這些序列化后的數據寫到HTTP的報文消息中。直到客戶端能夠讀到序列化后的數據,能反序列化成對象。大多數客戶端都具有這樣的能力。此外,通過設置在報表消息中請求的頭能返回相應客戶端所需要的數據。(ps:簡單的示例文章中,一些個概念還是可以溫故知新的,比如序列化和反序列化)
讓我們開始建一個簡單的模型來表示一個產品。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAioAAAFICAIAAADxhkIoAAAgAElEQVR4nOzdd1hUWZ43cHb3ndmdt7fn3dnp6TDd09NtJzvaCiYUUcGMqCBBgggSJGcQJAuC5JyTgpJzkAySi5wzRSygqigq5/B7/0BtA7ao2NrO+Ty/px+9fc9N4v16q849R2yTuPxBBcv0ovaGtqHa5n5UqFChQoXqNyixTeLy+0+b55T19Y0stvfPoUKFChUqVL9BiW0Sl5c+ZVZWN7JIpM8vUVChQoUKFarfoMQ2ictLnTRtap8CBEEQBPmt3Iufhjbs6z4SBEEQ5F8Iih8EQRDkNVhv/HA4nOnp6Zmnm56eXlpa+m0OGkEQBPm9W2/89PT07N27V0ZGRvYpJCUljY2Nf5uDRhAEQX7vniN+JCQktm7dKv4U3333naGh4ZMNcZ1Znu7u7leTMTPUJ/8vjzHVmFU5ThX+yq55+K706IweIv95zovUU9+Pp3E4lOG8kIBr7u4e18LrJynrbi5ameqqLWzFi55nn08S8gYabhUMkJ+nDaGrrh9P5T68iI2tSq7q5QAAcDpLS0p6Fl74uDgL7bejM/tXfu2CP4w6UlFwt3n5ua49giDIOqw3fjAYjI6OTnZ2dkZGRkZGRvp9q7/Nzs4ODw83Nzd/tBEf15Zre/a8wRVHR7NLfvn9ZNbjm6XNZel+cfLG+JO3N/5ETX7WraYVAN5SR2r4ra7ni5/uq+d9GycIuM7Qo+9+e+6Ko4Oy5B5tvw4i99lNAQBgIMtVRcKsWfDMFTmDRRk5uZ20Nf8frvbcjm9kDYKnn72dBzDOqr5N4w8lFmcs3NLIOr2NgmsLv6667Z9HLH1rn7iQ68XGYVLC03pJz4gfJqEzOyh9mAm04SIHbc3keux6LxyCIMj6rDd+7t696+np+Ssr4PF4a2vrR5dRawP0d2pmAQAAi0CkMXkAACASCoX3/vlOxxWYi6ulY5+MFka5i865U77Dosf/of9Q6weeXNLnZxjaiiXMtEYbHrDvAwBRu5W0vHf+2P09ie5v+MntiYRC/lCBr56MQ9vTY0MkFAqFQpGInGWopHkhdvr+5laXrv56JNf67CVvb+vzwd2cx9o+ubX7v+y4phuKeehBjd7sqWSdMM0GARlbVZboqGwbGlC7VtqJHr8Iv3KKD5/FE2clEomWeuM0vjybvSgEAMod79MuSaMrzxGhCIIgz7Te+GlqavLx8QEADocjEAg4HA6TyeTxeBwOh8PhiESiiYkJKyurRxsJsNXeR3YohlfOku/945mLrfSX3yUlJbVb2TF5gi3kEwrNxc8XrtA7E69fdc5aABCSm0J1LyfmJ2h8/vGH73+x3SK2Z7IhSsuhaEYk5M1kuuvs2isltWe3a+4sXwQD+dE+6gZal9SkdkloRbayf9k1mzBPZHL5U/URBtLWGACAKf+D8l65/bjJSq/jCorKhu63+9nMOoczR6SkpA6e1csd5okA+Atltqdk9x49oqanp3vMY0BEK7C2Ds8aEALMNiS5XQzsFYCIh891Udu3V+qojm5IfIziJx9+9Pdv9jimTc72Rhock9m/76xd+BATAHCJ+lrJ7f2l8e7m3g0iABAOxF4w8Q7yUpbas/2sZf4IH2AsQcfUO8BTRWrPjjOmWf08EbDwc0Qm98G9nl3ppO96s5Z8LyV4d+xcvbyr6L+cKbMxwtvL2slC79ze3bvNUsYEwGtPCrSRPyWn4loytTTbHH5ml5SU1G6ly/GjLKGIWu+ran9nAQTcmayrlw4dPXrkmFPFEgdEvKnqSG1pKSkpqSupqW4npD9+94Pvj11KaKMBp1xd/Vr1+BqfnSIIgryw9cYPDoe7e/euQCAAAAqF4uXlZWJi0t7eLhKJnh4/AEL2ZGW0xvat0rrenUQmF5dnKCF9tQSLxdZ5KJ0wj6rDEWtstmuV0Cm1HgYXVMOmAYTEQuPvldJnZoudLqqd8ahfXGEvl5h9r5g+T2mPM1I8YlY8hsXWh6ruU82cp/YmGH75wZGQxils8RXxLUbFePZj+59pjDi/RTm2tbUlzkrmtFX5LJ3YE3rkg+1ORbME8kiYktQF5/xJLLbwuu4ZtesjXFKyloyuS8Ho5FCMvqT4EY8xWImTk7MLaxECjBV4qu+06hByq1xVFEwDWoax0/O45ZXZm/rKGheCu5cosyVOPyk7N48sURksvhD402n6hvGLAMzubBdLt1YWALSabtq0VSViBNsVZ3ZWzSplXjDu+N0XPyuGDGG7k6xUlE1iJh9/xpiJVrSOyR+4/9C2nGPpfM2n+qH4YZQ7nf7n/5yIaRgcKPM7s1+7nMG666G4fZtu/jCeOpdjvEPaoxCLxdZ7qpwwDa+eX64x/0Eph0BpjbRUOHgxOC3thsO5s3GtE3cTLp5UCC6fwGKxeApltCZM4yel+O6FFZYQYDjghMWttvmX/CIMQRDkYeuNn6mpKX19/czMzKWlJR8fH0VFxW3btl27dg0Afi1+AABAyB1LNJY+YnOj9U6ckqRHNwAAzKZr2oTEd0802O3UKqZR6q6ZGVyInQUQUirsxc8XkemYUFujCzE4AKCWW+/QLJycyLIx07Yq5gIA8IqcJa634TAxjhfP+k8AgLDBbptCbOfj/0Jf6IiS+59PJWQOHZLRT27FAQCuOUpvt/FdPoCg9tJ23ahmHAAIR3KuXVa9M9jroO9Z2EsDAOydQANZ1wFYSTyj5BzTLgTAlgddknEZYA1ckdb2LX1wuRill/VNLTLIAOyhW/oqGnYht6s7JtkA/UEKO1SsYtPS0sJsJKUP2hfhAbpddp2NaiYBwHKFk5WtbdPKjN9+xfB6PACs1Fy1sjSqW37sDCYiTtnH5g/dT6Un44dW7KBvYnKLCACcqTjjHRFjlDpPo0sGyUQAZkv4SQmXDgAAmMvUtgmM7sY2X5a8cGdmLv+K6ldf75Y7JSd3XE43pqQq4PJZpeQHOyePp5vs1Cu79xHg4o1zOpF1E+jTNwRBNtB646ejo+PYsWMmJib6+vo2NjblZWVSUlJXr16FX4kfPoc2N7n6KhA932THBac7JRFqP2mWcwEAqpw1rCMLJvB1NtvPF1HZrQF6urphRACYTj75k0oemXLXx8xQ5wYVAGjlVhIa+XO4UqfziupxNAAQjl1TPJ48i2+LcdRXChgDAE7d5e2K8U/Ez1RduP4+q5aH/t0+2xytv9u4lgnAb7MSl3ErmAOAlZpII22b7sUJNwXV0DtEAMAEa8rKug4B87aa7OWEPgDA3rI6cMBpkLcYcUbuUnTT/e1Rss0umNrkP+gL0B1+eruiYeVo/5Xjh/afVFZXU1PTOH9iu/hF1xyicMx1xz7HohUA6Ag2Oq8XMsGe9Nyz73IeAQB6Isw0tLwGH+9UsJSkYRqR033/m/81nn7uXFE9rRZJBIDlCqM98rkEWu1VY0ODpAUAVn/Uqa9V77AAAGpcz1uF5EwSG+x3apUsLRTYapxQT3zwHVLPzSsnDtt23k8YQn+inrjR3dVnLm6L07Er+X2EX/v5QBAEeU7rjZ+WlhZ7e3svL6/Nmzfn5uaukEgP4mcVDoeztLR8pA2fPVMToq2sq6urK3NIzi2tg0CZzLA6uf+orq7uKQVlr8qRFTa5wOCrM2kLQO6Nu3hy98kLujqX5LZ+fDxrmTud53nqewkl77xRbJHVD6dvYHn4vlRLOdlj2rq6ivIXL1csAbc5xEztmNcwALAqzTYfi2x/vGv1ZHWA+s961cxflkzXh2j8oF1OAwB6V5LJyf0KF3UvKp3UuZ45LgBuX7CGxM7jF0wunTu2a+8+uy6AuWyT/QeP6ly6dOa45J5dlu0iWGoN1th/+KyW7iV7z+Zl7lCc+eGfJFWD74w3ZVqbGZieV9FxSixMtTx0wbXt/t2dV+95Ut0wd6zLf+8uWSVdXV3Vw4fOh1fMi6DffccOWUUdXd1zR2XVg4qmn+iDIeyPMjSNLFxa7bUBxPRLti5u5Q91PWBUuGsf/O6AmvklLbk96nZNFGCX2mtpaUTNAIjYo2nW8gcO6+rqnj6jdLVsiMRjllttU83ACQg9yZp7Jfer6OnpGTik9XLwvZHmcrLHdHR1daNqZskLHY47Pzmg65k/zAFC9gnDgObpF+5thyAIsobnePqRlZU1MTGxtLQ0NzfPy83du3dvQEBAa2urubn5lStXDA0NjYyMHmvFoU6Ux0ZHR0cn3umlCQEARPSxvITo6OiEuhECAAAL11vTNscEANZAQ0F8THRseV13ZfsiB4A531RwIy6/bYG8OHK3bZoKALDQV5UQEx2dUDjJAQAgTfZ3to7RAUBA6K9pnSLzHjsAJnGy624v8aGPjVgkbFddD+HebZ6GKUyNjo5Ov9PFWF0gWCzPSYpJulGG6R9qHloBAN5SZe6NmLj42xWNw02DJBEAALY6Py4mOu5W7igNgDZRk5McW9K9ONpyMzE6Ou5W4yCNstSOGRxnPtgvc76xq3uS0OC996xzWEJ0dGxmbRcdAKDDQ1LBKSQ2Ojo2o6p9zS/3hdgbGrp+jTOrB8jF9Q6OjBIeSilaiZOpobJd2K24mKT0EToACJeGurq7pu5lLmMiPyE6OjqhZogAAMLlctvt5neWhQCw0FuVFBsdHR17u2kaAHj4wfz4mOjo6IqBZYEIZlpvJSXnts8z2iOsjcOLFjnoqx8EQTbSeuNnenrawsKiuLiYQqGEhYXJy8tv27YtICCAQCC0tbV1dnZ2dnbOzs7+Ngf9u9Vst+VERNvDjxGtDtuOhzT9eqcyZkOkhXJAMe3xbF1FLbDW1DO8vZ5XahkrxIEslwMq4WO89WYJqy3yjJpWYT8NhQ+CIBtrvfEjFArZ7Hv9yrhcbmhoqKOjY39//6s/wreIoCdYyTi14+HeBf2hKkY3WvHPaMgjL5BoT3l1h1Eb4OTmnr/4zL3zhsKMFCTFT4W3E9c75gGAgLG8QCKvO60QBEHWC414/ZsSiR5/jfbJJS+00fVsQ8jjsNkcNH4OgiBvBBQ/CIIgyGuA4gdBEAR5DVD8IAiCIK/Bq4qf4OBgbW1to6fT1tbu6+t7tJGQy2Yx6JRlIpFEZvCf5ysREZ/DZDK5gpf/ilzEYzMZTOZz7R1BEAR5Xq8qfkxNTb/66qstj/r5vi1btnz33XdNTU2PtOF1e5zd9dGnm3fs2rntWwkV96IV1nrHeZnOMhX/+TvPmjXnPXiMiE1ZmJonsNfcNqFMW+LTv/1jSzBm7W7OCIIgyIZ47vjBYDDrmVTbyMjovOZ5ZwcX9yseHlc8XBxcbaxtLCwtLC0tLS0tra2t5eTkGhoaHmnDbTHd+YHYp4YdC3O1XjJi/73Do+rxEdCehpR94cO/vmNZvJ74YWYZbX5PxqxvrS5gc5kmn/5JTEzsXZXowXXuGkEQBHkBzxc/TU1N4uLijz+1rCUrK4uIJ/Yu9hQNF+QN5jRONfD4j8xY5uvrW1ZW9kgbLsZi7z/+8K0zEWD6prLYO9t9ayYHqnMTE+PCAvxi07pEIBpvzAj2v+4bHF05vvryJq23IjHY/7q96va/vP+Rexl+uq0gMa9ujgm8mabMtJTWWSEAkIaqIoP9r1/3u1U31JHhvO8jsT9+ut0gvHyazZgsywoL9L0eFF82QgdYideW+ExSQ1vmmy1n/KYAgDVXW5yWUVacGhIUHJFaN8IAwNcXp6XfKU4NCw6KSKnpX1nfdUYQBEEe8Rzx09zcvHPnznfeeaezs3M9m05tu2F0S08h4aTO7fOq8YphNcEE8pKQL+RyuQDg7e1dXl7+SANum82BTf/+Pz+r6Wgdk9j0rX7SBL7Tfs97YmJiP581uRZVjilykvhm80E1c4MDH3961BAzRRvNtv327x9Kn7PQlHr/T//7UVDZaPqlL8U+kc+fBUqG2p//S8ysmLTQdUvuh83fyqhbWlqHFXXVx5vs/Ejsvz756Zxv5t1C5+Pv/3WfzmUnN/+sXios5p/96XP16M7BBM2/fCUTOwlAKDr2jZjYp8ctjPRlPv/D3054Dw2Vq235D7GPD5sbGR7+8g9/PWjb+uIzXyMIgvzrWm/8NDY27ty58y9/+csHH3ywnvgp7i3yv+Od15nlV+WT2ZkRVhOU0pQUWxfFZDN5XB6sHT8Ya+nP/+Nv0jZ+YbGppf0kAOiykf703/52tpYNAKO2W8X+c5d1PwBMhPz0wfsydvGu0n/4r50WPQDMnHOffPyBT8lYrrW42A9qpfNAzTP47NMPnXP7bur9U+y9I6mj9/fCmffYK/aerOUwAPmW8nt/+KPEWZvCKQCAyVvm3/3xP7/cKXtI4lOxP/xDPWYSGNXK4n/+y6lYFsBYwimx/90TkHzLTOa9Px8PpwNM3Twr9t/f25agoaARBEGe27PjRyAQVFZW/vTTT++8885777337rvvtre3P3O7FjmmaklKBum68rHHlRMV1G4oG2foK8afWmGsCPlCeEr8WEp9+odvbEceLOG12e7/579vMu1kAyw16WwSe/+U5yQALKbs/fTzb865mPwo9r682zgAOevCP/7xsU/xSLbFFrHvNSqJwC7U//yfHzrebg9WeOe/dhv8Mqza8oD9drG/7DduYwJwlrtvmH30zr//+eMjbon58VZ7/89/7vO8XVJRHHHqvf/YrBK+tNiouf3P/zDMAYC5LL3/+B9Jn4RkM5m/fXgxXQCwWGD0x//7vUUBGukOQRDkuT07fubn59XV1bdu3bpnzx5JSUkJCYn1DPVmmKl3qz0loTnWMF3PqejylaLLdeM1524oEWj4p8dPs+G2v4h9oNu8cr9XAK/VdPv/iv1Vq54sAuFCqsWOd7YoxNZ013gf/egbcd+89rjzn/yfb05EVbeGKX4qJvafV+9MlbvsFfvTz86ZXWVO2//rj/9mXzLflqT3t//3vU5QYXd399gCDZjzMRrv/+nrY7GY+aWl+ZlBTHaU3udin8nrmp76Tuz/ngicBQCg3lD7H7H3j9zKy9Xb/96/fX4+s7LiutJH70qZYLqbL0n/9d8+VbtdURV47pN3JdRKZ9E0bAiCIM/t2fGzOtgo/yHrGWHMMtdMLUnJMEPvVNwJlSQF9Zsqq08/FNa9oZkDAgIe73rAGwozOXvwXPAQ/f4NnT8SaaYkrRzQT+EDADBHY53U9x84eEB6v0VqNwDwJitdNaT3HzgoLSUlffRM6jCf3J9vdWzf/gMH1VWVjsgrxbZzAWiVEVYH9u0/ePCgcWKnEGARk6QjLX3AOOJmuJ2ewuFjRw9pWIUWV6QYSO11zOxhAQAwe29ZSknpxMeHa8h+8scPNu+RPiB9WMWtfAlodzX3vP+Hv30tKX1A+tBZ56KJF7joCIIgyKt676esv9TvjnduZ5Z/9fXsrqywmqCbjQk3W5LwRPzt27czMjLOnTtXUVGxsTvdeEulClvf/YdB+i8zIiyVq27/84c6KajHG4IgyMt4VfEjEPBSW28Yp+mfijtxPkVNNUExoi6UyiFTydSIiIiIiIjo6GgcDrexO9148/lHvhD7b7UE4oOXhBZKTm4W+8+z0UvotVQEQZCX8ArHfBPwBEWtRYX9+Xm9ObktOUQSccN38cqxcA13svIxU5wHM+SwF5vKs3JbJtnrnzMHQRAEecKrHHJUBKIHjwhCEG7AgGwIgiDIWwKNeI0gCIK8Bih+EARBkNdg4+OHz9+A6ZzxeHxtbW1xcXFra+vqID0IgiDI22Tj46ekpKSoqOhltjA1NWVlZbVjx45du3alpKRwOJw1V6PNt8Q62lmYmJhaeJSNkF9mj08lmM4LDctqmkHd3BAEQTbWxsePr6/vV1991djY+GLN+Xy+i4uLhITEiRMnsrKyhEIhAAwMDAgEjw0uIBov8zr83naToCBfnQO7tfw6iBv2kMTANSW7Jg6wAUT4xty8u4P4DXigQxAEQR6y8fHj7+9/6tQpfX396urqF2jOYrEUFRV3796trKw8ODgIADk5OUZGRk98BCcaLQ0wOOQ8BADQZi0p7182xReJhDwui0FncYUAwGPSKBQKnb366CIS8AUg4jOoFBqT86ATHpdJo1AoDLYQAIR8oYDLplEpI3eDlL9UTJticB6JPAGDQqFQmfzVLtdcBoVCodKZPNQDG0EQ5PltfPx4enrGxsa2traqqalVVFSsZ4SehwkEAiUlJSkpqQMHDlhaWkZGRsrLy585c+aJr5REo6UB+rKOvQAA/S6S8kE1E7N9OXaSMsdOG3rnDFHmcwxkpCUlJaVOaWf0M4Qwm6x90c7B4ZzMrq3SpwOrSEIQMceK7VVOHjt6SMPk5jSPWe1hp3fshOwpmZ1bv/rwvz/47rh52nB/kbmp/+0+voA9kOl1+vCxY7Iq1wsGGfSZSMOTB6Sljl50akIDXiMIgjy/jY+fq1evxsfHA4CFhcXFixeft+PAzMzM6dOnpaWlDx48ePDgwQMHDuzYscPR0XH1U7iHiCarAlV/VAgsLs71uHBA7SqGzME1+hz6ZH9gK43J6vM6JGkS2rqyQqz011fU8BkVEEMPbvnuoOfg8lxdmKmi2tVhNj7qlIyCvnfKzXBrA23HxuEKi8N7Tnh2r5BnW6O0t53PmqJzBFPhcqecE1pnxjK1Nu+ziE5JCTA4YhFccNtHUtmqZGA9k6siCIIga3glTz/R0dGFhYUaGhq9vb3P1XZ2dvbSpUvS0tJSUlK7du3atm3bzp079fT0hoeHn1x5pj7o2Htf7Tt15oyCQ/EYFQCwFcG6UlYtAMAsuyhudKOfAAD8/pueDufLyCtx8sp+uWMAwOpOcDI/Xzk6dHm/5M4jp1SUlZW1bJN7+0vMtS1dS5kAtOEUo50GFVQAmI08o3w1qWWsIUTyw60nNVSUlJWVXFL7+6sDrQyMna+nFjfg1+4YgSAIgvyajY+fwMDAPXv2GBoa9vX1PVfDsbGxS5cu7d69e9++fRYWFikpKYmJibdv356amlprddFoqb++zJWH9zFeEXRxj0UDD4DbYrF1/9XSJQCYzvY20PUY4ixHHpPSDuwEgMl013MKbiMrk667ZCxSx+63pt7SVbdwLqICkHrj9CSMGwQAMBd+6qxHcutYe7TcZq2yR5NmqcDy4ImjIR2oXziCIMhz2/j48fPz27lz55rPK78uJibmp59+kpKSsrGxWVxcfNbqopFin/O7zRsfuvmPl/mflzC6ywYAxnCGrdyeY4qKp0/IGcbVLgBMhx6TkT10WkHx1MEDp3xy50XAHc91PLBlz3EFRUVNm6Se/kIjdaPLeSsA3MVmB8mPd59zLhjvvaGocDm6jcWavmV58gfxE4qKiorOKX0N2Tb6KmpKZ9R1r9YsoF7ZCIIgz23j46epqam1tfUFGsbExEhISNjZ2S0sLKxnfdbK/FgflvZQzwY2GTfWO0m99yURc6D+Tn5+fm0nlgcAMBp4TNnhenJWfn5Zc8/9CRTYYy1VBfn5+cW1/QQydWp8cnqZDwAgWBisLLnTML5CJY2NTi/QAQCYs/UlBfn5+fkNg4S50dqygvyCUszA73AcVQRBkDfAxsfP83Z1e4BGo+FwODqdvlFH8qiRa1JHXdPGnr0igiAI8ur964z5Nnvb3D6xfAJ9UoYgCPIm+NeJHwRBEOQNguIHQRAEeQ1Q/CAIgiCvAYofBEEQ5DXY+PiZnJycn5/fqK39CiGPSZibnhgdHR3HkrlP6W7Ho0xNTC6usH+D40EQBEHWb+PjJyQkRFNTk0KhvOR2KBTK4ODgyMjIyMjI0NDQzMzMYyvMNYef/PALif3792//Rs4hB8t5fFYEAXehwuP0N9uUPLMGXvJgEARBkI218fETFBT0xRdfuLi4kEikdTZZWVmprq6uq6urra198N5PSUnJzz//LC0tLS0tLS4ubmJi8mgj0WiJn/ZeqxYAIBSd++GU392Zx56A+KR8ox8Opz0eWwiCIMjrt/Hx4+3t7ePj4+fnZ21tvc4Eamlp+fHHH7dv3y4uLj4yMrK6sLS0VEJCQkZGRkZGZufOnebm5o82emi+H0G9trRq+N0FACD0F7jZ2NjYx2FmBvM8tX5+/4czTlGN8wCwUpl43dbGxjOkjg7CubbGkuhQL++bzTiWgNYRamdjY+ed37IAQGm/lVdXlGJtbXslMnP03ugI/PYbnjbW1i6hqSN0AFgqifK0sbG9HtXIBGAMVUU42FpbW2e0E9DUPwiCIOv0SiZcSEhI4PP5RkZGNjY2PN6zX/Rsb2+XlJRcnWFhcHAwMDAwIyOjqqpq586dsrKysrKyu3fvtrCweKzVTH3Q8fe/kVFVVTe/4p/TPc8UEYbKrimfNw8MCrI1skhOi71qIv3pNg2fW+2L9JYEd6PzVr5BgS6ml2NGFhq81LZ9vMfYP697uiXRSNfQKSjI3cz4+u32pR7XH77eomDn7WkpI7FfK7JfCAJMvLmqqp6Ht3fwjQIsk1wf7nBJxy4w6PoVK9fU+vY4H1NFHRd/P7+ygRUUPwiCIOv0qub7WV5e1tDQCA8Pf2KS7DVgMBgJCYm9e/fu2bNnaGioubl5YGCgoqJix44dT48f0WRVoMqPZwNT/eV3XEhoXQGA0Wyb797ZJKuqqnJ822c6EV2jd1z3GVQwAGDCV37H5z8eUFZVOSq1RzWtCeNvoHIufAkAphMP/L+Pd59WVTktvfm4eeZAY+DBo2Zp0wBQ72Woohk/T+823346APPgMa7f5eDPX247pKp6VubAIcOYvHgbuX0mN3EbdfkQBEH+NWx8/Fy/ft3CwmJ1otInpihdW09Pj5ycnKKi4pkzZ7DYe0dSVFT0ww8/SEpKSkpKbtmyxdDQ8NFGq7OdOg8DkAuctFxu4rjCoVSHfeKmhb0jo+NTs0QaCZttKqGZswAAA+5HTmk43eodHh3H4laYK5VXTYwNEhcAOD1RR75SiWrpHR2bnF4gcfjtV6XORtUvA0BziLWhRvQkudlg24Xk0fszywnb7fed1PXJ6WwZgf4AACAASURBVB8ZnZhaILN5Aip+/E6oltwWo5tDT+t/hyAIgjxm4+PH39//o48+SkpKWs9zzyqhUMi678Gspk1NTZqamoaGhoaGhhcuXPD393+0kWi40OvcNqN6HgCMhpw6aZXYNNGdqC5x0Dy+rqmpqWV4fmH0tu7XCmkzAEApcVbad8Q6vaapqaVjlLhYdkVbUzV8GkBErrWTllR2zWpqamrqmSCxmq/8fNinbAFAWHvNQP1UwISIW+x8Ul7Xt6Sysq6tf5lLyLE5tU/eMe9uUxOmG7tAWJzoaaguDdU/oh59l4ZGlEMQBFmfjY+f5ORkHx+fFx73et1EC10Fkc43RvgAAPi6cNOrmXgRe6IyREVOTk5O7pRn1uhkS4pDWMuyCABAOJZwWVdOTk7utLZPXf9YQVJ0ZAUBAAAog5mGcnJycnJyJiHNs0Ol7gHFfWQA0VBhYmRQyRIAwFC0tqqcnJyajW8nBUA0GGF5Xk5OTk7FOLLwbmm4mdzJU6cVrt1dZLziU0YQBHl7bHz8rKysMBjoRowgCIL8GjToDoIgCPIaoPhBEARBXgMUPwiCIMhrgOIHQRAEeQ1Q/CAIgiCvwZsYP1zGMhlbvzJe80uNVTEW0ajVCIIgb483MX4We3LnWpNJk83LE43LE42kyZal/qL5ltg1V2YN5nrFJAwQX3BfAvbwTRuTC5rq6uoaBgE5c9wXP2wEQRBk/d6U+GESx3CYxMXOWwsdKVOV3rNNMUu9uYs9OYs9OUu9ufOY5IX2G2u1W8gJNNz8sXhAxTDrhfbLwudf+PBnXd/U1NQ4C8WDu9XCB8mPvzAr5PQmmnnX4tCAogiCIBvmTYkfygxmNN9iovTKROkVbLn7ZJnr6q9Xa6zQdqEt+clWool8JzcXH2dLk4DbkzQAAB6bzWUxqStL09NzZC4AAJ/N5rKYtBX89PTcyhMPN8zFYsvt5wvwAABCXJ66uGpozbRIKKDip6empueX6QIQLI+kaH6237tsjMgUiDiUxdmp6ek5PGu9QwohCIIgT3pT4oc61zFe4oCtuLpmTZQ6rRU/wv70QAf76KmVTrvzLhWjDABRT9o1g8Pn9E31pCW/k7XJI/OEQzm+lw6r6psZ7N/z/UGL9DnmI7HBXCq2ED93e3w1l/gF5vuMw+rJDEru1ZOnT5+QPG6WjmnNMJf/7N2/fbNX5VothT+YeVlTXl5u/37DBBwDJRCCIMgL+j3HD28mLczlWjYBADDXDOyyugFE/SlmP/xVJhSDF1IaLQ8fiR7GD2bZbfnfA4FNi0J6q83hg753lx7exqPxI7hjd9Qqso4FwJypT4gNvLhHUtetZJ7V6rBDKbmPJhIBAKW9Mj0qxEz2s+Px/czf5NogCIK8hX7H8cMez78k9Y2kpoOj45VLcpv/uv/6AvC6Ep2NVYKnAABYebYSnnex7Tc8TZQCJwAAeIX2W+2zpx7+bude/Eysxg8+UkXbr7iXiusK1dFU0DVQ2rvbLLwMx267skMlZYQPQOtND72grKJlcOHo9pNJIyh+EARBXtDvN36YmBQ78e0aXp5ubm5uHletFbfK3Jyh9KVaHd5t3MAE4Daa7lZMmSH2p9se2XGplg4gbLWQlI9oJzyylcUi821q2fMAAH0pxgpHPVoWKUO3LSXOpANAtaOOiVf+LLPZbptK2iyAoMtCXsM+lwAw4iirGNdL/c2uD4IgyFvmjYmf2faxItvJMrc1a7zYAYdJeHh9EXUiwmy/XsYvn6RVeJ08G1/bm+ap+MWOo5qKR/Z9f865ngLCwSwPhU3bj55XOiL9g4pjBf7R72v4lDK9f3z2k9SRI0cOndN1Kh9aAgByb7ranm3HzqgcFj9oG3mHKKQkqXz5g4ymf91AXaTZPnHpo2fV5SVP30RPPwiCIC/qTYkfGq4HW+ExXeu/ZmErvZa60h5pwGcT5seWH+ptzaYsThDwbQmuBsfs8npbG5vbFlgAIOi84a5/xCanD9PY3DbPFIGAQZh5AE/jUOeH+9paGhsbm8eW2Pc3xiMOtzW1dg+NTpNoDAEAEz/QjmkfI/GAhR9ua2nsHJubnaPyUFdsBEGQF/SmxI9IKBDyWEIe+ynFEgrW80aooCncXO3w1dFflnBbo63PyboN3v89BVtktfcB8/wx9AEagiDIa/CmxM8G4Y+WJYdczZx+aMl45c1gj/RfTk8kFPAfEAhf9aSsCIIgyFresvhBEARBfh9Q/CAIgiCvAYofBEEQ5DV4E+NHJBIJuAwBmyrg0AQcmoBDFXBoQj4ajBpBEOTtsfHxMzQ0NDEx8TJbIE+3zTXHLHamLXSmLXSmLXalzbcmPN7x+gEWfhK3wOS/xP7Y85imxsamLuwS4yW2giAIgjyHjY+fwMDA06dPEwiEZ6/6ED6bwiSMsogTDPzwbH3EQnc2dWGYghug4AaoC8PL4/W4tUa8BuAOpNn8tOtYejf5xd7B4dNmS1z1JQ4dOSJ72DKsaonFwGK6ppbZv9qINonpwuKZqNMcgiDIC9v4+AkKCvr222/t7OwWFhbW34oygxktsJoodZoodcKWu0+Wu03ecXlQ48WX15xwAWitPp52qtLHHVLKCS/0AESo8JI86IsFAFiamJwmCsZ9dslHtNJ/tdGMr6R8YPXyi+wPQRAEAYBXET/Xrl0LDAyMjIw0NjbG4XDrbPVCEy7Ack3MlSs+NZi0SxZhbfM8ANFMa2XpjfSbsT46OnqB1bMAMN9eVXojLSXBT0dHz68C+9gjC6U7fN/W07E9HAAAYDRGmm7/26c7juv4Vi+IFlojHS9evKhvltzMBaBMYrKv+l3zttTWPi3+4acShzTdC4Zf6kohCIL8C9v4+Ll69WpCQgIAmJqampqacrnr6jLwQvFDLovycvSuBqDH6RomNuMAoDvR6Ls//ahzPTkhSFdKyqR6iT5w2/KHP31/wTspIdRAao9e7gjt4U2IhMS21GvKu6SUbYIGGOzRmlCFL7eq2oaVDlGANl2bHR8b63BEQjN3mDhZdXXfu9/rBt+Oj7+q8M02JbOAvK7neLxDEARBHvZK4ic+Pn52dvbcuXPJyclC4bq+lHmR+CG2+duqWd8aXVpcrPJSkLTN5ICg98ZlxX22rVwAYKca7bzWOtN92+3sXutGDgDw000kHAtmnvjORjTbXuR5UVrOOGYScKGyKrFtdAAQUEeSPPROysv++LedQV24saoA9T2mjUIAmA2SVQmrJb7slUIQBPkXtvHx4+vrq6+vb2JikpKSIhKt9+v5548f4ezdYOkP/ym+Z5+UlNTend9+uulCE4/Tk3xZU/7aBAAALlhR0r99rivF+byc5ygAAD5caYdLydwjW6FT7g1b2hche0Yzsbsh6OC5mHYuACntspmWfR5uecj3jHJ019RQeaiBjD1GCAA9HnsVw2pQ/CAIgry4jY8fPz+/v//971lZWc/V6rnjhz13w+74AadqNo/D4XC4LGykxrZL+QP9aZcPfinrkJSZGqIvfzSgm8ceyr58cNNB+4Ss1AhD+SPXGgiPzJLA7ErzDk5MTb3lb6lyxsgXg5+MPLr7rENs5fBAquvFg+o+WYWhCpulAtqmBkp8zm0zqucDwFToMckz5n6FvY9MnIogCIKs38bHz+3bt6Oiop63FWWmdSTPbLzYYc0azbecb45+eH0RfbH8llf+0C89pCfuJgdWtnfc9NbfeUbfUV9dQ+tmBwVA1HPbW2/7aYMrBuoaWkmYJx5ZBCOJxhfV1dU1Lf2rp/kAMFbsrq2j7VkxzZ6s8dM/r25yLcwvqo1AXhyqSQ3KxQoBAKYrffQuajpkDT6+NQRBEGR9Nj5+aDTaOrsbPIxLWyJjGyjTLWsWGdvIWBxYx2ZErTF2FxUCZn5ZwmtPcNQ5fX3y/u/puPpAnQf86mZZa20HQRAEebXexEF3XgK3NcZO+6RX/y9LeO0JDhdOePTc/z17ZaQ09oHioWUUPwiCIK/BWxY/Iubywix2if3wEtLCzOQSChkEQZA3ylsWPwiCIMjvA4ofBEEQ5DVA8YMgCIK8Bm9i/LCpi6SR8uWhkuXh0uXh0uWhUuJgEW2243UfF4IgCLJh3rj4EYlEC50Z820pKzOdpOl20nT7ykwXfqh8viV2zfVnamKNT8rJycmdc8iY523ggfAGCxKjg8vwQChwvl7QTUDTKyAIgmygNyV+GEtDsw1h8y1x8y2x2EqvmfowXHsKru0mru0mrj1ltjFqof3G421E1LuR+mfOmiQUVlZW3inKiy/q+fV5eu7BViVes0icecZarCovA40zwROA9RQ/5FX0+FDZCIIgyMt4U+KHMrs634/zxB1nbLnHZJnb5B3nBzVeZP/EmG+ixeZ4U/mTib0PRrDmMtkiAOCQ53o6Ojo6ewkcAAAOjUJbWJiaHOzo6sMx+EI2odDlwpFtF1KGpikcNm1haX5yZGCMIAJgEae6Ozo6ugdIfADg3g2wNNCIwsK0//4z/mUzAMBnLPR2dHR0TVJ5IgA2aWYOOzo8scjg0ReGuzs6OntwVMFveM0QBEF+x96U+Hn+IUcZrYmuKmqJj42iw8A3BumeEN8vKyv5tapz2RJHMJB1VeNHGXk9bdntX+6ySBvEllts+eLv723aeSmoZb41aL/0ARkFHYeiuflab/Uj2w/Kykh+r+XdvCwQNAVZ3Y8fhaAaHHMFm+NmeFJFReXYhaCG8cWFYpOvft530sgtPi8m0lr+wJHDJ84mdTABQRAEWYffb/zQG5M81PVzGY8sZN0N0JE/6joCAIw2uyMHwgaWBtNtt36pkjEHgM88+Z16Bn5lOP/6pZNeIwAAGLtt4gaJ4wC80ivKZ1SC5wFgqcpERjZpltQSans/fpSiG7EDJe7Sn0iaBgUFWZ/YYhHXgknR/vaAfw8As0pVUc7wxthvdKUQBEHeCr/f+OGN5l7TPGne8cjwcvi8yxaaxvmrmVR7ffe1Rmz7jatGCr6jAAAd7rvPJvbjejO99OSu9gMAtLlIKkW30gAWky8Z6ztX8QFAwCnx2B7YjW9+ED8HlGJrhzE3HbZvljNzsLNzcPbKapnsS7fcrVdKAoCVlvQQFxsT8yvOpaOc3+BaIQiCvAV+v/EDPHJXoMa3e62SsBwAEDFwze1zlIYQ/VOHHXu5AMt3rY+cz1rCd9100T5+tQ8ARM0OEoqJA7iedA+do259AACYKzvkQ+qWATh3XFTOKPlNiACmS00P65RSyU1BVrrnIiZhynfvmYiGif4C9yNb9Wvp9/a+MnpLf4tm3oP5TvGNrmo/qsSP/DaXC0EQ5PfuTYkfymzbWKHN5B2XNWu8yB7XGv9kq5XpSqcLR8X3SEtLSx3V9eugCFmkrkjjU1v3SkvvlLGP72eCsDfVw1DJdxAARBh36XPJfWzacJHJ7q+2a/o1zTQHH9OIqscDAAN/97rWsW37pPftPu6WjuUAvznM3lQnbgpmgo+ohtUt8RhTqfaKP2yVkpaWPuyWMdiTZb//UjEJgNbta6Fw4NDRozKmGVPk3/rCIQiC/D69KfFDX+yfrvWdbQhbs6ZrA/C92Ws2FNLx4yMjIyMjE/PU1Wm9+QzC+MjIyOjs6kdwPCaNTKLzAQC4NCKJyQMAPmUJO4ZdpHM5TNIKg3uvuxqHsjg2MjIyjlvtvs2lUyhkhgAE9GUSnS0EAOCSp8ZGRkZGRnEkDpdFJZLZIgABc3F2YmRkZHKGvK55xREEQZA3J34ARCKR8FcKROjejiAI8vYQ2yQuv1fOtK3ztccPgiAI8i9EbJO4/KEzplHF2JA2iECFChUqVKh+kxLbJC4vr2xqEI/9ezBser0VAptC4J9B8OlT6rMg2BTyug8SFSpUqFBtRIltEpc/qWRqloz9IQbE34DaFQ+SCbAn6fGSTISdcbDtdR8eKlSoUKHakHr98SMRAz9HwTdh8FUofBECDTNAoPNxhOX5JfzDtUSmp/XD12G/NNwWDZvD4McokHhoaz+Gw7cRsDXmkYWP7W5rFHwfAT8/uo5EDPwUCd9HooRDhQoVqt+iXn/8/BwF+5PgYhHoloJOCSyxgT/fiG+NXunLvFf9WcSORMFwSgUWvgi912prNOxOFF3IFx1Lhu9XEygafo6FQ5mi8xmivTGw9Sm72xoFUjdESpmifY+u83MUHEoTKd6GXTEogVChQoXqldfrj5+vQsG8DIC/zFvq4hP66LiumbshuK5Mynw/ea6HPNdDme8jjtYy+5JLxuHL+/HzfRjI5wuXQVjcINoWDj/HwJYI2JkqKmIIyVihWix8F7327r4NBa0qYTtOqBv3yDpfB4s8h4R1vaKjUfDjU9qiQoUKFaqNqtcfP1+HglkVCBdbx/PNJ0scJ0ocJ8vdJ8tcJ0qvPKixQltmX3LpxCPxczpP2CESTg4LDW+Kvo6EzVGgWCqkC4WdY0L1WPg2Cr4Ng69D4esHH9BFw7dh8IkfKJUJm+eEOnHw3f11vgmHL4NFHgPCqm7RkSj4KvTewi3RT/0QDxUqVKhQvUy9GfFTCYKljolfHfPtyfhRKBJW4IQto8KwGpF4EGxNFnn3CdtHhOWTQo0Y+CpRFDEoqp2C8j7QvinaHAE/JonCB0VVI1A4JKyZEmrHwhfxosBeUeWkKA0j2ucncu4XlneJjkSJbDpEVVgo6wGtm6Lvo17/HxIqVKhQvX213vjZFgNbol9JbQoBkyoAQie2xH660n3Nwt5x5Awk3cHCZyH3Wn0TCmdKoHoagpogsxcU4+BAARQPgXst1E/D2UhwHYa2UbhUDGEjgBmCoxHgPAiYUbAoh5sLMDUDZyPh8iDcHQT7WogdBr8ssOmFsi44UwDts+BUCfr5cDAefng1Z40K1fMW+koS1VtW64qfbTGwI1a4L4YpGUmTjKS/ZO2Joj1cW4Jp5iW05YmmnjynvmKvNasn33UBk5TbR/sp+F4riRCaSi61YoSqm0yL7qK65dIuN1JjCqgXS6kV/TTVBGo6lhqeQfv+Ou1QNjWvh2p6m3pzgOqWTvval3ahnFo/SD0XR0ueoM4v0jqm6cML1KRiqlUTNa+RdjaD2jZDjSumfhdM2/HE0aJC9RoqkrYvlrk9RoQSCNXbVOuKnx+j4UTc8q3cqrwKTHbZy1bmnccruwyTV96aV9b8a1Xeklv+SKusMkxuOSazFJNdjsktx+RVYLLvL7z33wfbL8fklGNWm2eUYjLvYHLur1NYhblTjSmpwuSW3dtO1h1MXiWmsGKN40SF6rVUdllrQlb1gVj6T6hTDKq3qNYbP4ejFhubu0VCYLNfqlgsINMfrxUaEGmw/Ku1usJjrZZpsEIHEu2XemTh/dVITyx5sA6Req8ebrtMfXxfqFC9xmKwobiqbV8UGcUPqrep1h8/S3ebunk8oDFEL1NUuohAAVSoUK2/yAwoqGxH8YPqLavnix8uih9UqH7zQvGD6q0sFD+oUL3pheIH1VtZYpvE5eWVTA0TsZ+Fwean1OehsC8MxQ8qVK+nVuNHIpS8KfSpf0lRofrdldgmcfljiqbuGVj1fLjwlNLIg0vpS7WNvxY/T5uLlC8EKh3FDypUL16r8aObSdbIe+pfUlSofncltklcfu9J0+b2Z8x2Or+wVFbXzeGuET90pohKE1ZVNxYWVhSXVD1c+QVlra29LPaz4ocMRAYweUCmAZ4MeApQ2MBgAYUHTA4Qyc/xFxVPASoPWFxYpgB+zRXIsMwEDoAAgA/AZAPxt7mJkGGZBWwurDCALgDS85zUy9QLnC9NCDTmC+2OClQeMFiA/63ObvUESax7J8gTAom69jorHGDw1/6pwFNgmQV8AAEAiwMEMtAEj1wBPBUYQqAzAU8BMheEAHQmEJ52jmQg0oHGvffDTKQCQwgUOhDIgKcBiwtk+nNfHxIdCirbKWTyRs82iSCvk9gmcXmpk6aNbc+In+m5p8YPkw1kCl9WVubzzz/79tvN3377zWpt3vzNPz/9xNLSRgTw6/FDYsJUf3d6cX3XPFAYQCOz2jDdWS1j1ZkFSXews/S17ylr3v5oNGpVVkFc/sjUU1qtsGBisDvCM8LGNcTaNSKtk06kw/I6t/8StcwA3EBreElP78B4adbAKAOWn7hFkrlA57xUHOLJQGICnQek+/fZ1fON9IywdQ2xdglOuEtYoP7a+S7TlstvV1cN0PG05zsSIg0IBHplQXZuP3f1Tv2qLymBAngK0EUwP9QVfNXX1CnkSmzbCAkobKDzf7kCBAqQ2fzextbswuEJ2ho/FWQGLA42O3sEmtjFJ1Xi8DxaVVp1ZR9tiQZEChBpsIKfSY3Oyemk01jQV1do4pqa005hrIbQWn/Qs+MTZeV3uxaBwoBFAq44pR4zL1pmAG1+KqW8t32KR2Y832muxg+RhOIHeavci5+GZ8XP1NPjh8EEJgvq7mJKSqpLSqry8sqyskqyskry88v8/ELt7R0FomfEzzIHSG0FGrY+cRgOXwgrs1MRnjZOxTOd1fV5Dbg5OizTgES/90YO8cHdkwrL92+Ry7R7Syg0RnNFfXbNzMzqGzw0INGBRP/lTkoXCRozw07uNLCIvB3k7aSmd6tyhr3Curfa6paX6UBafStodS9r7Y5Ivb/xBwvp994lWr0XLz+8XxrQVqYj3AOvZHVi6ousziY0coH60OEtU4HGZ9dlFNzIH5tlAYkKBOovp/zgkB7Z70Op+WAJlSvqa6yLi2kapAOF9uB8w+V36pmH3w6KuJXdRl6iwwrtXqtl6r0Xqkj3t7/CGHI+YeJZgFti3lv4y46o9w+Dusb5khhAobPLU0Ks3LK7VoBM+y3ih8YS9NSkmxpfdfK/ERh563pESk4faxDTGB/dMEADCu3eHwQHOIUBntr6t9sZQLt/wA/+1JYmeq6beBmHpPr7hnsnt3QRZr0VTN1z5vBcIDNgmQYkwmJRVm3tBHtuuO6y6sWzV8uasdNFCVk5LSQ8C4jU+xtcvSwsIA+3XnH1uFZLE4lgfrDw9E4V++JlugBWWtJVneLzB/hM1ovED2EZxQ/yVnn5+AEWG+6UVV254mJr6+Dj4zc6MgMiYLMBAFpbB+zsHATCZ8QPgQZ88riH2XX39AkywFhHraNuWA0ZmDygsYBIARId5heZ2AXOwgoQyAI8GQirN0SSiEAFIhWWVkSrH2jgKUDmAJ0NRIoIvyIikHhTC6w5kvDB7YYm5NdnxJoZZgwDAIxdPmkXUr9CYIoIJP48njO/DCQGLOBZUzjm3LJwmQ54En/N3RGoQCBypnDMGTxviQwr91qx5pdFyzTAr4iWlrmzS9xF8r1b0nxjqq57VhsexjvKL2ultnBghSwirghml1jTeB6BBkwBIdbcWs+xpJPMJ9OBRBPOLTCxC9wlMhCpgCcJF4icWQJ/iSwikgVzS6zpJS6eCkQKLNMBT+JO45gzeAFDxCmPC9BQDitb4pKpQLx3vnFml9IGAQCAzYYFAneRCis0WCTxcSQhniwiUgSzC8xZonCZDmTGqJeqvX/pIoENKzTh7AJzaoG9SAUSDQhkEZ4kmMdz5ogi0hrny5sj8elL89HXfW2LFrmcV549JBbMDTW7Gxq75M6uiAAAWHTq5DKzMilYQzG4dJFLporwK8JFIofIoRVHBJpY5nQygEoDAlm0tCK893TIgKmqBGmVOAwHAGARz5glTfqed/Armp1aZs0vC1bfSqbxgCUUYkrjz5/0ukMAPn/M7YyRfdLgBFWwGsb4FSGeLFr9YeZRcVFB0Q6Jo3SAwbzr5yw99EOGOQAN8RHOYeXdZKDQUfwgyEvHD5cHFZW1dvaXd+zYrqqqmV9Y6+rm3tU5SKOJaDSoqcGsK34oQBMI7gQ4GfuWj5CgOStULWCABYxcv5CrUR1YLn+4Jltfy0Lu9GW3tJHqkuhrtzummaLBumxr46SaZWDPtjpHVXdO8sgMoAuZJRGR7oFNQ7TZCEM3Oze/46fUD+gFp/XwGex78dOYHaurGpgxMN1TfEvLt2xgmdtXV2ynaq6kHxReOzfWX2agaiJzQv20SWjhGLcvL8QjrXOGJRqozrIyTqolAWu21S3ubmt793Uri6PymlpeBe1EAX6g1t7I7sQZK2PP6iEOI88nxEjbWtk0pWKeR2IATcgvDQxwS2yZ4sNwS+llrfQeEasoMPyKhZeKvqX0KVPXspnemjSFrYe+2aMq51s7RWS25d/QUDM+ecbNv3Rqmj4RqOOgpe9uG1OWciPZzcRTzdh2/0lds5TJZS5QFsajr3rKnzXVNIlPw1SaHVH89ucTu61SakZ5TNbq+cbpqvin9Uz3DeEn5rDhLk4uOQTWbL+bS0JUY1usva+Lf8wFZe0DF7wTm7ks/sQ1VfuAciKFRSmK8Tt27OLh0+pGEV2TDOFIe4WDqoWyvp9v8RR2osXhl/Nl5l0PMbpgrWx+uxm/XJiaaOrThhcB6ZXGDxVoLF5LTsJ53dQuAdBp976YwWEbzY8obN5yfJdVStXocIK5u46+i1lQQWJcmKVVTicT+ABLU1MpAcW9ABwOrNBhcabFSt3cNKK5f4ZJ5gKLN+F73tbCI0JH9eJ+DfeoZh5XiIu18Q/OKXVQvfD9d8fl3MO8PHyP/Xhw85FLuol9K2wQAtQnlWTdnSYB0OlAEwjrbsa7XS/oZQmy3T08kjIdjfOGhbSbzhHXE/vmnv/KoPhB3kovGz8iABcXj9RbxSoq6urqGr19YxYWjqmpGaut1vv0Q4FlDuAabxley64eWMm4Zu5zV8gH2s3LTlY+jQOLPXanLhmHlmfHhmk4JSampJz3KuqYoLbFW29XuxbcxJ0tjTQIKO1cAAoDGMDI8vQwuVLeTxu3OXzulF8bYXrQQ89Gy791RggrFKAJhW3F8XJbTkurGZ6Uv+KRMzTLFrQXRMgdtItuY1DI/S7nDOxTp2YJi2nX3XScCzuai5XdCromKC2xVhJqPqHNk3Sc2QAAIABJREFU3Jk7UWYhJQW3og6YJNaPccgMEZUx5qNlouWckXrztrnd9WvNk1n2xscvpdVjWUQaECjAAGKCdVhg6jAeYLCp9LJWRi+wMh1MtyuGV48R6+P9DqnfaGeRb9o7GbuWddO42K5CvaOmdknl2aHeiq6ZRT0t9sfPGyZMkFi0HG/b7Sd8i4ZInemhsmdjWjjM4gBPZbXroZllYW5XNG+0lyeG61+ILp1nkSgiIvXe+Z786dQ+VcOTqqE5YyuDnfXeVsHO/gm+YR2TnEkXOTUZo5zexfl0X/cLjnk99AV/DYewuoX2qhsXFN1vDVCWxppsNa386ha676YqSJsG1tNpjHGfC6YPzterGZvtYHLC4Hb9FIsu5DdlZTjZ5nbzgPJKv1GjAo3Bqc9O1LGrnhLe78pBBQqPVXUjXFcjogTHIlP7HeQ0tIJ6cAxmSWSgqVVeN4XW1dqZmnTL5PzV4LLGqvb5KRKQ2TA/OXD9ktZhTcfoOiJNMOetekFGP70Li42xd1R0rJ0WLfir2viUTDRVphso+mRjGSTKiJe6tdPNgXEyb3p8sqK2wcvU09rnVkZ9RweWv8KHqdr0yz5xJYOjni65lQ2DiYFhRa0djj5R4XV0Du/5n/NQ/CBvow2In8sOToWFd1XPqf3ww7fbt4v/9NOPuXklzc1tqalZ7u7epqYWwmd1PSBQgEADBmXimn1EbH65m1VYwSRwgXbLyd3ev6Wvv0rlwIVTl5y0DOyUXLOqOtt9LsferO1P8fN1Ds4IiCuPDggNyh6cYwOJCgxg5Ph4W7pW9VHGPZQco1q5fBAU+fuY2hX2MIFCA5qQ35AZa3QxqYkBzKVeB3UTv/ql5sKbJtoJTSxgTVZflA9IH2cxAWYaM119Qu8MzF2zj06p6Uvx83UKzgyIL4/yDwsrGBkdaXCy8bYPyc1rmVmc6TY7o3dYw07LyF7RKub2wFjaZTeHiO4ZHpCpq/GzFG8ZEXhrlPBL/DDSHNzs/FvnAKa6ikwV/MsZnFwPT9vrzbMiGK1MOix5QcncWUvfTu16adNQi7uKS3yXiA/sLE9PS/eaCYCF8RorBe+SyaVk58t7DhtpWl45Z+TpWjLYlJ1gqn+zlQ50+r2nvYbMOCOdhAYqMJhAoIOQzSv00vjwuHslHgScoauqV8LryHSAiZqbl11Dy2bxQVqOEVXY8uTY88aFIwBsHtREmbnkjzRX5pqqh1VTQbCEMT79y/ne6h9Pd3RzCO+a4QJLJPr/7L1XVB1Xuu/bY5w77jiv9/Xccc8dZ989Trfttrvb3qHd29vbOSga5WQlJITIEgiRk0QQUYCEMogkchYZkXPOOcPKa1UOK//vA2DLbitYttpYrm/8XlSqgjWrqPlbNWvO7+stLQzwTGtjQb9k/dCiuac09eSJm+0iBBYqChoGeljbC+85nUzp4MCxo8H7vBKbWBHWquuxzu6lQ+rFpODLu/fbv//h11uOuZxLrBtQgRbB6iEa9G3pV7baXi2aXbx20ifyoYoDWtOTHM5k9RrU8ce9Y6pXBjpL3Q7G12hgwnLsCe/wIhllRn9N3hlb988///pDG/v9zsF3W3mNCPNKn0dYWkLcVce7HROz6sKsm27Bd6/EJpfMgP/xswol/UjxSsZP1Y/ZisTEpKjopLv38pJTHvj5hW3Z8nljY0dxycNLl8LDwiJLy2r0huda90MaLS03wvd+fXR7QNsCBT2oDN8gz+j2oZmWk59dvDO1/klEk6kqyue432XXaxOjrW33L5/fGVxS1MszhrWOnisID3MLqBumZkL2+CS1CyL0xVERLhfLhjb005xzy/nMg2EAhoWgQydD6uRtpemOx+800+CUHY5fusS1mwB0pt909s/sYdAY633MN/Tc9anR1tb7l8/vDCop6uUFAEBHss9n9nGFQ5OBe9z8H2o2zhZxy9XPK7F3TgBBQ02BtTKZfnGR6UNyYLyt/OLRnCFwWV5BF6LaF6yY6Slx3h1bw/LZfkGe0X1aYKYpfffnoWXE+o/TqbovfuVzu8ekB5936dK5oLopM5Ynas/ZRJTLdBk+3od8Hsk3fnd9+vWzp7OHzRA5qMj1d11OdhmDAAADoFudv+XhudPlamqVmsF8yB57j2w1gOY7safcc/tYedQh72sNK435Nw7su95pBszaROeL0U1LPQ0FTgcTarQwUIPnd7g81l7y9jk/r4SeOQF6E1+dlubp2zAHEC/PPRTUFLQCtAsjV84eORjfvWoEAFaz3L8sNGbdcrDNHLJAz40G7b0YX09xMFdej3F0y+/lYQYU0xPxF9J6AKMBOhry8bkeNUwAN1Rx5LTf9a7hm6d8r5QqKKAx9bqjfXafQR1/zCumermvrdh5f2ylEnrzfMRhr6iHGtoKUoAVqIpKv1sxqQU4DmoavKhLi76695O9PqXLahFdTWmfvP71uaia8Rd6KJT0I8UrGT9VP5yA5RVlbFycv39oeESMr9+lrKwcrY755kCz9XmXnWo5KAfyP3/XxqVAruMhgkz19HUNa5kWybKr/h9uPX/SwetgcO6jWbOqI2XLR7YBzWYzOXvd9cRWv/oBEgy7ph8291KIk0/1EDXlv8MjoVXQQ18QdsnevWT96cdq6Si6seVPe3c4B9iePH82vLpPp+8ovH36UFI9CUFPN96P3L3P5+gpz0Onrya3aigLFhtuf/nR6aBWi5mcueZyYltA4yiN1Y5ye4+A40d97EOL2kimPy9+y1anQ6e9Dly8mzs+neHu4x7XPbuhH9KAgZxrbglVowymOh66H8wcBJvh4eMW1jIPTHcVntkeVk6aOlOid247fOhW54JsPjnwwgfbPU85+RyLqW4fb/P7yiupy2QAnx0Y6ORbPWnG8niV05bAnBWrfOCh3X77rYe8j7mFBZcvTTQ9PL11+yfBxe1zRpZfa+/NrX/au8Mp8JRLUGBm/VV/v3MJw2MtD0+fiE4d7o886rj7VOBJRzebr4Ov1epY60yIzfnIGrVCPhbv4b71kPdJW9fTQfVDrGGoPsNuV0ylCoKJa8+++k17s8dnMj183GO7Zg2w0tqM24l2tyd408tfUEWD4SyzXWX2p512fO1j6xxg63v34axhuq3qzNZtHwcXt870he29EFNHcjCXx1+xc8zp5cDykMl0nc0zMwy0NLQsFBP13k4hJxw8txw95xjftswsRBxwDy2SU0D9vaunbTN7DaqYQ+5XKpd6W/LtbSIfKqE3szn+zh/udXPPmdIyIAXLWPdszySh4NdbTZowVZb4b+8eC6vXssBSV+mWf99ul77AWb8/4V7SjxS/2fip+qFZq96AlVXdo/rWiopHra09OkIvGr6jnOdPuqMl2N7uhQmFWU1Dx5mmRhZ7xyklB5LQ1VU0Z+TXpVaNjqxaSILubJ+f0oDizaODc11jpHJjirOWM8+ML/WOEquUMNg1Pya36DjL7MRSz7B2dWOe2MqK4lFFW1ZhQ0ZR76AKjB7LC/LuXvkCBR0DmmEaa5pTsxsqe5RKPQgaKg3Z0T4/rQHFm0YH5rrHKTWH1enpnKL61Lyu1nFOK4Lh+I6Gjsy8uvtl/R0LzOzoYv8Uo6A3umAW9EKz64XbOb2kUqsb6FWvcuap4YW+CVrBQq7Q9nQtzZJQy5WPausfNK3KaWhVivKShoz8Rxn1s1NyarhnYVxh1XHm6bHF3lFCzkKpJno7F6fU4PSYHBrJyatLK2wuG6C1Or67tTG1emJcbiHZ77Q3s6ixrHOhrXW4Vw6OoNu6J3rnB8KP+IYk12UU15W2Ly6zIBl+qHtueMlEiVhdWCjMr0sr6O6VWSgRqyvK7u7VeQJa+ofbqxatC/1tl7xi7k8Y+B+5tOXFUNHgjFiZns7Pf5Re0JDbsLLKQKcTelqbUqsmx2TMaN/C6KpJy1nnplZ6BjUr9PpSHtqw8f6fhprhOqvbHuTWplWPj6ggiOJQz9zwkkHDYXFW1t2vXmGMo73zI8v6FZmmp3tljoCOxcr8TElFY3GPVk1DTYLQg+IfWyLNQKPQtA2sTqvMOg4aNdczOj20aqFeaD66pB8pXsn4Gdb9MJxV0MNshQUwWcCLoF845xsNxrg+LVVFghBBC9CQ0LDgzBDNEI0gGKhosBspEkg9mMdW8qtIEAJoERoK1MbKc93GlrUdtCw4C0QzRDNoDmoSWg7MN4kSGLAmiBZw+se2PP7r1j4SB8EM0QJWgIaEml4/SjSBYjc++WNNIwVTZ+6t43G1UxoIJmgeb91Gb6hhwZkg6qGhoOXArzXZAB3zbVvWW0dCTYM2gKChokDpIVggmsEJUDNgjNCvnSjyO+0VzOBE0AbQHFQMWCNYftx/57noR4wICAboaKhIUAZQ7PoK1rUfu3aW1hbzry/n/Lv2Mnro1NTdSK8zN3rJn7Z49scZiAIhrH/OtWwXa8kX1s4AuZFlQMeD0T/xyYM2QbBAb1pvOGUAtfaHsXYUCdIAioWWXb9S6yfHDF58wgcjoWbBblw1NQNGD5p7wXwQkn6keCXj59HP8/PbzflGQ0caF5QG5T8wIc3T0dDQMgs3LyamthFq7ucQBmlZUXDLxHNnqZB4PiT9SPFKhqSffyD0eo6ATYWO+zlzDmnZzdjGXzuSfqR4JUPSz28dDf2PGyiTeDEk/UjxSoakHwmJzY6kHyleyZD0IyGx2ZH0I8UrGZJ+JCQ2O5J+pHglQ9KPhMRmR9KPFK9kSPqRkNjsSPqR4pWMzaKftRWdBsAIGKxgXt6aeQb0xrJKNQVmY02ligGnB8WDNYFe++0b05HX9/ml+yCJ3yySfqR4JWOz6Ic2iK3FBe4OAUcd/M/43SybAv0jS3I9D1oOsqXVsvzc+gVQHDSMouBacdWYoBYgyJful7ZXdfQlx2Tm9bNaAbQIHQ0toyxMKiwdoFXsejlLCYl/MJJ+pHglY7PohweR4n5+1+G4myXV8ZeDTp6vGhRAcSB4kPx6TWhSACWAZNdTt60tb1wr/6ymoKGhY6ChQfCgBBBrGzeOWisvreHArMwnhge4FChNZhArTUc/sPn69pTOBHqwyiEw4V6LrK91eFBlHOt6FBdWOchBEMf9tjuHlqsIExjh51yhKSHxnEj6keKVjM2iHw5EqleQ/80JEVAPlRz/KqpSadWoxcVlYnSaXCahpfTjE7K+MfmMyqpjsSqnVnXQMJArxRWlUc1ARZoWVWYNYZybkfeNyiZWDGoGOko/PiHrHdMuqCxaFmoaAkcXp95zjupUAzNliY7+gfuCe7QW9OalB4TmdFBgaAshclXJcfu3Xc6cJLX0ZMRhn9jKhZEZxdgSp6BeJGOxhMRPQdKPFK9kbB79kBl+/iddUwua+lMSk1xz540WruBK1LHdDnuc06oWZDWpsVu2nPnyq/0H/Etap/UPk3yCKmmjmc0Lv3T2UsMUj8n2Iq+7fd21xacPn96y95R31vQKxbXn3jt6/PzuPb4BGYPTAkgalBEDVUWBvnc6RJSGRl3JyPc9k9HFUwWJ9wJielaxfNUuOKawwsPm0Bt/2vLvbqnVUyOJJ93tfa8e33f8b7t9YuoZziilCZD4hyLpR4pXMjaLfnhQ2cHeH/zt6+3HPQ6fjLvZuKSxctl+bjvOZPcR1vmevGNbvdImLUZmMdbZzTu5p6H0/p6YIWph/E7A0b845dWO0jVJl0Oyu+5EBXwR8EhuAIDF0fITH55ySCzNvHp5y7kbWYNmUYROhHKwOTgsJqt/KuJyTmnzUmFSdOqjvqi4+MBK1mqeCtx98VqbsqMyw/HojXqdVdRPB+8+sdW9cpFUp/r577lYOWl+yWWkJSS+i6QfKV7J2Cz64UCkeQV6x/drAFlP4Yk9PnkKoSAw5GJ0x5IFo2X3Dx1+0GuBYEXvAz/f5KaW1o5A//SMsqbkpBs+wXkpRaX+F5Iq55jhlpIAvziv6NTCbtV4c8HOD84c9Yl0vhDmEF/TuWBieKhZmDVzUVfTgkNiPO7Vts7wHeV3T/mnxIbFZ01CL06E7PdJ6lB3VT9wPnariYIoTIUe9Il/RPFAw/1rTmczOhkYrKA5aDlwZuhIUEaw4mO1XiQkflYk/UjxSsYm0k/qxYCLcb1KYKWr4Phe3wKFUBAQ6B7eMmfBdGvm4S0BBTLAqrnl7heUP7WoIrL9T3zmduN6NTFelBoW4mUT0T2lgQDASGaFnNx+qbKxtfLEl76pc+tNoDkoSahpcEa+Ov3Ozr9udc4YWhAxN1K89c2DxzzyhkxgmbHgvV7XO5TtFWkOX99p52HQT13a7xlVpWFgrb0b7+CQ0yvQFbeLyofJyZH++zeaR3h9Q2ZJVu3yys+aOlpC4hsk/UjxSsZm0Q8PKjvY6/2/Ht5y1HX3Ed8rpUsaC5vlF+we0TxlAEvK82KDvtjhbLPP/kRQZYfSqDcaG277f7QvplQJw3yN835Hj2I1y/B16de2HnXbs8s7qGRihdE9vBby4Wdndx9x2OqTXT9t5ASoKRBGyLsKd3x+3Kt4hQJUswNnd9ocuD7OWkAw4yH7vRJbmfmRzvM2X/7buYzaqaGrx3yjqzQMrHX3Epyc8vv18jAbl8ia5c66TNsdcY1G5q79uXNx3XMbpbUlJH5eJP1I8UrGZtGPlrEsLqo6OsZqmkYaexWrPGjWsjCnmVjkFTQIDhoN2d46XNU0OSwz6XjoaKtMTo1MknIGOtowNqacVVl0tHl2cr66aai2bXlWbSUE6Aimu2O0pmmound1TmVZL0VDQ6sTxmZ1cyqLloGGME8vKiYUZpKGmtJPT6pmVVYNaZocG6/uWplWCnPT6hmFWcNgZYUYn2HktGlmSj2rNMmUzPgkuUpbFmbVk8uiUqpcIPFykPQjxSsZm0U/6+WQDWANYPXrVZ91PEgeGgoqCloWjAGcART37RZaXK+HTYogGago6HhwBrAGEMy39aFZAzgROhqqb34jvbEYiISaBil8mweBFEEwUNMgRXB66GgQG3tqOZACNNT6Fg0DUoSWgo4HKaVFkHhpSPqR4pWMzaIfCQmJJyHpR4pXMiT9SEhsdiT9SPFKxibQj/S6XkLih/gmx6CkHyleyfiF9aMirRISEk9B0o8Ur2q8gH5A/wQoFipqHTWN/tGl9t6pzr5pCQmJ79HWMzE8KddxoEWU1vUSJPOP6RSkkOIfEz9aPywnchzLvWiwLKejv0WlJZUaQkJC4gdRE5RCy82sUFmlLROzSyoN8ZPQSkhsIn6cfkQDDNyYlauxcA0/C1a+UUJC4knA1DQwUJ1a2FzR0PvwUc9PoexRT0ldr4TE5uEF9DNq5aotXL2EhMTLBsaGru7yzsFlKyDoIYgviCiCFdaLY0lIbBJ+4acfCQmJpwBjY3dPRXv/osH4k2b9sJyVZK2qlzA9T0LihZH0IyGxeXkx/bC8pB+JXwGbTj8wtMLQ/P3tbAPEZpha8NgW6/e2SEi8cjxTPwYTjObvwIugGMv3DCTpR2ITssn0IzSLstz51Wrwjd/d3iCqyxQzJTzb+M0WvaZMMf3YFgmJXx1sA4wtEJss7A/v8BT9sLyVos2TU8tj4wvjE4trTEwuLi5TSzITSZs5HpJ+JDYzm0g/Vr4JfHma58dbnC4oqGYI33ilCaiffuh+fu/ZXqoT4vqWuWpP991nuokOiL90JyIh8UJYhUbVUrGVb/yBJ36uwfJU/Qh6KJTsVztt3n33r++88/a//Ms7b7/9l3fe+Yuvr+/UrHpFYSVoMydA0o/EpmUT6Qf6dsOg3xn7U362O293V0LfZOEaLEIL0Ad0y6o93Hbb91Cd0K9vUTZcPGdj1yXpR+JXC6xdfl5H46NdYGmH/gcM9Ez9fPHFlzt2fBURERMaGhUeHhMUFPrRRx/5+vhOzapXlFYtaV4bhXumfjQ0WAtMgBlgeKh/xtK9NFgLKAaECM4EHQXJghJrbB79NMLa1Bd/JDwtvjnH+VzkDYO5BUIr2NzCqNMefifDr5z1OeDQy/RBzC+KtvPwPR4R5eCz72w32SnpR+JXCtC/+6v3//t//z+vXnEysvVWoen7OzxLPx9//LGbmwcAgwFWKygKn376+Vtv/TEgIGB0XEZQz6UfnQCaIXKvxtifCz7hnVHYR5GG5ypeRRtBsU/bQcNAoVrKu1nVJheHW1ozswYnGakqo8Q6m0Y/QivY1NjzDpX9pfTM9SvODr1EJyzl9RE2J23PJt8PCDn1wY6DLpPmhrbYPSdPnElOCQy1+3DbvrP9kn4kfrUAfUcOfva73/3u//hv/+3KZXsYW63ffev5TP188sknTk5uPA+t1qxSGRQKvrW1LzHxzp///NaDrHzg2YNvGhaaxZ5LF3zOhRbcSi+8efd+UunYmBIkB4IDyYNg11Wk5aBjQfIgOWgZaJmV9IiM4mFRx0PLQMeBWKs3T4Pg1w/U8VhdaXH9xOP+DFVzM+rkibQOFgwL3cZPVlPQsuvHStUaf2tsFv3A0sU3ezh4ONcMlKsmbka6bPHIL4b+buCp49nN5UDPTK693QHXaV16lMOxzIaHQM98saPd7jM90uCbxK8WoO/Qvo9/97vfvfnG/6qvuvr342/Pox9n53OiaExJybK1PXX+vKdWa+rtnXztD7+/czf12fqhQfJ0Toib/ZXaIR3MgMlkWZYLyxqQnGVhUTc6o5lRGLUctJRZptTLlNzYrHZabtBwWF1qc/30TEDB3IzOqNKaVuXs9CKzpIWOtcwtaEdnNHNKMyFCsdrpZRP4YI6uT7nm5JTTzYIXrItLutEZ3ZzcrGUhVxlWZMzUIrtKStVYfltsEv20wPKwLHDX+2+9s9Xms927PnjvL+8cOBdKm9NC7W3zWyuA7tkCB/sDrlPa9Chn25zmcqB7odT5rKQfiV8zQN+BvR//5a1/Hu1Phbn1B3Z4Dv14eflnZxfHxSV1dva0tAx4evpWVbW+9dabySkZz9SPhgW10uVyICy5n6WM0FBQ09CxoATDUHXaQRvHT7cf3Ol0vXhUpPmp6BPezj7hW20OvXc4MmNEVhob+O//+4PXdngGVI23Zd233+Vgc+ZG9rC8pypl7/azn23fv+t8Ss2sXqvu8v5GP845vXrLSlfFuTOeO3d7OIXWjYhMTkDYiUOu+1wz6xQmnfQM9FtiU+jHaurSj1w+c3x3fGWBUd+gF5tULX5uR3dmT1U0hWw5cMrpQV5Y6PG/fbjdfszS0BSydb+tQ2ZeWMSp//ivL092k12SfiR+pVjN7bnpQSM9KbB2fG/YbY3n0Y+PT2BS0v3bt9OKiytSU3MTE+/U1ra/9eYfn1M/5ELT2VN3isZYQtwYZGOhknee33k2tJKiOe2DUL9TIRXD1Jz31iM2MX2sZinO+eLXEe1z+umQvZ4xtVrKYq6+HrhlV2zFkkmzWO+4zTm2Wc+x8rs+ng4xjUPy0YA9G/pxKRzgVsMPnjnim5WanGJ3LiysbTbnguNX50r6lSbiqa+RJF49Nol+OujBuAcPLk0p2mBqhrEdmtzSnIDSvmqok+P9D505fzQ+JazkVswS3wP5vcTAw3ZuX19NCSu5Eb1At1qFX74fkZB4Edh6GFthaHnSDs+jHw8Pr87O3suXIycm5ssrainK0tzc98c3Xn8u/TCg1OO+hy/ENdOUEVoKahq0Aarh8qM7E0vlRg6Yq0v2i773aH4p4pDPjXbBAGtFfJSr58MhfjnioHdiEyvAXHEtxtWjdNQEeWfBYZvbdZRVACYfxvsm5DZOTgTuXdePs1vx4Mqw61dntp/2P+MeeDQgo2RqJsMj0O/28KIeNA/ODB0JyghWhJYGZwHFSDPlXlk2hX4sbL1V3wZrB4QGC9tgYestQjOsHdA3WsRWoAfoBjqANnD1393SDq7+l+9EJCReDs8z883F5TyAtrahoaH1u7ijY+SPr7/2PPpRUyBEc+dd389PRuaNwwiYOHXfuGp0tM1xi8u1XgCW6oQY1yuVQ/T85X1eic2sAGNZ7BWXi+VD3PzlPV43OowWWMsTo53OFQ7poZyoOPGZR8okAH1heJjH9aZh1YifTUDmHF2fnOjoXDhAzvnsdPYr1210LdokJ2/vpMFlExbHBzPuto1whpb8qoLG1TnFUu7N6tZlq4755TtKiZfB5tCPhITED/Ec636++OKLLz09ffz9Q7y9A9zdvS5e9LGzO/vmH9+4dy/9efSjocGoVtMSA774ymP/Sbddp4Iii2dXOa4lLdpml/ueQ04HHO8UjrKkMBJg4xnfxAowlsaEO10oGxH5Bx4n3t3vE1Y/WZsU4+BW0C+A43QVN0K321zYd8jxkFt65Syv1nZ5bvfLmKMf3Us465DTZzAOF1/ftsV+1xGX7W43skanMs77Xbw+KAOGau8f/SLykZ69d8bN7Wr3wFyzwwfuyaNWmvvlO0qJl4GkHwmJzcsz9bN//8GPPvro/ff/8/1v4z8//PDD9957Lz09x2p9rqwHWh4szbY19ZVUdxU9mh5ZMZECSJprb+4trOhtnaA1InQkPzYsm1JYtKx1YU45PEnJGazMz1U1DDRP08uL6uFJcpWGjoWOoFoaegor+jpmOK0IjY4bGZLPac1Li+qhcWKVBsPp+zqHS6s6CxsmB1b4hSn56IKgYiFXEEPD6mXaMjspH10QZDpuZEg+q4FGWif0ivIC+hkGV2HlaiUkJF42MNb19Dx8UspRmrGsrBLLK7q/Z2lZq9YK3yQefXbWAwaMEbwRvBEkCxUJ9doWExhhfUoCqQfBQEVCx4MSoKGg48EbQXPQcutbVBQ0LNjvHkjpoaOh5UCJ65PraAN4E3gDSAY6ARQHNQkNA0oPLQVCAMVBQ68f+Iv3khIviR+tH5FbNHG9Rm7whdGz32ISRsziqEmQkJD4PmZx1GIa6ehu6OhfeFLGa9EAvRGi4fvojeBFKeWoxKbmx+lHbwDDgf4JUCxU1DpqCpPzxMiUcnRaJSEbdXK5AAAgAElEQVQh8T1GphRLCq6xe7azf0YqNyfx6vEC+nnxe4DhrDT7nYXN47PKofHl4ckVCQmJ7zE4vrQoI5t6ZiT9SLyS/ML60bEgOAkJiR+GMaCxa0rSj8QryS+sHwkJiadACT+/fjQ05Fpj18BUZ99EV/+khMQ/kvaesdllQsdCLelHQmIz8zL0o6agIq2rKv2KSpSQ+Mej0JnXJtNL+pGQ2Ly8JP2oKWhoCYlfAgaajcn0kn4kJDYvL08/EhK/OJtJPww4I/QWCCboft520t/69gfYWGEnWiBaoLdANINmoRPAGqDdmCOuokAIYPXQ/tLXTOK3w9P1w/JgBXAGMBwY/mn3pqQfiU3IptEPB2FlMvrypR2HPe19y7pJ/Ix5BrUsdOwT64joeCjmZpNCPPbY+h51DDh6xuugc+TtLlV/TdXNO53jDEgaahoMx9XnPLic1Lq+5Ze+chK/BZ6sHzCslVQr1IuTMzUJFMGQGg37ZANJ+pHYhGwO/TDgqaVk/xiXyKK8ho7szLycPrOOgZYFrQejB8lCRUHLgtn4p5qChgEhgOTB6EFz6wk/vjmEYKAmoSbBwdSYnhF1rXPOCIqBhlnfgeLXhaRhoFLSnS3tZY1lDluOHfbJzmkYGNVSFYkRtnYP+g0wGkFx0NGm6fGFtkH1CgWCB6MHI0oZQSReLk/SD8uDUK6MZdvPN14fz3ObqQqdLg9iWBMr/PAd+nT9EAJofuOfJHQbZbB/BN8cRf7yJ+2VggYpbPQ2T/hGrqFBCtA+qS+iQQlg9aAFaEhoOZCP1fRTUdDxG1sYMCIo/vk+GAOKh+6nlcPYHPrhYJL3u5y86JEnA2A2mJaUVp0IjYrq7Z1s6p4dWTETPJRKorNrqql7bkIJkodCxS0s0dPzitaOmcEVo5YByUGpIjq7Jht75PMaq5aFloGOWbnhdn7fyZsFUzo1DZIS+vumGzunBhf1Wm5jbI0GpYcVupv2fqG5iwRghaHyZvx59+y6mZWuvsUJpZVgoNTol+V6JQf5oqK9e6JlYHlG9eSrLiHxk3mKfjSLkwuNSYRslmMEfrWPk41bADNgtq5jAXgRNPsM/Who0+ysamjJSLDQUNAw5sVFYmbVoKR/ROFRDWNZWqLnZQYVC9oAQiqR8HOg4cAImByZaeqaaupXzKktOu77p1dDQ6nlp2epZeIHrpeKBsMaRkbnG9qnu0ZpJWddWaGmlwTFxsXV0qaZadnANKNgQBJc98B89xSrEcGIT33LQEOrFcYXdYtaED+hA9wc+qHAGtnKuzEHjkdey+8Y00IwQquTZcaG7rGx3X7MI7GZJzSLySE+n2w7u2PPgSPBj4YI00hT3tkdbvYBcft37v3YJbt12UhrZflXYw+dvHDkUPCVyvklAZzJMtZR8vW7W15/d9+WsMoxOdGUFr1tu8uOPQe/cr5TMsKR/LfXjDGvJpz2DkqfXBEgwlB7L+H4Hs8zXmE7Pt+z9VKHzGpquH/NxbVwQKe7FhSwZ++pfa6xBaOQssFLvDyeoB9wekxXREwUuPOcSakR2jsGO7tGOjqHOjoHv6G1rW9VRvLi0/SjoUHrF8IOnfjXY9e6FaBYcFDfPR/gm9Q/L/yInoWDNs3nRsz9kUUjO9S1MKm0Pu1tq8RzoKFBMURdUZbrSZftB+23HL90rU4mo9ih7sVJ1benlxQxOVDutu9K4SLo7z2z0tBxwtTDvGO2zh/ZOB52TmthxLKoyPMB1SM8KAZqGhxHFt+8FXS7e17guu9d/rdt7ufv9I4vrvSPaFfoJxqIMZhH67K37nVMaNCyhhevj75Z9KOiwJjRmZ9y+tC+AwFVo1pD/e3o/Y63m9QwGMGbzK258Qf2xNaRsJBzl045Xq5b7W/K2vaOfWid1qiXRZ11vlw531WTbvOendvN/Fsh7u9fyGldAMODh1gaE+nmUzVthXys7OQX7sljgJVK83O3j22coEFtfJX4rn6M9SlXPnzPN31c0A2X7PoyrFjDNqQkOroUDY402Jzwi28UAPA8VNJog8RL44nvfnhQOmK2OkxUTjQ2db/zzttvv/2XN954/c0333jzzTf++Mbrb7/9lz/96a3y8joAT9cPpZ+/csB1x76jrqkynQE81LddfC4m9s4JoAQYADPACSAEsALUJHQCeDN0FFQMOP360z8H7X3Pa1GpkyvGMb+dAdlzMBqhpMCaYQaMAEGCEMGZwJtgAjgBlAFmwGQByUg30d9Bg+CNHdlh+09G54+CN4LTzLcM6aaXBnxtArPnYTCA0IO3AsD8wEOnr0LzN/RDGUGuvXrgoF/uOnskLLZBKwAL0+Ndq1xRxGVn39o5AIAgQkWCNkFvBWeYCNx1NrYRAGqSYlwvVM0BPAcVCS0PxgDtN9eIhaBdvnc78eBud5+7NX3av9Pec7Np9MOA4CBYISqnAs6edcnsSvOLco7sVQAkC0Hgq25cO+ZcMQXwejTcdAkqnWqtLDh/4k4bB4MJD6OdArKG6x7c/fyTc65R1y8GXw960D+jshIMOPBFkRGu3pUTZiw25Rzck9zMgwdGiyIuJhT1KEBtnLvv6kdfeeOqm0fxiBmEusfPxj9jmm64f93JOa+P0FamZfgExfglFjQvSOMMEi+Rp737UcmmSrx5xWRTS99f/vJnNzeP5OS0GzdSbtxISU5O8/T0eeutNyurGp6pH1KYjT7uG3yj2PV8+INxK6C94+bnfb1/xQTFdE+4f6T9hft53eRgV015j0alx9RAf35W/xQHUrWUWzuzoLToGHDQpnnfjEuvT7sT/cmfd37uce9+B2Myc+WZGa7nIn3j2qaNlpGOvodFTWnpWe6+14sHud6KHKcL4X4pLUMKMC/af72qaFloVgYv7juX0C0yBmhpaFiwek1eTMgHf975+YX7WYOyoYauzJsZl69X5jcUrD39MBx0rNj+sLd7WdBw0LAQtaOeJ51srw3pAIMJBrD5V6K8/e5fvXPfI+BmRg/H6c199e3FtV0595O2vG3zlffN28VVXjaH//qJ/anbLeMKcAbMjS3U1U7M6defhgk9lnqbQ0OSchsbvEPuF/QLjP4Fm7k59MOCnFtsHVgcpcFR6mueDrbpwy0p8QcdbzUoIerBmcxteQkH9sTUaGHSTYXYBiT1KgcaMw986Zs6DjATvod8ElpXu6rv794eXqYGAKsVOhoqEhz4gvBQp4sVkxbIxx7afnn+7ghg1tzzDvG62zUnfjvCwJhXrp68GJA2sa6fpBgH55w+EVp5h+cO/8xZuj4l0cE+s4sHAGVv+Vk7u4sPaV745f9YJV5VnjLxmuXAsEYr0NTc/frrf3jwoBCAXg+9HgBKS2v/8If//Zz6ifjaN65qvjI75oxb+YyVTzvv53trcFo9c90t+Hxc7u3wuPM36rPvRR6Ka17WcU03PP91V0z+AlQtdw+HVY3IrCQHDtpU75uxaa0lJfd2vXv4aHRV7bSuMyfFzTU+4kbuFf+r0f3yxpSI99467ni1OMHP9b1DPq4xBXfio7Zud/PMW9JZpPUM30HLQjVeffJESvWinljrYWgQHFmVlrjj3SNHY2oal2R5/m7/9Znnpcyu+o6SNf2wAig9ec/t2oMRrdYALQWdwTTRWe992u3g2ZAHAzDB8PBq8Efvu3pdy7/scvY9u+IpiEVhIfYemTmVhUfeO3QssqiktSv85JnPbHwDS4bn1BCBwcq6K0F5gwDDQE2BFfVNxdkXgmsVMKYGRMeXzcie/qLoyWwO/dDgWUXO1cid2059uv/MFq/cQZmFoRdvBfp8+YnttqPu8U0coV1JDfX7ZMvpbbsc3K4PLhgsI835pz+03evqu3XnvqOXWkZIC0etpIX5vv+J3Y6D9jsvV47IrDQHymQZKs84sm3bB0EVY3KyNTNu2zaHLV+dPuZf2rpqIB+TB2OWXT/rfylzak0/1XcS3NwLBkRo5d2++y5lz9GNaTfd3EuGpod83d0/tTl3xPFOmcxASV/cJF4az1z3YwGamrvfeOO15OQHej3UaoNabRBF5OSUvvba759XP0e8oqrUtHoxJjAmpHU0z/dy4K2BoYGyHe/s+uyU/6njJ962SyqoLHfxK2ronS+OPW9z8V58yWRp/JXLeWOLDHQ0OGhTvZJi0iaXjeNBey/lzgNQX3M7+85/2B5y8tmx3+5wam9zesLB/UkNJMxEt91nZ8JbAFhy/IPOBNVO6MGJ0NHQsFh7Havjf9PjCloO6qlHp/fHFc4aaXGj3J8AjabXd+/l3HkA/AN/H7vAhhVANlzusie6cpmquBtvY2P7t//c+96Ok3tdYwvHQHHgrJBNjWcmBtkcjSycEyrjLh86ldlvAD1Xe2rb5RIdX3E10s27dsosjz4ScLcXAOpuxXv41iwC5EzrhTPnPvnyyL9/ePiTfac9k/tnGPAa+f2YIJf7cxqWb0sO2+6X1yu3Ui/0Cnxz6IeChsPykqa3d7ZtYGlYZqE4EAKUcrKvb7ZtYHF81UzwUKmp3r65tn7ZnA6cBX01Wc4HYnNGlnsGF6dUFi0DgoNaywwMzLf3zXVMkjICGhpqGhqdODG50D5OykgQtDg0NN/auzQuN+n477w009DmxUVqXmFS0dAw1lU5M7ssKGioScPcPL1MWGQKdnZZVGr4wdHF1t6FwRleLc07kHiZPDPrwc+lnyulCgoYqn3g7u9z4sCl0PuD/R0l+74Ivtcvn5zTTslEpVae4hvgfTcn4uqjstzK2/ExtoEPCrtJQg8N9Y1+xqaJnos7g7JmAbMsxt7rWFBF54pqYp5W6vmaOwkubgWDBhCavoDd/vd6TXroi8LDzgVUj3KmlUVqSWeRKdmZRV5OWxYXyHmlSf1bnb+gYaAlZEkudi7JY8sCDFaIeqtCZ5yfbXb/KjhrBgCX6RfieaV13or5gYcuuyOKFs2yRXn3YH/Y6bCYhz2dk/I5DbRqcYWAAEDQxnqcPZE3WB0X5RH8aNoK+VzDBZvLRQq+4mqUm0/1MDMfut87sZkVYCyNveJysXrGCoZgRqcWiu5lep67WTg5NzrPaUUsjtQcee+rv9qc3XHA4UubA6+/65k+JujEF5mAsFn0oyah5UDrwYhYE6lqYwstrn8P0rKgRTAiCAaM2dpdnnxiZ2wdBZNpfSWQamMfWgT9mFo0DEgBDL82rxSUCEb8zuT3b/h2xQMJLQtiYx9CWB9+Jbj1WfaPrxySkHhJPKd+Xn/9D5mZhQBEEaIIACUlNc89+DYVbOMSUrCs0MMg6IpjPf7H//UfJ1In5hSDfoftj0fUVD3qLG5bmNdiMMP3P74441Vj5GZaoxwOfhTU2qcAw0FNgYfmjmts2N3hOXbKf6et072ePhnVcDd8+4HwawWd5Q0DXXJNVVLkyZNp3QIIZcf5z85d6zAawGf5+531rh4iJ/y2e94d1TVmXLc7nt5t1MQdOhecOy9/ynKWVxsaBIfFxsw9h087xDUXVzbl5+em1i2NzY7525xySu4dUisyL3o7BD6atWKut/D05wHZC+D14Ez6ihvljxYFygSCBzM7kpFVdquwMTsn86St752+5ZLQIDv3snEzZFNVZz/1y1dwpVdCzpx7OMjM+G91jW6geZge3Yo5cjA4vmVxVQcRmO0Zzk5rnwU4Hgwplif6fOJZNanhFmXsslqd4ml7/PrgCvUiiyA3jX5+JIRonehrvxVf26sD+Rt+SJd4tXlO/fz5z2/5+QWXl9cUFFQUFFSUl9dcunTlrbf++Dz60XGq/ISc/C5CyUInQDc3HHspJr5WrjFgYeCRh4Pv4dMX9l8qbluwaGd7o8Pz6leg53T5N9NvlM2v8uv5sSgDW5dRV1gvU+hRf//Kftfo+AbKpNdlX088evzCXqeI0Krpwfq62/c6JzjotPPp0XmVk2bWYGjJL0nOHZ8h5ZlRuTXz3GDTo5s32scFtiQxK6dVo+Cemi7r1YYGJWJpqNHT0e+w3cX951NKRjhaRN39iH2ucbc6l7oKSpMLJpf1WJ4ZuBNd1iJf/5qu4751Nm1iq5PvnTnqsdcxNKBoRW82txaW3X0wPC9CsTKWHFXSpjF0lZXfzRyZodW5cbllIzxhwOpYX6Sv297wmsFVK8VBw0C39kWchkYrVDy4c7eVoAUQHCgBky1lgVn9y9rfkn7Wno1YE3TUT1p2KyGxmXmmfqzAo/r2N9984803//iHP/z+tdd+/9prv//DH37/1lt/fO21P5Q9rHm6ftagTRtZD0ioWfAWcALUJLQ8RCv0VhhMIBioWfBmkAxUFGgjuMfGW1QkSANoAWoSpAEGC1geKgqMEXorDBZwPHQCWOP6O2rGDIqFigSpX8+jyJhAMtDxYI3QkqCMjyVi+A2j4yFY188htTGv2mABw4HQg9VDQ0LDgDWBoDd6wsc0sHZdRMBggaCHmgQhrh+lpsGaQdAgxPXklrRp/aJoOPAWGIzrs7fU1He+BJB6sI+9MtcJEPQvOA70a9WPhMRvgWfqR9BbF5c0xcWVZWU1ZQ9rH6eoqGJuXiHqrc/Uj4TEL4KkHwmJzcsz9UOzVkF84m0r6J+ddEdC4pdC0o+ExOZFqvcj8Qrzs+mH5WF9wrEG0/pXMEk/EhI/Ckk/Eq8wP49+OMGq1YmVlQ1lZbUPy+sep6i4cnBoem0AWtKPhMSPQtKPxCvMz6MfvRELi+q//e3df/7nf1qbe/MN//P/+b+jouIAPFs/f1eT9AXnXG4UFX/SDs/zY1/gVz9ez/w59/+p14/+3rLZn+nHSmwanqkflgfLPdtMkn4kNiE/VT8sD16EyYLZOcWRI0cLCiqLCqsKC6sKC6vy88srKmr9/IIjn0c/JHQc6I2SSmvzqskfv65Tw4DgQfIg+R+uzrS2BPUHMxRpGGjXDqE35rn/GAgBFA+SB/HkyqrfNPbFWvc9dNz6els1BQ0Lcm2G/jN/u8Svh2fqxyBCFMCwkn4kfn38VP1QtJkgjRRtVCiZoeEZowlGIwxGWKzQ6vQ5OUVFRTXh4dHP1A9j4qpuXd3tnN62bGV5MCZDc25OZFzjKPtjKluzEJSrqTGXP9x1ZufhhLwJVit8py8mRUz2N0Z6ZzUpv62z8A0qwqwkrQRnnWgt9/bJrJc/74JWLQMNOZvg4r1jr+OWPadsw4o75U+rA8SY9E3ZWZFXm8d+VOseQ8NCLddkJkXGN1IsBy0LeV+NZ2prU3mhb1B+q+oHWifxa+Qp+jEaQDHm0xmnI6qiYILwhDqnkn4kNi0/ST8WKx48KPj000+379j51Vc2+/bt37lz586dO7dt23bw4KGx8YWhoZGsrOLn0Q8PIt0n4N0/feKQMS1jYYBYdjX8tEN2DweGA2OEYAYjQMeC4qGloKZBG6CjoaI2ar4y4DmiLPH6qYv51VPTbdVlGc26FR0IHpwJggkMD9qIoabs09tCi2UQjKD49UVblB4GCCWx1yLujMgt0KrpsVlyhVivgiqYwRtBslCR0Amg9OAMEEzfCkbLQqXpvfCFg1/WYHv/VPe4VsaC00NDQ8uB4UHwoEQwevAmMDw48CUxoXZOuX2PtY7Try/yIvVgDOD00JAgBPBm8CYQNDQMaAM4A2gOGgasjsi9dnlvwihnBKG31sVdcE3um1qlJufpVfLbT84ZoGNAChvnaqNyOcGtt+gX/xOUeApPLLjAWVU6anhp9k9hrx9MPiDXKdUEz/IvpB8SpB68CYIJ3MY9tfZfa5WYn1L4UsOAMfzoepek/jedTvT50bDgNrq+tcv0eGbPtdt5bYuW3+iRnnlHry3YF6GloaKgIqHjQQvPO2SiE76z5vQn8pP0A+D69dsff/yxo6Ozra2do6Ork5Obs/M5W1u7L7/c0tE5mJ9f/OBBcXjEs/XDgcjwC/W8GHPS43b+qGiCqeJ6rNO5gn4eIs+2NXTllPS0jHLLcsXorE5GQ6ljR/rkiyRIWj86S8wrTFoOBlp175LPNp96DQBAqbMSHBSrssryttyHnR3zRtaKsdZ8p70xFSrL8tTK0AyrZKFQksMjq5PLI5cOnd5tfztzQCFTsxNj6gUdOL11fHCssLSlqH5sUgeWM89MKSdHFmqaevPrhodk1rUbT8tCqer33xOYObV+uuZGplomCDUDxYq8aVg1PaeenFZ0dA4XVvb3rMAI/cOEaGf3okEeIse1NXbnlrRU98plHChGGBtc7uocqWyTKwyYn5wuLmktrF1YpCFX0sM904+aR9smWRUPVjR25Kccs03uFGBgJ/1PJWR26xQUMzamXiTAiaahnqH8krbKDs2ShhqbXFkkoOX04/0rM0oLwZpnloiJRf2TqsdLbBKeVO3UYoRjlsP/F/Q//xr1L/8W+fb/8v8ft5tS/v62fZ51P1rGMDY4VVHVkV/WUtY8Nan6NnuKjjFPj87Ud64uUt/mcVGR6+vkdTTkq/LGpqkxpfX5M7NpaHFsUDGtMGkFKWvJU08UC0qjqqppzynpaRqm1IJpcmh5ZFFcL4JOQ0cyXW1jndO8joNiabGwaqBtkqctYJ/uEhbK5dXWcbWMgI6GlrXMTcsHxgkZDdaMp+fv1zBYnptrnWZ1P6YQ+1P4qfqJjUtMT8/v7h6amVEWFFRmZRWlp+dPTSm8vPza2vu6unqf8+mHA5HuHex9tas4P+bUxdJ5o6X6RpzzuaJBg9ifl+roHHbGLtg99lFRSfK56KwWmUXek7Vvq8/tcVhW2tyvZJb0CrwIymgday9xOe7jGpZVM2FgzCCUk7f9Pb/Yc+HI0a93u2bVLwsTXUXOe+Pref7BBd/zUe2LVkx1FbsdCr1WWnL8b1v/9LHdieT2nvYSF5vwYhVkvcUux9x2HHbbe9jWMXFSbhYLw4P2bDt35HzIjq0HvwrrXhKgpaFlodYO+mw/czIoLfZGaWmPvKk06fCp5NZpRXZInHtRR+GNqH3bztt5Xdm/7/AOr0dzekPltRhnj5Jho9idFbt7j+eBo2e3f+17tUpBmuYv77bdcsD3fHxL33R/vE/ocZdgR7vom0Pqvqbco/9xaPvZpJu1SwojKBFLg40B57zujIFpu38kvKRXbZlqy7XfFV1FWpZay33OXbZ1uuzinZleU3v5ctidQbNV2+HylYN3OaUnlq/dvBVVojEYf/nbTOIpPEk/Bj3uNifbP7B/N+pfP0v42L3IrV85PD46UVJSVVFRv0ZpafX8glJ4atYDDQ1aPx+2/9h7XzruOel25lJmw+JG8TcaDCe2FOaEJDSM0KC+cRJvnhiYaGyXrfJYHW0NDUyvnLMQz1d2REOD4KfCDsSm9WkW5cuNj6aniRfJFfbKo2FAaNWVcbE7Tl/Yc9DdObJuiNZeP3khIG1yRYCOhpoBo1u6e+X27QalSrV098KZN/dE3W2YG+wZah+hFMwT9ECDNfBl14Le3e1XOq6nBPDgC6+EOl4oG+K43kdDvYtG9ZO+ktKgKTLR88wH9ncG1T/8Zv3H8jPoJzU1t7a2aXh44c6d9MTEW7Gx1wcGZr29/ZtbuhsaWgqLqsPCop5HP2negRdjOxdY7V33S36tqy334l3cy4aJac+th7Y7XY8Kj9huFxyZXn4xNCOngx7NDNzhHHL+gXyyMu1CZE6zHAwHFQnGguWRzih32y220fmDRE/5vYM20Y84wEokuTn65E/0dJS77o+v5/ksr4ALMZ2LVkx3Fzntiqs3mkovhfnE9auA+f5S590xtRry3rnzdmHtSoAYbXQ57pm1qq+44vPx0dQhDur2nF07IsuUoFhoWah1g95bj28/fems+7VrRXNqGJvibp7y8HYL7pHBUn3t0iefXymXQ1CM+dq63Z1iapLiXD3LBzVj7tucYloNANpTY095prYTiogDdm4ZMitQmRD4wX86nY9PCXA7+0lkfWtl6pEdIbkLsJqgJqFhwapW7iXEXXqoab8fFni3Zd6I8ZZcx/3XmmnilrP9RzZBQXF37RzOnU6sSkq4FVBIKOtTHD1cd0UOjnc1hQZGZ0xYBalW3ubmSYNvNGuFCSyHP17+vV22nXqRvnf77hdffPlP//T/buR8e/P11/9Q9rAWz854PRN+2DuujuQBvQm0CM4IgoGWB68HY4ZlrVS2HnpAb4YV5vKrEU7u5TMAL8IEsCx0AlgTBBOMAC9CvTY0ZIABEA3gzOuvUTU0CH464khC7iQ50pl3dk9CCw+DABUD3gIjIBihIUEawBrAm6G3gOZBG2EEROP6eNEvflH+AWh5KLtyt+y5XqcFYJqeXhlXya/beQU/WCAAM8BwUJJYy3exOF5qvy3goQoAfdPO0z95WgsQ9PpzKiVAszEip+HBzrZ4hlx3Pe7uVzS5REEPvigqwtW7dtK8etnmwo0uo2CGmlzP3Uey347maTnI+/KOn7/u5eh5pYV5sQI/3+On6ifu6rX793NKS6sGB+cSEm6Fh8dcvhzZ3T3h7R3Q3jGQlHRj7559EVdinlM/F6Lal0yY737oGBAacfmG58WHQ4t9Djtc7cJSYm9nRT/o6F1aTguJj8mvjQ9NTcmtjA27H3H9bmTKgMy0nnlXw4AxATAXhbtsu/ywLPnecbuiEUA0o/XeBf/cgfbmijX9PLgYcDGuewWY6yt13RNXy/G5fsEXIjuWgLn+Mpe9cY9Wlq86hPumTWoAUia/G+p8e0woDQ+7GNY8ByxP1XnsCsmeAc2uD7757QlInwAAowmkAL43/S//+pFbpRUwlcREXQismwEYjeyG55n4XromKc71YsXgbNdZm9icOYEDllrzgq5cq1pUxB71SWigRROTExby5d7Q8NTs2FslOb3LXVVZrl/fbCC+rUzMGY0NubmhoYneISk3SucJYLQ5z+lgUot8OeqMx26nhKjkB9EptbWTsup798NuF16Ny8koLA/3TUnKSr0YXDH940ftJf7BPGXqAceDoI35PaX98v6M9Pyvj5woLCzNy1ybcT0AACAASURBVHuYm1tWWloZEhL+nBmvSWE24oh3dIWKMEOwYqimKOxW7bAKst6GSxntTc1N9+50TOjRlZfqaH/BLigxuazW+fPdf/mvYwcS6vunJ7Pjy1qUYm9dU/a1B/4RsQfOXoqrVWpZiAJXnZV84sRFj5SyO1Gl9XMmLbOmn5noE9dSmhov25155x2bz3wfVE+ajbqZq0FhB09cCro9uGo21KeXZeVWXPILs/NLrhlU5yWF7znp7ZUxOKf9raS317BQz9Uf3eXsXyRjTOAMEK0rCWf8ghKyfS8Gn/C5UzgCg4GuSC7KrmuNPn/+X9+y2ReRfO128qG/bn1n+zmntEEFDd6CgZreytZFmWn9TqfMGMhN9okre9Rcau9f2iuHHmJJTLRHcEZSUuJnb33x12NhYRUrrAjaYGzJa22cojT69cdT0miujY8IzOyqLE62j+h84Qqnj/MzPP2kpGQPDk6MjCyWltYVF1dnZRVPTMguXPDp7hlpbumoqm6cmZHxovVZ+tHdv+B7LqJl2gCBJStver3xz1t3+1aNMwsh+x1c0mYIIzgRtAkjeQnHTh7fGzu1MDWbH3z6c++ctC5BNEDNgJJre9t6qmYFDU3nhXvsj65ursqwtQnMnBBo2VDwqZBrbasDXSUONtE1jLkmxvvs5fJBldCeFvGfOyLrOCHPL8AlpG5Mb5rpLXHYeaVKx+UGehy/+HBAK4zWFZw9dbNFEAqCgpz9a6fMWBqtdNoelD27oR91n9d2j7h69apGWFYb1fRSqtc1//jrnuce9ur5qsSg7QeuVy+K811FJ/fGVlFcZUKUw7nSQXoueN8ZvzyZhtbkRsW6hddO6pfD9nhEVmk5q6nmZvjOI7fqlTCZIQI9lWln9sZXa77Vj04P1Wi39/4P/unre7XTJiMw1JBtv/tqA8ukXzh3wLd6ioPeAMaM5Y5KP/vd73vWdc+wrQnu+z3j/Ys0gjTytul5RrVTDgBmJpY//ezTtLRcfKfez/MW26b0C1cOn/zbJyc+33PBPaFzZKk3xC42qaQ+3v1GYsdUZXqC7bG0nulBe/ewoBtVFS0DfTNTV51cvzp85UbHwtTkI5fPvB8sc49uBv/bvzsFZrWkhV7828H7naJxoOyW7ZHgKw/qkuO83v2rfdKAkeTWn34ij13L6BnPuX7lq8/dgx+OTGtWHviFOAbnJN994Bt8+964LMv97Dsf+lzNro73Pvv2/qBL6a3FdyI/2BZ8s5cgXjS58q8OrSAONVW6Hj6x1zWuZNJqgjLx9Jn3d0fezSn1sXPa7t+hhDbh6Hnvu60Fmbf3fOgY8nCgs6/Ve5ftQc/0rD6lUmfU8GxRVMqVOw0jrKDUWdX0/8/eewbHcaVrmhMxf3d/zMbObGzEmpidiY3Z6/r2vbf7drdaLUtJJEWKFrSgAw1AeO89CMIR3jsSIAHCEJYAQXgQ3nvvXQFlstJn+ap3f6BAJ4lkN9UUm8qI5wdwcOpkZiFPvpknv+97oRHkObcyYooWaaMyySUib0StgbYqJtrFv6K2q/7qFxevJjQ1zNAKSrtNy7NcEtKaZ5dojZSEnIVAzoZ6pZcMMZKV0VCXxLotMG99K/C28nMrNnHHZD4gICwzM39qasPOzrG/f8bHJ3BkdBaACdDoXl90hzPRxWHRQSkDCwI4LZTL454nTxy50TyvNa72PDh7+OpXBy98fDkmu1fQb/U6W7qHNdKCRqhJCjvnXT1Ig2UhZ8BqNL01+af3We05dulPDrfb5jUqnqzJiPpmr9WegzauWaPLWuPcYK3X5bQGAsJEk42V9UfHrh+w97e/nNFKm6Ye5p48fGx/TOtAf2PAlZRHUrAbg2GOrp99c/HbM8GZXYIAVWVMvH9Mx6Ie67NtfhfjK1fMi28Kcjr05JVP9l/++tCl40F34uPi7IMqR9bZ0ohwp8InZVkpl/bbHL7m+NXhy/4lBAN9Y3aad+DjSa1hpbPkwnGbL/ZZnXK717Sm4zRLsVdvpLYo5Bow8oVkP6/P9lzaY2F/Kbe3r7nSx/Z2qwLM03V2FhpOmuXjcS6kaYaHSoeJrodeVzOalGCWuj0u232+98KnZ7y8yjcNwkaCs5tNytCGFtN1mZaXU6vXwYk24e89b2a40PPf//v/c/v2/b/Q7VS9FHHWxS3lSfPAwsA0LdeD7a89/O3+UwkLDNB1P93WumhoY8bX1vlaYs/0ploDY31qnKtv/TKgWGt3PRRSusE3pcectyka00G93WV/MPjBjKQgMck9YYwDyPV2x++8s4Y15K78RFomlcxQk/2VzucyOtUAMXB9/6nfH7Q/ddH2o9P+UZ3TD/z8bULaN4DlrsJT3wZXSgFIIizdA0uWtrXgtSBoKFVmv0f6Q42j4yDosbUwcyfa+9C1jGYpkWXj5pQ0TgJjVdkXz+T06pksG9/QooXppQ6PEzGPpACobKeAsHvLDDDVWmJ5/OrHn1v89suze07ZRT6SK3Qgp594ugeFlK8uLK7lBDrsj+hjoam+Fenk3Tijk0Sf8c8aNMKkqc9POfzdxd9/fOx3e88duBKUP2hiTdhozTvvmpzfvj4zNODrYH/57opa/7bH+LbyExUd5+sb3NU1UFFRX1XVWFfXXvbgUX1915kzliOjc1r9y3PmR9NOGdO2QichjDszhGAhIzQbCsNOiPCGhJ1bIWfXuHWFiWAhkemkFBQstgn9pvw5R14WMqV2eYWcXaEWZUYlt5ODqVtaJWdX2E0aSg4yUi+R6bYpKFlsbHOzq9TCtmZbrpPSUND6NQk9L9FskwaJXLdNgeSxLePnlsn5DbWMB7GzkwqDjIacMuyMs3sIRolUtbhGza2Q85vCqkRYJ4wKFjKlWqaiKmNjHN3LurbplQ1ui4GSgZTQSRT6naNb36Rnl6kVmYHgoaCNW3LtFmmS01BykCs1i6vk7Aq9sK2VKvUSuV76vcuHlNBvK407X4KM1D+358L8Cjm7yizLDASLLbluS2lUsJCRhg2pViYuu/0t8K7Mtn1TOjQ7M10NyNurLY4eOXtrlgS6itKvX7nTycOgxVh15nFL27gBqi4+ysmnae2Z/HANaXFOblUTWsglPV5HQ0qnJAVJ8a6xwxxALjXZHPTKGtY+Lz/FU/KBtkLbM5k9WkDZZ7PPJbB6eUswESzUUGQ5B/iljUqA6a5yxxOxdVJoTRvxVl5hJYurSnpyXLbGGJfmJBOLvIQUJkYlC3LTh1bsg4Fsk15mYQJMK73XrrmGtk/mOwaEFa0QwGDNHVvLnG4dk3XdN/T+7Ohks/Oxm+Wr0GEr6Zp3yL0VElAQqg2CKI7IupHaMEhQG3KjYNC1F6d+8Zvje846HDpjt+fbsx9/F9+t1dXGRjn51I+ziyHHfLOHjGoDJFJ+VbqR5hSbVDc+LWM3ldAayPwQ34/+cHqvpcPhs9f/+Mmpw46lE7pnASl/GW8lP3o9Hte3OTm5enn7+fkF+foF+vj4+/sHe3n5+fsHr28o1d9LU31F0Z1nRQdoyGkQ3G5wBQMlD5IHtevip+TMP3w/yV/BmHs+LT2gYM0tz0bb/ZOSM/c0t+xsiIOCAbHbh+BACiD5Z1skvjeOeYd5kDtw5p3f8fbWQPUgLOiyQ/m4FoLqhT1/enTP7zDBPQtyJXZ3nmSh+N4WX/6iXtyrHbPwpwf+wvcpVkb4G+HNzbZ3FiE0Gmg0AFBd/eaLbwvB31045pgRl1OaXtHV3NPgc/lWdn1fgkNEeONo7d3ES2dze7ZkdQ8fJSTfdbELiB2Vdt9JPHXUObBuemq6yWGPV+E6+yg+3Mq6aEQL+Xqb3Zfutxe0M3VZZ4+6OiWVJkT57dnjnPVs8W0m+HBk/hg5PVhnve+CTX73hHS74qbn3nOxcdllSfc7erdXs23dnKL71oHJtoJLe8OqtqAzrYZbOAY/mB/oKbu0J6xOEO46utqFtY9K+h0+c0of0VM/xZvw9wcFB8X4k+iEoricouCQkFNO2e2S9cRzjl65cwqgtyzt/JHUTj2dfN7JJ29qeLzu2tf+xSvQgS7wdDl2LTqxbV3OQjBhqK6v5smyxABGBXZtLszV8VLuMmcCKUAuWYi4ftWrebUmKuSKU/W4IIu3vHAiqKhkSMmowOn1bffbWmYphRaUFtTIowtXfCKaScEAWou1gUfXLzvf6hK0mrc6zLeSH4YzaXQwAQYTjC8B8MKzNbc3kZ8PFUqjG2x6Ulw5s8SJMaYifx5vKD+//vWvnJ3d8/IKMjPzMzPz8/IKvLz8/umf/vG18iOnQQpUXV6hp2ekrdtN18SyO4W12Q96phVY6K6PLR3o6esvLp1cXl1JiUuwcooOSu6d10G6OJMRE2qT2jWyuFx9u6VPph170llUPrXEQy5bLctuaF+HjmVri/Ot3SNu3M6zORhZNK8ldxIkOUVdflf3il6hoCqzo6zCyxvnjHp2Mzc2xc4l7HJwQen41kBNc3mrZEuDlbmJotsdwwqwarq+oL5uRLmwOFOU2znG6Xqrm8qa1pcVkvKshvZV4weWwaZgQPCKsoQMR+fQy6H3SkZ1Bj3fUPj4Ya9SrsH8yGDh3cFZQdNWXF/TJ19cWyzJbeuXglZjYaAlNPSmV+HUFvXcEiUFBYet1Y3ysoqGeXAqEBxoWtfd0pjTvTLW2lFcPbsqYLS+wDkwMbZeQvPmLNedyDelCivjQ3crmgclYAUQPGiZovxhfckg85YpqKLfz1+dnUIGvA6EmGEn8mfyJvLT2tb7L7/+51//+p///u//7h/+4e/+4R/+7u///u9+/et//qd/+sea2qbXyo+MAmuAHtADOiN4HQQ9SBZKNdQ6UCrwehAsBCMMgNYEJQUFDxVgMIDkwBlBMSDV4HUgKMgZ8EbQLGQsdpbzJh/c/OJ4Upvc9DQ3aMdpW86AM8II0BxkDFQm6HdDiimd2RCa4MEbzTHErAGsAIIDbwRJm/sQDDjjB1tiijOavxNeBSkFxgBOBTkFpQDBACUFRg9OBYIFbwTFmMuyaAGd7nvLGxTkLDidOUFFvls0QVCB1Jj/d5QWekCt/l4xlB37bR0odvezLHgdOOFty6aI8iMi8v7yWvkR1CbJFtPRMdDVNdzV/QLtHQMbm+RO0Ok7rvlGaTHT0+huZb3vtP2nnzuFNy1v8XjzyggivxBE+REReX95E7NtQQ0jfhiV+ucx21awkEiI/r7plu6ZzhHlFv/TJMmLfGCI8iMi8v7yt2o3t1vJl9OA1YivPEV+mJ9AfhjOZNIBeqjUL3xEb/zhzj/7MYuI/K3wtyo/IiJvwE9gN6dSoWK4tmCgdHF5KykpIyk5Izk5Iyk5o6Ojn+FMLxWBF+VHROTNEeVH5APm7QKveZNGBZhwPOvob2P+ZX1dWZBXkpGZl55+JzEx087OflvKCuqXY7VfsTcEC+VueoqCeSEN6N2wk1uj5N5o08SPlZXdGYr93no3g52yVz/7f13kbwVRfkQ+YN5Kfgw6PBioPp178rP4P/0++jdn75y+N3x/p78g4OpVm7V1hUrzpvKj5CBV6talmk3FTg6/6R2boSl5ELRhU6ZZl2klytfnUcuoV0mpjDJK6ReifQgWclq8BIj8GYjyI/IB83ZFdwxIb8v+xxv/4/fRv/ld9L/9+ubfh9SHqln9/LxseHjh6lXrjU3yDeVHIRiV411uDo4f7b9iYX23U6VtL7gdGFY/xr2joH6Sh0wpL46NOHb03KdHHa/eap2lf/SVqVLA0kxHiE3qw9UfMmhiwGglac4e+90rZwnspDuQGkxWpB+y8EwfFJS8WHRA5I0Q5UfkA+at5IfjTSSjo1n+aObhf4v89aJka35pPj4u8fPPP7e2ts3OziFpPa96A/nhoCZmw+1u+uSNzMqJwa6OpiW+Linqmt2DCRMA8CrId/OkNIDWBJY3h9bsZEIxOjA8ZDRIAYzwLK+K4KEyQQuotLsW3XpwOzYkume+wgoBzPbULTdbqxuNfUvE8vJaZ1d3/TgoDowOWkBjBMNBTkFGg9HBCEjm6m33B95fBM2B0Zr7mP0LGDC61UgLu48/vRQ7LNA85AzU2rWwK5b/7b+eutXDKdXg9dACWh0IBgoWrA6sBhpArf0FmZqIvJZ3ID8yCoweaq35lkhGgdKCfWP35WfjsOD10AFqg9n95FWdaShV0JnACZAxEAzQ6L9XwJ8CwYHTg3w6I3Zsrp5v+T4MWP0LvgyMDhT7Bi7UIu+ctw09EFQwaBHbmHCjKXRmdu28pVVQSNypU5Z1dU0mgBPerOYbD5180uOK89WMGQEw6iFAVZuS6OF+935Le87d+qY5tZIBr8X08FB2VnnqvcbuTRAyanBwYlYBSqUefjIztqolecPs0tbADGd+4OAh31ovuVeVmF1ROSCXq6BQEIOtkx1dfUnZlUUda+skSAZyBpxe25Aedc3jbg8JlRqUAJKDjAavMQy2d6ZnlmWWdo7IwHDgNYahjq7s/Ko71Q9cj4aXLEGv1w91dqVllGeXzSztVIRjwOjW4i56Wl13uRw1vMaD1EHSUnrxRqDFl17ZvSqZnGioqkjMrsptW9tkIN2SD3TN9QyNZmeWF/fKtlnRhkfEzDuQH4IV+tr6K/rInWqHSkEz1jvdM0FtvfLV5kvIWKhZpulxY3xG5Z2K2SXuNUmmFIfN+cm0u42PRnmBY+tqGzKrZhaVL1d9XF+XdLQtzCnNoxEcNja2OloXZpU/PL6CgZRQdrdMj28ZdxbPFQw38GRxYlNLqCEYQIqVR94nfpq8H5MeFIFbtxJuRsbRPBISsy5dujAzr1BpX1agH1t8o3W6wbpimwvejqG5DUswwtCYfevwHvtrgSnXTpz62KFmUmPcGKvzsHI+fi3Yxvryab+WnsGRyFD/iE4tqAHnw5eu3t1gldLczAT/om2NDgQHhWLlTpDHd+fCHZzsD1+MutNDbG522Pzx5CH3JEfra//+XVBKN83ooWCh5razQ+PdE0eleHbjRukM0833rp11P2sbdMnqqlV476waC60F1mdczjiE27m5fnvwRpXMsNxR6+9808E/wdM5NqGfIjgoGNDaldjLvoHZdaHWYcWrgInNDkmKLijwOR+a1qXalmwWpsd5hYXuPXWzqJ9cnKg9+9vTJ33S3R2uf3oiPK+bIv/8e0+RD5K/tvwoGDDapcCDJ/+/b30eLYHmIUCWau3mEte/pALJQMG8QbAMA1pg+u7lW133t3QOs3dLKZo2Upx5/Oc/rmCgoEHwUEhmku0v//Z8WkHv5nBp/P4jzla3nswooeSefYTWYbTt/uVvw6slZo8rRoeJzuLL+2+Ub5ptR14aXylAstHp9LVb+tCuvwM/E3wkOn9EsbQyV102MkU+W6LY2ZkX9o15YT9/9v/+B8/blhwV1NAbodMjMirVyuqyVEbpDVCSrIODU3DILZUGBiME9ev9fmQUeGChtyXC0+bQtcymDV1rTtS3+2/VyaDZaD2/P7RsgyiLDLZ0fLgMgFq/YXM9tWXhdlqm292t9db73v7OB4I6B/t6on1v5s0YeQGUCvM9xae+Ca5WAEBNlKd9YuvQ4qDtXvugVi1AJ1zztEseXNGB5HbkJ84tceSZ/LDQaLcTr7tejxkkAW6hz+OqW8EskRMU6JY0xgILjRlHDoU/llIF/k5/+MTWPjTh6qVLeyIGCA4EC1q7EnPBN7pkqqow1iN3a2u6zj8su3xkIsLSN+EJp9XoeurKnQIC93903q9yeWLy8blPHCKfcAAeBDs5ZfYvMh+ohYnIn8k7kB9KvRxz1s3ysu2V+MktNdSQZzn5eacMLavACGC14LSgeSh57PgrEzxYDQgachaMAAUDOQ/91rD9haDgRyQAXrk1OGdUMFDufHynciUDSgVOA14DVovlmVqbfb5VWwCYNBt7j7R5GmA5KAVwWnBasCqwOox3PLCzuFW7BVYArYEWmO+vtDseUy0BI4BWg9PuprUyoNQQjCCk/V6H/XJGnsrP3M3TSaVz5MiTwiuH4loYqAQoWDAa81YIGqQKjBqMGpwGtABKBU4LTi1WCfqr81byo9FhZHQmMDDYwcF5z54vT58+3d09qDdgcHDs3LnzX3zxmZ2do79/YP/AuGZ38vxo5BtlkjNQARCIeFdry/sjTZmJLp41UwYQ0n7fo8HFExsFoTE2oV2bgMAYSiKso9vJztLSG/G5N2LL71c1xftnJ92/4+RXO6cGyYASMNNUeOpYdocaOmC0ONwno65zctjXIrR0ATow97wDPaO75gRQLDi9tjkz+qrbnU4l1FrQKpA81Mxy1NUw7zszSoDe3MwIc7ndvZZ8M+NWpUQLbMy1uB2Peby6lenud9Qm4/bjlvsP+5snaQUDOQNauxJ9ziv64fr4aP8N1xue0ZnhuYMbmtUwC9+MbmlfRcl1u7SUmibfS+6RjxdHhutdTsbWK2ECHsc6OaX0zJGi/IhA/m7kR7UYfcEvPK/Fz9Mn/glvApnl5OedOrKpx2JPrZ2V88GT4SkNks76O1kNq1ItxlofxUQ8HuFAb4zGFgzObxlJAWphK8XH9Yhb5fC2gdOCFcDoMfSo2Nry2rfnPZM71NvrkoxQlyOWTkdDH/YszaU72v/q7/bt90+JSsy1+M3eX31zzb10iRIM/bX3zp6wP3D6ut/9OYkWM10P7Cxu1cqgI5dSAoOPXnKzDU+wOxH3UAodvZ4dGXn0hIuVV1UfCw1PPEiNO3rczjo+9frBoLwx3a78zEefT85ta/KzvPBPv9r/kcvt2mm9amss1NXvOwtv94T+Vb26LvVeWlaRh6PPKYf4B52rd6L8vj5qcy21Z1b+Q4FFIj8db2s3l5ScHnEzdnh4cmJiqaCg3M8vEEBo6M2cnMKpqeXhocnY2JTomHjglfLDg1lceNTUVzexNTUxHGDr4P1ouiE15pptyYgGis1Ol30+d+fZ9rvRlucTyya2xp9U2pyPr9yCcqYv/NrB3zhWdy7pR3K8T9rfdCtX8BrIaZACVmca7Q/Z36zbWlsYvGEbHlE5N7fZ5bzPJ28KepDZTl5OEZ1zKlAMFCrwy0MBNmcOBj7qmN6anV1ofdLdscJVRniecypqmdvqLM+/ap3fp1JVR/uccyhsmt2uTvT4/Z6Ahwr14/igQ5ey6ue5LRm/KjfI6R35WQo/4Rz8YINiuQdBVv/3tyGFo0atZsLnkGdWy2JhXMRB78Y1ciHorENA+cLkeN35L2wCa7bW5jrcLYOjH61JtT+Bj7rIB8C7kZ8IS5/4xo2e+jybq/d6NHyhm79fxuj0+nDgaXeP7IaytKQrUZWFt5NPRLUsb9FtSY6/OhF7b8q0Xpd0PqZpSmqiOCh4SLfXs4P8Dhw6F1AmIXQYbyi4Yh2cUDna0Tc1sm5UUtrh7s7CqvtWx1zDisZaG4rPfeUS07o8uzxx46ztpYDKzi1+rrfs+nH38Mrx3tYS67M+CU8kYz3VDicSWjh1TbT3BaeCio7J9ED7T4/FtXCautibVnbpmcUNccER3o0rvSXxF87fym0er0wP/myPS/a4ntp9+ok4m1Q4ulSTl3TqQEByz9omuZLh6G0TWl54t9grMDlldL3Izfpfvgi50ziYd8PxH7/ziayc6avM/GZfQFIvodSIM/GvyNvKT0Tkrfv3q3b69PRMuLh6APD29m9q6ttprKpqDAq+8Rr5ocFp6IfpCcf2XfzcwvZ0XI9cq2+/nx9ys2lKDcX2WLR9UuksVOzW3ZgbX++7tPekf0obKVNDzcnuhoe7JPetaLHaU25vm161sutAzoDmdcOP7546cvWLA9edUnrmeNP2+kCEfWrlAtQGtiwmJSp3bEkwrwUreRDro+HuXl8fsPriuNO12PYFAZx0Js7HZ89eq+8uRhWOaSkd+IUBXyenj49ev3oz3dc+57EEauVikr/fV/usvjjlcj1vSslBwYJSS7K94tIebymNGG9uT05tmtaDpuYTnRPvj/JzI+2uluc/v3zD1jbybr9kYrzV+Subc+6+Xx04Y53QPU2YxHsukR3ekfyc9Yp6JBdYRdatOI+q9gLfyJCMkdGBqgP/fuKrC+4nz1z5xCW/rr3Z27uwumum+Jb/1ZB7CcW9eZExsdULGwKUDGQMWB1oih9vK7lwxvlW00JRSMSVoCfrgFYLRm2iVpdu3wz76pzD5x9ZepctzK70eB6PqNwAQOc6BwTmzCqBnnupp84XTwBGoCnJ0bd0vKe9xvF0SvvmSoRPcvJjuQGY7ym7fiKpbUua7Gj7m0+tjl52/sbS07Og/V5Sum/mjACQWz3uh31fWHw7k1Q6S453lzlZpncIMMp6bb49+8fD9hYXbD+9EJ7cN1PsHeAU078FLHQUXTgUUSMHIIk+5xFcsrythWCAkgapAasC8b2wOpG34a3kxwRkZt328QmsqKgpK6uJiooPDQ0HEBUVGxYWVV5eU1FRExgYlpiUanqd/MgZKGjIlIZt0iTfqRfwXNUDxa5zqJKFjDRsk7tupIy5cWfJi2BeXK5loOQgp4zbStNTl1IF+8wF9aV3qkoeSgZSpXGbNMpos+cpwUCqNEops0MowYJgICWNMuaZn6mShYw0biuN0ucSUZ+Or2DNDqpPGxUsCNq0TZoULBgtpvurHI5FVqwZSdqkYMUVZ5FnvDP5iayWKE1Y6av19bD7+kuP4LvjIwPVJ78OKdkEACPAcnRxkMe1qPTA1NHu2vqs6ACLoIraUZ5WQ8GC2KTmJGolABjvBdtZpLU/vBVl6VE5BwAwafiapGgLj3Yaxvu+QSFF46Oz7a5Hw0qWoIMi08HXJ318y4i+khQLi8wBANAV+ruF1s4NdD90OJXSLt+65R56s3jTAEzUpJ44ntBGyJOuuV251S81X5/ovJhIp8g+GlBOVV/41iNrVEs9Jz8lM/KB5gLbM9n9BoDqv77XJaRepgKMgAnKDEc/37QxCTDVdhoaYAAAIABJREFUXmp/Mr5OBq1xPfaSV/iD5WWptLt9aYk1TA/O9kyQG0q6p212ctskTtKfhLeSH7UW8wsbycnpwSHhIaE3b91KGBmZ1uowMbEQG5cYEnozJCQ8MTF1emblqev2q8y2GRCs+foup82hKeY/PdWM3T6K5z71tNsPVMF52v+Hhvp+SM/L+/CDW9zt8P29Il4K8nnFgbDmj9BaTPaUWn0TVLoOXhC1R+QF3on8zAUdsg8uW99SQ6vXdNwO+2//+TdncmfWqeVkJ7uvz98Ki0r1ze0YlWC+6uZHn14J7oJ+s//m5VPfhHZPEGA4yDkI20uFGZmOfkk+oeGHL4fdH+G255542jhfsE8KjsutGVG2lWTvP+kdkJp5+puLXkWTo9PNNl/5FCxAD1nyZSfn+ME1A7YXu0KvOZ52TQkNDLpgX9y6LUx0F13aG/6INY7lhR887mV3M9vF7uone8MfMcbJqtRDh5xt/FL94+7lDSoWmvLOHbU9658aFOj68e9t00f1tFl+pgO/i7w7Qc8NN9nstbBIqO/flDcmB+05GuAdluqdVN24upRj6+YUO7ABTDTfvbg/vHobOuNKuIVDaMVCf2ex5afBj9X8bWt767Anoxs9Nn+0SxvR0cLPf258ALxt5JtK80I3jRY0Z1JrX2hUaV4f+faLheCwvrr8qGJ4TC7WpRd5mXeS90M/qe55Ms3LWCh40NKt6tLaikGSUEO2NpMRnxsYke53u3N4w6iUrJWX9o3KwAlCW23Hoz7ZNm9+NULpDCOtrbfC0nxj7ma0K1gVOAPm+rrjb6QF3MqvGNdIZYqHuTk+SQ/zSzp6FqgVieRx+eCIFIxK3dfQ2zig2GTBqbE0ORAbmeEXUVw7LVA6rC8t1laOTJDQkooH94v8Y+/k1I82Vo2NE9BoVG3VD8PC031iC7M7lFpB3frooV94Zsrjocdlg0MbRgW7c3TUk+qx4U2jQsk1PbjtndbYsQSdQJTduR8cnu6dVPNoRjHWOtDYr9hWYW1xobZydFIJWmA7anrap5nl1ZVHFWMzrH64pa+hV7qqkDeU9w1sGt99OcoPEtHv5+eGMvsHU2KxA5Hv8W6K7uz4WMtpyCnIOahMENSQUyAEaAA9YDCCZCHnoDKCZiGlweohaJ4tCew4ymsBA6DRvtCiBzgBChYCYADURjD8rj80CxkFWgdODQUFGQVSDR2g3yl0smO2bQBJQ8pCZYQBUOvAG0AykNLgDGYvapUaUhqcHgZAozO7fT9/dBS76+1t+iFvby049XObY8yVIMze3oZfirf3u+dnlh+CFRER+VEYtVjzTeSD5WeWn7VtYUXCrko4ERGRl1iRsDJK09Y/L8qPyAfJzyk/CgajU6t9w7P9o/MiIiIv0Ts8M78qezKwIMqPyAeJuPgmIvL+Ii6+iXzAiKEHIiLvL6Lfj8gHjCg/IiLvL6+XHwGc6vWzUpQfkfcQUX5ERN5fXi0/vAYsa6CVLKcCp37V3BTlR+Q9RJQfEZH3l1fJD2ckNudlSxNTxU4MRRObG5xKlB+RvyXeF/nZsfjdSVLTASz/yhzMneSv19Xl5IxmT6pXb04P8MJPkPLJmcyjqXUgXmmqKKNBa6F6XTcRkR+XH/A6LLWkzdfe6I/701JzqmSyUWUEy/3Z8iOjwBqg1T8z2zbngf45+/nyhFK9fGLvpJTyeih3z3kZBVL1QovIL433RX4olXa0syv5Vm5gZGZY8oOGWZPyR1KLFQykCmlDWW/fmp748T5yUtFU3tOzrFP8UB9KpR1p70y6lRsUlRWUUFw2bPbn/stQMFDQRH1RVWR0lt/N/PzmNYka5I/1Z0CzQnddY1717DL7qkI7O1Oa14IQbep/qfyY/HAq0/pAxWxVYG/Uv43mnh5I+HSpKZrY3BCM4DW7POc1/Ar5UXJMS+Xj7EaJkgPBgFSp+hp6G/vlEvbP8BqgVLrRrq5k84QqejDEvjShSJVhenCstn5hiTGf86TKMDM8Xvt4bpERy039Qnlf5EcAecfdac/Xbk4RqSGJRfWzoHjz/RfxXL1OggXJY2uzy/FLp5Q+gRJeqA36tAAoKUBBDLp+7RjXwRA8iO+VDRVA5ro47Nnr7hyZFhhbWDLIUfwLfcyRr88Pzuy2fK+MKcFBTgw6f3rykHOqn5vP/nPBGYM0pzWXJSXMnvO7n2LBsEJXbcOdqtllFiTzrIbp023t/MroNN3VDUU1i2uCOD9/ofyY/PBq01pf6VSpa2/Er0eyLfrjPp6rCVrrzNoaK5MMV5gZKiOlWzuBCa80214M2H/yf3zlWDptYgQIkKZcdXGK7VtSgWKfO9V/sITu7g8CqDxP5y+/cnOOTAuMLSgeYHeqvD/9OA/No+SIixfzeziwLBQsVNA1ZMRcPJfbxZpbiOcmi+LFCSvyQfK+yA8PMs8ryD9tkgIAsBxkDAjWbHMgp3d+MElJo4I1bUn6vA77Zg2qKAFPH5KIp/YHHAjGKFWM+h/1Se1mlSqzIYKUwtOnJR7K2+6BARkzO5tTqSBnoGQhp0wyGkoeCtooJU07ZgpyGgQHJYudFpKDjDLK6Gf7RnCQyof9jgXkzwBQ3/H3tQlpXdCA4UEwkFKmp6YMO8YNchqMHhoDCHrHOcIkJU0KxixXuz1NAqg8d89r3o8nBJNoMfLL5EcX3ziToIegh2SseaXznnJrnZJtrLUnbIy1bM4MbU73S+aGl1oSZfM9vOY18kOpl2MsPazs3C5F9q+qoHlqtq0Gw0NOGaWU+fZLuWtZ8rzFyc44PKh872C/lAny+QnF7c47DgK0DVkJtnbF/Rw4AQRtYoya5jspdjYFvSw4wTwL5M/PAkp8WfWB8x7Jz12fAIegR91rxKqUnx1u8fG4dX/CxI822oZUtG8blsfbvS5c+fzgRZfcocmNyYCj/vkzTG9VcWhI3RgPUjEV65hYNGFQcYqSxIi9+y6di4y78q1f1qBG4MmqrMRjx68fPpNwf4KRq0DQ4KHM8/R3CHncvaZYWKFkGm17aamPlefJ6+lF48RMX+XF47ZfHTxrGVzeIzGSxFSiU8zNtNzTB86cCat8+KjR8eqVT446+JRtEILZFkgqH/Y75pc9DMBUFRFm6/V4QtjKdrphYxdkHdmxJEju3Aj+ev+lfacdImpp2mBou5cXFtU6rTFtj7W4XnPdd8jDLbFrVgeGUdwLD/z24IWT3tHJd8vO/Pbr//HRyf0RDbNS0PzPf7qIvGNeEXrA8WBojWSoZKM3f70nZ6khbOlx8Ep7+kpn9kpH1mpnzuLjEPnyyOvlR7UYfcE/oqAz1NcjvJY0gsp28vNOHdnQGaeaS60s7fcfCYypWW2pTo2tWpBqMVxX4udT3s+CXukNzu6e3TSSHHhQ93wD7QMeda0p5lepNRI8JbkXc+ObfVZ7T9iEVsopk7EpO8HWrnhQDWK62cHS7qCd92X7YEfH4gEVlHNdfvae+w+72kc8mdepHsZmuFp7n3YqaJDolLz4DPTB8r7IjwC6KNjro389+skRm9MOD/pVypqUvNDonBC/3My65dnFfq/LzoFl8zPzmzMS9YZkwPtwwL0Fujk34arV3T4BlLzffb9n7gTdXZ588Vxs6dhmz4O4PV/aZ06xfZU5544ERJQ23IsMPB7XOSsHxUIAXRjg8dG/Hf/02JXvLoc+WNI0pwXt2Rd6b5jcWO1wP2oTWLa1vDgW7eTukNw7pxiz/ejot36N01P9vlan/vVaXtO4pDkr4vMTWU9oUCwIDjLFiO8h54CiiSc1lVcve4fWblKaKfevT1nGDqwo6IepIZZXMmumNgcf3z13OqxcwtclRFg7Vo5y69HnHKwjH5bk5dn5xCf1yx/HBZwLfNA6vjm9rJBQW5muXlc9y1o2OMVzCx0ivxxeJT8qMJRq6XHQfJXzwkOPhRrvxVrfhRrPhYceZqqcFCvjbyI/EWd94pokI+2ldpdzmjmuyMPfL2N0aqXP7ZCjW05jRXr82ZDigrzMkxHNC+tka6Ldr07H3RnVL1XFX45vm5aB4iCAKQ71/uO/Hv/0+JXvrEKKZ9XteVGW5xPLxyVjrcUXTwXdX+Zabifb2ZePqLYTrG1d0ibGJ6fDrc/tc6qYUMuSrzhZBT24f6/YzedWdN9KsYfNN1Z3GqZoKWOSi6f9h8v7Ij88yHzvQNeIJ5O0VqY0yFQAMe9u8cm/eDStazFbm3vCIq/fCEENRoVtSZ/X4YB781TLnVS768WDKlDK0cDjQQUDq8XZ2R7JEyzAsFNBFoH5A5JHGRF/+MOF43aeFhdczsZ3LhMgWfBQ3vEIcIvqmKS1MoWOMalrk2LsXCqnDJAOlJ8+mNJAQQtMVcV6xZc8mZsJPO6bOWQ0QfcgJNg+sHkZ2J5rdDwUUrwEhgPBQUGOee07/ceD1vuO+vjfHl0zglSO+h/zSu7RmUxEhmu4Q9ygFOCV3N2wa/GDdENqnKPno/G1wWt7z395xvW0leNep/SSJ21BZ8NjW6Q0wPDQgi8JCXMPb1/QiTXef6G8Vn6WG8MXarwWH/l9n4Vq1zeWH6/IWrlKoO8mx7sU1d32iQ7NGB7pqzr40dlvr3qdvmB/wK+0ubc9wCuvtH2iICbM+eb9xILW9PDYpEfLEhWUDHhQd32CXMLbJmitTKkTOHmef4R1WLcEEBhd8U3r6G6iOTfZ3qlieG3YySm/fsFgAjrupTvYlY1sTTkfuviZhdOpy877rsffHpkr9g7ySh5eE0/7D533SH7yvIL8UsYJAIAe2Ozt9LO9esilvH9Tv9RXaXkk5IEUALQGSCW9nof8784J7QWJ1+3zxwGsNZ876H1nXFqdE3vN67EEYGYeWu53zRmT16VFHblYMLF7IAQDGW2WH8/YviUtWA4C1LVJt+xdKsa12J6sttzjfX8NABoSbromNg5vTQUc9csZMWohlISEuQQ3zxuwNl3vdCS0ZFd+pPJhv6O+2UM6wQhWBSULuXI04Jh3SpdKa2Tu+Hhf9G2WANqt2aCrXnfX2PqUOEeP2jHphP1el+gulXnntBs3Lrg435uhARNgAJ3vE+ge2S8BGE4MTv0l8u7kp1qiMGFrrDnI3fqPf3AMvDcxOlxz+uugki3zuckLQkWY6/ngON/MuZGGhqybnoeCauonVIwactosP+5R3YtasAI0eqYozN/SuWYVMClXb1h75MxTLbnJdo4Vw8Sc58XA3F4TgAfh7sfty8fIBc8DjoF1xO4cJTMd/byTBpdUIMVHnw+a90V+BFD5Xs6ffmJ93uOGQ0hGemWdr3VAbO1SS3qcpW9Zr1Ramhx4+Ii/jWtQVMXM7Pqwx17X9DEoJ1vcr17dax1q7+f5+Uf2GVN66XCd/UmrPddC3IO8vvzINmVUs73Q4XbO+puzofZeN93yRtaUIFkIILIcPBxvdsypQDEQoKq+FX7levGwGhwjKb7pfehsuJ2D91mbzNIxSqrsdfnaLW3QoANf6Otn41M/Z8TqRK31N36Fi0/lZ8B9r0tiF0cKIGgoWMiVQ577nOPaGFqPpZ5yx/MuJ2yCra09HWPHNqCtS4qxc6kc0/LNacFfHnC75hR8KaSgclq9PFBiddL53FV/l8h7HTJtV070oW/PncvsXZKDeovQcJG/Ud6J/MyHHHUMLV/fUkFj0A8Ux/79//G7s7dnNjnJHX+Xzw77ObiHXImt69/Acl3sJ59Z3+yHQTpy8/LZA+G90xQYFnIaAsjbrl72IW2zKlAsSK1pZajW45KzxbVgG2sPu8iBFZOuPi3a6nLhoE7dFe/5yTFfm8CoMxYXjljfH9ZpevMivjngbOUYbBV0t2J+Ic/Jy+VW36IoPx8674v8KAX9zMhE0d2HaberMoqbq55MNbaOjStAS5bKG6ZmlSAI2cO71YnZZaVdklUF39c6PSYBz+mGuntScirS64efNE5PbkHgjWP9vcnZFQWds50tc+ObJk6LxcnxO7kVyberc5tXN0kQDJSCdqJ/pntMuZPcoBQMcxMLHX1bawwoHoR8q7ywKiGztmaIUGhBEMrululxiYkSDNPDs51DcgmPbamss3V2Wg6CgYKBjKR7W6dGN/RPg1PlFN3bOjWyrpOz4DWm8b6+jMzyjKK+CQom6GsS0rz8G2dNUDHk44r61JzyhKKu9nmdGhhuas/IfJD5oGtoCwrJxsOKirRHC6sK/FgilMgHzOvlpyF0/qH7Qq3395mvdFKsjL1afuQ0CJYfaJ8aXFLLGCg40AqyvaW3ZYolVCC2N8oKH6bklidVjk5uGZUyWXPTzCwBhtcMdI53TlDS3bgApaCbHJjpGlVKWPMCA6fB9NBgVlZ5WkH3iAKsCgtTi+09m2ssOPn2g9KatActtV1L/b0bKywEnm2paUzLKU8o7GhbpGaHZnsmqC0x8PpD532Rn52kaDWgNUFjAK8Bt7Pyy0Olg5KBgoNgghYQNCAYMHpQLGQ0GC10Ow67BnMLrYUOUGnB6c1uvpQaGkBrglr7LLWb0oBVP/uVVIHTgqAho6DgoNrdloKCnAG7OxSpAauBgoKCBasH+ZxDNqt/uRADs9NCmfdKC2hNIBnV9uxImFeE8+1pwgiChWCEFtAZwfBml18toDGAYqHgIRih1Zmn9M9+uoi8Y14rPystMYt1gUv1od9nsdZHsTr5WvmR02B0YHbiKinIWfCGZ17XKhO0Jmj1IFnIWfDPzbvnKyO8NKHkO6U9NOZ5x3CQUVDuTDEKcg5qIzQGCDqwO5OOAW/YnQUcSA1Ylag9Hz7vi/z8ImBA8aa53irLfVan/R90yo2suJ4m8kpeU/GaM9IkT5Pcj8AyjM6sVWLNN5H3D1F+3jUyUr8h025T4mKayOt5reECp8IrYN+g6I6IyM+FKD/vHAZKDj9WrU5E5HlEuzmRD5if32xbyYmIiPwwrEaUH5EPlp9TfhQMxqbX+kfmBsYWREREXqJvZHZhVf5kYEGUH5EPkp/56Wd1i1veYJY3RUREXmZpg5aS6if986L8iHyQ/PyLbyIiIj8GIy6+iXy4iKEHIiLvL2LogcgHzE8mP3oj1BowOxrDm1Qa6I1g+Zf7i/IjIvLmvDv5YcDpoVJD9qK17k4+Kf+cMfz3W+Q05BQIFTR6kKx5BBkDTg8DoAcoBgQH9XNW3M+PT+ugM0LJQPbU4VcHgnrmXq/Rg1ZDDfNoekBvBM1BRkFO7TjXmdu1evM4Lx+aEQz3yhaRn4OfQH44wUQx+samJ3NzqzvmvpwKi0sb9Q2tSlLLCaL8iIj8hbwb+VGwUBKquvKinC5SUL1w+aY0uoHGtuKq2SXObLlLaXSDzU+KK6cXuWcmvIQKayMdcSVPxiVgOMg4aBmqpvC2lVO4U2BNL6FfWxpPDox38Iqy88ouG2UVgtnJm9IIT8oeBOcOLStBc6A02v6GtpKHCyscVZV+280z8rpraNCd7ua2npjQUBuveM+wFBfPMKe46tZFEytAyWNzfS77RrKjd7Sd+w2//IEZ2QvVERUspIr18pz6tkUdsWuXJyU2K3LqWxfMLSI/OYwGb/Ld/gTyI6hBUtqTJ0+Gh9/U6MAJ0BkQF5dw+PChbSmr0uDPkh+CA8mD5MWsTJE3RcFAyYPkQXI/WqlFwe4Yy/7QXxkon/6JgfJ9KjX2buSHFLA62XZi36mT3vfHGJitdRkoeWihfhAacMWxYlQAw+20aCoigqzsHgwLu4YIDNSC4m5c6O8+uZLaIVOoIaiY9rw8G8eEG3klSbcy80eovro7x3531S23LMbV8Runu20bOpqHgoYAWZq13f/7qyMRLUolDzW44iD/a661Y9yC95dnT/vlJ2QV3Xk8MzA8W3K/KDL2xp5/PWV1syi9vG9wHTQHSouZgbLTvz1/PaksNas4p35hUQGSM58PO8HrEkmn0x6npF5h56pCayCX9znvcUzo5pU8CNZ8wVHQkDMgdkLexYvPX4qCwRahK61okFEmSnhN559AfngVaMZw7tyFQ4e+m5icM5gwN7984oSFhcVJBaES/hz5oVSQyfmFVWpujVtTGH9APykoBZDiU7PILkoeJGNYWafmVukFiU7GgOBA7d5cm2EgVeolCsMPXn9lhGZVbjK7R1P6Dblmi3xfFOhdyA8DktG3FcRcCbofHXYzrluj1kBOg+SwtkFvcoqSqChn79pxAbyA9U16kyXKYmOcPapHd+WHUEM53uQdmX0zKMIlq3OaBKi1GHffswlTRgB6zTqp7a25a38hp98IaKa8LNxjHm/LVCAY8JBnu4TY2Xqc8qnu3YYOqvLIm87+jeP0YuiJgLxpADCZQAvQALS83+dYWNk6TNgt56jBVF+l46mEJxoAMJpAsiBY09oGPbdKryqMpArbW33eR3wzB9SMGgqlZnmDml/v8z3im96notWQKzWLK9T8hkbGQE4Zt+WaVQm/ItOLNnd/GSSPTZnmH//pnz28ghT0axToJ1l8A69C5cPmP/3p45iYOJPJlJKS/vEf//CgopVXmTjhTeWHFrC6NJ3k4/3tkQufHnV1zxlc4V6uuK5gDSsr5KJEKxNPDhEaSg5KRvkoP+uCxYUvjlgfcrnbuqqXybn5ZVZCP5MQzqhpzM3wDqgd5V92MFNyWOusPu+V374NtdE0XH3HKbKgcwPs627c3g3vQH4ULOTytQSX8MKxzbKcLO/EYZkJNK+bbCw4eeDKIWe/c+c8XYIbZnSGxbb7pw9e/c7R9/x5T2f/R2O78sMajZ2Fd/yja4aXh1ydcxsX9Wq9rvV+wtHTEZkNCysUdMDAo3y789k9WsAwF3DcLbJmSyaAYMCbZJlOAYHpPWmxfk5p4wx0lVERzv6NE+xSyDFn/4Kh9oGlkQVumwMpYG3pidvhwLtTRmrXeJ7SYGaw2uZb36S2+d6B2aElTs7pRx7dPvGdzZ4DJ4+55zcuaZWKfp8jvlmjBl65khXs9/k3F8+GRJzf55czpmfJrftx0UcsbI+djiuco6dGW7yO2h27EnGjdE5igPLn/u//LULy2CL0/+V/+9//43/8j9esHRdWlST/o51/mtADQQ2ZQuXo5Hnq1Kny8vJz585Z2zhKpJz6e/1/TH4IFWQzzW5W1z1uT8/LhO3N1fbe0Y45qE1gd4rvCuB00IO67Rxy8/4qBdEL5JeOggNNyUtiXC2c7rUuCTK5MDve2zSvHXxU6Gpzf9QAtQqMHiojAFNdQtQ1+5JBHgwLBQtGa764KFgQCqYw2sWnjNcz87eCo6MqV5XaFx+efj7egfwQHDZGKm2DG9cBaX9zYEhO/baJlw+4n3SIfMRIV6cDzp85FtI2S84GnLEPf0hur82FXDp72K9uckd+WKjJzZyUzNiHFICHEeGhdWtyDqzO2Ft5z+rIweMBNcMKw1hz4YV9XpHVrXduBH/nlNu4qqUEKGjwJlmGg59/zuTc2nDgpYicZbYpPtLJv3FSWAk6cPoP+y5/fcTLN3t4RQ/mR+RnYazW8reHPz7hcMDiqmf+2NTigOsh28gmjqLWM308rt9qG5dOBxwPvDdDt9y7df5KVuumMFGT9PVXTrmzbEdR8vFvvW8UPcoJ8z6c2N7ZVHDyc4dbHSzFGsWnn7+MHfn5P/+v//of/sN/+J/+p/+5oLhGZfjRzj9V5BvUWjzpnN63b+8f/vC7r7/aU988rNbipUefH5UfBryWvefnZR/7ZF4NTjAv2pKC0Nc4+GSclquwMr/U0jbe0VN/7XOLb67ExjWtSGkQ4inyC4bWGCeaS23Oh1VKoFZDyYFWQy6fj3ew/+wzG4e7vWMbysGGwYqyx/eaBu9nJDg6lw3xYHlIJGRvx+ICC4KBnAElYHm0M9gnJTAp1TupfIJ4j2Ki3oH8UDp1XYTTn86EhqYWxocF/vbr6wG1BLPWfNm5fEAOA4x1iXFufvUj8122rg96t2GEqSE1wcW9akQAzYLUYXO0ydbi3BGfgtSsQueLZ/75Ssk0C1YDTgNeuRLjcPVc9kh/a8nJfz95wMb3vE125TSv1ILkwRugMUnTHXx90sdlevRU3b4cn387KtUroGGMWQy18EnrVbE6cyiB8kfkZ7q/yuF4dI0Uag0YNdZ6y88eTmsgTSpgtjbBJ6G4bX4u6GRQ4fBaYXqub9YMB1DMVIhFcMHw1sOUiD99dv2id/AlhzDP4uG+5lLH0wn1CvA/fsMu8mpIHhKF7n/9z//lP/2n/yU2MUtG/dA7lF1+GvnZCTfoG5y1trZLSb1tY23fNzBmxBvLDws1ORPmHB9VvkqYnt14csaNmLOOnplTMmCgKufqmZichrrLnxz+5ExwYOXctig/v2QYsIKmozTnovPjBSNIGnIaSgFbkolwq6sffXzxfErz0NpI0P5TX52PTSzvKchMcHQuGxJgBLYXZhLd8wcA/a7ZDKcx9twN+uP+8Pw5k1HzHlkr/bXlR8GB2+y9ctLlvEusd1iyb3TKxePX7G+1jktGHE/53ZsAtESC3ZWTgS1T0lHn0755I4CWSnW8ety7dkIAzUGlEurzE77c7+0VnewVkuTuH37isOfdfuXs7OaMBgCa4tz2R9W1Vhc4Xszu0QEAy4MUTAsTo/fz+ub1ZI6jr3fqyKoe9NZCdojNv/6blXVE2xSzEGrhmz1i1MEcz00IWFt64nooIP9l+am0OxpZuQmWh1LAxkzdxa/dbs8C0FdH3XRLah2XTwccDSyYkldnRV92q14B5P2FR79xuT2tfJweeeTCvYndq9x4W/F1i9hH2xCdUP5ilBw2pOo/ffpFRnYhpwPxym/ypwk9UKmhN6KmrsvFxdcEeHmF1De0ARDUEFRv8O6HhZqav+EYHV66rMDuqggDzriZeMU78M6sDBh6dPf62ZwB6Atdg8Lvr9Li4tsvHAasoO0szblgXz1jBLXbLgBDj+46Xy0cB3SqKb+jdoEPaQANKbfsXavH5KtpIWHHTlh/8rnlvgsBCj2HAAAgAElEQVSOLsnNIzKwKigptjbB8YBFTGTzFqN/X+IO5H99+SE1mCiO/M6zYJAyz3R5R95Jp7iKKaYr0effD7hc9A62OHz1cmDjrFboiPf+3QGX815BJ45cveRTOy6AVUO5uhjpYetYQQEwASad5t4Np8tZfe2l2WdOupy66vjppVvVU8qhunvXTiY1EuYrO2sw9ddkn90b06Llbtt7eSQPLamg0mO97+H+X/3+6xsd8/yy/96THx9xPnXJ+XxwUeMC1DqsLbY6feubN/mC/Ez1Vdh8d6N8AwwHBQslQzxKDTt4xPOUpf1ph7yaeV5B9nse8MqaMCgnm10srT465Wrj53vgc9esCT2xNhhw7fpn37metvaxvzfQ21R8/VhMjSg/b8e20tAzOEcLr4+9flv5EdRYWuVv3Iy/ft3W8tylgwcP2Ts4f/fdYctzF+zs7IJDouYWaUGN18gPDU6vqYrwvRZaPUxBrQOnBkEbKd1W4mWPoLtLDDBWm3fVMrtbx2Rd9wnKm5fqn+UciPwyoTSmue6Hjhe8cqcMaj04DRjeROn07cUZ1y/l9ashcJPBFj4pT1gehrqUWHuXihGaHeoZzM+9a3suJO5RR2P/xgoJQY3RijxLv9zcvLSrrlkd2y/kRf68/NWfflisLK4OLpDbFHZi/5Rypndqc14KhiDqG7oqOqZ6x6TTs/QWC1pBNDR2V7RP9IxJp2eoTQYEC6lcGJ9cnN423w4SNFaWJT3L7MbqZuPDzpLankfjDKXGlkQxPCpdpcwrFgoWm5vEyKhsnTXMT22MLwnbDBQsKFo3PT7fM8tus9qJgemaup6yms7K9oXpbVAcpAQ7NryxIIeCebb/W1JyZHhrSWluJFiQJNXW2F1c1dcxyxIaEEpubHh9VgqON81OzTx42Fk/JhkbksxLwWiwvrRSU9NZWttTMyxb21SOjm6vkOKyytvBgNM++x+9greVH6MJUdEJiSn3JqdWklLu2dg6Tc2vOTh6xMRmTUytZGQ/CLsRrTe8Xn4UKjDTbfaXzp662dI6NN/f11vR0N+7aaiLdLYKedg6vJAd4PgHi7QeHZ/v4GYTVtO6wimY9+guVeRngANPEmXRjh9fupXfOj80utDSXP9wku+puHP5eEjuuGyLGPX/zjmmkRJgqIm/eeV60YAAPSBdWcmPqRkDNBpQPJZnB0Lsg9IG9TrVWqpLoE18x7zaRL0fF6C/+rsfCgQPVvXcxYIFq4aShZyDoIegBasBrYKC+l7LTtUDBpQaNPdsxVIpgOVB8OANUOkhqKGgoeDAaJ4L6KBA7LRQINWghWd5V4wWnAoKGrQWgt68RXMxBQa09vvRsGA0L9yMKjhweqgMzxy76Z0RaFBqqAzg1WB2xyRVEAxQ6cGrzLskBry9M95WfkyAm6v7w5onAJpbBuwd3BgBrm6+D2vaALS0DTs4OBpMr5cfOQ0lD/nyQICD57fHru057RdYOL2tAzP5xMHW+csLbqe94qLDHg4JmKzNPXf+yunkQQklPgD90lFw4FllRVb84cPW+0/ZW/hUDBIm6dJMlNO5j10KG2dm7wVnFfbzrN7YUVIcFdc2yYFiIf//27vTpyjSfU/gbydiIubFRMzL+QMm4s6NiZmO0/ds3ffePuf0rh5ttbXb3XbHBRQUFBFXoN0QQUTZ900QkB2KAgpkK/YqCqpYq6iqrKzcMytrye+8ALu1u7XpblRaM+LzAosUgiJ5vplPPs/vRyl2d2Bh6HTzaMq5vi9BM0uB88OkebD/wv06k497axZeq1Svy2+NH58fmVkPIiK/TbmXfebstbT0YijIyXsYfubblHvZkeeup9wvkH1Lih8nDRcHWgAlgBIWd7ATC6/woITFCy4XD1pUd56qFhHs4glD8aB4uBbmcETQPAgGbhEku3iNTwnf3y4T7DMfUwIIBo4nZ+AKWXXtVONH9Ub7rfHDCQpJoaCw4sqV2Ny8B4QboqSQNAqLKq9cicvOKSFI8E+VffvZojsE870Xv/La3zvVSvGCM+TpOZnnnTPPnk4r6tRS40f1BluOlW8CFACAAvAiGE7hBQSeeuXpg9WSoyrV0r28+Hn6qk6lepW+OwnVfj8q1cr1MuKHYGBz+br0psd9xsd6leqV0vWMmGcokoNTjR+VaiV7SXc/DkqZdUgzdnFWpXq1ZuziPOlbuAdS40elWrle4uTb6+4jrnprfTf/psaPSrVyqUsPVG+wZYsfhlMEEVgovPEEAJ8fDKfGj0r1a6jxo3qDLVv8eLwYn7CdOXMuIiLy9Omzp0+fjTh99kToyZzc4qXv+1GpVE9T40f1Blu2+PEraNZ0btiwqbGhrapKU1Wlqa9vu3Ej6XDQ0cDSqh4sIHkwEljpmYbtKtULECxoCYwERnhOHSZqsYn7i6o0MaBEMBIYcQWV/Hpl8UOwYJ68h64nO3AXe05TIPnFjd4OGiQHNwsXv/hZSnzmT5UUnu1UzYASwT5dVudVnRLuV/sdVb/Cb40fhlM8XvgVAND3j12/nrgw/yZJ8Puh0w2Ghp7yB5YWPwwYGdap+S69pb3fOjrrJdWuG6oXctBwS3C7hcEBi04/1W1k5xeuYDzPVC4gWGXOxplnxHn6p4ckFw+GD4yNTHb0TXYMkzOk4vq5Yr2vxquJH4IDTQn6wamOXkvPOGvnQLHK9Cw541p892ZnuWm7z8HCRQdm5oVxu2dujp+y+xy0bDKTJvt3CeSbnGKmnE96tTFgWHnEMNPeM6U3cfMs3CIY8UWp4KBA/twxP4tgMO8UJqZ463N+3aoV4jdXvBYV07hV09LZrOlsatY1NLQ1N3e06/ocTkEQ0dT0eInx46DBiP5Rve5ySNjqDbv+vvF4yN0OE40VUvlRtTK5eTgc03kJN7d+ueujjQfXBqfWmb3WOad+wDn9VDsoXpFq7sQfPVHWx4P5Ua64WFAMWVuYfWDr/k827v14Z0xqG7HQCvq1/4CvIn5YcKS7/NaFv6w9+Nn6XR/tvpjUbKc5VCecOlVmI1hICnn3WNih2DaTCB9hz0hODKvWl0Xfv1VomqR7976/adXFmjkeFAuSMVz8+nR8k8spgGBA8tJYVeHXOw7++6oDW47laEj/tGmu38jYmOemgosLmE1WvYGyPv+Yn8X4At2Pcg7vSG5yqa0TVrTfGj8ATp+O+vqrrRERkSdPngkPPxsREfnpp581azoV5RfEj8uD2b6HQTuCoopn7CJ4muzrN+hMoAQICvyAVwHNwU6B8YGTIQE+gOVBihC8IGnYabglSDII6vW/rapXgODhJmbTo4M2hZf3OiGIsJqH2iy+7srMw7uy+v3wiGD8kAIAlJpbcfsPF/XwYBgQLBjv98223ZzYlBa1fs/tShN4DyiboaGbsDhWREHbVxA/bknpz7748bbrJaaApMBYd3/z1tjCPs7YlL7qnMYqQrQNxB7d+k7Qw0EH6MnRG9GXkw3W/JMJ1/IMZrr/+HubP94TdrWOkxSQzEjUFyeu1hNOAS4B4rRu71eXE9rcfMBnGhnpc3krYi6duNg+B3A8GB98QEABw8FBgQtA9ANAzbWY4LNN0wAvgAuAZuGgQHvBeeBiwAXAyfACXv+TMtg0nDQcFNwSZMAP+IDHD9P3bkpoICDIkIEAIHkWb608gB/gBRDs4tji8cJFr6Aeg2+PZah4HR4e2dCgAyAIEAQAiIy8UF3T/Avih4Hgcd8/EXY04fG0b7FtlJsHyYFjicK7qcdCY87cruyyQ/Jw2jJtXZMuPi4pNK64cQYmXVNR9cgEBZ71Duo6kyrGrSupZKTq5aE9gf6a3G+2xdW6IQkgGFAeOO1DF3d888c/b99yq6Fryq4tbEhNyY8vac1OvnkkuKSXBydibsbR/GjIyIFkQPKwjuuObTh+bxiCBwQDggXFP1Ma5HX+jC87fljQrvFzW4/G1BOkByQH2edOCblysXBoaLwr4vA9LQNDZV7creiNBx82GVjTgDZqV0pHgMsJvX0j3zju6onaGHU+uSAo/G4LAY84em7jyesNhFOAi4fo6D+y9dDB+2MMoADmgfr9/1j/p8+OHcnVW2x8Q15ySPi3x5IaO2bAc0RNZm1GZtapy1c3r/36rx8fDsrqGjFPVua0ds6BlaT2Sk1Fq9XitNflNz9qaj4bFnsur9dILN7cOCgwAZh72mOjYo6cTSoZYbse5RzckqRhYemsu3Q+Jig67U6rS/DBon9840Lc4ciEnG5+ft5RnJAQFBbzbfGQiYR7ZUy3vlWWIX4iIs5WVjbxPJxO2emURREREVE1tRoAGk33kuKHheQePR8S/23ZNPlUs23ay1Tfitq86/rF+LQTh49+c147CXfS7p1//Pj0+cSskEOHN59r6qrN/ios5eG44nO70qMP7E2fcUnqhO9bgAHLe7RFqTuP15sDICk4aZA87A7TzaNHP/jg0LHcx8Nz+jMfb/hwT0pW40BB8s0jx0p6eXgCmBoeuHostc0LXoCbx1Rv+fZdOe1O/woso/4Kmm1Tky37dyWXDnNuCQQNOoBH106HJuoGp8l7ESHp456atLz4NG3GlaRMraGxKm/H2Q4KdMaJhfjpOrnucsHwdNqliBPXBuZ805e/XIwfgoZb9g5pq0N2HNlyJLbchHlTZ+jarX/fePZ8lXHG4emsLU9Ku799e1jEnaE5biTk379YHXwv/n7WoS3ffLjuTHT18OBAzaG/h6WNwAd38sHjx77tGLI93v3OPz8NTr19+9oXG0Ki8s12CSQDtwcTvQ0nj4QfjU67freoboLvepRz8OvEZhpzQ10ZmdlnL0V/sTNzeHrm1tW47WFJt9OK6gdcmvKMtQev3UzKyqg3W8hnV0yoXomXGD+i6Kmq0gQHn1hS/NATl4OunM+f+L7ZNg+RHgpde+JCpd0PzHfXnjh6tswuZBwJ2RWtnQNcg00nj0U+nHYnhCbcqZ2bsPZfDMvocqmPi94ODFhRbi+6v+1A6UgA9JNfugj0VmUe3ZMzoEAWRs6sO3KhmgVQd/taUMjDAYflxqmIj1dt/+N7X/7H+t37r9b2u+AYrNy+KaneDkZY/MoudqVcwbyC+KFndIe++jarn3F7QNDgoFTEnD99r2va7atMvxZyty4hKe1qDWepuX0iuS49/nJQsRNwpz2Jn7DVkTkWcIOag6fuZvTrb24/8138OGjwCmaG++9/e2r1jvhaR6DmauzJK7o5wMvL+qqCrYfD/vHXDTtitCPUWOS6Y3EaH4D6m1dDo1vmAPtE47HV53IN8ILOCI2KSOgemus++vGx2GYegC4lKii2vI8ALUCU3HnRF7acejQBAPBC6arMPPB1UiMNeaIvKurCmo07Pvj8Ys34XMKZY6tO15pYwOfT5l55f8vNRxPw+0Ey6uTba/BS4ufMmehH1U1XYuLWr99w8WLsUp79sD5f7c3IneG5bXbICiQvCEZ22QZOfHEmts7uAez92ujw6LI5Pv1wWET6OANYe6qP7wsvmMFM5d1DcWX34q8cz7K4Vsy0ieplc0uKubs2ZMfRm52CGIDkB8d7HaJXW5B8YGdWrxcSP3xuQ3jCk2bbh4JL+xhp3Gh59OBh6O649B5jr5G0MiDmx+P27DlZPOeU4fFDlAKzDt+8e0Uk0EuffGNA8WTa8QOHkoetXngB0aEP/zr68sMpBnhc+2DHppORienF4+An63YeuxayLTLbqMggv4+fNZHpQ/DBX33vyqFzl3euikrQLC49cDo9cxQkAIz14tED+8oHKy9dCrmkswLm5sId21MeTk5lnb8UFt88SI5Fbzh9t0uW4Cm5dPHY2eYpYH686ejq0wUWAOy9kIjjCT1Ds11hayNzTADQlHDm4KUKvQu0AEkkMk5f3H2uZQbw+SAtxM+21A6bOe5ATHSRXqOtPv7NpaIp0BStry3as2NbSP7sPCvODPZcDtmxIbqyZx6Mus72lXuJdz8Mx1tttJuSnz7+uQuvBfATXacObFtzsriwWldZVZNR3tFlo0uiQ7aG5BXW6m5fiDt8QTut0PcOHfh8T0p+vS4h+vzuU/UGPyT7UPix02s2hBcY5YUmda/9bVW9ChwEmqlOCn9/y7lrBbrq+o6i0rKyIb6rInvnmhOxLeZJu/7M50fi6igB/oprl3bty+sWIAdgm5zKv1036IMgwsWA4jBamfTJpqCwlI5HjbqyB8UZDXMW4m1ZeuASYGsv277lYnRpR42m+drp0C+PFrTPKmIAc4b27f/2p78eLRmWIPDmUx9/+r/+Ea9jIcOZfOhqTNaIyaU78rcT9wZ8lAcCMRa7d9P/+J//vNBCuwS4BDCmgaz86vTK9qLCnJ27I1L6rXXXLm7ZfT1bP99blvLh1vjSTl30N0G7LjYMuUdPfXL0ZpsgQa6+cWXL9ph7fdbZKePNw9/sTdQ11ZV+9eGmbQm9RlvP4b9v++aWtrGu+Mj2C1dKzXY/XDRoWRlqzN21K+Jient1U3e/Q+osv79j452OiZFje0+H3m8szrmzfk1ksUkaGzZU1mqvhQbvT9MbTVP1bZ3ZMdFbzmU3TmOF9Ld9qyzP0oOmpscAPB54PAAQFXWpuqYZgOj5Bf1+XDwYu/Ha6fMbtwav+eZyTOmE0wfOOR4fdWHdl8F7o0s6CHhhvxMUuX9/1FeHTmw/mVQ1DlYAJaPh1oHPL9ZOudXnh28ZFqIkNhWkbv06eP2usB3nawYpOKctSVFBn4YXN42ZS2/kP9ALjDfQWVGZeK/TwIFi4GTgevoyhQErYbSt4sDO0I07Q9YHZ1UbBPfKeIL4avb90CKm2it27Du57uugoBu1fQQ4AQQLyuHMv3c/tnyK9IJi0FhwJ6JgyMmA87LVqTWlGusUOXH/UkGt2U+ycEuY6qwOPRWf2y8QHAgGtJepSEravvnI6n3RkWVToh+WHk3ksUMbr7WOTs3lXDyz7lBMSGRqboNhnLRlx+RVjEiUF9P9uujjB9ddaTLN+8c1JV/tCPni7I3wM6kl9VPGuZ6Iz44ejIr5YkvQibu6URLMk8d1XMDbWpi9Z9OR9XvPpnTSI93tidfrB0T0PMjatyfkq5P3E1Ie6ScdBYlXV205vjUor2WK7a/L/3J3yBdbryY3zNl96nql12AZFl6Hhobv3x8UH5909WrC1asJt24lrVq1ur6hVcFP/MG8uOoBwYLzQVqYSBHhpOB88orohZsFF5i/ve/U2YxxEvD6QbEgJfhlMjHyXGKT3cGr59DbhwEtLZ4z4sJyahasDx4v3CxoL2huccUtJ3+/vvbHM7SkgIUZPMkHioNzZSzff2VVD1wCRD+kAAT5qWs4BowMXoKTgoMG5YHggZOGgwLlWSxkwPpAsc98ke8iYeGwhXdVkBZbngt+SB64WLA+SD4IvsVNpsyT3xTBg/dDkkEwcImQApC8EHzgfZiZ0IT8MyrfDD8gyD98YENJi9+L4eDiwXnhouGWIPoh+cDJIFnQHngCkPygWLgESH5IAbCiulvj9fit8SN5lI7O/tS07LT0nPT03PT03NS0nJzc4plZUvT8xJ/Bb6z5xim2+F3HTyYPTksgGVAyBjWVYTv2bIttH3EF1Do9qjeMWvPtO6SA6Ymmw5+cSh8O0OpzmjfCMhTd8QV+4nhBeqbQ9XLFj4uTh3vNfeO8nQVBg+RhMYyVlrR1TvtcL67opVL9Dqnx8x2CgZ2gejosRoeiLi96M/zO+v0s3M5/V1nSQcElQPCDVR8bqt5Eavw8jWDAeNXnu2+O31n8qFRvlZcXPySnUr0eardTlep34GXED8HA7g4YLU6D2WG0OFWqV2l0wj5rFxcqyqvxo1KtXE/HD8P/eiwPN4d5GnYaTgZWEvoRW+/wXN+IVaV6lXoGZyxz0kuJH05YxPIBNX5Uqt/oSfxMyF5IvEXmR2Xe+OtIvFFgF4ncmCxOyKJZFidUqlfL7OGNJM07ljF+OAEM5zVP2oZGJswWK83KnPCL9/2oVKqnPR0/fr5d4asVvu4pNU/UPvv6T8MSjlGpXjbwjyjGtWzxw4sQJFjn3cOjZqeLGzFYZuacgvTDkgcvjh8XB0oEJYJaGZ2+VL8XC52VaRHU8xffExzI53zWxeH7WtcM3NwKOv2ejh8f/zjANwT45qe0Qe6Dp8fPtyh8vcI3BPimZw9QqVYcha+nGHK54ifgcguzVlebrlc/YLQ7mYEhU2t7z8wcQVIiy/uXEj8EG5i1kiMjk32D5kGT+wX9EBePZ0CJK2iYUL0upAjCxY4MT/QOWvpN9PyT65gfNdumzTPCTzbbnpklzDaPg4aTAUnJE7PsLBFYITtLnh8/9YpQz7KkfmrUMDfp4ef9fIeP7w7wTQsUvj7AN772gUal+rHljB9eVPoHx/r6DUMjE0MjE4PD4wsf6AeMff0GTgiw/M9XvKZlrq0s6/qV28mpWYm37j/sZ4jnb2wmGMwT1MiwddKl1rd+q5Ec5m3TDZVl6ffTUtOz0gvqumfkOZtz2OCcpb4/NyhZ7ml4kJXbYWLgfvaEcbEYqM+9V22Yp0AKcJm6sksbui3yCtlX/5z4afRyjxGYlgT/H2L/sDd3PwBZhCTDJ5oVvibAN8v8kJ/XKXz9ax9rVKofWM744YRAX7/BQbCCpLC8bwEvBlxuoX9wjOX9S4sftqU4r7Bm0uHFWMfD5NSGERJuHrQHnLzYiIVgQXvAymBl2Ob6suOLu5zgBDhoUBJYGYyk1nx7ixAsCKetsfBuevnIFAtehsthM877DD31mfeajAIYHm4RtAQRSl9D2XfxQzBwP2mJ62JhG9YmZ7aOkaB9/oGGqpLqvglmRZS7dj4nfhS+zisS1YOtNxpvvxv3/9bcWZXSerdvymgyzpGk7BMtsjjvDUD2cH5Ou8QEUkQt0A30AI8htwQ4LdAJSfPahyrVm2e54ifACQFeVGx2imZlXgxwgp9mZZqVGc7rdHG/KH60JfmFj0w2L2wzfbm3ijodsJqGK4pzM/LKyzttpIi5yYnq4oKMnKLanpGawpxrF2Lj8xs7TLLAuVtrqrIyix/UjlrUqqNvCQZuPmDqaU67XzXIgmHhpEEKcDgmHty9FXv5RvLDbsOcs6+5o6aqrqqtv0VTmZv32MSAFjA/T/Z0mswcSAYuFnbrePHd9DoTBMbxqPTRo06nW14pBZyeFz/wMVvSd/330P/6b3Hv/N/L//u/Hf8vaV3ZCVfvJCYmCxIcTk9JSblhzOr3MX6+Tfm5WTh4deAeVFzavH/3mp2Hj9T2VsJbVH0jsmOsRpFalNc9WqneMMsTP4KkzMwR+gHjiMEyNDLRPzhmnrQtJNCvi5/8SuMU5eutL0zOaRvn4LA6erp7GpofJic9HJgk2urKU4tauvWjQ1OOHm118tW7hW3jZoLuqy3PLmhqaumqKi2vGOLUwqNvBQZu1juiq88s7J/xLF5zECwcbkJTlpMYn1PVNztLmEviryXmtOnN1s7mipy8ThOjuFmfZdxYnlOrp3xOd8DJwEVLnVVZhZ2iY0xfXFbZOR1YOZ3Hnhc/smAbnDZV9te/E/N/Ntxb3zrWZmMcoaERwcHB83YmPj7h/ff+GhwcbJl0KN5h5YcLFp4dC6Q2/1T8lYOrIq6ce1AcW5QVml+dMWtNif7Pj1NaK+Btg9wGbxs8LQrfHBA0kNvgW/wnPK3wtkHWQnj9g5rq92J54kf0wGiaHjVOOgjW7mQmLNbB4XFeDPyq+OHbH2Zfu3T9VuL95LuVHTaZFBRyylxVWpB0987N69ltZqq7Pj8xs3lwxkuJsM0NFtwp6ybg4WwP792Ou56SlpGZcCc1Tzu/QmbtVS8XAzfnM3TUp2W2jUtPOqwzYLwY0zflpLeYBLD81IM76ZX9HgHQN5bnFPRMOGy1hdkJ8Qnfxl6/mXg7q0o/RoDhlYl+bX5FX29Pe2mZ1kCtoKpiz3n20+TnNPB6OR6r7n4Wo43T60bXrvnn3n176+tbYuO+fe+99955551tW7eNjE7DP/qi+BFa4KmsiPgwOC7OxvUAPUCTh2rkHcmXP1+b2VmlCA0uc4FltMg6X6eILRAaueliy2i+dfaRLGp99rIZQ/60uYyjNQE1gVRLs2zxMzY+Y5maFySFFwMLC69/bfyw2tK83Ad9hnnW6vQTAljSWp1VVKqbnXZMlaXlN5t9lASHZexBxo20evPYRH9+UlkPAQ8/9yA5Pa/JPMP4HWrTjreJi4fVMlR0P+VhP0d5wMmgGI+N9g511mSlacdFMNxUWXJO7ZBE+/x9jeXZeZ0m2u9wcYbhwdKsqsc2Zs4u2ym4ONjmZmtzUlIKK8s1s86V0WhuwfNWvil8rci7KQa9g6P6QX1Cwt1//dd/2bnrm7Nno/bs2ff+++9t27b1cdegxyP5+ccvmHxTpHbY4sPWbi3pr4LSpvDNAb4FcrtC3bn02dqcvgbvVOrdsA83bfrbR98cHbTUsYYb4Vs+WPPJn4Kvf2udL0sLX7Phkz9tPri7ZaJdkdUHRaolWc74WZhwY3nfnI389fHjZZrzMrIfGmZF0BwIFqxrvjI/J61U09JSk3wjvdkkTJpM2o7emvycnOYx05Sp8NbtrCbDuJMZaCy8fedBrbav9fFov0UgV8ylq+rlYkDRnhFtacLdnNK67raOniaN9rFFMunb0uJTSh5PTTvHSxNSK/sF2u/vqS1KzWgdY8CImJ93dmpHJvjFuxyChZsWO4qvn76SobWsoJk354vip0EWJhkWmel5f//gg/DwiL1795+/ENPW1jowaCwqKm3X9fj9Hp/Q8+KlB4rUjpmrwVsPNxmq4NcuPOaB1Op337n02dqMzhqgebbrZnr6wR1/+VtCafrjvF3/ueeEme4CetAd9tHmr0u66oAuSOp+I9VSLWf8TE7bRQ8ESbHZqeFRsyApnODnxQBJiUuPH1LwDHf36fQOK7u4m8clYNIwVFlUlFfRrmkdGJYMNrAAAAQ1SURBVLNyQ52arLzi/KJ2vdVLsP7+1sqs0uYOkyxwjK6hLi+3KKu4tnHQ7Vaf/bw9GDBCYEzfWZhbklPwoKh2ZJKB00G11xZnVvSOzjr7tH19k15SDJiGhlo7pqYZuGg4mR9uQSXZwKRhpKllzEytrM1kL9x2WueTpkm3v6Ky1jQ+19s3dOhg0J///Kf9+/cbDJNeHzz8+MIi7BcNBGIr3GlXNnyWrHkI6CA0K6IWfh2opEufrcvrrbTq4s7vXb/z8Fdb//b3hLo8wng7/vTOs+eDMuuyWUdhwbV9Z87sS8qIm5hvAzrhb4WgBTogaODTAW1Qt8GqfmQ546e7d3jUODlqnOzrN4wYLPMOemhkYtRoGRgy9epHl7jvx0GBFEAJTw0KFFw8GBmcB7QEkgUpgJPBPWkG7JbAyXBziwuvFz5F8/i9NzVR/SIOGqQA1gtOBistpgvlAeeBi4VbgpuFg4KLBy2+aFbNxa/EhfsvjJ+mAF8nC5O+APwBTJhnoqPPv//++++++4ekpGTJCw8/qfB1PzsWwKeZSP3i002bKkZagR4IRabREut0ypXV68vaM4rPbt55OQ2oz9y9JrY4y48RQDeY+NmqfXu003pgSGwL3bPlH7c6K4zlFyqqst3u/Kob54actVNNscWZiQ5Rp6jPhFTPWp744QTF5RZm5ojvECRPkPz0rHPhn3Yns8SqByqV6sd+ruhOk8LXe3izL4BH1Q0ffPAf7777bnh4xLh53iO6/XzbUmrwKIIW7pJHiZtWf/jRpo0frd28Pqkih2FSY1atK+opN1SFfv3hH9ft+3LLRx+n1GVbGiK2bPl08yefRyTdsBpunTm8et3qz/YdCO6jyh8GrTlx7uqMIzH8L6vKZio7b27dt+X4mKcb4usf71QryrJtO+UECNL3eBFPv/KLar6pVKof+Ln4aQ7wjQpf7xXMboq/fz/z3LnoySky4BcDvPbF662fGQ7kdog1E50pj1uSdO05dkcjpDqHsYSiNApTPdOTrOvImTSWMGQdP13Qpb2ja8m0zTeCLh/uuNvefM9oqILczEyW2merZbbWYSxlmEbBWmYzV3qEltc+2KlWmuWt+fYLqPGjUi3dEuKnOcA3Bfh6nzjJsIqbhiyxAV77nCOfPyKIWgR0UDoQaIekCfAa+NsWHwUFOhBoh78NogaeVigdUNrh0QQELQI6QAefVuGa4W2D3KLwLQv/EZ5WeLWK+uxH9SNq/KhUvwNLi5/mhVk4WZjyiFSAb/2l2aNSvUpq/KhUvwNLjp+Fv+oGha9Xey6oVjg1flSq34Fn283pFL5G4etVqt818NXL2W5OjR+V6mV4Ej/jshcCTwk8IfCuX0HkXRznohgXrVK9fgRBe53LFT8MpzBcgPnBiwuvswrDqfGjUv0aT8cPw/96LA83BzsNh0q1Aiyc3v8fWj6n4Pmc9EQAAAAASUVORK5CYII=" alt="" width="490" height="291" />
文件命名為Product,添加下列的屬性到Product類
namespace ProductsApp.Models
{
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
}
4.添加API控制器
在Web API中,控制器是處理HTTP請求的對象,我們將添加一個通過產品ID返回該產品信息的一個控制器。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhAAAADzCAIAAABYLbjbAAAea0lEQVR4nO2d74skx3nH5+/QwrzQC5FFGwjOGGyTrEHcGsS98OJgQmBfDQN+MVg5uDkUvdCrMBjWu3ewDJbDvbIZcS+0oJC5wUgkEsocCHbBjjaXgNZHyEIi2evItxud4S66nc6L7q6uqq7uqa7pmekfnw9fTqOe7urq3u76dj3VU09j/ZvfX//m92/f/cd/evAJQgghlKSGMIxf/ft/I4QQQknCMBBCCFkpMgwPAAAgGQwDAACswDAAAMAKDAMAAKzAMAAAwIrMhnHNmoXWGwAAlgyGAQAAVizbMKbjTiOgM55OzetMx51Ga//U/K2y5ul+y25N815a+6fT6VSqU8OpNPsK2zPuNBqdscOG4ri05af7LVHg1C894fxn253rn8A/ZfNXAACWhothPLXAaBhTv9GaTv3P+2MXw8irdVYNIygwbP2yFZ61SjPXn57ut1qdTsvVvWKHMD3dbwUHe7rfajQ6nU5OhpG5buGBT8M6LbkOAODMcg0jaC5mtBErNAy3wnM3DL8p9f/NVBMvwTC0oqbT8coNw/OvB6deFACshHkN4/nz58+fP3/27JmVYUzHnYYeiPAfeUWUypOaFVNTLoWPOmNlhaRy9jsi2GQ8IqNh+B86nZa/m3jh8h5b+/vJFRZP02Jz7RDkr5RHb/HfqLSx2ONp0kLTAerP8kbDSNlFynlI+BOE/cjkA/ekfk/6JQcABSGzYbz33nvPnz8XbrG7u7uzsyMvTDEMT2pBpOYm/CziQWmGkbLQWE7YNiVH7Y0hKdnbUgr3F57utxppdQu2Me4x/pStho/k0hpqeVPjwoQDVI492TDMu5h1HmLHHnRy0g48qRoAUFgyG8bu7u7u7q7fsdjd3ZWHuG0MwycIpAeP11GTEbQfDoaRWo4Xa6qUyiiD3uLRWHtwjhUef/y3q5upcKVVlcNHYqRaq3/8AMXChAO0NIy0Xcz4Y0mdj+BEph64xzAGQNlwfEvKt41r166N7993MAwvbAoLYxj6V0szjOhsNESdNTpjfaAlLNG0MOEAsxmGeRezDUPdy2zDoIcBUCZcDEOYxPj+fd8bLA1jOt6X26PW/mksyqE0jnIjGIZGLENS8UZ2DsNILDwekjJWeEZkxicwIPW9ALXhDkNDah20haYDtB/DMO5i5nnQg1dy5dNCUoxhAJSK5RqG/PgsfhMQhTJMw8Vii05HLAyWJQ56G4ed3Q3DWLhcNzHonVRh+cD9Bjc6BOWbYK9yTcKWWQw+6wPO2kIjNm9Jpewi5TwkvXcgRdLMB+6Zxm8AoMjkGZLil96Lw8bV0ja3eJa3Ly22lUtYiQEMgNLhOOgtPmMPy2FOw/DUX3rb72J2xdQYmj1j15+yA8CqmHe2WvFabb7VAo35DcNtF2nrBwEoegkAdYHpzQEAwAoMAwAArMAwAADACgwDAACswDAAAMCKJRnGnGmXAABg5ZTAMPRZ7Zze+heTNeVxNHrF8i0WAKCYuBvGo0eP7FfOwTCk+bwdfvDlYBjh5Ohp820IC8taHwCA0uFoGEdHRy+//LL9+teuXXv69OlXX311FfLVV1/Z5umTDSNs+DPV1nMyjNCbzJsEVfHnXmIGPQCoAS6GcXR09NJLLzWbzUx7Ov/i8zfeff1bd77u6413Xz//4nMtVZ9lD6O1f6rGqfR5wZV8Eg11vbAET3URucCWkthP2kyeVi+colZMVeuFnZJoAj+5zurCTKcOAKAIZDYM4RaZDON3j3/znZ+88s7Hb3/rztefPn36rTtff+fjt7/zk1fOv/jc1jBM7bXWUvtfRbklpIWiu2A0DNmTxH7lHobwKfFtNKW5VGCwRymfUDBjeWyh/akDACgI2QxDdotMhvHGu6+/8/HbvlWIf9/5+O033n1djk3N7GEkLZQbdxG2khdqLqIZhrEdj28eGYNuYnoHSK6GcaH9qQMAKAgZDENzi0yGISJRcV1dXRXEMLThCm0MIwpKhXGowCTkqmAYAFBdbA3j0aNHL7/8clPFfjd+l0LrYfgfcjGM9H6D6BAkxqlMu4i7iDCEsdojSYk+RXtUF9qfOgCAgrCk32EsuofhyT0AqSnXEmR3xlM5mtRqJQ56e3K2uLCzEu9fKLvWx8qlvHKxhQAApWNJhjHPGEaJkDs66QsBAErHkgwj6S2p3z3+jaf+rG+h1Vg0GAYAVJjlTT74u8e/0X6H4btFlcAwAKDCLHW22l/+8pfGzwAAUHyY3hwAAKzAMAAAwAoMAwAArMAwAADAioUbxtHRUY6lPXjwYGdnx38B92c/+1mOJQMAQDoLN4z19fW8POPBgwfi5xq7u7vpKysTkqsTzS6O6el+a1n7AgBYMgs3jGazubGxkYtniL6F7BZJ/YzpdNwJ2+6wGV9IOy7vCACgwizDMMbjcS6eEe9e7O7uJv04XG7HF9qmYxgAUBOWYRie5+XiGfIMIru7u75bZDIM/0On04rNQxhOQeivOQ6Wi59nS2t2xlO5HG1qQ2mn+ibK/89zHgAAVsKSDMPzvNu3b29sbFxeXjoXdc3Ezs6OcWVjSMof2JAno5WmqtVywE7VhVFqP5H4QirH7EzKJuMO89QCQKlZkmEcHR1tbGyMx+4t5g9+8AOjYTx48MC4vjro3RlP9djU9HS/FS73PG/cEZnBo/hSsNCcGdwQ74oMI75JmNPV+QwAAKyWZRhGvm7x3e9+V/QtktzCSxhayGQYU7GGuqZeTqJhKJv4kEAJAMrLkt6SysstZr5NK5htGHpISgxOyOlU9YUJ5RhDUub+xOl+i34GAJSRhRvGiy++OI9beKaXo2yYaRieMi6ttPhiNDtK6C2HmNSQlCfy+iUOekeZveX4GABAuVi4YczpFl5oGJncwhnekQUASIK5pBQwDACAJDAMBQwDACAJDAMAAKzAMAAAwAoMAwAArMAwAADACgwDAACsKFnGPQAAWBVlyriXCXXywbTpm4IVF5ZhCQCgGpQp454gPmdtfB1tgvGkCTnkGaUAACCFQmfcS7KEzIaR/HM8fqkHAGBJoTPu5WYY4Ryynp4ILwpbSTPUGjPraRn6om/39ztyCV44L7ocCiP7HgBUgEJn3NMsQftgYRjRCIa0MJ47zzRReXpmPelbv3AR9RKJ+tSakH0PAEpPoTPu5dLDkHMZzcidN8+3yamTyL4HANWg0Bn38gpJiZxFM3LnzfPtDMMg+x4AlJ4SZNyL4zzobZE7b55v/V0YQ1Jk3wOA0lOCjHtuaK8/Ba24Mt5syJ3n/G3cWhIGvcm+BwBlpQQZ9wAAoAgwlxQAAFiBYQAAgBUYBgAAWIFhAACAFRgGAABYgWEAAIAVGAYAAFhRJsO4+K9//Y/3/9aoVVcNAKD6lMkwzv558Pkn//A0Rrph+NPIzr93LYUfU3oAQN0oumEkdSksexjT0/1Wq9Np5ZAiyTD5R4IPkZQJACpJxQ3Dn90vlzn+TPNKpaR9xTAAoGpU2TCmU98pov96ojUfB7MBKsmR1IWx0lTDCB3D86NeyoyESuIm+dsFnSUAgCVQacMIfUI4hieiScpM5FPjQr20ZMPQVjD2MOh2AEDZqbJhyJEov3X3Yg33uOMnVjUs1EozGYaUMzwaC9dL077N8+wAACyRyhqG9lKTCBipY9fhQIRpoalAwxhG9CHq0Rjy9MkGAwBQRqprGGF8KPhfxRvCoYuoNTcs1AuMvSUVJEfSU+2phhH7dpFnCwBggVTWMPyGWl4SGsG402h1Oi0lI55poYbaZdEHMxqNRkN6fzdYtTM2fgsAUEYqaxhJMCINAOBG0Q0jdywNIzYEQvJtAKg7GEbiQgAAkKmdYQAAgBsYBgAAWIFhAACAFRgGAABYgWEAAIAVCzeMo6OjvIoi4x4AwApZuGGsr6/n5RmrzbjnKdMI8rMMAKgdCzeMZrO5sbHh7BkFyrgnzTE1Pd3fj81xm7Ytv/MAgPKzDMMYj8fOnlGgjHvqbIZeFhvAMACgAizDMDzPc/aMgmXci76amVlPm9CQpHsAUHaWZBie592+fXtjY+Py8jLT5sXJuOdJE9PKc9wmzTKiTJlODwMAys+SDOPo6GhjY2M8zvx8XZyMewLfNeJbpeTdwzAAoAIswzCc3cIrUsY9GTm1RlJmPQwDACrGkt6ScnMLr1AZ98b7sqO09k/TM+thGABQMRZuGC+++KKzW3iFzbgXjl2nZNaLh7kY9AaAUrNww5jHLTwy7gEAFIbazSVFxj0AADcwjMSFAAAgUzvDAAAANyLD+NO/8xBCCKEkYRgIIYSshGEghBCyUmkMYyYrryFCCFVbZTKM9Ix7K68hQghVW4U2DI30jHvGEr7206ufP77yN796fPVXP50uqKpf++nVR1dXP39nKj6s/OwhhFC+Krph2P/SO7751965+s+rq48+mIr//fkHGdrxTE0/hoEQqrwyG8bde79ACCGhlbdiaGlyMYz/fTLNV+cXHkKojMIwaiUMAyHkLgyjVsIwEELuwjBqJQwDIeQuDKNWwjAQQu7CMGolDAMh5C4Mo1bCMBBC7sIwaqX8DePyy9nCMBCqhjCMWmkhhvFKKhgGQpURhlErFd0wDnubW4OzaMmov9abnJ8Mt9bbeyeuV7nt5pPu+uZaqO5olbfl8aC91pucX0y66/3DFbcRbqdl0p3nTxZKvx5WprO97fAkbA+P5zzwUT88n/4f17SJfNH668/Yb3TGpL+RWrJ/N813KjCMWilnw9BCT7//4v/Oz5/JytzDUK9p9epftKS762S4tcKW+mS4FbQO6YaRT6M8q0C3veRVt7O97XyP0enPITvlyXBvlHKAsw5cvrRmFCUKFHu3cyNxB50Mt9Yjxz0etOd3XwyjVsqc0zvFMHyTODg4EJ2Jg4ODx79/PpdhKC31kp+v5bsx97Y4g6QbG8PI57l4Dp3tbRufWlwNY9SP9RVmGkaWyzJ62vCOB+3uYLgVnL18rPfuvV9YNh1QAXI2jIODgx++9prvFp/++skPX3vt4OBA7mdkH8OQ7s+opdCe/aPuvNQFUddRmhjx1aS73t4bBAGB2NOWVIK6626vHUQPor0H+02tQBTHCNZRK68XHp0BuYGQohZKzaVIkV/VtMITDlzZJFaguTk729sOSwjavkl3vb03CoqSrC7+J1POlemsmk6L1AKuQOa+pnauYqdaOV3a5pOufu2lnMBoR1uDoekPFC9fXD/+B/kSyuHxC8OoFTkbhu8TvmGcnz/zP19+OZ3DMKLna1NbrLTpW4OzqGUf9be2gw1jXW95802x/pp+/8jBermXI9/DctPf3jvx0iqgPxrHKm9oO7QbW77b4zVPePY0FD5r82gTYw9DOy1+rdS6+W16FHlXzrl+0vS6pZ+WlQ7kJNqVdvJNhxM03/HKB08S0uUdnkDDXye9h2EoP7xxJt3t4fGFd9hTL9T5hGHUivwNw3cFbZR7HsMIb1HtQbu9d6I8qwbPWeH9fNhr743iG2q3Wfq9pz0UxzZRHzaD2zKlAmoE2VD5xAbaaBjxmpuf4k2Fmz5nqE9s4ai/lhBYj1qraC+xk5ah5t6KhzESR7Mynt74+wLR0Ej6HzdhRynl+94QOoT/+JLLAAaGUTcW2MOQDWO+12rP9rZF4xu/CY0dcP9h6mxvu39oeCTMbhhRZGyWYcyqwPGgHdzMhsrnaxgphSe1aJb1sTeM2HmzMoz0aqy0h2E1hpFyXRl7GNK1kWjt7j0M/yHmcNCOOna9YV6mi2HUivzHMP7mjTc+/fUTPx7lj2HM/8M9v5FVgxLxUEa0shwL6vb6yYMT8/Uw9OhKcKPOrED4cJcQvNZv4+QxjBTDmFF40uY29TGeKD0kFZQTnZakkJTxcFKrsdoxjAvNHY2vNmUxjNFQNtdYJDAPwwhCXsoZjgVgHYVh1IqFvyVldIjMP9zTfzmR0BOPBnvjDb3WwFkahujgJ6wW7V1baKqA/rp9vPLGBtr4lpS55oc946C3XUjKdDKVAg2nZXNrMBGD3seDthj07vba8WHt2F5mnlXTaVnxW1KxGobuJZ2r9OsqfjVqY9f2hmH8AxkU/mmkrXI6hxhGrcjTMOK/w7BxCyvDqLlW/kydTTObyHlUgN9hIEkYRq3I2TDctPKLvvgKo9urr4mFFmgYOT4ao1yEYdQKDAPlroX2MFCxhGHUCgwDIeQuDKNWYBgIIXdhGLUCw0AIuQvDqBUYBkLIXRhGrcAwEELuwjBqBYaBEHIXhlErMAyEkLswjFqBYSCE3IVh1AoMAyHkLgyjVmAYCCF3YRi1oviGocyNaspDsChJCf4884SpM6bCRaj6wjBqRSkMIyW1ziIlT6OtJstLzvnqYRioVsIwakWpDGPJbbE0qfjxoN0dDLcC/0jJ+br0SiK0UmEYtaJUhhE98osUPf3DCyWbjR9EkqJJagelNwmzj0kBrmhzY7ZXL8q6GiUvkrMYaQlwJt319t4oKDOXtMkIFVYYRq0ohWGIMQw5tfWmlIRObvrbeyeStYz6crbUrcFZLF+bYkha+x5lnN4eHl94hz218OTcqEF2s1E/r0SYCBVTGEatKIVhpCbWVgc2giY+jCYd9tp7I/9z2F1QRyOUXJvxVJe+N4QO4VuOmjA1PdUr4SlUcWEYtaJUhnFxtrcdPvKnG4YIIgVW0T9Us5weD9pBSCp9IP1kuLU9PBy0ox5MbygNYGAYqO7CMGpFqQzD2MPQQ1JB6388aMvBqG5PDzeFHQU5uhWXP+ChhpuUyJilYaR8QKjEwjBqRSkMQ4SMEp7co7CStjDuNP64gjoiIkelYvmijwftNalrouaUjqpx2FMHvTEMVA9hGLWi+IaBECquMIxagWEghNyFYdQKDAMh5C4Mo1ZgGAghd2EYtQLDQAi5C8OoFRgGQshdGEatwDAQQu7CMGpFEQ3jg8kxQqjIwjDqSRENAyFUFmEYtcLdMK6efIgQqq3u3vsFqpswDISQi+4SbKifMAyEkIswjBoKw0AIuYimoIbCMBBCLqIpqKEwDISQi2gKaigMAyHkovSm4PLLqVG/v7j6l3+7XHnlkZtKYxjv32g2b9xJ+PbOzebmWw9tFiKE8tFMw3jFxI9+9CM8o7wqiWE8vHX91Z2bryYZAIaBUG66+dd/abOam2HgGaVWOQzj0cHm9YN7/r+mFTAMhHJTo9H4i+1v/+F/3ktfzdIwzs+fycIzSq1SGMa9t/y+xcNb11+99Ugsf3jrerPZbDavH9yKvMG4ECFkrUaj0Wg0/uybf/zbs79PWW0ewxCekb169956tRkgtwb5Szxx8ugZqQyGEflE6BzBn7N58/6HV08+fHSw2Yz+tPGFCKEMaoR8+8//JGU1N8OQbePyy4zNyMNb18Mb3P/ft+5n2Txb049hGFQCw5AjUY8ONoOhb6W3Ef5FjQtXfYoRKpd8t/ijl5qfngxTVstkGKJjMYdh3HvrVcktXIRhzKviG8adm02NnfefYBgILUo28airLIYh9zPEksyG8fDWdf/eN38VEDrKnZvNzbcOdppBgPqe0pLcuOOvcPPGZtSeGEt4+KHSkkSr+TVRC6mBCm8Y93fUSKV4yiAkhdBCZDPifZXdMLR/XQzDPGgR3fVXD29dl5qCIBpxf0du3+WYdhi6SCoh6cOHV/d3hAklvIlTTRXdMN6/of89oqjUffH4cEv+QxoWIoTylkMP44evveYekkrqYajL378hHihlb4gHl7R+Q0oJUgBDjnSE3ZRaNTJFNwyEUDGVdQxj7kHvhDGMpRqG5lgYBoaBELLQCt6Sur/TNLwlpQWUjNGnVMOYUYL8QQt4pO+lgnaCYSCEXOT8S29BZsN4osaFxJBGtDDJD4LP799IiCallWAc9I4XgmFgGAihBK3GMNBKhWEghFzkNlutppUfBcokDAMh5CKaghrK3TBI5ItQnYVh1FBFNIwPJscIoSILw6inimgYCKHiC8OooTAMhJCLaApqKAwDIeQiotM1FIaBEHIRTUENhWEghFxEU1BDYRgIIRfRFNRQGAZCyEU0BTUUhoEQclFKU2CcBYSmoAIqg2GM+mvrm2vrm2vr/cNVn6/zC++wtxnWJ9DW4Oz8YtJdb++dqCufDLfiCxGqhJKaAt8efvvpR5dfTidvviA+23jGyg8KpavwhnEy3BI+cTLcGy3uXJha/AzrZ90coXIrxTB+++lHkzdf+OyT0a/ufu+zT0aTN1/wPQPDKLsKbxij/tr28HgZ5wLDQCiD0nsYn30yevL4/PLL6ZPH5599MqKHUQ0V3jAuJt0g5iMvPNvbDsJBXb/PcTLcWleX+C34KFgelRCtKQe4Jl0RYupNEgqMVyxmGPruxDqxCiNUcqUYxuTNF35193uWM5xnagqC2zNaMs9T2qRbjCh3iVR8w/BEaxs2tWd725qFTLqKc/jX0KS7vhn0TpSF4RU26scKERefsUBNccMIdzfqh24UrjPqqxc6QqWXZQ9jZg6lLIbR3tqWH7nyMgzCA7YqhWF45xfBI393pI5qRF9FSw57/iWlXATBQqnfsJbytGIuUFNKSEp8Dj+cDLcM/SSESiybMYzcDWNvNNyKYtQYxrJVHsO48I4H7bXexMkwzva2E8xGuXoWZhii/oSkUFVk85aUMIzz82eaHA3jxDvsxUO+eqhZumfVdfRnxP5hWjhaspMw2twdBTfyWi0fAQtvGKOh3OhvDc4sQlLizxyuZlyYcDkmF5iyfnxzg2GcX3jHg3YNLzJUSVn+DiN3w0j9EIaaRRB41N/aDm662N1n7GHEo9ZatDlsQKLIc41UeMOI+7+6MDborfzhu722PtQsR6XUcYXgBxb6U0ZSXzWLYRTspyQIzS+bpmAxhiEGBZWQrxJqPgkiV4c9EcU629vW7mWTYRii1gl2UstAVvENw1l1/HMitDSt0jCCILNsGNqjmG8Pk25gFf3DE3nwQxRoNAytKAwjEoaBEHLRSg1DdAWiVyK1YO/xoC0Ho7q9fiwanBSSike80w0jNURWLWEYCCEXrdgwgrdITKGkKKosfxtvDaLfYSSEoy1DUhhGFQwDIbRAZTKMPF6rRasXhoEQchGGUUNhGAghF1kaRn5Tg6DVC8NACLmIpqCGwjAQQi6iKaihMAyEkItoCmqohRgGgUuEKi8Mo4ZalGHwagRC1RaGUUNhGAghF2EYNdQCDSP+207xC08MA6GyK70pSIo/YxilVm6GYTNu4btI9vkA8s3LaDl3rPVeElPy2UiaizdDqoycJx6QEgyE5yfIO1LN6Q1QLpppGN/4cesbP25hGFVSnoYxMwzl1MPIOy+jPBvlyXAvsY1O30teTbZbOXnPVKNmkE1IGIWQopnPjsIw7PsZKz8olK6lGoZrDyPXvIyj/po+y3HyfmtiGMqUztGMbAilKKUp8K1CFoZRDeVsGOnjFs49jLzzMsaS7knzU8ZKiM9PqeV0MmdfUcoZ9BNyOmpNv5RMMDA2JT1k6hlQ9tjttYOAmynfZPSttN9g86i3Med5RhVXVsOY+w37WfFbmyDqvAHkuj9L5W8Y4l+BMAn3HkaeeRk9v31UW1g5c1/KTMUzFxrL2RS1io2ayPeAaND9PMNRTtmgS2Sum3mPBmuR8k3G08SKs2QyA+fzjKqsrCGpuV+YdO5Y5xgPiOfPqJdK08M4v8grL2Ook+GW39qqObbCFjO7Ycwox3idma68Ud/U0TGVOXOPM/JNqmdDP105nWdUUdkPeuf0hj2GsXotu4cx31WSS17GSMeDdvg6UCkMQwSOMhlGSr7J2KkzjhXNfZ5RJWX/Wq3xUXJuw0iI3554IoSwtu43F8YHpoRY8YkI/w5Nd6vf+49natKjviKM3B35iZ6MEenyaak9DNfAZa55GUdDuf0VURopsKM9RKjx/QwhKWP2x5mGYQhJBYdgKNNmjyn5Jj3t1KnXtLKX7PkvUcW1iox7M+O37b0T/a2/lLs1FiuObiglnV9UTupNLUV9gzDyqB/dU4aIdPm0EMOQOxZJ4xbO/dA88jKqmyjlmK+DcP2+WCjldDSGgNJzOhrvgc2twUQ8NB0P2uKhqdtrJwzIz9xjer5JVfrpSght2Z5nVHGtPEXr+UVCd/xkuGV+9PFUwzAFCdLexjQZxoyob/rtXz4ttYfhZBg1VxUuMlRJFdcwLrzzsMecHBbO0TBSor4Yxhy/w8AwsqsKFxmqpApgGAkhqXCF8M09a8NwDEmlRH3Td22sTKG11KlBMIzsKs2VhOqmlY5hJMZvgzEMde4fUwA5cRwiLD9p0FsrMD3qi2EwRSVCKKNhWAYeVn5QkQyxJoRhIIScVG3DOOxt2s0hVC9hGAghF1Ux+Wb0A44KvAK7CGEYCCEX0RTUUBgGQshFNAU1FIaBEHIRTUENlbNhuL1Zu/KzgBDKKgyjhvp/p2loz6Ux/RsAAAAASUVORK5CYII=" alt="" width="455" height="209" />
(ps:按步驟點吧,原文圖片截圖挺多,能少用就少用吧)
命名為ProductsController,代碼如下
namespace ProductsApp.Controllers
{
public class ProductsController : Controller
{ Product[] products = new Product[]
{
new Product{Id = , Name = "Tomato Soup", Category = "Groceries", Price = },
new Product{Id = , Name = "Tomato Soup", Category = "Groceries", Price = },
new Product{Id = , Name = "Tomato Soup", Category = "Groceries", Price = }
}; public IEnumerable<Product> GetAllProducts()
{
return products;
} public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return HttpFound();
}
return Ok(product);
}
}
}
為了保持案例簡單,產品數據存儲在這個控制器中一個封閉的數組,當然在真實的程序中,你可以通過從數據庫中或者其它的途徑查詢到數據。
在控制器中定義了兩個方法用來返回產品
GetAllProducts方法返回一個IEnumerable<Product>類型的產品列表
GetProduct方法返回一個產品通過ID
那就對了。我們已經有了Web API了。每一個方法的訪問如下。
aaarticlea/png;base64,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" alt="" />
相要更多知道關于Web API如何選擇控制器的方法,可以看控制器路由選擇
(ps:下一篇就是這個,上面的代碼其實是有不通的地方,我用的是vs2012,可能沒Web API 2的類庫,所以打不到一些類,網上找了方法,使用NuGet安裝WebApi,但安裝失敗,有知道的話,可以發表下自己的解決辦法。)
5.顯示數據
(ps:靜態的頁面還是不附了,主要的是js,作者使用的是jQuery)
var uri = 'api/products'; $(document).ready(function () {
// Send an AJAX request
$.getJSON(uri)
.done(function (data) {
// On success, 'data' contains a list of products.
$.each(data, function (key, item) {
// Add a list item for the product.
$('<li>', { text: formatItem(item) }).appendTo($('#products'));
});
});
}); function formatItem(item) {
return item.Name + ': $' + item.Price;
} function find() {
var id = $('#prodId').val();
$.getJSON(uri + '/' + id)
.done(function (data) {
$('#product').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#product').text('Error: ' + err);
});
}
為了得到產品列表,發送一個請求到”/api/products”
jQuery中的getJSON方法發送一個AJAX請求,作為返回的數據為包含JSON對象的數組。done 方法標識了一個回調函數,當請求成功時執行。
(對應是頁面加載DOM完成的ready回調)
我們依然使用getJSON方法來發送請求,但這次在URL中放上一個id,那請求過來的數據將會是一個產品的信息。
(對應是find函數)
(ps:上面的一些知識對于我來說還是比較好理解的,更不用說大家了,周六晚會發一篇路由的選擇,路由方法選擇還是挺有規律的。由淺入深,以后會多看看更更深層次的文章。)
001.開始使用ASP.NET Web API 2(一)的更多相关文章
- Create an OData v4 Endpoint Using ASP.NET Web API 2.2(使用ASP.NET Web API 2.2创建OData v4端点)
开放数据协议Open Data Protocol(OData)是web的一种数据存取协议,OData通过设置CRUD操作(Create创建.Read读取.Update更新,Delete删除)提供一种统 ...
- 【Web API系列教程】1.1 — ASP.NET Web API入门
前言 HTTP不仅仅服务于web页面.同一时候也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的差点儿全部平台都包括有一个HTTP库.所以HTTP服务能够遍及 ...
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- ASP.NET Web API 开篇示例介绍
ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...
- ASP.NET Web API路由系统:路由系统的几个核心类型
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除 ...
- Self Host模式下的ASP. NET Web API是如何进行请求的监听与处理的?
构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时, ...
- IoC在ASP.NET Web API中的应用
控制反转(Inversion of Control,IoC),简单地说,就是应用本身不负责依赖对象的创建和维护,而交给一个外部容器来负责.这样控制权就由应用转移到了外部IoC容器,控制权就实现了所谓的 ...
- 通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用
REFERENCE FROM : http://www.cnblogs.com/artech/archive/2012/07/04/Knockout-web-api.html 较之面向最终消费者的网站 ...
- ASP.NET Web API 文件產生器 - 使用 Swagger
转帖:http://kevintsengtw.blogspot.hk/2015/12/aspnet-web-api-swagger.html Swagger 是一套 API 互動文件產生器,使用 HT ...
随机推荐
- day12学python 多进程+进程池
多进程+进程池 多进程(不同进程不可直接访问数据) 引入(多进程套线程) 多进程 需导入multiprocessing模块 模板示例1 import threading,time,multiproce ...
- 2个list取交集
list操作 element in a list and element in other list,元素在一个list,且在另一个list 在数据量大的时候使用set,把list转为集合,此方法适合 ...
- “全栈2019”Java第七十七章:抽象内部类与抽象静态内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- python3入门之集合set
之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...
- Android 4.2真坑爹
艹~~~,Android4.2真坑爹,4.1以前的方法都不能使用了. 操蛋呢...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Angular material mat-icon 资源参考_Action
ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...
- Q767 重构字符串
给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同. 若可行,输出任意可行的结果.若不可行,返回空字符串. 示例 1: 输入: S = "aab" 输出: &qu ...
- Ubuntu系统下移动宽带自动启用设置
对于需要自动移动联网的Ubuntu系统(安装了4G移动手机卡的),步骤如下: . 在终端编辑自启动文件:sudo gedit /etc/rc.local 2. 在最后一句exit 0的上⾯面加上如下指 ...
- Locust 类的使用
HttpLocust类 可定义多个HttpLocust类,即多个用户可执行不同的任务或者相同的任务,但是执行频率不一样,用weight进行约定. # coding:utf-8 from locust ...