"
]
},
"metadata": {
"filenames": {
"image/png": "/home/slavoutich/code/orangeqs/quantify-core/docs/_build/jupyter_execute/tutorials/Tutorial 3. Building custom analyses - the data analysis framework_7_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"# create a fitting model based on a cosine function\n",
"fitting_model = lmfit.Model(cos_func)\n",
"\n",
"# specify initial guesses for each parameter\n",
"fitting_model.set_param_hint(\"amplitude\", value=0.5, min=0.1, max=2, vary=True)\n",
"fitting_model.set_param_hint(\"frequency\", value=0.8, vary=True)\n",
"fitting_model.set_param_hint(\"phase\", value=0)\n",
"fitting_model.set_param_hint(\"offset\", value=0)\n",
"params = fitting_model.make_params()\n",
"\n",
"# here we run the fit\n",
"fit_result = fitting_model.fit(dataset.y0.values, x=dataset.x0.values, params=params)\n",
"\n",
"# It is possible to get a quick visualization of our fit using a build-in method of lmfit\n",
"_ = fit_result.plot_fit(show_init=True)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "bae155da",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.599578Z",
"iopub.status.busy": "2023-09-26T17:44:31.599395Z",
"iopub.status.idle": "2023-09-26T17:44:31.603206Z",
"shell.execute_reply": "2023-09-26T17:44:31.602727Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
Model
Model(cos_func)
Fit Statistics
fitting method
leastsq
# function evals
36
# data points
30
# variables
4
chi-square
0.10567419
reduced chi-square
0.00406439
Akaike info crit.
-161.457760
Bayesian info crit.
-155.852971
Variables
name
value
standard error
relative error
initial value
min
max
vary
frequency
0.99552039
0.00993607
(1.00%)
0.8
-inf
inf
True
amplitude
0.51456828
0.01636804
(3.18%)
0.5
0.10000000
2.00000000
True
offset
-0.00463899
0.01262911
(272.24%)
0
-inf
inf
True
phase
0.00583566
0.07054150
(1208.80%)
0
-inf
inf
True
Correlations (unreported correlations are < 0.100)
frequency
phase
-0.8878
frequency
offset
-0.3862
offset
phase
0.3425
frequency
amplitude
-0.1252
amplitude
phase
0.1106
"
],
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fit_result"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "59f7bb5a",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.605038Z",
"iopub.status.busy": "2023-09-26T17:44:31.604873Z",
"iopub.status.idle": "2023-09-26T17:44:31.608759Z",
"shell.execute_reply": "2023-09-26T17:44:31.608370Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{'amplitude': 0.5145682806048846, 'frequency': 0.9955203924378577}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"quantities_of_interest = {\n",
" \"amplitude\": fit_result.params[\"amplitude\"].value,\n",
" \"frequency\": fit_result.params[\"frequency\"].value,\n",
"}\n",
"quantities_of_interest"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "aec01769",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.610606Z",
"iopub.status.busy": "2023-09-26T17:44:31.610433Z",
"iopub.status.idle": "2023-09-26T17:44:31.614272Z",
"shell.execute_reply": "2023-09-26T17:44:31.613714Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"PosixPath('/home/slavoutich/quantify-data/20230926/20230926-194430-301-508488-Cosine experiment')"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# the experiment folder is retrieved with a convenience function\n",
"exp_folder = Path(locate_experiment_container(dataset.tuid))\n",
"exp_folder"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "88b93e44",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.616202Z",
"iopub.status.busy": "2023-09-26T17:44:31.616038Z",
"iopub.status.idle": "2023-09-26T17:44:31.618982Z",
"shell.execute_reply": "2023-09-26T17:44:31.618597Z"
}
},
"outputs": [],
"source": [
"with open(exp_folder / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\") as file:\n",
" json.dump(quantities_of_interest, file)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "119db984",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.620826Z",
"iopub.status.busy": "2023-09-26T17:44:31.620662Z",
"iopub.status.idle": "2023-09-26T17:44:31.981194Z",
"shell.execute_reply": "2023-09-26T17:44:31.980565Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHgCAYAAABNbtJFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC7kElEQVR4nOzdd3hUZfbA8e+dSe8JqZCQhAChhN6LooKCYsHesKKrLq6uuhZcXcWy1lV3lbWwdnR1bT9XXbEigvSEFnoJpJBCCOllkpn398edGTIkgQSS3JnkfJ4nD8mdOzMnCTM5933Pe15NKaUQQgghhOhGTEYHIIQQQgjR2SQBEkIIIUS3IwmQEEIIIbodSYCEEEII0e1IAiSEEEKIbkcSICGEEEJ0O5IACSGEEKLbkQRICCGEEN2OJEBCCCGE6HYkARJCtEjTNB599FGjw/A4SUlJXH/99UaHIYQ4BkmAhPAQe/bs4ZZbbqFPnz74+fkREhLCpEmT+Pvf/05NTY3R4QkPs3XrVh599FH27dtndChCGMLL6ACEEMf3zTffcOmll+Lr68u1115LWloaFouF5cuXc++997JlyxbeeOONdn/empoavLzkbaKtduzYgcnk3teXW7duZf78+Zx22mkkJSUZHY4QnU7e2YRwc1lZWVxxxRUkJiby888/ExcX57xt7ty57N69m2+++aZDntvPz69DHrcrUkpRW1uLv78/vr6+RocjhDgO975EEULw7LPPUllZyZtvvumS/Dj07duXO++80/l1Q0MDjz/+OCkpKfj6+pKUlMSDDz5IXV2dy/3WrVvH9OnTiYyMxN/fn+TkZG688UaXc46uAXr00UfRNI3du3dz/fXXExYWRmhoKDfccAPV1dVNYlu0aBGjRo3C39+fiIgIrrjiCnJyclr1fefl5XHjjTcSExODr68vgwcP5q233nLeXlNTw4ABAxgwYIDLFGBJSQlxcXFMnDgRq9UKwPXXX09QUBB79+5l+vTpBAYG0rNnTx577DGUUi7Pa7PZeOmllxg8eDB+fn7ExMRwyy23cPjwYZfzkpKSOPfcc/nuu+8YPXo0/v7+vP76687bGtcAvfPOO2iaxvLly7njjjuIiooiLCyMW265BYvFQmlpKddeey3h4eGEh4dz3333nXRcy5cvZ+zYsfj5+dGnTx/ee+89l3guvfRSAE4//XQ0TUPTNH755ZdW/W6E6BKUEMKt9erVS/Xp06fV51933XUKUJdccolasGCBuvbaaxWgZs2a5TynsLBQhYeHq/79+6vnnntOLVy4UP35z39WAwcOdHksQD3yyCPOrx955BEFqBEjRqiLLrpI/fOf/1Q33XSTAtR9993nct8nnnhCaZqmLr/8cvXPf/5TzZ8/X0VGRqqkpCR1+PDhY34PBQUFKj4+XiUkJKjHHntMvfrqq+r8889XgHrxxRed561atUqZzWZ11113OY9dccUVyt/fX+3YscPlZ+Ln56f69eunrrnmGvXKK6+oc889VwHq4Ycfdnnum266SXl5eambb75Zvfbaa+r+++9XgYGBasyYMcpisTjPS0xMVH379lXh4eHqgQceUK+99ppasmSJ87brrrvOee7bb7+tADV8+HA1Y8YMtWDBAnXNNdc4f26TJ09WV111lfrnP//pjOvdd9894bhSU1NVTEyMevDBB9Urr7yiRo4cqTRNU5mZmUoppfbs2aPuuOMOBagHH3xQvf/+++r9999XBQUFx/y9CNGVSAIkhBsrKytTgLrgggtadf6GDRsUoG666SaX43/6058UoH7++WellFJffPGFAtTatWuP+XgtJUA33nijy3kXXnih6tGjh/Prffv2KbPZrJ588kmX8zZv3qy8vLyaHD/anDlzVFxcnCouLnY5fsUVV6jQ0FBVXV3tPDZv3jxlMpnUr7/+qj755BMFqJdeesnlfo6k8A9/+IPzmM1mUzNnzlQ+Pj7q4MGDSimlli1bpgD1wQcfuNx/8eLFTY4nJiYqQC1evLhJ/C0lQNOnT1c2m815fMKECUrTNHXrrbc6jzU0NKj4+Hg1ZcoU57ETievXX391HisqKlK+vr7qnnvucR5z/KwcSZsQ3Y1MgQnhxsrLywEIDg5u1fn/+9//ALj77rtdjt9zzz0AzlqhsLAwAL7++mvq6+vbHNett97q8vUpp5zCoUOHnPF+/vnn2Gw2LrvsMoqLi50fsbGx9OvXjyVLlrT42EopPvvsM8477zyUUi73nz59OmVlZWRkZDjPf/TRRxk8eDDXXXcdv//975kyZQp33HFHs499++23Oz/XNI3bb78di8XCjz/+CMAnn3xCaGgoZ555psvzjho1iqCgoCZxJycnM3369Fb/3ObMmYOmac6vx40bh1KKOXPmOI+ZzWZGjx7N3r17ncfaGtegQYM45ZRTnF9HRUWRmprq8phCdHdSBC2EGwsJCQGgoqKiVefv378fk8lE3759XY7HxsYSFhbG/v37AZgyZQoXX3wx8+fP58UXX+S0005j1qxZXHXVVa0q4O3du7fL1+Hh4QAcPnyYkJAQdu3ahVKKfv36NXt/b2/vFh/74MGDlJaW8sYbb7S4sq2oqMj5uY+PD2+99RZjxozBz8+Pt99+2yXJcDCZTPTp08flWP/+/QGcS8F37dpFWVkZ0dHRx31e0BOgtjj65xYaGgpAQkJCk+ONa3vaGtfRzwP67+joeiEhujNJgIRwYyEhIfTs2ZPMzMw23a+5BODo2z/99FNWrVrFV199xXfffceNN97I3/72N1atWkVQUNAx7282m5s9ruyFuzabDU3T+Pbbb5s991iPb7PZAJg9ezbXXXdds+cMHTrU5evvvvsOgNraWnbt2tXmxKTxc0dHR/PBBx80e3tUVJTL1/7+/m16/JZ+bs0dV42KoNsa1/F+P0IISYCEcHvnnnsub7zxBitXrmTChAnHPDcxMRGbzcauXbsYOHCg83hhYSGlpaUkJia6nD9+/HjGjx/Pk08+yYcffsjVV1/NRx99xE033XRSMaekpKCUIjk52TnK0lpRUVEEBwdjtVqZNm3acc/ftGkTjz32GDfccAMbNmzgpptuYvPmzc7RFQebzcbevXtd4tm5cyeAsw9OSkoKP/74I5MmTWpzctOROiKu4yXJQnR1UgMkhJu77777CAwM5KabbqKwsLDJ7Xv27OHvf/87AOeccw4AL730kss5L7zwAgAzZ84E9Kmqo0cDhg8fDtBkufyJuOiiizCbzcyfP7/J8yilOHToUIv3NZvNXHzxxXz22WfNjnwdPHjQ+Xl9fT3XX389PXv25O9//zvvvPMOhYWF3HXXXc0+9iuvvOISxyuvvIK3tzdTp04F4LLLLsNqtfL44483uW9DQwOlpaXH/L47SkfEFRgYCGDY9ySE0WQESAg3l5KSwocffsjll1/OwIEDXTpBr1ixgk8++cTZc2bYsGFcd911vPHGG5SWljJlyhTWrFnDu+++y6xZszj99NMBePfdd/nnP//JhRdeSEpKChUVFSxcuJCQkBBnEnWyMT/xxBPMmzePffv2MWvWLIKDg8nKyuKLL77gd7/7HX/6059avP/TTz/NkiVLGDduHDfffDODBg2ipKSEjIwMfvzxR0pKSgB44okn2LBhAz/99BPBwcEMHTqUv/zlLzz00ENccsklLt+Ln58fixcv5rrrrmPcuHF8++23fPPNNzz44IPOKaQpU6Zwyy238NRTT7FhwwbOOussvL292bVrF5988gl///vfueSSS07659NWHRHX8OHDMZvNPPPMM5SVleHr68sZZ5zRYp2REF2OMYvPhBBttXPnTnXzzTerpKQk5ePjo4KDg9WkSZPUyy+/rGpra53n1dfXq/nz56vk5GTl7e2tEhIS1Lx581zOycjIUFdeeaXq3bu38vX1VdHR0ercc89V69atc3lOWlgG71g27uBY5p2VleVy/LPPPlOTJ09WgYGBKjAwUA0YMEDNnTvXpUdPSwoLC9XcuXNVQkKC8vb2VrGxsWrq1KnqjTfeUEoplZ6erry8vFyWtiulLyMfM2aM6tmzp7Pf0HXXXacCAwPVnj171FlnnaUCAgJUTEyMeuSRR5TVam3y3G+88YYaNWqU8vf3V8HBwWrIkCHqvvvuUwcOHHCek5iYqGbOnNls7C0tgz+67UBLP09HvO0Z15QpU1yW1iul1MKFC1WfPn2U2WyWJfGi29GUkqo4IUTXdv311/Ppp59SWVlpdChCCDchNUBCCCGE6HYkARJCCCFEtyMJkBBCCCG6HakBEkIIIUS3IyNAQgghhOh2JAESQgghRLcjCZDweO+88w6apjk3tDyWpKQkZ9NAIYQQ3ZckQMJQK1as4NFHH/WIdvzbt2/nvvvuY/jw4QQHBxMXF8fMmTNZt25ds+fn5eVx2WWXERYWRkhICBdccAF79+51OScnJ4f58+czduxYwsPDiYyM5LTTTuPHH39s8ni//vor559/PgkJCfj5+REbG8uMGTP47bffmn3+FStWMHnyZAICAoiNjeWOO+5otg9Oeno6M2bMICQkhODgYM466yw2bNjgck51dTULFizgrLPOIi4ujuDgYEaMGMGrr76K1Wpt9vn37NnDVVddRXR0NP7+/vTr148///nPzZ57tO+//545c+aQlpaG2Wx27tXVnN27d3PJJZcQHh5OQEAAkydPZsmSJcd8/Pr6egYNGoSmaTz//PPHPPeDDz5A07RmN3BduHAhU6ZMISYmBl9fX5KTk7nhhhtaTMbffPNNBg4ciJ+fH/369ePll18+5nN39HPt2LGDu+66i4kTJ+Ln59fqC4nGNE1r9uPpp59ucm5rXhMAZWVl3HffffTr1w9/f38SExOZM2cO2dnZx4zlzDPPRNM0br/99pN6zB9//JHTTz+dyMhIwsLCGDt2LO+//34bfirCIxjbh1F0d88991yzHYTboqGhQdXU1CibzXbcc4/u0NsW99xzjwoLC1Nz5sxRr7/+unr22WdVSkqKMpvN6ocffnA5t6KiQvXr109FR0erZ555Rr3wwgsqISFBxcfHq+LiYud5L7/8svL391dXXnmleuWVV9RLL72kRo4cqQD11ltvuTzmwoUL1QUXXKCeeOIJ9a9//Us999xzatiwYcpkMqlvv/3W5dz169crPz8/NWLECPXqq6+qP//5z8rX11fNmDHD5bz09HTl5+en+vXrp55//nn17LPPqqSkJBUSEqK2b9/uPG/z5s1K0zQ1bdo09eyzz6rXXntNXXjhhQpQ1157bZOf1fr161VoaKgaNGiQevrpp9XChQvVww8/rK6//vpW/ayvu+465efnpyZOnKji4+NVYmJis+dlZ2eryMhIFRMTo5588kn10ksvqWHDhikvLy+1dOnSFh//b3/7mwoMDFSAeu6551o8r6KiQvXs2dPZyfpot912m7ruuuvU888/r95880310EMPqZiYGBUZGany8vJczn3ttdcUoC6++GL1xhtvqGuuuUYB6umnn27Vz6Qjnuvtt99WJpNJpaWlqeHDh5/QaxFQZ555pnr//fddPjIzM13Oa+1rwmq1qjFjxqjAwEB17733qoULF6r7779fBQcHq169eqny8vJm4/jss8+cv9O5c+e63NaWx/zyyy+Vpmlq4sSJ6uWXX1avvPKKOvXUUxWgXnjhhTb9bIR7kwRIGKo9EqC2OJkEaN26daqiosLlWHFxsYqKilKTJk1yOf7MM88oQK1Zs8Z5bNu2bcpsNqt58+Y5j2VmZjbZBqG2tlYNGDBAxcfHHzemqqoqFRMTo6ZPn+5y/Oyzz1ZxcXGqrKzMeWzhwoUKUN99953z2DnnnKPCw8Nd/gAdOHBABQUFqYsuush57ODBg03+oCml1A033KAAtWvXLucxq9Wq0tLS1Lhx41R1dfVxv4fm5OXlKYvFopRSaubMmS0mQL///e+Vl5eXS7JWVVWlEhIS1MiRI5u9T2FhoQoNDVWPPfbYcROg+++/X6Wmpqqrr7662QSoOevWrVOAeuqpp5zHqqurVY8ePZpsUeF43JKSklY9dns/16FDh5x//E/0tdhcwtGc1r4mfvvtNwWoV155xeX+b731lgLU559/3uSxa2pqVFJSkvN3enQ8bXnMM888U/Xs2bPJ9jIpKSlq6NChx/0+heeQKTBhmEcffZR7770XgOTkZOfQ+b59+9i3bx+apvHOO+80uZ+maTz66KPOr5urAVJK8cQTTxAfH09AQACnn346W7ZsaTaOPXv2sGfPnuPGO2rUqCbTID169OCUU05h27ZtLsc//fRTxowZw5gxY5zHBgwYwNSpU/nPf/7jPDZ48GAiIyNd7uvr68s555xDbm4uFRUVx4wpICCAqKgolynE8vJyfvjhB2bPnk1ISIjz+LXXXktQUJDL8y9btoxp06bRo0cP57G4uDimTJnC119/7Zwyi4yMZPDgwU2e/8ILLwRw+f6///57MjMzeeSRR/D396e6urrFabKW9OzZE29v7+Oet2zZMkaMGEFqaqrzWEBAAOeffz4ZGRns2rWryX0eeOABUlNTmT179jEfe9euXbz44ou88MILeHm1ft9ox3Rd49/JkiVLOHToEL///e9dzp07dy5VVVV88803rX789nyuiIgIgoODT+i5j1ZTU0NtbW2Lt7f2NVFeXg5ATEyMy/3j4uIA8Pf3b/LYzz77LDabrcUNdtvymOXl5YSHh+Pr6+s85uXlRWRkZLPPLTyXJEDCMBdddBFXXnklAC+++CLvv/8+77//vnNn7pPxl7/8hYcffphhw4bx3HPP0adPH8466yyqqqqanDt16lSmTp16ws9VUFDgksTYbDY2bdrE6NGjm5w7duxY9uzZc9zEpqCggICAAAICAprcVl5eTnFxMdu3b+fBBx8kMzPTJf7NmzfT0NDQ5Pl9fHwYPnw469evdx6rq6tr9k09ICAAi8VCZmbmceMEXL5/R/2Sr68vo0ePJjAwkICAAK644grnLu7t5Vjxg17f1NiaNWt49913eemll9A07ZiP/cc//pHTTz/dZUf5lhw6dIiioiLWrVvHDTfcAODyO3H8zI/+nYwaNQqTyeTyO3Gn52qtd955h8DAQPz9/Rk0aBAffvihy+1teU04/s88/PDD/Pzzz+Tl5bF06VLuu+8+xowZw7Rp01zun52dzdNPP80zzzzTYoLSlsc87bTT2LJlCw8//DC7d+9mz549PP7446xbt4777rvvZH9Uwo20/rJGiHY2dOhQRo4cyb///W9mzZrlUuh68ODBE37cgwcP8uyzzzJz5ky++uor5x+6P//5z/z1r3892bBdLFu2jJUrV/LQQw85j5WUlFBXV+e8umzMcezAgQMuoxaN7d69m88//5xLL70Us9nc5PbLLruM7777DtCTmltuuYWHH37YeXt+fr7Lcx39/MuWLXN+nZqayqpVq7Barc7nslgsrF69GtCLVltisVh46aWXSE5Odrmqd4y6XHbZZcyYMYN58+axceNGnnrqKXJycli+fPlxk4/WSk1NZdmyZVRUVLiMZCxfvrxJ/Eop/vCHP3D55ZczYcKEYxb7fvPNN3z//fds3LixVXH06tWLuro6QB8V/Mc//sGZZ57pvD0/Px+z2Ux0dLTL/Xx8fOjRowcHDhxo1fN09nO1xsSJE7nssstITk7mwIEDLFiwgKuvvpqysjJuu+02oG2vicjISD7++GNuvvlml8Ru+vTpfPrpp01G4+655x5GjBjBFVdc0WKMbXnMhx9+mKysLJ588kmeeOIJQE+oP/vsMy644IIT+AkJdyUJkOhyfvzxRywWC3/4wx9c/tD+8Y9/bDYBauuqF4eioiKuuuoqkpOTXa4Ma2pqAFyG0B38/PxczjladXU1l156Kf7+/s2uogF4+umnueeee8jJyeHdd9/FYrHQ0NDQ6udv/Ny///3vue2225gzZw733XcfNpuNJ554wplEtRQnwO23387WrVv55ptvXP6AOKbNxowZw6JFiwC4+OKLCQgIYN68efz0009NruJP1G233cZXX33F5ZdfzpNPPklgYCD//Oc/nSvzGsf/zjvvsHnzZj799NNjPqbFYuGuu+7i1ltvZdCgQa2K49tvv6W2tpZt27axaNGiJiONNTU1+Pj4NHvfo38n7vRcrXH0KsQbb7yRUaNG8eCDD3L99dfj7+/f5tdEVFQUI0aM4Pbbb2fw4MFs2LCBZ599lhtuuIFPPvnEed6SJUv47LPPnAn7sbT2MX19fenfvz+XXHIJF110EVarlTfeeIPZs2fzww8/MH78+Lb9gITbkgRIdDn79+8HoF+/fi7Ho6KiCA8Pb5fnqKqq4txzz6WiooLly5e71AY5huEdV+mNOWokmhuqt1qtXHHFFWzdupVvv/2Wnj17Nvvcw4cPd34+e/ZsRo4cyfXXX+/8w36852/83Lfeeis5OTk899xzvPvuu4A+XXDffffx5JNPNrv0G+C5555j4cKFPP74402miByP75jedLjqqquYN28eK1asYNq0aZSVlbn80fPx8SEiIqLZ52vJ2Wefzcsvv8wDDzzAyJEjAejbty9PPvkk9913nzP+8vJy5s2bx7333ktCQsIxH/PFF1+kuLiY+fPntzqO008/3RnPBRdcQFpaGkFBQc7l2P7+/lgslmbv2/h3UllZ6dKqwGw2N5kSbq/naouDBw+61HEFBQW1+H/Dx8eH22+/nVtvvZX09HQmT57cptfE3r17Of3003nvvfe4+OKLAbjgggucPby+/fZbzj77bBoaGrjjjju45pprXEYgm9PaxwQ9sV+1ahUZGRmYTHqVyGWXXcbgwYO58847W5VsCc8gNUDCLbU0RdLWYtqOYLFYuOiii9i0aRNffvklaWlpLrdHRETg6+vrHEVpzHGsueTm5ptv5uuvv+add97hjDPOaFUsPj4+nH/++Xz++efOZMIxpdDS8x/93E8++SSFhYUsW7aMTZs2sXbtWmw2GwD9+/dv8hjvvPMO999/P7feeqvL1J+D4/GPLjh1TMkcPnwYgDvvvJO4uDjnx0UXXdSq7/lot99+O4WFhaxYsYJ169axfft2QkNDXeJ//vnnsVgsXH755c4i+9zcXGc8+/btw2KxUFZWxhNPPMHNN99MeXm589zKykqUUuzbt4+ioqJjxpOSksKIESP44IMPnMfi4uKwWq1N7muxWDh06JDzZ/b888+7/EyO94f9ZJ6rLcaMGeMS1/F6JzmSTEfNV1teE++88w61tbWce+65Luedf/75wJERp/fee48dO3Zwyy23OH9PjtHciooK9u3bR3V1dZse02Kx8OabbzJz5kxn8gPg7e3N2Wefzbp161pMLoXnkREgYaiWEh3HSM3RDRIdozvHkpiYCOi1KH369HEeP3jwoPOP74my2Wxce+21/PTTT/znP/9hypQpTc4xmUwMGTKk2QaJq1evpk+fPk1W3tx77728/fbbvPTSS01GTo6npqYGpRQVFRX4+/uTlpaGl5cX69at47LLLnOeZ7FY2LBhg8sxh/DwcCZPnuz8+scffyQ+Pp4BAwa4nPfll19y0003cdFFF7FgwYJm4xk1ahQLFy5sUj/kqD1xjGjcd999LiuxTmZ0LjAwkAkTJrjE7+/vz6RJkwC9UPbw4cPNrmT761//yl//+lfWr19PWFgYlZWVPPvsszz77LNNzk1OTuaCCy7g//7v/44ZT01Njctoh2PUbt26dS4jZuvWrcNmszlvv/baa11+D60ZrTnR52qLDz74wGW0rvHrqjmO5oaO33VbXhOFhYUopZpc7NTX1wM4p3uzs7Opr693/o4be++993jvvff44osvmDVrVqsf89ChQzQ0NDR7oVVfX4/NZnOLizDRToxcgy/Eq6++qgC1fv36JrdFRkaqCy+80OXYPffcowD1yCOPOI+9/fbbLv1LioqKlLe3t5o5c6ZLc8QHH3xQAU36AO3evVvt3r27VfH+/ve/V4B6/fXXj3ne008/rQC1du1a57Ht27crs9ms7r//fpdzn332WQWoBx988JiPWVhY2OTY4cOHVUJCgkpISHA5PmPGDBUXF+fS4O1f//qXApo0TTzaRx99pAD1/PPPuxxfunSp8vPzU6effrpLj5Sj5efnK19fXzV58mRltVqdx+fNm9ekD0xrHKsPUHN+++03ZTab1e233+48lp6err744guXj9dff10B6vrrr1dffPGFKi0tVVVVVU3O++KLL9Tpp5+u/Pz81BdffKFWrVqllNJ7wzTXv2f16tXKbDara665xnmsurpaRUREqHPPPdfl3NmzZ6uAgAB16NChY35PnfFcJ9IHqKioqMmx8vJylZKSoiIjI1VdXZ3zeGtfE88//7wC1Ntvv+3yuC+99JIC1EcffaSU0nsINfe7AtQ555yjvvjiC3XgwIE2PWZDQ4MKCwtT/fv3d4m9oqJCxcfHqwEDBrT6ZyPcnyRAwlBr1qxxvmG999576t///reqrKxUSin1wAMPKEDNmTNHvfrqq+rKK69Uo0aNOm4CpNSRP7bnnHOOeuWVV9ScOXNUz549VWRkZJMEKDExsVV/YF988UUFqAkTJjTpevv+++8741bqyB+B6Oho9eyzz6oXX3xRJSQkqJ49e7r80fj8888VoPr169fsYxYUFDjPHTlypDr//PPVk08+6eysHB8fr0wmk/rkk09cYk1PT1e+vr4unaD9/PzUWWed5XLe0qVL1dSpU9Uzzzyj/vWvf6mbbrpJmc1mNWPGDFVfX+88b9++fSo0NFT5+/urBQsWNIlz48aNLo/raEh35plnqgULFqjf/e53StM0deWVVx7356yUUhs3blSPP/64evzxx1VqaqoKCwtzfv3f//7XJa6xY8c6u2Pfddddyt/fX40YMaLFjsEOWVlZx22E6HDdddc1aYR4+PBhFRgYqG688Ub1t7/9Tb322mtq7ty5KiAgQEVERKidO3e6nL9gwQIFqEsuuUQtXLhQXXvttQpQTz755HGfv6Oeq7S01PlznTFjhgLUPffcox5//HH18ssvHzeuRx55RA0bNkw99NBD6o033lDz589XiYmJStM0tWjRIpdzW/uaKC4uVrGxscrHx0fdcccd6vXXX1e33HKLMpvNavDgwS6JSXNophFiWx7ziSeeUIAaMWKEevHFF9Xzzz+vBg4cqIAm35PwbJIACcM9/vjjqlevXspkMrkkMtXV1WrOnDkqNDRUBQcHq8suu0wVFRW1KgGyWq1q/vz5Ki4uTvn7+6vTTjtNZWZmNtsJurUJ0HXXXaeAFj+OvnLOyclRl1xyiQoJCVFBQUHq3HPPdemYrJT+B+RYj7lkyRLnua+88oqaPHmyioyMVF5eXioqKkqdd9556tdff2023mXLlqmJEycqPz8/FRUVpebOndskKdi9e7c666yzVGRkpPL19VUDBgxQTz31VJM/MkuWLDlmnI1/H0opZbPZ1Msvv6z69++vvL29VUJCgnrooYec3Z2Px/E7be6j8e+vpKREXXDBBc4/bsnJyer+++8/bvKj1MknQHV1derOO+9UQ4cOVSEhIcrb21slJiaqOXPmtDiK8sYbb6jU1FTl4+OjUlJS1IsvvtiqLVw66rkcP4PmPlrzmvj+++/VmWeeqWJjY5W3t7cKCwtTZ511lvrpp5+aPb81rwmllMrNzVU33nijSk5OVj4+PiouLk7dfPPNTbqmN6e5BKitj/nBBx+osWPHqrCwMOXv76/GjRunPv300+M+t/AsmlJKnfD8mRBCCCGEB5JVYEIIIYTodiQBEkIIIUS3IwmQEEIIIbodSYCEEEII0e1IAiSEEEKIbkcSICGEEEJ0O5IACSGEEKLbkQRICCGEEN2OJEBCCCGE6HYkARJCCCFEt+NldADuyGazceDAAYKDg9E0zehwhBBCCNEKSikqKiro2bMnJtOxx3gkAWrGgQMHSEhIMDoMIYQQQpyAnJwc4uPjj3mOJEDNCA4OBvQfYEhIiMHRCCGEEKI1ysvLSUhIcP4dPxZJgJrhmPYKCQmRBEgIIYTwMK0pX5EiaCGEEEJ0O5IACSGEEKLbkQRICCGEEN2OJEBCCCGE6HYkARJCCCFEtyMJkBBCCCG6HUmAhBBCCNHtSAIkhBBCiG5HEiAhhBBCdDvSCboTWW2KNVklFFXUEh3sx9jkCMwm2WxVCCGE6GySAHWSxZn5zP9qK/lltc5jcaF+PHLeIGakxRkYmRBCCNH9yBRYJ1icmc9tizJckh+AgrJabluUweLMfIMiE0IIIbonSYA6mNWmmP/VVlQztzmOzf9qK1Zbc2cIIYQQoiNIAtTB1mSVNBn5aUwB+WW1rMkq6byghBBCCINYbYqVew7x5YY8Vu45ZNgAgNQAdbCiipaTnxM5TwghhPBU7lQPKyNAHSw62K9dzxNCCCE8kbvVw0oC1MHGJkcQF+rHsRa7m00aYQHenRaTEEII0ZncsR5WEqAOZjZpPHLeIIAWkyCrTXHRP1fwxfrczgtMCCGE6CTuWA8rCVAnmJEWx6uzRxIb6jrNFRfqx3OXDOWUfpHU1Fu56+ON/PmLzdQ1WA2KVAghhGh/y3cfbNV5nVkPK0XQnWRGWhxnDoptthP0RSPj+ftPu3j55118sDqbzXllLLhqJAkRAUaHLYQQQpywHQUVPPXtNn7Z0boEqDPrYSUB6kRmbEzY/DCE9ARbIpSdAuFJmE0ad5/Zn5G9w/jjxxvYlFvGuS8v58XLh3HGgBijwxai6yjeBdkr4fA+aKiDoBiIGwa9J4CXj9HRCdFlFJXX8uKPO/l4bQ42BWYNfL3N1Fis+FHLZFMmAdTypW0yoJeIxIbqAwOdRVNKSQe+o5SXlxMaGkpZWRkhISHt+MD58MIA12MJ42HyH6H/DNA0cg9XM/eDDDbmlgFw++l9uevM/gCyj5gQJ0Ip2PYVLH8RDmQ0f45fKIy+ESb8AQJ7dG58QniYY+1rWW1p4I1f9/LGr3uptujlHDMGx3L/2QPYl7WLvC8fY5b5N4K0WvJUDybV/QPNXiH76uyRJ70Uvi1/vyUBakaHJUDVJZD+NpTlQeEWyF0Lyl7v0+8sOO8fEBJHXYOVJ7/Zxnsr9wOQGhPE4ep6iirqnA8l+4gJ0QqlOfB/t8G+ZfrXJi/9oiNmEJh9oDwP9i2HKvvwvH8EnP0MDL3MuJiFcGMt9fF5eOYgymvreeGHnc6/VcMTwnho5kBG9w6DNW/Aj49CQw0AObYoltqG8njDNUSEhrTb3zNJgE5ShyVAR6sogFX/hJX/BFs9BEbDZe9B4gQAvtyQx72fbsLSYGtyV8fYT3tkzEJ0SVm/wsezobYMvANgwlwYewsERbmeZ7PBzm/h5yehaIt+bPSNcPazYJb2FEI4OPr4HC9p6B0RwP0zBnDOkFi0hlr47CbY/rX9xglYp8xjjRpMUWVdu89oSAJ0kjotAXI4uBM+uV5/8/Xygys+hL5TsdoU4/76I8WVlmbv5pgzXX7/GTIdJkRjW/4PPr8ZrBboNQou/hdE9Dn2faz1sOxv8MvTgIIB58Ilb0ttkBDo016Tn/n5mEvZNWDeOQO4bmISvl5mfdbj31dAzmp9xHX6X2HMTaB13N+rtvz9lmXw7iCqP9z0I/SbDg21+n+Y3T+xJqukxeQHZB8xIZq141v49AY9+Rl4Plz/v+MnP6CP9pz2gH4BYvbVr1g/uQ6sDa1+anfZ40iI9na8Pj6g/00a0itMT34s1fDhZXry4xcK1/wfjL25Q5OftpJVYO7CJwAuX6S/cW//Gj65nppJ77fqrrKPmBB2uetQn9yApmxkJ8wib+RzjDX7Ym7l3a02xRrvcaixLzN+zR8w7fgffDcPznnuuPd1pz2OhGhvbdrX0tqg/y3LXQt+YXDD/yBmcMcGeAJkBMidePnoQ+6Jk6CunImr5xJO+XHvJvuICQFUFFL3/uVoDTX8bB3OGbsu4so31zL5mZ9btcfQ4sx8Jj/zM1cuXMVVS4K4pWYuNjS9eHPtv457X3fa40iI9tamfS2XPAk7F+slHVd97JbJD0gC5H68fOCy9yE8Gb+qXP4R8C+0FkrONPQrzM7smyCEW7JZOfTetfjWFbPNlsDt9XfQYB/gbk0S0lwC84NtNM/VX64//P8egAMbmr2vO+5xJER7O96+ls6/Rw3rYPkL+sFZ/4Te4zsrxDaTKTB3FNgDLn8fFp7BKdZ1XG3+kQ+sZzb7BvvIeYOkAFp0e7Zf/0aPg6uoUr7cXn8H1Ry5WlXob87zv9rKmYNim7xejpXAvGo9j2GmPcwwr6Xm4xv5ZcqnFNRoFFXUUVReR1FFLfuKq1q9x9GEFOkxJDyTY1/L2xY17aXleEU9eWYU5v+7QP9izM2QdnHnBXgCZBVYMzp9FVhLVi6A7x7EavLlCq8XWFse7rzJpMGCq0Zy9hCpLRDdXNE2bK+dgslWz12W2/jCdkqLpwb7eeHvbcbbbMLHy4SXScPSYGN/SXWL9wmjgu987ydGK+XthunMb7juhML8+xXDuWB4rxO6rxDuYnFmPrd/uJ6GRiOazlq3LffBtv9C7BC46Sfw8u30+Nry91tGgNzZuNtg53eYs5byn/hPWTXxX+SV1TDvs83U2xR9ooKMjlAIY9ms8OXtmGz1/GAdxRf2tvotqahtoKK29au6AEoJ5k/1t/K+z9Nc5/U9RckXUBM1nKhgX6KDfSmpsvDUt9uP+zhSqye6gvF9ejiTnydmpZESFaT38dn+Xz35MXnBrFcNSX7aShIgd2Yywbkvwj8noO1dwoQRv8CoS/h6Uz6/7DjILzuKSI0NNjpKIYyz7i3IW0eDdxAP1d4ALVYo6J6/ZCgDe4bQYFXUW21YrDY25Zbx9HESmGW2oRxMnkVU1v9xf8PrcO4SMOlry6w2xTsr9lFQVtvsNJoRexwJ0VHW7TsMQJ+oQGaPT9QP1lXC/+7TP5/0R30EyANIEbS765ECp/5J//y7B6Gugin99U62S3e2bnddIbqkmsP6ahPANO0RTKE9WzzVUaB54ch4BvcMZVhCGKOTIpiYEsnNp/RpVXFnxIXP6v1M8jfC2jedtztqIxznHn1fkFo90XWs3af3nRvXOKH/7SWoLIDwZDj1XmMCOwGSAHmCSXfq/7EqC2HFy5yWGg3o/xEr69o2nC9El7H0WT0Jih6EafSNziTkaMdLQlqdwITEwBkP25/7aX2LDbsZaXG8OnsksaGu01yxoX6yXY3oUlbbG++OSbInQGW5sOJl/fOzHgdvz5nqlQTIE3j5wrRH9M9XvEySTzm9IwKot+pdZ4Xodg7t0fvzAEx/EsxezEiLc70qtWtNEtLqBGbUDdCjH1Qfgt/+3uQxlt9/Bv+4cjigL1T48e4pkvyILqPa0kBmnp74O6d0f5yv72CQOFnfPsaDSA2Qpxg0C+LHQO5atKVPc1rqzby3cj+/7CjizEExRkcnROf65WmwNUC/syDlDACUUuw/pK/mevCcgcSE+LZpo8UZaXGcOSiWNVklFFXUNn9fsxecOR8+ukrfxHjMTRByZOrNbNI4b2hPHvtqG8WVdWwvKGdUotT+iK5hfXYpDTZFz1A/4sMDIH8TbP4PoOkXIm60zUVryAiQp9A0OPNx/fP1i5jeS98jbOnOg0gnA9GtHNwJmZ/qn5/+Z+fhvcVVFJTX4uNl4toJiVwwvBcTUnq0qfbGbNKYkNLj2PdNPQcSxkNDDSx/qcnNmqYxPCEM0P9gCNFVOKa/nKM/S5/R/027GHoONyaokyAJkCdJnADJU8DWwNi8d/Exm8g9XMPe4iqjIxOi8yx9BpQNUme6vOmu2F0MwKje4fh5t3b3rxOgaXD6PP3zjHehorDJKSN6hwGwPqe04+IQopOtydJLLsYm94CCTH3fSjSYcp+xgZ0gSYA8jf0/mvemD5ne2wbALztkNZjoJoq2Q+Zn+uenPeBy02+79TfnSX07odty8hSIH6vXPqx8ucnNI+wjQBtkBEh0EZYGm3NEc2xyOPz6rH7D4AshKtW4wE6CJECeJmky9J4IVgu3mL8CZDm86EaWvwgovdgybqjzsNWmWLlXT4Am9o3s+Dg07chy37VvQZXrYoQh8aFoGuSV1nCwoq7j4xGig23OK6WuwUZEoA8pKhu2fqnf4KGjPyAJkGeaor/xDsr/nHDKWbX3EDUWq8FBCdHByg8cqf055W6Xm7YeKKespp5gXy+G9grtnHj6nQlxw6C+Cla/5nJTsJ83/aL1Tu0bZBpMdAFrsvQGiGOTItBWvKIfHHg+RA80MKqTIwmQJ+pzOsQNx2St49agZVgabKzKkuXwootb84a+8qv3ROg1yuWm3/bo9T/j+kTgZe6ktzVNg8n2RGzdm1DvuiGqoxB6Q87hzolHiA7kqP85taftyIXIpDsNjOjkSQLkiTQNxv8egCv4Dm8aWCp1QKIrq6vUt70AmHh7k5t/sxdAT0zphOmvxgacC6EJel+gzZ+43DQ8Qd+8WEaAhKez2pRzC4xpVV+B1aLXwMWPNjiykyMJkKcafCEExRDaUMzZptVSByS6tg0f6p2XI/pA/xkuN9U1WJ3t+Sd1Rv1PY2YvGPs7/fNVr0KjlhSOEaBNOWXYbNKqQniu7QXlVNQ1EOFrI2r7B/rBCb83Nqh2IAmQp/Ly0ZuwAXO8FpNVXMn+Q7IcXnRBNtuRGpvxv3duQuqwPruU2nobkUG+9I8J6vz4Rl4D3gFQtAX2LXMe7h8ThL+3mYq6BvYcrOz8uIRoJ2vs/X/m9shAqy7WRz0HnGdwVCdPEiBPNuoGMPsyzLSHkdouGQUSXdO+X6FkD/gEw7Arm9y8wjn91QPNiE60/uFH4lp1pBjay2xiSLxekC39gIQn0xMgxfmWb/QDY2/WRz89nCRAniwoSu/ACVxp/ln6AYmuyVH7M+xy8G06wvPbnk7s/9OScbfo/+78FsrynIdHSEdo4eGUUqzdV8IQLYuoyh1g9oUR1xgdVruQBMjTjboegHPNq9i8J4faelkOL7qQikLYbr/qHHVDk5sr6xrYaB9d6fQC6MaiUvXVacoGGz5wHnZ0hJZCaOGp9hZXUVxpYbb3z/qBQRdAQNfY304SIE+XMBYVNQB/zcJ026/OYlAhuoT17+tL3xPGQWxak5vXZB2iwaboHRFAQkSAAQE2Muo6/d+M9/W6JY6sBNtRUE61pcGoyIQ4YWuySgiimgvMK/QD9ovurkASIE+naWj2/5BXmX9m6fYiY+MRor3YbJD+rv55M6M/0MnbXxzPoAvALxTKsmHvEgBiQ/2IDfHDpmBzbpnBAQrRdmuzSjjfvBI/VQuR/SFxotEhtRtJgLqCoZdjNfkwyLSf/O0rjY5GiPaxb5meTPiFwuBZzZ5iWP+f5nj7w9DL9c8z3nUePtIQsbTzYxLiJK3OKuFK80/6F6Ou1/vQdRFunQA9/fTTaJrGH//4R+ex2tpa5s6dS48ePQgKCuLiiy+msNB1N+bs7GxmzpxJQEAA0dHR3HvvvTQ0dOHh54AIrKn6ksSJZf8j93C1wQEJ0Q42/lv/N+1iPbk4SnFlHdsLKgB9BZhbGGmfBtv+DVTpydlwqQMSHiqvtIbAsp0MMe1Dmbxh6BVGh9Su3DYBWrt2La+//jpDhw51OX7XXXfx1Vdf8cknn7B06VIOHDjARRdd5LzdarUyc+ZMLBYLK1as4N133+Wdd97hL3/5S2d/C53KZ7RelT/TvIpl2w8YHI0QJ6muErb+V/+8maXvACvtq78GxAbTI8i3syI7ttg06DlCr1vK/ByQESDhudZmlXCReTkAWv/pEOgmFxrtxC0ToMrKSq6++moWLlxIeHi483hZWRlvvvkmL7zwAmeccQajRo3i7bffZsWKFaxatQqA77//nq1bt7Jo0SKGDx/O2WefzeOPP86CBQuwWCxGfUsdL/lUKn0iCdOqOLzha6OjEeLkbP9a32Q0og/Ej2n2lBX2/b86vfvz8TimwTZ9DMCQXqGYNMgvq6WwvPYYdxTCvazZe5ALzL/pXzj+X3chbpkAzZ07l5kzZzJt2jSX4+np6dTX17scHzBgAL1792blSr32ZeXKlQwZMoSYmBjnOdOnT6e8vJwtW7Y0+3x1dXWUl5e7fHgck5maVH0krG/B/7A02AwOSIiT4Jj+GnZlizUHblUA3VjaxaCZIW8dHNpDoK8X/WOCAekHJDxL/Z5fidNKqPcJhf7TjQ6n3bldAvTRRx+RkZHBU0891eS2goICfHx8CAsLczkeExNDQUGB85zGyY/jdsdtzXnqqacIDQ11fiQkJLTDd9L5ekzQp8GmkM6GXfsNjkaIE1SWB3uX6p8PvazZU3JKqskuqcbLpDE22c0SoKBoSDld/3zTf4Aj/YDWy87wwkMUV9YxruIHAGwDZ4GXm0wztyO3SoBycnK48847+eCDD/Dz8+u05503bx5lZWXOj5ycnE577vZkihtCvm8yvloDxWs+MjocIU7M5v8AChInQXhSs6c4pr+GJYQR5OuGLfkbT4MpdaQOSEaAhIfI2J3HDNMaAHxHNl+H5+ncKgFKT0+nqKiIkSNH4uXlhZeXF0uXLuUf//gHXl5exMTEYLFYKC0tdblfYWEhsbGxAMTGxjZZFeb42nHO0Xx9fQkJCXH58EiaRknKhQDEZ39lcDBCnCD7qMmxag6c01/usvrraANmgncgHM6C3HWM6K3XMm7OK8MqO8MLD1C58UuCtFpKfOKg93ijw+kQbpUATZ06lc2bN7Nhwwbnx+jRo7n66qudn3t7e/PTTz8577Njxw6ys7OZMGECABMmTGDz5s0UFR1pCPjDDz8QEhLCoEGDOv176my9TrkWgKHWLRTl7DI4GiHaqGg7FG0FkzcMOr/ZU5RSrLCvAJvobgXQDj6BehIEsOljUqKCCPL1otpiZWdhhbGxCdEK8bn6FjQHk2d1qd4/jblVAhQcHExaWprLR2BgID169CAtLY3Q0FDmzJnD3XffzZIlS0hPT+eGG25gwoQJjB+vZ6hnnXUWgwYN4pprrmHjxo189913PPTQQ8ydOxdf3643h3m0sLhkNnsPASD/t38bHI0QbbT1//R/U87Qd1lvxs7CSoor6/DzNjlra9ySYwRryxeYsTHUvjO8LIcX7q6itJjhlgwAIsZ1zekvcLMEqDVefPFFzj33XC6++GJOPfVUYmNj+fzzz523m81mvv76a8xmMxMmTGD27Nlce+21PPbYYwZG3bkOJswAIGTf/wyORIg22vKF/u/gC1s8xdH9eUxSBL5e5s6I6sT0maIncdXFsP83qQMSHiN31Wf4aFaytASi+gwzOpwO44bVg65++eUXl6/9/PxYsGABCxYsaPE+iYmJ/O9/3fePf+TYS7HteZ7k2m00lOzHKyLR6JCEOL6ibXBwO5h9IPXsFk9z2/4/RzN769Ng6xfB1i8ZnnQvICNAwv15b9ebkO6KnEqywbF0JI8bARLHN7h/fzK0AQAcWPkfg6MRopW2/J/+b8pU8A9r9pQGq43Ve0sAmOQO+38dz6BZ+r/bvmJ4vN4LaGdRBZV1XXhrHuHZastILNUbC9sc/3+7KEmAuiCzSSMr+kz9821fGhyNEK2gVKPpr1ktnrYpr4yKugZC/b0Z1NMDVmsmT9E3c60sJLp0I73C/FEKNuWWGh2ZEM2ybP0GbxrYZevFgCFjjQ6nQ0kC1EUFDLsQm9LoVblZbywnhDsr2gbFO44//WWv/5nQpwdmkwesTPHygVT7arCtX8q+YMLtVWZ8CsAvXhNJ7BFgcDQdSxKgLmrs0MGsU/0BqNzw+XHOFsJgztVfU/URkxa47fYXxzLoAv3frV8yPF4ftZItMYRbqi0jNO9XAIoSzkbrosvfHSQB6qKign3ZEHQqALUbPzM4GiGOY7t90UILvX8AauutpGfrW0m4bf+f5qScDr4hUJHPZP8sQB8BUkoaIgo3s/N7zKqe3baeJKSONDqaDicJUBdmHXAeABElG6Cy6NgnC2GUw/uhcDNoJujX8oaL6/YdxtJgIzbEjz6RgZ0Y4Eny8nVO6/U79DNeJo2DFXUcKJOd4YV7sW3Xmx9+ZxvN2D4eNMp6giQB6sJGDRnCRlsfTChsOxYbHY4Qzdvxrf5v7wkQ2PKb7m/25e8T+/bwvKH5AecC4LXzWwbEBgHSD0i4mQYLape++elKr/H0jw42OKCOJwlQFzaydxjLTKMBKN/4X4OjEaIFO/SrTlLPOeZpjgJoj1j+frSUM/QC78NZnBldBsAG2RleuJN9yzDXV1KkwvBPGo3JExYZnCRJgLowL7OJ0gR9OXxg7q9QX2NwREIcpeYw7PtN/3xAywlQWU09m/P0xMHtGyA2xzcIkvWavNM1fYsBWQkm3Ip9JPZH6wjG9PHA19gJkASoi+s3ZBx5qgfetjrI+tXocIRwtesHUFaIGggRfVo8bdXeQ9gU9IkKJDbUrxMDbEeOOqDDywB9Z/h6q83IiITQKYVyJEC2UYxJijA4oM4hCVAXd2pqND9a9Wr+usyvDY5GiKPYiy6PNfoDHj795dBf36PPr2Advf2qqa23saNAdoYXbqBgE1p5LtXKlwzzMNJ6tdyKoiuRBKiLiwv1Z0foZADUzm/BJlecwk001MHuH/XPHc0CW/DbHg/s/3O00HiIHYqGYnbEdkCmwYSbsI/+LLMNIS0xBm9z90gNusd32c2FDTydCuWPX+1ByF9vdDhC6LKWgaUSgmKh54gWTyssr2V3USWaBuM9fWmuvdD7NNIBaYgo3IR9JPZH28huM/0FkgB1C5MH9mKpbSgAO5b+h5V7DmG1SRM2YbAd9uaHqWeDqeW3Isfu72k9QwkL8OmMyDpOqj4N1qd8Nb5YZCWYMF5ZLhRswobGz9YRjE2WBEh0IYcqLfxkHQWAbfv/uHLhKiY/8zOLM/MNjkx0W0rpBdBwzL2/4Mj2FxM9efrLIW44BMfh1VDNBNNW9hysoqym3uioRHdmn/5Kt/Wj3BzGiN5hxsbTiSQB6uIWZ+Zzx7/X87NtOA3KxEBTNr04SEFZLbctypAkSBjj4A4oywazLySd0uJpSqmuUQDtoGnOhG9WwCZAdoYXBrNfiPxsHcnQ+DD8vM0GB9R5JAHqwqw2xfyvtqKAMoLIUP0AmGLehGMCbP5XW2U6THS+3fbRn6TJ4NPyjtP7DlVzoKwWH7Op69Qm2FeDncJ6QElHaGGc+lpne5RfbMO61fQXSALUpa3JKiG/0X5DS63DAJhi2giAAvLLalmTVWJEeKI7c0x/9TvzmKf9Zh/9GdE7DH+fLnJlmjQZzL70aCgkRTsgK8GEcfb/Bg01HNQi2KZ6M7arXGS0kiRAXVhRhetmi45C6ImmLXjT0OJ5QnSoukrYv0L/vO+xEyBHAbRHdn9uiU8gJE4EYIppk+wML4yz+ycAfq4fiqZpjEoKNzigziUJUBcWHezaMXeLSuKgCiFYq2GUaWeL5wnRobKWgq0ewpOgR0qLp9lsipVdof9Pc/pOA+B080YOVVnIPSzb1AgD2Keif7ENY1BcCCF+3gYH1LkkAerCxiZHEBfqh2NLO4WJX+2jQFNMG9GAuFC/bjfvKwzmnP46Sy8KbsHW/HIOV9cT6GNmaHxY58TWWewJ0DjTNvyoY71Mg4nOdng/FO/EipnfbGldp8auDSQB6sLMJo1HzhsE4EyCHHVAp9nrgB45bxDmbrDrr3ATSh3p/tzK6a9xfXp0vc60UakQEo8P9Yw3bWN9tvQDEp3M/jrcZk6lnEDGdcML4S72riKONiMtjldnj3RuILnMNgSb0hhoyuati3sxIy3O4AhFt3JwB5Tl2Je/T272FKt96uuLjDwAxvfpgm/MmgZ9pwL6aKwUQotOZ0+Avq1LA2BMN0yAvIwOQHS8GWlxnDkoljVZJXy5IY9NG/swXNvD6ebNwHCjwxNdkNWmWJNVQlFFLdHB+jSr2aTBru/1E1pY/r44M5/5X211Wb34xq976R0R0PWS9X5nQsa7nGraxFMHyrE02PDxkmtS0QkaLKi9S9GAX6zDiAv1I9zTu6yfAHm1dRNmk8aElB78cVp/ltr0abC67d8bHJXoihZn5jP5mZ+5cuEq7vxog2vn8d2N6n+aud9tizJckh/QO5l3yaadyaeiTF6kmPKJseazLb/c6IhEN7Hm12/Q6qs4qELZqhLJL6vtlrsDSALUzcSG+rEvfAIAWtYvYG049h2EaIOWkpiCslruWrQS2/6V+gH79I9D46adR+uyTTv9QtESxgFHlsML0dEWZ+az/udPAVhqG4aypwHdcXcASYC6oZ6DJlGqAvGpL4e8dUaHI7qI4yUxY0w7MNnqUSG9qAhMJPdwNZl5ZazYXcwrP+9qkjQdff8u2bRT6oBEJ3K8Rk8xbQZgqXWo87Yue6FxDFID1A2dNjCO5SvSONe8GtueJZh6jzc6JNEFHN15/GiT7G+6nx7uy73zfzih5+hyTTtTpsJPjzHBtJVnsouNjkZ0cWuySrCUFTLIbz8Av9nSXG5vfKExIaWL9d5qhowAdUMjEsLIMOt1QFXbfzQ4GtFVHC85mWzKBGCZdQgAPl4mooJ96RcdRP+YoFY9R5dr2hk7FJt/BEFaLaElmyitthgdkejCiipqmWjaAsBWWyIlhLR4XncgI0DdkJfZhC35NMh6g4Ci9frWBL6t+wMkREuOlZxEUM5gk37Vef6FV/Ds8EEuu05bbYrJz/xMQVlts1NoGnr9Wpdr2mkyYUo+Fbb+H5NNmWzIKeW01GijoxJdVHSwH5PsFyLLjxr9Ofq87kBGgLqpoUOGkW2LwqysR/ZlEuIkHN15vDHHm+4uLZHTR6W5JD/QfNNOB8fXXbZpZ5/TAJho3sJ62RledKCxSeFM8dJfi0dPfwHdbncASYC6qVP7R/Gb0l8AMg0m2oMjiWluBMcx/eXV94wWk5ijm3Y6xIb68erskV2vD5CDPQEaqe1i2/7uswJHdD5zaRZxFGNRZtbYUl1u6/IXGs2QKbBuKjLIl9ywsVCxhPpdPxsdjugiZqTFceGIXnyxPq/RUcWp9qvO5LHnHvf+jqadTZoodlURydQFJ+BbkYNP3kqUOhXtGHukCXHC9v4CQFHoMGqKml5oPHLeoK57odEMSYC6sZBBU2H1M4RV7ILKIgiS2gNx8ipq9d5Ss8f1ZkxyBL1VPnFfFoPZBxInHPf+jqad3YlXyumw4T2G1W9k36FqkiMDjQ5JdEX2BOhAj/FQBOOSw7lqXGL3uNBohkyBdWPj01LZYksEoGHPL8YGI7oEpRQZ9o09LxwZzwXDezGiYYN+Y8I48JE/7M0x9z0N0KcK31q+l5V7DnWbXiyik9iskPUrAEsbBgMwJTWaC4b3YkJKj26X/IAkQN3akF6hpNuXw5dskm0xxMnLKq6ipMqCj5eJtF72Jbb2q076TDEsLnf3U90AAAaasvnfqs2u24cI0R7yN0JtKfiG8O2hWED/G9CdSQLUjZlMGjUJpwDgm7MMlFxxipOTvl8f/RnaKxRfL7PLVSd9zjAwMve1ODOfmz7Zx1b7aKyjT0t33JpAdCD7hUh970nsLakDIK2nJECiG0sYdgYWZSbUUgAle40OR3g4x/TXqKRw/cCBDVBbBr6h0HO4YXG5q8bbhzj6sjhaBnTHrQlEB7InQDlhYwGID/cnPLD77QDfmCRA3dykgYlkqP4AHM6UaTBxctbtsydAve0JUNYv+r/Jp4DJ3PydurHG24c4+rJMNmfiSH+67B5oonPV10D2KgDWavr+X919+gskAer2QgO8yQoZA0D5VukHJE5cWXU9u4oqARiV6EiAlun/Jkv9T3MabzmwxpaKRZmJ14rprRW1eJ4QbZa9Cqx1ENyTZYf112aaJECSAAnw7qfXZvQ4uBpsNoOjEZ7KMf2VHBlIjyBfaLBAzmr9xqTJBkbmvhpvOVCDH+tVP+BI48jmzhOizfYt1/9NPoXMA+WAjACBJEACGDTqVCqVH0G2CuoOZB7/DkI0w1EA7Rz9ObAe6qshoAdEDTAwMvd19PYhv1n1abDxpq1A99uaQHQQewJU02si+w5VA5IAgSRAAhjYK4JNpoEA5KyXOiBxYtbt1+tUnAnQPvvqr6TJYJK3muYcvQfaapv+Ohxn2oajDqg7bU0gOoClCvLSAdjqq9f/9AqTAmiQBEgAmqZRFq2vDKjf/avB0QhPVG+1sTGnDGicANmH3ZNOMSgqz9B4D7QNKoU65U2MVspQ/+KuvQea6Bw5a8BWDyHxpJfpvblk9EcnCZAAIGyQXgfUsyxD6oBEm23Pr6Cm3kqInxd9o4L0+p9sqf9prRlpcSy//wzeuflU9vjpI0I3J+RJ8iNOnvNCZDKbD1QAMCReEiCQBEjYpY0+lSrlSygV5O5MNzoc4WEc018jE8MxmTR9yL2hBgIipf6nlRx7oJmSJgEQWrja4IhEl9AoAcrM00dpZQWYThIgAUBwYAC7/fQCzJyMHwyORngaRwH06CbTX5NBdjZvk/BBUwHoX7uJWkuDwdEIj9ao/qei53iyiqsAmQJzkARIONX1mgiAV85vBkciPI0jARrpTIDs/X9k+qvNogdNog5vYrXD7Nq+0ehwhCdrVP+TWam/NnuF+RMhBdCAJECikbjhZwLQt3oj1XUWg6MRnuJAaQ35ZbWYTRrDE8Kgoe5I/5/kUw2NzRNp3v7ss9cBHd7ys8HRCI/WePrL3v/HuUmxkARIHBE/aALV+BGuVbAxfZXR4QgPsc4++jMoLoQAHy97/U8tBEZBZH+Do/NMFbH6qky/vJUGRyI8WuMCaHv9j0x/HSEJkHDSvHw4EKz3iSjO/MngaISnyDi6AaLU/5y0wP6nA5BYuR4lqzLFiWhU/yMF0M2TBEi40JL1ni3BBatQSnagFsfXtAGi1P+crOThU7AoL2IooWDfNqPDEZ6oUf1PhX8v9koBdBNulQA99dRTjBkzhuDgYKKjo5k1axY7duxwOae2tpa5c+fSo0cPgoKCuPjiiyksLHQ5Jzs7m5kzZxIQEEB0dDT33nsvDQ2ymqI14u11QEOsW9hVWG5wNMLdVdU1sC1f7y0yKjHcXv+zRr8xSep/TpRfQBC7vFMBKNgkmxSLE9BoJHaL/TXaM9RP36dPAG6WAC1dupS5c+eyatUqfvjhB+rr6znrrLOoqqpynnPXXXfx1Vdf8cknn7B06VIOHDjARRdd5LzdarUyc+ZMLBYLK1as4N133+Wdd97hL3/5ixHfksfxTRxNneZHD62CDVIHJI5jY24pVpuiZ6gfPcP8IXedvf4nGiL7GR2eRyuO1OuAzPuXGxyJ8EjS/+e43CoBWrx4Mddffz2DBw9m2LBhvPPOO2RnZ5Oers9jlpWV8eabb/LCCy9wxhlnMGrUKN5++21WrFjBqlX6H+vvv/+erVu3smjRIoYPH87ZZ5/N448/zoIFC7BYZGXTcZm9KY4YAUDVzl+MjUW4vfR9Ry9/l/qf9uLdVx9BiyvLAJmOFm1xVP2PFEA3z60SoKOVlem/tIgIfSfk9PR06uvrmTZtmvOcAQMG0Lt3b1au1FdLrFy5kiFDhhATE+M8Z/r06ZSXl7Nly5Zmn6euro7y8nKXj+4ssN8UAOIOr6O8tt7gaIQ7S88+qgFi9gr938SJBkXUdSQNm0Kd8iLKVkxt0R6jwxGepFH9D+FJzgQoTbbAcOG2CZDNZuOPf/wjkyZNIi1N71BcUFCAj48PYWFhLufGxMRQUFDgPKdx8uO43XFbc5566ilCQ0OdHwkJCe383XgWx75gY7Rt/LbzoMHRCHdls6lGK8AiwNoAOWv1GyUBOmlxkRFsM+nTiAc2fG9wNMKj7LdfiCRNotJilQ7QLXDbBGju3LlkZmby0UcfdfhzzZs3j7KyMudHTk5Ohz+nW+s5gnqTLz20CrZsWmt0NMJN7T5YSXltA/7eZgbGBUPBRqivAr8wiBpodHgeT9M0DoSNAqB+r9QBiTbItveP6j2BLXllKAVxoX5ESgG0C7dMgG6//Xa+/vprlixZQnx8vPN4bGwsFouF0tJSl/MLCwuJjY11nnP0qjDH145zjubr60tISIjLR7fm5UNV1HAALFm/yXJ40ax19vqf4QlheJlNsN/xpjseTG751uJ5eusjaRGHMgwORHiMBou+GAEgceKR6S8Z/WnCrd6llFLcfvvtfPHFF/z8888kJye73D5q1Ci8vb356acjTfp27NhBdnY2EyZMAGDChAls3ryZoqIi5zk//PADISEhDBo0qHO+kS4gqJ/eDyjVsoUtB7p3TZRonnMD1CRH/c+Rq07RPuLSTsGqNKIa8lFleUaHIzxB/kZoqAH/CIjs71wBJtNfTblVAjR37lwWLVrEhx9+SHBwMAUFBRQUFFBTUwNAaGgoc+bM4e6772bJkiWkp6dzww03MGHCBMaPHw/AWWedxaBBg7jmmmvYuHEj3333HQ899BBz587F11eG/1rLK0m/8hyr7eCXHUXHOVt0R+n2BogjE8P1VUqOBEjqf9rNoORebCMJgOKtvxgai/AQjoUIvSeApskKsGNwqwTo1VdfpaysjNNOO424uDjnx8cff+w858UXX+Tcc8/l4osv5tRTTyU2NpbPP//cebvZbObrr7/GbDYzYcIEZs+ezbXXXstjjz1mxLfkuRLGYsNEgukgG7duNToa4WaKK+vYd6gagJEJ4VC8E6oPgZc/xA03NrguxNfLTFaAvj1N+c5lBkcjPEK2vX9b4gQq6xqcHaBlCqwpr9ac9N///rfND3zmmWfi7+/fpvu0ptbEz8+PBQsWsGDBghbPSUxM5H//+1+bnlscxTeYhug0fIo2EZC/hsNVZxMe6GN0VMJNOFZ/9Y8JIjTAG7barzrjR4OX/D9pT3VxY2HvlwTkrzE6FOHubLZGU9ET2XqgHKUgNsSPqGCZATlaqxKgWbNmtelBNU1j165d9OnT50RiEm7Cp89kKNrEKG0Hv+46yAXDexkdknAT6UdvgCr1Px0mbOAU2AsxtXuhphT8w4wOSbir4h1Qcxi8AyBuKJtX5gIy+tOSVk+BFRQUYLPZWvUREBDQkTGLztJbr6saY9rOLzukH5A4Ir1x/x9wXQEm2lVa/37stcViQlG7d6XR4Qh3tr/RSKzZWwqgj6NVCdB1113Xpums2bNny1LyrsB+NZ+q5ZKxIwurTZbDC6hrsLLJ/sY6KjEcynKhLBs0EySMNTi6ric21I+tXvoKVimEFsfkqP+xt09wFkDHy9/j5rQqAXr77bcJDg5u9YO++uqrREZGnnBQwk0ERaMi+mLSFCm1mWzMLTU6IuEGMvPKsTTY6BHoQ1KPgCOjP7FDwbf17xOi9Q5HjQbAlCMjQOIYnCsxJ1BV18Ceg5WATIG1pNVTYJdccgmLFy+WpnjdjJbomAbbwaKV+/hyQx4r9xyS0aBurPHyd03TZP+vTuCXMhmAqPKtUF9rcDTCLZXmQFkOaGboNZqt+XoBdEyIL9HBfkZH55ZanQAdPnyYmTNn0rt3b/7yl7+wd+/ejoxLuAv7UOoY0w4+X3+AOz/awJULVzH5mZ9ZnJlvcHDCCM4GiI4C6P1SAN3R+g0YykEVijf1KMcu30I05hj9iRsGvkFszpX6n+NpdQL0008/sXfvXubMmcOiRYvo168fZ5xxBh9++CF1dXUdGaMw0NK6vgAM1fbgi8V5vKCsltsWZUgS1M0opUjfXwrY63+qS+DgNv1GSYA6zKCeoaSrAQAc3rbU4GiEWzqqEWmmbIFxXG1qhJiYmMijjz7K3r17+eGHH+jZsyc333wzcXFxzJ07l/R0uTLpSqw2xQM/V1CkwvDRrAzX9jhvc0yAzf9qq0yHdSPZJdUUV9bhYzbpb6w5q/UbevSDoChjg+vCfLxMHAgdAUDd3hUGRyPc0lEjsdIB+vhOuBP0GWecwaJFiygoKOCpp57io48+Yty4ce0ZmzDYmqwS8svrWGNLBWC0aYfL7QrIL6tlTVaJAdEJIzimv9J6heDnbT6y7DZRRn86nL3FQPihDLBZDQ5GuBWXkdjxVFuOFEBLAtSyk9oKIysri+eff56//vWvlJWVMW3atPaKS7iBogq92HKtTR96H2vafszzRNe3rsUGiFIA3dF6DhhLhfLHz1YFhVuMDke4E8fy98j+EBjJ1gPl2BREB/sSHSIF0C1pcwJUW1vLokWLOOOMM+jXrx/vvfcec+bMISsri8WLF3dEjMIgjpUD6+wjQCNNuzBha/E80fVlNG6AaKmGA+v1G2QEqMONTOpBhq0fALV7fzM4GuFWsmX660S0OgFas2YNt956K3Fxcdx8883ExsayePFi9u7dy1/+8hcSEhI6Mk5hgLHJEcSF+rFd9aZc+ROs1TBQy3bergFxoX6MTY4wLkjRacpq6tlRWAHYR4Dy1oGtAYJ7QliiwdF1fdHBfuz0TQOgYsevBkcj3MpRBdCbpQC6VVqdAI0fP57Vq1fz+OOPc+DAAT788EOmTZum9wERXZLZpPHIeYOwYSLD1h/Qt8UAPfkBeOS8QZhN8n+gO9iQU4pSkNgjQN9Y0dl1djzI+0CnqOmpd9r2L1gD0pNNgOtIrL1OTLbAaJ1WJ0Dr1q1j/fr13H777YSHh3dkTMKNzEiL49XZI9nuMxiA0aadgN6e/9XZI5mRFmdkeKITpe/Ti91H9ba//h0rwGT/r04T0W8CFmUmyFIMh/cZHY5wB3npLiOx1ZYGdhfZC6DjJQE6llbtBg8wcuRI5+e1tbVs2rSJoqIibDbXmpDzzz+//aITbmFGWhxW/yvg/Q8ZadrJ6MRwPr5lgoz8dDPp2fb6n6RwsNkgZ61+g+z/1WmGJcexRSUzQtuNLWcNpohko0MSRstxjMSOA01zFkBHBfsSIwXQx9TqBMhh8eLFXHvttRQXFze5TdM0rFZZntkVmRNGozQzPSmB8lxJfrqZBquNDdmlgL3+p3gH1JWBdwDEpBkbXDcyIC6YRaQygt2U71xO2LDLjQ5JGM15IaKPxEoBdOu1eRXYH/7wBy699FLy8/Ox2WwuH5L8dGE+gTRE63/o4so3Um1pMDgg0Zm2F1RQZbES7OtFv+hgyFmj39BrFJi9jQ2uG/E2myiJ0BsiKscUpOi+bDbItb8W7SOxUgDdem1OgAoLC7n77ruJiYnpiHiEG/O2b4w6UtvFrsJKg6MRnSnDPv01IjFcH/3LcX3TFZ3Ht4++1Dm0fBfUlhscjTDUod1Qcxi8/CF2CCAF0G3R5gTokksu4ZdffumAUITb6613+h5l2ulcDi26h3X77PU/RxdAJ0j3986W2rcf2bYovSdX3jqjwxFGcrwO7SOxLgXQkgAdV5trgF555RUuvfRSli1bxpAhQ/D2dh3+vuOOO9otOOFm7H/sBmn7+V9eIYyW3k/dhXMH+KRwqDoEh3bpN8SPMTCq7mlE7zCWqf705iC1e1fil3KG0SEJozgvRPTX4bZ8vQA6MsiXmBBfAwPzDG1OgP7973/z/fff4+fnxy+//OLSB0jTNEmAurLQeKr9YgioLcSWmw6MNjoi0QkKymrJK63BpMGwhDDY96N+Q2R/CJAmmJ0tMsiXff6DwfIb1XtW4Hem0REJwzinovWL0825jumvEOnR1wptngL785//zPz58ykrK2Pfvn1kZWU5P/bu3dsRMQo3UhenX2mEHVpvcCSiszhGfwbGhRDk63XkqjNe6n+MYu2l/8ELPLheNkbtrqpL9NWY4Hwtbs7Ta8Jk+qt12pwAWSwWLr/8ckymk9pHVXiogBS91frA+q2UVFkMjkZ0hnX77Q0QHRugSgG04WL7j6RS+eFrrYKibUaHI4yQa6//6tEXAnsARwqgZQVY67Q5i7nuuuv4+OOPOyIW4QF8++gJ0EjTLnbklxkcjegMGY13gLfW651nQQqgDTQisQfrbX0BsGXLcvhu6aiFCDUWK7uK9MUp0gG6ddpcA2S1Wnn22Wf57rvvGDp0aJMi6BdeeKHdghNuKCaNOs2PUKop2rsR+k4zOiLRgWosVrYc0IfVRyWGQ2EmNNSAX6heAyQMkRoTzOumAZxCJhW7lhM6do7RIYnOdlT/n63OAmgfYqUDdKu0OQHavHkzI0bojbgyMzNdbpOiq27A7E1h8CB6l2dgzV4NSALUlW3MLaXBpogJ8aVXmD/stL/pxo8FmQY3jJfZRHnkSDj0KSbHH0LRfVgbINd1JLbx9Jf8LW6dNidAS5Ys6Yg4hAepiR0D5RmEFUshdFfnXP6eGKG/qUr/H7cR2Gc8tmKN4JpcqCiEYGlO220UbYH6KvANhchUQLbAOBFyCSfazFEI3acmE6WUwdGIjuRIgEZKAbTbSUuJZ4ey9+KSbTG6F8frMH60cyRWCqDbrlUJ0EUXXUR5eetbrl999dUUFRWdcFDCvcUMOgWAJC2fgvxcg6MRHcVmU84tMEYnhkNZHpTlgGbSO88KQ41ICCfd1g+A2r0rDY5GdKqjRmJr663skg7QbdaqBOjLL7/k4MGDlJeXH/ejrKyMr776ispK2Suqq/IJ7sE+k37leXDbcoOjER3BalN8vj6X0up6vM0aqbHBR4ouY9LAN8jYAAXhgT7kBOn7P9VlSQLUrTgToCMF0FabokegD3GhUgDdWq2qAVJK0b+/rPgQRxwIHkpSWQ7WfSuBK40OR7SjxZn5zP9qK/lltQDUWxWnP/8L/05YQhLI9Jc7SRgHuyCwJBPqa8Fb/vh1eeX5UJrtMhIrBdAnplUJ0IkUPvfq1avN9xGeozpmNJR9Q2hxhtGhiHa0ODOf2xZlcHRlV0FZLaU1y/UxYymAdhuJKYM5uDOUKMogfwP0Hm90SKKjOUZioweDXwjQeAsMmf5qi1YlQFOmTOnoOISH8U+ZCDshvmY7NFjAy8fokMRJstoU87/a2iT5AfDBwiBtn35erzGYOzUy0ZJRSRGk2/ozw7wW6/5VmCUB6vqaWYiwWQqgT4isAhMnJCFlCIdUMD7U05Any+G7gjVZJc5pr6MN0fbio1kpUmGsORzcyZGJlvSLDiLTpC+DrtqzwuBoRKc4VgG0dIBuE0mAxAmJjwhgI/obb+kOKYTuCooqmk9+AEaZdgGQbutHUWVdZ4UkjsNk0qiKGQ2Az4E1IG0purb6WsjfqH+eoG9Mvc1eAB0R6ENPKYBuE0mAxAkxmTTnCpT6fbICpSuIDm75zXOUaScA6bb+xzxPdL6wlDHUKS/8LIehZK/R4YiOlL8RrBYIjILwZEAKoE+GJEDihFVF6ysQgg9myJVnFzA2OYK4UD+avoUqRtpHgPYHpDE2OaKzQxPHMDw5hs2qj/5FjmyL0aU1nv6yJztHOkCHGBWVx5IESJywgKTRWJSZoPpDULrf6HDESTKbNB45b1CT44laIZFaOXXKi0vOnYnZJFeZ7mR4QhjrbHqbkpq9vxkcjehQR/X/AdicpzcplhVgbdeqVWAjRoxo9dBaRoYsi+4u+vaMYotKZoS2G7JXQ3iS0SGJkzQjLY5XZ4/kjn+vx2LVR/VGafr0V3XkEKYPSzQyPNGMUH9v8oOHQs3XNOyXLTG6LKUarQAbh9WmWL77IDsK9ARoYJyMALVVqxKgWbNmdXAYwhOlxgbzf7b+jDDtpmH/KryGXW50SKIdzEiLIyJwCwXlddx1Zj8uL/gKdkF4/0lGhyZa4JU4DrZDUNkuqCkF/zCjQxLt7fA+qCoCkzffH47lkQ9+dlm1efkbq3j0vEHMSIszLkYP06oE6JFHHunoOIQHigzyYYfPILD9j/p9K1v3n0m4vdp6KwXl+kqva8YnEfHeZv0GaYDotlJTUsjaGkOyqRBy10G/aUaHJNqbffSnNGwQt/x7S5N+XYVltdy2KINXZ4+UJKiVTqgGqLS0lH/961/MmzePkpISQJ/6ysvLa9fghHvTNI3qqJEA+JXsgNrWb5gr3FdOSTUAwb5ehJtroHCLfoNsgeG2RiaGkaH0OqBta39g5Z5DWG2yMKFLsdf//K+sd7PNSh3H5n+1VX73rdTmBGjTpk3079+fZ555hueff57S0lIAPv/8c+bNm9fe8Qk3F90riRxbFBo2yEs3OhzRDvYf0hOg3j0C0PLSAQVhiRAca2xgokU7CypJtxdCH9q2jCsXrmLyMz+zODPf4MhEu7GPAC2r6dPiKQrIL6tlTVZJJwXl2dqcAN19991cf/317Nq1Cz+/I/1AzjnnHH799dd2DU64v9TYYNJVP/0LWYLbJey3jwAl9Qh0KboU7mlxZj5zP8wg3aa/Doeb9mDCRoF9SkSSoC6grgKK9JFYR6J7LMdqaiqOaHMCtHbtWm655ZYmx3v16kVBQUG7BCU8R/+Y4CMvyBxZgdIV7D9UBegjQM0tuxXuo/H+bbtUPOXKnyCtllQtR6ZEupK8dFA2agN7UUT4cU+XZqWt0+YEyNfXl/LyprUeO3fuJCoqql2CEp6jf0wQGfYESOWsAZvN4IjEyXJMgSWF++oFtSAjQG6q8f5tNkxssPUFjnTulimRLsI+EmvtNRbzMTrSaEBcqJ80K22lNidA559/Po899hj19fWAXgibnZ3N/fffz8UXX9zuAQr3FuznTUVIf6qUL5qlAg5uNzokcZKy7VNgqeYDUFcOPkEQ3bRBojDe0VMdGfbpaEfn7pbOEx7GPhK7cF8k1hYG8xx50SPnDZJmpa3U5gTob3/7G5WVlURHR1NTU8OUKVPo27cvwcHBPPnkkx0Ro3BzfePCnFeeMg3m2RqsNnIP20eAqjP1g71GglmaHLijo6c6HNPRjuaVLZ0nPIjNhs0+AvRDRRIJEf789cI04o7a+DQ21E+WwLdRm9/VQkND+eGHH1i+fDmbNm2isrKSkSNHMm2a9J3orlJjg0nf3Y9JbNGHakffYHRI4gTll9VSb1X4eJkIPbRePyjTX27LsX9bQVktCthg64tNaSSaioiilGLCiJUpEY92aP8metSVU618qQhJ5d83jyc+PIDLx/RmTVYJRRW1RAfrv2MZ+WmbNidAOTk5JCQkMHnyZCZPntwRMQkPkxqjd4QGZATIwznqfxLC/dFkBZjbc+zfdtuiDDSgggB2qHgGajmMNO3ie9sYmRLxYMWVdbz38X+4G9hm6scHt0wiPjwA0H/3E1J6GBugh2vzFFhSUhJTpkxh4cKFHD58uCNiEh4mNTaYDMcUWMkeqCo2NiBxwvaX6CvA0sLq9d8lQPxoAyMSx+PYvy3WPiXiWJRwqv9emRLxYIcq67h64WoSKvVO7H1HnUFCRIDBUXUtbU6A1q1bx9ixY3nssceIi4tj1qxZfPrpp9TV1XVEfMID9IkKpMoUzE5bL/1A7lpjAxInLNs+AjTex578RA0A/+MvuxXGmpEWx/L7z+C9G8ew3l4IfXFUniQ/HupwlYWr/7WaHYUVjPXaDUBof5lxaW9tToBGjBjBc889R3Z2Nt9++y1RUVH87ne/IyYmhhtvvLEjYjxhCxYsICkpCT8/P8aNG8eaNdKoryP4epnpExko/YC6gH32HkBpVvtqPun/4zHMJo1T+0dTET0KAO+ijdAgF6aeprRaT362F1SQElhHIgf0G+LHGBtYF3RCe4GBvvz99NNPZ+HChfz4448kJyfz7rvvtmdsJ+Xjjz/m7rvv5pFHHiEjI4Nhw4Yxffp0ioqKjA6tS+ofG+xcgisdoT2XswaoSjZA9VQxiQMpViGYbfWQv9HocEQblNXUc82ba9iaX05kkA/vn2Wv3YrsDwFSyN7eTjgBys3N5dlnn2X48OGMHTuWoKAgFixY0J6xnZQXXniBm2++mRtuuIFBgwbx2muvERAQwFtvvdXk3Lq6OsrLy10+RNsMaNwROi8drPXGBiTaTClFdkk13jQQUmJfAi8JkMcZlhBOhk0uRjyB1aZYuecQX27I46dthVzz5mo255UREejDBzeNp2fFJv1EGYntEG1eBfb666/z4Ycf8ttvvzFgwACuvvpqvvzySxITEzsivhNisVhIT0932ZzVZDIxbdo0Vq5c2eT8p556ivnz53dmiF1O/9hg9qo4yrVgQhoqoGAT9BpldFiiDQ5W1lFtsTLctA+TtVav/enR1+iwRBsNSwjjU1s/zjKnY8tejWni7UaHJJqxODOf+V9tdXbydgj0MfPBTeNIjQ2Gb2UlZkdq8wjQE088wbhx40hPTyczM5N58+a5VfIDUFxcjNVqJSYmxuV4TExMs/uVzZs3j7KyMudHTk5OZ4XaZaTGBAMa66xy5empHAXQpwXs0w/EjwVNlk97mj6RgWzzGgiALXsVKNkHzN0szszntkUZTZIfgCqLVd+Pz1qvj6aDJEAdpM0jQNnZ2Whd7E3R19cXX19fo8PwaL0jAvDzNrHO2pczTBl6IfT424wOS7SBo/5nnPduaECG3T2UyaRBrxHU55nxri6C0mwId6+L1O6s8Qa2zdHQN7A9Mywcc0MN+IVCj36dGWK30eYRIE3TWLZsGbNnz2bChAnk5eUB8P7777N8+fJ2D/BEREZGYjabKSwsdDleWFhIbGysQVF1bSaTRv+YYDKUYyWYjAB5mv32PcAGNjhWgMlVp6ca1DuGLSpJ/0Jei26l8Qa2zXFsYJu9YYl+IH4smE64XFccQ5t/qp999hnTp0/H39+f9evXO/v/lJWV8de//rXdAzwRPj4+jBo1ip9++sl5zGaz8dNPPzFhwgQDI+vaUmOC2Wjrgw0zlOdBWa7RIYk22H+oijgOEVZfBJpZ3wNMeKRh8WHSlsJNtXZjWu98ez81uRDpMCdUA/Taa6+xcOFCvL29nccnTZpERkZGuwZ3Mu6++24WLlzIu+++y7Zt27jtttuoqqrihhtkn6qOkhobTA1+5Pim6Afkjdej7D9UzSiTfRPN2CHgE2hsQOKEDU8II92+EsyWLa9Dd9LajWmjDm/QP5Gp6A7T5hqgHTt2cOqppzY5HhoaSmlpaXvE1C4uv/xyDh48yF/+8hcKCgoYPnw4ixcvblIYLdpPamwwAOm2fiSyUx96T7vY4KhEa2WXVHOBIwGSq06PFhvqR05gGtSDVpQJdZXgG2R0WIKmG9geTQOGhFTiW50PmklW03agNo8AxcbGsnv37ibHly9fTp8+fdolqPZy++23s3//furq6li9ejXjxsmbekfSV4LBL9XJ+gEZAfIY5bX1lFRZGGnapR+Qq06PF5uQQq6KRFO2I6uJhOEcG9g2x7G8aP5IvR6PmMGSuHagNidAN998M3feeSerV69G0zQOHDjABx98wJ/+9Cduu01W/XRnUcG+hAd4s85qrz3I3wSWKmODEq2SfagaP+oYbNqvH5ARII83PCFMGiK6qRlpcfzjyhFNjseG+vHq7JGMwDESO76TI+te2jwF9sADD2Cz2Zg6dSrV1dWceuqp+Pr68qc//Yk//OEPHRGj8BCapq8EW51lodovhoDaQjiwHpJkEz93t/9QNUO1vXhhheCeEBpvdEjiJA2LD+NHWz/ON6+U0Vg3NDQ+FABvs8bzlwwjOsSPsckRmE0arLT/vmQktkOd0DL4P//5z5SUlJCZmcmqVas4ePAgjz/+eEfEJzzMgFi9IeL+gDT9gLzxeoT9JVWMck5/jZEGiF3AkPhQ50owW+5asNkMjkg0llNSA0Bij0AuGNGLCSk99OSnvubIHm6SAHWoE24u4OPjw6BBg5z7gAkB+pYYABk26QfkSbIPVTPSUQAdL2+6XUGovze1PQZSo3ww1ZbCoV1GhyQayT2s1/nEh/u73nBgPdgaICgGwqSBZUdq1RTYRRdd1OoH/Pzzz084GOH5HIXQP1UmcTXoCZBSMqLg5vYVVx5ZAt9b6g66iiEJkWzcksJ4bZs+GhuVanRIwi73sD4C1CQBymk0/SXvmx2qVQlQaGhoR8chugjHCNCyyjhUkB9aTQkc2gORsqmmO1PFe4jQKrGZfTDFDjU6HNFOhsaHkr65H+NN9gRo5LVGhyTsjowABbjekCMNEDtLqxKgt99+u6PjEF1EiJ83PUP9OFBWS0XEEEKK1upvvJIAua26BisJ1ZvBG6yxIzB5+RgdkmgnwxLCeNk+Ha1y1iDjCe6j2REgpRqNAEkC1NFkgxHR7hwNEbMDh+gHpBDareWU1DBS06e/vBJl+qsrGRgXQqamL4XXindCdYnBEQmHIwlQoxGgkr1QXQxmH4gbZlBk3YckQKLdOabBNiCF0J5g/6EjK8A0qf/pUvy8zcTGxbPHFqcfyF1rbEAC0EddC+17grmMADneK3uOAC9fAyLrXiQBEu1ugD0BWlKVpB84uA1qSg2LRxxbfkEBqSb7xrWy7LbLkY1R3U9+aS1KgZ+3iR6BjaacHb+f+DHGBNbNSAIk2l1/+0qwtUUmVIR9Y9TcdQZGJI7J/rsp8UuAwEiDgxHtbVhCGOlKRmPdSePpL63xSi/H70fqfzqFJECi3aVEBWE2aZTXNlAbY9/IT6483VZIsb5PVGmPpq35hecbFh/q3BJD5aWDtcHgiESzPYBqy6Boq/65jMR2ilatAvvHP/7R6ge84447TjgY0TX4eZtJ6hHAnoNV5AQNoT//kQTIjcVXbgZASQPELqlPVBAFPr0pVwGE1FdDYSb0HG50WN2aYwQooXEBdF46oPTmh8GxxgTWzbQqAXrxxRdb9WCapkkCJAAYEBvCnoNVbNT666XQjitPc5u3nxMdyNpQT2rDDtAgsO8ko8MRHcBs0kjrFU5GTj9OM2/Up1kkATJUsyNAMv3V6Vr11ygrK6uj4xBdTP+YYL7ZnM/qimgu9Q2BunJ9eDdOmuy5k+I9GcRodVQof6L6yLLbrmpYQhjp+x0J0GoY9zujQ+rWml0CnyMboHY2qQESHSI1Vt8fbntRFcSP1g/KNJjbqdq9AoBtXgMwm80GRyM6yvCEUCmEdiNNmiDarEcWisgIUKc5ofmI3Nxc/vvf/5KdnY3FYnG57YUXXmiXwIRnS40NAWBXYSW2tLGY9vysv/GOvdngyERjplz9j2Fe0BCDIxEdaVhCGBttKViVhrksG8oPQEhPo8PqlprtAXRwuz5K7h0I0YMMjK57aXMC9NNPP3H++efTp08ftm/fTlpaGvv27UMpxciRIzsiRuGBekcE4OdtorbeRmHoMOJARoDcUFjJegAqokYZHInoSLEhfgQEh7G9rjeDtf36xcjgWUaH1S0dsPcA8vc2E+HoAeTs/zNK6iQ7UZunwObNm8ef/vQnNm/ejJ+fH5999hk5OTlMmTKFSy+9tCNiFB7IbNLoF633A9Jb8WtQuh8qCowNTBxRnk9YXT5WpaHFSwLUlWmadlRDRJkGM0rjAmhnDyApgDZEmxOgbdu2ce21+o7CXl5e1NTUEBQUxGOPPcYzzzzT7gEKz+VoiLjlkIKYwfpBeeN1H/bprx2qN71iow0ORnS04QmhpNv7AclorHGa3QRVEiBDtDkBCgwMdNb9xMXFsWfPHudtxcXF7ReZ8HiOLTF2FlYcWdkgb7xuQ2Xrv4t0Wz96RwQaHI3oaMMSwshQ9gQofyPU1xgbUDd1ZATIvgKsqhhK7H9HHQtGRKdocwI0fvx4li9fDsA555zDPffcw5NPPsmNN97I+PGykaI4wrEp6vaCiiNXNrIZo9to2L8KgAzVn4QI/+OcLTzd0F5h5KhoDqpQsNXDgQ1Gh9QtNRkBcoz+RA0A/3CDouqe2pwAvfDCC4wbp/8xmz9/PlOnTuXjjz8mKSmJN998s90DFJ7LMQK0r7iKujj7lc2B9dBQZ2BUAoD6WsyFmwDIDRyCr5csge/qQgO86RMZJBujGqxJDyDp/2OYNpeb9+nTx/l5YGAgr732WrsGJLqO6GBfQv29KaupZ5clkrTAKKg6qA+/y4vdWPkbMNnqOahC8eqRbHQ0opMMjQ8l/XA/ZpjXymisQZp0gZb6H8OccCNEi8VCbm4u2dnZLh9COGiaRqqjDqio8sgLXK48jZfjqP/pT2Kk1P90F8MSwlxHgJQyNqBupq7BSmG5PgIeH+4PDRY4kKHfKHvxdbo2J0A7d+7klFNOwd/fn8TERJKTk0lOTiYpKYnkZLmSFK5S7SvBdkghtHuxX3Wm2/rRu0fAcU4WXcWwhDC2qCQseOmjsYdlm6POdKBUb4Do7AFUsBkaavXanx59DY6u+2nzFNgNN9yAl5cXX3/9NXFxcUf6GAjRDEch9I6CChjsGAFao195yv8dYyjlMgJ0Uw8ZAeouBsWFYDX5stmWzCjTLv21GNHn+HcU7aJJDyB7Kwrix4JJdqbqbG1OgDZs2EB6ejoDBgzoiHhEF+NcCl9QAXGTwOQNlYV6U8TwJGOD664OZ0HVQSx4sUUl0TtCRoC6Cz9vMwPjQkgv7G9PgFbDsCuMDqvbcBRAJ0RIAbQ7aHPKOWjQIOn3I1qtv70b9IGyWsoazNBzuH6DNEQ0jv1nv9mWTB0+JMoUWLcyzKUhorwOO5MUQLuXNidAzzzzDPfddx+//PILhw4dory83OVDiMZCA7yJC/UDYFdhxZFCP6kDMk6j6a+IQB+C/bwNDkh0pqHxYWQ4EqDCLVAr79udxaUHUFkulOeBZoZeso+mEdo8BTZt2jQApk6d6nJcKYWmaVit1vaJTHQZ/aKDyC+r5eN1OQRHDCQVJAEyUqMCaBn96X6GJ4RxkHByVRTx2kHIWwcpZxgdVrfg0gMoZ4V+MHYI+EgdnhHanAAtWbKkI+IQXdTizHzS9x8G4JN1uSxFY40fqIItaHUV4BtscITdTG25ftUPZNj6MUnqf7qdlKggAn3MrLP1I958UE+IJQHqFC5TYJv0Tuwy/WWcNidAU6ZM6Yg4RBe0ODOf2xZl0LjTSBHh5KpI4rVi1iz/gbFTLzIsvm4pbx2gKPGJ42BtOL1lBVi3YzZpDIkPJX1/f2aZV8hobCeprW/cAygAslfqNyROMDCq7q3NCdCmTZuaPa5pGn5+fvTu3RtfX9+TDkx4NqtNMf+rrTTXZi3d1p94czEbVnzHqNMvxGyS5fCdJlu/6txqHghAoowAdUvDEsJYnmVviJi7Dmw2WYbdwQ6U6tNfAT5mwk3VzpFYEmQPTaO0OQEaPnz4MXv/eHt7c/nll/P666/j5+d3UsEJz7Umq4T8stpmb0u39eMC8wr6W7axJquECSk9Ojm6bsx+1bmiXv/jlxQpCVB3NDw+jH+pBGrww7+uHA5uh5hBRofVpTUugNby1oGy6a1AQuKMDawba3PK/8UXX9CvXz/eeOMNNmzYwIYNG3jjjTdITU3lww8/5M033+Tnn3/moYce6oh4hYcoqmg++QGcrfhHmnZRVF7dWSEJa71+tQ/8WK03v+sdIVNg3dGwhDCsmFlvS9EPyDRYh3MpgLaPxNJbpr+M1OYRoCeffJK///3vTJ8+3XlsyJAhxMfH8/DDD7NmzRoCAwO55557eP7559s1WOE5ooNbHv3brnpTrXwJ0apJtOUCCZ0XWHeWvwnqq7H6hrGrticBPmYig3yMjkoYIC7Uj8ggX9bV9mOiaYteCD36BqPD6tJcCqCdCZBMfxmpzSNAmzdvJjExscnxxMRENm/eDOjTZPn5+ScfnfBYY5MjiAv1o7nJUitmNtivPIeqHZ0bWHdmn/463GMkChO9IwJkK5tuStM0hieEktF4Y1TRoRwjQL1DvZwjsTICZKw2J0ADBgzg6aefxmKxOI/V19fz9NNPO7fHyMvLIyYmpv2iFB7HbNJ45Dy9puDoP7EakKH0N15T7trODaw7sydA+wKHAJAkK8C6tWHxYWTY7BtwluyBKunw35EcI0ADtX3QUAP+ERDZ39igurk2J0ALFizg66+/Jj4+nmnTpjFt2jTi4+P5+uuvefXVVwHYu3cvv//979s9WOFZZqTF8erskcSGuk6HhQV4M37K2foXcuXZOZRyDrtv1PTEVJogdm/DEsIoJ4h9Wrx+QF6LHcoxApRcZV9J3Xu8bAhtsDbXAE2cOJGsrCw++OADdu7cCcCll17KVVddRXCw3tTummuuad8ohceakRbHmYNiWZNVwj9/2c2yXcWcN6wnoyeNht+AQ7ug6hAEykqwDnVoN1QXg5cfq+sSgFJ6SwLUrQ2NDwVgZX0/krxy9RHCATMNjqprqq23UlSh9wCKLFmvH5T6H8O1OQECCA4O5tZbb23vWEQXZTZpTEjpweFqC8t2FbMmqwQC0iAyFYp36FeeA84xOsyuzdF0rdco9pTUAzIF1t2FBfiQHBnI2pJUrmQJ7F9pdEhd1pEeQCa8D9hH2qT+x3CtSoD++9//cvbZZ+Pt7c1///vfY557/vnnt0tgousZmxwBwPaCCkqqLEQkTtAToOwVkgB1NPv0ly1hPDm77cWY0gSx2xsaH8qaQ3pTTPI3gKVK9qXqAI7prwkhh9EqD4GXH8QNMzgq0aoEaNasWRQUFBAdHc2sWbNaPE82QxXHEhnkS/+YIHYWVrIm6xAzek+E9Hdg/wqjQ+v67D/jkshRWKw2vM0aPcP8DQ5KGG1YfBhfboikxBxFhPUg5K6FPqcZHVaX40iAJvvuhkqg1yjwkh0TjNaqImibzUZ0dLTz85Y+JPkRxzO+j17rs2pvCSRO1A/mb4S6SgOj6uIqCuBwFqCxx1cvgI4PD5AtSATDEsIAjTW2VP2ATIN1CMcKsOFqm35A6n/cgmz+IjrVkQToEIQlQGgC2Br0K0/RMRxN12LSyKowA7ICTOgG9wzBy6Sx3NJPP5Ato7EdwTEC1KdG75Un9T/uodUJ0MqVK/n6669djr333nskJycTHR3N7373O+rq6to9QNG1HF0H5BwFypYrzw7TaNfp/SX6lahsgioA/LzNDIgLZrXNXgeUsxYaLMe+k2iz3MPVRFFKaE0OoEH8GKNDErQhAXrsscfYsmWL8+vNmzczZ84cpk2bxgMPPMBXX33FU0891SFBiq7DUQcEsCbr0JErIakD6jiOBKj3ePYfqtI/lRVgwm5YfBi7VU9qzCF6g778jUaH1OXkHK5hlElvG0PMYPAPMzQeoWt1ArRhwwamTp3q/Pqjjz5i3LhxLFy4kLvvvpt//OMf/Oc//+mQIEXX4loHNEk/mCtXnh2irgIKjgy77z8kI0DC1bD4MBQmMr3su8HLNFi7qq23crCijjEm+7Y/Uv/jNlqdAB0+fNhle4ulS5dy9tlnO78eM2YMOTk57Rud6JJc6oAi+0FAJDTU6stwRfvKWQPKBmGJqOA4su0JUFKkJEBCpxdCwy819m0xpBC6XeXZewCNMzsSIKn/cRetToBiYmLIysoCwGKxkJGRwfjxRzLZiooKvL292z9C0eW41AFV10OiYxrsNwOj6qKcu05P4HB1PRV1DWiavgpMCIC+0UEE+JhZXm/flyp7JdhsxgbVheQeriGQGn0PMJARIDfS6gTonHPO4YEHHmDZsmXMmzePgIAATjnlFOftmzZtIiUl5YQDqa+v5/7772fIkCEEBgbSs2dPrr32Wg4cOOByXklJCVdffTUhISGEhYUxZ84cKitdl1Bv2rSJU045BT8/PxISEnj22WdPOC7R/prWAdkLoeXKs/01qv/ZZ6//iQ3xw8/bbGBQwp2YTRpDeoWyRSXRYPaH2lI4uM3osLqM3MPVDDftxoxNX/UaGm90SMKu1QnQ448/jpeXF1OmTGHhwoUsXLgQHx8f5+1vvfUWZ5111gkHUl1dTUZGBg8//DAZGRl8/vnn7Nixo0ln6auvvpotW7bwww8/8PXXX/Prr7/yu9/9znl7eXk5Z511FomJiaSnp/Pcc8/x6KOP8sYbb5xwbKL9udYB2UeAsleBTXpJtRtrPeSu0z9PnOic/pIO0OJoQ+NDacCL7V56PyDbPqkDai+5h2sYa9qufyHTX26l1XuBRUZG8uuvv1JWVkZQUBBms+sV5CeffEJQUNAJBxIaGsoPP/zgcuyVV15h7NixZGdn07t3b7Zt28bixYtZu3Yto0ePBuDll1/mnHPO4fnnn6dnz5588MEHWCwW3nrrLXx8fBg8eDAbNmzghRdecEmUhLHG9+nBeyv363VAMyeCTzDUlUHRVogdYnR4XUP+Rn1Vj38ERPZn/8bdgOwBJlwtzsznk/RcAL6v7Eua9wZ+/O7/sAWey4y0OIOj83y5h2uYbbKPqCVNMjYY4aLNjRBDQ0ObJD8AERERLiNC7aGsrAxN0wgLCwP0XkRhYWHO5Adg2rRpmEwmVq9e7Tzn1FNPdYll+vTp7Nixg8OHDzf7PHV1dZSXl7t8iI7lUgdUa4OEsfoNshy+/ThqqnqPB01jf4ljCbyMAAnd4sx8bluUQWm1vkHuWqWPAA2xbuW2Rekszsw3MrwuobCklOHaHv2LxMnGBiNcuG0n6NraWu6//36uvPJKQkJCAJz7kTXm5eVFREQEBQUFznMar1YDnF87zjnaU089RWhoqPMjISGhvb8dcZQmdUCOhoiSALWfffYEyN5qwLkEXhIgAVhtivlfbUU1Orbe1heLMhOnlRCvHWT+V1ux2lSLjyGOL7xkE75aPfX+UdDjxOtkRfszLAH64IMPCAoKcn4sW7bMeVt9fT2XXXYZSileffXVDo9l3rx5lJWVOT9kOX/naHZfsP0rQMkb7kmzWY8UQCfpV51HegDJFJiANVkl5JfVuhyrxZdMlQzAWG07+WW1rMkqMSK8LqG23kpq7SYAVOIk0GT/PXdiWAJ0/vnns2HDBueHY1rLkfzs37+fH374wTn6AxAbG0tRUZHL4zQ0NFBSUkJsbKzznMLCQpdzHF87zjmar68vISEhLh+i47n0A+o5Esy+UFUEJXsNjqwLKNgEdeXgGwqxQ6iqa6C4Ut+qRqbABEBRRW2zx9fYt8UYYy/cbek8cXx5pTWMs9f/ePc55Thni85mWAIUHBxM3759nR/+/v7O5GfXrl38+OOP9OjRw+U+EyZMoLS0lPT0dOexn3/+GZvNxrhx45zn/Prrr9TX1zvP+eGHH0hNTSU8PLxzvjnRKi51QBYT9Bql3yD9gE6ec/prApjMZNv3AAsP8CbUX/p1CYgO9mv2uGNneEfn4pbOE8eXV1zGSNMuALQkqf9xN25TA1RfX88ll1zCunXr+OCDD7BarRQUFFBQUIDFom+RMHDgQGbMmMHNN9/MmjVr+O2337j99tu54oor6NmzJwBXXXUVPj4+zJkzhy1btvDxxx/z97//nbvvvtvIb080o+U6IOkHdNL2Ldf/ddb/yB5gwtXY5AjiQv04elJmna0/NqWRYspnUEit80JFtF3t/rX4axbKTWEQlWp0OOIobpMA5eXl8d///pfc3FyGDx9OXFyc82PFiiOFsR988AEDBgxg6tSpnHPOOUyePNmlx09oaCjff/89WVlZjBo1invuuYe//OUvsgTeTTXbD0hGgE6OzXpkP6ej6n+SZPpL2JlNGo+cp+//1TgJKieIHUpv1vfkyHLMJqlbOVG+eXon9tyQ4VL/44Za3QeooyUlJaFaUfwaERHBhx9+eMxzhg4d6lJULdyXSz+g6eNAM0HpfijLg9BeRofnmQq3QG2Z3lspdigA+0tkE1TR1Iy0OF6dPZL5X211KYjeYEpjIDmMsGYaGJ3niz6kNyItjR5rcCSiOW4zAiS6J5c6oAZfiBum3yCjQCfOMf3VezyY9WscZxdomQITR5mRFsfy+8/g3zePZ2TvMABCB52u35glF5InzFpPUvVmAGy9pQGiO5IESBiqSR1Qkn2lRNavBkbl4RzJY6OiS8c+YNIDSDTHbNKYkNKDqQP1nmnL6lMBDYp3QGXRse8smpe/EX9qKVWBhCUNMzoa0QxJgIThXOqAkk/VD+6TK88TYrM1SYAsDTYOlNYAkgCJYxsQGwzA+oMmiEnTD8pr8YTU79V/bmttA4iX3ltuSRIgYTiXfkC9x4NmhsP7oDTb2MA8UdFWqDkMPkHO6cS80hpsCgJ8zEQF+RocoHBn/WP0BGjPwUqsjhFEmQY7IZbd+ij2etNgaT3hpiQBEoZrUgfUa6R+g7zxtp1j9CdhHJj1N13H9FfviAA0WYkijiE+3J9AHzP1VkVB+Bj9oIwAtZ3Nim/+GgCyg0fI685NSQIkDNdiHZC88bad42fWaNdpZwG0rAATx6FpGv3t02CbzYMADQ7thnLZFLVNCjbjVV9JufKnLnKQ0dGIFkgCJNyCax2QoxB6mewL1hY225HNZJOOtN139gCKlDoEcXyOOqDMEhPE6W0UnCsLRevYf17rbKn0igg2OBjREkmAhFtwqQNKGA8mbyjPhcNZBkfmQQ5uh+pD4B0APUc4D2eXHJkCE+J4Uu11QNsLKhqNxsqqzDbJWgrACttg4sP9DQ5GtEQSIOEWXOqA6r0gXt8cV+qA2sBxlZ4w1ln/A7DPsQu8rAATreCYAttZWHFkVaa8DlvPWu8ciZUEyL1JAiTcgtQBtQP7VafzjxZgsynnRqiJshRXtIJjBCi7pJqqmDF6d/bDWVCWa3BkHiIvAyyVlBLMNtWb+HC58HBXkgAJtyF1QCfBZj2SLCaf5jxcWFGLpcGGl0mjZ5js6i2Or0eQL5H2dgm7yk0QN1y/QeqAWsfexPU360AUJhIkAXJbkgAJt+FSBxQ/Fsy+UFmgr0IRx5a/Qd//yzcUeg53HnYUQMeH++Nllpe7aB1HIfSOgnLXixFxfPaR2JW2wQT7ehHi7zZbboqjyDuicBsudUAWk17LAkemdkTL9tp/RkmTwWR2Ht7v6AEke4CJNkiNbVwI7ejOLoXQx1VfAzmrAfjNlkavcH/pAeTGJAESbqPlfcHkyvO4HElin9NcDjtGgGQXeNEWjjqgnYUVR7qzl2bD4f0GR+bmsleB1UKVbzRZKlbqf9ycJEDCrTRbB7RvudQBHUt9rf7GC9BnistN+0tkBZhou1TnFFgF+AY16s4uo0DHZP/57A0eDWiyAszNSQIk3IpLHVCvUeDlD9XFULTN4MjcWM5qaKiFoFiI7O9yU7ZzCbxMgYnW6xcThKZBcaWF4so6SLYn1nt/MTQut2cfiV1vHgIgCZCbkwRIuBWXOqA6DRIn6DfIG2/LnNNfU8Beb2C1KVbuKWZXUQUgb8SibQJ8vJyNM3cWVEDK6foNe3/RO46LpmrL4MB6AJbW69tfyBSYe5MESLiVJnVAfexvvHt+NjAqN+cogLZfpS/OzGfyMz9z5cLV1Nbrf6xueHsNizNlPyfRei4doePHgnegPhpbmGlwZG5q32+gbBCRwsZyfcRVLjzcmyRAwu241AGlnKEf3P8bNNQZGJWbqi2DAxn6532msDgzn9sWZZBfVutyWmF5HbctypAkSLRaauOO0F4++gpDgL1LDIzKjdnrfxoST6W40gIgPYDcnCRAwu241AHFDIbAaKivdi4vFY3sW+686rQG92L+V1tprlzccWz+V1ux2qSgXByfy1J4ODINtkcSoGbZp6IPRo0DkB5AHkASIOF2XOqAquvljfdY9h5Z/r4mq6TJyE9jCsgvq2VNVknnxCY8mmMKbFdhBTabOjIdnb1SX3kojqgohKKtAOwJ0jcilh5A7k8SIOF2pA6oDRoVQBdVtO6PUmvPE91bUmQgPmYTVRYreaU1EJUKwXH6isPslUaH514c701xw8mq1ut+pADa/UkCJNySax2QPQHK3whVhwyMys2U58PB7YAGSacQHdy6vb5ae57o3rzNJlKi9QuRHQUV+gpDx8WI1AG52vOT/m/KGeQePrL9jHBvkgAJt+RSBxQcC9GDAAVZvxgal1txvOn2HAEBEYxNjiAutOXkRgPiQv2cU4xCHE+qfSR2R6HUAbXIZjvy8+g7ldzDNYAkQJ5AEiDhllzqgKosR1aDyRvvEbvtCVDfaQCYTRr3zxjQ7KmOSoRHzhuE2SR1CaJ1UmNDgEaF0I6tVgo2QVWxMUG5m4JNensAnyCIH9soAZIpMHcnCZBwSy3XAS2RbTEAbNYjdQf2BAhg3X69wPnoHCc21I9XZ49kRlpcZ0UouoDUWP01uNORAAVFQ0ya/rk0J9U5RmKTTwUvH/LsU2AJETIC5O5kjZ5wW+P79GBnYSWr9pYwY8ZEMPtAeS4c2g2R/YwOz1gH1kNtKfiG6luGAL/uPMiiVdkAvHvDWLzMJooqaokO1qe9ZORHtJVjBGjPwUosDTZ8vEz6KFBhpl4HNOQSYwN0B7vtFyIpZ1BjsTp7AMkIkPuTESDhtlzqgHwC9F2pQVaDAez+Uf835TQwe1FWU899n24C4LoJiZzSP4oJKT24YHgvJqT0kORHnJCeoX4E+3rRYFNkFVfpB53T0b/IaGxdxZH+ZClnkFeqj/4E+3kR6u9tYGCiNSQBEm6r5TogSYCc9T8pUwGY/9UWCsprSY4M5IGzBxoYmOhKNE2jv7MhYrl+MHEiePnpo7EHdxgYnRvYtxxs9RCeBD1SyJH6H48iCZBwW03qgBwJUNay7r0tRnUJ5K3TP+87le+2FPB5Rh4mDZ6/dBj+PmZj4xNdiqMj9A5HHZC3PySdon++63uDonITR12IyAowzyIJkHBrjmmwL9bn8WVBDyz+0VBfpe8N1l3t/UXf/iJqAMXmKB78fDMAt0xJYVRiuLGxiS7H0RF6p2MpPEC/s/R/u3sC1Kj/D0BuifQA8iSSAAm35uul/xf9bkshd368kS8qBgGwb+UXRoZlLPubrkqZykNfZHKoysKA2GD+OK2bF4aLDtFkTzCAfmfq/2avhNpyA6JyAyVZULIXTF76CjCQJfAeRhIg4bYWZ+azcFmWy7GfbcMBUDu/7547myvlHHZfoQ1j8ZYCvM0af7tsGL5eMvUl2p9jBCj3cA2VdQ36wYhk6NEXbA3ddzm8Y/QrYRz46avlpAu0Z5EESLglq00x/6utTY7/ZkvDoswkmwp488sfu9/O5kVboSIf5eXPHSv1q8w7p/ZjcM9QgwMTXVV4oA/Rwb6ATIO52LlY/7f/DOchqQHyLJIACbfU0s7mlQSw1qZ3O06rXt39dja3v+lu8BrKoVoTwxLCuHVKisFBia6uSSE0HJkG2/VD91sOX1eprwADZwJUbWngUJX0APIkkgAJt3SsHcuX2KfBTjdt6H47m+/QE6BPKtLw9TLxt0uH4WWWl7HoWI5pMJcEKHESeAdAZYG+HUR3svcXsFogPNnZlDXPPvojPYA8h7xzCrd0rB3LHQnQONM2Yv2snRSRG6g8iMpdC8BP1hHcN2MAfe27dQvRkZodAfLyPbI3WHebBms8/aXpTUalANrzSAIk3JJjZ/Pm+hfvUT3JtkXhqzUwWnWfK0/bzu/QUGy2JZHcpy83TEwyOiTRTQywb4nhUgMErtNg3YXNdiTh63+W87AUQHseSYCEWzKbNB45T1/y3jQJ0vjZNgIAUze68ty/8jMAftVG89wlwzDJ9haik/SNDkLT4FCVhYMVjZqQ9rUnQLlr9Qad3UH+Bqgs1Hd/T5zkPCwF0J5HEiDhtmakxfHq7JHEhrpOhwX7ebHEngBVbP4fymYzIrwOZ7UpVu45xJcb8vhs9R6iilYA0HfyJSREyDC76Dz+PmaSegQCR02DhSVA9GC9MefO7wyKrpM5vs+U0/VpQDuZAvM8shu8cGsz0uI4c1Asa7JKXHY2/3B5b6p/eomQ+oO8/p8v+N3lF6FpXWdEZHFmPvO/2upcCXeqaSMX+9RySIvgrKnTDY5OdEf9Y4LIKq5iR2EFk/tFHrlhwEwo2gLbv4bhVxoXYGdpZvk7HJkCS5ARII8hI0DC7ZlNWpOdza85dSDFsfp+RJbM//LgF5nYukhPoMWZ+dy2KMOlDcBUUwYA39UP57uthUaFJrqxVHsd0I6Cozo/DzxX/3f3T2Cp7uSoOllFgT4FBkf6INnJCJDnkQRIeKzeEy8DYLppLf9ek829n27y+MaIjgaQrt+FYqp5PQA/2UYy/6utHv99Cs8zwLESrLDS9YbYoRCaAA01J9QVuvFU78o9h9z7//aOb/V/e46EoGjn4cY9gHrJCJDHkCkw4bn6nwUmL/qTR4qpgM8yoN5q44XLPLc3TnMNIAdoOcRrxdQoH5bb0qgrq2VNVgkTUnoYFKXojvrbewHtKqzAZlNHivA1TZ8GW/0abP8GBpzT6sc8eqoXIC7Uj0fOG8SMtLh2jb9dbP9a/9cx6mXn6AEUIj2APIpn/pUQAsA/HJL0abAFIw/gZdL478YD/OHf67E0eGZhdHONHc8yrQPQkx98WjxPiI6U1CMAHy8T1Rarc7rHacBM/d8d/wNrQ6ser7mpXoCCslpuW5Thfnv91ZTC3qX65wPPd7lJpr88kyRAwrPZ33gHlC7ltdmj8DGb+DazgNsWpVNbb/Ws4XWabwB5tnk1AN/ZxhzzPCE6kpfZRN8ovfHm9qPrgHpPBL8wqCmBnNXHfazmp3p1jmNuN9W763uw1UPUAGf3Z4cc6QHkkSQBEp7NceWZu5Zp8TYWXjcaXy8TP20v4sJ//sakp3/iyoWruPOjDVy5cBWTn/nZ/a4sGzm6AWSSls9AUw71yswP1lFo6FMEY5MjjAxTdFMDmusIDWD2gv9v787joqzXx/+/ZgYGlFVkVwRXUBH3Nc0lFyzNTpuaWlrZL1upTqfl9/m41PmkdjqVdUzP6aRYkVq5tKrlgppLKq64oCK4IIqK7LLN3N8/bhkdWQcGhoHr+XjMg5l77rnv680t43W/19DR6vMTv1R6nPLW+iuhAKk3m3rrjeM/qj87ji31ltQA2SdJgIR9cw+EFr3U5wm/MLiDD0un9Uav03I8NZtLWQVmu9fb6vWbSiaALLnvHa1Vl77YZexEFurd96yxndDJJIjCBkxLYtw5IzTcuhk58XOli6NWtQm33jT1FubBqY3q8zITIKkBskeSAAn7V9Ih8bjaQbFv6+a4OZfdv7/eVq/fJjI8gIl9gtTnuj0ArDP2wd/DmUWTe9TPzqGiUehQXg0QQNth4OAMGWfhcnyFx6lqE269aepN3KSOcvNspY56u4PMAm2fJAES9i/s5h1Z8na4cZ09SemmIallqZfV63e4kl1IC67QVXsGBS0PTvz/+OONYZL8CJsqaQJLuppLQfEdCxHrXaDdcPX50bUVHqeitf6A+tfUe/wn9WfH+02Ln95OmsDskyRAwv55twOfjmAshhO/2l/1+h0Kig3sTLxqqv3RBA+gd3ioNHsJm/N3d8bN2YFio8KZK7mld+j8F/Xn0dUVNoPd2dR7J4V61NRbXAAJN2d/LqP5K7egmHSZA8guSQIkGobwB9Wf8avsr3r9DvuSr5NXaOB+vTr8nU7jbBuQEDdpNJryO0KDujyEQxNIPwOphyo8VmR4AOO6BZb5nmcTR4aE+pb5nrVVOlL09CYoyARXf2jZu9TnUzJkDiB7VW8ToGeffRaNRsPHH39stj09PZ1Jkybh7u6Op6cnTz31FDk55jOTHj58mEGDBuHs7ExQUBDvv/9+HUYubCL8IfXnmVj6+Brtq3r9DrEJafhzja5KgrrhjknXhLClCjtCO7mqE5SCWgtUgWKD0dQM/dyQtiyY0I1lT/Ym0MOZjBtFLNuZbM2wy7Q+PpWB8zdXPFI0/nv1Z/iDoNWVOsatDtDS/GVv6mUCtGbNGnbv3k1gYOm7g0mTJnH06FF+//13fv75Z7Zt28Yzzzxjej8rK4uRI0cSHBxMXFwc//jHP5g9ezb/+c9/6rIIoq41bwsB3UAxoDvxA7PGdgIoNwmqN9XrZYhNuMJY3S71RasB6kg3IeqJUL8KaoAAOpfUxq6psBnst2OXSc3Mx9tVz8vD2zOuWwsGd/Dl1ZGhAHwWm0jmjSKrxn67Kk3EWJh7a/mL8IdLHcNgVNh+6ioATfW6ejuwQpSt3iVAKSkpvPjii8TExODoaF6dePz4cdavX89///tf+vbty8CBA/n0009ZsWIFFy9eBCAmJobCwkKWLFlC586dmTBhAi+99BIffvhhuecsKCggKyvL7CHsUEktUPxqIsMDWDS5B/4epZu53hodVm87E6dk3OBUWg4P6HaoGyIesW1AQtzh1qKo5SRA7UeC3hUyz8GFfeUeJ/pmDc/EPq1wcrhVs/KX7i3o4OdK5o0iFm9NtFrct6vqRIzGE79CUR40aw0tepjtV1J7tHSHWo59Z6/X+3nGhLl6lQAZjUamTJnC66+/TufOnUu9v2vXLjw9PenVq5dp2/Dhw9Fqtfz555+mfe6++270er1pn1GjRpGQkMD169fLPO/cuXPx8PAwPYKCgqxcMlEnSvoBnd0JmSlEhgfwxxvDWD69HwsmdGPAzbWzTpRVdV9PbE24QjvNBTprz4LWETo9YOuQhDBTUgOUknGD7Pwyamj0TW9NilhOM9jx1Cz2JKXjoNUwqW+w2Xs6rYbXR4UBsHRHEpezrD9YoaoTMZ7ZsgyA623Gkl1QjHKzRsvulvEQZapXCdD8+fNxcHDgpZdeKvP9S5cu4etr3jHOwcEBLy8vLl26ZNrHz8/PbJ+S1yX73Omtt94iMzPT9Dh//nxNiyJswaMltOoPKHB0DaB+mfZv25xx3Vrwt0j1S/WnQxfr7Qiw2IS0W7U/7YZD0/rZT0k0Xh5NHfF3V2tWT5Z3M1HSDHZ0DRgNpd4u6d8zKty/zFra4R196RXcjPwiIx9vPGWVuG9Xlb9/D3Jolb4TgEd3tqTL7N/oNHMDd7+/mReXH7CvZTxEmWyWAMXExODq6mp6bN26lQULFhAdHY2mjHkWapOTkxPu7u5mD2GnTM1g35d6q1uQJz2Dm1FkUPh697k6DqxyhcVGdpy+wjit+qUrzV+ivjJ1hL6UU/YO7e4BZw/IToWkbWZvZeQVsvZgCgBTB4SU+XGNRsMbo9Ublm/3nefMlXLOU01VGQEaqduLXmMgURtMqj4EgBtFBs6l36DIUH5yYw/zjAmVzRKg+++/n4MHD5oeO3fuJC0tjVatWuHg4ICDgwNnz57ltddeIyQkBAB/f3/S0tLMjlNcXEx6ejr+/v6mfS5fvmy2T8nrkn1EA9bpAdA6wMUDkHai1NtP3tUagJjdZ8kvKn1nakv7zqYTWnSCIO0VFL0rdBht65CEKNOtBKic/pIOTrc6DR/8xuytlXvPk19kpFOAO72Cm5V7jt4hXtwT5ovBqPDP305aJe4SfVp70VRfekRXCQ3wiF4diNB26BPEzxnFsXdGEfvXIbx0T/tyP3e7+lrLLG6xWQLk5uZGu3btTI9nnnmGw4cPmyVFgYGBvP7662zYsAGA/v37k5GRQVxcnOk4mzdvxmg00rdvX9M+27Zto6joVtv077//TmhoKM2alf/HJhoIVx+1EybAwa9LvT2qsx+BHs5cyy3kx4MX6zi4im09ecXU/KUJG6P2pRCiHjKNBKuoP123SerP4z9Bfiagdj7+avdZQK39qay2//XIUDQa+OVIKocvZNQ47hI/HbpIXmHZN0AaoKUmjV5KvPqqi1oT21TvQIi3C/3bNK/SOerrPGPilnrTB6h58+aEh4ebPRwdHfH39yc0VB0W2bFjRyIjI5k+fTp79uxhx44dvPDCC0yYMME0ZP6xxx5Dr9fz1FNPcfToUVauXMmCBQt49dVXbVk8UZdKvngPrQSDeSdNB52WJ25Wuy/ZkWTq1Fgf7DyRwv06af4S9V/obZMhlvs31KIHeIeqa2jdXBpj0/HLXLh+g2ZNHbm/nEkQbxfm785furUAYP760jW61XHycjZvrT4CwL3h/gTc0QfJ38OZpd1u9jtqfbe6/tdt7G4ZD1GuepMAVVVMTAxhYWHcc8893HvvvQwcONBsjh8PDw9+++03kpKS6NmzJ6+99hozZ840mytINHAdRkFTb8hNg9MbS709oXcrmjjqOHEpm12J12wQYGmpmTcIubIFT00uRrcW0GaorUMSolztfF3RauB6XhFXcgrK3kmjgW6Pqc8PLQdg2a5kAMb3boWzY/lNULd7ZUQH9DotO05fY/upKzWKO6egmGe/juNGkYGB7bz59LEeZiNFl0/vxx9/G0K7izfX/uo+pdQxSpbxgNLzjJW8rs/zjIlbyl4yu55ITk4utc3Ly4tvvvmm9M63iYiIYPv27bUU1S0Gg8GsqU1YxtHREZ2ual+CFtE5QsR42L0QDnx9a0juTR5NHXmkV0u+3HWWJTuSGNDO2/oxWGhrwhUe1cUCoO0+qcwZZ4WoL5wddYR4u3DmSi4Jl7LLb+6JGA+b5sC5XSSfPMyO09fQamByv1Zl71+GIK+mTOrXiqU7kpm//gR3tfVGW43kQlEU3lh1mDNXcvF3d2bBhG6mJKV/29uatc5sVecwcvIodxb2knnG5vx0zGwovL+HM7PGdqq384wJc/U6AaqvFEXh0qVLZGRk2DoUu+fp6Ym/v7/1R/51n6QmQCfXQ+5VcDFPcqYOCOHLXWfZdCKNpKu5tPZ2se75LXQk/ggTdPHqi+6TbBqLEFUR6udmSoAGtfcpeyf3AGh7D5z+neRNnwORjOjkZ/GyES8Mbcd3+y4Qn5LFr/GpjImwfHb06J3J/HI4FQethoWTetDc1ansHQ/GqD/DHwTH8hc3jQwPYEQnf/YkpZOWnY+vm9rsJTU/9kMSoGooSX58fX1p2rRpnQ/bbwgURSEvL880qi8gwMp3TH6d1aUxUg/C4ZXQ/3mzt9v4uDIszJfNJ9KI3pHEnHHh1j2/BYoMRlqeXQ0ayA4ciFuzEJvFIkRVhfq7sS7+UvkzQpfo9hic/p2Ol37CgeGmPniWaO7qxPRBbfho40k+2JDAqM7+OOqq3oMj7ux1/u+X4wC8fW9HepY3+uzGdTj2o/q8++RKj1syz5iwT5IAWchgMJiSn+bN5R9+TTRpot5dpaWl4evra/3msO6T1QRo31Lo95zaJ+E2T97Vms0n0vgu7gKvjgy12UrO+5Oucj9bAHDpN80mMQhhqSqNBAMIG8MNvRd+hek87nWc/m3ur9b5nh7Umi93JZN8LY+Ve88zuV9w5R8CruUU8MI3+yk2KtwXEcC0u0LK3/ngcrXTtm9naNGzWnEK+2F3naBtraTPT9OmMkTZGkp+j7XSlypivLom0bVTcCa21Nt3tWtOqJ8beYUGvt1ru9m/U/asoYXmGrlad7Sy8ruwEyUjwU5ezsZYwazHRq0j3yvDAJjeZHO1a8xdnBx4cVg7ABZsOkVeYXGlnzEYFaJWHiQ1M582Pi7Mfyii/PMbjbD3v+rzPk+XumESDY8kQNUkzV7WUau/R2d36DpRfV7yxXbHuZ8cGAKo/QOKDcbai6UCbc6o8xWltHkUHGXuEGEfgpu74OSgJb/IyLn0vHL323ryCouzB2FAQ8C1P+FK9Sc1fKxvMEFeTbiSXWBahLQiCzadYvupqzRx1LF4ck9cnSpo9DizBdITwckdujxa7RiF/ZAESDRsvZ9Wfyb8Chmla3nGdWuBl4uelIwb/H7scqn3a9vVMwfpVnwYg6LBZ9hzdX5+IapLp9XQ3s8VgBMV9AOK3plMCj6c9hyobti3pNrn1DtoeW2EOi/c4thErucWlrtvbEIan25W5/OZ+2AXOtxssivX3i/Un10ngpNrtWMU9kMSIBsyGBV2JV7jh4Mp7Eq8Jovn1QbfMHUyM8VY5hevs6OOSX3VIblf/JFU19GRGfsvAP506k+zwLZ1fn4haiLUT103sbxFUc9cyWHryStoNNDs7hnqxoPfQEEl/YYqcH/XQDoGuJNdUMyirYll7nPheh5RKw+iKOqQ+we6t6j4oBnn4OQ69XnJTZNo8CQBspH18akMnL+ZiZ/v5uUVB5n4+W4Gzt/M+vjUWjvn1KlT0Wg0aDQaHB0d8fPzY8SIESxZsgSjserNP9HR0Xh6etZanFbXe7r6My4aCnNLvT2lXzCOOg37zl7n0PmMuovrRgYtz6sTrl3o8HjdnVcIKwn1V2tKyhsJ9uUuddmLYaG++HYbDc3bQ0Em7P+y2ufUajX8LVKtBYremczFjBtm7xcUG3g+Zj8ZeUVEtPTgf8d0qvyguxepN0mtB4NPh2rHJuyLJEA2sD4+lRlf7zebQAvgUmY+M77eX6tJUGRkJKmpqSQnJ7Nu3TqGDh3Kyy+/zJgxYygurrxToV0KvReahcCNdHVixDv4ujsz9ua8Ikt31F0tkGHPf3FS8jluDKJd71F1dl4hrCXUX60BKmskWE5BMd/HXQDg8QEhoNXCgBfVN3d9VmqZGksM6eBD39ZeFBYb+fD3BLOa9Hd+OsahC5l4NHFk4WM9cHKoZHRpXjrELVOf3/VStWMS9kcSICtQFIW8wuIqPbLzi5j141HKauwq2Tb7x2Nk5xdV6XiWrmXl5OSEv78/LVq0oEePHrz99tv88MMPrFu3jujoaAA+/PBDunTpgouLC0FBQTz33HPk5OQAEBsby7Rp08jMzDTVJs2ePRuAr776il69euHm5oa/vz+PPfaYaZ4fm9I5wICbX2w7Py3zi3fazVXifz6cyuWsOljFuTAP467PAPhK9wBdg2ShXmF/wm6OBEu6mktBsfnioqv3XyCnoJg23i4MKpltPWI8uPhC1gWIX13t82o0Gt4YHQbA93EpZjXpMX+eA+Dj8d0I8qrCaN19X0BRLvh1USdtFI2GzANkBTeKDHSaucEqx1KAS1n5dJn9W5X2P/bOKJrqa3YZhw0bRteuXVm9ejVPP/00Wq2WTz75hNatW3PmzBmee+45/va3v/HZZ58xYMAAPv74Y2bOnElCQgIArq5qNXhRURHvvvsuoaGhpKWl8eqrrzJ16lR+/fXXGsVnFd0eg9i5kHle/eLtOt7s7S4tPegT4sWe5HS+2nWWv44Krd14DnyNY/41zht9yA0bJ7PHCrvk6+aERxNHMm8UcToth86BHoB6U7hsZzIAj/cPvrV0haMz9HsWNr0DOxZAxKPVHm6eVsmNyp0JWZmKbsDuxerzu16Woe+NjNQACQDCwsJMa69FRUUxdOhQQkJCGDZsGH//+9/59ttvAdDr9Xh4eKDRaPD398ff39+UAD355JOMHj2aNm3a0K9fPz755BPWrVtnqj2yKccm0O9mJ8wdH6tzftyhZEh8zJ9nyS+qwpdndRUXql/+wGLDWO4OlXWDhH3SaDRm8wGV+OP0VRKv5OKi1/FQz5bmH+r1JDi6QNpROFm9G0eDUWHOT8fKjwuY89OxygeWHPga8q6CRyvo/JdqxSLsl9QAWUETRx3H3qlaH449SelMXbq30v2ip/WmT2uvKp3bGhRFMc3Js3HjRubOncuJEyfIysqiuLiY/Px88vLyKpwAMi4ujtmzZ3Po0CGuX79u6lh97tw5OnWqQkfE2tbrKdj+EaQdg+M/QucHzN4e0cmfls2acOH6DdYcSGFin6ov2GiRI99C1gXSFE++N9xNVIdy1lESwg6E+rmxJyndbCh8Se3Pwz1b4uZ8xwzrTZqpEw3uWABb/g7tR6r9gyywJym9VB/K2ylAamY+e5LSy1+qougGbP+n+vyul9SmctGoSA2QFWg0GprqHar0GNTehwAPZ8qraNUAAR7ODGrvU6XjWWsiwePHj9O6dWuSk5MZM2YMERERrFq1iri4OBYuXAhAYWH5c27k5uYyatQo3N3diYmJYe/evaxZs6bSz9WpJp631gTb/HcwmHf61mk1TL25TtGSP5Is7l9VJcUFEDsfgM+L76VDCx983MpZlFEIO2CqAbqZAJ27lsemE2rfv8fLW/frrijQu8GlI+rNiIXSsqvWT6/C/fb+F7JTwSMIesgozMZIEqA6ptNqmDVWrQ25M3UpeT1rbKc67ROyefNmjhw5wkMPPURcXBxGo5F//vOf9OvXjw4dOnDx4kWz/fV6PQaDeRPRiRMnuHbtGvPmzWPQoEGEhYXVjw7Qd+r/PDRtri6PceibUm8/2jsIF72OU2k5/HH6qvXPv28JZJ4jQ+fNl4aRDAmV2h9h30o6QpcMhf9qdzKKAoPae9PWp5wJBZt63boZ2fIeGC1rcvZ1q9qM6eXul58F2z9Unw95ExzkJqQxkgTIBiLDA1g0uQf+HuZ/nP4eziya3IPI8NrrE1JQUMClS5dISUlh//79vPfee4wbN44xY8bw+OOP065dO4qKivj00085c+YMX331FYsXLzY7RkhICDk5OWzatImrV6+Sl5dHq1at0Ov1ps/9+OOPvPvuu7VWjmpzdodBr6nPY+dBkfkdoruzI4/0CgLUWiCrKsiGbf8AYIHhIQrQM1iav4Sda39zhuWLmflczspn5c119aZWtup7/+fA2ROuJsDhlRads09rryrVpJfbjWDXQnVajObtIWKCRecWDYckQDYSGR7AH28MY/n0fiyY0I3l0/vxxxvDajX5AVi/fj0BAQGEhIQQGRnJli1b+OSTT/jhhx/Q6XR07dqVDz/8kPnz5xMeHk5MTAxz5841O8aAAQN49tlnGT9+PD4+Prz//vv4+PgQHR3Nd999R6dOnZg3bx4ffPBBrZal2no9Be4tISsFdv2r1NtTB4Sg0cCWhCskXrFiB+5tH0DeNfLd2/Bl/kDcnR3oFuRpveMLYQMeTRwJcFdrUF74Zj9Z+cUENWvCkFDfij/o7AEDX1Gfb5xj0ezQNapJz7wAOz9Rnw99W/r+NGIapVY6Oti3rKwsPDw8yMzMxN3d3ey9/Px8kpKSaN26Nc7OsnBlTdns93loJax5BhyawAt7wTPI7O2nl+1j4/HLTOkXzLsPhNf8fFdOwqL+YCxmTdg/eeVgAPdFBLDwsR41P7YQNrQ+PpWXVxykoPjWyEo3Zwf+8XBE5Td0xQXwWT9IP6PO1TXSslrj9fGpzPnpmFmH6AAPZ2aN7VT+ub+bCkfXQKv+MG2dDH1vYCr6//tOkvqKxiniUXVpjHM7YcNbMN58huinBrZm4/HLfLfvPHd38Cav0ICvm1qlbnH/LEWBda+DsRg6RLL0ahiQyRBp/hJ2rmRW+zvvonPyi5nx9f7Km/QdnCByHnzzqLocRffJ4FP1ObgiwwMY0cmfPUnppGXnV/43emarmvxotHDvPyT5aeSkCUw0ThoN3PcBaHRw/Cf1cZt+bbxo4dmE/GIj07+Mq9l6bQdj4Ews6JxIv/sdDl/IBGCwdIAWdqxkLp6KZrWv0lw8HUZBh0gwFsHaGaVGZ1ZGp9XQv21zxnVrQf+2zctPfgpy4MebS3H0fhr8u1h0HtHwSAIkGi+/zrfW/vkpCnKumN7acPQSKXcssgjVWK8t4xyse1N9PvQtYtNcAOgc6F7lkSxC1EeWzMVTqfs+BCcPSImDXZ9aL8jb/f6/kHFWHfY+7H9r5xzCrkgCJBq3IW+BX7g6G+yPL4KiVDjLrEV3toZiWPscFGZDUF8Y8BJbT6pJloz+EvbOKnPxlPBoAZE3B1tseQ9S9tcgsjKc3KBOQQEwbqE6GlQ0epIAicbNwQn+8m/Q6eHkOtj+gfXubDfNhuTt6rT/DyzCgJZtNxOgSkfICFHP1Xgunjt1ewzCxoChEL59HHKv1SC621xLhFXT1ed9n4U2g61zXGH3JAESwj8c7r05ZH/z/6E9WbXFWyu8sz38nbryPMADC6F5Ww5fyOB6XhFuzg70aOVZs5iFsLEaz8VT6gMatXbGq426aPH3U9VRYjWRnwkrJ0NBJrTsAyPq4dxkwmYkARICoOcTasdIFHrve43+2qOVfqTcO9uEdbD2WfX5wFdMiyzGJqi1P4Pae+Ogkz89Yd9qZVb7Jp4wPkatNU3aBquesrhTtElhLsQ8oq795+ILj34JDvrqHUs0SPItLESJyHnQIRKtoYAl+g+4Sxtf7q4ueh09g5uVfiNhnVp9byyG8IfNOlvGljR/dZDmL9Ew1Mqs9n6dYEKM2ix9/Cc1CSoqPSChQjcy4JvxcP5PdcLFyavAvXYnmRX2R+YBEqKEzlG9S1zxGE1ObyTacT5/L57MMsNI7rzHzS008OzXcSyY0E1d7dpoUGeX3TgHUKDjWLVvkVYHQHpuIYcvZABwt3SAFg2IxXPxVEXbofDwUvjuCTi2Vp29efxX4B5Y+WfTTqifu3IC9K4weTUERFQ/FtFgSQ2QYMiQIURFRdk6jPrBwUmtgu/yCI4aA3Mcl/G143t01iQDap+G6YNa4+SgZfOJNB5etIvLR7fD0nth42xAgZ5T1S/v26bY337qCoqiLhx5592yEPauynPxWKLjGJiyVl0vLGUfLOwLuxeXWr/PpCAbYufDv+9Wkx+3AJj6C7TsVfNYRIMkNUCNyNSpU1m2bFmp7X/++ScdO3Y0vQ4JCSEqKqrxJkWOzvDg59CiJ8rGOQzkKL/o3ibLpyeunUeh9WrD5KY5/LZ9J72v78PvuzPq5/SuMOr/oMcTpWaYLen/I6O/hLBA60EwfTOsnq7OEbT+DXVB4bD7ILC7Opw9Lx0u7IMTv6hTTgC0GwHj/gVu/raNX9RrkgA1MpGRkSxdutRsm4+PDzqdzkYR1VMaDfSbgab9SIidC0e+x/1KHMTGARAMTAfQQrGiZa1yN26D/39G9exT6lBGo3Lb8Hdp/hLCIs3bwlO/Q9xS2P4RZF2A/cvUR6l926kLnHZ+UJa5EJWSBMgaFAWK8mxzbsemFv2hOzk54e9vflc0ZMgQunXrxscff8yQIUM4e/Ysr7zyCq+8oq7U3KjXy23eFh76L4x4B47/DBf3q/0RADxbUeDXnbePB7PqZBH8dIWXchOIGt4B7W1NAEdSMrmWW4irk0PZHaeFEBXT6tRRmj2eUEeHJW6GqyfVztF6F3VW93Yj1AlHtdKzQ1SNJEDWUJQH71Whc15tePui+gVgJatXr6Zr164888wzTJ8+3WrHtXvugdD3mVKbnYB/9FXw2ZDA4q2JfLL5NIlXcvngka7oHbTsSUrnq13JAAxo64WjDH8Xovp0jtDuHvUhRA1JAtTI/Pzzz7i6uppejx492ux9Ly8vdDodbm5upWqKRNm0Wg1vjg6jrY8Lb685wi9HUom/mMmNQgNp2bcmcvsz6Trr41OrNzRYCCGEVUkCZA2OTdWaGFud2wJDhw5l0aJFptcuLi5MnDjR2lE1So/0CqKVV1OejN7L2Wulm0QzbxQx4+v91Z8fRQghhNVIAmQNGo1Vm6Fqk4uLC+3atbN1GA1WrxAvmuodyC00lLvPnJ+OMaKTv3WGCgshhKgW6ZAgStHr9RgM5f8HLsq3JymdKznlr19U5YVUhRBC1CpJgEQpISEhbNu2jZSUFK5evWrrcOxKhQukVmM/IYQQtUMSIFHKO++8Q3JyMm3btsXHR+atsUS5C6RWcz8hhBC1Q/oANSLR0dFlbo+NjTV73a9fPw4dOlT7ATVAfVp7EeDhzKXMfMqaPUmDulBkn9ZedR2aEEKI20gNkBBWpNNqmDW2E3Dn8qm3Xs8a20k6QAshhI1JAiSElUWGB7Boco9Si576ezjLEHghhKgnpAlMiFoQGR7AiE7+7ElKJy07H183tdlLan6EEKJ+kARIiFqi02ro37a5rcMQQghRBmkCq6ZGvUCoFcnvUQghhC1IAmQhR0dHAPLybLT6ewNT8nss+b0KIYQQdUGawCyk0+nw9PQkLS0NgKZNm6LRSL8OSymKQl5eHmlpaXh6eqLT6WwdkhBCiEZEEqBqKFklvSQJEtXn6ekpq84LIYSoc5IAVYNGoyEgIABfX1+KiopsHY7dcnR0lJofIYQQNiEJUA3odDr5D1wIIYSwQ9IJWgghhBCNjiRAQgghhGh0JAESQgghRKMjfYDKUDI5X1ZWlo0jEUIIIURVlfy/XZVJdiUBKkN2djYAQUFBNo5ECCGEEJbKzs7Gw8Ojwn00iqxFUIrRaOTixYu4ublZfZLDrKwsgoKCOH/+PO7u7lY9dn3Q0MsHDb+MUj7719DLKOWzf7VVRkVRyM7OJjAwEK224l4+UgNUBq1WS8uWLWv1HO7u7g32HzY0/PJBwy+jlM/+NfQySvnsX22UsbKanxLSCVoIIYQQjY4kQEIIIYRodCQBqmNOTk7MmjULJycnW4dSKxp6+aDhl1HKZ/8aehmlfPavPpRROkELIYQQotGRGiAhhBBCNDqSAAkhhBCi0ZEESAghhBCNjiRAQgghhGh0JAGqQwsXLiQkJARnZ2f69u3Lnj17bB1SlVgS9+eff86gQYNo1qwZzZo1Y/jw4aX2nzp1KhqNxuwRGRlZ28WwiCVljo6OLlUeZ2fnOoy2cpaUZ8iQIaXKo9FouO+++0z72MM1LMu2bdsYO3YsgYGBaDQa1q5da+uQKmVpzKtXr2bEiBH4+Pjg7u5O//792bBhg9k+s2fPLnX9wsLCarEUlrG0zLGxsWX+m7106VLdBFwJS8tT1t+XRqOhc+fOpn3q+zUsy9y5c+nduzdubm74+vrywAMPkJCQYLN4JAGqIytXruTVV19l1qxZ7N+/n65duzJq1CjS0tJsHVqFLI07NjaWiRMnsmXLFnbt2kVQUBAjR44kJSXFbL/IyEhSU1NNj+XLl9dFcaqkOtfK3d3drDxnz56tw4grZml5Vq9ebVaW+Ph4dDodjzzyiNl+9fkalic3N5euXbuycOFCW4dSZZbGvG3bNkaMGMGvv/5KXFwcQ4cOZezYsRw4cMBsv86dO5tdvz/++KM2wq+W6l6nhIQEszL5+vrWUoSWsbQ8CxYsMCvH+fPn8fLyKvU3WJ+vYVm2bt3K888/z+7du/n9998pKipi5MiR5Obm2iYgRdSJPn36KM8//7zptcFgUAIDA5W5c+faMKrK1TTu4uJixc3NTVm2bJlp2xNPPKGMGzfO2qFajaVlXrp0qeLh4VFH0Vmuptfwo48+Utzc3JScnBzTtvp+DasCUNasWWPrMCxS3Zg7deqkzJkzx/R61qxZSteuXa0XWC2qSpm3bNmiAMr169frJKaaqM41XLNmjaLRaJTk5GTTNnu6huVJS0tTAGXr1q02Ob/UANWBwsJC4uLiGD58uGmbVqtl+PDh7Nq1y4aRVcwacefl5VFUVISXl5fZ9tjYWHx9fQkNDWXGjBlcu3bNqrFXV3XLnJOTQ3BwMEFBQYwbN46jR4/WRbiVssY1/OKLL5gwYQIuLi5m2+vrNRTmjEYj2dnZpf4GT506RWBgIG3atGHSpEmcO3fORhFaT7du3QgICGDEiBHs2LHD1uFYzRdffMHw4cMJDg42227v1zAzMxOg1L/NuiIJUB24evUqBoMBPz8/s+1+fn71po26LNaI+4033iAwMNDsP+DIyEi+/PJLNm3axPz589m6dSujR4/GYDBYNf7qqE6ZQ0NDWbJkCT/88ANff/01RqORAQMGcOHChboIuUI1vYZ79uwhPj6ep59+2mx7fb6GwtwHH3xATk4Ojz76qGlb3759iY6OZv369SxatIikpCQGDRpEdna2DSOtvoCAABYvXsyqVatYtWoVQUFBDBkyhP3799s6tBq7ePEi69atK/U3aO/X0Gg0EhUVxV133UV4eLhNYpDV4EWtmTdvHitWrCA2NtasU/CECRNMz7t06UJERARt27YlNjaWe+65xxah1kj//v3p37+/6fWAAQPo2LEj//73v3n33XdtGFnNffHFF3Tp0oU+ffqYbW9o17Ch+uabb5gzZw4//PCDWX+Y0aNHm55HRETQt29fgoOD+fbbb3nqqadsEWqNhIaGEhoaano9YMAAEhMT+eijj/jqq69sGFnNLVu2DE9PTx544AGz7fZ+DZ9//nni4+Nt2m9JaoDqgLe3NzqdjsuXL5ttv3z5Mv7+/jaKqnI1ifuDDz5g3rx5/Pbbb0RERFS4b5s2bfD29ub06dM1jrmmrHGtHB0d6d69u92XJzc3lxUrVlTpy7Q+XUOhWrFiBU8//TTffvutWQ1sWTw9PenQoUODun59+vSx+/IoisKSJUuYMmUKer2+wn3t6Rq+8MIL/Pzzz2zZsoWWLVvaLA5JgOqAXq+nZ8+ebNq0ybTNaDSyadMms5qD+qa6cb///vu8++67rF+/nl69elV6ngsXLnDt2jUCAgKsEndNWONaGQwGjhw5Yvfl+e677ygoKGDy5MmVnqc+XUMBy5cvZ9q0aSxfvtxs+oLy5OTkkJiY2KCu38GDB+2+PFu3buX06dNVugmxh2uoKAovvPACa9asYfPmzbRu3drmAYk6sGLFCsXJyUmJjo5Wjh07pjzzzDOKp6encunSJVuHVqHK4p4yZYry5ptvmvafN2+eotfrle+//15JTU01PbKzsxVFUZTs7Gzlr3/9q7Jr1y4lKSlJ2bhxo9KjRw+lffv2Sn5+vk3KeCdLyzxnzhxlw4YNSmJiohIXF6dMmDBBcXZ2Vo4ePWqrIpixtDwlBg4cqIwfP77Udnu4huXJzs5WDhw4oBw4cEABlA8//FA5cOCAcvbsWVuHVq7KYn7zzTeVKVOmmPaPiYlRHBwclIULF5r9DWZkZJj2ee2115TY2FglKSlJ2bFjhzJ8+HDF29tbSUtLq/PylcXSMn/00UfK2rVrlVOnTilHjhxRXn75ZUWr1SobN260VRHMWFqeEpMnT1b69u1b5jHr+zUsy4wZMxQPDw8lNjbW7N9mXl6eTeKRBKgOffrpp0qrVq0UvV6v9OnTR9m9e7etQ6qSiuIePHiw8sQTT5heBwcHK0Cpx6xZsxRFUZS8vDxl5MiRio+Pj+Lo6KgEBwcr06dPr3eJoCVljoqKMu3r5+en3Hvvvcr+/fttEHX5LCmPoijKiRMnFED57bffSh3LXq5hWUqGS9/5uLP89UllMT/xxBPK4MGDTfsPHjy40jKOHz9eCQgIUPR6vdKiRQtl/PjxyunTp+u2YBWwtMzz589X2rZtqzg7OyteXl7KkCFDlM2bN9sm+DJYWh5FUZSMjAylSZMmyn/+858yj1nfr2FZyvodAMrSpUttEo/mZlBCCCGEEI2G9AESQgghRKMjCZAQQgghGh1JgIQQQgjR6EgCJIQQQohGRxIgIYQQQjQ6kgAJIYQQotGRBEgIIYQQjY4kQEIIIYRodCQBEkLYhalTp5ZaEbsuREdHo9Fo0Gg0REVFVekzU6dONX1m7dq1tRqfEKJ6HGwdgBBCaDSaCt+fNWsWCxYswFYT17u7u5OQkICLi0uV9l+wYAHz5s2r1wtTCtHYSQIkhLC51NRU0/OVK1cyc+ZMEhISTNtcXV1xdXW1RWiAmqD5+/tXeX8PDw88PDxqMSIhRE1JE5gQwub8/f1NDw8PD1PCUfJwdXUt1QQ2ZMgQXnzxRaKiomjWrBl+fn58/vnn5ObmMm3aNNzc3GjXrh3r1q0zO1d8fDyjR4/G1dUVPz8/pkyZwtWrVy2O+bPPPqN9+/Y4Ozvj5+fHww8/XNNfgxCiDkkCJISwW8uWLcPb25s9e/bw4osvMmPGDB555BEGDBjA/v37GTlyJFOmTCEvLw+AjIwMhg0bRvfu3dm3bx/r16/n8uXLPProoxadd9++fbz00ku88847JCQksH79eu6+++7aKKIQopZIE5gQwm517dqV//mf/wHgrbfeYt68eXh7ezN9+nQAZs6cyaJFizh8+DD9+vXjX//6F927d+e9994zHWPJkiUEBQVx8uRJOnToUKXznjt3DhcXF8aMGYObmxvBwcF0797d+gUUQtQaqQESQtitiIgI03OdTkfz5s3p0qWLaZufnx8AaWlpABw6dIgtW7aY+hS5uroSFhYGQGJiYpXPO2LECIKDg2nTpg1TpkwhJibGVMskhLAPkgAJIeyWo6Oj2WuNRmO2rWR0mdFoBCAnJ4exY8dy8OBBs8epU6csasJyc3Nj//79LF++nICAAGbOnEnXrl3JyMioeaGEEHVCmsCEEI1Gjx49WLVqFSEhITg41Ozrz8HBgeHDhzN8+HBmzZqFp6cnmzdv5sEHH7RStEKI2iQ1QEKIRuP5558nPT2diRMnsnfvXhITE9mwYQPTpk3DYDBU+Tg///wzn3zyCQcPHuTs2bN8+eWXGI1GQkNDazF6IYQ1SQIkhGg0AgMD2bFjBwaDgZEjR9KlSxeioqLw9PREq63616GnpyerV69m2LBhdOzYkcWLF7N8+XI6d+5ci9ELIaxJo9hqalUhhLAD0dHRREVFVat/j0ajYc2aNTZZwkMIUTGpARJCiEpkZmbi6urKG2+8UaX9n332WZvOXC2EqJzUAAkhRAWys7O5fPkyoDZ9eXt7V/qZtLQ0srKyAAgICKjyGmJCiLojCZAQQgghGh1pAhNCCCFEoyMJkBBCCCEaHUmAhBBCCNHoSAIkhBBCiEZHEiAhhBBCNDqSAAkhhBCi0ZEESAghhBCNjiRAQgghhGh0/h/LJeX/SwL8AQAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/png": "/home/slavoutich/code/orangeqs/quantify-core/docs/_build/jupyter_execute/tutorials/Tutorial 3. Building custom analyses - the data analysis framework_12_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"# create matplotlib figure\n",
"fig, ax = plt.subplots()\n",
"\n",
"# plot data\n",
"dataset.y0.plot.line(ax=ax, x=\"x0\", marker=\"o\", label=\"Data\")\n",
"\n",
"# plot fit\n",
"x_fit = np.linspace(dataset[\"x0\"][0], dataset[\"x0\"][-1], 1000)\n",
"y_fit = cos_func(x=x_fit, **fit_result.best_values)\n",
"ax.plot(x_fit, y_fit, label=\"Fit\")\n",
"ax.legend()\n",
"\n",
"# set units-aware tick labels\n",
"set_xlabel(ax, dataset.x0.long_name, dataset.x0.units)\n",
"set_ylabel(ax, dataset.y0.long_name, dataset.y0.units)\n",
"\n",
"# add a reference to the origal dataset in the figure title\n",
"fig.suptitle(f\"{dataset.attrs['name']}\\ntuid: {dataset.attrs['tuid']}\")\n",
"\n",
"# Save figure\n",
"fig.savefig(exp_folder / \"Cosine fit.png\", dpi=300, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "87598309",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.983378Z",
"iopub.status.busy": "2023-09-26T17:44:31.983186Z",
"iopub.status.idle": "2023-09-26T17:44:31.989363Z",
"shell.execute_reply": "2023-09-26T17:44:31.988926Z"
}
},
"outputs": [],
"source": [
"class MyCosineModel(lmfit.model.Model):\n",
" \"\"\"\n",
" `lmfit` model with a guess for a cosine fit.\n",
" \"\"\"\n",
"\n",
" def __init__(self, *args, **kwargs):\n",
" \"\"\"Configures the constraints of the model.\"\"\"\n",
" # pass in the model's equation\n",
" super().__init__(cos_func, *args, **kwargs)\n",
"\n",
" # configure constraints that are independent from the data to be fitted\n",
"\n",
" self.set_param_hint(\"frequency\", min=0, vary=True) # enforce positive frequency\n",
" self.set_param_hint(\"amplitude\", min=0, vary=True) # enforce positive amplitude\n",
" self.set_param_hint(\"offset\", vary=True)\n",
" self.set_param_hint(\n",
" \"phase\", vary=True, min=-np.pi, max=np.pi\n",
" ) # enforce phase range\n",
"\n",
" def guess(self, data, **kws) -> lmfit.parameter.Parameters:\n",
" \"\"\"Guess parameters based on the data.\"\"\"\n",
"\n",
" self.set_param_hint(\"offset\", value=np.average(data))\n",
" self.set_param_hint(\"amplitude\", value=(np.max(data) - np.min(data)) / 2)\n",
" # a simple educated guess based on experiment type\n",
" # a more elaborate but general approach is to use a Fourier transform\n",
" self.set_param_hint(\"frequency\", value=1.2)\n",
"\n",
" params_ = self.make_params()\n",
" return lmfit.models.update_param_vals(params_, self.prefix, **kws)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "8fdfc07e",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:31.991478Z",
"iopub.status.busy": "2023-09-26T17:44:31.991295Z",
"iopub.status.idle": "2023-09-26T17:44:31.999933Z",
"shell.execute_reply": "2023-09-26T17:44:31.999485Z"
}
},
"outputs": [],
"source": [
"def extract_data(label: str) -> xr.Dataset:\n",
" \"\"\"Loads a dataset from its label.\"\"\"\n",
" tuid_ = get_latest_tuid(contains=label)\n",
" dataset_ = load_dataset(tuid_)\n",
" return dataset_\n",
"\n",
"\n",
"def run_fitting(dataset_: xr.Dataset) -> lmfit.model.ModelResult:\n",
" \"\"\"Executes fitting.\"\"\"\n",
" model = MyCosineModel() # create the fitting model\n",
" params_guess = model.guess(data=dataset_.y0.values)\n",
" result = model.fit(\n",
" data=dataset_.y0.values, x=dataset_.x0.values, params=params_guess\n",
" )\n",
" return result\n",
"\n",
"\n",
"def analyze_fit_results(fit_result_: lmfit.model.ModelResult) -> dict:\n",
" \"\"\"Analyzes the fit results and saves quantities of interest.\"\"\"\n",
" quantities = {\n",
" \"amplitude\": fit_result_.params[\"amplitude\"].value,\n",
" \"frequency\": fit_result_.params[\"frequency\"].value,\n",
" }\n",
" return quantities\n",
"\n",
"\n",
"def plot_fit(\n",
" fig_: matplotlib.figure.Figure,\n",
" ax_: matplotlib.axes.Axes,\n",
" dataset_: xr.Dataset,\n",
" fit_result_: lmfit.model.ModelResult,\n",
") -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes]:\n",
" \"\"\"Plots a fit result.\"\"\"\n",
" dataset_.y0.plot.line(ax=ax_, x=\"x0\", marker=\"o\", label=\"Data\") # plot data\n",
"\n",
" x_fit_ = np.linspace(dataset_[\"x0\"][0], dataset_[\"x0\"][-1], 1000)\n",
" y_fit_ = cos_func(x=x_fit_, **fit_result_.best_values)\n",
" ax_.plot(x_fit, y_fit_, label=\"Fit\") # plot fit\n",
" ax_.legend()\n",
"\n",
" # set units-aware tick labels\n",
" set_xlabel(ax_, dataset_.x0.long_name, dataset_.x0.units)\n",
" set_ylabel(ax_, dataset_.y0.long_name, dataset_.y0.units)\n",
"\n",
" # add a reference to the original dataset_ in the figure title\n",
" fig_.suptitle(f\"{dataset_.attrs['name']}\\ntuid: {dataset_.attrs['tuid']}\")\n",
"\n",
"\n",
"def save_quantities_of_interest(tuid_: str, quantities_of_interest_: dict) -> None:\n",
" \"\"\"Saves the quantities of interest to disk in JSON format.\"\"\"\n",
" exp_folder_ = Path(locate_experiment_container(tuid_))\n",
" # Save fit results\n",
" with open(exp_folder_ / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\") as f_:\n",
" json.dump(quantities_of_interest_, f_)\n",
"\n",
"\n",
"def save_mpl_figure(tuid_: str, fig_: matplotlib.figure.Figure) -> None:\n",
" \"\"\"Saves a matplotlib figure as PNG.\"\"\"\n",
" exp_folder_ = Path(locate_experiment_container(tuid_))\n",
" fig_.savefig(exp_folder_ / \"Cosine fit.png\", dpi=300, bbox_inches=\"tight\")\n",
" plt.close(fig_)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "eadfbabc",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.001921Z",
"iopub.status.busy": "2023-09-26T17:44:32.001739Z",
"iopub.status.idle": "2023-09-26T17:44:32.272848Z",
"shell.execute_reply": "2023-09-26T17:44:32.272158Z"
}
},
"outputs": [],
"source": [
"dataset = extract_data(label=\"Cosine experiment\")\n",
"fit_result = run_fitting(dataset)\n",
"quantities_of_interest = analyze_fit_results(fit_result)\n",
"save_quantities_of_interest(dataset.tuid, quantities_of_interest)\n",
"fig, ax = plt.subplots()\n",
"plot_fit(fig_=fig, ax_=ax, dataset_=dataset, fit_result_=fit_result)\n",
"save_mpl_figure(dataset.tuid, fig)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "25a328bc",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.275451Z",
"iopub.status.busy": "2023-09-26T17:44:32.275248Z",
"iopub.status.idle": "2023-09-26T17:44:32.279168Z",
"shell.execute_reply": "2023-09-26T17:44:32.278710Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"20230926-194430-301-508488-Cosine experiment/\n",
"├── Cosine fit.png\n",
"├── dataset.hdf5\n",
"├── quantities_of_interest.json\n",
"└── snapshot.json\n",
"\n"
]
}
],
"source": [
"print(display_tree(locate_experiment_container(dataset.tuid), string_rep=True))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "b57a1d6b",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.281314Z",
"iopub.status.busy": "2023-09-26T17:44:32.281123Z",
"iopub.status.idle": "2023-09-26T17:44:32.293145Z",
"shell.execute_reply": "2023-09-26T17:44:32.292449Z"
}
},
"outputs": [],
"source": [
"class MyCosineAnalysis:\n",
" \"\"\"Analysis as a class.\"\"\"\n",
"\n",
" def __init__(self, label: str):\n",
" \"\"\"This is a special method that python calls when an instance of this class is\n",
" created.\"\"\"\n",
"\n",
" self.label = label\n",
"\n",
" # objects to be filled up later when running the analysis\n",
" self.tuid = None\n",
" self.dataset = None\n",
" self.fit_results = {}\n",
" self.quantities_of_interest = {}\n",
" self.figs_mpl = {}\n",
" self.axs_mpl = {}\n",
"\n",
" # with just slight modification our functions become methods\n",
" # with the advantage that we have access to all the necessary information from self\n",
" def run(self):\n",
" \"\"\"Execute the analysis steps.\"\"\"\n",
" self.extract_data()\n",
" self.run_fitting()\n",
" self.analyze_fit_results()\n",
" self.create_figures()\n",
" self.save_quantities_of_interest()\n",
" self.save_figures()\n",
"\n",
" def extract_data(self):\n",
" \"\"\"Load data from disk.\"\"\"\n",
" self.tuid = get_latest_tuid(contains=self.label)\n",
" self.dataset = load_dataset(tuid)\n",
"\n",
" def run_fitting(self):\n",
" \"\"\"Fits the model to the data.\"\"\"\n",
" model = MyCosineModel()\n",
" guess = model.guess(self.dataset.y0.values)\n",
" result = model.fit(\n",
" self.dataset.y0.values, x=self.dataset.x0.values, params=guess\n",
" )\n",
" self.fit_results.update({\"cosine\": result})\n",
"\n",
" def analyze_fit_results(self):\n",
" \"\"\"Analyzes the fit results and saves quantities of interest.\"\"\"\n",
" self.quantities_of_interest.update(\n",
" {\n",
" \"amplitude\": self.fit_results[\"cosine\"].params[\"amplitude\"].value,\n",
" \"frequency\": self.fit_results[\"cosine\"].params[\"frequency\"].value,\n",
" }\n",
" )\n",
"\n",
" def save_quantities_of_interest(self):\n",
" \"\"\"Save quantities of interest to disk.\"\"\"\n",
" exp_folder_ = Path(locate_experiment_container(self.tuid))\n",
" with open(\n",
" exp_folder_ / \"quantities_of_interest.json\", \"w\", encoding=\"utf-8\"\n",
" ) as file_:\n",
" json.dump(self.quantities_of_interest, file_)\n",
"\n",
" def plot_fit(self, fig_: matplotlib.figure.Figure, ax_: matplotlib.axes.Axes):\n",
" \"\"\"Plot the fit result.\"\"\"\n",
"\n",
" self.dataset.y0.plot.line(ax=ax_, x=\"x0\", marker=\"o\", label=\"Data\") # plot data\n",
"\n",
" x_fit_ = np.linspace(self.dataset[\"x0\"][0], self.dataset[\"x0\"][-1], 1000)\n",
" y_fit_ = cos_func(x=x_fit_, **self.fit_results[\"cosine\"].best_values)\n",
" ax_.plot(x_fit_, y_fit_, label=\"Fit\") # plot fit\n",
" ax_.legend()\n",
"\n",
" # set units-aware tick labels\n",
" set_xlabel(ax_, self.dataset.x0.long_name, self.dataset.x0.attrs[\"units\"])\n",
" set_ylabel(ax_, self.dataset.y0.long_name, self.dataset.y0.attrs[\"units\"])\n",
"\n",
" # add a reference to the original dataset in the figure title\n",
" fig_.suptitle(f\"{dataset.attrs['name']}\\ntuid: {dataset.attrs['tuid']}\")\n",
"\n",
" def create_figures(self):\n",
" \"\"\"Create figures.\"\"\"\n",
" fig_, ax_ = plt.subplots()\n",
" self.plot_fit(fig_, ax_)\n",
"\n",
" fig_id = \"cos-data-and-fit\"\n",
" self.figs_mpl.update({fig_id: fig_})\n",
" # keep a reference to `ax` as well\n",
" # it can be accessed later to apply modifications (e.g., in a notebook)\n",
" self.axs_mpl.update({fig_id: ax_})\n",
"\n",
" def save_figures(self):\n",
" \"\"\"Save figures to disk.\"\"\"\n",
" exp_folder_ = Path(locate_experiment_container(self.tuid))\n",
" for fig_name, fig_ in self.figs_mpl.items():\n",
" fig_.savefig(exp_folder_ / f\"{fig_name}.png\", dpi=300, bbox_inches=\"tight\")\n",
" plt.close(fig_)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "ba48e957",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.295404Z",
"iopub.status.busy": "2023-09-26T17:44:32.295213Z",
"iopub.status.idle": "2023-09-26T17:44:32.671849Z",
"shell.execute_reply": "2023-09-26T17:44:32.671111Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHgCAYAAABNbtJFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC7jElEQVR4nOzdd3hUZfbA8e+dSe8JqZCQhAChhN4RRQUBxYK9YUVXXVx31bXg6iqWta66q6yFtaOra/vZVqyIID2hhV4CKaQQQnqZZOb9/XFnhgxJIIEkdyY5n+fJQ3LnzsxJQmbOfd/znldTSimEEEIIIboRk9EBCCGEEEJ0NkmAhBBCCNHtSAIkhBBCiG5HEiAhhBBCdDuSAAkhhBCi25EESAghhBDdjiRAQgghhOh2JAESQgghRLcjCZAQQgghuh1JgIQQLdI0jUceecToMDxOUlIS119/vdFhCCGOQRIgITzEnj17uOWWW+jTpw9+fn6EhIRwyimn8I9//IOamhqjwxMeZuvWrTzyyCPs27fP6FCEMISX0QEIIY7vm2++4dJLL8XX15drr72WtLQ0LBYLy5cv55577mHLli28/vrr7f68NTU1eHnJy0Rb7dixA5PJva8vt27dyvz58zn99NNJSkoyOhwhOp28sgnh5rKysrjiiitITEzk559/Ji4uznnb3Llz2b17N998802HPLefn1+HPG5XpJSitrYWf39/fH19jQ5HCHEc7n2JIoTgmWeeobKykjfeeMMl+XHo27cvf/zjH51fNzQ08Nhjj5GSkoKvry9JSUk88MAD1NXVudxv3bp1TJ8+ncjISPz9/UlOTubGG290OefoGqBHHnkETdPYvXs3119/PWFhYYSGhnLDDTdQXV3dJLZFixYxatQo/P39iYiI4IorriAnJ6dV33deXh433ngjMTEx+Pr6MnjwYN58803n7TU1NQwYMIABAwa4TAGWlJQQFxfHxIkTsVqtAFx//fUEBQWxd+9epk+fTmBgID179uTRRx9FKeXyvDabjRdffJHBgwfj5+dHTEwMt9xyC4cPH3Y5LykpiXPPPZfvvvuO0aNH4+/vz2uvvea8rXEN0Ntvv42maSxfvpw77riDqKgowsLCuOWWW7BYLJSWlnLttdcSHh5OeHg4995770nHtXz5csaOHYufnx99+vTh3XffdYnn0ksvBeCMM85A0zQ0TeOXX35p1e9GiC5BCSHcWq9evVSfPn1aff51112nAHXJJZeoBQsWqGuvvVYBatasWc5zCgsLVXh4uOrfv7969tln1cKFC9Vf/vIXNXDgQJfHAtTDDz/s/Prhhx9WgBoxYoS66KKL1L/+9S910003KUDde++9Lvd9/PHHlaZp6vLLL1f/+te/1Pz581VkZKRKSkpShw8fPub3UFBQoOLj41VCQoJ69NFH1SuvvKLOP/98BagXXnjBed6qVauU2WxWd955p/PYFVdcofz9/dWOHTtcfiZ+fn6qX79+6pprrlEvv/yyOvfccxWgHnroIZfnvummm5SXl5e6+eab1auvvqruu+8+FRgYqMaMGaMsFovzvMTERNW3b18VHh6u7r//fvXqq6+qJUuWOG+77rrrnOe+9dZbClDDhw9XM2bMUAsWLFDXXHON8+c2adIkddVVV6l//etfzrjeeeedE44rNTVVxcTEqAceeEC9/PLLauTIkUrTNJWZmamUUmrPnj3qjjvuUIB64IEH1Hvvvafee+89VVBQcMzfixBdiSRAQrixsrIyBagLLrigVedv2LBBAeqmm25yOf7nP/9ZAernn39WSin1+eefK0CtXbv2mI/XUgJ04403upx34YUXqh49eji/3rdvnzKbzeqJJ55wOW/z5s3Ky8uryfGjzZkzR8XFxani4mKX41dccYUKDQ1V1dXVzmPz5s1TJpNJ/frrr+rjjz9WgHrxxRdd7udICv/whz84j9lsNjVz5kzl4+OjDh48qJRSatmyZQpQ77//vsv9Fy9e3OR4YmKiAtTixYubxN9SAjR9+nRls9mcxydMmKA0TVO33nqr81hDQ4OKj49XkydPdh47kbh+/fVX57GioiLl6+ur7r77bucxx8/KkbQJ0d3IFJgQbqy8vByA4ODgVp3/v//9D4C77rrL5fjdd98N4KwVCgsLA+Drr7+mvr6+zXHdeuutLl+feuqpHDp0yBnvZ599hs1m47LLLqO4uNj5ERsbS79+/ViyZEmLj62U4tNPP+W8885DKeVy/+nTp1NWVkZGRobz/EceeYTBgwdz3XXX8fvf/57Jkydzxx13NPvYt99+u/NzTdO4/fbbsVgs/PjjjwB8/PHHhIaGctZZZ7k876hRowgKCmoSd3JyMtOnT2/1z23OnDlomub8ety4cSilmDNnjvOY2Wxm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/Vw7duzgzjvvZOLEifj5+bX6QqIxTdOa/XjqqaeanNuavwmAsrIy7r33Xvr164e/vz+JiYnMmTOH7OzsY8Zy1llnoWkat99++0k95o8//sgZZ5xBZGQkYWFhjB07lvfee68NPxXhEYztwyi6u2effbbZDsJt0dDQoGpqapTNZjvuuUd36G2Lu+++W4WFhak5c+ao1157TT3zzDMqJSVFmc1m9cMPP7icW1FRofr166eio6PV008/rZ5//nmVkJCg4uPjVXFxsfO8l156Sfn7+6srr7xSvfzyy+rFF19UI0eOVIB68803XR5z4cKF6oILLlCPP/64+ve//62effZZNWzYMGUymdS3337rcu769euVn5+fGjFihHrllVfUX/7yF+Xr66tmzJjhcl56erry8/NT/fr1U88995x65plnVFJSkgoJCVHbt293nrd582alaZqaOnWqeuaZZ9Srr76qLrzwQgWoa6+9tsnPav369So0NFQNGjRIPfXUU2rhwoXqoYceUtdff32rftbXXXed8vPzUxMnTlTx8fEqMTGx2fOys7NVZGSkiomJUU888YR68cUX1bBhw5SXl5daunRpi4//97//XQUGBipAPfvssy2eV1FRoXr27OnsZH202267TV133XXqueeeU2+88YZ68MEHVUxMjIqMjFR5eXku57766qsKUBdffLF6/fXX1TXXXKMA9dRTT7XqZ9IRz/XWW28pk8mk0tLS1PDhw0/obxFQZ511lnrvvfdcPjIzM13Oa+3fhNVqVWPGjFGBgYHqnnvuUQsXLlT33XefCg4OVr169VLl5eXNxvHpp586f6dz5851ua0tj/nFF18oTdPUxIkT1UsvvaRefvllddpppylAPf/882362Qj3JgmQMFR7JEBtcTIJ0Lp161RFRYXLseLiYhUVFaVOOeUUl+NPP/20AtSaNWucx7Zt26bMZrOaN2+e81hmZmaTbRBqa2vVgAEDVHx8/HFjqqqqUjExMWr69Okux88++2wVFxenysrKnMcWLlyoAPXdd985j51zzjkqPDzc5Q3owIEDKigoSF100UXOYwcPHmzyhqaUUjfccIMC1K5du5zHrFarSktLU+PGjVPV1dXH/R6ak5eXpywWi1JKqZkzZ7aYAP3+979XXl5eLslaVVWVSkhIUCNHjmz2PoWFhSo0NFQ9+uijx02A7rvvPpWamqquvvrqZhOg5qxbt04B6sknn3Qeq66uVj169GiyRYXjcUtKSlr12O39XIcOHXK++Z/o32JzCUdzWvs38dtvvylAvfzyyy73f/PNNxWgPvvssyaPXVNTo5KSkpy/06PjactjnnXWWapnz55NtpdJSUlRQ4cOPe73KTyHTIEJwzzyyCPcc889ACQnJzuHzvft28e+ffvQNI233367yf00TeORRx5xft1cDZBSiscff5z4+HgCAgI444wz2LJlS7Nx7Nmzhz179hw33lGjRjWZBunRowennnoq27Ztczn+ySefMGbMGMaMGeM8NmDAAKZMmcJ///tf57HBgwcTGRnpcl9fX1/OOecccnNzqaioOGZMAQEBREVFuUwhlpeX88MPPzB79mxCQkKcx6+99lqCgoJcnn/ZsmVMnTqVHj16OI/FxcUxefJkvv76a+eUWWRkJIMHD27y/BdeeCGAy/f//fffk5mZycMPP4y/vz/V1dUtTpO1pGfPnnh7ex/3vGXLljFixAhSU1OdxwICAjj//PPJyMhg165dTe5z//33k5qayuzZs4/52Lt27eKFF17g+eefx8ur9ftGO6brGv9OlixZwqFDh/j973/vcu7cuXOpqqrim2++afXjt+dzRUREEBwcfELPfbSamhpqa2tbvL21fxPl5eUAxMTEuNw/Li4OAH9//yaP/cwzz2Cz2VrcYLctj1leXk54eDi+vr7OY15eXkRGRjb73MJzSQIkDHPRRRdx5ZVXAvDCCy/w3nvv8d577zl35j4Zf/3rX3nooYcYNmwYzz77LH369GHatGlUVVU1OXfKlClMmTLlhJ+roKDAJYmx2Wxs2rSJ0aNHNzl37Nix7Nmz57iJTUFBAQEBAQQEBDS5rby8nOLiYrZv384DDzxAZmamS/ybN2+moaGhyfP7+PgwfPhw1q9f7zxWV1fX7It6QEAAFouFzMzM48YJuHz/jvolX19fRo8eTWBgIAEBAVxxxRXOXdzby7HiB72+qbE1a9bwzjvv8OKLL6Jp2jEf+09/+hNnnHGGy47yLTl06BBFRUWsW7eOG264AcDld+L4mR/9Oxk1ahQmk8nld+JOz9Vab7/9NoGBgfj7+zNo0CA++OADl9vb8jfh+D/z0EMP8fPPP5OXl8fSpUu59957GTNmDFOnTnW5f3Z2Nk899RRPP/10iwlKWx7z9NNPZ8uWLTz00EPs3r2bPXv28Nhjj7Fu3Truvffek/1RCTfS+ssaIdrZ0KFDGTlyJP/5z3+YNWuWS6HrwYMHT/hxDx48yDPPPMPMmTP56quvnG90f/nLX/jb3/52smG7WLZsGStXruTBBx90HispKaGurs55ddmY49iBAwdcRi0a2717N5999hmXXnopZrO5ye2XXXYZ3333HaAnNbfccgsPPfSQ8/b8/HyX5zr6+ZctW+b8OjU1lVWrVmG1Wp3PZbFYWL16NaAXrbbEYrHw4osvkpyc7HJV7xh1ueyyy5gxYwbz5s1j48aNPPnkk+Tk5LB8+fLjJh+tlZqayrJly6ioqHAZyVi+fHmT+JVS/OEPf+Dyyy9nwoQJxyz2/eabb/j+++/ZuHFjq+Lo1asXdXV1gD4q+M9//pOzzjrLeXt+fj5ms5no6GiX+/n4+NCjRw8OHDjQqufp7OdqjYkTJ3LZZZeRnJzMgQMHWLBgAVdffTVlZWXcdtttQNv+JiIjI/noo4+4+eabXRK76dOn88knnzQZjbv77rsZMWIEV1xxRYsxtuUxH3roIbKysnjiiSd4/PHHAT2h/vTTT7ngggtO4Cck3JUkQKLL+fHHH7FYLPzhD39weaP905/+1GwC1NZVLw5FRUVcddVVJCcnu1wZ1tTUALgMoTv4+fm5nHO06upqLr30Uvz9/ZtdRQPw1FNPcffdd5OTk8M777yDxWKhoaGh1c/f+Ll///vfc9tttzFnzhzuvfdebDYbjz/+uDOJailOgNtvv52tW7fyzTffuLyBOKbNxowZw6JFiwC4+OKLCQgIYN68efz0009NruJP1G233cZXX33F5ZdfzhNPPEFgYCD/+te/nCvzGsf/9ttvs3nzZj755JNjPqbFYuHOO+/k1ltvZdCgQa2K49tvv6W2tpZt27axaNGiJiONNTU1+Pj4NHvfo38n7vRcrXH0KsQbb7yRUaNG8cADD3D99dfj7+/f5r+JqKgoRowYwe23387gwYPZsGEDzzzzDDfccAMff/yx87wlS5bw6aefOhP2Y2ntY/r6+tK/f38uueQSLrroIqxWK6+//jqzZ8/mhx9+YPz48W37AQm3JQmQ6HL2798PQL9+/VyOR0VFER4e3i7PUVVVxbnnnktFRQXLly93qQ1yDMM7rtIbc9RINDdUb7VaueKKK9i6dSvffvstPXv2bPa5hw8f7vx89uzZjBw5kuuvv975xn6852/83Lfeeis5OTk8++yzvPPOO4A+XXDvvffyxBNPNLv0G+DZZ59l4cKFPPbYY02miByP75jedLjqqquYN28eK1asYOrUqZSVlbm86fn4+BAREdHs87Xk7LPP5qWXXuL+++9n5MiRAPTt25cnnniCe++91xl/eXk58+bN45577iEhIeGYj/nCCy9QXFzM/PnzWx3HGWec4YznggsuIC0tjaCgIOdybH9/fywWS7P3bfw7qaysdGlVYDabm0wJt9dztcXBgwdd6riCgoJa/L/h4+PD7bffzq233kp6ejqTJk1q09/E3r17OeOMM3j33Xe5+OKLAbjgggucPby+/fZbzj77bBoaGrjjjju45pprXEYgm9PaxwQ9sV+1ahUZGRmYTHqVyGWXXcbgwYP54x//2KpkS3gGqQESbqmlKZK2FtN2BIvFwkUXXcSmTZv44osvSEtLc7k9IiICX19f5yhKY45jzSU3N998M19//TVvv/02Z555Zqti8fHx4fzzz+ezzz5zJhOOKYWWnv/o537iiScoLCxk2bJlbNq0ibVr12Kz2QDo379/k8d4++23ue+++7j11ltdpv4cHI9/dMGpY0rm8OHDAPzxj38kLi7O+XHRRRe16ns+2u23305hYSErVqxg3bp1bN++ndDQUJf4n3vuOSwWC5dffrmzyD43N9cZz759+7BYLJSVlfH4449z8803U15e7jy3srISpRT79u2jqKjomPGkpKQwYsQI3n//feexuLg4rFZrk/taLBYOHTrk/Jk999xzLj+T472xn8xztcWYMWNc4jpe7yRHkumo+WrL38Tbb79NbW0t5557rst5559/PnBkxOndd99lx44d3HLLLc7fk2M0t6Kign379lFdXd2mx7RYLLzxxhvMnDnTmfwAeHt7c/bZZ7Nu3boWk0vheWQESBiqpUTHMVJzdINEx+jOsSQmJgJ6LUqfPn2cxw8ePOh88z1RNpuNa6+9lp9++on//ve/TJ48uck5JpOJIUOGNNsgcfXq1fTp06fJypt77rmHt956ixdffLHJyMnx1NTUoJSioqICf39/0tLS8PLyYt26dVx22WXO8ywWCxs2bHA55hAeHs6kSZOcX//444/Ex8czYMAAl/O++OILbrrpJi666CIWLFjQbDyjRo1i4cKFTeqHHLUnjhGNe++912Ul1smMzgUGBjJhwgSX+P39/TnllFMAvVD28OHDza5k+9vf/sbf/vY31q9fT1hYGJWVlTzzzDM888wzTc5NTk7mggsu4P/+7/+OGU9NTY3LaIdj1G7dunUuI2br1q3DZrM5b7/22mtdfg+tGa050edqi/fff99ltK7x31VzHM0NHb/rtvxNFBYWopRqcrFTX18P4Jzuzc7Opr6+3vk7buzdd9/l3Xff5fPPP2fWrFmtfsxDhw7R0NDQ7IVWfX09NpvNLS7CRDsxcg2+EK+88ooC1Pr165vcFhkZqS688EKXY3fffbcC1MMPP+w89tZbb7n0LykqKlLe3t5q5syZLs0RH3jgAQU06QO0e/dutXv37lbF+/vf/14B6rXXXjvmeU899ZQC1Nq1a53Htm/frsxms7rvvvtczn3mmWcUoB544IFjPmZhYWGTY4cPH1YJCQkqISHB5fiMGTNUXFycS4O3f//73wpo0jTxaB9++KEC1HPPPedyfOnSpcrPz0+dccYZLj1Sjpafn698fX3VpEmTlNVqdR6fN29ekz4wrXGsPkDN+e2335TZbFa3336781h6err6/PPPXT5ee+01Bajrr79eff7556q0tFRVVVU1Oe/zzz9XZ5xxhvLz81Off/65WrVqlVJK7w3TXP+e1atXK7PZrK655hrnserqahUREaHOPfdcl3Nnz56tAgIC1KFDh475PXXGc51IH6CioqImx8rLy1VKSoqKjIxUdXV1zuOt/Zt47rnnFKDeeustl8d98cUXFaA+/PBDpZTeQ6i53xWgzjnnHPX555+rAwcOtOkxGxoaVFhYmOrfv79L7BUVFSo+Pl4NGDCg1T8b4f4kARKGWrNmjfMF691331X/+c9/VGVlpVJKqfvvv18Bas6cOeqVV15RV155pRo1atRxEyCljrzZnnPOOerll19Wc+bMUT179lSRkZFNEqDExMRWvcG+8MILClATJkxo0vX2vffec8at1JE3gejoaPXMM8+oF154QSUkJKiePXu6vGl89tlnClD9+vVr9jELCgqc544cOVKdf/756oknnnB2Vo6Pj1cmk0l9/PHHLrGmp6crX19fl07Qfn5+atq0aS7nLV26VE2ZMkU9/fTT6t///re66aablNlsVjNmzFD19fXO8/bt26dCQ0OVv7+/WrBgQZM4N27c6PK4joZ0Z511llqwYIH63e9+pzRNU1deeeVxf85KKbVx40b12GOPqccee0ylpqaqsLAw59dffvmlS1xjx451dse+8847lb+/vxoxYkSLHYMdsrKyjtsI0eG6665r0gjx8OHDKjAwUN14443q73//u3r11VfV3LlzVUBAgIqIiFA7d+50OX/BggUKUJdccolauHChuvbaaxWgnnjiieM+f0c9V2lpqfPnOmPGDAWou+++Wz322GPqpZdeOm5cDz/8sBo2bJh68MEH1euvv67mz5+vEhMTlaZpatGiRS7ntvZvori4WMXGxiofHx91xx13qNdee03dcsstymw2q8GDB7skJs2hmUaIbXnMxx9/XAFqxIgR6oUXXlDPPfecGjhwoAKafE/Cs0kCJAz32GOPqV69eimTyeSSyFRXV6s5c+ao0NBQFRwcrC677DJVVFTUqgTIarWq+fPnq7i4OOXv769OP/10lZmZ2Wwn6NYmQNddd50CWvw4+so5JydHXXLJJSokJEQFBQWpc88916VjslL6G8ixHnPJkiXOc19++WU1adIkFRkZqby8vFRUVJQ677zz1K+//tpsvMuWLVMTJ05Ufn5+KioqSs2dO7dJUrB79241bdo0FRkZqXx9fdWAAQPUk08+2eRNZsmSJceMs/HvQymlbDabeumll1T//v2Vt7e3SkhIUA8++KCzu/PxOH6nzX00/v2VlJSoCy64wPnmlpycrO67777jJj9KnXwCVFdXp/74xz+qoUOHqpCQEOXt7a0SExPVnDlzWhxFef3111Vqaqry8fFRKSkp6oUXXmjVFi4d9VyOn0FzH635m/j+++/VWWedpWJjY5W3t7cKCwtT06ZNUz/99FOz57fmb0IppXJzc9WNN96okpOTlY+Pj4qLi1M333xzk67pzWkuAWrrY77//vtq7NixKiwsTPn7+6tx48apTz755LjPLTyLppRSJzx/JoQQQgjhgWQVmBBCCCG6HUmAhBBCCNHtSAIkhBBCiG5HEiAhhBBCdDuSAAkhhBCi25EESAghhBDdjiRAQgghhOh2JAESQgghRLcjCZAQQgghuh1JgIQQQgjR7XgZHYA7stlsHDhwgODgYDRNMzocIYQQQrSCUoqKigp69uyJyXTsMR5JgJpx4MABEhISjA5DCCGEECcgJyeH+Pj4Y54jCVAzgoODAf0HGBISYnA0QgghhGiN8vJyEhISnO/jxyIJUDMc014hISGSAAkhhBAepjXlK1IELYQQQohuRxIgIYQQQnQ7kgAJIYQQotuRBEgIIYQQ3Y4kQEIIIYTodiQBEkIIIUS3IwmQEEIIIbodSYCEEEII0e1IAiSEEEKIbkc6QXciq02xJquEoopaooP9GJscgdkkm60KIYQQnU0SoE6yODOf+V9tJb+s1nksLtSPh88bxIy0OAMjE0IIIbofmQLrBIsz87ltUYZL8gNQUFbLbYsyWJyZb1BkQgghRPckCVAHs9oU87/aimrmNsex+V9txWpr7gwhhBBCdARJgDrYmqySJiM/jSkgv6yWNVklnReUEEIIYRCrTbFyzyG+2JDHyj2HDBsAkBqgDlZU0XLycyLnCSGEEJ7KnephZQSog0UH+7XreUIIIYQncrd6WEmAOtjY5AjiQv041mJ3s0kjLMC702ISQgghOpM71sNKAtTBzCaNh88bBNBiEmS1KS761wo+X5/beYEJIYQQncQd62ElAeoEM9LieGX2SGJDXae54kL9ePaSoZzaL5Kaeit3frSRv3y+mboGq0GRCiGEEO1v+e6DrTqvM+thpQi6k8xIi+OsQbHNdoK+aGQ8//hpFy/9vIv3V2ezOa+MBVeNJCEiwOiwhRBCiBO2o6CCJ7/dxi87WpcAdWY9rCRAnciMjQmbH4KQnmBLhLJTITwJs0njrrP6M7J3GH/6aAObcss496XlvHD5MM4cEGN02EJ0HcW7IHslHN4HDXUQFANxw6D3BPDyMTo6IbqMovJaXvhxJx+tzcGmwKyBr7eZGosVP2qZZMokgFq+sE0C9BKR2FB9YKCzaEop6cB3lPLyckJDQykrKyMkJKQdHzgfnh/geixhPEz6E/SfAZpG7uFq5r6fwcbcMgBuP6Mvd57VH0D2ERPiRCgF276C5S/AgYzmz/ELhdE3woQ/QGCPzo1PCA9zrH0tqy0NvP7rXl7/dS/VFr2cY8bgWO47ewD7snaR98WjzDL/RpBWS57qwSl1/0SzV8i+MnvkSS+Fb8v7tyRAzeiwBKi6BNLfgrI8KNwCuWtB2et9+k2D8/4JIXHUNVh54pttvLtyPwCpMUEcrq6nqKLO+VCyj5gQrVCaA/93G+xbpn9t8tIvOmIGgdkHyvNg33Kosg/P+0fA2U/D0MuMi1kIN9ZSH5+HZg6ivLae53/Y6XyvGp4QxoMzBzK6dxiseR1+fAQaagDIsUWx1DaUxxquISI0pN3ezyQBOkkdlgAdraIAVv0LVv4LbPUQGA2XvQuJEwD4YkMe93yyCUuDrcldHWM/7ZExC9ElZf0KH82G2jLwDoAJc2HsLRAU5XqezQY7v4Wfn4CiLfqx0TfC2c+AWdpTCOHg6ONzvKShd0QA980YwDlDYtEaauHTm2D71/YbJ2CdPI81ajBFlXXtPqMhCdBJ6rQEyOHgTvj4ev3F18sPrvgA+k7BalOM+9uPFFdamr2bY850+X1nynSYEI1t+T/47GawWqDXKLj43xDR59j3sdbDsr/DL08BCgacC5e8JbVBQqBPe016+udjLmXXgHnnDOC6iUn4epn1WY//XAE5q/UR1+l/gzE3gdZx71dtef+WZfDuIKo/3PQj9JsODbX6f5jdP7Emq6TF5AdkHzEhmrXjW/jkBj35GXg+XP+/4yc/oI/2nH6/fgFi9tWvWD++DqwNrX5qd9njSIj2drw+PqC/Jw3pFaYnP5Zq+OAyPfnxC4Vr/g/G3tyhyU9bySowd+ETAJcv0l+4t38NH19PzSnvtequso+YEHa561Af34CmbGQnzCJv5LOMNftibuXdrTbFGu9xqLEvMX7NHzDt+B98Nw/Oefa493WnPY6EaG9t2tfS2qC/l+WuBb8wuOF/EDO4YwM8ATIC5E68fPQh98RToK6ciavnEk75ce8m+4gJAVQUUvfe5WgNNfxsHc6Zuy7iyjfWMunpn1u1x9DizHwmPf0zVy5cxVVLgrilZi42NL14c+2/j3tfd9rjSIj21qZ9LZc8ATsX6yUdV33klskPSALkfrx84LL3IDwZv6pc/hnwb7QWSs409CvMzuybIIRbslk59O61+NYVs82WwO31d9BgH+BuTRLSXALzg200z9Zfrj/8/+6HAxuava877nEkRHs73r6WzvejhnWw/Hn94Kx/Qe/xnRVim8kUmDsK7AGXvwcLz+RU6zquNv/I+9azmn2Bffi8QVIALbo9269/p8fBVVQpX26vv4NqjlytKvQX5/lfbeWsQbFN/l6OlcC8Yj2PYaY9zDCvpeajG/ll8icU1GgUVdRRVF5HUUUt+4qrWr3H0YQU6TEkPJNjX8vbFjXtpeX4i3rirCjM/3eB/sWYmyHt4s4L8ATIKrBmdPoqsJasXADfPYDV5MsVXs+ztjzceZNJgwVXjeTsIVJbILq5om3YXj0Vk62eOy238bnt1BZPDfbzwt/bjLfZhI+XCS+ThqXBxv6S6hbvE0YF3/neR4xWylsN05nfcN0JhfmPK4ZzwfBeJ3RfIdzF4sx8bv9gPQ2NRjSdtW5b7oVtX0LsELjpJ/Dy7fT42vL+LSNA7mzcbbDzO8xZS/lv/Cesmvhv8spqmPfpZuptij5RQUZHKISxbFb44nZMtnp+sI7ic3tb/ZZU1DZQUdv6VV0ApQTz5/pbec/nKa7z+p6i5AuoiRpOVLAv0cG+lFRZePLb7cd9HKnVE13B+D49nMnP47PSSIkK0vv4bP9ST35MXjDrFUOSn7aSBMidmUxw7gvwrwloe5cwYcQvMOoSvt6Uzy87DvLLjiJSY4ONjlII46x7E/LW0eAdxIO1N0CLFQq65y4ZysCeITRYFfVWGxarjU25ZTx1nARmmW0oB5NnEZX1f9zX8BqcuwRM+toyq03x9op9FJTVNjuNZsQeR0J0lHX7DgPQJyqQ2eMT9YN1lfC/e/XPT/mTPgLkAaQI2t31SIHT/qx//t0DUFfB5P56J9ulO1u3u64QXVLNYX21CWCa+jCm0J4tnuoo0LxwZDyDe4YyLCGM0UkRTEyJ5OZT+7SquDPiwmf0fib5G2HtG87bHbURjnOPvi9IrZ7oOtbu0/vOjWuc0P/2IlQWQHgynHaPMYGdAEmAPMEpf9T/Y1UWwoqXOD01GtD/I1bWtW04X4guY+kzehIUPQjT6BudScjRjpeEtDqBCYmBMx+yP/dT+hYbdjPS4nhl9khiQ12nuWJD/WS7GtGlrLY33h2TZE+AynJhxUv659MeA2/PmeqVBMgTePnC1If1z1e8RJJPOb0jAqi36l1nheh2Du3R+/MATH8CzF7MSItzvSq1a00S0uoEZtQN0KMfVB+C3/7R5DGW33cm/7xyOKAvVPjxrsmS/Iguo9rSQGaenvg7p3R/nK/vYJA4Sd8+xoNIDZCnGDQL4sdA7lq0pU9xeurNvLtyP7/sKOKsQTFGRydE5/rlKbA1QL9pkHImAEop9h/SV3M9cM5AYkJ827TR4oy0OM4aFMuarBKKKmqbv6/ZC86aDx9epW9iPOYmCDky9WY2aZw3tCePfrWN4so6theUMypRan9E17A+u5QGm6JnqB/x4QGQvwk2/xfQ9AsRN9rmojVkBMhTaBqc9Zj++fpFTO+l7xG2dOdBpJOB6FYO7oTMT/TPz/iL8/De4ioKymvx8TJx7YRELhjeiwkpPdpUe2M2aUxI6XHs+6aeAwnjoaEGlr/Y5GZN0xieEAbobxhCdBWO6S/n6M/Sp/V/0y6GnsONCeokSALkSRInQPJksDUwNu8dfMwmcg/XsLe4yujIhOg8S58GZYPUmS4vuit2FwMwqnc4ft6t3f3rBGganDFP/zzjHagobHLKiN5hAKzPKe24OIToZGuy9JKLsck9oCBT37cSDSbfa2xgJ0gSIE9j/4/mvekDpve2AfDLDlkNJrqJou2Q+an++en3u9z02279xfmUvp3QbTl5MsSP1WsfVr7U5OYR9hGgDTICJLoIS4PNOaI5Njkcfn1Gv2HwhRCValxgJ0ESIE+TNAl6TwSrhVvMXwGyHF50I8tfAJRebBk31HnYalOs3KsnQBP7RnZ8HJp2ZLnv2jehynUxwpD4UDQN8kprOFhR1/HxCNHBNueVUtdgIyLQhxSVDVu/0G/w0NEfkATIM03WX3gH5X9GOOWs2nuIGovV4KCE6GDlB47U/px6l8tNWw+UU1ZTT7CvF0N7hXZOPP3OgrhhUF8Fq191uSnYz5t+0Xqn9g0yDSa6gDVZegPEsUkRaCte1g8OPB+iBxoY1cmRBMgT9TkD4oZjstZxa9AyLA02VmXJcnjRxa15XV/51Xsi9BrlctNve/T6n3F9IvAyd9LLmqbBJHsitu4NqHfdENVRCL0h53DnxCNEB3LU/5zW03bkQuSUPxoY0cmTBMgTaRqM/z0AV/Ad3jSwVOqARFdWV6lvewEw8fYmN/9mL4CemNIJ01+NDTgXQhP0vkCbP3a5aXiCvnmxjAAJT2e1KecWGFOrvgKrRa+Bix9tcGQnRxIgTzX4QgiKIbShmLNNq6UOSHRtGz7QOy9H9IH+M1xuqmuwOtvzn9IZ9T+Nmb1g7O/0z1e9Ao1aUjhGgDbllGGzSasK4bm2F5RTUddAhK+NqO3v6wcn/N7YoNqBJECeystHb8IGzPFaTFZxJfsPyXJ40QXZbEdqbMb/3rkJqcP67FJq621EBvnSPyao8+MbeQ14B0DRFti3zHm4f0wQ/t5mKuoa2HOwsvPjEqKdrLH3/5nbIwOtulgf9RxwnsFRnTxJgDzZqBvA7Msw0x5GartkFEh0Tft+hZI94BMMw65scvMK5/RXDzQjOtH6hx+Ja9WRYmgvs4kh8XpBtvQDEp5MT4AU51u+0Q+MvVkf/fRwkgB5sqAovQMncKX5Z+kHJLomR+3PsMvBt+kIz297OrH/T0vG3aL/u/NbKMtzHh4hHaGFh1NKsXZfCUO0LKIqd4DZF0ZcY3RY7UISIE836noAzjWvYvOeHGrrZTm86EIqCmG7/apz1A1Nbq6sa2CjfXSl0wugG4tK1VenKRtseN952NERWgqhhafaW1xFcaWF2d4/6wcGXQABXWN/O0mAPF3CWFTUAPw1C9NtvzqLQYXoEta/py99TxgHsWlNbl6TdYgGm6J3RAAJEQEGBNjIqOv0fzPe0+uWOLISbEdBOdWWBqMiE+KErckqIYhqLjCv0A/YL7q7AkmAPJ2modn/Q15p/pml24uMjUeI9mKzQfo7+ufNjP5AJ29/cTyDLgC/UCjLhr1LAIgN9SM2xA+bgs25ZQYHKETbrc0q4XzzSvxULUT2h8SJRofUbiQB6gqGXo7V5MNg034ObF9pdDRCtI99y/Rkwi8UBs9q9hTD+v80x9sfhl6uf57xjvPwkYaIpZ0fkxAnaXVWCVeaf9K/GHW93oeui3DrBOipp55C0zT+9Kc/OY/V1tYyd+5cevToQVBQEBdffDGFha67MWdnZzNz5kwCAgKIjo7mnnvuoaGhCw8/B0RgTdWXJE4s+x+5h6sNDkiIdrDxP/q/aRfrycVRiivr2F5QAegrwNzCSPs02PZvoEpPzoZLHZDwUHmlNQSW7WSIaR/K5A1DrzA6pHbltgnQ2rVree211xg6dKjL8TvvvJOvvvqKjz/+mKVLl3LgwAEuuugi5+1Wq5WZM2disVhYsWIF77zzDm+//TZ//etfO/tb6FQ+o/Wq/HPNq1i2/YDB0QhxkuoqYeuX+ufNLH0HWGlf/TUgNpgeQb6dFdmxxaZBzxF63VLmZ4CMAAnPtTarhIvMywHQ+k+HQDe50GgnbpkAVVZWcvXVV7Nw4ULCw8Odx8vKynjjjTd4/vnnOfPMMxk1ahRvvfUWK1asYNWqVQB8//33bN26lUWLFjF8+HDOPvtsHnvsMRYsWIDFYjHqW+p4yadR6RNJmFbF4Q1fGx2NECdn+9f6JqMRfSB+TLOnrLDv/9Xp3Z+PxzENtukjAIb0CsWkQX5ZLYXltce4oxDuZc3eg1xg/k3/wvH/ugtxywRo7ty5zJw5k6lTp7ocT09Pp76+3uX4gAED6N27NytX6rUvK1euZMiQIcTExDjPmT59OuXl5WzZsqXZ56urq6O8vNzlw+OYzNSk6iNhfQv+h6XBZnBAQpwEx/TXsCtbrDlwqwLoxtIuBs0Meevg0B4Cfb3oHxMMSD8g4Vnq9/xKnFZCvU8o9J9udDjtzu0SoA8//JCMjAyefPLJJrcVFBTg4+NDWFiYy/GYmBgKCgqc5zROfhy3O25rzpNPPkloaKjzIyEhoR2+k87XY4I+DTaZdDbs2m9wNEKcoLI82LtU/3zoZc2eklNSTXZJNV4mjbHJbpYABUVDyhn655v+CxzpB7RedoYXHqK4so5xFT8AYBs4C7zcZJq5HblVApSTk8Mf//hH3n//ffz8/DrteefNm0dZWZnzIycnp9Oeuz2Z4oaQ75uMr9ZA8ZqPjA5HiBOz+b+AgsRTIDyp2VMc01/DEsII8nXDlvyNp8GUOlIHJCNAwkNk7M5jhmkNAL4jm6/D83RulQClp6dTVFTEyJEj8fLywsvLi6VLl/LPf/4TLy8vYmJisFgslJaWutyvsLCQ2NhYAGJjY5usCnN87TjnaL6+voSEhLh8eCRNoyTlQgDis780OBghTpB91ORYNQfO6S93Wf11tAEzwTsQDmdB7jpG9NZrGTfnlWGVneGFB6jc+AVBWi0lPnHQe7zR4XQIt0qApkyZwubNm9mwYYPzY/To0Vx99dXOz729vfnpp5+c99mxYwfZ2dlMmDABgAkTJrB582aKio40BPzhhx8ICQlh0KBBnf49dbZep14LwFDrFopydhkcjRBtVLQdiraCyRsGnd/sKUopVthXgE10twJoB59APQkC2PQRKVFBBPl6UW2xsrOwwtjYhGiF+Fx9C5qDybO6VO+fxtwqAQoODiYtLc3lIzAwkB49epCWlkZoaChz5szhrrvuYsmSJaSnp3PDDTcwYcIExo/XM9Rp06YxaNAgrrnmGjZu3Mh3333Hgw8+yNy5c/H17XpzmEcLi0tms/cQAPJ/+4/B0QjRRlv/T/835Ux9l/Vm7CyspLiyDj9vk7O2xi05RrC2fI4ZG0PtO8PLcnjh7ipKixluyQAgYlzXnP4CN0uAWuOFF17g3HPP5eKLL+a0004jNjaWzz77zHm72Wzm66+/xmw2M2HCBGbPns21117Lo48+amDUnetgwgwAQvb9z+BIhGijLZ/r/w6+sMVTHN2fxyRF4Otl7oyoTkyfyXoSV10M+3+TOiDhMXJXfYqPZiVLSyCqzzCjw+kwblg96OqXX35x+drPz48FCxawYMGCFu+TmJjI//7Xfd/8I8deim3PcyTXbqOhZD9eEYlGhyTE8RVtg4PbwewDqWe3eJrb9v85mtlbnwZbvwi2fsHwpHsAGQES7s97u15DuityCskGx9KRPG4ESBzf4P79ydAGAHBg5X8NjkaIVtryf/q/KVPAP6zZUxqsNlbvLQHgFHfY/+t4Bs3S/932FcPj9V5AO4sqqKzrwlvzCM9WW0Ziqd5Y2Ob4/9tFSQLUBZlNGlnRZ+mfb/vC4GiEaAWlWjX9tSmvjIq6BkL9vRnU0wNWayZP1jdzrSwkunQjvcL8UQo25ZYaHZkQzbJs/QZvGthl68WAIWONDqdDSQLURQUM099EelVu1hvLCeHOirZB8Q4w+x57+ste/zOhTw/MJg9YmeLlA6n21WBbv5B9wYTbq8z4BIBfvCaS2CPA4Gg6liRAXdTYoYNZa+sPQOWGz45zthAGc6z+6jsF/Foe2XHb7S+OZdAF+r9bv2B4vP69yZYYwi3VlhGa9ysARQlno3XR5e8OkgB1UVHBvqwPmgxA7cZPDY5GiOPYbl+0MPC8Fk+prbeSnq1vJeG2/X+ak3IG+IZART6T/LMAfQRIKWmIKNzMzu8xq3p223qSkDrS6Gg6nCRAXZh1gP5mElGyASqLjn2yEEY5vB8KN4Nmgn4tb7i4bt9hLA02YkP86BMZ2IkBniSvI9N6/Q79jJdJ42BFHQfKZGd44V5s2/Xmh9/ZRjO2jweNsp4gSYC6sFFDhrDR1gcTCtuOxUaHI0Tzdnyr/9t7AgS2/KL7m335+8S+PTxvaH7AuQB47fyWAbFBgPQDEm6mwYLapW9+utJrPP2jgw0OqONJAtSFjewdxjLTaADKN8reYMJN7dCvOkk955inOQqgPWL5+9FSztT7Gx3O4qzoMgA2yM7wwp3sW4a5vpIiFYZ/0mhMnrDI4CRJAtSFeZlNlCVMBSAw91eorzE4IiGOUnMY9v2mfz6g5QSorKaezXl64uD2DRCb4xsEyacBcIambzEgK8GEW7GPxP5oHcGYPh74N3YCJAHq4voOGU+e6oG3rQ6yfjU6HCFc7foBlBWiBkJEnxZPW7X3EDYFfaICiQ3168QA25GjDujwMkDfGb7eajMyIiF0SqEcCZBtFGOSIgwOqHNIAtTFnZYazY9WvZq/LvNrg6MR4ij2ostjjf6Ah09/OfTX9+jzK1hHb79qautt7CiQneGFGyjYhFaeS7XyJcM8jLReoUZH1CkkAeri4kL92RE6CQC181uwyRWncBMNdbD7R/1zR7PAFvy2xwP7/xwtNB5ih6KhmB2xHZBpMOEm7KM/y2xDSEuMwdvcPVKD7vFddnNhA8+gQvnjV3sQ8tcbHY4QuqxlYKmEoFjoOaLF0wrLa9ldVImmwXhPX5prL/Q+nXRAGiIKN2Efif3RNrLbTH+BJEDdwqSBvVhqGwrAjqX/ZeWeQ1ht0oRNGGyHvflh6tlgavmlyLH7e1rPUMICfDojso6Tqk+D9SlfjS8WWQkmjFeWCwWbsKHxs3UEY5MlARJdyKFKCz9ZRwFg2/4/rly4iklP/8zizHyDIxPdllJ6ATQcc+8vOLL9xURPnv5yiBsOwXF4NVQzwbSVPQerKKupNzoq0Z3Zp7/Sbf0oN4cxoneYsfF0IkmAurjFmfnc8Z/1/GwbToMyMdCUTS8OUlBWy22LMiQJEsY4uAPKsvXNT5NObfE0pVTXKIB20DRnwjcrYBMgO8MLg9kvRH62jmRofBh+3maDA+o8kgB1YVabYv5XW1FAGUFkqH4ATDZvwjEBNv+rrTIdJjrfbvvoT9Ik8Gl5x+l9h6o5UFaLj9nUdWoT7KvBTmU9oKQjtDBOfa2zPcovtmHdavoLJAHq0tZklZDfaL+hpdZhAEw2bQRAAflltazJKjEiPNGdOaa/+p11zNN+s4/+jOgdhr9PF7kyTZoEZl96NBSSoh2QlWDCOPt/g4YaDmoRbFO9GdtVLjJaSRKgLqyownWzRUch9ETTFrxpaPE8ITpUXSXsX6F/3vfYCZCjANojuz+3xCcQEicCMNm0SXaGF8bZ/RMAP9cPRdM0RiWFGxxQ55IEqAuLDnbtmLtFJXFQhRCs1TDKtLPF84ToUFlLwVYP4UnQI6XF02w2xcqu0P+nOX31LWrOMG/kUJWF3MOyTY0wgH0q+hfbMAbFhRDi521wQJ1LEqAubGxyBHGhfji2tFOY+NU+CjTZtBENiAv163bzvsJgzumvaXpRcAu25pdzuLqeQB8zQ+PDOie2zmJPgMaZtuFHHetlGkx0tsP7oXgnVsz8ZkvrOjV2bSAJUBdmNmk8fN4gAGcS5KgDOt1eB/TweYMwd4Ndf4WbUOpI9+dWTn+N69Oj63WmjUqFkHh8qGe8aRvrs6UfkOhk9r/DbeZUyglkXDe8EO5iryriaDPS4nhl9kjnBpLLbEOwKY2BpmzevLgXM9LiDI5QdCsHd0BZjn35+6RmT7Hap74+z8gDYHyfLvjCrGnQdwqgj8ZKIbTodPYE6Nu6NADGdMMEyMvoAETHm5EWx1mDYlmTVcIXG/LYtLEPw7U9nGHeDAw3OjzRBVltijVZJRRV1BIdrE+zmk0a7PpeP6GF5e+LM/OZ/9VWl9WLr/+6l94RAV0vWe93FmS8w2mmTTx5oBxLgw0fL7kmFZ2gwYLauxQN+MU6jLhQP8I9vcv6CZC/tm7CbNKYkNKDP03tz1KbPg1Wt/17g6MSXdHizHwmPf0zVy5cxR8/3ODaeXx3o/qfZu5326IMl+QH9E7mXbJpZ/JpKJMXKaZ8Yqz5bMsvNzoi0U2s+fUbtPoqDqpQtqpE8stqu+XuAJIAdTOxoX7sC58AgJb1C1gbjn0HIdqgpSSmoKyWOxetxLZ/pX7APv3j0Lhp59G6bNNOv1C0hHHAkeXwQnS0xZn5rP/5EwCW2oah7GlAd9wdQBKgbqjnoFMoVYH41JdD3jqjwxFdxPGSmDGmHZhs9aiQXlQEJpJ7uJrMvDJW7C7m5Z93NUmajr5/l2zaKXVAohM5/kZPNW0GYKl1qPO2LnuhcQxSA9QNnT4wjuUr0jjXvBrbniWYeo83OiTRBRzdefxop9hfdD853Jd75v9wQs/R5Zp2pkyBnx5lgmkrT2cXGx2N6OLWZJVgKStkkN9+AH6zpbnc3vhCY0JKF+u91QwZAeqGRiSEkWHW64Cqtv9ocDSiqzhecjLJlAnAMusQAHy8TEQF+9IvOoj+MUGteo4u17Qzdig2/wiCtFpCSzZRWm0xOiLRhRVV1DLRtAWArbZESghp8bzuQEaAuiEvswlb8umQ9ToBRev1rQl8W/cGJERLjpWcRFDOYJN+1Xn+hVfwzPBBLrtOW22KSU//TEFZbbNTaBp6/VqXa9ppMmFKPg22/h+TTJlsyCnl9NRoo6MSXVR0sB+n2C9Elh81+nP0ed2BjAB1U0OHDCPbFoVZWY/syyTESTi683hjjhfdXVoiZ4xKc0l+oPmmnQ6Or7ts084+pwMw0byF9bIzvOhAY5PCmeyl/y0ePf0FdLvdASQB6qZO6x/Fb0r/A5BpMNEeHElMcyM4jukvr75ntpjEHN200yE21I9XZo/sen2AHOwJ0EhtF9v2d58VOKLzmUuziKMYizKzxpbqcluXv9BohkyBdVORQb7kho2FiiXU7/rZ6HBEFzEjLY4LR/Ti8/V5jY4qTrNfdSaPPfe493c07WzSRLGrikimLjgB34ocfPJWotRpaMfYI02IE7b3FwCKQodRU9T0QuPh8wZ13QuNZkgC1I2FDJoCq58mrGIXVBZBkNQeiJNXUav3lpo9rjdjkiPorfKJ+6IYzD6QOOG493c07exOvFLOgA3vMqx+I/sOVZMcGWh0SKIrsidAB3qMhyIYlxzOVeMSu8eFRjNkCqwbG5+WyhZbIgANe34xNhjRJSilyLBv7HnhyHguGN6LEQ0b9BsTxoGPvLE3x9z3dECfKnxz+V5W7jnUbXqxiE5is0LWrwAsbRgMwOTUaC4Y3osJKT26XfIDkgB1a0N6hZJuXw5fskm2xRAnL6u4ipIqCz5eJtJ62ZfY2q866TPZsLjc3U91AwAYaMrmf6s2u24fIkR7yN8ItaXgG8K3h2IB/T2gO5MEqBszmTRqEk4FwDdnGSi54hQnJ32/PvoztFcovl5ml6tO+pxpYGTua3FmPjd9vI+t9tFYR5+W7rg1gehA9guR+t6nsLekDoC0npIAiW4sYdiZWJSZUEsBlOw1Ohzh4RzTX6OSwvUDBzZAbRn4hkLP4YbF5a4abx/i6MviaBnQHbcmEB3IngDlhI0FID7cn/DA7rcDfGOSAHVzpwxMJEP1B+BwpkyDiZOzbp89AeptT4CyftH/TT4VTObm79SNNd4+xNGXZZI5E0f602X3QBOdq74GslcBsFbT9//q7tNfIAlQtxca4E1WyBgAyrdKPyBx4sqq69lVVAnAqERHArRM/zdZ6n+a03jLgTW2VCzKTLxWTG+tqMXzhGiz7FVgrYPgniw7rP9tpkkCJAmQAO9+em1Gj4OrwWYzOBrhqRzTX8mRgfQI8oUGC+Ss1m9MmmRgZO6r8ZYDNfixXvUDjjSObO48Idps33L93+RTyTxQDsgIEEgCJIBBo06jUvkRZKug7kDm8e8gRDMcBdDO0Z8D66G+GgJ6QNQAAyNzX0dvH/KbVZ8GG2/aCnS/rQlEB7EnQDW9JrLvUDUgCRBIAiSAgb0i2GQaCEDOeqkDEidm3X69TsWZAO2zr/5KmgQmealpztF7oK226X+H40zbcNQBdaetCUQHsFRBXjoAW331+p9eYVIADZIACUDTNMqi9ZUB9bt/NTga4YnqrTY25pQBjRMg+7B70qkGReUZGu+BtkGlUKe8idFKGepf3LX3QBOdI2cN2OohJJ70Mr03l4z+6CQBEgCEDdLrgHqWZUgdkGiz7fkV1NRbCfHzom9UkF7/ky31P601Iy2O5fedyds3n8YeP31E6OaEPEl+xMlzXohMYvOBCgCGxEsCBJIACbu00adRpXwJpYLcnelGhyM8jGP6a2RiOCaTpg+5N9RAQKTU/7SSYw80U9IpAIQWrjY4ItElNEqAMvP0UVpZAaaTBEgAEBwYwG4/vQAzJ+MHg6MRnsZRAD26yfTXJJCdzdskfNAUAPrXbqLW0mBwNMKjNar/qeg5nqziKkCmwBwkARJOdb0mAuCV85vBkQhP40iARjoTIHv/H5n+arPoQadQhzex2mF2bd9odDjCkzWq/8ms1P82e4X5EyEF0IAkQKKRuOFnAdC3eiPVdRaDoxGe4kBpDflltZhNGsMTwqCh7kj/n+TTDI3NE2ne/uyz1wEd3vKzwdEIj9Z4+sve/8e5SbGQBEgcET9oAtX4Ea5VsDF9ldHhCA+xzj76MyguhAAfL3v9Ty0ERkFkf4Oj80wVsfqqTL+8lQZHIjxa4wJoe/2PTH8dIQmQcNK8fDgQrPeJKM78yeBohKfIOLoBotT/nLTA/mcAkFi5HiWrMsWJaFT/IwXQzZMESLjQkvWeLcEFq1BKdqAWx9e0AaLU/5ys5OGTsSgvYiihYN82o8MRnqhR/U+Ffy/2SgF0E26VAD355JOMGTOG4OBgoqOjmTVrFjt27HA5p7a2lrlz59KjRw+CgoK4+OKLKSwsdDknOzubmTNnEhAQQHR0NPfccw8NDbKaojXi7XVAQ6xb2FVYbnA0wt1V1TWwLV/vLTIqMdxe/7NGvzFJ6n9OlF9AELu8UwEo2CSbFIsT0Ggkdov9b7RnqJ++T58A3CwBWrp0KXPnzmXVqlX88MMP1NfXM23aNKqqqpzn3HnnnXz11Vd8/PHHLF26lAMHDnDRRRc5b7darcycOROLxcKKFSt45513ePvtt/nrX/9qxLfkcXwTR1On+dFDq2CD1AGJ49iYW4rVpugZ6kfPMH/IXWev/4mGyH5Gh+fRiiP1OiDz/uUGRyI8kvT/OS63SoAWL17M9ddfz+DBgxk2bBhvv/022dnZpKfr85hlZWW88cYbPP/885x55pmMGjWKt956ixUrVrBqlf5m/f3337N161YWLVrE8OHDOfvss3nsscdYsGABFousbDouszfFESMAqNr5i7GxCLeXvu/o5e9S/9NevPvqI2hxZRkg09GiLY6q/5EC6Oa5VQJ0tLIy/ZcWEaHvhJyenk59fT1Tp051njNgwAB69+7NypX6aomVK1cyZMgQYmJinOdMnz6d8vJytmzZ0uzz1NXVUV5e7vLRnQX2mwxA3OF1lNfWGxyNcGfp2Uc1QMxeof+bONGgiLqOpGGTqVNeRNmKqS3aY3Q4wpM0qv8hPMmZAKXJFhgu3DYBstls/OlPf+KUU04hLU3vUFxQUICPjw9hYWEu58bExFBQUOA8p3Hy47jdcVtznnzySUJDQ50fCQkJ7fzdeBbHvmBjtG38tvOgwdEId2WzqUYrwCLA2gA5a/UbJQE6aXGREWwz6dOIBzZ8b3A0wqPst1+IJJ1CpcUqHaBb4LYJ0Ny5c8nMzOTDDz/s8OeaN28eZWVlzo+cnJwOf0631nME9SZfemgVbNm01uhohJvafbCS8toG/L3NDIwLhoKNUF8FfmEQNdDo8DyepmkcCBsFQP1eqQMSbZBt7x/VewJb8spQCuJC/YiUAmgXbpkA3X777Xz99dcsWbKE+Ph45/HY2FgsFgulpaUu5xcWFhIbG+s85+hVYY6vHecczdfXl5CQEJePbs3Lh6qo4QBYsn6T5fCiWevs9T/DE8LwMptgv+NFdzyY3PKlxfP01kfSIg5lGByI8BgNFn0xAkDixCPTXzL604RbvUoppbj99tv5/PPP+fnnn0lOTna5fdSoUXh7e/PTT0ea9O3YsYPs7GwmTJgAwIQJE9i8eTNFRUXOc3744QdCQkIYNGhQ53wjXUBQP70fUKplC1sOdO+aKNE85waoSY76nyNXnaJ9xKWdilVpRDXko8ryjA5HeIL8jdBQA/4RENnfuQJMpr+acqsEaO7cuSxatIgPPviA4OBgCgoKKCgooKamBoDQ0FDmzJnDXXfdxZIlS0hPT+eGG25gwoQJjB8/HoBp06YxaNAgrrnmGjZu3Mh3333Hgw8+yNy5c/H1leG/1vJK0q88x2o7+GVH0XHOFt1Rur0B4sjEcH2VkiMBkvqfdjMouRfbSAKgeOsvhsYiPIRjIULvCaBpsgLsGNwqAXrllVcoKyvj9NNPJy4uzvnx0UcfOc954YUXOPfcc7n44os57bTTiI2N5bPPPnPebjab+frrrzGbzUyYMIHZs2dz7bXX8uijjxrxLXmuhLHYMJFgOsjGrVuNjka4meLKOvYdqgZgZEI4FO+E6kPg5Q9xw40Nrgvx9TKTFaBvT1O+c5nB0QiPkG3v35Y4gcq6BmcHaJkCa8qrNSd9+eWXbX7gs846C39//zbdpzW1Jn5+fixYsIAFCxa0eE5iYiL/+9//2vTc4ii+wTREp+FTtImA/DUcrjqb8EAfo6MSbsKx+qt/TBChAd6w1X7VGT8avOT/SXuqixsLe78gIH+N0aEId2ezNZqKnsjWA+UoBbEhfkQFywzI0VqVAM2aNatND6ppGrt27aJPnz4nEpNwEz59JkHRJkZpO/h110EuGN7L6JCEm0g/egNUqf/pMGEDJ8NeiKndCzWl4B9mdEjCXRXvgJrD4B0AcUPZvDIXkNGflrR6CqygoACbzdaqj4CAgI6MWXSW3npd1RjTdn7ZIf2AxBHpjfv/gOsKMNGu0vr3Y68tFhOK2r0rjQ5HuLP9jUZizd5SAH0crUqArrvuujZNZ82ePVuWkncF9qv5VC2XjB1ZWG2yHF5AXYOVTfYX1lGJ4VCWC2XZoJkgYazB0XU9saF+bPXSV7BKIbQ4Jkf9j719grMAOl7ej5vTqgTorbfeIjg4uNUP+sorrxAZGXnCQQk3ERSNiuiLSVOk1GayMbfU6IiEG8jMK8fSYKNHoA9JPQKOjP7EDgXf1r9OiNY7HDUaAFOOjACJY3CuxJxAVV0Dew5WAjIF1pJWT4FdcsklLF68WJridTNaomMabAeLVu7jiw15rNxzSEaDurHGy981TZP9vzqBX8okAKLKt0J9rcHRCLdUmgNlOaCZoddotubrBdAxIb5EB/sZHZ1banUCdPjwYWbOnEnv3r3561//yt69ezsyLuEu7EOpY0w7+Gz9Af744QauXLiKSU//zOLMfIODE0ZwNkB0FEDvlwLojtZvwFAOqlC8qUc5dvkWojHH6E/cMPANYnOu1P8cT6sToJ9++om9e/cyZ84cFi1aRL9+/TjzzDP54IMPqKur68gYhYGW1vUFYKi2B18szuMFZbXctihDkqBuRilF+v5SwF7/U10CB7fpN0oC1GEG9QwlXQ0A4PC2pQZHI9zSUY1IM2ULjONqUyPExMREHnnkEfbu3csPP/xAz549ufnmm4mLi2Pu3Lmkp8uVSVditSnu/7mCIhWGj2ZluLbHeZtjAmz+V1tlOqwbyS6ppriyDh+zSX9hzVmt39CjHwRFGRtcF+bjZeJA6AgA6vauMDga4ZaOGomVDtDHd8KdoM8880wWLVpEQUEBTz75JB9++CHjxo1rz9iEwdZklZBfXscaWyoAo007XG5XQH5ZLWuySgyIThjBMf2V1isEP2/zkWW3iTL60+HsLQbCD2WAzWpwMMKtuIzEjqfacqQAWhKglp3UVhhZWVk899xz/O1vf6OsrIypU6e2V1zCDRRV6MWWa2360PtY0/Zjnie6vnUtNkCUAuiO1nPAWCqUP362KijcYnQ4wp04lr9H9ofASLYeKMemIDrYl+gQKYBuSZsToNraWhYtWsSZZ55Jv379ePfdd5kzZw5ZWVksXry4I2IUBnGsHFhnHwEaadqFCVuL54muL6NxA0RLNRxYr98gI0AdbmRSDzJs/QCo3fubwdEIt5It018notUJ0Jo1a7j11luJi4vj5ptvJjY2lsWLF7N3717++te/kpCQ0JFxCgOMTY4gLtSP7ao35cqfYK2GgVq283YNiAv1Y2xyhHFBik5TVlPPjsIKwD4ClLcObA0Q3BPCEg2OruuLDvZjp28aABU7fjU4GuFWjiqA3iwF0K3S6gRo/PjxrF69mscee4wDBw7wwQcfMHXqVL0PiOiSzCaNh88bhA0TGbb+gL4tBujJD8DD5w3CbJL/A93BhpxSlILEHgH6xorOrrPjQV4HOkVNT73Ttn/BGpCebAJcR2LtdWKyBUbrtDoBWrduHevXr+f2228nPDy8I2MSbmRGWhyvzB7Jdp/BAIw27QT09vyvzB7JjLQ4I8MTnSh9n17sPqq3/e/fsQJM9v/qNBH9JmBRZoIsxXB4n9HhCHeQl+4yElttaWB3kb0AOl4SoGNp1W7wACNHjnR+Xltby6ZNmygqKsJmc60JOf/889svOuEWZqTFYfW/At77gJGmnYxODOejWybIyE83k55tr/9JCgebDXLW6jfI/l+dZlhyHFtUMiO03dhy1mCKSDY6JGG0HMdI7DjQNGcBdFSwLzFSAH1MrU6AHBYvXsy1115LcXFxk9s0TcNqleWZXZE5YTRKM9OTEijPleSnm2mw2tiQXQrY63+Kd0BdGXgHQEyascF1IwPigllEKiPYTfnO5YQNu9zokITRnBci+kisFEC3XptXgf3hD3/g0ksvJT8/H5vN5vIhyU8X5hNIQ7T+RhdXvpFqS4PBAYnOtL2ggiqLlWBfL/pFB0POGv2GXqPA7G1scN2It9lESYTeEFE5piBF92WzQa79b9E+EisF0K3X5gSosLCQu+66i5iYmI6IR7gxb/vGqCO1XewqrDQ4GtGZMuzTXyMSw/XRvxzXF13ReXz76EudQ8t3QW25wdEIQx3aDTWHwcsfYocAUgDdFm1OgC655BJ++eWXDghFuL3eeqfvUaadzuXQontYt89e/3N0AXSCdH/vbKl9+5Fti9J7cuWtMzocYSTH36F9JNalAFoSoONqcw3Qyy+/zKWXXsqyZcsYMmQI3t6uw9933HFHuwUn3Iz9zW6Qtp//5RXCaOn91F04d4BPCoeqQ3Bol35D/BgDo+qeRvQOY5nqT28OUrt3JX4pZxodkjCK80JE/zvclq8XQEcG+RIT4mtgYJ6hzQnQf/7zH77//nv8/Pz45ZdfXPoAaZomCVBXFhpPtV8MAbWF2HLTgdFGRyQ6QUFZLXmlNZg0GJYQBvt+1G+I7A8B0gSzs0UG+bLPfzBYfqN6zwr8zjI6ImEY51S0fnG6Odcx/RUiPfpaoc1TYH/5y1+YP38+ZWVl7Nu3j6ysLOfH3r17OyJG4Ubq4vQrjbBD6w2ORHQWx+jPwLgQgny9jlx1xkv9j1GsvfQ3vMCD62Vj1O6qukRfjQnOv8XNeXpNmEx/tU6bEyCLxcLll1+OyXRS+6gKDxWQordaH1i/lZIqi8HRiM6wbr+9AaJjA1QpgDZcbP+RVCo/fK1VULTN6HCEEXLt9V89+kJgD+BIAbSsAGudNmcx1113HR999FFHxCI8gG8fPQEaadrFjvwyg6MRnSGj8Q7w1nq98yxIAbSBRiT2YL2tLwC2bFkO3y0dtRChxmJlV5G+OEU6QLdOm2uArFYrzzzzDN999x1Dhw5tUgT9/PPPt1twwg3FpFGn+RFKNUV7N0LfqUZHJDpQjcXKlgP6sPqoxHAozISGGvAL1WuAhCFSY4J5zTSAU8mkYtdyQsfOMTok0dmO6v+z1VkA7UOsdIBulTYnQJs3b2bECL0RV2ZmpsttUnTVDZi9KQweRO/yDKzZqwFJgLqyjbmlNNgUMSG+9Arzh532F934sSDT4IbxMpsojxwJhz7B5HgjFN2HtQFyXUdiG09/yXtx67Q5AVqyZElHxCE8SE3sGCjPIKxYCqG7Oufy98QI/UVV+v+4jcA+47EVawTX5EJFIQRLc9puo2gL1FeBbyhEpgKyBcaJkEs40WaOQug+NZkopQyORnQkRwI0Ugqg3U5aSjw7lL0Xl2yL0b04/g7jRztHYqUAuu1alQBddNFFlJe3vuX61VdfTVFR0QkHJdxbzKBTAUjS8inIzzU4GtFRbDbl3AJjdGI4lOVBWQ5oJr3zrDDUiIRw0m39AKjdu9LgaESnOmoktrbeyi7pAN1mrUqAvvjiCw4ePEh5eflxP8rKyvjqq6+orJS9oroqn+Ae7DPpV54Hty03OBrREaw2xWfrcymtrsfbrJEaG3yk6DImDXyDjA1QEB7oQ06Qvv9TXZYkQN2KMwE6UgBttSl6BPoQFyoF0K3VqhogpRT9+8uKD3HEgeChJJXlYN23ErjS6HBEO1qcmc/8r7aSX1YLQL1VccZzv/CfhCUkgUx/uZOEcbALAksyob4WvOXNr8srz4fSbJeRWCmAPjGtSoBOpPC5V69ebb6P8BzVMaOh7BtCizOMDkW0o8WZ+dy2KIOjK7sKymoprVmujxlLAbTbSEwZzMGdoURRBvkboPd4o0MSHc0xEhs9GPxCgMZbYMj0V1u0KgGaPHlyR8chPIx/ykTYCfE126HBAl4+RockTpLVppj/1dYmyQ+ADxYGafv083qNwdypkYmWjEqKIN3WnxnmtVj3r8IsCVDX18xChM1SAH1CZBWYOCEJKUM4pILxoZ6GPFkO3xWsySpxTnsdbYi2Fx/NSpEKY83h4E6OTLSkX3QQmSZ9GXTVnhUGRyM6xbEKoKUDdJtIAiROSHxEABvRX3hLd0ghdFdQVNF88gMwyrQLgHRbP4oq6zorJHEcJpNGVcxoAHwOrAFpS9G11ddC/kb98wR9Y+pt9gLoiEAfekoBdJtIAiROiMmkOVeg1O+TFShdQXRwyy+eo0w7AUi39T/meaLzhaWMoU554Wc5DCV7jQ5HdKT8jWC1QGAUhCcDUgB9MiQBEiesKlpfgRB8MEOuPLuAsckRxIX60fQlVDHSPgK0PyCNsckRnR2aOIbhyTFsVn30L3JkW4wurfH0lz3ZOdIBOsSoqDyWJEDihAUkjcaizATVH4LS/UaHI06S2aTx8HmDmhxP1AqJ1MqpU15ccu5MzCa5ynQnwxPCWGfT25TU7P3N4GhEhzqq/w/A5jy9SbGsAGu7Vq0CGzFiRKuH1jIyZFl0d9G3ZxRbVDIjtN2QvRrCk4wOSZykGWlxvDJ7JHf8Zz0Wqz6qN0rTp7+qI4cwfViikeGJZoT6e5MfPBRqvqZhv2yJ0WUp1WgF2DisNsXy3QfZUaAnQAPjZASorVqVAM2aNauDwxCeKDU2mP+z9WeEaTcN+1fhNexyo0MS7WBGWhwRgVsoKK/jzrP6cXnBV7ALwlMnGR2aaIFX4jjYDkFlu6CmFPzDjA5JtLfD+6CqCEzefH84loff/9ll1eblr6/ikfMGMSMtzrgYPUyrEqCHH364o+MQHigyyIcdPoPA9j/q961s3X8m4fZq660UlOsrva4Zn0TEu5v1G+KlA7S7Sk1JIWtrDMmmQshdB/2mGh2SaG/20Z/SsEHc8p8tTfp1FZbVctuiDF6ZPVKSoFY6oRqg0tJS/v3vfzNv3jxKSkoAfeorLy+vXYMT7k3TNKqjRgLgV7IDalu/Ya5wXzkl1QAE+3oRbq6Bwi36DbIFhtsamRhGhtLrgLat/YGVew5htcnChC7FXv/zv7LezTYrdRyb/9VW+d23UpsToE2bNtG/f3+efvppnnvuOUpLSwH47LPPmDdvXnvHJ9xcdK8kcmxRaNggL93ocEQ72H9IT4B69whAy0sHFIQlQnCssYGJFu0sqCTdXgh9aNsyrly4iklP/8zizHyDIxPtxj4CtKymT4unKCC/rJY1WSWdFJRna3MCdNddd3H99deza9cu/PyO9AM555xz+PXXX9s1OOH+UmODSVf99C9kCW6XsN8+ApTUI9Cl6FK4p8WZ+cz9IIN0m/53ONy0BxM2CuxTIpIEdQF1FVCkj8Q6Et1jOVZTU3FEmxOgtWvXcssttzQ53qtXLwoKCtolKOE5+scEH/mDzJEVKF3B/kNVgD4C1NyyW+E+Gu/ftkvFU678CdJqSdVyZEqkK8lLB2WjNrAXRYQf93RpVto6bU6AfH19KS9vWuuxc+dOoqKi2iUo4Tn6xwSRYU+AVM4asNkMjkicLMcUWFK4r15QCzIC5KYa799mw8QGW1/gSOdumRLpIuwjsdZeYzEfoyONBsSF+kmz0lZqcwJ0/vnn8+ijj1JfXw/ohbDZ2dncd999XHzxxe0eoHBvwX7eVIT0p0r5olkq4OB2o0MSJynbPgWWaj4AdeXgEwTRTRskCuMdPdWRYZ+OdnTubuk84WHsI7EL90VibWEwz5EXPXzeIGlW2kptToD+/ve/U1lZSXR0NDU1NUyePJm+ffsSHBzME0880RExCjfXNy7MeeUp02CercFqI/ewfQSoOlM/2GsUmKXJgTs6eqrDMR3taF7Z0nnCg9hs2OwjQD9UJJEQ4c/fLkwj7qiNT2ND/WQJfBu1+VUtNDSUH374geXLl7Np0yYqKysZOXIkU6dK34nuKjU2mPTd/TiFLfpQ7egbjA5JnKD8slrqrQofLxOhh9brB2X6y2059m8rKKtFARtsfbEpjURTEVGUUkwYsTIl4tEO7d9Ej7pyqpUvFSGp/Ofm8cSHB3D5mN6sySqhqKKW6GD9dywjP23T5gQoJyeHhIQEJk2axKRJ0hlWQGqM3hEakBEgD+eo/0kI90dzrgCTAmh35di/7bZFGWhABQHsUPEM1HIYadrF97YxMiXiwYor63j3o/9yF7DN1I/3bzmF+PAAQP/dT0jpYWyAHq7NU2BJSUlMnjyZhQsXcvjw4Y6ISXiY1NhgMhxTYCV7oKrY2IDECdtfoq8ASwur13+XAPGjDYxIHI9j/7ZY+5SIY1HCaf57ZUrEgx2qrOPqhatJqNQ7sfcddSYJEQEGR9W1tDkBWrduHWPHjuXRRx8lLi6OWbNm8cknn1BXV9cR8QkP0CcqkCpTMDttvfQDuWuNDUicsGz7CNB4H3vyEzUA/I+/7FYYa0ZaHMvvO5N3bxzDensh9MVReZL8eKjDVRau/vdqdhRWMNZrNwCh/WXGpb21OQEaMWIEzz77LNnZ2Xz77bdERUXxu9/9jpiYGG688caOiPGELViwgKSkJPz8/Bg3bhxr1kijvo7g62WmT2Sg9APqAvbZewClWe2r+WT6y2OYTRqn9Y+mInoUAN5FG6FBLkw9TWm1nvxsL6ggJbCORA7oN8SPMTawLuiE9gIDffn7GWecwcKFC/nxxx9JTk7mnXfeac/YTspHH33EXXfdxcMPP0xGRgbDhg1j+vTpFBUVGR1al9Q/Nti5BFc6QnsuZw1QlX0DVCmA9jgxiQMpViGYbfWQv9HocEQblNXUc80ba9iaX05kkA/vTbPXbkX2hwApZG9vJ5wA5ebm8swzzzB8+HDGjh1LUFAQCxYsaM/YTsrzzz/PzTffzA033MCgQYN49dVXCQgI4M0332xybl1dHeXl5S4fom0GNO4InZcO1npjAxJtppQiu6QabxoIKbEvgZcEyOMMSwgnwyYXI57AalOs3HOILzbk8dO2Qq55YzWb88qICPTh/ZvG07Nik36ijMR2iDavAnvttdf44IMP+O233xgwYABXX301X3zxBYmJiR0R3wmxWCykp6e7bM5qMpmYOnUqK1eubHL+k08+yfz58zszxC6nf2wwe1Uc5VowIQ0VULBJ7x8jPMbByjqqLVaGm/ZhstbqtT89+hodlmijYQlhfGLrxzRzOrbs1Zgm3m50SKIZizPzmf/VVmcnb4dAHzPv3zSO1Nhg+Fb24utIbR4Bevzxxxk3bhzp6elkZmYyb948t0p+AIqLi7FarcTExLgcj4mJaXa/snnz5lFWVub8yMnJ6axQu4zUmGBAY51Vrjw9laMA+vSAffqBhHGgyfJpT9MnMpBtXgMBsGWvAiX7gLmbxZn53LYoo0nyA1Blser78Vnr9dF0kASog7R5BCg7Oxuti70o+vr64uvra3QYHq13RAB+3ibWWftypilDL4Qef5vRYYk2cNT/jPPeDQ3IsLuHMpk06DWC+jwz3tVFUJoN4e51kdqdNd7Atjka+ga2Z4WFY26oAb9Q6NGvM0PsNto8AqRpGsuWLWP27NlMmDCBvLw8AN577z2WL1/e7gGeiMjISMxmM4WFhS7HCwsLiY2NNSiqrs1k0ugfE0yGcqwEkxEgT7PfvgfYwAb7CrB4SYA81aDeMWxRSfoX8rfoVhpvYNscxwa22RuW6Afix4LphMt1xTG0+af66aefMn36dPz9/Vm/fr2z/09ZWRl/+9vf2j3AE+Hj48OoUaP46aefnMdsNhs//fQTEyZMMDCyri01JpiNtj7YMEN5HpTlGh2SaIP9h6qI4xBh9UWgmaHXSKNDEidoWHyYtKVwU63dmNY7395PTaa/OswJ1QC9+uqrLFy4EG9vb+fxU045hYyMjHYN7mTcddddLFy4kHfeeYdt27Zx2223UVVVxQ03yD5VHSU1Npga/MjxTdEPyAuvR9l/qJpRJvsmmrFDwCfQ2IDECRueEEa6fSWYLVv+Dt1JazemjTq8Qf9EpqI7TJtrgHbs2MFpp53W5HhoaCilpaXtEVO7uPzyyzl48CB//etfKSgoYPjw4SxevLhJYbRoP6mxwQCk2/qRyE596D3tYoOjEq2VXVLNBY4ESK46PVpsqB85gWlQD1pRJtRVgm+Q0WEJmm5gezQNGBJSiW91PmgmWU3bgdo8AhQbG8vu3bubHF++fDl9+vRpl6Day+23387+/fupq6tj9erVjBsnL+odSV8JBr9UJ+sHZATIY5TX1lNSZWGkaZd+QK46PV5sQgq5KhJN2Y6sJhKGc2xg2xzH8qL5I/V6PGIGS+LagdqcAN1888388Y9/ZPXq1WiaxoEDB3j//ff585//zG23yaqf7iwq2JfwAG/WWe21B/mbwFJlbFCiVbIPVeNHHYNN+/UDMgLk8YYnhElDRDc1Iy2Of145osnx2FA/Xpk9khE4RmLHd3Jk3Uubp8Duv/9+bDYbU6ZMobq6mtNOOw1fX1/+/Oc/84c//KEjYhQeQtP0lWCrsyxU+8UQUFsIB9ZDkmzi5+72H6pmqLYXL6wQ3BNC440OSZykYfFh/Gjrx/nmlTIa64aGxocC4G3WeO6SYUSH+DE2OQKzSYOV9t+XjMR2qBNaBv+Xv/yFkpISMjMzWbVqFQcPHuSxxx7riPiEhxkQqzdE3B+Qph+QF16PsL+kilGNp7+6WK+v7mhIfKhzJZgtdy3YbAZHJBrLKakBILFHIBeM6MWElB568lNfc2QPN0mAOtQJNxfw8fFh0KBBzn3AhAB9SwyADJv0A/Ik2YeqGeksgJYX3a4g1N+b2h4DqVE+mGpL4dAuo0MSjeQe1ut84sP9XW84sB5sDRAUA2HSwLIjtWoK7KKLLmr1A3722WcnHIzwfI5C6J8qk7ga9ARIKRlRcHP7iiuPLIGXuoMuY0hCJBu3pDBe26aPxkalGh2SsMs9rI8ANUmAchpNf8nrZodqVQIUGhra0XGILsIxArSsMg4V5IdWUwKH9kCkbKrpzlTxHiK0SmxmX0yxQ4wOR7STofGhpG/ux3iTPQEaea3RIQm7IyNAAa435EgDxM7SqgTorbfe6ug4RBcR4udNz1A/DpTVUhExhJCitfoLryRAbquuwUpC9WbwBmvcCExePkaHJNrJsIQwXrJPR6ucNch4gvtodgRIqUYjQJIAdTTZYES0O0dDxOxA+0iCFEK7tZySGkZq+vSXV6JMf3UlA+NCyNT0pfBa8U6oLjE4IuFwJAFqNAJUsheqi8HsA3HDDIqs+5AESLQ7xzTYBqQQ2hPsP3RkBZgmV51dip+3mdi4ePbY4vQDuWuNDUgA+qhroX1PMJcRIMdrZc8R4OVrQGTdiyRAot0NsCdAS6qS9AMHt0FNqWHxiGPLLygg1WTfuFZWgHU5sjGq+8kvrUUp8PM20SOw0ZSz4/cTP8aYwLoZSYBEu+tvXwm2tsiEirBvjJq7zsCIxDHZfzclfgkQGGlwMKK9DUsII13JaKw7aTz9pTVe6eX4/chIbKeQBEi0u5SoIMwmjfLaBmpj7Bv5yZWn2wop1veJKu3RtDW/8HzD4kOdW2KovHSwNhgckWi2B1BtGRRt1T+XkdhO0apVYP/85z9b/YB33HHHCQcjugY/bzNJPQLYc7CKnKAh9Oe/kgC5sfjKzQCoeHnR7Yr6RAVR4NObchVASH01FGZCz+FGh9WtOUaAEhoXQOelA0pvfhgca0xg3UyrEqAXXnihVQ+maZokQAKAAbEh7DlYxUatv14K7bjyNLd5+znRgawN9aQ27AANAvueYnQ4ogOYTRppvcLJyOnH6eaN+jSLJECGanYESKa/Ol2r3o2ysrI6Og7RxfSPCeabzfmsrojmUt8QqCvXh3fjhhodmmikeE8GMVodFcqfqD6y7LarGpYQRvp+RwK0Gsb9zuiQurVml8DnyAaonU1qgESHSI3V94fbXlQF8aP1gzIN5naqdq8AYJvXAMxms8HRiI4yPCFUCqHdSJMmiDbrkYUiMgLUaU5oPiI3N5cvv/yS7OxsLBaLy23PP/98uwQmPFtqbAgAuworsaWNxbTnZ/2Fd+zNBkcmGjPl6m+GeUGy/UVXNiwhjI22FKxKw1yWDeUHIKSn0WF1S832ADq4XR8l9w6E6EEGRte9tDkB+umnnzj//PPp06cP27dvJy0tjX379qGUYuTIkR0Ro/BAvSMC8PM2UVtvozB0GHEgI0BuKKxkPQAVUaMMjkR0pNgQPwKCw9he15vB2n79YmTwLKPD6pYO2HsA+XubiXD0AHL2/xkldZKdqM1TYPPmzePPf/4zmzdvxs/Pj08//ZScnBwmT57MpZde2hExCg9kNmn0i9b7Aemt+DUo3Q8VBcYGJo4ozyesLh+r0tDiJQHqyjRNO6ohokyDGaVxAbSzB5AUQBuizQnQtm3buPZafUdhLy8vampqCAoK4tFHH+Xpp59u9wCF53I0RNxySEHMYP2gvPC6D/v01w7Vm16x0QYHIzra8IRQ0u39gGQ01jjNboIqCZAh2pwABQYGOut+4uLi2LNnj/O24uLi9otMeDzHlhg7CyuOrGyQF163obL130W6rR+9IwINjkZ0tGEJYWQoewKUvxHqa4wNqJs6MgJkXwFWVQwl9vdRx4IR0SnanACNHz+e5cuXA3DOOedw991388QTT3DjjTcyfrzsJC2OcGyKur2g4siVjWzG6DYa9q8CIEP1JyHC/zhnC083tFcYOSqagyoUbPVwYIPRIXVLTUaAHKM/UQPAP9ygqLqnNidAzz//POPG6W9m8+fPZ8qUKXz00UckJSXxxhtvtHuAwnM5RoD2FVdRF2e/sjmwHhrqDIxKAFBfi7lwEwC5gUPw9ZIl8F1daIA3fSKDZGNUgzXpAST9fwzT5nLzPn36OD8PDAzk1VdfbdeARNcRHexLqL83ZTX17LJEkhYYBVUH9eF3+WM3Vv4GTLZ6DqpQvHokGx2N6CRD40NJP9yPGea1MhprkCZdoKX+xzAn3AjRYrGQm5tLdna2y4cQDpqmkeqoAyqqPPIHLleexstx1P/0JzFS6n+6i2EJYa4jQEoZG1A3U9dgpbBcHwGPD/eHBgscyNBvlL34Ol2bE6CdO3dy6qmn4u/vT2JiIsnJySQnJ5OUlERyslxJClep9pVgO6QQ2r3YrzrTbf3o3SPgOCeLrmJYQhhbVBIWvPTR2MOyzVFnOlCqN0B09gAq2AwNtXrtT4++BkfX/bR5CuyGG27Ay8uLr7/+mri4uCN9DIRohqMQekdBBQx2jACt0a885f+OMZRyGQG6qYeMAHUXg+JCsJp82WxLZpRpl/63GNHn+HcU7aJJDyB7Kwrix4JJdqbqbG1OgDZs2EB6ejoDBgzoiHhEF+NcCl9QAXGngMkbKgv1pojhScYG110dzoKqg1jwYotKoneEjAB1F37eZgbGhZBe2N+eAK2GYVcYHVa34SiAToiQAmh30OaUc9CgQdLvR7Raf3s36ANltZQ1mKHncP0GaYhoHPvPfrMtmTp8SJQpsG5lmEtDRPk77ExSAO1e2pwAPf3009x777388ssvHDp0iPLycpcPIRoLDfAmLtQPgF2FFUcK/aQOyDiNpr8iAn0I9vM2OCDRmYbGh5HhSIAKt0CtvG53FpceQGW5UJ4Hmhl6yT6aRmjzFNjUqVMBmDJlistxpRSapmG1WtsnMtFl9IsOIr+slo/W5RAcMZBUkATISI0KoGX0p/sZnhDGQcLJVVHEawchbx2knGl0WN2CSw+gnBX6wdgh4CN1eEZocwK0ZMmSjohDdFGLM/NJ338YgI/X5bIUjTV+oAq2oNVVgG+wwRF2M7Xl+lU/kGHrxylS/9PtpEQFEehjZp2tH/Hmg3pCLAlQp3CZAtukd2KX6S/jtDkBmjx5ckfEIbqgxZn53LYog8adRooIJ1dFEq8Vs2b5D4ydcpFh8XVLeesARYlPHAdrw+ktK8C6HbNJY0h8KOn7+zPLvEJGYztJbX3jHkABkL1SvyFxgoFRdW9tToA2bdrU7HFN0/Dz86N37974+vqedGDCs1ltivlfbaW5Nmvptv7Em4vZsOI7Rp1xIWaTLIfvNNn6VedW80AAEmUEqFsalhDG8ix7Q8TcdWCzyTLsDnagVJ/+CvAxE26qdo7EkiB7aBqlzQnQ8OHDj9n7x9vbm8svv5zXXnsNPz+/kwpOeK41WSXkl9U2e1u6rR8XmFfQ37KNNVklTEjp0cnRdWP2q84V9fqbX1KkJEDd0fD4MP6tEqjBD/+6cji4HWIGGR1Wl9a4AFrLWwfKprcCCYkzNrBurM0p/+eff06/fv14/fXX2bBhAxs2bOD1118nNTWVDz74gDfeeIOff/6ZBx98sCPiFR6iqKL55AdwtuIfadpFUXl1Z4UkrPX61T7wY7Xe/K53hEyBdUfDEsKwYma9LUU/INNgHc6lANo+Ektvmf4yUptHgJ544gn+8Y9/MH36dOexIUOGEB8fz0MPPcSaNWsIDAzk7rvv5rnnnmvXYIXniA5uefRvu+pNtfIlRKsm0ZYLJHReYN1Z/iaor8bqG8au2p4E+JiJDPIxOiphgLhQPyKDfFlX24+Jpi16IfToG4wOq0tzKYB2JkAy/WWkNo8Abd68mcTExCbHExMT2bx5M6BPk+Xn5598dMJjjU2OIC7Uj+YmS62Y2WC/8hyqdnRuYN2ZffrrcI+RKEz0jgiQrWy6KU3TGJ4QSkbjjVFFh3KMAPUO9XKOxMoIkLHanAANGDCAp556CovF4jxWX1/PU0895dweIy8vj5iYmPaLUngcs0nj4fP0moKj32I1IEPpL7ym3LWdG1h3Zk+A9gUOASBJVoB1a8Piw8iw2TfgLNkDVdLhvyM5RoAGavugoQb8IyCyv7FBdXNtToAWLFjA119/TXx8PFOnTmXq1KnEx8fz9ddf88orrwCwd+9efv/737d7sMKzzEiL45XZI4kNdZ0OCwvwZvzks/Uv5MqzcyjlHHbfqOmJqTRB7N6GJYRRThD7tHj9gPwtdijHCFBylX0lde/xsiG0wdpcAzRx4kSysrJ4//332blzJwCXXnopV111FcHBelO7a665pn2jFB5rRlocZw2KZU1WCf/6ZTfLdhVz3rCejD5lNPwGHNoFVYcgUFaCdahDu6G6GLz8WF2XAJTSWxKgbm1ofCgAK+v7keSVq48QDphpcFRdU229laIKvQdQZMl6/aDU/xiuzQkQQHBwMLfeemt7xyK6KLNJY0JKDw5XW1i2q5g1WSUQkAaRqVC8Q7/yHHCO0WF2bY6ma71GsaekHpApsO4uLMCH5MhA1pakciVLYP9Ko0Pqso70ADLhfcA+0ib1P4ZrVQL05ZdfcvbZZ+Pt7c2XX355zHPPP//8dglMdD1jkyMA2F5QQUmVhYjECXoClL1CEqCOZp/+siWMJ2e3vRhTmiB2e0PjQ1lzSG+KSf4GsFTJvlQdwDH9NSHkMFrlIfDyg7hhBkclWpUAzZo1i4KCAqKjo5k1a1aL58lmqOJYIoN86R8TxM7CStZkHWJG74mQ/jbsX2F0aF2f/WdcEjkKi9WGt1mjZ5i/wUEJow2LD+OLDZGUmKOIsB6E3LXQ53Sjw+pyHAnQJN/dUAn0GgVesmOC0VpVBG2z2YiOjnZ+3tKHJD/ieMb30Wt9Vu0tgcSJ+sH8jVBXaWBUXVxFARzOAjT2+OoF0PHhAbIFiWBYQhigscaWqh+QabAO4VgBNlxt0w9I/Y9bkM1fRKc6kgAdgrAECE0AW4N+5Sk6hqPpWkwaWRVmQFaACd3gniF4mTSWW/rpB7JlNLYjOEaA+tTovfKk/sc9tDoBWrlyJV9//bXLsXfffZfk5GSio6P53e9+R11dXbsHKLqWo+uAnKNA2XLl2WEa7Tq9v0S/EpVNUAWAn7eZAXHBrLbZ64By1kKD5dh3Em2We7iaKEoJrckBNIgfY3RIgjYkQI8++ihbtmxxfr1582bmzJnD1KlTuf/++/nqq6948sknOyRI0XU46oAA1mQdOnIlJHVAHceRAPUez/5DVfqnsgJM2A2LD2O36kmNOURv0Je/0eiQupycwzWMMultY4gZDP5hhsYjdK1OgDZs2MCUKVOcX3/44YeMGzeOhQsXctddd/HPf/6T//73vx0SpOhaXOuATtEP5sqVZ4eoq4CCI8Pu+w/JCJBwNSw+DIWJTC/7bvAyDdauauutHKyoY4zJvu2P1P+4jVYnQIcPH3bZ3mLp0qWcffbZzq/HjBlDTk5O+0YnuiSXOqDIfhAQCQ21+jJc0b5y1oCyQVgiKjiObHsClBQpCZDQ6YXQ8EuNfVsMKYRuV3n2HkDjzI4ESOp/3EWrE6CYmBiysrIAsFgsZGRkMH78kUy2oqICb2/v9o9QdDkudUDV9ZDomAb7zcCouijnrtMTOFxdT0VdA5qmrwITAqBvdBABPmaW19v3pcpeCTabsUF1IbmHawikRt8DDGQEyI20OgE655xzuP/++1m2bBnz5s0jICCAU0891Xn7pk2bSElJOeFA6uvrue+++xgyZAiBgYH07NmTa6+9lgMHDricV1JSwtVXX01ISAhhYWHMmTOHykrXJdSbNm3i1FNPxc/Pj4SEBJ555pkTjku0v6Z1QPZCaLnybH+N6n/22et/YkP88PM2GxiUcCdmk8aQXqFsUUk0mP2hthQObjM6rC4j93A1w027MWPTV72GxhsdkrBrdQL02GOP4eXlxeTJk1m4cCELFy7Ex8fHefubb77JtGnTTjiQ6upqMjIyeOihh8jIyOCzzz5jx44dTTpLX3311WzZsoUffviBr7/+ml9//ZXf/e53ztvLy8uZNm0aiYmJpKen8+yzz/LII4/w+uuvn3Bsov251gHZR4CyV4FNekm1G2s95K7TP0+c6Jz+kg7Q4mhD40NpwIvtXno/INs+qQNqL7mHaxhr2q5/IdNfbqXVe4FFRkby66+/UlZWRlBQEGaz6xXkxx9/TFBQ0AkHEhoayg8//OBy7OWXX2bs2LFkZ2fTu3dvtm3bxuLFi1m7di2jR48G4KWXXuKcc87hueeeo2fPnrz//vtYLBbefPNNfHx8GDx4MBs2bOD55593SZSEscb36cG7K/frdUAzJ4JPMNSVQdFWiB1idHhdQ/5GfVWPfwRE9mf/xt2A7AEmXC3OzOfj9FwAvq/sS5r3Bn787v+wBZ7LjLQ4g6PzfLmHa5htso+oJZ1ibDDCRZsbIYaGhjZJfgAiIiJcRoTaQ1lZGZqmERYWBui9iMLCwpzJD8DUqVMxmUysXr3aec5pp53mEsv06dPZsWMHhw8fbvZ56urqKC8vd/kQHculDqjWBglj9RtkOXz7cdRU9R4Pmsb+EscSeBkBErrFmfnctiiD0mp9g9y1Sh8BGmLdym2L0lmcmW9keF1CYUkpw7U9+heJk4wNRrhw207QtbW13HfffVx55ZWEhIQAOPcja8zLy4uIiAgKCgqc5zRerQY4v3acc7Qnn3yS0NBQ50dCQkJ7fzviKE3qgBwNESUBaj/77AmQvdWAcwm8JEACsNoU87/aimp0bL2tLxZlJk4rIV47yPyvtmK1qRYfQxxfeMkmfLV66v2joMeJ18mK9mdYAvT+++8TFBTk/Fi2bJnztvr6ei677DKUUrzyyisdHsu8efMoKytzfshy/s7R7L5g+1eAkhfck2azHimATtKvOo/0AJIpMAFrskrIL6t1OVaLL5kqGYCx2nbyy2pZk1ViRHhdQm29ldTaTQCoxFNAk/333IlhCdD555/Phg0bnB+OaS1H8rN//35++OEH5+gPQGxsLEVFRS6P09DQQElJCbGxsc5zCgsLXc5xfO0452i+vr6EhIS4fIiO59IPqOdIMPtCVRGU7DU4si6gYBPUlYNvKMQOoaqugeJKfasamQITAEUVtc0eX2PfFmOMvXC3pfPE8eWV1jDOXv/j3efU45wtOpthCVBwcDB9+/Z1fvj7+zuTn127dvHjjz/So0cPl/tMmDCB0tJS0tPTncd+/vlnbDYb48aNc57z66+/Ul9f7zznhx9+IDU1lfDw8M755kSruNQBWUzQa5R+g/QDOnnO6a8JYDKTbd8DLDzAm1B/6dclIDrYr9njjp3hHZ2LWzpPHF9ecRkjTbsA0JKk/sfduE0NUH19PZdccgnr1q3j/fffx2q1UlBQQEFBARaLvkXCwIEDmTFjBjfffDNr1qzht99+4/bbb+eKK66gZ8+eAFx11VX4+PgwZ84ctmzZwkcffcQ//vEP7rrrLiO/PdGMluuApB/QSdu3XP/XWf8je4AJV2OTI4gL9ePoSZl1tv7YlEaKKZ9BIbXOCxXRdrX71+KvWSg3hUFUqtHhiKO4TQKUl5fHl19+SW5uLsOHDycuLs75sWLFkcLY999/nwEDBjBlyhTOOeccJk2a5NLjJzQ0lO+//56srCxGjRrF3XffzV//+ldZAu+mmu0HJCNAJ8dmPbKf01H1P0ky/SXszCaNh8/T9/9qnASVE8QOpTfre2JkOWaT1K2cKN88vRN7bshwqf9xQ63uA9TRkpKSUK0ofo2IiOCDDz445jlDhw51KaoW7sulH9D0caCZoHQ/lOVBaC+jw/NMhVugtkzvrRQ7FID9JbIJqmhqRlocr8weyfyvtroURG8wpTGQHEZYMw2MzvNFH9IbkZZGjzU4EtEctxkBEt2TSx1Qgy/EDdNvkFGgE+eY/uo9Hsz6NY6zC7RMgYmjzEiLY/l9Z/Kfm8czsncYAKGDztBvzJILyRNmrSepejMAtt7SANEdSQIkDNWkDijJvlIi61cDo/JwjuSxUdGlYx8w6QEkmmM2aUxI6cGUgXrPtGX1qYAGxTugsujYdxbNy9+IP7WUqkDCkoYZHY1ohiRAwnAudUDJp+kH98mV5wmx2ZokQJYGGwdKawBJgMSxDYgNBmD9QRPEpOkH5W/xhNTv1X9ua20DiJfeW25JEiBhOJd+QL3Hg2aGw/ugNNvYwDxR0VaoOQw+Qc7pxLzSGmwKAnzMRAX5GhygcGf9Y/QEaM/BSqyOEUSZBjshlt36KPZ602BpPeGmJAEShmtSB9RrpH6DvPC2nWP0J2EcmPUXXcf0V++IADRZiSKOIT7cn0AfM/VWRUH4GP2gjAC1nc2Kb/4aALKDR8jfnZuSBEgYrsU6IHnhbTvHz6zRrtPOAmhZASaOQ9M0+tunwTabBwEaHNoN5bIpapsUbMarvpJy5U9d5CCjoxEtkARIuAXXOiBHIfQy2ResLWy2I5vJJh1pu+/sARQpdQji+Bx1QJklJojT2yg4VxaK1rH/vNbZUukVEWxwMKIlkgAJt+BSB5QwHkzeUJ4Lh7MMjsyDHNwO1YfAOwB6jnAezi45MgUmxPGk2uuAthdUNBqNlVWZbZK1FIAVtsHEh/sbHIxoiSRAwi241AHVe0G8vjmu1AG1geMqPWGss/4HYJ9jF3hZASZawTEFtrOw4siqTPk7bD1rvXMkVhIg9yYJkHALUgfUDuxXnc43LcBmU86NUBNlKa5oBccIUHZJNVUxY/Tu7IezoCzX4Mg8RF4GWCopJZhtqjfx4XLh4a4kARJuQ+qAToLNeiRZTD7debiwohZLgw0vk0bPMNnVWxxfjyBfIu3tEnaVmyBuuH6D1AG1jr2J62/WgShMJEgC5LYkARJuw6UOKH4smH2hskBfhSKOLX+Dvv+Xbyj0HO487CiAjg/3x8ssf+6idRyF0DsKyl0vRsTx2UdiV9oGE+zrRYi/22y5KY4ir4jCbbjUAVlMei0LHJnaES3ba/8ZJU0Ck9l5eL+jB5DsASbaIDW2cSG0ozu7FEIfV30N5KwG4DdbGr3C/aUHkBuTBEi4jZb3BZMrz+NyJIl9Tnc57BgBkl3gRVs46oB2FlYc6c5emg2H9xscmZvLXgVWC1W+0WSpWKn/cXOSAAm30mwd0L7lUgd0LPW1+gsvQJ/JLjftL5EVYKLtUp1TYBXgG9SoO7uMAh2T/eezN3g0oMkKMDcnCZBwKy51QL1GgZc/VBdD0TaDI3NjOauhoRaCYiGyv8tN2c4l8DIFJlqvX0wQmgbFlRaKK+sg2Z5Y7/3F0Ljcnn0kdr15CIAkQG5OEiDhVlzqgOo0SJyg3yAvvC1zTn9NBnu9gdWmWLmnmF1FFYC8EIu2CfDxcjbO3FlQASln6Dfs/UXvOC6aqi2DA+sBWFqvb38hU2DuTRIg4Vaa1AH1sb/w7vnZwKjcnKMA2n6Vvjgzn0lP/8yVC1dTW6+/Wd3w1hoWZ8p+TqL1XDpCx48F70B9NLYw0+DI3NS+30DZICKFjeX6iKtceLg3SYCE23GpA0o5Uz+4/zdoqDMwKjdVWwYHMvTP+0xmcWY+ty3KIL+s1uW0wvI6bluUIUmQaLXUxh2hvXz0FYYAe5cYGJUbs9f/NCSeRnGlBUB6ALk5SYCE23GpA4oZDIHRUF/tXF4qGtm33HnVaQ3uxfyvttJcubjj2PyvtmK1SUG5OD6XpfBwZBpsjyRAzbInQAejxgFIDyAPIAmQcDsudUDV9fLCeyx7jyx/X5NV0mTkpzEF5JfVsiarpHNiEx7NMQW2q7ACm00dmY7OXqmvPBRHVBRC0RYA9gTpGxFLDyD3JwmQcDtSB9QGjQqgiypa96bU2vNE95YUGYiP2USVxUpeaQ1EpUJwnL7iMHul0eG5F8drU9xwsqr1uh8pgHZ/kgAJt+RaB2RPgPI3QtUhA6NyM+X5cHA7oEHSqUQHt26vr9aeJ7o3b7OJlGj9QmRHQYW+wtBxMSJ1QK4cCVDKmeQePrL9jHBvkgAJt+RSBxQcC9GDAAVZvxgal1vZ85P+b88REBDB2OQI4kJbTm40IC7UzznFKMTxpNpHYncUSh1Qi2y2IwlQ3ynkHq4BJAHyBJIACbfkUgdUZTmyGkxeeI/YbU+A+k4FwGzSuG/GgGZPdVQiPHzeIMwmqUsQrZMaGwI0KoR2bLVSsAmqio0Jyt0UbNLbA/gEQfzYRgmQTIG5O0mAhFtquQ5oiWyLAWCzNrrqnOo8vG6/XuB8dI4TG+rHK7NHMiMtrrMiFF1Aaqz+N7jTkQAFRUNMmv65NCfVOUZik08DLx/y7FNgCREyAuTuZI2ecFvj+/RgZ2Elq/aWMGPGRDD7QHkuHNoNkf2MDs9YB9ZDbSn4hupbhgC/7jzIolXZALxzw1i8zCaKKmqJDtanvWTkR7SVYwRoz8FKLA02fLxM+ihQYaZeBzTkEmMDdAe7j9T/1Fiszh5AMgLk/mQESLgtlzognwB9V2qQ1WAAu3/U/005HcxelNXUc+8nmwC4bkIip/aPYkJKDy4Y3osJKT0k+REnpGeoH8G+XjTYFFnFVfpB53T0LzIaW1dxpD9ZypnkleqjP8F+XoT6exsYmGgNSYCE22q5DkgSIGf9T8oUAOZ/tYWC8lqSIwO5/+yBBgYmuhJN0+jvbIhYrh9MnAhefvpo7MEdBkbnBvYtB1s9hCdBjxRypP7Ho0gCJNxWkzogRwKUtax7b4tRXQJ56/TP+07huy0FfJaRh0mD5y4dhr+P2dj4RJfi6Ai9w1EH5O0PSafqn+/63qCo3MRRFyKyAsyzSAIk3JpjGuzz9Xl8UdADi3801Ffpe4N1V3t/0be/iBpAsTmKBz7bDMAtk1MYlRhubGyiy3F0hN7pWAoP0G+a/m93T4AcBdD2i7PcEukB5EkkARJuzddL/y/63ZZC/vjRRj6vGATAvpWfGxmWsewvuiplCg9+nsmhKgsDYoP509RuXhguOkSTPcEA+p2l/5u9EmrLDYjKDZRkQcleMHnpK8BAlsB7GEmAhNtanJnPwmVZLsd+tg0HQO38vnvubK6Uc9h9hTaMxVsK8DZr/P2yYfh6ydSXaH+OEaDcwzVU1jXoByOSoUc/sDV03+XwjtGvhHHgp6+Wky7QnkUSIOGWrDbF/K+2Njn+my0NizKTbCrgjS9+7H47mxdthYp8lJc/d6zUrzL/OKUfg3uGGhyY6KrCA32IDvYFZBrMxc7F+r/9ZzgPSQ2QZ5EESLillnY2rySAtTa923Fa9erut7O5/UV3g9dQDtWaGJYQxq2TUwwOSnR1TQqh4cg02K4fut9y+LpKfQUYOBOgaksDh6qkB5AnkQRIuKVj7Vi+xD4NdoZpQ/fb2XyHngB9XJGGr5eJv186DC+z/BmLjuWYBnNJgBIngncgVBbo20F0J3t/AasFwpOdTVnz7KM/0gPIc8grp3BLx9qx3JEAjTNtI9bP2kkRuYHKg6jctQD8ZB3BvTMG0Ne+W7cQHanZESAv3yN7g3W3abDG01+a3mRUCqA9jyRAwi05djZvrn/xHtWTbFsUvloDo1X3ufK07fwODcVmWxLJffpyw8Qko0MS3cQA+5YYLjVA4DoN1l3YbEcSvv7TnIelANrzSAIk3JLZpPHwefqS96ZJkMbPthEAmLrRlef+lZ8C8Ks2mmcvGYZJtrcQnaRvdBCaBoeqLBysaNSE1JEA5a7VG3R2B/kboLJQ3/098RTnYSmA9jySAAm3NSMtjldmjyQ21HU6LNjPiyX2BKhi8/9QNpsR4XU4q02xcs8hvtiQx6er9xBVtAKAvpMuISFChtlF5/H3MZPUIxA4ahosNF7fHV7ZYOd3BkXXyRzfZ8oZ+jSgnUyBeR7ZDV64tRlpcZw1KJY1WSUuO5t/sLw31T+9SEj9QV777+f87vKL0LSuMyKyODOf+V9tda6EO820kYt9ajmkRTBtynSDoxPdUf+YILKKq9hRWMGkfpFHbhgwU98dfvvXMPxK4wLsLM0sf4cjU2AJMgLkMWQESLg9s0lrsrP5NacNpDhW34/IkvklD3yeia2L9ARanJnPbYsyXNoATDFlAPBd/XC+21poVGiiG0u11wHtKDiq8/OAmfq/u38CS3UnR9XJKgr0KTA40gfJTkaAPI8kQMJj9Z54GQDTTWv5z5ps7vlkk8c3RnQ0gHT9LhRTzOsB+Mk2kvlfbfX471N4ngGOlWCFla43xA6F0ARoqDmhrtCNp3pX7jnk3v+3d3yr/9tzJARFOw837gHUS0aAPIZMgQnP1X8amLzoTx4ppgI+zYB6q43nL/Pc3jjNNYAcoOUQrxVTo3xYbkujrqyWNVklTEjpYVCUojvqb+8FtKuwAptNHSnC1zR9FGj1q7D9GxhwTqsf8+ipXoC4UD8ePm8QM9Li2jX+drH9a/3fgee6HHb0AAqRHkAexTPfJYQA8A+HJH0abMHIA3iZNL7ceIA//Gc9lgbPLIxurrHjNNM6AD35wafF84ToSEk9AvDxMlFtsTqne5wc02A7/gfWhlY9XnNTvQAFZbXctijD/fb6qymFvUv1zwee73KTTH95JkmAhGezv/AOKF3Kq7NH4WM28W1mAbctSqe23upZw+s03wDybPNqAL6zjTnmeUJ0JC+zib5ReuPN7UfXAfWeCH5hUFMCOauP+1jNT/XqHMfcbqp31/dgq4eoAc7uzw450gPII0kCJDyb48ozdy1T420svG40vl4mftpexIX/+o1TnvqJKxeu4o8fbuDKhauY9PTP7ndl2cjRDSCTtHwGmnKoV2Z+sI5CQ58iGJscYWSYopsa0FxHaACzF6SerX++/ZvjPk5Le/05KCDfPtXrNrZ9qf878LwmN8kIkGeSBOj/27vzuCjr9fH/r5mBAWUV2RXBFVQE9y3NJRcszU6bmlpa2S9bqU6n5ff5uNT5pHY6lXVMz+mkWJFaubSq5YKaSyquuKAiuKKoyC7bzP3945bRkXVgYBi4no/HPJi573vmvt7cMl73exX2zT0QWvRUnyf+wqAOPiyZ2gu9Tsux1GwuZRWYHV5vq9dvKpkAsuS+d5RWXfpip7ETWah33zPHdEInkyAKGzAtiXHnjNBw62bk+M+VLo5a1SbcetPUW5gHJzeoz8tMgKQGyB5JAiTsX0mHxGNqB8U+rZvj5lx2//56W71+m6jwACb0DlKf63YDsNbYG38PZxZO6l4/O4eKRqFDeTVAAG2HgoMzZJxR5wWqQFWbcOtNU2/SRnWUm2crddTbHWQWaPskCZCwf2E378hStsGN6+xOTjcNSS1Lvaxev8OV7EJacIVI7WkUtDw44f/jjzeGSvIjbKqkCSz5ai4FxXcsRKx3gXbD1OdH1lT4ORWt9QfUv6beYz+pPzveb1r89HbSBGafJAES9s+7Hfh0BGMxHP/V/qrX71BQbGBH0lVT7Y8muD+9wkOl2UvYnL+7M27ODhQbFU5fyS19QOe/qD+PrKqwGezOpt47KdSjpt7iAki8OftzGc1fuQXFpMscQHZJEiDRMIQ/qP5MWGl/1et32JtynbxCA/fr1eHvdBpr24CEuEmj0ZTfERrU5SEcmkD6aUg9WOFnRYUHMLZrYJn7PJs4MjjUt8x91lbpSNFTG6EgE1z9oWWvUu+/kCFzANmrepsAPfvss2g0Gj7++GOz7enp6UycOBF3d3c8PT156qmnyMkxn5n00KFDDBw4EGdnZ4KCgnj//ffrMHJhE+EPqT9Px9Hb12hf1et3iEtMw59rRCqJ6oY7Jl0TwpYq7Ajt5KpOUApqLVAFig1GUzP0c4PbMn98V5Y+2YtAD2cybhSxdEeKNcMu07qEVAbM21TxSNGE79Wf4Q+CVlfqM251gJbmL3tTLxOg1atXs2vXLgIDS98dTJw4kSNHjvD777/z888/s3XrVp555hnT/qysLEaMGEFwcDDx8fH84x//YNasWfznP/+pyyKIuta8LQR0BcWA7vgPzBzTCaDcJKjeVK+XIS7xCmN0O9UXrfqrI92EqCdC/SqoAQLoXFIbu7rCZrDfjl4mNTMfb1c9Lw9rz9iuLRjUwZdXR4QC8FlcEpk3iqwa++2qNBFjYe6t5S/CHy71GQajwraTVwFoqtfV24EVomz1LgG6cOECL774IrGxsTg6mlcnHjt2jHXr1vHf//6XPn36MGDAAD799FOWL1/OxYsXAYiNjaWwsJDFixfTuXNnxo8fz0svvcSHH35Y7jkLCgrIysoyewg7VFILlLCKqPAAFk7qjr9H6Waut0aF1dvOxBcybnAyLYcHdNvVDRGP2DYgIe5wa1HUchKg9iNA7wqZZ+H83nI/J+ZmDc+E3q1wcrhVs/KXbi3o4OdK5o0iFm1Jslrct6vqRIzG479CUR40aw0tupsdV1J7tGS7Wo69Z67X+3nGhLl6lQAZjUYmT57M66+/TufOnUvt37lzJ56envTs2dO0bdiwYWi1Wv7880/TMXfffTd6vd50zMiRI0lMTOT69etlnnfOnDl4eHiYHkFBQVYumagTJf2AzuyAzAtEhQfwxxtDWTatL/PHd6X/zbWzjpdVdV9PbEm8QjvNeTprz4DWETo9YOuQhDBTUgN0IeMG2fll1NDom96aFLGcZrBjqVnsTk7HQathYp9gs306rYbXR4YBsGR7MpezrD9YoaoTMZ7evBSA623GkF1QjHKzRsvulvEQZapXCdC8efNwcHDgpZdeKnP/pUuX8PU17xjn4OCAl5cXly5dMh3j5+dndkzJ65Jj7vTWW2+RmZlpepw7d66mRRG24NESWvUDFDiyGlC/TPu1bc7Yri34W5T6pfrTwYv1dgRYXGLardqfdsOgaf3spyQaL4+mjvi7qzWrJ8q7mShpBjuyGoyGUrtL+veMDPcvs5Z2WEdfegY3I7/IyMcbTlol7ttV5e/fgxxape8A4NEdLeky6zc6zVjP3e9v4sVl++1rGQ9RJpslQLGxsbi6upoeW7ZsYf78+cTExKApY56F2uTk5IS7u7vZQ9gpUzPY96V2dQ3ypEdwM4oMCl/vOlvHgVWusNjI9lNXGKtVv3Sl+UvUV6aO0Jdyyj6g3T3g7AHZqZC81WxXRl4haw5cAGBK/5Ay367RaHhjlHrD8u3ec5y+Us55qqkqI0CjdHvQawwkaYNJ1YcAcKPIwNn0GxQZyk9u7GGeMaGyWQJ0//33c+DAAdNjx44dpKWl0apVKxwcHHBwcODMmTO89tprhISEAODv709aWprZ5xQXF5Oeno6/v7/pmMuXL5sdU/K65BjRgHV6ALQOcHE/pB0vtfvJu1oDELvrDPlFpe9MbWnvmXRCi44TpL2ConeFDqNsHZIQZbqVAJXTX9LB6Van4QPfmO1asecc+UVGOgW40zO4Wbnn6BXixT1hvhiMCv/87YRV4i7Ru7UXTfWlR3SV0ACP6NWBCG2HPEHC7JEcfWckcX8dzEv3tC/3fberr7XM4habJUBubm60a9fO9HjmmWc4dOiQWVIUGBjI66+/zvr16wHo168fGRkZxMfHmz5n06ZNGI1G+vTpYzpm69atFBXdapv+/fffCQ0NpVmz8v/YRAPh6qN2wgQ48HWp3SM7+xHo4cy13EJ+PHCxjoOr2JYTV0zNX5qw0WpfCiHqIdNIsIr603WdqP489hPkZwJq5+Ovdp0B1Nqfymr7X48KRaOBXw6ncuh8Ro3jLvHTwYvkFZZ9A6QBWmrS6KkkqK+6qDWxTfUOhHi70K9N8yqdo77OMyZuqTd9gJo3b054eLjZw9HREX9/f0JD1WGRHTt2JCoqimnTprF79262b9/OCy+8wPjx401D5h977DH0ej1PPfUUR44cYcWKFcyfP59XX33VlsUTdanki/fgCjCYd9J00Gl54ma1++LtyaZOjfXBjuMXuF8nzV+i/gu9bTLEcv+GWnQH71B1Da2bS2NsPHaZ89dv0KypI/eXMwni7cL83flL1xYAzFtXuka3Ok5czuatVYcBuDfcn4A7+iD5ezizpOvNfket71bX/7qN3S3jIcpVbxKgqoqNjSUsLIx77rmHe++9lwEDBpjN8ePh4cFvv/1GcnIyPXr04LXXXmPGjBlmcwWJBq7DSGjqDblpcGpDqd3je7WiiaOO45ey2Zl0zQYBlpaaeYOQK5vx1ORidGsBbYbYOiQhytXO1xWtBq7nFXElp6DsgzQa6PqY+vzgMgCW7kwBYFyvVjg7lt8EdbtXhndAr9Oy/dQ1tp28UqO4cwqKefbreG4UGRjQzptPH+tuNlJ02bS+/PG3wbS7eHPtr26TS31GyTIeUHqesZLX9XmeMXFL2Utm1xMpKSmltnl5efHNN9+UPvg2ERERbNu2rZaiusVgMJg1tQnLODo6otNV7UvQIjpHiBgHuxbA/q9vDcm9yaOpI4/0bMmXO8+weHsy/dt5Wz8GC21JvMKjujgAtN0mljnjrBD1hbOjjhBvF05fySXxUnb5zT0R42DjbDi7k5QTh9h+6hpaDUzq26rs48sQ5NWUiX1bsWR7CvPWHeeutt5oq5FcKIrCGysPcfpKLv7uzswf39WUpPRre1uz1ukt6hxGTh7lzsJeMs/Y7J+Omg2F9/dwZuaYTvV2njFhrl4nQPWVoihcunSJjIwMW4di9zw9PfH397f+yL9uE9UE6MQ6yL0KLuZJzpT+IXy58wwbj6eRfDWX1t4u1j2/hQ4nHGa8LkF90W2iTWMRoipC/dxMCdDA9j5lH+QeAG3vgVO/k7LxcyCK4Z38LF424oUh7fhu73kSLmTxa0IqoyMsnx09ZkcKvxxKxUGrYcHE7jR3dSr7wAOx6s/wB8Gx/MVNo8IDGN7Jn93J6aRl5+PrpjZ7Sc2P/ZAEqBpKkh9fX1+aNm1a58P2GwJFUcjLyzON6gsIsPIdk19ndWmM1ANwaAX0e95sdxsfV4aG+bLpeBox25OZPTbcuue3QJHBSMszq0AD2YEDcGsWYrNYhKiqUH831iZcKn9G6BJdH4NTv9Px0k84MMzUB88SzV2dmDawDR9tOMEH6xMZ2dkfR13Ve3DEn7nO//1yDIC37+1Ij/JGn924Dkd/VJ93m1Tp55bMMybskyRAFjIYDKbkp3lz+YdfE02aqHdXaWlp+Pr6Wr85rNskNQHauwT6Pqf2SbjNk3e1ZtPxNL6LP8+rI0JttpLzvuSr3M9mAFz6TrVJDEJYqkojwQDCRnND74VfYTqPex2jX5v7q3W+pwe25sudKaRcy2PFnnNM6htc+ZuAazkFvPDNPoqNCvdFBDD1rpDyDz6wTO207dsZWvSoVpzCfthdJ2hbK+nz07SpDFG2hpLfY630pYoYp65JdO0knI4rtfuuds0J9XMjr9DAt3tsN/v3hd2raaG5Rq7WHa2s/C7sRMlIsBOXszFWMOuxUevI98pQAKY12VTtGnMXJwdeHNoOgPkbT5JXWFzpewxGhegVB0jNzKeNjwvzHooo//xGI+z5r/q899OlbphEwyMJUDVJs5d11Orv0dkdIieoz0u+2O4495MDQgC1f0CxwVh7sVSgzWl1vqILbR4FR5k7RNiH4OYuODloyS8ycjY9r9zjtpy4wqLsgRjQEHDtT7hS/UkNH+sTTJBXE65kF5gWIa3I/I0n2XbyKk0cdSya1ANXpwoaPU5vhvQkcHKHLo9WO0ZhPyQBEg1br6fVn4m/QkbpWp6xXVvg5aLnQsYNfj96udT+2nb19AG6Fh/CoGjwGfpcnZ9fiOrSaTW093MF4HgF/YBidqRwAR9OeQ5QN+xdXO1z6h20vDZcnRduUVwS13MLyz02LjGNTzep8/nMebALHW422ZVrzxfqz8gJ4ORa7RiF/ZAEyIYMRoWdSdf44cAFdiZdk8XzaoNvmDqZmWIs84vX2VHHxD7qkNwv/kiu6+jIjPsXAH869aNZYNs6P78QNRHqp66bWN6iqKev5LDlxBU0Gmh293R144FvoKCSfkMVuD8ykI4B7mQXFLNwS1KZx5y/nkf0igMoijrk/oFuLSr+0IyzcGKt+rzkpkk0eJIA2ci6hFQGzNvEhM938fLyA0z4fBcD5m1iXUJqrZ1zypQpaDQaNBoNjo6O+Pn5MXz4cBYvXozRWPXmn5iYGDw9PWstTqvrNU39GR8Dhbmldk/uG4yjTsPeM9c5eC6j7uK6kUHLc+qEa+c7PF535xXCSkL91ZqS8kaCfblTXfZiaKgvvl1HQfP2UJAJ+76s9jm1Wg1/i1JrgWJ2pHAx44bZ/oJiA8/H7iMjr4iIlh787+hOlX/oroXqTVLrQeDTodqxCfsiCZANrEtIZfrX+8wm0AK4lJnP9K/31WoSFBUVRWpqKikpKaxdu5YhQ4bw8ssvM3r0aIqLK+9UaJdC74VmIXAjXZ0Y8Q6+7s6MuTmvyJLtdVcLZNj9X5yUfI4Zg2jXa2SdnVcIawn1V2uAyhoJllNQzPfx5wF4vH8IaLXQ/0V1587PSi1TY4nBHXzo09qLwmIjH/6eaFaT/s5PRzl4PhOPJo4seKw7Tg6VjC7NS4f4perzu16qdkzC/kgCZAWKopBXWFylR3Z+ETN/PEJZjV0l22b9eJTs/KIqfZ6la1k5OTnh7+9PixYt6N69O2+//TY//PADa9euJSYmBoAPP/yQLl264OLiQlBQEM899xw5OTkAxMXFMXXqVDIzM021SbNmzQLgq6++omfPnri5ueHv789jjz1mmufHpnQO0P/mF9uOT8v84p16c5X4nw+lcjmrDlZxLszDuPMzAL7SPUBkkCzUK+xP2M2RYMlXcykoNl9cdNW+8+QUFNPG24WBJbOtR4wDF1/IOg8Jq6p9Xo1GwxujwgD4Pv6CWU167J9nAfh4XFeCvKowWnfvF1CUC35d1EkbRaMh8wBZwY0iA51mrLfKZynApax8usz6rUrHH31nJE31NbuMQ4cOJTIyklWrVvH000+j1Wr55JNPaN26NadPn+a5557jb3/7G5999hn9+/fn448/ZsaMGSQmJgLg6qpWgxcVFfHuu+8SGhpKWloar776KlOmTOHXX3+tUXxW0fUxiJsDmefUL97IcWa7u7T0oHeIF7tT0vlq5xn+OjK0duPZ/zWO+dc4Z/QhN2yszB4r7JKvmxMeTRzJvFHEqbQcOgd6AOpN4dIdKQA83i/41tIVjs7Q91nY+A5snw8Rj1Z7uHlaJTcqdyZkZSq6AbsWqc/velmGvjcyUgMkAAgLCzOtvRYdHc2QIUMICQlh6NCh/P3vf+fbb78FQK/X4+HhgUajwd/fH39/f1MC9OSTTzJq1CjatGlD3759+eSTT1i7dq2p9simHJtA35udMLd/rM75cYeSIfGxf54hv6gKX57VVVyofvkDiwxjuDtU1g0S9kmj0ZjNB1Tij1NXSbqSi4tex0M9Wpq/qeeT4OgCaUfgRPVuHA1Ghdk/HS0/LmD2T0crH1iy/2vIuwoeraDzX6oVi7BfUgNkBU0cdRx9p2p9OHYnpzNlyZ5Kj4uZ2overb2qdG5rUBTFNCfPhg0bmDNnDsePHycrK4vi4mLy8/PJy8urcALI+Ph4Zs2axcGDB7l+/bqpY/XZs2fp1KkKHRFrW8+nYNtHkHYUjv0InR8w2z28kz8tmzXh/PUbrN5/gQm9q75go0UOfwtZ50lTPPnecDfRHcpZR0kIOxDq58bu5HSzofAltT8P92iJm/MdM6w3aaZONLh9Pmz+O7QfofYPssDu5PRSfShvpwCpmfnsTk4vf6mKohuw7Z/q87teUpvKRaMiNUBWoNFoaKp3qNJjYHsfAjycKa+iVQMEeDgzsL1PlT7PWhMJHjt2jNatW5OSksLo0aOJiIhg5cqVxMfHs2DBAgAKC8ufcyM3N5eRI0fi7u5ObGwse/bsYfXq1ZW+r0418by1Jtimv4PBvNO3Tqthys11ihb/kWxx/6oqKS6AuHkAfF58Lx1a+ODjVs6ijELYAVMN0M0E6Oy1PDYeV/v+PV7eul93RYPeDS4dVm9GLJSWXbV+ehUet+e/kJ0KHkHQXUZhNkaSANUxnVbDzDFqbcidqUvJ65ljOtVpn5BNmzZx+PBhHnroIeLj4zEajfzzn/+kb9++dOjQgYsXL5odr9frMRjMm4iOHz/OtWvXmDt3LgMHDiQsLKx+dIC+U7/noWlzdXmMg9+U2v1oryBc9DpOpuXwx6mr1j//3sWQeZYMnTdfGkYwOFRqf4R9K+kIXTIU/qtdKSgKDGzvTVufciYUbOp162Zk83tgtKzJ2detajOml3tcfhZs+1B9PvhNcJCbkMZIEiAbiAoPYOGk7vh7mP9x+ns4s3BSd6LCa69PSEFBAZcuXeLChQvs27eP9957j7FjxzJ69Ggef/xx2rVrR1FREZ9++imnT5/mq6++YtGiRWafERISQk5ODhs3buTq1avk5eXRqlUr9Hq96X0//vgj7777bq2Vo9qc3WHga+rzuLlQZH6H6O7syCM9gwC1FsiqCrJh6z8AmG94iAL0DJLmL2Hn2t+cYfliZj6Xs/JZcXNdvSmVrfre7zlw9oSriXBohUXn7N3aq0o16eV2I9i5QJ0Wo3l7iBhv0blFwyEJkI1EhQfwxxtDWTatL/PHd2XZtL788cbQWk1+ANatW0dAQAAhISFERUWxefNmPvnkE3744Qd0Oh2RkZF8+OGHzJs3j/DwcGJjY5kzZ47ZZ/Tv359nn32WcePG4ePjw/vvv4+Pjw8xMTF89913dOrUiblz5/LBBx/UalmqredT4N4Ssi7Azn+V2j2lfwgaDWxOvELSFSt24N76AeRdI9+9DV/mD8Dd2YGuQZ7W+3whbMCjiSMB7moNygvf7CMrv5igZk0YHOpb8RudPWDAK+rzDbMtmh26RjXpmedhxyfq8yFvS9+fRkyj1EpHB/uWlZWFh4cHmZmZuLu7m+3Lz88nOTmZ1q1b4+wsC1fWlM1+nwdXwOpnwKEJvLAHPIPMdj+9dC8bjl1mct9g3n0gvObnu3ICFvYDYzGrw/7JKwcCuC8igAWPda/5ZwthQ+sSUnl5+QEKim+NrHRzduAfD0dUfkNXXACf9YX00+pcXSMsqzVel5DK7J+OmnWIDvBwZuaYTuWf+7spcGQ1tOoHU9fK0PcGpqL/v+8kqa9onCIeVZfGOLsD1r8F48xniH5qQGs2HLvMd3vPcXcHb/IKDfi6qVXqFvfPUhRY+zoYi6FDFEuuhgGZDJbmL2HnSma1v/MuOie/mOlf76u8Sd/BCaLmwjePqstRdJsEPlWfgysqPIDhnfzZnZxOWnZ+5X+jp7eoyY9GC/f+Q5KfRk6awETjpNHAfR+ARgfHflIft+nbxosWnk3ILzYy7cv4mq3XdiAWTseBzon0u9/h0PlMAAZJB2hhx0rm4qloVvsqzcXTYSR0iAJjEayZXmp0ZmV0Wg392jZnbNcW9GvbvPzkpyAHfry5FEevp8G/i0XnEQ2PJECi8fLrfGvtn5+iIeeKadf6I5e4cMcii1CN9doyzsLaN9XnQ94iLs0FgM6B7lUeySJEfWTJXDyVuu9DcPKAC/Gw81PrBXm73/8XMs6ow96H/m/tnEPYFUmAROM2+C3wC1dng/3xRVCUCmeZtejO1lAMa56DwmwI6gP9X2LLCTXJktFfwt5ZZS6eEh4tIOrmYIvN78GFfTWIrAwn1qtTUACMXaCOBhWNniRAonFzcIK//Bt0ejixFrZ9YL07242zIGWbOu3/AwsxoGXrzQSo0hEyQtRzNZ6L505dH4Ow0WAohG8fh9xrNYjuNteSYOU09XmfZ6HNIOt8rrB7kgAJ4R8O994csr/p/9CeqNrirRXe2R76Tl15HuCBBdC8LYfOZ3A9rwg3Zwe6t/KsWcxC2FiN5+Ip9QaNWjvj1UZdtPj7KeoosZrIz4QVk6AgE1r2huH1cG4yYTOSAAkB0OMJtWMkCr32vkY/7ZFK31LunW3iWljzrPp8wCumRRbjEtXan4HtvXHQyZ+esG+1Mqt9E08YF6vWmiZvhZVPWdwp2qQwF2IfUdf+c/GFR78EB331Pks0SPItLESJqLnQIQqtoYDF+g+4S5tQ7qEueh09gpuV3pG4Vq2+NxZD+MNmnS3jSpq/Okjzl2gYamVWe79OMD5WbZY+9pOaBBWVHpBQoRsZ8M04OPenOuHipJXgXruTzAr7I/MACVFC56jeJS5/jCanNhDjOI+/F09iqWEEd97j5hYaePbreOaP76qudm00qLPLbpgNKNBxjNq3SKsDID23kEPnMwC4WzpAiwbE4rl4qqLtEHh4CXz3BBxdo87ePO4rcA+s/L1px9X3XTkOeleYtAoCIqofi2iwpAZIMHjwYKKjo20dRv3g4KRWwXd5BEeNgdmOS/na8T06a1IAtU/DtIGtcXLQsul4Gg8v3MnlI9tgyb2wYRagQI8p6pf3bVPsbzt5BUVRF468825ZCHtX5bl4LNFxNExeo64XdmEvLOgDuxaVWr/PpCAb4ubBv+9Wkx+3AJjyC7TsWfNYRIMkNUCNyJQpU1i6dGmp7X/++ScdO3Y0vQ4JCSE6OrrxJkWOzvDg59CiB8qG2QzgCL/o3ibLpweunUei9WrDpKY5/LZtB72u78Xvu9Pq+/SuMPL/oPsTpWaYLen/I6O/hLBA64EwbROsmqbOEbTuDXVB4bD7ILCbOpw9Lx3O74Xjv6hTTgC0Gw5j/wVu/raNX9RrkgA1MlFRUSxZssRsm4+PDzqdzkYR1VMaDfSdjqb9CIibA4e/x/1KPMTFAxAMTAPQQrGiZY1yN26D/n9G9uhd6qOMRuW24e/S/CWERZq3had+h/glsO0jyDoP+5aqj1LHtlMXOO38oCxzISolCZA1KAoU5dnm3I5NLfpDd3Jywt/f/K5o8ODBdO3alY8//pjBgwdz5swZXnnlFV55RV2puVGvl9u8LTz0Xxj+Dhz7GS7uU/sjAHi2osCvG28fC2bliSL46Qov5SYSPawD2tuaAA5fyORabiGuTg5ld5wWQlRMq1NHaXZ/Qh0dlrQJrp5QO0frXdRZ3dsNVycc1UrPDlE1kgBZQ1EevFeFznm14e2L6heAlaxatYrIyEieeeYZpk2bZrXPtXvugdDnmVKbnYB/9FHwWZ/Ioi1JfLLpFElXcvngkUj0Dlp2J6fz1c4UAPq39cJRhr8LUX06R2h3j/oQooYkAWpkfv75Z1xdXU2vR40aZbbfy8sLnU6Hm5tbqZoiUTatVsObo8Jo6+PC26sP88vhVBIuZnKj0EBa9q2J3P5Mvs66hNTqDQ0WQghhVZIAWYNjU7UmxlbntsCQIUNYuHCh6bWLiwsTJkywdlSN0iM9g2jl1ZQnY/Zw5lrpJtHMG0VM/3pf9edHEUIIYTWSAFmDRmPVZqja5OLiQrt27WwdRoPVM8SLpnoHcgsN5R4z+6ejDO/kb52hwkIIIapFOiSIUvR6PQZD+f+Bi/LtTk7nSk756xdVeSFVIYQQtUoSIFFKSEgIW7du5cKFC1y9etXW4diVChdIrcZxQgghaockQKKUd955h5SUFNq2bYuPj8xbY4lyF0it5nFCCCFqh/QBakRiYmLK3B4XF2f2um/fvhw8eLD2A2qAerf2IsDDmUuZ+ZQ1e5IGdaHI3q296jo0IYQQt5EaICGsSKfVMHNMJ+DO5VNvvZ45ppN0gBZCCBuTBEgIK4sKD2DhpO6lFj3193CWIfBCCFFPSBOYELUgKjyA4Z382Z2cTlp2Pr5uarOX1PwIIUT9IAmQELVEp9XQr21zW4chhBCiDNIEVk2NeoFQK5LfoxBCCFuQBMhCjo6OAOTl2Wj19wam5PdY8nsVQggh6oI0gVlIp9Ph6elJWloaAE2bNkWjkX4dllIUhby8PNLS0vD09ESn09k6JCGEEI2IJEDVULJKekkSJKrP09NTVp0XQghR5yQBqgaNRkNAQAC+vr4UFRXZOhy75ejoKDU/QgghbEISoBrQ6XTyH7gQQghhh6QTtBBCCCEaHUmAhBBCCNHoSAIkhBBCiEZH+gCVoWRyvqysLBtHIoQQQoiqKvl/uyqT7EoCVIbs7GwAgoKCbByJEEIIISyVnZ2Nh4dHhcdoFFmLoBSj0cjFixdxc3Oz+iSHWVlZBAUFce7cOdzd3a362fVBQy8fNPwySvnsX0Mvo5TP/tVWGRVFITs7m8DAQLTainv5SA1QGbRaLS1btqzVc7i7uzfYf9jQ8MsHDb+MUj7719DLKOWzf7VRxspqfkpIJ2ghhBBCNDqSAAkhhBCi0ZEEqI45OTkxc+ZMnJycbB1KrWjo5YOGX0Ypn/1r6GWU8tm/+lBG6QQthBBCiEZHaoCEEEII0ehIAiSEEEKIRkcSICGEEEI0OpIACSGEEKLRkQSoDi1YsICQkBCcnZ3p06cPu3fvtnVIVWJJ3J9//jkDBw6kWbNmNGvWjGHDhpU6fsqUKWg0GrNHVFRUbRfDIpaUOSYmplR5nJ2d6zDayllSnsGDB5cqj0aj4b777jMdYw/XsCxbt25lzJgxBAYGotFoWLNmja1DqpSlMa9atYrhw4fj4+ODu7s7/fr1Y/369WbHzJo1q9T1CwsLq8VSWMbSMsfFxZX5b/bSpUt1E3AlLC1PWX9fGo2Gzp07m46p79ewLHPmzKFXr164ubnh6+vLAw88QGJios3ikQSojqxYsYJXX32VmTNnsm/fPiIjIxk5ciRpaWm2Dq1ClsYdFxfHhAkT2Lx5Mzt37iQoKIgRI0Zw4cIFs+OioqJITU01PZYtW1YXxamS6lwrd3d3s/KcOXOmDiOumKXlWbVqlVlZEhIS0Ol0PPLII2bH1edrWJ7c3FwiIyNZsGCBrUOpMktj3rp1K8OHD+fXX38lPj6eIUOGMGbMGPbv3292XOfOnc2u3x9//FEb4VdLda9TYmKiWZl8fX1rKULLWFqe+fPnm5Xj3LlzeHl5lfobrM/XsCxbtmzh+eefZ9euXfz+++8UFRUxYsQIcnNzbROQIupE7969leeff9702mAwKIGBgcqcOXNsGFXlahp3cXGx4ubmpixdutS07YknnlDGjh1r7VCtxtIyL1myRPHw8Kij6CxX02v40UcfKW5ubkpOTo5pW32/hlUBKKtXr7Z1GBapbsydOnVSZs+ebXo9c+ZMJTIy0nqB1aKqlHnz5s0KoFy/fr1OYqqJ6lzD1atXKxqNRklJSTFts6drWJ60tDQFULZs2WKT80sNUB0oLCwkPj6eYcOGmbZptVqGDRvGzp07bRhZxawRd15eHkVFRXh5eZltj4uLw9fXl9DQUKZPn861a9esGnt1VbfMOTk5BAcHExQUxNixYzly5EhdhFspa1zDL774gvHjx+Pi4mK2vb5eQ2HOaDSSnZ1d6m/w5MmTBAYG0qZNGyZOnMjZs2dtFKH1dO3alYCAAIYPH8727dttHY7VfPHFFwwbNozg4GCz7fZ+DTMzMwFK/dusK5IA1YGrV69iMBjw8/Mz2+7n51dv2qjLYo2433jjDQIDA83+A46KiuLLL79k48aNzJs3jy1btjBq1CgMBoNV46+O6pQ5NDSUxYsX88MPP/D1119jNBrp378/58+fr4uQK1TTa7h7924SEhJ4+umnzbbX52sozH3wwQfk5OTw6KOPmrb16dOHmJgY1q1bx8KFC0lOTmbgwIFkZ2fbMNLqCwgIYNGiRaxcuZKVK1cSFBTE4MGD2bdvn61Dq7GLFy+ydu3aUn+D9n4NjUYj0dHR3HXXXYSHh9skBlkNXtSauXPnsnz5cuLi4sw6BY8fP970vEuXLkRERNC2bVvi4uK45557bBFqjfTr149+/fqZXvfv35+OHTvy73//m3fffdeGkdXcF198QZcuXejdu7fZ9oZ2DRuqb775htmzZ/PDDz+Y9YcZNWqU6XlERAR9+vQhODiYb7/9lqeeesoWodZIaGgooaGhptf9+/cnKSmJjz76iK+++sqGkdXc0qVL8fT05IEHHjDbbu/X8PnnnychIcGm/ZakBqgOeHt7o9PpuHz5stn2y5cv4+/vb6OoKleTuD/44APmzp3Lb7/9RkRERIXHtmnTBm9vb06dOlXjmGvKGtfK0dGRbt262X15cnNzWb58eZW+TOvTNRSq5cuX8/TTT/Ptt9+a1cCWxdPTkw4dOjSo69e7d2+7L4+iKCxevJjJkyej1+srPNaeruELL7zAzz//zObNm2nZsqXN4pAEqA7o9Xp69OjBxo0bTduMRiMbN240qzmob6ob9/vvv8+7777LunXr6NmzZ6XnOX/+PNeuXSMgIMAqcdeENa6VwWDg8OHDdl+e7777joKCAiZNmlTpeerTNRSwbNkypk6dyrJly8ymLyhPTk4OSUlJDer6HThwwO7Ls2XLFk6dOlWlmxB7uIaKovDCCy+wevVqNm3aROvWrW0ekKgDy5cvV5ycnJSYmBjl6NGjyjPPPKN4enoqly5dsnVoFaos7smTJytvvvmm6fi5c+cqer1e+f7775XU1FTTIzs7W1EURcnOzlb++te/Kjt37lSSk5OVDRs2KN27d1fat2+v5Ofn26SMd7K0zLNnz1bWr1+vJCUlKfHx8cr48eMVZ2dn5ciRI7YqghlLy1NiwIAByrhx40ptt4drWJ7s7Gxl//79yv79+xVA+fDDD5X9+/crZ86csXVo5aos5jfffFOZPHmy6fjY2FjFwcFBWbBggdnfYEZGhumY1157TYmLi1OSk5OV7du3K8OGDVO8vb2VtLS0Oi9fWSwt80cffaSsWbNGOXnypHL48GHl5ZdfVrRarbJhwwZbFcGMpeUpMWnSJKVPnz5lfmZ9v4ZlmT59uuLh4aHExcWZ/dvMy8uzSTySANWhTz/9VGnVqpWi1+uV3r17K7t27bJ1SFVSUdyDBg1SnnjiCdPr4OBgBSj1mDlzpqIoipKXl6eMGDFC8fHxURwdHZXg4GBl2rRp9S4RtKTM0dHRpmP9/PyUe++9V9m3b58Noi6fJeVRFEU5fvy4Aii//fZbqc+yl2tYlpLh0nc+7ix/fVJZzE888YQyaNAg0/GDBg2qtIzjxo1TAgICFL1er7Ro0UIZN26ccurUqbotWAUsLfO8efOUtm3bKs7OzoqXl5cyePBgZdOmTbYJvgyWlkdRFCUjI0Np0qSJ8p///KfMz6zv17AsZf0OAGXJkiU2iUdzMyghhBBCiEZD+gAJIYQQotGRBEgIIYQQjY4kQEIIIYRodCQBEkIIIUSjIwmQEEIIIRodSYCEEEII0ehIAiSEEEKIRkcSICGEEEI0OpIACSHswpQpU0qtiF0XYmJi0Gg0aDQaoqOjq/SeKVOmmN6zZs2aWo1PCFE9DrYOQAghNBpNhftnzpzJ/PnzsdXE9e7u7iQmJuLi4lKl4+fPn8/cuXPr9cKUQjR2kgAJIWwuNTXV9HzFihXMmDGDxMRE0zZXV1dcXV1tERqgJmj+/v5VPt7DwwMPD49ajEgIUVPSBCaEsDl/f3/Tw8PDw5RwlDxcXV1LNYENHjyYF198kejoaJo1a4afnx+ff/45ubm5TJ06FTc3N9q1a8fatWvNzpWQkMCoUaNwdXXFz8+PyZMnc/XqVYtj/uyzz2jfvj3Ozs74+fnx8MMP1/TXIISoQ5IACSHs1tKlS/H29mb37t28+OKLTJ8+nUceeYT+/fuzb98+RowYweTJk8nLywMgIyODoUOH0q1bN/bu3cu6deu4fPkyjz76qEXn3bt3Ly+99BLvvPMOiYmJrFu3jrvvvrs2iiiEqCXSBCaEsFuRkZH8z//8DwBvvfUWc+fOxdvbm2nTpgEwY8YMFi5cyKFDh+jbty//+te/6NatG++9957pMxYvXkxQUBAnTpygQ4cOVTrv2bNncXFxYfTo0bi5uREcHEy3bt2sX0AhRK2RGiAhhN2KiIgwPdfpdDRv3pwuXbqYtvn5+QGQlpYGwMGDB9m8ebOpT5GrqythYWEAJCUlVfm8w4cPJzg4mDZt2jB58mRiY2NNtUxCCPsgCZAQwm45OjqavdZoNGbbSkaXGY1GAHJychgzZgwHDhwwe5w8edKiJiw3Nzf27dvHsmXLCAgIYMaMGURGRpKRkVHzQgkh6oQ0gQkhGo3u3buzcuVKQkJCcHCo2defg4MDw4YNY9iwYcycORNPT082bdrEgw8+aKVohRC1SWqAhBCNxvPPP096ejoTJkxgz549JCUlsX79eqZOnYrBYKjy5/z888988sknHDhwgDNnzvDll19iNBoJDQ2txeiFENYkCZAQotEIDAxk+/btGAwGRowYQZcuXYiOjsbT0xOttupfh56enqxatYqhQ4fSsWNHFi1axLJly+jcuXMtRi+EsCaNYqupVYUQwg7ExMQQHR1drf49Go2G1atX22QJDyFExaQGSAghKpGZmYmrqytvvPFGlY5/9tlnbTpztRCiclIDJIQQFcjOzuby5cuA2vTl7e1d6XvS0tLIysoCICAgoMpriAkh6o4kQEIIIYRodKQJTAghhBCNjiRAQgghhGh0JAESQgghRKMjCZAQQgghGh1JgIQQQgjR6EgCJIQQQohGRxIgIYQQQjQ6kgAJIYQQotH5f4b64/1ICKJhAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"execution_count": 19,
"metadata": {
"filenames": {
"image/png": "/home/slavoutich/code/orangeqs/quantify-core/docs/_build/jupyter_execute/tutorials/Tutorial 3. Building custom analyses - the data analysis framework_18_0.png"
}
},
"output_type": "execute_result"
}
],
"source": [
"a_obj = MyCosineAnalysis(label=\"Cosine experiment\")\n",
"a_obj.run()\n",
"a_obj.figs_mpl[\"cos-data-and-fit\"]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "3515d291",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.674339Z",
"iopub.status.busy": "2023-09-26T17:44:32.674131Z",
"iopub.status.idle": "2023-09-26T17:44:32.678155Z",
"shell.execute_reply": "2023-09-26T17:44:32.677701Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"20230926-194430-301-508488-Cosine experiment/\n",
"├── cos-data-and-fit.png\n",
"├── Cosine fit.png\n",
"├── dataset.hdf5\n",
"├── quantities_of_interest.json\n",
"└── snapshot.json\n",
"\n"
]
}
],
"source": [
"print(display_tree(locate_experiment_container(a_obj.dataset.tuid), string_rep=True))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "4024a001",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.680203Z",
"iopub.status.busy": "2023-09-26T17:44:32.680013Z",
"iopub.status.idle": "2023-09-26T17:44:32.719168Z",
"shell.execute_reply": "2023-09-26T17:44:32.718515Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
classCosineModel(lmfit.model.Model):\n",
" """\n",
" Exemplary lmfit model with a guess for a cosine.\n",
"\n",
" .. note::\n",
"\n",
" The :mod:`lmfit.models` module provides several fitting models that might fit\n",
" your needs out of the box.\n",
" """\n",
"\n",
" def__init__(self,*args,**kwargs):\n",
" # pass in the model's equation\n",
" super().__init__(cos_func,*args,**kwargs)\n",
"\n",
" # configure constraints that are independent from the data to be fitted\n",
" self.set_param_hint("frequency",min=0,vary=True)# enforce positive frequency\n",
" self.set_param_hint("amplitude",min=0,vary=True)# enforce positive amplitude\n",
" self.set_param_hint("offset",vary=True)\n",
" self.set_param_hint(\n",
" "phase",vary=True,min=-np.pi,max=np.pi\n",
" )# enforce phase range\n",
"\n",
" # pylint: disable=missing-function-docstring\n",
" defguess(self,data,x,**kws)->lmfit.parameter.Parameters:\n",
" """\n",
" guess parameters based on the data\n",
"\n",
" Parameters\n",
" ----------\n",
" data: np.ndarray\n",
" Data to fit to\n",
" x: np.ndarray\n",
" Independet variable\n",
" """\n",
"\n",
" self.set_param_hint("offset",value=np.average(data))\n",
" self.set_param_hint("amplitude",value=(np.max(data)-np.min(data))/2)\n",
"\n",
" # Guess frequency and phase using Fourier Transform\n",
" freq_guess,phase_guess=fft_freq_phase_guess(data,x)\n",
" phase_wrap=(phase_guess+np.pi)%(2*np.pi)-np.pi\n",
" self.set_param_hint("frequency",value=freq_guess)\n",
" self.set_param_hint("phase",value=phase_wrap)\n",
"\n",
" params=self.make_params()\n",
" returnlmfit.models.update_param_vals(params,self.prefix,**kws)\n",
"\n",
" # Same design patter is used in lmfit.models to inherit common docstrings.\n",
" # We adjust these common docstrings to our docs build pipeline\n",
" __init__.__doc__=get_model_common_doc()+mk_seealso("cos_func")\n",
" guess.__doc__=get_guess_common_doc()\n",
"
\n"
],
"text/latex": [
"\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n",
"\\PY{k}{class} \\PY{n+nc}{CosineModel}\\PY{p}{(}\\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{model}\\PY{o}{.}\\PY{n}{Model}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ Exemplary lmfit model with a guess for a cosine.}\n",
"\n",
"\\PY{l+s+sd}{ .. note::}\n",
"\n",
"\\PY{l+s+sd}{ The :mod:`lmfit.models` module provides several fitting models that might fit}\n",
"\\PY{l+s+sd}{ your needs out of the box.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\n",
" \\PY{k}{def} \\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{o}{*}\\PY{n}{args}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kwargs}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{c+c1}{\\PYZsh{} pass in the model\\PYZsq{}s equation}\n",
" \\PY{n+nb}{super}\\PY{p}{(}\\PY{p}{)}\\PY{o}{.}\\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{p}{(}\\PY{n}{cos\\PYZus{}func}\\PY{p}{,} \\PY{o}{*}\\PY{n}{args}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kwargs}\\PY{p}{)}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} configure constraints that are independent from the data to be fitted}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce positive frequency}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{l+m+mi}{0}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce positive amplitude}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{offset}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\n",
" \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{phase}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{vary}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{,} \\PY{n+nb}{min}\\PY{o}{=}\\PY{o}{\\PYZhy{}}\\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{,} \\PY{n+nb}{max}\\PY{o}{=}\\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\n",
" \\PY{p}{)} \\PY{c+c1}{\\PYZsh{} enforce phase range}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} pylint: disable=missing\\PYZhy{}function\\PYZhy{}docstring}\n",
" \\PY{k}{def} \\PY{n+nf}{guess}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{n}{data}\\PY{p}{,} \\PY{n}{x}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kws}\\PY{p}{)} \\PY{o}{\\PYZhy{}}\\PY{o}{\\PYZgt{}} \\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{parameter}\\PY{o}{.}\\PY{n}{Parameters}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ guess parameters based on the data}\n",
"\n",
"\\PY{l+s+sd}{ Parameters}\n",
"\\PY{l+s+sd}{ \\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}\\PYZhy{}}\n",
"\\PY{l+s+sd}{ data: np.ndarray}\n",
"\\PY{l+s+sd}{ Data to fit to}\n",
"\\PY{l+s+sd}{ x: np.ndarray}\n",
"\\PY{l+s+sd}{ Independet variable}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{offset}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{np}\\PY{o}{.}\\PY{n}{average}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)}\\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{p}{(}\\PY{n}{np}\\PY{o}{.}\\PY{n}{max}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)} \\PY{o}{\\PYZhy{}} \\PY{n}{np}\\PY{o}{.}\\PY{n}{min}\\PY{p}{(}\\PY{n}{data}\\PY{p}{)}\\PY{p}{)} \\PY{o}{/} \\PY{l+m+mi}{2}\\PY{p}{)}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} Guess frequency and phase using Fourier Transform}\n",
" \\PY{n}{freq\\PYZus{}guess}\\PY{p}{,} \\PY{n}{phase\\PYZus{}guess} \\PY{o}{=} \\PY{n}{fft\\PYZus{}freq\\PYZus{}phase\\PYZus{}guess}\\PY{p}{(}\\PY{n}{data}\\PY{p}{,} \\PY{n}{x}\\PY{p}{)}\n",
" \\PY{n}{phase\\PYZus{}wrap} \\PY{o}{=} \\PY{p}{(}\\PY{n}{phase\\PYZus{}guess} \\PY{o}{+} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{)} \\PY{o}{\\PYZpc{}} \\PY{p}{(}\\PY{l+m+mi}{2} \\PY{o}{*} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\\PY{p}{)} \\PY{o}{\\PYZhy{}} \\PY{n}{np}\\PY{o}{.}\\PY{n}{pi}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{freq\\PYZus{}guess}\\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{set\\PYZus{}param\\PYZus{}hint}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{phase}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{value}\\PY{o}{=}\\PY{n}{phase\\PYZus{}wrap}\\PY{p}{)}\n",
"\n",
" \\PY{n}{params} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{make\\PYZus{}params}\\PY{p}{(}\\PY{p}{)}\n",
" \\PY{k}{return} \\PY{n}{lmfit}\\PY{o}{.}\\PY{n}{models}\\PY{o}{.}\\PY{n}{update\\PYZus{}param\\PYZus{}vals}\\PY{p}{(}\\PY{n}{params}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{prefix}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kws}\\PY{p}{)}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} Same design patter is used in lmfit.models to inherit common docstrings.}\n",
" \\PY{c+c1}{\\PYZsh{} We adjust these common docstrings to our docs build pipeline}\n",
" \\PY{n+nf+fm}{\\PYZus{}\\PYZus{}init\\PYZus{}\\PYZus{}}\\PY{o}{.}\\PY{n+nv+vm}{\\PYZus{}\\PYZus{}doc\\PYZus{}\\PYZus{}} \\PY{o}{=} \\PY{n}{get\\PYZus{}model\\PYZus{}common\\PYZus{}doc}\\PY{p}{(}\\PY{p}{)} \\PY{o}{+} \\PY{n}{mk\\PYZus{}seealso}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cos\\PYZus{}func}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n",
" \\PY{n}{guess}\\PY{o}{.}\\PY{n+nv+vm}{\\PYZus{}\\PYZus{}doc\\PYZus{}\\PYZus{}} \\PY{o}{=} \\PY{n}{get\\PYZus{}guess\\PYZus{}common\\PYZus{}doc}\\PY{p}{(}\\PY{p}{)}\n",
"\\end{Verbatim}\n"
],
"text/plain": [
"class CosineModel(lmfit.model.Model):\n",
" \"\"\"\n",
" Exemplary lmfit model with a guess for a cosine.\n",
"\n",
" .. note::\n",
"\n",
" The :mod:`lmfit.models` module provides several fitting models that might fit\n",
" your needs out of the box.\n",
" \"\"\"\n",
"\n",
" def __init__(self, *args, **kwargs):\n",
" # pass in the model's equation\n",
" super().__init__(cos_func, *args, **kwargs)\n",
"\n",
" # configure constraints that are independent from the data to be fitted\n",
" self.set_param_hint(\"frequency\", min=0, vary=True) # enforce positive frequency\n",
" self.set_param_hint(\"amplitude\", min=0, vary=True) # enforce positive amplitude\n",
" self.set_param_hint(\"offset\", vary=True)\n",
" self.set_param_hint(\n",
" \"phase\", vary=True, min=-np.pi, max=np.pi\n",
" ) # enforce phase range\n",
"\n",
" # pylint: disable=missing-function-docstring\n",
" def guess(self, data, x, **kws) -> lmfit.parameter.Parameters:\n",
" \"\"\"\n",
" guess parameters based on the data\n",
"\n",
" Parameters\n",
" ----------\n",
" data: np.ndarray\n",
" Data to fit to\n",
" x: np.ndarray\n",
" Independet variable\n",
" \"\"\"\n",
"\n",
" self.set_param_hint(\"offset\", value=np.average(data))\n",
" self.set_param_hint(\"amplitude\", value=(np.max(data) - np.min(data)) / 2)\n",
"\n",
" # Guess frequency and phase using Fourier Transform\n",
" freq_guess, phase_guess = fft_freq_phase_guess(data, x)\n",
" phase_wrap = (phase_guess + np.pi) % (2 * np.pi) - np.pi\n",
" self.set_param_hint(\"frequency\", value=freq_guess)\n",
" self.set_param_hint(\"phase\", value=phase_wrap)\n",
"\n",
" params = self.make_params()\n",
" return lmfit.models.update_param_vals(params, self.prefix, **kws)\n",
"\n",
" # Same design patter is used in lmfit.models to inherit common docstrings.\n",
" # We adjust these common docstrings to our docs build pipeline\n",
" __init__.__doc__ = get_model_common_doc() + mk_seealso(\"cos_func\")\n",
" guess.__doc__ = get_guess_common_doc()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"
classCosineAnalysis(ba.BaseAnalysis):\n",
" """\n",
" Exemplary analysis subclass that fits a cosine to a dataset.\n",
" """\n",
"\n",
" defprocess_data(self):\n",
" """\n",
" In some cases, you might need to process the data, e.g., reshape, filter etc.,\n",
" before starting the analysis. This is the method where it should be done.\n",
"\n",
" See :meth:`~quantify_core.analysis.spectroscopy_analysis.ResonatorSpectroscopyAnalysis.process_data`\n",
" for an implementation example.\n",
" """# pylint: disable=line-too-long\n",
"\n",
" defrun_fitting(self):\n",
" """\n",
" Fits a :class:`~quantify_core.analysis.fitting_models.CosineModel` to the data.\n",
" """\n",
" # create a fitting model based on a cosine function\n",
" model=CosineModel()\n",
" guess=model.guess(self.dataset.y0.values,x=self.dataset.x0.values)\n",
" result=model.fit(\n",
" self.dataset.y0.values,x=self.dataset.x0.values,params=guess\n",
" )\n",
" self.fit_results.update({"cosine":result})\n",
"\n",
" defcreate_figures(self):\n",
" """\n",
" Creates a figure with the data and the fit.\n",
" """\n",
" fig,ax=plt.subplots()\n",
" fig_id="cos_fit"\n",
" self.figs_mpl.update({fig_id:fig})\n",
" self.axs_mpl.update({fig_id:ax})\n",
"\n",
" self.dataset.y0.plot(ax=ax,x="x0",marker="o",linestyle="")\n",
" qpl.plot_fit(ax,self.fit_results["cosine"])\n",
" qpl.plot_textbox(ax,ba.wrap_text(self.quantities_of_interest["fit_msg"]))\n",
"\n",
" adjust_axeslabels_SI(ax)\n",
" qpl.set_suptitle_from_dataset(fig,self.dataset,"x0-y0")\n",
" ax.legend()\n",
"\n",
" defanalyze_fit_results(self):\n",
" """\n",
" Checks fit success and populates :code:`quantities_of_interest`.\n",
" """\n",
" fit_result=self.fit_results["cosine"]\n",
" fit_warning=ba.check_lmfit(fit_result)\n",
"\n",
" # If there is a problem with the fit, display an error message in the text box.\n",
" # Otherwise, display the parameters as normal.\n",
" iffit_warningisNone:\n",
" self.quantities_of_interest["fit_success"]=True\n",
" unit=self.dataset.y0.units\n",
" text_msg="Summary\\n"\n",
" text_msg+=format_value_string(\n",
" r"$f$",fit_result.params["frequency"],end_char="\\n",unit="Hz"\n",
" )\n",
" text_msg+=format_value_string(\n",
" r"$A$",fit_result.params["amplitude"],unit=unit\n",
" )\n",
" else:\n",
" text_msg=fit_warning\n",
" self.quantities_of_interest["fit_success"]=False\n",
"\n",
" # save values and fit uncertainty\n",
" forparameter_namein["frequency","amplitude"]:\n",
" self.quantities_of_interest[parameter_name]=ba.lmfit_par_to_ufloat(\n",
" fit_result.params[parameter_name]\n",
" )\n",
" self.quantities_of_interest["fit_msg"]=text_msg\n",
"
\n"
],
"text/latex": [
"\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n",
"\\PY{k}{class} \\PY{n+nc}{CosineAnalysis}\\PY{p}{(}\\PY{n}{ba}\\PY{o}{.}\\PY{n}{BaseAnalysis}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ Exemplary analysis subclass that fits a cosine to a dataset.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\n",
" \\PY{k}{def} \\PY{n+nf}{process\\PYZus{}data}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ In some cases, you might need to process the data, e.g., reshape, filter etc.,}\n",
"\\PY{l+s+sd}{ before starting the analysis. This is the method where it should be done.}\n",
"\n",
"\\PY{l+s+sd}{ See :meth:`\\PYZti{}quantify\\PYZus{}core.analysis.spectroscopy\\PYZus{}analysis.ResonatorSpectroscopyAnalysis.process\\PYZus{}data`}\n",
"\\PY{l+s+sd}{ for an implementation example.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}} \\PY{c+c1}{\\PYZsh{} pylint: disable=line\\PYZhy{}too\\PYZhy{}long}\n",
"\n",
" \\PY{k}{def} \\PY{n+nf}{run\\PYZus{}fitting}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ Fits a :class:`\\PYZti{}quantify\\PYZus{}core.analysis.fitting\\PYZus{}models.CosineModel` to the data.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
" \\PY{c+c1}{\\PYZsh{} create a fitting model based on a cosine function}\n",
" \\PY{n}{model} \\PY{o}{=} \\PY{n}{CosineModel}\\PY{p}{(}\\PY{p}{)}\n",
" \\PY{n}{guess} \\PY{o}{=} \\PY{n}{model}\\PY{o}{.}\\PY{n}{guess}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{x0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{)}\n",
" \\PY{n}{result} \\PY{o}{=} \\PY{n}{model}\\PY{o}{.}\\PY{n}{fit}\\PY{p}{(}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{x0}\\PY{o}{.}\\PY{n}{values}\\PY{p}{,} \\PY{n}{params}\\PY{o}{=}\\PY{n}{guess}\n",
" \\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:} \\PY{n}{result}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n",
"\n",
" \\PY{k}{def} \\PY{n+nf}{create\\PYZus{}figures}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ Creates a figure with the data and the fit.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
" \\PY{n}{fig}\\PY{p}{,} \\PY{n}{ax} \\PY{o}{=} \\PY{n}{plt}\\PY{o}{.}\\PY{n}{subplots}\\PY{p}{(}\\PY{p}{)}\n",
" \\PY{n}{fig\\PYZus{}id} \\PY{o}{=} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cos\\PYZus{}fit}\\PY{l+s+s2}{\\PYZdq{}}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{figs\\PYZus{}mpl}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{n}{fig\\PYZus{}id}\\PY{p}{:} \\PY{n}{fig}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{axs\\PYZus{}mpl}\\PY{o}{.}\\PY{n}{update}\\PY{p}{(}\\PY{p}{\\PYZob{}}\\PY{n}{fig\\PYZus{}id}\\PY{p}{:} \\PY{n}{ax}\\PY{p}{\\PYZcb{}}\\PY{p}{)}\n",
"\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{plot}\\PY{p}{(}\\PY{n}{ax}\\PY{o}{=}\\PY{n}{ax}\\PY{p}{,} \\PY{n}{x}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x0}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{marker}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{o}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{linestyle}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n",
" \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{plot\\PYZus{}fit}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{)}\n",
" \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{plot\\PYZus{}textbox}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{,} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{wrap\\PYZus{}text}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}msg}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{)}\\PY{p}{)}\n",
"\n",
" \\PY{n}{adjust\\PYZus{}axeslabels\\PYZus{}SI}\\PY{p}{(}\\PY{n}{ax}\\PY{p}{)}\n",
" \\PY{n}{qpl}\\PY{o}{.}\\PY{n}{set\\PYZus{}suptitle\\PYZus{}from\\PYZus{}dataset}\\PY{p}{(}\\PY{n}{fig}\\PY{p}{,} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{p}{,} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x0\\PYZhy{}y0}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n",
" \\PY{n}{ax}\\PY{o}{.}\\PY{n}{legend}\\PY{p}{(}\\PY{p}{)}\n",
"\n",
" \\PY{k}{def} \\PY{n+nf}{analyze\\PYZus{}fit\\PYZus{}results}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{)}\\PY{p}{:}\n",
" \\PY{l+s+sd}{\\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
"\\PY{l+s+sd}{ Checks fit success and populates :code:`quantities\\PYZus{}of\\PYZus{}interest`.}\n",
"\\PY{l+s+sd}{ \\PYZdq{}\\PYZdq{}\\PYZdq{}}\n",
" \\PY{n}{fit\\PYZus{}result} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{fit\\PYZus{}results}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{cosine}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\n",
" \\PY{n}{fit\\PYZus{}warning} \\PY{o}{=} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{check\\PYZus{}lmfit}\\PY{p}{(}\\PY{n}{fit\\PYZus{}result}\\PY{p}{)}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} If there is a problem with the fit, display an error message in the text box.}\n",
" \\PY{c+c1}{\\PYZsh{} Otherwise, display the parameters as normal.}\n",
" \\PY{k}{if} \\PY{n}{fit\\PYZus{}warning} \\PY{o+ow}{is} \\PY{k+kc}{None}\\PY{p}{:}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}success}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{k+kc}{True}\n",
" \\PY{n}{unit} \\PY{o}{=} \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{dataset}\\PY{o}{.}\\PY{n}{y0}\\PY{o}{.}\\PY{n}{units}\n",
" \\PY{n}{text\\PYZus{}msg} \\PY{o}{=} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Summary}\\PY{l+s+se}{\\PYZbs{}n}\\PY{l+s+s2}{\\PYZdq{}}\n",
" \\PY{n}{text\\PYZus{}msg} \\PY{o}{+}\\PY{o}{=} \\PY{n}{format\\PYZus{}value\\PYZus{}string}\\PY{p}{(}\n",
" \\PY{l+s+sa}{r}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdl{}f\\PYZdl{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{,} \\PY{n}{end\\PYZus{}char}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+se}{\\PYZbs{}n}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{Hz}\\PY{l+s+s2}{\\PYZdq{}}\n",
" \\PY{p}{)}\n",
" \\PY{n}{text\\PYZus{}msg} \\PY{o}{+}\\PY{o}{=} \\PY{n}{format\\PYZus{}value\\PYZus{}string}\\PY{p}{(}\n",
" \\PY{l+s+sa}{r}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZdl{}A\\PYZdl{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{,} \\PY{n}{unit}\\PY{o}{=}\\PY{n}{unit}\n",
" \\PY{p}{)}\n",
" \\PY{k}{else}\\PY{p}{:}\n",
" \\PY{n}{text\\PYZus{}msg} \\PY{o}{=} \\PY{n}{fit\\PYZus{}warning}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}success}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{k+kc}{False}\n",
"\n",
" \\PY{c+c1}{\\PYZsh{} save values and fit uncertainty}\n",
" \\PY{k}{for} \\PY{n}{parameter\\PYZus{}name} \\PY{o+ow}{in} \\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{frequency}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{,} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{amplitude}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{:}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{n}{parameter\\PYZus{}name}\\PY{p}{]} \\PY{o}{=} \\PY{n}{ba}\\PY{o}{.}\\PY{n}{lmfit\\PYZus{}par\\PYZus{}to\\PYZus{}ufloat}\\PY{p}{(}\n",
" \\PY{n}{fit\\PYZus{}result}\\PY{o}{.}\\PY{n}{params}\\PY{p}{[}\\PY{n}{parameter\\PYZus{}name}\\PY{p}{]}\n",
" \\PY{p}{)}\n",
" \\PY{n+nb+bp}{self}\\PY{o}{.}\\PY{n}{quantities\\PYZus{}of\\PYZus{}interest}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{fit\\PYZus{}msg}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]} \\PY{o}{=} \\PY{n}{text\\PYZus{}msg}\n",
"\\end{Verbatim}\n"
],
"text/plain": [
"class CosineAnalysis(ba.BaseAnalysis):\n",
" \"\"\"\n",
" Exemplary analysis subclass that fits a cosine to a dataset.\n",
" \"\"\"\n",
"\n",
" def process_data(self):\n",
" \"\"\"\n",
" In some cases, you might need to process the data, e.g., reshape, filter etc.,\n",
" before starting the analysis. This is the method where it should be done.\n",
"\n",
" See :meth:`~quantify_core.analysis.spectroscopy_analysis.ResonatorSpectroscopyAnalysis.process_data`\n",
" for an implementation example.\n",
" \"\"\" # pylint: disable=line-too-long\n",
"\n",
" def run_fitting(self):\n",
" \"\"\"\n",
" Fits a :class:`~quantify_core.analysis.fitting_models.CosineModel` to the data.\n",
" \"\"\"\n",
" # create a fitting model based on a cosine function\n",
" model = CosineModel()\n",
" guess = model.guess(self.dataset.y0.values, x=self.dataset.x0.values)\n",
" result = model.fit(\n",
" self.dataset.y0.values, x=self.dataset.x0.values, params=guess\n",
" )\n",
" self.fit_results.update({\"cosine\": result})\n",
"\n",
" def create_figures(self):\n",
" \"\"\"\n",
" Creates a figure with the data and the fit.\n",
" \"\"\"\n",
" fig, ax = plt.subplots()\n",
" fig_id = \"cos_fit\"\n",
" self.figs_mpl.update({fig_id: fig})\n",
" self.axs_mpl.update({fig_id: ax})\n",
"\n",
" self.dataset.y0.plot(ax=ax, x=\"x0\", marker=\"o\", linestyle=\"\")\n",
" qpl.plot_fit(ax, self.fit_results[\"cosine\"])\n",
" qpl.plot_textbox(ax, ba.wrap_text(self.quantities_of_interest[\"fit_msg\"]))\n",
"\n",
" adjust_axeslabels_SI(ax)\n",
" qpl.set_suptitle_from_dataset(fig, self.dataset, \"x0-y0\")\n",
" ax.legend()\n",
"\n",
" def analyze_fit_results(self):\n",
" \"\"\"\n",
" Checks fit success and populates :code:`quantities_of_interest`.\n",
" \"\"\"\n",
" fit_result = self.fit_results[\"cosine\"]\n",
" fit_warning = ba.check_lmfit(fit_result)\n",
"\n",
" # If there is a problem with the fit, display an error message in the text box.\n",
" # Otherwise, display the parameters as normal.\n",
" if fit_warning is None:\n",
" self.quantities_of_interest[\"fit_success\"] = True\n",
" unit = self.dataset.y0.units\n",
" text_msg = \"Summary\\n\"\n",
" text_msg += format_value_string(\n",
" r\"$f$\", fit_result.params[\"frequency\"], end_char=\"\\n\", unit=\"Hz\"\n",
" )\n",
" text_msg += format_value_string(\n",
" r\"$A$\", fit_result.params[\"amplitude\"], unit=unit\n",
" )\n",
" else:\n",
" text_msg = fit_warning\n",
" self.quantities_of_interest[\"fit_success\"] = False\n",
"\n",
" # save values and fit uncertainty\n",
" for parameter_name in [\"frequency\", \"amplitude\"]:\n",
" self.quantities_of_interest[parameter_name] = ba.lmfit_par_to_ufloat(\n",
" fit_result.params[parameter_name]\n",
" )\n",
" self.quantities_of_interest[\"fit_msg\"] = text_msg"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display_source_code(CosineModel)\n",
"display_source_code(CosineAnalysis)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "031c5f76",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:32.721510Z",
"iopub.status.busy": "2023-09-26T17:44:32.721299Z",
"iopub.status.idle": "2023-09-26T17:44:33.746892Z",
"shell.execute_reply": "2023-09-26T17:44:33.746236Z"
}
},
"outputs": [
{
"data": {
"image/png": "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P//U1NRfnnfeeSd0yBe3m9KkuoNNHRRHSnQIjVWLCdalr6mDDs9Ie/rjHjp0iMWLF2NM9/klo1RXdODAAQoLCwkNDeWyyy4jIiKi+Rc1QkSYP38+Q4cOpba2ltdffx2Hw9GO0SrV8zRXCmmA3OJKVuwq7LygjlJiYmJ1UFBQ9aJFi0aUlJQcVVP7v//977Pvu+++D1577bXnCgsLo84888wLnn322WlPPfXUW0888cTL69evH/K73/1uqu9rli5dOiE2NtbxwQcfPHPGGWesePzxx08/8cQTL5w0aVL2kiVLnh4/fvyOu+6661xPMl5bWytJSUklTz311BtffvnlE1ddddVXL7744px77rlntO9+N23aNCgrKyvh1VdffWnhwoX/ve2221bn5+cnvPrqq309YxYtWpScm5ub9Nvf/nbN0XzePY0m1R3MbhPuOcPquFI/sfZ8fM8Zo+rcpBEREcEll1xCQEAAO3bs4JtvvumcYJXqoVJSUrj22mu55JJLiI+PP+r92Ww2zj//fOLi4igpKeGdd97Rk1+lmtDSUsiWjusKQkJCXH/84x/f/uqrrybEx8ffMXjw4J+fffbZc959991Wtwq67bbbPr/iiiuyzz333P2nnnrq6u3btw/417/+9f655567/xe/+MWeY445ZuPKlSvr3HSVmpq6/5VXXvn6hBNOKHzxxReXBgQE1EZFRTkWLFiQecIJJxQuWLDgK4fDEbpkyZIkgLCwMNcbb7zx5UUXXbTvuOOOK7r//vvXzZo1a83//ve/Okl1UFBQzccff/zuaaedVnDaaacVTJo0qWTUqFE7nnnmGe9NJP/85z8zhg4dmjVjxoxDbf369USaVHeCeWNSeOqyiSRH1y0FSY4OabSGLDExkVNPPRWAL774gn379nVKrEr1VDExMaSlpbXb/oKDg7nggguw2+1s3bqVlStXttu+lepp2lIK2R3cddddm/bt2/e3Rx555JWpU6du//HHHweec845195yyy0TWrOfOXPm5Hn+n5iYWBYYGFjjm7DGx8eXlZSUhPu+ZtCgQd7XBAUFmbCwMMewYcO820aNGlUGsHfvXu/rrrvuuilpaWnXhIeH3xocHPyHL774YtKBAwfq1MKlpqbm1a+jvuSSS1Z99913Y4qKigLKysrs33777dhzzz13dWs+x95Ab1TsJPPGpHDyqORW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\n",
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/png": "/home/slavoutich/code/orangeqs/quantify-core/docs/_build/jupyter_execute/tutorials/Tutorial 3. Building custom analyses - the data analysis framework_21_0.png"
}
},
"output_type": "display_data"
}
],
"source": [
"a_obj = CosineAnalysis(label=\"Cosine experiment\").run()\n",
"a_obj.display_figs_mpl()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "28669dcc",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:33.749290Z",
"iopub.status.busy": "2023-09-26T17:44:33.749087Z",
"iopub.status.idle": "2023-09-26T17:44:33.753506Z",
"shell.execute_reply": "2023-09-26T17:44:33.752937Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"20230926-194430-301-508488-Cosine experiment/\n",
"├── analysis_CosineAnalysis/\n",
"│ ├── dataset_processed.hdf5\n",
"│ ├── figs_mpl/\n",
"│ │ ├── cos_fit.png\n",
"│ │ └── cos_fit.svg\n",
"│ ├── fit_results/\n",
"│ │ └── cosine.txt\n",
"│ └── quantities_of_interest.json\n",
"├── cos-data-and-fit.png\n",
"├── Cosine fit.png\n",
"├── dataset.hdf5\n",
"├── quantities_of_interest.json\n",
"└── snapshot.json\n",
"\n"
]
}
],
"source": [
"print(display_tree(locate_experiment_container(a_obj.dataset.tuid), string_rep=True))"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "2201766c",
"metadata": {
"execution": {
"iopub.execute_input": "2023-09-26T17:44:33.755690Z",
"iopub.status.busy": "2023-09-26T17:44:33.755484Z",
"iopub.status.idle": "2023-09-26T17:44:34.436826Z",
"shell.execute_reply": "2023-09-26T17:44:34.436132Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:Executing `.analysis_steps` of CosineAnalysis\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:extracting data: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 1: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 2: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 3: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 4: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 5: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 6: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 7: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 8: >\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:CosineAnalysis:executing step 9: >\n"
]
}
],
"source": [
"# activate logging and set global level to show warnings only\n",
"logging.basicConfig(level=logging.WARNING)\n",
"\n",
"# set analysis logger level to info (the logger is inherited from BaseAnalysis)\n",
"a_obj.logger.setLevel(level=logging.INFO)\n",
"_ = a_obj.run()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 5
}