{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Logistic Regression -- Weight Confidence Intervals" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa4AAAFgCAYAAADjF51eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXzb9X348ddbhyXfjmMnMU6CCRBImrYc4QxnoS10PVdW6FpKu+6XX9etK/TYgP62du02aLdegx7LSgelrBe9YAUKpQHK2RxcISYBQk6cxHZi+ZIPSe/fH5+vHVmRbNmWLMl5Px8PPSR9z7ecb/TR5/i+P6KqGGOMMaXCV+gAjDHGmMmwgssYY0xJsYLLGGNMSbGCyxhjTEmxgssYY0xJCRQ6gMloaGjQlpaWQocxK23YsKFDVRsLHYcxxkykpAqulpYW1q9fX+gwZiUR2VHoGIwxJhvWVGiMMaakWMFljDGmpJRUU2HRWXvD+OsvvG5m4jDGmCOI1biMMcaUFCu4jDHGlBQruIwxxpQUK7iMMcaUFCu4jDHGlBQruIwxxpQUK7iMMcaUFCu4jDHGlBQruIwxxpQUK7iMMcaUFCu4jDHGlJS8F1wi8n0R2S8im5KW1YvIAyLykvc8J99xGGOMmR1mosZ1K3BJyrJrgQdV9XjgQe+9McYYM6G8F1yq+ghwIGXxu4DbvNe3Ae/OdxzGGGNmh0JNazJfVdsAVLVNROZl2lBEVgOrARYvXpzzQL7+wNbDll3z5qU5P48xxpjcKPrBGaq6RlVXqurKxsbGQodjjDGmwApVcO0TkSYA73l/geIwxhhTYgpVcN0FXOW9vgr4dYHiMMYYU2ImVXCJyKpslqWs/xHwBHCCiOwWkY8CNwJvFpGXgDd7740xxpgJTXZwxk3AKVksG6Wq78+w6qJJnrv0rL1h/PUXXjczcRhjzCySVcElImcBZwONIvKppFU1gD8fgRljjDHpZFvjKgOqvO2rk5Z3A5flOihjjDEmk6wKLlV9GHhYRG5V1R15jskYY4zJaLJ9XCERWQO0JO+rqm/KZVDGGGNMJpMtuH4GfBf4HhDPfTjFLTXLxpk7OzlrydwCRWOMMUemyRZcMVX9Tl4iMcYYY7Iw2RuQ7xaRj4tIkzc1Sb2I1OclMmOMMSaNyda4RrJdfDZpmQJLchOOMcYYM75JFVyqeky+AjHGGGOyMamCS0Q+lG65qv4gN+EYY4wx45tsU+FpSa/DuLRNGwEruIwxxsyIyTYVfiL5vYjUArfnNCJjjDFmHNOd1qQfOD4XgRhjjDHZmGwf1924UYTgkusuA36a66CMMcaYTCbbx/XvSa9jwA5V3Z3DePImNeuFMcaY0jSppkIv2e6LuAzxc4ChfARljDHGZDLZGZDfB/wR+DPgfcBTIjLlaU1EZLuIPC8iz4jI+qkexxhjzJFjsk2FnwNOU9X9ACLSCPwOuHMaMVyoqh3T2N8YY8wRZLKjCn0jhZancwrHMMYYY6ZssjWu+0Tkt8CPvPeXA/dM4/wK3C8iCvynqq5J3UBEVgOrARYvXjyNUx3uzJ2HnQ6AJ27JsH26bbd1pt023XQnh2277TMZt83KhddlXrf2hqnva4wxRSyrgktEjgPmq+pnReRPgXMAAZ4A7pjG+Vep6msiMg94QEReVNVHkjfwCrM1ACtXrtR0BzHGGHPkyLaZ7xtAD4Cq/kJVP6Wq1+BqW9+Y6slV9TXveT/wS+D0qR7LGGPMkSHbgqtFVZ9LXaiq64GWqZxYRCpFpHrkNfAWYNNUjmWMMebIkW0fV3icdeVTPPd84JciMhLH/6jqfVM8ljHGmCNEtgXXOhH5P6r6X8kLReSjwIapnFhVtwFvnMq+xhhjjlzZFlxX42pHH+BQQbUSKAPek4/AspEujdM1b15agEiMMcbMlKwKLlXdB5wtIhcCK7zFv1HV3+ctMmOMMSaNyc7HtRZYm6dYjDHGmAlZ1gtjjDElxQouY4wxJWWyKZ9MljKlgprMtlNOBWWMMbOY1biMMcaUFCu4jDHGlBQruIwxxpQUK7iMMcaUFBucUcommnPLGGNmIatxGWOMKSlWcBljjCkpVnAZY4wpKVZwGWOMKSklPTjjzJ1rDlv2xC2HXj+5ePUMRmOMMWYmWI3LGGNMSSlowSUil4jIFhF5WUSuLWQsxhhjSkPBCi4R8QPfAi4FlgPvF5HlhYrHGGNMaShkjet04GVV3aaqQ8CPgXcVMB5jjDEloJCDM5qBXUnvdwNnpG4kIquBkVEWvSKyJftTfHUa4U1JA9Ax0yedmuthbLxHFy4WY4zJXiELLkmzTA9boLoGOHz4YBESkfWqurLQcWSr1OI1xhgobFPhbmBR0vuFwGsFisUYY0yJKGTBtQ44XkSOEZEy4ArgrgLGY4wxpgQUrKlQVWMi8jfAbwE/8H1VfaFQ8eRISTRpJim1eI0xBlE9rFvJGGOMKVqWOcMYY0xJsYLLGGNMSbGCawomSlUlIiER+Ym3/ikRaZn5KEFEFonIWhFpFZEXROSTaba5QEQiIvKM9/jHQsRqjDHZKuns8IWQlKrqzbgh/etE5C5V3Zy02UeBg6p6nIhcAXwZuHzmoyUGfFpVN4pINbBBRB5IiRXgD6r69gLEZ4wxk2Y1rsnLJlXVu4DbvNd3AheJSLobrvNKVdtUdaP3ugdoxWUsMcaYkmUF1+SlS1WVWhiMbqOqMSACzJ2R6DLwmitPBp5Ks/osEXlWRO4VkdfNaGDGGDNJ1lQ4edmkqsoqndVMEZEq4OfA1aranbJ6I3C0qvaKyNuAXwHHz3SMxhiTLatxTV42qapGtxGRAFALHJiR6FKISBBXaN2hqr9IXa+q3ara672+BwiKSMMMh2mMMVmzgmvysklVdRdwlff6MuD3WoA7vb1+tVuAVlX9WoZtFoz0v4nI6bhronPmojTGmMmxpsJJypSqSkS+CKxX1btwhcXtIvIyrqZ1RYHCXQVcCTwvIs94y64HFgOo6ndxBetfiUgMiAJXFKKQNcaYbFnKJ2OMMSXFmgqNMcaUFCu4jDHGlBQruIwxxpQUK7iMMcaUFCu4jDHGlJSiL7hE5HNeZvPnvOzlZ+T4+BeIyP9muzzH574+6XWLiGzKcr+rReRD46y/QETOHmd9b4blvxOROdnEYIwxhVLUBZeInAW8HThFVd8AXMzYPIGl7vqJNxnLy8TxF8D/jLPZBUDGgmsctwMfn8J+xhgzY4q64AKagA5VHQRQ1Q5VfQ1ARE4VkYdFZIOI/FZEmrzlD4nIN0TkcRHZ5GWDQERO95Y97T2fMJWAJjjvl0XkjyKyVUTO9ZZXiMhPvRrjT7z5uVaKyI1AuVeLvMM7vF9E/surYd4vIuVpQngTsNFL3ouI/K2IbPaO/2Mvme7HgGu8Y5/rZfl4QkTWiciXxvl4dwHvn8rfxRhjZkqxF1z3A4u8guDbInI+jObfuwm4TFVPBb4P/EvSfpWqejau9vB9b9mLwHmqejLwj8C/TjaYLM4bUNXTgauBz3vLPo6bm+sNwJeAUwFU9VogqqonqeoHvG2PB76lqq8DuoD3pgljFbAh6f21wMne8T+mqtuB7wJf9479B+CbwHdU9TRgb6bPp6oHgZCIFDSTvTHGjKeoUz55GctPBc4FLgR+4s04vB5YATzgpdnzA21Ju/7I2/8REakRkTqgGrhNRI7HZWoPTiGkEyY470gS2w1Ai/f6HFzBgapuEpHnxjn+q6o6kpop+RjJmnDzao14DrhDRH6Fy+yezioOFYK34ya2zGQ/cBSWr9AYU6SKuuACUNU48BDwkIg8j0teuwF4QVXPyrRbmvdfAtaq6nu85rSHphCOTHDeQe85zqG/7WQmkBxMeh0H0jUVRoFw0vs/Ac4D3gn8wzjzaWWb2yvsncMYY4pSUTcVisgJXg1pxEnADmAL0OgN3kBEgilf2Jd7y88BIqoawU0tssdb/+EphjTRedN5FHift/1y4PVJ64a95sfJaAWO847nAxap6lrg74A6oArowdUwRzzGoUS/HyADL0v8AmD7JGMyxpgZU9QFF+5L+LaRwQfAcuALqjqEy2r+ZRF5FniGsaPoDorI47i+no96y74C3CAij+Ga+LJxkYjsHnng+qfGO28638YVds8Bf49r2ot469YAzyUNzsjGvbgaFt7n+KFXE30a16/VBdwNvGdkcAbwSeCvRWQdrgAflZQ1Hu/zPTky8MMYY4rRrMsOLyIPAZ9R1fWFjgVARPxAUFUHRORY4EFgqVf4TvWYvwT+TlVfylWc3nG/Cdylqg/m8rjGGJNLRd/HNQtUAGu9JkEB/mo6hZbnWtwgjZwWXMAmK7SMMcVu1tW4jDHGzG7F3sdljDHGjGEFlzHGmJJiBZcxxpiSYgWXMcaYkmIFlzHGmJKS1XB4b46mo3CpgLaraiKvURljjDEZZBwOLyK1wF/jprkoA9pxeezmA08C3/ZSDRljjDEzZrwa153AD4BzvTRCo7yM7VeKyBJVvSWfARpjjDHJ7AZkY4wxJcUGZxhjjCkpUyq4RGRjrgMxxhhjsmFNhcYYY0qKNRUaY4wpKRlHFYpID+NM966qNXmJyBhjjBlHxoJLVasBROSLwF7gdtx8Uh9g7LTwxhhjzIyZsI9LRJ5S1TMmWmaMMcbMhGxSPsVF5APAj3FNh+8H4nmNKoOGhgZtaWkpxKlnvQ0bNnSoamOh48gnu37y50i4fkzxyKbg+nPgm95Dgce8ZTOupaWF9evXF+LUs56I7Ch0DPlm10/+HAnXjyke2RRczar6ruQFIrIK2J6XiEx+7N0ErXdDZBfULoJl74AFKwodlTHGTFo2w+FvynKZKVZ7N8HjN0G0C2qa3fPjN7nlxhhTYsYbDn8WcDbQKCKfSlpVA/jzHZjJoda7IVwH5XXu/chz691W6yola2/IvO7C62YuDmMKbLymwjKgytsmefh7N3BZPoMyORbZ5WpaycI1brkxxpSY8e7jehh4WERuVdUdACLiA6pUtXumAiyobPqFJtqmGPqWahdB5yvQ8xoMdLtCq/oomHvszMZhjDE5kE0f1w0iUiMilcBmYIuIfDbPcRVeNv1CE21TLH1Ljctg9zqIRqCsyj3vXueWG2NMicmm4Fru1bDeDdwDLAaunO6JRWSRiKwVkVYReUFEPjndY+ZUcr+Q+NxzuM4tz3ab1rshEYd9z8OWe91zIj72GDOhvRWaV0J5LQz1uufmlW65McaUmGyGwwdFJIgruG5W1WERyUVK+RjwaVXdKCLVwAYReUBVN+fg2NOXTb/QRNvsfQ4ObIdgOYSqYXgA9r0Aw315Df0wkV0wdwk0HHdomSasj8sYU5KyqXH9J+6erUrgERE5GjdAY1pUtU1VN3qve4BWoHn8vWZQ7SLXH5RsoNstz3abgYiriQXDIOI9+9zymZTNZzHGmBIxYcGlqv+hqs2q+jZ1iQ13AhfmMggRaQFOBp7K5XGnZdk7YKDL9Utpwj0PdLnl2W4TqgUSrqal6p5JeMuL7LMYY0yJyFhwicgHvVGEY6gTE5FjReSc6QYgIlXAz4Gr041WFJHVIrJeRNa3t7dP93TZW7ACzv6E67fq3uOez/7E2BGBC1bA0ktd39WmO93z0ksPbdP0Bmhc7mpagz3uuXG5Wz6TsvksxhhTIsbr45oLPC0iG4ANQDsQBo4Dzgc6gGunc3Kv7+znwB2q+ot026jqGmANwMqVK2d2uuYFK8b/ct+7CbbeC/NfD0evcs1vW+91fUkLVrgazeM3ufXhGre+UDWdiT6LMcaUiPHu4/qmiNwMvAlYBbwBiOL6oq5U1Z3TObGICHAL0KqqX5vOsQomXUaK/k649+9gTovrQ1p6qRu9N3If1ylXWgFijDHTMO6oQlWNAw94j1xbhRtW/7yIPOMtu15V78nDufIjdVRh7343alDjrgYW7XI1MGuWM8aYnMlmOHxeqOqjuBmVS1ftIlc4jdS4Ora4UYMVcw7d19XXMbYGNpXsG9kohgwdxhgzA7IZDm8ySR2t19cBJKDhBLe+dz+0b3bLp5p9IxvFkqHDGGNmgBVc05E6Wq+ywY0arJrn1ndsgdgQDPdnzpyRTYaOieTiGMYYUyImbCoUkRDwXqAleXtV/WL+wiohyaP1kms+4RqI7IH+A1DbnDlzRi4yt1v2d2PMESSbPq5fAxHckPjB/IZT4kZqYCN9TRqHqkaoqHfrg2GIDY7NnFG7iM7OfWyNBOgZGKY6HGRpbYy5cyeR1SK1rw0sM0Yxs3m1jJmWbAquhap6Sd4jmS2Sa2D/837o2u5qWoGQK7RSMmdsa7yQjqe/ipTVUhWqRqJdvBKJEDnxCpZke86R+8Vg7P1ip0w7F7IxxhSdbPq4HheR1+c9ktkoTeaMXsqJbN9I+78uZ9fXLuTxp55iW/15NA+9womd99M89Arb6s/j12312Z/HMmMYY44gGWtcIvI8oN42HxGRbbimQsFlfprhvEUlKCVzRve2P1LWvpFosIGBsnoCg928edc36ClfSHvdMnbXnEwo3svrex9nd9tRwNLsz1XkmTFEZJWqPjbRMmOMmch4TYVvn7EoSlhrW4T7Nu1jT1eU5rpyLlkxn2VNXlPgSC7DdWugp42yrn30B2oYCDcCEAvVUDnYTn10O6FggLJYL0OBKg7IXFYNP4EbEzNr3AScksWyWe+JbZ0Z152VIX311x/Yypk7D9/vrCVzcxWWMSVjvJRPOwBE5HZVHdNZIiK3k4PJJEtda1uENY+8Sm15kKbaMJHoMGseeZXV5x3jCq+UXIaJR79FKD7IULyfYX8FACHiBInSPxxlyF+BDEdpiL9CVW1p35s9QkTOAs4GGkXkU0mragB/Fvt/H/cjar+qrvCW1QM/wY103Q68T1UP5jZyY0yxymZwxuuS34iIHzg1P+EU2CSzT9y3aR+15UFqy4MAo8/3bdrnCq7Wu+nqi9KzfSu+wW5qEwpEqezbwQBlxAjiZwglgAbLGYrFKQuWM08ilO17Ev7jZKhugtNWw4p3z8RfIB/KgCrctVadtLwbuCyL/W8FbgZ+kLTsWuBBVb1RRK713v99TqI1xhS98fq4rgOuB8pFZGS6EQGG8LK1zyoj92CF68ZmnxhnkMOerihNteExy6rDAfZ0RQGIvLqRvr0vI/4QiWAV/YMVzE10EBehV8opYxB/IsZgsJZFVQKBSuh+DaLtbkBH5XyIRuB3n3cHL8HCS1UfBh4WkVtHavGT3P8Rb762ZO8CLvBe3wY8hBVcxhwxMo4qVNUbVLUa+DdVrfEe1ao6V1Vn380mU8g+0VxXTs9AbMyynZ197DzQz2d+9iy72tqIJZRILMDBaIxhhT4pI4GfcoYYJMReXyMd1BwaeRg9AMFyd36fD8proazK9ZOVtpCIrBGR+0Xk9yOPKR5rvqq2gZtJG5iXacOCzedmjMmbbJoKfyYiqR3oEWCHqsbS7VCSppB94pIV81nzyKuAq2nt7Oxj484uTl5UR1NtmAPxcgLxLnz+AfCFCDPIICE6pJoNVa4Xvma4g9cNPXNozq6nvgv+IFQkdbqHqqGnLecfeYb9DPgu8D0gPlMnLeh8bsaYvMim4Po2buTXc7imwtcDzwJzReRjqnp/HuObOVPIPrGsqZaLlzVy2xM72dc9wHA8wdLGSo5prAJgq7QwV/ZzbOJVgok4CSCiFXRw6Abkfi1jR/B4Fu57/lDhFKyAsspDJxrscX1dpS2mqt/J0bH2iUiTqraJSBOwP0fHNcaUgGxuQN4OnKyqK1X1VOAkYBNwMfCVPMY2s1IzvUe7JpytuLUtwu9a21neVMM733gUFcEAbd2DdPQOAFCZiLKUnSjCACES4mMOfVTQC4k4gaFuGofbOHaO39W4VlwGzae75sKefZBIuD6uoV43QKO03S0iHxeRJhGpH3lM8Vh3AVd5r6/CpSUzxhwhsqlxnaiqL4y8UdXNInKyqm5zkxjPEql5BtPNVpwy6nBd1xs4I7qNVXt+QeXQft4an8NP9K38fsvZ1JaX8T19gn5C+IAACWKESPhiHEcbtdGHiAQaqVvQRLiinF0v/hHfYDeJUA1z5pxI1eB+6NvnalrnfbYkB2akGCloPpu0TGH8zFYi8iPcQIwGEdkNfB64EfipiHwU2An8Wc6jNcYUrWwKri0i8h3gx977y4GtXtb44bxFVgjjZZ9IM+rwrC03Mj++l4FgLX2BBmri3awe/gG9sTi7a99MDX1EtJyQP0Ai4EPiQwTivQQEFp37IRYNdDO06dccbPchwRoSwSpkOEpkYJD4gmXU/sXPZvbz55GqHjPF/d6fYdVF0wjHGFPCsim4Pgx8HLga18f1KPAZXKGV4T7/4jNuhgvPtk1Psu+pO/H37CZevZD5Z1zGkhVnege4G+IxN6fWQDeEa2iK7YR4nJD4qNBO+uMBYpLgs9zOpoOuS7BWBuknQDyhVOggAQF/WcXoyMWB4WEqEnG6gvMBUF85geEeBnY/w5ZvXEG8eiELTziFRcM7Snp2YxH5ULrlqvqDdMuNMSaTCfu4VDWqql9V1feo6rtV9d9VtV9VE6raO52Ti8glIrJFRF72biTNi5EMF5Ho8JgMF61th6YX2bbpSTru/yoS7SJW2YREu+i4/6ts2/Sk26DtOTeb8fDA6Nxa5bEeQtqPJGLECRJIDDCXCHPopXpeCwcrjqWcKJXaR315gDDD+FFoOnT/dlTDBCRGIDEIqgQGD1IZO0BMhVhlExXd2wk//EUiu18s9dmNT0t6nAt8AXhnIQMyxpSmbCaSXIX7kjmasRNJZj3rRobj+oFvAW8GdgPrROQuVd08neOOSK5h7TzQT1NNKHOGC2DfU3ciZbVoeZ3LIlxeR8JbvmTFmTAYAXzufiuAYBi/CKJxyhJRROMI7u6AOD62dfSzO/AGTgrGWRTf4fYPhl22+KPPGI0zHq4lMhwk5gsRivXAcB8HqaMnMBfx+anXTlA/7HoSel9xQ+armlwNsIRqXar6ieT3IlIL3F6gcIwxJSybpsJbgGtwE0nm8v6b04GXVXUbgIj8GJcRYdoFV2oOwWd2dhHpH6IqHKChyhU8yRkuAPw9u11NK+k4iVA1gZ7d7k24FvoPjp1by+fHF48RljgEgiSGhlASRKkm6BcGhxM8mngdFy86gUUfufXwGZIHuqmqX8COjj76yhaRqK7mqD33kxA/PdXud0HFYAdh7SURSxyaRbl9Mwz3T/fPVGj9wPGFDmLWsMkpzREkm4Iroqr35uHczUDy3b27gTNSNxKR1cBqgMWLF2d14NQcgvVVZXRHh3l5f99owdUzEKO5rnx0n3j1QnzRLjTpPq7Kvl3UJzrhVx93sxbXNEOsf7SPi7JqBocCxOKKPz6A4GOYIMP46ewboszv43j/fiKvHaBttL/q/DH9VTVv+yKVHb30PnUngZ7d9AbnEA01opUuGURAh1BNkAhUgMihWZQHk2ZRLgEicjduFCG45LrLgJ8WLiJjTKnKpuBaKyL/BvwCNx8XAKq6cZrnTjeW/rDMBlPJfJCaQ/C4xko27uiio3eQhCo9AzEi0WEuP23h6Dbzz7iMjvu/SgJX06rs28VRfZsILj7dK7CGYPc6aF4JR6+CgW76975MR7yGPl81CV+QwHCE+XqAhM9HQ0WQ+sHdtAxuodV3AtWVTfiiXbT98ZcMv+XTLLnwzNFzL1nA6CCQbZuepN/ra0uEqompj4DGCVXWgqortDThaoCl5d+TXsdwmVd2FyoYY0zpyqbgGqkFrUxapsCbpnnu3UByWoqFwGvTPCbgcggO7n6WYzvXUju0l0jZAnyV57DVdwxtkQGa68q5/LSFY0YVuoLj0+zzaj71iU6Ci0+nbuEyt8HcY4lEh+netY22PX3EqxfSqadQHuhjgRykQvtop5o9Wk9FYohQdC/ViQ5epYlGOmk+uG90rq3RfrM0UuPoL19ALHwsQwN9+PbtJxGqoaZxKbULTszFn2rGqOrDIjIfNzgD4KVCxmOMKV0TFlyqmq8h7+uA40XkGGAPcAXw57k48Kmh3fTt+iEDgWoigUYCQ92s6v8Jb7ngk5x33lkZ91uy4sxDBcqvPj4md2F77wAbumqYH1jAH078Aj0DMZ7Z8Sh/E7qX7cEl9EsF0eGDVNHHV4bfRiS8lH+K/iuLZD9xDTHkr8afGKQpvo19B8fvn0qOY9umJ2m7/6skyhaQqK7GN9hDW3uEhpMvHP/O3SIjIu8D/g2XyV2Am0Tks6p6Z0EDKzJff2BroUMwpuhlM6pwPvCvwFGqeqmILAfOUtVbpnNiVY2JyN8Av8X1eXw/OUPHdARfuofy6np64+UMxRJQVkN5eZDgS/fAeVlWFFNyF768v486iTJQ0YxPhNryIK+FlvBfsT/hstDTNMT300otP46fzyvSQm1CqfP1U8YQYY1S3ttBTMpI+ILUBaNjTjXePWa/bqsndNQHObnvD9QMttFT3sT6hncw2FbPNaUzqBDgc8BpqrofQEQagd8BVnAZYyYlm6bCW4H/xn3xAGzFzT47rYILQFXvAe6Z7nFS+Xt2U1bVxELfoQl2NRHC3zOJLpVl73AjAAHCNcT6DlDvi7Kh/j2jm5y6uI6HX1pEJHAC1ZV+Wvt7iGqchXPCzK8J49/rY26ih2EJENMy/DpIKNFLIHDU6DEmmkV5T1eUpvoTeXLustF9Eqq0dY0t/EqAb6TQ8nSSXa5MY4wZI5uCq0FVf+pNLDlSU5qxaSmmIt0IQd9gD/HqhePslWLBCrYt/YiXSeN52mL1vBSv5Y3P/TMNeoAOqScw509pXryYpV13UdXbxmuBBjbPPY89oePoHhgGUbp8tYQYJkSMmC/EsK+a4dihP99Esyg315UTiQ6PLofDR0SWiPtE5LfAj7z3l5OHHy3GmNkvm4KrT0Tm4o34E5EzcfNxFa3UEYK+wR58QxEaLvjLrI/R2hZhzQthahs/QvWiAIlNv+R93bfQL+V0Sh0V2sdlHd8iUddC8/IzINxM54F23rDzLtbP+yDRY04k+lQViUQfw+E6YoEwAR3CHxugK1E+OiplolmUU+f8SjcispiJyHG4iR8/KyJ/CpyD6+N6AvXGdkgAACAASURBVLijoMFNUqb+p2vevHSGIzHmyJZNwfUp3DQSx4rIY0AjcFleo5qm1JF58eqFNFzwlxlH8o1Kyv7e1VnBfN8ZPN21kO6BYf4p8iv6JUwvFfgQolJJo6+LRPcOfrZ5Ob2DB6kKBVhcXkPD7t/yrV011NJCPFhOQ+wA4cEuuv1V9IVaiM85NKxiohrVsqZaVp93zJg+sNQRkUXuG8D1AKr6C9xtFYjISm9d5nljjDEmjWxGFW4UkfOBE3C/lLfgJpYsamNGCGYjJft73ytbOXXgDl6reC9afiyNeoB26vD5hHDQ9Z3JsBJMDDA4nKCyzE/fYIwNPQlWVLbzzpOOYvsrb6Kh7Q7ag4vRcDWBWB/h/h4qT3/b6GmzqVEta6otpYIqVYuqPpe6UFXXi0jLzIdjjCl12dS4UNUYMDriT0R+BmSXxqJUtN5NZ6KcrW1xegb2s6u/jFqp4Nz4E9wpx9Eu9VRpHz2JSgaG44hAQiEhfk5ObKJisI+D8TB7mMPzfU38rnUfkeg8tvjeybmDT3LUUBuv+Rp5Ze5bWTS4kPO8086CGtVEwuOsK7mOOmNM4WVVcKUxi2aQdA62bWNdZ5hwUKgKBRCEjuEwx8hetEr5hf9SPhb7IQoMUkG5RlEFv08oT/TSLxWUay9v1A7ui6+kOhRgZ2c/rw0186z/MhoqyxiMKUOdcV73aueYc5d4jWoi60Tk/6jqfyUv9CaB3FCgmIwxJWyqBVdWqZeKSeq9UhVlwoMvdrCve4D5NWGujIap1l7aB929X4pSI/28MjSHLft62Zw4g2Ffgsv1t8znIB1Szw5fE3ECtPgiLnOGVrBVm3ldYA8PizAUT7gSXkFECAeFeELZeaDkE+ROxtXAL0XkAxwqqFYCZcB7Mu5ljDEZZCy4UpKijlkFzM1bRHlweLb4A6zbcZD5NWHmeQl413Qs5+Nl9xIK1oK/kjL6CMR7+alcwNJ5lWzd38v9ibOIHv8Ojp9fA8Dpz/0/nu2u4qBvEWUBoX14iARxjg0c4CFVNKGuSRFFVYknFL8PEomSK/enTFX3AWeLyIXAyC3Tv1HV3xcwLGNMCRuvxvXvU1xXdFLvlXqpvY8yv5+hWAKfz0dtuY/npIXvDL+NKyueoyG+n23M4Te+83mZo1k0FKcqFKAs4KOzb3h0Lo6hymZOlIN0Jnz0DsYIB3zMDw7SG2iidzBOuMzP0HAcEDr7hgn6hZpQgIVzKwv1pygYVV0LrC10HMaY0pex4FLVh2cykHxKvVeqbzBORVAYjCVGl4UCPjYPLOKH4RWEAj5e2t+L+JV5FWW8ZfkC2nsGDsswvy58Dqurf0PdnGoI19B5oJ1Xdnax/qi3clH9PB5/aT/P7O6mosxHVchPdFjpGhjmqhMbCvFnMDl05s41o6+fSMkh8+Ti1YDd32VMvky1j6ukpN4rVRny0z8YpzJ0KCWU3+ejtjxIOOine2CYijI/ZQEfjdWuwGusDrN0fhV7ewZHM8xf8taLqZMTRu/9mjt3EZETr2CwrZ62rij+QICTFtWyt3uQ3sEYVaEAJzXW0D905DQVGmNMrh0RBVfqvVLHN1aybsdB5gSCJBIJegbjBHxw9NwqljXVUB0OsKOjj6d3dbGgJjRaw/L7ffzTO5enjACshQWHst0ugdHkt5/52bM01YbxyaFBmAnVMTMvG2OMmZwjouBKvVfqpMX1nH3c3DGjCj/xpmNZ0lg1us0xjVW8dcV8tu7rGx2JeFpLHfdt2sctj24/LIt7OrMoz6AxxhSNqYwqBEBV35mXiPIk3b1S//f849Nul+xPvOeJsrinU+p5Bs30ZMptOIl8LhN6Yltn2uVnLSmpgb/GTMpURxXOSuPNizVRFvd0joCsGMYYM+OOiFGF2chqXqxxsrhnMsuzYhhjzIzLZgbk44EbgOUk5Z1T1YLNHD9ezWiq+xxB82IZY0xJy2YG2v8GvgPEgAuBHwC3T+ekIvJvIvKiiDwnIr8UkbqJ93JGakaR6PCYmlFrW+YpwrLZZ09XlOrw2HI8dV6sSHSYSHSYhOro60tWzJ/sxzfGGDMN2YwqLFfVB0VEVHUH8AUR+QPw+Wmc9wHgOm825S8D1wF/n82OU+lrSrfPwb5BPn/XZhbXV9BcV07IL5QfeJGT+/5A9WAbPaEmnq48l+a5ywDrrzqSZBpUka3km5Nnct9kYwZtbPvM6MvDBm1ceF3mg6y9IfO68fYzJs+yKbgGRMQHvCQifwPsAeZN56Sqen/S2yeZxMSUU+lrSt2no3eAF/f2EE/AGcfUE4kO49u/mTf2/Awpn0N3aB6+aBcrIz+kYcWnR/ez/ipjjCm8bJoKrwYqgL8FTgWuBK7KYQx/AdybaaWIrBaR9SKyvr29nea6cnoGYmO2maivKXWfl/f3ISLUV5XhE6G2PMibeArCdWh5Hb1DCbS8jmMXN7Ok3dLrGWNMMclmBuR1AF6t629VtSebA4vI74AFaVZ9TlV/7W3zOVzf2R3jnH8NsAZg5cqVOpV7o1L36egdJOjzcVzjoWS3DfH9tEk9b0luStEERHZl83GNMcbMkGxGFa7EDdCo9t5HgL9Q1XEnAVTViyc47lXA24GLVDXr5H1T6WtK3WduVYgF1aHRPIQAHf55NEjf2B0HuqF2UbahmRIzUV9Wrvqbitp4/VjGFKls+ri+D3xcVf8AICLn4AqyN0z1pCJyCW4wxvmqOulZFafS15S8T/Iow5Fa27rwOawO/gaiXRCucYXWQBeccuVkwzMzxLuOvgn4ge+p6o0FDskYMwOy6ePqGSm0AFT1USCr5sJx3IyrwT0gIs+IyHenebxJGamB1ZYHaYsMUFse5B1vvZi6iz4F5XXQvcc9n/2JMQl0TfEQET/wLeBS3D2G7xeR5YWNyhgzE7Kpcf1RRP4T+BEud+HlwEMicgqAqm6c7ElV9bjJ7pNr6WtttVZQlY7TgZdVdRuAiPwYeBewuaBRGWPyLpuC6yTvOfW+rbNxBdmbchrRODZs2NAhIjvSrGoAOmYqjiwUUzzZxnJ0vgPJsWYgeeTMbuCM1I1EZDWw2nvbKyJbUjYppn+rESUQ0/Wp60vt+jElLJtRhRfORCDZUNXGdMtFZL2qrpzpeDIppniKKZYckzTLDhvkkzwqNe1BivDvYzEZM74J+7hEZL6I3CIi93rvl4vIR/MfmjHj2g0kD/lcCLxWoFiMMTMom8EZtwK/BY7y3m/F3ZRsTCGtA44XkWNEpAy4ArirwDEZY2ZANgVXg6r+FEgAqGoMiOc1qskrthtuiimeYoolZ7zr8G9wP6pagZ+q6gtTOFQx/n0sJmPGIRPd+ysiDwHvBR5Q1VNE5Ezgy6p6/gzEZ4wxxoyRzajCT+GaYI4VkceARiaRFNcYY4zJpQlrXAAiEgBOwI3k2qKqw/kOzBhjjEknYx+XiJwmIgtgtD/hVOBfgK+KSP0MxZcptqwmohSR7SLyvJedY32OY7hERLaIyMsicm2a9SER+Ym3/ikRacnl+VPOtUhE1opIq4i8ICKfTLPNBSIS8f4Wz4jIP+YrnmJWDNdO0jnsGjJmKlQ17QPYCNR7r8/DDTV+L/Al4M5M+83EA3gLEPBefxnX55Zuu+24wSW5Pr8feAVYApQBzwLLU7b5OPBd7/UVwE/y+PdoAk7xXlfjRn6mxnMB8L+F/Hcrhkehrx27huxhj+k/xhtV6FfVA97ry4E1qvpzVf0HoKApm1T1fnW1QHATUWae0yQ/RtMNqeoQMJJuKNm7gNu813cCF4lIuptmp01V29RLvaVu2plWXGYJk6IIrp0Rdg0ZM0XjFlxe3xbARcDvk9ZlM6hjpow3EaUC94vIBi/1T66kSzeU+p98dBvvizICpMybnntec9LJwFNpVp8lIs+KyL0i8rp8x1ICCnHtjLBryJgpGq8A+hHwsIh0AFFgZFqT43D/gfIqRxNRrlLV10RkHi4T/Yuq+kguwkuzLHWUS1YpiXJJRKqAnwNXq2p3yuqNwNGq2isibwN+BRyfz3gKpcivndEw0yyza8iYLGQsuFT1X0TkQVzb9/2qOvIfxgd8It+BaQ4molTV17zn/SLyS1zzTC6+fLJJNzSyzW6v5loLHCBPRCSI+8K5Q1V/kbo++UtIVe8RkW+LSIOqFlsy12kr8mtnhF1DxkzRuJkzVPVJVf2lqvYlLduqU5jKJJfk0ESU79QME1GKSKWIjMzaXInrlN+UoxCySTd0F3CV9/oy4PeZviSny+v3uAVoVdWvZdhmwUj/iIicjvu378xHPMWsCK6dEXYNGTNFxdRXNRk3AyFcEw7Ak6r6MRE5CjcT7tuA+cAvvfUB4H9U9b5cnFxVYyIykm7ID3xfVV8QkS8C61X1LtyXwO0i8jLuV/IVuTh3BquAK4HnReQZb9n1wGIv3u/ivvj+SkRiuKbfK/L1JVjkCnrtjLBryJipy+oGZGOMMaZYZJNk1xhjjCkaVnAZY4wpKVZwGWOMKSlWcBljjCkpVnAZY4wpKSVVcInI57zM1c952anPyPHxLxCR/02z/GkROcl7HRCRPhH5YNL6DSJyioi8M12Wb2+bXu+5RUT+PGn5h0Xk5izju1NEloyz/sPesO7JfLZGEcnpUO9iZNeOXTtm9iiZgktEzsJlOzhFVd8AXMzYXG/59Dhwtvf6jcCWkffeDapLgGdV9S5VvXGCY7UAfz7BNocRlxfOr6rbxtnsw0DaL59MVLUdaBORVZONqVTYtWPXjpldSqbgwqWe6lDVQQBV7RhJyyMip4rIw96v19+KSJO3/CER+YaIPC4im7y7/RGR071lT3vPJ0xw7sc49OVzNvBd4CTv/enARlWNJ/8C9jIiPCEi60TkS0nHuhE41/vVf4237CgRuU9EXhKRr2SI4QPASJ49v4jc6n2m50XkGhG5DFgJ3OEdu1zcfE8visijwJ+O8/l+5R1/trJrx64dM5vM1Pwp030AVcAzuHmCvg2c7y0P4n7VNnrvL8dlIQB4CPgv7/V5wCbvdQ2H5mS6GPi59/oC0sw3hPulu817/SPgRGAtbt6izwFf9NZ9GLjZe30X8CHv9V8DvenO4e2zDZeHLgzsABalieFh4PXe61OBB5LW1SV93pXe6zCuVnE8LlnrT9N9Nm/bZuD5Qv8b27Vj14497JHNo2RqXKrai/tPtxpoB34iIh8GTgBW4FL4PAP8P8bOsfQjb/9HgBpxM97WAj8TkU3A14Fxp2dQ1e1AmbgZoU/ENfesA87A/Yp+PM1uq0bODdw+wcd7UFUjqjoAbAaOTrNNE+5zg/uyWiIiN4nLvZeaxRsvzldV9SVVVeCH45x/P5NsJioldu3YtWNml5LKVaiqcdwvw4dE5HlcAtINwAuqelam3dK8/xKwVlXfI27uoYeyOP0TuFxtbaqqIvIk7gvmdNyEhNmcO5PBpNdx0v+7RHG/hFHVgyLyRuCtuF/k78PNLTXV84e9489adu3YtWNmj5KpcYnICSKSPPfPSbimkS1Ao9cBj4gEZewEd5d7y88BIqoawf1q3uOt/3CWITwGXIP7EsJ7/hCwV1W7Mmw/khQ1uQ+gB9dMNFmteDNPi0gD4FPVnwP/AJyS5tgvAseIyLHe+/ePc+yl5D77edGwa8euHTO7lEzBheunuE1ENovIc8By4Avqpj2/DPiyiDyL68s4O2m/gyLyOK5T/KPesq8AN4jIY7jM3Nl4DDcC7AlwU517+6Zr6gH4JPDXIrIO92U34jkgJm4W2WvS75rWb3B9HOD6FR7ymrduBa7zlt8KfNdbLrimsd94Hew7Rg4kIitF5HtJx77QO/5sZdeOXTtmFpnV2eFF5CHgM6q6vtCxTJeIlOM69Vd5zV65PPYjwLtU9WAuj1vK7NrJ+th27ZgZV0o1riOaqkaBz+N+MeeMiDQCX7MvntnLrh0z28zqGpcxxpjZx2pcxhhjSooVXMYYY0qKFVzGGGNKihVcxhhjSooVXMYYY0pKVimfRGQOLh9ZFNiuqom8RmWMMcZkkHE4vIjU4nKZvR8owyXpDAPzcfnVvq2qa2coTmOMMQYYv8Z1J/AD4NzUfGoicipwpYgsUdVb8hmgMcYYk8xuQDbGGFNSSmpaE1McvGzqHwTOxc31FMVlCP8N8EMvi7oxxuTFlEYVisjGXAdiSoOI3Av8JfBb4BJcwbUcNwljGPi1iLyzcBEaY2Y7ayo0kyIiDaraMd1tjDFmqqzgMsYYU1IyNhWKSI+IdGd6zGSQpjSIyJpCx2CMmf0yDs5Q1WoAEfkisBe4HTcz6geY2vThZvb7z0IHYIyZ/SZsKhSRp1T1jImWGWOMMTMhm+HwcRH5APBjQHGZNHI6/Xe2GhoatKWlpRCnnvU2bNjQoaqNE20nInfjroO0VLVoRxTa9ZM/2V4/pcqunfya7PWTTcH158A3vYcCj3nLZlxLSwvr168vxKlnPRHZkeWm/+49/ymwAPih9/79wPYch5VTdv3kzySun5Jk105+Tfb6yabgalbVd6WcZBVF/iV1RNm7CVrvhsguqF0Ey94BC1bk5VSq+jCAiHxJVc9LWnW3iDySl5Oa/Mp0/czgdWXMZGRzA/JNWS4zhbB3Ezx+E0S7oKbZPT9+k1ueX40ismTkjYgcA8zapqJZK9P1s+lXhbqujJlQxhqXl9bnbNwX1KeSVtUA/nwHZrLUejeE66C8zr0feW69O9+/jq8BHhKRbd77FuD/5vOEJg8yXT/r1sD81xfiujK5sPaGw5ddeN3Mx5En4zUVlgFV3jbJw9+7gcvyGZSZhMgu94s4WbjGLc+vtcDxwIne+xfzfUKTB5mun542OHrV4cvzf10ZM6Hx7uN6GHhYRG5V1R0AIuIDqlTVbkAuhHR9DrWLXDPOyC9igIFut3zTr9wv5542qG6C4y+B4b5c9Vk8oaqnAM+OLPByWJ4ynY8oIotw0+ksABLAGlX9Zso2FwC/Bl71Fv1CVb84nfMesTJdP9VN7jnddWVMgWXTx3WDiNSISCWwGdgiIp/Nc1wmVaa+iMZlMNDl3mvCPQ90QbASfvd5iEagcj707IWHb4TdG6bVZyEiC7z52MpF5GQROcV7XABU5OCTxoBPq+oy4Ezgr0VkeZrt/qCqJ3kPK7Smatk70l8/p61Ov3zZOwodsTFZFVzLvRrWu4F7gMXAldM9sYgsEpG1ItIqIi+IyCene8xZLbkvQnzuOVwH7a1w9ifc++497nnppa6mFe2CwQjEohAfAn8IOl4cu3/r3ZON5K24IfELga8mPT4FXD/dj6mqbaq60XvdA7QCzePvZaZswYrDr5+zPwEr3p1+ufVvmSKQzXD4oIgEcQXXzao6LCK5yMw78st6o4hUAxtE5AFV3ZyDY88+4/VlLVhx6AtlpGY2EIGyaojHILIHNA7BchjsPXz/SVDV24DbROS9qvrz6X2o8YlIC3Ay8FSa1WeJyLPAa8BnVPWFDMdYDawGWLx4cX4CLRWZhrcnXz/JMi03psCyqXH9J+6erUrgERE5GjdAY1rsl/Uk1S5yfQzJ0vU5jNTMwrVeLSsAvgAkYjAchVDV+Ptnb6HXhCwi8j0R2Sgib5nqwVKJSBXwc+DqNH2qG4GjVfWNuFszfpXpOKq6RlVXqurKxsYjeLR+4W6bMCbnJiy4VPU/VLVZVd+mLrHhTuDCXAYx3i9rEVktIutFZH17e3suT1taMvVFpPY5RHa5mtRRp7iCa3jANQ2qQnwQGk7MVZ/FX3gFyluAecBHgBun8xFHeDX8nwN3qOovUterareq9nqv78G1CjTk4tyzVqam5sk3FZcUEfm+iOwXkU1Jy+pF5AERecl7nlPIGM3kjTetyQe9UYRjqBMTkWNF5JzpBjDBL2v7xTxiwQrXd7Xvedh0p3teeunhTTkjNbN5y2DJBRAMw1CP+6I6/1pYeGqu+izEe34b8N+q+mzSsikTEQFuAVpV9WsZtlngbYeInI67jjune+5ZbeQHTbIjY3j7rbiZupNdCzyoqscDD3rvTQkZr49rLvC0iGwANgDtuKnZjwPOBzqY5j/4RL+sTZK9m2Drve6m0KNXucJp673QcNzYwmfZO1wTEEDjCd6w5q58dKxvEJH7gWOA67x+ykQOjrsKN/jneRF5xlt2PW5QEKr6Xdx9hH8lIjEgClyhNiPq+Ma7bWIWU9VHvBadZO8CLvBe3wY8BPz9jAVlpm28+7i+KSI3A2/CfZm8Afcl0Qpcqao7p3PibH5ZmyTpMhz0d8K9fwdzWsZ2tp/9ibGd8KdcmY9O9o8CJwHbVLVfRObimgunRVUfZYKam6reDNw83XMdUZJ/0IRrXKE10OWujSPPfFVtA9fXLiLzCh2QmZxxRxWqahx4wHvkWtpf1l6fhUmVOqqwdz/se8GNFjx61aHO9pGaVZ5Gg4lIi6puV9UEbpAEAKraCXR6P0iaVXV3XgIwUzNzP2hmjWIckfr1B7aOeX/Nm5cWKJLCymY4fF5k88v6iJU6bLlxGRzcDtsfdQMr/CE30MJfBtULDnW2w0zkkvs3r+/z1xzehHwhcBHwecAKrhStbRHu27SPPV1RmuvKuWTFfJY11U7+QOmuj/bWiTOi2PD2EftEpMmrbTUB+9NtpKprgDUAK1eutKboIpLNcHgzk1KHLXe+4jJgxOPeDcV9ED3oXvd1QEXSYLoZ6GxX1T8D/gE4AfgW8AdcIfaXwBbgTaqajxp6SWtti7DmkVeJRIdpqg0TiQ6z5pFXaW2LTO5Ama6PjpdtmHv27gKu8l5fhbt+TQkpWI3LZJDcl9W7H3Y9CQM9ED0A5XNBYzDUDyKu0OrvOLTvDHW2ezeJfy7vJ5pF7tu0j9ryILXlQYDR5/s27ZtcrSu1r7PnNSirgt42N1DHsriPISI/wg3EaBCR3bjWgBuBn4rIR3G39/xZ4SI0UzFhwSUiIeC9uGkrRre3/HB5MtKX1bsfdj3lCqmySldADfVA7UJXOPW1gy/oal2aONI724venq4oTbXhMcsGYzEe2Hxgck2HqX2dA90QqnbP+1vhtY0w2OOakRuXudRNR/CEkKr6/gyrLprRQExOZVPj+jUQwfVnDOY3nNKSsz6LZCPDlju2QCAMZRXuJuJACBA3krDSD1XzoPoo94u7e491the55rpyItHh0ZpWR+8AT207SHU4MKbpcPV5x4x/DaUOaw/XuETKiWHY9pArsPwh92Pmd5+Hrp2w/wVXS0tuSrS8gwZKdt6ubPq4Fqrq5ar6FVX96sgj75EVuZz1WaQayZDR1+G+hMqqXAaM8nqvZtXjkuZWNYHPD5d+Bd79bXex2RdR0bpkxXwi0WEi0WESqmza040ArzuqBp/IaDPifZv2jX+g1Awq1UfBUK93vQRdei8SUNvsrp11a47IjBlmdsumxvW4iLxeVZ/PezQlJF2fxYHeQT5/12YW11fQXFfOu5oOsKR97eFNNJmabkaWD3TDcD/EBlzTYMNS11QY2e2+rOpaXH9GgZt8RKQZOJqxTciPFCygIrasqZbV5x0zWkMfiic47Zg5NFYfaj6sDgfY0xUd/0Cpw9rnHgsnvh3+92oQv8tNWTHfNS8nEtC1/UjNmGFmsYwFl4g8D6i3zUe8KdoHcUPYVVXfMDMhFqfUPov2ngG27utlOJHgjGPqCXW20vH8D6ld3Mzc+qQmmqWXuowXqU03ycsXrHBfPLvXuZrV3CUw0OQKuSJp4hGRLwOX4+Zoi3uLFbCCKwvV4SB7IwO82tHPvu4ow3HFJ0JTXTmtbRHXXDjRsPczP37oWli3Bnr2udskul9zTcuKq2U995NDt1FUz3fXVMNxBf38kyUiq1T1sYmWmSPDeDWut89YFCUouc+ivWeAh7a20zcYoyoUoLN3kHf0/YFEWS1bIwHOmpt0n9W6NS5t08iowY4trplnx2Ow6MxD28091hVqu5+Cto0uddNpq4ui0PK8GzhBVa3fMwsjTcu15UGaasN0dEf54/YD1IWDDMYTxBMQTyQ4trGSNY+8yideN8CSrf996AdOx8vw7I9h4WlQf8zhfVXHX+ImCvWH3PQ10Yib7XrOEujd55oQfVGXbDmypxQnhLyJw2fXTrfMHAEy9nGp6g5V3QH888jr5GUzF2JxGumzeLW9l407uugdiOEXqAoF2Lizi2DvbhKhanoGhg/tFK6Bnjb3PDJqcHjA9V8NRFwmjF7vXsje/dCzB4IVsOIyV9htvbeY7s/ZBgQLHUSpSG5a9okQjSnzqkJ0D8ZIKFSE/DTVlhMdTlBbHmTfU3eO7ZvqbXN9Vj2vpe+rGu6DRWdBqNI1Mwvux07ca24OVbpCKzHkCr/21oL+PbIlImeJyKeBRhH5VNLjC4C/wOGZAsmmj+t1yW9ExA+cmp9wilOm0YMXL2vkX+55kZ5oDEWpDpdRV1HGgb5Bnumrpr53P/FQLQf276K+f7urWcWHoXOb+yIKhF329r4D7kQHX4XOl10/RTzmBl9UNrj9qrx0agW+P0dEbsI1QvUDz4jIgySNNlXVvy1UbMWqtS3C/Zv3gkJ1eZDjGivpHhimoszPcLcSDgoCxBJxXmnvJRId4uz+VzlQ2Uj9vuddn2fvPqha4L32auo9+2CwG159FDq3QqgG6hZDwwmumbmsyhVQtYugYo4ruAZ7XI2tdPq4yoAq3HdVddLyblyy5ZKVmr4JiiSFUwmMNByvj+s6XFbuchEZmW5EgCG8NChHgtQmnpHRgxcva+R3re2UB/0014bpHojRFhkgoUr/UJx746fxMd891NFP9JXtRKtClPv9bj6sPevdl0jNUa7Q6nkNfGXuSwXc0OaR53jc1cwWneEKscJ/4az3njfgMhAks7Q4KUaunzK/D1VlcDjOxp1dDMfitPcO4fe5Zo/oUJz27hhVIT8hv48YQYa2PUZ/7Rwqyqvd4JyuHVA5D3b/ERJxd2uEqpviBh/EoQhGCQAAIABJREFUO93Iwt1/dE2Dgz3uHq/YoPuBFBs8lGC3RLLCq+rDwMMicqvX2mPMuNnhbwBuEJH/396Zx8lxVff+e6qqt+meRdKMpJEs2ZJsY8lGGFvGNovBbDEQbMAkZglbSPzh+bGF4PeSkARDPmwhCfAgBhzMlhDMEoNNvAM2NsY2sg12tFm2tdiSRiONZqZnenqtqvP+uNUzPa1ZWrN1t1Tfz6c/6u6qunVn5qjuveec+zufUdXGGm4XkNu39OJ5Ptt6hsjkXVJxhxZH+NStO0hEbHIlj6G80NESBeDAYA4RoSe+ju2r3skbe79MBI8+N8GqNWeblVOiwyhi5PqNW6dthdmLZUWMMgZiHkiWA6UMON1mhm1H6/7AUdXvAIjIh1T1S5XHRORD9elV41J2EZ61so1H9g4Sc4SYLRweLuH7SlcqRqbgkSt5gCKWUPCUxakIdgbSOZeWBMYtWMgYua/4ahjpMeopTtRkD1qWWc3nBqGtG4o5s22i8wxjW24B8GHRmmbdqB4Tkes4Wgjh5XXrUUjdqMVV+CMRqQ6ApoG9qurOQ58aiq0H0uzrzxGLWKRiNulskR2DOVyFld1x0jmhJ50HoC3ucAChuz3OplMW4aVWkU6vYKj1bDJFn1Vld9/iNSYmEWuDA78zD6X+XSZ2IVEza/aCVZcbiOmO9DXaA+ddwJeqvnv3BN+dMJRdyg/t6uOZgRyqUPJ8Tl+axFWhP5NnMOvi+ooCHS0Orq+sl71cIL9hQ3QvrV6WSKGdtlIve70OTir14OZ24ahnBqpSFobjpipAtNWs1v3Ardy60gxWmUNmUmTHTHKPOCbGlVhiXNTx9rHY2ERu58ZU2vgR8DXgG4xlsYacoNQycF2Lydx5HOMqfC7wGLBERN6nqnfOY//qzlDeBYF4xMSBMwUXBVzX56nDI7REbRa1RBgumAdSa8LhjOWtdKbiLMk8SXv+AN39D+NYwJZWs+JKdcPyjSa9ee/9Jn1Z1cyeRcAtAj74aj4P95gNpQ2QCi8ibwXeBqwRkUpXYSsncBXisktwIJNn24EhLMvCEii6Hg/tGaA97pApePiYQUuA4ZzL2ZH9vF3+Gyvmc4p7GMVC8iNEtcB6esiQxPdKeJZtMhEsBwppiCSNXaia/VuK+ZzsNIk+dsxMhBAzyKVWwEgvdJ42cVZimbKIb+Mpbbiq+tV6diCkcahl4NoDvFdVtwKIyAbgauAfgBuB43rgak84pLNF8iWPmGMxnC+RL3lEbAtLhELJJ6c+yZjDxpM6RmNfsSPbObfvBrJelMVehqgVgWxpLB25+3kmS/Ck8+HwNhN3GO4NEjMKZpZsWdDSZTrSOKnwvwF6gE6gUkFlGDO5OSEpuwR/u/sIUccmFrFwPSVf8rCAwaxLLCKoJwhK1BF8hXNzvyabSHGyu4scUVyJEpMSbV4aD4vFDOKLjYuNjR9sLHZNzEsss9LyXTOgqRobiqXMKl0sY0+lPPRth/bVZoW2ZN3kYrwTFSyd6LyF52cichXwE8YnA/XXr0tzz7HW22rYBI95ppaB64zyoAVGGVxEnq+qu0zNwOOX7T1p0jmXbNFluOAiQK7k4yvYlrCoxSFX8skUfDxlVGdubVeKwVv/g34/wSl2EbtjJRE/C9kBSD9jYln3fR66NoBtw8gRE7tQF9ySOR5JGFfiopPNCu3wdszWqfoSBMj3AhfWuy+NRHlDeqbg0hKszm1L8BTaEg5HRlxUzcIo5giI0Baz6S72MazLSGmWjsWL2T9YoKgOMXFJR1eQLDyNYuOpQCJQwGhbCYe2GFeheuBHwRKz8soPQsfJkDloBjUwg1ghPSbGW2YiBY1qEd/Jzlt4ymVIrq74ToG1dehLSJ2pZeB6QkS+CtwQfL4C2Bmoxpcmv6y5Kbt+lrfGGMqWKHgefcMFbAGxBEuE/pESXa0xWmMRTlqcGBVHXd/dDkuysGYdPLETYktM8rh/CON37DDpzfsfMTPafNrMjp24cRNGWmDty2DpetMZ9RvhwQGAiAwzRfagqrZNdqxZqUVMubwhPRVzyORdfFVyRQ9Xoej6gHEPWkDeVUSUouez3+5kuZchb6dIWB6LklGklMP3UkRtKFkJShLFt2MkLAlWVr5JdW9bCYl2KI6YDMP8sJn0lLJGOcNzgxV80dhWYdicX6Z/t1mB/fSqsVhWtYgvNEQWoqquqWsHQhqKWgaudwNXAR/G/N/7NfBRzKB18bz1rM5UbhgteT6/fqqPvOuDwuKkg2PbDOddDgzmaE9EGcq73HvvL4k8eSupgW2sLj5NwoGolzWPeS9v/o3EAT+IP2AeOFbwcME84PBKpjxFeeCa6AFTJ7eNqrYCiMgngYPAv2Ps4u2M32czY0TkEkyShw18Q1U/W3U8BnwXs5/wCHCFqu6Zi3tXM9l2iGoV90vOWhZMdKI8PpTH98frYFlAzh0b71XNgbtkE3/u3ka6pZOBwT20xaNkvBIHI6ew1H2Wnvg6luaeJm4Dng1OixHVPfsd8MQtRs8yNzDW4JLTYXC32dTuFU1yj3rQud7EuJauNwNf/26z12vlpomlx2Asdb4BkoJE5J0Tfa+q313ovoTUn2nV4VU1FyjCv1FV36Cq/6SqWVX1VTUzm5uLyCUi8oSIPCUifzWbtuaa/YM5WuMOh4fz7D6SxbEtOpMR4hGLXEmxBCK2ICIkYzan+7sZuedLOANPs8w7iOcrVvYwrlsyMSuvGOzPEhOTcMrBc9+oGYwuYiyTGVaus3Xk6THNwsaqcPsHqnqtqg6r6lAQOL98to0GG9z/FXgNsAF4axBXreS9wICqngp8AfjcbO87GdWKF5OpuJdFdG3HYXEyigZe9KgtpKIWti2jMg9W8HIE9jhr+VnyTey3VzDUchJDkiS1/FT6Fz+Xmzqv5OCS89HlG4kkUsZm2pbDKz8Br/m0+dcrGLuKJc0qfcMfGgUNIXA3J43qyqkXm/OXrDPp8cMHzKDVeep4JY7D200iRqLDnJfoaITEDIDzKl4vAa4BLq1nh0LqRy2FJF+EMZJqFfBZ+ZYrHlCvAvYBm0Xk5qC6bt1Z2ZFg9+EMDz8zYFw+ns+wG2T5qXIwXSBiCx3JKK9beoSX77mWFIO0ZAtILIVtCQUria0ejhOkt1s2oBDrALfXzITLiAC2eYiomg2m1Q8YaKRguScib8e4kBV4K3OTpvwC4ClV3QUgIjcAl2HEfMtchrFJgB8DXxERUdU53wA9UQHIahX3sitx64E0uw5naI07RHIlUlGbeNRBFY6MFGlP2vRnXdqCDENUyZV8+jIFesmzPFKgSJG2Drhw7RIujFjw5DYo9BpFjPOuNIUhy5z1BnjqTuMi7Pkd7L7XrNS7nw9rLjLlbio5uGVM6ik/BEtOG3+8HMtaftb4agUPXtsIK/0PVH4WkXbMaj/kBKQWV+H1wF9glBLmcv9ELQ+ounH6siQ3PrqPTN4lGbXIuDBS9GmJWLQmHPKuj2MJr+3s45WDPyXpDpCx2mj30kSLRQSlZCfw/CLx5etNSZLcoNksmh8wj3otJ0ZrkNaM+SyYAeoN1xr3YGMGy9+Gced9CfPT3B98N1tWApU/3D7g/MnOUVVXRNLAEqCvujERuRK4EmD16tXH3pmqApAAw3mXlR0JYMyV6Hk++/pzoNCfKSJApuBhWYIlFrZlNhNbArmSh6+Kr3AGe/gT/1Yc8Vjq9WCLTebgUzj5fpID26F1OSSXGdHcn3/cdKBy8CpkYNfdgXxYUHR0192wrmpfbnWa+6EdZivGKS8ZkxOrjGU1blp8mSxw2rRnNTkTZQ2G1FZIMq2qt6nqIVU9Un7Nwb0nekCtrD5JRK4UkYdF5OHDhw/PwW2PZntPmi/ctZOP/ugxvnDXTrb3pNnZO8I5qztIxR3yrqICqaiNZUkwW4aC59O25w4ePqT0+q1EvSEiuES8LFEvi+PlUDtm4gwdq4xsk2WZz4l289CItWL+DGqyCkUhscjstwHzIKnMBINGCZbvUdXLVLVTVbsCN/KeOWh6olTV6pVULeeYL1WvU9VNqrqpq6vrmDtTXQCy/P6Ss5YBY67Eg8MFYhGL5e1xLBGijo2vylDeo+T5BE5hopaMhqMA/sDazBAtLJcBCsTIWSnUjmH3bTd7sbyisZlE+1hhyEoG9wZp8Y5ZtVuO+TxYpY5UmeYultmOAdDzmHFJ5wZNLKusGl99fp0LUIrIz0Tk5uB1C/AEpjp7yAlILSuuu0Xk85g9W5X7Jx6d5b1revio6nUE2oibNm2ac1fQZMH3TKHEGcvbSMUdHtk7SO9QnrgjjBRNAkV7wqFvpES3c5hD2kkfrZyue/Esk+qs6hHzR3AirSZmtWiNyfA65cWw7Kyx5AyAPfeZB05LF5RyJvh+2iXm2PrXm5kuNESwXET+j6r+Y4XY7jjmQGR3H1A5Kp8EHJjknH0i4gDtwLzs56kuALmyI8EV5500mpgxmgafNzqDIsKKRXF6hwqkYjEGci6xiJnwPHdlkicPj+B6vlmNqXKS9NErS2iTLK6dMgtxO4btFyDSEUg1BcRazSbjSgpDJv09P2DOdWKQPNl8X0l1mntqKZz8IpPZOrTfTITOecfYaqrx0uL/qeK9i1Hu2TebBkVkD2b/oYfZ4LxpNu2FLBy1DFxlN03lH1WB2WqE1fKAmndu39KL7/ts7xliKF+iLR5heVuMdM5lOO/SmYpz7skd3P3EYQZGihRKPpZARs06qUe6OJkeNsouM+HFx1PFwUItC80NstPv5EhsEcvOf7OpiFyZbuwXTfmJQtqkMcdS0HmukYSCoyveVj9gFp5yPYyHpzxr5mwGThORNcB+4C0c7YK8GbOv5wGMQvgv5yO+VWZ9d/tR6e8Atzy+n9883cdwzgWUVMzGsiyGciUUSEQiPHdlO5+4dAO3b+k1qzaEfMmjL1OgUPI55C5liWTJSZJFfoak5GjJmXqtXqYPX300uxlfIljRFqKx+Pjs0tZu40bsqHCD5tLm+0omSnN34nDG6yZW/m6wtHhV/ZWILMMkZwA8OUdNX6yqR7mYQxqbaQcuVZ2vlPdaHlDzzraeNM8cyRKP2LTGHPIljx0Hh1nUEiGdM9vUFidjrGiP0ZvOY4nZQDpSMs/JXdYq3iS/JkWOAgmiFGi1XArJFTxbaqNNhyklV/K75Et4cmucD5x5sSkQCGYGO9IH8VY47VVjsYbqfVvlYHlj8GyQCPGd+Wg8iFm9H7gDkw7/TVXdGqTfP6yqN2Pirv8uIk9hVlpvmY++TMUtj+/ns7c9Qcy2yNtCruhxcMgj6pgwZjxik86WWNcp46oJLG+LsePgMBFLGHZ9HohcyB+XbiIvcTp1D2DjY+NJFFtHECw8jWFrATs/QjaxgZbKmNNpl8DD15tOxVrNXq1iBi66enyHj3Xl3ngr/T8GPg/cg/HWfFlErlbVH9elQyF1pZaswmXAp4EVqvqaIDX5QlW9fjY3nuwBNZs2Z0I65yIio1qE8YjNUL7EMwM5UvEI+wdztCccDqQLLGuLMZx3KXpm1YXCWv9ZHrNP42zdQULy2Hi4TpJ8oUCKYWLkWTayjdcXv8jPVnyYm3rW8xeVK6hkp0l1Lw9a0BAxrCn4Bkan8FFMQsZvgAdVdWjqy2pHVW8Fbq367u8r3ueBP5qr+82E7zzwDMmYQ3siQjLmsOfICLbnUXIhFXdojTu0RG1yrnJKIsLO3pFRl2O25JHOuSxri1OUM7mvGOddQ18jp23ELIjFE5A5REmj2Ci2eIgKReKURvrHYk5gVuav/ISJfQ33mJXWRVePT+CAY1+5N95K/2PAeap6CEBEuoCfY7JKZ4oCd4qIAl8PwhKjzDaxZyG54JmKrt+9ZO5v0GA1umpxFX4b+BbGcAB2Aj/AzHpnxUQPqIWmLe4wlC2NahGmcyWODBdoS0RZ393GcN41Ky81GWa5kk9POk/J8xnOuyzXw+z2ljJsxXm+7qTbGmTIjRD1h2m3R8hEu8jbbSSK/by07wZuK74ZXnX52AOgnL2VG2yIme10qOomEWnBZIW+EPggZvVzELhfVa+qawfnkKkUM3qH8ixNRUfP9Xwl4lgUXJ9VixKk4hFUlaF8iYLrcte2/tF2PvKq06tcjxfCT39jYkpB7HPkvn/FdTqwcRloOYVF2T14ODjuyNhl5ZjT+tebRJ/yAFPeOlHNsa7cq88/uMU8wOqjGm+VB62AI9SWXDYVL1LVAyKyFLhLRHao6r3lg/MdXw+ZObX84TtV9YcEsg5BKZPjoqzA9p40Q3mXgWyBpw9n2LI/ze7DIxQ9o+J9JFMY3XCKwHDBIxlz6G6P0xp3iEcsDmgnrZJlxFlMb9tGNNJCnDyglNRhUe5ZVmYeoyO/n5bsPl5UemB8J8oz28bb8DkpwQb0ezCp8F/A7MdLApfUs19zSTlpJ50rjUva2d6TBmBZW5zhgsdIwRQQFTGDly2wfzDPSMGl4PrYIjy0a4CILRO2M0pV9qjrJLH9PJ5lBkfPimL7eVwnOXZNfshkHpYnPvO5Qb1yglWfjfC3i8gdIvJuEXk3cAuznPSq6oHg30MY8d4XzLqXIQtCLSuuERFZQpBBJiIXYOpxNTXlB1OLY+ITgqmd5CuggiPCo88Mcs7qDpakYqzqSHAgqLvVGrNx40ZJYV/iFbzKuoVCRCjYyziQfx7Lh7fgFNIk/QHAQhEUWJXdyrKWCTrTWDGsKRGRt2FWWmdjskw3Aw8BL1bVg/Xs21xSqZgBjP57+5Ze1ne3864LV/PZ254gW/SwLYjaFkXXpTMVJV9SDqbzLElFIdied+aKtlHljcp2RqmKKVlL1+Psf5AcEfA9ikRo1RJalmwqr8wjLQuj5l4n1XgRORVYpqpXi8ibgBdjfqUPAN+bRbtJzCpuOHj/auCTc9HnkPmnloHrI5gsrnUicj/QhcnkanimcvWUH0z7B3N0dyTYP5gbVe/2fGXfQA5LYN9AlnNXd3DBuk5aosJ3HniGZweytCcivOvC1WSLJ/GrI608f+Q+Wgs9DCZWsydyKq/u+Wp5dxYuDr4VIaIlWob31PE3MidcB+zAFPW7V1WbbodkLaK50ylmvG7jSvYNZPniL56mUPSwbaEtHsGyLBIRn5IPq5e0sG8gx3knd9DVauqzndZ/N6l8DwfohOf++dhDf/lZ7Dr9PfQ+9GOW9N3BMq8XcaK0uv1E3QxDqTV4z38ny+Pe+JjTg9eaOGklbh523DK3Lr36pcd/EfgbAFW9EbMtBxHZFBx7/QzbXQb8JKhw4QD/qaq3z7q3IQtCLVmFj4rIS4HnYGY6T2AKSzY004mjVu6/aU9EODiUJ+JYFEv+qB9UgFzBY/PeAdYtTfJMv8erNyynNe4wnHfZcXDEZIv1n8yhrlNpjTsk+new6cB/mOvFRhCieIHckz1W2bh5aQeeh1l1XSMiz8HU53oAeEBVf1nPzk1HraK5tShm7Dg4wqqOBIeGC9hBtk5rzKHkKS9fu5hPvWkjX7hrJ+lciSWZJ9l04D/IO60csTrpsnLjlCi296S5bmuc8+2TOcO/laykOGx1sbLVpd3P0f7KDx2dcAFHp61nDhlFjFjb3Cpe1C89/hRVParOm6o+LCKnzLTRQLHnebPoV0gdqSm4qaquqm5V1S2qWsKU0W5oKl09/SMFtvcM8fi+QT5+8za296RZ2ZHgmSMjpHNFnjyUIVvwKLn+uOCdp6ACHYkIt289hOf5bOsZ4hfbD7GtZwjP80ezxdoTEfTgFl5/4ItstHZhW465uFyF1vdAIkfPjpsMVfVU9VFV/Yqqvg14LXAb8B7grvr2bnpqFc2tVTEj4lgg4FhgizCYLZZFvMa1s6r35+TsVoY0Sd6DVSu6xylRlNt7Uf+NlOwW3Fgbjm3T5yYmVswos/71xmWYGzQuxJ7HzPfdz5tbxYvq+1Qrbcwf8SmOJeb75s3IA7uOjHuNcvdnjn41KTPNymn4CpJldfe+TJ5H9g6SL3ksbonQnyma2FbUxLAilmAJ+CjuBHlDtmU2jB7JFNnZm6FQ8kjFbAolj529GbYeSLO+u52/eG6Rj6buZFV0hHhrVzBABcOgU/6/5xmh1CZGRDaKyPtE5LvBPqrNwEXAlzlaU7DhKNtFJdWiuTCmmNGeiNCTztOeiIxblZXbUYWV7XEc28LHTHbOW7OIoqfj2unyD3HEjRGL2Jx7cgddqfg4V1u5vWTxEAXLJGDYllB0vYkVM8pUJ/d4RaOIUbm9Yi5cevVLItosIn9e/aWIvBejnxpyAlJLjGsiGj41tOzqeerQCDHHIh6x6R8pkC15PLynn7u2HaQlYuM4Fr7v4/njr7cCrVtRKHlKyfXpGcqRijksaomSjDkUXJ+hvGsuKAevk51G6HRxUPdupM+Unogk4CVXw4tnq4hUd76N2b91G/B3QUXkpmEqF+BEsa/KMuhlTcttPWm2HhjCQvBRUlGHkxa1kC95xCM28Ygzrv313e2w/izOmsLVVu7XSHQpMXeYgtWK5ytRxzabiquVMCqpTO65+zNmNVTJXLn06pNE9GFMLOrtjA1Um4Ao8MaF7kxIYzDpiqtK1LLy9TOMEndDU3bR9GUKRG2hf6RA71CBiCUmVbnk4ani+z6Zgo8N2BXryLKAkOcr+ZKHZZnjhWAfV/9IAVWlPRGM/elnzcy28zkmOF7KGw25xWvgrMvhPbcdD4MWqnqOqn5AVb/fbIMWTO4CPH1Zcsr093JsbE9fhmeOZIk5FkO5Iur7HEznOTSUJ1/yArmwMZfiKNO42sr9un/xm4h4WZzCEK7n0ekE2pW1rtTr59KbF1S1V1VfCHwC2BO8PqGqFx5PWawhx8ZUK65/muGxhqDsovn4zdvozxTJljyWt8XJFI1SRixiEif6MyUsC0x2kaKe2bBWLjgiltCZMtlijiX0jxQpuB5F1+Pc1R1sKAf0y8Hr1FKjAt/3hFltJTsbfl/WicRkornTpb+Xj2/vGSIeseloiRK1LTIFl7aERcHzOXVZilM6UxNmKU6nRDHWrxZuKnm8YvgmVtFPrHXl0XW4pqLxFC/mBFW9G7i73v0IaQwmHbhU9VcL2ZH5YH23ETi97t7d/M++NO0Jh8OZApbA8rY4/SNFXFUSIhjpQSEVsyj5Pq6nrO1KkS26JKMROlMRHt8/RNSxScVssiWfp/uy/NF5gQumch9OshPsqJnphoNWwzGRaO71v96DY8G2niGj9B53WNvZQqZgXMHlLNShfInWmPlv056IYFsWz1vVxmPPDtGeiB51L6hMv/dY2XE5l5w/wcA2rl+nYzxkM6SJ9gUez1TX0qp0O59QzINc1GwlUxqe8kx2cSpKf7ZEImrTmYqxJBWjqzWGLULRU6KOxerFLaQSEQSzIlu9pIXujhZOX5ai5EN3e5x4xCLvKqmYwzmrO9jZW6Xi3kQKGCFjRG1h8+6Bcck3m3cPEA38xys7EgznXdriEQquCYgWXB/bYkpljOkUOEJCQo6dmSZnNBWVKy/f99lxcJh0roQgbFzZyvbeDF2pGItaIjgFC1uEv3rNc3jdxpWjD56+TIHFLRHiEZuC648qaozLRjsBZrpBjHPS5BxVvXQBuzNnVKawlym7i8HEoK67d/eounvB9UHBU39KZYzpXJAhISHHzgkxcMH42EZZndtC8RHWdSY5ki2xbzDPqsUtfODl63jdxpXjrivHyhanopy5oo2uVjN7Lm9IPYFo+PjmTCh4yvlrF7HrcHa0LtuGFa0UqtLaK+2nLUijX92Z4KnDI/z+2fSkLkaAvkyepw6ZvYOWWBPHwsDo/1XGqBZWzDYkpOGZdOA6HmfWlbGNSgWFshJGOlc6SkGhfF15xVY+v5yNdsV5J9XjR6kbx0PscyLK6egXrB1LmE3nSixtHZ/WXm0bf3Pj4zy0q59U3BnnYjx/7eJx7ZY8j0f2DhJzLGK2BSITKnaMitnGO+ZW+SIk5DhiplmFdaUWrbnpOFYXznQl3E80ROQ04DPABirUDVR1bd06NQvKrkBg3ERmuolJrS7GXYczo/Gygqecs7qdqGMfbW91ErMNCWkmmi6rsFatuemYTkR1IiYr4X6C8i3g45iyJhdjJJ8aXlFlMmY6ManVxfiRHz4GCq0JZ9TV7KsebW/1E7MNmQXVGYQzPaepqGNxyVoqIDfUzHqqlVL53/KD5/RlSXb2jky4MptORDVkWhKq+gsRkWAj8jUich9mMGtKZjIxqdXF+OoNy2uzt/qJ2YaENA21pMN/C/gq4GJm1t8F/n02NxWRz4vIDhF5XER+IiId019lmExrbltV2vGevgyfve0Jdh/OTJiGPJ2Iasi05EXEAp4UkfeLyBuBpdNddLxRqx3VbG/HmfJFSMh8UMvAlVDVXwCiqntV9Rrg5bO8713AWaq6EdgJ1Ly+LO+nqcTEI1x832d7zxA/397L5r0DOLZwcLgwoQr4dCKqE1IuXf7Tq8y/C1f9tRH5MNACfBA4F3gH8K7ZNFjrhEZE9ojI/4jI70Xk4dncc7bUakc121u4HzAkZFpqSYcfN7MG9jPLmbWq3lnx8UGOoTDlZEF0C2XHwWHiEZvWmMPBdJ580R0XdKmOYR2TayjM9hqHqm4GCGzjg6o6PAfN3gX8taq6IvI5zITm/05y7sWq2jcH95yUWpOAarWjmu3tBNgPGBIyG2oZuCpn1v+AWW3NamZdxZ8CP5jsoIhcCVwJsHr16kmD6B+/eRsiQjxiA5CI2mQL3qjKAcwyhhVme40jqED7LaA1+JwG/lRVZ1xqYjYTmrlmrpKAQo5P6ploccEzk9RmawQWqMZXLRWQZzSzFpGfA8snOPQxVb0pOOdjmNjZ96a4/3WYcvFs2rRJYeKZa1vcYShbIl/yiDkWqahDJmdWXL5qzenNkxJme1XzTeAqVb0PQERejBnINs5R+1NNaBS4U0QU+HpgIxMaDovaAAAK9klEQVRSPfGplVDxIiSkcaklq3BGM2tVfeU07b4L+EPgFao66UbnWjlzRTstEZuDwwUyeZeOZJTu9hg5V+lJ52e/7yrM9qpmuDxoAajqr0Vk2knNHE1oXqSqB0RkKXCXiOxQ1XsnOnGiiU8tzGS7REhIyMJQi6twzmfWInIJJnbxUlXNzrSdSkzsK8uG7rZplTBmRKX6e7zNDFr5QVMy4sTktyLydeD7mBXQFcA9InIOgKo+OtFFczGhUdUDwb+HROQnwAuACQeumRJulzj+CZ5DXwJs4Buq+tk6dymkRmrJKjxqZg3MNhD/FcwK7q4gM+xrs2xvZlmCx0KY7VXN2Zj6Gx8HrgHWAy8E/pkZqq5UTGgunWxCIyJJESmv/pPAq4E5T+8Mt0sc34iIDfwr8BrMHtW3isiG+vYqpFZqWXHNaGY9Fap66rFeUwvzrmwRZnuNoqoXz0OzXwFimAkNwIOq+j4RWYGZEb8WWIYp5Q7Gfv9TVW+f646EEl/HPS8AnlLVXQAicgNwGbCtrr0KqQmZLrwkIlNVHVVVne2erpoRkcPACDCvadBzQCfN18eTVbWr1otFZBnwaWCFqr4mmK1eqKrXz3E/54zQfuaUWdlPvRGRNwOXqOqfBZ/fAZyvqu+vOGc0sQd4DnCExv+7QHPYD4zv5zHZTy1ZhfMxs54RqtolIg+r6qZ692UqTpA+fhsT6/xY8HknJguwYQeu0H7mjmbo4zRMpKs5bhZfmdgDzfMznwj9nDbGJSLLROR6Ebkt+LxBRN47k5uFHFd0quoPAR9AVV3Aq2+XQkJqZh9QmRJ8EnCgTn0JOUZqSc74NnAHsCL4vBOzKTnkxGZERJYQzFJF5AIgrEcf0ixsBk4TkTUiEgXeAtxc5z6F1EgtA1ejzawbeNv4KCdCHz+C+Y++TkTux4gvf2DWvZp/ToS/zULQDH2clOA59n7MpHw78ENV3TrNZc3yMx/3/awlOeMe4HLgLlU9J5hZf05VXzrTm4YcH4iIgwlaC/CEqpbq3KWQkJATgFrS4atn1l3UUUMupL6IyHnAs6p6MBDDPRczsdkrIteoan+duxgSEnKcM+2KC8KZdcgYIvIo8EpV7ReRi4AbMC7Cs4H1qhpOakJCQuaVSWNcInKeiCyHUX/wucCngH8WkcUL1L+GrtEkIpeIyBMi8pSI/NUEx2Mi8oPg+EMicspC9Kvi/qtE5G4R2S4iW0XkQxOc8zIRSQe/t9+LyN9P06xdsaq6ArhOVf9LVf8OmJeN5bMhtJ9Z9W8+7KdpaGTbCe7b0PYT9GF+bEhVJ3wBjwKLg/cXYVJFL8eUNvnxZNfN9Qsj6eME7z+Hia9NdN4eTCLJQvXLBp4G1gJR4DFgQ9U5VwFfC96/BfjBQvUvuGc3cE7wvhWTEVrdx5cB/30MbW6p+HvsAC6qPLaQP19oP81nP830alTbaRb7mU8bmiqrsCFm1qp6p5oVH5gaTTOsSzLnjErGqGoR4zK7rOqcy4DvBO9/DLxCRCba+DgvqGqPBpJcasrRbAdWTn3VtHwf+JWI3ATkgLL48qk0YDp8aD8zZ57sp2loYNuBJrAfmD8bmnLgCmJbAK8AfllxrJakjvngT4HbJjlWrtH0iBiplvlmJVBZjGsfR/9BRs8J/gOkgSUL0LejCNwEzwcemuDwhSLymIjcJiJnTtWOqn4K+EvM/r4XazBlwthSo6fDh/YzQ+bKfpqYRrIdaDL7gbm1oakGoPLMuo95nlnLAtdomiOmlYyp8Zx5R0RSwH8BH1bVoarDj2J0wjIi8lrgp8BpU7Wnqg9O8F3dSsKG9jO/zLX9NBJNajvQRPYDc29Dkw5cqvopEfkFxkd553zOrLVJajRVUYtkTPmcfcHqtR1Y0HRxEYlgDOZ7qnpj9fFKI1LVW0XkWhHpVNVmEOkEQvuZT453+2lS24EmsR+YJxta6GDdsb6ASzClBrqmOCcJtFa8/w1G+Xk+++UAu4A1jAVHz6w6538zPjj6wwX+3QlG0eKLU5yznLFtES8Anil/Ph5eof2E9nO82U6z2M982lDdjaOGH/wpjJ/298Gr/IdYAdwavF8b/OEeA7ZilvkL0bfXYrJkni7fE/gkphAiQBz4UfAz/BZYu8C/uxdjXAOPV/z+Xgu8D3hfcM77g9/ZY5gA9Avr/TcP7Se0n0Z4NbLtNIP9zKcN1bQBOSQkJCQkpFGoRWQ3JCQkJCSkYQgHrpCQkJCQpiIcuEJCQkJCmopw4AoJCQkJaSrCgSskJCQkpKloioFLRLxANXiLiPxIRFqmOf9vamx3j4h01vr9XCEibxCRDRWf7xGRTTVc1y0i/z3F8Q4RuWqK498WkaPKjojI+0XkPbX0vRkJ7Wf0vNB+ZkBoP6PnNYz9NMXABeRU9WxVPQsoYvYATEVNhlNH3gBsmPaso/kI8G9THO/AKEIfK98EPjiD65qF0H4Mof3MjNB+DA1jP80ycFVyH4E6vYj8iYj8NpgNfV1EbBH5LJAIvvtecN5PAwHMrTMVwRSRpIh8U0Q2i8jvROSy4Pt3i8iNInK7iDwpIv9Ycc17RWRnMKP5NxH5ioi8ELgU+HzQx3XB6X8U/Cw7ReQlk3TjcuD2oO0zK372x0XkNOCzmErVvxdTS0iCe24TkVuApRM1qqpZYI+IvGAmv5smI7QfQvuZBaH90AD2U+/d6TXuvs4E/zrATcD/AtYDPwMiwbFrgXdWnl9xfbmuWAJTT2pJ8HkPE9TRmeh74NPAnwTvOzA71pPAuzHSK+2Ynep7MfpgK4J2FgMRjMF/Jbj+28CbK9q+B/jnit3wP5+gT2uARyo+fxl4e/A+Gvxsp1BREwt4E3AXpnbPCmCw8r5V7X8M+Mt6/61D+wntp9Feof00nv3UqzzJsZIQkd8H7+8DrgeuxFRl3iymxEwCODTJ9R8UkTcG71dhlIePHGMfXg1cKiIfDT7HgdXB+1+oahpARLYBJwOdwK80qGkmIj8CTp+i/bL45CMYA6imGzhc8fkB4GMichJwo6o+KUeX2rkI+L6qesABEfll9QkVHALOmOJ4MxPaT2g/syG0nwazn2YZuHKqenblF2J+S99R1b+e6kIReRnwSuBCVc2KyD2YP/qxIsDlqvpEVfvnA4WKrzzM7/VYC7aV2yhfX02Oin6r6n+KyEPA64A7ROTPMDOvamrV9IoH9zgeCe0ntJ/ZENpPg9lPM8a4yvwCeLOYGjiIyGIROTk4VhIjpQ9mCT0QGM0ZwAUzvN8dwAcCg0VEnj/N+b8FXioii8SUFLi84tgwpoz1sbCTipmQiKwFdqnq/wNuBjZO0O69wFsC33s3cPEU7Z+OcWOcKIT2E9rPbAjtp47207QDl6puA/4WU3n0cYwvtTs4fB3wuJjg6O2AE5zzDxj14Vp4XET2Ba9/Ca6NBN9vCT5P1b/9GL/0Q8DPMeURygU4bwCuDoKs6yZporq9EeBpMYU8Aa4AtgQujDOA76rqEeB+MWm7nwd+AjwJ/A/wVeBX5fZE5JMicmnFLV4U9POEILSf0H5mQ2g/9bWfUB1+HhGRlJqqng7mj/hNVf3JLNp7I3Cuqv7tnHWS0dnbR1T1HXPZbsjsCO0nZDYcz/bTtCuuJuGaYEayBdiNKUk9YwKj2zMH/aqmE/i7eWg3ZHaE9hMyG45b+wlXXCEhISEhTUW44goJCQkJaSrCgSskJCQkpKkIB66QkJCQkKYiHLhCQkJCQpqKcOAKCQkJCWkq/j89uoIVi603VwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "from mlxtend.plotting import scatterplotmatrix\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.datasets import load_iris\n", "from scipy import stats\n", "import numpy as np\n", "\n", "\n", "iris = load_iris()\n", "\n", "\n", "X_train, y_train = iris.data[50:150, :3], iris.target[50:150]\n", "y_train = np.array(50*[0] + 50*[1])\n", "\n", "sc_features = StandardScaler()\n", "sc_target = StandardScaler()\n", "\n", "X_std = sc_features.fit_transform(X_train)\n", "\n", "fig, axes = scatterplotmatrix(X_std[y_train==0], figsize=(6, 5), alpha=0.5)\n", "fig, axes = scatterplotmatrix(X_std[y_train==1], fig_axes=(fig, axes), alpha=0.5,\n", " names=['Sepal Length (std.)','Sepal Width (std.)', 'Petal Length (std.)'])\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "df1 = pd.DataFrame(X_std)\n", "df2 = pd.DataFrame(y_train)\n", "\n", "df = pd.concat((df1, df2), axis=1)\n", "df.columns = ['sepal length', 'sepal width', 'petal length', 'species']\n", "\n", "df.to_csv('data.csv', index=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Weight coefficients" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "lor = LogisticRegression(random_state=0, solver='newton-cg', C=1e8)\n", "\n", "# set C=1e8 to negate regularization to allow comparison with\n", "# statsmodel coefficients later\n", "\n", "lor.fit(X_std, y_train)\n", "\n", "fig, ax = plt.subplots()\n", "ax.bar([0, 1, 2], lor.coef_.flatten())\n", "\n", "ax.set_xticks([0, 1, 2])\n", "ax.set_xticklabels([f'Sepal Length\\n({lor.coef_.flatten()[0]:.3f})',\n", " f'Sepal Width\\n({lor.coef_.flatten()[1]:.3f})',\n", " f'Petal Length\\n({lor.coef_.flatten()[2]:.3f})'])\n", "plt.ylabel('Magnitude')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train accuracy 0.95\n" ] } ], "source": [ "print('train accuracy', lor.score(X_std, y_train))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def std_err_logisticregression(y_true, y_pred_proba, X):\n", " # based on code from \n", " # https://stats.stackexchange.com/questions/89484/how-to-compute-the-standard-errors-of-a-logistic-regressions-coefficients\n", "\n", " # Design matrix -- add column of 1's at the beginning of your X_train matrix\n", " X_design = np.hstack([np.ones((X.shape[0], 1)), X])\n", " \n", " # Initiate matrix of 0's, fill diagonal with each predicted observation's variance\n", " V = np.diagflat(np.product(y_pred_proba, axis=1))\n", "\n", " # Covariance matrix\n", " cov = np.linalg.inv(X_design.T @ V @ X_design)\n", "\n", " # Standard errors:\n", " std_errs = np.sqrt(np.diag(cov))\n", " \n", " return std_errs\n", "\n", "\n", "def weight_intervals(n, weight, std_err, alpha=0.05):\n", " t_value = stats.t.ppf(1 - alpha/2, df=n - 2)\n", " temp = t_value * std_err\n", " lower = weight - temp\n", " upper = weight + temp\n", "\n", " return lower, upper" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "y_pred_proba = lor.predict_proba(X_std)\n", "std_err = std_err_logisticregression(y_train, y_pred_proba, X_std)\n", "\n", "lower, upper = weight_intervals(len(y_train), lor.coef_.flatten(), std_err[1:])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.hlines(0, xmin=-0.1, xmax=2.2, linestyle='dashed', color='skyblue')\n", "ax.errorbar([0, 1, 2], lor.coef_.flatten(), yerr=upper - lor.coef_.flatten(), fmt='.k')\n", "\n", "ax.set_xticks([0, 1, 2])\n", "ax.set_xticklabels([f'Sepal Length\\n({lor.coef_.flatten()[0]:.3f})',\n", " f'Sepal Width\\n({lor.coef_.flatten()[1]:.3f})',\n", " f'Petal Length\\n({lor.coef_.flatten()[2]:.3f})'])\n", "plt.ylabel('Magnitude');" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([-4.77771221, -1.71641308, 4.43242151]),\n", " array([-0.30375066, 1.2935979 , 17.16730293]))" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lower, upper" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.120691\n", " Iterations: 10\n", " Function evaluations: 11\n", " Gradient evaluations: 20\n", " Hessian evaluations: 10\n" ] } ], "source": [ "import statsmodels.api as sm\n", "\n", "\n", "model = sm.Logit(y_train, X_std)\n", "res = model.fit(method='ncg')\n", "lower, upper = res.conf_int(0.05)[:, 0], res.conf_int(0.05)[:, 1]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([-4.78965224, -1.62105453, 4.48828742]),\n", " array([-0.40139451, 1.25645007, 16.7429816 ]))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lower, upper" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.hlines(0, xmin=-0.1, xmax=2.2, linestyle='dashed', color='skyblue')\n", "ax.errorbar([0, 1, 2], res.params, yerr=upper - res.params, fmt='.k')\n", "\n", "ax.set_xticks([0, 1, 2])\n", "ax.set_xticklabels([f'Sepal Length\\n({res.params[0]:.3f})',\n", " f'Sepal Width\\n({res.params[1]:.3f})',\n", " f'Petal Length\\n({res.params[2]:.3f})'])\n", "plt.ylabel('Magnitude');" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 4 }