{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CCGOWL Example" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n" ] } ], "source": [ "import numpy as np\n", "from src.models.ccgowl import CCGOWLModel\n", "\n", "from src.data.make_synthetic_data import generate_theta_star_gowl, standardize\n", "from src.visualization.visualize import plot_multiple_theta_matrices_2d\n", "from sklearn.covariance import GraphicalLasso\n", "\n", "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define the column-by-column Graphical Order Weighted $\\ell_1$ (ccGOWL) estimator to be the solution to the following unconstrained optimization problem:\n", "\n", "$$\\min_{\\beta_j \\in \\mathbb{R}^{p-1}} || X_{*, j} - X_{*, -j} \\beta_j ||_2^2 + \\Omega_{\\text{OWL}} (\\beta_j)\\,,$$\n", "\n", "where \n", "\n", "$$\\Omega_{\\text{OWL}} (\\beta_j) = \\lambda^T |\\beta_j|_{\\downarrow} = \\sum_{i=1}^K \\lambda_i |\\beta_j|_{[i]}$$\n", "\n", "where $\\beta_j \\in \\mathbb{R}^{p-1}$ and $\\lambda_1 \\ge \\lambda_2 \\ge \\cdots \\ge \\lambda_p \\ge 0$. The goal of this estimator is to identify correlated groups within each column of the precision matrix estimator $\\hat{\\Theta}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Synthetic Data Example\n", "\n", "We design our first example for a very low $p$ and specify one group of size two. As is custom in the literature we also standardize our design matrix $X$." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "p = 10\n", "n = 100\n", "n_blocks = 1\n", "theta_star_eps, blocks, theta_star = generate_theta_star_gowl(p=p,\n", " alpha=0.5,\n", " noise=0.1,\n", " n_blocks=n_blocks,\n", " block_min_size=2,\n", " block_max_size=6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hyperparameters were chosen by cross-validation. Now that we have generated $\\theta^*$ and $\\theta^* + \\varepsilon$ we can generate a dataset by drawing i.i.d. from $N(0, (\\theta^* + \\varepsilon)^{-1}$ distribution." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "theta_star_eps = theta_star_eps[0] # by default we generate 1 trial, but for simulations we generate many trials\n", "sigma = np.linalg.inv(theta_star_eps)\n", "n = 100\n", "X = np.random.multivariate_normal(np.zeros(p), sigma, n)\n", "X = standardize(X) # Standardize data to have mean zero and unit variance.\n", "S = np.cov(X.T)\n", "\n", "lam1 = 0.05263158 # controls sparsity\n", "lam2 = 0.05263158 # encourages equality of coefficients" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Threshold reached in 9\n", "Threshold reached in 0\n", "Threshold reached in 0\n", "Threshold reached in 0\n", "Threshold reached in 0\n", "Threshold reached in 6\n", "Threshold reached in 3\n", "Threshold reached in 0\n" ] } ], "source": [ "model = CCGOWLModel(X, lam1, lam2)\n", "model.fit()\n", "theta_ccgowl = model.theta_hat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's compare the GOWL theta estimate to the Graphical LASSO model." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "gl = GraphicalLasso()\n", "gl.fit(S)\n", "theta_glasso = gl.get_precision()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABgUAAAUaCAYAAADFYnNPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAXEQAAFxEByibzPwAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeZgtV10v/O+vkxMyHZJAkJCEGQReMCKgICgERTEoV5FR8CoIvg5wBUHFATUKTsBFUdArat6II4OAIihchUQERAUuKF4gEhMIIZhAEk4mEsx6/6janKbp7tPD7q7dVZ/P8+ynTu/ae+1VfU5g/fZ3rVXVWgsAAAAAADB+S0N3AAAAAAAA2B1CAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEArAyFTVmVXVquqcofuSJFV1dt+fs4fuy0pVdXRVPbeq/m9VXdv3s1XVPXfp82efd/pufB4AADA/VXVOP54/c+i+AMBmCAVgE/ovkc+oqudU1Wuq6sJlX+yeOYf2z17W3srHVVX1gar6raq6xxwuh+QVSZ6T5K5JWpJP9o8bNtpAVR1bVU+vqrdU1Ser6vqq+nQfNLypqn62qr6uqg7bmUvYHVV1k6p6eFW9pKr+uaquqKobqurSqnprVf2Pqjp66H4CALAx69QdG3k8cej+b9cYrr+qnthPCjt96L4AsLccPnQHYI/5qiRv3IXPuTHJpct+PizJzZP8P/3je6vq+1prv7cLfRmlqrprkm/pf3xsa+2VW2jjtCR/meTWy56+LkkluUu6sOEb++dvn+SCFU18qD9es9nPHsBfJnnIsp8/l+TqJCcmOb1//FBVndFa+/dd7x0AAJv1yTWePzbJMYd4zbXz786uG8P1PzHJg/o/nzNcNwDYa6wUgM27PMnfJnlBku9IcskOfMbHWmsnLXvcIslNkpyR5Px0IcFvVtXtduCzp+LL+uOnthgI7E8XEN06yWVJnp7kS1prR7XWTkiyP8kDkzw/ySdWa6O1dtf+8Y9buYBdti/JhUnOTHKvJDdprR2f5GZJnp0u2LhTkr+qqiOH6iQAABuzot74/CPJCw/1mtbaKwbs+lxM/fp3w7Ktbc8cui8AfCErBWBz3tZau9nyJ6rql3fjg1trNyT566r67iRvS3JEupDgt3bj80dottXNVVt8/+OSnNL/+eGttX9YfrK1dnW6v6e3VdVPbfEzFslzkvxDa+1zy59srV2e5PlV9dEkf5IuGHhUkj/c/S4CAAAAcChWCsAmtNb+a+g+JPk/y/587FYaqKqvqKqX9/dEuK6qLq+qd1TVM6rqJod47xFV9ZSq+ut+D/3PVtUnquqdVfUzVXX7TfblG6vqwOxmxFW1qbCyqo7s+/2O/jqu66/r5avdMHg2WyXJ2f1Tt12xP+jZK9+zhlnb/7kyEFiptfa5lV+m931Z9UbDVXXBBvcyPWe1z6uqe1TVy6rqvKq6prr7Uby/qn6hqk7c4PWtvIa/X+0alnllkgP9n79yK58BAMDeUstutFtV+6rqWcvuP/X5ce6y8e0T12lrdn+1s9d5ze2q6tequ9faVf1Y94NV9eKqus3cL3ATqvO9VfWuqvpMX+O8s6q+cwPv3dR19fcSaDm4ddDPrlIr3G7Z60+oqidX1Sur6l+quwfarG7646q637x+D7upv64fqqq3VdXH+tr0sv4a/6iqHjZ0HwEWlZUCsPd8+bI/f2jNV62hqn44yf9Mt+99klyZbs/Mr+4fT6qqb2qtfdGWN/0X/n+RZHaj45bkiiQ3TXK//nGzJM/YYF++M8lZ6bam+ZXW2o9v8lpOSfLXy/pzQ7ptbG6T5L8neUJVPaO19hvL3nZVur1Bj+r7vfL+DVdupg9JTqiqo1tr87wvwKVJ1tuC5+ZZ43+/q+rHkvxSDoa+16T7/X5Z/3hSVX1za+298+tu0lq7sapmN2je0zdVBgBg045Mt6f9/dPde+pAulphbqrqCUl+L922qkny2XRj+bv0jydV1aNaa2+e5+du0GFJXpvkW9Nd/zXpthO9X5L7VdWdW2s/u9obt3hd16araW6Wbqx/db54BfTyCW1PT/Kzy57/TP/n2/SPx/V1069v5qKHVFVfneR1Sb6kf+qGdP/ujktXL90jybuzO/cEBNhzrBSAPaKfefONOTjD/d+yyQFOVX1LkhelCwT+PMkd+n3hj03yXekGUacleXVVHbbivTdN8qZ0g6vLk/y/SU5ord2stXZMkjsmeVa6fec30pcfSfLydF9uP2MLgcBhSf6s78+VSb4zybH99dwx3Y1xl5K8uKrOmL2vtfbCfq/Qp/dPrbx/w9OzMbP7AOxL8ntVdbP1XrwZrbWvXGeP0yflYKDzhuXvq6onJ/mVdEXITyW5Vf93c3SS+yR5S5JbJfmLqtrSKpO1VNWXpStKkuRf5tk2AAAL76np6ognJblpv+XqLZK8fx6NV9U3pKsdDkt3z67bp5vkc0ySuyZ5Vbov4V810IqBpyY5Pd2Nf2/aWjsu3b3HXt+ff05V3Xnlm7Z6Xa21V/S1wTv6p164Su3wsWUfdXGSn0tXExzd//0cleQOSV7cv+ZFVfUV2/s17I6qOiYHA4FXJ7l3a+2I1trNW2v70m3z+oj+NQCsQigAi+nWVXXJssel6WaMvCndzIffTvK1h9jOZTXP749vS/LI1tp/JElr7frW2h8keUJ//v7pBlHL/WiSO/f9+PrW2u+01j4/q761dn5r7UWttV9drwP9stoXpbtR8w1JvqO19uL13rOGRyW5b//nx7TW/qi1dv2sL33/35XuC/Tnr97Etvxpkn/t//y4JJ+oqrdU1S9X1aOr6tbz/sCqOi3JK9IVDWe31l6w7Nz+HLwp2qNaa7/YWrsk6ba9aq29O8lD082WOTXJU+bcvV/pj1ekK14AAJiOY5M8vrV2dmvt2iRprX2qtfbp7TZcVUtJXpru+4unttae3Vq7oB30odbaY9KtaL5pkmdu9zO34IQkj2it/f6y678oyaPTfSG/lOQxy9+wm9fVWntZa+3M1tq7l9VMrbX2H621ZyT5zXQ1xlO3+hm77OvTBQIXpqsF37P8ZGvt4tba6/q6EIBVCAVgMS0lueWyx4k5ODt8f7pg4BababD/Qvlu/Y/PW+3+CK211+fgDPjvWHH6e/rj725165mqOiLJHyX54XSrEh7WWnvFVtpK8tj++M7Vlgj3gcnP9T/eo5/JPjettc8m+bp0X9K3dDd+fnCSZ6fbX/+jVfVvtYH7NGxEVd0q3eqH/UnOTfJ9K17yyCTHJ3lva+1Na/T5c+luBpx0AcFc9FsWzVZjPHsexR8AAHvKB/paYic8MN3kpMuS/O46r3t5f5zbOHcT3t5ae+vKJ/uaYTY2P23F6UW6rtkK5K/Zwc+Yp9lWqicneXxV7RuyMwB7kXsKwGK6sLV2u+VP9EskT0v3pfPjknxTVT2stfbODbZ5n/74uXRfKq/lfyf5qmWvT1XdNt2AKzm4BHaz9qcbbD4k3f6XZ2xzX/tZ//5mnde8Nd2emYf1r5/rtjattUvT7b/57HT7hz4gyb3TLcOtdCHMryb5rqr6htbap7byOVV1dLrf+62T/HuSb5/N8FnmAf3xblV1yTrNHdUfb7uVvqzSt8eku4dBkry8tfayebQLAMCe8vYdbHs2zj0uycVVtdbrjuiPcxnnbtK71jl3cX9cud3orl5XVd0hyQ+mm8h0x3T12cqJoqduod3H5uAWRCvNtiz9kar6/jVe8+2ttXescW4tb0j3b+4BSf4wye9X1eXpar8nt9besN6bARAKwJ7RWrs6yTur6pFJ3pnkK5O8vKru0lq7cQNNzG7AdFk/Y2UtF614fZKctOzPG7pnwCq+fdmfHz6HG93O+vfxtV7QWruuqi5Lt9riS9Z63Xa11i5M8uv9I1V1QrqZ8z+R7p4HX5Fuy6dHbbbtflnxH6cLGy5P8s1rzMSfhTZHZv2bFM8cvdm+rNK3R6Rb+bGU7v4OT95umwAA7En/uYNtz8a5+9KN6w/lqEO/ZO4OrHNutuXrytnsu3Zd/bj9T3LwZsZJd7Ph63Jw1fMJ6e5lsFlH5dD9P2adto9Y4/k1tdY+W1WPT/K/0tVdh6VbXZ90k6gAOATbB8Ee02/78//1P94p3az+Hf/YObRxbpLZza5+t6o2tf3RXtJau7y19sfp7nnwf/unH7HFmxG/IN0qhBvS3Qfiw2u8bnZj6Fe01moDj9ttoS+fV1Xflm7rpMOTvDbJ47ZwjwsAAMbhi7YmnaPZOPddGxznrjnlfsHsynVV1c2TnJ0uEHhLuhsiH91aO661dsvW3bD40Vu9iP4+Emv1d7ad68+tc13nbOGafjTJh9JNhnpoki9Z1t6HtnotAFMiFIC9afls/dtv8D2z2TsnHmKP+9mS0eWzfZZvR7PVZasXpBuAXphuG6S3VtV2Zu/P+rfmEteqOjLJzVe8fte01q5Jt5w16f739s6beX9VfV8O3lDsB1bbp3SZ2d/Rji+X7mcavTLdrKbXJXmsQAAAgHXMxorrrWg9bo3nd22cu8t267oelu5GxZenW7F97uxmyMuc9MVvW0xV9ZQkz09yTpKHtNbe3G/rCsAmCAVgb1r+RfjVG3zPP/fHw5M8aJ3XPaQ//tPsidbaR3Nwm56Hb/Dzvkhr7fx0wcAFSe6e5Jyq2uoAdHY9X7/Oa07PwW3S/mmd1+2kq5b9eb1tm75AVX1jkpf0P76gtfZ7h3jLbB/Xe/c3Jd4RVfXt6VYIzAKBx7TWbtipzwMAYBQu74+3Xu1kv2XmfVY7l4Pj3JOqaq3X7EXzuK7ZNrLrrSKY/c4/1E9aWs1D1nh+ET2rP750g9voArAKoQDsMdXdgeo7lj317o28r7X2/iT/1v/4nKo6bOVrquph6ba8Sbo9J5ebfSn9lKr6io33+Iv6cUG6UOL8dDfiPWeLX2L/aX/86v4L9C9QVYcn+Zn+x39trf3rFj5jTVX1VYfaDqjvwxP6H69Ot8R1I23fPcmr0gUar0vy4xt426uSXJHuy/oX1Tp3Kquqpao6fiN9WfG+R6T7ve9Lt2WQQAAAgI14X398xBrj1O/O2iuA35qD+8T/alWtuwf9FrfsHMI8rusz/XG9sf2V/fFL+5XUK9u9Z5LHH6Kvi+RL++OO3TMOYAqEArBJVXVCVZ04e+Tgf0dHL3++qo7dgc++fZKXpZsBn3T7x695o91VPLs/fm2SV/ftpar2VdUTcjAIeEe6L6OXe2GS89LtRfm3VfW9VXXTZX27Y1X9TFX9yKE60a88eFC6QfBdkpxbVads4jqS7sa27+r//MqqenxV7ev7cvv+/Ff3539sk21vxGOSXFhVZ1XVt/R7dab//KOr6ox0A/3ZPR9+a5Vlul+k/zf1hnRLfN+T5Ds3MgOmtXZFkmf0Pz4uyRuq6r79rKtZEHC3qnpWkg8k+ZYNX2n3/m/NwRUCfxaBAAAAGzerM+6W5GWzsXNV3bSqfjjdDWM/vdob+20qvz/dFkRfk+TvqurrZ2P/vp07VNX3V9U/JfnBHbyOuZnTdc0mPj1snXrqzelWFNwsyR/NXldVR1TVY/rz690oedFc3B9/paqeUFVHJ5+vd06qqsdW1W8N2D+APUEoAJv33iSXLnvMlmP+6IrnX7Lquzfm1lV1yYrHZ9LNrn9K/5pzknzvZhptrf1luj3qW5JvS3J+VV2eboubP0z3RfS/JHl0f0Pj5e89kOSb0q02OCFdOHF5VX2qqq5O9wX/z2WdPf5XtHdRumDgQ+n22j+3qlZdTrzG+/8rySPTfcF9XJI/SnJVfz3nJ/lv6Qa/T2+t/dVG292EG5Icm+RJSV6f5LKqurqqrki3KuCN6Qb3SfIHSX5yg+3eIwf3Fb1Tko+s8m9h9njN8je21n4/yQ8kuT7JGUn+Ick1VXVZkuvS/d29MMlds/mbR/9qukAg6f7eLtpovwAAmLbW2t+mGxMnXT1zWT9uvzzJi5L8drox9Xrvf3S6L6/vm+RvklxdVZdV1XVJPpLkt9JtQbTZce5g5nBdv59unH+nJB/tx+IX9I9T+884L8kL+td/e7px/BXpasBX9Mcf2qlr3AE/me53cWK6Gvbq/t/SZ5N8It3K5g3VpABTdvihXwIMYCnJLVc899kkF6XbLuiPk7yqtbbpAW9r7Ver6twkP5zuy91bJrk23az0V6Sb0b7q3vettfP7rYOenG6m/JelCxIuTbck+I05ONjfSF8urqrTk7wl3ayhc6vqwa21C9d/5+ff//F+/80f6PtztyRHJ/lYutDkRa21/7PR/mzST6ZbTfHQdCsS7prud3lsuiW6F6T7Uv4PWmtvX6ONQ7lp/1jLFy0hbq39r6r66yRPTfIN6W5EfXy6pcUfSfLOJH+R7ne+GctD5BMP8dq9smQbAIDd88R09wV7UrrVwkvp9tX/jdbaq6rq7PXe3Fp7XVXdKd2M+TPSTSw6Pt2EnA+mu4fYG9LVJHvGdq6rtXZeVT04yU+kCxVunoPf8xy+7HU/XlUfSPK0dDXcvnSTul6b7qa9W94edre11v6gqs5L9/u6f5KTkxyTria9MN2/qT9duwUAkqS28J0iAAAAAACwB9k+CAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJOHyb729z6QUAwN5WQ3cAWJe6BQBA3ULPSgEAAAAAAJgIoQAAAAAAAEyEUAAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJgIoQAAAAAAAEyEUAAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJgIoQAAAAAAAEyEUAAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATMTh223gwIED8+jHwtq/f//QXQAAALbp+vMvGLoLO+qIO9xu6C4AALBHWCkAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJgIoQAAAAAAAEyEUAAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJgIoQAAAAAAAEyEUAAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJgIoQAAAAAAAExEtda28/5tvRkAYCRq6A4A61K3AACoW+hZKQAAAAAAABNx+HYbOHDgwDz6sbD279+fZDrXCQAAYzSV8fxUrhMAgK2zUgAAAAAAACZCKAAAAAAAABMhFAAAAAAAgIkQCgAAAAAAwEQIBQAAAAAAYCKEAgAAAAAAMBFCAQAAAAAAmAihAAAAAAAATIRQAAAAAAAAJkIoAAAAAAAAEyEUAAAAAACAiRAKAAAAAADARAgFAAAAAABgIoQCAAAAAAAwEUIBAAAAAACYCKEAAAAAAABMhFAAAAAAAAAmQigAAAAAAAATIRQAAAAAAICJEAoAAAAAAMBECAUAAAAAAGAihAIAAAAAADARQgEAAAAAAJiIw4fuAAAA83fe1zy0bfW9d/77N9U8+wIAALAadcswrBQAAAAAAICJsFIAAGCMytwPAABgwalbBiEUAAAYo7KSFgAAWHDqlkEIBQAARqiWDK4BAIDFpm4ZhlAAAGCMLMMFAAAWnbplEEIBAIAxsgwXAABYdOqWQQgFAADGyDJcAABg0albBmF9BgAAAAAATISVAgAAI1SW4QIAAAtO3TIMoQAAwBgtWRAKAAAsOHXLIIQCAABjZMYNAACw6NQtgxAKAACMkcE1AACw6NQtgxAKAACMUFmGCwAALDh1yzCEAgAAY2RwDQAALDp1yyD81gEAAAAAYCKsFAAAGCN7cwIAAItO3TIIoQAAwAiVwTUAALDg1C3DEAoAAIzRksE1AACw4NQtgxAKAACMUbl1FAAAsODULYMQCgAAjJEZNwAAwKJTtwxCKAAAMEL25gQAABadumUY1mcAAAAAAMBECAUAAMaolrb+mFcXqo6qqp+vqg9X1XVVdXFVnVVVp2yhrW+oqjdU1aVVdUNVfaqq3lxVj5hbhwEAgN2lbhmEUAAAYIyWauuPOaiqI5O8JclPJzk2yZ8n+ViSJyV5b1XdYRNtPSPJm5OckeTDSf4syQeTPCTJa6rqF+bSaQAAYHepWwYhFAAAGKFaWtryY06ek+R+Sd6Z5Etba49trd03ybOS3CLJWRu6jqpbJPnlJDckeXBr7QGttce11h6Q5PQkn03yE5sZrAMAAItB3TIMoQAAwBhVbf2x7Y+uI5I8rf/xqa21q2bnWmsvSvL+JA+qqntvoLn7JrlJkre01s5dfqK19ndJ3pSkktxn2x0HAAB2l7plEEIBAIAxGnBwneQBSY5L8pHW2ntXOf/q/vjwDbT12Q1+5qc2+DoAAGBRqFsGIRQAABijpaWtP7bvy/vje9Y4P3v+tA209Y9JrkjydVX1oOUnquqBSR6a5Lwkb9tCPwEAgCGpWwZx+NAdAABgsVTVB9Y611q7+waauE1/vGiN87Pnb3uohlprV1bVk5P8cZK3VtU7+vefmuT+Sd6e5Ltaa9dvoF8AAMBIqFu2TigAADBCNZ/ltFt1bH+8Zo3zV/fH/RtprLX2mqo6I8kr0y3xnflMkjcn+fhWOgkAAAxL3TIMoQAAwBgtbX1wvcFZNbumqp6V5PlJXpfkzCTnJ7lDkp/vH/dN8i1D9Q8AANgidcsgth0K7N+/oaBkz5vKdQIAI1GD3jrqqv549Brnj+mPBw7VUFWdnuSF6fbzfHRr7cb+1L9U1aOS/HOSb66qM1prf7X1LjN2UxnPT+U6AYCRULcMwo2GAQDGqGrrj+37aH88dY3zs+cv3EBb/70/vnbZwDpJ0lr7rySv6X984KZ6CAAADE/dMohtrxQ4cOCQQcmeNptp4zrHwcwpAKaitrEMdw7e1x/vtcb52fPv30Bbs4H4lWucnz1/wgbaYsJuuPiSobuwo/adfFKS6Yznp3KdADB26pZhWCkAADBGw864eXu6Qe8dq+qeq5x/VH98/Qbamn2Te581zn9lf7xgw70DAAAWg7plEEIBAADmqrV2fZKX9D++tKpme3Gmqp6Z5LQk57bW3r3s+adV1Qer6pdWNPe6/viEqvqCm3JV1bcmeXySG5O8ds6XAQAAjNiU65Ztbx8EAMACWhp87sfzkjwkyf2TnFdVb0ty2yT3TXJpku9Z8foTk9wlya1WPP+6JK9K8ugkr6+qf07yH0lun4OzcH6qtfahnbgIAABgB6lbBjH4bx0AgPmrpaUtP+ahtXZdkgcneW6Sa5J8W7rB9dlJ7tVaO3+D7bQkj03y5CR/l+ROSR6R5HZJ3pjkjNbaL86l0wAAwK5StwzDSgEAgDGazx6b29JauzbJz/SPQ732zCRnrnGuJTmrfwAAAGOhbhmEUAAAYIwWYHANAACwLnXLIIQCAABjNPzenAAAAOtTtwxCKAAAMEJlxg0AALDg1C3DEMUAAAAAAMBEWCkAADBGZtwAAACLTt0yCKEAAMAYLRlcAwAAC07dMgihAADAGJVdIgEAgAWnbhmEUAAAYITKjBsAAGDBqVuGIRQAABijJTNuAACABaduGYRQAABgjNywCwAAWHTqlkGIYgAAAAAAYCKsFAAAGKEy4wYAAFhw6pZhCAUAAMbI3pwAAMCiU7cMQigAADBGZtwAAACLTt0yCKEAAMAYGVwDAACLTt0yCKEAAMAIlWW4AADAglO3DEMoAAAwRmbcAAAAi07dMghRDAAAAAAATISVAgAAY7Rkxg0AALDg1C2DEAoAAIyRZbgAAMCiU7cMQigAADBCbtgFAAAsOnXLMIQCAABjVAbXAADAglO3DEIoAAAwRvbmBAAAFp26ZRBCAQCAESp7cwIAAAtO3TIM6zMAAAAAAGAirBQAABgje3MCAACLTt0yCKEAAMAY2ZsTAABYdOqWQQgFAADGyN6cAADAolO3DEIoADModUoAACAASURBVAAwQmXGDQAAsODULcMQCgAAjJG9OQEAgEWnbhmEUAAAYIwswwUAABadumUQohgAAAAAAJgIKwUAAMbI3pwAAMCiU7cMQigAADBCtWRBKAAAsNjULcMQCgAAjJEbdgEAAItO3TIIoQAAwBhZhgsAACw6dcsghAIAACNUZXANAAAsNnXLMKzPAAAAAACAibBSAABgjMy4AQAAFp26ZRBCAQCAMVqyIBQAAFhw6pZBCAUAAMbIjBsAAGDRqVsGIRQAABghN+wCAAAWnbplGNZnAACM0dLS1h9zUlVHVdXPV9WHq+q6qrq4qs6qqlO22e6dq+raqmpV9Tfz6i8AALDL1C2DEAoAAIxR1dYfc/n4OjLJW5L8dJJjk/x5ko8leVKS91bVHbbR/MuS3GTbnQQAAIalbhmEUAAAgJ3wnCT3S/LOJF/aWntsa+2+SZ6V5BZJztpKo1X15CSnJ/mdOfUTAACYrknWLUIBAIAxGnAZblUdkeRp/Y9Pba1dNTvXWntRkvcneVBV3XuT7d4yyQuS/O8kf7LtjgIAAMNStwxCKAAAMEK1VFt+zMEDkhyX5COttfeucv7V/fHhm2z3xUmOSvKD2+gbAACwINQtwxAKAACM0bB7c355f3zPGudnz5+20Qar6mFJHpvkF1tr/76NvgEAAItC3TKIw4fuAAAAO6AGnftxm/540RrnZ8/fdiONVdUxSX4zyYeS/Mr2ugYAACwMdcsghAIAACO0neW0VfWBtc611u6+gSaO7Y/XrHH+6v64f4Ndel66gfiDW2vXb/A9AADAglO3DGPbocD+/Rv9nextrhMA2FPms5x2cFV1nyQ/lOTlrbVzBu4Oe9i+k08augu7Yirj+alcJwCMnrplEFYKAADwBTY4q2Y9V/XHo9c4f0x/PLBeI1V1eJLfSXJFkh/ZZp8AAIARUbds3bZDgQMH1v2d7HmzGSiucxymcp2J2VMAkzfs3pwf7Y+nrnF+9vyFh2jn1CT3THJJklfVF84iOr4/3ruqzkmS1trpm+0o03HpVdcO3YUddYtjj0qS3HDJJwfuyc7ad9ItkyQfv3zc4/lTTphG3aJmAUDdMgwrBQAAxmgbe3POwfv6473WOD97/v0bbO+k/rGa45M8aIPtAAAAi0TdMohBoxgAAHZGVW35MQdvT3JlkjtW1T1XOf+o/vj69RpprV3QWqvVHkke3L/sb5c9BwAA7CHqlmEIBQAAxmiptv7Yptba9Ule0v/40qqa7cWZqnpmktOSnNtae/ey559WVR+sql/adgcAAIC9Qd0yCNsHAQCM0dLgcz+el+QhSe6f5LyqeluS2ya5b5JLk3zPitefmOQuSW61m50EAAAGpG4ZxOC/dQAAdkAtbf0xB62169ItlX1ukmuSfFu6wfXZSe7VWjt/Lh8EAADsXeqWQVgpAADAjmitXZvkZ/rHoV57ZpIzN9H2OUkWYj9OAABg75pi3SIUAAAYoTndeAsAAGDHqFuGIRQAABijOdx4CwAAYEepWwYhFAAAGCMzbgAAgEWnbhmEUAAAYIzmdOMtAACAHaNuGYRQAABghMoyXAAAYMGpW4YhFAAAGCPLcAEAgEWnbhmE9RkAAAAAADARVgoAAIzRkrkfAADAglO3DEIoAAAwQmUZLgAAsODULcMQCgAAjJEZNwAAwKJTtwxCKAAAMEZm3AAAAItO3TIIoQAAwBgtGVwDAAALTt0yCKEAAMAIVVmGCwAALDZ1yzD81gEAAAAAYCKsFAAAGCN7cwIAAItO3TIIoQAAwBjZmxMAAFh06pZBCAUAAMbI3pwAAMCiU7cMQigAADBCZcYNAACw4NQtwxAKAACMkb05AQCARaduGYRQAABgjAyuAQCARaduGYRNmwAAAAAAYCKsFAAAGKFaMvcDAABYbOqWYQgFAADGyOAaAABYdOqWQQgFAADGyN6cAADAolO3DEIoAAAwRksG1wAAwIJTtwxCKAAAMEJVluECAACLTd0yDKEAAMAYWYYLAAAsOnXLIEQxAAAAAAAwEVYKAACMkb05AQCARaduGYRQAABgjCzDBQAAFp26ZRBCAQCAEXLDLgAAYNGpW4YhFAAAGCPLcAEAgEWnbhmEUAAAYIyWzLgBAAAWnLplEEIBAIARKntzAgAAC07dMgxRDAAAAAAATISVAgAAY2QZLgAAsOjULYMQCgAAjJFluAAAwKJTtwxCKAAAMEYG1wAAwKJTtwxCKAAAMEK1ZHANAAAsNnXLMIQCAABjVPbmBAAAFpy6ZRBCAQCAMbIMFwAAWHTqlkGIYgAAAAAAYCKsFAAAGCN7cwIAAItO3TIIKwUAAEaoamnLj/n1oY6qqp+vqg9X1XVVdXFVnVVVp2yhrROq6sVVdWFVfbY//lpVHT+3DgMAALtK3TIMoQAAwBgt1dYfc1BVRyZ5S5KfTnJskj9P8rEkT0ry3qq6wybaOjHJPyb5oSSfS/K6JAeSPD3Ju6rqZnPpNAAAsLvULYOwfRAAwAhde+RNtvze/fPpwnOS3C/JO5N8Y2vtqiSpqmcm+Z9Jzkpy+gbb+rUkd0rymiSPba19rm/r15P8jyQvSvLE+XQbAADYLeqWYVRrbTvvbwcOHJhXXxbS/v3dPy/XOQ5Tuc7k4LUCsCsWbiPMAwcObHmQt3///m1dT1UdkeQ/kxyX5F6ttfeuOP++JKcluU9r7d2HaOtWSS5KN9PmNq21Ty47d5N0s3huluTk1tp/bqffjFq79Kprh+7DjrrFsUclSW645JOHeOXetu+kWyZJPn75uMfzp5wwjbpFzQKw69Qty0y5brF9EAAA8/aAdAPrj6wcWPde3R8fvoG2vindmPVtywfWSdJa+2yS1yc5LMnDtt5dAABggiZbtwgFAACYty/vj+9Z4/zs+dN2uS0AAICZydYt276nwFSW+7nOcZnKdQLAQG7THy9a4/zs+dvucltM2Gx7nbGbba8zdrPtdcZO3QIAO2qydYsbDQMA8AWq6gNrnWut3X0DTRzbH69Z4/zV/XEj33bNsy0AAGAk1C1bZ/sgAAAAAACYiG2vFDhw4MA8+rGwZss1Xec4TOU6k+lcqyXVAPO3wVk167mqPx69xvlj+uNG/k9qnm0xYVMZE118xVWHeOXedvLx3SS8Gy6+ZOCe7Kx9J5+UJLnhoo8P3JOdte/UU5JM579PAOZL3bJ1VgoAADBvH+2Pp65xfvb8hbvcFgAAwMxk6xahAAAA8/a+/nivNc7Pnn//LrcFAAAwM9m6RSgAAMC8vT3JlUnuWFX3XOX8o/rj6zfQ1l8nuTHJ11bVlyw/UVU3SfLwJP+V5I1b7y4AADBBk61bhAIAAMxVa+36JC/pf3xpVc32z0xVPTPJaUnOba29e9nzT6uqD1bVL61o6xNJ/iTJEUl+s6qW3xPr+UlukeQPW2v/uTNXAwAAjNGU65Zt32gYAIDFc8Nh+4buwvOSPCTJ/ZOcV1VvS3LbJPdNcmmS71nx+hOT3CXJrVZp6xlJ7pfkkUk+WFX/nOTuSe6R5Lwkz9yJCwAAAHaWumUYVgoAAIxQa1t/zOfz23VJHpzkuUmuSfJt6QbXZye5V2vt/E20dVmSr0ryG+lm3jwiyXFJfj3JV7XWPj2fXgMAALtJ3TKMatv7DbYDBw7Mqy8Laf/+/UkS1zkOU7nOZDrXOrtOgIHV0B1Y6dKrrt3yIO8Wxx61cNcD2zSZuuXiK64auCc76+Tjj02S3HDxJQP3ZGftO/mkJMkNF3184J7srH2nnpJEzQKwixZunK9uGYbtgwAARmibEz8AAAB2nLplGLYPAgAAAACAibBSAABghMy4AQAAFp26ZRhCAQCAEbrR4BoAAFhw6pZhCAUAAEbI2BoAAFh06pZhCAUAAEbIMlwAAGDRqVuGIRQAABihG2NwDQAALDZ1yzCEAgAAI2TGDQAAsOjULcNYGroDAAAAAADA7rBSAABghG404wYAAFhw6pZhCAUAAEboxhsNrgEAgMWmbhmGUAAAYIRMuAEAABadumUYQgEAgBFywy4AAGDRqVuGIRQAABihG2NwDQAALDZ1yzCEAgAAI2TGDQAAsOjULcNYGroDAAAAAADA7rBSAABghMy4AQAAFp26ZRhCAQCAEbrR2BoAAFhw6pZhCAUAAEbIjBsAAGDRqVuGIRQAABghg2sAAGDRqVuGIRQAABihGw2uAQCABaduGYZQAABghAyuAQCARaduGcbS0B0AAAAAAAB2h5UCAAAjZG9OAABg0albhiEUAAAYIctwAQCARaduGYZQAABghIytAQCARaduGYZQAABghCzDBQAAFp26ZRhCAQCAEbIMFwAAWHTqlmEIBQAARsiMGwAAYNGpW4axNHQHAAAAAACA3WGlAADACJlwAwAALDp1yzCEAgAAI2RvTgAAYNGpW4YhFAAAGCF7cwIAAItO3TIMoQAAwAiZcQMAACw6dcswhAIAACNkcA0AACw6dcswhAIAACNkGS4AALDo1C3DWBq6AwAAAAAAwO6wUgAAYITMuAEAABadumUYQgEAgBG60dgaAABYcOqWYQgFAABGyIwbAABg0albhiEUAAAYIYNrAABg0albhiEUAAAYoRtjcA0AACw2dcswhAIAACNkxg0AALDo1C3DWBq6AwAAsJaqekBVvbGqPl1VV1XVP1bVd82p7d+rqtY/vmYebQIAANOyF2sWKwUAAEboxhFMuKmqRyZ5RbqJLH+X5LIkX5/k96vqtNbaj2yj7Qcn+Z4kLUnNobsAAMAm7fW6Za/WLEIBAIARunGPj66r6mZJzkpyWJJHttZe0z9/yyR/n+RZVfWXrbVzttD2kUl+O8kHklyZ5P7z6jcAALBxe7lu2cs1i+2DAABGqLW25ceCeEqSmyb589ngOklaa59M8mP9j8/aYts/neROSb4/yQ3b6SQAALB1e7xu2bM1i5UCAAAjtCCD5O345v746lXOvSHJdUkeUlVHttau22ijVfVlSX40yVmttb+vsnMQAAAMZY/XLXu2Ztl2KLB///559GPhuc5xmcp1JtO6VgAOujF7enCdJF/eH9+z8kRr7fqq+tck90nypUnev5EGq2opycuSXJGDM3eYiKmMiU4+/tihu7Ar9p180tBd2BX7Tj1l6C7siqn89wnAF9vjdcuerVmsFAAAGKHtzLipqg+s0+7dt9zwxj//pkmO63+8aI2XXZRugH3bbHCAneSpSe6X5Ltba5/eVicBAIBt26t1y16vWbYdCpz3NQ+dRz8W1p3//k1JpnOdBw4cGLgnO2s2A2Xs15lM51qndp0AE7F8qvM1a7zm6v64of+BrKpTk/xCknNaay/fRt/Yoy7+0Z8eugs76uQXPDfJdK5zKmM/1zkOy8fyn7jyqgF7svNuddw0VisBZI/XLFYKAACM0Ha25pzHrJqqem2Su23ybd/VWvvH7X72Gl6a5CZJfmCH2gcAADZpyLplyjWLUAAAYIRuHP6GXbdPcpdNvufo/njViuc+s8prj+mPh5xeWlWPTPLfkjy3tfbBTfYJAADYIQPXLZOtWYQCAAAjtJ29Oef0+ffcxns/U1VXptuj89Qk/7bKy07tjxduoMmH98dvqKoHrjg36+dv9J95dmvt7E12GQAA2IIh65Yp1yxCAQCAERo6FJiD9yV5YJJ7ZcUAu6r2JblHkuuSfHgTbf7/7N13lCVXfSfw728UGIVBCRMssWQwYQERLBkMjEyySBJYJoNFMLaPvWtjnA9aODqsDdgG28suDsAh2gQR12AQSSIYBBgMSxCYaHIQIEYCBZi7f1S15qnV3dNp5r1+9/M5553XVV33vls9tri/961bdeIKv1uYaJ+zhv4AAIAN2OJ1y5atWbZttAMAAGbP7tbW/ZoRbxzfT1vid/dLsj3J21prl+yto9ba6a21WuqV5NzxsLuM+566KaMHAAD2aovXLVu2ZhEKAADMoS0+uU6S52W4L+cpVfWghZ1Vdc0kzxw3/3Jxo6o6f3wdu3+GCQAArNcWr1u2bM3i9kEAAMyc1tp3q+qxSV6Z5KyqOifJBUnukeTIJM9qrZ2zRNOFB4UdtD/GCQAA9Gkr1yxCAQCAObTF782ZJGmtvXp8yNaTM9xb8+AM9+p8TmvtRVMdHAAAsGFbvW7ZqjWLUAAAYA7t3tpz6yu01t6b5OQ1HF9r7H/nWscEAABsjnmoW7ZizSIUAACYQ1v9ihsAAGD+qVumQygAADCHTK4BAIBZp26ZDqEAAMAc2m1yDQAAzDh1y3Rsm/YAAAAAAACA/cNKAQCAOeSCGwAAYNapW6ZDKAAAMIfcmxMAAJh16pbpEAoAAMwh9+YEAABmnbplOoQCAABzyBU3AADArFO3TIdQAABgDrniBgAAmHXqlukQCgAAzCGTawAAYNapW6Zj27QHAAAAAAAA7B9WCgAAzCH35gQAAGadumU6hAIAAHPI3BoAAJh16pbpEAoAAMwh9+YEAABmnbplOoQCAABzyDJcAABg1qlbpkMoAAAwh0yuAQCAWadumQ6hAADAHLIMFwAAmHXqlunYNu0BAAAAAAAA+4eVAgAAc8j1NgAAwKxTt0yHUAAAYA5ZhgsAAMw6dct0CAUAAOaQB3YBAACzTt0yHUIBAIA5tHu3yTUAADDb1C3TIRQAAJhDrrgBAABmnbplOoQCAABzyL05AQCAWadumY5t0x4AAAAAAACwf1gpAAAwh1xvAwAAzDp1y3QIBQAA5pB7cwIAALNO3TIdQgEAgDnk3pwAAMCsU7dMh1AAAGAOueIGAACYdeqW6RAKAADMIVfcAAAAs07dMh1CAQCAOWRuDQAAzDp1y3Rsm/YAAAAAAACA/cNKAQCAOeTenAAAwKxTt0yHUAAAYA65NycAADDr1C3TIRQAAJhDJtcAAMCsU7dMh1AAAGAOWYYLAADMOnXLdAgFAADmkMk1AAAw69Qt0yEUAACYQ7vNrQEAgBmnbpmObdMeAAAAAAAAsH9YKQAAMIcswwUAAGadumU6hAIAAHPI5BoAAJh16pbpEAoAAMyh3SbXAADAjFO3TIdQAABgDrniBgAAmHXqlunwoGEAgDm0u63/NUuq6s5V9aaq+m5VXVRVH6iqR6+zryOq6k+r6hNV9cOquqSqPl1Vz66qa2722AEAgJXNQ92yFWsWKwUAAObQ7rZ72kPYsKr6pSSvyHAhy7uSfCfJ3ZO8qKpu3Vr7vTX0dY0k/5rkJkm+keSt469+NsnvJHlIVf1ca+1Lm3gKAADACrZ63bJVaxYrBQAAmDlVdXSSFyQ5IMlprbWdrbXTkvxMks8meVJV7VxDl3+SYXL9hiQ3aK2d0lo7JckNkrw2yXWSnLmJpwAAAMyxrVyz1Abv2zRDCzUAAKampj2AxX7jeWete5723MefNvXzqao/SPKMJK9vrZ266HcPTPKaJP/cWrv/Kvv7UJLbJ/m51tr7F/3u+CQfTvKp1totNmP8zBx1CwCAumVTbeWaxe2DAADm0Bw8sOu+4/tZS/zujUkuSXKPqtreWrtkFf1duopjLljt4AAAgI3b4nXLlq1ZNhwK7Nq1azPGMbN27NiRxHnOi17OM+nnXJ3nfFk4T2Djdm/tyXWS3GZ8//DiX7TWLquqjye5Q5KbJvnYKvo7O8mdkvxRVT10YVJeVduTnDEe8/wNj5qZdcHFq6nDtq5jDtuepJ+5wuXf+OaUR7JvHXTtayVJvvq9+f73PPao/ua4vZxrL+cJbNwWr1u2bM1ipQAAwBzayBU3VfWJFfq95bo7Xv3nXz3JEePmV5Y57CsZJtjXy+om2H+R5G5JTknyhao6b9x/QpLtSX6vtfbC9Y4ZAABYu61at2z1mkUoAAAwh7b4MtzDJ37+4TLHXDy+r+pSvdbaxVV13yR/n+SRGSbaC96Z5D1rHSQAALAxW7hu2dI1i1AAAGAO7d7A3Hozrqqpqtcmufkamz26tfaBjX72MuP5Lxnu63mdJI9O8ubxVycneXaSc6rqXq21d++LzwcAAK5qmnVLzzWLUAAAgH3hBklutsY2h47vFy3a94Mljj1sfF/tTYtflORWSR7YWnvdxP4XV9VFSV6dYbnuCasfLgAAsIV1W7MIBQAA5tC0l+G21m67gbY/qKoLM9yj87gkn1zisOPG9y/trb+qum6SnUkuTfJ/lzjk9UkuS3LHqtq+8EAvAABg35pm3dJzzbJtI40BAJhNu9PW/ZoRHx3fb7f4F1V1UIYraC5J8plV9LUwGb+4tfaTxb8c912cpJIcua7RAgAAa7bF65YtW7MIBQAA5lBrbd2vGfHG8f20JX53vyTbk7xtlVfIfGN8P7qqbrD4l1V1oyRHZZhkf2cdYwUAANZhi9ctW7ZmEQoAAMyh3bvbul8z4nkZ7st5SlU9aGFnVV0zyTPHzb9c3Kiqzh9fxy7sa619IcnHxs2/q6ojJo4/MsnfjZuva639eHNPAwAAWM4Wr1u2bM3imQIAAHNoRq6cWbfW2ner6rFJXpnkrKo6J8kFSe6RYbnss1pr5yzRdOFBYQct2v+EJG9Lcs8kn62q88b9JyY5JskXk/zBJp4CAACwF1u5btnKNYuVAgAAc2h3W/9rVrTWXp3krknekuT4JPdJ8tkkp7fWnrTGvs5Lctsk/5Dhap57JPmFJN9M8vQkt2+tfW3zRg8AAOzNVq9btmrNYqUAAAAzq7X23iQnr+H4WuF3n8tw9Q0AAMCm2Io1i1AAAGAObeVluAAAQB/ULdMhFAAAmEMtJtcAAMBsU7dMh1AAAGAO7XbFDQAAMOPULdMhFAAAmEOW4QIAALNO3TIdQgEAgDm029waAACYceqW6RAKAADMIVfcAAAAs07dMh3bpj0AAAAAAABg/7BSAABgDrniBgAAmHXqlukQCgAAzKHdJtcAAMCMU7dMh1AAAGAOmVwDAACzTt0yHUIBAIA5ZBkuAAAw69Qt0yEUAACYQ+bWAADArFO3TIdQAABgDlmGCwAAzDp1y3Rsm/YAAAAAAACA/cNKAQCAOeTenAAAwKxTt0yHUAAAYA5ZhgsAAMw6dct0CAUAAOaQK24AAIBZp26ZDqEAAMAcMrcGAABmnbplOoQCAABzyDJcAABg1qlbpmPbtAcAAAAAAADsH1YKAADMoXc+5Tdr2mMAAABYibplOqwUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6ES11jbSfkONAQDmRE17AMCK1C0AAOoWRlYKAAAAAABAJw7caAe7du3ajHHMrB07diRxnvOil/NM+jlX5zlfejtPAPafCy6+ZNpD2KeOOWx7kn7+N/Tyr3x1yiPZtw467tgk/fx79vL/n0k//6bOcz6oW2B+WSkAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0IlqrW2k/YYaAwDMiZr2AIAVqVsAANQtjKwUAAAAAACAThy40Q527dq1GeOYWTt27EjiPOdFL+eZ9HOuznO+LJznf/z8vac8kn3rJu95S5J+/j0BZkEv/811nvPBec6XyTnRBRdfMsWR7HvHHLY9ST//pp9/wMOmPJJ964Zv+Kck/fx7Qk+sFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAUWwXvQAAIABJREFUAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADoRLXWNtJ+Q40BAOZETXsAwIrULQAA6hZGB26wvf9DAgAAZp26BQAARm4fBAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAXKGqtlXVA6vqBVX1yaq6oKour6rvVdXHq+olVfWIqrr6Em13VlUbXzs3OI7zJvr61TW0u0VV/U1VfbSqLqyqy6rqa1X1kap6WVX9elXddIX2J1TV86rqU1W1q6ouraovV9WHxr/J6VV13b2M4YDxb/SqqvpCVV089vXZ8e93ylr+FgAA0LNxfv3gqnpxVX2mqr4/zvO/VVXvqao/q6pb7aWPW1fVM6rqA1X1zbH9hWPN86KqOqWqDtpLH4dX1W9U1WvGef4Pxn6+XVXvr6rnVNW9qurAVZzT9qr6tar656r6z6r60TieT1XV31fVSSu0/a2xTtpdVT+1wnFPn6ipnrrCcdeeOO7XJvZff2L/6Xs7JwC2lmqtTXsMwAyoqhOSvCjJzSZ2/yTJhUkOS3K1if0/SPLU1tqzJ9rvTPLOcfOk1to56xzHrZL8v4ld72+t/dwq2v1+kj9NMjkJ//447kMm9p3bWtu5qG0leXaS357Y3cb2h+bK5/6i1trpy4zh+CT/mORnJnZflCGAPXRi3weSPKS19sW9nBYAAHSrqk7MUKNMXthzeZJdSY7MlS90fE2Sh7XWLptovyPJ3yZ5WJIad7cMNc4hufI8/3NJHtFaO2+JcTw2yZ8nOXpi92UZ5vpHJDlgYv8Xkjyhtfa2Zc7pnklekOS4id0/GMcyOZ5/SfKo1toFi9rfMsnHx81fbq2dtcznnJfkZ8fNq9RAE8c9LEMNkyQ3ba39x7j/+uO5JMljWmsvXKo9AFuTlQJAqurUJO/KEAhckOSMJLdKclBr7ZjW2vYk10pyWpLXJzk8yUP20XAeN76/MMNk/8SqusVKDarqQUmemSEQeFeSeyU5pLV2VGvt0AwT7oclOSvD5H2xJ2ZPIPD6JHdKsr21dvR47jccx/XmDEHJUmO4a5J3ZwgEvpfkSUmu01rb0Vo7LMn1kzwlyQ8zTM7Pq6qfWaovAADoXVXdP8k5GQKBC5L8cYYvrQ9urR2T5OAkd0zy9Axfqj8oExfiVNVRSd6X5OHjrpcnuVuGef5R4zz/2CSPT/KxJDdKcpWLkarqGUmenyEQ+FSGuuC6rbWrjeM4KMlNkvxakg8luUGSeyxzTg9J8qYM9clXx88+urV2xDiemyf5qyQ/TnJykvdX1TUn+2itfSLJt8bNnct8zo4kt8sQWlyUoabavtSxE318dSEQAGD+WSkAnRu/mP5QhtUAH0tycmvta3tpc8skj2+tPXFi385scKVAVR2cYXJ8jSQnJvn1JKcneVZr7UkrtHtvhi/yP57k+Nbaj1c49pDW2o8mtivJlzMUBG9urZ28lzFeqf2475pJPprk2km+kmRna+1zy7S/Q5K3Zriy6RNJ7tBau2SlzwQAgJ5U1U0y1ChXT/LJJPdurX1lheOPznD1/emtte+P+96U4Yv1Hyd5eGvtVSu0rwy1R2ut/e3E/kcmecm4+Y8Zrphf6iKjyb4ekOS/tNaes2j/zcdzOjTDyui7t9a+vUwf90ny2gzBx9tba/dY9PtXJHlwkk+21m65RPuTM4QPb8mwQuJeSX6htfbOJY79TIZQ46WttUdN7L9+rBQAmFtWCgBPyxAIXJzkgXsLBJLh6pTJQGATnZIhEPj0uGz3ReP+R+7lHp+3Hd/ftFIgkCSLv9AfP+/Y8ec37G2AS7RPkj/MEAgkwxLfJQOBsf2Hkvz3cfOW2bMyAgAAGDwtQyBwSYYaZdlAIElaa99trZ2a4bZAC1+KL1zsc+ZKgcDYvrXWnpvk7xf2VdXVkjxj3PxoVhEIjH29YXEgMHFOhya5NMNtf5YMBMY+3jQenyR3r6r7Ljpk4cv9WyzzXIGd4/s5Sc5dtO8KVfXTGQKByT4B6IBQADpWVdfJsMw2SV7SWvv8NMeTPV+Qv3h8PzfJl5JcM8n9V9H+uL0fsrntx7Di8ePmOatcIfHSDPcsTZLfXOtnAgDAvKqqhduWJsnLWmufWW3btudWCL81vl+Y5FlraL97YvPUJD89/vxnqwkEljPWXaeOm//UWvv0Kpo9O8PtVJOr1gyTX+DvXKLtwr5zs0IosGifUACgI0IB6NtJ2fPArb1eJb8vVdV1k9wzw4O/XppcMalfCAhWuqL+A+P7g6vq4VW16v+2jVfoLCyL/W/jg7/W4g4ZrmJKklev8jNbkteNmzcfCx8AAGCoURbm869da+OqOjDJXcfNt7bWLl7nOO4+vv8kyRvX2ceCndlzTqutGS5Kcva4eZfxvBZ+9+kkXx83T5psN/E8gYuTfHB8/SjJCVV1yKKPWWj7pdbaFwJAN4QC0LfJB/j++9RGMXhMhv8mvbO19p8T+xdCgXuPy1uX8tQM9wo9MMnLkny1ql5RVb9fVSdV1WF7+ewzxvcdSc6uqi9W1Yur6rer6k7j0uHlTN7D8yN7+ZxJk3/vW62hHQAAzLP1zq8XXC/J4Rtov2ChVvrc+AX9Rmy0Zjg8w3lNWriyf+ei/T+foS7619baj8cVDu9LcrVc9UHKC22tEgDojFAA+nbMxM/fXeqAqrpxVX1jmdedNmMQ44O9HjNuvnjyd621zyb51yQHZHjo8FW01s5N8otJFpbhXjvDg7eemeQdSb5XVW+sqrsu0/5lSR6a4SHByTDhflSSv0ry3rH9y6vqNks0n/wbXrD8WV7Fd5bpAwAAerbXGmUft1/cz7J9VNWjl6uVVhjTZtUMC1/kL155vHD1/zkT+85d9LtU1XFJbryoLwA6IRQA9ubAJNda5nXwJn3GLyS5foYlrkstp1144PBjlvhdkqS19vYMV/PsTPJnGcKAhQn8QUnuk+TcqjpzmfavSHLD8bhnJXlP9tzD85AkD0nyoar61VWeEwAAMN8OzfK10r52zsTPO5f4+dyJfUs9V2DyZ6EAQGeEAtC3yatUjl7qgNba+a21WnglucE+GMfC8wJeu8zS3FcmuSTJjavqbst10lrb3Vo7t7X2J621u7fWjkly8yRnZggckuSMqrrfMu0vb639S2vtSa21uyQ5MsP9OP86e25P9NxFKwYm/4ZrueL/Gsv0AQAAPdtrjbKP2y/uZ9k+Wmt/u6hWWu4ipk2vGcYV1QsrnXcmV3qewA+z57lrSXJekkuT/OzEcwV2ju+fba19eQ1jAmAOCAWgb5+c+Pm20xhAVR2V5IHj5iOrqi1+Jfleku3jMSs9cPgqxlDjKUkekOEhxkny+FW23d1a+0hr7XeSPGHcfUCuPNmf/Bvebg1DO37i50+soR0AAMyzybnx8csetbwvJVm40Gg97RcszPNvVFWHr3jk6vtK1lczXJThvBZbuMJ/4bZAd8lQr7yvtXb5wkGttUsyBAMHJ7nzojZWCQB0SCgAfXtn9nxR/oApjeER2fOF/2qcVlVXX+uHtNbekeSz4+bN1to+w7MOfrRE+w9mz22Gfmk1HY3PUDh13PxUa23xPUcBAKBX70yye/z5gSsduJTW2o+TvGvcvGdVHbbOcbx9fD8gyX3X2ceCyXNabc1weJJ7jpvvHs9rqX6T5GZVde3sufr/nCWOveIWQlV13Qy3Tp3sA4COCAWgY621ryd5zbj5qKraF7cG2puFK///OsmOFV5HJPl2hvv7P2ydn7VwxdCla23YWvtJhlsYXan9eAXO88bNu1XVzlV098jsmYT/n7WOBQAA5lVr7ZvZ85yxh1fVTVfbdrz4Jkn+9/h+RJLfXUP7ye9IXpfka+PPf1xV636e2lh3vX7cfGhVreYipSdmqIOS5WuGyS/0T8rSzxPIon0nZeKBw1k6QABgzgkFgCdnuN/+YUleV1U/vb8+uKpulz23Lfqn1tpFK7x+kD0BxuMW9XOviQJguc+6TZKFZwF8eGL/wVV10tKtrtT+/kmOWtx+9Iwk3xp/fklV3WiFfm6f5G/GzU8lef7ePhsAADrz5AwX9ByS5DVVdexKB1fVUVX16gwhQFprb0py9vjr/1FVp+3tA6vqCUl+dWG7tXZpkj8aN2+T5AUbCQaSnJFh5fHVkryqqq6x3IFVdXKGv0EyfPH/xqWOa619MckXx837Z7g10Y8y3CposfcluTzJHZPcZ9x3/hhYANAZoQB0rrV2foYr1y9LcuskH6uqJ1fVLSe/aK+qq1fVLyb5X6vo9oiqusZeXpU9X+5/qbW21MR1sVeO73esqltN7P/HJOdX1RlVdcfJyXpVXbuqnpjkbRn+m/fjDKsSFhyc5B1V9eGq+t2qunVVHTC23VZV16uqpyR5+Xj8D7JnZUCSK65mekiGB3odl+SDVfXEqrrWxDiuW1VnZFjKfGSS7yQ5rbX2owAAAFdorX0myaMy1Ci3TPLvVfWHVXXjhWOq6oCqOr6qzkzy+SQPWtTNwzNchHNgkldW1cuq6i5VddBEH9epql+pqn9L8ncZQojJcbwkyZ+Pm48Yx/G4qjpu8rix5nh0kietcE6fyPBss58k+a9JPlJVj62qIyf6uWlVPSvJGzLUKZ9P8vDWWluqz9HCaoEHZ7jV0ftba5ct8fk/zHDr04OSnLao7d4cvor67oBV9gXADKiV/7cF6EVVnZjkhbny/fJ/kuT7GSaOk/fx35XkmUn+YnxoVcbb5qzlfpTXyTBJPzLJX7bWfm8VYzwgwxLeayb5q9baE8f9X09y7YlDdye5MMmhGa7EmRz3Y1trZ030eWiGL/onJ7E/GdvvyHDuC76V4Yv8dy8zvjskeVmSySXOuzKEEZP3Mv1Qkoe21j63l1MGAIBuVdWdM9QoN57YfVmGVQRHZs+Fji3DRTy/MvmA3fFZZP+Q5JeT1MSx388QAEw+2+xTSR7VWvu3JcbxuAz1z9ETuy/NMNc/dHwt+EKSP2mtvTxLGC+0en6SyRXaF2aoWybHc3aSR7bWvr1UPxP9PSrD888WPKW1duYyx/5pkj+e2PXg1tqrljn2+uO5rNbxrbV/X8PxAEyRUAC4wngPzVMzLD09Mcm1MnwxflGSr2e4bc7ZSV7dWrt4UdudWVso8MgkLx1/PqG19oFVjvG5SX49w5X2x7bWLquqHUnuneHemLdLcqMMt/rZneR7GSb4b03y/PGq/sV9HpNhCe1dkxyf5AYZlh5fPn7OJ5K8KckLx9sYrTS+AzM88+DUJLfPEGDsTvLNJO9PclaS1+3lah8AACBXXBj0y0nul+SEDPPrQzJ8kX5+hnvlv6S19ukV+rhNhvpjZ5LrZagVfpTkK0k+kORVSd48PkdsuT4OT/LoDA//vW2Sa2T4Iv/CDLfw+WCG5wa8tbW2e5luFvo6JMnp4zndZuzrsgw117sz3Fr17ct2cOW+jkvy5YldO1trSz1TIFV17yRvHjdbkmstFzoIBQDmm1AAAAAAAAA64ZkCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnThwg+3bpowCAGBrq2kPAFiRugUAQN3CyEoBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOnHgRjvY+dTnbMY4ZtY5T/2taQ8BAADYoF27dk17CPvUjh07pj0EAAC2CCsFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADohFAAAAAAAgE4IBQAAAAAAoBNCAQAAAAAA6IRQAAAAAAAAOiEUAAAAAACATggFAAAAAACgE0IBAAAAAADohFAAAAAAAAA6IRQAAAAAAIBOCAUAAAAAAKATQgEAAAAAAOiEUAAAAAAAADpRrbWNtN9QYwCAOVHTHgCwInULAIC6hZGVAgAAAAAA0IkDN9rB15/8tM0Yx8y6ztOenCTZtWvXlEeyb+3YsWPaQwAAgH2ml/l8L+cJAMD6WSkAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQCaEAAAAAAAB0QigAAAAAAACdEAoAAAAAAEAnhAIAAAAAANAJoQAAAAAAAHRCKAAAAAAAAJ0QCgAAAAAAQCeEAgAAAAAA0AmhAAAAAAAAdEIoAAAAAAAAnRAKAAAAAABAJ4QCAAAAAADQiQOnPQAAADbff/z8vdt6297kPW+pzRwLAADAUtQt0yEUAACYR2VBKAAAMOPULVMhFAAAmEflohkAAGDGqVumQhQDAAAAAACdsFIAAGAO1TZX3AAAALNN3TIdQgEAgHnk3pwAAMCsU7dMhVAAAGAeuTcnAAAw69QtUyEUAACYR5bhAgAAs07dMhVCAQCAOVSuuAEAAGacumU6hAIAAPNom3tzAgAAM07dMhX+6gAAAAAA0AkrBQAA5pFluAAAwKxTt0yFUAAAYB6ZXAMAALNO3TIVQgEAgDlU7s0JAADMOHXLdAgFAADmkck1AAAw69QtUyEUAACYR5bhAgAAs07dMhVCAQCAOVQm1wAAwIxTt0yH9RkAAAAAANAJKwUAAObRNlfcAAAAM07dMhVCAQCAeVQWhAIAADNO3TIVQgEAgHnkihsAAGDWqVumQigAADCHPLALAACYdeqW6bA+AwBgHtW29b82awhVh1TVmVX1maq6pKq+VlUvqKpj19HXPavqjVX17aq6vKouqKqzq+qBmzZgAABg/1K3TIVQAABgHm2r9b82QVVtT/KOJGckOTzJ65N8Ocljknykqm64hr5+J8nZSU5O8pkkr05yfpJ7JHlNVf3PTRk0AACwf6lbpkIoAADAvvDkJCcmeV+Sm7bWHtJaOyHJk5L8VJIXrKaTqvqpJE9PcnmSk1prd26tPbS1duckO/9/e3cfbNtZ1wf8+zsECCSXIOWlKZGIGKnFhhjQYIgQNJoipoDEoVNbVHScWlN1gDJtBScDqJUqvgU7ombAaeuokZdGqFGKFxK0MLyU1FgkoICpgryMcJMQIp6nf5x9yuX2nnvPPXuf86z9rM9nZs/K2WvvdZ517knyfO93PWsn+WySf3sqk3UAAICFWeYWpQAAwIBqY2PPj6W/d9W9kly1+PL7W2u3b+9rrb0syc1JnlhVj9nF4S5Kcu8kb2qtvfnoHa21tyS5IUkleezSAwcAAA6U3NKHUgAAYERVe38s7/FJzkrygdbau4+z/7rF9opdHOuzu/yen9jl6wAAgKmQW7pQCgAAjKjv5PrRi+27dti//fz5uzjW25P8dZKvr6onHr2jqp6Q5PIktya5cQ/jBAAAepJbujit9wAAANgHK1hOu4SHLba37bB/+/lzT3ag1tqnquq7k/yXJL9fVX+weP85SS5O8tYkz2qt3b3ckAEAgAMnt3ShFAAAGFAtceVMVd2y077W2qN2cYgzF9s7d9h/x2J7aDfjaa29uqqenOQ3srXEd9unk/xukv+zm+MAAADTIrf04fZBAAAj2qi9Pyamqp6b5I1J3pKtpbtnLrZvSvKiJK/uNzoAAGDP5JYurBQAAOAL7PKqmhO5fbG97w77z1hsj5zsQFV1aZKfzNb9PL+ttba52PW/qurKJO9I8pSqenJr7b/tfcgAAMA6kVv2bulS4OyXvGAV45i8Q4d2tUoEAGAaquuC0A8vtufssH/7+Q/t4lj/fLF9zVET6yRJa+1vq+rVSS5I8oQk3SfXTNdc5vNzOU8AYBBySxdWCgAAjGiJe3OuwHsW2wt32L/9/M27ONb2RPxTO+zffv6LdnEsAABgSuSWLpYuBY4cOenqibW2faXNrZdc3nkk++u8m25IMp8/TwAYXfW9x+ZbszXpfURVXdBa+5/H7L9ysb1+F8f6yGL72B32f/Vi+8FTGiGzM5d5rvMcg9wCwFzILX34oGEAgBFV7f2xpNba3UmuWXz58qravhdnquo52fqwrTe31t551PNXVdV7q+rHjzncaxfbb6+qb/nCU6ynJvmnSTaTvGbpgQMAAAdLbunC7YMAAEa00f3aj5ckuSzJxUluraobk5yb5KIkH0vy7GNe/8Akj0xy9jHPvzbJbyb5tiTXV9U7kvxZkofn81fh/HBr7U/24yQAAIB9JLd00f2nDgDAeFprdyV5UpIXJ7kzydOyNbl+ZZILW2t/usvjtCTPTPLdSd6S5MuSPD3JlyR5Q5Int9Z+bMXDBwAAZmCuucVKAQCAAVX/K27SWvtMkh9ZPE722quTXL3Dvpbk2sUDAAAYhNzSh1IAAGBEK7jHJgAAwL6SW7pQCgAAjMjkGgAAmDq5pQulAADAiCawDBcAAOCE5JYulAIAAAMqV9wAAAATJ7f0oRQAABiRyTUAADB1cksX1mcAAAAAAMBMWCkAADCiDVfcAAAAEye3dKEUAAAYUVkQCgAATJzc0oVSAABgQOWKGwAAYOLklj6UAgAAI9pwxQ0AADBxcksXSgEAgBGVK24AAICJk1u6UAoAAAyoTK4BAICJk1v6sD4DAAAAAABmwkoBAIARuTcnAAAwdXJLF0oBAIARWYYLAABMndzShVIAAGBEJtcAAMDUyS1dKAUAAAZUluECAAATJ7f0oRQAABiRK24AAICpk1u6UAoAAIxow+QaAACYOLmlC+szAAAAAABgJqwUAAAYkWW4AADA1MktXSgFAAAG5AO7AACAqZNb+lAKAACMqEyuAQCAiZNbulAKAACMyAd2AQAAUye3dKEUAAAYULk3JwAAMHFySx9KAQCAEVmGCwAATJ3c0oWfOgAAAAAAzISVAgAAI3JvTgAAYOrkli6UAgAAI3JvTgAAYOrkli6UAgAAAypX3AAAABMnt/ShFAAAGJEP7AIAAKZObulCKQAAMCLLcAEAgKmTW7pQCgAAjMgyXAAAYOrkli6szwAAAAAAgJmwUgAAYEC14doPAABg2uSWPpQCAAAj8oFdAADA1MktXSgFAABG5N6cAADA1MktXSgFAAAGVGVyDQAATJvc0odSAABgRCbXAADA1MktXSgFAABG5AO7AACAqZNbuvBTBwAAAACAmbBSAABgRJbhAgAAUye3dKEUAAAYkA/sAgAApk5u6cPtgwAARrSxsffHilTVfarqRVWXLlxaAAAfQUlEQVT1vqq6q6r+oqquraqHLnnc86rqM1XVquqNqxovAABwwOSWLpQCAAAjqtr7YyXfvk5P8qYkL0xyZpLXJfnzJN+V5N1V9aVLHP4VSe699CABAIC+5JYulAIAACPqf8XNC5I8LskfJvny1tozW2sXJXlukgcluXYvB62q705yaZJfWtE4AQCAXuSWLpQCAAADqo3a82Pp7111ryRXLb78/tba7dv7WmsvS3JzkidW1WNO8bgPSfIfkvxekl9beqAAAEBXcksfSgEAAFbt8UnOSvKB1tq7j7P/usX2ilM87s8muU+Sf7nE2AAAAJIZ5xalAADAiPrem/PRi+27dti//fz5uz1gVX1zkmcm+bHW2vuXGBsAADAVcksXp/UeAAAA+6D2fu1HVd2y077W2qN2cYiHLba37bB/+/lzdzmeM5L8QpI/SfITu3kPAACwBuSWLpQCAAADWsU9Npdw5mJ75w7771hsD+3yeC/J1kT8Sa21u5cZGAAAMB1ySx9LlwKHDu32Z7Lezrvpht5DOBBz+fMEgOEtsZx2l1fVHIiqemySH0jyq621w52HwxqbyzzXeQIAa0Vu6cJKAQCAES2xDHcFbl9s77vD/jMW2yMnOkhVnZbkl5L8dZLnrWZoAADAZMgtXSxdChw5csKfydrbvgLFeY5h+zw/+uk7TvLK9feQ+51x8hcBMK6+y3A/vNies8P+7ec/dJLjnJPkgiQfSfKb9YVXEd1/sX1MVR1Oktbapac6UOZjLvNc5zmGuZ0nADMmt3RhpQAAAKv2nsX2wh32bz9/8y6P93cXj+O5f5In7vI4AAAA22abW7quzwAAYH9U1Z4fK/DWJJ9K8oiquuA4+69cbK8/0UFaax9srdXxHkmetHjZfz/qOQAAYI3ILX0oBQAARrRRe38sqbV2d5JrFl++vKr+3z3tquo5Sc5P8ubW2juPev6qqnpvVf340gMAAADWg9zShdsHAQCMaKP7tR8vSXJZkouT3FpVNyY5N8lFST6W5NnHvP6BSR6Z5OyDHCQAANCR3NJF9586AAD7oDb2/liB1tpd2Voq++IkdyZ5WrYm169McmFr7U9X8o0AAID1Jbd0YaUAAMCAVnSPzaW01j6T5EcWj5O99uokV5/CsQ8n6X+SAADAnsktfSgFAABGtIJ7bAIAAOwruaULtw8CAAAAAICZsFIAAGBEE1iGCwAAcEJySxdKAQCAEa3og7cAAAD2jdzShVIAAGBA5d6cAADAxMktfSgFAABGZBkuAAAwdXJLF0oBAIARbViGCwAATJzc0oVSAABgQOWKGwAAYOLklj5UMQAAAAAAMBNWCgAAjMgyXAAAYOrkli6UAgAAI7IMFwAAmDq5pQulAADAiDZMrgEAgImTW7pQCgAADKjKMlwAAGDa5JY+lAIAACOyDBcAAJg6uaULVQwAAAAAAMyElQIAACNyb04AAGDq5JYulAIAACNyb04AAGDq5JYulAIAAAMqV9wAAAATJ7f0oRQAABiRD+wCAACmTm7pQikAADAik2sAAGDq5JYulAIAAAOqDffmBAAApk1u6cNPHQAAAAAAZsJKAQCAEbniBgAAmDq5pQulAADAiNybEwAAmDq5pQulAADAiDZMrgEAgImTW7pQCgAADKjKMlwAAGDa5JY+lAIAACOyDBcAAJg6uaULpQAAwIgswwUAAKZObunC+gwAAAAAAJgJKwUAAEZkGS4AADB1cksXSgEAgAH5wC4AAGDq5JY+lAIAACNyb04AAGDq5JYulAIAACPacMUNAAAwcXJLF0oBAIABlXtzAgAAEye39KEUAAAYkStuAACAqZNbuvBTBwAAAACAmbBSAABgRJbhAgAAUye3dKEUAAAYkck1AAAwdXJLF0oBAIAB1YbJNQAAMG1ySx9KAQCAEZWPjgIAACZObulCKQAAMCLLcAEAgKmTW7pQCgAAjMgyXAAAYOrkli6szwAAAAAAgJlQCgAADKhqY8+P1Y2h7lNVL6qq91XVXVX1F1V1bVU9dA/H+qKq+tmq+lBVfXax/Zmquv/KBgwAABwouaUPpQAAwIg2au+PFaiq05O8KckLk5yZ5HVJ/jzJdyV5d1V96Skc64FJ3p7kB5J8LslrkxxJ8oNJ3lZVD1jJoAEAgIMlt3ThMwUAAAb0mdPvvef3HlrNEF6Q5HFJ/jDJN7XWbk+SqnpOkp9Kcm2SS3d5rJ9J8mVJXp3kma21zy2O9XNJ/lWSlyX5ztUMGwAAOChySx/VWlvm/e3IkSOrGsskHTq09evlPMewfZ4f/fQdnUey/x5yvzN6DwFgTib36VhHjhzZ8yTv0KFDS51PVd0ryV8lOSvJha21dx+z/z1Jzk/y2NbaO09yrLOT3JatK20e1lr76FH77p2tq3gekOTvtdb+aplxMzS5ZRDOcyzb5wnAgZFbjjLn3OL2QQAArNrjszWx/sCxE+uF6xbbK3ZxrH+UrTnrjUdPrJOktfbZJNcnuUeSb977cAEAgBmabW5RCgAAsGqPXmzftcP+7efPP+BjAQAAbJttbln6MwXmstzPeY7FrXUAYGdVdctO+1prj9rFIR622N62w/7t58894GMxY3OZ5zrPsczlPAFgL+SWvbNSAACAVTtzsb1zh/3bH+6zm7/tWuWxAAAAts02tyy9UmAuH3w0l/O89ZLLO49kf5130w1Jxj/P5PPnOpffXQBWZ5dX1cBamcucyHmOwXmORWYB2B9yy95ZKQAAwKrdvtjed4f92/fx283fAq3yWAAAANtmm1uUAgAArNqHF9tzdti//fyHDvhYAAAA22abW5QCAACs2nsW2wt32L/9/M0HfCwAAIBts80tSgEAAFbtrUk+leQRVXXBcfZfudhev4tj/U6SzSRfV1UPPnpHVd07yRVJ/jbJG/Y+XAAAYIZmm1uUAgAArFRr7e4k1yy+fHlVbd8/M1X1nCTnJ3lza+2dRz1/VVW9t6p+/Jhj/WWSX0tyryS/UFWnHbX7pUkelOQ/tdb+an/OBgAAGNGcc8tpJ38JAADr5m/ucc/eQ3hJksuSXJzk1qq6Mcm5SS5K8rEkzz7m9Q9M8sgkZx/nWD+U5HFJnpHkvVX1jiSPSvKVSW5N8pz9OAEAAGB/yS19WCkAADCg1vb+WM33b3cleVKSFye5M8nTsjW5fmWSC1trf3oKx/p4kq9J8vPZuvLm6UnOSvJzSb6mtfbJ1YwaAAA4SHJLH9WW+wm2I0eOrGosk3To0KEkyVzO89ZLLu88kv113k03JBn/PJPPn+tcfncBOqveAzjWx27/zJ4neQ868z6TOx9YktwyCOc5lrmdJ8AETG6eL7f04fZBAAADWvLCDwAAgH0nt/ShFAAAGJDJNQAAMHVySx9KAQCAAW2aXAMAABMnt/Thg4YBAAAAAGAmrBQAABiQC24AAICpk1v6UAoAAAzIvTkBAICpk1v6UAoAAAxoMybXAADAtMktfSgFAAAG5IobAABg6uSWPpQCAAAD2jS5BgAAJk5u6UMpAAAwoM1Nk2sAAGDa5JY+NnoPAAAAAAAAOBhWCgAADMgqXAAAYOrklj6UAgAAA/KBXQAAwNTJLX0oBQAABrQZk2sAAGDa5JY+lAIAAANyxQ0AADB1cksfSgEAgAGZXAMAAFMnt/ShFAAAGNCmuTUAADBxcksfG70HAAAAAAAAHAwrBQAABmQZLgAAMHVySx9KAQCAAZlcAwAAUye39KEUAAAY0KbJNQAAMHFySx9KAQCAAZlcAwAAUye39KEUAAAYkGW4AADA1MktfSgFAAAG5IobAABg6uSWPjZ6DwAAAAAAADgYVgoAAAzIBTcAAMDUyS19KAUAAAbk3pwAAMDUyS19KAUAAAbk3pwAAMDUyS19KAUAAAbkihsAAGDq5JY+lAIAAAMytwYAAKZObuljo/cAAAAAAACAg2GlAADAgNybEwAAmDq5pQ+lAADAgNybEwAAmDq5pQ+lAADAgFxxAwAATJ3c0odSAABgQCbXAADA1MktfSgFAAAGZBkuAAAwdXJLH0oBAIABmVwDAABTJ7f0sdF7AAAAAAAAwMGwUgAAYECbLrgBAAAmTm7pQykAADAgy3ABAICpk1v6UAoAAAzI5BoAAJg6uaUPpQAAwIA2Y3INAABMm9zSh1IAAGBArrgBAACmTm7pY6P3AAAAWL3NtvfHlFTV46vqDVX1yaq6vareXlXPWtGxf6Wq2uJxySqOCQAA7N4IuWUdM4uVAgAATFJVPSPJr2frQpa3JPl4km9I8qqqOr+19rwljv2kJM9O0pLUCoYLAADMzLpmFqUAAMCANqd06cweVNUDklyb5B5JntFae/Xi+YckuSnJc6vqt1trh/dw7NOT/GKSW5J8KsnFqxo3AACwe+ucW9Y5s7h9EADAgFpre35MxPckuV+S121PrpOktfbRJM9ffPncPR77hUm+LMm/SPI3ywwSAADYuzXPLWubWZZeKXDo0KFVjGPy5nKe5910Q+8hHIi5nGcyn99dAL7QRCbJy3jKYnvdcfa9PsldSS6rqtNba3ft9qBV9Q+T/Osk17bWbqpy56C5mMucyHmOxXkCMLo1zy1rm1msFAAAGNBm2p4fE/HoxfZdx+5ord2d5I+SnJ7ky3d7wKraSPKKJH+dz1+5AwAAdLLmuWVtM8vSKwVuveTyVYxjsravKJ/LeR45cqTzSPbX9hUoo59n8vlzvfuDH+48kv11ry95WJLk0quv6TyS/XX46qt6DwFYM8tccVNVt5zguI/a84F3//3vl+SsxZe37fCy25I8Nsm5SW7e5aG/P8njknxHa+2TSw2StfPn3/uDvYewr774FT+bJPnLH35x55Hsr7N/9IVJxp/PzyW3zO08k3mdK8BurGtuWffM4oOGAQAGtN6rcHPmUf985w6vuWOx3dXfPlTVOUl+NMnh1tqvLjE2AABgRdY4t6x1ZlEKAADwBVZxVU1VvSbJV5zi257VWnv7st97By9Pcu8k37dPxwcAAA7QsrllzplFKQAAMKDN/pfcPDzJI0/xPfddbG8/5rlPH+e1Zyy2J70PQ1U9I8k/TvLi1tp7T3FMAADAPumcW2abWZQCAAADWubenCv6/hcs8d5PV9WnsnWPznOS/PFxXnbOYvuhXRzyisX2G6vqCcfs2x7nzy++5ytba688xSEDAAB70DO3zDmzKAUAAAbUuxRYgfckeUKSC3PMBLuq7pnkK5PcleR9p3DMx51g3/ZE+/ApHA8AAFjCmueWtc0sG8seAACA6dlsbc+PiXj9YnvlcfZ9S5LTk7yxtXbXyQ7UWvvO1lod75HkzYuXfd3iuatXMnoAAOCk1jy3rG1mUQoAAAxozSfXSfLL2bov51Or6lu3n6yqByd56eLLnzr2TVX13sXjoQczTAAAYK/WPLesbWZx+yAAgAGt+TLctNY+WVXPTvIbSa6rqsNJPpHksiT3T/Ky1trh47x1+4PC7nkQ4wQAAPZunXPLOmcWpQAAAJPUWvutxYdsvSBb99a8V7bu1XlNa+1VXQcHAADM3rpmFqUAAMCANtf3gpsv0Fp7a5Inn8Lr6xSPf+mpjgkAAFiNEXLLOmYWpQAAwIDWeRkuAAAwD3JLH0oBAIABmVwDAABTJ7f0oRQAABjQpsk1AAAwcXJLH0oBAIABmVsDAABTJ7f0oRQAABiQZbgAAMDUyS19bPQeAAAAAAAAcDCsFAAAGJB7cwIAAFMnt/ShFAAAGJBluAAAwNTJLX0oBQAABuSKGwAAYOrklj6UAgAAAzK5BgAApk5u6UMpAAAwIMtwAQCAqZNb+lAKAAAMyNwaAACYOrmlj43eAwAAAAAAAA6GlQIAAANyb04AAGDq5JY+lAIAAANyb04AAGDq5JY+lAIAAAMyuQYAAKZObulDKQAAMCDLcAEAgKmTW/pQCgAADMjUGgAAmDq5pQ+lAADAgFxxAwAATJ3c0sdG7wEAAAAAAAAHw0oBAIAB+cAuAABg6uSWPpQCAAAD2tw0uQYAAKZNbulDKQAAMCBX3AAAAFMnt/ShFAAAGJAP7AIAAKZObulDKQAAMCBTawAAYOrklj6UAgAAA7IMFwAAmDq5pY+N3gMAAAAAAAAOhpUCAAADcm9OAABg6uSWPpQCAAADsgwXAACYOrmlD6UAAMCAXHEDAABMndzSh1IAAGBA5tYAAMDUyS19KAUAAAZkGS4AADB1cksfSgEAgAFZhgsAAEyd3NLHRu8BAAAAAAAAB8NKAQCAAbniBgAAmDq5pQ+lAADAgNybEwAAmDq5pQ+lAADAgEyuAQCAqZNb+lAKAAAMaNPcGgAAmDi5pQ+lAADAgFxxAwAATJ3c0odSAABgQCbXAADA1MktfWz0HgAAAAAAAHAwrBQAABjQpituAACAiZNb+lAKAAAMyDJcAABg6uSWPtw+CABgQJtt748pqarHV9UbquqTVXV7Vb29qp61x2OdVVU/VlW3VNWdVXVXVf1JVf10VT141WMHAABObITcso6ZxUoBAIABbbbN3kNYWlU9I8mvZ+tClrck+XiSb0jyqqo6v7X2vFM41gOT/EGS85J8JMnvLXZ9TZIfSvLMqvra1tqHVngKAADACax7blnXzGKlAADAgFrb+2MKquoBSa5Nco8kV7bWLm2tXZnk7yd5f5LnVtWlp3DIf5etyfV/TfLw1tpTW2tPTfLwJK9JcnaSF63wFAAAgJNY59yyzpmllrxv0wR+/AAA3VXvARzr+375uj3P0/7j91zZ/Xyq6vlJfiLJ61prTztm39OTvDrJb7fWrtjl8d6R5DFJvra19j+O2fdVSd6V5H+31v7BKsbP5MgtAAByy0qtc2Zx+yAAgAEN8IFdT1lsrzvOvtcnuSvJZVV1emvtrl0c77O7eM0ndjs4AABgeWueW9Y2syxdClx69TWrGMdkHb76qiTJrZdc3nkk++u8m25IMp/zfP5/vr7zSPbfS799q4Q8cuRI55Hsr0OHDiVJPvfRj3Ueyf467SEPSjKfP09geZvrPblOkkcvtu86dkdr7e6q+qMkj03y5Ulu3sXxfjfJxUn+TVX9k+1JeVWdnuSFi9f8ytKjZrLm8v9Q5zkG5zmWo+e4cznXuZwnsLw1zy1rm1msFAAAGNAyV9xU1S0nOO6j9nzg3X//+yU5a/HlbTu87LZsTbDPze4m2D+Z5IlJnprkz6rqbYvnL0pyepLntdZeudcxAwAAp25dc8u6ZxalAADAgNZ8Ge6ZR/3znTu85o7FdleX6rXW7qiqpyR5RZJ/lq2J9rbfT3LTqQ4SAABYzhrnlrXOLEoBAIABbS4xt17FVTVV9ZokX3GKb3tWa+3ty37vHcbzsGzd1/PsJM9K8juLXU9O8tNJDlfVN7XWbtyP7w8AAPz/euaWOWcWpQAAwIAmcMXNw5M88hTfc9/F9vZjnvv0cV57xmK725sWvyrJVyZ5emvttUc9/6tVdXuS38rWct2Ldj9cAABgGZ1zy2wzi1IAAICVa61dsMR7P11Vn8rWPTrPSfLHx3nZOYvth052vKr64iSXJvlskuuP85LXJbk7yVdX1enbH+gFAACMa86ZZWOZNwMAME2baXt+TMR7FtsLj91RVffM1hU0dyV53y6OtT0Zv6O19rfH7lw8d0eSSnL/PY0WAAA4ZWueW9Y2sygFAAAG1Frb82MiXr/YXnmcfd+S5PQkb9zlFTIfWWwfUFUPP3ZnVT0iyRdla5L98T2MFQAA2IM1zy1rm1mUAgAAA9rcbHt+TMQvZ+u+nE+tqm/dfrKqHpzkpYsvf+rYN1XVexePh24/11r7syQ3L778xao666jX3z/JLy6+fG1r7XOrPQ0AAGAna55b1jaz+EwBAIABTeTKmT1rrX2yqp6d5DeSXFdVh5N8Isll2Vou+7LW2uHjvHX7g8Lueczz35vkjUm+Mcn7q+pti+cfl+TvJPlgkuev8BQAAICTWOfcss6ZxUoBAIABbba9P6aitfZbSZ6Q5IYkX5Xkm5O8P8l3ttaee4rHeluSC5L8Urau5rksydcn+WiSf5/kMa21v1jd6AEAgJNZ99yyrpnFSgEAgAGt8xU3R2utvTXJk0/h9XWCfR/I1tU3AADABIyQW9Yxs1gpAAAAAAAAM2GlAADAgFrW/4obAABgbHJLH0oBAIABbQ6wDBcAABib3NKHUgAAYEAj3JsTAAAYm9zSh1IAAGBAm+bWAADAxMktfSgFAAAG5IobAABg6uSWPpQCAAADMrkGAACmTm7pY6P3AAAAAAAAgINhpQAAwIA2XXEDAABMnNzSh1IAAGBAJtcAAMDUyS19KAUAAAbk3pwAAMDUyS19KAUAAAZkbg0AAEyd3NKHUgAAYECW4QIAAFMnt/ShFAAAGJBluAAAwNTJLX1s9B4AAAAAAABwMKwUAAAYkGW4AADA1MktfSgFAAAGZBkuAAAwdXJLH0oBAIABmVsDAABTJ7f0oRQAABiQZbgAAMDUyS19KAUAAAZkGS4AADB1cksfSgEAgAEdvvqq6j0GAACAE5Fb+tjoPQAAAAAAAOBgKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzUa21Zd6/1JsBAAZRvQcAnJDcAgAgt7BgpQAAAAAAAMzEacse4MiRI6sYx2QdOnQoSfLS63+/80j21/OveFKS+fx5jn6eyXzOdfs8b7/xDzqPZH+d+XUXJ0luveTyziPZX+fddEOS+fzeAnBw5vL/Fuc5Buc5lqPnfnM5V+c5BrkFxmWlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzoRQAAAAAAICZUAoAAAAAAMBMKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzoRQAAAAAAICZUAoAAAAAAMBMKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE9VaW+b9S70ZAGAQ1XsAwAnJLQAAcgsLVgoAAAAAAMBMnLbsAW695PJVjGOyzrvphiTJq97yjs4j2V/f8YTHJkkuvfqaziPZX4evvirJ+L+3yed/d48cOdJ5JPvr0KFDSebzuzuXP8/R/x2d27+fAFMwl//mOs8xOM+xHD0nmsu5zuU85ZYxyC3MkZUCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzoRQAAAAAAICZUAoAAAAAAMBMKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzoRQAAAAAAICZUAoAAAAAAMBMKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZkIpAAAAAAAAM6EUAAAAAACAmVAKAAAAAADATCgFAAAAAABgJpQCAAAAAAAwE0oBAAAAAACYCaUAAAAAAADMhFIAAAAAAABmQikAAAAAAAAzoRQAAAAAAICZUAoAAAAAAMBMVGttmfcv9WYAgEFU7wEAJyS3AADILSyctuT7/SIBAABTJ7cAAMCC2wcBAAAAAMBMKAUAAAAAAGAmlAIAAAAAADATSgEAAAAAAJgJpQAAAAAAAMyEUgAAAAAAAGZCKQAAAAAAADOhFAAAAAAAgJlQCgAAAAAAwEwoBQAAAAAAYCaUAgAAAAAAMBNKAQAAAAAAmAmlAAAAAAAAzIRSAAAAAAAAZuL/AlFawuBjPYqPAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_multiple_theta_matrices_2d([\n", " theta_star, theta_star_eps, theta_glasso, theta_ccgowl\n", "], [\n", " f\"1 Block of Size 2\", 'True Theta + $\\epsilon$', 'GLASSO', 'CCGOWL'\n", "])" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }