{ "cells": [ { "cell_type": "code", "execution_count": 15, "id": "b1c8f5ac", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "2856583d", "metadata": {}, "outputs": [], "source": [ "result_paths = [\"/data/yzhouc01/FILIP-MS/experiments/20250930_optimized_flare_42/main_result/result_MassSpecGym_retrieval_candidates_mass.pkl\",\n", "\"/data/yzhouc01/FILIP-MS/experiments/20250930_optimized_flare_42/result_top5.pkl\",\n", "\"/data/yzhouc01/FILIP-MS/experiments/20250930_optimized_flare_42/result_softmax05.pkl\",\n", "\"/data/yzhouc01/FILIP-MS/experiments/20250930_optimized_flare_42/result_geom1e-6.pkl\"]\n", "\n", "methods = ['standard', 'top5', 'softmax', 'geom']" ] }, { "cell_type": "code", "execution_count": 4, "id": "ad1083b0", "metadata": {}, "outputs": [], "source": [ "result_dict = {}\n", "for p, m in zip(result_paths, methods):\n", " with open(p, 'rb') as f:\n", " result_dict[m] = pickle.load(f)" ] }, { "cell_type": "code", "execution_count": 9, "id": "42f87b88", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
1520
standard0.4315330.7559240.928913
top50.2378100.5381640.807986
softmax0.1120410.3523010.730178
geom0.1924130.3783320.502335
\n", "
" ], "text/plain": [ " 1 5 20\n", "standard 0.431533 0.755924 0.928913\n", "top5 0.237810 0.538164 0.807986\n", "softmax 0.112041 0.352301 0.730178\n", "geom 0.192413 0.378332 0.502335" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "topk = [1,5,20]\n", "result_data = []\n", "for m in result_dict:\n", " curr_result = [] \n", " for k in topk:\n", " curr_result.append(len(result_dict[m][result_dict[m]['rank'] <= k])/len(result_dict[m]))\n", " result_data.append(curr_result)\n", "\n", "result_df = pd.DataFrame(result_data, index=result_dict.keys(), columns=topk)\n", "result_df" ] }, { "cell_type": "code", "execution_count": 18, "id": "252767dd", "metadata": {}, "outputs": [], "source": [ "def get_target_score(scores, labels):\n", " return np.array(scores)[np.array(labels)][0]\n", "\n", "def get_avg_cand_scores(scores, labels):\n", " return np.mean(np.array(scores)[~np.array(labels)])\n", "\n", "for m, r in result_dict.items():\n", " r['target_score'] = r.apply(lambda row: get_target_score(row['scores'], row['labels']), axis=1)\n", " r['avg_cand_scores'] = r.apply(lambda row: get_avg_cand_scores(row['scores'], row['labels']), axis=1)\n" ] }, { "cell_type": "code", "execution_count": 40, "id": "26b609ca", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAPdCAYAAACXzguGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAviJJREFUeJzs3X98jvX////7zHbuh53nkP3KsEwYRlRMkSKj8VLxLuWFinzUVCiT10uSfiglFPFK5UfZSyp6vbMyC6MXS6jlR1I0pmZWaZuf22zH94++O96dNjKdx879uF0vl/NS53E8j+N4HGe79Djv5/HLwzAMQwAAAAAAwOXquLsAAAAAAABqKkI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgkbruLqA6KCkpUVZWlgICAuTh4eHucgAAcDnDMHT8+HGFhYWpTp2//ps8vRMAUNNdbO8kdF+ErKwshYeHu7sMAAAsd/jwYTVu3Pgvr4feCQCoLf6sdxK6L0JAQICk3z9Mu93u5moAAHC9/Px8hYeHmz3vr6J3AgBquovtnYTui1B6WpzdbueLAwCgRnPVqeD0TgBAbfFnvZMbqQEAAAAAYBFCNwAAAAAAFiF0AwAAAABgEa7pBoAqori4WEVFRe4uAzWUl5eXPD093V0GALgUvRNWclXvJHQDgJsZhqHs7Gzl5ua6uxTUcIGBgQoJCeG52QCqPXonKosreiehGwDcrPRLQ1BQkPz8/AhEcDnDMHTq1Cnl5ORIkkJDQ91cEQD8NfROWM2VvZPQDQBuVFxcbH5paNiwobvLQQ3m6+srScrJyVFQUBCnmgOotuidqCyu6p3cSA0A3Kj0OjQ/Pz83V4LaoPTvjOsfAVRn9E5UJlf0TkI3AFQBnBaHysDfGYCahP+noTK44u+M0A0AAAAAgEUI3QAAAAAAWIQbqQFAFZX0QValbi9uYFiFxvfo0UMdOnTQ7NmzrSnoElTFmgAAlacyeyd9ExeLI90AALcqLCx0dwmWqun7BwCoXDW9r9TE/SN0AwAq7J577tHGjRs1Z84ceXh4yMPDQwcPHlRxcbFGjBihiIgI+fr6qmXLlpozZ06ZZW+99VY9++yzCgsLU8uWLSVJW7ZsUYcOHeTj46Orr75aH374oTw8PJSenm4uu3v3bvXt21f16tVTcHCwhg4dql9++eWCNZXntddeU4sWLeTj46Pg4GANGjTInFdSUqIZM2YoMjJSNptNTZo00bPPPmvO37Vrl2666Sb5+vqqYcOGGjVqlE6cOPGn+3f48GHdcccdCgwMVIMGDTRgwIDz1gcAqFnom7W7b3J6OQCgwubMmaPvvvtObdu21bRp0yRJjRo1UklJiRo3bqz33ntPDRs21JYtWzRq1CiFhobqjjvuMJdft26d7Ha7UlJSJEn5+fnq37+/brnlFiUmJurQoUMaO3as0zZzc3N10003aeTIkZo1a5ZOnz6tiRMn6o477tD69evPW9O5tm/frocfflhvv/22unbtqmPHjumzzz4z50+aNEkLFy7UrFmzdP311+vIkSP69ttvJUknT55UbGysYmJitG3bNuXk5GjkyJEaM2aMFi9efN79KyoqMpf77LPPVLduXT3zzDPq06ePdu7cKW9v77/+HwUAUGXRN2t33yR0AwAqzOFwyNvbW35+fgoJCTGne3p66qmnnjLfR0REKC0tTStWrHD68uDv76833njDbJoLFiyQh4eHFi5cKB8fH0VFRemnn37S/fffby4zd+5cXXXVVXruuefMaW+99ZbCw8P13Xff6corryy3pnNlZmbK399f/fr1U0BAgJo2baqrrrpKknT8+HHNmTNHc+fO1fDhwyVJzZs31/XXXy9JSkxM1JkzZ7R06VL5+/ubdfXv318vvPCCgoODy92/d955RyUlJXrjjTfMR48sWrRIgYGBSk1NVe/evSv6nwAAUI3QN2t33yR0AwBcat68eXrrrbeUmZmp06dPq7CwUB06dHAa065dO6dfqfft26fo6Gj5+PiY06699lqnZb7++mtt2LBB9erVK7PNAwcO6Morr7yo+m6++WY1bdpUV1xxhfr06aM+ffrotttuk5+fn/bu3auCggL17Nmz3GX37t2r9u3bm18cJOm6665TSUmJ9u3bZ355OHf/vv76a+3fv18BAQFO6ztz5owOHDhwUXUDAGom+mbN75uEbgCAyyxfvlyPPfaYZs6cqZiYGAUEBOjFF1/U1q1bncb9sflerBMnTpi/jJ8rNDT0otcTEBCgL7/8UqmpqVq7dq2mTJmiqVOnatu2bfL19a1wXeU5d/9OnDihTp06admyZWXGlncqHwCgdqBv/q6m901CNwDgknh7e6u4uNhp2ubNm9W1a1c9+OCD5rSL+UW6ZcuWeuedd1RQUCCbzSZJ2rZtm9OYjh076oMPPlCzZs1Ut2757au8mspTt25d9erVS7169dKTTz6pwMBArV+/Xrfccot8fX21bt06jRw5ssxyrVu31uLFi3Xy5EnzC8LmzZtVp04d88Yv5enYsaPeffddBQUFyW63/2l9AICah75Ze/smdy8HAFySZs2aaevWrTp48KB++eUXlZSUqEWLFtq+fbuSk5P13Xff6YknnijzJaA8d999t0pKSjRq1Cjt3btXycnJeumllyTJvJYrPj5ex44d01133aVt27bpwIEDSk5O1r333mt+YSivpnOtXr1ar7zyitLT03Xo0CEtXbpUJSUlatmypXx8fDRx4kQlJCRo6dKlOnDggD7//HO9+eabkqQhQ4bIx8dHw4cP1+7du7VhwwY99NBDGjp0qHmKXHmGDBmiyy67TAMGDNBnn32mjIwMpaam6uGHH9aPP/5Y4c8eAFD90Ddrb98kdAMALsljjz0mT09PRUVFqVGjRsrMzNT/+3//T7fffrvuvPNOde7cWb/++qvTr/fnY7fb9dFHHyk9PV0dOnTQP//5T02ZMkWSzOvVwsLCtHnzZhUXF6t3795q166dxo4dq8DAQNWpU+e8NZ0rMDBQK1eu1E033aTWrVtrwYIF+ve//602bdpIkp544gk9+uijmjJlilq3bq0777xTOTk5kiQ/Pz8lJyfr2LFjuuaaazRo0CD17NlTc+fOveD++fn5adOmTWrSpIluv/12tW7dWiNGjNCZM2dqxC/4AIA/R9+svX3TwzAMw91FVHX5+flyOBzKy8urlv+RAVRdZ86cUUZGhiIiIpxuhgJp2bJluvfee5WXl+eya8Zquwv9vbm619E7AViF3lk++qY1XNE7uaYbAFAlLF26VFdccYUuv/xyff311+azRPniAABAWfTN6oPQDQCoErKzszVlyhRlZ2crNDRU//M//6Nnn33W3WUBAFAl0TerD0I3AKBKSEhIUEJCgrvLAACgWqBvVh/cSA0AAAAAAItUmdD9/PPPy8PDQ2PHjjWnnTlzRvHx8WrYsKHq1aungQMH6ujRo07LZWZmKi4uTn5+fgoKCtKECRN09uxZpzGpqanq2LGjbDabIiMjtXjx4krYIwAAAABAbVclQve2bdv0r3/9S9HR0U7Tx40bp48++kjvvfeeNm7cqKysLN1+++3m/OLiYsXFxamwsFBbtmzRkiVLtHjxYvN2+ZKUkZGhuLg43XjjjUpPT9fYsWM1cuRIJScnV9r+AQAAAABqJ7eH7hMnTmjIkCFauHCh6tevb07Py8vTm2++qZdfflk33XSTOnXqpEWLFmnLli36/PPPJUlr167VN998o3feeUcdOnRQ37599fTTT2vevHkqLCyUJC1YsEARERGaOXOmWrdurTFjxmjQoEGaNWuWW/YXAAAAAFB7uD10x8fHKy4uTr169XKavmPHDhUVFTlNb9WqlZo0aaK0tDRJUlpamtq1a6fg4GBzTGxsrPLz87Vnzx5zzLnrjo2NNddRnoKCAuXn5zu9AADA+dE7AQAon1tD9/Lly/Xll19q+vTpZeZlZ2fL29tbgYGBTtODg4OVnZ1tjvlj4C6dXzrvQmPy8/N1+vTpcuuaPn26HA6H+QoPD7+k/QMAoLagdwIAUD63he7Dhw/rkUce0bJly+Tj4+OuMso1adIk5eXlma/Dhw+7uyQAgJvdc889uvXWW91dRpVF7wQA/BF98/+47TndO3bsUE5Ojjp27GhOKy4u1qZNmzR37lwlJyersLBQubm5Tke7jx49qpCQEElSSEiIvvjiC6f1lt7d/I9jzr3j+dGjR2W32+Xr61tubTabTTab7S/vIwD8FcWplXvDR88esZW6PdQs9E4AVUFl9k76Ji6W24509+zZU7t27VJ6err5uvrqqzVkyBDz3728vLRu3TpzmX379ikzM1MxMTGSpJiYGO3atUs5OTnmmJSUFNntdkVFRZlj/riO0jGl6wAAoDoqKipydwkAAFQb7uybbgvdAQEBatu2rdPL399fDRs2VNu2beVwODRixAiNHz9eGzZs0I4dO3TvvfcqJiZGXbp0kST17t1bUVFRGjp0qL7++mslJydr8uTJio+PN39tHz16tH744QclJCTo22+/1WuvvaYVK1Zo3Lhx7tp1AKgR1qxZo+uvv16BgYFq2LCh+vXrpwMHDpjzu3btqokTJzot8/PPP8vLy0ubNm2SJB05ckRxcXHy9fVVRESEEhMT1axZM82ePfuC237rrbfUpk0b2Ww2hYaGasyYMea8l19+We3atZO/v7/Cw8P14IMP6sSJE+b8xYsXKzAwUMnJyWrdurXq1aunPn366MiRI+aY4uJijR8/3ty3hIQEGYZxwZoOHTqk/v37q379+vL391ebNm308ccfm/P37Nmjfv36yW63KyAgQN26dTM/r5KSEk2bNk2NGzeWzWZThw4dtGbNGnPZgwcPysPDQ++++65uuOEG+fj4aNmyZZKkN954Q61bt5aPj49atWql11577YJ1AgDcg77prDb1TbffvfxCZs2apX79+mngwIHq3r27QkJCtHLlSnO+p6enVq9eLU9PT8XExOjvf/+7hg0bpmnTppljIiIilJSUpJSUFLVv314zZ87UG2+8odhYTgcBgL/i5MmTGj9+vLZv365169apTp06uu2221RSUiJJGjJkiJYvX+7UdN99912FhYWpW7dukqRhw4YpKytLqamp+uCDD/T66687nb1Unvnz5ys+Pl6jRo3Srl279L//+7+KjIw059epU0evvPKK9uzZoyVLlmj9+vVKSEhwWsepU6f00ksv6e2339amTZuUmZmpxx57zJw/c+ZMLV68WG+99Zb++9//6tixY1q1atUF64qPj1dBQYE2bdqkXbt26YUXXlC9evUkST/99JO6d+8um82m9evXa8eOHbrvvvt09uxZSdKcOXM0c+ZMvfTSS9q5c6diY2P1t7/9Td9//73TNh5//HE98sgj2rt3r2JjY7Vs2TJNmTJFzz77rPbu3avnnntOTzzxhJYsWXLBWgEAlY++6axW9U0DfyovL8+QZOTl5bm7FAA1zOnTp41vvvnGOH36dJl5ZzesqdTXX/Xzzz8bkoxdu3YZhmEYOTk5Rt26dY1NmzaZY2JiYoyJEycahmEYe/fuNSQZ27ZtM+d///33hiRj1qxZ591OWFiY8c9//vOi63rvvfeMhg0bmu8XLVpkSDL2799vTps3b54RHBxsvg8NDTVmzJhhvi8qKjIaN25sDBgw4LzbadeunTF16tRy502aNMmIiIgwCgsLy50fFhZmPPvss07TrrnmGuPBBx80DMMwMjIyDEnG7NmzncY0b97cSExMdJr29NNPGzExMeVu50J/b67udfROAFapKr3zr6JvVv2+aRiu6Z1V+kg3AKDq+v7773XXXXfpiiuukN1uV7NmzSRJmZmZkqRGjRqpd+/e5ulcGRkZSktL05AhQyT9fp+OunXrOt1QMzIyUvXr1z/vNnNycpSVlaWePXued8ynn36qnj176vLLL1dAQICGDh2qX3/9VadOnTLH+Pn5qXnz5ub70NBQ80hBXl6ejhw5os6dO5vz69atq6uvvvqCn8fDDz+sZ555Rtddd52efPJJ7dy505yXnp6ubt26ycvLq8xy+fn5ysrK0nXXXec0/brrrtPevXudpv2xhpMnT+rAgQMaMWKE6tWrZ76eeeYZp9MVAQBVA33TWW3qm4RuAMAl6d+/v44dO6aFCxdq69at2rp1qySpsLDQHDNkyBC9//77KioqUmJiotq1a6d27dpd8jbP99SJUgcPHlS/fv0UHR2tDz74QDt27NC8efPK1HVuE/fw8PjTa8/+zMiRI/XDDz9o6NCh2rVrl66++mq9+uqrF1X3xfL39zf/vfR6u4ULFzrdlHT37t36/PPPXbI9AIDr0Ded1aa+SegGAFTYr7/+qn379mny5Mnq2bOnWrdurd9++63MuAEDBujMmTNas2aNEhMTzV/rJally5Y6e/asvvrqK3Pa/v37y11PqYCAADVr1qzMUylK7dixQyUlJZo5c6a6dOmiK6+8UllZWRXaN4fDodDQUPPLkCSdPXtWO3bs+NNlw8PDNXr0aK1cuVKPPvqoFi5cKEmKjo7WZ599Vu6dU+12u8LCwrR582an6Zs3bzafxFGe4OBghYWF6YcfflBkZKTTKyIi4mJ3FwBQCeib5astfdNtz+kGAFRf9evXV8OGDfX6668rNDRUmZmZevzxx8uM8/f316233qonnnhCe/fu1V133WXOa9WqlXr16qVRo0Zp/vz58vLy0qOPPipfX195eHicd9tTp07V6NGjFRQUpL59++r48ePavHmzHnroIUVGRqqoqEivvvqq+vfvr82bN2vBggUV3r9HHnlEzz//vFq0aKFWrVrp5ZdfVm5u7gWXGTt2rPr27asrr7xSv/32mzZs2KDWrVtLksaMGaNXX31VgwcP1qRJk+RwOPT555/r2muvVcuWLTVhwgQ9+eSTat68uTp06KBFixYpPT3dPMXwfJ566ik9/PDDcjgc6tOnjwoKCrR9+3b99ttvGj9+fIX3GwBgDfpmWbWqb17wim8YhsHNYABY50I356jqUlJSjNatWxs2m82Ijo42UlNTDUnGqlWrnMZ9/PHHhiSje/fuZdaRlZVl9O3b17DZbEbTpk2NxMREIygoyFiwYMEFt71gwQKjZcuWhpeXlxEaGmo89NBD5ryXX37ZCA0NNXx9fY3Y2Fhj6dKlhiTjt99+Mwzj9xvCOBwOp/WtWrXK+GNLLCoqMh555BHDbrcbgYGBxvjx441hw4Zd8IYwY8aMMZo3b27YbDajUaNGxtChQ41ffvnFnP/1118bvXv3Nvz8/IyAgACjW7duxoEDBwzDMIzi4mJj6tSpxuWXX254eXkZ7du3Nz755BNz2dIbwnz11Vdltrts2TKjQ4cOhre3t1G/fn2je/fuxsqVK8utkRupAagJqmvvpG86qw590zBc0zs9DOMvnoxfC+Tn58vhcCgvL092u93d5QCoQc6cOaOMjAxFRETIx8fH3eW43Y8//qjw8HDzpi5wrQv9vbm619E7AViF3vl/6JvWc0Xv5PRyAIDbrF+/XidOnFC7du105MgRJSQkqFmzZurevbu7SwMAoMqhb1ZPhG4AgNsUFRXpH//4h3744QcFBASoa9euWrZsWbmPCAEAoLajb1ZPhG4AgNvExsYqNjbW3WUAAFAt0DerJx4ZBgAAAACARQjdAFAFcE9LVAb+zgDUJPw/DZXBFX9nhG4AcKPSa7BOnTrl5kpQG5T+nXHtH4DqjN6JyuSK3sk13QDgRp6engoMDFROTo4kyc/PTx4eHm6uCjWNYRg6deqUcnJyFBgYKE9PT3eXBACXjN6JyuDK3knoBgA3CwkJkSTzywNglcDAQPPvDQCqM3onKosreiehGwDczMPDQ6GhoQoKClJRUZG7y0EN5eXlxRFuADUGvROVwVW9k9ANAFWEp6cnoQgAgAqgd6I64EZqAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYxK2he/78+YqOjpbdbpfdbldMTIw++eQTc36PHj3k4eHh9Bo9erTTOjIzMxUXFyc/Pz8FBQVpwoQJOnv2rNOY1NRUdezYUTabTZGRkVq8eHFl7B4AAAAAoJar686NN27cWM8//7xatGghwzC0ZMkSDRgwQF999ZXatGkjSbr//vs1bdo0cxk/Pz/z34uLixUXF6eQkBBt2bJFR44c0bBhw+Tl5aXnnntOkpSRkaG4uDiNHj1ay5Yt07p16zRy5EiFhoYqNja2cncYAAAAAFCreBiGYbi7iD9q0KCBXnzxRY0YMUI9evRQhw4dNHv27HLHfvLJJ+rXr5+ysrIUHBwsSVqwYIEmTpyon3/+Wd7e3po4caKSkpK0e/duc7nBgwcrNzdXa9asuaia8vPz5XA4lJeXJ7vd/pf3EQCAqsbVvY7eCQCo6S6211WZa7qLi4u1fPlynTx5UjExMeb0ZcuW6bLLLlPbtm01adIknTp1ypyXlpamdu3amYFbkmJjY5Wfn689e/aYY3r16uW0rdjYWKWlpZ23loKCAuXn5zu9AADA+dE7AQAon1tPL5ekXbt2KSYmRmfOnFG9evW0atUqRUVFSZLuvvtuNW3aVGFhYdq5c6cmTpyoffv2aeXKlZKk7Oxsp8AtyXyfnZ19wTH5+fk6ffq0fH19y9Q0ffp0PfXUUy7fVwAAaip6JwAA5XN76G7ZsqXS09OVl5en999/X8OHD9fGjRsVFRWlUaNGmePatWun0NBQ9ezZUwcOHFDz5s0tq2nSpEkaP368+T4/P1/h4eGWbQ8AgOqO3gkAQPncHrq9vb0VGRkpSerUqZO2bdumOXPm6F//+leZsZ07d5Yk7d+/X82bN1dISIi++OILpzFHjx6VJIWEhJj/LJ32xzF2u73co9ySZLPZZLPZ/tqOAQBQi9A7AQAoX5W5prtUSUmJCgoKyp2Xnp4uSQoNDZUkxcTEaNeuXcrJyTHHpKSkyG63m6eox8TEaN26dU7rSUlJcbpuHAAAAAAAK7j1SPekSZPUt29fNWnSRMePH1diYqJSU1OVnJysAwcOKDExUbfccosaNmyonTt3aty4cerevbuio6MlSb1791ZUVJSGDh2qGTNmKDs7W5MnT1Z8fLz5a/vo0aM1d+5cJSQk6L777tP69eu1YsUKJSUluXPXAQAAAAC1gFtDd05OjoYNG6YjR47I4XAoOjpaycnJuvnmm3X48GF9+umnmj17tk6ePKnw8HANHDhQkydPNpf39PTU6tWr9cADDygmJkb+/v4aPny403O9IyIilJSUpHHjxmnOnDlq3Lix3njjDZ7RDQAAAACwXJV7TndVxLNGAQA1Hc/pBgCgYqrdc7oBAAAAAKhpCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYxK2he/78+YqOjpbdbpfdbldMTIw++eQTc/6ZM2cUHx+vhg0bql69eho4cKCOHj3qtI7MzEzFxcXJz89PQUFBmjBhgs6ePes0JjU1VR07dpTNZlNkZKQWL15cGbsHAAAAAKjl3Bq6GzdurOeff147duzQ9u3bddNNN2nAgAHas2ePJGncuHH66KOP9N5772njxo3KysrS7bffbi5fXFysuLg4FRYWasuWLVqyZIkWL16sKVOmmGMyMjIUFxenG2+8Uenp6Ro7dqxGjhyp5OTkSt9fAAAAAEDt4mEYhuHuIv6oQYMGevHFFzVo0CA1atRIiYmJGjRokCTp22+/VevWrZWWlqYuXbrok08+Ub9+/ZSVlaXg4GBJ0oIFCzRx4kT9/PPP8vb21sSJE5WUlKTdu3eb2xg8eLByc3O1Zs2acmsoKChQQUGB+T4/P1/h4eHKy8uT3W63cO8BAHCP/Px8ORyOS+519E4AQG1zsb2zylzTXVxcrOXLl+vkyZOKiYnRjh07VFRUpF69epljWrVqpSZNmigtLU2SlJaWpnbt2pmBW5JiY2OVn59vHi1PS0tzWkfpmNJ1lGf69OlyOBzmKzw83JW7CgBAjUPvBACgfG4P3bt27VK9evVks9k0evRorVq1SlFRUcrOzpa3t7cCAwOdxgcHBys7O1uSlJ2d7RS4S+eXzrvQmPz8fJ0+fbrcmiZNmqS8vDzzdfjwYVfsKgAANRa9EwCA8tV1dwEtW7ZUenq68vLy9P7772v48OHauHGjW2uy2Wyy2WxurQEAgOqE3gkAQPncHrq9vb0VGRkpSerUqZO2bdumOXPm6M4771RhYaFyc3OdjnYfPXpUISEhkqSQkBB98cUXTusrvbv5H8ece8fzo0ePym63y9fX16rdAgAAAADA/aeXn6ukpEQFBQXq1KmTvLy8tG7dOnPevn37lJmZqZiYGElSTEyMdu3apZycHHNMSkqK7Ha7oqKizDF/XEfpmNJ1AAAAAABgFbce6Z40aZL69u2rJk2a6Pjx40pMTFRqaqqSk5PlcDg0YsQIjR8/Xg0aNJDdbtdDDz2kmJgYdenSRZLUu3dvRUVFaejQoZoxY4ays7M1efJkxcfHm6e4jR49WnPnzlVCQoLuu+8+rV+/XitWrFBSUpI7dx0AAAAAUAu4NXTn5ORo2LBhOnLkiBwOh6Kjo5WcnKybb75ZkjRr1izVqVNHAwcOVEFBgWJjY/Xaa6+Zy3t6emr16tV64IEHFBMTI39/fw0fPlzTpk0zx0RERCgpKUnjxo3TnDlz1LhxY73xxhuKjY2t9P0FAAAAANQuVe453VXRX312KQAAVZ2rex29EwBQ01W753QDAAAAAFDTELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAi1Q4dGdmZsowjDLTDcNQZmamS4oCAAAAAKAmqHDojoiI0M8//1xm+rFjxxQREeGSogAAAAAAqAkqHLoNw5CHh0eZ6SdOnJCPj49LigIAXJp77rlHzZo1q5RtLV68WB4eHjp48GClbA8AAKA6qnuxA8ePHy9J8vDw0BNPPCE/Pz9zXnFxsbZu3aoOHTq4vEAAqC4SExOVk5OjsWPHursUAABqlC1btmjt2rUaO3asAgMDLdvOwYMHz3v27r///W8NHjzYsm2j5rro0P3VV19J+v1I965du+Tt7W3O8/b2Vvv27fXYY4+5vkIAqCYSExO1e/duQjcAAC62ZcsWPfXUU7rnnnssDd2l7rrrLt1yyy1O02JiYizfLmqmiw7dGzZskCTde++9mjNnjux2u2VFAQDcr6SkRIWFhVw6BACodTp27Ki///3v7i4DNUSFr+letGiRywL39OnTdc011yggIEBBQUG69dZbtW/fPqcxPXr0kIeHh9Nr9OjRTmMyMzMVFxcnPz8/BQUFacKECTp79qzTmNTUVHXs2FE2m02RkZFavHixS/YBQO1x/PhxjR07Vs2aNZPNZlNQUJBuvvlmffnll+rRo4eSkpJ06NAh8/9VpddWFxYWasqUKerUqZMcDof8/f3VrVs388fMUgcPHpSHh4deeuklvf7662revLlsNpuuueYabdu2rUw9H374odq2bSsfHx+1bdtWq1atKrful156SV27dlXDhg3l6+urTp066f333y8zzsPDQ2PGjNGyZcvUpk0b2Ww2rVmzRpK0Z88e3XTTTfL19VXjxo31zDPPqKSk5C9+ogAA/LmpU6dqwoQJkn6/qXNpnz148KDOnj2rp59+2uyZzZo10z/+8Q8VFBQ4raNZs2bq16+f1q5dqw4dOsjHx0dRUVFauXLlebd78uRJFRYWWrpvqB08jPKe/3UBJ0+e1PPPP69169YpJyenzJeuH3744aLX1adPHw0ePFjXXHONzp49q3/84x/avXu3vvnmG/n7+0v6PXRfeeWVmjZtmrmcn5+fGfyLi4vVoUMHhYSE6MUXX9SRI0c0bNgw3X///XruueckSRkZGWrbtq1Gjx6tkSNHat26dRo7dqySkpIUGxv7p3Xm5+fL4XAoLy+PI/xALTZkyBC9//77GjNmjKKiovTrr7/qv//9r+68804FBQUpISFBP/74o2bNmiVJqlevnm699Vb98ssvio6O1l133aUWLVro+PHjevPNN/XDDz/oiy++MO+HUXod2VVXXaXjx4/r/vvvl4eHh2bMmCEfHx/98MMP8vLykiStXbtWffv2VVRUlO677z79+uuvmjt3rho3bqwTJ0443dwsPDxcf/vb3xQVFaXCwkItX75cX3zxhVavXq24uDhznIeHh1q3bq1ffvlFY8aM0WWXXaauXbsqJCRE0dHROnv2rB555BH5+/vr9ddfl6+vr3bu3KmMjIxKu3kbrOPqXkfvBOAqO3fu1PPPP69///vfmjVrli677DJJ0m233ab4+HgtWbJEgwYN0o033qitW7dq6dKluvXWW51+jC79wTwnJ0ejR49WUFCQFi1apD179mjNmjW6+eabJf1fL65Xr55OnDghDw8PderUSc8++6x69+7tlv1H1XXRvc6ooMGDBxuhoaFGQkKCMWvWLGP27NlOr78iJyfHkGRs3LjRnHbDDTcYjzzyyHmX+fjjj406deoY2dnZ5rT58+cbdrvdKCgoMAzDMBISEow2bdo4LXfnnXcasbGxF1VXXl6eIcnIy8urwN4AqGkcDocRHx9/3vlxcXFG06ZNy0w/e/as+f+jUr/99psRHBxs3Hfffea0jIwMQ5LRsGFD49ixY+b0//znP4Yk46OPPjKndejQwQgNDTVyc3PNaWvXrjUklanh1KlTTu8LCwuNtm3bGjfddJPTdElGnTp1jD179jhNHzt2rCHJ2Lp1qzktJyfHcDgchiQjIyOj/A8E1Yqrex29E4Arvfjii2V6Tnp6uiHJGDlypNPYxx57zJBkrF+/3pzWtGlTQ5LxwQcfmNPy8vKM0NBQ46qrrjKnHTp0yOjdu7cxf/5843//93+N2bNnG02aNDHq1KljrF692rodRLV0sb3uoq/pLvXJJ58oKSlJ1113XUUX/VN5eXmSpAYNGjhNX7Zsmd555x2FhISof//+TndPT0tLU7t27RQcHGyOj42N1QMPPKA9e/boqquuUlpamnr16uW0ztjY2PPe7KigoMDplJT8/HxX7B6Aai4wMFBbt25VVlaWwsLCLno5T09PeXp6Svr9Ounc3FyVlJTo6quv1pdffllm/J133qn69eub77t16ybp/84kOnLkiNLT0/X444/L4XCY426++WZFRUXp5MmTTuvz9fU1//23335TcXGxunXrpn//+99ltn3DDTcoKirKadrHH3+sLl266NprrzWnNWrUSEOGDNFrr7120Z8DajZ6J4DK9vHHH0v6v6cslXr00Uf10ksvKSkpSTfeeKM5PSwsTLfddpv53m63a9iwYXrhhReUnZ2tkJAQNWnSRMnJyU7rGzp0qKKiovToo486nSEGXKwKX9Ndv379MqHYFUpKSjR27Fhdd911atu2rTn97rvv1jvvvKMNGzZo0qRJevvtt51uapCdne0UuCWZ77Ozsy84Jj8/X6dPny5Ty/Tp0+VwOMxXeHi4y/YTQPU1Y8YM7d69W+Hh4br22ms1derUi76kZsmSJYqOjpaPj48aNmyoRo0aKSkpyfyx8Y+aNGni9L40gP/222+SpEOHDkmSWrRoUWbZli1blpm2evVqdenSRT4+PmrQoIEaNWqk+fPnl7vt8h6TcujQoYveFmoveieAynbo0CHVqVNHkZGRTtNDQkIUGBho9stSkZGR8vDwcJp25ZVXSpLTZVnnatCgge69917t27dPP/74o2uKR61S4dD99NNPa8qUKTp16pRLC4mPj9fu3bu1fPlyp+mjRo1SbGys2rVrpyFDhmjp0qVatWqVDhw44NLt/9GkSZOUl5dnvg4fPmzZtgBUH3fccYd++OEHvfrqqwoLC9OLL76oNm3a6JNPPrngcu+8847uueceNW/eXG+++abWrFmjlJQU3XTTTeXejKz0qPi5jIrdgkOS9Nlnn+lvf/ubfHx89Nprr+njjz9WSkqK7r777nLX98ej4kBF0DsBuMu5QdoKpT8kHjt2zPJtoeap8OnlM2fO1IEDBxQcHKxmzZqZN/UpVd6pkn9mzJgxWr16tTZt2qTGjRtfcGznzp0lSfv371fz5s0VEhKiL774wmnM0aNHJf3+K1fpP0un/XGM3W4v9wumzWaTzWar8H4AqPlCQ0P14IMP6sEHH1ROTo46duyoZ599Vn379j1v03///fd1xRVXaOXKlU5jnnzyyUuqoWnTppKk77//vsy8c58A8cEHH8jHx0fJyclO/19btGhRhbZ3MdtC7UbvBGCl8nps06ZNVVJSou+//16tW7c2px89elS5ublmvyy1f/9+GYbhtK7vvvtOkv70hqClZ7Y1atToUncBtViFj3TfeuutevTRR/XYY49p0KBBGjBggNOrIgzD0JgxY7Rq1SqtX7++3NMaz5Weni7p9y++0u8Pqd+1a5dycnLMMSkpKbLb7eZ1iTExMVq3bp3TelJSUnjAPYCLVlxcXOZ07KCgIIWFhZnXsfr7+5d7ynbpkes/HlneunWr0tLSLqmW0NBQdejQQUuWLHHaXkpKir755psy2/bw8FBxcbE57eDBg/rwww8venu33HKLPv/8c6cfOH/++WctW7bskuoHAKCiSp9slJuba0675ZZbJEmzZ892Gvvyyy9LUpnrr7OyspzuaJ6fn6+lS5eaT0KSfu9v5/rpp5/01ltvKTo62swgQEVU+Ej3pR6ZKU98fLwSExP1n//8RwEBAeY12A6HQ76+vjpw4IASExN1yy23qGHDhtq5c6fGjRun7t27Kzo6WpLUu3dvRUVFaejQoZoxY4ays7M1efJkxcfHm7+4jx49WnPnzlVCQoLuu+8+rV+/XitWrFBSUpLL9gVAzXb8+HE1btxYgwYNUvv27VWvXj19+umn2rZtm2bOnClJ6tSpk959912NHz9e11xzjerVq6f+/furX79+WrlypW677TbFxcUpIyNDCxYsUFRUlE6cOHFJ9UyfPl1xcXG6/vrrdd999+nYsWN69dVX1aZNG6d1xsXF6eWXX1afPn109913KycnR/PmzVNkZKR27tx5UdtKSEjQ22+/rT59+jg9Mqxp06YXvQ4AAP6KTp06SZL++c9/avDgwfLy8lL//v01fPhwvf7668rNzdUNN9ygL774QkuWLNGtt97qdBM16ffrt0eMGKFt27YpODhYb731lo4ePep09ldCQoIOHDignj17KiwsTAcPHtS//vUvnTx5UnPmzKnUfUYNYv2N1M9PUrmvRYsWGYZhGJmZmUb37t2NBg0aGDabzYiMjDQmTJhQ5pbsBw8eNPr27Wv4+voal112mfHoo48aRUVFTmM2bNhgdOjQwfD29jauuOIKcxsXg8eeACgoKDAmTJhgtG/f3ggICDD8/f2N9u3bG6+99po55sSJE8bdd99tBAYGOj26q6SkxHjuueeMpk2bGjabzbjqqquM1atXG8OHD3d6vFfpI8NefPHFMtuXZDz55JNO0z744AOjdevWhs1mM6KiooyVK1eWWadhGMabb75ptGjRwrDZbEarVq2MRYsWGU8++aRxbguQdN5Hou3cudO44YYbDB8fH+Pyyy83nn76aePNN9/kkWE1CI8MA1DVPf3008bll19u1KlTx+w/RUVFxlNPPWVEREQYXl5eRnh4uDFp0iTjzJkzTss2bdrUiIuLM5KTk43o6GizJ7733ntO4xITE43u3bsbjRo1MurWrWtcdtllxm233Wbs2LGjMncV1cTF9joPw6jY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/BQSEmJO9/T01FNPPWW+j4iIUFpamlasWOH05cHf319vvPGG2TQXLFggDw8PLVy4UD4+PoqKitJPP/2k+++/31xm7ty5uuqqq/Tcc8+Z09566y2Fh4fru+++05VXXlluTefKzMyUv7+/+vXrp4CAADVt2lRXXXWVJOn48eOaM2eO5s6dq+HDh0uSmjdvruuvv16SlJiYqDNnzmjp0qXy9/c36+rfv79eeOEFBQcHl7t/77zzjkpKSvTGG2+Yz/tctGiRAgMDlZqaqt69e1f0PwEAoBqhb9buvknoBgC41Lx58/TWW28pMzNTp0+fVmFhoTp06OA0pl27dk6/Uu/bt0/R0dHy8fExp1177bVOy3z99dfasGGD6tWrV2abBw4c0JVXXnlR9d18881q2rSprrjiCvXp00d9+vTRbbfdJj8/P+3du1cFBQXq2bNnucvu3btX7du3N784SNJ1112nkpIS7du3z/zycO7+ff3119q/f78CAgKc1nfmzBkdOHDgouoGANRM9M2a3zcJ3QAAl1m+fLkee+wxzZw5UzExMQoICNCLL76orVu3Oo37Y/O9WCdOnDB/GT9XaGjoRa8nICBAX375pVJTU7V27VpNmTJFU6dO1bZt2+Tr61vhuspz7v6dOHFCnTp10rJly8qMLe9UPgBA7UDf/F1N75uEbgDAJfH29lZxcbHTtM2bN6tr16568MEHzWkX84t0y5Yt9c4776igoEA2m02StG3bNqcxHTt21AcffKBmzZqpbt3y21d5NZWnbt266tWrl3r16qUnn3xSgYGBWr9+vW655Rb5+vpq3bp1GjlyZJnlWrdurcWLF+vkyZPmF4TNmzerTp065o1fytOxY0e9++67CgoKkt1u/9P6gKqoODX5vPM8e8RWYiVA9UTfrL19k7uXAwAuSbNmzbR161YdPHhQv/zyi0pKStSiRQtt375dycnJ+u677/TEE0+U+RJQnrvvvlslJSUaNWqU9u7dq+TkZL300kuSZF7LFR8fr2PHjumuu+7Stm3bdODAASUnJ+vee+81vzCUV9O5Vq9erVdeeUXp6ek6dOiQli5dqpKSErVs2VI+Pj6aOHGiEhIStHTpUh04cECff/653nzzTUnSkCFD5OPjo+HDh2v37t3asGGDHnroIQ0dOtQ8Ra48Q4YM0WWXXaYBAwbos88+U0ZGhlJTU/Xwww/rxx9/rPBnDwCofuibtbhvGvhTeXl5hiQjLy/P3aUAqGFOnz5tfPPNN8bp06fdXUqF7du3z+jSpYvh6+trSDIyMjKMM2fOGPfcc4/hcDiMwMBA44EHHjAef/xxo3379uZyw4cPNwYMGFBmfZs3bzaio6MNb29vo1OnTkZiYqIhyfj222/NMd99951x2223GYGBgYavr6/RqlUrY+zYsUZJScl5azrXZ599Ztxwww1G/fr1DV9fXyM6Otp49913zfnFxcXGM888YzRt2tTw8vIymjRpYjz33HPm/J07dxo33nij4ePjYzRo0MC4//77jePHj//p/h05csQYNmyYcdlllxk2m8244oorjPvvv79Se8uF/t5c3evonTXP2Q1rzvsCKlN17Z30zerXNw3DNb3TwzAMw12Bv7rIz8+Xw+FQXl5ejTi9AUDVcebMGWVkZCgiIsLpZiiQli1bpnvvvVd5eXkuu2astrvQ35urex29s+bh9HJUFfTO8tE3reGK3sk13QCAKmHp0qW64oordPnll+vrr782nyXKFwcAAMqib1YfhG4AQJWQnZ2tKVOmKDs7W6Ghofqf//kfPfvss+4uCwCAKom+WX0QugEAVUJCQoISEhLcXQYAANUCfbP6qDJ3L3/++efl4eGhsWPHmtPOnDmj+Ph4NWzYUPXq1dPAgQN19OhRp+UyMzMVFxcnPz8/BQUFacKECTp79qzTmNTUVHXs2FE2m02RkZFavHhxJewRAAAAAKC2qxKhe9u2bfrXv/6l6Ohop+njxo3TRx99pPfee08bN25UVlaWbr/9dnN+cXGx4uLiVFhYqC1btmjJkiVavHixpkyZYo7JyMhQXFycbrzxRqWnp2vs2LEaOXKkkpPPfzMQAAAAAABcwe2h+8SJExoyZIgWLlyo+vXrm9Pz8vL05ptv6uWXX9ZNN92kTp06adGiRdqyZYs+//xzSdLatWv1zTff6J133lGHDh3Ut29fPf3005o3b54KCwslSQsWLFBERIRmzpyp1q1ba8yYMRo0aJBmzZrllv0FAAAAANQebg/d8fHxiouLU69evZym79ixQ0VFRU7TW7VqpSZNmigtLU2SlJaWpnbt2jk9WD02Nlb5+fnas2ePOebcdcfGxprrKE9BQYHy8/OdXgAA4PzonQAAlM+toXv58uX68ssvNX369DLzsrOz5e3trcDAQKfpwcHBys7ONsf8MXCXzi+dd6Ex+fn5On36dLl1TZ8+XQ6Hw3yFh4df0v4BAFBb0DsBACif20L34cOH9cgjj2jZsmVV7qH2kyZNUl5envk6fPiwu0sCAKBKo3cCAFA+tz0ybMeOHcrJyVHHjh3NacXFxdq0aZPmzp2r5ORkFRYWKjc31+lo99GjRxUSEiJJCgkJ0RdffOG03tK7m/9xzLl3PD969Kjsdvt5Hxxvs9lks9n+8j4CwF9RnFq5N3z07BFbqdurbu655x7l5ubqww8/dHcpVRK9E0BVUJm9k755YfTN/+O2I909e/bUrl27lJ6ebr6uvvpqDRkyxPx3Ly8vrVu3zlxm3759yszMVExMjCQpJiZGu3btUk5OjjkmJSVFdrtdUVFR5pg/rqN0TOk6AAAAAACwituOdAcEBKht27ZO0/z9/dWwYUNz+ogRIzR+/Hg1aNBAdrtdDz30kGJiYtSlSxdJUu/evRUVFaWhQ4dqxowZys7O1uTJkxUfH2/+2j569GjNnTtXCQkJuu+++7R+/XqtWLFCSUlJlbvDAAC4UFFRkby8vNxdBgAA1YI7+6bb715+IbNmzVK/fv00cOBAde/eXSEhIVq5cqU539PTU6tXr5anp6diYmL097//XcOGDdO0adPMMREREUpKSlJKSorat2+vmTNn6o033lBsLKeDAMBfsWbNGl1//fUKDAxUw4YN1a9fPx04cMCc37VrV02cONFpmZ9//lleXl7atGmTJOnIkSOKi4uTr6+vIiIilJiYqGbNmmn27NkX3PZbb72lNm3ayGazKTQ0VGPGjDHnvfzyy2rXrp38/f0VHh6uBx98UCdOnDDnL168WIGBgUpOTlbr1q1Vr1499enTR0eOHDHHFBcXa/z48ea+JSQkyDCMC9Z06NAh9e/fX/Xr15e/v7/atGmjjz/+2Jy/Z88e9evXT3a7XQEBAerWrZv5eZWUlGjatGlq3LixbDabOnTooDVr1pjLHjx4UB4eHnr33Xd1ww03yMfHR8uWLZMkvfHGG2rdurV8fHzUqlUrvfbaaxesEwDgHvRNZ7Wpb1ap0J2amur0B+Pj46N58+bp2LFjOnnypFauXGleq12qadOm+vjjj3Xq1Cn9/PPPeumll1S3rvMB/B49euirr75SQUGBDhw4oHvuuacS9gYAaraTJ09q/Pjx2r59u9atW6c6derotttuU0lJiSRpyJAhWr58uVPTfffddxUWFqZu3bpJkoYNG6asrCylpqbqgw8+0Ouvv+50yVB55s+fr/j4eI0aNUq7du3S//7v/yoyMtKcX6dOHb3yyivas2ePlixZovXr1yshIcFpHadOndJLL72kt99+W5s2bVJmZqYee+wxc/7MmTO1ePFivfXWW/rvf/+rY8eOadWqVResKz4+XgUFBdq0aZN27dqlF154QfXq1ZMk/fTTT+revbtsNpvWr1+vHTt26L777tPZs2clSXPmzNHMmTP10ksvaefOnYqNjdXf/vY3ff/9907bePzxx/XII49o7969io2N1bJlyzRlyhQ9++yz2rt3r5577jk98cQTWrJkyQVrBQBUPvqms9rUNz2MP/sJAsrPz5fD4VBeXp7sdru7ywFQg5w5c0YZGRmKiIgo8ySH6nYjtV9++UWNGjXSrl271LZtW/38888KCwvT+vXrzS8LXbt2Vffu3fX888/r22+/VevWrbVt2zZdffXVkqT9+/erRYsWmjVrlsaOHVvudi6//HLde++9euaZZy6qrvfff1+jR4/WL7/8Iun3X+zvvfde7d+/X82bN5ckvfbaa5o2bZr5uMmwsDCNGzdOEyZMkCSdPXtWERER6tSp03lvCBMdHa2BAwfqySefLDPvH//4h5YvX659+/aVe2rb5Zdfrvj4eP3jH/8wp1177bW65pprNG/ePB08eFARERGaPXu2HnnkEXNMZGSknn76ad11113mtGeeeUYff/yxtmzZUmY7F/p7c3Wvo3fWPBf6fxI3lEJlqiq9k75Z8/um5JreWaWOdAMAqo/vv/9ed911l6644grZ7XY1a9ZMkpSZmSlJatSokXr37m2ezpWRkaG0tDQNGTJE0u83x6xbt67TUywiIyNVv379824zJydHWVlZ6tmz53nHfPrpp+rZs6cuv/xyBQQEaOjQofr111916tQpc4yfn5/5xUGSQkNDzSMFeXl5OnLkiDp37mzOr1u3rvkF53wefvhhPfPMM7ruuuv05JNPaufOnea89PR0devWrdwvDvn5+crKytJ1113nNP26667T3r17nab9sYaTJ0/qwIEDGjFihOrVq2e+nnnmGafTFQEAVQN901lt6puEbgDAJenfv7+OHTumhQsXauvWrdq6daskqbCw0BwzZMgQvf/+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U+Xt7a0FCxYoIiJCM2fOlCS1bt1a//3vfzVr1qzzhu6CggIVFBSY7/Pz812xuwAA1Fj0TgAAyldlrukuLi7W8uXLdfLkScXExJjTly1bpssuu0xt27bVpEmTdOrUKXNeWlqa2rVrp+DgYHNabGys8vPztWfPHnNMr169nLYVGxurtLS089Yyffp0ORwO8xUeHu6q3QQAoEaidwIAUD63h+5du3apXr16stlsGj16tFatWqWoqChJ0t1336133nlHGzZs0KRJk/T222/r73//u7lsdna2U+CWZL7Pzs6+4Jj8/HydPn263JomTZqkvLw883X48GGX7S8AADURvRMAgPK59fRySWrZsqXS09OVl5en999/X8OHD9fGjRsVFRWlUaNGmePatWun0NBQ9ezZUwcOHFDz5s0tq8lms8lms1m2fgAAahp6JwAA5XP7kW5vb29FRkaqU6dOmj59utq3b685c+aUO7Zz586SpP3790uSQkJCdPToUacxpe9LrwM/3xi73S5fX1+X7gsAAAAAAH/k9tB9rpKSEqcbsfxRenq6JCk0NFSSFBMTo127diknJ8cck5KSIrvdbp6iHhMTo3Xr1jmtJyUlxem6cQAAAAAArODW08snTZqkvn37qkmTJjp+/LgSExOVmpqq5ORkHThwQImJibrlllvUsGFD7dy5U+PGjVP37t0VHR0tSerdu7eioqI0dOhQzZgxQ9nZ2Zo8ebLi4+PNU9xGjx6tuXPnKiEhQffdd5/Wr1+vFStWKCkpyZ27DgAAAACoBdwaunNycjRs2DAdOXJEDodD0dHRSk5O1s0336zDhw/r008/1ezZs3Xy5EmFh4dr4MCBmjx5srm8p6enVq9erQceeEAxMTHy9/fX8OHDnZ7rHRERoaSkJI0bN05z5sxR48aN9cYbb/CMbgAAAACA5TwMwzDcXURVl5+fL4fDoby8PNntdneXAwCAy7m619E7q6fi1ORLWs6zBwczANQ+F9vrqtw13QAAAAAA1BSEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAibg3d8+fPV3R0tOx2u+x2u2JiYvTJJ5+Y88+cOaP4+Hg1bNhQ9erV08CBA3X06FGndWRmZiouLk5+fn4KCgrShAkTdPbsWacxqamp6tixo2w2myIjI7V48eLK2D0AAAAAQC3n1tDduHFjPf/889qxY4e2b9+um266SQMGDNCePXskSePGjdNHH32k9957Txs3blRWVpZuv/12c/ni4mLFxcWpsLBQW7Zs0ZIlS7R48WJNmTLFHJORkaG4uDjdeOONSk9P19ixYzVy5EglJydX+v4CAAAAAGoXD8MwDHcX8UcNGjTQiy++qEGDBqlRo0ZKTEzUoEGDJEnffvutWrdurbS0NHXp0kWffPKJ+vXrp6ysLAUHB0uSFixYoIkTJ+rnn3+Wt7e3Jk6cqKSkJO3evdvcxuDBg5Wbm6s1a9aUW0NBQYEKCgrM9/n5+QoPD1deXp7sdruFew8AgHvk5+fL4XBccq+jd9YMxamXdlDCs0esiysBgKrvYntnlbmmu7i4WMuXL9fJkycVExOjHTt2qKioSL169TLHtGrVSk2aNFFaWpokKS0tTe3atTMDtyTFxsYqPz/fPFqelpbmtI7SMaXrKM/06dPlcDjMV3h4uCt3FQCAGofeCQBA+dweunft2qV69erJZrNp9OjRWrVqlaKiopSdnS1vb28FBgY6jQ8ODlZ2drYkKTs72ylwl84vnXehMfn5+Tp9+nS5NU2aNEl5eXnm6/Dhw67YVQAAaix6JwAA5avr7gJatmyp9PR05eXl6f3339fw4cO1ceNGt9Zks9lks9ncWgMAANUJvRMAgPK5PXR7e3srMjJSktSpUydt27ZNc+bM0Z133qnCwkLl5uY6He0+evSoQkJCJEkhISH64osvnNZXenfzP445947nR48eld1ul6+vr1W7BQAAAACA+08vP1dJSYkKCgrUqVMneXl5ad26dea8ffv2KTMzUzExMZKkmJgY7dq1Szk5OeaYlJQU2e12RUVFmWP+uI7SMaXrAAAAAADAKm490j1p0iT17dtXTZo00fHjx5WYmKjU1FQlJyfL4XBoxIgRGj9+vBo0aCC73a6HHnpIMTEx6tKliySpd+/eioqK0tChQzVjxgxlZ2dr8uTJio+PN09xGz16tObOnauEhATdd999Wr9+vVasWKGkpCR37joAAAAAoBZwa+jOycnRsGHDdOTIETkcDkVHRys5OVk333yzJGnWrFmqU6eOBg4cqIKCAsXGxuq1114zl/f09NTq1av1wAMPKCYmRv7+/ho+fLimTZtmjomIiFBSUpLGjRunOXPmqHHjxnrjjTcUG8ujLQAAAAAA1qpyz+muiv7qs0sBAKjqXN3r6J3V06U+p/t8eH43gJqs2j2nGwAAAACAmobQDQAAAACARQjdAAAAAABYhNANAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARQjdAAAAAABYhNANAAAAAIBF6rq7AAAAAFRc0gdZ550XNzCsEisBAFwIR7oBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLVDh0Z2ZmyjCMMtMNw1BmZqZLigIAAAAAoCaocOiOiIjQzz//XGb6sWPHFBER4ZKiAAAAAACoCSocug3DkIeHR5npJ06ckI+Pj0uKAoDaZs2aNerQoYN8fHzk4eGh3Nxcd5cEAAAAF6h7sQPHjx8vSfLw8NATTzwhPz8/c15xcbG2bt2qDh06uLxAAKjpfv31V91xxx1q06aN5s2bJ5vNJn9/fz333HOKiorSrbfe6u4SAQAAcIkuOnR/9dVXkn4/0r1r1y55e3ub87y9vdW+fXs99thjrq8QAGq4bdu26fjx43r66afVq1cvc/pzzz2nQYMGEboBAACqsYsO3Rs2bJAk3XvvvZozZ47sdrtlRQFAbZKTk/P/tXfn8VFV9//H3yHJJAGyECAbhjXssmgoEBAEoQSMCIJFFCFRlgrBCpRFfiIgiggqixal2AqiUMQKVNk3AZWICES2gIBhUQiULQHErOf3h1+mDFnMhJmsr+fjMY86554787mH6Xzmk3PvuZIkPz+/og0EAAAADmf3Nd0LFixwWME9bdo0/eEPf5C3t7cCAgLUs2dPHTlyxKZPhw4d5OLiYvN45plnbPqcOnVKUVFRKl++vAICAjRmzBhlZGTY9Nm6davuvfdeeXh4KCwsTAsXLnTIMQAou65evaoRI0aoZs2a8vDwUEBAgP74xz9qz5491j6ffPKJwsPD5eXlpSpVqujJJ5/Uzz//bN3eoUMHRUdHS5L+8Ic/yMXFRTExMXJxcdH169f1wQcfWL/7YmJiJEmTJ0+Wi4uLfvjhBz355JPy9fVV1apV9eKLL8oYo9OnT6tHjx7y8fFRUFCQ3nzzTZu409LSNHHiRIWHh8vX11cVKlRQu3btrH9cvWnSpEkqV66cNm/ebNM+ZMgQWSwWff/9944cTgAArLZu3aoWLVrI09NTderU0d///ndr/rvVRx99ZM2z/v7+6tu3r06fPp3t9X4vH0tSTEyMKlasqFOnTumhhx5SxYoVVa1aNc2dO1eStH//fj3wwAOqUKGCatSooSVLljhvAFCq2F10X79+XS+++KLatGmjsLAw1a5d2+Zhj23btik2NlbffPONNm7cqPT0dHXp0kXXr1+36Td48GCdPXvW+pgxY4Z1W2ZmpqKiopSWlqYdO3bogw8+0MKFCzVx4kRrn8TEREVFRaljx46Kj4/XiBEjNGjQIK1fv97ewwcAq2eeeUbvvvuuevfurXfeeUejR4+Wl5eXEhISJEkLFy5Unz595OrqqmnTpmnw4MFavny57rvvPutCaS+88IKGDBkiSZoyZYo+/PBD/fnPf9aHH34oDw8PtWvXTh9++KG1/VaPPfaYsrKy9Nprr6lVq1Z65ZVXNHv2bP3xj39UtWrVNH36dIWFhWn06NHavn27db+UlBT94x//UIcOHTR9+nRNnjxZ//3vfxUZGan4+HhrvwkTJqh58+YaOHCgrl69Kklav3693nvvPU2cOFHNmjVz4ugCAMqqvXv3qmvXrrp48aJeeuklDRw4UFOmTNHKlStt+k2dOlUDBgxQ3bp1NXPmTI0YMUKbN29W+/btbRYkzU8+vikzM1PdunVTaGioZsyYoZo1a2r48OFauHChunbtqhYtWmj69Ony9vbWgAEDlJiY6PwBQcln7NS3b18THBxsxo4da2bNmmVmz55t87gT58+fN5LMtm3brG3333+/ee6553LdZ82aNaZcuXImKSnJ2vbuu+8aHx8fk5qaaowxZuzYsaZx48Y2+z322GMmMjIyX3ElJycbSSY5OdmOowFQ2vn6+prY2Ngct6WlpZmAgABz9913mxs3bljbV61aZSSZiRMnWtsWLFhgJJldu3bZvEaFChVMdHR0tteeNGmSkWSGDBlibcvIyDB33XWXcXFxMa+99pq1/fLly8bLy8vmdTIyMqzfj7f2CwwMNE8//bRN+/79+43FYjGDBg0yly9fNtWqVTMtWrQw6enpuQ8MSiRH5zpyp/Ot+vfPuT4KKuOLdQ59AAXRvXt3U758efPzz//7LB89etS4ubmZm+XLiRMnjKurq5k6darNvvv37zdubm7WdnvycXR0tJFkXn31VWvbzTzq4uJili5dam0/fPiwkWQmTZrk0GNHyZLfXGf3TPfatWv1ySefaPr06RoxYoSee+45m8edSE5OliT5+/vbtC9evFhVqlTR3XffrfHjx+uXX36xbouLi1OTJk0UGBhobYuMjFRKSooOHjxo7XPr4kQ3+8TFxeUYR2pqqlJSUmweAHA7Pz8/7dy5U2fOnMm27bvvvtP58+c1bNgwm9spRkVFqUGDBlq9evUdv/+gQYOs/+3q6qoWLVrIGKOBAwfaxFi/fn39+OOPNn1vLoaZlZWlS5cuKSMjQy1atLA5NV6S7r77br300kv6xz/+ocjISF24cEEffPCB3NzyvSQIyghyJwBHyMzM1KZNm9SzZ0+FhIRY28PCwtStWzfr8+XLlysrK0t9+vTRhQsXrI+goCDVrVvXeslUQfLxrfn1Zh6tUKGC+vTpY22vX7++/Pz8bPIrkBu7i+5KlSplK4odISsrSyNGjFDbtm119913W9ufeOIJffTRR/riiy80fvx4ffjhh3ryySet25OSkmwKbknW50lJSXn2SUlJ0Y0bN7LFMm3aNPn6+lofoaGhDjtOAKXHjBkzdODAAYWGhqply5aaPHmyNfmePHlS0m9J+XYNGjSwbr8T1atXt3nu6+srT09PValSJVv75cuXbdo++OADNW3aVJ6enqpcubKqVq2q1atXW//4easxY8aoWbNm+vbbbzVp0iQ1atTojmNH6UPuBOAI58+f140bNxQWFpZt261tR48elTFGdevWVdWqVW0eCQkJ1kVK7c3Hnp6eqlq1qk2br6+v7rrrrmzXk+eUX4Gc2D1V8fLLL2vixIn64IMPbO7VfadiY2N14MABffXVVzbtN691lKQmTZooODhYnTp10vHjx1WnTh2Hvf+txo8fb70vufTb9Y/8eABwuz59+qhdu3ZasWKFNmzYoNdff13Tp0/X8uXLC+X9XV1d89Um/Xa7x5s++ugjxcTEqGfPnhozZowCAgKs17kdP348274//vijjh49Kum3RWSAnJA7ARSmrKwsubi4aO3atTnmvooVKxbodXPLo/nJr0Bu7C6633zzTR0/flyBgYGqWbOm3N3dbbbffmpifgwfPlyrVq3S9u3bddddd+XZt1WrVpKkY8eOqU6dOgoKCtK3335r0+fcuXOSpKCgIOv/3my7tY+Pj4+8vLyyvYeHh4c8PDzsPg4AZU9wcLCGDRumYcOG6fz587r33ns1depUvf7665KkI0eO6IEHHrDZ58iRI6pRo8bvvvbtf1F3lH//+9+qXbu2li9fbvMekyZNytY3KytLMTEx8vHx0YgRI6z3Du/Vq5dTYkPJRe4E4AgBAQHy9PTUsWPHsm27ta1OnToyxqhWrVqqV69erq93M9/eST4G7pTdp5f37NlTf/3rXzV69Gg9+uij6tGjh83DHsYYDR8+XCtWrNCWLVtUq1at393n5sq6wcHBkqSIiAjt37/fegqJJG3cuFE+Pj7WUyAjIiKy3fJm48aNioiIsCteALgpMzMz26nYAQEBCgkJUWpqqlq0aKGAgADNmzdPqamp1j5r165VQkKCoqKifvc9KlSokG1VVUe4+df6W/86v3PnzhzXuZg5c6Z27Nih+fPn6+WXX1abNm00dOhQXbhwweFxAQDg6uqqzp07a+XKlTZrphw7dkxr1661Pu/Vq5dcXV310ksvZZttNsbo4sWLkuSQfAzcKbtnunOaCSmo2NhYLVmyRP/5z3/k7e1tvQbb19dXXl5eOn78uJYsWaIHH3xQlStX1r59+zRy5Ei1b99eTZs2lSR16dJFjRo1Uv/+/TVjxgwlJSVpwoQJio2Ntf7F/ZlnntHf/vY3jR07Vk8//bS2bNmiZcuWOWQhIwBl09WrV3XXXXfp0UcfVbNmzVSxYkVt2rRJu3bt0ptvvil3d3dNnz5dTz31lO6//349/vjjOnfunObMmaOaNWtq5MiRv/se4eHh2rRpk2bOnKmQkBDVqlXLerbPnXjooYe0fPlyPfLII4qKilJiYqLmzZunRo0a6dq1a9Z+CQkJevHFFxUTE6Pu3btL+u22K82bN9ewYcO0bNmyO44FAIDbTZ48WRs2bFDbtm01dOhQZWZm6m9/+5vuvvtu6wRcnTp19Morr2j8+PE6ceKEevbsKW9vbyUmJmrFihUaMmSIRo8e7ZB8DNypIl1+9t1335UkdejQwaZ9wYIFiomJkcVi0aZNmzR79mxdv35doaGh6t27tyZMmGDt6+rqqlWrVmno0KGKiIhQhQoVFB0drSlTplj71KpVS6tXr9bIkSM1Z84c3XXXXdaVeAGgIMqXL69hw4Zpw4YN1hVUw8LC9M4772jo0KGSpJiYGJUvX16vvfaaxo0bpwoVKuiRRx7R9OnT5efn97vvMXPmTA0ZMkQTJkzQjRs3FB0d7ZCiOyYmRklJSfr73/+u9evXq1GjRvroo4/0ySefaOvWrZJ+m8mPjo5WlSpVNHv2bOu+devW1bRp0/Tcc89p2bJlNiu5AgDgCOHh4Vq7dq1Gjx6tF198UaGhoZoyZYoSEhJ0+PBha7/nn39e9erV06xZs/TSSy9JkkJDQ9WlSxc9/PDD1n53mo+BO+Vi7Lz6v1y5cnleZ5iZmXnHQRU3KSkp8vX1VXJysnx8fIo6HAAAHM7RuY7c6XyrP81+u8KbonqH5LotL5lb1xc0nBy5dmCCA47Ts2dPHTx40Lq4J1DU8pvr7J7pXrFihc3z9PR07d27Vx988IH1L0wAAAAAUFA3btywWfD46NGjWrNmjaKjo4swKqBg7C66c1os7dFHH1Xjxo318ccfa+DAgQ4JDAAAAEDZVLt2bcXExKh27do6efKk3n33XVksFo0dO7aoQwPs5rBrulu3bm1zT20AAAAAKIiuXbvqX//6l5KSkuTh4aGIiAi9+uqrqlu3blGHBtjNIUX3jRs39NZbb6latWqOeDkAAAAAZdiCBQuKOgTAYewuuitVqmSzkJoxRlevXlX58uX10UcfOTQ4AAAAAABKMruL7ltvHSP9tpp51apV1apVK1WqVMlRcQEAAAAAUOLZXXSzYiAAAAAAAPlToGu6r1y5on/+859KSEiQJDVu3FhPP/20fH19HRocAAAAAAAlWTl7d/juu+9Up04dzZo1S5cuXdKlS5c0c+ZM1alTR3v27HFGjAAAAAAAlEh2z3SPHDlSDz/8sN577z25uf22e0ZGhgYNGqQRI0Zo+/btDg8SAAAAAICSyO6i+7vvvrMpuCXJzc1NY8eOVYsWLRwaHAAAAAAAJZndp5f7+Pjo1KlT2dpPnz4tb29vhwQFAAAAAEBpYHfR/dhjj2ngwIH6+OOPdfr0aZ0+fVpLly7VoEGD9PjjjzsjRgAAAAAASiS7Ty9/44035OLiogEDBigjI0OS5O7urqFDh+q1115zeIAAAABwnMyt64s6BAAoU+wuui0Wi+bMmaNp06bp+PHjkqQ6deqofPnyDg8OAAAAAICSzO6iOzk5WZmZmfL391eTJk2s7ZcuXZKbm5t8fHwcGiAAAAAAACWV3dd09+3bV0uXLs3WvmzZMvXt29chQQEAAAAAUBrYXXTv3LlTHTt2zNbeoUMH7dy50yFBAQAAAABQGthddKemploXULtVenq6bty44ZCgAAAAAAAoDewuulu2bKn58+dna583b57Cw8MdEhQAAAAAAKWB3QupvfLKK+rcubO+//57derUSZK0efNm7dq1Sxs2bHB4gAAAAAAAlFR2z3S3bdtWcXFxCg0N1bJly/T5558rLCxM+/btU7t27ZwRIwAAAAAAJZLdM92S1Lx5cy1evNjRsQAAAAAAUKrYPdMNAAAAAADyh6IbAAAAAAAnoegGAAAAAMBJKLoBAAAAAHASim4AAAAAAJykQKuXf/fdd1q2bJlOnTqltLQ0m23Lly93SGAAAAAAAJR0ds90L126VG3atFFCQoJWrFih9PR0HTx4UFu2bJGvr68zYgQAAAAAoESyu+h+9dVXNWvWLH3++eeyWCyaM2eODh8+rD59+qh69erOiBEAAAAAgBLJ7qL7+PHjioqKkiRZLBZdv35dLi4uGjlypObPn+/wAAEAAAAAKKnsLrorVaqkq1evSpKqVaumAwcOSJKuXLmiX375xbHRAQAAAABQgtm9kFr79u21ceNGNWnSRH/605/03HPPacuWLdq4caM6derkjBgBAAAAACiR7C66//a3v+nXX3+VJL3wwgtyd3fXjh071Lt3b02YMMHhAQIAAAAAUFLZVXRnZGRo1apVioyMlCSVK1dOzz//vFMCAwAAAACgpLPrmm43Nzc988wz1pluAAAAAACQO7sXUmvZsqXi4+OdEAoAAAAAAKWL3dd0Dxs2TKNGjdLp06cVHh6uChUq2Gxv2rSpw4IDAAAAAKAks7vo7tu3ryTpL3/5i7XNxcVFxhi5uLgoMzPTcdEBAAAAAFCC2V10JyYmOiMOAAAAAABKHbuL7pMnT6pNmzZyc7PdNSMjQzt27FCNGjUcFhwAAAAAACWZ3QupdezYUZcuXcrWnpycrI4dO9r1WtOmTdMf/vAHeXt7KyAgQD179tSRI0ds+vz666+KjY1V5cqVVbFiRfXu3Vvnzp2z6XPq1ClFRUWpfPnyCggI0JgxY5SRkWHTZ+vWrbr33nvl4eGhsLAwLVy40K5YAQAAAACwl91F981rt2938eLFbIuq/Z5t27YpNjZW33zzjTZu3Kj09HR16dJF169ft/YZOXKkPv/8c33yySfatm2bzpw5o169elm3Z2ZmKioqSmlpadqxY4c++OADLVy4UBMnTrT2SUxMVFRUlDp27Kj4+HiNGDFCgwYN0vr16+09fAAAAAAA8s3FGGPy0/Fmofuf//xHXbt2lYeHh3VbZmam9u3bp/r162vdunUFDua///2vAgICtG3bNrVv317JycmqWrWqlixZokcffVSSdPjwYTVs2FBxcXFq3bq11q5dq4ceekhnzpxRYGCgJGnevHkaN26c/vvf/8pisWjcuHFavXq1Dhw4YH2vvn376sqVKznGm5qaqtTUVOvzlJQUhYaGKjk5WT4+PgU+PgAAiquUlBT5+voWONeROwvf6k/P5LotqndIrtsytxbepINrh8hCey8AKGz5zZ35nun29fWVr6+vjDHy9va2Pvf19VVQUJCGDBmijz766I6CTk5OliT5+/tLknbv3q309HR17tzZ2qdBgwaqXr264uLiJElxcXFq0qSJteCWpMjISKWkpOjgwYPWPre+xs0+N1/jdtOmTbM5vtDQ0Ds6LgAASjtyJwAAOcv3QmoLFiyQJNWsWVNjxoxR+fLlHRpIVlaWRowYobZt2+ruu++WJCUlJcliscjPz8+mb2BgoJKSkqx9bi24b26/uS2vPikpKbpx44a8vLxsto0fP16jRo2yPr/513oAAJAzcicAADmze/XyAQMG6Oeff1bdunVt2o8ePSp3d3fVrFmzQIHExsbqwIED+uqrrwq0vyN5eHjYnD4PAADyRu4EACBndi+kFhMTox07dmRr37lzp2JiYgoUxPDhw7Vq1Sp98cUXuuuuu6ztQUFBSktL05UrV2z6nzt3TkFBQdY+t69mfvP57/Xx8fHJNssNAAAAAICj2F107927V23bts3W3rp1a8XHx9v1WsYYDR8+XCtWrNCWLVtUq1Ytm+3h4eFyd3fX5s2brW1HjhzRqVOnFBERIUmKiIjQ/v37df78eWufjRs3ysfHR40aNbL2ufU1bva5+RoAAAAAADiD3aeXu7i46OrVq9nak5OTlZmZaddrxcbGasmSJfrPf/4jb29v6zXYvr6+8vLykq+vrwYOHKhRo0bJ399fPj4+evbZZxUREaHWrVtLkrp06aJGjRqpf//+mjFjhpKSkjRhwgTFxsZaT3N75pln9Le//U1jx47V008/rS1btmjZsmVavXq1vYcPAAAAAEC+2T3T3b59e02bNs2mwM7MzNS0adN033332fVa7777rpKTk9WhQwcFBwdbHx9//LG1z6xZs/TQQw+pd+/eat++vYKCgrR8+XLrdldXV61atUqurq6KiIjQk08+qQEDBmjKlCnWPrVq1dLq1au1ceNGNWvWTG+++ab+8Y9/KDKS21gAAAAAAJwn3/fpvunQoUNq3769/Pz81K5dO0nSl19+qZSUFG3ZssW68nhpcqf3LgUAoLhzdK4jdzof9+kGgKLl8Pt039SoUSPt27dPffr00fnz53X16lUNGDBAhw8fLpUFNwAAAAAABWX3Nd2SFBISoldffdXRsQAAAAAAUKrYPdMt/XY6+ZNPPqk2bdro559/liR9+OGHxeIe2wAAAAAAFBd2F92ffvqpIiMj5eXlpT179ig1NVXSb6uXM/sNAAAAAMD/2F10v/LKK5o3b57ee+89ubu7W9vbtm2rPXv2ODQ4AAAAAABKMruL7iNHjqh9+/bZ2n19fXXlyhVHxAQAAAAAQKlgd9EdFBSkY8eOZWv/6quvVLt2bYcEBQAAAABAaWB30T148GA999xz2rlzp1xcXHTmzBktXrxYo0eP1tChQ50RIwAAAAAAJZLdtwx7/vnnlZWVpU6dOumXX35R+/bt5eHhodGjR+vZZ591RowAAAAAAJRIdhfdLi4ueuGFFzRmzBgdO3ZM165dU6NGjVSxYkVnxAcAAAAAQIlld9F9k8Vikbe3t7y9vSm4AQAAAADIgd3XdGdkZOjFF1+Ur6+vatasqZo1a8rX11cTJkxQenq6M2IEAAAAAKBEsnum+9lnn9Xy5cs1Y8YMRURESJLi4uI0efJkXbx4Ue+++67DgwQAAAAAoCSyu+hesmSJli5dqm7dulnbmjZtqtDQUD3++OMU3QAAAJAkZW5dn+s21w6RhRgJABQdu08v9/DwUM2aNbO116pVSxaLxRExAQAAAABQKthddA8fPlwvv/yyUlNTrW2pqamaOnWqhg8f7tDgAAAAAAAoyew+vXzv3r3avHmz7rrrLjVr1kyS9P333ystLU2dOnVSr169rH2XL1/uuEgBAAAAAChh7C66/fz81Lt3b5u20NBQhwUEAAAAAEBpYXfRvWDBAmfEAQAAAABAqWP3Nd03btzQL7/8Yn1+8uRJzZ49Wxs2bHBoYAAAAAAAlHR2F909evTQokWLJElXrlxRy5Yt9eabb6pHjx7cLgwAAAAAgFvYXXTv2bNH7dq1kyT9+9//VlBQkE6ePKlFixbprbfecniAAAAAAACUVHYX3b/88ou8vb0lSRs2bFCvXr1Urlw5tW7dWidPnnR4gAAAAAAAlFR2F91hYWFauXKlTp8+rfXr16tLly6SpPPnz8vHx8fhAQIAAAAAUFLZXXRPnDhRo0ePVs2aNdWqVStFRERI+m3W+5577nF4gAAAAAAAlFR23zLs0Ucf1X333aezZ8+qWbNm1vZOnTrpkUcecWhwAAAAAACUZHYX3ZIUFBSkoKAgm7aWLVs6JCAAAAAAAEoLu08vBwAAAAAA+UPRDQAAAACAk1B0AwAAAADgJBTdAAAAAAA4CUU3AAAAAABOQtENAAAAAICTUHQDAAAAAOAkFN0AAAAAADgJRTcAAAAAAE5C0Q0AAAAAgJNQdAMAAAAA4CQU3QAAAAAAOAlFNwAAAAAATkLRDQAAAACAkxRp0b19+3Z1795dISEhcnFx0cqVK222x8TEyMXFxebRtWtXmz6XLl1Sv3795OPjIz8/Pw0cOFDXrl2z6bNv3z61a9dOnp6eCg0N1YwZM5x9aAAAAAAAFG3Rff36dTVr1kxz587NtU/Xrl119uxZ6+Nf//qXzfZ+/frp4MGD2rhxo1atWqXt27dryJAh1u0pKSnq0qWLatSood27d+v111/X5MmTNX/+fKcdFwAAAAAAkuRWlG/erVs3devWLc8+Hh4eCgoKynFbQkKC1q1bp127dqlFixaSpLffflsPPvig3njjDYWEhGjx4sVKS0vT+++/L4vFosaNGys+Pl4zZ860Kc4BADlb/emZXLdF9Q4pxEgAAABKniItuvNj69atCggIUKVKlfTAAw/olVdeUeXKlSVJcXFx8vPzsxbcktS5c2eVK1dOO3fu1COPPKK4uDi1b99eFovF2icyMlLTp0/X5cuXValSpWzvmZqaqtTUVOvzlJQUJx4hAJRcFOS4idwJAEDOivVCal27dtWiRYu0efNmTZ8+Xdu2bVO3bt2UmZkpSUpKSlJAQIDNPm5ubvL391dSUpK1T2BgoE2fm89v9rndtGnT5Ovra32EhoY6+tAAAChVyJ0AAOSsWBfdffv21cMPP6wmTZqoZ8+eWrVqlXbt2qWtW7c69X3Hjx+v5ORk6+P06dNOfT8AAEo6cicAADkr9qeX36p27dqqUqWKjh07pk6dOikoKEjnz5+36ZORkaFLly5ZrwMPCgrSuXPnbPrcfJ7bteIeHh7y8PBwwhEAAFA6kTuLl7wu/ehauRADAQCUrKL7p59+0sWLFxUcHCxJioiI0JUrV7R7926Fh4dLkrZs2aKsrCy1atXK2ueFF15Qenq63N3dJUkbN25U/fr1c7yeG0DJk7l1fa7bXDtEFmIkAAAAgK0iPb382rVrio+PV3x8vCQpMTFR8fHxOnXqlK5du6YxY8bom2++0YkTJ7R582b16NFDYWFhioz87Ud0w4YN1bVrVw0ePFjffvutvv76aw0fPlx9+/ZVSMhvC/g88cQTslgsGjhwoA4ePKiPP/5Yc+bM0ahRo4rqsAEAAAAAZUSRFt3fffed7rnnHt1zzz2SpFGjRumee+7RxIkT5erqqn379unhhx9WvXr1NHDgQIWHh+vLL7+0OX1t8eLFatCggTp16qQHH3xQ9913n809uH19fbVhwwYlJiYqPDxcf/3rXzVx4kRuFwYAAAAAcLoiPb28Q4cOMsbkun39+txPGb3J399fS5YsybNP06ZN9eWXX9odHwAAAAAAd6JYr14OAAAAAEBJRtENAAAAAICTlKjVywHAXrmtbM6q5tnldYshAAAAFAwz3QAAAAAAOAlFNwAAAAAATkLRDQAAAACAk1B0AwAAAADgJCykBqBEyG1BNAAAAKA4o+gGgDKEFcoBAAAKF6eXAwAAAADgJBTdAAAAAAA4CUU3AAAAAABOQtENAAAAAICTUHQDAAAAAOAkFN0AAAAAADgJRTcAAAAAAE5C0Q0AAAAAgJO4FXUAAIDSafWnZ3LdFtU7pBAjAQAAKDrMdAMAAAAA4CTMdAMokzK3rs91m2uHyEKMBAAAAKUZRTeAYiOvQhgAAAAoiSi6AaCUyetaagAAABQurukGAAAAAMBJKLoBAAAAAHASim4AAAAAAJyEohsAAAAAACeh6AYAAAAAwElYvRyAU+R2+y/ugQ0AAICyhJluAAAAAACchKIbAAAAAAAnoegGAAAAAMBJuKYbAACgDDl66Gqu2+o28i7ESACgbGCmGwAAAAAAJ2GmG0Chym1VcwAAAKA0ougGAABAocvrj7DcXhJAacLp5QAAAAAAOAlFNwAAAAAATsLp5QAAACizVn96JtdtUb1DCjESAKUVM90AAAAAADgJM90ACqy0rkTO4j4AAABwFGa6AQAAAABwkiIturdv367u3bsrJCRELi4uWrlypc12Y4wmTpyo4OBgeXl5qXPnzjp69KhNn0uXLqlfv37y8fGRn5+fBg4cqGvXrtn02bdvn9q1aydPT0+FhoZqxowZzj40AHCq1Z+eyfUBAACA4qNIi+7r16+rWbNmmjt3bo7bZ8yYobfeekvz5s3Tzp07VaFCBUVGRurXX3+19unXr58OHjyojRs3atWqVdq+fbuGDBli3Z6SkqIuXbqoRo0a2r17t15//XVNnjxZ8+fPd/rxAQAAAADKtiK9prtbt27q1q1bjtuMMZo9e7YmTJigHj16SJIWLVqkwMBArVy5Un379lVCQoLWrVunXbt2qUWLFpKkt99+Ww8++KDeeOMNhYSEaPHixUpLS9P7778vi8Wixo0bKz4+XjNnzrQpzgEAAID8YtVzAPlVbBdSS0xMVFJSkjp37mxt8/X1VatWrRQXF6e+ffsqLi5Ofn5+1oJbkjp37qxy5cpp586deuSRRxQXF6f27dvLYrFY+0RGRmr69Om6fPmyKlWqlO29U1NTlZqaan2ekpLipKMEAKB0IHeiNOKSHQCOUGwXUktKSpIkBQYG2rQHBgZatyUlJSkgIMBmu5ubm/z9/W365PQat77H7aZNmyZfX1/rIzQ09M4PCACAUozcCQBAzopt0V2Uxo8fr+TkZOvj9OnTRR0SAADFGrkTAICcFdvTy4OCgiRJ586dU3BwsLX93Llzat68ubXP+fPnbfbLyMjQpUuXrPsHBQXp3LlzNn1uPr/Z53YeHh7y8PBwyHEAAFAWkDsBAMhZsZ3prlWrloKCgrR582ZrW0pKinbu3KmIiAhJUkREhK5cuaLdu3db+2zZskVZWVlq1aqVtc/27duVnp5u7bNx40bVr18/x+u5AQAAAABwlCKd6b527ZqOHTtmfZ6YmKj4+Hj5+/urevXqGjFihF555RXVrVtXtWrV0osvvqiQkBD17NlTktSwYUN17dpVgwcP1rx585Senq7hw4erb9++Cgn5bdXIJ554Qi+99JIGDhyocePG6cCBA5ozZ45mzZpVFIcMAACAQsaCaACKUpEW3d999506duxofT5q1ChJUnR0tBYuXKixY8fq+vXrGjJkiK5cuaL77rtP69atk6enp3WfxYsXa/jw4erUqZPKlSun3r1766233rJu9/X11YYNGxQbG6vw8HBVqVJFEydO5HZhAAAAcIrcinxuJQaUTUVadHfo0EHGmFy3u7i4aMqUKZoyZUquffz9/bVkyZI836dp06b68ssvCxwnAAAAAAAFUWyv6QYAAAAAoKQrtquXA0BZxzWIAAAAJR8z3QAAAAAAOAkz3QDylLl1fVGHAAAAAJRYFN0AgEKX16nzrO4LAABKE04vBwAAAADASSi6AQAAAABwEopuAAAAAACchKIbAAAAAAAnoegGAAAAAMBJKLoBAAAAAHASim4AAAAAAJyE+3QDAABAknT00NVct9Vt5F2IkQBA6UHRDQB2yNy6Ptdtrh0iCzESAAAAlAScXg4AAAAAgJNQdAMAAAAA4CQU3QAAAAAAOAnXdAPI8zplAAAAAAXHTDcAAAAAAE7CTDcAAABKhdWfninqEAAgG2a6AQAAAABwEma6gTKC67YBAACAwsdMNwAAAAAATsJMNwAUMa5BBAAAKL2Y6QYAAAAAwEkougEAAAAAcBJOLwcAAAAKQV6XE0X1DinESAAUJma6AQAAAABwEopuAAAAAACchNPLAQAASpk653YUdQgAgP/DTDcAAAAAAE5C0Q0AAAAAgJNwejkAFIK8VqwFAOQf36cAShpmugEAAAAAcBJmuoFSJHPr+qIOAQAAAMAtmOkGAAAAAMBJKLoBAAAAAHASim4AAAAAAJyEa7qBEohrtwEAAICSgaIbAByE29gAKM2OHrqa67a6jbwLMRIAKFkougHADnn96FRg4cUBAACAkoGiGwBuk2dhDafL64yBqN4hhRgJgKKS92VUTQotDgBwhGK9kNrkyZPl4uJi82jQoIF1+6+//qrY2FhVrlxZFStWVO/evXXu3Dmb1zh16pSioqJUvnx5BQQEaMyYMcrIyCjsQwEAAAAAlEHFfqa7cePG2rRpk/W5m9v/Qh45cqRWr16tTz75RL6+vho+fLh69eqlr7/+WpKUmZmpqKgoBQUFaceOHTp79qwGDBggd3d3vfrqq4V+LACKD2azAQAAUBiKfdHt5uamoKCgbO3Jycn65z//qSVLluiBBx6QJC1YsEANGzbUN998o9atW2vDhg06dOiQNm3apMDAQDVv3lwvv/yyxo0bp8mTJ8tiseT4nqmpqUpNTbU+T0lJcc7BAQBQSpA7AQDIWbE+vVySjh49qpCQENWuXVv9+vXTqVOnJEm7d+9Wenq6OnfubO3boEEDVa9eXXFxcZKkuLg4NWnSRIGB/1vdKDIyUikpKTp48GCu7zlt2jT5+vpaH6GhoU46OgAASgdyJwAAOSvWM92tWrXSwoULVb9+fZ09e1YvvfSS2rVrpwMHDigpKUkWi0V+fn42+wQGBiopKUmSlJSUZFNw39x+c1tuxo8fr1GjRlmfp6Sk8OMBAIA8kDuBO8MikkDpVayL7m7duln/u2nTpmrVqpVq1KihZcuWycvLy2nv6+HhIQ8PD6e9PoDCw7XbQOEgdwIAkLNif3r5rfz8/FSvXj0dO3ZMQUFBSktL05UrV2z6nDt3znoNeFBQULbVzG8+z+k6cQAAAAAAHKlEFd3Xrl3T8ePHFRwcrPDwcLm7u2vz5s3W7UeOHNGpU6cUEREhSYqIiND+/ft1/vx5a5+NGzfKx8dHjRo1KvT4AZRudc7tyPUBAACAsqlYn14+evRode/eXTVq1NCZM2c0adIkubq66vHHH5evr68GDhyoUaNGyd/fXz4+Pnr22WcVERGh1q1bS5K6dOmiRo0aqX///poxY4aSkpI0YcIExcbGcgocAAAAAMDpinXR/dNPP+nxxx/XxYsXVbVqVd1333365ptvVLVqVUnSrFmzVK5cOfXu3VupqamKjIzUO++8Y93f1dVVq1at0tChQxUREaEKFSooOjpaU6ZMKapDAgAAAOzCImtAyVasi+6lS5fmud3T01Nz587V3Llzc+1To0YNrVmzxtGhAQAAwEnyXAQzMPdNAFAcFeuiGwAAAMVfbkVy3UbehRwJABQ/FN1AMZW5dX1RhwAAAADgDpWo1csBAAAAAChJKLoBAAAAAHASTi8HAACAU+S1IBrXewMoK5jpBgAAAADASZjpBgAAQKHL87ZgAFCKMNMNAAAAAICTUHQDAAAAAOAkFN0AAAAAADgJ13QDKPG4LhAAUFat/vRMrtuieocUYiQAcsNMNwAAAAAATkLRDQAAAACAk1B0AwAAAADgJFzTDaBE4LptAAAAlETMdAMAAAAA4CTMdAMASozcVullhV4AAFBcMdMNAAAAAICTUHQDAAAAAOAknF4OFKHMreuLOgQUkjrnduS67Xhgm0KMBABKNr5PAZQ0FN0Aig1WKAcAwHFyWwdDYi0MoDBxejkAAAAAAE5C0Q0AAAAAgJNQdAMAAAAA4CQU3QAAAAAAOAlFNwAAAAAATkLRDQAAAACAk3DLMMDJuBc3AAAAUHZRdAMoVNyLGwAAAGUJp5cDAAAAAOAkzHQDDsAp5AAAoCRZ/ekZu/eJ6h3ihEiA0o+ZbgAAAAAAnISZbgBOwbXbKEx5zdgwMwMAAIoSRTcAFLE653bk2H48sE0hRwIAAABH4/RyAAAAAACchKIbAAAAAAAn4fRyAAAAlApcruNcrJ8BFAwz3QAAAAAAOAkz3YAdyuL9uFmFHAAAACg4im7gNmWxsAYAoDTL7bRziVPPCwOnpaOso+gGgGKKH4kA8pLXdwRQ2PIqrIGyrkwV3XPnztXrr7+upKQkNWvWTG+//bZatmxZ1GEBdsvtlO+6jbwd+noovijI848ZFgAovnL7jub7GaVJmSm6P/74Y40aNUrz5s1Tq1atNHv2bEVGRurIkSMKCAgo6vAAh6B4BgAApQF/MEVpUmaK7pkzZ2rw4MF66qmnJEnz5s3T6tWr9f777+v5558v4uhQ2ErCddsU0AAAANlRkKOkKRNFd1pamnbv3q3x48db28qVK6fOnTsrLi4uW//U1FSlpqZanycnJ0uSUlJSnB8sHCbzy00F2u/44Wt271OnQUWHvh5wJwJP5P7ZTwxoVYiRFH+ffHgk122RPYILMZKidzPHGWMKtD+5s/Bdu/FLUYdQKuT1nVlc8N2df3l9r+elrH3nwzHymzvLRNF94cIFZWZmKjAw0KY9MDBQhw8fztZ/2rRpeumll7K1h4aGOi1GAACKg6tXr8rX19fu/cidAICy6vdyp4sp6J+0S5AzZ86oWrVq2rFjhyIiIqztY8eO1bZt27Rz506b/rf/tT4rK0uXLl1S5cqV5eLi4pCYUlJSFBoaqtOnT8vHx8chr1mSMR62GA9bjIctxsMW45FdQcbEGKOrV68qJCRE5cqVs/s9nZ07+Xe2xXhkx5jYYjxsMR62GA9bBR2P/ObOMjHTXaVKFbm6uurcuXM27efOnVNQUFC2/h4eHvLw8LBp8/Pzc0psPj4+fNBvwXjYYjxsMR62GA9bjEd29o5JQWa4byqs3Mm/sy3GIzvGxBbjYYvxsMV42CrIeOQnd9r/p+wSyGKxKDw8XJs3b7a2ZWVlafPmzTYz3wAAAAAAOFKZmOmWpFGjRik6OlotWrRQy5YtNXv2bF2/ft26mjkAAAAAAI5WZoruxx57TP/97381ceJEJSUlqXnz5lq3bl22xdUKi4eHhyZNmpTtVLyyivGwxXjYYjxsMR62GI/sSuOYlMZjuhOMR3aMiS3GwxbjYYvxsOXs8SgTC6kBAAAAAFAUysQ13QAAAAAAFAWKbgAAAAAAnISiGwAAAAAAJ6HoBgAAAADASSi6C8mlS5fUr18/+fj4yM/PTwMHDtS1a9fy7P/ss8+qfv368vLyUvXq1fWXv/xFycnJhRi1Y82dO1c1a9aUp6enWrVqpW+//TbP/p988okaNGggT09PNWnSRGvWrCmkSAuHPePx3nvvqV27dqpUqZIqVaqkzp07/+74lTT2fj5uWrp0qVxcXNSzZ0/nBljI7B2PK1euKDY2VsHBwfLw8FC9evVK1f9n7B2P2bNnW78/Q0NDNXLkSP3666+FFK1zbd++Xd27d1dISIhcXFy0cuXK391n69atuvfee+Xh4aGwsDAtXLjQ6XE6QlnPneTN7Midtsidtsidtsid/1PkudOgUHTt2tU0a9bMfPPNN+bLL780YWFh5vHHH8+1//79+02vXr3MZ599Zo4dO2Y2b95s6tata3r37l2IUTvO0qVLjcViMe+//745ePCgGTx4sPHz8zPnzp3Lsf/XX39tXF1dzYwZM8yhQ4fMhAkTjLu7u9m/f38hR+4c9o7HE088YebOnWv27t1rEhISTExMjPH19TU//fRTIUfuHPaOx02JiYmmWrVqpl27dqZHjx6FE2whsHc8UlNTTYsWLcyDDz5ovvrqK5OYmGi2bt1q4uPjCzly57B3PBYvXmw8PDzM4sWLTWJiolm/fr0JDg42I0eOLOTInWPNmjXmhRdeMMuXLzeSzIoVK/Ls/+OPP5ry5cubUaNGmUOHDpm3337buLq6mnXr1hVOwHegLOdO8mZ25E5b5E5b5E5b5E5bRZ07KboLwaFDh4wks2vXLmvb2rVrjYuLi/n555/z/TrLli0zFovFpKenOyNMp2rZsqWJjY21Ps/MzDQhISFm2rRpOfbv06ePiYqKsmlr1aqV+fOf/+zUOAuLveNxu4yMDOPt7W0++OADZ4VYqAoyHhkZGaZNmzbmH//4h4mOji5VPxzsHY93333X1K5d26SlpRVWiIXK3vGIjY01DzzwgE3bqFGjTNu2bZ0aZ1HIzw+HsWPHmsaNG9u0PfbYYyYyMtKJkd25sp47yZvZkTttkTttkTttkTtzVxS5k9PLC0FcXJz8/PzUokULa1vnzp1Vrlw57dy5M9+vk5ycLB8fH7m5uTkjTKdJS0vT7t271blzZ2tbuXLl1LlzZ8XFxeW4T1xcnE1/SYqMjMy1f0lSkPG43S+//KL09HT5+/s7K8xCU9DxmDJligICAjRw4MDCCLPQFGQ8PvvsM0VERCg2NlaBgYG6++679eqrryozM7OwwnaagoxHmzZttHv3butpdD/++KPWrFmjBx98sFBiLm5K6vdpWc6d5M3syJ22yJ22yJ22yJ13ztHfqSUnA5VgSUlJCggIsGlzc3OTv7+/kpKS8vUaFy5c0Msvv6whQ4Y4I0SnunDhgjIzMxUYGGjTHhgYqMOHD+e4T1JSUo798ztexVlBxuN248aNU0hISLYvg5KoIOPx1Vdf6Z///Kfi4+MLIcLCVZDx+PHHH7Vlyxb169dPa9as0bFjxzRs2DClp6dr0qRJhRG20xRkPJ544glduHBB9913n4wxysjI0DPPPKP/9//+X2GEXOzk9n2akpKiGzduyMvLq4giy1tZzp3kzezInbbInbbInbbInXfO0bmTme478Pzzz8vFxSXPR34TQV5SUlIUFRWlRo0aafLkyXceOEq01157TUuXLtWKFSvk6elZ1OEUuqtXr6p///567733VKVKlaIOp1jIyspSQECA5s+fr/DwcD322GN64YUXNG/evKIOrUhs3bpVr776qt555x3t2bNHy5cv1+rVq/Xyyy8XdWgQuRNFg9xJ7rwdudMWudO5mOm+A3/9618VExOTZ5/atWsrKChI58+ft2nPyMjQpUuXFBQUlOf+V69eVdeuXeXt7a0VK1bI3d39TsMudFWqVJGrq6vOnTtn037u3Llcjz8oKMiu/iVJQcbjpjfeeEOvvfaaNm3apKZNmzozzEJj73gcP35cJ06cUPfu3a1tWVlZkn6bBTty5Ijq1Knj3KCdqCCfj+DgYLm7u8vV1dXa1rBhQyUlJSktLU0Wi8WpMTtTQcbjxRdfVP/+/TVo0CBJUpMmTXT9+nUNGTJEL7zwgsqVK1t/b87t+9THx6dIZrnJnb+PvJkdudMWudMWudMWufPOOTp3lq3Rc7CqVauqQYMGeT4sFosiIiJ05coV7d6927rvli1blJWVpVatWuX6+ikpKerSpYssFos+++yzEvuXWYvFovDwcG3evNnalpWVpc2bNysiIiLHfSIiImz6S9LGjRtz7V+SFGQ8JGnGjBl6+eWXtW7dOptrHEs6e8ejQYMG2r9/v+Lj462Phx9+WB07dlR8fLxCQ0MLM3yHK8jno23btjp27Jj1B5Qk/fDDDwoODi7RPxqkgo3HL7/8ku3Hwc0fVb+tn1K2FLfvU3Ln7yNvZkfutEXutEXutEXuvHMO/04t0PJrsFvXrl3NPffcY3bu3Gm++uorU7duXZvbnvz000+mfv36ZufOncYYY5KTk02rVq1MkyZNzLFjx8zZs2etj4yMjKI6jAJbunSp8fDwMAsXLjSHDh0yQ4YMMX5+fiYpKckYY0z//v3N888/b+3/9ddfGzc3N/PGG2+YhIQEM2nSpFJ16xN7x+O1114zFovF/Pvf/7b5LFy9erWoDsGh7B2P25W2FVjtHY9Tp04Zb29vM3z4cHPkyBGzatUqExAQYF555ZWiOgSHsnc8Jk2aZLy9vc2//vUv8+OPP5oNGzaYOnXqmD59+hTVITjU1atXzd69e83evXuNJDNz5kyzd+9ec/LkSWOMMc8//7zp37+/tf/N256MGTPGJCQkmLlz55aoW4aV1dxJ3syO3GmL3GmL3GmL3GmrqHMnRXchuXjxonn88cdNxYoVjY+Pj3nqqadsvvQTExONJPPFF18YY4z54osvjKQcH4mJiUVzEHfo7bffNtWrVzcWi8W0bNnSfPPNN9Zt999/v4mOjrbpv2zZMlOvXj1jsVhM48aNzerVqws5YueyZzxq1KiR42dh0qRJhR+4k9j7+bhVafvhYIz947Fjxw7TqlUr4+HhYWrXrm2mTp1a4oqMvNgzHunp6Wby5MmmTp06xtPT04SGhpphw4aZy5cvF37gTpBbfrg5BtHR0eb+++/Ptk/z5s2NxWIxtWvXNgsWLCj0uAuirOdO8mZ25E5b5E5b5E5b5M7/Kerc6WJMGTxfAAAAAACAQsA13QAAAAAAOAlFNwAAAAAATkLRDQAAAACAk1B0AwAAAADgJBTdAAAAAAA4CUU3AAAAAABOQtENAAAAAICTUHQDAAAAAOAkFN0AUIRq1qyp2bNnF3UYAACUGOROlDQU3cD/6dChg0aMGFHUYdgojjEBAHBTccxTxTEmAGUbRTfgYGlpaUUdglOV9uMryzIzM5WVlVXUYQAog0p7bintx1eWkTuRHxTdgKSYmBht27ZNc+bMkYuLi1xcXHTixAllZmZq4MCBqlWrlry8vFS/fn3NmTMn2749e/bU1KlTFRISovr160uSduzYoebNm8vT01MtWrTQypUr5eLiovj4eOu+Bw4cULdu3VSxYkUFBgaqf//+unDhQp4x5eSdd95R3bp15enpqcDAQD366KPWbVlZWZoxY4bCwsLk4eGh6tWra+rUqdbt+/fv1wMPPCAvLy9VrlxZQ4YM0bVr1373+E6fPq0+ffrIz89P/v7+6tGjR67x2WPmzJlq0qSJKlSooNDQUA0bNswaT0pKiry8vLR27VqbfVasWCFvb2/98ssvkvI39rdLTU3VuHHjFBoaKg8PD4WFhemf//ynJNn1OXjjjTcUHBysypUrKzY2Vunp6dY+58+fV/fu3eXl5aVatWpp8eLFvzseW7duVcuWLVWhQgX5+fmpbdu2OnnypHX7559/rj/84Q/y9PRUlSpV9Mgjj1i3Xb58WQMGDFClSpVUvnx5devWTUePHrVuX7hwofz8/PTZZ5+pUaNG8vDw0KlTp5SamqrRo0erWrVqqlChglq1aqWtW7f+bqwAyhZyJ7mT3EnuRD4ZAObKlSsmIiLCDB482Jw9e9acPXvWZGRkmLS0NDNx4kSza9cu8+OPP5qPPvrIlC9f3nz88cfWfaOjo03FihVN//79zYEDB8yBAwdMcnKy8ff3N08++aQ5ePCgWbNmjalXr56RZPbu3WuMMeby5cumatWqZvz48SYhIcHs2bPH/PGPfzQdO3bMM6bb7dq1y7i6upolS5aYEydOmD179pg5c+ZYt48dO9ZUqlTJLFy40Bw7dsx8+eWX5r333jPGGHPt2jUTHBxsevXqZfbv3282b95satWqZaKjo/M8vrS0NNOwYUPz9NNPm3379plDhw6ZJ554wtSvX9+kpqbe0b/FrFmzzJYtW0xiYqLZvHmzqV+/vhk6dKh1+6OPPmqefPJJm3169+5tbcvP2OekT58+JjQ01CxfvtwcP37cbNq0ySxdutQYY/L9OfDx8THPPPOMSUhIMJ9//rkpX768mT9/vrVPt27dTLNmzUxcXJz57rvvTJs2bYyXl5eZNWtWjjGlp6cbX19fM3r0aHPs2DFz6NAhs3DhQnPy5EljjDGrVq0yrq6uZuLEiebQoUMmPj7evPrqq9b9H374YdOwYUOzfft2Ex8fbyIjI01YWJhJS0szxhizYMEC4+7ubtq0aWO+/vprc/jwYXP9+nUzaNAg06ZNG7N9+3Zz7Ngx8/rrrxsPDw/zww8/5ONfEEBZQe4kd5I7yZ3IH4pu4P/cf//95rnnnvvdfrGxsaZ3797W59HR0SYwMNAmYb777rumcuXK5saNG9a29957zyZ5vfzyy6ZLly42r3369GkjyRw5ciTfMX366afGx8fHpKSkZNuWkpJiPDw8rD8Ubjd//nxTqVIlc+3aNWvb6tWrTbly5UxSUlKux/fhhx+a+vXrm6ysLGtbamqq8fLyMuvXr88zXnt98sknpnLlytbnK1asMBUrVjTXr183xvz2Q8HT09OsXbvWGJO/sb/dkSNHjCSzcePGfMeV0+egRo0aNj/u/vSnP5nHHnvM5j2+/fZb6/aEhAQjKdcfDhcvXjSSzNatW3PcHhERYfr165fjth9++MFIMl9//bW17cKFC8bLy8ssW7bMGPPbDwdJJj4+3trn5MmTxtXV1fz88882r9epUyczfvz4HN8LQNlF7vwNuTN/yJ0oqzi9HPgdc+fOVXh4uKpWraqKFStq/vz5OnXqlE2fJk2ayGKxWJ8fOXJETZs2laenp7WtZcuWNvt8//33+uKLL1SxYkXro0GDBpKk48eP5zu+P/7xj6pRo4Zq166t/v37a/HixdZTxRISEpSamqpOnTrluG9CQoKaNWumChUqWNvatm2rrKwsHTlyJNfj+/7773Xs2DF5e3tbY/f399evv/6aa+yNGze29u3WrVuux7Np0yZ16tRJ1apVk7e3t/r376+LFy9aj+nBBx+Uu7u7PvvsM0nSp59+Kh8fH3Xu3FlS/sb+dvHx8XJ1ddX999+fa5/8fA4aN24sV1dX6/Pg4GCdP39e0m9j7ebmpvDwcOv2Bg0ayM/PL9f39Pf3V0xMjCIjI9W9e3fNmTNHZ8+etYk7r39bNzc3tWrVytpWuXJl1a9fXwkJCdY2i8Wipk2bWp/v379fmZmZqlevns1nc9u2bXZ9LgGUbeROcqdE7iR34ia3og4AKM6WLl2q0aNH680331RERIS8vb31+uuva+fOnTb9bk28+XXt2jV1795d06dPz7YtODg436/j7e2tPXv2aOvWrdqwYYMmTpyoyZMna9euXfLy8rI7rpzcfnzXrl1TeHh4jtdVVa1aNcfXWLNmjfUardziOnHihB566CENHTpUU6dOlb+/v7766isNHDhQaWlpKl++vCwWix599FEtWbJEffv21ZIlS/TYY4/Jza3gX2e/N075/Ry4u7vbPHdxcbnjxVUWLFigv/zlL1q3bp0+/vhjTZgwQRs3blTr1q0d8u/r5eUlFxcX6/Nr167J1dVVu3fvtvkRJEkVK1a84/cDUPqRO39D7iR3SuRO/IaZbuD/WCwWZWZm2rR9/fXXatOmjYYNG6Z77rlHYWFh+fqLZf369bV//36lpqZa23bt2mXT595779XBgwdVs2ZNhYWF2TxuJuqcYsqJm5ubOnfurBkzZmjfvn06ceKEtmzZorp168rLy0ubN2/Ocb+GDRvq+++/1/Xr122OuVy5ctZFX3Jy77336ujRowoICMgWu6+vb4771KhRw9qnWrVqOfbZvXu3srKy9Oabb6p169aqV6+ezpw5k61fv379tG7dOh08eFBbtmxRv379rNvyM/a3a9KkibKysrRt27Yctxf0c3CrBg0aKCMjQ7t377a2HTlyRFeuXPndfe+55x6NHz9eO3bs0N13360lS5ZIkpo2bZrnv21GRobNj5uLFy/qyJEjatSoUZ7vlZmZqfPnz2f7tw0KCsrn0QIoK8id/ztmcqctcie5E/9D0Q38n5o1a2rnzp06ceKELly4oKysLNWtW1ffffed1q9frx9++EEvvvji7yYhSXriiSeUlZWlIUOGKCEhQevXr9cbb7whSda/jMbGxurSpUt6/PHHtWvXLh0/flzr16/XU089Zf2xkFNMt1u1apXeeustxcfH6+TJk1q0aJGysrJUv359eXp6aty4cRo7dqwWLVqk48eP65tvvrGuLNqvXz95enoqOjpaBw4c0BdffKFnn31W/fv3V2BgYK7H169fP1WpUkU9evTQl19+qcTERG3dulV/+ctf9NNPP9k99jeFhYUpPT1db7/9tn788Ud9+OGHmjdvXrZ+7du3V1BQkPr166datWrZnAaWn7G/Xc2aNRUdHa2nn35aK1eutB7PsmXLJKnAn4Nb1a9fX127dtWf//xn7dy5U7t379agQYPy/It7YmKixo8fr7i4OJ08eVIbNmzQ0aNH1bBhQ0nSpEmT9K9//UuTJk1SQkKC9u/fb539qVu3rnr06KHBgwfrq6++0vfff68nn3xS1apVU48ePXJ9z3r16qlfv34aMGCAli9frsTERH377beaNm2aVq9ebdcxAyj9yJ3kTnInuRP5UNQXlQPFxZEjR0zr1q2Nl5eXkWQSExPNr7/+amJiYoyvr6/x8/MzQ4cONc8//7xp1qyZdb/o6GjTo0ePbK/39ddfm6ZNmxqLxWLCw8PNkiVLjCRz+PBha58ffvjBPPLII8bPz894eXmZBg0amBEjRlgXWckpptt9+eWX5v777zeVKlUyXl5epmnTpjYrg2ZmZppXXnnF1KhRw7i7u5vq1avbrNK5b98+07FjR+Pp6Wn8/f3N4MGDzdWrV3/3+M6ePWsGDBhgqlSpYjw8PEzt2rXN4MGDTXJysh2jnt3MmTNNcHCw8fLyMpGRkWbRokVGkrl8+bJNv7FjxxpJZuLEidleIz9jf7sbN26YkSNHmuDgYGOxWExYWJh5//33jTGmwJ+D5557ztx///3W52fPnjVRUVHGw8PDVK9e3SxatMjUqFEj18VgkpKSTM+ePa0x1ahRw0ycONFkZmZa+3z66aemefPmxmKxmCpVqphevXpZt126dMn079/f+Pr6Wsfz1lVUFyxYYHx9fbO9780VZ2vWrGnc3d1NcHCweeSRR8y+fftyHT8AZRO5k9xJ7vwNuRN5cTHGmKIp94GyZfHixXrqqaeUnJzssOvFkD+MPQCUTHx/Fx3GHnAcFlIDnGTRokWqXbu2qlWrpu+//17jxo1Tnz59SFyFgLEHgJKJ7++iw9gDzkPRDThJUlKSJk6cqKSkJAUHB+tPf/qTpk6dWtRhlQmMPQCUTHx/Fx3GHnAeTi8HAAAAAMBJWL0cAAAAAAAnoegGAAAAAMBJKLoBAAAAAHASim4AAAAAAJyEohsAAAAAACeh6AYAAAAAwEkougEAAAAAcBKKbgAAAAAAnOT/A9CxGxWJPHGTAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(2, 2, figsize=(10, 10), sharex=True, sharey=True)\n", "i =0\n", "j = 0\n", "for m, r in result_dict.items():\n", " axs[i, j].hist(r['target_score'], bins=np.arange(-0.2, 1, 0.02), label=f'target score', alpha=0.5, color='slateblue')\n", " axs[i, j].hist(r['avg_cand_scores'], bins=np.arange(-0.2, 1, 0.02), label=f'avg cand score', alpha=0.5, color='salmon')\n", " axs[i, j].annotate(m, (0.6, 2500), ha='center', va='center', fontsize=12)\n", " axs[i, j].legend()\n", "\n", " if i % 2 == 0 and j == 1:\n", " i += 1\n", " j = 0\n", " else:\n", " j += 1\n", "\n", "axs[0, 0].set_ylabel('spectra count')\n", "axs[1, 0].set_ylabel('spectra count')\n", "axs[1, 0].set_xlabel('target score - avg cand score')\n", "axs[1, 1].set_xlabel('target score - avg cand score')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "1307a597", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python (spec)", "language": "python", "name": "spec" }, "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.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }