diff --git a/models/internal_priming.pth b/models/internal_priming.pth
index eeab5fda317b000d341c6d4f6badf410ba6e96f0..c11ec4e8f00da9f030e529dda0343bf445ccdc29 100644
Binary files a/models/internal_priming.pth and b/models/internal_priming.pth differ
diff --git a/notebooks/internal_priming.ipynb b/notebooks/internal_priming.ipynb
index d1c274f997859f2959cf0e04a2284ea5ced0a835..3728c62592ed2d0fabd0bc190acbdd2a28db4d73 100644
--- a/notebooks/internal_priming.ipynb
+++ b/notebooks/internal_priming.ipynb
@@ -22,7 +22,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 26,
    "outputs": [],
    "source": [
     "# importing the libraries\n",
@@ -52,7 +52,7 @@
     "\n",
     "        self.cnn_layers = Sequential(\n",
     "            # Defining a 1D convolution layer\n",
-    "            Conv1d(1, 4, kernel_size=3, stride=1, padding=1),\n",
+    "            Conv1d(4, 4, kernel_size=3, stride=1, padding=1),\n",
     "            BatchNorm1d(4),\n",
     "            ReLU(inplace=True),\n",
     "            MaxPool1d(kernel_size=2, stride=2),\n",
@@ -128,13 +128,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 27,
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "100%|██████████| 20000/20000 [00:00<00:00, 27099.07it/s]\n"
+      "100%|██████████| 20000/20000 [00:00<00:00, 23948.83it/s]\n"
      ]
     }
    ],
@@ -185,7 +185,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 28,
    "outputs": [],
    "source": [
     "# TODO: reshape shape from [n, l] to [n, 1, l]\n",
@@ -199,8 +199,8 @@
     "train_shape = train_x.shape\n",
     "val_shape = val_x.shape\n",
     "\n",
-    "train_x = train_x.reshape(train_shape[0], 1, train_shape[1], 4)\n",
-    "val_x = val_x.reshape(val_shape[0], 1, val_shape[1], 4)\n",
+    "train_x = train_x.reshape(train_shape[0], 4, train_shape[1])\n",
+    "val_x = val_x.reshape(val_shape[0], 4, val_shape[1])\n",
     "\n",
     "train_x  = torch.from_numpy(train_x)\n",
     "train_y = torch.from_numpy(train_y)\n",
@@ -229,32 +229,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 29,
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "  0%|          | 0/25 [00:00<?, ?it/s]\n"
-     ]
-    },
-    {
-     "ename": "RuntimeError",
-     "evalue": "Expected 3-dimensional input for 3-dimensional weight [4, 1, 3], but got 4-dimensional input of size [18000, 1, 200, 4] instead",
-     "output_type": "error",
-     "traceback": [
-      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[1;31mRuntimeError\u001B[0m                              Traceback (most recent call last)",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/999922600.py\u001B[0m in \u001B[0;36m<module>\u001B[1;34m\u001B[0m\n\u001B[0;32m     24\u001B[0m \u001B[1;31m# training the model\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     25\u001B[0m \u001B[1;32mfor\u001B[0m \u001B[0mepoch\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mtqdm\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mrange\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mn_epochs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 26\u001B[1;33m     \u001B[0mtrain_loss\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mval_loss\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mtrain\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     27\u001B[0m     \u001B[0mtrain_losses\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mappend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mtrain_loss\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     28\u001B[0m     \u001B[0mval_losses\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mappend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mval_loss\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/2669949571.py\u001B[0m in \u001B[0;36mtrain\u001B[1;34m()\u001B[0m\n\u001B[0;32m     67\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     68\u001B[0m     \u001B[1;31m# prediction for training and validation set\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 69\u001B[1;33m     \u001B[0moutput_train\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx_train\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     70\u001B[0m     \u001B[0moutput_val\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx_val\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     71\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/2669949571.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, x)\u001B[0m\n\u001B[0;32m     43\u001B[0m     \u001B[1;31m# Defining the forward pass\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     44\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 45\u001B[1;33m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mcnn_layers\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     46\u001B[0m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mview\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0msize\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;36m0\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m-\u001B[0m\u001B[1;36m1\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     47\u001B[0m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mlinear_layers\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\container.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, input)\u001B[0m\n\u001B[0;32m    139\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    140\u001B[0m         \u001B[1;32mfor\u001B[0m \u001B[0mmodule\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 141\u001B[1;33m             \u001B[0minput\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodule\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    142\u001B[0m         \u001B[1;32mreturn\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    143\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, input)\u001B[0m\n\u001B[0;32m    299\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    300\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m:\u001B[0m \u001B[0mTensor\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;33m->\u001B[0m \u001B[0mTensor\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 301\u001B[1;33m         \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_conv_forward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mweight\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mbias\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    302\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    303\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001B[0m in \u001B[0;36m_conv_forward\u001B[1;34m(self, input, weight, bias)\u001B[0m\n\u001B[0;32m    295\u001B[0m                             \u001B[0mweight\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mbias\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mstride\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    296\u001B[0m                             _single(0), self.dilation, self.groups)\n\u001B[1;32m--> 297\u001B[1;33m         return F.conv1d(input, weight, bias, self.stride,\n\u001B[0m\u001B[0;32m    298\u001B[0m                         self.padding, self.dilation, self.groups)\n\u001B[0;32m    299\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;31mRuntimeError\u001B[0m: Expected 3-dimensional input for 3-dimensional weight [4, 1, 3], but got 4-dimensional input of size [18000, 1, 200, 4] instead"
+      "100%|██████████| 25/25 [00:19<00:00,  1.25it/s]\n"
      ]
     }
    ],
@@ -309,8 +290,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 30,
+   "outputs": [
+    {
+     "data": {
+      "text/plain": "<Figure size 432x288 with 1 Axes>",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD4CAYAAADmWv3KAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAArg0lEQVR4nO3deXxU9b3/8ddnZpLJnslkIyTssgmEBIKAKIIrLnXFKrUqP63bta1Lb61dbqFabzfaWm9bW1vXXm/RamuxQt0R1NayiOxowCCBEELWyUYyM9/fHzNQluxMcjInn+fjkUcmc86c7+cw+s7JmXM+XzHGoJRSyn4cVheglFKqd2jAK6WUTWnAK6WUTWnAK6WUTWnAK6WUTbmsGjgjI8MMHz7cquGVUioqrVu37qAxJrMr61oW8MOHD2ft2rVWDa+UUlFJRHZ3dV09RaOUUjalAa+UUjalAa+UUjZl2Tl4pVTfa21tpbS0lObmZqtLUZ2Ii4sjLy+PmJiYHm9DA16pAaS0tJTk5GSGDx+OiFhdjmqHMYbKykpKS0sZMWJEj7ejp2iUGkCam5tJT0/XcO/nRIT09PST/ktLA16pAUbDPTpE4n2KuoD/5LN9PPPiX6ip81ldilJK9WtRF/ANW1Zww6aFVHy23epSlFLdVFlZSUFBAQUFBQwaNIjc3NwjP7e0tHT42rVr1/LVr3610zFOP/30iNS6cuVKLrnkkohsyypR9yFrfNogABqqyiyuRCnVXenp6WzYsAGAxYsXk5SUxH/+538eWe73+3G52o6loqIiioqKOh3j/fffj0itdhB1R/DJ6YMBaK7Zb3ElSqlIWLhwIbfffjvTp0/nvvvu41//+hczZ86ksLCQ008/nR07dgDHHlEvXryYm266iTlz5jBy5EgeeeSRI9tLSko6sv6cOXOYP38+48aN47rrruPwDHbLly9n3LhxTJ06la9+9audHqlXVVVx+eWXk5+fz4wZM9i4cSMA77zzzpG/QAoLC/H5fJSVlTF79mwKCgqYOHEiq1evjvi/WVdF3RF8akYuAIG6cosrUSq6fe/lLWzdVxfRbZ46OIVFn5vQ7deVlpby/vvv43Q6qaurY/Xq1bhcLt544w2+9a1v8eKLL57wmu3bt/P222/j8/kYO3Ysd9xxxwnXjH/44Yds2bKFwYMHM2vWLN577z2Kioq47bbbWLVqFSNGjGDBggWd1rdo0SIKCwt56aWXeOutt7jhhhvYsGEDS5Ys4Ve/+hWzZs2ivr6euLg4HnvsMS644AK+/e1vEwgEaGxs7Pa/R6R0GvAiMgR4BsgGDPCYMeYXx60zB/gr8Gn4qT8bYx6IaKVhiakZtBonNBzojc0rpSxw9dVX43Q6AaitreXGG2/kk08+QURobW1t8zUXX3wxbrcbt9tNVlYW5eXl5OXlHbPOaaedduS5goICSkpKSEpKYuTIkUeuL1+wYAGPPfZYh/W9++67R37JnH322VRWVlJXV8esWbO49957ue6667jyyivJy8tj2rRp3HTTTbS2tnL55ZdTUFBwMv80J6UrR/B+4GvGmPUikgysE5HXjTFbj1tvtTGm9z+RcDiokVScjQd7fSil7KwnR9q9JTEx8cjj//qv/2Lu3Ln85S9/oaSkhDlz5rT5GrfbfeSx0+nE7/f3aJ2Tcf/993PxxRezfPlyZs2axauvvsrs2bNZtWoVr7zyCgsXLuTee+/lhhtuiOi4XdXpOXhjTJkxZn34sQ/YBuT2dmEdqXOl4T5UaWUJSqleUltbS25uKGKeeuqpiG9/7Nix7Nq1i5KSEgCee+65Tl9z5pln8uyzzwKhc/sZGRmkpKSwc+dOJk2axDe+8Q2mTZvG9u3b2b17N9nZ2dxyyy186UtfYv369RHfh67q1oesIjIcKAQ+aGPxTBH5SERWiEibhwYicquIrBWRtRUVFd2vNqwxxktiqwa8UnZ033338c1vfpPCwsKIH3EDxMfH8+tf/5p58+YxdepUkpOTSU1N7fA1ixcvZt26deTn53P//ffz9NNPA/Dwww8zceJE8vPziYmJ4cILL2TlypVMnjyZwsJCnnvuOe66666I70NXyeFPlTtdUSQJeAd4yBjz5+OWpQBBY0y9iFwE/MIYM7qj7RUVFZmeTvix7hfXkFu9lkGLd/bo9UoNVNu2bWP8+PFWl2G5+vp6kpKSMMZw5513Mnr0aO655x6ryzpBW++XiKwzxnR+vShdPIIXkRjgReDZ48MdwBhTZ4ypDz9eDsSISEZXtt0TgfhM0kwNwUCwt4ZQStnY7373OwoKCpgwYQK1tbXcdtttVpfUK7pyFY0AjwPbjDE/a2edQUC5McaIyGmEfnH03jmUpCzc4qeq+iDejKxeG0YpZU/33HNPvzxij7SuXEUzC7ge2CQiG8LPfQsYCmCM+Q0wH7hDRPxAE3Ct6eq5nx6ISckGoObgPg14pZRqR6cBb4x5F+iwrZkx5pfALyNVVGfcnlC7gsbKfUBBXw2rlFJRJepaFQAkpecA0FSj/WiUUqo9URnwh9sVtNbp3axKKdWeqAz4FG82ASNQr/1olIomc+fO5dVXXz3muYcffpg77rij3dfMmTOHw5dUX3TRRdTU1JywzuLFi1myZEmHY7/00kts3frvG/C/+93v8sYbb3Sj+rb157bCURnw4nRRI6k4tF2BUlFlwYIFLF269Jjnli5d2qWGXxDqAunxeHo09vEB/8ADD3Duuef2aFvRIioDHqDW6cHdrAGvVDSZP38+r7zyypHJPUpKSti3bx9nnnkmd9xxB0VFRUyYMIFFixa1+frhw4dz8GDo//uHHnqIMWPGcMYZZxxpKQyha9ynTZvG5MmTueqqq2hsbOT9999n2bJlfP3rX6egoICdO3eycOFCXnjhBQDefPNNCgsLmTRpEjfddBOHDh06Mt6iRYuYMmUKkyZNYvv2jica6m9thaOuXfBhjTFeElqrrC5Dqei14n7Yvymy2xw0CS78YbuLvV4vp512GitWrOCyyy5j6dKlfP7zn0dEeOihh/B6vQQCAc455xw2btxIfn5+m9tZt24dS5cuZcOGDfj9fqZMmcLUqVMBuPLKK7nlllsA+M53vsPjjz/OV77yFS699FIuueQS5s+ff8y2mpubWbhwIW+++SZjxozhhhtu4NFHH+Xuu+8GICMjg/Xr1/PrX/+aJUuW8Pvf/77d/etvbYWj9gi+2Z1Bsr/a6jKUUt109Gmao0/PPP/880yZMoXCwkK2bNlyzOmU461evZorrriChIQEUlJSuPTSS48s27x5M2eeeSaTJk3i2WefZcuWLR3Ws2PHDkaMGMGYMWMAuPHGG1m1atWR5VdeeSUAU6dOPdKgrD3vvvsu119/PdB2W+FHHnmEmpoaXC4X06ZN48knn2Tx4sVs2rSJ5OTkDrfdE1F7BB+IzyCtpgYTDCKOqP09pZR1OjjS7k2XXXYZ99xzD+vXr6exsZGpU6fy6aefsmTJEtasWUNaWhoLFy6kubm5R9tfuHAhL730EpMnT+app55i5cqVJ1Xv4ZbDJ9Nu2Kq2wlGbjJKUSby04PPVWF2KUqobkpKSmDt3LjfddNORo/e6ujoSExNJTU2lvLycFStWdLiN2bNn89JLL9HU1ITP5+Pll18+sszn85GTk0Nra+uRFr8AycnJ+Hy+E7Y1duxYSkpKKC4uBuAPf/gDZ511Vo/2rb+1FY7aI3hncqhFQc2BvaSkei2uRinVHQsWLOCKK644cqrmcHvdcePGMWTIEGbNmtXh66dMmcI111zD5MmTycrKYtq0aUeWPfjgg0yfPp3MzEymT59+JNSvvfZabrnlFh555JEjH64CxMXF8eSTT3L11Vfj9/uZNm0at99+e4/26/Bcsfn5+SQkJBzTVvjtt9/G4XAwYcIELrzwQpYuXcpPfvITYmJiSEpK4plnnunRmB3pcrvgSDuZdsEAm995gYlv38zWC//EqdPPj2BlStmXtguOLn3SLrg/SvAOBqCper/FlSilVP8UtQH/73YFGvBKKdWW6A349FBHyaCv51P/KTUQWXVaVnVPJN6nqA14V6ybGpJxNGrDMaW6Ki4ujsrKSg35fs4YQ2VlJXFxcSe1nai9igag1uEhtkkn31aqq/Ly8igtLeVkJr1XfSMuLo68vLyT2kZUB3x9jJf4Vg14pboqJiaGESNGWF2G6iNRe4oGoDk2XdsVKKVUO6I64FvjM/AEa6wuQyml+qWoDngSM0mSJpoa6q2uRCml+p2oDnhncjYA1RV7La5EKaX6n6gO+FhPKOB9BzXglVLqeFEd8Alp2q5AKaXaE9UBn5wRCviWWg14pZQ6XlQHfFpmKOADvnKLK1FKqf4nqgPeHZdAHYk4GnXybaWUOl5UBzxAjXiIadLbrpVS6nhRH/D1Li9xLVVWl6GUUv1O1Ad8k9tLkl8DXimljhf1Ad8ap+0KlFKqLZ0GvIgMEZG3RWSriGwRkbvaWEdE5BERKRaRjSIypXfKPVEwIZMUGmg91NRXQyqlVFToyhG8H/iaMeZUYAZwp4icetw6FwKjw1+3Ao9GtMoOOFKyAKiu2NdXQyqlVFToNOCNMWXGmPXhxz5gG5B73GqXAc+YkH8CHhHJiXi1bYhNDU3dV6ftCpRS6hjdOgcvIsOBQuCD4xblAnuO+rmUE38JICK3ishaEVkbqRll4tNCv0caq8oisj2llLKLLge8iCQBLwJ3G2PqejKYMeYxY0yRMaYoMzOzJ5s4QYo3FPAttXo3q1JKHa1LAS8iMYTC/VljzJ/bWGUvMOSon/PCz/U6T1boDwVtV6CUUsfqylU0AjwObDPG/Kyd1ZYBN4SvppkB1Bpj+uScSWJSCg0mDuoP9MVwSikVNboy6fYs4Hpgk4hsCD/3LWAogDHmN8By4CKgGGgE/l/EK+1AtcNDTJP2o1FKqaN1GvDGmHcB6WQdA9wZqaK6y+dMI66l0qrhlVKqX4r6O1kBmmLTSWzVdgVKKXU0WwR8S1w6KcFaq8tQSql+xRYBH0zIJNX4CPhbrS5FKaX6DVsEvCRl4RBD7UG92UkppQ6zRcDHpGYDUHdQ+9EopdRhtgj4uHC7goYqDXillDrMFgGfnB6afPtQzX6LK1FKqf7DFgHvyQi1K/DXabsCpZQ6zBYBn5LqocnEQoO2K1BKqcNsEfDicFAtHpyN2q5AKaUOs0XAA9S50nAf0oBXSqnDbBPwjTFeElurrS5DKaX6DdsE/CF3BikBDXillDrMNgEfTMjAY2oxAb/VpSilVL9gm4CXpCycYvBV65U0SikFNgp4V0qoXUHtwT6ZKVAppfo92wS82zMIgIZKbTimlFJgo4BPCrcraNZ2BUopBdgo4FPD7Qpa6zTglVIKbBTwad4MDhkX+PRDVqWUAhsFvNMZalfgaNK7WZVSCmwU8AB1Tg/uZg14pZQCmwV8Q4yXhNYqq8tQSql+wVYBf8idTrK2K1BKKcBmAR+Iz8ATrIVg0OpSlFLKcrYKeJOYRYwEaKzT8/BKKWWrgHcebldQoe0KlFLKVgEfF25X4KvaZ3ElSillPVsFfKI3B4DmKr2bVSmlOg14EXlCRA6IyOZ2ls8RkVoR2RD++m7ky+yalIxQP5rWunKrSlBKqX7D1YV1ngJ+CTzTwTqrjTGXRKSik5CWkY3fODD12q5AKaU6PYI3xqwCouLuIXdMDFWSijRWWF2KUkpZLlLn4GeKyEciskJEJrS3kojcKiJrRWRtRUXvhHCtw0Nsc2WvbFsppaJJJAJ+PTDMGDMZ+B/gpfZWNMY8ZowpMsYUZWZmRmDoEzW4vMS3aMArpdRJB7wxps4YUx9+vByIEZGMk66sh5rd6ST7tV2BUkqddMCLyCARkfDj08LbtOwQ2h+fgcfUgDFWlaCUUv1Cp1fRiMgfgTlAhoiUAouAGABjzG+A+cAdIuIHmoBrjbEuXU1iFm5aaWmoITYpzaoylFLKcp0GvDFmQSfLf0noMsp+wZGcBUDtwX1kasArpQYwW93JCuA+3K7goPajUUoNbLYL+IS0ULuCxuoyiytRSilr2S7gUzJyAWip7eN2BQ0H4bXvQEtD346rlFLtsF3AezMHETBC0NfH7Qrefgje/x/Y/krfjquUUu2wXcAnxLmpJgVHQx8GfNWnBNeFWvVUfbS878ZVSqkO2C7gIdSuIKa572Z1an37h7QYB+8FJuDevVKnDFRK9Qu2DHifK424lj7qj1axA+em53nGfx5vuM8h0V8N+z/qm7GVUqoDtgz4Znc6Sf6+Cfjm179Pk4mleMwtDJkW6phcv+XvfTK2Ukp1xJYB3xqXgSdY0/sDlW0k7uNlPBm8iDsvPo3pk8axKTicpm2v9f7YSinVCVsGvEnMJJ5DBJp9vTqOb8X3qDUJNE29nWHpiZyak8Ja1xS8VRugubZXx1ZKqc7YMuAdSYfbFfTe3axmz79I/uwNnnZczq3nTwFARGgaOhcnQQLFK3ttbKWU6gpbBnxs6uF2Bft6bYzqvy2iwqTgOevLpCbEHHl+eMEc6kw8VRv1ckmllLVsGfBxaaGAb6zqnXYFgZ3v4C1/n+fc87n2jPHHLJs1Nof3zSTcJW9ry2KllKVsGfDJ6YMBaKndH/mNG0PVy9+lzHgZc/FdxLqO/SdMjY+hxDODlJZyqNgR+fGVUqqLbBnw3sxQPxp/XeTvZm3a+ncyazawLPU6zssf1uY68ePPB8Cnl0sqpSxky4BPSYqn2iQhDRGe2NsY6pYvYncwi+lX3UV4IqsTTM3P5+NgLo1bXo3s+Eop1Q22DHgRoUY8uJoiG/DV614gu2EHqwbfTMGw9icNnzA4hTWuKXgr12h3SaWUZWwZ8HC4XUEEp4YNBjj02oPsNIOZM//ODlcVERqGnEWMaSWwa3XkalBKqW6wbcA3xaaT1Fodse3tWfUMg1p2s3H0nQzJSO50/byCc2kysVRqd0mllEVsG/AtcemkBiMT8MbfQuzqH7Gd4Zxz1S1des2ssXl8EByP69O3IlKDUkp1l20DPpiQRSJNmJbGk97WthW/ITtQxt7Ce0mJd3fpNakJMezyzMTbvAeqdp10DUop1V22DXhJDn0I6jvJm51aDzWSsf5htjjGMvviL3brtbFjzwvVoFfTKKUsYNuAj0kJ3c1ad5LtCj78y8/JMpU0n/lNYlzObr22oKCIz4KZ+Dbr9fBKqb5n24CPT8sBoKGy50fwdXU1jNr+WzbHTmbKnMu7/fpTB6fygXMK6Qf+Cf5DPa5DKaV6wrYBn5QeCvhDNT1vV7D+Tz8inVri5y1q96amjjgcgi/vLNymmcDuf/S4DqWU6gnbBnxqRqgfTcBX3qPXl5btp+Czp9maOINRU87pcR2DJp9Pi3FS8aFeLqmU6lu2DXhvagp1JgHqe9aPZvML/41HGsi87IGTquP0U4ex1ozFuevNk9qOUkp1l20D3ukQqsWDs+lgt1/7yaclzDr4PDu8c8kcM/2k6vAkxFKcMoPMxmKo6532xUop1RbbBjxAnTMN96HutyvY/df/JpFmci5/MCJ1uMbo5ZJKqb7XacCLyBMickBENrezXETkEREpFpGNIjIl8mX2TGOsl8TWqm69pnjnJ5xR/We2ZV1IytBJEaljUuHplBsPtZtWRGR7SinVFV05gn8KmNfB8guB0eGvW4FHT76syDjkTicl0L12BfuWPYCTIHmXfy9idUzITeUDRyFp+9+DgD9i21VKqY50GvDGmFVAR4fBlwHPmJB/Ah4RyYlUgScjmJBJCvXgb+nS+p9+spmZNa+wedDlpOaOiVgdDodQPXg2iUEfgdJ1EduuUkp1JBLn4HOBPUf9XBp+7gQicquIrBWRtRUVEZ6Moy1JWQA01XTtw80DLz9AAAfDr1wc8VKyCuYRMMKBD/8W8W0rpVRb+vRDVmPMY8aYImNMUWZm+xNmRIorJRuAmorO2xXs3r6OotrX+CjnatKyh0a8lpkTTmGDOQWK9XJJpVTfiETA7wWGHPVzXvg5y8V7Qv1oGrrQcKz6lcU042b0lf/VK7V4EmL5OHk62fVboSGCE5EopVQ7IhHwy4AbwlfTzABqjTH94oLvxPTQ3azN1R2Xs2fL+xT4VvFh7nV4swb3Wj2O0efiwODb+lqvjaGUUod15TLJPwL/AMaKSKmI3Cwit4vI7eFVlgO7gGLgd8B/9Fq13eTJDH3W66/ruF1B/fJF1Jgkxl/1zV6tZ/yU2VSZJKo3atsCpVTvc3W2gjFmQSfLDdDxJKUWSfOk0WDcmA7aFez76E3GN/yLN4fcyTnpvfu5wMQ8L685Cjh932oIBsFh6/vMlFIWs3XCuF1OqjpqV2AMTa8u5oDxkH/l13u9HodDqBp0JimBagJlG3t9PKXUwGbrgAeoc3hwN7cd8PvXL2dU40bWDbuZTG9an9TjnRy6Z6x8vV4uqZTqXbYP+IaYdOLbaldgDK2vf49Sk8HUK+/us3qmTzqVzcHhBD95o8/GVEoNTLYP+PbaFRz41wsMad7B2uG3keVJ6bN60hJj2Z50GoPqNkJzbZ+Nq5QaeGwf8P6EDFKM79geMMEAwbe+zy4zmJlX9P1FP2bUubgI4Nv2Vp+PrZQaOGwf8CRm4cDQUvfvK2kq//G/DDpUwtqR/0G2J6nPSxpTdDY+E0/lR6/0+dhKqYHD9gF/uF1B7cHwzbX+Fnjnh2w1w5l92c2W1DRpSAZrZBIpe1eDMb0yhjGGLdu38+pv7mPNg2ex8cMPemUcpVT/1el18NHO7QkFfH1lGZmjoeq9x0lv2cfyUT/hek+CJTU5HMLBQWfi3f9TghUf48gaG7FtV9fWseH1/yN5+3MUtn7IBDE0E0vFX6+nNPNN8vKGdL4RpZQt2P4IPiEt1HqgqboMWptwrl7CuuAYzr30i5bW5ZkUulyybN3JXy4ZDAT58B9vsPrn1+P42Tjmbv4GQ4N72HLKrfhuW0PV/D+TRRWVT16Lr6HhpMdTSkUH2x/Bp2aGOhe31u2nZtWjePwH2TD6u0y16Oj9sKKCAopfHUzq5qUwKBtS8yB1SOi7y92lbZTtLaH49cfJ2/0XCs0emojl4/S5eGYuZNjUeWSF75RNzhnDx2U/YvJ79/L2o7cw+57/xem0/e92pQY82wd8utdLs4nBVVNCzMdv8W5wEvM+93mry8KbGMvLyRdwfcNT8NdjOz00xmbQlDCYlsTBBFLyIDUPp3cYbu9QYry5fPzB33F89EcmNa0hR4J8HHsqH536PcaecyOTk9u+YWvMeTezuWwLc3c9zt+fepB5Ny/qg71USlnJ9gGf4I5hLx7G7H+ZGNPKxrE/5gxPvNVlAZB94Tf4/MrLiW8uJ7l5H56WA2QEDjDYf5DcpoPkVm0gV97ELa3HvG4qcAAv64bcwNC5NzNmVH6Xxpv4xSVs/8XHnPfZz1n5yljmXHxtL+yVUqq/sH3AA9Q6PeQGK3gtWMSlF33O6nKOmDcxh3kTj53dMBA01Df78R1qxdfsZ2NzK821+wlW70Fq9+Cq30dS3gQmnHE5Wa5uvn0OB6fc/n/s/dlZTPnXPXyYM4rCKdMiuEdKqf5kQAR8vctL8JCwddxXOD/N2nPvnXE6hNSEGFITYo56Nh2YEJHtu+JT8Nz8IoHfzsG77Hr2ZL/BkNy8iGxbKdW/DIhP2t73Xsn3Agu5at75VpfSL6QMGknzlU8zmANUPPEF6hoarS5JKdULBkTAz77oGoquvo8h3v599N6XcibNpeT0/2ZK4CM+ePQ2/IGg1SUppSJsQAT8lKFpfG5y703FF61Gn38720bcyHn1y3j16YesLkcpFWEDIuBV+8Zf/3M+TpnJBbt/xhvLn7e6HKVUBGnAD3QOJyNvX0p57BCKPrib9R+utboipVSEaMArXAkeUm5+EXE48Pz1Bkr2llldklIqAjTgFQDJg0bTdPmTDGE/5U98gdqGJqtLUkqdJA14dcSgyeexZ8YDTA+s55+/vpW6pkNWl6SUOgka8OoYI+d9mU9G3sAFDcv4aMnnKN6zz+qSlFI9pAGvTjD6+kfYXfQdZgbW4Pj9Obzz7rtWl6SU6gENeHUiEYZd8nVqr34Rr6ORqa9fxYvP/lpvhlIqymjAq3alTzib+K+spipxJFd98k1eefh2qnz64atS0UIDXnXI7R3K0HtXsnPIfC7zPUfxzy9ga3GJ1WUppbpAA151zuVm1M2PU3rGDykIbiH5D+fy+puvWV2VUqoTGvCqy/LOvYOm6/5Ggstw5qov8MITP6HFr+flleqvuhTwIjJPRHaISLGI3N/G8oUiUiEiG8JfX4p8qao/SB09k9S73qc8ZSLzP/s+r//0RsqrfVaXpZRqQ6cBLyJO4FfAhcCpwAIRObWNVZ8zxhSEv34f4TpVP+JKyWbY3a+z65QbubhpGft+cR4fbt1hdVlKqeN0ZUan04BiY8wuABFZClwGbO3NwlQ/54xh5BcfoezdaYx/415qnzufP+XcRFzuJLwjJnPK0Fyykt2IiNWVKjVgdSXgc4E9R/1cCkxvY72rRGQ28DFwjzFmTxvrKJvJOeN6fEMmIc9ex9X7fwb7gXWw36TxTxlCVeIoWr1jiBs8gaxRkxmVl3vcdIRKqd4SqTlZXwb+aIw5JCK3AU8DZx+/kojcCtwKMHTo0AgNrayWPKyA5Ps3Qe1n1H22ieqSjbTu38qQmk8obFhOXMNfQocIH0CZ8bLNMZTapJH4M8aROuYMJuVPIzUx1urdUMp2xBjT8QoiM4HFxpgLwj9/E8AY84N21ncCVcaY1I62W1RUZNau1d7jthcMYmp2U1WykZrdG/Hv30ZC7SdkNu8mjlAzswqTylZ3PvWDZuA59Wwm5heRmqCBr1RbRGSdMaaoS+t2IeBdhE67nAPsBdYAXzDGbDlqnRxjTFn48RXAN4wxMzrargb8ABcM0lLxCaUb3qSleBWZlWtIDx4EQoG/LRz4aRPmMiF/GinxGvhKQYQDPrzBi4CHASfwhDHmIRF5AFhrjFkmIj8ALgX8QBVwhzFme0fb1IBXxzCGQxU7Kf3wNVqKV5F1VOAfNClsc0+mPmcGWQUXMqVgin54qwasiAd8b9CAVx06HPjrX6NlZ+gIPyN4kIAR3kmaR96V32fMqFOsrlKpPqcBr+wnHPjFf/s5Yz77I4dMDO/l3MDUa75NRprH6uqU6jPdCXhtVaCigwjurFOYcNOvaPrSe+xJm84F+x+j5eGpvPH8rzjU6re6QqX6HQ14FXVS8sYz/u5l7L38T7S6PZy79VsU/2Am/1j5Clb9RapUf6QBr6JWbsH5DLt/DTtm/IhB5iAzV36Bf/zoUrZv22R1aUr1CxrwKro5HIyddzup921k4ym3M6X5n4xYOoe3/+d2DlQcsLo6pSylAa9swRWfTP4Xf0TrnevYkXk+cyv/iPOXU3nrf39AU/Mhq8tTyhIa8MpWkjOHkv/lP1J2zd+pjB/O2cU/ZM+PZ7BpnU4crgYeDXhlSznjZzLmG6vYMfuXpAerGLfsUt7+7ddobNI5ZdXAoQGv7EuEsWdfT/zda9jmPZu5Zb9n709mslmP5tUAoQGvbC/Bk0X+XS+w/azf4A1WM3bZpaz87T006dG8sjkNeDVgjJu7gLi71rDVew5zyp6g9Ccz9Ghe2ZoGvBpQEtOymHzXn9g25zd4g7WMXXYp7+jRvLIpDXg1II2fs4C4u9ewxXsuZ5U9wd6fzGDLutVWl6VURGnAqwEr0ZNJwV3Ps23Ob/GEj+ZX/eYumhobrS5NqYjQgFcD3vg51xJ/9xo2ec9n9v6nKFsygw/+/ix+vzYwU9FNA14pQkfzhXc9x7a5vyPRNDL9n/9B6UP5rF66hPqGeqvLU6pHNOCVOsr4sz5P5re2smn6Twk64zhz+4Mc+vF4Vv3ua+zft8fq8pTqFp3wQ6n2GEPxv1bQvOoXTGz4J80mhnVp88g8717GTJhidXVqgNIZnZSKsP07N7BvxU+ZULECt7SyNm4GjtO/QsGsi3A49Q9h1Xc04JXqJb7KvXz88s8ZVbIUDz52OE7hYP6tTL1wIXFut9XlqQFAA16pXtbaXM/WFb8lY9PvyQ3u46BJ5dP4iTRmTSZx+GkMmzSLzMwsq8tUNqQBr1QfMcEA21c9T8uGF8is28LgYNmRZSWSy/7EU2kZVIjnlOmMmDid5KRkC6tVdqABr5RFmusO8tnm9/AVf0DsgQ0MbthKuqkGoMU4+dQ5goOpEyF3Cp7hBWQNG0dGRhYiYnHlKlpowCvVXxhD7YHdlG5+l6ZP15B48COGNO8giX/fLVttkil35eCLz6MlZRiujJEkDhpN5rBxZA4aph/iqmN0J+BdvV2MUgOaCKnZw0nNHg58EQid1ikv2ULFro00H9gJVbuIr/+M3IYtZPlW4toXhI2hlzeZWMqdg6iJy6M5eRjOzNGkDJlAzqgCUjIGWbVXKkpowCvVx8ThJHtkPtkj809YFmhtoWzPJ1Tu2UFj+ScEKz/F7dtNWnMp2Q1riS9vgc2hdatJYX/sUBqSR2Eyx5A0+FSyR+WTljMCcTj7eK9Uf6SnaJSKEoFAgP2fFVPx6Uc07t2Go/JjUup3Mbj1Mzzy73YKjbjZ7xpCbdJIAumjicsZT/qwiWQNG48zNs7CPVCRoKdolLIhp9NJ7oix5I4Ye8zzJhikvLyU/cUbqd+7FSp2kOTbSU7NOgbVvAY7gXchYIS9zkFUxQ+jOeUUnNljSM47lUGj8klOy7Zmp1Sv0oBXKsqJw0F2zlCyc4YClxx53hhDZXUVZbs249uzhUDFx8TV7CStaTdj6tfhLmuFDaF1q0mhPDYPX9JIgp7huDx5uL25pGQPI33QcBKTUy3ZN3VyNOCVsikRId2bTrr3LCg665hlLS2tlOzeQeXuLTSXbcNZVUxy/aeMqlqFt+pvJ2yr1iRS5UynLiaTprhs/Ik5SEoOMd4hJGTkEZ+cgTsxhYRkDwlxbtwuh1762Q90KeBFZB7wC8AJ/N4Y88PjlruBZ4CpQCVwjTGmJLKlKqUiJTY2huGjJzJ89MQTltX7aqnaX0Ldgc84VFlKa81eHL59xDaWk3SonNy6XXhranDsa/vzu2YTQyXxNBFPk8TT7EigxRlPizOBVmcigZgEAq5EjDjB4SIoThAHOFwYcWDEhThC33E4MQ4nIk6MODl6xMMfHxoMHHl87HcQDIIIGHEc8zM4MAhI+AvBiANxOBGnC8SFwxmq0eF0gdOFw+FCwj87XE7EEYPD6cLpisUZE4srJhZnjJsYl5MYp4MYpwOXU4gNf49xOohxOIiLdeB29f4H4Z0GvIg4gV8B5wGlwBoRWWaM2XrUajcD1caYU0TkWuBHwDW9UbBSqnclJaeSlDwZRk9udx3jb6GmYi815SU0HNxDoLGWYLMPc8gHLfVISz2O1gZcrQ3EBRpI9vuI9ZcT19JEXEMjcRzCSbAP96pv+Y0DP05acR353oqTBhN6XDJ8Pufe9GCv19GVI/jTgGJjzC4AEVkKXAYcHfCXAYvDj18AfikiYqy6REcp1avEFYsnZwSenBE934gxEAxA0A8m/D0YCH2ZwHHLAmC6+QvBGMAc+90ET3zuyDKDMQGCgcNfrQQDfoL+VoLB0M8m4CcQ8GPCX8FgeHmgFeNvIRhowfj9mEBL+MsPgVYItIS+B1txBP2MGHYS/27d0JWAzwWOnumgFJje3jrGGL+I1ALpwMGjVxKRW4FbAYYOHdrDkpVStiAC4VMf/YUQOg9tl7sI+vQeaGPMY8aYImNMUWZmZl8OrZRSA05XAn4vMOSon/PCz7W5joi4gFRCH7YqpZSySFcCfg0wWkRGiEgscC2w7Lh1lgE3hh/PB97S8+9KKWWtTk9+hc+pfxl4ldCpqSeMMVtE5AFgrTFmGfA48AcRKQaqCP0SUEopZaEufbphjFkOLD/uue8e9bgZuDqypSmllDoZ2mhaKaVsSgNeKaVsSgNeKaVsyrJ+8CJSAezu4cszOO4mqgFmIO//QN53GNj7r/seMswY06UbiSwL+JMhImu72vDejgby/g/kfYeBvf+6793fdz1Fo5RSNqUBr5RSNhWtAf+Y1QVYbCDv/0DedxjY+6/73k1ReQ5eKaVU56L1CF4ppVQnNOCVUsqmoi7gRWSeiOwQkWIRud/qevqSiJSIyCYR2SAia62up7eJyBMickBENh/1nFdEXheRT8Lf06yssbe0s++LRWRv+P3fICIXWVljbxGRISLytohsFZEtInJX+PmB8t63t//dfv+j6hx8eH7YjzlqflhgwXHzw9qWiJQARcaYAXGzh4jMBuqBZ4wxE8PP/RioMsb8MPwLPs0Y8w0r6+wN7ez7YqDeGLPEytp6m4jkADnGmPUikgysAy4HFjIw3vv29v/zdPP9j7Yj+CPzwxpjWoDD88MqGzLGrCLUfvpolwFPhx8/Teg/fNtpZ98HBGNMmTFmffixD9hGaFrQgfLet7f/3RZtAd/W/LA92vEoZYDXRGRdeH7bgSjbGFMWfrwfyLayGAt8WUQ2hk/h2PIUxdFEZDhQCHzAAHzvj9t/6Ob7H20BP9CdYYyZAlwI3Bn+M37ACs8aFj3nGE/eo8AooAAoA35qaTW9TESSgBeBu40xdUcvGwjvfRv73+33P9oCvivzw9qWMWZv+PsB4C+ETlkNNOXhc5SHz1UesLiePmOMKTfGBIwxQeB32Pj9F5EYQuH2rDHmz+GnB8x739b+9+T9j7aA78r8sLYkIonhD1wQkUTgfGBzx6+ypaPn/70R+KuFtfSpw+EWdgU2ff9FRAhNA7rNGPOzoxYNiPe+vf3vyfsfVVfRAIQvDXqYf88P+5C1FfUNERlJ6KgdQlMt/p/d911E/gjMIdQqtRxYBLwEPA8MJdRu+vPGGNt9GNnOvs8h9Oe5AUqA2446J20bInIGsBrYBATDT3+L0HnogfDet7f/C+jm+x91Aa+UUqprou0UjVJKqS7SgFdKKZvSgFdKKZvSgFdKKZvSgFdKKZvSgFdKKZvSgFdKKZv6/wA3ca3s+7OWAAAAAElFTkSuQmCC\n"
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "train_losses_list = [train_loss.item() for train_loss in train_losses]\n",
     "val_losses_list = [val_loss.item() for val_loss in val_losses]\n",
@@ -330,8 +322,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 31,
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.9966111111111111\n",
+      "0.998\n"
+     ]
+    }
+   ],
    "source": [
     "# prediction for training set\n",
     "with torch.no_grad():\n",
@@ -375,8 +376,68 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 32,
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "cnn_layers.0.weight tensor([[[-0.0161, -0.1727, -0.0706],\n",
+      "         [-0.1442, -0.2347, -0.1731],\n",
+      "         [ 0.0937, -0.2319,  0.0297],\n",
+      "         [ 0.4707,  1.2928, -0.7642]],\n",
+      "\n",
+      "        [[ 0.6057,  0.1347, -0.0041],\n",
+      "         [ 0.0967, -0.9823, -0.6446],\n",
+      "         [ 0.5267,  0.5432,  0.1329],\n",
+      "         [-0.0482, -0.0046, -0.0177]],\n",
+      "\n",
+      "        [[-0.3372, -0.1560, -0.0196],\n",
+      "         [ 0.1110, -0.3352, -0.1544],\n",
+      "         [-0.4499, -0.2293,  0.0253],\n",
+      "         [ 0.9977, -0.9843, -1.0379]],\n",
+      "\n",
+      "        [[-0.1263, -0.5871, -0.0511],\n",
+      "         [-0.1365, -0.1569,  0.0979],\n",
+      "         [-0.3475, -0.3901,  0.0927],\n",
+      "         [-0.6534, -0.9329,  0.6516]]])\n",
+      "cnn_layers.0.bias tensor([-0.0021, -0.1551, -1.0721,  0.4632])\n",
+      "cnn_layers.1.weight tensor([1.8590, 0.1158, 1.1549, 0.8114])\n",
+      "cnn_layers.1.bias tensor([ 0.7813, -0.7185,  0.1945,  0.2015])\n",
+      "cnn_layers.4.weight tensor([[[-1.0589,  0.3008, -1.0521],\n",
+      "         [ 0.2243,  0.5245,  0.1523],\n",
+      "         [ 0.0767,  0.6713, -0.4829],\n",
+      "         [-0.6312, -0.4684, -0.3525]],\n",
+      "\n",
+      "        [[ 0.6076,  0.0118,  0.3328],\n",
+      "         [-0.6541,  0.2015,  0.1579],\n",
+      "         [-0.8182,  0.1377, -0.8822],\n",
+      "         [ 0.5961, -0.2152,  0.7089]],\n",
+      "\n",
+      "        [[ 0.5840,  0.3963, -0.3982],\n",
+      "         [ 0.4481,  0.1088,  0.2149],\n",
+      "         [ 0.4938,  0.3682,  0.5467],\n",
+      "         [-0.1666,  0.2545,  0.4419]],\n",
+      "\n",
+      "        [[ 0.2782, -0.2773, -0.6268],\n",
+      "         [ 0.1686,  0.1611, -0.3611],\n",
+      "         [-0.9431, -0.2470, -0.1781],\n",
+      "         [-0.2127,  0.1223, -0.0467]]])\n",
+      "cnn_layers.4.bias tensor([ 0.0243,  0.1496, -0.2523, -0.1505])\n",
+      "cnn_layers.5.weight tensor([0.9917, 1.0135, 0.2734, 0.0942])\n",
+      "cnn_layers.5.bias tensor([-0.2346, -0.1730, -0.6458, -0.8736])\n",
+      "linear_layers.0.weight tensor([[ 0.2819,  0.3333,  0.3363,  ...,  0.3874,  0.3519,  0.2827],\n",
+      "        [ 0.3381,  0.3392,  0.2918,  ...,  0.3641,  0.2983,  0.3425],\n",
+      "        [-0.3373, -0.3675, -0.4146,  ..., -0.3503, -0.4156, -0.3663],\n",
+      "        ...,\n",
+      "        [-0.3867, -0.3346, -0.3592,  ..., -0.4135, -0.3362, -0.3592],\n",
+      "        [-0.3415, -0.3677, -0.3740,  ..., -0.4074, -0.3575, -0.3526],\n",
+      "        [-0.4087, -0.3892, -0.3258,  ..., -0.3189, -0.4211, -0.3985]])\n",
+      "linear_layers.0.bias tensor([ 0.1986,  0.3250, -0.4212, -0.3442, -0.3814, -0.3203, -0.3380, -0.4000,\n",
+      "        -0.3805, -0.4522])\n"
+     ]
+    }
+   ],
    "source": [
     "torch.save(model.state_dict(), '../models/internal_priming.pth')\n",
     "\n",
diff --git a/src/polyA_classifier/polyA_classifier.py b/src/polyA_classifier/polyA_classifier.py
index 4570e9d9b70b7e0bd582b2073cd61f15090672e7..31766e973a4f1485a6fa1989055fa830f61f7a8f 100644
--- a/src/polyA_classifier/polyA_classifier.py
+++ b/src/polyA_classifier/polyA_classifier.py
@@ -15,7 +15,7 @@ class Net(Module):
 
         self.cnn_layers = Sequential(
             # Defining a 1D convolution layer
-            Conv1d(1, 4, kernel_size=3, stride=1, padding=1),
+            Conv1d(4, 4, kernel_size=3, stride=1, padding=1),
             BatchNorm1d(4),
             ReLU(inplace=True),
             MaxPool1d(kernel_size=2, stride=2),
@@ -42,11 +42,11 @@ class PolyAClassifier:
     """Classifier object using the state-dict of a pretrained pytorch model."""
 
     enum = {
-        'A': 0.0,
-        'U': 1 / 3,
-        'T': 1 / 3,
-        'G': 2 / 3,
-        'C': 1.0
+        'A': [1, 0, 0, 0],
+        'U': [0, 1, 0, 0],
+        'T': [0, 1, 0, 0],
+        'G': [0, 0, 1, 0],
+        'C': [0, 0, 0, 1]
     }
 
     def __init__(self, model=Net, state_dict_path: str = './models/internal_priming.pth'):
@@ -103,7 +103,7 @@ class PolyAClassifier:
             raise ValueError('Not all sequences of length 200')
 
         test_shape = test.shape
-        test = test.reshape(test_shape[0], 1, test_shape[1])
+        test = test.reshape(test_shape[0], 4, test_shape[1])
 
         if test_shape[1] != 200:
             raise ValueError('Sequences not of length 200')
diff --git a/tests/resources/internal_priming_test_model.pth b/tests/resources/internal_priming_test_model.pth
index 7eb6ff99f2a924ff4bc1a60a12fc26199d0b0e09..c11ec4e8f00da9f030e529dda0343bf445ccdc29 100644
Binary files a/tests/resources/internal_priming_test_model.pth and b/tests/resources/internal_priming_test_model.pth differ