diff --git a/.gitignore b/.gitignore index fa2a08d..8c717cf 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ .ipynb_checkpoints/ *.pyc data/pubmed/*.xml + +# tensorboard runs +runs/ diff --git a/.gitignore b/.gitignore index fa2a08d..8c717cf 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ .ipynb_checkpoints/ *.pyc data/pubmed/*.xml + +# tensorboard runs +runs/ diff --git a/torch_playground.ipynb b/torch_playground.ipynb index d3ec3da..890a86e 100644 --- a/torch_playground.ipynb +++ b/torch_playground.ipynb @@ -55,12 +55,12 @@ }, { "cell_type": "code", - "execution_count": 158, + "execution_count": 14, "source": [ "import torch\n", "from torch import nn\n", "from torch.utils.data import TensorDataset, DataLoader, random_split\n", - "\n", + "from torch.utils.tensorboard import SummaryWriter\n", "from sklearn.metrics import accuracy_score, explained_variance_score, r2_score\n", "\n", "import numpy as np\n", @@ -84,19 +84,20 @@ "X = torch.rand((n_samples, n_predictors))\n", "y = torch.rand((n_samples, n_outcomes))\n", "\n", + "# Tensorboard logger\n", + "logger = SummaryWriter()\n", + "\n", "dataset = TensorDataset(X, y)\n", "train_subset, test_subset = random_split(dataset, lengths=(train_size,test_size))\n", "\n", "X_test, y_test = dataset[test_subset.indices]\n", "\n", "model = nn.Linear(n_predictors, n_outcomes)\n", + "logger.add_graph(model, X)\n", + "\n", "optimizer = torch.optim.Adam(model.parameters())\n", "criterion = nn.MSELoss()\n", "\n", - "train_loss_trace = []\n", - "test_loss_trace = []\n", - "model_performance_trace = []\n", - "\n", "for epoch in range(n_epoches):\n", "\n", " # train\n", @@ -106,56 +107,22 @@ " model.zero_grad()\n", " y_pred = model(X_batch)\n", " loss = criterion(y_batch, y_pred)\n", - " train_epoch_loss += loss.detach().item()\n", + " logger.add_scalar('loss/train', loss.detach(), epoch)\n", " loss.backward()\n", " optimizer.step()\n", "\n", - " train_loss_trace.append(train_epoch_loss.detach().item())\n", - "\n", " # eval\n", " model.eval()\n", " test_epoch_accuracy = torch.tensor(0.)\n", " with torch.no_grad():\n", " y_pred = model(X_test)\n", " loss = criterion(y_test, y_pred)\n", - " test_loss_trace.append(loss.detach().item())\n", + " logger.add_scalar('loss/test', loss.detach(), epoch)\n", " \n", " ev = explained_variance_score(y_test, y_pred)\n", - " model_performance_trace.append(ev)\n", - "\n", - "sns.lineplot(x=np.arange(n_epoches), y=train_loss_trace, label='train')\n", - "sns.lineplot(x=np.arange(n_epoches), y=test_loss_trace, label='test')\n", - "plt.xlabel('Epoch')\n", - "plt.show()\n", - "\n", - "sns.lineplot(x=np.arange(n_epoches), y=model_performance_trace, label='Model Performance (Explained Variance)')\n", - "plt.xlabel('Epoch')\n", - "plt.show()\n" + " logger.add_scalar('explained_variance/test', ev, epoch)" ], - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/svg+xml": "\n\n\n \n \n \n \n 2021-08-19T16:49:28.380520\n image/svg+xml\n \n \n Matplotlib v3.4.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "image/png": "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" - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/svg+xml": "\n\n\n \n \n \n \n 2021-08-19T16:49:28.641994\n image/svg+xml\n \n \n Matplotlib v3.4.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEJCAYAAACOr7BbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABE+klEQVR4nO3deVxU9f7H8RcDIyirIiK4gTsqKoqSqaS5AKKW1nVNK1uubfprQdHutXDJItM2zLxplBlpuRtQmQu5pOaKiiuigMqwjAuCMMyc3x/mFAEKIzrAfJ6PR4+Hnfmew/czZ+A9Z/t+rRRFURBCCCH+QWXuDgghhKiaJCCEEEKUSgJCCCFEqSQghBBClEoCQgghRKkkIIQQQpRKAkIIIUSpbMzdgcqm1V7HYKj4ox2urg5kZ+fegx5VXZZYM1hm3ZZYM1hm3RWtWaWyom5d+1Jfq3EBYTAoJgXErXUtjSXWDJZZtyXWDJZZd2XVLKeYhBBClEoCQgghRKlq3Cmmf1IUBa02k8LCG0DZh10ajQqDwXD/OlYFWGLNYJl1V8eara1tcHBwoXbt0s+Pi3uvxgdEbu4VrKyscHdvjJVV2QdMNjYqioqq1y/Q3bLEmsEy665uNSuKgk5XyOXLmQASEmZS408x5efn4ujocttwEEJULVZWVtSqZYuLixu5uZfN3R2LZfIRxIULFwgLCyM7Oxtvb2/mzZuHvX3pKb9jxw4WL17MV199BcCMGTM4dOiQ8fWTJ0+yYMECgoOD6devHw4ODsbXFi1ahIeHh6ndxGDQY21d4w+UhKiR1Opa6PVF5u6GxTL5L2dERARjxowhNDSUqKgoFi5cSFhYWLE2BoOB6OhoPv/8c1q3bm1cPnPmTOO/f/jhB+Li4ggKCkKr1aJWq1m3bp2p3SqVlZVVpW5PCHF/yO9u2QwGhQOnsvh1Xyr5BXpmPOVf6e+XSedddDode/fuJSgoCIDhw4cTHx9fot2ZM2c4c+YMs2bNKnU7Wq2Wjz/+mJkzZ2JlZUViYiKKojB27FiGDRtGXFycKd2rsi5evECvXv5ERs4ptvzUqRP06uVPbOyGcm9r//4/ePnl52/bZs6ct0vdZq9e/jz11BjGjx/Nk0+O4oUXJnDmzOly/2yAXbu289hjg4mI+E+F1qtqtm/fxvfffwf89b78/b/PP4+q8DbLs2+++GIR27dvM6nPd/pZf/yxhzFjHivRdunSxXzyyfxybXf79m188cWiu+7fnRgMBqZNe4O8vLx7/rNqius3dMTtPsfURbuIWpOI5nI+ffw870mYmnQEodVqcXBwwMbm5upubm5kZGSUaNeqVSvmzJnD7t27S91OdHQ0oaGhNGrUCIDCwkJ69+7N1KlTycjIYOzYsbRu3ZoWLVqY0s0qydnZmd27d6HX67G2tgbg119/wcWl7n3tR3T0t8YLl2vXrmL27Bl8+eW35V5/y5ZfGT9+Ao88Mvwe9vLeKiws5JtvvuLTTxcbl0VHl/89uBvPPjvxnm27a9duFBYWcvx4Em3b+hiX//xzHO+88365ttGr10P06vXQveqikUqlYujQR4mO/h8vvjj5nv+86uxi9nU2/ZHGjiMXKdQZaNPEhVH9WtK5VX2sVffmGusdAyIuLo65c+cWW+bl5VWiXUXTy2AwsGrVKlatWmVc1r9/f/r37w9A48aNGTBgANu3b69QQLi6OhT7f41GhY1N+d688rYzlbW1itq169C6dRuOHDlI167dANi793e6dw9ApbLCxkbF9u0JfP75QgwGA40aNWbq1DdxdXVl9+5dfPjhB9SqVYtmzbyxsrrZPjX1PJGRc7ly5Qp2dna8/voU2rRpi5WVlXGbZdVqY6Oia9eufPrpgttua+bMt7hy5TJpaak89tgItm/fxr59e7GxscbPrwtz587m6tUr1K5dm9dem0K7du2LrfPyy5P54INI+vcfyI4dv2Ftbc0LL7zMt98uIzU1lUmTXqV//4GcOXOaDz6IJD8/D602h9GjxzFy5Gj+979FZGZmkpp6nkuXLjJ06KM8/fSzFBQUMG/euxw6dBAbGxuefvpZBgwI4tixo3z44QfcuHEDFxcXwsPfxNOzUbH64+Li8fPrgp1drdt+BjIyLvHUU2NZuPB/NG7chKeeGsuLL76CVqtl69bNXL16lZycbHr1CmTy5NewtlYZ983+/ftYtCiKGzducO3aVV5+eTL9+g1g5sy36NKlK126+BMe/jrNm7fg5MkT1KtXjzlzInF2dmbXrh3873+LKCoqwsPDk+nT/4uzs0uZn4O/Cw0dwq+//kSHDu0BOHz4EE5OzjRv3pzIyDkkJ58mJyeHpk2b8e6788jJyeHVV1/G2dmFWrVqERw8iP379zFjRgS//voL3367jIKCAgoKCpg+/b/4+XXlhReeo1279hw6dIDLl7W89tpUHnywJxcvXmD27LfRarXY2dkxbdp/adWqNbGxG/nuu29RFANt2/rwxhvh2Nra8uCDPfnoo3k888xz2Ns7lHj/VSoVbm6OJvzG3XQ365qboigcPp3F2m1n+CMpA7WNiof8GjM0sDnens5lrldZNd8xIEJCQggJCSm2TKfTERAQYPwWnJmZSYMGDSr0gw8cOICXlxfu7u7GZVu2bKF+/fr4+vr+1UGbih3kZGfnFnvM3GAwFLu9b0fiRbYfvlhiPSsruNvZuXt19KCnb9kX1PX6m/3o06c/mzZtolOnriQlHaVFi1Yoys0hQjIzs3j33Tl89tkSPDw8+fbbr3n//XeZMWMWM2fO4KOPFuHl5c27785CURSKigzMnDmDV1+dQuvWbTl7Npnp098gJma1cZul3d5YVGTAxkaFTqcnLi4WX99Od9yWk5Mzy5cvACAp6Rh+fl0ZNGgIzz03nieeeIqHHnqYI0cSmTYtrNR1IJJ69eqzbNlK3nkngq+++pKPP15EYuIhPv74A/r06c/atWsYP34C/v7dSU9P46mnxvDYYyMxGBROnTrJwoVfkJt7jREjHuXRR//Fhg1ruH49j2+++R6tNofJk1+kV68+zJkzk/feW0DDhg3ZvXsXc+bM4qOPFgJ/3fKZkLCNoUOHFXt/nnhiVLH36YUXXiEgoAcTJ77Ce++9g69vJzp06EhAQE9iYzeQlHSUL7/8FkdHJ1555d9s3vwrjo5Oxn2zcmUMU6f+h2bNvNi3by8ffTSPhx7qZ9w3er2BU6dOEh7+X1q3bsubb4YRF/cj/foFERX1CR9/vAgnJyfWrl3FJ598xGuvTS3zc/B3wcGDeeml53jhhUmoVCri4jYyaNAQDh48iLW1DYsWfYnBYGDSpIls3/4bbdr4cO5cCt9/vx4PD09iYzegKAqFhUWsXv0D7733IS4uLmzcuI5ly77G19fvz9d1LFr0Jdu3J7BoURTdu/cgMnIugYEP89hjI9i1aztLl37B008/x9q1q/nssyXY2tqyaNGnLFv2FU899SxgRfPmrdizZw+9e/cp8Vk1GAxkZl67069fqdzcHE1e15yK9Ab2JmmI33OeVE0ujnXUPNLLm75+jXCyv/mFpqy6KlqzSmVV4ov1LSadYlKr1fj7+xMbG8uQIUNYu3YtgYGBFdrGwYMH6dq1a7Fl6enprFixgoULF5KTk8PmzZtZtmyZKV2s0nr16s3//vcZBoOBX3/9hYcfHsCvv/4MwLFjR/HxaY+HhycAQ4cOZ9myaJKTT+Pq6oaXlzcAISGD+d//PiMvL4+kpGO8885fF/7z8/O5cuXybfvw1FNjsLK6eZqlWTNvpkx5847bateuQ4nt5OXlkZaWxkMPPQxAhw6+ODk5cf78uVLXeeCBBwFwd29I/fpu2NjY0LChB9eu3fxAv/zy/7F79y6WLfuS06dPkZ//17npLl38UavV1K1bDycnJ65fz+Xgwf0MHToMlUqFq2t9vvlmJcnJp7lwIY3w8NeM616/fr1E31NTU3Fzcy+2rKxTTKGhQ9m8eRObNv3E11+vMC7v2TOQevVcAejXbyD79u2lT59+xtf/+99Z7Nz5G1u2bOLo0UTy8/NLbLtu3Xq0bt0WgObNW3L16lWOHTtCRsYlJk26eSrKYNDj5ORc5ufgnzw8PGnSpCkHD+7H17cT27f/xsSJr2Bv74CTkzOrVq3k/PkU0tJSjX2qW7ee8XN3i0ql4p133mfHjt84f/4cBw7sQ/W30xkBAT3+7HcLrl27CsDBg/t5++2b19l69OhFjx69WLVqBWlpqfz7308DUFSkM9YM0LBhQ1JTU0t97y1JfkER2w5e4Jc/UtFeK8DDtQ5PhbSlR3t31DbW970/Jt/F9NZbbxEeHs5nn32Gh4cH8+ffvPgVExODRqNh8uTbn09MTU2lTZs2xZaNGjWKEydOMHjwYAwGA2+88Ybx+kRl6elb+rf8+/kgUZ069rRs2YrDhw+yf/9eJk582RgQilK8D4qioNfrAatir926fmEwGKhVy7bYHzaNJgMnp7IPP6H4NYhbcnNzb7stW1vbEttRFAPKPw69FIU/+1xyHbVaXaKGv5sxIxxHRyd69uxNv34Dje8LQK1af50KsrKyQlGUErcwp6Wlotcb8PRsZKxDr9ej1eaU+FkqlVWpfShNQUEBGs0l9Ho9mZkZNG3q9WcNf/18RTGU6M9LLz1Hly5d8fPrSteu3Uq9qP/3um5uR8Fg0NOxYyfee2+B8efn5eWRkXGp1M9BaQYNGsIvv8Rz7dpV/P27YW/v8OfF58/5179GMWjQUC5fvmzcf6Xt37y8PJ59djxBQYPo1MmPFi1asmrVyhJ9v7U/Sr4nCikpZ9HrDTz8cH/+7//CjNu99RmBm2cKVCrLvWPpSm4Bm/alsXl/OvkFRbRp4sL4oDb4tnBFZcY7uUw+6d6oUSOWLVtGbGwsS5Yswdn55h+R0aNHlwiHgICAEkcCb7/9NqNHjy62zMbGhlmzZhEbG0t8fDyDBg0ytXtV3sMP92fRok9p06ZdsdNo7dp14NixRC5evADA+vWr6dKlKy1btkKr1XLq1EkANm36CQAHBwcaN27CTz/FAjevZ7z00u3voCmLKduyt3egUaPGbNu2GYAjRxLJycmmeXPTbizYu3cPzz47kd69+3Dw4H6AYn9I/qlzZz82b97055AqObz88vN4eHhy9epVDh06AMCPP67n7bffLLFuo0aNuXSp5OnG0nzxxSK6du3GK6+8yjvvzDQOW/H77zvJzc2loKCAX375yXiEBHD16hVSU8/xzDMT6dGjF3v2/F7u4S7atevA0aOJxiOx6OgvWLjwozI/B6Xp0+dh9u3byy+/xDNkyKPAzTucHn64P6GhQ3F1deXQoQMYDGW/v6mp51GpVIwfP4GuXbvx++8771hD585+bNr0858/bzeRkXPw8+tKQsJWtNocFEXhgw/msnLlX19ELly4QOPGTcr13tQkmsv5fP3TCcI+20XsrnO096rLf8b7M3VsFzq1rG/WcAALGGqjqurZM5B3351V4m6WevVcCQt7k+nT30CnK6Jhw4aEh8/AxsaGt9+ew+zZM7C2ti52eP7WW7N5//13+Pbbr7GxUTNz5jsm3/JmyrZmzJjF+++/w5Iln6NW12LOnMhiRwoVMWHCc7zwwrM4OjrQpEkzPDw8jWFZmmHD/sWHH77PU0/d/LLx6qthODg4MGvWu3z00TwKCwupU8ee//wnosS6PXv25sCBP+jRo6dx2VNPjSnWpnHjxowa9QRbtmzi66+/o04de+LiNhITs4y6detRt25dwsImcfnyZYKCBhEQ0IP9+/8AwMnJmcGDH2XcuBHY29vTvn1Hbty4Uepppn9yda1PePgMZsyYhsGgx83NnRkzZt72c/BPtrZ2+Pt3Z//+ffj5dUGvVxgyZBgREW+yZcsm1OpatG/fgQsXLvCPs71GLVu2omXL1owZ8zh2dnZ07tzljqH66qtTeO+92axZ8wN2dnZMnfofvL2b8/TTzzFp0kQURaFVqzY88cRTwM0vACdPHi91H9VUaZm5xO46x+6kDKxVVvT09SC4e1Pc69Uxd9eKsVL+eX6gmvvnRepLl87RsGGzO65X3caqqQyWWDP8VXdBQQEvvvgsn3/+ZYVvhgCIjd3AgQP7ePPNtyu/k5WsKu/r337byuHDh3jppdJPS5f3d7g0Ve0i9dmLV9m4M4UDp7KwrWVN386NGNCtCXUdS57eM5XZL1ILURPY2toyfvwEVq/+nhEjRt95BVHpDAYDGzeuY8aM0h+mrSlOp11h/c6zHEnOwd7OhqE9vejv3wSH2qYdad8vcgTxp6r8DetescSawTLrrs41V+cjiJOpl1m3/SxJ57Q41FYT1L0JD3dpTG3be/fdXI4ghBCiCvt7MDjZ12JE35b09WuEba37f6vq3bCIgFAURQb9EqIaunlLb/X53T2ddoU1vyUbg2FUv1Y81NkTW3X1CoZbanxA2NjU4vr1q9jbO0lICFFN3Hz+p4hr17TUqmVn7u7c0dmLV1nzWzJHknNwqqNm5MMt6ePXqNoGwy01PiDq1nVDq82846QjKlX1m5LxbllizWCZdVfHmlUqa2rXdsDB4fYPfZpTWmYuaxKSOXAqC4faav7VpwUPd2lc7U4llaXGB4S1tQ316995wiFzX8wyB0usGSyzbkus+V7SaPNYu/0su49mYGdrzaO9vBnQrck9vfhsDjWrGiGEuIcu5xawfkcKvx26gLXKiuAHmhIS0KzK365qKgkIIYS4g7wbRcTtPscve1PRGxQCO3kypKcXLg6V94BbVSQBIYQQZdAVGdiyP40NO1O4fqOIgHbuDOvtTYO6VWtIjHtFAkIIIf7BoCjsScpg9bZksq7coL1XXR7v05JmDavv5EOmkIAQQoi/OXFey4rNp0m5dI0mDRx4bWQnOni7mrtbZiEBIYQQwKWcPL7fcpoDp7Ko62jLM6E+9OjQ0OxDbpuTBIQQwqLl5utYv+MsW/anY2OjYnhgcwZ2a0Ktav6QW2UwOSAuXLhAWFgY2dnZeHt7M2/ePOzt7Yu10Wg0TJs2jaysLFQqFVOmTKFHjx4oikJkZCRbtmxBpVIxa9Ys4/SjS5cuZeXKlSiKwuuvv87AgQPvrkIhhChFkd7AlgPprN9+lryCIgI7efJo7+Y429e688oWwuSAiIiIYMyYMYSGhhIVFcXChQsJCwsr1iYyMpK+ffvyxBNPkJyczLhx40hISOCXX37hzJkzxMbGcu7cOZ5//nni4uI4duwY69evZ926deTm5jJy5Ei6d++Oi4vL3dYphBBGR5Kzifn1FBez8/BpVpdR/VrRpEHpI5paMpOmHNXpdOzdu5egoCAAhg8fTnx8fIl2AwcOZMiQIQA0a9bMOK/utm3bGDRoECqVCm9vbzw9PTlw4AAJCQkMGDAAW1tbXF1d6d69O1u3bjW9OiGE+JsMbR4ffX+I+SsPodcrvDLclzdGdZZwKINJRxBarRYHBwfjLFxubm5kZGSUaPf300NLlizBx8cHR0dHNBoNDRo0ML7m5ubGpUuX0Gg0+Pr6llguhBB340ZhERt3nuPnveextlbxrz4t6O/fBLWNSd+RLcYdAyIuLo65c+cWW+bl5VWi3e1GSo2OjmbFihV88803wM2RGv9JpVKVubwiypr4ojzc3CzrHmewzJrBMuu2xJoVReFY6hWWbjhKztUbPOzfhCdD21HPqeqPEHs3Kmtf3zEgQkJCCAkJKbZMp9MREBCAXq/H2tqazMzMYkcEfxcZGcm2bdtYvnw5DRs2BMDd3Z3MzExjm1vrl7bc29u7QgX9c0a58rLEwcwssWawzLotsea0zFxWbj3DkTPZNGvoyMRH2tOykTP6Ah2ZmTpzd++eqcwZ5Uw6vlKr1fj7+xMbGwvA2rVrCQwMLNEuOjqa3bt3ExMTYwwHgMDAQDZs2IBer+fcuXOkpKTg6+tLYGAgP//8M/n5+eTk5PD777/To0cPU7oohLBQ+QVFfPfrKd5eupdzF68yPrgN/x3vT8tGVXfY8KrK5Dmp09PTCQ8PJzs7Gw8PD+bPn4+zszMxMTFoNBomTZpE9+7dcXBwwMnJybje4sWLadCgAZGRkSQkJAAwbdo0evXqBdy8zXXVqlUUFRXxwgsv8Oijj1aoX3IEUX6WWDNYZt2WULOiKOxJ0vDd5lNczS0ksLMnzw/vREFegbm7dl9V5hGEyQFRVUlAlJ8l1gyWWXdNr/lSTh7f/HyCYylamrk7Mi6oDc09nWp83aWpzICQJ6mFENWWrkjPj7vOEfv7OdQ2KsYOaE1fv0aoVJY7PEZlkoAQQlRLSSk5fP3TCTK0+QS0c2fkwy1r/PwM95sEhBCiWrmWV8iKzafZeeQSDVxq8/rIzrT3rmfubtVIEhBCiGpBURR2Hb3Ed7+eJr+giNAezRjyoJcMqncPSUAIIaq8zMv5fP3TCY6ezaFFIyeeDG5LYzcZHuNek4AQQlRZBoPCpj9SWf1bMiorq5sXobs0sug5Gu4nCQghRJWUlpnLl7HHOXvxKp1auDIuqE2NHyKjqpGAEEJUKUV6Az/uOsfGnSnUtrXh30Pb092nwW3HexP3hgSEEKLKSLl0laU/JpGWeZ0H2rkzun8rHOvIBD7mIgEhhDA7XZGBDTvPErvrPI72al55zBe/Vm7m7pbFk4AQQphVyqWrLPkxifTM6/T0bciofq2wt1Obu1sCCQghhJkU6Q2s35FC7K5zONmrmfx4Rzq1rG/ubom/kYAQQtx35zOuseTHJFI1uTzYoSGj+8tRQ1UkASGEuG/0BgPxu8+z9rez2NeWaw1VnQSEEOK+yMjJ44sfj3Em/Sr+bdwYF9RG7lCq4iQghBD3lKIobDt4ge82n8JGpeL5Ie0IaOcuzzVUAyYHxIULFwgLCyM7Oxtvb2/mzZuHvb19sTYajYZp06aRlZWFSqViypQp9OjRg+vXrzN9+nSSk5MBmDhxIqGhoQD069cPB4e/xlhZtGgRHh4epnZTCGFGV3IL+DLuOIfPZNPeqy4TQttR11GG5K4uTA6IiIgIxowZQ2hoKFFRUSxcuJCwsLBibSIjI+nbty9PPPEEycnJjBs3joSEBBYvXoynpycfffQR2dnZPPLIIwQEBGBtbY1arWbdunV3XZgQwrz2n8wkOu44BTq9jKFUTalMWUmn07F3716CgoIAGD58OPHx8SXaDRw4kCFDhgDQrFkzCgoKyMvLo3v37owbNw4AV1dXXFxcyMrKIjExEUVRGDt2LMOGDSMuLs7UuoQQZnKjsIjouCQ+XZ2Iq5Mdbz3VjX5dG0s4VEMmHUFotVocHBywsbm5upubGxkZGSXaDRw40PjvJUuW4OPjg6OjIz179jQuj42NpbCwkJYtW5KWlkbv3r2ZOnUqGRkZjB07ltatW9OiRQtTuimEuM/OXrzK5+uPkqnNJ7RHMx7p5Y2NtUnfQ0UVcMeAiIuLY+7cucWWeXl5lWh3uwtO0dHRrFixgm+++abEtt955x2++OILbGxs6N+/P/379wegcePGDBgwgO3bt1coIMqafLs83NwcTV63urLEmsEy676XNesNCqu3nGJ5/HHqOtnxzos96dCiajz0JvvadHcMiJCQEEJCQoot0+l0BAQEoNfrsba2JjMzkwYNGpS6fmRkJNu2bWP58uU0bNjQuHzZsmUsWbKEJUuW0KZNGwC2bNlC/fr18fX1/auDNhU7yMnOzsVgUCq0Dtx8QzMzr1V4verMEmsGy6z7Xtacc/UGX2w8xvHzl+nWtgHjg9tgb6euEu+x7Os7U6msyvxibdKxn1qtxt/fn9jYWADWrl1LYGBgiXbR0dHs3r2bmJiYYuGwadMmoqOjiYmJMYYDQHp6OlFRURgMBrKysti8eTN9+vQxpYtCiPtg/8lM3lq6h7MXr/H0oLZMfKS9PBFdg1gpilLxr9vc/GMeHh5OdnY2Hh4ezJ8/H2dnZ2JiYtBoNEyaNInu3bvj4OCAk5OTcb3Fixfz3HPPkZOTg6urq3H57Nmz8fHxISIign379mEwGJg0aRKDBg2qUL/kCKL8LLFmsMy6K7tmXZGe7zafZsv+dJq5O/LvR9rTsF6dStt+ZZF9fWe3O4IwOSCqKgmI8rPEmsEy667Mmi9kXWfRuqOkZeYysFsTHnuoBWqbqnkhWvb1nd0uIORJaiFEuSiKwvbEiyz/5SS1bKz5v391pGMVuRAt7g0JCCHEHd0oLGLZTyfYdTSDtk1deG5Ie3ki2gJIQAghbitVk8tna4+Qoc3j0V7eDH7QC5VKHnqzBBIQQohSKYpCwqELfLvpFHXsbAgb5UfbZnXN3S1xH0lACCFK+PsppfZedXluSHuc7GVobksjASGEKCY96zoL1yRyKSePYb29CX3QS8ZRslASEEIIo11HLvHVT8exq2XDGyM74+NVz9xdEmYkASGEQFekJ2bTKbYevEDrJi5MfKQ9Lg5yl5Klk4AQwsJlXc5n4dojpFy6RkhAU4Y/1BxrVdV88E3cXxIQQliwxORsFq8/ikGBV4b74tfazdxdElWIBIQQFsigKGzckcK67Wdp5ObAS8M74F636o2lJMxLAkIIC3P9ho7/bTjG4TPZ9GjfkPHBbbBVW5u7W6IKkoAQwoKkanL5dPVhcq4W8MTA1vT1a3Tbyb6EZZOAEMJC7D6WwZdxSdSxtWHq2C60bORs7i6JKk4CQogaTm8wsGT9EdZuO0Orxs68+GgHnOUWVlEOEhBC1GDX8gpZtO4oSee09OvSmJH9WmJjLbewivIxOSAuXLhAWFgY2dnZeHt7M2/ePOzt7Yu10Wg0TJs2jaysLFQqFVOmTKFHjx7GOa2bNGlibLt69WpUKhWRkZFs2bIFlUrFrFmz6Nq1q+nVCWHBzmdc49PViVzOLWTySD86ectAe6JiTA6IiIgIxowZQ2hoKFFRUSxcuJCwsLBibSIjI+nbty9PPPEEycnJjBs3joSEBE6cOIGfnx9Lliwp1j4+Pp4zZ84QGxvLuXPneP7554mLi8PGRg50hKiIPUkZLP0xCfvaaqY90YXuHRtZ3Mxq4u6ZdKyp0+nYu3cvQUFBAAwfPpz4+PgS7QYOHMiQIUMAaNasGQUFBeTl5ZGYmEhOTg4jRoxgxIgR7NmzB4Bt27YxaNAgVCoV3t7eeHp6cuDAAVNrE8LiGAwKq7adYdG6ozRt6MiMp7rh7eF05xWFKIVJX821Wi0ODg7Gb/Zubm5kZGSUaDdw4EDjv5csWYKPjw+Ojo5YWVnRr18/XnrpJZKSknjuuefYsGEDGo2GBg0aGNdxc3Pj0qVLFepbWXOrloebm6PJ61ZXllgz1My6r+frmLd8H38kZRD0QDP+Paxjsbmia2LN5WGJdVdWzXcMiLi4OObOnVtsmZeXV4l2t7uXOjo6mhUrVvDNN98AMGrUKONr7dq1o2PHjuzfvx9FUUqsq6rgmDDZ2bkYDCW3cycyubnlqIl1Z2jz+PiHw2i0+Ywb2Jq+XRpzWXvd+HpNrLk8LLHuitasUlmV+cX6jgEREhJCSEhIsWW3LjLr9Xqsra3JzMws9s3/7yIjI9m2bRvLly+nYcOGAKxdu5YuXbrQtGlT4ObMVWq1Gnd3dzIzM43r3m67QoibjqbksGjtEaysrHh9ZGeZ9U1UGpOuQajVavz9/YmNjQVu/sEPDAws0S46Oprdu3cTExNjDAeAEydOsHTpUgCSk5NJSkqia9euBAYGsmHDBvR6PefOnSMlJQVfX19TuihEjacoCr/uS2PBikO4ONrynyf9JRxEpbJSSjuvUw7p6emEh4eTnZ2Nh4cH8+fPx9nZmZiYGDQaDZMmTaJ79+44ODjg5PTXRbLFixdjb2/P9OnTSU5OxsrKijfffJMHHngARVGIjIwkISEBgGnTptGrV68K9UtOMZWfJdYMNaPuIr2Bb385ydaDF+jcsj7PDWlHbduyTwjUhJpNYYl1V+YpJpMDoqqSgCg/S6wZqn/dufk6Plt7hKRzWgY90IzhDzW/45Sg1b1mU1li3ff1GoQQouq4mH2dj344TM7VGzw72IcHO3iYu0uiBpOAEKKaOJaSw8I1R7C2tmLK6C60bCyD7Yl7SwJCiGpg68F0vvnpJB6udZj8eEfqu9Q2d5eEBZCAEKIKMxgUVm45zc97U/Ft7srER9rf9mK0EJVJPmlCVFE3CotYvP4YB09n0a9rY0b1a4l1BR8cFeJuSEAIUQVprxXw8Q+HOa+5xpj+rejv3+TOKwlRySQghKhiUjW5fPj9IfIKipj0WEc6taxv7i4JCyUBIUQVciQ5m4Vrj1Db1oZpY7vQ1N3yBpoTVYcEhBBVxK07lRq52TP58Y7Uc7Izd5eEhZOAEMLMDIrC6m3JxP5+Tu5UElWKfAqFMCNdkYElPx5jT5KGPp09GTuwtdypJKoMCQghzOT6DR2frErkZOplHu/TgpCApredV0WI+00CQggzyLqSz4KVh8i8nM/zQ9vxQLuGd15JiPtMAkKI++zcpWt8+P0hdEUGXh/ZmTZNZQ4HUTVJQAhxHx05m03UmiM42NnwxuiuNKpvb+4uCVEmCQgh7pMdiReJjjuOh6s9r47oRF1HW3N3SYjbMjkgLly4QFhYGNnZ2Xh7ezNv3jzs7Yt/G9JoNEybNo2srCxUKhVTpkyhR48ezJgxg0OHDhnbnTx5kgULFhAcHEy/fv1wcPhr8opFixbh4SFj3ovqS1EUYn8/x6ptyfg0q8vLw33lNlZRLZj8KY2IiGDMmDGEhoYSFRXFwoULCQsLK9YmMjKSvn378sQTT5CcnMy4ceNISEhg5syZxjY//PADcXFxBAUFodVqUavVrFu3zvSKhKhCDAaFmE2n+HV/Gg+0c2dCqA821nIbq6geTPqk6nQ69u7dS1BQEADDhw8nPj6+RLuBAwcyZMgQAJo1a0ZBQQF5eXnG17VaLR9//DEzZ87EysqKxMREFEVh7NixDBs2jLi4OFO6J0SVoCvSs2jdEX7dn0Zw96Y8O6SdhIOoVkw6gtBqtTg4OGBjc3N1Nzc3MjIySrQbOHCg8d9LlizBx8cHR8e/xpaJjo4mNDSURo0aAVBYWEjv3r2ZOnUqGRkZjB07ltatW9OiRYty962suVXLw83N8sa9scSa4d7XfT1fx+wvd3PkTDbPDG3Pow+1vKc/rzxkX1uOyqr5jgERFxfH3Llziy3z8vIq0e52D/hER0ezYsUKvvnmG+Myg8HAqlWrWLVqlXFZ//796d+/PwCNGzdmwIABbN++vUIBkZ2di8GglLv9LTK5ueW413Vfzi1gwcpDXMi6zvND2vFAO3ezv8+yry1HRWtWqazK/GJ9x4AICQkhJCSk2DKdTkdAQAB6vR5ra2syMzNp0KBBqetHRkaybds2li9fTsOGfz0MdODAAby8vHB3dzcu27JlC/Xr18fX1/evDtrIxTxRfWTk5PHBioNcy9Mx+V8d6eDtau4uCWEyk06IqtVq/P39iY2NBWDt2rUEBgaWaBcdHc3u3buJiYkpFg4ABw8epGvXrsWWpaenExUVhcFgICsri82bN9OnTx9TuijEfZdy6SrvfLOPG4V6pozxk3AQ1Z7JX8/feustwsPD+eyzz/Dw8GD+/PkAxMTEoNFomDRpElFRUTg4ODBu3DjjeosXL8bd3Z3U1FTatGlTbJujRo3ixIkTDB48GIPBwBtvvGG8PiFEVXYsJYdPVifiYKfm9VGdaVivjrm7JMRds1IUpeIn7KswuQZRfpZYM1R+3X8c17B4w1Hc69XhtRGdq+QDcLKvLcd9vQYhhCjb1oPpLIs/QYtGzkz+V0fs7dTm7pIQlUYCQggT/P3paN/mrrw4rAO2amtzd0uISiUBIUQFKYrCyi2n+WlPKg+0d2fCIHk6WtRMEhBCVIDeYOCr+BNsP3yRfl0aM3pAK1QyyY+ooSQghCgnXZGBxeuPsu9kJkN7evFIL2+ZAU7UaBIQQpTDjcIiolYncjRFy+h+rRjQrYm5uyTEPScBIcQdXL+h48OVh0i+eJVnQn3o6SvDzwvLIAEhxG1cuV7IB98d5FLOdV58tANd25Q+pIwQNZEEhBBlyL5yg3nfHUCbW8DkxzvR3rueubskxH0lASFEKTJy8nj/uwPkF+h5Y6QfLRs7m7tLQtx3EhBC/EOaJpd5Kw5iMChMGe1Hs4aWN5+AECABIUQxZy9eZf6Kg6htVEwZ2wXP+vZ3XkmIGkoCQog/nUy9zIffH8Khtpqw0X64udQ2d5eEMCsJCCGAo2dz+GTVYeo52fHGqM7Uc7Izd5eEMDsJCGHxDpzK5LO1R2hYz57XR3XG2b6WubskRJVg8ghjFy5cYOzYsQQHB/PCCy9w/fr1Em00Gg1PPfUUQ4cOZcSIESQlJQE3Bzt77733CA4OZtCgQezbt8+4ztKlSwkODiYoKIiff/7Z1O4JUS57kjJYuOYITRo4MGWMn4SDEH9jckBEREQwZswY4uPj6dChAwsXLizRZsGCBQQFBbF+/XpefvllIiIiAPjpp584c+YMsbGxREVFER4eTlFREYcPH2b9+vWsW7eOb7/9lsjISC5fvmxycULczo7Ei3y+/ijNPZ14Y5QfDrVlLgch/s6kgNDpdOzdu5egoCAAhg8fTnx8fIl2c+bMYeTIkQCkpaXh5OQEwLZt2xg0aBAqlQpvb288PT05cOAACQkJDBgwAFtbW1xdXenevTtbt241sTQhyrb1YDpLf0yibdO6vDaiM7Vt5WyrEP9k0m+FVqvFwcEBG5ubq7u5uZGRkVGinUp1M3+Cg4NJT083HmVoNBoaNPhryAI3NzcuXbqERqPB19e3xHIhKtOG35L5Ov4EHVu48uKjHaglE/0IUao7BkRcXBxz584ttszLy6tEu9sNexwfH09SUhITJkwgLi6O0qbBVqlUZS6viLLmVi0PNzfLeyDK0mpeveUUX248xgMdGjJlnD9qG8sJB0vb17dYYt2VVfMdAyIkJISQkJBiy3Q6HQEBAej1eqytrcnMzCx2RHDL1q1b6datG/b29vj4+ODp6Ulqairu7u5kZmYa291av7Tl3t7eFSooOzsXg6Fk0NyJTG5e823YcZY1v52ld+dGjBvQisvaPHN36b6xtH19iyXWXdGaVSqrMr9Ym3QNQq1W4+/vT2xsLABr164lMDCwRLs1a9awcuVKAE6fPk1WVhbNmzcnMDCQDRs2oNfrOXfuHCkpKfj6+hIYGMjPP/9Mfn4+OTk5/P777/To0cOULgphpCgKaxKSWfPbWXq0b8jrY7rIFKFClIPJV+beeustwsPD+eyzz/Dw8GD+/PkAxMTEoNFomDx5MtOnT2f69OmsWbMGW1tbPvjgA+zt7QkODubw4cMMHToUuHkx287Ojo4dOzJ06FAef/xxioqKmDRpEu7u7pVTqbBIiqLww7YzxP1+nl4dPXgquC3WEg5ClIuVUtqJ/2pMTjGVX02vWVEUVmw+zc97U+nj14gnBrZGZWVV4+sujSXWDJZZd2WeYpJ7+0SNpCgK3246xa/70ujXtTFj+reS+aOFqCAJCFHjGBSF5T+fZMuBdAZ2a8LIh1tKOAhhAgkIUaMYFIWv40+QcOgCIQ805fGHWkg4CGEiCQhRYxgUha/ijvPb4YsMfrAZw3o3l3AQ4i5IQIgawWBQ+DIuiR2Jlxja04tHenlLOAhxlyQgRLVnMCgsjU1i55FLPNLLm0d6VezhSiFE6SQgRLVmMCgs+fEYu45m8Ghvb4b2lHAQorJIQIhqS28wsGRjEr8fy2B4YHMGP+hl7i4JUaNIQIhqSW8w8MXGJHYfy+Cxh5oT2sPL3F0SosaRgBDVjt5g4H8bjrEnScO/+rQg5IFm5u6SEDWSBISoVoqFQ98WhARIOAhxr8ioZaLakHAQ4v6SgBDVgoSDEPefBISo8iQchDAPCQhRpUk4CGE+EhCiypJwEMK8TL6L6cKFC4SFhZGdnY23tzfz5s3D3t6+WBuNRsOUKVPIycnBzs6OiIgIfHx8uH79OtOnTyc5ORmAiRMnEhoaCkC/fv1wcPhr8opFixbh4eFhajdFNSXhIIT5mRwQERERjBkzhtDQUKKioli4cCFhYWHF2ixYsICgoCBGjx5NQkICERERfPfddyxevBhPT08++ugjsrOzeeSRRwgICMDa2hq1Ws26devuujBRfd16CM74nIOEgxBmYdIpJp1Ox969ewkKCgJg+PDhxMfHl2g3Z84cRo4cCUBaWhpOTk4AdO/enXHjxgHg6uqKi4sLWVlZJCYmoigKY8eOZdiwYcTFxZlUlKi+/v6E9OPyEJwQZmXSEYRWq8XBwQEbm5uru7m5kZGRUaKdSnUzf4KDg0lPT2fhwoUA9OzZ09gmNjaWwsJCWrZsSVpaGr1792bq1KlkZGQwduxYWrduTYsWLUzppqhmbo2tdCscBkk4CGFWVoqiKLdrEBcXx9y5c4st8/LyIiUlhYSEBACKiorw8/MjMTGxzO0kJSUxYcIE4uLicHFxMW57zpw5fPHFF7Rt27bEOrNnz6ZJkyY8+eSTFa1LVDN6g8KHMfvZuj+N8YN8+Fe/1ubukhAW745HECEhIYSEhBRbptPpCAgIQK/XY21tTWZmJg0aNCix7tatW+nWrRv29vb4+Pjg6elJamoqLi4uLFu2jCVLlrBkyRLatGkDwJYtW6hfvz6+vr5/ddCmYgc52dm5GAy3zbxSubk5kpl5rcLrVWdVpWaDQeGLH4/x+9Gbo7L26ehxT/tVVeq+nyyxZrDMuitas0plhaurQ+mvmdIBtVqNv78/sbGxAKxdu5bAwMAS7dasWcPKlSsBOH36NFlZWTRv3pxNmzYRHR1NTEyMMRwA0tPTiYqKwmAwkJWVxebNm+nTp48pXRTVxK35HG6FgwzZLUTVccdTTGVJT08nPDyc7OxsPDw8mD9/Ps7OzsTExKDRaJg8eTIZGRlMnz6dzMxMbG1tmTp1Kv7+/gwdOpScnBxcXV2N25s9ezY+Pj5ERESwb98+DAYDkyZNYtCgQRXqlxxBlJ+5a/77THDDApsz5D6Fg7nrNgdLrBkss+7KPIIwOSCqKgmI8jNnzcXCobc3Q+7jTHCyry2HJdZt9lNMQtwNg0Hhyz/D4dH7HA5CiPKTgBD31a1w2PFnOMgc0kJUXTJhkLhv/n5aScJBiKpPAkLcFzfvVkpi19H7f81BCGEaCQhxz926lXXX0QwJByGqEQkIcU/dGj7j92MZ9/VWViHE3ZOAEPfM34fsfuyh5oT28DJ3l4QQFSABIe6JIr2BxRuO8cfxP4fsloH3hKh2JCBEpSvSG1i07ij7T2Yyom9LggOamrtLQggTSECISqUrMvDZ2iMcPJ3F6P6tGODfxNxdEkKYSAJCVJpCnZ6oNUdITM5m3MDW9O3S2NxdEkLcBQkIUSkKCvV8vOowx89peTK4DQ91bmTuLgkh7pIEhLhr+QVFfPj9IU6nX+GZwT482MHD3F0SQlQCCQhxV3LzdSxYeYjzGdf499D2dPdxN3eXhBCVRAJCmOzK9UI++O4gl3Ku8+KjHfBr7WbuLgkhKpEEhDBJztUbvP/dQbTXbjD58U60965n7i4JISqZyQFx4cIFwsLCyM7Oxtvbm3nz5mFvb1+sjUajYcqUKeTk5GBnZ0dERAQ+Pj7GOa2bNPnrFsjVq1ejUqmIjIxky5YtqFQqZs2aRdeuXU2vTtwTGTl5zPvuIHkFOl4f2ZlWjV3M3SUhxD1g8nwQERERjBkzhvj4eDp06MDChQtLtFmwYAFBQUGsX7+el19+mYiICABOnDiBn58f69atM/5nbW3NTz/9xJkzZ4iNjSUqKorw8HCKiopMr05UuvMZ15j7zT4KdHqmjO4i4SBEDWZSQOh0Ovbu3UtQUBAAw4cPJz4+vkS7OXPmMHLkSADS0tJwcnICIDExkZycHEaMGMGIESPYs2cPANu2bWPQoEGoVCq8vb3x9PTkwIEDJhUmKt/J1Mu89+1+bGxUTHuiC80aOpq7S0KIe8ikU0xarRYHBwdsbG6u7ubmRkZGRol2KtXN/AkODiY9Pd14lGFlZUW/fv146aWXSEpK4rnnnmPDhg1oNBoaNGhgXN/NzY1Lly6Z0kVRyQ6cymTRuqO4Otnx+sjOuDrbmbtLQoh77I4BERcXx9y5c4st8/LyKtHOysqqzG3Ex8eTlJTEhAkTiIuLY9SoUcbX2rVrR8eOHdm/fz+KopRY91bIlFdZk2+Xh5ub5X0jLk/NP/1+joWrE2nR2IW3nn0AZwfb+9Cze0v2teWwxLorq+Y7BkRISAghISHFlt26yKzX67G2tiYzM7PYN/9btm7dSrdu3bC3t8fHxwdPT09SU1PZunUrXbp0oWnTm4O4KYqCWq3G3d2dzMxM4/plbfd2srNzMRhKBs2duLk5kpl5rcLrVWd3qllRFDbsTGHtb2fxbe7KC4+2pzC/kMz8wvvYy8on+9pyWGLdFa1ZpbIq84u1Sdcg1Go1/v7+xMbGArB27VoCAwNLtFuzZg0rV64E4PTp02RlZdG8eXNOnDjB0qVLAUhOTiYpKYmuXbsSGBjIhg0b0Ov1nDt3jpSUFHx9fU3porhLRXoD0XHHWfvbWR7s0JBXHvPFrpbcFS2EJbFSSjuvUw7p6emEh4eTnZ2Nh4cH8+fPx9nZmZiYGDQaDZMnTyYjI4Pp06eTmZmJra0tU6dOxd/fn9zcXKZPn05ycjJWVla8+eabPPDAAyiKQmRkJAkJCQBMmzaNXr16VahfcgRRfmXVnHejiM/WJnI0RcuQB714tLf3bU8hVjeyry2HJdZdmUcQJgdEVSUBUX6l1Zx1JZ+PfzjMxew8xge3oXdHTzP17t6RfW05LLHuygwIOWcgjE6lXebT1YkU6RX+b0Qn2nvJ09FCWDIJCAHAb4cv8HX8Ceo72zHp8Y54uNrfeSUhRI0mAWHhivQGVvx6ml/3p9HOqy4vPNoBezu1ubslhKgCJCAsWPaVfN77dj9n0q8ysFsT/tW3BdYVfO5ECFFzSUBYqGMpOXyxMYn8giImPiLzOAghSpKAsDBFegNrfztL3O/naOzuwOujOtOovlxvEEKUJAFhQTK0eSxef4yzF68S2MmTV0b6ce1qvrm7JYSooiQgLIBBUfj1jzRWbTuDtbXKeErJztYGy7pDXAhRERIQ3Jw6MzVHw9Ur+VhZQW1bG+o52uJoXwtVNX+C+GL2daLjjnMq7QodW7gyPqgN9ZxkJFYhxJ1JQABfxiZx+Ex2ieU21la4udTGq6ETXh6OtPB0xquhIypV1Q+NG4VFbNiZws97UqmltuaZUB8e7NCwRg2ZIYS4tyQggOeGtCOvSEGrzUNRFPIKisi5WkDOtRtczMrjWEoOu47enJfC3s4Gn2Z16dDclU4t6+NsX8vMvS/OYFDYdfQSqxOS0V4roKdvQx7v07LK9VMIUfVJQAD2dmq83BzJdCj7j6j2WgEnUy9z9GwOR1Ny+ONEJlZAi8bOdGnlhn8bN+q71L5/nf4Hg6Kw70Qma39L5mJ2Hs0aOvLCox1o2cjZbH0SQlRvEhDlVNfRloB27gS0c0dRFFI1uRw4lcX+k5ms3HKalVtO4+3hiH+bBnRp44Z73Tr3pV8FhXp2Hb3Epn1pXMi6jodrHV58tANd2rhV++snQgjzkoAwgZWVFU3dHWnq7sgjvbzRaPPYdyKTP05o+H7rGb7feoZGbvZ0aeVGxxaueHs4Vep1C0VROHPhKnuSMth15BLXbxTRzN2R54a0I8DHvVpcIxFCVH0SEJWgQd06hDzQjJAHmpF1JZ8DJ7PYdzKTjbtS2LAzBXs7G9p51aNVY2daNHKmSQMHbKwrNqTF1bxCTp6/zInUyxw8lUn21QJsrFX4tapPf//GtGzkLBeghRCVSgKiktV3rs2Abk0Y0K0Jufk6jqXkkJiczbEULXuPawCwsVbhXq827nXr0KBubRxrq7GztcGuljUGg0KBTk+BTk/OlQIyLueRkZNH5uUbANSyUdG2WV2GBTbHr5UbtW1lFwoh7g2T/7pcuHCBsLAwsrOz8fb2Zt68edjbFx+yQaPRMGXKFHJycrCzsyMiIgIfHx9mzJjBoUOHjO1OnjzJggULCA4Opl+/fjg4/DV5xaJFi/Dw8DC1m2blUFtNdx934zhHOVdvcObCVc5euMqlnDwuZl/n8JksivSlT3BkV8sa97p18PZwIrCTJ22a1sWroWOFjz6EEMIUJgdEREQEY8aMITQ0lKioKBYuXEhYWFixNgsWLCAoKIjRo0eTkJBAREQE3333HTNnzjS2+eGHH4iLiyMoKAitVotarWbdunWmV1SF1XOyo56THd3aNjAuUxSFQp2B/MIi8guKsLZWYau2ppaNCrta1nLaSAhhNiZ9FdXpdOzdu5egoCAAhg8fTnx8fIl2c+bMYeTIkQCkpaXh5ORU7HWtVsvHH3/MzJkzsbKyIjExEUVRGDt2LMOGDSMuLs6U7lUrVlZW2NayxsXBFg9Xexq41MbZvha1bW0kHIQQZmXSEYRWq8XBwQEbm5uru7m5kZGRUaKd6s+5BYKDg0lPT2fhwoXFXo+OjiY0NJRGjRoBUFhYSO/evZk6dSoZGRmMHTuW1q1b06JFC1O6KYQQ4i5YKYpS+gnwP8XFxTF37txiy7y8vEhJSSEhIQGAoqIi/Pz8SExMLHM7SUlJTJgwgbi4OFxcXDAYDAQGBrJq1Src3Uufi2D27Nk0adKEJ598sqJ1CSGEuEt3PIIICQkhJCSk2DKdTkdAQAB6vR5ra2syMzNp0KBBiXW3bt1Kt27dsLe3x8fHB09PT1JTU3FxceHAgQN4eXkVC4ctW7ZQv359fH19/+qgTcUOcrKzczEYbpt5pXJzcyQz07LGNrXEmsEy67bEmsEy665ozSqVFa6uDqW/ZkoH1Go1/v7+xMbGArB27VoCAwNLtFuzZg0rV64E4PTp02RlZdG8eXMADh48SNeuXYu1T09PJyoqCoPBQFZWFps3b6ZPnz6mdFEIIcRdMvkuprfeeovw8HA+++wzPDw8mD9/PgAxMTFoNBomT57M9OnTmT59OmvWrMHW1pYPPvjAeCtsamoqbdq0KbbNUaNGceLECQYPHozBYOCNN94wXp8QQghxf93xGkR1I6eYys8SawbLrNsSawbLrLsyTzHVuMdw72YcIkscw8gSawbLrNsSawbLrLsiNd+ubY07ghBCCFE5ZMwGIYQQpZKAEEIIUSoJCCGEEKWSgBBCCFEqCQghhBClkoAQQghRKgkIIYQQpZKAEEIIUSoJCCGEEKWy+IDYsGEDgwYNYsCAASxfvtzc3bmnPv30U0JDQwkNDSUyMhKAnTt3MmTIEAYOHMiCBQvM3MN757333iM8PBy4OTfJY489RlBQEG+++SZFRUVm7l3l27x5M8OHDyc4OJjZs2cDNX9fr1u3zvj5fu+994Cau69zc3MZPHgwaWlpQNn79q7rVyzYpUuXlL59+yparVa5fv26MmTIEOXUqVPm7tY9sWPHDmXkyJFKQUGBUlhYqIwfP17ZsGGD8tBDDynnz59XdDqdMmHCBGXr1q3m7mql27lzpxIQEKBMnTpVURRFCQ0NVQ4cOKAoiqJMmzZNWb58uRl7V/nOnz+v9OrVS7l48aJSWFiojB49Wtm6dWuN3td5eXlKt27dlOzsbEWn0ymPP/64smPHjhq5rw8ePKgMHjxYad++vZKamqrk5+eXuW/vtn6LPoLYuXMnDzzwAC4uLtSpU4egoKBS59auCdzc3AgPD6dWrVqo1WpatGhBSkoKzZo1o0mTJtjY2DBkyJAaV//ly5dZsGABEydOBG7OOXLjxg06d+4MlD2fenX2yy+/MGjQIBo2bIharWbBggXUrl27Ru9rvV6PwWAgPz+foqIiioqKsLGxqZH7euXKlbz11lvGSdoOHz5c6r6tjM96jRvNtSI0Gg1ubm7G/2/QoAGHDx82Y4/unVatWhn/nZKSQmxsLOPGjStRf2lzi1dnM2bM4NVXX+XixYtAyX1e1nzq1dm5c+dQq9U888wzZGZm0rdvX1q1alWj97WDgwOTJ08mJCQEOzs7unfvjlqtrpH7es6cOcX+v7S/YxkZGZXyWbfoIwillIFsraxq9tDAp06dYsKECUydOpWmTZuWeL0m1f/999/j4eFBjx49jMssYZ/r9Xp27drF+++/z8qVK0lMTDSeq/67mlT38ePHWbVqFVu2bGH79u2oVCp27NhRol1NqvmWsj7TlfFZt+gjCHd3d/744w/j/2s0mlLn1q4p9u3bx6RJk5g+fTqhoaHs2bOHrKws4+s1rf7Y2FgyMzN55JFHuHLlCnl5eVhZWRWruaz51Kuz+vXr06NHD+rVqwdAv379iI+Px9ra2timpu3r7du306NHD1xdXYGbp1OWLFlS4/c13Pw7Vtrv8T+Xm1K/RR9BPPjgg+zatYucnBzy8/P5+eefS51buya4ePEiL730EvPmzSM0NBSATp06cfbsWc6dO4der2fjxo01qv4vv/ySjRs3sm7dOiZNmsTDDz/M3LlzsbW1Zd++fUDZ86lXZ3379mX79u1cvXoVvV7Pb7/9RnBwcI3e123btmXnzp3k5eWhKAqbN2+me/fuNX5fQ9m/x40aNbrr+i3+COLVV19l/Pjx6HQ6Hn/8cTp27Gjubt0TS5YsoaCggHfffde4bNSoUbz77ru88sorFBQU8NBDDxEcHGzGXt4f8+bN4z//+Q/Xr1+nXbt2jB8/3txdqlSdOnXi2WefZcyYMeh0Onr27Mno0aNp3rx5jd3XvXr14tixYwwfPhy1Wo2vry/PP/88AwYMqNH7GsDW1rbM3+O7/azLjHJCCCFKZdGnmIQQQpRNAkIIIUSpJCCEEEKUSgJCCCFEqSQghBBClMqib3MVorzatGlD69atUamKf6eKioqicePGlf6zdu3aZXzQTQhzkYAQopy++uor+aMtLIoEhBB3affu3URGRuLu7k5qaip2dna8++67tGjRgmvXrhEREcHx48exsrKid+/evPbaa9jY2HDo0CFmz55Nfn4+arWaKVOmGMeN+uSTTzh06BCXL1/mmWeeYezYsWauUlgiCQghyunJJ58sdoqpcePGREVFAXDs2DGmTZuGv78/MTExhIWFsXr1ambPno2LiwsbNmxAp9PxwgsvsHTpUp5++mleeuklZs+eTZ8+fThy5AjTpk1j3bp1ADRp0oS33nqLY8eOMXLkSEaMGIFarTZL3cJySUAIUU63O8XUtm1b/P39AXjssceYOXMmWq2WhIQEYmJisLKyolatWowaNYqvvvqKnj17olKp6NOnDwAdOnRgw4YNxu0NHjwYAB8fHwoLC8nNzaVu3br3tkAh/kHuYhKiEvx9pFS4OQSztbU1BoOh2HKDwUBRURHW1tYlhl4+efKkcUpIG5ub391utZERcYQ5SEAIUQmOHz/O8ePHAVixYgVdunTBycmJXr16sXz5chRFobCwkJUrV/Lggw/SvHlzrKysjHMWHD16lCeffLJEoAhhTnKKSYhy+uc1CIDXXnsNOzs76tevz4cffkh6ejr16tUjMjISgP/85z/Mnj2bIUOGoNPp6N27NxMnTqRWrVp88sknvPPOO0RGRqJWq/nkk0+oVauWOUoTolQymqsQd2n37t3MmjWLjRs3mrsrQlQqOcUkhBCiVHIEIYQQolRyBCGEEKJUEhBCCCFKJQEhhBCiVBIQQgghSiUBIYQQolQSEEIIIUr1/6QpMPxSP8ovAAAAAElFTkSuQmCC" - }, - "metadata": {} - } - ], + "outputs": [], "metadata": {} } ],