{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "effe0c62", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import skimage.morphology\n", "import pandas as pd\n", "import numpy as np\n", "import skimage\n", "import torch\n", "import glob\n", "import re" ] }, { "cell_type": "code", "execution_count": 2, "id": "1dfe7d5f", "metadata": {}, "outputs": [], "source": [ "fs = 400641.025641026" ] }, { "cell_type": "code", "execution_count": 3, "id": "de95c693", "metadata": {}, "outputs": [], "source": [ "#%matplotlib notebook" ] }, { "cell_type": "code", "execution_count": 4, "id": "86af57dd", "metadata": {}, "outputs": [], "source": [ "plt.rcParams[\"figure.figsize\"] = 8, 8 " ] }, { "cell_type": "code", "execution_count": 5, "id": "db10a7d4", "metadata": {}, "outputs": [], "source": [ "path = './Data/316L/Gain_10_high_distance/Big_Cyl_316L/'" ] }, { "cell_type": "code", "execution_count": 6, "id": "370263fd", "metadata": {}, "outputs": [], "source": [ "def parseData(path, sorting=True):\n", " channels = glob.glob(path + \"/*/\")\n", " print(\"These are the channels I found: \")\n", " print(channels)\n", " \n", " starting_GT = pd.read_csv(path+'/starting_GT.csv', sep=',',header=None).values\n", " ending_GT = pd.read_csv(path+'/ending_GT.csv', sep=',',header=None).values\n", "\n", " dataAllChann = []\n", " for channel in channels:\n", " print(\"I'm working on this: \", channel)\n", " allFiles = glob.glob(channel + \"/*.csv\")\n", " if sorting:\n", " allFiles = sorted(allFiles, key=lambda x:float(re.findall(\"(\\d+)\",x)[-1]))\n", " dataSingleChan = []\n", " names = []\n", " for file in allFiles:\n", " signal = pd.read_csv(file, sep=',',header=None).values\n", " singleFile = torch.from_numpy(signal).view(1, 1, -1)\n", " dataSingleChan.append(singleFile)\n", " names.append(file)\n", " dataSingleChanTorch = torch.cat(dataSingleChan, 0)\n", " dataAllChann.append(dataSingleChanTorch)\n", " dataAllChannTorch = torch.cat(dataAllChann, 1)\n", " return dataAllChannTorch.numpy(), names, starting_GT, ending_GT" ] }, { "cell_type": "code", "execution_count": 7, "id": "1d92580d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "These are the channels I found: \n", "['./Data/316L/Gain_10_high_distance/Big_Cyl_316L\\\\channel_0\\\\', './Data/316L/Gain_10_high_distance/Big_Cyl_316L\\\\channel_1\\\\', './Data/316L/Gain_10_high_distance/Big_Cyl_316L\\\\channel_2\\\\', './Data/316L/Gain_10_high_distance/Big_Cyl_316L\\\\channel_3\\\\']\n", "I'm working on this: ./Data/316L/Gain_10_high_distance/Big_Cyl_316L\\channel_0\\\n", "I'm working on this: ./Data/316L/Gain_10_high_distance/Big_Cyl_316L\\channel_1\\\n", "I'm working on this: ./Data/316L/Gain_10_high_distance/Big_Cyl_316L\\channel_2\\\n", "I'm working on this: ./Data/316L/Gain_10_high_distance/Big_Cyl_316L\\channel_3\\\n" ] } ], "source": [ "data, name, starting_GT, ending_GT = parseData(path)" ] }, { "cell_type": "code", "execution_count": 8, "id": "17cb3d7f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Signal duration [s]: [2.31668986]\n" ] } ], "source": [ "signal_duration = (ending_GT[-1]-starting_GT[0])*1/fs\n", "print('Signal duration [s]: ', signal_duration)" ] }, { "cell_type": "code", "execution_count": 9, "id": "d9315466", "metadata": {}, "outputs": [], "source": [ "def computeBoundaries(signal, th):\n", "\n", " locs = np.where(signal>th)[0]\n", "\n", " indexes = np.zeros((signal.shape[0],1));\n", " indexes[locs] = 1;\n", "\n", " closed = skimage.morphology.closing(indexes, selem=torch.ones(120,1).numpy())\n", " opened = skimage.morphology.opening(closed, selem=torch.ones(120,1).numpy())\n", "\n", "\n", " locsNew = np.where(opened==1)\n", " locsNew = locsNew[0]\n", "\n", "\n", " derNew = np.diff(locsNew)\n", "\n", " ind = np.where(derNew>1)[0]\n", "\n", " ending = locsNew[ind]\n", " ending = np.append(ending,locsNew[-1])\n", "\n", " starting = locsNew[ind+1]\n", " starting = np.append(locsNew[0],starting) \n", " return starting, ending" ] }, { "cell_type": "code", "execution_count": 10, "id": "3ee6be53", "metadata": {}, "outputs": [], "source": [ "signal = data[0,0,:]" ] }, { "cell_type": "code", "execution_count": 11, "id": "ae0d2462", "metadata": {}, "outputs": [], "source": [ "th = 0.0\n", "starting, ending = computeBoundaries(signal, th)" ] }, { "cell_type": "code", "execution_count": 12, "id": "7ba80ab0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.vlines(x=starting_GT, ymin=0, ymax=1, colors='green',zorder=10)\n", "plt.vlines(x=ending_GT, ymin=0, ymax=1, colors='red',zorder=10)\n", "plt.vlines(x=starting, ymin=0, ymax=1, colors='yellow',ls=':',zorder=1000)\n", "plt.vlines(x=ending, ymin=0, ymax=1, colors='black',ls=':',zorder=1000)\n", "plt.plot(signal)" ] }, { "cell_type": "code", "execution_count": 13, "id": "396b5a88", "metadata": {}, "outputs": [], "source": [ "def binarize_signals2(size, starting, ending):\n", " binary_sig = np.zeros((size,))\n", "\n", " for start, end in zip(starting, ending):\n", " binary_sig[np.arange(start=start, stop=end+1)] = 1\n", "\n", " \n", " return np.array(binary_sig, dtype=bool)" ] }, { "cell_type": "code", "execution_count": 14, "id": "d20e5c9a", "metadata": {}, "outputs": [], "source": [ "def calculateIoU(size, starting, ending, starting_GT, ending_GT):\n", " bool_sig = binarize_signals2(signal.shape[0], starting, ending)\n", " bool_sig_GT = binarize_signals2(signal.shape[0], starting_GT, ending_GT)\n", " \n", " intersection = np.logical_and(bool_sig, bool_sig_GT)\n", " union = np.logical_or(bool_sig, bool_sig_GT)\n", "\n", " intersection_area = np.sum(intersection)\n", " union_area = np.sum(union)\n", "\n", " IoU = intersection_area/union_area*100\n", " \n", " return IoU" ] }, { "cell_type": "code", "execution_count": 15, "id": "e4534b02", "metadata": {}, "outputs": [], "source": [ "def IoUforTh(size, thresholded, starting_GT, ending_GT):\n", " bool_sig_GT = binarize_signals2(signal.shape[0], starting_GT, ending_GT)\n", "\n", " intersection = np.logical_and(thresholded, bool_sig_GT)\n", " union = np.logical_or(thresholded, bool_sig_GT)\n", "\n", " intersection_area = np.sum(intersection)\n", " union_area = np.sum(union)\n", "\n", " IoU = intersection_area/union_area*100\n", " \n", " return IoU" ] }, { "cell_type": "code", "execution_count": 16, "id": "8e59ec17", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "99.96736526981381" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IoU = calculateIoU(signal.shape[0], starting, ending, starting_GT, ending_GT)\n", "IoU" ] }, { "cell_type": "code", "execution_count": 17, "id": "bca6e6f8", "metadata": {}, "outputs": [], "source": [ "def computeThreshold(signal, th):\n", "\n", " locs = np.where(signal>th)[0]\n", "\n", " indexes = np.zeros((signal.shape[0],));\n", " indexes[locs] = 1;\n", " \n", " return np.array(indexes, dtype=bool)" ] }, { "cell_type": "code", "execution_count": 18, "id": "29ae8cb2", "metadata": {}, "outputs": [], "source": [ "def computeprecrecallMM(size, starting, ending, starting_GT, ending_GT):\n", " bool_sig = binarize_signals2(size, starting, ending)\n", " bool_sig_GT = binarize_signals2(size, starting_GT, ending_GT)\n", "\n", " prec = np.sum(bool_sig_GT*bool_sig)/np.sum(bool_sig)\n", " recall = np.sum(bool_sig_GT*bool_sig)/(np.sum(bool_sig_GT*bool_sig)+np.sum(np.logical_not(bool_sig)*bool_sig_GT))\n", " return prec, recall\n", "def computeprecrecallTh(size, thresholded, starting_GT, ending_GT):\n", " bool_sig_GT = binarize_signals2(size, starting_GT, ending_GT)\n", "\n", " prec = np.sum(bool_sig_GT*thresholded)/np.sum(thresholded)\n", " recall = np.sum(bool_sig_GT*thresholded)/(np.sum(thresholded*bool_sig_GT)+\n", " np.sum(np.logical_not(thresholded)*bool_sig_GT))\n", " return prec, recall" ] }, { "cell_type": "code", "execution_count": 19, "id": "f387e118", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "95.42702502736245" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "thresholded = computeThreshold(signal, th=0)\n", "IoU = IoUforTh(signal.shape[0], thresholded, starting_GT, ending_GT)\n", "IoU" ] }, { "cell_type": "code", "execution_count": 20, "id": "f51c4527", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.00313131, 0.00626263, 0.00939394, 0.01252525,\n", " 0.01565657, 0.01878788, 0.02191919, 0.02505051, 0.02818182,\n", " 0.03131313, 0.03444444, 0.03757576, 0.04070707, 0.04383838,\n", " 0.0469697 , 0.05010101, 0.05323232, 0.05636364, 0.05949495,\n", " 0.06262626, 0.06575758, 0.06888889, 0.0720202 , 0.07515152,\n", " 0.07828283, 0.08141414, 0.08454545, 0.08767677, 0.09080808,\n", " 0.09393939, 0.09707071, 0.10020202, 0.10333333, 0.10646465,\n", " 0.10959596, 0.11272727, 0.11585859, 0.1189899 , 0.12212121,\n", " 0.12525253, 0.12838384, 0.13151515, 0.13464646, 0.13777778,\n", " 0.14090909, 0.1440404 , 0.14717172, 0.15030303, 0.15343434,\n", " 0.15656566, 0.15969697, 0.16282828, 0.1659596 , 0.16909091,\n", " 0.17222222, 0.17535354, 0.17848485, 0.18161616, 0.18474747,\n", " 0.18787879, 0.1910101 , 0.19414141, 0.19727273, 0.20040404,\n", " 0.20353535, 0.20666667, 0.20979798, 0.21292929, 0.21606061,\n", " 0.21919192, 0.22232323, 0.22545455, 0.22858586, 0.23171717,\n", " 0.23484848, 0.2379798 , 0.24111111, 0.24424242, 0.24737374,\n", " 0.25050505, 0.25363636, 0.25676768, 0.25989899, 0.2630303 ,\n", " 0.26616162, 0.26929293, 0.27242424, 0.27555556, 0.27868687,\n", " 0.28181818, 0.28494949, 0.28808081, 0.29121212, 0.29434343,\n", " 0.29747475, 0.30060606, 0.30373737, 0.30686869, 0.31 ])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ths = np.linspace(start=0.0, stop=0.31, num=100)\n", "ths" ] }, { "cell_type": "code", "execution_count": 21, "id": "2888a682", "metadata": {}, "outputs": [], "source": [ "IoUsMM = []\n", "IoUsTh = []\n", "precsMM = []\n", "recallsMM = []\n", "precsTh = []\n", "recallsTh = []\n", "for th in ths:\n", " thresholded = computeThreshold(signal, th)\n", " IoUTh = IoUforTh(signal.shape[0], thresholded, starting_GT, ending_GT)\n", " precTh, recallTh = computeprecrecallTh(signal.shape[0], thresholded, starting_GT, ending_GT)\n", " IoUsTh.append(IoUTh)\n", " precsTh.append(precTh)\n", " recallsTh.append(recallTh)\n", " starting, ending = computeBoundaries(signal, th)\n", " IoUMM = calculateIoU(signal.shape[0], starting, ending, starting_GT, ending_GT)\n", " precMM, recallMM = computeprecrecallMM(signal.shape[0], starting, ending, starting_GT, ending_GT)\n", " IoUsMM.append(IoUMM)\n", " precsMM.append(precMM)\n", " recallsMM.append(recallMM)" ] }, { "cell_type": "code", "execution_count": 22, "id": "274383a2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'IoU')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeYAAAHiCAYAAAA9Am/ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABPkUlEQVR4nO3dd3hUVeLG8e/JpBcCaXRIgNA7oXcRC6BYUEGRJva+uqurrru/dVdd17UXRAGxgVgQewMRkBp67wFCCQFCCQmp9/fHDUUFSb9T3s/zzDPJZCZ5cxl4ufeee46xLAsRERFxD35OBxAREZHTVMwiIiJuRMUsIiLiRlTMIiIibkTFLCIi4kZUzCIiIm5ExSwiIuJGVMwiXswYk2KMufA8z+ljjEk9y+OzjTFjKy6diJyNillERMSNqJhFfIAxxs8Y85gxZocxZr8x5h1jTKTTuUTk91TMIr5hVNGtL9AACAdecTCPiJyDilnEN9wAPGdZ1jbLsjKBvwJDjTH+DucSkd9QMYv4hlrAjjM+3wH4A9WBfCDgLK8JAPIqPpqInEn/WxbxDXuA+md8Xg+7kNMAFxBjjAkv2pvGGGOKnr/jt99IRCqW9phFfMMU4H5jTIIxJhx4EvjQsqx8y7J2AouA/xhjwo0xQcCfsYt7oXORRXyTilnEN0wE3gXmANuBE8DdZ3z9OiAO2ALsBvoBAyzLOlHJOUV8nrEsy+kMIiIiUkR7zCIiIm5ExSwiIuJGVMwiIiJuRMUsIiLiRlTMIiIibsQtJhiJiYmx4uPjnY4hIiJSaZYuXXrAsqzY3z7uFsUcHx9PcnKy0zFEREQqjTHmrDPr6VC2iIiIG1Exi4iIuBEVs4iIiBtxi3PMIiJSfvLy8khNTeXECU117g6Cg4OpU6cOAQFnW13191TMIiJeJjU1lYiICOLj47FX8BSnWJbFwYMHSU1NJSEhoViv0aFsEREvc+LECaKjo1XKbsAYQ3R0dImOXqiYRUS8kErZfZT0z0LFLCIi5S41NZXBgweTmJhIw4YNuffee8nNzXU6lkdQMYuISLmyLIurrrqKK664gs2bN7Np0yYyMzN59NFHi/09CgoKKjChe1Mxi4hIuZo1axbBwcGMHj0aAJfLxfPPP8/EiRN57bXXuOuuu049d9CgQcyePRuA8PBwHn/8cTp37syCBQt4+OGHad68Oa1bt+bBBx904ldxhEZli4h4sf/7Yi3r9hwt1+/ZvFYV/n5Zi3N+fe3atXTo0OFXj1WpUoV69eqRn59/ztcdP36cli1b8s9//pNDhw5x0003sWHDBowxHD58uLziuz3tMYuISLmyLOusA57O9fhJLpeLq6++GrCLPDg4mLFjx/Lpp58SGhpaYXndjfaYRUS82B/t2VaUFi1a8Mknn/zqsaNHj7Jr1y4iIyMpLCw89fiZlxEFBwfjcrkA8Pf3Z/HixcycOZOpU6fyyiuvMGvWrMr5BRymPWYRESlX/fr1Iysri3feeQewB3I98MADjBo1igYNGrBixQoKCwvZtWsXixcvPuv3yMzM5MiRIwwYMIAXXniBFStWVOJv4KzzFrMxZqIxZr8xZs0Zj0UZY34wxmwuuq92xtf+aozZYozZaIy5uKKCi4iIezLGMH36dD766CMSExNp3LgxwcHBPPnkk3Tv3p2EhARatWrFgw8+SPv27c/6PY4dO8agQYNo3bo1vXv35vnnn6/k38I5xrKsP36CMb2ATOAdy7JaFj32DHDIsqynjTEPA9Usy3rIGNMcmAJ0AmoBPwKNLcv6w3HvSUlJltZjFhEpH+vXr6dZs2ZOx5AznO3PxBiz1LKspN8+97x7zJZlzQEO/ebhwcDkoo8nA1ec8fhUy7JyLMvaDmzBLulKU1BokXE8l9z8wvM/WURExM2UdvBXdcuy9gJYlrXXGBNX9HhtYOEZz0steqzS7DmcTc9nfgIg0N+P8CB/woP8CQ10ERroIizIn5AAF+FB/oQV3cKDXKc+Dgv0JzTIRZVgfyJDAqgSHECVkACCA1yV+WuIiIiPKu9R2WcbB3/WY+XGmFuAWwDq1atXbgGqBAfw+KDmHM/JJ/OMW1ZuAVm59sf7j+ZwvOjj4zn55BX88eF8gIggf+pGhVIvKpR60aHUjQolPjqU+lFh1KoajL9L4+hERKTsSlvMacaYmkV7yzWB/UWPpwJ1z3heHWDP2b6BZVnjgfFgn2MuZY7fiQwNYEyP4i2tdVJOfgFZOQUcz83neE7BqTI/kp3Hkew8jmbnsf/oCXZlZLN5/zFmbdz/q0Pl/n6GOtVCqFMtlNpVQ6hTLYS6UaEkVg+nYWy49rZFRKTYSlvMnwMjgaeL7mec8fgHxpjnsAd/JQJnHwvvRoL8XQT5u6gWFlis5xcWWqQdO8GOg1nsPJhFysHj7DiUxe6MbGZt3E/6sZxTz/UzEB8TRtMaEXRpEE2vxFjqR4dq5RcRETmr8xazMWYK0AeIMcakAn/HLuRpxpibgJ3ANQCWZa01xkwD1gH5wJ3nG5Htifz8DDUjQ6gZGUKXBtG/+/qJvAJ2HcpiU1omG9OOsWnfMVbuOsLXq/cBUDcqhF6JsXRKiCIpPoraVUMq+1cQERE3dd5itixr2Dm+1O8cz/838O+yhPJ0wQEuEqtHkFg9goHUBOyp6HYczGLO5nTmbDrAZ8t38/6inQDUigymQ3wUl7SoQf/m1Qn01/lqEfFcBw8epF8/uyL27duHy+UiNjaWlJQUatWqxbp168r15/3jH/8gPDy8RAtdhIeHk5mZ+bvHR40axaBBgxgyZAhjx47lT3/6E82bNy/PuOelKTkriTGG+Jgw4mPCGNE1nvyCQjbsO0ZyyiGSd2SwcNtBvli5h+iwQK7uUIdrk+rSKC7c6dgiIiUWHR19aqauM0szJSWFQYMGnff1+fn5+Ps7X09vvfWWIz9Xu2YO8Xf50bJ2JKO6J/DK9e1Z+Nd+TBrdkY7xUUyct50Ln/uZy16exyuzNrM57RjnmwhGRMQTFBQUcPPNN9OiRQsuuugisrOzAejTpw+PPPIIvXv35sUXX2Tp0qX07t2bDh06cPHFF7N3714AXnrppVNLQQ4dOvTU9123bh19+vShQYMGvPTSS6cef+6552jZsiUtW7bkhRde+F0ey7K46667aN68OQMHDmT//v2nvtanTx9OTn4VHh7Oo48+Sps2bejSpQtpaWkAbN26lS5dutCxY0cef/xxwsPLvkPl/H9JBACXn6Fvkzj6Nokj/VgO05en8s2afTz7/Sae/X4TDWLCuCapLiO71Sc0UH9sIlJM3zwM+1aX7/es0QoufbpUL928eTNTpkzhzTff5Nprr+WTTz5h+PDhABw+fJiff/6ZvLw8evfuzYwZM4iNjeXDDz/k0UcfZeLEiTz99NNs376doKCgXy0FuWHDBn766SeOHTtGkyZNuP3221m1ahWTJk1i0aJFWJZF586d6d27N+3atTv1uunTp7Nx40ZWr15NWloazZs3Z8yYMb/Lffz4cbp06cK///1v/vKXv/Dmm2/y2GOPce+993LvvfcybNgwxo0bV6pt8lvaY3ZDsRFB3NKrIdPv6M6iR/rxxBUtqV4lmP98u4Fez8zmnQUpmtlMRDxSQkICbdu2BaBDhw6kpKSc+tp1110HwMaNG1mzZg39+/enbdu2/Otf/yI1NRWA1q1bc8MNN/Dee+/96nD3wIEDCQoKIiYmhri4ONLS0pg3bx5XXnklYWFhhIeHc9VVVzF37txf5ZkzZw7Dhg3D5XJRq1YtLrjggrPmDgwMPHUY/szcCxYs4JprrgHg+uuvL/P2Ae0xu73qVYK5sUt9buxSn+SUQzzz3UYen7GW8XO28eBFTRjctpYuvRKRcyvlnm1FCQoKOvWxy+U6dSgbICwsDLAPL7do0YIFCxb87vVfffUVc+bM4fPPP+eJJ55g7dq1Z/2++fn5xT4FWJx/QwMCAk497+T3ryjaY/YgSfFRfHhLFyaP6UTV0ADu+3AF172xkPV7jzodTUSk3DRp0oT09PRTxZyXl8fatWtPLRXZt29fnnnmGQ4fPnzWkdUn9erVi88++4ysrCyOHz/O9OnT6dmz5++eM3XqVAoKCti7dy8//fRTibJ26dLl1NrTU6dOLeFvenbaY/Ywxhh6N46lZ6MYpiXv4j/fbmDQy/O4sUt97u/fmMiQAKcjioiUSWBgIB9//DH33HMPR44cIT8/n/vuu4/GjRszfPhwjhw5gmVZ3H///VStWvWc36d9+/aMGjWKTp3stZTGjh37q/PLAFdeeSWzZs2iVatWNG7cmN69e5co6wsvvMDw4cP53//+x8CBA4mMjCzx7/tb5132sTJo2cfSO5yVy7Pfb+T9RTupGhLAzb0aMLJrPGFB+j+XiK/Sso+VJysri5CQEIwxTJ06lSlTpjBjxozfPa8kyz7qX28PVzU0kH9d0YqhHevx7Pcbeebbjbw1dzu39mrAjV01gltEpCItXbqUu+66C8uyqFq1KhMnTizz99Qes5dZtjODF37czJxN6cRFBPHPwS24pGVNp2OJSCXSHrP7KckeswZ/eZn29arxzphOfHJ7V2IjgrjtvWXc+m4yaUdPOB1NRESKwTuLOS8b3OBIgJM61I9ixp3defjSpszemM6Fz/3M+4t2kFeg659FfIE7HA0VW0n/LLyvmNPWwQutYctMp5M4zt/lx229G/Ldfb1oWSuSR6ev4YL/zeaDRTvJyfe6Rb9EpEhwcDAHDx5UObsBy7I4ePAgwcHBxX6N951jzs+FVzpAaAzcPAs0+QZgvzlmrt/Py7M2szL1CDUjg7mtd0OGdaqn1axEvExeXh6pqamcOKFTWO4gODiYOnXqEBDw68tZz3WO2fuKGWDZO/D53XD9NGh8cfl9Xy9gWRZzNx/g5VmbWZKSQXx0KI8ObM6FzeI0g5iISCXyrcFfbYZBtXj46UmfP9f8W8YYejWO5aPbujFpdEf8XX7c/E4ywycs0gxiIiJuwDuL2RUAvf4Ce1fAxm+cTuO2+jaJ45t7e/J/l7dg7Z6jDHxpLn/7bA2Hs3KdjiYi4rO8s5gBWl8HUQ1gtvaa/0iAy4+R3eKZ/WAfRnSN5/1FO+j7rD1ArKBQ201EpLJ5bzG7/KH3Q/Y6pBu+dDqN26saGsg/Lm/BV/f0JLF6BI9MX80Vr/7Clv3nniBeRETKn/cWM0DLIRCdCD89BYW6frc4mtWswoe3dOHFoW3Zczibq177hQVbDzodS0TEZ3h3MZ/ca96/FjZ84XQaj2GMYXDb2nx2Z3fiqgQzYuIiPlma6nQsERGf4N3FDNDyKoisZ19CJSVSNyqUT27vRsf4KB74aCXP/7BJExaIiFQw7y9mPxe0vha2zoJj+5xO43EiQwJ4e3QnhnSow4szN3Pv1BWcyNOsYSIiFcX7ixmgzVCwCmH1x04n8UiB/n78d0hr/nxxEz5fuYfr3ligRTFERCqIbxRzTCLU7gArpzqdxGMZY7izbyPeuLEDm/dncvkr81i567DTsUREvI5vFDPYs4GlrYZ9a5xO4tEublGDT27vhr+fH9e+sYCPNShMRKRc+U4xt7gK/Pxhlfaay6pZzSp8fld32tatyoMfreT+D1eQmZPvdCwREa/gO8UcFg2JF8OqaVCgEimr6PAgPri5C/df2JgZK3Yz8KW5rEo97HQsERGP5zvFDNDmOshMg+2znU7iFVx+hnsvTOTDW7uSl1/I1a/PZ8K87bqkSkSkDHyrmBtfAsGRsPJDp5N4lY7xUXxzby/6NonjiS/Xcf+HK8jO1SVVIiKl4VvF7B9kn2te/wXkHHM6jVeJDA1g3PAOPHhRY2as3MOQcfNJzchyOpaIiMfxrWIGe3R2fjas+9zpJF7Hz89w1wWJTBiZxM5DWVz28jzmbzngdCwREY/ie8VctxNUrQfrZjidxGtd0LQ6n9/Vg5jwIG6cuJiJOu8sIlJsvlfMxkCTgbBtNuQedzqN10qICWP6nd25oGkc//xyHQ9+tEpTeYqIFIPvFTNAk0ugIMcuZ6kw4UH+vDG8A/ddmMgny1K5bvxC9h3RVJ4iIn/EN4u5fncIioSNXzudxOv5+Rnuu7Axb9zYgS1pxxjw0ly+Xr3X6VgiIm7LN4vZFQCJF8LGb6FQh1crw8UtajDjru7UqRbCHe8v4+4py8k4nut0LBERt+ObxQzQZABkHYDdS51O4jMaxUXwye3deKB/Y75ds5eLXpjDrA1pTscSEXErvlvMjfrZc2dv/MbpJD4lwOXH3f0SmXGnPWp77ORkvl+rdbJFRE7y3WIOqQb1uqqYHdK8VhU+ub0rrepU5e4py0lOOeR0JBERt+C7xQz24ez09XBom9NJfFJooD+TRnWkdtUQxry9hE1pmo1NRMTHi/kS+37jt87m8GFRYYFMHtOJoAAXIycuZs/hbKcjiYg4yreLOaoBxDaDTTqc7aS6UaFMHt2JzBP5jJi4mP1Hda2ziPgu3y5msPeaU36B7Aynk/i05rWqMH5EEnsOZ3P1uPmkHNCsbCLim1TMTQaAVQBbZjqdxOd1bRjNBzd3IfNEPkPGLWDN7iNORxIRqXQq5todICxWo7PdRNu6Vfnotm4EugzDxi9k4baDTkcSEalUKmY/FzToA9vngFZAcguN4sL5+PZuVI8MZsTExSzerkupRMR3qJgBEnrB8f2QvtHpJFKkVtUQpt3alTrVQrj5nWS2pmc6HUlEpFKomAESetv32+c4m0N+JSoskMmjOxHgMoyatJj0YzlORxIRqXAqZoBq9aFqfdj+s9NJ5DfqRoUyYWRH0o/lMHbyErJy852OJCJSoVTMJyX0gpS5Wm3KDbWpW5WXh7Vn9e4j3DNlOfkFhU5HEhGpMCrmkxJ6w4kjsG+V00nkLPo3r84/Lm/Bj+v3c8/U5eTmq5xFxDupmE9K6Gnf6zyz2xrRNZ7HBjbj69X7uPXdZE7k6eiGiHgfFfNJETUgpomK2c2N7dmAJ69sxexN6YyetITMHJ1zFhHvomI+U0Iv2LEA8nOdTiJ/4PrO9Xj+2rYsTjnEjRMWcSQrz+lIIiLlRsV8poRekHcc9ixzOomcxxXtavPq9e1Zs/sI17+1kEPH9Z8pEfEOKuYzxfcAjA5ne4hLWtbgzRFJbNmfydDxC7QqlYh4BRXzmUKjoGZr2KbrmT1FnyZxTBrdkdSMbK4bv1DrOYuIx1Mx/1ZCL0hdDLlZTieRYurWMIZ3b+rEgWM5XDNuATsOaslIEfFcKubfSugNBbmwa5HTSaQEOtSP4oObu5CVm89Vr81n5a7DTkcSESkVFfNv1esCfv46z+yBWtWJ5OPbuxEa5GLo+IXMXJ/mdCQRkRJTMf9WUIS9RrPmzfZIDWPD+eT2bjSKC+fmd5L5YNFOpyOJiJSIivlsGvSBPcsh+7DTSaQU4iKCmXpLF3o1juWR6asZP2er05FERIpNxXw2DfqAVQgp85xOIqUUFuTPWyOSGNi6Jk9+vYFvVu91OpKISLGomM+mdhIEhMK22U4nkTLwd/nxv2va0K5eVe6ftoJVqYedjiQicl4q5rPxD4T63VXMXiA4wMX4G5OIDgti7ORk9h7Rdc4i4t5UzOfSoA8c3AxHUp1OImUUGxHExFEdycot4Ka3kzmuhS9ExI2pmM+lQR/7XrOAeYUmNSJ45fp2bNh3lDs/WKb1nEXEbamYzyWuOYTF6nC2F+nTJI5/X9mK2RvTue/D5eQXqJxFxP34Ox3Abfn52bOAbf8ZLAuMcTqRlINhnepxPCeff321npCA1fx3SGv8/PRnKyLuQ3vMf6RBH8hMg/QNTieRcjS2ZwPuuzCRT5al8n9frMWyLKcjiYicUqZiNsbcb4xZa4xZY4yZYowJNsZEGWN+MMZsLrqvVl5hK92p88yznUwhFeDefonc3DOByQt28NwPm5yOIyJySqmL2RhTG7gHSLIsqyXgAoYCDwMzLctKBGYWfe6ZqtaFqIYqZi9kjOGRAc24LqkuL8/awowVu52OJCIClP1Qtj8QYozxB0KBPcBgYHLR1ycDV5TxZzirQR97BrCCPKeTSDkzxvDEFS3pFB/FQ5+sYs3uI05HEhEpfTFblrUbeBbYCewFjliW9T1Q3bKsvUXP2QvElUdQxzToA7mZsHup00mkAgT6+/Ha8PZEhQZy8zvJpB/LcTqSiPi4shzKroa9d5wA1ALCjDHDS/D6W4wxycaY5PT09NLGqHgJPQGjw9leLCY8iPEjksjIyuWO95fqGmcRcVRZDmVfCGy3LCvdsqw84FOgG5BmjKkJUHS//2wvtixrvGVZSZZlJcXGxpYhRgULqQa12qmYvVzL2pH8d0gblqRk8PfP12iktog4pizFvBPoYowJNcYYoB+wHvgcGFn0nJHAjLJFdAMJPSE1GXKznE4iFeiyNrW4s29DpizexYR5252OIyI+qiznmBcBHwPLgNVF32s88DTQ3xizGehf9Llnq98DCvNgd7LTSaSCPdC/CQNa1eDfX6/n+7X7nI4jIj6oTKOyLcv6u2VZTS3LamlZ1o2WZeVYlnXQsqx+lmUlFt0fKq+wjqnXGTCwY77TSaSC+fkZnru2La3rVOXeqStYnaqR2iJSuTTzV3EER0KNVrDjF6eTSCUIDnDx5ogORIUFctPkJVoqUkQqlYq5uOp3h11LID/X6SRSCeIigpkwKoms3ALGvJ1MppaKFJFKomIurvrdID8b9ix3OolUkqY1qvDqDe3ZlHaMO95fRp5WoxKRSqBiLq763ex7Hc72Kb0bx/LvK1oyZ1M6f/tMl1GJSMVTMRdXWAzENtUAMB80tFM97r6gEVOX7OLVn7Y4HUdEvJzWYy6J+t1g1UdQWAB+LqfTSCX6U//G7M7I5tnvN1G7WghXtqvjdCQR8VLaYy6J+t0h9xjsW+10Eqlkxhievro1XRtE85ePV/HTxrNOaCciUmYq5pKo19W+1+FsnxTo78cbIzrQuHoEt7+3lMXbPf8SfRFxPyrmkoisDdXiNQDMh1UJDuCdMZ2oXTWEMW8v0QQkIlLuVMwlVb+7vcdcqEtnfFV0eBDvje1MZEgAIyYuYnPaMacjiYgXUTGXVP3ukH0IDmx0Ook4qGZkCO+P7Yy/y4/hExax/+gJpyOJiJdQMZeUrmeWIvExYbx7UyeOZOfxwEcrKSzUNc4iUnYq5pKqFg8RtTQATAB7drC/DWrO3M0HmPiLlooUkbJTMZeUMfZec8ovoFmgBLi+Uz36N6/Of77dwJrdGgwmImWjYi6NhF6QuQ/SNzidRNyAMYb/XN2aqLBA7p26nOzcAqcjiYgHUzGXRqN+9v2Wmc7mELcRFRbIc9e2ZduB4zzx1Tqn44iIB1Mxl0ZkHYhpAltVzHJa90Yx3NKrAR8s2snUxTudjiMiHkrFXFoNL7AHgOVlO51E3MgD/ZvQp0ksf52+mi9X7XE6joh4IBVzaTXqB/knNDpbfiXQ34/Xb+hAUv1q3P/hCmZrTm0RKSEVc2nV7w6uINg6y+kk4mZCAl1MGNWRxtUjuO29pSxJ0ZzaIlJ8KubSCgyF+l01AEzOqkpwAJPHdKJWZAhjJi1hk6btFJFiUjGXRcN+kL4ejupcovxeTHgQ747tTFCAH/dMWc6JPF1GJSLnp2Iui4YX2Pc6nC3nULtqCP8d0oYN+47xzLeaX11Ezk/FXBbVW0B4DR3Olj/Ut2kcI7vWZ+Iv2/l5U7rTcUTEzamYy8IYe695209QqMOUcm5/HdCMxtXDefCjlRzMzHE6joi4MRVzWTXqB9kZsHeF00nEjQUHuHhxaDuOZOXx0CersDTPuoicg4q5rBr0BQxs0Xlm+WPNalbhoUub8uP6/Yyfs83pOCLiplTMZRUWDTXbaHpOKZbR3eIZ2LomT32zgU+WpjodR0TckIq5PDTqB7sWw4mjTicRN+fnZ3ju2jZ0bxTNXz5ZxawNaU5HEhE3o2IuDwm9wSqAXYucTiIeIMjfxRs3JtG8ZhXueH8ZS3doZjAROU3FXB7qdAS/AEiZ63QS8RDhQf5MGt2RmpEhjJ60hM2aGUxEiqiYy0NgKNRJgpRfnE4iHiQmPIh3xnQi0N/FXR8sJydfl9yJiIq5/NTvDnuWQ472fKT46kaF8syQVmxMO8bzP2x2Oo6IuAEVc3mJ72GfZ96p88xSMhc0rc51SXUZP2erzjeLiIq53NTtBH7+sGOe00nEAz02qBk1I0N4YNpKsnLznY4jIg5SMZeXwDCo3QFSVMxSchHBATx7TRtSDmbxn282OB1HRBykYi5P8T2KzjNnOp1EPFDXhtGM7h7P5AU7mLf5gNNxRMQhKubyVL87FObremYptYcuaUqjuHDu/GAZW/ZrIKGIL1Ixl6e6ne3zzDqcLaUUHOBi4siOBLj8GDlxCfuOnHA6kohUMhVzeQoKh1rtYIeuZ5bSqxcdytujO3IkO49RkxZzJDvP6UgiUolUzOUtvgfsXgq5x51OIh6sZe1Ixg3vwNb0TG55J5kTeZp8RMRXqJjLW3wPnWeWctEjMYZnr2nDou2H+NO0FRQWag1nEV+gYi5vdTuDcWl6TikXg9vW5rGBzfh69T7++eU6LEvlLOLt/J0O4HWCIuzzzBoAJuVkbM8G7D1yggnztlMzMphbezd0OpKIVCDtMVeE+O5F55mznE4iXuLRAc0Y2LomT32zgc+W73Y6johUIBVzRYjvBYV5sGuh00nES/j5GZ67tg1dGkTx549XagISES+mYq4I9bva6zNvm+10EvEiQf4u3rgxiQYx4dzybjLLd2Y4HUlEKoCKuSIEhtmDwFTMUs4iQwJ456ZORIcHMmrSEjbu0+xgIt5GxVxRGvSBvavg+EGnk4iXqV4lmPdv6kJwgB/DJywi5YCumRfxJirmitKgN2BByhynk4gXqhcdyns3dSa/oJAb3lrE3iPZTkcSkXKiYq4otdpDYIQOZ0uFSaweweQxneypOycuISdfs4OJeAMVc0Vx+UNCTxWzVKjWdary8rB2bEw7xms/bXU6joiUAxVzRWrQBzJS4NB2p5OIF+vbNI7BbWvx2uwtbE7TYDART6dirkgN+tj32392NIZ4v78Nak5YkD9//XS15tQW8XAq5ooU0xgiaupwtlS4mPAgHh3QjOQdGUxZstPpOCJSBirmimSMvde87WcoLHQ6jXi5IR3q0K1hNE9/vYG0oyecjiMipaRirmgN+kD2IUhb7XQS8XLGGJ68shW5BYX84/O1WolKxEOpmCtaQm/7XoezpRLEx4Rx74WJfLNmH1OX7HI6joiUgoq5olWpCbFNVcxSaW7t1ZCeiTH8fcZaVqUedjqOiJSQirkyNOgDOxZAns77ScVz+RleHNqO2Iggbn9vGYezcp2OJCIloGKuDA36QH42pC52Oon4iKiwQF67oT3px3K478MVuoRKxIOomCtD/W5g/GD7XKeTiA9pU7cqf7+8ObM3pvPyrC1OxxGRYlIxV4bgSKjVDrZrQQupXNd3qsdV7WvzwsxNfKjrm0U8goq5siT0gt3JkJPpdBLxIScvoeqVGMtDn6zm3YU7nI4kIuehYq4sCb2gMB92LnQ6ifiY4AAX40d04MJmcfztszVMmKe520XcmYq5stTtAn4BmjdbHBHk7+K1GzpwacsaPPHlOl6frZWoRNyVirmyBIZCnY46zyyOCfT34+Vh7bisTS3+8+0Gpi9PdTqSiJyFirkyJfSCfasgO8PpJOKj/F1+PH9tGzolRPHo9DVsS9eYBxF3o2KuTAm9wCqEHfOdTiI+zN/lx4tD2xLk78ddHyznRF6B05FE5Awq5spUJwn8Q3Q4WxxXMzKEZ69pw7q9R3nq6/VOxxGRM6iYK5N/ENTromIWt9CvWXVu6pHA5AU7+HbNPqfjiEiRMhWzMaaqMeZjY8wGY8x6Y0xXY0yUMeYHY8zmovtq5RXWKyT0gv3rIHO/00lEeOiSprSuE8lfPl7JrkNZTscREcq+x/wi8K1lWU2BNsB64GFgpmVZicDMos/lpIRe9n2KpucU550cqQ0w5u0lHMnOcziRiJS6mI0xVYBewAQAy7JyLcs6DAwGJhc9bTJwRdkiepmabSEwQoezxW3Ujw7jjRuTSDl4nDveX0peQaHTkUR8Wln2mBsA6cAkY8xyY8xbxpgwoLplWXsBiu7jzvZiY8wtxphkY0xyenp6GWJ4GJc/xHfXghbiVro2jOapq1rzy5aDPDp9NZal1ahEnFKWYvYH2gOvW5bVDjhOCQ5bW5Y13rKsJMuykmJjY8sQwwMl9IJDW+GIJngQ9zGkQx3uuaAR05JTeU0zg4k4pizFnAqkWpa1qOjzj7GLOs0YUxOg6F6jnH7r5HnmbbMdjSHyW/f3b8zgtrX473cb+Xr1XqfjiPikUhezZVn7gF3GmCZFD/UD1gGfAyOLHhsJzChTQm9UvSWE14DN3zudRORXjDE8M6Q17etV5cGPVrI57ZjTkUR8TllHZd8NvG+MWQW0BZ4Engb6G2M2A/2LPpczGQOJ/WHrT1CgUbDiXk4ueBEa6OLWd5dy9ITeoyKVqUzFbFnWiqLzxK0ty7rCsqwMy7IOWpbVz7KsxKL7Q+UV1qs0vhhyjsLOBU4nEfmdGpHBvHp9e3YcyuKBaSspLNRgMJHKopm/nNKgj70M5KbvnE4icladG0Tz6IBm/LAujddmb3E6jojPUDE7JSjCvmxK55nFjY3uHs/gtrX43w+bmLk+zek4Ij5BxeykxIvhwCY4tN3pJCJnZYzhqata0aJWFe54fxm/bDngdCQRr6didlLji+177TWLGwsN9OedMZ2Jjw5j7ORkFm/XsBGRiqRidlJ0Q4hupPPM4vaiwgJ5b2xnalYNZvSkxSzbmeF0JBGvpWJ2WuLFkDIPco87nUTkD8VGBPHB2C7ERAQxcuJiVqcecTqSiFdSMTut8UVQkKNFLcQj1IgM5oObuxAZEsDISYvZlp7pdCQRr6Nidlq9bvZqUzqcLR6idtUQ3r2pM34GbpywmH1HTjgdScSrqJid5h8IDfvYA8C0oo94iISYMN4e3Ykj2XmMmLiIw1m5TkcS8RoqZneQeDEc3Q1pa51OIlJsLWtHMn5EB1IOZDHm7SVk5eY7HUnEK6iY3UHiRfb9Zh3OFs/SrWEMLw1ry4pdh7nz/WXkFxQ6HUnE46mY3UFEdajZBjb/6HQSkRK7pGVN/nVFK37amM6j09dg6ZSMSJmomN1F4kWwaxFk6/pQ8TzXd67H3Rc04sPkXbw4c7PTcUQ8morZXTTqD1aBvRSkiAf6U//GDOlQhxd+3MzUxTudjiPisVTM7qJOEoRUgy06nC2e6eS82r0ax/LoZ2uYtUGLXoiUhorZXfi5oOEFsPkHKNQAGvFMAS4/XruhPc1qRnD7e8uYv1WLXoiUlIrZnSReBMf3w75VTicRKbXwIH8mj+5EvahQbno7mSUpWvRCpCRUzO6kYT/A2HvNIh4sOjyI92/uTM3IYEZPWsJyLXohUmwqZncSHgu12mkZSPEKcRH2vNpRYYGMmLiYNbu16IVIcaiY3U3iRbA7GbJ0+E88n73oRWeqBAdww1uLtOcsUgwqZneT2B+sQtg6y+kkIuWiTrVQpt5ir0g1/K1FLNh60OlIIm5NxexuarWD0GgdzhavUjcqlI9u60qtqiGMnLSYmet1KZXIuaiY3Y2fyx4EtuVHXTYlXqV6lWA+vLUrTapHcOu7S/l85R6nI4m4JRWzO0q8CLIOwp7lTicRKVdRYYF8cHNn2tevxn1TlzN/i65zFvktFbM7angB9mVTWm1KvE9EcAATR3WkQWw4d01ZTmpGltORRNyKitkdhUVDva6w/kunk4hUiPAgf8bf2IG8/EJue28pJ/IKnI4k4jZUzO6q+eWwfy0c2OJ0EpEK0SA2nBeGtmXN7qM8Mn21losUKaJidlfNLrPv189wNodIBerXrDr3X9iYT5ftZvL8FKfjiLgFFbO7iqwDtZNg3edOJxGpUHdf0Ij+zavzxFfrNRhMBBWze2t+OexdARk7nE4iUmH8/AzPXduGhrFh3P7+MrYfOO50JBFHqZjdWbPL7fv12msW7xYRHMBbIzriZ+CmyUs4kp3ndCQRx6iY3VlUAtRorcPZ4hPqRYfy+vAO7DyYxd1TlpNfoAl2xDepmN1d88shdTEc1SxJ4v26NIjmX1e0ZM6mdP799Xqn44g4QsXs7ppfYd+v/8LRGCKVZWineozpnsCkX1KYtmSX03FEKp2K2d3FJEJsMx3OFp/yyICm9GgUw2OfrWHFrsNOxxGpVCpmT9D8ctg5HzL3O51EpFL4u/x4eVg74qoEcft7SzmQmeN0JJFKo2L2BM0H22s0b9AUneI7qoUFMm54Bw4dz+XO95eRp8Fg4iNUzJ4grjlENdThbPE5LWtH8vTVrVi0/RBPajCY+AgVsycwxp6iM2UuZGc4nUakUl3Zrs6pwWAT5m13Oo5IhVMxe4pml0FhPmz63ukkIpXurwOackmLGjzx5Tpen73V6TgiFUrF7ClqtYeImpoFTHxSgMuPV65vx+VtavGfbzfwwo+btBqVeC1/pwNIMfn5QdNBsPw9yM2CwFCnE4lUKn+XH89f15ZAfz9e+HEzufmF/PniJhhjnI4mUq60x+xJmg2C/GzYOsvpJCKOcPkZnrm6NcM61eO12Vt5ZPoajdYWr6Ni9iT1u0NwVc0CJj7Nz8/w5JUtub1PQ6Ys3smYt7XohXgXFbMncQVAkwGw6Rso0D9E4ruMMTx0SVOeGdKahdsOcvXr89l5MMvpWCLlQsXsaZoNghNH7EunRHzctUl1efemzhzIzOGK135h2U5dTiieT8XsaRpeAAGhsF6zgImAvSLV9Du6UyXYnxvfWsSSlENORxIpExWzpwkIgUYXwoavoFCDXkQAEmLC+PDWrlSPDGbkxMUs3HbQ6UgipaZi9kTNLoPMfbA72ekkIm6jepVgpt7chVpVQxg1aTHztxxwOpJIqaiYPVHiReDnr9HZIr8RVyWYKTd3oV5UKKPfXqJyFo+kYvZEIVWhQR9Y+5kOZ4v8RmxEEFNu7kL96FBufW8pW9MznY4kUiIqZk/V6lo4shN2LnA6iYjbiQ4PYsLIjgS4/Lh5cjJHsnR5oXgOFbOnajYIAsJg1VSnk4i4pbpRoYwb3oFdGVncNWUZ+ZohTDyEitlTBYbZg8DWzoC8E06nEXFLnRKieGJwS+ZuPsCTX29wOo5IsaiYPVmb6yDnCGz61ukkIm5raKd6jOoWz8RftjNl8U6n44icl4rZkyX0hvAasOpDp5OIuLXHBjajZ2IMj0xfzcdLU52OI/KHVMyezM8FrYbA5u/huCZUEDkXf5cf429MolvDaP788Uo+St7ldCSRc1Ixe7o2Q6EwH9Z+6nQSEbcWEuhiwsiO9GgUw18+WcW0JSpncU8qZk9XoxXEtYCVGp0tcj7BAS7eHJFEj0YxPPTpKqbqnLO4IRWzN2hznT0958GtTicRcXsny7lXYiwPf7qat+ZuczqSyK+omL1Bq2sAo0FgIsUUHOBi/IgODGhVg399tZ7nvt+IZVlOxxIBVMzeoUotSOhlH87WPy4ixRLk7+LlYe25LqkuL83awj8+X0thof7+iPNUzN6izTA4vAN2LnQ6iYjHcPkZnr66FTf3TGDygh088NFK8jRDmDhMxewtml1mT9G58gOnk4h4FGMMjwxoxoMXNWb68t3c/t4yTuQVOB1LfJiK2VsEhUPzy+0Vp/KynU4j4lGMMdx1QSJPDG7Bj+vTGD1pCZk5+U7HEh+lYvYmbYZCzlHY+LXTSUQ80o1d43nhurYsTjnE9W8u5NDxXKcjiQ9SMXuT+F5QpQ6smOJ0EhGPdUW72rwxvAMb9x3jujcWcDAzx+lI4mNUzN7Ezw9aXwtbZ8KxNKfTiHisC5tXZ9Lojuw8lMWoSUs4dkLrOUvlUTF7mzbDwCqE1R85nUTEo3VrGMO44R1Yv/coN01O1oAwqTQqZm8T2xhqd4CVOpwtUlZ9m8bx/HVtWZJyiDveX6ZLqaRSqJi9UZthkLYG9q12OomIx7usTS3+fUUrZm3Yz5+m6TpnqXhlLmZjjMsYs9wY82XR51HGmB+MMZuL7quVPaaUSMurwS9AC1uIlJPrO9fjr5c25YuVe7hxwiINCJMKVR57zPcC68/4/GFgpmVZicDMos+lMoVGQeOL7bmz83W5h0h5uLV3Q56/rg3Ldh7m8ld+Ye2eI05HEi9VpmI2xtQBBgJvnfHwYGBy0ceTgSvK8jOklNqPhOPpsP5zp5OIeI0r29Xho1u7UlBoMeT1BXy1aq/TkcQLlXWP+QXgL8CZJ12qW5a1F6DoPu5sLzTG3GKMSTbGJKenp5cxhvxOowuhWjwseeu8TxWR4mtTtyqf392dZjUjuPODZXy8NNXpSOJlSl3MxphBwH7LspaW5vWWZY23LCvJsqyk2NjY0saQc/Hzg6SbYOcC2LfG6TQiXiUuIpgpt3She6NoHv5kFXM2aedCyk9Z9pi7A5cbY1KAqcAFxpj3gDRjTE2Aovv9ZU4ppdNuOPgHa69ZpAIE+bt4fXgHGsWFc/t7S1mzW+ecpXyUupgty/qrZVl1LMuKB4YCsyzLGg58DowsetpIYEaZU0rphEZByyGwahqc0D8aIuWtSnAAk8d0IjIkgNFvL2HXoSynI4kXqIjrmJ8G+htjNgP9iz4Xp3QaC3nHNX+2SAWpXiWYyWM6kZNXwMhJi8nQwhdSRuVSzJZlzbYsa1DRxwcty+pnWVZi0f2h8vgZUkq12kHtJPtwtmU5nUbEKyVWj+DNEUmkZmRz8zuavlPKRjN/+YKOY+HgZtg22+kkIl6rc4Nonru2Dck7Mnhg2koKC/UfYSkdFbMvaHElhEZrEJhIBRvUuhaPDmjGV6v38uTX68//ApGzUDH7goBgaHcjbPwaDu9yOo2IVxvbM4FR3eJ5a952Jv2y3ek44oFUzL6i4032ffIEZ3OIeDljDH8b1JyLW1Tnn1+u48tVe5yOJB5GxewrqtaDJgNg6duQl+10GhGv5vIzvDi0HUn1q3Hf1BX8sC7N6UjiQVTMvqTzbZCdAas/djqJiNcLDnAxcVRHWtSO5M73l/GzZgeTYlIx+5L4HhDXHBa/oUunRCpBRHAA74zuRKO4cG55J5n5Ww84HUk8gIrZlxgDnW6BfavtObRFpMJFhgbw3tjO1I8O5aa3k1m47aDTkcTNqZh9TetrIbgqLHrD6SQiPiMqLJD3xnamVtVgRkxYzGfLdzsdSdyYitnXBIZB+xth/RdwRP84iFSWuIhgPr29O+3rV+W+D1fw4o+bsXRKSc5CxeyLOo4Fq1CXTolUssjQAN4Z05mr2tfm+R838cC0leTka/pO+TUVsy+qFn/GpVMnnE4j4lMC/f343zVt+FP/xny6fDfDxi9k7xFdwiinqZh9VZfbIesgLH/X6SQiPscYwz39Ennl+nZs3HeMgS/NY+5mXU4lNhWzr4rvAfW6wrznIT/H6TQiPmlQ61rMuKsHMeGBjJi4mBd/3KzFL0TF7LOMgd5/gaO7tdcs4qBGceF8dmd3rmhrn3e+5V0tG+nrVMy+rEFfqNMJ5j4P+VrcXcQpoYH+PHdtG/7v8hbM3LCfERMWcyQ7z+lY4hAVsy8zBvo8BEdTYcX7TqcR8WnGGEZ2i+eloe1YviuDoeMXkn5Mp5l8kYrZ1zXsB7U7wNzntNcs4gYua1OLt0Z2JOXAca4ZN59dh7KcjiSVTMXs64yB3g/DkZ2wcorTaUQE6N04lvfGdiYjK4/Br/7C7I37nY4klUjFLJDYH2q1g7nPQoHOa4m4gw71q/HJ7d2IDQ9i1KQlPP3NBvIKCp2OJZVAxSyn95oPa69ZxJ00igtnxl3dGdapHuN+3srQ8QvZfViTkXg7FbPYGl9s7zXP+a/ONYu4keAAF09d1YqXhp2cjGSuJiPxcipmsRkDfR+195o1QlvE7VzephZf3N2D6hHBjJy4mNdnb9UiGF5KxSynNboQ6nSEOc9qNjARN5QQE8and3Tj0lY1+c+3G7jzg2Ucz8l3OpaUMxWznGYM9H3Evq552TtOpxGRswgL8ueVYe14ZEBTvl2zj8Gv/sK6PUedjiXlSMUsv9agrz2H9tz/aeUpETdljOGWXg1596bOHMnO44pXf+Gtuds0z7aXUDHLr53caz62114WUkTcVvdGMXx7b096N4nlX1+tZ8TExaQd1X+oPZ2KWX4voRfE94R5z0GuZh0ScWfR4UGMv7EDT17ZiqU7MrjkhTnM33rA6VhSBipmObu+j0BmGix+w+kkInIexhiu71yPL+/pQXR4ECMmLOaDRTudjiWlpGKWs6vfDRpfYs+hnalrJkU8QcPYcD69oxs9EmN4ZPpq/vH5WvI1W5jHUTHLufV/AnKPw+ynnE4iIsVUJTiACSM7clOPBN6en8KYyclkHNekQZ5ExSznFtsYksbYg8DSNzqdRkSKyeVn+Nug5jx9VSsWbD3ApS/OZcHWg07HkmJSMcsf6/MwBIbD939zOomIlNDQTvWYfkd3QgNdXP/WQp79bqMWwvAAKmb5Y2Ex0OsB2PwdbP3J6TQiUkIta0fyxd09uKZDHV75aQvXvbGA1AxdbeHOVMxyfp1uhar14fvHoLDA6TQiUkJhQf48M6QNLw9rx+a0TAa+NI+Z69OcjiXnoGKW8wsIhgv/AWlrYMUHTqcRkVK6rE0tvrynB3WqhXDT5GSe/maDRm27IRWzFE+LK+0FLn56UpOOiHiw+tFhfHJ7N67vbK/xfP2bi7TGs5tRMUvxGAMX/h8c26NJR0Q8XHCAiyevbMUL17VlzZ4j9H/uZybO206B5tp2CypmKb747kWTjjwPWYecTiMiZXRFu9p8d18vOiVE8c8v13HVa1qpyh2omKVk+v0dco7a82iLiMerGxXKpFEdeWlYO3YfzuayV+bx8szNWqnKQSpmKZnqzaHt9bBoPBze5XQaESkHxhgub1OLH//Um0Gta/K/HzZx0+QlHM7SjGFOUDFLyfV9xL7/6Ulnc4hIuaoaGsgL17XliStaMm/LAQa9PI81u484HcvnqJil5CLrQOdbYeUUSFvrdBoRKUfGGG7sUp9pt3aloNDiqtfn81Gyjo5VJhWzlE6P+yE4Er55CCydixLxNu3qVePLu3vQMb4af/54Ff/4fK2m86wkKmYpndAoe9KRlLmadETES0WHBzF5dKdTK1WNmLCYQ1qpqsKpmKX02o+Eul3sqTqPa+UaEW/k7/Ljb4Oa879r2rB0ZwaXv6LzzhVNxSyl5+cHl70AOcfg+0edTiMiFejqDnWYdmtX8goKGfzqL/zry3Vk5uQ7HcsrqZilbOKaQfd77YFg2352Oo2IVKC2davy3X29uDapLm/N286F//uZb1bvxdI4k3KlYpay6/UgRDWAL++HvBNOpxGRClQ1NJCnrmrFp3d0o1pYILe/v4wbJywmOUWzAZYXFbOUXUAIDHwODm2FOf91Oo2IVIL29arxxV3deXxQc9bvPcqQcQu4/s2FLNym8SZlpWKW8tGwL7QZBr+8AHtXOZ1GRCqBv8uPMT0SmPtQXx4b2IzN+zMZOn4hw99axL4jOnpWWipmKT8XPwmh0TDjDijIczqNiFSS0EB/xvZswNy/9OXxQc1ZtjODAS/N5acN+52O5pFUzFJ+QqPsQ9r7VsO8551OIyKVLDjAxZgeCXxxdw/iIoIY/fYSnvp6vSYmKSEVs5SvZoOg5dXw8zOarlPERzWMDeezO7szvEs93pizjSHjFrA1PdPpWB5DxSzl79Jn7Ok6P7sDCnSdo4gvCg5w8a8rWvHaDe3ZcfA4A16cy5tztlGg5STPS8Us5S8sBgb8F/augPkvOZ1GRBw0oFVNvr+/F70ax/Lvr9dz7RsL2Ka95z+kYpaK0eJKaHY5zH4K0tY5nUZEHBQXEcz4Gzvw/HVt2LI/k0tfnMurP20hN1/nns9GxSwVwxh7IFhQFZh+q0Zpi/g4YwxXtqvDD/f3ol+zOP773UYGvTxXE5OchYpZKk54LAx6HvatgjnPOp1GRNxAXJVgXruhAxNGJnE8p4Ah4xbw109XkaFVq05RMUvFan45tL7OnhFsz3Kn04iIm+jXrDrf39+Lm3smMC05lT7PzuadBSnk69IqFbNUgkv/A+FxMP02zaUtIqeEBfnz6MDmfH1PT1rUqsLjM9Yy6OV5zN96wOlojlIxS8ULqQaXvwLpG2DWE06nERE306RGBO+P7cy44e05diKf699cxN9nrCEnv8DpaI5QMUvlSLwQksbAgldgw1dOpxERN2OM4ZKWNZn5QG/GdE9g8oIdXDtuAbsOZTkdrdKpmKXyXPwU1GxrH9I+uNXpNCLihoIDXDx+WXPGDe/AtgPHGfjSXH5Yl+Z0rEqlYpbKExAM170Lfi74cDjkHnc6kYi4qUta1uDLu3tQLzqUm99J5t6py9l50Df2nlXMUrmq1oOrJ8D+9fD5PWBpej4RObv60WF8fFs37uzbkO/W7qPfc7P5+4w1pB/LcTpahVIxS+Vr1A8ueAzWfAyLxjmdRkTcWHCAiz9f3JSf/9yXa5Lq8t6infT+70+M+3mr115apWIWZ/T4EzQZCN89CtvnOp1GRNxc9SrBPHllK364vxfdGsbw9DcbuOr1+WzYd9TpaOVOxSzO8PODK1+HqAbw0Ug4vMvpRCLiARrEhvPmiA68en17dmdkM+ileTz3wyavurRKxSzOCY6EYVPsebSnXg+5vjGwQ0TKxhjDwNY1+eFPvRnUuiYvzdzMBc/+zJTFO71iYQwVszgrJhGufgv2rYYv7tVgMBEptqiwQF4Y2o53xnQiJiKIv366mr7PzuaDRZ5d0KUuZmNMXWPMT8aY9caYtcaYe4sejzLG/GCM2Vx0X6384opXanwxXPAorJ4GC151Oo2IeJhejWP57I5uvD26I7ERQTwy3S7o9xbu8MhD3MYq5R6KMaYmUNOyrGXGmAhgKXAFMAo4ZFnW08aYh4FqlmU99EffKykpyUpOTi5VDvESlgXTRsCGL2HoB9DkUqcTiYgHsiyLnzel89LMzSzbeZgaVYK5vU9DrutYl+AAl9PxfsUYs9SyrKTfPV7aYj7LD5gBvFJ062NZ1t6i8p5tWVaTP3qtilkAe8KRSQPgwCYY9RXUbu90IhHxUJZl8cuWg7w4cxNLUjKoHx3Kc9e2pUN99zmIe65iLpdzzMaYeKAdsAioblnWXoCi+7hzvOYWY0yyMSY5PT29PGKIpwsMg+unQWgMfHAdZOxwOpGIeChjDD0SY5h2a1fevakTBYUW14ybz/++30iem1//XOZiNsaEA58A91mWVewLyizLGm9ZVpJlWUmxsbFljSHeIqI6DP8YCnLg/WsgO8PpRCLiwYwx9EyM5Zt7e3JV+zq8PGsLV702ny37jzkd7ZzKVMzGmADsUn7fsqxPix5OKzqEffI89P6yRRSfE9vEPs+csR2mDod8755+T0QqXkRwAM9e04Zxw9uTmpHFpS/O5alv1nPsRJ7T0X6nLKOyDTABWG9Z1nNnfOlzYGTRxyOBGaWPJz4rvgdc8TrsmAef3gyFnjeyUkTczyUta/Ld/b0Y3LY2b/y8jb7P/sy0JbsoLHSfSzXLMiq7BzAXWA2cPGD/CPZ55mlAPWAncI1lWYf+6Htp8Jec0/yX4fvHoOPNMOC/YIzTiUTES6zcdZh/frmOpTsyaFm7Cg9f0oweiTGV9vMrfFR2WaiY5Q99/5hd0Bc8Br3+7HQaEfEilmXx+co9PPPtRnYfzqZnYgwPXdKUlrUjK/xnq5jFcxUWwme3waoP4bKXoMPI879GRKQEcvILeG/hTl6ZtZmMrDwGta7Jvf0SSaweUWE/U8Usnq0gz76EattPcNWb0GqI04lExAsdPZHHGz9vZdIvKWTlFnBpyxrc2bdRhexBq5jF8+Vk2uW84xe4/CVoP8LpRCLipQ4dz2XSL9t5+5cUjuXk07dJLI9f1oKEmLBy+xkVOsGISKUICocbPoKGF8Dnd8PCcU4nEhEvFRUWyAMXNWHewxfw4EWNWb/3GKGBlTOlp/aYxfPk58DHY+x5tfv9HXr+yelEIuLl8gsK8XeV776s9pjFe/gHwTVvQ6trYOb/wax/a7lIEalQ5V3Kf/izKu0niZQnVwBc+YZd0nOegcI8e+9Z1zmLiIdTMYvn8nPBZS+DXwDMe94euX3Rv1TOIuLRVMzi2fz8YNDz4AqEBa9AQS5c+ozKWUQ8lopZPJ8xcOl/7MPbC16B4wdg8Cv2MpIiIh5GxSzewRj7MHZYDMz8J6RvgOveg+iGTicTESkRjcoW72EM9Lgfhn8Cx/bC+L6w6TunU4mIlIiKWbxPwwvglp+hWn344FqY/R97vm0REQ+gYhbvVK0+3PQ9tB4Ks5+EaTdCzjGnU4mInJeKWbxXQAhcOQ4ufgo2fg1v9YdD25xOJSLyh1TM4t2Mga53wPBPIXOffd55y0ynU4mInJOKWXxDw75w809QpTa8dzXMfAIK8p1OJSLyOypm8R1RCTD2R2g3HOY+C5MvgyO7nU4lIvIrKmbxLYGh9uQjV70Je1fCuB6w+QenU4mInKJiFt/U+lq49WeoUgveHwI/PG7PtS0i4jAVs/iumET70HaH0fDLizBpABze5XQqEfFxKmbxbQEhcNkLMGQi7F9vH9pe/4XTqUTEh6mYRQBaXm0f2q5WHz4cDh+Ngsz9TqcSER+kYhY5Kboh3PQj9H0MNnwFr3SE5e+BZTmdTER8iIpZ5Ez+gdD7z3DbLxDXHGbcCe9crhnDRKTSqJhFzia2MYz6CgY9D3tWwGvdYP7LUFjgdDIR8XIqZpFz8fODpDFwx0Jo0Bu+fwzeuhDS1jqdTES8mIpZ5Hwia8OwqXD1BDi8A97oBd//DXIynU4mIl5IxSxSHMZAqyFw5xJoMxTmvwSvdoJ1MzQ4TETKlYpZpCTComHwqzDmewiJgmkj7EUx0jc5nUxEvISKWaQ06nWGW2bDJf+B1CXwelf45mHIznA6mYh4OBWzSGm5/KHLbXDPcmh3Iyx+A15qD0ve0rzbIlJqKmaRsgqLsaf1vHUOVG8BXz1QVNATID/H6XQi4mFUzCLlpUYrGPkFXP8RRFSHr/4EL7aFheMgL9vpdCLiIVTMIuXJGGh8Edz0A9z4GUQlwLcPwYttYOHrKmgROS8Vs0hFMAYa9oXRX9sziMU0hm8ftgt6wWuQe9zphCLiplTMIhUtvgeM+hJGfQ2xTeC7v8JzzeHHf8DRPU6nExE3o2IWqSzx3e1z0GO+h4Re8MuL8EIr+ORm2LPc6XQi4ib8nQ4g4nPqdbZvGSmw6A1Y9g6sngZ1u9iXXzW9zL4US0R8krHcYDrBpKQkKzk52ekYIs44cQSWv29fB52RAlVqQ/sR0Ooae41oEfFKxpillmUl/e5xFbOImygsgE3fwaJxsH0OYEGt9tD6WmhxlX0Jloh4DRWziCc5shvWfgqrpsG+VWBckHgRtLsBEi8G/0CnE4pIGamYRTxV+kZYOQVWToVjeyE0GloOgZZXQZ1O9rrRIuJxVMwinq4gH7bOghXvwcZvoSDHPh/d/Aq7pGt3sK+fFhGPoGIW8SYnjsKmb2HNp7B1JhTkQrV4e8BYyyEQ19TphCJyHipmEW+VfRg2fAWrP4LtP4NVCNVbQrPLoOkge2EN7UmLuB0Vs4gvOJYGa6fbt12LAAuqJUDTgfbgsXpdNXBMxE2omEV8zbE02Pg1bPgStv0MhXkQGA4JvSHxQmjUH6rWdTqliM86VzFreiERbxVRHZJG27ecY/a10Vt+hM0/wsav7OfENjtd0vW6gH+Qs5lFRHvMIj7HsuDAJtj8A2z+HnbMt/em/UOgfldo0Me+VW+lS7FEKpD2mEXEZoy9ylVsE+h2V9He9FzYNtu+/fC4/bzgqvbKWPE9IaGnvXetohapcCpmEV8XFAFNB9g3gKN77dHd2+dCylz7HDVASDV7oY36Xe1BZDXbaiCZSAVQMYvIr1WpCW2G2jeAjB2QMg92zoedC2HTN/bj/sH2XN71OtuFXacjhEU7l1vES+gcs4iUTOZ+2LkAdi6CXQth70oozLe/VrU+1G5vz0JWqz3UbANB4c7mFXFTOscsIuUjPA6aD7ZvALlZsGcZpCYX3S+1r6MGMH4Q29Qu61rt7IlPqrewD5+LyFmpmEWkbAJDiwaJ9Tj9WGa6XdK7l8HupbDha1j+3umvV60PNVrZJV29hV3Y1RI0uEwEFbOIVITwWGh8sX0D+xKtI6mQthbSVtv3+9bYE6BYhfZzAkLtveu45lC9OcQ1s0eCR9TQlKLiU1TMIlLxjLFnGataF5pccvrxvGxI32CXdNpa2L8ONn9nr6B1UnCkXdBxTe3ijm1i30fUVGGLV1Ixi4hzAkLsc8+12v368cx0u6TTN8D+9faa1OtmQPbbp58TVAWiG0JUw9P3UQ3sVbbCYlTa4rFUzCLifsJjIbw3NOh9+jHLguPpdkmnb7DvD22F1MWw5hPgjCtMAsPtgo5KKCruRnZ5V0uA8Oo6ly1uTcUsIp7BGHtEeHicPRPZmfJzICMFDm237zNSIGM77N8AG7+1pxw9yRVUdFi9XtGtPlSrD1Xj7c+1ty0OUzGLiOfzDzo9zehvFeTDkZ1wcKtd2Id3Ft12wJ4VkH3o1893BUKVWlCldtF9LahSByKLPg+vAWGx4NI/n1Ix9M4SEe/m8rfPPUc1OPvXc47ZRZ2xA47sgqO74egeOLLbXtP66N5f73EDYOw96/Aa9ipeETXswWgRNYoeq2k/Hl4dXAEV/iuKd1Exi4hvC4o4fT312RQW2ue2TxZ2Ztrp27E0yNxnjyjPTDt96deZQqLsw+9hsXZR//bj8DgIi9NeuJyid4GIyB/x8yvaK65uz2B2LoUF9nSlmftOF/axfUWPpdnlvjvZHnGed/ws38BAaJRd0GGxEBpt75WHRtvlHhpVdF/NXlAkpBoERWogmxdSMYuIlAc/l70ASJWa539uTiYc32+X9PGi4j758fF0OH7Q3gs/ng4nDp/7+xg/e3nO0Kiisj6jwEOqFZV4FARXsS8vC6pifxwcaU/ookFubknFLCJS2YLC7du5znufqbAAsg/bg9SyDtn3Jz/Pzih6LMP+/Nhe+/rv7AzIzfzj7+vnbxd0UBX7cP6p+/DTH58q9Aj7ErSg8N88t4p9LboKvlypmEVE3Jmfy15Os6RLaubnFBV2Bpw4CjlFt5Mfnzhy+pZzzL4d3V30vEz7viC3GPn8i0o7AgLDzrgVlfzJQg8Is+dVDwi1vx4QWvT5GY8HhJy+9w/22cJXMYuIeCP/oKLR4jVK/z3yThQV9TF7Dzwn83SJnyz6k5/nHrefk3vcfl7Wjl9/rSCnhD/cnFHeZynukx+fWer+wb+/9w+GgGDwDzl97x/06+e5At3qPwEqZhERObuAolILjyv79yrItwe95WZBXpZd1nnZpx/LP2E/npdd9LWsouee/Hp20fOzIetA0cdZp79fXja/mv2tRExRiQedLnJXUNHnRY+5AmHgs8U7/VBGKmYREal4Ln9wRdrntSuCZdmH3vOyi0r+zPucomI/8ev7/JxfP68g1/745OMFufbHBbn2IDyrtMVfMhVWzMaYS4AXARfwlmVZT1fUzxIRER9nzOk9XA9XIRfAGWNcwKvApUBzYJgxpnlF/CwRERFvUlFXpncCtliWtc2yrFxgKjC4gn6WiIiI16ioYq4N7Drj89Six04xxtxijEk2xiSnp6dXUAwRERHPUlHFfLZx5786a25Z1njLspIsy0qKjY2toBgiIiKepaKKORWoe8bndYA9FfSzREREvEZFFfMSINEYk2CMCQSGAp9X0M8SERHxGhVyuZRlWfnGmLuA77Avl5poWdbaivhZIiIi3qTCrmO2LOtr4OuK+v4iIiLeSAt5ioiIuBEVs4iIiBtRMYuIiLgRFbOIiIgbUTGLiIi4ERWziIiIG1Exi4iIuBEVs4iIiBtRMYuIiLgRFbOIiIgbMZZlnf9ZFR3CmHRgRzl/2xjgQDl/T0+jbWDTdtA2AG2Dk7Qd3Gcb1Lcs63frHrtFMVcEY0yyZVlJTudwkraBTdtB2wC0DU7SdnD/baBD2SIiIm5ExSwiIuJGvLmYxzsdwA1oG9i0HbQNQNvgJG0HN98GXnuOWURExBN58x6ziIiIx/G4YjbGXGKM2WiM2WKMefgsXzfGmJeKvr7KGNO+uK/1JGXcDinGmNXGmBXGmOTKTV5+irENmhpjFhhjcowxD5bktZ6ijNvAK94HUKztcEPR34NVxpj5xpg2xX2tpyjjNvCl98Lgom2wwhiTbIzpUdzXVhrLsjzmBriArUADIBBYCTT/zXMGAN8ABugCLCruaz3lVpbtUPS1FCDG6d+jErZBHNAR+DfwYEle6wm3smwDb3kflGA7dAOqFX18qbf9u1CWbeCD74VwTp/GbQ1scLf3gqftMXcCtliWtc2yrFxgKjD4N88ZDLxj2RYCVY0xNYv5Wk9Rlu3gLc67DSzL2m9Z1hIgr6Sv9RBl2QbepDjbYb5lWRlFny4E6hT3tR6iLNvAmxRnO2RaRU0MhAFWcV9bWTytmGsDu874PLXoseI8pziv9RRl2Q5gvxG/N8YsNcbcUmEpK1ZZ/jy95b1Q1t/DG94HUPLtcBP20aTSvNZdlWUbgI+9F4wxVxpjNgBfAWNK8trK4O/EDy0Dc5bHfjus/FzPKc5rPUVZtgNAd8uy9hhj4oAfjDEbLMuaU64JK15Z/jy95b1Q1t/DG94HUILtYIzpi11KJ88r+tx74SzbAHzsvWBZ1nRgujGmF/AEcGFxX1sZPG2PORWoe8bndYA9xXxOcV7rKcqyHbAs6+T9fmA69iEcT1OWP09veS+U6ffwkvcBFHM7GGNaA28Bgy3LOliS13qAsmwDn3svnFT0n4+GxpiYkr62Qjl9sr4kN+w9/G1AAqdPzrf4zXMG8utBT4uL+1pPuZVxO4QBEWd8PB+4xOnfqSK2wRnP/Qe/HvzlFe+FMm4Dr3gfFHc7APWALUC30m5Dd76VcRv42nuhEacHf7UHdhf9O+k27wXHN2QpNvwAYBP26LlHix67Dbit6GMDvFr09dVA0h+91lNvpd0O2CMOVxbd1nrydijGNqiB/b/go8Dhoo+reNN7obTbwJveB8XcDm8BGcCKolvyH73WE2+l3QY++F54qOj3XAEsAHq423tBM3+JiIi4EU87xywiIuLVVMwiIiJuRMUsIiLiRlTMIiIibkTFLCIi4kZUzCIiIm5ExSwiIuJGVMwiIiJu5P8Bjsp0BYryayIAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(ths, IoUsMM, label='Ours')\n", "plt.plot(ths, IoUsTh, label='Thresholding')\n", "plt.legend()\n", "plt.title('IoU')" ] }, { "cell_type": "code", "execution_count": 23, "id": "8851220c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Precision')" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAHiCAYAAAAnPo9XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAmdklEQVR4nO3de5RcZZnv8e9jAokQMZwQ5BIiwQGGJECECNFzIPEuFyeCN1COglwGlSO4xBmOeJARdRjHGZBBJ4MMKsuZxBkwCiPeFqjoiGBAbuEiOCC0MBCDBENAk67n/FHVbdN0Qqerk6633u9nrV7dtWu/e797p9K/3k89VRWZiSRJ6kzPG+sJSJKk9TOoJUnqYAa1JEkdzKCWJKmDGdSSJHUwg1qSpA5mUEsiIt4ZEd8dxnqLIuL/bY45SWoKX0ctdb6IuB94EdALPAlcBfyfzFw9lvOStOl5RS2V442ZOQnYD3gZ8NGBd0bE+DGZlaRNyqCWCpOZvwa+BcyOiIyI90fEPcA9ABFxeETcHBGPR8RPImKfvrERsUtEfC0iVkTEyoi4sLX82Ij4cevniIjzIuLRiFgVEbdGxOzWfV+KiE8M2N6JEXFvRDwWEVdExE4D7suIODki7omI30bE5yIiNstJkrqIQS0VJiJ2AQ4Fft5a9CbgQGBmROwHXAL8OTAF+CfgioiYEBHjgP8AfgXsCuwMLBliF68DDgb2ACYDbwdWDjGPVwF/DbwN2LG13cHbO5zm1f++rfVev/FHLNWtY4M6Ii5p/UV/+yhtb3pEfDci7oyIOyJi12GO2zYilrauKm7ou7IYYr1XRcRNEXF7RHy5rwy5ofERcWpr/eURcdqA5ftGxHURcVtEXBkR27R39BARp7SufDIitmt3exoTX4+Ix4EfAz8EPtVa/teZ+VhmPgWcCPxTZl6fmb2Z+WXg98A84ABgJ+DDmflkZj6dmT8eYj9rgRcAf0qzj+XOzHx4iPXeCVySmTdl5u+B/wu8fND/rXMz8/HMfAD4PjCnrTMgVahjgxr4EvCGUdzepcDfZuZeNH9hPTp4hVbDzmAfAW7OzH2AdwGfHWLc84AvA0dl5myaVxbv3tD4VmCf2JrLvsDhEbF7a8zFwBmZuTewFPjwSA54kP8EXtOam8r0psycnJkvzsz3tYIZ4MEB67wY+FCr7P14K9h3oRnQuwC/ysx1G9pJZl4DXAh8DngkIi5azx+LOzHg8dRqbFtJ80q9z38P+HkNMGk4Byrpjzo2qDPzWuCxgcsi4iUR8e2IuDEifhQRfzqcbUXETGB8Zn6vte3VmblmmFOZCVzdGncXsGtEvGjQOlOA32fmL1q3vwe8+TnG7wX8NDPXtH5x/hA4ojVmT+DawduKiHER8bcR8bPWFfqfD/MYyMyfZ+b9w11fRRn40o0HgU+2Ar3va6vMXNy6b/pwms4y84LM3B+YRbMEPtQfiw/R/MMAgIjYmub/hV+3cSySBunYoF6Pi2i+JGV/4HTg88MctwfweKuJ5uetsBs3zLG3AEcCRMQBNH8xTRu0zm+ALSJibuv2W2hevWxo/O3AwRExJSK2ovmcY9+Y24E/a/381gHLjwdWZebLaD7vd2JEzBjmcagOXwBOjogDW01hW0fEYRHxAuAG4GHg3NbyiRHxPwdvICJe1hq/Bc2Xgj1N82Vhg/0rcFxEzImICTRL8df7B6E0uop5OUdETAJeAfz7gMbRCa37jgQ+PsSwX2fm62ke50HAS4EHgK8CxwL/HBGfA/p+We0UETe3fv73zPwkcC7w2dby22g28DyjdJiZGRFHAee1fmF9d8A6Q47PzDsj4m9oXjGvphnofWPeA1wQEWcBVwB/aC1/HbBPRLyldfuFwO4R8UBr/FCOy8yfrec+dZnMXBYRJ9IsXe8OPEXzOe1rM7M3It4IXEDz/0HSDNv/HLSZbYDzgN1ohvR3gM8Msa+ro/nmJ5cD2wI/AY7aFMcl1ayj3/Ck1ZTyH5k5u/Uc2d2ZueMItjOPZlPLgtbt/w3My8z3D1rv/szcdQPbCeA+YJ/MfGID670OOCEz3zbc8RHxKaAnMz8/aPkewFcy84CIuBy4KDO/81zHvIG53Q/MzczfjHQbkqTNp5jSdyvY7ouIt0L/az33HebwnwHbRsTU1u1XAXcMZ2BETI6ILVs3T6B5ZfKskI6I7VvfJwB/CSx6rvEDxkynWR5fPGj582i+qcWi1vjvAO9tlSSJiD1azwtKkrpUxwZ1RCwGrgP2jIieiDie5stBjo+IW4DlwMLhbCsze2k+p311RNwGBM3n8oZjL2B5RNwFHAKcOmCOV8Uf3+DhwxFxJ3ArcGWrc3aD44HLI+IO4Erg/Zn529byoyPiF8BdNBt2vthafjHNPzBuiubL1v6JYT59EREfiIgems+P3xoRFw/z+CVJY6ijS9+SJNWuY6+oJUmSQS1JUkfryJdnbbfddrnrrruO9TQkSdosbrzxxt9k5tSh7uvIoN51111ZtmzZWE9DkqTNIiLW+/bOlr4lSepgBrUkSR3MoJYkqYMZ1JIkdTCDWpKkDmZQS5LUwQxqSZI6mEEtSVIHM6glSepgBrUkSR3MoJYkqYMZ1JIkdTCDWpKkDmZQS5LUwZ4zqCPikoh4NCJuH7Dsf0TE9yLintb3bdcz9g0RcXdE3BsRZ4zmxCVJqsFwrqi/BLxh0LIzgKszc3fg6tbtZ4iIccDngEOAmcDRETGzrdlKklSZ8c+1QmZeGxG7Dlq8EFjQ+vnLwA+Avxy0zgHAvZn5XwARsaQ17o6RT3cUNBrw+yfGdAqSpMJt8XwYP2Gz7Oo5g3o9XpSZDwNk5sMRsf0Q6+wMPDjgdg9w4Aj3N2J/deVy7njoj8H8wd9+gnlP/3hzT0OS1EW+Pe1U3nDCxzfLvkYa1MMRQyzL9a4ccRJwEsD06dM31ZyY2vsIPeOnc/VWh2yyfUiSutvTL5iz2fY10qB+JCJ2bF1N7wg8OsQ6PcAuA25PAx5a3wYz8yLgIoC5c+euN9A31sfeOOuZCxZNhG3+hHe/49OjtQtJkjaZkb486wrg3a2f3w18Y4h1fgbsHhEzImJL4KjWuLGVCc8bN9azkCRpWIbz8qzFwHXAnhHRExHHA+cCr42Ie4DXtm4TETtFxFUAmbkOOAX4DnAn8G+ZuXzTHMZGaPRCDFWVlySp8wyn6/vo9dz16iHWfQg4dMDtq4CrRjy7TSF7IbyiliSVob53JsuGpW9JUjHqC+pGL0R9hy1JKlN9iWXpW5JUkAqD2q5vSVI56gtqu74lSQWpL6gtfUuSClJhUNv1LUkqR31Bbde3JKkg9SVWNix9S5KKUWlQ13fYkqQy1ZdYjV6fo5YkFaO+oPaKWpJUkPoSK20mkySVo77EsvQtSSpIfUFt17ckqSB1BXUmkJa+JUnFqCuxGr3N75a+JUmFqCuos9H87hW1JKkQdSVWtq6oDWpJUiHqSixL35KkwtQV1P2lb4NaklSGyoLa0rckqSx1JVajdUVt6VuSVIi6gtqub0lSYepKLEvfkqTC1JVYdn1LkgpTV1Db9S1JKkxlQW3pW5JUlroSy9K3JKkwdQV1ZvO7pW9JUiEqC+q+0neM7TwkSRqmuoLa0rckqTB1BbVd35KkwlQW1HZ9S5LKUldipe/1LUkqS11B3fC9viVJZakrsfpL315RS5LKUFlQ95W+6zpsSVK56kqshs1kkqSy1JVYlr4lSYWpLKjt+pYklaWuoLb0LUkqTF2J5TuTSZIKU2dQ2/UtSSpEXYll6VuSVJi6Esuub0lSYSoLaru+JUllqSuoLX1LkgpTV2LZ9S1JKkydQW3pW5JUiLqCur/0HWM7D0mShqmuoLbrW5JUmMqC2tK3JKksdQW1Xd+SpMLUlViWviVJhaksqLP53dK3JKkQdQW1pW9JUmHqSqw0qCVJZakrsfrfmayuw5YklauuxOorffsctSSpEHUFte/1LUkqTGVB7XPUkqSy1JVYDd+ZTJJUlrqC2mYySVJh6kqs7AXCT8+SJBWjrqBu9Fr2liQVpa6gzoYd35KkolQW1L0+Py1JKkpdqdVoWPqWJBWlrqC29C1JKkxlQd1rx7ckqShtBXVEnBoRt0fE8og4bYj7F0TEqoi4ufV1Vjv7a5td35Kkwowf6cCImA2cCBwA/AH4dkR8MzPvGbTqjzLz8DbmOHosfUuSCtPOFfVewE8zc01mrgN+CBwxOtPaROz6liQVpp3Uuh04OCKmRMRWwKHALkOs9/KIuCUivhURs9rYX/vs+pYkFWbEpe/MvDMi/gb4HrAauAVYN2i1m4AXZ+bqiDgU+Dqw+1Dbi4iTgJMApk+fPtJpPcekLX1LksrSVh04M/85M/fLzIOBx4B7Bt3/RGaubv18FbBFRGy3nm1dlJlzM3Pu1KlT25nWBiZs17ckqSztdn1v3/o+HTgSWDzo/h0imskYEQe09reynX22xa5vSVJhRlz6brk8IqYAa4H3Z+ZvI+JkgMxcBLwFeG9ErAOeAo7KzGxznyNn6VuSVJi2gjozDxpi2aIBP18IXNjOPkaVXd+SpMLUlVqWviVJhakrqDMtfUuSilJZUNv1LUkqS11BbelbklSYuoI6GzaTSZKKUldqZa/PUUuSilJZUPte35KkstQV1A1L35KkstSVWr7hiSSpMHWllqVvSVJh6grqhlfUkqSy1JVadn1LkgpTWVBb+pYklaWuoLbrW5JUmLpSy65vSVJh6kotS9+SpMLUFdR2fUuSClNXatn1LUkqTGVBbelbklSWuoLarm9JUmHqSi1L35KkwlQW1A14Xl2HLEkqW12pZde3JKkwdaWWpW9JUmEqC2q7viVJZakrqO36liQVpq7UsvQtSSpMZUFt17ckqSx1pZZd35KkwtSVWtmw9C1JKkplQe0VtSSpLPWkVqYvz5IkFaeuoAZL35KkolQU1L3N75a+JUkFqSe1Gq2g9uVZkqSC1JNa2Wh+t/QtSSpIRUFt6VuSVJ56Uqu/9O0VtSSpHPUEtaVvSVKBKgzqeg5ZklS+elLLrm9JUoHqSS1L35KkAlUU1HZ9S5LKU09q2fUtSSpQPUFt6VuSVKAKg7qeQ5Ykla+e1LL0LUkqUD1B7RW1JKlA9aSWXd+SpALVk1qWviVJBaonqO36liQVqKKgtvQtSSpPPanVaF1RW/qWJBWknqDuL33H2M5DkqSNUFFQ95W+vaKWJJWjoqC29C1JKk89Qd2wmUySVJ56UsvStySpQBUFtaVvSVJ56gnqhu/1LUkqTz2p5RueSJIKVE9qWfqWJBWonqC261uSVKB6Usuub0lSgSoKakvfkqTy1BPUdn1LkgpUT2rZ9S1JKlA9qWXpW5JUoHqC2q5vSVKB6kktu74lSQWqKKgtfUuSytNWUEfEqRFxe0Qsj4jThrg/IuKCiLg3Im6NiP3a2V9bLH1Lkgo04tSKiNnAicABwL7A4RGx+6DVDgF2b32dBPzjSPfXtr4rakvfkqSCtHN5uRfw08xck5nrgB8CRwxaZyFwaTb9FJgcETu2sc+R6y99e0UtSSpHO6l1O3BwREyJiK2AQ4FdBq2zM/DggNs9rWWbn6VvSVKBxo90YGbeGRF/A3wPWA3cAqwbtFoMNXSo7UXESTTL40yfPn2k01o/u74lSQVq6/IyM/85M/fLzIOBx4B7Bq3SwzOvsqcBD61nWxdl5tzMnDt16tR2prWeydr1LUkqT7td39u3vk8HjgQWD1rlCuBdre7vecCqzHy4nX2OmKVvSVKBRlz6brk8IqYAa4H3Z+ZvI+JkgMxcBFxF87nre4E1wHFt7m/k7PqWJBWoraDOzIOGWLZowM8JvL+dfYya9NOzJEnlqSe1+krfvjxLklSQelIrG5a9JUnFqSioey17S5KKU09yNXp9aZYkqTj1BLWlb0lSgSoL6noOV5LUHepJrkavHd+SpOLUk1yWviVJBaooqO36liSVp57ksutbklSgeoLa0rckqUCVBXU9hytJ6g71JJdd35KkAtWTXJa+JUkFqiio7fqWJJWnnuSy61uSVKB6gtrStySpQJUFdT2HK0nqDvUkl13fkqQC1ZNclr4lSQWqKKjt+pYklaee5LLrW5JUoHqC2tK3JKlAlQV1PYcrSeoO9SRXNix9S5KKU09QN3ohYqxnIUnSRqknqLPX56glScWpKKgtfUuSylNPUDd8HbUkqTz1JJelb0lSgSoK6rT0LUkqTj1Bbde3JKlA9QS1pW9JUoEqCmq7viVJ5aknqO36liQVqJ7ksvQtSSpQRUFt17ckqTz1BLVd35KkAtUT1Ja+JUkFqiio7fqWJJWnnqC261uSVKB6ksvStySpQBUFtV3fkqTy1BPUlr4lSQWqJ7nSoJYklaee5LLrW5JUoHqC2tK3JKlA9SSXXd+SpALVEdSZze9eUUuSClNHcjV6m999jlqSVJg6gjobze9eUUuSClNHcmXritqgliQVpo7ksvQtSSpUHUHdX/o2qCVJZakkqC19S5LKVEdyNVpX1Ja+JUmFqSOo7fqWJBWqjuSy9C1JKlQdyWXXtySpUHUEtV3fkqRCVRLUlr4lSWWqI7ksfUuSClVHUPd/epZBLUkqSyVB3Vf6jrGdhyRJG6mOoLb0LUkqVB1Bbde3JKlQlQS1Xd+SpDLVkVyWviVJhaojqO36liQVqpKgtvQtSSpTHcnVX/qu43AlSd2jreSKiA9GxPKIuD0iFkfExEH3L4iIVRFxc+vrrPamO0J2fUuSCjV+pAMjYmfgA8DMzHwqIv4NOAr40qBVf5SZh498iqPA0rckqVDtJtd44PkRMR7YCnio/SltAnZ9S5IKNeKgzsxfA58BHgAeBlZl5neHWPXlEXFLRHwrImaNdH9t6S99e0UtSSrLiJMrIrYFFgIzgJ2ArSPimEGr3QS8ODP3Bf4B+PoGtndSRCyLiGUrVqwY6bSG5nPUkqRCtXOJ+RrgvsxckZlrga8Brxi4QmY+kZmrWz9fBWwREdsNtbHMvCgz52bm3KlTp7YxraE23gpqu74lSYVpJ7keAOZFxFYREcCrgTsHrhARO7TuIyIOaO1vZRv7HJmGzWSSpDKNuOs7M6+PiMtolrfXAT8HLoqIk1v3LwLeArw3ItYBTwFHZfa9Tdhm1N/1belbklSWEQc1QGZ+DPjYoMWLBtx/IXBhO/sYFf2lb4NaklSWOmrBlr4lSYWqI7ns+pYkFaquoLb0LUkqTB1B3V/6jrGdhyRJG6mOoLbrW5JUqEqC2tK3JKlMdQS1Xd+SpELVkVyWviVJhaokqFtvhmbpW5JUmDqC2tK3JKlQdSRXGtSSpDLVkVx2fUuSClVHUFv6liQVqo7ksutbklSoSoLa0rckqUx1BHWj79Oz6jhcSVL3qCO57PqWJBWqjuTKRjOk/fQsSVJh6gjqRq9X05KkItWRXtlrx7ckqUiVBHXDK2pJUpHqSK9Gw5dmSZKKVEdQZ8PStySpSJUEda8d35KkItUR1I1eS9+SpCLVEdSWviVJhaokqH0dtSSpTHWkl13fkqRC1RHUlr4lSYWqJKjt+pYklamOoLbrW5JUqDqC2tK3JKlQlQS1Xd+SpDLVkV6WviVJhaojqDMtfUuSilRJUNv1LUkqUx1BbelbklSoOoLarm9JUqEqCWq7viVJZaojvSx9S5IKVUdQ2/UtSSpUJUFt17ckqUx1BLWlb0lSoeoI6mzYTCZJKlId6ZW9PkctSSpSJUHdsPQtSSpSHUHdsPQtSSpTHenlG55IkgpVR3pZ+pYkFaqOoG54RS1JKlMd6WXXtySpUJUEtaVvSVKZ6ghqu74lSYWqI70sfUuSClVJUDfgeXUcqiSpu9SRXnZ9S5IKVUd6WfqWJBWqkqC261uSVKY6gtqub0lSoepIL0vfkqRCVRLUdn1LkspUR3rZ9S1JKlQd6WXpW5JUqEqC2q5vSVKZuj+oM5tBbelbklSg7k+vbDS/W/qWJBWonqC261uSVKDuT69Gb/O7pW9JUoG6P72yL6gtfUuSylNBUPc9R939hypJ6j7dn159pW9fniVJKlBbQR0RH4yI5RFxe0QsjoiJg+6PiLggIu6NiFsjYr/2pjsCdn1Lkgo24qCOiJ2BDwBzM3M2MA44atBqhwC7t75OAv5xpPsbMUvfkqSCtZte44HnR8R4YCvgoUH3LwQuzaafApMjYsc297lx+kvfBrUkqTwjTq/M/DXwGeAB4GFgVWZ+d9BqOwMPDrjd01q2+Vj6liQVrJ3S97Y0r5hnADsBW0fEMYNXG2Jormd7J0XEsohYtmLFipFOa4i9+TpqSVK52kmv1wD3ZeaKzFwLfA14xaB1eoBdBtyexrPL4wBk5kWZOTcz506dOrWNaQ1i17ckqWDtBPUDwLyI2CoiAng1cOegda4A3tXq/p5Hszz+cBv73HiWviVJBRs/0oGZeX1EXAbcBKwDfg5cFBEnt+5fBFwFHArcC6wBjmt7xhs9Ubu+JUnlGnFQA2Tmx4CPDVq8aMD9Cby/nX20zdK3JKlg3X+Z6RW1JKlg3Z9edn1LkgrW/ell6VuSVLDuD2q7viVJBasgqC19S5LK1f3p1WhdUVv6liQVqPuD2q5vSVLBuj+9LH1LkgrW/ell17ckqWDdH9R2fUuSClZBUFv6liSVq/vTy65vSVLBuj+oLX1LkgpWQVD3lb5jbOchSdIIdH9Q2/UtSSpY9we1b3giSSpY96dXf+nbK2pJUnkqCGq7viVJ5er+oG5Y+pYklav708s3PJEkFaz708vStySpYN0f1A2vqCVJ5er+9LLrW5JUsAqC2tK3JKlc3R/Ulr4lSQXr/vTyQzkkSQWrJ6if1/2HKknqPt2fXpa+JUkF6/70sutbklSwCoLarm9JUrm6P6gtfUuSCtb96WXXtySpYPUEtaVvSVKBuj+o+0vfMbbzkCRpBLo/qLPXsrckqVgVBHXDsrckqVjdH9SNXju+JUnF6v4Ey4alb0lSsSoJ6u4/TElSd+r+BGv0+oEckqRidX+CWfqWJBWsgqC2mUySVK7uT7BGry/PkiQVq/uD2tK3JKlglQR19x+mJKk7dX+C2fUtSSpY9yeYpW9JUsEqCGq7viVJ5er+BLPrW5JUsO4PakvfkqSCVRLU3X+YkqTu1P0JZte3JKlg48d6ApucpW9JFVu7di09PT08/fTTYz0VARMnTmTatGlsscUWwx5TQVDb9S2pXj09PbzgBS9g1113JSLGejpVy0xWrlxJT08PM2bMGPa47k8wu74lVezpp59mypQphnQHiAimTJmy0dWN7g9qS9+SKmdId46R/FtUEtTdf5iS1Ml6enpYuHAhu+++Oy95yUs49dRT+cMf/jDW0ypC9yeYpW9JGlOZyZFHHsmb3vQm7rnnHn7xi1+wevVqzjzzzGFvo7e3dxPOsLN1f1B7RS1JY+qaa65h4sSJHHfccQCMGzeO8847j0suuYTPf/7znHLKKf3rHn744fzgBz8AYNKkSZx11lkceOCBXHfddZxxxhnMnDmTffbZh9NPP30sDmVM2PUtSZX4qyuXc8dDT4zqNmfutA0fe+OsDa6zfPly9t9//2cs22abbZg+fTrr1q1b77gnn3yS2bNn8/GPf5zHHnuM448/nrvuuouI4PHHHx+N6Reh+xPM0rckjanMHLKJan3L+4wbN443v/nNQDPYJ06cyAknnMDXvvY1ttpqq002305TwRW1Xd+SBDznle+mMmvWLC6//PJnLHviiSd48MEHeeELX0ij0ehfPvClSxMnTmTcuObv7/Hjx3PDDTdw9dVXs2TJEi688EKuueaazXMAY6z7r6gtfUvSmHr1q1/NmjVruPTSS4FmY9iHPvQhjj32WHbbbTduvvlmGo0GDz74IDfccMOQ21i9ejWrVq3i0EMP5fzzz+fmm2/ejEcwtrr/irrRsPQtSWMoIli6dCnve9/7OOecc2g0Ghx66KF86lOfYsstt2TGjBnsvffezJ49m/3222/Ibfzud79j4cKFPP3002Qm55133mY+irHT/UGdDfDF/pI0pnbZZReuvPLKIe/7l3/5lyGXr169uv/nHXfccb1X292u+2vC2etz1JKkYlUQ1Ja+JUnl6v6gbthMJkkqV/cnmKVvSVLBKgjqtPQtSSpW9wf1DnvDtsP/gG5JkjrJiIM6IvaMiJsHfD0REacNWmdBRKwasM5Zbc94Yx29GOZ/eLPvVpIEK1euZM6cOcyZM4cddtiBnXfemTlz5jB58mRmzpw56vs7++yz+cxnPrNRYyZNmjTk8mOPPZbLLrsMgBNOOIE77rij7fmNxIhfR52ZdwNzACJiHPBrYOkQq/4oMw8f6X4kSeWaMmVK/7uInX322UyaNInTTz+d+++/n8MPf+5oWLduHePHj/1bflx88cVjtu/RKn2/GvhlZv5qlLYnSepyvb29nHjiicyaNYvXve51PPXUUwAsWLCAj3zkI8yfP5/Pfvaz3HjjjcyfP5/999+f17/+9Tz88MMAXHDBBf0fe3nUUUf1b/eOO+5gwYIF7LbbblxwwQX9y//+7/+e2bNnM3v2bM4///xnzSczOeWUU5g5cyaHHXYYjz76aP99CxYsYNmyZUDzCvzMM89k3333Zd68eTzyyCMA/PKXv2TevHm87GUv46yzzlrvlfrGGq0/U44CFq/nvpdHxC3AQ8Dpmbl8lPYpSdoY3zoD/vu20d3mDnvDIeeOaOg999zD4sWL+cIXvsDb3vY2Lr/8co455hgAHn/8cX74wx+ydu1a5s+fzze+8Q2mTp3KV7/6Vc4880wuueQSzj33XO677z4mTJjwjI+9vOuuu/j+97/P7373O/bcc0/e+973cuutt/LFL36R66+/nszkwAMPZP78+bz0pS/tH7d06VLuvvtubrvtNh555BFmzpzJe97znmfN+8knn2TevHl88pOf5C/+4i/4whe+wEc/+lFOPfVUTj31VI4++mgWLVo0onMylLavqCNiS+DPgH8f4u6bgBdn5r7APwBf38B2ToqIZRGxbMWKFe1OS5LU4WbMmMGcOXMA2H///bn//vv773v7298OwN13383tt9/Oa1/7WubMmcMnPvEJenp6ANhnn3145zvfyVe+8pVnlMcPO+wwJkyYwHbbbcf222/PI488wo9//GOOOOIItt56ayZNmsSRRx7Jj370o2fM59prr+Xoo49m3Lhx7LTTTrzqVa8act5bbrllf9l+4Lyvu+463vrWtwLwjne8o+3z02c0rqgPAW7KzEcG35GZTwz4+aqI+HxEbJeZvxli3YuAiwDmzp2bozAvSdJAI7zy3VQmTJjQ//O4ceP6S98AW2+9NdAsR8+aNYvrrrvuWeO/+c1vcu2113LFFVdwzjnnsHz58iG3u27dOjKHFysb+nzsPltssUX/en3b35RG4znqo1lP2TsidojW0UTEAa39rRyFfUqSKrDnnnuyYsWK/qBeu3Yty5cv7/9YzFe+8pV8+tOf5vHHH3/Gh3gMdvDBB/P1r3+dNWvW8OSTT7J06VIOOuigZ62zZMkSent7efjhh/n+97+/UXOdN29e/+duL1myZCOPdP3auqKOiK2A1wJ/PmDZyQCZuQh4C/DeiFgHPAUclcP9s0aSVL0tt9ySyy67jA984AOsWrWKdevWcdppp7HHHntwzDHHsGrVKjKTD37wg0yePHm929lvv/049thjOeCAA4Dmy60GPj8NcMQRR3DNNdew9957s8ceezB//vyNmuv555/PMcccw9/93d9x2GGH8cIXvnCjj3co0Ym5OXfu3OzrrpMkjdydd97JXnvtNdbTqMKaNWt4/vOfT0SwZMkSFi9ezDe+8Y1nrTfUv0lE3JiZc4fa7ti/OE2SpC5w4403csopp5CZTJ48mUsuuWRUtmtQS5I0Cg466CBuueWWUd9u97/XtyRJBTOoJanLdWIvUq1G8m9hUEtSF5s4cSIrV640rDtAZrJy5UomTpy4UeN8jlqSuti0adPo6enBd3zsDBMnTmTatGkbNcaglqQutsUWWzBjxoyxnobaYOlbkqQOZlBLktTBDGpJkjpYR76FaESsAH41ipvcDnjWJ3ZVxnPQ5HnwHPTxPHgO+nTCeXhxZk4d6o6ODOrRFhHL1vceqrXwHDR5HjwHfTwPnoM+nX4eLH1LktTBDGpJkjpYLUF90VhPoAN4Dpo8D56DPp4Hz0Gfjj4PVTxHLUlSqWq5opYkqUhFB3VEvCEi7o6IeyPijCHuj4i4oHX/rRGx33DHlqTN83B/RNwWETdHxLLNO/PRM4xz8KcRcV1E/D4iTt+YsSVp8zzU8lh4Z+v/wa0R8ZOI2He4Y0vS5nmo5bGwsHX8N0fEsoj4X8Mdu1llZpFfwDjgl8BuwJbALcDMQescCnwLCGAecP1wx5by1c55aN13P7DdWB/HZjgH2wMvAz4JnL4xY0v5auc8VPZYeAWwbevnQyr+vTDkeajssTCJPz4FvA9wVyc+Fkq+oj4AuDcz/ysz/wAsARYOWmchcGk2/RSYHBE7DnNsKdo5D93iOc9BZj6amT8D1m7s2IK0cx66xXDOwU8y87etmz8Fpg13bEHaOQ/dYjjnYHW2khnYGsjhjt2cSg7qnYEHB9zuaS0bzjrDGVuKds4DNB+Y342IGyPipE02y02rnX/P2h4LG1LjY+F4mtWmkYztZO2cB6josRARR0TEXcA3gfdszNjNpeSPuYwhlg1uYV/fOsMZW4p2zgPA/8zMhyJie+B7EXFXZl47qjPc9Nr596ztsbAhVT0WIuKVNAOq73nJKh8LQ5wHqOixkJlLgaURcTBwDvCa4Y7dXEq+ou4Bdhlwexrw0DDXGc7YUrRzHsjMvu+PAktplnxK086/Z22PhfWq6bEQEfsAFwMLM3PlxowtRDvnoarHQp/WHyIviYjtNnbsJjfWT/iP9ItmNeC/gBn88cn+WYPWOYxnNlHdMNyxpXy1eR62Bl4w4OefAG8Y62PaFOdgwLpn88xmsqoeCxs4D9U8FoDpwL3AK0Z6/jr9q83zUNNj4U/4YzPZfsCvW78nO+qxUGzpOzPXRcQpwHdoduhdkpnLI+Lk1v2LgKtodjzfC6wBjtvQ2DE4jLa1cx6AF9Es+UDzgfmvmfntzXwIbRvOOYiIHYBlwDZAIyJOo9nF+URNj4X1nQeanx5UxWMBOAuYAny+dbzrMnNuhb8XhjwPVPR7AXgz8K6IWAs8Bbw9m6ndUY8F35lMkqQOVvJz1JIkdT2DWpKkDmZQS5LUwQxqSZI6mEEtSVIHM6glSepgBrUkSR3MoJYkqYP9f2ZYkzd8jg94AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(ths, precsMM, label='Ours')\n", "plt.plot(ths, precsTh, label='Thresholding')\n", "plt.legend()\n", "plt.title('Precision')" ] }, { "cell_type": "code", "execution_count": 24, "id": "e848b43e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Recall')" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeMAAAHiCAYAAADbK6SdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABQwklEQVR4nO3dd3hUZeL28e+TSS8kQEIvSei9hV4t2ECxoaCoKIjY62/V1d11X3VXt1hYCwsKiCJgAwvYVrrU0HtvofcWQtp5/zihiJSElGfK/bmuuSaZOTO5cxi9c9rzGMdxEBEREXuCbAcQEREJdCpjERERy1TGIiIilqmMRURELFMZi4iIWKYyFhERsUxlLCIXZIyZYozpn/d1X2PMDNuZRPyNyljExxhjNhljjhtjjhpjdhpjRhhjom3nEpFLpzIW8U3XO44TDTQFmgHP240jIoWhMhbxYY7j7AR+xC1ljDFtjDEzjTEHjTGLjTFdTi5rjCljjBlujNlujDlgjBmf93hpY8x3xpg9eY9/Z4ypUvK/jUjgUhmL+LC80rwWWGeMqQxMAF4BygDPAF8aYxLyFv8YiAQaAOWAN/MeDwKGA9WBasBx4J2S+h1EBIJtBxCRSzLeGOMA0cAk4C/AA8BEx3Em5i3zszEmFbjOGPMTbmmXdRznQN7zUwEcx9kHfHnyjY0xrwKTS+bXEBHQlrGIr7rRcZwYoAtQF4jH3bLtmbeL+qAx5iDQAagIVAX2n1HEpxhjIo0x/zXGbDbGHAamAXHGGE8J/S4iAU9lLOLDHMeZCowA/gVsBT52HCfujFuU4ziv5T1XxhgTd463eRqoA7R2HKcU0CnvcVPsv4CIACpjEX/wFtAVmAFcb4y52hjjMcaEG2O6GGOqOI6zA/geeC/vhK0QY8zJ0o3BPU580BhTBneXt4iUIJWxiI9zHGcPMBJ4AugB/BHYg7s1/H+c/u/8LiALWAXszlse3DKPAPYCs4EfSiS4iJxiHMexnUFERCSgactYRETEMpWxiIiIZSpjERERy1TGIiIilqmMRURELLM2HGZ8fLyTmJho68eLiIiUuPnz5+91HCfh7MetlXFiYiKpqam2fryIiEiJM8ZsPtfj2k0tIiJimcpYRETEMpWxiIiIZZrPWETED2RlZZGWlkZGRobtKAKEh4dTpUoVQkJC8rW8ylhExA+kpaURExNDYmIixmj2S5scx2Hfvn2kpaWRlJSUr9doN7WIiB/IyMigbNmyKmIvYIyhbNmyBdpLoTIWEfETKmLvUdB/C5WxiIgUibS0NHr06EGtWrWoUaMGjz/+OJmZmbZj+QSVsYiIFJrjONx8883ceOONrF27ljVr1nD06FFeeOGFfL9HTk5OMSb0bipjEREptEmTJhEeHs69994LgMfj4c0332TYsGG89957PPLII6eW7d69O1OmTAEgOjqaP//5z7Ru3ZpZs2bx3HPPUb9+fRo3bswzzzxj41exQmdTi4j4mb9+u5wV2w8X6XvWr1SKv1zf4LzPL1++nBYtWvzmsVKlSlGtWjWys7PP+7pjx47RsGFD/t//+3/s37+ffv36sWrVKowxHDx4sKjiez1tGYuISKE5jnPOk5bO9/hJHo+HW265BXDLOzw8nP79+/PVV18RGRlZbHm9jbaMRUT8zIW2YItLgwYN+PLLL3/z2OHDh9m6dSuxsbHk5uaeevzMS37Cw8PxeDwABAcHM3fuXH755RfGjBnDO++8w6RJk0rmF7BMW8YiIlJoV1xxBenp6YwcORJwT8Z6+umn6du3L8nJySxatIjc3Fy2bt3K3Llzz/keR48e5dChQ1x33XW89dZbLFq0qAR/A7suumVsjBkGdAd2O47T8BzPG+Bt4DogHejrOM6Cog4qIiLeyxjDuHHjeOihh3j55ZfJzc3luuuu429/+xuhoaEkJSXRqFEjGjZsSPPmzc/5HkeOHKFHjx5kZGTgOA5vvvlmCf8W9uRnN/UI4B1g5HmevxaolXdrDbyfdy8iIgGkatWqfPvtt+d8btSoUed8/OjRo6e+rlix4nm3mv3dRXdTO44zDdh/gUV6ACMd12wgzhhTsagC5kdmdi6H0rPIzsm9+MIiIiJepihO4KoMbD3j+7S8x3YUwXvnS+rm/dwxdA4A4SFBRIcFExUWTGRoMFGhHiJCPUSFBhMZ5iE6LPjU89FhwUSGuo9FhgUTEx5MbETIqVuIR4fURUSk+BVFGZ/rnHXnnAsaMwAYAFCtWrUi+NGu6mWj+FP3+hzNyOZYZjZHMrI5diKb9Mxs0jNzOJyRzc5DGaRn5nD0hPtcdu45I/5GXGQI1cpEUrVMJNXKRFK9TCTVykaSWDaKCqXCCQrSOLAiIlJ4RVHGaUDVM76vAmw/14KO4wwBhgCkpKRcvA3zqXJcBP065G+aqrwcnMjOzSvsHI5lugV9OCObw8ezOHQ8i0PpWew8nMGW/eks33aIH5ft/E2BhwYHUbV0BFVKR1K5dARVSkdQrUwktcvHkBQfpa1qERHJt6Io42+AR4wxY3BP3DrkOE6J7aK+FMYYwkM8hId4KJvP12Tn5LLjkFvOm/YdY8u+dDbvS2fbweMs3XaI/cdOD4Ye4jEkx0dTt2IM7WvE07F2PBVjI4rnlxEREZ+Xn0ubRgNdgHhjTBrwFyAEwHGcwcBE3Mua1uFe2nRvcYW1KdgTRNW8Xdbta8b/7vljJ7LZtO8Ya3cdZfWuI6zZeYSZ6/fx9SJ3J0GtctF0rJVAq6QypCSWJj46rKR/BRER8VIXLWPHcXpf5HkHeLjIEvmoqLBgGlSKpUGl2FOPOY7D6l1HmL5mL9PW7uGTOZsZ9utGABLLRpKSWIbujSvSsVYCHh1/FhEftm/fPq644goAdu7cicfjISEhgU2bNlGpUiVWrFhRpD/vpZdeIjo6ukCTSURHR//mUqqT+vbtS/fu3bn11lvp378/Tz31FPXr1y/KuBel4TCLkTGGuhVKUbdCKe7vlMyJ7ByWbTtM6qb9pG4+wM8rdvHF/DQqx0XQM6UKPVOqUjlOu7NFxPeULVv21IhZZxblpk2b6N69+0Vfn52dTXCw/Ur64IMPrPxcnWVUgsKCPbSoXpoHOtdg6N0pzH3hCt69oznJCVG89b+1dHh9ErcNnsUH0zewdX+67bgiIkUiJyeH+++/nwYNGnDVVVdx/PhxALp06cIf//hHOnfuzNtvv838+fPp3LkzLVq04Oqrr2bHDvf0o0GDBp2aVrFXr16n3nfFihV06dKF5ORkBg0adOrxN954g4YNG9KwYUPeeuut3+VxHIdHHnmE+vXr061bN3bv3n3quS5dupCamgq4W9IvvPACTZo0oU2bNuzatQuA9evX06ZNG1q2bMmf//xnoqOjC72O7P8ZEsDCgj10a1yRbo0rsnV/Ol8uSOOHZTt5ZcJKXpmwkvoVS3Fnm2rcllJVZ2eLSP59/xzsXFq071mhEVz72iW9dO3atYwePZqhQ4dy22238eWXX9KnTx8ADh48yNSpU8nKyqJz5858/fXXJCQkMHbsWF544QWGDRvGa6+9xsaNGwkLC/vNtIqrVq1i8uTJHDlyhDp16vDggw+yZMkShg8fzpw5c3Ach9atW9O5c2eaNWt26nXjxo1j9erVLF26lF27dlG/fn3uu+++3+U+duwYbdq04dVXX+UPf/gDQ4cO5cUXX+Txxx/n8ccfp3fv3gwePPiS1snZ9H94L1G1TCRPXFmbH57oxNT/68IL19Uj2GN4Ydwyrvj3VMYv3EZuPq6NFhHxNklJSTRt2hSAFi1asGnTplPP3X777QCsXr2aZcuW0bVrV5o2bcorr7xCWloaAI0bN+bOO+/kk08++c2u7G7duhEWFkZ8fDzlypVj165dzJgxg5tuuomoqCiio6O5+eabmT59+m/yTJs2jd69e+PxeKhUqRKXX375OXOHhoae2sV+Zu5Zs2bRs2dPAO64445Crx/QlrFXql42ivs7JdO/YxKTV+/mnz+u4Ymxixg8dT3PXVuXLnXK2Y4oIt7sErdgi0tY2OmrRzwez6nd1ABRUVGAu+u4QYMGzJo163evnzBhAtOmTeObb77h5ZdfZvny5ed83+zsbNxzii/uQnMsnxQSEnJquZPvX1y0ZezFjDFcXrc8Ex7twKDezcjIyqHv8HncPzJVx5RFxK/UqVOHPXv2nCrjrKwsli9ffmraxcsuu4x//OMfHDx48JxnRJ/UqVMnxo8fT3p6OseOHWPcuHF07Njxd8uMGTOGnJwcduzYweTJkwuUtU2bNqfmbh4zZkwBf9Nz05axDwgKMtzQpBJXNyjPhzM28p9f1nHlG1N5qEtNHuicTHiIx3ZEEZFCCQ0N5YsvvuCxxx7j0KFDZGdn88QTT1C7dm369OnDoUOHcByHJ598kri4uPO+T/Pmzenbty+tWrUCoH///r85Xgxw0003MWnSJBo1akTt2rXp3LlzgbK+9dZb9OnTh3//+99069aN2NjYi7/oIkx+N+mLWkpKinPyjDUpmO0Hj/PqxJVMWLKDSrHhPHx5TXq2qEposHZ0iASqlStXUq9ePdsxAkJ6ejoREREYYxgzZgyjR4/m66+//t1y5/o3McbMdxwn5exltWXsgyrFRfDuHc25s/Ve/vXjal4Yt4z3Jq/nkctrcmuLKjrzWkSkGM2fP59HHnkEx3GIi4tj2LBhhX5PbRn7OMdxmLZ2L2/+vIZFWw+SFB/F329uRJvk/I66LSL+QFvG3qcgW8bahPJxxhg6105g3EPtGNY3hZxch15DZvP8V0s5dDzLdjwREckH/ynjzMA+u/jkmdc/PtGJBzolM3beFrq+MZUJS3bo+mSRAGFrT6f8XkH/LfyjjDdMgTfqwu6VtpNYFxHq4fnr6vH1wx2Ijw7j4U8XcN2g6Xy3ZDs5KmURvxUeHs6+fftUyF7AcRz27dtHeHh4vl/jH8eM0/fDW42h5hVw20dF855+IDsnl2+XbOedSetYv+cYNRKieOTymvRoUpkgzRIl4leysrJIS0sjIyPDdhTB/eOoSpUqhISE/Obx8x0z9o8yBpj0Ckz7Jwz8FSo0LLr39QM5uQ4/LNvJfyatZdXOIzSqHMufutenVVIZ29FERAKK/5/A1fZhCCsFU71rGDhv4AkydGtckYmPdeTtXk3Ze/QEt/13Fg+PWqCRvEREvID/lHFEaWjzEKz8FnYssZ3GKwUFGXo0rcykp7vw5JW1mbRqN1e8MZU3flrN8cwc2/FERAKW/5QxQJsHITwWpmjr+EIiQj08fmUtJj3TmWsbVmDQJHd4ze+X7tDJHyIiFvhXGUfEQdtHYPUE2L7QdhqvVzE2grd7NWPsgDbEhAfz4KgF3PXhXHYd1gkgIiIlyb/KGKD1QAiP09ZxAbROLst3j3bgrzc0YMGWA9z07q+s2nnYdiwRkYDhf2UcXgraPQprftDWcQEEe4K4p10inz3QlhzH4db3ZzFtzR7bsUREAoL/lTFAqwEQHAELRtpO4nMaVo5l/MPtqVI6gntHzGP03C22I4mI+D3/LOPwUlDvelj2FWSfsJ3G51SMjeDzgW3pUDOe579ayqsTVmj0LhGRYuSfZQzQpBdkHIQ1P9pO4pNiwkP48J4U7m5bnaHTN9L/o3kcztDEEyIixcF/yzi5C0RXgMVjbCfxWcGeIP5fj4a8cmNDpq/dy83vzWTT3mO2Y4mI+B3/LeMgDzTuCWt/hGP7bKfxaX3aVGdkv1bsPXqCHu/+ypTVu21HEhHxK/5bxgCNe0FuNiz/ynYSn9euRjxfP9yeirHh9B0+j1cnrCAzO9d2LBERv+DfZVyhIZRvBItH207iF6qXjWL8w+25q417HPmW97XbWkSkKPh3GQM0uR22zYe9a20n8QvhIR5evrEhg/u0YMv+dLoNms63i7fbjiUi4tP8v4wb9QQTpBO5itg1DSvw/eMdqVexFI+OXsjfJ64kO0e7rUVELoX/l3FMBUi+DJaMhVyVRVGqFBfBp/e34a421fnvtA30HT6PA8cybccSEfE5/l/GAE16w6GtsPlX20n8TmhwEC/f2JB/3NKYuRv3c8O7M1ixXeNai4gURGCUcd1u7vCYK762ncRv3dayKp8NbEtWtsMt78/kuyU6jiwikl+BUcahkVDjclj9PWi+3mLTtGoc3zzanvqVSvHIpwv5xw+rNIymiEg+BEYZA9S5Bg6nwa5ltpP4tXIx4Xx6f2t6t6rKe1PW0/+jeRw6rmE0RUQuJHDKuPY1gHG3jqVYhQV7+PvNjU8No9lt0HRmrdcoaCIi5xM4ZRxdDqqkwOqJtpMEjD5tqjP2gbYEBxl6D53NS98s53hmju1YIiJeJ3DKGKDOtbB9IRzeYTtJwGhRvTQTH+9I33aJjJi5iWvfnsaCLQdsxxIR8SoBVsbXufdrfrCbI8BEhgbz0g0NGH1/G7JzHe4cOoeFKmQRkVMCq4wT6kJcdR03tqRtjbKMe6g9CTFh3DdiHuv3HLUdSUTEKwRWGRvjbh1vmAKZmuDAhoSYMEbe14ogY7j7w7nsOpxhO5KIiHWBVcbgHjfOOQHrJ9tOErAS46MYfm9LDqRncs+wuRzO0KVPIhLYAq+Mq7eDsFhYo13VNjWuEsfgPi1Yt/so/UekckSFLCIBLPDK2BMCta6E1T9Ari6zsalT7QTeuL0p87cc4I6hc9h79ITtSCIiVgReGYN73Dh9rzvPsVh1Q5NKDL27BWt3H+G2wbPYuj/ddiQRkRIXmGVc80oICtZZ1V7i8rrl+aRfa/YePcGtg2eyeucR25FEREpUYJZxRBxUbgEbp9lOInlSEsvw2cC2OA7cPmQW63brsicRCRyBWcYASZ1g+wLIOGQ7ieSpW6EUnw90h8+8d8Rc9hzRMWQRCQwBXMadwcmFzbNsJ5EzVC8bxYf3tGTvkUz6fzSP9Mxs25FERIpd4JZxlZYQHK5d1V6oSdU4BvVuxtJth3hs9ELNiSwifi9wyzgkHKq2ho1TbSeRc+havzwv3dCA/63czUvfLMdxVMgi4r8Ct4zBPW68axkc22s7iZzD3W0TGdApmY9nb+bl71aqkEXEbwV4GXd27zdNt5tDzuv5a+tyb/tEhv26kee/Wqpd1iLil4JtB7CqUjMIjXGPGze4yXYaOQdjDH/uXp/osGD+M2kd6Zk5/Pu2JoR4AvvvSBHxL4Fdxp5gd6xqncTl1YwxPH1VHSJDg3n9h1Ucz8rhnTuaERbssR1NRKRIaPMiqRPsWweHttlOIhfxYJca/PWGBvy8Yhf9P0rleKbGFhcR/6AyTurk3uu4sU+4p10i/7ilMTPW7aXv8LkcPaHrkEXE96mMyzeEiDKwQZc4+YrbWlblrdubkrr5AHd9OIdDxzX9ooj4NpVxUBAkdXSPG+vSGZ/Ro2ll3r2jOcu2HeKOobPZp+kXRcSHqYzB3VV9OA32b7CdRArgmoYVGHJ3Cut2H+WW92eyae8x25FERC6JyhhOX2+ss6p9zmV1yvHp/W04dDyLm9+fycItB2xHEhEpMJUxQNmaEFNRQ2P6qBbVS/Plg+2ICvPQe+hs/rdil+1IIiIFojIGMAaSu7hbxrm5ttPIJUhOiOarB9tTu3wMAz5O5ZvF221HEhHJN5XxScldIH2fO1a1+KSEmDDGDGhDSvUyPPP5YuZv3m87kohIvqiMTzp53HjDFKsxpHAiQ4MZfFcLKsaGM2DkfLbuT7cdSUTkolTGJ5WqCPF1VMZ+oExUKB/e05KsnFz6fTSPwxm6DllEvJvK+EzJXWDzTMjWNau+rma5aN7v04INe47x6KcLyc7RuQAi4r1UxmdK7gLZx2HrXNtJpAi0rxnPyzc2ZOqaPbw4fpnmQxYRrxXYszadLbE9GI+7qzqpo+00UgR6t6rGtgPHeWfyOqLCgnmxWz2MMbZjiYj8hraMzxQeC5Vb6Lixn3n6qtr0bZfIhzM28ub/1tqOIyLyOyrjsyV3ge0LIOOQ7SRSRIwx/Ll7fXq2qMKgX9YyZNp625FERH4jX2VsjLnGGLPaGLPOGPPcOZ6PNcZ8a4xZbIxZboy5t+ijlpDkLuDkwqYZtpNIEQoKMrx2S2O6Na7I3yauYszcLbYjiYicctEyNsZ4gHeBa4H6QG9jTP2zFnsYWOE4ThOgC/BvY0xoEWctGVVaQkikdlX7IU+Q4c3bmtK5dgIvjl/G3I0aFEREvEN+toxbAescx9ngOE4mMAbocdYyDhBj3DNjooH9gG/O+h4cCtXbq4z9VGhwEP+5oxnVykby4CfzSTugQUFExL78lHFlYOsZ36flPXamd4B6wHZgKfC44zi+e2FnchfYuwYObbOdRIpBqfAQht6dQmZ2LgNGzud4Zo7tSCIS4PJTxue6DuTsCzavBhYBlYCmwDvGmFK/eyNjBhhjUo0xqXv27Clg1BKU3MW91yxOfqtGQjSDejdj5c7D/N8Xi3UNsohYlZ8yTgOqnvF9Fdwt4DPdC3zluNYBG4G6Z7+R4zhDHMdJcRwnJSEh4VIzF79y9SEqQbuq/dxldcvx7DV1+W7JDt6bojOsRcSe/JTxPKCWMSYp76SsXsA3Zy2zBbgCwBhTHqgDbCjKoCUqKAgSO7hnVGuLya890CmZG5tW4p8/rmbi0h2244hIgLpoGTuOkw08AvwIrAQ+cxxnuTFmoDFmYN5iLwPtjDFLgV+AZx3H2VtcoUtE9fZweBsc3Gw7iRQjY9xLnlpUL82TYxexaOtB25FEJADl6zpjx3EmOo5T23GcGo7jvJr32GDHcQbnfb3dcZyrHMdp5DhOQ8dxPinO0CWienv3fvNMuzmk2IWHeBhyVwvKlQqj/0epOsNaREqcRuA6n4S6EFEaNv9qO4mUgLLRYQzv25IT2TncN0LTLopIyVIZn09QEFRrpy3jAFKzXAyD86ZdfHjUArI07aKIlBCV8YVUbwf7N8BhndgTKNrXjOfVmxoyfe1e/qRpF0WkhKiMLyTx5HFj7aoOJLe3rMajl9dkzLytvDt5ne04IhIAVMYXUr4RhMZoV3UAeqprbW5uVpl//bSGcQvTbMcRET8XbDuAV/MEQ7XWKuMAdPKSpx2HMvjDF0soHxNOu5rxtmOJiJ/SlvHFVG8He1bCsX22k0gJCw0OYvBdLUiKj+KBj+ezbJvmuBaR4qEyvpiT1xtvmWU3h1gRGxHCR/e1olRECHcPm8u63UdsRxIRP6QyvphKzSA4XCdxBbCKsRF80r81QcbQ54O5bN2vQUFEpGipjC8mOAyqtFQZB7ik+Cg+6d+K41k59PlwDrsPZ9iOJCJ+RGWcH9Xbw86lkKFjhoGsboVSjLi3JXuOnOCuD+eSnpltO5KI+AmVcX5UbwdOLmydazuJWNasWmkG92nBmt1HePm7FbbjiIifUBnnR5WWEBSsXdUCQKfaCQzsXIPRc7fywzKNziYihacyzo/QSKjU3J3fWAR48sraNK4Sy7NfLmXHoeO244iIj1MZ51dSJ9i2AI4ftJ1EvEBocBBv92pGVk4uT45dRE6uxrAWkUunMs6vmleAkwMbp9lOIl4iKT6Kl25owOwN+/nvtPW244iID1MZ51eVlu441et/sZ1EvEjPFlXo1rgib/y0hsmrd9uOIyI+SmWcX54Qd1f1ukmgafUkjzGG125uRN2KMTz4yXzmbtxvO5KI+CCVcUHUvBwObYF92iUpp8WEh/DRva2oFBdBvxHzNIa1iBSYyrggalzh3mtXtZylbHQYn/RrTamIEO4ZNpf1e47ajiQiPkRlXBBlkqBMMqxTGcvvVYpzx7A2Bvp8oCEzRST/VMYFVeMK2DQdsk/YTiJeKCk+io/ua8X+Y5k8/flicnXJk4jkg8q4oGpcDlnpsHWO7STipRpUiuXF7vWZvnYvI2Zush1HRHyAyrigkjq6Q2NqV7VcQJ/W1biyXjle+34VK3ccth1HRLycyrigwmKgahudxCUXZIzh9VsaUyoihCfGLCIjK8d2JBHxYirjS1HzcndKxaMa5EHOr2x0GP/q2ZjVu47w2verbMcRES+mMr4Upy5xmmw3h3i9LnXKcW/7REbM3MR3S7bbjiMiXkplfCkqNIbIeO2qlnx59pq6tEwszZNjF/Hrur2244iIF1IZX4qgIKhxGazX0JhyceEhHj64uyXJ8dEMGJnK0jSN0CUiv6UyvlRJneHYHti7xnYS8QGxkSGM7NeKuMhQ+g6fywaN0CUiZ1AZX6rE9u79pul2c4jPKF8qnI/7tcIB7vpwrkboEpFTVMaXqnQSlKoMm361nUR8SHJCNCPubXlqhC5HhzlEBJXxpTMGqreHTTN03FgKpHGVOP54XV2mr93LqDlbbMcRES+gMi6MxA5wbDfsXWs7ifiYO1tXp0PNeP42cSWb9x2zHUdELFMZF0ZiB/d+8wy7OcTnBAUZ/nFrYzxBhmc+X0yOJpQQCWgq48IokwwxFd1d1SIFVCkugpeub8C8TQcYNmOj7TgiYpHKuDCMcbeON/2q48ZySW5uXpmu9cvzz59Ws2bXEdtxRMQSlXFhVW8PR3fCvvW2k4gPMsbw95sbUSo8mPtGzGP3EV3uJBKIVMaFldjRvdf1xnKJ4qPD+PCeluw7msm9w+dxJCPLdiQRKWEq48IqWwOiy8NmXW8sl65J1Tje79Oc1TuPMPCT+WRm59qOJCIlSGVcWKeOG+t6YymcLnXK8fotjfl13T6e+XwxuTrDWiRgqIyLQmIHOLID9m+wnUR83C0tqvDsNXX5ZvF2/jZxpe04IlJCgm0H8AvV86433jTD3W0tUggDOyez63AGH8zYSIXYcPp3TLYdSUSKmbaMi0J8LYgqp+uNpUgYY/hT9/pc27ACr0xYyTeLt9uOJCLFTGVcFIxxZ3HScWMpIp4gw5u3N6VVYhme+WwxM9fvtR1JRIqRyrioJHaEI9t13FiKTHiIh6F3p1C9bCQPjJzPyh2HbUcSkWKiMi4qyV3c+w2TrcYQ/xIbGcKI+1oRGebh7mFzNamEiJ9SGReVMskQWw02TLGdRPxM5bgIPu7XmqycXO78YA47D2mULhF/ozIuKsZAcmfYOA1yc2ynET9Tu3wMH93bioPpWfT5cA77jp6wHUlEipDKuCgld4GMQ7Bjke0k4oeaVI3jg3tS2Lo/nXuGz+Wwhs0U8Rsq46KU1Mm9165qKSZtksvyfp/mrNpxhIdHLcDR2fsifkFlXJSiy0H5hipjKVaX1y3PX66vz/S1e/lifprtOCJSBFTGRS25C2yZDZnptpOIH7uzdXVaJpbm1Ykr2avjxyI+T2Vc1JK7QE4mbJ1tO4n4saAgdx7kYyeyefm7FbbjiEghqYyLWrW2EBSiXdVS7GqWi+GhLjX5etF2pqzebTuOiBSCyriohUVD1VYqYykRD11WgxoJUbw4fhnpmdm244jIJVIZF4fkLrBjCRzbZzuJ+LmwYA9/v7kxaQeO8+bPa2zHEZFLpDIuDsldAAc2TbOdRAJAq6Qy3NG6Gh/M2Kjd1SI+SmVcHCo1h9AY7aqWEvOnbvWpUz6GJ8YuIu2AzuQX8TUq4+LgCYakjipjKTERoR4G92lBTo7DQ6MWcCJbQ7KK+BKVcXFJ7gIHNrk3kRKQGB/Fv29rwpK0Q/z1W13uJOJLVMbF5eTQmBun280hAeWqBhV4sEsNPp2zRaNzifgQlXFxSagLUQnuLE4iJejprrVpm1yWP45bymSd0CXiE1TGxcUYd+t44zTQYP5SgoI9Qbx3Z3Nql4/mgZHz+Wn5TtuRROQiVMbFKakTHN0Je9faTiIBpnRUKKP6t6FepVI8NGoBE5bssB1JRC5AZVycTh03nmo3hwSk2IgQPunXiqZV43h09AK+XrTNdiQROQ+VcXEqnQSlqui4sVgTEx7CR/e1olVSGZ4cu4hZ6zUqnIg3UhkXp5PHjTfNgNxc22kkQEWFBfPhPS1JLBvFE2MXsk9TLop4HZVxcUvqBMf3w+7ltpNIAIsKC+Y/dzTjQHoWz3y+mNxcnVQo4k1UxsUtqaN7r13VYlmDSrG82K0ek1fv4cMZG23HEZEzqIyLW2wVKFNDZSxe4a421bm6QXle/2EVi7YetB1HRPLkq4yNMdcYY1YbY9YZY547zzJdjDGLjDHLjTE6ffhMSZ1g06+Qo/lmxS5jDP+4pQnlS4Xz6OgFHErPsh1JRMhHGRtjPMC7wLVAfaC3Mab+WcvEAe8BNziO0wDoWfRRfVhSR8g8AjsW2U4iQmxkCP+5oxm7Dp3ggU9SyczWyYUituVny7gVsM5xnA2O42QCY4AeZy1zB/CV4zhbABzH0Rh8Z0o8edxYOwzEOzSvVpp/3NqY2Rv28/xXS3E0SpyIVfkp48rA1jO+T8t77Ey1gdLGmCnGmPnGmLvP9UbGmAHGmFRjTOqePXsuLbEvii4H5epr0gjxKjc2q8yTV9bmywVp/GfSOttxRAJafsrYnOOxs/+MDgZaAN2Aq4E/GWNq/+5FjjPEcZwUx3FSEhISChzWpyV1gi2zIVvXeIr3eOyKmtzcrDJv/LyG8Qs1QpeILfkp4zSg6hnfVwG2n2OZHxzHOeY4zl5gGtCkaCL6iaROkH0cts6xnUTkFGMMf7+lEa2TyvCHL5Ywf/N+25FEAlJ+yngeUMsYk2SMCQV6Ad+ctczXQEdjTLAxJhJoDaws2qg+LqkTBIXA2p9sJxH5jbBgD/+9qwUV48J58JMF7D6SYTuSSMC5aBk7jpMNPAL8iFuwnzmOs9wYM9AYMzBvmZXAD8ASYC7wgeM4y4ovtg8Ki4Hq7WCNyli8T1xkKIP7tOBwRhYPj1pAVo7OsBYpSfm6zthxnImO49R2HKeG4ziv5j022HGcwWcs80/Hceo7jtPQcZy3iimvb6t9NexdDQc22U4i8jv1Kpbi9VsaM2/TAV6doB1bIiVJI3CVpFpXu/faOhYv1aNpZe5rn8SImZsYtzDNdhyRgKEyLknxNaFMMqz90XYSkfN6/rq6tEoqw/NfLWVp2iHbcUQCgsq4pNW62r3eOPOY7SQi5xTiCeKdO5pRNiqMu4bNYdXOw7Yjifg9lXFJq30V5JzQxBHi1crFhPPp/a0JD/Zw59A5rNt9xHYkEb+mMi5p1dtDaDSs0a5q8W7Vy0Yx6v7WGGO4Y+gcNu7V3hyR4qIyLmnBYZDcBdb+DBoPWLxcjYRoPr2/Ndm5DncMnc3W/em2I4n4JZWxDbWvhsNpsHuF7SQiF1W7fAyf9GtNemYOd304h71HNaSrSFFTGdtQ6yr3XruqxUfUr1SKYX1bsuvwCe4ZNpcjGZoHWaQoqYxtiKkAFZtoaEzxKS2ql+a9Ps1ZvfMIA0bOJyMrx3YkEb+hMral1tXupBHpGphffMdldcrxr55NmLVhH0+MWUROrs57ECkKKmNbal8NTi6sn2Q7iUiB3NisMn/uXp8flu/kxfHLcHQiokihqYxtqdQcIsu6Z1WL+Jj7OiTxUJcajJ67hXcmrbMdR8TnBdsOELCCgqDmlbDuZ8jNdb8X8SH/d3Uddh7K4N8/r6FCbDg9U6pe/EUick5qAJtqdoX0fbB9oe0kIgVmjOG1WxrToWY8z321lCmrd9uOJOKzVMY21bwCMO7WsYgPCg0O4v0+zalTPoaHRi3QxBIil0hlbFNkGaiSokucxKfFhIcw/N6WlI4M5e5hc1i9U+NYixSUyti2WlfBtgVwbK/tJCKXrHypcEb1b02IJ4g7P5jNut1HbUcS8SkqY9tqdQUcWPeL7SQihZIYH8Wn97cB4M4PZrNJE0uI5JvK2LYKTSAqQbuqxS/ULBfNqP5tyMzO1cQSIgWgMrYtKMg9q3r9L5Cr4QXF99WpEMMn/VtzLDOHXkO0hSySHypjb1DrSjh+ALbNt51EpEg0qBTLqP6tOZ6VQ8//ztJJXSIXoTL2BjUuBxOkXdXiVxpWjuWzB9oQZOD2IbNYtPWg7UgiXktl7A0iSkOVVhoaU/xOzXIxfDGwHTHhwdw5dDaz1u+zHUnEK6mMvUWtrrBjERzZZTuJSJGqWiaSLwa2o1JcBP0+mseaXdplLXI2lbG3qNXVvddoXOKHypcK5+N+rYkMDeaBj+dz6HiW7UgiXkVl7C0qNIbYqrDyO9tJRIpFhdhw3u/TnK3703ly7CJyNReyyCkqY29hDNS73p3fOOOw7TQixaJlYhn+cn19Jq3azVu/rLUdR8RrqIy9Sb0bIOeEzqoWv9anTXV6tqjCoF/W8tPynbbjiHgFlbE3qdoaoivAiq9tJxEpNsYYXr6xIU2qxPLUZ4t1QpcIKmPvEhQE9brDuv9BpkYtEv8VHuJh8F0tiAz10O+jeew/lmk7kohVKmNvU+8GyEp3C1nEj1WMjWDI3SnsOnyCgZ/MJzM713YkEWtUxt6menuILAsrvrGdRKTYNa0axz9vbczcjfv50/hlOI7OsJbApDL2Np5gqNsN1vwIWRm204gUux5NK/PIZTUZm7qVYb9ush1HxAqVsTeq3wMyj8CGybaTiJSIp7rW5uoG5Xl1wgqmr91jO45IiVMZe6PEThAeq13VEjCCggxv3NaUWuVieHT0Qs2DLAFHZeyNgkOhznWwegJk6yxTCQxRYcH8964W5OY6DPh4PsczNb+3BA6Vsbeq3wMyDsGmabaTiJSYxPgo3u7djFU7D/P8V0t0QpcEDJWxt0q+DEKjtataAs5ldcrxdNfajF+0XSd0ScBQGXurkHCodRWsngi52l0ngeWhLjW5ukF5/jZxJROX7rAdR6TYqYy9Wb3ucGwPbJ1rO4lIiQoKMvz7tqY0qxrHI58uYPzCbbYjiRQrlbE3q9kVPKGw8lvbSURKXHRYMB/d14pWSWV48rNFfDZvq+1IIsVGZezNwku5x45XfQs6kUUCUFRYMMP7tqJDzXj+8OUSPpm92XYkkWKhMvZ29brDwS2wc6ntJCJWRIR6GHp3ClfULceL45cx6Je1Osta/I7K2NvVuQ5MkHZVS0ALD/Hwfp8W3NysMm/8vIanPlvMiWyd2Cj+Q2Xs7aLioVo7WPWd7SQiVoUGB/Hv25rwzFW1GbdwG3cOncO+oydsxxIpEipjX1CvO+xeAfvW204iYpUxhkcur8U7dzRj6bZD3PTeTDbsOWo7lkihqYx9Qd1u7r12VYsA0L1xJcYMaMOxE9n0GjKbdbtVyOLbVMa+IK4aVGyqXdUiZ2hWrTRjBrQh14FeQ2azZtcR25FELpnK2FfU6w5p8+DwdttJRLxGrfIxjBnQhiADvYfMZtXOw7YjiVwSlbGvqHu9e79qgt0cIl6mZrloxgxoQ7DHqJDFZ6mMfUVCHYivDcvH2U4i4nWSE6IZO6AtocFB9BuRyl6dZS0+RmXsK4yBRrfB5l/hgEYhEjlbYnwUQ+9OYe/REzz4yXwys3NtRxLJN5WxL2l8m3u/9DO7OUS8VOMqcfyrZxPmbTrAn8Yv00hd4jNUxr6kdHV3AJAln2msapHzuL5JJR65rCZjU7cyXPMhi49QGfuaJrfD3jWwfaHtJCJe66mutelavzyvTFjBlNW7bccRuSiVsa+p38OdVnHJWNtJRLxWUJDhzdubUqdCKR74eD7T1+6xHUnkglTGviaiNNS+BpZ+ATlZttOIeK3osGA+6deKpPgo+n2UytQ1KmTxXipjX9SkF6TvhfWTbCcR8Wplo8P49P421EiI5v6RqdplLV5LZeyLanaFiDKweIztJCJer0xUKJ/2b03NhGgGfDyfyatUyOJ9VMa+KDgUGt4MqydChkYbErmY0lGhfHp/a2qXj2bAx6l8t0TDyop3URn7qsa9IDsDVn5jO4mIT4iLDOXT+9vQtGocj45eyOi5W2xHEjlFZeyrqqRAmWTtqhYpgFLhIYy8rzWdayfw/FdLGTxVc4SLd1AZ+ypj3K3jTdPhoP7CF8mviFAPQ+5KoXvjirz2/Spe/2GVRuoS61TGvqzJ7e69rjkWKZDQ4CDe7tWMO1pX4/0p63lx/DJyc1XIYo/K2JeVToTq7d1d1frLXqRAPEGGV29syINdajBqzhaeGLuIrBxNLiF2qIx9XZNesG8dbJtvO4mIzzHG8Ow1dXn2mrp8s3g7A0amcjwzx3YsCUAqY19X/0YIDodFn9pOIuKzHuxSg7/d1Igpa/bQd/hcFbKUOJWxrwsvBXW7w7IvIVsTqotcqjtaV+Ot25syd9N+Hhql+ZClZKmM/UGT3pBxENb8aDuJiE/r0bQyf7upEZNX7+GpzxaRo5O6pISojP1BcheIrgCLR9tOIuLzereqxvPX1uW7JTt4cfwyXfYkJSLYdgApAp5gaNwTZr8Px/ZCVLztRCI+7YHONTickcW7k9cTEx7M89fWxRhjO5b4sXxtGRtjrjHGrDbGrDPGPHeB5VoaY3KMMbcWXUTJlya9ITfbPXYsIoX2zFV1uLttdYZM28AjoxeSnpltO5L4sYuWsTHGA7wLXAvUB3obY+qfZ7nXAR24tKF8A6jQGBZ+omuORYqAMYa/3tCA56+ty8SlO7jl/Vls3Z9uO5b4qfxsGbcC1jmOs8FxnExgDNDjHMs9CnwJaH4yW5rfDTuXQFqq7SQifsEYwwOdazCsb0vSDqTT491fmb1hn+1Y4ofyU8aVga1nfJ+W99gpxpjKwE3A4Au9kTFmgDEm1RiTumfPnoJmlYtp0gtCY2DeUNtJRPzKZXXK8fXD7YmLDOGuD+cwY+1e25HEz+SnjM911sLZ+0HfAp51HOeCV8o7jjPEcZwUx3FSEhIS8hlR8i0sxi3k5ePcE7lEpMgkJ0Qz7sH2JMdHM/CT+Szffsh2JPEj+SnjNKDqGd9XAc6emTsFGGOM2QTcCrxnjLmxKAJKAbXsDzmZsGCk7SQific2MoQR97UkJjyYe4fPI+2AjiFL0chPGc8DahljkowxoUAv4Dcz2juOk+Q4TqLjOInAF8BDjuOML+qwkg/l6kJiR0gdDrka0k+kqFWMjWDEva04npVD3+HzOJieaTuS+IGLlrHjONnAI7hnSa8EPnMcZ7kxZqAxZmBxB5RL0Op+OLRFI3KJFJM6FWIYclcKW/alM2DkfDKy9IevFI6xNbpMSkqKk5qqs36LRU42vNUQytWDu8bZTiPit75dvJ1HRy+kW+OK/KdXM4KCNDCIXJgxZr7jOClnP67hMP2RJxha3AvrJ8HedbbTiPit65tU4o/X1WXCkh38/fuVtuOID1MZ+6sW90BQMKR+aDuJiF+7v2My97StztDpGxnx60bbccRHqYz9VUwFqHcDLBwFmcdspxHxW8YY/nx9A66qX56/freCH5bttB1JfJDK2J+1fgBOHIIlY20nEfFrniDD272a0bRqHI+PWcjcjfttRxIfozL2Z1Vbu+NVzxmi8apFillEqIcP7k6hSukI7hsxj4VbDtiOJD5EZezPjIHWA2HPStg4zXYaEb9XNjqMUf3bUDY6lHuGzWXZNo3SJfmjMvZ3DW+ByLIwd4jtJCIBoUJsOKP6tyYm3B3HevXOI7YjiQ9QGfu7kHBofg+snggHNttOIxIQqpSO5NP7WxMaHMSdH8xmzS4VslyYyjgQtOwHGJj3ge0kIgGjetkoRvVvgzGGW96bqZme5IJUxoEgtgrU6+5OHpGpge1FSkrNctGMf7g9leIi6Dt8LmPnbbEdSbyUyjhQtHoAMg7C0s9sJxEJKJXjIvjiwba0rVGWZ79cyus/rCI3V1c3yG+pjANF9XZQvpEucxKxICY8hGF9W9K7VTXen7KeAR/P51B6lu1Y4kVUxoHCGGjzIOxeDmt/sp1GJOCEeIL4200N+cv19Zmyejfd35muS5/kFJVxIGl8G8RVgymvaetYxAJjDPe2T2LsA23JznG4+f2ZjJ67BVuz54n3UBkHEk8IdHwati+Adf+znUYkYLWoXpoJj3WkdVIZnv9qKS+MX0aOjiMHNJVxoGlyB8RW1daxiGVlokIZcW8rBnauwadztvDo6AWcyM6xHUssURkHmuBQ6PgUbEt15zsWEWs8QYbnrq3Li93qMXHpTvp/lMqxE9m2Y4kFKuNA1PROKFUZpr6urWMRL9C/YzL/vLUxM9fv444P5nDgWKbtSFLCVMaBKDgMOjwJW+fAhim204gI0DOlKu/f2ZyVOw5zw7szWLz1oO1IUoJUxoGq+d0QU0lbxyJe5KoGFRh9fxtychxuHTyTD2ds1JnWAUJlHKhObh1vmQUbp9pOIyJ5WlQvzcTHO9K5djle/m4F94+cz8F07bb2dyrjQHZy63jy37V1LOJF4iJDGXp3C/7cvT5T1+ym26AZGiDEz6mMA1lIOHR6GrbO1pnVIl7GGMN9HZL4YmA7HMfhlvdn8uX8NNuxpJiojANds7vc644n/01bxyJeqEnVOL55tAPNqsXx9OeLeemb5WTl5NqOJUVMZRzogsOg0zPudcdrf7adRkTOIT46jE/6taZ/hyRGzNxE7yGz2bpf06H6E5WxuNcdx1WHya9q61jESwV7gnixe30G9W7Gqp1HuO7t6YxfuM12LCkiKmNxx6zu/AfYsQhWf287jYhcwA1NKvH94x2pUyGGJ8Yu4vExCzl0XNMx+jqVsbga94LSSe6x41wdjxLxZlXLRDJmQBue6lqb75bsoNug6azccdh2LCkElbG4PMHQ5TnYtRRWjLOdRkQuItgTxGNX1OLzgW3Jysnl1vdn8vOKXbZjySVSGctpjXpC+Ybwv5cgK8N2GhHJh+bVSvP1wx2oUS6aAR+nMnjqeo3a5YNUxnJakAeuegUOboE5g22nEZF8qhAbztgBbbmuUUVe+34VT3++mOOZmo7Rl6iM5bdqXAa1robp/4Zje22nEZF8igj18E7vZjx5ZW3GLdzG9e/MYMV2HUf2FSpj+b2rXobMYzDlNdtJRKQAjDE8fmUtPr6vNYeOZ3Hje78y4ldNNuELVMbyewl1IOVeSB0Ge1bbTiMiBdShVjw/PN6RDjXjeenbFdw/MlVzJHs5lbGcW5fnITQKfv6z7SQicgnKRofx4T0p/OX6+kxbs5dug6azYMsB27HkPFTGcm5R8dDxaVjzA2yYYjuNiFwCYwz3tk/iiwfbEhRkuG3wLM2R7KVUxnJ+rQdCbDX4+S8aCETEhzWuEseERztyWV13juQHP1mg3dZeRmUs5xcSDpe/4A6TqYFARHxabGQIQ+5qwQvX1eN/K3dxxRtTGb9wm7aSvYTKWC7s5EAgv7wM2fpLWsSXGWO4v1My3z7agWplInli7CLuGT5PM0B5AZWxXFiQB658CQ5shAUf2U4jIkWgXsVSfPlgO/56QwPmb9pP1zenMmbuFtuxAprKWC6u5pWQ2NG97vjEEdtpRKQIeIIM97RL5OenOtMysQzPfbWUP3yxmIwsjdxlg8pYLs4Y6PpXSN8LM9+xnUZEilCluAhG3NuKxy6vyWepadzy/ky27NNu65KmMpb8qdwC6t8IM/8DR3fbTiMiRcgTZHjqqjoM65vC1v3pdP/PdCav1n/nJUllLPl3xZ8h54R7qZOI+J3L65ZnwmMdqVI6kvtGzOP9KZoBqqSojCX/ytaAdo/B4k9h4zTbaUSkGFQtE8mXD7ajW6OKvP7DKh4bs0gzQJUAlbEUTOc/QOlE+O5JzXks4qciQj38p3cz/nBNHb5bsl3HkUuAylgKJiQCur8J+9bBjDdspxGRYmKM4aEuNRl2T0u2Hkjnqrem8u7kdWRmazS+4qAyloKrcTk0ug2mvwF71thOIyLF6LK65fjxiU50qV2Of/64musGTWfW+n22Y/kdlbFcmqv/5s7q9N0TGrdaxM9Viotg8F0tGN63JSeyc+g9dDYPj1rAqp2HbUfzGypjuTTRCXDVy7D5V1j4se00IlICLqtbjp+e6MxjV9Ri6po9XPPWdAZ+PJ/l2w/ZjubzjK3T1lNSUpzU1FQrP1uKSG4ufHQ97FwKD8+GUpVsJxKREnIwPZNhv25i+K8bOZKRzfVNKvHKjQ2JjQixHc2rGWPmO46Tcvbj2jKWSxcUBDcMgpxM+PYJ0PWIIgEjLjKUp7rWZsazl/PYFbX4fukOug2azqKtB21H80kqYymcsjXcwUDW/ghLxtpOIyIlLDYihKe61uazgW1xHLj1/ZkMnbaB3Fz9cV4QKmMpvNYPQNXW8P2zcGSn7TQiYkHzaqWZ+FhHrqhXjlcnruS+j+ax67DGIsgvlbEUXpAHbngHso7DhKe1u1okQMVGhjC4Twv+X48GzN6wj65vTOXL+WkaUjMfVMZSNBJqw2V/hFXfwbIvbacREUuMMdzdNpHvH+9E7fIxPP35Yu4fmcpubSVfkMpYik7bR9zZnSY+A0d22U4jIhYlxUcx9oG2vNitHtPX7uXKN6Yyeu4WHUs+D5WxFB1PMNw42N1d/e1j2l0tEuA8QYb+HZP5/vGO1K9Uiue/Wspt/53Fml1HbEfzOipjKVoJtd2zq9f8AIs+tZ1GRLxAckI0o+9vw796NmH9nqNc9/Z0/vHDKtIzs21H8xoqYyl6rR+E6u3hh+fg4FbbaUTECxhjuLVFFX55ugs3NK3Ee1PWc8W/p/LN4u06wQuVsRSHoCDo8S7k5sDXD2vsahE5pUxUKG/c1pQvBralbHQoj41eyO3/nR3wQ2qqjKV4lEmCq1+BjVNh3lDbaUTEy6QkluHrhzvw95sbsW7PUa7/zwzenbwuYE/wUhlL8WlxL9TsCj+9CNvm204jIl7GE2To3aoak5/uQrfGlfjnj6u5d8Q89h/LtB2txKmMpfgYAzf9F6LLw9i74ZjmQBWR34uNDGFQr6a8cmNDZq3fR7dB05m/eb/tWCVKZSzFK6os3DYSju2BL+9zjyOLiJzFGEOfNtX56qF2hHiCuP2/s/nz18vYc+SE7WglQmUsxa9yc+j2L9gwBSa9YjuNiHixhpVj+fbRDtzWsiqj5myh8z8n88ZPqzmSkWU7WrFSGUvJaH43NL8HZrwBK7+znUZEvFhsRAh/u6kRPz/ZicvqlmPQpHV0+sdkPkvd6reXQamMpeRc+w+o1BzGDYQ9q22nEREvl5wQzbt3NOebR9pTs1w0f/hiCXcPm0vagXTb0YqcylhKTkg43P6xez+6Nxw/aDuRiPiAxlXiGDugLS/3aMCCzQe46s1pfDRzk19dBqUylpIVW8U9oevgZvjqfp3QJSL5EhRkuKttIj8+2YkW1Uvzl2+Wc+3b05mwZIdflLLKWEpe9XZw7euw9ieY/DfbaUTEh1QpHcnI+1oxqHczsnNzefjTBVzz9jS+W7Ldp0s5X2VsjLnGGLPaGLPOGPPcOZ6/0xizJO820xjTpOijil9J6eee1DX9X7B8vO00IuJDjDHc0KQSPz3ZmUG9m5HrwCOfLuTqt6bxzeLt5PhgKZuLnZlmjPEAa4CuQBowD+jtOM6KM5ZpB6x0HOeAMeZa4CXHcVpf6H1TUlKc1NTUwuYXX5Z9AkZ0g13Loe8E9xIoEZECysl1mLh0B/+ZtJY1u46SnBDFo5fX5PrGlQj2eNcOYGPMfMdxUs5+PD8pWwHrHMfZ4DhOJjAG6HHmAo7jzHQc50Det7OBKoUNLAEgOAxuHwVR8fDp7XBgs+1EIuKDPEGG65tU4ofHO/Henc0J9QTx5NjF3Pjer6zb7RtzJ+enjCsDZ86Dl5b32Pn0A74/1xPGmAHGmFRjTOqePXvyn1L8V0x5uPMLyDkBo26F4wcu/hoRkXMICjJc16giEx/ryH96N2P7wQy6DZrBiF83ev3x5PyUsTnHY+f8rYwxl+GW8bPnet5xnCGO46Q4jpOSkJCQ/5Ti3xLqQK/RcGATjOnj7r4WEblEQSe3lJ/oSLsaZXnp2xXcM3wuOw9l2I52Xvkp4zSg6hnfVwG2n72QMaYx8AHQw3EczQggBZPYHm58HzbPgPEPaQ5kESm0cjHhDOvbkldubEjqpgNc8e8pvD9lPSeyve+SyvyU8TygljEmyRgTCvQCvjlzAWNMNeAr4C7HcdYUfUwJCI1uhSv+Asu+gJ//ZDuNiPiBkxNQfP94R9rWiOf1H1Zx1ZvT+HH5Tq8aWvOiZew4TjbwCPAjsBL4zHGc5caYgcaYgXmL/RkoC7xnjFlkjNFp0nJpOjwJrQbArHfg10G204iIn0iMj+KDe1L4uF8rQj1BPPDxfO78YA5L0g7ajgbk49Km4qJLm+S8cnPgy36wfJw7H3KTXrYTiYgfyc7JZdScLbz9y1r2H8ukW+OKPHNVHZLio4r9Z5/v0iaVsXin7LyzqzfPhN5jodaVthOJiJ85kpHF0Okb+WD6BjKzc7m9ZVUe7FKDKqUji+1nqozF92QchhHXwb710HsMJHe2nUhE/NDuIxkM+mUtY+dtxXHg5uaVebBLzWLZUlYZi286sgtG3uBe9nTbx1D7KtuJRMRPbT94nCHTNjB67haycnK5vkklXuxWn4SYsCL7GYUZgUvEnpjy0HcixNeGMXfAiq9tJxIRP1UpLoKXbmjA9Gcv4/6OySzccpDosOAS+dnaMhbfcPwgjOoJ2+a71yM3ud12IhHxc9k5uUU+trW2jMW3RcTBXePc6RfHPQDzP7KdSET8XElOMqEyFt8RFg13fg41r4BvH4N5H9hOJCJSJFTG4ltCIqDXp1D7WpjwNMx+33YiEZFCUxmL7wkOg9tGQt3u8MNzGqlLRHyeylh8U3Ao9BwBDW5yx7H+4XnIybKdSkTkkpTMOdsixcETAjd/ANHlYfZ7sGMJ9BwO0eVsJxMRKRBtGYtv8wTDta/DTUPcy57+2xnSdMmciPgWlbH4hya3Q7+f3K3l4dfq0icR8SkqY/EfFRvDgCmQ2MG99GnC0zqOLCI+QWUs/iWyDNz5BbTLuw55ZA84usd2KhGRC1IZi/8J8sBVL8PNQ93jyEMvg+0LbacSETkvlbH4r8a3wX0/guPAh1fBnCHu1yIiXkZlLP6tUlMYOB1qXA7f/x98dpc76YSIiBdRGYv/iywDvcfAVa/A6u/hvx0hbb7tVCIip6iMJTAYA+0ehXt/AAcYdjXMele7rUXEK6iMJbBUbQkDp0Htq+HHP8Lo3pC+33YqEQlwKmMJPBGl4fZP4JrXYd3/YHBH2DzTdioRCWAqYwlMxkCbgXmjdgXD8OtgwjOQcdh2MhEJQCpjCWyVm8PAX6H1QHeQkHdbuyd5iYiUIJWxSFg0XPsa9P8fRMTB6F7weV84utt2MhEJECpjkZOqpMCAqXDZi7BqArzbChaN1hnXIlLsVMYiZwoOhc7/BwNnQHxtGD8QPrkFDm6xnUxE/JjKWORcEuq41yRf+0/YMts9ljzjTcjOtJ1MRPyQyljkfIKCoPUAeHg2JF8G/3sJBneAjdNtJxMRP6MyFrmYuGrQ+1PoPRayM+Cj7vBlfzi0zXYyEfETKmOR/KpzDTw8Bzo/Cyu+gXdSYOo/IOu47WQi4uNUxiIFERIBl/0RHpkLtbrC5FfhnZaw9AvIzbWdTkR8lMpY5FKUToTbRkLfCe61yV/2g8Ht80o5x3Y6EfExKmORwkjs4F6bfPMH4OS6pfxua/f65Jxs2+lExEeojEUKK8gDjXvCg7Og50cQHO5en/xuS1j0qUpZRC5KZSxSVIKCoMGNMHA69PoUQqNh/IPuiV4LP9E1yiJyXipjkaJmDNTtBg9Mg95jILwUfP0wvN0Ypr+h+ZNF5HdUxiLFxRioc617TPnOLyChLvzyV3izAXz3FOxdazuhiHiJYNsBRPyeMe5lULW6wq7lMOs9WPgxpH4INbu60zfWuNzdzS0iAck4lmakSUlJcVJTU638bBHrju6G1OFuIR/d5U5K0fxuaHgLlKpkO52IFBNjzHzHcVJ+97jKWMSi7ExYPg7mDoFtqYBxL5dq1BPq93CvYRYRv6EyFvF2e9fBsi9g6eewb517iVTd7tDsTkjq7F5CJSI+TWUs4iscB7YvdK9RXvo5ZByEUlXca5kb3AwVGrnHoUXE56iMRXxRVgasngiLRsH6yeDkQNma0OAm9/hyuXq2E4pIAaiMRXzdsX2w8hv3GPOm6e7wm+UaQKNb3WIuXd12QhG5CJWxiD85uhuWj3ePMW+d4z5WpRXU6+4eZy5bw2o8ETk3lbGIvzqwCZZ96ZbzziXuY+UauKOA1eoKlVvo5C8RL6EyFgkEBzbDqgmw6jvYMsvdlR1R2h1UpGZXqHklRCfYTikSsFTGIoEmfT+snwTrfoF1/4Nju93HKzVzi7lWV6jUHDwaiE+kpKiMRQJZbq67C3vdz7D2Z0ib5241h5WCxI6Q3AWSO7sjgemyKZFic74y1p/EIoEgKAgqNXVvnf7P3WreMBk2THXvV09wl4su744AltgRkjpBmWSVs0gJUBmLBKLIMu7lUA1vcb/fvxE2ToWN093LppZ96T4eXR6qtXVv1dtC+YY6GUykGKiMRQTKJLm3Fn3dEcD2rYON02DLbPdEsBXj3eVCo6FKClRtA9VaQ+UUd75mESkUlbGI/JYxEF/LvbXs5z52cKtbzFtnw5Y5MPV1IO98k/ja7olglZu7l1GVbwgh4dbii/gilbGIXFxcVffWuKf7fcZh9ySwbQtg23z3uPOSMe5zQSFQvoFbzpWauV+Xqw8hEfbyi3g5lbGIFFx4Kah5hXsDd9f24W1uOW/PK+ilX0DqMPd5EwRlakCFhm45l8+7j62qE8REUBmLSFEwBmKruLf6N7iP5ebCgY2wa3nebZlb1svHnX5dWCl3soty9fNu9dxbVLyd30PEEpWxiBSPoCB3jOyyNU4XNMCJI7B7pVvOu5bDrhWw/CuYP/z0MpHxbikn1IVydSG+jvt1VLy2pMUvqYxFpGSFxUDVVu7tJMeBIztg9wrYvQr2rHTvF4+BzCOnl4sok1fwNd3d3mWToXTemeARpUv+dxEpIipjEbHPGChVyb3VvPL0444Dh7fD3tWwZzXsWQX71ruXXS0e/dv3CI/NK+Zkt7DLnCztJIgsqy1q8WoqYxHxXsZAbGX3VuPy3z6XmQ77N7izVh3Y5B6f3r8Rti90r4t2ck8vGxIJcdXOuFV353+Oq+5+H1FaZS1WqYxFxDeFRrpnZ1do+PvnsjPh4GZ38JIDm+HgFvf7g5vd66RPHPrt8sERp7fMS+WVf6nK7glpMRUhpoJ7HDsoqGR+Nwk4KmMR8T/BoacHLjmX4wfdYj6wGQ6luZdlHd7m7hLfNMM9fu3k/PY1xgNRCRBT/nRBR1dw70/eoiu4y2gmLCkgfWJEJPBExLm3ik3O/XxuDhzdBYfySvrYHjiy033syM68a6rnw7G9nBqJ7CQT5B6jjirnzh0dXd4t6OhyZ3xd3v0+sqzG+hZAZSwi8ntBntO7rWl5/uVysvIKehcc3ekW9ZGd7tzRR/Nu+za432dn/P71Jsjd/R2VAFFlT38dWdadzCOitHs79XUZ92x0Hd/2OypjEZFL5Qk5PdjJhTiOe3310d2ni/rYHrfIj+52t7DT98KOxe7XZx/TPpPxnFHQZX5b1mc+Fl7KHVQlrJT7dXgsBIeryL2UylhEpLgZk1eIpSC+5sWXz8lyj2sf3+/OPX38gPv18QPuLX3/6e8PpcHOJe5j2ccv/L6eULeUw0q5W9i/u+VlPPl1aDSERbv34bGnHw8OU6kXMZWxiIi38YTkHW9OKNjrso6fLuyMw+7W+InDkHHo9P3J24kjcOKoOyPXiTOWzc3OR75Qt6BDoyE0Kq+wo/LKO+b046FR7mVlv/k6EkKi8u4j3a31kIi8rwO35FXGIiL+IiTCvZWqdGmvdxy30E8cdos6M6+wTxyBzKNnlPphyDyWd8tbJvOYu8v9zNflZhXs55ug3xZ1SKQ7HWdI5OnfLSTKvQ+NdC9JCwk/x3346ZI/dR/22+U8IV5V/CpjERFxGeOWXGgkxBTB++VkuSWdle4O0pJ1LO/+5O346fvMY6e/P/marOOnb0d3QVbG6ddmpl98t/wFf9egvNLOK+ngsNM3zxlf9xzhbu0XM5WxiIgUD0/I6cvIioPjQPYJt5SzMs5xn3fLOn7G12c/f+KM++PugDE5J9z79P3uCXMlIF9lbIy5Bngb8AAfOI7z2lnPm7znrwPSgb6O4ywo4qwiIiKnGZO3GzscImyHKZyLju1mjPEA7wLXAvWB3saY+mctdi1QK+82AHi/iHOKiIj4rfwMtNoKWOc4zgbHcTKBMUCPs5bpAYx0XLOBOGNMxSLOKiIi4pfyU8aVga1nfJ+W91hBl8EYM8AYk2qMSd2zZ09Bs4qIiPil/JTxuc79di5hGRzHGeI4TorjOCkJCQW8fk5ERMRP5aeM04CqZ3xfBdh+CcuIiIjIOeSnjOcBtYwxScaYUKAX8M1Zy3wD3G1cbYBDjuPsKOKsIiIifumilzY5jpNtjHkE+BH30qZhjuMsN8YMzHt+MDAR97KmdbiXNt1bfJFFRET8S76uM3YcZyJu4Z752OAzvnaAh4s2moiISGDIz25qERERKUYqYxEREctUxiIiIpapjEVERCxTGYuIiFimMhYREbFMZSwiImKZylhERMQylbGIiIhlKmMRERHLjDuSpYUfbMweYHMRvmU8sLcI389XaT1oHZyk9aB1cJLWg/esg+qO4/xuDmFrZVzUjDGpjuOk2M5hm9aD1sFJWg9aBydpPXj/OtBuahEREctUxiIiIpb5UxkPsR3AS2g9aB2cpPWgdXCS1oOXrwO/OWYsIiLiq/xpy1hERMQn+UQZG2OuMcasNsasM8Y8d47njTFmUN7zS4wxzfP7Wl9RyHWwyRiz1BizyBiTWrLJi1Y+1kNdY8wsY8wJY8wzBXmtryjkOgikz8Kdef8tLDHGzDTGNMnva31FIddBIH0WeuStg0XGmFRjTIf8vrbEOI7j1TfAA6wHkoFQYDFQ/6xlrgO+BwzQBpiT39f6wq0w6yDvuU1AvO3fo4TWQzmgJfAq8ExBXusLt8KsgwD8LLQDSud9fW2A/n/hnOsgAD8L0Zw+LNsYWOVtnwVf2DJuBaxzHGeD4ziZwBigx1nL9ABGOq7ZQJwxpmI+X+sLCrMO/MlF14PjOLsdx5kHZBX0tT6iMOvAn+RnPcx0HOdA3rezgSr5fa2PKMw68Cf5WQ9Hnbz2BaIAJ7+vLSm+UMaVga1nfJ+W91h+lsnPa31BYdYBuB+8n4wx840xA4otZfErzL9nIH0WLiRQPwv9cPccXcprvVVh1gEE2GfBGHOTMWYVMAG4ryCvLQnBNn5oAZlzPHb2KeDnWyY/r/UFhVkHAO0dx9lujCkH/GyMWeU4zrQiTVgyCvPvGUifhQsJuM+CMeYy3CI6eZww4D4L51gHEGCfBcdxxgHjjDGdgJeBK/P72pLgC1vGaUDVM76vAmzP5zL5ea0vKMw6wHGck/e7gXG4u2Z8UWH+PQPps3BegfZZMMY0Bj4AejiOs68gr/UBhVkHAfdZOCnvD44axpj4gr62WNk++H6xG+7W+wYgidMH2BuctUw3fnvy0tz8vtYXboVcB1FAzBlfzwSusf07Fdd6OGPZl/jtCVwB81m4wDoIqM8CUA1YB7S71HXozbdCroNA+yzU5PQJXM2BbXn/r/Saz4L1FZnPlX0dsAb3rLcX8h4bCAzM+9oA7+Y9vxRIudBrffF2qesA9yzBxXm35b68DvK5Hirg/rV7GDiY93WpAPssnHMdBOBn4QPgALAo75Z6odf64u1S10EAfhaezfs9FwGzgA7e9lnQCFwiIiKW+cIxYxEREb+mMhYREbFMZSwiImKZylhERMQylbGIiIhlKmMRERHLVMYiIiKWqYxFREQs+/+U7t9IGWQ+IgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(ths, recallsMM, label='Ours')\n", "plt.plot(ths, recallsTh, label='Thresholding')\n", "plt.legend()\n", "plt.title('Recall')" ] }, { "cell_type": "code", "execution_count": 25, "id": "2dfb20b6", "metadata": {}, "outputs": [], "source": [ "precsMM, recallsMM = np.array(precsMM), np.array(recallsMM)\n", "precsTh, recallsTh = np.array(precsTh), np.array(recallsTh)\n", "\n", "F1_scoreMM = 2 * (precsMM * recallsMM)/ (precsMM + recallsMM)\n", "F1_scoreTh = 2 * (precsTh * recallsTh)/ (precsTh + recallsTh)" ] }, { "cell_type": "code", "execution_count": 26, "id": "f0f61235", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, '$F_1$-score')" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeMAAAHjCAYAAAAQd3c4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABRLUlEQVR4nO3dd3hUVeLG8e+ZSSONQBJ67wRCDR2sq6KgFKkWBEVFRd11V9ddXX/uuuvqFtuigCIoKiKKKKKiIipdCL33FmmhhRrS7u+PGxAxQIAkZ8r7eZ55kszcmby5Rt7cO+eeYxzHQUREROzx2A4gIiIS7FTGIiIilqmMRURELFMZi4iIWKYyFhERsUxlLCIiYpnKWERExLIQ2wFE5NeMMWWA/cDR0+7OAKo4mhxAJOCojEV8UzNgv+M48baDFMQYE+I4To7tHCKBQqepRXxTM2DVxT7ZGPNHY8xPxpjDxpi1xpirT3usqjHmY2NMujFmnzFmWP79DY0x3xtjDhpjVhpjbjrjNbfkv+4y4KgxJsQYU8kYMzH/tTYbYx662MwiwUxlLOKbmnORZWyMqQ8MBVo5jhMDXAdsyX/MC0wBtgI1gMrAeGNMKPAZ8DVQDngQeC//tU7XH+gCxAF5+c9Zmv86VwO/NcZcdzG5RYKZyljENzUDbs8/Sj1ojFlujCltjJlvjDlijGl8jufmAuFAkjEm1HGcLY7jbMx/rDVQCXjUcZyjjuNkOo4zC2gLRAPPOY6T5TjOdNzS7n/Ga7/iOM52x3GOA62ARMdx/pb/nE3AG0C/otoJIsFCZSziY4wx4UBD4DLHceLyb8nAMdyj0o/O2P7W/II+Yoz50nGcDcBvgaeBPcaY8caYSvmbVwW2FvB+byVgu+M4eafdtxX3iPd020/7vDpQ6bQ/GA4CfwbKX9xPLhK8VMYivqcx7ingZaff6ThOtuM46Wdu7DjOe47jROffrs+/b5zjOB1xC9MBns/ffDtQzRhz5uDNHUBVY8zp/yZUA34689ud9vl2YPNpfzDEOY4T4zjODRf244qIyljE9zQHVjiOk3UxTzbG1DfGXJV/hJ0JHMc9dQ0wH9gJPGeMiTLGRBhjOgA/4l5G9ZgxJtQYcwVwIzD+HN9qPnAof1BXKWOM1xjT2BjT6mJyiwQzlbGI72kGpF7C88OB54C9wC7cAVl/BnAcJxe3ZOsA24A0oG9+8d8EXJ//vNeAAY7jrDnbNznttZoBm/OfNwoofQnZRYKS0fwBIv7FGPMW8B/HcVbYziIiRUNHxiJ+xBjzBXAt8IYxZqDlOCJSRHRkLCIiYpmOjEVERCxTGYuIiFimMhYREbFMZSwiImKZtSUUExISnBo1atj69iIiIiVu4cKFex3HSTzzfmtlXKNGDVJTL2VeAxEREf9ijNla0P06TS0iImKZylhERMQylbGIiIhl1t4zFhGRopOdnU1aWhqZmZm2owgQERFBlSpVCA0NLdT2KmMRkQCQlpZGTEwMNWrUwBhjO05QcxyHffv2kZaWRs2aNQv1HJ2mFhEJAJmZmcTHx6uIfYAxhvj4+As6S6EyFhEJECpi33Gh/y1UxiIiUiTS0tLo1q0bdevWpXbt2jz88MNkZWXZjuUXVMYiInLJHMehZ8+edO/enfXr17Nu3TqOHDnCE088UejXyM3NLcaEvk1lLCIil2z69OlEREQwaNAgALxeLy+++CKjR4/mtddeY+jQoae27dq1K99//z0A0dHRPPXUU7Rp04a5c+fy+OOPk5SURJMmTfjDH/5g40exQqOpRUQCzF8/W8mqHYeK9DWTKsXyfzc2OuvjK1eupGXLlr+4LzY2lmrVqpGTk3PW5x09epTGjRvzt7/9jf3793PXXXexZs0ajDEcPHiwqOL7PB0Zi4jIJXMcp8BBS2e7/ySv18vNN98MuOUdERHB4MGD+fjjj4mMjCy2vL5GR8YiIgHmXEewxaVRo0ZMnDjxF/cdOnSI7du3U7p0afLy8k7df/olPxEREXi9XgBCQkKYP38+3377LePHj2fYsGFMnz69ZH4Ay3RkLCIil+zqq6/m2LFjjB07FnAHY/3+979n4MCB1KpViyVLlpCXl8f27duZP39+ga9x5MgRMjIyuOGGG3jppZdYsmRJCf4Edp33yNgYMxroCuxxHKdxAY8b4GXgBuAYMNBxnEVFHVRERHyXMYZJkyZx//3388wzz5CXl8cNN9zAs88+S1hYGDVr1iQ5OZnGjRvTokWLAl/j8OHDdOvWjczMTBzH4cUXXyzhn8KewpymfgsYBow9y+PXA3Xzb22A4fkfRUQkiFStWpXPPvuswMfee++9Au8/cuTIqc8rVqx41qPmQHfe09SO48wA9p9jk27AWMc1D4gzxlQsqoCFkZ2bR8axbI5n5ZKb55TktxYREblkRTGAqzKw/bSv0/Lv21kEr10oCzbv55ZRP5762usxhHoNYV4PYSEeQjweQkMMoV4PYV4P4SEe9/P8j+7n7vYRoV4iQr2Eh3qICgshLjKU0qVCiS0VSlypUOIiw4jL/9rr0dRzIiJy6YqijAtqpAIPT40x9wD3AFSrVq0IvrWrekIUf+maRFZOnnvLzSUrJ4/sXIfs3Lz8m0NWbl7+/T9/PJqVS3ZO3qnHMrNz3Vv+a51LbEQIsaVCiY0IJbZUCKVLhRIfHU5CVBgJMeEkRodTLT6S6vFRRIdr4LqIiBSsKBoiDah62tdVgB0Fbeg4zuvA6wApKSlFdj65clwp7upYuGWqLkRWTh4Zx7NPu2WRcTybg8fcW8bxbA4dz+ZQZjaHjuewKf0oqVsOsP9YFs4ZP11CdDjV4yOpHFeKymVKUSmuFFXiStGgYgwVYiM0wbuISBArijKeDAw1xozHHbiV4ThOiZ2iLk5hIR4SY8JJjAm/oOfl5OZx4Fg2uw9lsm3/MbbsO8rWvcfYuv8oi7cf4IvlO8k57b3thOhwkivHklwljgYVYqhTLpoa8VGEhejKMxGRYFCYS5veB64AEowxacD/AaEAjuOMAL7AvaxpA+6lTYOKK6y/CPH+XOKNK5f+1eO5eQ57j5xg2/5jrPwpg+U/HWL5Twf5YV06Jzva6zHUiI+kRbUydKqXSMc6CZSNCivhn0RERErCecvYcZz+53ncAR4oskRBwOsxlI+NoHxsBK1qlD11//GsXDamH2HDHve2dvdhvl61mw8XpmEMNKoUy5X1y3FtUgUaV47VqW0R8Rn79u3j6quvBmDXrl14vV4SExPZsmULlSpVYtWqVUX6/Z5++mmio6MvaDGJ6OjoX1xKddLAgQPp2rUrvXr1YvDgwTzyyCMkJSUVZdzz0qgiH1IqzEvjyqV/cTSdm+ew/KcMZq5LZ8b6dF79bgP/m76BiqUjuCapPFc2KEebmmWJDNN/ShGxJz4+/tSMWacX5ZYtW+jatet5n5+Tk0NIiP1/x0aNGmXl++pNSR/n9RiaVY3jwavr8uGQ9qQ+eQ3/6d2U5MqlmZC6nUFjFtD0r1/TZ+RcXvl2PUu3H8Q5c/SYiIhFubm53H333TRq1Ihrr72W48ePA3DFFVfw5z//mcsvv5yXX36ZhQsXcvnll9OyZUuuu+46du50hx+98sorp5ZV7Nev36nXXbVqFVdccQW1atXilVdeOXX/Cy+8QOPGjWncuDEvvfTSr/I4jsPQoUNJSkqiS5cu7Nmz59RjV1xxBampqYB7JP3EE0/QtGlT2rZty+7duwHYuHEjbdu2pVWrVjz11FNER0df8j6y/2eIXJCyUWH0almFXi2rkJmdy4It+5m1YS+zN+zlxWnreOGbdVQpU4ouTSpyY5NKNKqk09kiQefLx2HX8qJ9zQrJcP1zF/XU9evX8/777/PGG2/Qp08fJk6cyG233QbAwYMH+eGHH8jOzubyyy/n008/JTExkQ8++IAnnniC0aNH89xzz7F582bCw8N/sazimjVr+O677zh8+DD169fnvvvuY9myZYwZM4Yff/wRx3Fo06YNl19+Oc2bNz/1vEmTJrF27VqWL1/O7t27SUpK4s477/xV7qNHj9K2bVv+8Y9/8Nhjj/HGG2/w5JNP8vDDD/Pwww/Tv39/RowYcVH75EyBUcb7N8NnD0H3EVC6su00JSYi1Eunuol0qpsIwIGjWUxbvZspy3by5szNjPxhE5XjStGxTgLt68TTrlY85WIjLKcWkWBTs2ZNmjVrBkDLli3ZsmXLqcf69u0LwNq1a1mxYgXXXHMN4B5NV6zoTubYpEkTbr31Vrp370737t1PPbdLly6Eh4cTHh5OuXLl2L17N7NmzaJHjx5ERUUB0LNnT2bOnPmLMp4xYwb9+/fH6/VSqVIlrrrqqgJzh4WFnTrF3rJlS7755hsA5s6dyyeffALALbfcckHvW59NYJRx5kH4aTG80x0GfgHRibYTWVEmKozeKVXpnVKVA0ez+GrlLqav2cOXK3byQao7SVrdctFc3bA8v2lYjubVymgWMZFAdJFHsMUlPPzny0O9Xu+p09TAqdJ0HIdGjRoxd+7cXz3/888/Z8aMGUyePJlnnnmGlStXFvi6OTk5hX6brjBnDENDQ09td/L1i0tgvGdcqTncOgEObod3e8Dxg7YTWVcmKox+ravx+oAUFj91LZ8N7cifrm9AYkw4o2ZuoteIubT6xzT+8OFSvlm1m8zsXNuRRSSI1a9fn/T09FNlnJ2dzcqVK08tu3jllVfyr3/9i4MHDxY4Ivqkyy67jE8++YRjx45x9OhRJk2aRKdOnX61zfjx48nNzWXnzp189913F5S1bdu2p9ZuHj9+/AX+pAULjCNjgOrtod+7MK4fvNcbbp8E4Zf+pnog8HoMyVVKk1ylNPdeXpuM49nMWJfOtNW7+WrlLj5amEZkmJfL6yXSuXEFOjeuQHiI13ZsEQkiYWFhfPTRRzz00ENkZGSQk5PDb3/7W+rVq8dtt91GRkYGjuPwu9/9jri4uLO+TosWLRg4cCCtW7cGYPDgwb84RQ3Qo0cPpk+fTnJyMvXq1ePyyy+/oKwvvfQSt912G//973/p0qULpUv/ej6JC2VsjbxNSUlxTo5YK1KrJsOHd0CNTnDLBAjVe6Tnkp2bx7xN+5i6Yhdfr9pN+uETlIsJ566ONbmlTTViIkJtRxSRQli9ejUNGza0HSMoHDt2jFKlSmGMYfz48bz//vt8+umnv9quoP8mxpiFjuOknLlt4BwZn5R0E3R7DT4ZAtOfgev+YTuRTwv1ek4NAnumW2NmbdjLyBkb+eeXaxj23QZub1udgR1qUC5Gf9SIiAAsXLiQoUOH4jgOcXFxjB49+pJfM/DKGKBZf0ibD3NfhYY3QrW2thP5BY/HcFm9RC6rl8iytIOM+GEjw3/YyKiZm+nWrBJ3X1aLeuVjbMcUEbGqU6dOLF26tEhfMzAGcBXkmr9B6arwyf2Qdcx2Gr/TpEocr93aku9+fwV9W1Xls2U7uPbFGdwxej7T1+wmN08Ti4iIFJXALePwGOg2DPZvhO90qvpi1UiI4pnujZn7+NX8/pp6rNxxiDvfSqXT89N5edp6dmVk2o4oIvk0+57vuND/FoE3gOtMUx6B1NFw51Sdri4CWTl5TFu9m/fnb2Pm+r14DFzXqAKDO9WkRbUymu1LxJLNmzcTExNDfHy8/j+0zHEc9u3bx+HDh6lZs+YvHjvbAK7AL+MTR2B4O/CEwpBZEBZZ/N8zSGzdd5Rx87cxfv52Mo5n06xqHIM71aRzowqEeAP3pIuIL8rOziYtLY3MTJ2t8gURERFUqVKF0NBfXpESvGUMsHkGvH0jXPYoXPVkyXzPIHIsK4eJC9N4c9Zmtuw7RuW4UgzqUIN+rasRHR6YYwRFRC5GcJcxwIeDYN1UeGgJxJQvue8bRPLyHL5ds4c3Zm5i/ub9xESEcEvragxoX4PKcaVsxxMRsU5lvG8jvNoaWg6ELv8tue8bpJZuP8gbMzfxxfKdOEDHOgn0TqnKtUnliQjV7F4iEpxUxuAO5lr0NjwwH+Jrl+z3DlJpB47xYWoaHy1M46eDx4mNCKF/m2o8dFVdonQKW0SCjMoY4PBueKUZ1OsMvceU7PcOcnl5DnM27mP8gm1MWbaTynGleKZ7I65qoLcMRCR4nK2Mg2vIa0x5aPcArPwYdiy2nSaoeDyGjnUTGHZLCz4a0o7IMC93vpXKA+MWseewRn+KSHALrjIGaP8QlCoL0562nSRopdQoy+cPdeL319Tjm1W7ufLf3/PiN+s4nJltO5qIiBXBV8YRsXDZH2DT97DxwtawlKITFuLhwavrMvXhTlxWL5GXv13P5f/+nlEzN2ltZREJOsFXxgCtBkNsZZj1gu0kQa9WYjTDb2vJpw90oFGlWP7++Wqu/u8PzFiXbjuaiEiJCc4yDgmH1ve4k4HsWmE7jQBNq8bxzl1tGDe4DRGhHgaMns/jE5fp1LWIBIXgLGOAFgMgNBLmDbedRE7Tvk4Cnz/UiXsvr8WE1O1c9+IMftBRsogEuOAt48iy0LQ/LJ8AR/SPvS+JCPXyp+sbMvG+9kSGh3DH6PncMzaVTelHbEcTESkWwVvGAG2GQG6Wu6qT+Jzm1cow5cGOPHpdfWZv2Mu1L87g6ckrOXA0y3Y0EZEiFdxlnFgP6lwDC0ZBzgnbaaQAEaFeHriyDt8/eiV9WlVl7NwtXP7v73hz1maycvJsxxMRKRLBXcYA7e6Ho3tgxce2k8g5JMaE82yPZL58+DKaVo3jmSmr6PzSDKav2a0F1UXE76mMa10JiQ1g3qugf9R9Xv0KMYy9szWjB7qzyd35VioDRs9n9c5DlpOJiFw8lbEx0PY+2LUcts62nUYKwRjDVQ3KM/W3l/GXrkks3X6QG16ZyW/HL2bbvmO244mIXDCVMUCTvu4UmbrMya+EhXi4q2NNZj52FUMur83Ulbu46r/f85dPVmiQl4j4FZUxQGgpd53jtV/AgS2208gFKh0Zyh87N2DGo1fSr3VV3p+/jc4vz2DOhr22o4mIFIrK+KRWgwED89+wnUQuUrnYCP7ePZlPHuhAVHgIt775I899uUajrkXE56mMTypdGZJugkXvwAlNLuHPGlcuzZQHO9KvVTVG/LCRXiPmsFEThoiID1MZn67NfXAiA5Z9YDuJXKLIsBD+2TOZEbe1YOu+Y1z/8kyGf7+RnFwdJYuI71EZn65qa6jYDH4cqcucAkTnxhX55neXcWX9RJ6fuobur81m5Y4M27FERH5BZXy6k5c57V0Lm7TWcaAoFxvByNtTGH5rC3ZlnOCmYbN55dv15OXpDy4R8Q0q4zM16gFRiTBvhO0kUsSuT67ItEcuo2uTirzwzToGvrWA/boESkR8gMr4TCHhkHInrP8K9m20nUaKWFxkGC/1bcazPZKZt3EfXV6ZyaJtB2zHEpEgpzIuSMqd4AmF+a/bTiLFwBjDLW2qMfG+9ng9hr4j5zJ61mbNcS0i1qiMCxJTwb3Mael4yM60nUaKSXKV0nz+YCcur1eOv01Zxb3vLOTgMZ22FpGSpzI+m+a3QeZBd1YuCVilI0N5Y0BL/tI1ie/W7qHLK7NYuFWnrUWkZKmMz6bm5RBbGZaMs51Eipkxhrs61uSjIe3xeKDPyLkM/36jRluLSIlRGZ+NxwtN+8PGb+HQDttppAQ0rRrH5w91onOjCjw/dQ13jJlP+uETtmOJSBBQGZ9Ls1vAyXPfO5agEBsRyrBbmvNsj2Tmb97P9S/PZOb6dNuxRCTAqYzPJb42VGsHS97TjFxB5ORo68lDO1ImMpQBo+drwQkRKVYq4/Npdivs2wBpC2wnkRJWv0IMk4f+vOBEt1dns3bXYduxRCQAqYzPp1F3CI2Exe/aTiIWlArz8s+eybwxIIX0w5nc+L9ZvD5jI7ka3CUiRUhlfD7hMZDUDVZ8DFnHbKcRS65JKs9Xv72MK+on8uwXa7h11DxdkywiRUZlXBjNboWsw7Bmiu0kYlF8dDgjb2/Jv3s1YdHWg/QZOZddGZoURkQuncq4MKp3gLhqsPgd20nEMmMMvVOq8tagVvx04Dg3D5/DpvQjtmOJiJ9TGReGxwPNB8DmGVo8QgBoXyeB8fe0IzM7l94j5rI8TWski8jFUxkXVosB4AmB1NG2k4iPSK5Smg+HtCMi1Eu/1+cyaXGa7Ugi4qdUxoUVUx4adHVHVWcft51GfEStxGgm3teepEqx/O6DpTw8fjGHMrNtxxIRP6MyvhCt7nIXj1jxse0k4kMqlI7g/bvb8sg19ZiybCfXvzST1C37bccSET+iMr4QNTpBQj1IfdN2EvExIV4PD11dlw+HtDu12MSHqdttxxIRP6EyvhDGQMpd8NNC2LHEdhrxQS2qleGLhzrRoU4Cj360jLFzt9iOJCJ+QGV8oZr2c2fk0tGxnEVMRChvDEjhNw3L89SnKxn+vUbgi8i5qYwvVKk4aHwzLP8IMnU5ixQsItTL8NtacFPTSjw/dQ3//XotjhYbEZGzUBlfjFZ3QfYxLa0o5xTq9fBi32b0a1WV/03fwMPjl3DkRI7tWCLig1TGF6NSc6jUAha8qaUV5Zy8HsM/eybz6HX1mbJsBzf9bxardx6yHUtEfIzK+GK1GAB718LOpbaTiI8zxvDAlXUYd3dbjpzIofurs/lgwTadthaRU1TGFyupG3hCYfmHtpOIn2hbK57PH+pEqxpl+ePE5Tw3dY0KWUQAlfHFiywLda+BFRMhL9d2GvETiTHhvH1na25rW42RP2zixW/W2Y4kIj5AZXwpknvD4Z2wdbbtJOJHvB7D325qTL9WVXll+gZe+Xa97UgiYlmI7QB+rV5nCIt2T1XXvMx2GvEjHo/h2R7JZOXm8cI36wgL8TDk8tq2Y4mIJToyvhRhke7iEas+hZwTttOIn/F4DP/u1ZSbmlbiuS/X8OI368jL03vIIsFIZXypknu7k3+s/8Z2EvFDXo/hhT5NublFFV7+dj33vJOqVZ9EgpDK+FLVugIiEzSqWi5aiNfDf3o34ekbk/h+bTrdhs1m3e7DtmOJSAlSGV8qbwg07gnrpkKmJnOQi2OMYWCHmoy7uy2HM91rkb9YvtN2LBEpISrjopDcG3IyYc0U20nEz7WuWZbPH+pI/Qox3P/eIv791Rq9jywSBApVxsaYzsaYtcaYDcaYxwt4vLQx5jNjzFJjzEpjzKCij+rDqrSCuOo6VS1FonxsBOPvaUvflKq8+t1GBo/V+8gige68ZWyM8QKvAtcDSUB/Y0zSGZs9AKxyHKcpcAXwX2NMWBFn9V3GuEfHm76Hw7ttp5EAEB7i5bmbk3mmWyNmrEun+6uz2bDniO1YIlJMCnNk3BrY4DjOJsdxsoDxQLcztnGAGGOMAaKB/UBwLU+T3BucPHdGLpEiYIzh9nY1eG9wGzKOZdP91dl8qfeRRQJSYcq4MrD9tK/T8u873TCgIbADWA487DhO3pkvZIy5xxiTaoxJTU9Pv8jIPqpcA6jYFJZ9YDuJBJg2teKZ8lBH6pSL5r73FvHsF6vJyf3V/14i4scKU8amgPvOHFFyHbAEqAQ0A4YZY2J/9STHed1xnBTHcVISExMvMKofaNIXdi6B9LW2k0iAqVi6FB/c25bb21bn9RmbuGXUj+w5nGk7logUkcKUcRpQ9bSvq+AeAZ9uEPCx49oAbAYaFE1EP9L4ZjAeWDbBdhIJQOEhXp7p3pgX+zZlWdpBeg2fy74jmvlNJBAUpowXAHWNMTXzB2X1Ayafsc024GoAY0x5oD6wqSiD+oWYCu4kIMsnQJ5OI0rx6NG8CuPubsvuQ5nc885CMrO1apiIvztvGTuOkwMMBb4CVgMTHMdZaYwZYowZkr/ZM0B7Y8xy4Fvgj47j7C2u0D6tSV84uA22/2g7iQSwFtXK8GLfZizceoDHPlqmdZFF/FyhVm1yHOcL4Isz7htx2uc7gGuLNpqfatAVQiPdgVzV29lOIwHshuSKPNa5Pv+aupYa8ZE8cm1925FE5CJpBq6iFh4NDbrAyklayUmK3X2X16Zvirsu8sSFabbjiMhFUhkXhyZ9IfOgVnKSYmeM4e89GtO+djyPTVzGZ0vPHFspIv5AZVwcal3pruSka46lBIR6Pbw+IIWW1crw8PjFTFqsI2QRf6MyLg7eEEju5a7kdPyg7TQSBKLDQ3jrzla0rRXPIxOWMmHB9vM/SUR8hsq4uDTuBblZsPZL20kkSESGhTB6YCs61kngsYnLeGfeVtuRRKSQVMbFpUoKxFaBVZ/YTiJBJCLUyxsDUri6QTn+8skK/vTxMl2HLOIHVMbFxRhI6gYbp0Nmhu00EkQiQr2MvL0l919Rm/fnb6fbsNls2HPYdiwROQeVcXFq1F2nqsWKEK+Hxzo34O07W7P3yAlu/N9sPl6kgV0ivkplXJwqp0BsZVj5ie0kEqQur5fIFw93omnV0jwyYSljZm+2HUlECqAyLk4eT/6p6m91qlqsKR8bwbt3teG6RuX562erNNJaxAepjItbUnf3VPW6r2wnkSAW4vXwSv/mXFYvkcc/XsaUZZocRMSXqIyLW5VWEFNJp6rFuvAQLyNva0lK9bL8dvwSvl2923YkEcmnMi5uJ09Vb5gGmYdsp5EgVyrMy5sDU0iqFMt97y1i2ioVsogvUBmXhKRukHtCp6rFJ8REhPL2oNY0qBDDve8u5CMtMCFincq4JFRtAzEVNQGI+IwyUWGMu7stbWuV5Q8fLuWNGZtsRxIJairjkuDxQMOb3FWcTmjyBfEN0eHu9Jk3JFfgH1+s5rkv1+A4ju1YIkFJZVxSGvVwT1Wv+dx2EpFTwkO8/K9/C25tU40RP2zkb1NWqZBFLAixHSBoVG0DcdVg2QRo2s92GpFTvB7D37s3JjzEy+jZmwnxGP58Q0OMMbajiQQNlXFJ8XgguQ/MegEO74aY8rYTiZxijOEvXRuSm5fHGzM3u9NpXldfhSxSQnSauiQ16QtOHqz4yHYSkV8xxvD0TY24tU01hn+/kRe/WWc7kkjQUBmXpMR6UKk5LPvAdhKRAhljeKZbY/q1qsor0zfwzJRV5ObpPWSR4qYyLmlN+sLOpbBnje0kIgXyeAzP9khmUIcavDlrM3ePTeVwZrbtWCIBTWVc0hrfDMaro2PxaR6P4f9ubMQ/ejTmh3Xp9Bo+l+37j9mOJRKwVMYlLboc1L4Kln8IeXm204ic061tqvP2oNbszDhO91dns3DrAduRRAKSytiGJn0hYztsm2s7ich5daybwKQHOhAdEcKto+ZpgQmRYqAytqHBDRAapVPV4jdqJ0Yz8b721C0Xwz3vLNSayCJFTGVsQ1gUJN3kLquYnWk7jUihJESHM/6etrSvHc9jE5cxbPp6zdYlUkRUxrY06QMnMmC9VnIS/xEVHsKbd7Sie7NK/Ofrdfz1s1Xk6dInkUumGbhsqXEZRCXCyknuEosifiIsxMMLfZoRHx3Om7M2c+REDs/1TCbEq7/tRS6WytgWb4i7ktPS9yHrqHvqWsRPeDyGJ7s0JDYilBenrePoiRxe6teM8BCv7Wgifkl/ytrUuCdkH4N1OlUt/scYw8O/qctfuibx5Ypd3D12Icezcm3HEvFLKmObqrWD6PKw8mPbSUQu2l0da/L8zcnMXJ/ObW/+yP6jWbYjifgdlbFNHi8kdYf138CJw7bTiFy0vq2q8dotLVj+UwY3D5/D1n1HbUcS8SsqY9sa9YCcTFg71XYSkUtyfXJF3r+7DQePZdHjtTks2qbZukQKS2VsW9U2EFPJHVUt4udaVi/Lx/d3ICYihP6vz2Pqip22I4n4BZWxbR4PNOoOG76BzAzbaUQuWc2EKD6+rz2NKsUy5N1FvDxtva5FFjkPlbEvaNQTcrNg7Ze2k4gUifjocMbd3ZabW1ThxWnruP+9RRw9kWM7lojPUhn7giopULoqrNCoagkcEaFe/tO7CX/pmsTXq3bR87U5bNunZRhFCqIy9gXGuKeqN06H4xr0IoHDGMNdHWsy9s427DqUSc/hs9m8VyOtRc6kMvYVjXpAXjas/sx2EpEi17FuAhPva0+eAwNG/8ieQ1ogReR0KmNfUakFlK0NyybYTiJSLOqUi2bMwFbsO5LFgNHzyTiebTuSiM9QGfsKY6Bpf9gyEw5us51GpFg0rRrHyNtbsjH9CHePTSUzW9NnioDK2Lc06eN+1NGxBLBOdRP5b59mLNiynwffX0xObp7tSCLWqYx9SZnqUL0DLB0PWrRdAthNTSvx9I2N+GbVbv44cbmuQ5agpzL2NU37wb718NMi20lEitUd7WvwyDX1mLgojb9NWYWjP0AliKmMfU1SNwiJcNc5FglwD15Vh7s61uStOVt4adp623FErFEZ+5qI0tCgC6z4CHK0FJ0ENmMMT3ZpSO+WVXj52/WMmrnJdiQRK1TGvqhpf3fyj/Vf204iUuyMMfyzZzLXN67A3z9fzadLfrIdSaTEqYx9Ua0rIaqcTlVL0AjxenipXzPa1CzLHz5cypyNe21HEilRKmNf5A1xL3Na9xUc2287jUiJCA/x8vrtKdSIj+Ledxaydtdh25FESozK2Fc17edOj7liou0kIiWmdGQob93ZmlKhXgaOmc+uDE2bKcFBZeyrKiRDuSSVsQSdynGlGDOoFYeOZzNwzHwOHNVARgl8KmNf1qgnbJsLGWm2k4iUqEaVSjPi9pZs2nuUm0fMYft+Lb0ogU1l7Msa93Q/rvzEagwRGzrVTeTdu9qw9/AJeg6fw4qfMmxHEik2KmNfFl8bKjbTqWoJWq1rlmXife0J9Rj6jpzLzPXptiOJFAuVsa9r3BN2LIL9mgxBglPd8jF8fH8HqpaNZNCYBbw7b6umzpSAozL2dY16uB9XfGw3h4hFFUpHMGFIOzrWTeDJT1bw2EfLtPyiBBSVsa+LqwZV28DKSbaTiFgVGxHK6Dta8dDVdflwYRq9Rswh7YAGdklgUBn7g0Y9YfcK2LPGdhIRqzwewyPX1GPUgBS27jvGjf+bxY+b9tmOJXLJVMb+oFF3wMBKnaoWAfhNUnkmD+1ImagwBoyez7erd9uOJHJJVMb+IKYC1Ojovm+sgSsiANRMiOKjIe2pXyGGe95ZyKTFuh5f/JfK2F807gn71sOu5baTiPiMslFhjLu7La1rlOV3HyxlzOzNtiOJXBSVsb9o2A2M113nWEROiQ4PYcygVlybVJ6/frZKayKLX1IZ+4uoeKjzG1g2AfJ0SYfI6SJCvbx2awu6JFfk75+v5svlO21HErkgKmN/0uwWOLwTNn1nO4mIzwnxevhvn6a0qBbHbz9YwuJtB2xHEik0lbE/qX89RMTBknG2k4j4pIhQL28MSKF8bAR3j03VAhPiN1TG/iQkHJJ7w+opcPyg7TQiPik+OpzRA1uRnesw6K0FZBzLth1J5LxUxv6m2S2Qe0LXHIucQ51y0Yy4rSVb9x1l4FvzyTiuQhbfpjL2N5WaQ2JDnaoWOY92teP5X/8WrPgpg1tHzePA0SzbkUTOSmXsb4xxj47TFkD6OttpRHxa58YVeP32FNbtPkK/1+eRfviE7UgiBVIZ+6Mmfdxrjpfq6FjkfK5sUI4xA1uxbf8x+o6cy86M47YjifyKytgfxVRwrzleOl7XHIsUQoc6CYy9qzV7Dp+g1/C5bN571HYkkV8oVBkbYzobY9YaYzYYYx4/yzZXGGOWGGNWGmN+KNqY8iu65ljkgrSqUZb3727L8exceg2fw4qfMmxHEjnlvGVsjPECrwLXA0lAf2NM0hnbxAGvATc5jtMI6F30UeUXTl5zvPg920lE/EZyldJ8OKQdEaFe+r0+jzkb99qOJAIU7si4NbDBcZxNjuNkAeOBbmdscwvwseM42wAcx9lTtDHlV05ec7z2C8jUX/gihVU7MZqP7mtHxdIRDBy9gKkrdtmOJFKoMq4MbD/t67T8+05XDyhjjPneGLPQGDOgoBcyxtxjjEk1xqSmp6dfXGL5WdN+kJMJqz61nUTEr1QsXYoJ97ajUeVY7n9vIR+mbj//k0SKUWHK2BRw35mL6oYALYEuwHXAX4wx9X71JMd53XGcFMdxUhITEy84rJyhckuIr+MO5BKRC1ImKoz3BrehQ50EHv1oGW/O0vKLYk9hyjgNqHra11WAHQVsM9VxnKOO4+wFZgBNiyainJUx7tHx1tlwYIvtNCJ+JzIshFF3pHBDcgWembKKF75ei+OceawhUvwKU8YLgLrGmJrGmDCgHzD5jG0+BToZY0KMMZFAG2B10UaVAjXp635cNsFuDhE/FR7i5X/9W9A3pSqvTN/AXz9bpUKWEhdyvg0cx8kxxgwFvgK8wGjHcVYaY4bkPz7CcZzVxpipwDIgDxjlOM6K4gwu+eKqQY1O7qnqyx51j5ZF5IJ4PYbnbk4mJiKEUbM2ExXu5dHrGtiOJUHkvGUM4DjOF8AXZ9w34oyv/w38u+iiSaE17QefPgBpqVC1le00In7JGMMTXRpyNCuXV7/bSJnIMAZ3qmU7lgQJzcAVCBreBCGlYOn7tpOI+DVjDH/v3pgbkivw989XM0GjrKWEqIwDQUQsNOwKKyZCjibCF7kUXo/hxb7N6FQ3gccnLuOrlboOWYqfyjhQNOkHmQdh/de2k4j4vfAQLyNua0lylTiGjlvEhAU6QpbipTIOFLWugOjysESnqkWKQlR4CGPvbE3bWvE8NnEZ//h8Fbl5GmUtxUNlHCi8Ie5lTuumwmGdVhMpCqVLhTJmYCvuaFedN2Zu5u6xqRzOzLYdSwKQyjiQtBwITi4sftd2EpGAEeL18Ndujfl798b8sC6dXsPnsv9olu1YEmBUxoEkvjbUvAwWvQ15ebbTiASU29pW5+1Brdm87yhD3lnIiRytJS5FR2UcaFoOhIPbYNN020lEAk7Hugn8u1cT5m/Zz58mLtdMXVJkVMaBpsGNEJkAqWNsJxEJSN2aVeaRa+rx8eKfGDZ9g+04EiBUxoEmJAya3QJrv4RDO22nEQlID15Vh57NK/Pfb9YxeemZ6+aIXDiVcSA6OZBriQZyiRQHYwz/vDmZ1jXK8ocPl7Jo2wHbkcTPqYwD0cmBXAvHQp4GmYgUh/AQLyNvb0mF2AjuGbuQHQeP244kfkxlHKhaDoKMbbDxO9tJRAJWmagw3rwjhczsXAa/ncqxrBzbkcRPqYwDVYOu7kCuhRrIJVKc6paP4X/9m7Nm1yF+P2EpeZqlSy6CyjhQhYRB81vdgVyakUukWF3ZoBx/vqEhX67YxUvT1tmOI35IZRzIWtyhGblESshdHWvSu2UVXpm+gY8XpdmOI35GZRzI4mtDjU6waKxm5BIpZsYY/t6jMe1qxfPYR8v4YV267UjiR1TGga7FHXBwK2z+wXYSkYAXHuJl5ICW1C0fw33vLmRZ2kHbkcRPqIwDXcMboVQZWPiW7SQiQSE2IpS3B7WiTGQYg8YsYMveo7YjiR9QGQe60Aho2h/WfA5H99pOIxIUysVGMPau1uQ5DgNGz2fPoUzbkcTHqYyDQYs7IC8bloyznUQkaNROjGb0wFbsPXKCPiPnknbgmO1I4sNUxsGgXAOo2sYdyKVVZkRKTPNqZXjnrjbsP5pF7xFz2bDniO1I4qNUxsGixR2wbz1snWM7iUhQaVm9DOPvaUd2bh59Rs5lxU8ZtiOJD1IZB4tGPSC8NCx623YSkaCTVCmWD4e0p1Sol/6vz2Puxn22I4mPURkHi7BIaNIbVn4CR/UPgUhJq5kQxYdD2lG+dAQDRv/IhNTttiOJD1EZB5NWd0PuCUgdbTuJSFCqFFeKife1p01Nd2KQ575co7msBVAZB5dyDaDOb2DBG5BzwnYakaBUulQoYwa14pY21Rjxw0bue2+hVnsSlXHQaXs/HNkNKybaTiIStEK9Hv7RvTFPdU3im1W7GTh6gQo5yKmMg03tqyCxIcx9TZc5iVhkjOHOjjV5uV9zUrfu5+6xqWRm59qOJZaojIONMdDufti9HDbPsJ1GJOjd2LQS/+ndlDkb93Hfuws5kaNCDkYq42CU3AciE2Dea7aTiAjQs0UVnu2RzHdr03lw3GKyc7XKWrBRGQej0AhodResmwp7N9hOIyJA/9bV+OtNjfh61W7uf2+R3kMOMirjYNVqMHjDdHQs4kPuaF+Dv97UiG9X76b3iLnszDhuO5KUEJVxsIou556uXjIOju23nUZE8t3RvgZv3tGKrfuO0W3YbJZuP2g7kpQAlXEwa3c/5BzXWsciPubKBuWYeF97Qr0e+oycyxfLd9qOJMVMZRzMyjeCmpfD/DcgN9t2GhE5Tf0KMXw6tAONK5fmgXGLGDt3i+1IUoxUxsGu3QNweIc7Z7WI+JSE6HDeG9yGqxuU56lPV/LC12txND9AQFIZB7s610B8XZj3qiYBEfFBEaFeRtzWgj4pVXhl+gb+PGkFuZrPOuCojIOdxwNth8COxbBtnu00IlKAEK+H529uwv1X1Ob9+du4713NZx1oVMYCTftDRJwucxLxYcYYHuvcgKdvTGLa6t3cPHwuaQeO2Y4lRURlLBAWBSmDYM0UOLDFdhoROYeBHWoyemAr0g64lz4t2KJLEwOBylhcre8B44EfX7edRETO44r65fjkgQ6ULhXKLW/MY8KC7bYjySVSGYsrthI06gGLxkLmIdtpROQ8aidGM+n+DrStFc9jE5cxauYm25HkEqiM5WftHoCsw7BwjO0kIlIIpSNDGT2wFV2SK/L3z1fz2veaa95fqYzlZ5WaQ60rYO6rkJ1pO42IFEKo18PL/ZrRrVkl/jV1LS9PW287klwElbH8UsdH4MhuWDrOdhIRKaQQr4cX+jTj5hZVeHHaOv7zlSYH8TcqY/mlmpdB5ZYw+2XI1XWMIv7C6zH8u1cT+reuyrDvNvDHicu0LrIfURnLLxkDHX/nXuK06hPbaUTkAng8hmd7JPPQ1XWZkJrGwDHzyTiueef9gcpYfq1+F0ioD7Ne1BSZIn7GGMMj19TjP72bMn/zfnoNn8P2/ZocxNepjOXXPB7o+FvYvQLWf2M7jYhchF4tq/D2na3ZfSiTHq/NZsVPGbYjyTmojKVgyb2hdFWY9YLtJCJykdrXTuDj+zsQHuKl3+vzmLNhr+1IchYqYymYNxTaPwjb5sLWubbTiMhFqlMumon3tadSXAQDxyzgi+U7bUeSAqiM5eya3w6lysDcYbaTiMglqFA6ggn3tiO5SmkeGLeId+dttR1JzqAylrMLi4SUO2HN57BfU+2J+LO4yDDevasNV9Yvx5OfrODpySvJytGlT75CZSzn1upu8ITAjyNtJxGRS1QqzMvI21syqEMN3pqzhX6vz2VnxnHbsQSVsZxPbEVo3BMWvwuZGo0p4u9CvR7+78ZGDLulOWt3HabLK7OYuT7ddqygpzKW82t7P2QdcVd0EpGA0LVJJT4d2pGE6DAGjJ7P2LlbbEcKaipjOb9KzaB6R/dUtabIFAkYdcpF88kDHbi6QXme+nQlI37YaDtS0FIZS+G0ux8ytsPqybaTiEgRigwLYfhtLejapCLPfbmGF77WIhM2hNgOIH6iXmcoW8tdXrFxT9tpRKQIucswNicyzMsr0zdwLCuXJ7o0xBhjO1rQ0JGxFI7HC23ug59SYduPttOISBHzegzP9WzCwPY1GDVrM/83eaWOkEuQylgKr9kt7iQgM/9rO4mIFAOPx/B/NyZxz2W1GDt3K3/9bJUKuYToNLUUXni0O0Xmt3+Dnxa66x6LSEAxxvCn6xuQl+cwatZmjIGnuibplHUx05GxXJjW97hHx98/bzuJiBQTYwxPdGnInR1qMmb2Fp6ZslpHyMVMZSwXJjzGPTpe/5V7dCwiAckYw1+6NmRg+xqMnr2ZP328nMzsXNuxApbKWC6cjo5FgoIx7nvID1xZm/ELttNn5Fy27z9mO1ZAUhnLhQuPgXZDdXQsEgSMMTx6XQNG3t6SzelHuXHYLL5bu8d2rICjMpaLo6NjkaByXaMKfPZgRyrERnDnWwv45xerOZ6l09ZFRWUsFyciVkfHIkGmRkIUk+7vQL9WVRk5YxPXvvQD3+souUiojOXinTw6/u6ftpOISAkpFeblnz2b8P7dbQn1ehg4ZgFDxy1iz+FM29H8mspYLl5ELLR/CDZ8A9vn204jIiWoXe14vny4E49cU4+vV+3mxv/NYsOew7Zj+a1ClbExprMxZq0xZoMx5vFzbNfKGJNrjOlVdBHFp7W+ByITYPrfbScRkRIWHuLloavrMnloB/Ic6DNyHit+0rrnF+O8ZWyM8QKvAtcDSUB/Y0zSWbZ7HviqqEOKDwuPhk6PwOYfYPNM22lExIIGFWKZcG87IkI89H9jHgu3HrAdye8U5si4NbDBcZxNjuNkAeOBbgVs9yAwEdC7+cEm5U6IqQjf/QM0S49IUKqZEMWEIe2Ijwrj9jd/ZM6GvbYj+ZXClHFlYPtpX6fl33eKMaYy0AMYUXTRxG+EloJOv4dtc2HjdNtpRMSSKmUimXBvO6qUKcXAMQv4dMlPtiP5jcKUcUGzg595+PMS8EfHcc550Zkx5h5jTKoxJjU9Pb2QEcUvtBgAsVV0dCwS5MrFRjDh3nY0qxbHw+OX8Op3GzSvdSEUpozTgKqnfV0F2HHGNinAeGPMFqAX8JoxpvuZL+Q4zuuO46Q4jpOSmJh4cYnFN4WEw+WPutccr5tqO42IWBQXGcY7d7WmW7NK/Purtfzp4+Vk5+bZjuXTClPGC4C6xpiaxpgwoB8w+fQNHMep6ThODcdxagAfAfc7jvNJUYcVH9fsVihTwz06ztP/eCLBLDzEy0t9m/HgVXUYv2A7d761gIzj2bZj+azzlrHjODnAUNxR0quBCY7jrDTGDDHGDCnugOJHvKFwxZ9g13JYPfn824tIQDPG8Ptr6/Ovm5swb9M+erw2m03pR2zH8knG1rn8lJQUJzU11cr3lmKUlwuvtQUM3D8XPF7biUTEB8zfvJ8h7y4kOzePYbe04PJ6wflWpTFmoeM4KWferxm4pGh5vHDln2HvWlj+ke00IuIjWtcsy6cPdKByXCkGjZnPqJmbNLDrNCpjKXoNu0H5ZPj+n5Cr94hExFW1bCQT72vPtUkV+Pvnq3nw/cUcPZFjO5ZPUBlL0fN44Kon4MBmWDLOdhoR8SFR4SG8dmsLHutcny+W76Tbq7M1pzUqYyku9TpD5Zbww78g54TtNCLiQzwew/1X1OHdu9pw4GgWNw2bzZRlZ14xG1xUxlI8jIGrnoRDabDwLdtpRMQHta+TwOcPdaJBhRiGjlvM2LlbbEeyRmUsxafWlVC9I/zwPBw/aDuNiPigCqUjGH9PO65NKs9Tn67k3XlbbUeyQmUsxccY6PwsHNvvFrKISAHCQjwMu6UFv2lYjic/WcH787fZjlTiVMZSvCo2deetnv86pK+1nUZEfFRYiIdXb23BlfUT+dPHy5mwYPv5nxRAVMZS/K5+CkKjYOqftIiEiJxVeIiX4be1pFPdBP748TJe/GYdOUEyp7XKWIpfVAJc8Ths/BbWfWU7jYj4sIhQL28MSKFH88q8/O16+r0+j7QDx2zHKnYqYykZre+GhHrw1Z90qZOInFNEqJcX+jTj5X7NWLPrMNe/PDPgL31SGUvJ8IZC53/C/k0wb7jtNCLiB7o1q8wXD3WidmI0Q8ct5p9friYvLzDf6lIZS8mp8xuodz3M+Dcc3mU7jYj4gWrxkXw4pB23t63OyB828fsPl5KVE3jvI6uMpWRd9w/IzYJpf7WdRET8RKjXw9+6NeLR6+ozafFP3PX2Ao4E2JzWKmMpWfG1oe39sHQcpGkJTREpHGMMD1xZh3/1asKcjfvoO3IuuzIybccqMipjKXmX/QGiK8AXj0Je4J1uEpHi0yelKqPuSGFT+lE6vzwjYAZ2qYyl5IXHwDV/hR2L3CNkEZELcGX9ckx5qCPV46MYOm4xD72/mIPHsmzHuiQqY7EjuQ9Uae2+d5x5yHYaEfEztROjmTikHY9cU48vlu/kupdmMGNduu1YF01lLHZ4PHD983A0XfNWi8hFCfF6eOjquky6vwMxEaEMGD2fv3yygmNZ/je4S2Us9lRuAc1vgx9HwO5VttOIiJ9KrlKaKQ92ZHDHmrz741ZueHkmi7YdsB3rgqiMxa7f/BXCY2HK7zSYS0QuWkSolye7JjFucFuycx16DZ/D8O832o5VaCpjsSsqHq59BrbPg8Xv2E4jIn6uXe14pv62EzckV+T5qWt44Zt1OH6wQI3KWOxrditU7wDfPAVH99pOIyJ+LiYilJf7Nad3yyq88u16/vP1Wp8vZJWx2GcMdH0Rso7C10/aTiMiAcDrMTx/cxP6t67Kq99t5Lmpa3y6kFXG4hsS60OHh2Hp+7B5hu00IhIAPB7DP7onc1vbaoz8YRNPT17ps+sjq4zFd1z2ByhTwx3MpWUWRaQIeDyGZ7o1ZnDHmrw9dyuD3lpAxrFs27F+RWUsviO0FHR5AfZtgJkv2E4jIgHCGMOTXZP4Z89k5m3aR4/XZrMx/YjtWL+gMhbfUudqSO4Ns16A9LW204hIAOnfuhrvDW5LxvFsug+bzXdr99iOdIrKWHzPdf+E0Ej47Le69lhEilTrmmX5dGgHqpaN5M63FvDStHXk5dkf2KUyFt8TnQjX/h22zdG1xyJS5KqUiWTife3p0awyL01bz6C3FnDgqN2FJlTG4pua3wbVO8I3f4HDu22nEZEAUyrMy3/7NOUfPRozd+M+uv5vFku3H7SWR2UsvskYuPElyD4OX/3JdhoRCUDGGG5tU50Ph7QDoNcIdwrNXAunrVXG4rsS6sJlj8KKibDqU9tpRCRANa0ax5QHO3J1g/I8P3UN/d+YR9qBYyWaQWUsvq3j76BSC5j8EGSk2U4jIgGqTFQYw29rwb97NWHlTxlc/9JMJi1OK7FZu1TG4tu8oXDzKMjNhklDIC/XdiIRCVDGGHqnVOXLhy+jfoUYHv1wGdv2l8wRsspYfF98bbjh37BlJsx+yXYaEQlw1eIj+eDednxwb1uqx0eVyPdUGYt/aHYLNOoB3z0LPy20nUZEApzXY2hZvWyJfT+VsfiHkys7xVSEiYPhxGHbiUREiozKWPxHqTLQ83XYvxm+esJ2GhGRIqMyFv9SvT10eAgWvQ3rvrKdRkSkSKiMxf9c+QSUawSfDoWj+2ynERG5ZCpj8T8h4dBzJBw/AFN+CyV0HaCISHFRGYt/qpAMVz0BqyfDsgm204iIXBKVsfiv9g9B1bbwxaNwYKvtNCIiF01lLP7L44Uew93P3++vy51ExG+pjMW/la0FvcdA+hr3+mNNlykifkhlLP6vztVw/fOwbipM+z/baURELliI7QAiRaL13ZC+Fub8DxLqQYsBthOJiBSajowlcHR+DmpfBVN+B1tm204jIlJoKmMJHN4Q6DUGytSECQPg4HbbiURECkVlLIGlVBz0fx9ys2D8LZBVMmuRiohcCpWxBJ6EunDzKNi1HCY/qBm6RMTnqYwlMNW7Dq56ElZ8BHNesZ1GROScVMYSuDr9HpK6w7SnYf0022lERM5KZSyByxjo/pq7wtOHA2HXCtuJREQKpDKWwBYWBbd8AOHRMK4PHNppO5GIyK+ojCXwla4Mt0yAzAy3kE8csZ1IROQXVMYSHCo2ca9B3r0CProTcnNsJxIROUVlLMGj3rVww79h/Vcw9XHbaURETtHc1BJcWg2G/Zth7jCIrwNth9hOJCKiMpYgdM3f4MAW+OpPUKYG1O9sO5GIBDmdppbg4/FCz9ehQhP3/eOdy2wnEpEgpzKW4BQWBf3Hu3NZj+sLh3bYTiQiQUxlLMErtqJ7ydOJQ/DuzXB0n+1EIhKkVMYS3Co0hn7vwf5N8E43OLbfdiIRCUIqY5FaV7iFnL4W3ukBxw/aTiQiQUZlLAJQ5zfQ9z3YvRLe7enO1iUiUkJUxiIn1bsW+oyFnUvhvd6aNlNESozKWOR0DW6AXqMhLRXe7wfZx20nEpEgoDIWOVNSN+g+HLbMgg9uh5wTthOJSIBTGYsUpGlfuPEl2PANTLxLC0uISLFSGYucTcuB0Pk5WP0ZfDIE8nJtJxKRAFWoMjbGdDbGrDXGbDDG/Gq5G2PMrcaYZfm3OcaYpkUfVcSCtvfB1f8Hyz+Ej+/REbKIFIvzLhRhjPECrwLXAGnAAmPMZMdxVp222WbgcsdxDhhjrgdeB9oUR2CREtfpETAGpj0NTi70fAO8obZTiUgAKcyqTa2BDY7jbAIwxowHugGnythxnDmnbT8PqFKUIUWs6/g7MF745i/u6epeo1XIIlJkCnOaujKw/bSv0/LvO5u7gC8vJZSIT+rwEFz3LKyeDB8O1ChrESkyhSljU8B9ToEbGnMlbhn/8SyP32OMSTXGpKanpxc+pYivaPcAXP8vWDMF3u8PWcdsJxKRAFCYMk4Dqp72dRXgV+vNGWOaAKOAbo7jFLj8jeM4rzuOk+I4TkpiYuLF5BWxr829cNP/YON0d7WnzEO2E4mInytMGS8A6hpjahpjwoB+wOTTNzDGVAM+Bm53HGdd0ccU8TEtBkCvNyFtPoy9Sas9icglOW8ZO46TAwwFvgJWAxMcx1lpjBlijBmSv9lTQDzwmjFmiTEmtdgSi/iKxjfnLy6xCsbcAAe22k4kIn7KOE6Bb/8Wu5SUFCc1VZ0tAWDzDBh/G3hD3IUmanS0nUhEfJQxZqHjOCln3q8ZuEQuVc3L4O7pEBkPY7vBglFg6Y9cEfFPKmORopBQBwZPg9pXw+e/h88ehpws26lExE+ojEWKSkRp6P8+dHwEFr0N73SHowVeWCAi8gsqY5Gi5PHCb/4Peo5y10QedRXsWWM7lYj4OJWxSHFo0hsGfeFOCvLmNbB+mu1EIuLDVMYixaVKijuwK646jOsNM/8LeXm2U4mID1IZixSnuKpw51RI6g7f/s0t5aN7bacSER+jMhYpbuHR7ipPXf7rXpM8ohNsnWs7lYj4EJWxSEkwBloNdi9/CgmHt7rotLWInKIyFilJFZvCvTMg6Sb3tPV7N8ORPbZTiYhlKmORkhYRC73GQNeXYOscGNERNn1vO5WIWKQyFrHBGEgZ5I62jigNY7vD1D9pOUaRIKUyFrGpfCO453tIuRPmDYdhrWDFRM1tLRJkVMYitoVFQdcXYPC3EFMePrrTnUpz7wbbyUSkhKiMRXxFlZZw93dww3/gp8UwogPMfhlyc2wnE5FipjIW8SUeL7S+G4bOhzq/gW+ecqfT3L3KdjIRKUYqYxFfFFMB+r7rjro+uBVGXgbfPQvZx20nE5FioDIW8VXGQOOe8MB8aNQdfngehrWGVZM1wEskwKiMRXxdVALcPArumALhMTDhdneAV/pa28lEpIiojEX8Rc1O7uxd1/8LdiyG4e1h2l/dZRpFxK+pjEX8iTcE2twLDy6CJn1h1gvwWhtY97XtZCJyCVTGIv4oKgG6vwYDP4eQUu7SjONvhf2bbCcTkYugMhbxZzU6wpBZcPVTsPE7d4DX1D/D8QO2k4nIBVAZi/i7kDDo9Ht4aBE07QfzXoOXm8HcVyE703Y6ESkElbFIoIipAN2GuUfKlZrDV3+GV5rB/Dcg54TtdCJyDipjkUBToTEM+ATu+AzK1IAv/gCvtIDU0ZCTZTudiBRAZSwSqGpeBoO+hNs/gdhKMOV3MKwlLHpH812L+BiVsUggMwZqXwl3fQ23ToTIeJg8FF5tBUs/UCmL+AiVsUgwMAbq/sZdFarfOAiNhEn3wLAUWPiW3lMWsUxlLBJMjIEGXeDemdDnHSgVB589DC83hTnD4MRh2wlFgpLKWCQYeTyQdJN7pHz7JIivA18/AS82gmlPw+FdthOKBBWVsUgwMwZqXwUDp8Dgb6HWFTD7ZXgpGT55AHavtJ1QJCiE2A4gIj6iSgr0GetOqTn3NVj8Lix5F2p0grb3Qb3O4PHaTikSkIxjaV3UlJQUJzU11cr3FpFCOLYfFo11Jw05lAZx1aDV3dD8NogsazudiF8yxix0HCflV/erjEXknHJzYO3n8ONI2DobQiKgcS9oPdid6UtECu1sZazT1CJybt4QSOrm3navdI+Ul33gnsKu1Bya3QrJvaBUGdtJRfyWjoxF5MIdPwhLx8Pid2D3CvCGQ8MbofmtUPMKd7S2iPyKTlOLSNFzHNi51B3stXwCZGZA6WpuKTe7FeKq2k4o4lNUxiJSvLIzYc0Ut5g3fe/eV7MTNOoBDW+CqASr8UR8gcpYRErOga2wZBys+Aj2bQDjcS+RatRdxSxBTWUsIiXPcdz3lFd+Aisnwf6NKmYJaipjEbHrVDFPcsv5ZDFX7+CWcsOu7lKPIgFMZSwivuNkMa/6FFZNhr1r3furtIIGXd1bQh27GUWKgcpYRHxX+lpYPRlWf+aOzgZIqOeuMFW/C1RuqculJCCojEXEPxzcDmu/dEdmb5kFTi5ElYP6naH+De77zeHRtlOKXBSVsYj4n+MHYP00WPsFbJgGJw6BJxSqtoHaV7q3is20gIX4DZWxiPi3nCx3buxN38HG72DXMvf+8NJQvb17TXONTlC+sU5pi8/S3NQi4t9Cwn4+Gr4GOJIOm3+AzTNgy0xY96W7XWRC/nZXux9jKliNLVIYKmMR8U/Rie4CFcm93K8z0mDzzPwj5+mw/EP3/oT6UL0dVGvvfoyrZi+zyFnoNLWIBJ68PNi93C3lLbNh+4/u+80AsVWgRgf31Hb1jhBfG4yxm1eCht4zFpHglZcLe1bB1rnu+85bZ8PRdPexyHj30qlKLdyPlVtCVLzdvBKw9J6xiAQvjxcqJLu3Nve4k47s2+BeOpWWCj8thPXfAPkHJ2VqQOUUqJLilnT5JAiPsfkTSIBTGYtI8DEGEuq6t5RB7n0nDsOOJbBjkVvQ2+a6C12cVKYmlG+UX+pNoGJTd/pOneKWIqAyFhEB98i3Zif3dtKhnbBziTt1564VsHslrPmcU0fQkfH5xdzE/VihifsetK57lgukMhYROZvYiu6t/vU/35d11C3lnUt/vs19DfKy3cdDIyGxgXtqu1wjKNfQvfY5OtHOzyB+QWUsInIhwqKgamv3dlJOlrvYxa7lsHMZ7FkJa6fC4nd/3iYqEcoluae6yyW5ZZ3YEMIiS/5nEJ+jMhYRuVQhYT8PEGt2y8/3H9njHkXvWQW7V7klnToGco7nb2CgbE23lBPruddEJ9aD+LoQEWvlRxE7VMYiIsUlupx7q33lz/fl5cKBLb8s6PS1sP7rn091gzuTWHxtKFvr51uZmm55lyqjgWMBRmUsIlKSPF63ZONrQ8Mbf74/N9st6fQ1sG8j7N8I+zfDph9g6fu/fI2I0vkFfVpZnyzuyHgVtR9SGYuI+AJv6M+XW50p+7hb1Ps3w/5NPxd12gJY+TE4eT9vG14aytZwZxqLrQSlK0NsZShdFeKqQkxFjfb2QSpjERFfF1rKHZVdruGvH8vJgoNb3ZLet9H9eGCze9s6CzIzfrm9J8Qt59hK7iIaMfkfYytB6fwCj6no/nEgJUZlLCLiz0LCzn5EDe5kJod2wMHtkLEt/2MaHN7pjvxe9xVkHzvjScYd/R1TwS3mk2V9ssRLV3HvD4/RKfEiojIWEQlk4TGQWN+9FcRx3EU0Du2AjJ/gUP7t8E44vMv9uGPRz3N5ny4kIn+QWnn3FlMBoivkfyzvXlsdlegORguNKN6f08+pjEVEgpkx7oCwiNIFnwY/KScLDu/4ubSP7IIju93Ltw7vck+Rb50Nxw8U/PzwWHdwWVSCW85RCRBZ1r2vVNmfHzv5eJAddauMRUTk/ELC3AU0ytQ493bZmflFvQeO7nWPqE/d9sKxvZCxHXYshuP7ITer4NfxhrtlXapsfmnnF3Zkws/FXSrOvczr5C28NHg8RfyDlwyVsYiIFJ3QiMKVNrinyLOOwLH9cGyfeztZ2kfT3bI+dsD9uGd1/jb7OTU3+K/kH+WXKuMWdUTcLz+WKvPrz0+eFQiPtVrkKmMREbHDGPd0dHgMlKleuOfk5cLxg+4R9vED7ufH8wv7+EHIPPl1/mMZ23/+3Mk9Vxi3kMNj3NnPTn7e6023rIuZylhERPyHxwtR8e7tQpw8Cj9V2PkfMzN+eTtxOP/jIbfwvWFF/zMUQGUsIiKB7/SjcKraTvMr/vlOt4iISABRGYuIiFimMhYREbGsUGVsjOlsjFlrjNlgjHm8gMeNMeaV/MeXGWNaFH1UERGRwHTeMjbGeIFXgeuBJKC/MSbpjM2uB+rm3+4BhhdxThERkYBVmCPj1sAGx3E2OY6TBYwHup2xTTdgrOOaB8QZYyoWcVYREZGAVJgyrgxsP+3rtPz7LnQbERERKUBhyrigmbrPnIusMNtgjLnHGJNqjElNTy9gBRAREZEgVJgyTuOXV0hXAXZcxDY4jvO64zgpjuOkJCYmXmhWERGRgFSYMl4A1DXG1DTGhAH9gMlnbDMZGJA/qrotkOE4zs4izioiIhKQzjsdpuM4OcaYocBXgBcY7TjOSmPMkPzHRwBfADcAG4BjwKDiiywiIhJYCjU3teM4X+AW7un3jTjtcwd4oGijiYiIBAfNwCUiImKZylhERMQylbGIiIhlKmMRERHLVMYiIiKWqYxFREQsM+5VSRa+sTHpwNYifMkEYG8Rvp6/0n7QPjhJ+0H74CTtB9/ZB9Udx/nVFJTWyrioGWNSHcdJsZ3DNu0H7YOTtB+0D07SfvD9faDT1CIiIpapjEVERCwLpDJ+3XYAH6H9oH1wkvaD9sFJ2g8+vg8C5j1jERERfxVIR8YiIiJ+yS/K2BjT2Riz1hizwRjzeAGPG2PMK/mPLzPGtCjsc/3FJe6DLcaY5caYJcaY1JJNXrQKsR8aGGPmGmNOGGP+cCHP9ReXuA+C6Xfh1vz/F5YZY+YYY5oW9rn+4hL3QTD9LnTL3wdLjDGpxpiOhX1uiXEcx6dvuGsobwRqAWHAUiDpjG1uAL4EDNAW+LGwz/WH26Xsg/zHtgAJtn+OEtoP5YBWwD+AP1zIc/3hdin7IAh/F9oDZfI/vz5I/10ocB8E4e9CND+/LdsEWONrvwv+cGTcGtjgOM4mx3GygPFAtzO26QaMdVzzgDhjTMVCPtcfXMo+CCTn3Q+O4+xxHGcBkH2hz/UTl7IPAklh9sMcx3EO5H85D6hS2Of6iUvZB4GkMPvhiJPfvkAU4BT2uSXFH8q4MrD9tK/T8u8rzDaFea4/uJR9AO4v3tfGmIXGmHuKLWXxu5T/nsH0u3Auwfq7cBfumaOLea6vupR9AEH2u2CM6WGMWQN8Dtx5Ic8tCSE2vukFMgXcd+YQ8LNtU5jn+oNL2QcAHRzH2WGMKQd8Y4xZ4zjOjCJNWDIu5b9nMP0unEvQ/S4YY67ELaKT7xMG3e9CAfsAgux3wXGcScAkY8xlwDPAbwr73JLgD0fGaUDV076uAuwo5DaFea4/uJR9gOM4Jz/uASbhnprxR5fy3zOYfhfOKth+F4wxTYBRQDfHcfZdyHP9wKXsg6D7XTgp/w+O2saYhAt9brGy/eb7+W64R++bgJr8/AZ7ozO26cIvBy/NL+xz/eF2ifsgCog57fM5QGfbP1Nx7YfTtn2aXw7gCprfhXPsg6D6XQCqARuA9he7D335don7INh+F+rw8wCuFsBP+f9W+szvgvUdWcidfQOwDnfU2xP59w0BhuR/boBX8x9fDqSc67n+eLvYfYA7SnBp/m2lP++DQu6HCrh/7R4CDuZ/HhtkvwsF7oMg/F0YBRwAluTfUs/1XH+8Xew+CMLfhT/m/5xLgLlAR1/7XdAMXCIiIpb5w3vGIiIiAU1lLCIiYpnKWERExDKVsYiIiGUqYxEREctUxiIiIpapjEVERCxTGYuIiFj2/+htjSffsxW0AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(ths, F1_scoreMM, label='Ours')\n", "plt.plot(ths, F1_scoreTh, label='Thresholding')\n", "plt.legend()\n", "plt.title('$F_1$-score')" ] } ], "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }