{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Signal per DOM\n", "\n", "Load a simulation and plot the signal per DOM." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from asteria import config, source, IO\n", "from asteria.interactions import Interactions\n", "from asteria.neutrino import Flavor\n", "from asteria.config import parse_quantity\n", "import astropy.units as u\n", "\n", "import numpy as np\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set up styles for plotting" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "axes_style = { 'grid' : 'True',\n", " 'labelsize' : '24',\n", " 'labelpad' : '8.0' }\n", "\n", "xtick_style = { 'direction' : 'out',\n", " 'labelsize' : '20.',\n", " 'major.size' : '5.', \n", " 'major.width' : '1.',\n", " 'minor.visible' : 'True',\n", " 'minor.size' : '2.5',\n", " 'minor.width' : '1.' }\n", "\n", "ytick_style = { 'direction' : 'out',\n", " 'labelsize' : '20.',\n", " 'major.size' : '5', \n", " 'major.width' : '1.',\n", " 'minor.visible' : 'True',\n", " 'minor.size' : '2.5',\n", " 'minor.width' : '1.' }\n", "\n", "grid_style = { 'alpha' : '0.75' }\n", "legend_style = { 'fontsize' : '18' }\n", "font_syle = { 'size' : '20'}\n", "text_style = { 'usetex' : 'True' }\n", "figure_style = { 'subplot.hspace' : '0.05' }\n", "\n", "mpl.rc( 'font', **font_syle )\n", "mpl.rc( 'text', **text_style )\n", "mpl.rc( 'axes', **axes_style )\n", "mpl.rc( 'xtick', **xtick_style )\n", "mpl.rc( 'ytick', **ytick_style )\n", "mpl.rc( 'grid', **grid_style )\n", "mpl.rc( 'legend', **legend_style )\n", "mpl.rc( 'figure', **figure_style )\n", "\n", "mpl.rcParams['text.usetex'] = True \n", "mpl.rcParams['text.latex.preamble'] = [r'\\usepackage[cm]{sfmath}']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load Configuration\n", "\n", "This will load the source configuration from a file.\n", "\n", "For this to work, either the user needs to have done one of two things:\n", "1. Run `python setup.py install` in the ASTERIA directory.\n", "2. Run `python setup.py develop` and set the environment variable `ASTERIA` to point to the git source checkout.\n", "\n", "If these were not done, the initialization will fail because the paths will not be correctly resolved." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "conf = config.load_config('../../data/config/default.yaml')\n", "ccsn = source.initialize(conf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prepare Iterables\n", "\n", "Read from the configuration, the range of neutrino energies (`Enu`) to simulate and the times (`time`) at which to perform the simulation. Defining the time and energy arrays in this manner (end-point inclusive) aligns with the definition in `asteria.simulationHandler`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Define neutrino energy spectrum\n", "E_min = parse_quantity(conf.simulation.energy.min).to(u.MeV).value\n", "E_max = parse_quantity(conf.simulation.energy.max).to(u.MeV).value \n", "dE = parse_quantity(conf.simulation.energy.step).to(u.MeV).value\n", "Enu = np.arange(E_min, E_max+dE, dE) * u.MeV\n", "\n", "# Define post-bounce times at which to evaluate\n", "t_min = parse_quantity(conf.simulation.time.min).to(u.s).value\n", "t_max = parse_quantity(conf.simulation.time.max).to(u.s).value \n", "dt = parse_quantity(conf.simulation.time.step).to(u.s).value\n", "time = np.arange(t_min, t_max+dt, dt) * u.s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load Simulation and Compute Signal per DOM\n", "\n", "Import a simulation from the file `\\data\\processed\\nakazato-shen-z0.02-t_rev300ms-s13.0.h5` using `IO.load()`. It is assumed that this file has already been generated$^*$. This file is specific to the model and its path is stored in the `conf` object. The configuration parameters describing the simulation are contained within the `config.simulation` node as follows...\n", "\n", "- `interactions` The neutrino interactions used to perform the simulation\n", "- `flavors` The neutrino flavors used to perform the simulation\n", "- `hierarchy` The neutrino mass hierarchy used to perform neutrino oscillations.\n", "- `energy` The Energy resolution at which cross sections, lepton mean energy, and the source PDFs were binned.\n", " - Contains 4 nodes `min`, `max`, `step`, and `size`\n", "- `time` The Time resolution at which the simulation profile is binned.\n", " - Contains 4 nodes `min`, `max`, `step`, and `size`\n", "\n", "If no object is found, `None` will be returned.\n", "\n", "The code to save a simulation to file is ...\n", "\n", "```IO.save(conf, result)```\n", "\n", "Where `result` is the photonic energy deposition in 1 m$^3$ of ice scaled to a progenitor that is 1 kpc away. This is scaled to progenitor distance of the source and the effective volume of a DOM to find the expected signal increase for a single DOM.\n", "\n", "\n", "$^*$__NOTE__: This notebook assumes that the simulation described in `\\data\\config\\default.yaml` has already been performed and saved. It will be written to the file `\\data\\processed\\nakazato-shen-z0.02-t_rev300ms-s13.0.h5`. To generate this file, run the notebook `\\docs\\nb\\detector_response.ipynb`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [], "source": [ "effvol = 0.1654 * u.m**3 / u.MeV\n", "\n", "E_per_V = IO.load(conf) * u.MeV / u.m**3\n", "E_per_V /= ccsn.progenitor_distance.to(u.kpc).value**2\n", "signal_per_DOM = effvol * E_per_V " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot Signal Increase Per DOM\n", "This will plot the signal increase in a single DOM caused by each flavor. The curve shows the DOM response from 0.05 seconds before the core bounce to 0.65 seconds after the core bounce. Note that this is computed with the assumption that the effective volume of the DOM is 0.1654 m$^3$ MeV$^{-1}$" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAHFCAYAAAC95I3KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzde3xcZZ348c8396aXpGnTG72m5dZyKU1ABBSFBEVRERvwwuruIgR3V90Vfw2ou0RXramuuu6qpOC6rujaJlURZNUEkDvYNg0UKFCaXii9J01vaXN9fn88ZzKTNDOTuZ4zM9/365XXPHPmnDPfTNN885zzPN9HjDEopZRSbstyOwCllFIKNCEppZTyCE1ISimlPEETklJKKU/QhKSUUsoTNCEppZTyhBy3A0hVU6dONfPnz0/Y+U+ePMm4ceMSdn4Vmn7+7tHP3l2J/vw3btx4yBhTOtprovOQIiMidcDdM2fOZM+ePQl7n7a2NpYuXZqw86vQ9PN3j3727kr05y8iG40xFaO9FrSHJCKfjvWNjTH3xXoOrzHG1AF1FRUVmsmVUiqOQl2yWw34fulKwPax/CIWZ7+0S0hKKaUSYyz3kFqBFqAzwbEopZTKYKES0reBjwDlwDJsUmoE1hpjjiYhNqWUUhkk6LBvY0ytMWYRNiHdB1yMvYx3WET+IiK3iMikJMWplFIqzYWdh2SM2WSMqTHGlADXYJPTIuBebHL6gyYnpZRSsYpoYqwxpmWU5HQJ/uT0RxH5cALiVEopleainhhrjGnB3leqEZFKoBq4GmgSEYAVxph/i0uUSimVJEeOHOHQoUP09va6HYorRIQtW7aMef/s7GwmTpxISUkJ+fn5Mb13XCo1GGNaROQNYANQC5RhL+sppVTKOHXqFPv372f27NmMGzcO54/rjNLd3U1hYeGY9jXG0NfXx9GjR9m1axdz586NKSnFVMtORJaKyEoR2QpsA+5xXlrlfKUdEakTEZPIKg1KKXccPHiQ0tJSCgsLMzIZRUpEyMvLY+rUqUyePJnOzthmB0WckERkfkAS2ojtEU3BDhOvMMYsMsbcaYzZHlNkHmWMqTPGyKxZs9wORSkVZ6dOnWLChAluh5GSJk2axLFjx2I6x5gu2YnIfGA5UIO9HCdAF3YwQ4MxZlNMUSillAf09/eTk6M1p6ORm5vLwMBATOcIVctuEnAbcBN2YmxgEmo0xjwS0zsrpZQH6aW66MTjcwv1p0AXth5dK/ayXIsxpi3md1RKKaVGMZa+6TLnK9IMaIwxUfd9RWQZtje2DJsUVxpjmsZwXDH2suJdQKcxpibE+euBCmydvgZjTFoOxEhr+1+BnU9DxzYYVwyD/VA4BS6pgSxdf1KpVBIqYWxnbJW9405EyrADJlqAKmxSahSR6lBJSUSWY+vttWOT0uog+90GNDiv1wPFQEk8vweVIMZA09/AKw+AGQy+3x/uhCu+AJV3Jy82Lzu2Dx77BhzdC5PnQXYeLLwazqx0OzKlhgRNSMaYhckMZIRaoN0YU+U8bxGRhdgeU9CEZIxpEpHJxpguETk82j5OD6oBqDHGjJqwlEcN9MO/Thn9tfnvAMmC7Y/7tz31XftVuwPGTU5KiJ7UdAu8NMp/m+d+BNf/GJZ+PPkxKTUKr17TuBGbNAI1AMXOpbagjDFdYc5dj012moxSyeDA6cno9qfgnzug7gj89UPwqd/Z9j9uHr5f/Xz4c73tXWWa//nQ8GQ04wK4+Fb/899+Bk5p8f5M09TURHl5OeXl5ae9dvnll9PVFe7XaGJ4LiE5PZhi7GW3IcaYVqc56tK3EbgR2+NaLiLNInJYRBpjPKdKJGPgGzP8z0sW2sQz43zIHqWTXzzXvl7+N/5tf/4mfLUYmv42cxLTS+ug/c/+51/aA7c/Ce//Dny21b/9u4uTHppy1/Lly6msrKSiYviv05aWFnbs2EFxcbErcUWVkJwKDVc5j/Gu8u27lxMsRUf9SQUku0rscPZ6YCWwXESaoz2vSrDffRYGnLpiBcXwudbQ+/t84PvwmWeHb3tpnU1MgyHuP6UDY2zy9fnKQcgb738+ZSGcX23bvcfgiW8nNz7lupaWFqqqqoZtq6+v54477nApoghq2YnIp7ETY0+7ZCYiG7Gj1H4Sh5jCJZwgNxHGpMx57DLGOP8baRGRLqBBRMqMMe0jDxKROmDY3fHS0lLa2hI3Cr6joyOh508VhZ0vc9amnw89b3vPbyHSz+X6x8nuPcL5D3/Qv+1rk2m7/vGgh6T651/01uMscNqvvWs1J1965bR9ZP5tXLjZuTjw6Nc5+tIfab/sO0mLMRg3P3sRobu725X3TrbW1lYuu+yyoe9306ZNbNu2jXXr1kX9GfT29sb0bxc2IYnIUuzINV+FBrCX07qcbcXYy2jlIlILVBtjXog6Ir9giakjhnP6el1rRmxfi71HVckoI/OMMXVAXeC2iooKs3Tp0hhCCa2trY1Enj8l9HbDN6/0P79zF0sLiqI/3yVH4AfLoHMbAEtPPg1v//tRd035z/+Bdw81z37XTcH3O+t1+LezAJh0YD1Lf3sl/MthV4fMu/nZb9myZdTCovPv/L0L0YS341vvj+q41tZWiouLCSyB9rnPfY6WlhZycnLGXFx1pLy8PM4999yojoUwl+xE5CLs8OuFwDpgoTEmy6lXV2GMKTHGZGHXRmrDVvjeKCLvDn7WsHxJY9gwbOdyW+DrEQvo/XSN2O577s6FUzW6fzvb3755HcSSjHz+YYO//ccv2ZF76eboXv+Q+OvvCb3vxOnwpb3Dt31tcubcZ8tQLS0tVFb6h/xXV1dTX19PWVnZsP2ampqoqqqivLyclpaWhMcVqnRQEeArD1Qeql6dszZSubMu0p+wc4bKjDERD98xxrQ7l9BGDjv33X3bQGy6sMuyD3HmPcGIgRTKRevvgx7nx+eMClgUp/kyWVn2vtKP326fb16bfsOe19/rby+5Pvz+eYVwdxesnGPvJwH870fh4yMvJGSuaHsiXtXc3Ex1dTWtra00NDSMmoxaWlpYs2YNzc3NtLe3U1NTMyyJJUKoHtJdQBFQNdbiqU5iuhHbu7kzhrjWYuvoBarB3vsZ4x3toFZjYwy03HlM/J8AKryje+H3ATdWb4nzeJPpixm6+vzQF+J7bi/4y3328az3Qu64sR0jAl/a7X/++h/gVW9eplKx27BhA11dXXR2dtLQ0HBaMgKoqamhq6uL6upqamtrkxJXqHtIy7HzdR6N5ITO5NR27AqyX4oyrnrgNmc4dgN2IIWv2jgw1KupxQ6maB2x3afE9zzgct1K59zNzrnLnPerGcMcJpVog4Pw3XP8z/9+fWLuZ9ywGn59K/SfhOMHYUJp/N/DDYd3Qs8R277k1tD7juYrB+Dr02z7Vx/XScVp6vDhUesGnKa5ObmDj0P9Ty8j+h5DC/4RbRFzkkc59p5OI3aI9sjKCsXYXtTQ+ziTZrc5X8XYJOZ77jt34CW7RmySq9aJsh7xvYA5MVffDaVnJeZ9FgdcyvrzysS8hxs2r/W3510R+fE5+XDbn/3P6+fr/aQM1dnZOTRBtqurKymTZcNV+442qZQRw+ADGJoIWxXmdQm3Lcix7aHOrVzy5HfhmHODfVwJvCOBl9Ny8mDO2+DN52HDT+DaVaNPsk01G39mH896L+QWRHeOWRfBhR+HF35pn7+4Bi78aHziUymjsbGRq6++mpKSEsrKymhoGFk8J/5C9ZAewQ6DjogzGKKS2AcfqExy8HV45Kv+5198PfHv+eGA/2BPuj//JmY9x+HIm7Yd60CN63/kb/+mJv0nEqvTVFZWsnHjRpqbm5OSjCB0QmoARET+EOE5H8FWCa+POiqVWYyBH17sf37Ha5Cdm/j3LVkA4517R39eCQN9iX/PRNr1nL8997LYziUCHwsYZffaw7GdT6kxCJqQnBFz9wLXiMgfRGReqBM5pYTWYwcgNEU6GEJlsMa/9rff/12YOCPornF3y5/87f9bkbz3TYQN/2Ufp58Xn0EaZ73H3/69e+VkVOYIOXzJWdxuHXbia7uI/EpEvigiNzgJ6NMistJJRM3YwQKNxpgQU8NTm4jUiYjZs2eP26GkhyNvwSu/te1xJXDxLcl9/5IymDzftjf8F/SeSO77x9OJg/axeG58zicC73EGfBzfB0d2h95fqRiFHU/r1Hy7ETjqPNZjR6f5hk3XYhPREexIuLRNRmDLCBljJLDkhorBz67ztz+70Z0Y/jrgctQf7nInhlidPAy7/2Lbl38+fuetCKyYnkajEZUnjWmChzGmyRgzGTsy7dvYXtMjzuMq7OTZEmPMvSFOo9RwJw5BpzM9rOIWKHRp0d6iM6DUmfvU+jPoO+VOHLHY/7K/PTWOQ+Vzx8GcS2170/06BFwlVEQzDo0xjxhj7jTG3GiMucZ5vNMY80j4o5UaIfC+xHu/5V4cMLxMzpP/5l4c0Xrq+/Zxztvin9ivDfi3CVxfSak489wCfSpDDPT57x2dda2dF+SmyfPtPSyAJ1bBYIoVXX3DmVGfiAEhMwMqbz/0T/E/v1KOMSckEZnkDGJYIyJbRaTDefyjiNwhIvMTF6ZKO8/+0N9+v0d6JH/166Fm6bZ1LgYSoc6AmsBvuz3+5xeBdzojEA9vh+7O+L+HUowxIYnISuAwdhBDNbYS92Tn0XdfaZszCi/eK8iqdDM4AC3Oeod5E+09HC+YddFQ84yXf5Q6S1M885/+9py3JeY9Lv+cvx34x4RScRRuPaQiEdmKHUkn2MRTjR1VF5iQ7sQ/Cm+DiExMZNAqxT0fsEbPX/3GvThGEzji7rkU+MVrjC19BDahZmUn5n3yJ9oh8gBtv0jMe6iMF66H9Ag26awGJjsDGNYZYzYZY44YY7Y7Ax1WOaPw7sRZpC/BcatUNdBnF8bzmXNx8H3dMP9yf7v5X7xfvWFPwMowiR4YctU/28dje+GkFsZX8Rc0IYnIrdiqCyuMMbcbY46EO5kxZhVwO7BIRJI8w1GlhMARbH8TaVWqJAmM609fcS+OsXgioAZfoi7X+Zx9rb/tm4SrVByF6iHVANuMMRFVnXSWcWjFJqa0k1KVGh78R/j+BfCzD9iJk27r7xk+uXLe292LJZTAuJ6/Bw5scS+WUPpOwmvOInoX/ZUdfJBIuePsPT+wK/qqlCQiIb/Gjx+PJPpnKYhw6yFFW+J1LbZ3lXZSolLDpl9AXRFs/Cl07YTtT8DPb3A7KnjsG/72bY+7F8cYvHTtb/1PfnQp7NvsXjDBbHnQ335XkipM+JJ1qg2LV0OMMSG/Tpw4gXFpAnSohFQMtId4PZRt4XdRCbHjaXjg79yO4nT9vfD0v9t2TgHMWhp6f5f150+Gm+73b7jnCtj/insBjeaZH9hHyU7eSMUzr0nO+6iMpBNj082W3/nbH/wP+LRTRGNPq12q2y2PB9xwvzVFCsGf+wH4RJP/+Y/fbhOrF/R2+3tt133X3VhUymlqaqK8vJzy8vLTXrv88suTsjrsaDQhpRvfkOp3fxmWfRKmnul/bb9Ll536e/2DGXIKYPoSd+KIxplVcOP/+J//4KLg+yaTrzIDwJIPJ//9j+1L/nuquFm+fDmVlZVUVFQM297S0sKOHTsoLi52Ja5wCWmyU6Ehoi/ApSqZamgF93M/aB8LimDBle6FA9D4KX/b4/eORrX4Q7DgnbZ9dDes/4m78QA8FzCXq6Aoee8rzq+MVx/yTm9RRaWlpYWqqqph2+rr67njDvfWvgqXkFZjKzRE+nXPaCdTSRRY8dmlETMAvPqwf7XRyQtg2jnuxRKLTwSUEvr9F2BzU/B9E22gH3Y9Y9vXfju57332+/zt/pPJfW8VV62trVRWVg573t7ezhe+8AXXYsoJ8dp27FLkKlUcP4in/sl2b4Rffcz/vOYJ92KJVU4e/NMr8L3F9vm6W2BrM9wQ7UDUGLQ/5m+fvzy57z1pJuRPgp6jyX1ft9UlsRcaibqw00NH1draSnFx8bBLc7feeivNzc0hjkq8oAnJGLMwmYGoONi81t92s1cEcPwA3HeV/3nNk1CQ4mUOi86Az23y30d68VfQd2L4aLxkCKy47dYaUiqltbS0DOsdVVdXU19fT1lZGd3d3cP2bWpqoqGhgc7OTurr64cdF2+hekgq1fQ7C8stqnI3IRkD3wkYTPGpB2HmBe7FE08lZfClPfBNZx7algdtiaGqryXn/XuOw5E3bft9Ec1ZV7GIsifiVc3NzVRXV9Pa2kpDQ8NQMhqppaWFNWvW0NzcTHt7OzU1NQlNSDrKLh3NOM/d978/YBLuO1f4BwSki7zx8OX9/udP/7u9pPPyb20l80R69Ov+9rJPJva9VNrasGEDXV1ddHZ20tDQMGoyAqipqaGrq4vq6mpqa2sTHpf2kCIkInXA3TNnznQ7lMj1doffJ1YHXoVtzjyjwilw1ZcT/55uyC2AFdth1QL/Nt9owhvuhQtujP979vfA8z+27ennQ05+/N9DZYTDh8deSiyZ95W0hxShlCgdNJJveO4TSRiR9aOAAp//6MFyO/FUWAL/fMgOC88OSA6/vhUe/cbwfftOwpHdcKIj+vf73Wf97er/jv48So1RZ2fn0CTZrq6uhE+Y1R5SOglWiWHeZXaYcH6Cl6l6PCDhfehH9tJWusvO9U+c7Wz3D3h4YpX9Wny9f6n2kT75OygLMkes5xicOOR8hmLXPHpxjX1twgyYuiiu34ZSo2lsbOTqq6+mpKSEsrIyGhoSO6pUE1I68V3OYcSAhrIr4ckE3wBv+yU8FnB/46JPJPb9vKikDL74BnwnIFkES0YA/+NMXp62BDB2jaGcPDi8I/T7/N2zsUYaH+1/tr1DlbYqKyvZuDF5y9tpQkoneROg93h8fkm0/tyWISpZYC9HHd4OF34M5l1uf/HmFtj9jIF73jG8LNEXPLpcQzJMKLUjstp+CRt+au+jAZx3g72vNDgIT30XHv1X/zEHXg59znEldiXYEwfhs63uD/X2zUHavUETkoorzyYkEVkG3ItdxqIVWGmMCTs9XkSKsUtn3AV0GmNqwux7GMAY4/LEnTiaEsMUsvU/sZUIfPa/5G+/NeIvpYJiODXimvLnX4BJKXR/LVGWftx+jZSVBe/8ov3q7oTuDnt/6cAWuxJr3nj/HxUlo498ct3Vd8MjX3V/rptKO55MSCJShl0GvQWowialRhGpDpWURGQ50IhdNqMMW/oolPqAfTObMfCNGf65TD7XfAMOvQ67noXsvOEJamQy+spBe8lJjU1hib+3k0rztDQRqQSJOCGJyFXYnkdbAuLxqQXajTG+yn8tIrIQ22MKmpCMMU0iMtkY0yUiIcc1OknvNmzSui1OcaeuF341PBlV/wyWXD/6vofegDefs5W7cwpg7qUwfmpy4lRKpa1oekhNwCHgrHA7xuBGYOWIbQ3AbSKyzBjTGuxAY8xYxyXWY78Xdxb+cMPOp4O/9uwP/e27u0L/FTx1kY7yUkrFXTTzkO4FForIhfEOBobu65y2Wm1AEqo47aDI32MZsJzTk1568s2RMYO2dzPSqSP+QQkf+pFeklFKuSKahPRNbCXwpgQlJd8QomA9l3isHFUPtITqaaWVMwJWheweZWLmyYCP+tzrEh+PUkqNIppLdtXYwQa3Aa0i0gps4PQEYowxX4ri/OESzpQozjlERCqBSuD0tXuDH1MH3B24rbS0lLa2xN1G6+joiPj85w8OkA28+OJmBnMLh712ZskSxne+zOtbt9LdObzkzMyXfsx0oLeglFde3R5j5Okhms8/U0zbs5dZwP4DB9ibgM/Izc9eRE6rdp1p+vv7o/4Ment7Y/q3iyYh3Yl/VJpgf7GP9svdANEkJJ9giSmG2itAFL0jY0wdUBe4raKiwixdujTGUIJra2sjovN3dw4tmHbBBeefXpVhw3johLPOPBPmjjjvLpug8oqmR/aeaSzizz+THH8MXoHp06YxPQGfkZuf/ZYtWygsLAy/Yxrr7u6O+jPIy8vj3HPPjfq9o+0hJZKvpzVs9p9zbynw9Yg5w8KXATXOfSRwkqvzvMsY0x7seE975QF/OzvCopsHnImsF386fvEopVSEIk5IxphNiQgk4PztItIFjJzd6RvMsCGG0/t6dqMVZNqInYA75kt5njLgFFCdc2nouUCbG2FuQAHUvpOw+y+2na1ziFQEXv9T8taBUhkhpmrfIjJJRK4SkUkjts2PMa61nD43qAbbg4l6IIIxZpUxRgK/cCbPOs9TMxkFCjbBcrDPPnbtHL49cEmKs69NTEwqvfguBx/ckvj1n1RGiSohOUloPbbsTjN2kIBPDbAtxhF49UCxiDSKSKWIrMAO0x5aIUpEykSkIeDSW+B2X0+oZMTzzHWl76MLMqR7XIn7NdJUarjwY/62Me7FodJOxAlJRK7GjrKbDHyGEb/hjDHfxg4LvyvaoJz7OOXYgQ2NwE1AjTEmsBRQMbYXNZRsnOS0zfkqxiYx3/MM5/wzdR8avrn9seSHolJb3niQbLejUGkomkENtcA2Y8yZACJyzyj7tABXxxKYc2muKszrI5PhadvG8D412F5devNNdn1rox2R5+sN7XZuyZ3sdCcupZRyRHPJroIQ9eQcXWjBUm+Ze6m/fXSPv+1LVNeMWOFUKZW2mpqaKC8vp7z89Nvml19+ecJXhg0mmh7SWKpjV2J7ScorCorsQnAHXoZ9m2HGeXa77x6AlgtSKmMsX76c9evXn5Z4Wlpa2LFjB8XF8SiIE7loekhrgeUicstoLzqX8C7C3vtJOyJSJyJmz5494Xf2Gl/ZoFcfso/GBKwyq5TKJC0tLVRVDb8rUl9fzx133OFSRFEkJGPMKqANWO2MtDPATSLyYxHpwA40WGeMuS++oXqDMabOGCOzZqXgInRX/JN9fPUhm4wCl5uYd5k7MSmlXNHa2kplZeWw5+3t7XzhC18IcVRiRbVAnzGm3BmK/S1nk696Qxd2NNy98QhOxdmsi/ztrl0wYZpt5xQMf00pNcz5Pzvf7RBGtflTm6M6rrW1leLi4mGX5m699Vaam5vjFVpUop4Y60wyzcJWVKgCJhtjSjQZeVhghYbtj7sXh1LKVS0tLcN6R9XV1dTX11NW5h8esGrVKmpr7fzFrq4uysvLaW9PbGW1mJcwN8Zsx847UqkgtxD6umHnM1A0x+1olEoJ0fZEvKq5uZnq6mpaW1tpaGg4LRkBrFixgoULF3LTTTdRW1tLY2PjafvEW9Q9JBGZLyJfFJE1IvJH5x7SpwPLCCkPuubr9lGyYceTth14L0mpSOx6xu0IVBQ2bNhAV1cXnZ2dNDQ0BE00DQ0NXH311aMmrESIqockIj/GX2sucLywAepFZIUx5iexBqci4KvYHY6vgGrb/fCOL9r2u2JZJURlJOPUsNv5DCx4p7uxqIgdPnx4TPs1NjZSUlKStGHg0ZQO+ha2soEA38aW+JnsPH7Haa8WkQ/HMU4Vzsb/Htt+kwJGB/rKCElMNXZVJnrn/3MaOn8tXdXU1FBVVUVDQwM1NckpZhPNb6LbsD2hZcaYO40xm4wxR5zHWuAa7E9p1LXsVBTGl9rHCz8aer+FV/nbY01iSp1GE1E6q62tZeHChSxfvnxo8ENLS+JrHURzya4TaDbGjLpOrTGmRUTWATfEFJmKzqTZoV8XgfHT4MQB/7bSsxMbk1IqpdTX1w97nqzh4NH0kFqxSSmUbUBCF/JTcXTOdW5HoJRSUSWklcCNIjIxxD4fAb4ZXUjeltKlg3x8q8sqpZSHRHPJrgJ7AblVREa7qFiJLb5aJSIjl48wxpi/i+I9PcMYUwfUVVRUpO7KZJPnwV53qvkqpVQw0SSkGuzid8XYKg2h9hvJACmdkNLC0k/A3hdsu6QMsnSUnVLKfdEkpGpsMlKpKrfQ316io/NVDAb73I5ApZGIE5JTKkilsiXXw0vrbHHVi252OxqVyp74Nlz1FbejUGki5lp2KgXlT4RP/tbtKFQqW3gVPLHKX/lDqTjQmwdKqcidscztCFQa0oSklFLKEzQhKaWU8gRNSEoppTxBE5JSSilP0IQUobQoHaSUylgiEvJr/PjxiLhTzV0TUoSMMXXGGJk1a1b4nZVKdwO9sHuj21GoCBhjQn6dOHECY9ypjKYJKV34FttTKhkC5x/pMuYqToJOjBWRlTGe2xhjdG3sZNj1PJhB23apq60yjAhc+vfw3A/djkRFoampiZUr7a/4jRuH93Avv/xyHnvssaQtWx4oVKWG2hjPbYCoE5KILAPuBZZh12BaaYxpGsNxxdhq43cBncaY04q8isht2O+vLJJze9ah1/1t38qxSiWa/vGTspYvX8769evp6hpe9b+lpYUdO3a4kowgdEIqT1oUI4hIGbARaAGqsEmpUUSqQyUOEVkONALt2GSzepR9VmCTVS12ocEa59y1xphV8f5ekmrpzfpLQik1Ji0tLdx1113DttXX13PHHXe4FFGIhGSMcXPF11qg3RjjW0+pRUQWYntMQROSMaZJRCYbY7pE5HCQ3e4Cyo0x7c7zJhFpBupFZLUxRhcKUkqlvdbWViorK4c9b29v54EHHnAtJq8WV70RuzJtoAbgNhFZZoxpDXbgGBLK2oBk5FOPXViwAtsrU0qpIVvOOdftEEZ17qtbojqutbWV4uLiYZfmbr31Vpqbm+MVWlQ8N8rOuQdUjL3sNiQgCVXEcv7R7ikF6Izl3EplpJ7jbkegItTS0jKsd1RdXU19fT1lZWXD9lu1ahW1tXY4QVdXF+Xl5bS3j/x7Pn6i6iGJyFJsr6KC4Iv1bTTGXBLF6Uucx2A9nUTcbauCYUlPKRWOb67K49+Cd98Vet8UF21PxKuam5uprq6mtbWVhoaGUZMRwIoVK1i4cCE33XQTtbW1NDY2jrpfvESckETkImADINiksR07gMCXNn3RRruQX7iEMyXK847KGUCxgtGXXPftUwfcHbittLSUtra2eIYyTEdHx5jPX/LmLuYCHZ0dvJnAmDJJJJ9/ppqQvYhFQH/uRF6K42fl5mcvInR3d7vy3sm0YcMGrrzySvbs2cP3vvc9gKHvu+I0ygUAACAASURBVL+/f9hn8O///u9cffXVPPTQQ8yYMSPk59Pb2xvTv100PaR64Ah2YMB25xJbB7DMGHPU+QW/AVgTdVRWsMTUEeN5hzixNwOrjDGnjcjzMcbUAXWB2yoqKszSpUvjFcpp2traGPP5BzfDJphSMoUpCYwpk0T0+Weq7rnw9D+Rk50d18/Kzc9+y5YtFBYWuvLeyXT4cLAxXzYxBX4GDz74ICUlJcycOTPsZ5OXl8e550Z/vy2ae0iVwDd9S5k7gwgEWOA8bwfWEqLHEYbvUl1J4EYneQS+HhPnfBuBJmNMrHOulFIq7dTU1FBVVUVDQwM1NdH+Sh+7aBJSF6dfNmsHLg54vo0oBx84Ca0LWDjiJd/5NkRz3kBOMnoEaNBkpJRSp6utrWXhwoUsX758aABES0tiByFHc8luA7aXFHgXcx127tB9zvObiG3wwVrAV03BpwboinXgQUAyWpPyE2GVUipB6uvrhz1PxpDwaHpIq4FyZ6Sdzz3AQhHZKiJbsZUVYkml9UCxiDSKSKVTXWE5AQlKRMpEpMEpMcSI7b6BFSUjnoNNRp1Aq4gsH/HlTr0MpZRSkfeQnGoI5QSMonMGN9yIraRQhK2mcGu0QRlj2p33qMdfCqhmxMCDYmwvqhlbj85X/y6wUuBy58t5WYqxyRJsL2+kakJUgvC6QQxijGtrmagMdaoLjuyGotluR6JSXFTzkEYrK+TUmIvbL3Pn0lxVmNcl3LYRr3eFej3VPbDpLX6+5xmabr+MrKy0/TaVV+RN8Le3NkPF37gXi0oLnqvUoKLXN2Bo3dVFd9+A26GoTJCTB0tusG3f8idKxUATklIqegVFbkeg0ki0pYNuwD+SriTIbibK0kFKKaUyUDSlg/4f8C3C34txZ1H2BPOVEZo5c6bboQS1+3A358yY5HYYSqUkowODomJM7L/yo7lk55uuWw1MNsZkBfnKjjk6DzLG1BljZNasWW6H4nfglWFPH3xhj0uBKJXacnJy6O/vdzuMlNTX10d2dmy/9qNJSGXAamPMOmPMkZjeXcXHpl8AkC32xvJgWvZNladtdXcdnXgpKCjg+HFdTiMaR48eZeLEiTGdI5qEpEs0eE3hZAAaB650ORCVcbKcv4h3PetuHHFSWlrKwYMH6e7ujsslqHRnjKG3t5dDhw5x+PBhSkqCDSkYm2gGNdQCa0XkHmPMCzG9u4qrPSauK3MoFd7Ft8L6+yBvvNuRxEVBQQHTp09n37599PT0uB2OK3p7e8nLyxvz/tnZ2UycOJG5c+eSn58f03tHk5AWYKs0tIrIRoZXRghkjDF/F3VkSinvy58Qfp8UU1RURFFR5g5nb2tri2kJiVhEk5DuxL8IXwXBq3obQBOSUkqpMYkmIVXHPQqllFIZL5riqqfVsVPe0tevZVyUUqkn4lF2IvJHEfn0GPe9QURWisiHIw9NReu+p7brCCGVXEffgh4dLq1iE80lu5EruY5KRP6IXeJBACMijcaYj0bxfioKxoBONlcJF1jx+41mWKJ/e6roRTMPqR27eJ6v93NaD0hErsYuHdEKlGNXl61Oh56SiNSJiNmzR6shKMW4Yihxxjj1Z+YwaRU/0fSQGrErxIK/np0RkY0BxVSrsaPsbjXGtAGbRKQSuB34TSwBu80YUwfUVVRU6DUxpQBmXwyd7W5HodJAND2kcmwiuh17+W4h8BlgkYj8yNnHNyw88Ke0keBDxFUM+gY0NyqlUl80PaQbgRXGmHsDtq12quOuJGDukTHmaMA+ndjlKlSc9fQPkOt2EEopFaNoF+gb7U/ycH+mlzG8x6Ti7L1LZuhABqVUyoomITUCXxKRD4vIJOfrBuwaSS3OPmUAIhJY+vUmtDBrQmVpMlJuenGN2xGoFBfNxNgaEakA1uHvFfl+FVaKyHr895AeEZHV2BF3FwErYoxXKeU14lT87tzubhwq5UW1hLkxplxElmPnGQE0G2PWOdsq8K8ouxb/QIZVxphHYw1YKeUxl30WXvglZOudTBWbqBISgDGmCWgKtU1EJmOTVqsxRv98UiodZaXl4tDKBdEOahgTY8wRZ2VZTUZJ4qsY9MirB9wNRCmlIhSyhyQia7DrGn00YNvKMZ7bGGO+FEtwXiQidcDdM2fOdDuUkF7de5SqxdPdDkMppcYs3CU7X8WFwBp0tWM8twHSLiF5rlLD4Z1M6N499PQf3r2I/3zsDRcDUhmr55jbEagUN5aENFJ5IgJRUXprw1DzSM5UdBFz5Zpje+Hga1B6ttuRqBQVMiEZY9aNsk3XQ/KghwcuoT8rtvXslYpKScACAJqQVAziMqjBN0E2HudS0RlM7PgUpYLLzoFzrnM7CpUGQv4Wc5aYWBri9atEZCtwGDgsIh0ickc8AhORZSKyUUSM87h8jMcVO8c2ikhDPM+tlFIqcYImJGdNo0agJsjrHwGasdW+t2MrNwiwSkT+EEtQIlIGbMQWZK0C1gCN4RKH8/phJ+5R94323KlgZvE4t0NQSqmoheoh+RLRaaPqRKQI+0sfoNoYs8gYc6MxpgS4D6gSkVtiiKsWaDfGVBljWowxq4DVwL2hDnIm5k42xiwEuuJ57lTwkWVnuB2CUkpFLVRCWoatsHB0lNdudB5Xjxz4YIypAY4E7BONG4GRl9sasCvVLgt1oDEmWCKK+dxKqTDaH3M7ApXCQiWkMmBDkNd885Mag7zeQpSL8YlIMXbdpGFLVRhjfJXCo17kL5HnViqjDfTax53PuBuHSmmhElI7/qrdQ5zLdZUAIYqlxrIQX4nzGKyn49Vze8qJ3gG3Q1CZ5LLP2secAnfjUCkt1DykTcANIjLRGBM4Bfs257FllGN8YlmML1xSiGXuZ1Tn9pULCtxWWlpKW1tbDKGE1tHRMabzF+/eyXyn/corW9i/vxuAex7fxntnnkpYfOlurJ+/ssYd3sPZQPfJk7we4+emn7273Pz8QyWkWuAjwEYRqcGOTLsRqMderhu1hJCILMAmpFGHXEcgWPLoiPG8EZ/bVy4ocFtFRYVZujToiPiYtbW1Mabz52wburC6ePG5zJzfR+MrT5OfkzW249Woxvz5K+utQXgcCseNi/lz08/eXW5+/kETkjGmXURuB+7h9N7Q7caYYCnUl7CiTUi+y2klgRud+z+Br3vt3J5wzoyJ4XdSSikPClc6aLWINAO3Y1d8bQfqgy0nISIXYUfnNYVIWCE5ibALO78pkG/AQbCBFq6eWykF7G2za6CIhN9XqRHC1psxxmw3xtQaY64xxtweam0jY8wmZ07STTHGtRb/vSqfGqArYEScF8+tVGbKDZiUvUf/G6noeLUAWj12XlCjiFSKyAps5YWh+1YiUiYiDSPnDjnbfaMDS0Y8H9O5lVIRKj3H3z552L04VErzZEIyxrRjl7koxs51ugmoMcasDtitGNvTGUo2TnLa5nwVYxON73kk51ZKRUIEFl7ldhQqxYVbD8k1zuWzqjCvS7ht0ZxbKaVU8nmyh6TGbtAb69YqpVTMNCGluNf3+ecs5+dkuxiJUo7jB92OQKUoTUgp7kRv/1B7RpGWbVEu6nMqgzz3Q3fjUClLE1KERKRORMyePXvcDgWAM958EICZI5JRT/8gb3Z2uxGSylTnvN8+5uvi0So6mpAiZIypM8bIrFmz3A4FgPEn3gTAOBMRc7P9/6TNr+x3JSaVoWZpuR8VG01IKc6IvW/UPPnjAGRnCR9ZNhuAQaMjHpRSqUMTUpoYDCjVUjQu18VIlFIqOpqQlFLxtfNpW89OqQhpQlJKxUdBwKoue3U9IxU5TUhKqfiYvsTf7tPFIVXkNCEppeJDBOZc6nYUKoVpQlJKKeUJmpCUUkp5giakCHmtUkMov3x+l9shqEy16eduR6BSkCakCHmtUsNofPOQDh7rcTkSlXGynAK/x7VKiIqcJqQ0dPOlcwHIyQ67NJRS8XX5PzoN/dlTkdOElIZE9JeBUir1aEJKcX0DOiNeKZUeNCGluM5ue5+ov3/Q5UiUCvBGs9sRqBSkCSnF5Yj9J3znWaUuR6IUkD/B3+7Y5l4cKiVpQkoT86aMdzsEpWDO2/zt3uPuxaFSkiakNHa4u48j3X1uh6EySVY2zDjf7ShUitKElIbG5WYPtZu36HwQpVRq0ISUhsblZbN0jl0KoFcHOyi3GP3ZU5HRhBQhT5UOOrafBYM7Rn3p3JkTkxuLUj6DA/bxqe+7G4dKOZqQIuSp0kF7Ng01+ybOcTEQpQJMnu80dI6ciowmpDTw+MAFDOZNCL+jUslwwY1uR6BSlCakNNBPdtDXXtzdlcRIlFIqepqQ0pRxrpY8+IIH7nWpzGT0kp2KjGcTkogsE5GNImKcx+XxOk5EKgP22SYit8X/O3DXTRfbe0rFhXkuR6Iy1pbfQd8pt6NQKcSTCUlEyoCNQCdQBawBGsMlpbEcJyKVQDPQ4uxTD9SLSH0CvhXXlE7MdzsElalmXeRvH33LvThUyslxO4AgaoF2Y0yV87xFRBYC9wJNMR5XDzQZY2p9BznLNTQ4x6eVIye1UoNKssnzoaQMOtvdjkSlGE/2kIAbsQkiUANQLCLLYjxuGbB+xD4bwF7uiy5c7zre089Lbx1xOwyllArLcwlJRIqBYmDYn1fGmFanWRHjcS3AxSMOrxixb8qbVTRuqP3GAS1yqZTyPs8lJKDEeQw2Xrk4xuNqgEoRqXcGN9yGvYxXE3GkHpaVJXxoqQcm76rMtuVBtyNQKcSL95CCJRyfKbEcZ4xpF5GrsYMfVjiv1RpjVgc7UETqgLsDt5WWltLW1hbmLaPX0dER9vyD27fiu8b42muv0bM/d9jrnZ2HAVj50Gbmy8FEhJm2xvL5q+CWnOgiF+h87Rl2TXhXRMfqZ+8uNz9/LyYkn2AJpiOW45weUQNQbYxpcu4bNYrIxcaY6tEONMbUAXWB2yoqKszSpUvDhBK9trY2wp2/rePVofa1VywjP2f4BNmLDrzGk7veYNL4cWHPpYYby+evQjD/Cg/8PSUlUyiJ8HPUz95dbn7+Xrxk57vkVhK40blHFPh6xMc57QZglTGmCYbuG1UDy50h4Sln6oS805IRwHUX2kt2Ww8cp7u3P9lhqYwmbgegUpDnEpIxph2bXBaOeMk3KGFDDMf5ktXIUXa+gRBpNcquZLx/Uuyz28J1LJVSyl2eS0iOtcDI6gk1QFeYkXAhj3OSFtgJsYF8PaO0GWUHMHVCPmVT7dLmL+856nI0KiO98EsY1HWR1Nh4NSHVY+cONToj4VYAywmYuCoiZSLSMGLuUNjjsAnqthGj7O7FTpZtSfh3lmRnTLbDv3/bpjPmVRLNvMDfPq6rFqux8WRCcnoy5dgBCo3ATUDNiJFwxdjeUFkkxzntKmyvqBmbrFYGG9CQ6j5+yVwAJuZ7efyKSjszzodxJeH3UyqAZ39LOZfmRl5aG/n6aXdOwx3n7NOCTVxpb2ax7SG9sPsIR072UTQuN8wRSsVJthb2VZHxZA9Jxc/cksKhtq6NpJTyMk1Iaa5kfB7L5oabM6xUIjjrIbX9wt0wVMrQhBQhEakTEbNnT+osfFeY59krsyqdZTmXh4/tdTcOlTI0IUXIGFNnjJFZs9yvEyeDOtlVedgV/+h2BCrFaEJKYQs3fx+ALMY2z0PXRlJKeZkmpBQ2kGsnve7MWxRyv57+AQAaHtcF05QLdjztdgQqRWhCSgMvjHt7yNffcWYpAOPzT693p1TC5Dprch3cAn2n3I1FpQRNSBmgYv5kt0NQmWjxh/ztgR734lApQxOSUiox8idC/iS3o1ApRBNSBnlFC6wqpTxME1IGyM22/8xHT/Wzq6Pb5WhURtra7HYEKgVoQsoAS+f4KzUcPK43l1US9Ti98r0vuBuHSgmakDJAbnaWlg9S7qj8qtsRqBSiCSlCXioddLJvIOJjevp1sTSllDdpQoqQl0oHdZ7oBaC3P3xi6huwhS5/+NgbCY1JqVE9f4/bEagUoAkphWWLXQ6qcvH0sPued0YRAPk5OjlWJVHRbPs40AsDWntRhaYJKQ2UTswPu0/ludOSEIlSI5z3EbcjUClEE1KGefTVAxhj3A5DZQoREO2Vq7HRhJQhpk0sGGq/ceC4i5GojHXM/YFAyts0IWWI887wl3DpH9Qekkoi4wy6eXGtu3Eoz9OElCFEhHNmTASgf0ATkkqiJTfYR11QUoWhCSmD9A7YOUj3PL7N5UhURpl6ptsRqBShCSmD+HpIiLtxqAzV+nO3I1Aepwkpg1x73ky3Q1CZqHCKfTy62904lOdpQoqQl0oHRev3L+5lUAc2qGS56Gb7mJ3nbhzK8zQhRchLpYMiNW9K4VB79+GTLkaiMkpWjtsRqBShCSmDXDC7mLwc+09u0B6SSrKBXti32e0olIdpQsowMybZCbJarEElTeCluvY/uxaG8j7PJiQRWSYiG0XEOI/L43mcs1+ziBwWkW0isiK+34E3DTj3jn769HaXI1EZQwTe9hm3o1ApwJMJSUTKgI1AJ1AFrAEawyWlsR4nIrc5+7UD1UAt0BXnb8OTfIVYu3sjX0tJqahlOfXsju93Nw7laV6921gLtBtjqpznLSKyELgXaIrlOBEpBhqAGmPM6oREnySTBzsjPubjl8yl7c2MyL3Ki575D7jm625HoTzKkz0k4EZs0gjUABSLyLIYj6vHJq2UTkYc3sG0wQMAGIn8n9FXtUGppFj8IftYUOxuHMrTPJeQnB5MMfZy2hBjTKvTrIjxuBuxPaflAfeQGuMVf9J07RpqnixZHPHhD7TtoVeXM1fJMmWR2xGoFOC5hASUOI/BrisF+xMr7HEBSasSuAnbW1oJLBeR5ihidd2zA4sx2eEX6PN5+8IpQ+2uk72JCEmp4E51QYfWUlSj8+I9pHB9+ilBto/luDKn3WWMqXbaLSLSBTSISJkxpn3kgSJSB9wduK20tJS2trYwbxm9jo6OkOefcPANfH9zbt36OtmHx56Uiguy6Do1yMsvvcyecbp42mjCff4qQoP9LHWabz5xPx0LPhR0V/3s3eXm5+/FhOQTLMF0xHCcr/e0ZsRra7H3miqB0+4tGWPqgLrAbRUVFWbp0qUjd42btrY2Qp5/+1F42jbPPPMsls6bPOZz5zx0COhhyXlLhi3cp/zCfv4qcjs/Di/8kjmzZzMnxGern7273Pz8vXjJzpc0SgI3OpfbAl+P+LiA3s+wcxhjfM8z6o7rro5ut0NQmSTH6cVve9TdOJRneS4hOUmjC1g44iXfoIQNMR7XBZQH7uDMX4IRAyLS1aHjPQD87oXULRCrUpBvLtKOJ92NQ3mW5xKSYy1w24htNdheTuso+0dy3GrsSLtAvomzLVHEmnI+fcUCQJdFUkl28aftY94Ed+NQnuXVhFSPHRXXKCKVTlmf5diJr4Dt1YhIw4h5SWGPw46qwxnyvdzZpx47UTYjZozOnjzO7RBUJsp3Fog8+hYM9Lkbi/IkTyYk5/JbOfaeTiN2iPbIygrF2N5QWSTHOUnHd8muEduDqk75ibJR+NmzOzFaZVUlS07AH0JbU3KWhUowz46ycy6xVYV5/bSrTuGOc/ZpD7dPOjt7xqSh9oneASbke/bHQKWT8VMgKxcG+6DnqNvRKA/yZA9JJVbg5Filkuq8G+xjp1abV6fThJShCnLtP/1vWne7HInKKL57R3/JuCvkagw0IaWoXZ3+OUT5OZH/M+bn2CG4Ww8cj1tMSoV1gTPAtVB76ep0mpAiJCJ1ImL27HF3Ds/RU/5RSotnTgqx5+huv9JO1/ofHdigkqnEmSbYsRUGdU0uNZwmpAgZY+qMMTJr1iy3QwFg0rgcsrIin1FUtXj6UPvQcS2yqpIkN2Ck3Y6n3ItDeZImpAy1aJp/cuJvNul9JJUkxXP87VNH3ItDeZImpAz2rrNLAfjmw6+6HInKKOdcZx/f2uhuHMpzNCFlsE++fd5Qu09XkFXJ0m9rKfLqQ+7GoTxHE1IGu3zR1KH2Qy9qoVWVJJfcah+1pp0aQRNSBsvPyaZoXC4A/7d5n8vRqIwx3l4qZm8b9BxzNxblKZqQMtxNF9ubzC1b9rscicoYRbP97Tf/4l4cynM0IWW4jzoJadBAT7/OC1FJMGEazLjAtnUOnAqgCSnDTZvkX8L8Ty9rL0klSaGzsPOfV7obh/IUTUgZbkJ+ztB9pK6TukaNSpISZ9UY37LmSqEJKWJeKR0UT+9dMgOArz/0isuRqIxx3kfs486n9bKdGqIJKUJeKx0UD8vmFQMwdYL+taqSJD+g/uK+F92LQ3mKJiQ1NB/pra6TnOrTgQ0qCWac72/3dgffT2UUTUiK8Xn+FWMff/2gi5GojCECcy617dafuRuL8gxNSIrJ4/OGBjac7NUekkqSLOcPoRP6R5CyNCGlqHFH2uN6Pl+h1WadIKuS5fLP28edz7obh/IMTUgpqnT7bwAoMCfjcj7fQKcXd3fF5XxKhZWTZx/7TkDXLndjUZ6gCSlFDWYXAvBo4Xvjcr5Pv2MB4F/aXKmEm3uZv33ysHtxKM/QhJTiDmTPjMt5xuXaRPTGgeM60k4lR06ef7TdG4+4G4vyBE1ICmBoUAPAs+0dLkaiMspJ5xKxLtan0IQUsXSs1AC2pt3UCfaafm+/LtankqSyzj4e2e1mFMojNCFFKB0rNfhcNHcyADsOnXA5EpUxsp2BDXvboLvT3ViU6zQhqSG+e0e/Wv+my5GojFF2pb+tCSnjaUJSQ5aX24XTJhXkhNlTqTgpKIKShba98yl3Y1Gu04SkhsybMh6AV/YedTkSlVF8lRp2PuNuHMp1nk1IIrJMRDaKiHEel8f7OBEpdvbT+vdATpYA0DdgeH3/MZejURmj6mv2USs2ZDxPJiQRKQM2Ap1AFbAGaAyXlKI4rh6Ibw2eFHbuTP+SAPuPnnIxEpVRCpyfuyO74NQRd2NRrvJkQgJqgXZjTJUxpsUYswpYDdwbr+Oc5HUb0BLn2FNWdpZwhbMURf+AdhpVkpwVUG1El6LIaF5NSDcCDSO2NQDFIrIsTsfVA02AFm8L0D9o5yB9v+V1lyNRGSNvPIyfZtub7nc3FuUqzyUkESkGihlxKc0Y0+o0K2I9zklOy4GV8Yk6fSyeWQTAuDytaaeSKKfAPh7f524cylWeS0hAifMYrOdSHIfj6oGWgGSlHJWL7V+qbxzQybEqiS7/nH1cf5+7cShXeXHCSbCE4zMlluNEpBKoBMrHGpCI1AF3B24rLS2lra1trKeIWEdHR8jzTz/ZTTFw8tTJuMax/UAPAIeO9/DHpzYwfYIXf0QSL9znr+JrwpFsFjntrv1voh+9e9z82ffyb5tgCSZc5c9wx0XcOzLG1AF1gdsqKirM0qVLx3qKiLW1tRHq/F3PFcIRGFcwLuR+kVrcP8iXH/0/AKbOKWPpvJIwR6SncJ+/irel8PQ/ATAz/yRn62fvGjd/9r14yc53yW3Yb0LnHlHg6xEf5wz/XoYdCr7MuZdU5uy3zBl5l9HycrJYNtd+ZDs7dMSTSr7itx51OwTlEs8lJGNMOza5LBzxkm9QwoYYjvMlnAbsfKWN2MENOO3GqANPsq6TfQk79/GefgAaN2gFZpVEF98KQPFbj7kciHKL5xKSYy12jlCgGqArzKW2kMcZY1YZYyTwCztPCef5mO8rue2ok5BO9cV/qYjq8jmAjrRTSeYs1pffvQ8GdZHITOTVhFSPnTvUKCKVIrIC25Op9e0gImUi0jBiflHY49KF2Co/fOii+C+DUVZqa9o9+uoBevr1F4NKkgtu8rd1faSM5MmE5Fx+K8cOUGgEbgJqjDGrA3YrxvaGyiI8Lq3k58T/n3DRtAlD7W06/FslS26Bv705Za6eqzjyZEICO6HVKQE02RhTPjKpOK+LMaYpkuNGeZ8a59KdcsybMp75UwoBO/xbqaQ5v9o+PvZNd+NQrvBsQlLu6h+0tezuf26ny5GojLKoyj4avVSciTQhqVG9d8kMALTEqkqqJdf726/9wb04lCs0IalRXTjHzkVqfmU/J3v1r1WVJDn5/vZf0vbWrwpCE1KERKRORMyePXvcDiWhKuZPHmrr2kgqmfaf9Qnb2PaIu4GopNOEFCFjTJ0xRmbNiv9way+ZWTSOec7Ahqe3HXI5GpVJOuZ9wP9kzyb3AlFJpwlJBXXomB1h17pTl4xSydNbON3/5KnvuReISjpNSCqoL79/MQDrWnWSokoiyYKKW2z7lQfcjUUllSakVDTQx/k9ib+UMX2S/wbz4RO9CX8/pYZccqu/ves59+JQSaUJKRXt2zzU7BmfuHtZ7z572lD7ra6TCXsfpU5Teo6//fAX3YtDJZUmpFRk7OygDjORk5MSt2JGVpaQnWWLWDRt1Mt2KolE4NK/s+19m6FXl0LJBJqQUtibpjTh7/Hhi84A4MmtBxP+XkoN8447/O0NP3EvDpU0mpBUSJfMt+sdbjt4glN9OkFWJdH4qTBxpm3/6SvuxqKSQhOSCun9F8wcamuhVZV0167yt/e95F4cKik0IUUoUyo1+IzPzxlqr9UVZFWynXOdv/27z7oXh0oKTUgRypRKDYGuOseOtlunAxtUsmUFzEna0wrdne7GoxJKE5IKq2qxnTn/VtdJBge1/rdKsqsC7h81/4t7caiE04Skwrph2RlD7a0HjrsYicpIhSUw5222venn0K+TtNOVJiQVVn5O9lD7Dy/tczESlbGu/7G//ex/uBeHSihNSGpM/vbyBQB8r+V1lyNRGWnKQsifZNuPfA0GB92NRyWEJiQ1JpWL/WWETvT0uxiJylh/9Rt/u+0X7sWhEkYTkhqTi50JsgAPvpAZQ96Vx8yu8Ld/9w9DJbRU+tCEpMYkNzuLhaXjAbj7dy+7HI3KWJ8MWI7ipXXuxaESQhOSGrNPv8MWcu3pH+Rkr5YRUi4on/Qo3gAAIABJREFUe5e/ve4W7SWlGU1Iasw+eKF/MvD/vbTXxUhURvvbP/nbT3/fvThU3GlCilCmlQ4KND4/h1lFBQDc+evNYfZWKkHmvg2yncUjW+qgR+fGpQtNSBHKxNJBgf6x8iwAevsHOXDslMvRqIz198/72z+7Lvh+KqVoQlIR+UDAZbsfPLLVxUhURitZAPPfYdt7NsGu50Pvr1KCJiQVkXF52Vx5ll0Y8P7ndmltO+WemwNG2f3XNXrpLg1oQlIRu+Oas4baj712wMVIVEbLyYe/ftj/fOUZOuouxXk2IYnIMhHZKCLGeVwer+NE5DYR2RbpuZV1weziofYtP9vgYiQq482/HBZV+p8/8A/uxaJi5smEJCJlwEagE6gC1gCN4RLHWI4TkRVAvfNV7ezb6GxXY/TVDy4ZarfuOuxiJCrjBV66a7sfXvq1e7GomHgyIQG1QLsxpsoY02KMWQWsBu6Nw3F3AeXGmNXGmCZjTBXQAtSLSPEo5/Sc/Xt3DrUDK3En082Xzhtq3/CjZ1yJQakhd73lbzf9DezTaQmpyKsJ6UagYcS2BqBYRJbFeNxaY0z7iH3qnccKUsC4tv8GYAKnWDbXnRyanSV86X3nDD1fu/5NV+JQCoD8CfB3z/mf33MFHNvvXjwqKp5LSE4vpRgYljSMMa1Oc9SkMdbjjDE1Id4+JdZHNs6kwNbx7yAn271/wk9fUTbUXrHuRY5097kWi1JMOxc+9iv/8387C3qOuRePipjnEhLgKyvdFeT1YF2CaI8De78pMHmlhDdyznT1/bOyhN9/7oqh5xd+7U8YHeWk3HT2tVD1Nf/zlbN1OHgKyXE7gFGEuwY1JZ7HOQMhVgBBe04iUgfcHbittLSUtra2MG8ZvY6OjqDnLz1xnCKgp6cnoTGM1QfOGs+Dr58AYMFdD/Obm2YhIi5HFZtQn79KrJg/+/FXMnvBh5i63akMvvIMNr/vQQbyJsUnwDTn5s++FxOST7AE0xGv45zLfM3AKmPM6mAnNMbUAXWB2yoqKszSpUvDhBK9trY2gp3/SOsE6ID8/Pyg+yTTDy40PPfNRzh4rAeAD6/ZQ9u/VFFcmOdyZNEL9fmrxIrLZ7/0f+CBv4dN9wNw/sMfgM+22pVnVUhu/ux78ZKd75JbSeDGgBFwwS7JRXScs30j0GSMqY06WoWI8PxdVzOpwP/3zdKvNfOdP77mYlQq433oh/DOgNkc/7EMduqIUC/zXEJyRsB1ASP/lPENZhh1JmYkxznJ6BGgQZNRfGRlCS/WvYdPvG3u0Lb/fOwN5t/5e9bvSImxIiodXfVlqP6Z//lPr4WN/+1aOCo0zyUkx1rgthHbaoCuMAMPwh4XkIzWOPOUVBx948Pn88ydVw3bVn3Ps8y/8/esfmIbW/cfo39g0KXoVEZacj3c0ux//uDn4eszoL/XvZjUqLx6D6keuE1EGrHziJYBywkYeOAMRqjF9nJax3ocNhl1Aq2jVH5oMcYEuySoxmhW8Th2fOv9/O9fdnFXwLpJ33z4Vb758KtDzy+YXcTuwye5aE4xPf2DTJuYT1FhLoumTWBR6QSmTMhnUkEOEwtyKcjNSvmBEspFcy6Bz78I/36Bfd5/Er5eCld9Bd75/9yNTQ3xZEIyxrSLSDk2wTRi5xbVjBh4UIztDTUDrWM5zukd+SbIBhTAGlINNMX/O8pMH7tkLh+7ZC4/e2YHv9+8lxd3d3Gqz987enH3EQAeeTWyAq05WcKZ0yeybG4xly2cyjvOmsqkgty4xq7S0OR58C+d9l7S4R1226Nft18f/V84532uhqc8mpBgaE5QVZjXT/uTOdRxTu9H/8xOsk9dNp9PXTZ/6PmR7j72HT3FwWM9DBjDkZN9HDh6ii17j7H7cDf9g4Yte48ydUI+uzq7yc0W+gb885t8r2/Ze5RfPL9raPvckkLmlIzjrmvP5bwzipL5LapUkZUNn38BDr0B/1nu3/6rj9nHD/4nLPsrd2JT3k1IKn0VFeZSVJjL2TMmjvmY/oFBjp7q58CxU7y+/zgbdnTyxOsH2dHRPbTPrs5udnV2c91/PAVAXk4WDX9VzrvPnhb370GluKmLoO4IbHkQ1tzs3/67f7Bfc94GH18L41KivGXa0ISkUkJOdhYl4/MoGZ/HOTMm8cGAlWtP9PTz1BuH+PrvX+HNzpND23v7B/mbn64fev65q8/kH969iLwcr47lUUl37gdsYnr5N9D41/7tbz4P9U4B4bPeCx/4AUyc7kqImUQTUoR8VRtmzpzpdijKMT4/h/csmcF7lswA4OCxHr6wto0ntx4att8PHtk6tOz6ndeeQ807y3SghLKWfNh+HdoKq98NvQE18F7/g62L53PlnXDZZ21BVxVX+qdihIwxdcYYmTVrVvidlStKJ+bz81vexo5vvZ+Xv/oebr507mn7fOv/XmXBXQ/zrw+94kKEyrOmnglf2m17TR/9JaPecn78W3Z12roi+P4FsOG/4Ni+pIeajrSHlILyj7zhdggpY3x+Dl+//ny+fv35GGP4xfO7+MpvXxp6/SdPbecnT23n3WeX8uObyynIdWd9KeVB57wf6pxZIId3wp++bO85BeraCQ/9k/0CmDAD5lxs70HNvQxmXgjZ+mt2rPSTSjXHD1JwxK6wMSD6yzMSIsLNl87j5kvnsf3QCd79nT8PvfbYawc555//QF52Fs996Wr3glTeNHke3HS//3nXLnjmP+HAK7DjSf/24/ts0hqZuMaVwPQlMOMCmF0OZ5TDpNmarEbQTyPVdPvvi2zOvcDFQFLbgqnj2fGt9/PGgeNUfvfxoe29A4Ms+1c7q/8XE2Zz+aKpboWovKx4LrwvoNBLfw+8tRG2P2G/3vwLDAasD3ay0yauwOTlk51vLxVOXwKzL4ZJs2DyfCiel3H3qTQhpajXB8+gRwrcDiPlLZo2gR3fej+n+ga4+b7n2bDz8NBrn7jveQCmTcznh59YxsXzS4KdRmW6nHyYd5n9eted/u09x2DvC7DrOXirFQ687J+U6zPQA/tfsl8vrhn9/JMXQPEcyC20iWrqmTBtMZSeA4UlkCaDczQhKQUU5GbT9JnLMMbwjd9v4b6ntg+9duBYD9X3PAvAxIIcfvKpi7lkgSYnNQb5E2H+FfZrpFNH4cAW2PciHHodek9Axxuwp80mqUCHt9uvcMrebQdYzL0Ueo/DjPNBsqFoNkyYZi8dTpgG+ZM8ebnQexEp5SIR4SvXLea62b1MmXsWNT/fyCt7jw69fuxUPzc2PDv0/JYrFvDFa85mXJ637ue9ceA49z+3k0PHe9iy9yhzSwopzM/hVO8A04sKuPKsUi5fNJUJ+forwDUFk2Du2+zXaAYH7SX6o2/Bkbfg4BY7uOLgq9CxzV4GHKn9Mft4cIt93NwYOoasHBg/zT5OXww9x5mZNxfeKrTJbHAASspsz2z8VCicYpNsVmJ+3vWnUakg5pQU8vDn3wHAgWOn+Mz9rWwMuKQH/lF6AOfMmMjiWZOoLp/D2xcGW9g4cYwx1P/hNe55fNtpr207eGLY818GlFx6z5LpfPfGpYzX5OQtWVm2NzNhGsy6CM69bvT9Th2Bo3uh5yh0bgcM7NsM2bn2cXDAJrUTh2Cg1/acfAb74dge2z5ifybGPP13/DSbMKefZ89bPA9yC2zvq2g2SJZNZlnZUDTHXtYsDP3/Qn8CU1j/oAm/k4qLaRMLWPeZywA41TfA95pfp+GJ9mH7vLrvGK/uO8avW98CoCA3i/PPKOK8M4qomFfCjKICzjtjEvk58f3r8lTfAF/57Us0bdx92mtXnTONqsXTyc3O4kRPP21vdvHCm120H/InqD++vJ8ld/8RgI9ePIe6Dy7R4e+ppKDIfoGtag5w4UdDHzPQZ+9vHT9ge1rdnXYIO0LnK49TMmsBvPkcTJwJ25+ESTPtZcVAJ5yiyPtetI8HXyVWmpBSWFlpZo3A8YqC3Gzuet+53PW+cwHY03WSJ7ce5E8v7x9WufxU3yDrdxxm/Y7D/PTpHcPOMXVCHufOnOR8TeS8WUXMnzqe3OyxzVVvP3icT/7XX9h9+OSor6+tefuo97k+FdDesKOT5fc8O+z1X61/k1+tfxOwIxFr33sO71kyXStapJvsXDsYovD0n5Fd4y6jJNQS5gP9tjfW3WF7W0f3QN9Je++qu8P2ljrb7WW+vS/YHl7XLv5/e3cfHMdZH3D8+9s7vZzk2CfLbygmieVgoAngKnIpkIbMVM6kBDotdWL6Av3P7h+0U6at3VCmGFqaOGQGhnSmkaH0H6ZTW24HaEk7sQNDTCgE2zF5adMYy06cKI6tV8vW6939+sc+e9o7vd2LTreSfp+ZndXt7vPsc4/29rfP7rO7XL8C9Ung6qxZW0AqUpQeHfTR91a/DMZ//9PuHTexe4f/RIhMRvmfN69y4mwvz78+SEaVE2d7GZlIZ9P0XpvgxNneaY83AmhZU0+iNsbNzY28a9MNDI1OcmNTgt7hCU6cvcLZy9empQn8xx/fWfCTzttvWcuFh+9DVTly8iL7//WFnPnne6/zR986lf38W9tb+MJv3s6aBnvVx4oWi+cGs5ZfLi79X8x+cGMBqUiqegA40N7ebufLzIw8T7jdnarLNzKR4oXXh3j2fD9nLg5y9vI1XusfyVmmZ2gM8K/7fH+ed0VtXd/I439wB+/YWPiT0/OJSE5A/fEvejnw7y/xylu5ge/bZ3r49hn/esOxz9xV1jqNmYkFJGMWUUNtnPe3NvP+1ukXd6+Ppzjfe50Lfdd5c3CMiXSGs28N09RYS23cozbmIcDqRA0ffW8Lm9ZU5j60D966jic/82HAb+1966ev8tffeSlnmZ1feZqff/4e1iSstWQWjgWkpea1/55/GbMkNdbFZ21ZVYvnCZ/6wC186gO3AHD4Z69lT+393td/wvf+5NeqWDqz3NjTvpea808D0CyzXxg0plJ277iJjnf7HYNf6rnKa30j86QwpnAWkJYaz2/Ufjm1u8oFMSvVY787dRH7ri//gMl0poqlMcuJBaQlalRrq10Es0IlamN86bdvz35u++KxKpbGLCcWkIwxRfv999/MlnWNAAyPp/idf/hxlUtklgMLSMaYknz/zz6c/fvUqwN88h9/WsXSmOXAAtISMxE6X2/3zptqEhHOfuk3sp9PnO3l3q8+jardomdKYwFpiRmbnLrb397PY6qtJubxyt9OBaWXLw2z5cEnSNtzFk0JLCAVSUQOiIj29PQs/spVWX322wBsWlNPU6N1bDDVVxv36P67j+RM2/rZJ3ipZ6hKJTJLlQWkIqnqAVWVlpaWxV/51akg2CuL/3oDY2bjecL5hz7C+zZP3dR739d+xEcfO0HGWkumQBaQlpJMKvvn87Hb51jQmMUnInzn03fm3Kf04htXaf3sEzz8ny/btSUzLwtIS9Drug7sdQAmoj72vhZe/pt7c6Y9/sNzbHnwCe75yg+5PDxWpZKZqItsQBKRNhE5JSLqxrsWKl2peUdJ+FgznUnz5IUn+cYL3+CbL36Tp1+3nk6muuprYlx4+D6e/MxdOdNfeesav/Klp7jlL7/Hxx77ES9fskdgmSmRfLiqiLQCp4DjwE6gDegSkftV9Wg56UrNOxJCD1ZtrIszND7Enf9y56yLN8Qb+NCNHyIRT9CyqoV7br6HW5O32svWzKLZtvEGLjx8H29dHeNjj/2Iy8Pj2XkvvDHEvV89kf385/ds4+53brAeeitYJAMSsB/oVtWd7vNxEdkKfB2YK2gUkq7UvKvvgv/jXc8gH29vnDMYAYykRjj26tRjXR7/+ePZv9fWr2X7+u001TexrWkbaU3z9hveTnN9M5tv2EyyLmmByyyYjavrefavOgD4SXcfn/7n5+i9Np6zzKNPvsKjT7rXZB/pYf0NdWxd38itG1bxrk2rWZ2o4cZkPRtX17NuVR11cc+20WUmqgHpAeChvGmdwB4RaVPV02WkKzXvqtOJEQT4YvoTfPflTwJQP6587gdr2fbcFQBiySRSV8fktaukY8LQxlUMM4Y3cJVzLf6P9+I6oXHsCpeajtMLXBbQ/AF/nBHYmtzK4OQQrclbGZq8yk1rbmZkYoQNsTXEG1dRI3FGJ0ZYU7saUFBF1P9TVP0beDNuGiDBEXBouVj/EJmm1f58DV0iCx0sS3YsoemanRbeNQXrQgTc6cvs+sVPn9YUcakhJh6C4Im4fDyuXX6Lc8/+MLuuYMenGnqQqCqKTitLcLpUMzo1LVhIyZZHXV1N5RVkM7WOnFOvbplwOrn4JrqhGVIpGBmDiz2wfi3piXG8NJBK4f3feXTLZv87iAceiHh+3WSnuRr03E7e8+flTvNgMgUjo9Q2raXxtveQ+KXbqL35JuLr1yPxwnYnv9razMnP+cHp+niKf3rmPM+/PsSzF/oZHJnMLndleJwrw+P8pLt/zvzWJGqoiXm0rm/kjYFRtt+UJO4JAyOTvHPjKuriMS4Pj3HrhlXUxjxq4h7DYyk2rq6jNhYjHhNqYkLM85hMZVidqCHmCXFPiLkh7vn//5qYR8wTPE+IieCJ38PQE/+zeBATP40ngl+V/rbpV7cF0LlELiCJSBJIAt3h6ap62v0z24FpQaOQdCLSXUrekZCaQF76N07X1fHdLU/TNKx0/n1wk+yV7GLpwUHA33nHgearIwQdxG/qDXZu+eP5nHXj4O2lL5bwBaJvKnxAMzBRxbLMRpj+hI6ZdnH5F4elb2DevIvZKlLAyPf+a9r0jCeMtCTxVLi+ZQOJWILJdWtoaFpHbOMGvLRS37KZmroE8UQD9WvW8oetDdTcdiPxxDakpoZnzrxIbP0WXr40zMX+EcZTac5cHKJncJSMKsNjqZx1Do36QSxocb0xOJqd9/QrV4gSEf//5YkfsAhiPy64Zaf5wWxwZJLmxlp3gCbBcYJ/4BQsT+jYIruMO0ALrS+cDvybmG9rWZ0zXYCRkREan3km+1nCAdVlKDnfR3LWH+Sfmy5UpjlELiABweMHBmeZnywjXal5TzPQ/b8c2d0GBEfeoSNgNxZ3XCyhX7hkj47Jtg7CCSV7wKy84tLHgFHSpOVGvAwcOZv7gwy0PPooDTt2QCZNemAATafR8XFSvb2kh64yfu4XeA0NjL3wIvENG/yjbM34R+EZhUwGUDSjpNOTjKfGSaXGGZscRVUZmbhOHI/RyRGaLg4ytLmJDMr11HVq4/XBVpdtYQV/A2TcHlJFUFEgvJzfGmu6NELf2xr9Mohk6yS8g8z5W+aZH/oUlCOYMp4eZ1InaYg3oKpkRFH1hwxKOp3GiwnDk9dIxBtyj2yDnUAo3+xPdIbPwc8wZ9nsbPG3BckLBOEfb3bdoT1BdoqwaniSvvX1pOJ+iyaWUfoalf70VZpXbSQdg/h4mvF6z7VUgxZcxm0DQUvV/1vVLaM61aLTDF4GbriaIt5/lRv7YHOvsnoEPPUHAC+jrHrdD34Nb8zcsplgKtjPdOvsejf+IDBWK2Q8+LgnZMQPeOpBbCLN6lG40lyT3Y4ybg+somRcXSmQcVWnbnvMaOgzU2cE4pMZ1l5P82bT9BvOFcioZgPA1P8q+yufWlbdZ28C3FP5p/UxmrZnzs83b/0lNKzmOrDQYJt6rsC85lj/rOuZpTX4zTnWE8WANF9QmO2O0ELSlZS3iBwAPh+edltdPe/5+ehMi1fQ9H99+u67Se3dAyKcB3gz7wkS8Ths2uQP79zmT7v77qLWGhxt3+DGCTcOKnMhH2BU8BFBhfX19dHcbDcfzyajGa6nr3Nuoo/h9DDD4wNc6+shMTRKrK+fa6P9bOzLcG20j+axGiY8ZcOrA1xrSlA7nubtPRNcaoK6lPC2fmW4HmIK8RTUTj0di/qJudtt6/smZ5xejqZrC/m7nvng0cwsigEpMNu+qW8B0hWVt6oeAA6Ep71jdUKfv3cLOe1icSdUsmM3D0FE0GwzOtu+zS7vH227c/YijI6NkUg0kpIMdVJDjdRALEHTpnbeu3kDXiJB41132TnpCjlz5gzbt2+vdjFWlHQmzURmgjNnnuPd79pGZnKSVHqSTGqSTCpFJjVJOj1JamIcnZiYOgLPpF3rNgMZf+y3+jP+JU386eGzAdlpGf86oGYyyPVRNFE7dZJj2vU7zba6NXTtL/w5uMY3mZ7AQ/C82PQvmt9c0ml/FD5/xkk6Q5NspmLkl8P/fOnSJTZt2jT3SvLSFFIuf/EMfOJPZ80uigEpOJ2Wc+DtrhGF55eSrtS8p1mz7TZ2f/WJQhcvmu0QzUoT82IkvASJeAPJVeuqXZwVq+L7njkCUuRujFXVbvzAsDVvVrsbnyw1Xal5G2OMqbzIBSTnCLAnb9peYHCebtmFpCs1b2OMMRUU1YB0EEiKSJeIdIjIPmAX/k2tgP/EBRHpFJG2YtIVuIwxxphFFsmA5E6t3YHf+aAL2A3sVdVDocWS+C2d1mLSFZi3McaYRRbFTg2Af7Mq/rPm5po/rYvZfOkKXcYYY8ziimQLyRhjzMpjAckYY0wkWEAyxhgTCRaQiiQiB0REe3p65l/YGGNMwSwgFUlVD6iqtLS0VLsoxhizrFhAMsYYEwkWkIwxxkSCBSRjjDGRYAHJGGNMJFhAMsYYEwky7SVNpiAicgV4tYKraAEq2bfc8rf8o5r/Ui675T+/d6tq40wzLCBFlIio6lxvsrf8Lf/lmf9SLrvlX17+dsrOGGNMJFhAWrm+YPlX1VKvn6Vc/0u9bpZy3cMc5bdTdhFV6WazmZvVf/VY3VdXNevfWkjRtdSPgpY6q//qsbqvrqrVv7WQjDHGRIK1kIwxxkSCBSRjjDGRYAFpkYlIm4icEhF1412VTGdylVH/e0TknNV/ecrdjkUk6dLatYYilVP3Lu0xERlwv4N9lSijBaRFJCKtwCmgH9gJHAa65tswSk1ncpVR//uAg26436XvqtSPcrlaoO34INBdgeIta+XUvYjscWm78bf//cBgRQqqqjYs0gB0AudmmDZQiXQ2LFj9DwCtedOOAQokq/29lspQ7nYMtLo67/R3XdX/TktlKGPbT7o637MY5bQW0uJ6AH8jCOsEkiLSVoF0Jlep9XhEVfOPyg+6cftCFW4FKHc7PggcpVJH58tbqXV/EOhW1UMVK1mIBaRFIiJJ/KONnB2bqp52f864Yys1nclVTj2q6t45su4vv3TLX7nbsdtp7gIeqkgBl7Ey6/4B4LiI7ApdQ+qqUFEtIC2itW4829FdcoHTmVwLXY87IedHbeZWbv0fBI5bfZekpLoPBbIOYDf+/+AhYJeIHFvoQgLEK5GpmdF8P7jmBU5nci1YPboLxPuAuVpOJlfJ9S8iHfg7xTsWtEQrR6l13+rGg6p6v/v7uIgMAp0i0jrDqeyyWAtp8c22cfRVKJ3JVVY9uqPGY8Aji3VefZkppf6tdbQwiq37oEV1OG/6ETfuKLtEeayFtHiCf+7a8ES3gwvPX6h0JlfZ9eiWPQUcVdX9C1u8Za+k+nfdktuAvaGL761uXhv+0bt1A59bSXWvqt0iMm2+qg666Qt+ucAC0iJx/9xBYGverOCC4smFTGdylVuP7sf7FNCpqo9UoIjLWhn1H5w2yu8hBv7BwWnsVN6cytz2B8mrX3fKGipwP5idsltcR4A9edP24h/lzXU6otR0JldJ9RgKRoctGJWl6PpX1UdUVcIDcMjNE1W1YFSYUvchh/B72oUFN9MeX6CyTan2DVsraWDqxr4u/POv+8i76cwt0wm0FZPOhorW/yn860Yd7scYHuzG2ArX/wz52I2xi1T3+KflBtz2v6vS+56qV9RKG/DPhx9z/+RT+f9YN1+BXcWks6Ey9c/UneqzDbsW+zss5aHU7T9vGQtIi1j3LlAFTyY5V8lt3t6HZIwxJhLsGpIxxphIsIBkjDEmEiwgGWOMiQQLSMYYYyLBApIxxphIsIBkjDEmEiwgGWOMiQQLSMYYYyLBApIxxphIsIBkjDFmViJySkQ0GIpIdzCczr1ocU72+gljjDGFKPYdYIfxX/63kwJf5mcByRhjzLy0yFevqP9ai9PuZX4FBSQ7ZWeMMSYSLCAZY5YtETlWzHWPhUprSmMByRhjTCRYQDLGGBMJFpCMMcuOiHS6020d7nO4+3GyUmlXEhFJuroacHUzICJdhXTvno31sjPGLEed+K/p3o//Cu69wQxVHaxg2pXkKfzXnh/Cf7X5Dvwg3g0cLyVDC0jGmGUn1OV4r/t8qBJpRWQXcFBVt5ZZ5CVFRFrxg9Ejqro/b17JrUg7ZWeMMaXbCZyudiGqqDV/QjmtSAtIxhhTunbgWLULsdhUtRs/EO8SkXPuWtKucvO1gGSMWXHyn88WGtqKzKoNOFmJMi4Bv45/ragV2AN0ueBkp+yMMaYI+/E7K+QP3YVmEAperaEAN2NrSUTa3I22A26n3RGa15F/A67Lb18o7Tm33KmgN9sM+Xe5eQMi0pmX/7GgfAvVU1BVB1V1J9CEX3dBcOqaM+EcLCAZY1YcVT2uqodmGIq5/tHuxmvxWws7gQ4R2RNeyJ3K6sLv/NAEHATCgaGN6dehwtM68Hf0O9169uOfKmt1+Xfg93g7DGxxywyG1t3p0jS5/B4s4jvOywWmQy44nabA59bNxAKSMWY564Zsr7CFTnsHcDQIZKp6HL+VcEewgAs6Xwd2uvlBr71u4AG32A5Cp/1C6zsZmt+tqvtdwAy6VPe7cRdwv6oedeU4rar7Q+u+300bxA+GpdRFDncPUtnXjPJZQDLGLGc/c+Ou0E2chR7Bz5e2I7RMWLiV9SBw0nUCmG2ZNvz7nsKfB0OttTb8Vs60+e60XncQ7PLsAZLAU8GpPPzg1T/DssVqZ+qaUad799EpV7aingoeZvchGWOWs0PAbvwdZdJ9LrQTwnxpW5l+A2g704PHTN3n6BieAAABi0lEQVTC24CTrhXTmpfvDuZeT3h+/rLkLbe/2NdGFEJVj4vI/fjXjh7Ar5/uctdnAckYs2y5VsYd8y5YZNqgQ4O7iTaYtstNO5q3eE4nAhE5CJxW1dNBiyucDxBc95lxPUwPcmvn+BrNc8wri/ue+d+1LHbKzhhjihc8526Pu56yB3ctJ2+5LuAB1wsu6U6x7Qktl72e4+YH13iCgNPO9J5/7UydKjyM38Ghw6XvCPXAOwzsCYKaK0MnEWYtJGOMKV4z/im8nfgdBboJdVwIqOohEdmK3wsO4AiwJXR96Dgw6K7vHMcPIt1MnYbLeRKEO8WXDKap6lER2c9UV+uTuNaVm9eKfw0pWFekA5Ko2vunjDHGzCzorKCqUmL6ffhBe1rAzmctJGOMMfMKbtQttNOCO1XYgd/KK4gFJGOMMYU46MaF9qLbDewrZgV2ys4YY0wkWC87Y4wxkWAByRhjTCRYQDLGGBMJFpCMMcZEggUkY4wxkWAByRhjTCRYQDLGGBMJFpCMMcZEwv8DCth5Em4m3lcAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, figsize = (6,7))\n", "\n", "for nu, flavor in enumerate(Flavor):\n", " ax.step( time, signal_per_DOM[nu], label=flavor.to_tex(), linewidth=2)\n", " \n", "ax.set_ylabel( 'Signal per DOM', horizontalalignment='right', y = 1)\n", "ax.set_xlabel(r't-t$_{bounce}$ [s]', horizontalalignment='right', x=1.0)\n", "ax.set(xlim=(-0.05, 0.65))\n", "ax.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.11.11" } }, "nbformat": 4, "nbformat_minor": 4 }