Azure pull request plugin?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Azure pull request plugin?

David Maul
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?


<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1sAAAEvCAYAAACzENv7AAAgAElEQVR4Ae2d74tlR7X35++bV0Og30R8EeGOjTAvHDCYYOKAyUWiPAauDDYxooT8eBEfkAkNIWC8MAaeITQTvDAikSuD0kPmongJiiFQD/VjVa21qvY+u3v6nD7d5xOYnH32rlo/Pqv2PvXt2mefK4H/IAABCEAAAhCAAAQgAAEIQODMCVw5c4sYhAAEIAABCEAAAhCAAAQgAIGA2GIQQAACEIAABCAAAQhAAAIQWAMBxNYaoGISAhCAAAQgAAEIQAACEIAAYosxAAEIQAACEIAABCAAAQhAYA0EEFtrgIpJCEAAAhCAAAQgAAEIQAACiC3GAAQgAAEIQAACEIAABCAAgTUQQGytASomIQABCEAAAhCAAAQgAAEIILYYAxCAAAQgAAEIQAACEIAABNZAALG1BqiYhAAEIAABCEAAAhCAAAQggNhiDEAAAhCAAAQgAAEIQAACEFgDAcTWGqBiEgIQgAAEIAABCEAAAhCAAGKLMQABCEAAAhCAAAQgAAEIQGANBDYntv72x/Dh//1xeO7GN8O1vf1wtfzb+8az4blX3w0f/vff15DeLpn8Ijz6+I1w4+dHXdL3Xyu8nz8Mj7qj27rjKNxW40TGS/f69I3wzI2XwytvHYb7n31x9sl8dhhuljhuf6LNH4c7zxeur/XMdUu//ejwVh3/XT4u52tfezY8c+vH4Z27D8PnX3pLvD89genz5fQ26QkBCEAAAhCAAAQsgQ2IrX+EB+/cMgJraoJ57dtvh/v/awPk3RICfw+//T838gR+MPG/1GLLiJMb4bn3j5cAW97mnMWWPleufeP1cP/z5aHTcorA/Pky1Yv9EIAABCAAAQhA4KQE1i62Hh2+3ITW0zfCzVffDnfu3gv3Po7/Pgjv/OzH4ebX2krX1f3Xw/1/njSNXW8/v8py4cXW994u40XGjXq9exh++v1n2xjb+2a4/V9nuMK1VrF1K9z5bGbsfvlF+PzPR+GXP/hmXQm79u+/CX+d6cKhJQTmz5clFmgDAQhAAAIQgAAElhBYr9j62wfhubLycO2Fd8OnU3+V//Lv4f4b36kT5q//6uGS2GlTCVzGyaO6jXCwWldTLxufHx2Er8gq1/c+ODtBcp5iqyb59/Dhv8sfJL4TfvnneoCNUxG4jOfLqUDQCQIQgAAEIACBNRNYq9j610c/Ln+Rfza8s1I/PQy/vFkmlF97IzxYc+KXy/xlnDyeTGyF8I/w4Q9EkLwSPjyr21G3QmyFED45qH+MuPn+48s1fDeezWU8XzYOEYcQgAAEIAABCCwgsFax1R4E8HJ4/2+ro3n03nfC1b0b4Ss3DsJvzSrYsslR9ecfBPHJQRF9B+F+COHzTz8Ir95qD+q49m+3wnffuRceDR9A0HzfPDwO4cvH4d47r4Svy62P8QENtw7C+5+ufsDH5w/vhl98/1Z4RvqmXF8Orx4eTfgOQW4BTL6P74ZXX7iRJ91f/WZ47ie/CR/8RASGf825Rupi4+oUF9n/2b0U31e+Wmx99ZvhxvffDvdWPXhi0O+5n3wQPo2Cp4qVFs/qkRBbnFRshVDrv7cfbv9X8zKZf2uSxEz+fpSLs8a/H87+ARkrbiPU8ak40ljQx2T7y7+HT3/9evjut9XY/tqzqYYfPlwxPr+MD4x42/Tdu/lK+MXHWdgJQ+9b9ndjS2KKr+7804fq9mf3wjuvvnyicyP1TXG/G1659WzYe1rOgXgNeTm88n/vhUfujtIar6yC1ldX9y+Ow734QJ9vlPMttvvqN/PDSj4+Dv8aXitqNmxAAAIQgAAEIACBRGCtYiv84Y2wVyYz3/31k/w1vgmeqzO3lNXJtogHKbKa7P3yffUdsjrRKpO0/R+FD7vnKzTfN985DLe/IRO6/vXGG78LRiOK/y8fh9/e1t8r6vte3f9ReP/PbmaohNLN114PN+tksvT/3gfhrjxp0Oey1yaPdYI5xeX5X4V7//mjdhteZ+ub4fYn/5BszOujOZ5Pfyf89Ndvl6f5tXiMgck3iC2DRq1sffc/B8Lpf+6GV2fGZhSS0+PzYbjzvfKAla72++Errx2FD8s4O3ux9Y/w6a9mzskYz/C8DCF8eTwbdxLPT78c7qhzup4LXZ5qfB4fhufkDw5du3zuXXvhcPIPJKZuvIEABCAAAQhAYKcJrFdsffnH8I7cGrh3I9z4yWG4/+fxpH2+Ck3wPJnYKiJl/0fhzh8e579Of/mP8PDj18MNETLdAzqU7zLxuvGze+HhP7Mw+tfffh/uqAcY3OyehvePcP+19oCDZ25/ED79WxFVyfcb4YZM7OLE0D0wwUwOY9yygva3P4ZPj0WcqRgHYrTamBJbT++n1bJr33q9PYL/yy/CX//wbpt0Pv3j8Fv34JLPP2nfk7r2vbfDfYnni8fhwaEXb2oyO1/scvTkYuvBz4Xzy+HO/zQnk/m3JtOrL2pF6dxWtr48Dr+Ux8zvDVaJPz8Kt/fL2P7qrfDTjx+2lZd/Pgz3ft6eBurFUrz98revlr57N8Jz7xzV1aB/HR+FXxQRdq2cH77/E7ENcTWyCa1n/s9heFDPjTj+DsNLIiD3D7onMT78VVwJ3w9Xn/5OuK1z9mP35rvB3sU8d76025nj+XBPX6/iuFbCkO+W6hOIbQhAAAIQgAAERgTWK7aix9Ff3NOtdz8Ovzi8Gx78+R9tYjiKMO2bmxy1TqtXtuLE7Mfj7/M8eKOu7NhJlPK9tx++/s4fm0PZ+vJxeF8eYOBFyR+a3ZtTD/44PqyrVtdevWtWx+pkdm8/vPL/RFyJY3lVMZ5GbMUJa5yQDm6N+tf/+3H9rpC+NS98+fvw0zLBn/orvxZjV9VKm0Q9/3pCsaUYplyU8crQi03VZvJWt/MUW1/8Izz677vhp99uq043ftWPvwdvFJHpVnF0ek3UOLGmx2e8Tdb/F1ePXhAxth/OVGz97Tfhu0XExdWz4aqwEpJ7P/+diq6N+Wfe7ZnEhmnsxt8pO8ltybXeU98z/SL89j9uhPj7gM/8xJ6rKjg2IQABCEAAAhCAQCKwfrEV3cj3nGQFp7s150b4+vdfD+//YXB7VAqzTayedGXruV9P+YiTqDKpNH8JV77jgzsGgiSF+Od3w9dLXloU1Yn+XN8QQv0rvVu5qP33+pWl5HcBn2rDi416e+V+GN6aFm3/8254peRlHszwQG4RfTb84tMWid36e3j/ezJRX9PK1j8fh0/vqtXBvT6Xyfx1sJWFi7NOvtfxnS1hs+T1RrjxzuA21X/eC68UwWL/SKCTi+fgUbg9WJ2qQm1ufKqxfZZiq455/wcKF3r9I8rTB+F+Pf/aebl3+95YqDk77W3r211Par2/GV49Os0qfPPCFgQgAAEIQAACENiM2Kqcvwj/+vPvw4eHb7svtLfJ5rXvjR4RPzM5qrbVAxImRYW9vUx1TZvt6Yn6aXbN97Wf6b+s+95/DO/cyHnsvfH7crDtuzZYcTIWjn8VbhRR8+pRO1KFwrd+FR613W6rxdhNHtX3vrqHGFSBMfVX/OimrTDpifbDd5/Nt3CteHLk5//5ink4iQt85m3zm24V6wR6GzP6+GiFpDL040J7ryy2S2ztvRBXgNutfTrktF2/F/nN8NM/dEfVji/a7YL//psiTo7DL79VON6+p9r6zTaO9RiIrU7PVj3Ovsbj/Zb3D98Nz6T62xzbbaP7Ye+Fg3Dn4z+GR+X23glLZffM+fLl78JP5QE28XcBf3IY7v13ueV43ihHIQABCEAAAhCAQEdgw2LL+/8i/OuzP4Z7hwfmh43729JmJkfKZP0LuJ9UT02kVd+0+V+vl1vm9KSu+fYTTdv9cbvdqk4em2CY7xtXHu6FV2UFSd3OtWgyG1qMpxNbc0/FG+ewLK6FT6KzIMu75leLqanta1+7FV799e/D53XloxldFOvUGKkrHetY2RpwT0/Xayt1174xfnCKZNfE7Fh8DnnV86MxvvHe4BZCcRJCuHc72/fj+PRsf99EzUIhHXMx35tTtxjqPNPTRX8eRdLUKvb8+WJvfxWuN8JXvv1K+OnhvfadS8WHTQhAAAIQgAAEIDAicM5iS4X05d/DPfUgCX0rXlghJsTKSrE1uzqkH1OuJ3VtYqZXnMSnfu0nnm0y6yepul/eHrftbfY9V/GZtFEFxmDSX92M4mpMutWy2q9sVB9uxci36943v1e/93a49/G98b8/PAyffz71XbZsdDJ/7XMqzk2LLYlJfwdt9rtYt8rKoYiCBa8DsbVqfApD3072z46DIVtV39OKrchqxS3KUYT/4r+86FLjd2rFOf2cwfQTRPdeeDvcP6vfcpOa8woBCEAAAhCAwKUjsD6x9T+/CS/dyL99s0qkVKr6Fh4zCVowOYpPNku/07UfuonfcLJXvbaNurKlb6trvv1Es3WMW2pl69W74V/pYJtQzvdlZcuyjO8au9FqXd9+es8iQXBkf4utWjsvsRV/D0497fHq4Gl8Mca/vv9yEVvzt8jWfMxGY7xqZUsY+nEs+7tzTvsZsv1d/Q7Z/O252tDctr5Fuf3OWF7x0ivV0UY7p1eOrfjE0D/cDXfe+nF47t/ag0qS3f2Z73DOhcoxCEAAAhCAAAR2hsD6xNb//iZ8t/zF2j5FbI7t1CRoar+1NTnxq2Jr7iETIbRbssbf2Zp66lmOot0WdarvbNXvpewHLU4nczKpz/OZtFG5nHRlK4T6na2nX08/FG3CUW8a0ydY2TLCWxlfuDmZv+pfV0X9UxPPUWyF8EW4/zN5nP1+GD4Iov6BwAsKldzk5ugPBKPGrd1pxNaYbbN5td52O/J9yn3pB55/XJ8wagXd/Pky6/Fvfwzv/0eriXlC52xHDkIAAhCAAAQgsIsE1ie2gnoS3cxtUAb63z4IzxWBZoXNksmRalNvkyrWq6iYe3y6ehqh6a/smqcUmshDUE9s098rqRP9uae9macRWuFT+5uYnO8Vf6mftFG5WJ/Welv9MBPt+iO7ehXQ9oxiof2G03aLrcpoq8RWfBrk79pvaO0NnpCnnha5/I8arU5NNM/8IUKdl2YMLHxAxhTb6ts9gbNFN7P12b1w+9az4ZmvfSe8Y39ES3VS5+4P5KEg8bDa74T8o49fD8/FFfm5c10J8Jfu8sRCBZxNCEAAAhCAAAQcgTWKrRD+9clB2JPvY+gf5HVBpLf/+7vwU3ky2l4/+Zcv6F+dEC3mlisvTKqomP49Kd3fPgZdTczib119NJhc6d8i8rcW6d8xWvI7W//+m/BXxadOVH1Oqs3c5DE2m7RRufS8m/kJsbVtv7PVAu626u2lU5N6/f2obRNb8XbCI30evR7umx+XVn8k2LsVfvnnie+vfX4vvPq1/XDt354NX3/jd+U21xCCElKjJznGHz3WP8rtxdYTsVV/oEirdoOHm8RiPnrvVrgaf5vvxiuh/ma4euT9cMUvdlS3JbfV5nhAndNObLXflRsIWxlZ9WcPTrOaKEZ4hQAEIAABCEBgFwisVWylidrP7JfMr/3by+GVtw7Dh+WBB/Ex8K9+37bxE7pYiDYJ2g9f+cFhePC3Mqn84nF4cPij8MzT++Fa+R2h7vsjVVTkhwdc+9br4d6fi2hKtxsdpP7xexizT0JMwvGb4aXD34e/Fvf/Oj4Kv/iefJfjm+H2J16M2cnqM7c/aE8zi98H+bg9ee7qYAVwUiiZ0akeo/38r7ofJ560UbmcQmy57xR95QfvhvvHBYpjmr83c34rW3rVMdW+xqn4x/GT6uviVKsYesVybsJuSjN4026rm+OuO/5DrRDuh6/UnxYobT6/W39r6+rTz5rxGeIY++Td8FL5AeqrUZC5Bw+2HzzeDzd+di88lMenx1vmbq84N5VgOjHbuKL77nfqAz6uffuNdl7Gc/5vfwwf/uw79Ue1vajSfW/87G47r0J8yunvw50fyO1+nvPM+fLlH8M7N8tDRp7+Trh994/1XI8sH/3hsLGc/QOIrh/bEIAABCAAAQjsKoE1i62I9R/h0yKG8qR75mlpcaL466l7go7Dh3Xy1Nu49o3Xw/275SEHfhJURcWz4ZX/eLlO3nw81779dnjwuR8K6q/g3/txeKVOWl0MMfb/dLNYMfXl4/BbN2n1vq9+9eXwy0+9UJtZlRLb5bX+QKysJO61ByasS2xF14/en+YZc7p9WybTTsS4+Pu3bUVt5UMM+s5uzxfhwTtt0j5if+foV+Hm1oqtqGyVoNob3Dp3/JsmAuoY8GP0O+GnD/oxFs/RB29M87n2vdfDq2XVuf9DyBOwTVWa9y21+soPfhMe+ZWvuKJc/9DhchUGTz8bXv3osRsP+kfEpV87X8LxYXhu8gfYc/tr3zgIv/2fziw7IAABCEAAAhCAgCGwAbFV/H1xHO6XHzN+Rn40NE6I4u1B6fdrZn64tYb8RXj08dvhu99uTxvb+8bL7feVRFRNiq38F+7PPz0Mr1Qb+fdzfvHxcfiXn8wlv0psxVuO4qOmf/5ykByufe3Z8NxPPmgrbTXWfuPzh3fDL75/K3ylTuTKb/f8+vfhr0Pfy8VW+PLv4f47Lyvb+0G+vL9OsRWz9HkJk0//V/3QtL89r8fj9pyl2MqmP//0g/DqrfyEzDiJT7/H9M69PImvK1hOFNb9+ucAoj03Llz0c29PvrKVrf31P19pfyh4/lcD8fH38ODXr5vz4+rejfCVGy+HV/7vvfBo4g5DiTXX8Tthr6wQx1Xo/NtlLddebOXep2IrjuMq1vG98M6r7bxK9fnas+HG918P7//BP7pddQxfhEefHKa6tvOq1PbnM+flzPmSrH/5ONw/PAjP3WjXmsQyXqtmzlcdGdsQgAAEIAABCEBgc2LrPFmLCBt8F2x1WG2i+eQrLKu9XbYWVVjceDdMrVletpwvXz7tHJgSW5cvZzKCAAQgAAEIQAACT04AsbWSYZtoIrYUrP96Pez9W1x5mPtxV/U0wnU83luFw+Y6CbRzALG1Ts7YhgAEIAABCEDgshFAbK2saJtoIrYULPU7apOPvz6W70Hth+d+PXcrmLLL5hYSaOcAYmsLy0NIEIAABCAAAQhsLQHE1srStIkmYkvDUk90i09t+/hh+86bfwLevn9cubbD9vYTaOcAYmv7q0WEEIAABCAAAQhsDwHE1spatIkmYsvB+vwo3P6GPM1t/HrtGz8KH048pNFZ4+3WEmjnAGJra4tEYBCAAAQgAAEIbCEBxNbKorSJJmJrAOvLv4eHd+MTIttT/uoTJnlq2wDYRdzVzgHE1kWsHzFDAAIQgAAEIHBeBHZDbJ0XXfxCAAIQgAAEIAABCEAAAjtLALG1s6UncQhAAAIQgAAEIAABCEBgnQQQW+uki20IQAACEIAABCAAAQhAYGcJILZ2tvQkDgEIQAACEIAABCAAAQiskwBia510sQ0BCEAAAhCAAAQgAAEI7CwBxNbOlp7EIQABCEAAAhCAAAQgAIF1EkBsrZMutiEAAQhAAAIQgAAEIACBnSWA2NrZ0pM4BCAAAQhAAAIQgAAEILBOAoitddLFNgQgAAEIQAACEIAABCCwswQQWztbehKHAAQgAAEIQAACEIAABNZJALG1TrrYhgAEIAABCEAAAhCAAAR2lgBia2dLT+IQgAAEIAABCEAAAhCAwDoJILbWSRfbEIAABCAAAQhAAAIQgMDOEkBs7WzpSRwCEIAABCAAAQhAAAIQWCeB9YmtTw7C1b39cPW1o+n4PzsMN/f2w83D4+k23ZGjcHtvP9z+pB24/9qtcOczeW+P339tP1x9/jA8ksNb9vro8NYp4jsOd57fz3wjY/dPszmd/VWQLOP1+FgVw/Yc3/YxdipS6fzV59XISh4Hafxt3Tl20jFazqm569UAQRz77XzLNk52PRsY3dSuVOODcL/4G5/HkWNrMxfauP9cD46th8BRuL3J89GNoxCc/+74wqzj/ECdj4yvhdxMM3sdNIcm37j6TbZ70gOniW21zzMfJ2n89vMsM+9K59uS6/9Z5JxtbP5z142L057Xq0u4ooVl2NfbxbnC2qYOr1ls3Qo3n58SU00wnGxyYkGHVPDpSeG2T4T7gbKk9DMTw3JhaBPAJfZO2sbV4KTdL1n7bR9jp8K94ryKNrc775OO0Zlzagpg+WPRes+1KednsN99WA6vRbGNmvDOeR32n+vAsbUQOO/zsvPvxtmypPvzkfG1jNyTturq96QGJ/uf9Bo9aWijB9I4HP4BKo/Zk81nTx765upjYzsvvzaK+G5+3GxPnDbytYut269NrNykD/GDtEp1ssHpQKcLOWJLlzUNtoUTJN1v+barwfKOl7Lltp7cTwR7xXkVbW933icdo/3kbiW/HRBbcWKx9PrMZHjliNlIg/M+Lzv/iK2N1P2snHT1OyvDnZ2TXqM7A+eyA7F1LtiV0/lxs7nxq0JasLl2sXXnk3irYC+GIpDbn2Ro7cN8BNFPglqbPOjb8m62047H/AX8nXg7odxu526xSHZeO2y35olQKZOp2s/dvphX1Q7C/fRh0ux3f+n2dpR/maDcj7cTSnwDXraWnok9KjnHWyfFfr6NUtjkV/HX+Dc7ycZkPGInt1/iY/TX8XkfpXY1hqkV0hZz3EqxzPSxPv0tpvKXqaM2FqItVS/rLb8T3nNjLLX040DG2cho3DeapAwm+D6nvp623sN8zBi+Fe4cxtuA+/M2h1rGn+IsY36ef+53+zDfPhzHn/RrCKbGttRGbjnuY7BjbG6MRm+uv5z/piauTcxXjhtest/FKPVzbbuc3bgQPl07gZTa3wr52jp13bH5m7qZHNotgvY8FkZuDLhY9ViS/quuZX68ahtSl5uHq85BV5th/fw1xOUiPOtrtin87fg86Tl0EO5Lncot7sLH3NKexoaLyzOWekmc/nj9K7tjos5fz7y/RojxYsP4HOzTuck49+eU+Jfjq84DCaH85Vo+n66W/ITfqvEVPB+TS3ViN3wfd20a+27nTjSWGL92lF/l2ug+O5IdGav6ejKRswS5xP/Y9uA64OrQrvPT40dWE2pNXF4SZ3sVv/a8seNO2uRekuPK88PE339WWTviw8ZRr+Mt4MVbyX4953S3zG/+2iXxtH4nPjdlbJUxavMtdhOjdl2RNqvOnZxb+0zJ9ZoYF8mHPQfG/SXXJXxyW8/EfkZYhpLbo9H150Gea/jP0hynjV2iXNfr+sXWZwJYJkkxlQgrJpqhtRPQQsxJl0LXC6Zr4waVXBQEbi1a7V/sqYuFDJAWRwhywRY7MZbcrg3gPBm2k/HsTxWxXBi0ndSm+Bff7eTv4+uL75noFvZYsl9zzezMJKJ8yOjcV+dgazD20XPqGOgLluOkGaXsSpzahs46bndxu/HV2ZQPOD829AftgM/Yr0y449FBDTs7gzbe8OBi5sdll1PHqdS85jjg5NiLj/Yh7APL773vzF/VfSpnmYSNzZbzTJ1DsV2yJbbtGE9mOl9zY7Rnn2Mf1FBxEy71XOlYZ7v1eOGqPyiyH5Wbt1Hem3PUc6pthIcIcy1ebf7ZhOPmxpc9jwvzeu0Y+Shj6QTXMj9m5HrdXf9mz0GXh5xvZvK6YJx7rtWO4pranOIcktqrsd7xjbZTO+Wv1LaOIYlJ6uDHi1z35PiC9zKOp66lXZwy3pQP84cgN466GgsL1b87D6Zqoc6/FJepcX8eS26T/Do/cm3R507/WV99z+SQcxpcQ1QfsdPia/7bOdCPXek3dy2RNsZ2+YyrtfbjTcaL+izu6td9Tvbx9VjLOTN7HttrVIpfsUo2fbzD91EctHPI2pE42nGZt1UmffCzezJndQ2vrct4PEHOHevB+V3Nlw3fx+ZbGjlOOeb5sZnHr84rs5Px5P2aa0AdR4rz1LVslo/9TMnZlBrWa8H8uLFx+s+KaHG0r3Bb48sGxJZfXSkfMAmcLaZ88NqTwIOxoLsPK3dx6QdQu7iJn9HJMxzA/kRwAzrVybVJ/usg6Ss58t3n5Pt5Ju24nFQmt3oB84M29zMxuPjFsh3AtgaWla9ptODiXenDtZcgZl9tTH3T8XGb19ivbdNbTsfVh1Vq4XIc2nBtOstpfOmLnx+743i1HVPbekDXaGwj91MXztq3bZicJnKx/se+msWyNbBlxlg67mPztm29Tf/ReesnFEt8dHHmGOTDaXgeuz6Jobs+ZGZ28mcYFRvVTzlo6uGug7mJY+TGl2EUO8TjKrZRrDquHLcbr4a1rYn0tXG7GEsj08bFnZoUJjVex3nsS/bK69j3MK/CN9dgrl8bpx3f6NbwGU003Dnv2kvk+tWw8tde3XBq2/nIcd8KN9U1zowFVw/rv88xuZ2oTwupZzqsg4u18x0NrvA1rIvrk323WuY49XV0QoAM7dhzZBizGV+9+Bv5H/Jx1wFTN4G9guGcXX8NEpMyl6vnYzlgbdnrQTpW5yqlg4ktjwnvM+W0QmzZPv3YanGv3rI56PZju7a+Oudxe21xtG3tDebXsZPhJuPHjjvbRsc18jq4NiUfxaYb52LBshrna/MZxzHXxo8b23aQ+0SsEvO6XjcitmxRM/AsBjLYdiKMQPsCuTZuUMlJLmIjgVcThgwy2xS/vlgedh4wbWlVbOe83AA2hfT5ecvLTpS+V2GilpPr8r666MR+NjfHTgynmPMHSc7V5RTb6RPLXcBX+7A1XOIjt4nMB7FI3Pq1Gwf6oN/OHCqzeoG340J6+ZNX9svr6jE2NQ7G/sSuZV72mvElF5IpTpZ7tSt/hUrnxcSYWMDTcJlqb+JdkW8N0Mc9xa9NpGot67lu89JjVG9Xl3OT0pJD58PkFi25/Mw5UzyZPhN5mTYtwrqVjvuJ3/w5mvs6ri4+zyXWt17r3OSvxqI2fP90aGpcFHuV6QnOQTPuqn+bW4pldO1wOdfuacPVT+3zk8Z4qJ33dqxVmy731XwmxoMZV7lN5CafX0Iwq34AACAASURBVNVf2fB8Moupa4TvHd/bfPI40Pv0th93KyZl4m7VGB+cj2fDTwIYvzZW+fNexv/QtxkDejxo23ZM9XbsuNU9dR37frllG4P+s14suVrJbom9ziHa9UT7lWva/PhXRuvmhF9z7bJthjnqc2hqzOg2i+Y808xr+DMbKc7RtcWcp82A5TnIOdVg4TxH6lavlxN1n2VSYtNt9HYL3WzZPNx5P9Xf1MyeC2K8sysHJj8jBgwVj86eiUHmTMt513CecGMzYktfvFPikmiG1j40LMScmz8xXJuuyPZ4Al8nYELLFn14kpcCyWQgXXRd0VZPhm0s4l2/Dn13Oekecdsz8cfbe2t/Ip6UlxZb+YNGcm+vtm7jD6KRDxtvvlit8iEns2qnTqiWYdlKzCS+7mjakcaCfLgUW/bEtONCrNg2sre9rh5jmUnjqHKamTStHl8lhpS7slk5Fe6Ss3+N54Uf05KWGhOyy78aLlP8jf0xX283vs9jpNSzOx9cXun8LvvquW7HoT4PTNzKua3jAh8mt2jI5TdiYvrkGNv1rwRj2qgAZTMdb5Mj2W3Hi80/t3GMXHyaUZ5w6/NpZK96Thu2fznmapcYyzg85Tk4rp/NLY8fdU6Iz/Sq89I5uPqlQ8Wu6a/snuAcWs0nM159nehjkmtxDHnIJ9VBxV2vETr/tt3OhRhT5hX3pbGaxp9i6MZR598dT15WjfHBZ9zZ8Wt56liE++izfuhbWJdrTmOm7dsx1duxx3VPzbHvl1tqn+M27rw146BcQ9K+dj3RfuWaJmy613q91ZHHbedXDptrl20zjF/HNjVmdBv57Kjj2/rIYZTzZzJ2CXb8muI8I7GVPJia2K+ljCKw9TlLsaXO6YFj79d83qQcBv1NzcZj3dtN7+V6O/yMsDX148bbi6mkfaneT1b7AZbFuzYktlqyCUwd5Blam2xYiDkLD8e1cSeaP8kbZM3E+vXFii1HBesmpqMBZgaX9aMjkO2R7zyI28VP2rZXz6Qd8VvWvmMnjRXD1H54IZHG8dXaWe3DxrvMh/anhFcdO6PjM8xMXVpfW+ccZxuPuZ1t0/rK1uoxtnociC3zunJ8mdb5Teoj92Zb7oPWXS1rGzUm6j63YbhMtU/cpS5jvs5sfqvqZfzEo0NfPtfpMWrHq3h3/Zf4UDFmKy6/ZMN9AJk+E+PCtJH41Gs6Lkzbfnte2fx1fPWv1C4+wyX6qBOW2Hsi1uberaKXA5rjRF62vo5hMaPb6O3m3tbPsmit5rdGvq3dcf8R636cGr5iSPNZwFi6tdcSn7qjYcyn9cjnj1wj1H61WWNV40D2pS/Z67HhxlHn3x1PbibGQguh5y7+px+gsHqMNvttq4s3HnLxDX07QZjsdJ9PNqbeTp+nRKbt9f1iK9t33EaPTdte/PjrqeUx0ad2ntrQflWbwXiXPxQM49ftXU2qVd3mIoqtmohcM+bPTVufsxRb/WeKDs37zeOmfL65GtR+qWZiN4+l2fnVRI2tbzu2/LixbUskKT55aJG+Y6NGuvaNjYmtBGQv/+6WnFz9B7i9MOXs8746QXATfX+hEJviYwjeFdQXSy5iflDkHFShpIC6TMb26gtV71tOOBmg2rhsr7YrLa19zzK3Mm0mThrTxtVg7lj24OJd5EMyaK/WT9uftgx3dyy+HdWq5NG+dLzgYjAwvXqMufyrDXvRqLtlY8Qp7VNjUNqqV81pGJtZgRnHlmyoCZwyXzeN7Qn+2Y4IjjHfatBsSFz9z0Po/GqX4n/qOmH6jLjKWCiTJdNenHgfXc4uv9GYc30SQzdBy8xmalxs+OuTtbXgWuri0znHbWtf6jH9I/W6vyAz12fnL7cp16Q6eXcMiyEz1kZ2fG1Sm/4aOoyxBrvA97DtmE3ypc6h/F7OhWzIthnb8Z9pNYS6Ya8jhlVtYzfmOYjYuBXiT7fUcVCYdr+d6erR+XfHUyTuPLDRxXc9i2HMps59n2zX8rG+cp+aYzmY69LOQVsnsWDtprz9HypTnm0cjnLoeCXz2bbEtcT/yLYdOzZeySLH3WL08fj3ud+Ym9gUv+16nI/YGG08OcfV54cwEV8+/jkfOnYfm9hb9TqKU9sdxlevbzbnkS8bf9/C12MUT97Xajq0qc+dlefjYAFCn9cT/W1s4zFj8tE2a+qZWZunWYY+N2PP2bj9WnzKsh1jtcmaNzYmtuQvRTbRDK0NznKxrAOzFDguKdYJiQVtPswTLHs8n4i6f+/DFyuayf1UUcpgisvoNd7RwPCDLrVpF+1oWw/Ake8+Jz8KSg6ViT/e3lv7mU3MQcSo1KW+n8m9tbGMRz5a2xhLH+8U39yvby8X78q+pVi3Opvab6mL7l/HRj35sl/dJhpP7dSYrA7LRrVT61Hi132m/Os23nDXx9dvCafSp8Zmx19y6cdo8auf8ORDi+89l8yhXeBlbDWeY74j23FfPk/irU/KZjzg45U6x+tE5Tk3Rvv6dDVc4qNwamPd5ZdsqGtIjN33mXjf5awhjeqTfGlOS3Ns8bXzOPbVtorzjonUKNto/VWwOq4SdxsPcp2NNZY4HMNiyo61klsd0+W9vjbL+Kx2B+xVmHlz7FuuPe0zyOad+i6po+c3quMUIxnXmmeJP58nws+fl55V7JTPDV2HYkq9NKZtfMv1x42NFNOUfzlf2/HkxPNSnvNmH/fK8RU7ruLX+ZExqOKrdWmf9Zmxvr54zmJnMNeo47SMG6mlxCL+VLt8PWoxLfE/5GP+MFqYav9lTOo5gT3XYpALPkMkl/oqY2VurpHb1PG15Pzw47/G71jVHJ2PFF8/tmrYCzZyLZq/1iXb9eeV5anjGcWRj3sbzUc/7rrPQxlP6nNzODYcSz/m/LzN5tGf17m/ujZ05+ICPl0fdV7Va7lm2J9TXZwFXo5Pn5+a6vq3Nye2ZEKkLihyEtuBlUHKvcHxWIJU+1nQdUBUQWaPS98KurZrcIcDUeKN7dO/OIhKbBJLGqzupCuDpV5Aops6+MVW6zP07U6CFqlsjU5SOWZfrf0c/83Dw/Rj0sLYxFq6G15anKXjlvHIh7U5jnfeR+lT+S87SVIsU33qhbnU4bWjMqGXC8SCi4HFm94tGWOpoR8H9QNhYFR2mZjbGGx8l3Aq47ZyaeNP3MgFu4712d/Zyr1S3i4Hz7/FGfuM+dYY/Ibwcj5iM++nXicWXpAlFjkHrspv38i5vciH+iBIMbr8TnV9kN/PkjHpobTrif49qLE4s3WvjCRHF187j2O/wRiJoUhNBmOp9VcxJx8qFzOe8zmdayltHMNiqh9rdtzLb9vYzxJVnxKvHY8qzrQ59p1bWZZNHCobhk3/+z+xpR23cluL5F5sGTt2gp9aeIZqUpWOq/45X8sqjXkZA8Xl6CVfn/U4KHb8+ejGkR4jyb8/Hp2VGGfrUfPMfBaNL2W7nts+3i5Zzyf6K/UunHLdDsId/XuYzq6MUfN7i47zMIcUjxtfzvYS/2Pb2W7j7PzE87zUop473fiJAQ76dRz1jtx+fq7hY1t4ftRxUf5I48aX5dD7qNf+WptRG52L3ZZa3Le7Jz/fZFzY3zqVzn7srZ7nWHvZTo5JzS9TDdt1xTIpvhO31ibutXZcLH5cOO6j/m3cxaM51zrOShhdPqa+o88IW68uNx9n8SNzHBuTHFz/6/rE1vpjx8OJCeRB6gf7ic3QAQIQWB+BwYeYcVY+TM7rQ8PEsjVv7AfwVoQ1mMxsRVwEcWICeRKqhWdvops09k1OvWeJ/1MbX0vHzc01usn2WvLB6EUncN7nEGLroo+gE8W/uQvgicKiMQR2ksBopaDsq391HYDZcbGVPzRHf5GdnwwPSK53F2JrvXw3aH3JRA2xpQuyjrlGtqlv55UVN/6ArNmz3RMYr6r17da3B7G1PrZbaHkdF8AtTJOQIHBhCJQJRL0tz926Mcpjx8VWRJImtprZ1G2PI36b2ofY2hTptftBbJ0U8ZrmGuoWMblNFKF10trsVvv6WTH3B8wNIEFsbQAyLiAAAQhAAAIQgAAEIACB3SOA2Nq9mpMxBCAAAQhAAAIQgAAEILABAoitDUDGBQQgAAEIQAACEIAABCCwewQQW7tXczKGAAQgAAEIQAACEIAABDZAALG1Aci4gAAEIAABCEAAAhCAAAR2jwBia/dqTsYQgAAEIAABCEAAAhCAwAYIILY2ABkXEIAABCAAAQhAAAIQgMDuEUBs7V7NyRgCEIAABCAAAQhAAAIQ2AABxNYGIOMCAhCAAAQgAAEIQAACENg9AusTW58chKt7B+H+hWSaf/389iczwaf8boU7n820WXAo/br184fh0UTbVccnuq3eHX+Jvf6i9nG48/x+WNcvsT86vBXk195nmdaoLf/Uf4ZR7XbKjXXbXx7WeuqwPfktJ0FLCEAAAhCAAAQgcBkIrE9sXQY6czlcaLGVJ/VXNyG2oqjb2w/LRJYA36zYEq/n/7oesXX+eREBBCAAAQhAAAIQ2E0CiK3T1h2xtYwcYmsZp9QKsXUCWDSFAAQgAAEIQAACW09gfWLL30ZYJt1yO9mqWwzl1qf76ha0rk/08fxhuPPafr5NTd1qlm6/2yv7zcqKX9WRGumJrl1ZSS1SPmLvVrhzGG+TtLcRppiHPsVHCCYuiV3F3VrmLbmNsOYY7ev2E2ImxzK6jTPnZusguR+l2wnrMe2nBLYkx5qDYWbjNhxMfWJvy1/Ggr7Vcrp/7mtviRzsU+PT2hff+bWyqKuAkl0ZR1Lv1w4zu66dtB/btXFKHY5zJxWjWAmjertz6/ahXU08VX4ztYuxJP6TudZo2YAABCAAAQhAAAI7TWAzYmswQRQRoSfQuhJ1Uq8m/HmCrQSETAjNpE8mwX07uZUt21bHo+MUo4gnmRiXiIof6S8TXi22sk3pL/bs96B8/KMcNYO4nfvsB3/LXxNcJd8RA7NPW/Z9hJm63a/UTIuBJTlqL2m7q734Uvw931mxtbp/YqZzH4yTlEsZW3pbhJ6ubejim+bX6uRJNPHmx1FjnO3W98mv4hRNep4T76NIFD8nzi/5VWM5+Hx9bryHAAQgAAEIQAACEBgR2IzY6iZvo1Dsvm5inw7nCaudjOpJYQh5Yuz2iWgR4eYnqCGE0YQ0T1bHE00bn4urpJLblMnywGeQSazEZRGkd16gpZ3OlvETG7jjvVmfk3+feyTfNbYFOfaO+lgmxsLI11AsLOjveUTbN5+/pVYEc74yjlL72TwdnxTDWAStFFtaBMq4qw+SsXHlsTz2I2wSt6HNebElueeS2fw8v1FZ2QcBCEAAAhCAAAQgsJrAZsRWWamIf223k7zpAO0EuLUzk8vBpHdyomgm6XZyKasZLbYsLPKEVm+3OIyoM7ZVmyR6ivAbxBpbWpGh+pZNk2897CblTlxNMnD9mzBw9rRvESFLcqz21cbS2Ix9y1yPhcncdH/NPQnaW+HOJ/HWulILc3xOaEsedryMa2bbSM/2anOq+00srg6jMWN4Zptt3Barps3J8xOxrlfHarxsQAACEIAABCAAAQgsJrAhsRXjKZNR+Y6Lus1pFK2eYOvjRnwMJqNT/Yw48isKeqKenKmJsZu41lj0JDn1l+9z+dc8wZ8SCZPxFkcm3+rcTcpFtKUVjlWT/mjEt+ntxVZGVCzIsYanNxy/yXxNDRR/qVURfcv6q3yi/9Q370sCOvoSEensi/CWlaOciuVluNRcbZu6u27YnOpuPY5KXap4SkzmVrbWJLZScNl2/c6aCNUaOBsQgAAEIAABCEAAAqsIbFBs6VDKxHRmAjeeVLsJ7WAymvrV27KUT99WiYB+8qwnxnrb29OrVmVbNTGb3n852Ps2vSYeRDCYZIt9lZe1pN85jn6SP4ot2V+Ro3Yh2y6eZfWxzPVYWNZfPcAhxl1us0usXzvqmGr7Gxdbhmuuy3aILSlgfM316B5Qo5uwDQEIQAACEIAABCDQETgnsRXjsBNqH1meVPvJvesjAkN3NpPXdqAXNSI4DsLt7vZG7UfaHTVjshoiYtEJitpQxzdsU2yrVZbat2z0cU99J6vE/NqSH5P2OeX3dZI/8j2MX74j51ZfdBK+36L6aP7uNrhF/Vtct1/z31261f3u10nF1tx3qUTYaQR5O+fkj1vfrg6jXNO+lpMISO0vnzutjfVh2eZ+fjxoa2U71dGfj4N27IIABCAAAQhAAAIQqAQ2I7YGk8Y8IZyepMuEUd/u1QmPZNfbKBNHvbrlJqiSffUhokkOeCHo+xcBoZ9Yl23pyWie1GoBk+JXcVX/q8RWvPWyPgSh5Dfok+3rtjUht+En1/m9jjV28LyX5Ogc9Q/IkFsYFYcsXpo48EI8+a35Lq1vETe6trVudsxY+0vEyJjf/HcSJR6VpxeifoWxHG91WWCj5tjG4knzy3W2jPxY6OrMDghAAAIQgAAEIACBjsBmxFZ0WwTL0u+AyITvjv6drTrhLnkMxVY+VoVH+o5Ym3gaAjIx9Xa92OriX/Y7W22S3LyauJb+zpbc+ibfd6vCq9lNW14UusPmba1HZLNMbMX+uS7te2mjHI2fTlDko4aDFkTpsBU8Viws6R/bFEFkalvEiuNn7Vvf2ZsXV8p+qcnNw/wbZdM8st2bh4dpJVXOg9F3w4yNWqfIPNZqEJ+MYxnr+mEgUrPKYdBfWCkuvs7+FsJUP9U+c+L/EIAABCAAAQhAAAKawPrElvZyiu082bN/XT+FmZ3qArPzLPdIxOh4RGyVHyzWh856e+aPEGftCnsQgAAEIAABCEAAAtMEEFvTbC7YkfHq1AVL4kKEm0WtXS1dLXTXIbZGq3ejVbgLgZUgIQABCEAAAhCAwKUjgNi6BCWtt+RxW9fGqlmZy62d+jtowyjWIbaio2xXbktMr4yDYQXYCQEIQAACEIAABDZNYGvF1qZB4A8CEIAABCAAAQhAAAIQgMBZEkBsnSVNbEEAAhCAAAQgAAEIQAACECgEEFsMBQhAAAIQgAAEIAABCEAAAmsggNhaA1RMQgACEIAABCAAAQhAAAIQQGwxBiAAAQhAAAIQgAAEIAABCKyBAGJrDVAxCQEIQAACEIAABCAAAQhAALHFGIAABCAAAQhAAAIQgAAEILAGAoitNUDFJAQgAAEIQAACEIAABCAAAcQWYwACEIAABCAAAQhAAAIQgMAaCCC21gAVkxCAAAQgAAEIQAACEIAABBBbjAEIQAACEIAABCAAAQhAAAJrIIDYWgNUTEIAAhCAAAQgAAEIQAACEEBsMQYgAAEIQAACEIAABCAAAQisgQBiaw1QMQkBCEAAAhCAAAQgAAEIQACxxRiAAAQgAAEIQAACEIAABCCwBgKIrTVAxSQEIAABCEAAAhCAAAQgAAHEFmMAAhCAAAQgAAEIQAACEIDAGgggttYAFZMQgAAEIAABCEAAAhCAAAQQW4wBCEAAAhCAAAQgAAEIQAACayCA2FoDVExCAAIQgAAEIAABCEAAAhBAbDEGIAABCEAAAhCAAAQgAAEIrIEAYmsNUDEJAQhAAAIQgAAEIAABCEAAscUYgAAEIAABCEAAAhCAAAQgsAYCiK01QMUkBCAAAQhAAAIQgAAEIAABxBZjAAIQgAAEIAABCEAAAhCAwBoIILYi1KM74cr1A/vv4IHD/Ti8+eJBeOq9x3X/8XtvhZeO6tvw0cFBuPLi3XDcdrWt47vhqesHpn07ON6K9q9cvxM+Gh+e2Jvj7PKJ+U3FNmFprbsT85PmViIqLE2O25TbWsFhHAIQgAAEIAABCEDgohDYcbElwsRP+h+El5L48vtVWQfiaavE1oRY3BrBdVqxVYSxFrmxKon9iYWpqiebEIAABCAAAQhAAAIQOGMCOy22ZsVRyIJLr2QZ9hdObMkK3oyANAmu+c0pxVaqWSckY6wr6rXmdDAPAQhAAAIQgAAEIAABT2CHxVaenPsVEg3oo4N4m6DcNqhuIyyrK/U2tjL5nxVvXpyNxIZrI7cRvpluJ5TbHFeJpbJaNxIk3md8/+Ld8Ga8/dHcZigrfuLzIFwx9oRdfvUcGkN3XK88SSzptfmZq0cIM7k1p2prxn9sJTGoHmFUg4O76RbSlKfikFfTpmO3x98Kbw7vL9XO2YYABCAAAQhAAAIQuEwEdldsjSbas5VVYiu2c5PyuGs9Yst+1ypP4OcE15QgyfuNmBGhowTEUNCUXNsqn4gYJSCKrWq/6xOCiMf0HTTxrb5rtTo3sREFzhyDVh8tEjv7ozHg6ppjtt/Vq4xU7H48jH2d7Dt7s8ORgxCAAAQgAAEIQAACW0/gwoqtPz38S/jWCz8MV/f202t8f5L/zMR/UceFYss/aMO9r2Jk8URfCZoUZxY6Tfj44IvYcn5l9cn0SzE4+0lsuH3ditIoBivyEl8tRnyYk75XCxIRQJJTfDV5TQpfF/fiGjhhN2SkEnSCTY4kATbHRBryCgEIQAACEIAABCBwKQhcWLElQiuKLRFcJ6nIWGyNhIpMtBeKranJtJ+AL53oD+ylSbtZjdKZW9Gjj+TVFiWkRjHoDiXmKmqqzyxaqnBMfbRfva0Nqu2Rb89INR9vFj9VWEpu0/6N4FkQw0g0jsdOi3Dy+Mhf68YWBCAAAQhAAAIQgMAlI3BhxZaILP16otosmPjaSXOewNcVlIEwMBN5H4xvP/Lv2owm+tHsacVW9xCJUQyyiiUCJgksL16Wia3KyrOI70e+Xf6jbpP7St9826CrlepkarQghlENRvuUi3K7ZPsuVxWriamId92DbQhAAAIQgAAEIACBy0jgwoqtJ13Z8t+xGRV3O8WWFz4+8rnjC26jSwJEVojEtre5TGzp70uJpfq6QOjUtgs3mpDy8TYDRqguiGEkrOy4aLZla9VxaccrBCAAAQhAAAIQgMDlJnBhxdaTfmcrlrVNzsdFtpPmPIGvqzWDVZhZe779SNSkfe07S9a/xOgEk+yur9NCQ1a26u1/A7GRfPpbF82qUXS0SmytZnuqlS3PsOacN7SQGtfCsVtaA89j1E/HMnF8yFb3YxsCEIAABCAAAQhA4FIRuLBi62yqUITJ9YmVHPPghTMWW0U4VPFWBEy85UzEUBZbZ/U0woEAGoitLIJaDPXJe/EWuCo6VostWTls+cmtg4X1yPcKMRVrnkRUVy95+qCqYycQpa+6jW9pDWreMurKuDH7rZDLcfa+pLZiiVcIQAACEIAABCAAgctLYMfFVilsmvi779iYiXRs58RWnfg3ETJeTSk+RkLC+I1CwYoYWQn5SP/OVheXH5wiIF0+RizpvJUgkFC1vyI4rXiwceZuxW99iEbcm9u17ywpMXRKsZV8GW4lzyEX53/UxtiarsHoJ7Iyk8bZCEs9Psr33xBaZYDxAgEIQAACEIAABHaEAGJrRwpNmhCAAAQgAAEIQAACEIDAZgkgtjbLG28QgAAEIAABCEAAAhCAwI4QQGztSKFJEwIQgAAEIAABCEAAAhDYLAHE1mZ54w0CEIAABCAAAQhAAAIQ2BECiK0dKTRpQgACEIAABCAAAQhAAAKbJYDY2ixvvEEAAhCAAAQgAAEIQAACO0IAsbUjhSZNCEAAAhCAAAQgAAEIQGCzBBBbm+WNNwhAAAIQgAAEIAABCEBgRwggtnak0KQJAQhAAAIQgAAEIAABCGyWAGJrs7zxBgEIQAACEIAABCAAAQjsCAHE1o4UmjQhAAEIQAACEIAABCAAgc0SQGxtljfeIAABCEAAAhCAAAQgAIEdIbC7Yuv4bnjq+kG4Mvj31HuPTfmP33srXHnxbjiWvbHvwQN5Fz46OLDH65Gz3HgQXrp+EHxsJ/bgYu/7Pw5vvjjmYhj0HTe75+hOuHL9TvjoNF5Htdf1PY1N+kAAAhCAAAQgAAEIQMAR2Hmx9dKRI1Im4tOipoiRCym2+thd9iGEqTZl/7aIktOKrdTvIPi6J8F8WvHWQ2QPBCAAAQhAAAIQgAAEAmLLi60Q8kqVElN2nPRi5OKsbPWx29ziu5k2pxU4vZMn33PKWFKthrU9o5XDJ88MCxCAAAQgAAEIQAACl4QAYmuB2Gq3EeYJebv1MN/GJmLrzXg7odyWaFaAsoDxq2XSr96eGEJIvsSGuW2wFwPSVtuVfRJHW8EZx96P4xOIrSh4Xrwbat4152JD5XHFCJwcy0tHLibTJkbmjuuVJxFb6bVxb/n2mc0KyVHzOf+xvcSg+5aVUYkj1ePgbrs1U+WY6q8YSR8xZ4+/Fd7UA0Ua8QoBCEAAAhCAAAQgsLUEEFtebKXJsv0uUJoweyExmjTXfUVsuD5aFMUR4cVWnlxr31ls5H56u4kyPUHPQktNyrtbImeEVB2iU23yfu0vi42DYIXUoH8Xh4goFWsRTdV+10dyLnxEZFXGhacWZDWnttHEqObcjtet4l/n1tVnqdgyojl6KIxU7KH4k/zHvvrbH2u8bEAAAhCAAAQgAAEIbB2BCyu2/vTwL+FbL/wwXN3bT6/x/Yn+k8m0WlmQ1aAr15UIkNWmOjHuxUQ3MY6BmMlz7jMvtrIAkcl2n4sSW16YpMbquOqcxYUIiz521bRsljZDLu4BHSkOyyrn7faJuKhidBSrjc0K3D7KLPScH8N80KfsaoKrrYjN10ZsubgXiy3hLwHEh7O42MVFfJ3II42zOg51B7YhAAEIQAACEIAABLaRwIUVWyK0otgSwXUiwBMT2nrrmprU2om/FQXRZ5oEVyEhUeR2eRKvt+W4W9kaCZfWtN5S99SLb6VbFb04GIqP2D/lKRP7PnbjIr2ZbpNFpdiauI1OGyyMq4itjLJoscJS+9Xb2qDaXiB0VOuJzeKnCkvJbdq/ETwLYrBjJ4eRxZ4TYCrCyeMjf6ofmxCAAAQgAAEIQAAC20XgwootEVn69URoJ8WWiAiZeJfb16r46ifiZye2pifgVQTGW9KS4GrxrnO3ogAAIABJREFUpbzTRLyt1FSBk4SEtO1j75nNtVmwsiOrWCJgksDyNpeJrU5Q6mBHwmOuprrvaFuEoYp35P/MxFYdT30wWWxN1XJujPS22AMBCEAAAhCAAAQgcH4ELqzYWt/K1lmJLS1Mstjwk/d+4i6iaDQgenvmd6+S+JjrH2160TPyM9dGxyCc3OR/GIe3uUxs6e9LdZGetdiSFcokgny8zbsR1gtiONOVrRYGWxCAAAQgAAEIQAACF4DAhRVbZ/WdLXsrW6mYm0TbCXM/ETeiSYpuVln6PlX4yAqHaS9G9OtI6KgHJkz1N7mM4tA+4vZcGyeSjO1sx7Iqts2qUdzn7KRm1u+QaTGXXga+p77rVLtNMSoNtJAa+x/VwAncFFery5BHauP61SBFxPbHh7Z0P7YhAAEIQAACEIAABLaKwIUVW09McXLi7SbUix+QoZ/KV4SDCClZNVFPyksT53ir3UwbK3z6uJIg6GzqSbrvYwXNmOF0m06AjASPExs1B5NrjssKXee31MesBmqRMvI9WdOWaWamGZVjqa/aX2zp1TXPW8RdizHnFW/hlNzGAqkfHyJAxdaUL7HbMmILAhCAAAQgAAEIQGBbCey82LLfbcrfk5EJrxStmzAXQSFPLUwT44MH+UEZ5rtKYiG+lgm2Ot7ZFWEnbeKre6iEiW0gCKqIKzZM+xiGi11HmLddnDoWJQxT25HgGeQQY7DiYYHYSg6aeMl1UmJo5HuB2Gpxu+9E+dxG/kdtKs9oL8ZncxvVOJmuArzF4WuVmbXjCC0hxysEIAABCEAAAhC4GAR2V2xdjPoQJQQgAAEIQAACEIAABCBwQQkgti5o4QgbAhCAAAQgAAEIQAACENhuAoit7a4P0UEAAhCAAAQgAAEIQAACF5QAYuuCFo6wIQABCEAAAhCAAAQgAIHtJoDY2u76EB0EIAABCEAAAhCAAAQgcEEJILYuaOEIGwIQgAAEIAABCEAAAhDYbgKIre2uD9FBAAIQgAAEIAABCEAAAheUAGLrghaOsCEAAQhAAAIQgAAEIACB7SaA2Nru+hAdBCAAAQhAAAIQgAAEIHBBCSC2LmjhCBsCEIAABCAAAQhAAAIQ2G4CiK3trg/RQQACEIAABCAAAQhAAAIXlABi64IWjrAhAAEIQAACEIAABCAAge0mgNiK9Tm6E65cP7D/Dh64yj0Ob754EJ5673Hdf/zeW+Glo/o2fHRwEK68eDcct10n3zq+G566fmDsLjGSfPsc0vs74aMlBjbSpme43G3ua+v0VnjziWAv905LCEAAAhCAAAQgAAEInJTAjostmcB7QfIgvLRKqAxE0bmLrYHQyyLM53fSYXJW7U8rtko9vAAuIlkL3rOKFDsQgAAEIAABCEAAAhB4UgI7LbbmxVGe4OuVLAP7goitkOLclhWgU4qtJKrGgnG+hqZivIEABCAAAQhAAAIQgMBGCeyw2Mpiam5V5KODeJug3DaohIK/7bCsuCyb+MtqmrptUa/YiIh7L99OKLfNzcUZR8yk705sxbzfCm++J7dONiGWbOhbEc1KmeT/IN1OKXGNbpuMt1fW49f1rZfLbeizINsbiy3dTran/ccWo7qXmtQ6TDOatx2CP76qbhIzrxCAAAQgAAEIQAACl4/A7oqtmdWScZlFKBTxJaLoRN/Z8pP6EPLKkxIkxe6VKIjk+0gLbpebEltxv12dy2LjynUrXvr+pV0VICV2/X2yEqu2nwWbtp3t5DbLbHT8K5PV32XL/hW7LsYcjxVBvi4zjAw3nZsIrTnfXWbsgAAEIAABCEAAAhC4xAQurNj608O/hG+98MNwdW8/vcb3J/nvpKslIeQJeRUWZRKvJ+29YHERpT5qMp4Ou4l+Jw6yjVW2s8hQq2V6haoKpmjLCoRsfSRA/GqZizN3dCtqYzulaRCGV0w83k9rbbYKF71i1q2qDWoSbdhaj2L0uS1n1GIc9fG+W2u2IAABCEAAAhCAAAQuP4ELK7ZEaEWxJYLrJOWyE3DpWSbdWqjUlYx87InElriJr148iABJ+70gkycm6hUjbWxasMhtbU0UjsSGtpWPV1FTbyV0+ZcuRgSmFbhB7NX8Ahu17fSG5CQx1ppM+TcibJR/qbvUYHSr4ZRtCXPq+FQ9pR+vEIAABCAAAQhAAAKXlsCFFVsisvTriaqUJsfT4iXasoLMCQUzgc+ejfAYBlMm9SLm0uTeTfSnJucr4p327eyPhIR850viKgLL2nT5l/xMmxUxyspWFUcjG0NuUzuFZ6njlH9TqycRWzPjJfmeWFnUt4ROpcJ+CEAAAhCAAAQgAIFLR+DCiq0nXdmSlaW24tPX9szFVpqQ+5UfJ4YmxJaNpY/ViB5z2NkfiS0jRlpna3Op2PL5NXtnL7Zkxa/4HPKVVUSJ60nEltjQOZXtKd+DpuyCAAQgAAEIQAACENgNAhdWbD3pd7Ziea2Y6AtuBY4TGwOBsshevS2v+Ct26veYBnaXxDrt28U9EltJKPhVm3I7YY3X28nxG78TsTeyC2y0xmUr96l8/HEd+4R/W8ecl11dK7nO3UY4YbuGM3Vcx1cbswEBCEAAAhCAAAQgsAsELqzYOpvilIl8d5uX7NdP8nNCYTC5NsJjFGCaeOsn6jU/9WEPxe5ZPY3QCo0Y1GBlp/jUAiTlkm4rFBHm8i/5+ZxzP+kTG5Uc1S2T2k9s4W0U0+2lcPP9xLben/2rFagutxJPFZHFf8x1TmxJnPU7fD43ue1U+S6sdXwtKbYgAAEIQAACEIAABC47gR0XW6W8ZTIvD1xIr2oynlv1YiNP7A+CCKX6Xr77pF5lwp3FT/tuT9yf+xWBksTBW+HNI/07W3oCPx6S07618Il9B2Ir7vYMDh6U76yJ7z7/2C35dax8jk3ELLfRZ1lWnxRTI0hVB++/v1XU2qo1WCG2ogtvu+WWA/DHpe4qPDYhAAEIQAACEIAABHaEAGJrRwpNmhCAAAQgAAEIQAACEIDAZgkgtjbLG28QgAAEIAABCEAAAhCAwI4QQGztSKFJEwIQgAAEIAABCEAAAhDYLAHE1mZ54w0CEIAABCAAAQhAAAIQ2BECiK0dKTRpQgACEIAABCAAAQhAAAKbJYDY2ixvvEEAAhCAAAQgAAEIQAACO0IAsbUjhSZNCEAAAhCAAAQgAAEIQGCzBBBbm+WNNwhAAAIQgAAEIAABCEBgRwggtnak0KQJAQhAAAIQgAAEIAABCGyWAGJrs7zxBgEIQAACEIAABCAAAQjsCAHE1o4UmjQhAAEIQAACEIAABCAAgc0SQGxtljfeIAABCEAAAhCAAAQgAIEdIYDYioU+uhOuXD+w/w4euCHwOLz54kF46r3Hdf/xe2+Fl47qWzYgAAEIQAACEIAABCAAAQhUAjsutrKAunL9TvioIokbD8JLSXz5/arR8d3w1PUDxJZCwiYEIAABCEAAAhCAAAQg0AjstNj66OAgXHnxbjhuPNRWFlx6JUsdDAGxZXDwBgIQgAAEIAABCEAAAhCwBHZYbGUxNXcb4EcH8TZBuW1Q3UbobztUtxzGWwv1LYm9fVlNU7ctqv62PLyDAAQgAAEIQAACEIAABC4qgd0VW0kwzdwm2FVUia14bLCylYXWW+FNWSorbdrqWBFaWlx1bTrH7IAABCAAAQhAAAIQgAAELiCBCyu2/vTwL+FbL/wwXN3bT6/x/Un+y8LoLMXW+LZD4ycJKyXGUsADAXaSRGgLAQhAAAIQgAAEIAABCGwlgQsrtkRoRbElguskhI0Iqh0Ht/jVh2esWNlKK2VeSMkK2NR+biWs6NmAAAQgAAEIQAACEIDAJSNwYcWWiCz9eqLaLLiN0AqyJWJLiSfzKHkRW07MpdsJyz59a+GJEqExBCAAAQhAAAIQgAAEILCNBC6s2HrSla3Rd658gU4utkRUeUvl/XD1C7E1QYvdEIAABCAAAQhAAAIQuNAELqzYetLvbMWqzT/6PYQTia3BAzPSyFAraMmef9R86XeFla0LfSIRPAQgAAEIQAACEIAABDyBCyu2fCKney+39fkVKdl/EPyTBOv7gbjK4kzbcg/NSMJL/xBy8zP9e1+ny4xeEIAABCAAAQhAAAIQgMD5EthxsVXgFxGkfx+rFz9ZGFWxJStj8btZarUqC6723S3dPnobHU8rbPVBHOc7IPAOAQhAAAIQgAAEIAABCJwNAcTW2XDECgQgAAEIQAACEIAABCAAAUMAsWVw8AYCEIAABCAAAQhAAAIQgMDZEEBsnQ1HrEAAAhCAAAQgAAEIQAACEDAEEFsGB28gAAEIQAACEIAABCAAAQicDQHE1tlwxAoEIAABCEAAAhCAAAQgAAFDALFlcPAGAhCAAAQgAAEIQAACEIDA2RBAbJ0NR6xAAAIQgAAEIAABCEAAAhAwBBBbBgdvIAABCEAAAhCAAAQgAAEInA0BxNbZcMQKBCAAAQhAAAIQgAAEIAABQwCxZXDwBgIQgAAEIAABCEAAAhCAwNkQQGydDUesQAACEIAABCAAAQhAAAIQMAQQWwYHbyAAAQhAAAIQgAAEIAABCJwNgd0UW8d3w1PXD8KV2X93wkdLGB/dCVeuL2y7xN4ZtTl+760uv6fee+ysPwgvXT8ILx213R8dvBXePG7vu62U75idttP12+iOx+HNFw9Cn++SIHJfOzZWMFliljYQgAAEIAABCEAAAjtHYDfFli9zEhCnnFBvndjKAurKi3eD0UwiMP1+zWIJh6k2ab8Vbtr0ZrdPK7YKu4MHNtytys2GxjsIQAACEIAABCAAge0lgNiKtZkSEEvqlvpuy8pWWZXxYkHyKIJrcgVqCYfJNqcVOBLcWb6eMpaZWn50cBA6AXuWIWMLAhCAAAQgAAEIQODSEUBsxZJOCoj+NrsQnKAZTdBlFUluUxyInzR5l+Px1aw4id+y0lLarbwtLvmdW6GLsd8Jbx7L7YTiJwR/2+Gkr0lWXuBE22+FN9+Lt1nG2w5VXMmGvhVRHSt8n3rvQboVsN7OZ/jk83A6ZolltQ19Rmd7y4XztP9oVWIQ1tmTFW3TjOZt9/WaFNA6QbYhAAEIQAACEIAABDZKALEVcU8KiCZGWlXyJPqKCCgvtorQamKltFdiwU64o+Xsp9qU9/r7VJ3dFpFspQm68iP7p19dfpMclIWpNnG/8V1y8t9nG/TPwlNETuG1InfbJ8aX/WXuy2yorPKmEsmrxEv2r0RiV58cQxsH2YWt/ZjRfG4itOZ8d5mxAwIQgAAEIAABCEDgHAhcWLH1p4d/Cd964Yfh6t5+eo3vT/3fQABkW06MpJ1lIj8htuxkukRUJuJ5Aj+yGYLtVybh4kPMpIdeiCgpO9WLtaEOTG66WCY5KAOpjV6V0ts6tmx7KDZcXlbsOr7Ftc3Nxa3Cy5tLbHSd8g4luCZX1Uw9mx27MrZcbFlGq3Ibc7W+W0xsQQACEIAABCAAAQicH4ELK7ZEaEWxJYLr1BgnRcZo4usm8qmviIzxRHjqljJZjekn9SO/IYQ0yVcrGi5hK0jkYLZVfZhbFp2fSQ5ia2YVUERKFVLOtjIhmynecotku81wgUhZGecCGxLEzOvkrXxT/o0IWxLDgNGUbYlz6viKsSHdeYUABCAAAQhAAAIQ2ByBCyu2RGTp11Njm5rAllvT7C1lq8WWETZVTLRHkRuRUW69s0JpMAmPya2YUC+5jXDWzyQHRXamjV1dmcgh9ZfVsCIcjc0FIiW1F4GrYqubC2zUtks2Ss3llsgp/2cmtmZyM/yEo7xOC/ElWdIGAhCAAAQgAAEIQOBsCVxYsXWxVrZU0cyEvO2fFUHSzIgS2aleVx0P49sVq5hc0N/e8qd8Ry1obnMciS0nVKW78btAKJn2YkS/LrChmy/Z1j71tu5rxPCSGAaMpmyLn1XHpR2vEIAABCAAAQhAAALnTuDCiq1Nfmdr9J2a+jCLNPmVlYgJMaFXyEx7qX+edLcHTJT39Za83G71ytWUf/GzAbFVH5IxEBKaQwspf1+tPq1wgUiZEKzN5AIbrXHZWsFO123CvxWbI3tl3xyjCds13KnjOr7amA0IQAACEIAABCAAgfMkcGHF1plCSxPV0S1YfnJcxEq8NVCEkJ/klsmwFmhm1WrqeLrdUERbEVuDJ/LVVahJANJXbElD2a9/eNgJokkOYmP1d7ZafM52MtHzzCtl+Ta43De30fxiV8NQ3sttfdp2qssyGyqrvJnyb7d7tuO9vRRPFYhyi6ftm9u0OmQxph/zP2IkY6z1k+/8yZjLdvR4zXY8sxY/WxCAAAQgAAEIQAAC50EAsRWpz4qMPJGV72HFCW2aRE+JrWivCCrp01asSonLpL4eP3hQbsGTCbRMnu+Gl9R3vpqQWT1U6sRe9ZfJeuvtJ/tFDGkx2RrnLR+7sm/j87bFkOV5JQomI0B7YRN7erEV93U5Sk0W/caVxONffXxRCEpdbFvv3+Yf2yqehWnqM7eyVVx42752/jhCy9aGdxCAAAQgAAEIQGAbCCC2tqEKXQx5ws8EugPDDghAAAIQgAAEIAABCFwYAoitrSwVYmsry0JQEIAABCAAAQhAAAIQOAEBxNYJYG2uKWJrc6zxBAEIQAACEIAABCAAgfUQQGythytWIQABCEAAAhCAAAQgAIEdJ4DY2vEBQPoQgAAEIAABCEAAAhCAwHoIILbWwxWrEIAABCAAAQhAAAIQgMCOE0Bs7fgAIH0IQAACEIAABCAAAQhAYD0EEFvr4YpVCEAAAhCAAAQgAAEIQGDHCSC2dnwAkD4EIAABCEAAAhCAAAQgsB4CiK31cMUqBCAAAQhAAAIQgAAEILDjBBBbOz4ASB8CEIAABCAAAQhAAAIQWA8BxNZ6uGIVAhCAAAQgAAEIQAACENhxAoitOACO7oQr1w/ClRfvhmM9II7vhqeuH4SXjvTOuP04vPniQbhy/a3wpukQjz0IL10/CE+997h1EvvRh/w7eNCOr9oqcdS+w5hWGZk4nmIb5THR3uzOueq4TN6m7Xa8OX7vLVvnyPYktTgFr+Tz+p3w0XYgIAoIQAACEIAABCAAgQ0RQGyFED46OAhPHdwZCKuBcIqFUeKnExduMp4n2l7MFLHmxd2g6DG2TtSJ/5OIhIHttMvFO9XM7895eSFaxNeCvLy983lf6nASjqfghdg6n+riFQIQgAAEIAABCJw3AcRWES4vHY0n3knsePEQJ9wv3g0f+VWSqMPivrqKkW12gixWvfqdGQJzE/t0zIudGVtTh+Z8TPWZi70cG+Y8Ze/c9o9rPhvOKXjZMTFrnYMQgAAEIAABCEAAApeIwM6LLT0R1tu1xmlybW8BSwIsroZ0x/zkfWJlrBqf2/C2fNsH4SN/e2MROvW2Pi8So4kUs9zO+FZ48714C6VbefN23MrPUIDW8B6Hj47ULZRpv7/d0PJM3EW8ym2WJaZckxKvzifF+FZ48yjf6ik5J5Fn4re5ia/jcrun9GsCuSYy3hiKrQX5Xb8T3kxCXNhbBtFZXsWU4+5W1HE07IUABCAAAQhAAAIQ2GICOy62nKApk3TzHa1uX+6T2+RJdmvv36sJtBYKiwZEb2u2WxFRbUWp5Kb9ljY13ipKlCAp+6btZLvt+GxUdQXvihJsWVQ0sVEFVW2jxIvfJ+9r7M1OEyt+X3vfxFaM29V/RSrpsBdbEofEVUWT8+m+E+gZpPe6VsVurdWS2GgDAQhAAAIQgAAEILBVBC6s2PrTw7+Eb73ww3B1bz+9xvcn/q+b0A4ESpmQV3GR+og4ccLDHGvRNBHQVi1WTqK72Jq9fmtCNBgb4zZZ6Eg+RRzqSX90ZuxkIVR59MGYPZ2ISEetDR9DbOLFSN0nsZWYTBxeTMZOThydtdg6bX72QSrj2iRU/A8CEIAABCAAAQhA4MISuLBiS4RWFFsiuE5aheFE2U3Oo83Urqxc2Ml6+Y5WEQD+WB+PWrFJt8u11Y+urRE43VG3w4qXdlBP4nObTuSZfOftZGEz1aZ5bVvaf9sbtzT7LLYsixFL3ccKwGI7MWvCMe01+dl6PfnK1gnyE5GoMHTjatWYUH3ZhAAEIAABCEAAAhDYfgIXVmyJyNKvJ8OdRUP7zk5bdYr7+hWTLAbiBNkcUxN8PXleGUsSAc6W6TQhjkwbeTPVVomBKfGm4pfVlnkm2aZhIGF0r9NttXC66GJrxKLLb4XYSujKmKj8B306xOyAAAQgAAEIQAACENhaAhdWbD3xypZb8dAV0hPltL8KkpGokX1ZWHQrR9qw2VZCyOyXNyc5nmPoJ/1a7EicYr+8Gg5Tdmyfjo89rFatpnNINvRqYX2CYza2HStbAx6G1wny64TTdN9EQISX+i6Yw8xbCEAAAhCAAAQgAIEtJ3BhxdaTfmdrVjCUiW4TTkW0pN/isre7xfpGW/l3uuZvYbNjodjUP35sG3TfNzKHTYwTE3ezmjVuk1eVJO5xG1nxqjyMXRNV/X6XCL8xZytitndla8AjcW9j4LT5CVPh5CimtyPBOWrHPghAAAIQgAAEIACB7SRwYcXWE+EsYmF6opvFgH6CXhYEB+n3tY6d8+ljZbLuVm1Sdzdpdybr2zSZn3o0u171KOKr5VR86xUVI9Dagy/Mo98HbEaCQnKuAixFXLhpn8WeZplzaoIl22rvo6m0T9tx3/Pa1He2fKwdi8X52bFj7Q5EXXk0fatnHRJsQAACEIAABCAAAQhcEAI7Kbby5F5Wc8aVspNheardxHesBhNubVWESf0uTnwQghZKuvFou4gk3d+KnNJJ4kgPWpjwYWwt/J0tJ3pqiN6f/65bbVhEmMTl7J2f2Gp1NYKzxh03RDCX7/S52HPTBfn53xHr7Dg/Jx0jJmbeQAACEIAABCAAAQhsA4GdFFvbAJ4YIAABCEAAAhCAAAQgAIHLTQCxdbnrS3YQgAAEIAABCEAAAhCAwDkRQGydE3jcQgACEIAABCAAAQhAAAKXmwBi63LXl+wgAAEIQAACEIAABCAAgXMigNg6J/C4hQAEIAABCEAAAhCAAAQuNwHE1uWuL9lBAAIQgAAEIAABCEAAAudEALF1TuBxCwEIQAACEIAABCAAAQhcbgKIrctdX7KDAAQgAAEIQAACEIAABM6JAGLrnMDjFgIQgAAEIAABCEAAAhC43AQQW5e7vmQHAQhAAAIQgAAEIAABCJwTAcTWOYHHLQQgAAEIQAACEIAABCBwuQkgti53fckOAhCAAAQgAAEIQAACEDgnAoitcwKPWwhAAAIQgAAEIAABCEDgchNAbF3u+pIdBCAAAQhAAAIQgAAEIHBOBBBb5wQetxCAAAQgAAEIQAACEIDA5SaA2Lrc9SU7CEAAAhCAAAQgAAEIQOCcCCC2zgk8biEAAQhAAAIQgAAEIACBy00AsXW560t2EIAABCAAAQhAAAIQgMA5EUBsnRN43EIAAhCAAAQgAAEIQAACl5sAYuty15fsIAABCEAAAhCAAAQgAIFzIoDYOifwuIUABCAAAQhAAAIQgAAELjcBxNblri/ZQQACEIAABCAAAQhAAALnRACxdU7gcQsBCEAAAhCAAAQgAAEIXG4CiK3LXV+ygwAEIAABCEAAAhCAAATOiQBi65zA4xYCEIAABCAAAQhAAAIQuNwEEFuXu75kBwEIQAACEIAABCAAAQicEwHE1jmBxy0EIAABCEAAAhCAAAQgcLkJILYud33JDgIQgAAEIAABCEAAAhA4JwLrE1ufHYabe/vh6vDfQbivEn50eCtcff4wPFL72HxCAp8chKt7mvNRuL2SsWvT2ThdTGdW3zKmbn9yujguaq/I78Q5R1avHdWUz6wG1eLUxnG487yc93r8TbU/yf4ztH1ufGK+R+H23v6Ja5pqWK6nJx4PJ8H8BG3vv3Yr3PmsGDij68cThPOEXU9Xpyd0Oux+qmvA0NL57LTx5/P45uHx+QTzxF7XE//mrtFPDAADEIDACQmsXWyNJgX3X4uTsTYR4yJzwqotae4mOon5CrHVtXE2lrhda5tdFFunyrmIEiW21loXZTydy+rcVoeeePPsbPd8tv4adKpx8MTIT2YgXS+U2DpZ7y1svSVi6yLUfq56XfzrEStzIZztsYse/9nSwBoEILCawLmILf+X3a2f6KzmuH0tnFDqhNQg4q6NszHostld3Yf2Zt2fi7dT5dyLiU3FfnaCqI/47Gz3fLb+GnSqcdAzXOsexNZ68F6E2s9l3sV/0cXKRY9/rlgcgwAE1kHgXMWW3EYwmuikiX+9BXH019IyYapt9sNV95d8a2M/iL8GMv/lst7quGLlR/p5u371bv64/LXU+XaxhzRxkdux9t1tlmJDIoqvbgJZhZLntIRlaSM2XCw+31A+TCtHl4utb4z9VrhzGG9zjPmN4il5Obu3D/Otqda/4zhcVZlpIzlqlG5ykOr52lGwdc0rs2afy1v+qFC5+PElvqf4uv1tfPua6rE/ztXWICdrYu9ua8t2bn/i7HU5NnDeXjvfnA1XoxTba4ft9sOBj6Ft4ddCCDIW6xiJbZ4/DHfSano8j14PP9TXjBKL8Lkfb2mux/uxmdrV4/5WwFwXGafRTo1Dx+huI1zp248DNY48F+Ovyz3eqj1XV1snYyvG7+NQ567nkmqf2rc7GBICd07b28czv5uHR20sRNYqX4PRvLGx6zsnYrOVjI0teTPHStrE1xnfiYEbR4N9qY6Dcd8xV21ma6/DK9vCwNyu72Px9XHnajTla92NE+072VefYyn+5XVemaO3Pxgr1oarhY41bY9r3q5lsZHEX26DTDGMx7lh49jKdULa2PqM42ifASXwBfl3KbIDAhDYOIHzEVtuMmsvMqFMatXFq1xQ5KIkFztz4Sk25aKYLrD6wut81g/I7sNL+e3KkS+y5sPf2C3H9QdUF7t8MKuLvm+T3qvjXkjVCZMOsPjFBNkzAAANEklEQVSWfJKNlkvHQ3ct212bEpfON39wNbsyuRXutTaKva2v5K9sDGLp7Uo/NYEt7PU4WB2fTBaKf8cphWJqKuNRiXXxu9fvaxxKvFKPIHZU3ifge5KxX2ugfNsanNE4HdQt+dHjX1ipWHyNch/FcmA37upsL6hdnawq/5N84sS+tuvP9exfnZclt1Zz4araDHPJY0NqKvnP+ZbzQfrUHDTrMp5qGxlfNacYjJxHLcbqvxNPrU3mqN5PjmfVxtenxNPxqtcK4def463PAOgJxtgs4850z0rGU2W80retdXSRx7/K0U/efRzFR/Upnwdztfc25PyprEuDVJNSs85PiVX1WX0ODBx3dpfUWdr018vKQcee3JY+arz7a01Xvy5cqbmqT4m/jcHsp7734zza9DlPvNd/kElsK2uJw59PKq4F+XfpsQMCEDgXAucgtvqLqLnI+ItSwZIumnIhSm3URSi10RdavT3mmj801IU8NcsXuHoR9V2HflWj7uKXj5nYy2TH+rDxjmNTfjYqthxnVx+bW4nRtTH1HeavcxsxK8cT3/ZhM/Tt7FvfvZ/84evGgYs/+dETG5nsyHhMZpfU0I2v0Xhxvscf2q4mEk+dZNhYYniGw8ivTAJrTi7WQY4Dmp0gWlwjw3dk+UnE1ipeA9sxBMNpxMP367mPM8m2ZNI4PN+N78HkzR8vjgzvYZvsu4mOZttck9w4THbr+CrOvP3hezm3JtgYP+M2JqcB0PFxW69FjDvb1kY+bGNc7du2z2L3Vrj5vPrjQmLgx6gKxjDy47K1G8fSjptrgOzWNdPbcty8jnj4c8B0yG98/N31Kjcz8U/EotsMa6rdd34HfnT7tD04P+T6Wa9Ruab1fEmxyjgvBp3vFLc7f3L87fPM1mfE2o6llfl3ubEDAhA4LwJrF1vtlhx1K0Gd0OW09UVm8gIyuqDF7uWiVv2UC1q2E326i2ByaS9aGv7ooijHJ2MrDSaPmw+OfBGViVbu6uJROdl2EskCG46X/pASK/61a+NspPbmQ2T0gRBb2Q+jxKXWfBS7j8T2r0eNb8esNtJ/jZ1uU5uvzFHbq73yX6fNh6f2pbdbn7hlxtcC3zK+h+NAjZM0/ms8vX9dgzMbpza19M7a7uOQLnqs6djk+OjV2pZJpzu/zRiZaDOY7A1jSPUpk2C9rYNL/mSinPOtkzDdzmzbc2Cl79jX5dWxEPs6ztH4cn+MyN1sPGmf8yfm42uqXb2VUnIX1v691Gf+WpHF35ifHis6jrz9BGNMs+oN11VAe+5pf3rbGtAxm/pGrs8fhnS7arkmmuPWTH7narGo9gM7Qz+GQa5RvJYMx7Bpqxyk+FTd1aG06eL3nw/SvGM2+uzWMRS7MV5bo2xxnpOMS/Eur4NzIR4yObpxmmJy9kzOE2PftCmidfZz0o23FflLRrxCAALnT2DtYmt0EfRp6w+BfIFUwqx+qGvhVC46cixNMt2FKDpJF0Flq17IXH+xI6910moj1XHaI/nd5HH9AbFkVSqZax98WUjqD7PRB4LL330A6A+yUexxX9fG2Uj9zAeEj1GxVh/Ylssodh9RbtN/4Ou+Od++jc5juk31uDJHba/2sqIp7db8y7aMJ/8q42uBbz/JlolKHhNy25v2HYPx7+0Hua1Hy2m0kmPP396u6p02k+06Scrt52tkY/P29HtrW87vuUnORJsVfKrPVJ9y3qVtO75rDertd9P5VptpQ4/jify179jHnHcTfWI73S9tOz6nFVsmf81EXZe07xqL+Lc5Jwzpf3pMjfl116XWuY71U40xH6+xG9+MYl4db+xpYk61y5ziGE6xpn2ZTWw7ir+Gc5ra185tY3jedwxKfuqaVa8BZgz4c0GNg+Yyb7n45frkc9bMhrFGa128uUb9uVjOEZVHaxNjl3Hpgx3VXM4/ydGN0xSTs2dyzjZ9vvPn9CgOPfYk7un8pQWvEIDA+RPYUrHlLlyeU3fBjQ1GFyLVUT4opoSZajq12U32XMPJ4+ZivPQiqo3LBVW4LLBhfLoPf21abesPu7Tb2Uj7lnyIKJtx035wjmJ3HUot5z+cpuud8lha55U5jtk1HxK7jkdvy/HB6wLf/gO5n2xEu96ff29rsL5xKhMcGad9HEJB87PjQ1r0r13cS/iN2nS8LJ/qOfUtEyy9XRv4jZxvN259MzeJH+bv/ZnzznNWDnS+ers2yeefjXFwThp/E3X0MQ7fy1gY+Y1BaWZ6uwZshUvbXbYmYhPBU/6wsYhxZ3vAxYydZb61aIvjPosXsS2vnfO2w9RiYe1b77p1cgYlP/ljgq9vtbxiw8Vva976pmuCXu0bCaLhmBYbmaUIqe56Ic1mXyfqYXJ343QUk8k527TnnAg4GQ/+GjSKY3q85ZRs/rNpchACENgoga0TW+PJpL0QDT80ysXNfBfBodT99IW9NXMX0XYgb5kLrj84+qtbbmN9neYiKhdm+cva6OJdLrQTqyY2hkHsMjmpq3+Sj0yWSh/zITJ18bc5au564jGOYsSstEz824fTOCfLZtxGeR7VdIGfZFdYJ3OWxdivG1/JzxxfqXvL2bIseXRj38YSW5l+o5y7+tsaZk+93RJBfUl+1CRpzMHWyMRWLfUb3vbwWuFql9s4xmbCnP0MY9CczLhXsZkauvqqZnbTsl3pO3b2/nVsyrjhbWKTRpZ93mvjSfuMv8FxGS8yEY+dfEzG/8TYMX7G/ExOkoZ6HR+3eS5irGzmzVHeNo8lvqOt1O61g3C7nhsl1+fj0y/9+HSBGEYDzqX5OJZmqzt/5Lqga9ialy3FwMchbU2dZad67fotqLMfS8XcqhzzeTL/B5LhWKjh5nz9PML2cfGPYk372nU717/9yHx0l+vR2lgfinuNzY69ultvJNYyT9AH2IYABM6TwPaJLflg0h9A/mLtLmTyl7J0m0ASC6OLUr54tb8u9RfVfPGb++ArdrUgMbfllOM69i7W1RfRURz2Q6aPIx2Pt0yIAEh+Wy62/3jIdW2cjdTL16K8b1z7laDVHyKDeDq7pV76/vzSpuY8M3Z0fGZSuMBPx0X8COsUvh9zC8bXCfj6W3nqexEOsfZ1XPpYnNiqfdr4yEzaB/9YFPd2feW6sbugRnZ8eIvt/ZTtVtvBGBkxlvxV/YYxpL5t4pL9t/fCqPnPfNr7FrvdsteAJb47sSU5zF1rhrln3zZGG0+KtdQtj7NS9zq+ZMKfbyWrY9Hx6oRuOq5vmfN2x/xG55/hedox5uM1RuObARfhLmNnge9ktuTeztE22dbXry6EuMPUIu4o3OZqPzJUYqj1kthFbA14+HNu9TkwcDwRvx2D/nNjdY4+tujZj5X0XnPqYvHx5prHuYTnVN8X/jX+YrO+L+Nm1oZnL+KrnmOrx96S/H12vIcABM6HwFaKrYgiXyTbfeHtQpdB5QtNOx4vdPbCKhfr1qb/UGsX1nw/t5p8ztTDx9YusrmTPa4nZ/H46otobOXz6//6aWOv+cskIH1wqnzqxV19iPgcfRtvI7YvbUw9VL8meJvxlMvsh0hra7acXf+7JLmt5aAnM82WayOTC2lQJiF5DMR62Rqletb4c6e0T1inXWW8mX3er6pH7LOQbx1PJQY/Nmrt9aSi5pTHn62ByqF+p+F04zRbav/Psbk81eRj9fhotvzW0HbNM57nfe2GjKPh2m+aT25juYzYtzjzGPDXg3Zctuz4GtWm8z0677rrpI11nHv2bWO08aQoO3+DsVzaNFvqmhvPg5nxnc819ceh5HTMb3T+Ccn26uJz5+sixs1Y2RpwEaEzd54738lYx6qNQXMt7WLIO/w1IO6t+9I57Go/YceO34NwP8Wl+tbzQj431bFi09rQ4nnCqY41sVle51U5+lj6z0nPaebzL4Wfa37z8DDcrtdG32cQv+EWmQ3GThkD9XPmk/i7kY2vHaOD/oOxtyr/xM+M1ekacQQCEFgfgfWJrfXFjGUIQAACEIAABCBwxgREbJUfLD5j68bc6I8RpgFvIACBy0IAsXVZKkkeEIAABCAAAQg8AYF1iK2y4mtWPMs+Vp2eoFZ0hcDFIYDYuji1IlIIQAACEIAABNZGYB1iKwab7dbbZ+MtigittVURwxDYNgKIrW2rCPFAAAIQgAAEIAABCEAAApeCAGLrUpSRJCAAAQhAAAIQgAAEIACBbSOA2Nq2ihAPBCAAAQhAAAIQgAAEIHApCCC2LkUZSQICEIAABCAAAQhAAAIQ2DYCiK1tqwjxQAACEIAABCAAAQhAAAKXggBi61KUkSQgAAEIQAACEIAABCAAgW0jgNjatooQDwQgAAEIQAACEIAABCBwKQggti5FGUkCAhCAAAQgAAEIQAACENg2AoitbasI8UAAAhCAAAQgAAEIQAACl4IAYutSlJEkIAABCEAAAhCAAAQgAIFtI4DY2raKEA8EIAABCEAAAhCAAAQgcCkI/H+1g0i2xwxcTwAAAABJRU5ErkJggg==" alt="" data-iml="28961.559999966994">

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d52c7db4-3ffd-4fb2-929f-7016c39bdc5an%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

David Maul
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

slide
Hi David,

Most of those are SCM providers. Azure in and of itself is not an SCM provider. What type of functionality are you looking for?

Regards,

Alex

On Thu, Nov 19, 2020, 08:36 David Maul <[hidden email]> wrote:
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAPiUgVdR%3D%3DoU0ucT-VC%2BZQX9QAY6ZubPpEVc73LNo7gBwioeNA%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

David Maul
Azure DevOps hosts Git repos, so I consider them a SCM provider.  

I have pull requests emanating from Azure Repos, and arriving (via smee.io broker) at my local Jenkins infrastructure (not in cloud).  I am trying to us Multibranch pipeline job to build those PRs, but I cannot figure out how to get it to build the "merged" commit.  It currently only builds the source branch and the target branch, but not the "what if I merged the two", which is what a PR reviewer wants to see.  Any help or pointers you might have would be appreciated.

On Thursday, November 19, 2020 at 10:54:59 AM UTC-5 slide wrote:
Hi David,

Most of those are SCM providers. Azure in and of itself is not an SCM provider. What type of functionality are you looking for?

Regards,

Alex

On Thu, Nov 19, 2020, 08:36 David Maul <[hidden email]> wrote:
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/183f4ff7-5016-4c30-9337-fb6cf7398221n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

Richard Bywater-3
Azure DevOps is pretty new compared to the other options and so it's probably a case of that it's not been well enough used for someone to consider writing a plugin to support it. These plugins are generally written for and by the community and so it requires someone to put up their hand to write it. I'd say the fact it's a paid service also makes it harder to support as there's now a cost factor to maintaining it.

As to your merge issue, I could be wrong but I think the plugins expect a merged version of the code to be presented by the SCM provider. Does Azure DevOps present a ref which contains a merged result?

Richard.


On Fri, 20 Nov 2020, 5:02 AM David Maul, <[hidden email]> wrote:
Azure DevOps hosts Git repos, so I consider them a SCM provider.  

I have pull requests emanating from Azure Repos, and arriving (via smee.io broker) at my local Jenkins infrastructure (not in cloud).  I am trying to us Multibranch pipeline job to build those PRs, but I cannot figure out how to get it to build the "merged" commit.  It currently only builds the source branch and the target branch, but not the "what if I merged the two", which is what a PR reviewer wants to see.  Any help or pointers you might have would be appreciated.

On Thursday, November 19, 2020 at 10:54:59 AM UTC-5 slide wrote:
Hi David,

Most of those are SCM providers. Azure in and of itself is not an SCM provider. What type of functionality are you looking for?

Regards,

Alex

On Thu, Nov 19, 2020, 08:36 David Maul <[hidden email]> wrote:
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/183f4ff7-5016-4c30-9337-fb6cf7398221n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAAy0hwcY%2BVvATu%2BOWiHcTORGAfmDSC2mrAERXzOngLcWZpAiqg%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

David Maul
Thanks Richard.  Your comments make sense.  After hours of not seeing the correct ref, now I believe I am seeing it.  I must have changed something...!  Thanks for your attention.

On Thursday, November 19, 2020 at 2:22:14 PM UTC-5 Richard Bywater wrote:
Azure DevOps is pretty new compared to the other options and so it's probably a case of that it's not been well enough used for someone to consider writing a plugin to support it. These plugins are generally written for and by the community and so it requires someone to put up their hand to write it. I'd say the fact it's a paid service also makes it harder to support as there's now a cost factor to maintaining it.

As to your merge issue, I could be wrong but I think the plugins expect a merged version of the code to be presented by the SCM provider. Does Azure DevOps present a ref which contains a merged result?

Richard.


On Fri, 20 Nov 2020, 5:02 AM David Maul, <[hidden email]> wrote:
Azure DevOps hosts Git repos, so I consider them a SCM provider.  

I have pull requests emanating from Azure Repos, and arriving (via smee.io broker) at my local Jenkins infrastructure (not in cloud).  I am trying to us Multibranch pipeline job to build those PRs, but I cannot figure out how to get it to build the "merged" commit.  It currently only builds the source branch and the target branch, but not the "what if I merged the two", which is what a PR reviewer wants to see.  Any help or pointers you might have would be appreciated.

On Thursday, November 19, 2020 at 10:54:59 AM UTC-5 slide wrote:
Hi David,

Most of those are SCM providers. Azure in and of itself is not an SCM provider. What type of functionality are you looking for?

Regards,

Alex

On Thu, Nov 19, 2020, 08:36 David Maul <[hidden email]> wrote:
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/e19a2f9f-3af7-4d09-8fbd-65d57c32bd9en%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Azure pull request plugin?

David Maul
Turns out my eyes were fooling me.  Yes, the ref is contained in the webhook JSON received from Azure DevOps.  I just haven't figured out a way to extract that value from the JSON.  If anyone has any ideas, I'm all ears.

thanks

On Thursday, November 19, 2020 at 3:38:55 PM UTC-5 David Maul wrote:
Thanks Richard.  Your comments make sense.  After hours of not seeing the correct ref, now I believe I am seeing it.  I must have changed something...!  Thanks for your attention.

On Thursday, November 19, 2020 at 2:22:14 PM UTC-5 Richard Bywater wrote:
Azure DevOps is pretty new compared to the other options and so it's probably a case of that it's not been well enough used for someone to consider writing a plugin to support it. These plugins are generally written for and by the community and so it requires someone to put up their hand to write it. I'd say the fact it's a paid service also makes it harder to support as there's now a cost factor to maintaining it.

As to your merge issue, I could be wrong but I think the plugins expect a merged version of the code to be presented by the SCM provider. Does Azure DevOps present a ref which contains a merged result?

Richard.


On Fri, 20 Nov 2020, 5:02 AM David Maul, <[hidden email]> wrote:
Azure DevOps hosts Git repos, so I consider them a SCM provider.  

I have pull requests emanating from Azure Repos, and arriving (via smee.io broker) at my local Jenkins infrastructure (not in cloud).  I am trying to us Multibranch pipeline job to build those PRs, but I cannot figure out how to get it to build the "merged" commit.  It currently only builds the source branch and the target branch, but not the "what if I merged the two", which is what a PR reviewer wants to see.  Any help or pointers you might have would be appreciated.

On Thursday, November 19, 2020 at 10:54:59 AM UTC-5 slide wrote:
Hi David,

Most of those are SCM providers. Azure in and of itself is not an SCM provider. What type of functionality are you looking for?

Regards,

Alex

On Thu, Nov 19, 2020, 08:36 David Maul <[hidden email]> wrote:
Mailer left out my image.  Wondering what the approach is when the cloud repo is Azure.   From jenkins documentation:

Supporting Pull Requests

Multibranch Pipelines can be used for validating pull/change requests with the appropriate plugin. This functionality is provided by the following plugins:


On Thursday, November 19, 2020 at 10:33:14 AM UTC-5 David Maul wrote:
Jenkins has a plugin for pull requests from most cloud services:   Why not Azure?



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2228b699-7fc8-412e-9ce7-02f3ad85a9ffn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/560adcaf-2693-480c-abd0-66771b0195a8n%40googlegroups.com.