{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting multiple sequences\n", "\n", "This snippet shows you how to plot a number of sequences as one combined event plot.\n", "\n", "## Simple example\n", "Let's first start by importing what we are going to need:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "from thebeat.core import Sequence, SoundStimulus, SoundSequence\n", "from thebeat.visualization import plot_multiple_sequences\n", "import numpy as np\n", "\n", "# Additionally suppress warnings to avoid confusion\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "We start by creating two dummy sequences:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# This is for reproducible randomness (so you will get the same sequences as me)\n", "rng = np.random.default_rng(seed=123)\n", "\n", "# Create sequences\n", "seq_isoc = Sequence.generate_isochronous(n_events=8, ioi=500)\n", "seq_random = Sequence.generate_random_normal(n_events=8, mu=500, sigma=100, rng=rng)" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Now we make a list of these sequences, and plot using :py:func:`~thebeat.visualization.plot_multiple_sequences`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAIcCAYAAABrUjh1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAdLElEQVR4nO3de4yU9dnw8YuDhkcFgkqjxnPNYrMrhxXKQSyeNYHaYq20tSiBWtG2iRFbtLVatBHso9Z6aELavtaqtDXV9o0Srdo3aBpUtIKioEiwgrVGQJSDiCz7e/+wzPOsiByu3dlZ+HwSIjNz78xv7mvve/fL7I6dSiklAAAAEjq39wIAAICOT1gAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIK1rezxoKSXeeWddNDf7n363l86dO8W+++5tDu3MHGqHWdQGc6gN5lA7zKI27O5z6N27+3Zt1y6vWHTq1Ck6d+7UHg/Nf3Tu3MkcaoA51A6zqA3mUBvMoXaYRW0wh+3jR6EAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpXdvjQc/540Vbve32k35WxZXs3j5tDhFmUS3mUDucm2qDY6I2mEPtcG6qDY6JbfOKBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIC0HQ6LZ555JiZOnBjDhw+PPn36xGOPPdYW6wIAADqQHQ6L999/P/r06RNXX311W6wHAADogLru6AeMGDEiRowY0RZrAQAAOii/YwEAAKTt8CsWba1rV61TDV26bHs/m0XbM4fasa1ZmEN1OCZqgznUDuem2uCY2D41Fxa9eu3d3kvgP8yiNphDbTCH2mEWtcEcaoM51A6zqMGwWLVqXXsvYbewPeVtFm3PHGrHtmZhDtXhmKgN5lA7nJtqw+5+TGxvNNVcWDQ1Nbf3EvgPs6gN5lAbzKF2mEVtMIfaYA61wyx2IizWrVsXS5curVx+4403YuHChdGzZ8846KCDWnVxAABAx7DDYfHiiy/GeeedV7k8derUiIgYPXp0TJs2rfVWBgAAdBg7HBaDBw+OV155pS3WAgAAdFDeFwsAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAWqdSSmmPB161al00NTW3x0MTEV27do5evfY2h3ZmDrXDLGqDOdQGc6gdZlEbdvc59O7dfbu284oFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQFrX9njQL076v1u97f9cflIVV9KxjJ/2/z71dvuudX3a/ravdy2OrdpkLrseM+2YfD1sfbvqseAVCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEgTFgAAQJqwAAAA0oQFAACQJiwAAIA0YQEAAKQJCwAAIE1YAAAAacICAABIExYAAECasAAAANKEBQAAkCYsAACANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpXXdk4+nTp8cjjzwSS5YsiW7d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YhuzyBk/fny57777yqJFi8rChQvLBRdcUE444YSybt26yjatcS5aunRp6devX5k6dWpZvHhxueuuu8rnPve58sQTT1T1+day7ZnFN7/5zXLllVe2OCbWrFlTud0s8v72t7+VWbNmlddee60sWbKk3HTTTaW+vr4sWrSolOJ4qKZtzcLxkFe1sDj77LPLlClTKpc3bdpUhg8fXqZPn16tJezybrnllnLmmWd+4m2rV68u9fX15aGHHqpct3jx4lJXV1fmzp1bSvnom7Kjjz66LF++vLLNjBkzSmNjY9mwYUObrn1X8fFvZpubm8txxx1Xfv3rX1euW716dWloaCgPPvhgKeV/5vDCCy9Utnn88cdLnz59yltvvVVKKeWee+4pgwYNajGH//7v/y6nn356Wz+lDmtrYXHRRRdt9WPMovWtXLmy1NXVlTlz5pRSWu9c9LOf/ayMHDmyxWNdcsklZfz48W38jDquj8+ilI++kfrpT3+61Y8xi7YxaNCgcu+99zoeasDmWZTieGgNVflRqA8//DBeeumlGDZsWOW6zp07x7Bhw2Lu3LnVWMJu4/XXX4/hw4fHySefHJMmTYo333wzIiJefPHF2LhxY4sZfPazn42DDjoo5s2bFxER8+bNi7q6uth///0r2wwfPjzWrl0bixcvrurz2FW88cYbsXz58hb7vXv37tGvX7/K5/7cuXOjR48eccwxx1S2GTZsWHTu3Lny44Lz5s2LgQMHxp577lnZZvjw4fHaa6/Fe++9V6Vns2uYM2dODB06NE4//fS4+uqrY9WqVZXbzKL1rVmzJiIievbsGRGtdy6aN29eDB06tMVjDR8+vHIfbOnjs9jsgQceiMGDB8eoUaPixhtvjPXr11duM4vWtWnTppg5c2a8//77MWDAAMdDO/r4LDZzPOR0rcaDrFq1KjZt2hT77bdfi+v322+/LX7ek53Xt2/fmDp1ahxxxBGxfPnyuP322+Pcc8+NBx54IFasWBF77LFH9OjRo8XH7LfffrF8+fKIiFixYkWLgyUiKpc3b8OO2bzfPulzf/PP0K5YsSL23XffFrd37do1evbs2WI2Bx98cIttNs9mxYoVW3yjwCc7/vjj49RTT42DDz44li1bFjfddFNccMEF8cc//jG6dOliFq2subk5rrvuumhsbIy6urqIiFY7F21tm7Vr18YHH3wQ3bp1a5Pn1FF90iwiIkaNGhUHHXRQfOYzn4lXXnklbrjhhnjttdfitttuiwizaC2vvPJKfO1rX4sNGzbEXnvtFbfffnscddRRsXDhQsdDlW1tFhGOh9ZQlbCgOkaMGFH5+9FHHx39+vWLE088MR566KFd/hMZtsfIkSMrf9/8i3mnnHJK5VUMWteUKVPi1VdfjRkzZrT3UnZ7W5vFmDFjKn/v06dP9O7dO8aNGxdLly6NQw89tNrL3GUdccQR8Ze//CXWrFkTf/3rX2Py5Mlx9913t/eydktbm8VRRx3leGgFVflRqF69ekWXLl1i5cqVLa5fuXLlFlVH6+nRo0ccfvjhsXTp0th///1j48aNsXr16hbbrFy5Mnr37h0RHxX1x9+JYvPlzduwYzbvt0/73N9///3jnXfeaXF7U1NTvPfee9s1G8fQzjvkkEOiV69e8frrr0eEWbSma665JmbNmhV33nlnHHDAAZXrW+tctLVt9tlnH/+Q8jFbm8Un6devX0REi2PCLPL23HPPOOyww6KhoSEmTZoURx99dPzud79zPLSDrc3ikzgedlxVwmLPPfeM+vr6ePLJJyvXNTc3x5NPPtni59poXevWrYtly5ZF7969o6GhIfbYY48WM1iyZEm8+eab0b9//4iI6N+/fyxatKjFN8GzZ8+OffbZp/IyITvm4IMPjt69e7fY72vXro3nn3++8rk/YMCAWL16dbz44ouVbZ566qlobm6Ovn37RsRHs3n22Wdj48aNlW1mz54dRxxxhB+9SXjrrbfi3XffrXxBMIu8Ukpcc8018eijj8add94ZhxxySIvbW+tc1L9//3jqqada3Pfs2bMr98G2Z/FJFi5cGBH/802SWbSN5ubm+PDDDx0PNWDzLD6J42EnVOu3xGfOnFkaGhrK/fffXxYvXlx+/OMfl4EDB7b4zXpypk2bVp5++umybNmy8o9//KOMGzeuDB48uPKWs1dddVU54YQTypNPPlnmz59fxowZ84lvaTd+/PiycOHC8sQTT5QhQ4Z4u9ltWLt2bVmwYEFZsGBBqaurK3fccUdZsGBB+de//lVK+ejtZgcOHFgee+yx8vLLL5eLLrroE99u9stf/nJ5/vnny7PPPltOO+20Fm9xunr16jJs2LDy/e9/vyxatKjMnDmz9OvXz1ucfsynzWLt2rVl2rRpZe7cuWXZsmVl9uzZZfTo0eW0005r8Q5PZpFz9dVXl2OPPbY8/fTTLd6ycf369ZVtWuNctPktHa+//vqyePHicvfdd+9Wb+m4PbY1i9dff73cdtttZf78+WXZsmXlscceKyeffHI599xzK/dhFnk33HBDmTNnTlm2bFl5+eWXyw033FD69OlT/v73v5dSHA/V9GmzcDy0jqqFRSml3HXXXeWEE04o9fX15eyzzy7z5s2r5sPv8i655JJy3HHHlfr6+nL88ceXSy65pLz++uuV2z/44IPyk5/8pAwaNKj069evfOc73ylvv/12i/t44403yre+9a3St2/fMnjw4DJt2rSycePGaj+VDuWpp54qdXV1W/yZPHlyKeWjt5y9+eaby7Bhw0pDQ0M5//zzy5IlS1rcx6pVq8qll15a+vfvXxobG8vll19e1q5d22KbhQsXlq9//euloaGhHH/88d6q+RN82izWr19fxo8fX4YMGVLq6+vLiSeeWK688sot/nHDLHI+af/X1dWV++67r7JNa52LnnrqqfKlL32p1NfXl5NPPrnFY7DtWbz55pvl3HPPLZ///OdLQ0NDOfXUU8v111/f4n37SzGLrCuuuKKceOKJpb6+vgwZMqScf/75lagoxfFQTZ82C8dD6+hUSint/aoJAADQsVXldywAAIBdm7AAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABpwgIAAEjr2t4LAKB99enTZ5vbTJ06Nf785z/HXnvtFdOnT6/CqgDoaPyftwF2c/PmzWtxecyYMTF27NgYNWpU5bpDDz003nnnnejcuXMceeSRVV4hAB2BVywAdnP9+/ff4roDDzxwi+v33Xff6iwIgA7J71gAsF3Gjh0bF154YeXyrbfeGgMGDIgFCxbEmDFjom/fvjF69OhYsGBBbNiwIa6++uoYNGhQfOELX4jf/va3W9zf3Llz47zzzov+/fvHscceG5MmTYqVK1dW8RkB0JqEBQA7bePGjTF58uQ455xz4tZbb42mpqb47ne/Gz/60Y+iW7ducfPNN8cpp5wSU6dOjeeee67ycXPnzo2xY8dG9+7d4+c//3lce+21MX/+/Lj44ovb8dkAkOFHoQDYaRs3bozLLrssRowYERERzc3NMXHixOjXr19cccUVERExZMiQePjhh+Phhx+OxsbGiIi48cYbo6GhIW677bbo1KlTRETU1dXFqFGj4vHHH6/cHwAdh1csANhpnTt3jqFDh1YuH3744RERMWzYsMp1Xbp0iUMPPTTeeuutiIhYv359PPfcc3HGGWfEpk2boqmpKZqamuLwww+PAw88MObPn1/V5wBA6/CKBQA7rVu3brHnnntWLu+xxx4REdG9e/cW2+2xxx6xYcOGiIhYvXp1bNq0KaZOnRpTp07d4j7//e9/t+GKAWgrwgKAqurevXt06tQpLrzwwjjllFO2uL1Xr17tsCoAsoQFAFW11157Rf/+/WPJkiVxzDHHtPdyAGglwgKAqvvBD34Q559/flxyySUxcuTI6NGjR7z11lsxe/bsOOuss2Lw4MHtvUQAdpCwAKDqGhsbY8aMGXHrrbfGFVdcERs3bowDDjgghgwZEocddlh7Lw+AndCplFLaexEAAEDH5u1mAQCANGEBAACkCQsAACBNWAAAAGnCAgAASBMWAABAmrAAAADShAUAAJAmLAAAgDRhAQAApAkLAAAgTVgAAABp/x9wlFpSgqqNEwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "seqs = [seq_isoc, seq_random]\n", "plot_multiple_sequences(seqs);" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Complex example\n", "In this example we generate 10 sequences with random inter-onset intervals (IOIs), each containing 5 events\n", "that also have random event durations." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "pycharm": { "name": "#%%\n" }, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAIcCAYAAABrUjh1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABY5ElEQVR4nO3de1xU973v/zeLgTBeIYJgThW8jlsTDDSpFbRp1a3uqiVpMPE0kppyLJjqoTRepqJoQsXLidskmr1NhB1rMW1Qy96Nie7W0+PuNkijAjU1URKUNGmqRorFiDjAzO+P/DJm6iXgmmFg5vV8PHzIrPWd7/qu9fmu0bdrrTHE5XK5BAAAAAAmGP4eAAAAAIDuj2ABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMM3i7wHgKpfLpb/+9ZKcTv4z9EBlGCG6/fae1DnAUefgQJ2DA3UODtT55mJiererHVcsupCQkBAZRoi/hwEfMowQ6hwEqHNwoM7BgToHB+rsHQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkWfw8AVz31xKvun+fbv+6/gaBd/nXtAa/0Q60D16af/NbU+5kb6O7+/nOSOQ1v89afxdfDfO04rlgAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMCLljYbDbt37/f38MAAAAAgorXg4XdbpfNZpPNZtPo0aM1ceJErV+/XleuXPH2prqUw4cPKzs7W+PHjyfcAAAAIOj45IrFhAkTdPDgQe3fv1/Lli3TK6+8oueee84Xm+oympqaZLPZtHLlSn8PBQAAAOh0Fl90Gh4erpiYGEnSgAEDlJKSovLycvf6hoYGFRQU6PDhw2psbNSgQYOUlZWlGTNmuNtkZGTIZrMpPDxcu3btUlhYmGbPnq2FCxe629TV1SkvL0/Hjh3TwIEDlZeXd81YTp48qdWrV6u6ulpWq1VTpkyR3W5Xz549JX16haWxsVGJiYnavn27HA6H5s6dq+zsbG3YsEG7d+9WRESEcnJy9OCDD95wn++77z7dd999po8dAAAA0B35JFh8Xk1NjaqqqnTHHXe4lzkcDo0ePVrz5s1Tr169dODAAS1ZskSDBg1SYmKiu11ZWZkee+wxlZaWqrq6Wna7XcnJyUpNTZXT6dTChQvVr18/7dy5UxcvXlRhYaHHtpuampSZmamkpCTt2rVL9fX1Wr58uQoKCrR27Vp3u4qKCsXFxamkpESVlZXKy8tTVVWV7r33XpWWlur111/XypUrlZqaqri4OF8fMkmSxRJwj7/gBqh14AkN9U5NmRtd22d19la9g0F3nNPUOXh1x/nqbz4JFgcOHFBSUpJaW1vlcDhkGIZWrFjhXh8bG6vMzEz364yMDB08eFB79+71CBY2m00LFiyQJCUkJKikpESHDh1SamqqysvLderUKRUVFSk2NlaSlJubq3nz5rnfv2fPHjkcDq1bt049evSQJOXn5ys7O1uLFi1SdHS0JCkyMlLLly+XYRgaMmSIioqK1NzcrOzsbElSVlaWtm7dqqNHj2r69Om+OGTXiIrq2Snbgf9Ra9wIc6N76NPH6u8hdBvdeU5T5+DTneerv/gkWIwdO1arVq3S5cuXtW3bNoWGhmrq1Knu9W1tbdqyZYv27duns2fPqqWlRQ6HQxERER792Gw2j9cxMTGqr6+XJNXW1iouLs4dKiQpKSnJo31tba1sNps7VEhScnKynE6nTp8+7Q4Ww4YNk2FcTaXR0dEaPny4+3VoaKgiIyPd2+4MDQ2XOm1b8C9qHXhCQw2v/CWEudG1fVbnxsbLamtz+ns43UJ3nNPUOXh1x/nqK+0NWT4JFlarVfHx8ZKkwsJCpaWlaefOnZo1a5Ykqbi4WNu3b9eyZctks9lktVpVWFiolpYWz8FZPIcXEhIil8vl9fFebzvXW+Z0dt4HSmsrH17BglrjRpgb3UNbm5NatVN3Pk7UOfhQ747z+c1jhmEoKytLzz77rJqbmyVJlZWVmjRpktLS0jRy5EgNHDhQdXV1Hep36NChOnPmjM6dO+deVl1dfU2bkydPqqmpyb2ssrJShmFo8ODBt7xPAAAAADx1ylMp06ZNk2EY2rFjhyQpPj5e5eXlqqysVG1trfLz83X+/PkO9ZmSkqKEhATZ7XadOHFCR44c0caNGz3azJw5U+Hh4bLb7aqpqVFFRYUKCgqUlpbmvg3KWy5duqR33nlH77zzjiTpww8/1DvvvKOPPvrIq9sBAAAAuqJOCRYWi0Vz5sxRUVGRmpqaNH/+fI0aNUqZmZnKyMhQdHS0Jk+e3KE+DcPQ5s2b1dzcrPT0dOXl5Sk3N9ejjdVqVXFxsS5cuKD09HTl5ORo3LhxHg+Se8sf//hH3X///br//vslSWvWrNH9998f8P9/BwAAACBJIS5fPLSAW/LUE6+6f55v/7r/BoJ2+de1B7zSD7UOPBaLoaionh7n9K1gbnRtn9W5oeES92LfwN9/TnbHOU2duzZv/Vl8Pd1xvvpKTEzvdrXjC3oBAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkhLpfL5e9B4KqGhktqbXX6exjwEYvFUFRUT+oc4KhzcKDOwYE6BwfqfHMxMb3b1Y4rFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTLP4eAK56I+3BG64bUbSt8wYC+EnN/5p70/WcB/CWm8015plvfdF5LlEDX7rR8eeYwxu4YgEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATAu4YGGz2bR//35/DwMAAAAIKhZvd2i321VWVvZp5xaLYmNjNW3aNOXk5Oi2227z9ua6jBdeeEG//vWvderUKUVERCgpKUmLFi3SkCFD/D00AAAAwOd8csViwoQJOnjwoPbv369ly5bplVde0XPPPeeLTXUZb775ph555BGVlpbqpZdeUmtrqzIzM9XU1OTvoQEAAAA+5/UrFpIUHh6umJgYSdKAAQOUkpKi8vJy9/qGhgYVFBTo8OHDamxs1KBBg5SVlaUZM2a422RkZMhmsyk8PFy7du1SWFiYZs+erYULF7rb1NXVKS8vT8eOHdPAgQOVl5d3zVhOnjyp1atXq7q6WlarVVOmTJHdblfPnj0lfXqFpbGxUYmJidq+fbscDofmzp2r7OxsbdiwQbt371ZERIRycnL04IMP3nCfi4uLPV6vXbtW48aN0/Hjx3Xvvffe2oEEAAAAugmfBIvPq6mpUVVVle644w73MofDodGjR2vevHnq1auXDhw4oCVLlmjQoEFKTEx0tysrK9Njjz2m0tJSVVdXy263Kzk5WampqXI6nVq4cKH69eunnTt36uLFiyosLPTYdlNTkzIzM5WUlKRdu3apvr5ey5cvV0FBgdauXetuV1FRobi4OJWUlKiyslJ5eXmqqqrSvffeq9LSUr3++utauXKlUlNTFRcX1679vnjxoiSpb9++Zg6fm8UScI/DBKXQUMPjd3RMdzkPqHP31t55Rp19pyud68FS5650zP0hWOrsaz4JFgcOHFBSUpJaW1vlcDhkGIZWrFjhXh8bG6vMzEz364yMDB08eFB79+71CBY2m00LFiyQJCUkJKikpESHDh1SamqqysvLderUKRUVFSk2NlaSlJubq3nz5rnfv2fPHjkcDq1bt049evSQJOXn5ys7O1uLFi1SdHS0JCkyMlLLly+XYRgaMmSIioqK1NzcrOzsbElSVlaWtm7dqqNHj2r69OlfuP9Op1OFhYVKTk7WiBEjbvUweoiK6umVftA19Olj9fcQuqXudh5Q5+6po/OMOntfVzzXA73OXfGY+0Og19nXfBIsxo4dq1WrVuny5cvatm2bQkNDNXXqVPf6trY2bdmyRfv27dPZs2fV0tIih8OhiIgIj35sNpvH65iYGNXX10uSamtrFRcX5w4VkpSUlOTRvra2VjabzR0qJCk5OVlOp1OnT592B4thw4bJMK4m1OjoaA0fPtz9OjQ0VJGRke5tf5Enn3xS7777rl5++eV2tW+PhoZLXusL/hMaaqhPH6saGy+rrc3p7+F0O93lPKDO3Vt75xl19p2udK4HS5270jH3h2Cp861qb/D0SbCwWq2Kj4+XJBUWFiotLU07d+7UrFmzJH36PML27du1bNky2Ww2Wa1WFRYWqqWlxXNwFs/hhYSEyOVyeX2819vO9ZY5nV880Z566ikdOHBAJSUl7b5tqj1aW5nkgaStzUlNb0F3O2bUuXvqaM2os/d1xeMZ6HUO5H3riECvs6/5/EYywzCUlZWlZ599Vs3NzZKkyspKTZo0SWlpaRo5cqQGDhyourq6DvU7dOhQnTlzRufOnXMvq66uvqbNyZMnPb6ZqbKyUoZhaPDgwbe8T9fjcrn01FNP6Te/+Y1++tOfauDAgV7tHwAAAOjKOuUJlWnTpskwDO3YsUOSFB8fr/LyclVWVqq2tlb5+fk6f/58h/pMSUlRQkKC7Ha7Tpw4oSNHjmjjxo0ebWbOnKnw8HDZ7XbV1NSooqJCBQUFSktLc98G5S1PPvmkfvWrX2nDhg3q2bOnPv74Y3388cfuMAUAAAAEsk4JFhaLRXPmzFFRUZGampo0f/58jRo1SpmZmcrIyFB0dLQmT57coT4Nw9DmzZvV3Nys9PR05eXlKTc316ON1WpVcXGxLly4oPT0dOXk5GjcuHEeD5J7y89//nNdvHhRGRkZGj9+vPvX66+/7vVtAQAAAF1NiMsXDy3glryRduP/J2NE0bbOGwh8xmIxFBXVUw0Nl7iH8zpq/tfcm67vLucBde76bjbX2jvPqPOt+aLzXOpa53qg1flGx78rHXN/CLQ6e1tMTO92tePLegEAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaSEul8vl70HgqoaGS2ptdfp7GPARi8VQVFRP6hzgqHNwoM7BgToHB+p8czExvdvVjisWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMs/h4Arnrolfntavf8xPU+Hkn38YPfLvFqf4F2bDt6fAJt/9F+3j6XPq+7zKuOHoMXpjzto5EAQPfEFQsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYFrABQubzab9+/f7exgAAABAULF4u0O73a6ysrJPO7dYFBsbq2nTpiknJ0e33XabtzfXZbz88sv6+c9/rj//+c+SpOHDh+vxxx/Xfffd5+eRAQAAAL7n9WAhSRMmTNCaNWvU2tqq48ePa+nSpQoJCdHixYt9sbkuIS4uTosWLVJ8fLxcLpf+/d//XT/4wQ9UVlam4cOH+3t4AAAAgE/5JFiEh4crJiZGkjRgwAClpKSovLzcvb6hoUEFBQU6fPiwGhsbNWjQIGVlZWnGjBnuNhkZGbLZbAoPD9euXbsUFham2bNna+HChe42dXV1ysvL07FjxzRw4EDl5eVdM5aTJ09q9erVqq6ultVq1ZQpU2S329WzZ09Jn15haWxsVGJiorZv3y6Hw6G5c+cqOztbGzZs0O7duxUREaGcnBw9+OCDN9zniRMnerzOzc3Vz3/+c1VXVxMsAAAAEPB8/oxFTU2NqqqqFBYW5l7mcDg0evRovfjii9qzZ48eeughLVmyRMeOHfN4b1lZmXr06KHS0lItXrxYzz//vN544w1JktPp1MKFCxUWFqadO3fqySef1NNPP+3x/qamJmVmZqpv377atWuXnnnmGZWXl6ugoMCjXUVFhc6dO6eSkhLZ7XZt2rRJWVlZ6tu3r0pLSzV79mytXLlSZ86cadc+t7W16bXXXlNTU5OSkpJu5bABAAAA3YpPrlgcOHBASUlJam1tlcPhkGEYWrFihXt9bGysMjMz3a8zMjJ08OBB7d27V4mJie7lNptNCxYskCQlJCSopKREhw4dUmpqqsrLy3Xq1CkVFRUpNjZW0qdXCebNm+d+/549e+RwOLRu3Tr16NFDkpSfn6/s7GwtWrRI0dHRkqTIyEgtX75chmFoyJAhKioqUnNzs7KzsyVJWVlZ2rp1q44eParp06ffcL9Pnjyp2bNn68qVK+rRo4eef/55DRs2zOzhvIbFEnDP3HcZvj62oaGGx+9dDXPLO7p6nTtboM4r6hwcqHNwoM7e4ZNgMXbsWK1atUqXL1/Wtm3bFBoaqqlTp7rXt7W1acuWLdq3b5/Onj2rlpYWORwORUREePRjs9k8XsfExKi+vl6SVFtbq7i4OHeokHTN1YHa2lrZbDZ3qJCk5ORkOZ1OnT592h0shg0bJsO4OpGio6M9bl8KDQ1VZGSke9s3MnjwYP37v/+7Ll68qP/8z//U0qVLVVJS4vVwERXV06v94arOOrZ9+lg7ZTsdxdzyrq5a584WqPPqs/pS5+BAnYMDdTbHJ8HCarUqPj5eklRYWKi0tDTt3LlTs2bNkiQVFxdr+/btWrZsmWw2m6xWqwoLC9XS0uI5OIvn8EJCQuRyubw+3utt53rLnE7nTfsJDw937/edd96pt956S9u3b9dTTz3l1fE2NFzyan+4ytfHNjTUUJ8+VjU2XlZb283nkz8wt7yjq9e5swXqvGpsvEydgwDnc3CgzjfX3n8g8kmw+DzDMJSVlaW1a9dq5syZioiIUGVlpSZNmqS0tDRJnz4vUVdXp6FDh7a736FDh+rMmTM6d+6c+vfvL0mqrq6+pk1ZWZmamprcVy0qKytlGIYGDx7snR28CafTKYfD4fV+W1uZ8L7SWce2rc3ZJevYFcfUnXXVOne2QD0Gn/3lgzoHB+ocHKizOZ1yI9m0adNkGIZ27NghSYqPj1d5ebkqKytVW1ur/Px8nT9/vkN9pqSkKCEhQXa7XSdOnNCRI0e0ceNGjzYzZ85UeHi47Ha7ampqVFFRoYKCAqWlpblvg/KWDRs26PDhw/rwww918uRJbdiwQW+++aZmzpzp1e0AAAAAXVGnBAuLxaI5c+aoqKhITU1Nmj9/vkaNGqXMzExlZGQoOjpakydP7lCfhmFo8+bNam5uVnp6uvLy8pSbm+vRxmq1qri4WBcuXFB6erpycnI0btw4jwfJvaW+vl5Lly7VtGnTNHfuXL311lsqLi5Wamqq17cFAAAAdDUhLl88tIBb8tAr89vV7vmJ6308ku7jB79d4tX+fH1sLRZDUVE91dBwqVMutXb0+DC3vKOz6+wN3j6XPq+7zKuOHoMXpjzd7eqMjuuO5zM6jjrfXExM73a14zu1AAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpIS6Xy+XvQeCqhoZLam11+nsY8BGLxVBUVE/qHOCoc3CgzsGBOgcH6nxzMTG929WOKxYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0yz+HgCumvnEf3xhm3+zT+yEkSDYfG/tb73aX7DNU44ffMnb80tijnVHvpgHEnMB3sUVCwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgWsAFC5vNpv379/t7GAAAAEBQ8XqwsNvtstlsstlsGj16tCZOnKj169frypUr3t5Ul/Xiiy/KZrNp9erV/h4KAAAA0Cksvuh0woQJWrNmjVpbW3X8+HEtXbpUISEhWrx4sS8216UcO3ZMv/jFL2Sz2fw9FAAAAKDT+ORWqPDwcMXExGjAgAGaPHmyUlJSVF5e7l7f0NCgH/3oR5owYYLGjBmjmTNnas+ePR59ZGRk6Cc/+YnWr1+vr3zlK0pNTdWmTZs82tTV1emRRx7RXXfdpW9+85t64403rhnLyZMn9eijjyoxMVFjx47VihUrdOnSJfd6u92uxx9/XFu2bFFKSoruuecebd68Wa2trVq3bp2+8pWv6Gtf+5p27979hft96dIlLV68WD/5yU/Ut2/fjh42AAAAoNvy+TMWNTU1qqqqUlhYmHuZw+HQ6NGj9eKLL2rPnj166KGHtGTJEh07dszjvWVlZerRo4dKS0u1ePFiPf/88+7w4HQ6tXDhQoWFhWnnzp168skn9fTTT3u8v6mpSZmZmerbt6927dqlZ555RuXl5SooKPBoV1FRoXPnzqmkpER2u12bNm1SVlaW+vbtq9LSUs2ePVsrV67UmTNnbrqvTz31lO677z6lpKSYOWQAAABAt+OTW6EOHDigpKQktba2yuFwyDAMrVixwr0+NjZWmZmZ7tcZGRk6ePCg9u7dq8TERPdym82mBQsWSJISEhJUUlKiQ4cOKTU1VeXl5Tp16pSKiooUGxsrScrNzdW8efPc79+zZ48cDofWrVunHj16SJLy8/OVnZ2tRYsWKTo6WpIUGRmp5cuXyzAMDRkyREVFRWpublZ2drYkKSsrS1u3btXRo0c1ffr06+7za6+9prffflu7du3yxiG8IYsl4J63DyqhoYbH74GKeWoOx6976M7nM3Os/bpznduDufCpQK9zZ/FJsBg7dqxWrVqly5cva9u2bQoNDdXUqVPd69va2rRlyxbt27dPZ8+eVUtLixwOhyIiIjz6+fvnFGJiYlRfXy9Jqq2tVVxcnDtUSFJSUpJH+9raWtlsNneokKTk5GQ5nU6dPn3aHSyGDRsmw7g6kaKjozV8+HD369DQUEVGRrq3/ff+8pe/aPXq1fq3f/s33Xbbbe06RrcqKqqnT/tH5+jTx+rvIfgU89Qcjl/30h3PZ+ZYx3XHOrcHc8FToNa5s/gkWFitVsXHx0uSCgsLlZaWpp07d2rWrFmSpOLiYm3fvl3Lli2TzWaT1WpVYWGhWlpaPAdn8RxeSEiIXC6X18d7ve1cb5nT6bzu+48fP676+np9+9vfdi9ra2vT4cOHtWPHDr311lsKDQ31ylgbGi59cSN0WaGhhvr0saqx8bLa2q4/nwIB89Qcjl/30J3PZ+ZY+3XnOrcHc+FTgV5ns9obQH0SLD7PMAxlZWVp7dq1mjlzpiIiIlRZWalJkyYpLS1N0qfPS9TV1Wno0KHt7nfo0KE6c+aMzp07p/79+0uSqqurr2lTVlampqYm91WLyspKGYahwYMHe2cHJX31q1/Vq6++6rHsxz/+sYYMGaJ58+Z5LVRIUmsrkz0QtLU5A7qWgbxvnYHj1710x/O5u423K+iOdW6PQNwnMwK1zp2lU24kmzZtmgzD0I4dOyRJ8fHxKi8vV2VlpWpra5Wfn6/z5893qM+UlBQlJCTIbrfrxIkTOnLkiDZu3OjRZubMmQoPD5fdbldNTY0qKipUUFCgtLQ0921Q3tCrVy+NGDHC41ePHj0UGRmpESNGeG07AAAAQFfVKcHCYrFozpw5KioqUlNTk+bPn69Ro0YpMzNTGRkZio6O1uTJkzvUp2EY2rx5s5qbm5Wenq68vDzl5uZ6tLFarSouLtaFCxeUnp6unJwcjRs3zuNBcgAAAADmhbh88dACbsnMJ/7jC9v8m31iJ4wEvmKxGIqK6qmGhktd6lLr99b+1qv9Bds85fgFp846n709vyTmWEd0lc9tX8wDibnwma5S564qJqZ3u9rxnVoAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwLQQl8vl8vcgcFVDwyW1tjr9PQz4iMViKCqqJ3UOcNQ5OFDn4ECdgwN1vrmYmN7tascVCwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpFn8PAFfNe73S/XPhvcP9OBJ8Ztnhd2/pfdSve/miOlNPdBbmIvyJ+QezuGIBAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwLuGBhs9m0f/9+fw8DAAAACCoWb3dot9tVVlb2aecWi2JjYzVt2jTl5OTotttu8/bmuoxNmzZp8+bNHssGDx6sffv2+WlEAAAAQOfxerCQpAkTJmjNmjVqbW3V8ePHtXTpUoWEhGjx4sW+2FyXMXz4cL300kvu16GhoX4cDQAAANB5fBIswsPDFRMTI0kaMGCAUlJSVF5e7l7f0NCggoICHT58WI2NjRo0aJCysrI0Y8YMd5uMjAzZbDaFh4dr165dCgsL0+zZs7Vw4UJ3m7q6OuXl5enYsWMaOHCg8vLyrhnLyZMntXr1alVXV8tqtWrKlCmy2+3q2bOnpE+vsDQ2NioxMVHbt2+Xw+HQ3LlzlZ2drQ0bNmj37t2KiIhQTk6OHnzwwZvud2hoqHu/AQAAgGDi82csampqVFVVpbCwMPcyh8Oh0aNH68UXX9SePXv00EMPacmSJTp27JjHe8vKytSjRw+VlpZq8eLFev755/XGG29IkpxOpxYuXKiwsDDt3LlTTz75pJ5++mmP9zc1NSkzM1N9+/bVrl279Mwzz6i8vFwFBQUe7SoqKnTu3DmVlJTIbrdr06ZNysrKUt++fVVaWqrZs2dr5cqVOnPmzE339f3339f48eM1adIkPfHEE/roo4/MHDoAAACg2/DJFYsDBw4oKSlJra2tcjgcMgxDK1ascK+PjY1VZmam+3VGRoYOHjyovXv3KjEx0b3cZrNpwYIFkqSEhASVlJTo0KFDSk1NVXl5uU6dOqWioiLFxsZKknJzczVv3jz3+/fs2SOHw6F169apR48ekqT8/HxlZ2dr0aJFio6OliRFRkZq+fLlMgxDQ4YMUVFRkZqbm5WdnS1JysrK0tatW3X06FFNnz79uvucmJioNWvWaPDgwfr444/1/PPP65FHHtGrr76qXr16dfgYWiwB91x9ULlR/UJDDY/f0T109HykzsHBH3Xmz4bOx/l8VSDPP+rsHT4JFmPHjtWqVat0+fJlbdu2TaGhoZo6dap7fVtbm7Zs2aJ9+/bp7NmzamlpkcPhUEREhEc/NpvN43VMTIzq6+slSbW1tYqLi3OHCklKSkryaF9bWyubzeYOFZKUnJwsp9Op06dPu4PFsGHDZBhXJ1J0dLSGDx/ufh0aGqrIyEj3tq/nvvvuc/88cuRIjRkzRt/4xje0d+9ezZo168YH6waionp2+D3oOr6ofn36WDtpJPCGWz0fqXNw6Mw682eD/3A+B8f8o87m+CRYWK1WxcfHS5IKCwuVlpamnTt3uv+CXVxcrO3bt2vZsmWy2WyyWq0qLCxUS0uL5+AsnsMLCQmRy+Xy+nivt53rLXM6ne3us0+fPkpISNCf/vSnWxpTQ8OlW3ofuoYb1S801FCfPlY1Nl5WW1v75xP8q6PnI3UODv6oM382dD7O56sCef5R55trb6j0SbD4PMMwlJWVpbVr12rmzJmKiIhQZWWlJk2apLS0NEmfPi9RV1enoUOHtrvfoUOH6syZMzp37pz69+8vSaqurr6mTVlZmZqamtxXLSorK2UYhgYPHuydHbyBS5cu6YMPPrjlh7lbW5nU3dkX1a+tzUmNu5FbrRV1Dg6dWWfmk/9wPgfH/KPO5nTKjWTTpk2TYRjasWOHJCk+Pl7l5eWqrKxUbW2t8vPzdf78+Q71mZKSooSEBNntdp04cUJHjhzRxo0bPdrMnDlT4eHhstvtqqmpUUVFhQoKCpSWlua+Dcpb1q1bpzfffFMffvihKisrtWDBAhmG4fFNVwAAAECg6pRgYbFYNGfOHBUVFampqUnz58/XqFGjlJmZqYyMDEVHR2vy5Mkd6tMwDG3evFnNzc1KT09XXl6ecnNzPdpYrVYVFxfrwoULSk9PV05OjsaNG+fxILm3nDlzRj/60Y80bdo0/fCHP1RkZKRKS0t1++23e31bAAAAQFcT4vLFQwu4JfNer3T/XHjv8Ju0RGdZdvjdW3rfjepnsRiKiuqphoZLXGrtQr6ozh09H6lzcPBFnb09F2FeMJ3PwTz/gqnOtyImpne72vGdWgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADAtBCXy+Xy9yBwVUPDJbW2Ov09DPiIxWIoKqondQ5w1Dk4UOfgQJ2DA3W+uZiY3u1qxxULAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkWfw8AVx399WKv9zkoKd/rfaJ7+lPVU17tj7mFruhm85w5C2/ryOcq8y/4ePPP3e4yf7hiAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMC7hgYbPZtH//fn8PAwAAAAgqXg8WdrtdNptNNptNo0eP1sSJE7V+/XpduXLF25vqcs6ePatFixZp7NixSkxM1MyZM/XWW2/5e1gAAACAz1l80emECRO0Zs0atba26vjx41q6dKlCQkK0ePFiX2yuS/jb3/6m//k//6fGjh2rrVu3KioqSu+//7769u3r76EBAAAAPueTYBEeHq6YmBhJ0oABA5SSkqLy8nL3+oaGBhUUFOjw4cNqbGzUoEGDlJWVpRkzZrjbZGRkyGazKTw8XLt27VJYWJhmz56thQsXutvU1dUpLy9Px44d08CBA5WXl3fNWE6ePKnVq1erurpaVqtVU6ZMkd1uV8+ePSV9eoWlsbFRiYmJ2r59uxwOh+bOnavs7Gxt2LBBu3fvVkREhHJycvTggw/ecJ+3bt2quLg4rVmzxr1s4MCBt34QAQAAgG7E589Y1NTUqKqqSmFhYe5lDodDo0eP1osvvqg9e/booYce0pIlS3Ts2DGP95aVlalHjx4qLS3V4sWL9fzzz+uNN96QJDmdTi1cuFBhYWHauXOnnnzyST399NMe729qalJmZqb69u2rXbt26ZlnnlF5ebkKCgo82lVUVOjcuXMqKSmR3W7Xpk2blJWVpb59+6q0tFSzZ8/WypUrdebMmRvu529/+1vdeeed+t//+39r3Lhxuv/++1VaWmr28AEAAADdgk+uWBw4cEBJSUlqbW2Vw+GQYRhasWKFe31sbKwyMzPdrzMyMnTw4EHt3btXiYmJ7uU2m00LFiyQJCUkJKikpESHDh1SamqqysvLderUKRUVFSk2NlaSlJubq3nz5rnfv2fPHjkcDq1bt049evSQJOXn5ys7O1uLFi1SdHS0JCkyMlLLly+XYRgaMmSIioqK1NzcrOzsbElSVlaWtm7dqqNHj2r69OnX3ecPPvhAP//5z/XYY48pOztbb731ln7yk58oLCxMDzzwgDcO6y2xWALu+fxuLTTU8Pi9O2Nu3Vgg1TmQeHvOUufg4K0685nZtXX187m7zB+fBIuxY8dq1apVunz5srZt26bQ0FBNnTrVvb6trU1btmzRvn37dPbsWbW0tMjhcCgiIsKjH5vN5vE6JiZG9fX1kqTa2lrFxcW5Q4UkJSUlebSvra2VzWZzhwpJSk5OltPp1OnTp93BYtiwYTKMqwWLjo7W8OHD3a9DQ0MVGRnp3vb1uFwu3XnnnfrRj34kSRo1apTeffdd/eIXv/BrsIiK6um3bePG+vSx+nsIpjG3vlgg1DmQ+GrOUufgYLbOfGZ2D131fO4u88cnwcJqtSo+Pl6SVFhYqLS0NO3cuVOzZs2SJBUXF2v79u1atmyZbDabrFarCgsL1dLS4jk4i+fwQkJC5HK5vD7e623nesucTucN+4iJidHQoUM9lg0ZMkT/+Z//6b2B3oKGhkt+3T48hYYa6tPHqsbGy2pru/F86g6YWzcWSHUOJN6es9Q5OHirznxmdm1d/Xz29/xpb7DxSbD4PMMwlJWVpbVr12rmzJmKiIhQZWWlJk2apLS0NEmfPi9RV1d3zV/Mb2bo0KE6c+aMzp07p/79+0uSqqurr2lTVlampqYm91WLyspKGYahwYMHe2cH/3/Jyck6ffq0x7K6ujr9j//xP7y6nY5qbe16JwektjZnt69Ndx9/ZwiEOgcSX9WCOgcHs3VmjnQPXfV87opjup5OuWFr2rRpMgxDO3bskCTFx8ervLxclZWVqq2tVX5+vs6fP9+hPlNSUpSQkCC73a4TJ07oyJEj2rhxo0ebmTNnKjw8XHa7XTU1NaqoqFBBQYHS0tLct0F5y3e/+1394Q9/0JYtW/T+++/r1VdfVWlpqb7zne94dTsAAABAV9QpwcJisWjOnDkqKipSU1OT5s+fr1GjRikzM1MZGRmKjo7W5MmTO9SnYRjavHmzmpublZ6erry8POXm5nq0sVqtKi4u1oULF5Senq6cnByNGzfO40Fyb0lMTNTmzZv12muvacaMGfqXf/kXLVu2TN/61re8vi0AAACgqwlx+eKhBdySo7/2/n8gOCgp3+t94tZZLIaionqqoeFSp1/W/FPVU17tj7l1Y/6sc7C72Tz39pylzsHhZnXuyOcqn5ldmy/OZ2/+uevv+RMT07td7brHd1cBAAAA6NIIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADAtBCXy+Xy9yBwVUPDJbW2Ov09DPiIxWIoKqondQ5w1Dk4UOfgQJ2DA3W+uZiY3u1qxxULAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgmsXfA8BVTz3x6nWXz7d/vXMHAr/617UHTL2f+YKurKPzm/mMz5j9bLwZ5hmux1tzLpjmF1csAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAApgVcsLDZbNq/f7+/hwEAAAAEFYu3O7Tb7SorK/u0c4tFsbGxmjZtmnJycnTbbbd5e3NdxsSJE/XnP//5muXf+c53tHLlSj+MCAAAAOg8Xg8WkjRhwgStWbNGra2tOn78uJYuXaqQkBAtXrzYF5vrEnbt2qW2tjb363fffVePPfaYpk2b5sdRAQAAAJ3DJ8EiPDxcMTExkqQBAwYoJSVF5eXl7vUNDQ0qKCjQ4cOH1djYqEGDBikrK0szZsxwt8nIyJDNZlN4eLh27dqlsLAwzZ49WwsXLnS3qaurU15eno4dO6aBAwcqLy/vmrGcPHlSq1evVnV1taxWq6ZMmSK73a6ePXtK+vQKS2NjoxITE7V9+3Y5HA7NnTtX2dnZ2rBhg3bv3q2IiAjl5OTowQcfvOE+33777R6vX3zxRQ0aNEhf+cpXbu0gAgAAAN2IT4LF59XU1Kiqqkp33HGHe5nD4dDo0aM1b9489erVSwcOHNCSJUs0aNAgJSYmutuVlZXpscceU2lpqaqrq2W325WcnKzU1FQ5nU4tXLhQ/fr1086dO3Xx4kUVFhZ6bLupqUmZmZlKSkrSrl27VF9fr+XLl6ugoEBr1651t6uoqFBcXJxKSkpUWVmpvLw8VVVV6d5771Vpaalef/11rVy5UqmpqYqLi/vCfXY4HPrVr36lxx57TCEhIaaPocUScI/CBK3QUMPjd19gvvhfZ9Q5WHTl+UydA8fN5hl1Dg6+rHNX/hzzNp8EiwMHDigpKUmtra1yOBwyDEMrVqxwr4+NjVVmZqb7dUZGhg4ePKi9e/d6BAubzaYFCxZIkhISElRSUqJDhw4pNTVV5eXlOnXqlIqKihQbGytJys3N1bx589zv37NnjxwOh9atW6cePXpIkvLz85Wdna1FixYpOjpakhQZGanly5fLMAwNGTJERUVFam5uVnZ2tiQpKytLW7du1dGjRzV9+vQv3P/9+/fr4sWLeuCBB271EHqIiurplX7QdfTpY/VZ38yXrsOXdQ4W3WE+U+furz3zjDoHB1/UuTt8jnmLT4LF2LFjtWrVKl2+fFnbtm1TaGiopk6d6l7f1tamLVu2aN++fTp79qxaWlrkcDgUERHh0Y/NZvN4HRMTo/r6eklSbW2t4uLi3KFCkpKSkjza19bWymazuUOFJCUnJ8vpdOr06dPuYDFs2DAZxtU0GR0dreHDh7tfh4aGKjIy0r3tL7J792597Wtf8xibGQ0Nl7zSD/wvNNRQnz5WNTZeVlub0yfbYL74X2fUOVh05flMnQPHzeYZdQ4OvqxzV/4ca6/2hiOfBAur1ar4+HhJUmFhodLS0rRz507NmjVLklRcXKzt27dr2bJlstlsslqtKiwsVEtLi+fgLJ7DCwkJkcvl8vp4r7ed6y1zOr94ov35z39WeXm5Nm3a5LXxtbbyQRZo2tqcPqsr86Xr8GWdg0V3OH7UuftrT/2oc3DwRZ2Dad74/KYvwzCUlZWlZ599Vs3NzZKkyspKTZo0SWlpaRo5cqQGDhyourq6DvU7dOhQnTlzRufOnXMvq66uvqbNyZMn1dTU5F5WWVkpwzA0ePDgW96nm/nlL3+pfv366etf/7pP+gcAAAC6ok55mmTatGkyDEM7duyQJMXHx6u8vFyVlZWqra1Vfn6+zp8/36E+U1JSlJCQILvdrhMnTujIkSPauHGjR5uZM2cqPDxcdrtdNTU1qqioUEFBgdLS0ty3QXmT0+nUL3/5S91///3XXPEAAAAAAlmnBAuLxaI5c+aoqKhITU1Nmj9/vkaNGqXMzExlZGQoOjpakydP7lCfhmFo8+bNam5uVnp6uvLy8pSbm+vRxmq1qri4WBcuXFB6erpycnI0btw4jwfJvam8vFwfffTRTb+WFgAAAAhEIS5fPLSAW/LUE69ed/l8+9c7dyDwGYvFUFRUTzU0XLrhPZf/uvaAqW0wX/yvPXUOVh2d3115PlPnzmX2s/FmbjbPqHNwuF6dvTXnuvLnWHvFxPRuV7vg+WJdAAAAAD5DsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpIS6Xy+XvQeCqhoZLam11+nsY8BGLxVBUVE/qHOCoc3CgzsGBOgcH6nxzMTG929WOKxYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0yz+HgCueiPtwZuuH1G0rXMG0sXU/K+5Xu8zWI8lOsbbc687zbub7Xt32g/gM7dyPjPXgY7higUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMC3ggoXNZtP+/fv9PQwAAAAgqHg9WNjtdtlsNtlsNo0ePVoTJ07U+vXrdeXKFW9vqktpa2vTM888o4kTJyoxMVGTJ0/W888/L5fL5e+hAQAAAD5n8UWnEyZM0Jo1a9Ta2qrjx49r6dKlCgkJ0eLFi32xuS5h69at+vnPf65169Zp2LBh+uMf/6gf//jH6t27tx599FF/Dw8AAADwKZ8Ei/DwcMXExEiSBgwYoJSUFJWXl7vXNzQ0qKCgQIcPH1ZjY6MGDRqkrKwszZgxw90mIyNDNptN4eHh2rVrl8LCwjR79mwtXLjQ3aaurk55eXk6duyYBg4cqLy8vGvGcvLkSa1evVrV1dWyWq2aMmWK7Ha7evbsKenTKyyNjY1KTEzU9u3b5XA4NHfuXGVnZ2vDhg3avXu3IiIilJOTowcffPCG+1xVVaVJkybp61//uiTpS1/6kl577TUdO3bM1LEEAAAAugOfBIvPq6mpUVVVle644w73MofDodGjR2vevHnq1auXDhw4oCVLlmjQoEFKTEx0tysrK9Njjz2m0tJSVVdXy263Kzk5WampqXI6nVq4cKH69eunnTt36uLFiyosLPTYdlNTkzIzM5WUlKRdu3apvr5ey5cvV0FBgdauXetuV1FRobi4OJWUlKiyslJ5eXmqqqrSvffeq9LSUr3++utauXKlUlNTFRcXd939TEpKUmlpqU6fPq3BgwfrxIkTOnr0qOx2u9eOpcUScI/E+I2/jmVoqOHxO4JLoJzDgbIfZnE+Bz6LxaDOQYI6e4dPgsWBAweUlJSk1tZWORwOGYahFStWuNfHxsYqMzPT/TojI0MHDx7U3r17PYKFzWbTggULJEkJCQkqKSnRoUOHlJqaqvLycp06dUpFRUWKjY2VJOXm5mrevHnu9+/Zs0cOh0Pr1q1Tjx49JEn5+fnKzs7WokWLFB0dLUmKjIzU8uXLZRiGhgwZoqKiIjU3Nys7O1uSlJWVpa1bt+ro0aOaPn36dff5+9//vj755BP90z/9k0JDQ9XW1qbc3Fx961vf8sYhlSRFRfX0Wl/Bzt/Hsk8fq1+3D//w97zzlkDZD2/hfA5cn5/r1Dk4UGdzfBIsxo4dq1WrVuny5cvatm2bQkNDNXXqVPf6trY2bdmyRfv27dPZs2fV0tIih8OhiIgIj35sNpvH65iYGNXX10uSamtrFRcX5w4V0qdXDT6vtrZWNpvNHSokKTk5WU6nU6dPn3YHi2HDhskwribU6OhoDR8+3P06NDRUkZGR7m1fz969e/Xqq69qw4YNGjZsmN555x2tWbNG/fv31wMPPPCFx6w9GhoueaUf+O9YhoYa6tPHqsbGy2prc/plDPCfQDmHA2U/zOJ8DnwNDZeoc5CgzjfX3n9Q8kmwsFqtio+PlyQVFhYqLS1NO3fu1KxZsyRJxcXF2r59u5YtWyabzSar1arCwkK1tLR4Ds7iObyQkBCffMvS9bZzvWVO540n2vr16/X973/ffUXDZrPpo48+0gsvvOC1YNHaykT3Fn8fy7Y2p9/HgM4XKDUPlP3wFs7nwPX5ulLn4ECdzfH5jWSGYSgrK0vPPvusmpubJUmVlZWaNGmS0tLSNHLkSA0cOFB1dXUd6nfo0KE6c+aMzp07515WXV19TZuTJ0+qqanJvayyslKGYWjw4MG3vE/X09zcrJCQEI9loaGhfN0sAAAAgkKnPKEybdo0GYahHTt2SJLi4+NVXl6uyspK1dbWKj8/X+fPn+9QnykpKUpISJDdbteJEyd05MgRbdy40aPNzJkzFR4eLrvdrpqaGlVUVKigoEBpaWnu26C85Rvf+Ia2bNmiAwcO6MMPP9RvfvMbvfTSS5o8ebJXtwMAAAB0RZ0SLCwWi+bMmaOioiI1NTVp/vz5GjVqlDIzM5WRkaHo6OgO/wXcMAxt3rxZzc3NSk9PV15ennJzcz3aWK1WFRcX68KFC0pPT1dOTo7GjRvn8SC5tyxfvlxTp07Vk08+qW9+85tat26dHn74YeXk5Hh9WwAAAEBXE+LiXp0u4420G/8/GZI0omhb5wyki6n5X3O93qe/jqXFYigqqqcaGi5xD2c34O25153O4Zvte3faD1/ifO5ebuV8HlG0jToHCep8czExvdvVji/rBQAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmhbhcLpe/B4GrGhouqbXV6e9hwEcsFkNRUT2pc4CjzsGBOgcH6hwcqPPNxcT0blc7rlgAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATLP4ewC46qFX5nu1v+cnrvdqf4BZP/jtkpuuZ84iEDHv4W83moPMvWtl/XqRJI7NreKKBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwLeCChc1m0/79+/09DAAAACCoeD1Y2O122Ww22Ww2jR49WhMnTtT69et15coVb2+qS/nkk0+0evVqfeMb31BiYqJmz56tY8eO+XtYAAAAQKew+KLTCRMmaM2aNWptbdXx48e1dOlShYSEaPHixb7YXJewfPlyvfvuu1q/fr369++vX/3qV3rsscf0+uuvKzY21t/DAwAAAHzKJ7dChYeHKyYmRgMGDNDkyZOVkpKi8vJy9/qGhgb96Ec/0oQJEzRmzBjNnDlTe/bs8egjIyNDP/nJT7R+/Xp95StfUWpqqjZt2uTRpq6uTo888ojuuusuffOb39Qbb7xxzVhOnjypRx99VImJiRo7dqxWrFihS5cuudfb7XY9/vjj2rJli1JSUnTPPfdo8+bNam1t1bp16/SVr3xFX/va17R79+4b7m9zc7N+/etfa/Hixbr33nsVHx+vhQsXKj4+Xi+//PKtHkYAAACg2/DJFYvPq6mpUVVVle644w73MofDodGjR2vevHnq1auXDhw4oCVLlmjQoEFKTEx0tysrK9Njjz2m0tJSVVdXy263Kzk5WampqXI6nVq4cKH69eunnTt36uLFiyosLPTYdlNTkzIzM5WUlKRdu3apvr5ey5cvV0FBgdauXetuV1FRobi4OJWUlKiyslJ5eXmqqqrSvffeq9LSUr3++utauXKlUlNTFRcXd80+tra2qq2tTbfddpvH8ttuu02VlZXeOpQdZrEE3CM03V5oqOHxOzwFypylzsHBW3UOlHkfqAL5fGbuXfX39eXY3BqfBIsDBw4oKSlJra2tcjgcMgxDK1ascK+PjY1VZmam+3VGRoYOHjyovXv3egQLm82mBQsWSJISEhJUUlKiQ4cOKTU1VeXl5Tp16pSKiorctxrl5uZq3rx57vfv2bNHDodD69atU48ePSRJ+fn5ys7O1qJFixQdHS1JioyM1PLly2UYhoYMGaKioiI1NzcrOztbkpSVlaWtW7fq6NGjmj59+jX726tXLyUlJelf/uVfNGTIEEVHR2vPnj2qrq7WoEGDvHVYOywqqqffto2b69PH6u8hdEmBNmepc3AwW+dAm/eBKhDPZ+bejXFsbo1PgsXYsWO1atUqXb58Wdu2bVNoaKimTp3qXt/W1qYtW7Zo3759Onv2rFpaWuRwOBQREeHRj81m83gdExOj+vp6SVJtba3i4uI8nl9ISkryaF9bWyubzeYOFZKUnJwsp9Op06dPu4PFsGHDZBhXk2l0dLSGDx/ufh0aGqrIyEj3tq9n/fr1WrZsmb72ta8pNDRUo0aN0vTp03X8+PEvPF6+0tBw6YsboVOFhhrq08eqxsbLamtz+ns4XU6gzFnqHBy8VedAmfeBKpDPZ+beVZ/V+TMcG0/tDVo+CRZWq1Xx8fGSpMLCQqWlpWnnzp2aNWuWJKm4uFjbt2/XsmXLZLPZZLVaVVhYqJaWFs/BWTyHFxISIpfL5fXxXm8711vmdN74A2XQoEEqKSlRU1OTPvnkE/Xv318//OEPNXDgQK+Pt71aWwPrAzCQtLU5qc91BNoxoc7BwWydmSPdQyCez4G2P97Esbk1Pr+BzDAMZWVl6dlnn1Vzc7MkqbKyUpMmTVJaWppGjhypgQMHqq6urkP9Dh06VGfOnNG5c+fcy6qrq69pc/LkSTU1NbmXVVZWyjAMDR48+Jb36WZ69Oih/v37629/+5sOHjyoSZMm+WQ7AAAAQFfSKU+mTJs2TYZhaMeOHZKk+Ph4lZeXq7KyUrW1tcrPz9f58+c71GdKSooSEhJkt9t14sQJHTlyRBs3bvRoM3PmTIWHh8tut6umpkYVFRUqKChQWlqa+zYob/nv//5v/e53v9MHH3ygN954Q48++qiGDBmib3/7217dDgAAANAVdUqwsFgsmjNnjoqKitTU1KT58+dr1KhRyszMVEZGhqKjozV58uQO9WkYhjZv3qzm5malp6crLy9Pubm5Hm2sVquKi4t14cIFpaenKycnR+PGjfN4kNxbLl68qKeeekr/9E//pKVLl+rLX/6yiouLFRYW5vVtAQAAAF1NiMsXDy3gljz0ynyv9vf8xPVe7Q/mWSyGoqJ6qqHhUlDev/mD3y656fpAmbPBXudg0d46B8u8D1SBcD7faA4y9676rM6f/V2MY+MpJqZ3u9rxJb0AAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwLQQl8vl8vcgcFVDwyW1tjr9PQz4iMViKCqqJ3UOcNQ5OFDn4ECdgwN1vrmYmN7tascVCwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpFn8PAFfNfOI/bul9/2af6OWRdD/fW/tb988cj+Dw+Zrfiu4yTzqyn91lnxBYbjRHmY9A8OGKBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwrVsFC5vNpv379/t7GAAAAAD+ToeChd1ul81mk81m0+jRozVx4kStX79eV65c8dX4uoTDhw8rOztb48ePv2G4cblcevbZZzV+/HglJiZq7ty5qqur6/zBAgAAAH7Q4SsWEyZM0MGDB7V//34tW7ZMr7zyip577jlfjK3LaGpqks1m08qVK2/YZuvWrfrZz36mVatWqbS0VFarVZmZmQEfugAAAABJsnT0DeHh4YqJiZEkDRgwQCkpKSovL3evb2hoUEFBgQ4fPqzGxkYNGjRIWVlZmjFjhrtNRkaGbDabwsPDtWvXLoWFhWn27NlauHChu01dXZ3y8vJ07NgxDRw4UHl5edeM5eTJk1q9erWqq6tltVo1ZcoU2e129ezZU9KnV1gaGxuVmJio7du3y+FwaO7cucrOztaGDRu0e/duRUREKCcnRw8++OAN9/m+++7Tfffdd8P1LpdL27dv1/z58zV58mRJ0vr165WSkqL9+/dr+vTp7Ty6AAAAQPfU4WDxeTU1NaqqqtIdd9zhXuZwODR69GjNmzdPvXr10oEDB7RkyRINGjRIiYmJ7nZlZWV67LHHVFpaqurqatntdiUnJys1NVVOp1MLFy5Uv379tHPnTl28eFGFhYUe225qalJmZqaSkpK0a9cu1dfXa/ny5SooKNDatWvd7SoqKhQXF6eSkhJVVlYqLy9PVVVVuvfee1VaWqrXX39dK1euVGpqquLi4m7pOHz44Yf6+OOPlZKS4l7Wu3dvjRkzRlVVVT4PFhZLt3pUxue68vEIDTU8fof/+HKe+KvOXXnuByLO55sLlPlInYMDdfaODgeLAwcOKCkpSa2trXI4HDIMQytWrHCvj42NVWZmpvt1RkaGDh48qL1793oEC5vNpgULFkiSEhISVFJSokOHDik1NVXl5eU6deqUioqKFBsbK0nKzc3VvHnz3O/fs2ePHA6H1q1bpx49ekiS8vPzlZ2drUWLFik6OlqSFBkZqeXLl8swDA0ZMkRFRUVqbm5Wdna2JCkrK0tbt27V0aNHbzkAfPzxx5Kkfv36eSzv16+fzp8/f0t9dkRUVE+fb6M76Q7Ho08fq7+HEPQ6Y550dp27w9wPRJzP1xdo85E6BwfqbE6Hg8XYsWO1atUqXb58Wdu2bVNoaKimTp3qXt/W1qYtW7Zo3759Onv2rFpaWuRwOBQREeHRj81m83gdExOj+vp6SVJtba3i4uLcoUKSkpKSPNrX1tbKZrO5Q4UkJScny+l06vTp0+5gMWzYMBnG1fQZHR2t4cOHu1+HhoYqMjLSve3uqKHhkr+H0KV05eMRGmqoTx+rGhsvq63N6e/hBDVfzhN/1bkrz/1AxPl8c4EyH6lzcKDON9fefyjocLCwWq2Kj4+XJBUWFiotLU07d+7UrFmzJEnFxcXavn27li1bJpvNJqvVqsLCQrW0tHhu2OK56ZCQELlcro4O5wtdbzvXW+Z03vok+uyZk/r6evXv39+9vL6+XiNHjrzlfturtZUT4PO6w/Foa3N2i3EGss44/p1dZ+aUf3A+X1+gHRPqHByoszmmbiQzDENZWVl69tln1dzcLEmqrKzUpEmTlJaWppEjR2rgwIEd/trVoUOH6syZMzp37px7WXV19TVtTp48qaamJveyyspKGYahwYMH3/I+3YovfelLiomJ0aFDh9zLPvnkE/3hD3+45koLAAAAEIhMP6Eybdo0GYahHTt2SJLi4+NVXl6uyspK1dbWKj8/v8PPGaSkpCghIUF2u10nTpzQkSNHtHHjRo82M2fOVHh4uOx2u2pqalRRUaGCggKlpaW5b4PylkuXLumdd97RO++8I+nTh7XfeecdffTRR5I+veLx6KOP6l//9V/1f//v/9XJkye1ZMkS9e/f3/0tUQAAAEAgMx0sLBaL5syZo6KiIjU1NWn+/PkaNWqUMjMzlZGRoejo6A7/5dowDG3evFnNzc1KT09XXl6ecnNzPdpYrVYVFxfrwoULSk9PV05OjsaNG+fxILm3/PGPf9T999+v+++/X5K0Zs0a3X///R7/f8e8efM0Z84c5efnKz09XU1NTSoqKtJtt93m9fEAAAAAXU2IyxcPNuCWzHziP27pff9mn+jlkXQ/31v7W/fPXfl4WCyGoqJ6qqHhEvdwmvT5mt8KX84Tb9a5I/vZled+IOJ8/tSN5migzEfqHByo883FxPRuVzu+rBcAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBAgAAAIBpBAsAAAAAphEsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmBbicrlc/h4ErmpouKTWVqe/hwEfsVgMRUX1pM4BjjoHB+ocHKhzcKDONxcT07td7bhiAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADTCBYAAAAATCNYAAAAADCNYAEAAADAtBCXy+Xy9yAAAAAAdG9csQAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKYRLAAAAACYRrAAAAAAYBrBoovYsWOHJk6cqLvuukuzZs3SsWPH/D0ktNOmTZtks9k8fk2bNs29/sqVK3ryySc1duxYJSUlaeHChTp//rxHHx999JG+//3va8yYMRo3bpzWrVun1tbWzt4VfM7hw4eVnZ2t8ePHy2azaf/+/R7rXS6Xnn32WY0fP16JiYmaO3eu6urqPNpcuHBBTzzxhJKTk3XPPfdo2bJlunTpkkebEydO6Dvf+Y7uuusu3Xfffdq6dauvdw2f80V1ttvt15zfmZmZHm2oc9f2wgsv6MEHH1RSUpLGjRunxx9/XKdOnfJo463P6d///vd64IEHdOedd+of//Ef9ctf/tLn+4dPtafOGRkZ15zP+fn5Hm2oszkEiy7g9ddf15o1a/SDH/xAZWVlGjlypDIzM1VfX+/voaGdhg8froMHD7p/vfzyy+51hYWF+n//7//pmWee0c9+9jOdO3dOCxYscK9va2tTVlaWWlpa9Itf/EJr165VWVmZnnvuOX/sCv5/TU1NstlsWrly5XXXb926VT/72c+0atUqlZaWymq1KjMzU1euXHG3WbRokd577z299NJL2rJli44cOeLxh9gnn3yizMxM3XHHHfrlL3+pJUuWaPPmzXrllVd8vn/41BfVWZImTJjgcX7/8z//s8d66ty1vfnmm3rkkUdUWlqql156Sa2trcrMzFRTU5O7jTc+pz/44ANlZWVp7Nix+o//+A9997vf1fLly/Xf//3fnbq/wao9dZakhx56yON8XrJkiXsddfYCF/wuPT3d9eSTT7pft7W1ucaPH+964YUX/DgqtNdzzz3n+ta3vnXddY2Nja7Ro0e79u7d61723nvvuUaMGOGqqqpyuVwu14EDB1wjR450ffzxx+42L7/8sis5Odl15coVn44d7TNixAjXb37zG/drp9PpSk1NdRUVFbmXNTY2uu68807Xnj17XC7X1TofO3bM3ea//uu/XDabzXXmzBmXy+Vy7dixw3Xvvfd61Pn//J//45o6daqvdwnX8fd1drlcrqVLl7rmz59/w/dQ5+6nvr7eNWLECNebb77pcrm89zm9fv161/Tp0z229cMf/tD1ve99z8d7hOv5+zq7XC7XnDlzXD/5yU9u+B7qbB5XLPzM4XDo+PHjSklJcS8zDEMpKSmqqqry48jQEe+//77Gjx+vSZMm6YknntBHH30kSfrjH/+olpYWj/oOHTpUd9xxh6qrqyVJ1dXVGjFihKKjo91txo8fr08++UTvvfdep+4H2ufDDz/Uxx9/7FHX3r17a8yYMe7ztqqqSn369NFdd93lbpOSkiLDMNy3OlZXV+uee+5ReHi4u8348eN1+vRp/e1vf+ukvcEXefPNNzVu3DhNnTpVK1euVENDg3sdde5+Ll68KEnq27evJO99TldXV2vcuHEe2xo/fry7D3Suv6/zZ1599VWNHTtWM2bM0IYNG3T58mX3OupsnsXfAwh2DQ0NamtrU79+/TyW9+vX75p7A9E1JSYmas2aNRo8eLA+/vhjPf/883rkkUf06quv6vz58woLC1OfPn083tOvXz99/PHHkqTz5897fIhJcr/+rA26ls/qcr3z9rP7ss+fP6/bb7/dY73FYlHfvn09av+lL33Jo81ntT9//vw1fyCi802YMEH/+I//qC996Uv64IMP9M///M+aN2+eXnnlFYWGhlLnbsbpdKqwsFDJyckaMWKEJHntc/pGbT755BM1NzcrIiLCJ/uEa12vzpI0Y8YM3XHHHerfv79Onjypp59+WqdPn9bmzZslUWdvIFgAJt13333un0eOHKkxY8boG9/4hvbu3Rv0HzBAdzd9+nT3z5897Dl58mT3VQx0L08++aTeffddj+fgEHhuVOeHH37Y/bPNZlNMTIzmzp2rP/3pTxo0aFBnDzMgcSuUn0VFRSk0NPSaB7Xr6+uvScToHvr06aOEhAT96U9/UnR0tFpaWtTY2OjRpr6+XjExMZI+/ZeOv//2kc9ef9YGXctndbnZeRsdHa2//vWvHutbW1v1t7/9rV215/zvmgYOHKioqCi9//77kqhzd/LUU0/pwIED+ulPf6q4uDj3cm99Tt+oTa9evfhHpk50ozpfz5gxYyTJ43ymzuYQLPwsPDxco0eP1qFDh9zLnE6nDh06pKSkJD+ODLfq0qVL+uCDDxQTE6M777xTYWFhHvU9deqUPvroI919992SpLvvvls1NTUef0ktLy9Xr169NGzYsM4ePtrhS1/6kmJiYjzq+sknn+gPf/iD+7xNSkpSY2Oj/vjHP7rbVFRUyOl0KjExUdKntT9y5IhaWlrcbcrLyzV48GBuj+mizpw5owsXLrj/kkGduz6Xy6WnnnpKv/nNb/TTn/5UAwcO9Fjvrc/pu+++WxUVFR59l5eXu/uAb31Rna/nnXfekXQ1NFBnL/D30+NwuV577TXXnXfe6frlL3/peu+991wrVqxw3XPPPR7fSoCua+3ata7f//73rg8++MB19OhR19y5c11jx4511dfXu1wulys/P9/19a9/3XXo0CHXW2+95Xr44YddDz/8sPv9ra2trhkzZri+973vud555x3X7373O9dXv/pV14YNG/y1S3C5XJ988onr7bffdr399tuuESNGuF566SXX22+/7frzn//scrlcrhdeeMF1zz33uPbv3+86ceKEa/78+a6JEye6mpub3X1kZma67r//ftcf/vAH15EjR1xTpkxx/ehHP3Kvb2xsdKWkpLgWL17sqqmpcb322muuMWPGuH7xi190+v4Gq5vV+ZNPPnGtXbvWVVVV5frggw9c5eXlrgceeMA1ZcoUj294os5d28qVK11f/vKXXb///e9d586dc/+6fPmyu403Pqf/9Kc/ucaMGeNat26d67333nOVlJS4/uEf/sH1u9/9rlP3N1h9UZ3ff/991+bNm11vvfWW64MPPnDt37/fNWnSJNcjjzzi7oM6mxficrlc/g43kEpKSlRcXKyPP/5Y//AP/6Dly5e7L9Gha8vNzdXhw4d14cIF3X777fryl7+s3Nxc9/2aV65c0dq1a/Xaa6/J4XBo/PjxWrlypcdtTn/+85+1atUqvfnmm7JarXrggQf0xBNPyGLhMSh/+f3vf69HH330muUPPPCA1q5dK5fLpeeee06lpaVqbGzUl7/8Za1cuVKDBw92t71w4YIKCgr029/+VoZhaMqUKVq+fLl69uzpbnPixAk99dRTeuuttxQVFaU5c+bo+9//fqfsI25e51WrVukHP/iB3n77bV28eFH9+/dXamqqcnJyPG5hos5dm81mu+7yNWvW6Nvf/rYk731O//73v9eaNWv03nvvKS4uTo8//rh7G/CtL6rzX/7yFy1evFjvvvuumpqaNGDAAE2ePFmPP/64evXq5W5Pnc0hWAAAAAAwjWcsAAAAAJhGsAAAAABgGsECAAAAgGkECwAAAACmESwAAAAAmEawAAAAAGAawQIAAACAaQQLAAAAAKbx3/oCALqMG/3vuZ+3Zs0alZWVqUePHnrhhRc6YVQAgPbgf94GAHQZ1dXVHq8ffvhhZWRkaMaMGe5lgwYN0l//+lcZhqEhQ4Z08ggBADfCFQsAQJdx9913X7NswIAB1yy//fbbO2dAAIB24xkLAEC3k5GRoaysLPfrTZs2KSkpSW+//bYefvhhJSYm6oEHHtDbb7+tK1euaOXKlbr33nv1ta99Tdu2bbumv6qqKj366KO6++679eUvf1lPPPGE6uvrO3GPAKD7I1gAAAJCS0uLli5dqoceekibNm1Sa2urFixYoLy8PEVEROiZZ57R5MmTtWbNGlVWVrrfV1VVpYyMDPXu3VsbN25UQUGB3nrrLT3++ON+3BsA6H64FQoAEBBaWlq0aNEi3XfffZIkp9Op7OxsjRkzRj/+8Y8lSV/96le1b98+7du3T8nJyZKkDRs26M4779TmzZsVEhIiSRoxYoRmzJih//qv/3L3BwC4Oa5YAAACgmEYGjdunPt1QkKCJCklJcW9LDQ0VIMGDdKZM2ckSZcvX1ZlZaWmTZumtrY2tba2qrW1VQkJCRowYIDeeuutTt0HAOjOuGIBAAgIERERCg8Pd78OCwuTJPXu3dujXVhYmK5cuSJJamxsVFtbm9asWaM1a9Zc0+df/vIXH44YAAILwQIAELR69+6tkJAQZWVlafLkydesj4qK8sOoAKB7IlgAAIJWjx49dPfdd+vUqVO66667/D0cAOjWCBYAgKC2ZMkSffe739UPf/hDTZ8+XX369NGZM2dUXl6ub3/72xo7dqy/hwgA3QLBAgAQ1JKTk/Xyyy9r06ZN+vGPf6yWlhbFxcXpq1/9quLj4/09PADoNkJcLpfL34MAAAAA0L3xdbMAAAAATCNYAAAAADCNYAEAAADANIIFAAAAANMIFgAAAABMI1gAAAAAMI1gAQAAAMA0ggUAAAAA0wgWAAAAAEwjWAAAAAAwjWABAAAAwDSCBQAAAADT/j+IZTADDUDlJgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# For reproducible randomness\n", "rng = np.random.default_rng(seed=123)\n", "\n", "# Generate random sequences using\n", "seqs = [Sequence.generate_random_uniform(n_events=5, a=200, b=800) for _ in range(10)]\n", "\n", "# Create empty list that we will fill with SoundSequence objects\n", "stimseqs = []\n", "\n", "# Loop over the sequences\n", "for seq in seqs:\n", " # Generate 5 events with random durations\n", " stims = [SoundStimulus.generate(duration_ms=x) for x in rng.integers(low=10, high=100, size=5)]\n", " # Create a SoundSequence and add to stimseqs list\n", " stimseqs.append(SoundSequence(stims, seq))\n", "\n", "# Additionally give them names\n", "sequence_names = [f\"Random {i+1}\" for i in range(len(stimseqs))]\n", "\n", "# Now plot!!\n", "plot_multiple_sequences(stimseqs, sequence_labels=sequence_names);\n" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Adjusting the figure\n", "--------------------\n", "Now, of course the standard settings for the plot are great, but what if we want to adjust the plot some more?\n", "\n", "The plotting functions and methods used above all return a matplotlib :class:`~matplotlib.figure.Figure` object, and a matplotlib :class:`~matplotlib.axes.Axes` object. \n", "\n", "These objects we can manipulate, and then show or save, as in the example below. We might want to suppress displaying the unadjusted plot, which we can do by passing ``suppress_display=True`` to the plotting function.\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxUAAAIcCAYAAACAZYN2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJtElEQVR4nO3deZzNdf//8ecslsEMM4xLstOMMvZ9TAaJsl74WgrTooVcWi6uNiLKku/VIulKcrmKbImu8A1JoggV2SJLyZJiDGNmGObM5/dHvzl1mjNmeX/OnDNzHvfbzU3nfT7zfr8/L6/OePqcz5kAy7IsAQAAAEABBXp7AwAAAACKNkIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAPiBmTNnKjo62tvbAAAUU4QKAH5j+fLlio6OVnR0tL766qtsz1uWpfj4eEVHR+vBBx/0wg4BACiaCBUA/E6pUqW0atWqbOPbt2/X6dOnVbJkSS/sCgCAootQAcDvxMfHa82aNcrIyHAZX7VqlRo0aKDIyEiPrp+Zman09HSPrgEAQGEiVADwO927d9f58+f1xRdfOMeuXLmitWvXqmfPni7HWpalTp06acSIEdnmSU9PV/PmzTV+/PhrrhcdHa1Jkybpww8/VPfu3dWwYUNt3rxZkjR37lwNGjRIrVu3VqNGjdS3b1+tWbMmxznWr1+vHj16KCYmRt27d9emTZuyHfvVV1+pX79+atiwoTp37qzFixe73VdGRoZmzZqlzp07KyYmRp06ddJLL72kK1euuBzXqVMnPfjgg9q2bZv69u2rRo0aqWfPntq2bZskad26derZs6caNmyovn37av/+/deshyRdvXpVr732mrp06aKGDRuqdevWuuOOO1z+TCTpyJEjevjhh9WqVSvn/J988km2+Q4dOqSEhAQ1atRI7du31+uvv65ly5YpOjpaJ06ccKnjzJkzs319p06d9OSTT7qMJScna/LkyYqPj1dMTIxuvfVWvfnmm8rMzHQec+LECUVHR2vu3LlasmSJs5b9+vXT7t27s61z5MgRPfLII2rTpo0aNWqkrl276uWXX3Y55pdfftFTTz2l2NhY55/zsmXLss01f/58de/eXY0bN1bLli3Vt29frVy5MoeKA4BnBXt7AwBQ2K6//no1adJEq1evVnx8vCRp06ZNunjxorp166b58+c7jw0ICFDPnj01d+5cnT9/XhUqVHA+t2HDBqWkpKhXr165rvnll1/qo48+0uDBgxUeHq7rr79ekvTOO++oU6dO6tmzp65evarVq1frkUce0ezZs9WhQweXOb7++mutW7dOd955p8qWLav58+fr4Ycf1qeffqrw8HBJ0sGDBzVs2DBFRERo1KhRysjI0MyZM1WxYsVsexo3bpxWrFihrl276p577tHu3bs1e/ZsHTlyRLNmzXI59tixYxo9erQGDRqkXr166d///reGDx+uiRMn6uWXX9Ydd9whSXrzzTf16KOPas2aNQoMzPnfrV577TXNnj1b/fv3V6NGjZSSkqK9e/dq3759ateunaTfgsIdd9yhv/zlL7r//vtVpkwZffTRRxo5cqRmzpypW2+9VZJ05swZJSQkyOFw6IEHHlBISIiWLl2qUqVK5frnkpNLly5pyJAh+uWXXzRo0CBdd9112rlzp1566SWdOXNGY8eOdTl+1apVSk1N1cCBAxUQEKC33npLo0aN0vr161WiRAlJ0oEDBzR48GAFBwdr4MCBuv766/XTTz9pw4YNeuyxxyRJZ8+e1YABAxQQEKDBgwcrIiJCmzZt0tixY5WSkqK7775bkrR06VI9//zz6tq1qxISEpSenq6DBw/q22+/zRaMAaBQWADgJ95//30rKirK2r17t7VgwQKradOm1qVLlyzLsqyHH37YGjp0qGVZltWxY0frgQcecH7d0aNHraioKGvhwoUu8w0fPtzq2LGjlZmZec11o6KirPr161uHDh3K9lzW+lmuXLli9ejRw0pISMg2R4MGDaxjx445x7777jsrKirKmj9/vnPsoYcesho2bGidPHnSOXb48GHrxhtvtKKiorJ97dixY13WmTZtmhUVFWVt3brVOdaxY0crKirK+uabb5xjmzdvtqKioqxGjRq5rLV48WIrKirK+vLLL69Zk169ernU2J277rrL6tGjh5Wenu4cy8zMtAYOHGh16dLFOTZ58mQrKirK+vbbb51jiYmJVvPmza2oqCjr+PHjzvGoqCjr1VdfzbZWx44drSeeeML5eNasWVaTJk2sH374weW4f/7zn9aNN95onTp1yrIsyzp+/LgVFRVltWrVyjp//rzzuPXr11tRUVHWhg0bnGODBw+2mjZt6lKvrHPK8vTTT1vt2rWzzp0753LMY489ZjVv3tzZLyNGjLC6d+/upmoA4B28/QmAX7r99tuVnp6uTz/9VCkpKdq4cWOO/8Jbu3ZtNW7c2OWtJefPn9fmzZvVs2dPBQQE5Lpey5YtVa9evWzjpUuXdv73hQsXdPHiRTVv3tztW4hiY2NVo0YN5+P69eurXLlyOn78uCTJ4XDo888/V+fOnVW1alXncXXr1lVcXJzLXJ999pkk6Z577nEZv/fee12ez1KvXj01bdrU+bhx48aSpDZt2rislTWetaechIWF6dChQ/rxxx/dPn/+/Hl9+eWXuv3225WSkqJz587p3LlzSkpKUlxcnH788Uf98ssvzr02adJEjRo1cn59RESE0b/Yr1mzRs2bN1dYWJhz7XPnzik2NlYOh0M7duxwOb5bt24qX76883GLFi0k/V6Hc+fOaceOHerXr59LvSQ5+8eyLK1bt06dOnWSZVku68bFxenixYvat2+fs36nT592+xYrAPAG3v4EwC9FRESobdu2WrVqlS5fviyHw6GuXbvmeHzv3r313HPP6eTJk7r++uu1Zs0aXb16Vb17987TetWqVXM7/umnn+pf//qXvvvuO5d7GdwFleuuuy7bWPny5ZWcnCzpt7+4Xr58WTVr1sx2XO3atV2CwsmTJxUYGOgSUiQpMjJSYWFhOnny5DXXDg0NlSRVqVLFZbxcuXKS5NxTTh5++GE99NBD6tq1q6KiohQXF6fevXurfv36kqSffvpJlmVpxowZmjFjhts5EhMT9Ze//EWnTp1yhpk/n3NBHTt2TAcPHlTbtm3dPn/u3DmXx3+uT1bAyKpDVriIiorKcc1z584pOTlZS5Ys0ZIlS6657v33368tW7aof//+qlmzptq1a6cePXqoefPmeTg7ALAfoQKA3+rRo4eeeeYZnT17Vu3bt1dYWFiOx3bv3l1Tp07VypUrNXz4cH344YeKiYlRnTp18rTWH69IZPnqq680YsQItWzZUhMmTFBkZKRKlCih999/3+1H3gYFBbmd27KsPO3BnbxcZbnW2gXdU8uWLfXxxx/rk08+0RdffKFly5bp7bff1sSJE9W/f3/nzdD33nuvbr75Zrdz/DkQmXA4HC6PMzMz1a5dO913331uj69Vq5bLYzv+bLLOuVevXurTp4/bY7J+gGHdunW1Zs0abdy4UZs3b9a6deu0cOFCjRw5Ug8//HCe1wQAuxAqAPitW2+9VRMmTNCuXbuyfQLPn1WoUEEdOnTQypUr1bNnT33zzTd6+umnjdZfu3atSpUqpblz57r8bIz333+/QPNFRESodOnSOnbsWLbnfvjhB5fH119/vTIzM3Xs2DHVrVvXOX727FklJyc7byT3pAoVKqhfv37q16+fUlNTNWTIEM2cOVP9+/dX9erVJUklSpRQbGzsNeepWrVqns5Zcr2yk+XKlSs6c+aMy1iNGjWUlpaW69p5lXU+33//fY7HREREqGzZssrMzMzTumXKlFG3bt3UrVs3XblyRaNGjdIbb7yhBx980OgmdQAoCO6pAOC3ypYtq2effVajRo1Sp06dcj2+d+/eOnz4sKZPn66goCB1797daP2goCAFBAS4/Cv5iRMn3H5kal7ni4uL0/r163Xq1Cnn+JEjR/T555+7HJv1qVdvv/22y/i8efNcnveUpKQkl8dly5ZVjRo1nG8Bq1ixolq1aqUlS5bo119/zfb1f3z7UXx8vHbt2uVyf8G5c+fcfrxq9erVs/009aVLl2a7UnH77bdr586dzo/+/aPk5ORsP+MkNxEREWrZsqXef/99lz8b6ferGUFBQeratavWrl3rNnz88Zz/XL+SJUuqbt26sixLV69ezdfeAMAOXKkA4NdyepuJO/Hx8apQoYLWrFmj9u3bu/2Y1vyIj4/XvHnzdN9996lHjx5KTEzUwoULVaNGDR08eLBAc44aNUqbN2/W4MGDdccdd8jhcGjBggWqV6+ey5z169dXnz59tGTJEiUnJ6tly5bas2ePVqxYoc6dO6tNmzZG55ab7t27q1WrVmrQoIEqVKigPXv2aO3atRoyZIjzmAkTJujOO+9Uz549NWDAAFWvXl1nz57Vrl27dPr0aX344YeSpPvuu0///e9/dd999ykhIcH5kbJVq1bNVsf+/ftrwoQJGjVqlGJjY3XgwAF9/vnnzo/kzTJs2DBt2LBBw4cPV58+fdSgQQNdunRJ33//vdauXatPPvlEERER+TrncePG6Y477lCfPn00cOBAVatWTSdPntTGjRv13//+V5I0evRobdu2TQMGDFD//v1Vr149XbhwQfv27dPWrVu1fft25/4qVaqkZs2aqWLFijp69KgWLFig+Ph4530tAFCYCBUAkEclS5ZUt27dtHDhwjzfoH0tbdu21eTJkzVnzhxNmTJF1apV05gxY3Ty5MkCh4r69etr7ty5mjp1ql599VVVqVJFo0aN0pkzZ7LN+fzzz6tatWpasWKF1q9fr0qVKunBBx/U3/72N+Nzy83QoUO1YcMGffHFF7py5YqqVq2qRx99VMOGDXMeU69ePb3//vt67bXXtGLFCp0/f14RERG66aabNHLkSOdxlStX1jvvvKPnn39eb775pipUqKBBgwapcuXK2X6exIABA3TixAktW7ZMmzdvVvPmzTVv3jznz3/IEhISovnz52v27Nlas2aNPvjgA5UrV061atXSqFGjnDeq50f9+vW1dOlSzZgxQ4sWLVJ6erqqVq2q22+/3XlMpUqV9N5772nWrFn6+OOPtWjRIlWoUEH16tXTmDFjnMcNHDhQK1eu1Lx585SWlqYqVapo6NCheuihh/K9LwCwQ4BlcocfAPiZKVOmaNmyZfriiy8UEhLi7e3gGpYvX66nnnpKn3zySY6fvgUAsAf3VABAHqWnp+vDDz9U165dCRQAAPwBb38CgFwkJiZqy5YtWrt2rc6fP6+EhARvbwkAAJ9CqACAXBw+fFhjxoxRxYoVNW7cON14443e3hIAAD6FeyoAAAAAGOGeCgAAAABGCBUAAAAAjBAqAAAAABjxyRu1LcvSuXOpyszkdg/YJzAwQBERZekt2Iq+gifQV/AE+goFFRmZ+w/89MkrFQEBAQoMDPD2NlDMBAYG0FuwHX0FT6Cv4An0FTzJJ0MFAAAAgKKDUAEAAADACKECAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgJFgb2/AnUmjV7odH/Fkh8LdiI/417SNbsf9tR5/Rn3sR03zb+bzG9yOU7P8ofcKjtrlzF1tqEve0FfXRn1+x5UKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGLE9VOzYsUPDhw9XXFycoqOjtX79eruXAAAAAOBDbA8VaWlpio6O1oQJE+yeGgAAAIAPCrZ7wvj4eMXHx9s9LQAAAAAfxT0VAAAAAIzYfqXCk4KDyUB/RD2u7c/1CQoKdPkd+UfPZZdbP1Eze/hbHe18vfK32uWVP9aFvio8/lifIhUqwsPLensLPoV6XFtO9QkLCynknRQf9Fz+UTN7+Gsd7Xi98tfa5caf60JfeZ4/1qdIhYqkpFRvb8GnUI9r+3N9goICFRYWouTkS3I4Mr20q6KNnssuq69yQs3s4W91tPP1yt9ql1f+WBf6qvAUt/rkJSQVqVCRkcFfBP+IelxbTvVxODKpXQFRt/yjZvbw1zra8Xrlr7XLjT/Xhb7yPH+sj+2hIjU1VT/99JPz8YkTJ/Tdd9+pfPnyqlq1qt3LAQAAAPAy20PF3r17lZCQ4Hw8depUSVKfPn00bdo0u5cDAAAA4GW2h4rWrVvr4MGDdk8LAAAAwEf53+ddAQAAALAVoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACMBlmVZ3t6EO0lJqcrIyPT2NlCMBAcHKjy8LL0FW9FX8AT6Cp5AX6GgIiNDcz2GKxUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACPB3t6AO1/07ud2POqt/xTuRnzY9/fd7XacGrnn7/Vyd/7+cu6e4K6eN/3nncLfiI/x9//P7EId84d6eQ61dY+6uMeVCgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABgJtnvC2bNna926dTp69KhKly6tpk2basyYMapTp47dSwEAAADwAbZfqdi+fbsGDx6spUuXat68ecrIyNCwYcOUlpZm91IAAAAAfIDtVyrmzp3r8njatGlq27at9u3bp5YtW9q9HAAAAAAv8/g9FRcvXpQklS9f3tNLAQAAAPAC269U/FFmZqamTJmiZs2aKSoqyni+4GDuK88NNcoff66XP5+7JwQFUc+c0Gv2oI75Q72yy3qdMn29orbu+XtdPBoqJk6cqEOHDmnhwoW2zBceXtaWeYozapQ//lwvfz53TwgLC/H2FnwWvWYP6pg/1Ctnpq9X1NY9f6+Lx0LFpEmTtHHjRi1YsEBVqlSxZc6kpFRb5inOqFH++HO9/PncPSE5+ZIcjkxvb8Mn0Wv2oI75Q72yCwoKVFhYiPHrFbV1rzjXJS+ByfZQYVmWnnvuOX388ceaP3++qlevbtvcGRl8w84NNcoff66XP5+7JzgcmdQ0B9TFHtQxf6hXzkxfr6ite/5eF9tDxcSJE7Vq1Sq9/vrrKlu2rM6cOSNJCg0NVenSpe1eDgAAAICX2R4qFi1aJEkaOnSoy/jUqVPVt29fu5cDAAAA4GW2h4qDBw/aPSUAAAAAH+bfn30FAAAAwBihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAIwGWZVne3oQ7SUmpysjI9PY2UIwEBwcqPLwsvQVb0VfwBPoKnkBfoaAiI0NzPYYrFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI8He3oA7A5aMcDs+q9P0Qt6J7xq54XG349To2vylt+gPe7irIzU0R3/ai3qao4Z5Q53sVdzqyZUKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGAm2e8KFCxdq0aJFOnnypCTphhtu0EMPPaT4+Hi7lwIAAADgA2wPFVWqVNGYMWNUs2ZNWZalDz74QCNHjtSKFSt0ww032L0cAAAAAC+zPVR06tTJ5fFjjz2mRYsWadeuXYQKAAAAoBiyPVT8kcPh0Jo1a5SWlqamTZt6cikAAAAAXuKRUHHw4EENGjRI6enpKlOmjGbNmqV69eoZzxsczH3luaFGOQsKyrk2/lI3fzlPT/pzDbP66lr9hbyhP39nR19RT3PFrYaeer0qbnXytqJaT4+Eitq1a+uDDz7QxYsXtXbtWj3xxBNasGCBcbAIDy9r0w6LL2pUMP5SN385T0/KqYZhYSGFvJPih/7MzqSvqKe54lpDu1+vimudvKWo1tMjoaJkyZKqWbOmJCkmJkZ79uzRO++8o0mTJhnNm5SUasf2ijVqlLNr/cuMv9TNX87Tk/5cw6CgQIWFhSg5+ZIcjkwv7ap4oD9/Z0dfUU9zxa2Gnnq9Km518jZfrGdego5H76nIkpmZqStXrhjPk5HBN+zcUKOC8Ze6+ct5elJONXQ4MqmvIeqXnUlfUU9zxbWGdr9eFdc6eUtRraftoeLFF19U+/btdd111yk1NVWrVq3S9u3bNXfuXLuXAgAAAOADbA8ViYmJeuKJJ/Trr78qNDRU0dHRmjt3rtq1a2f3UgAAAAB8gO2hYsqUKXZPCQAAAMCHFc3PrAIAAADgMwgVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYCbAsy/L2JtxJSkpVRkamt7eBYiQ4OFDh4WXpLdiKvoIn0FfwBPoKBRUZGZrrMVypAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYCfb2BtzpOfq/bsf//WSnQt5J8XDvtA3Zxqhl7qhb3rmrlUS9slCf31AHe/lTPf3pXAuC+uQfNbMfVyoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABgxOOh4s0331R0dLQmT57s6aUAAAAAeIFHQ8Xu3bu1ePFiRUdHe3IZAAAAAF7ksVCRmpqqf/zjH3r++edVvnx5Ty0DAAAAwMs8FiomTZqk+Ph4xcbGemoJAAAAAD4g2BOTrl69Wvv379eyZctsnTc4mPvK7eKPtQwKCnT5vSD8sW4m/KFeJn3lD/XJC+qQHX2VN/50rgXx5/rY8X2wuKOnCs72UPHzzz9r8uTJ+ve//61SpUrZOnd4eFlb5/Nn/lzLsLCQAn+tP9etIPypXgXpK3+qz7VQh5zRV9fmT+daEDnVx+T7YHFHTxWc7aFi3759SkxMVN++fZ1jDodDO3bs0Lvvvqs9e/YoKCioQHMnJaXatU2/54+1DAoKVFhYiJKTL8nhyCzQHP5YNxP+UC+TvvKH+uQFdciOvsobfzrXgvhzfez4Pljc0VPu5SVs2R4q2rRpo5UrV7qMPfXUU6pTp47uv//+AgcKScrI4H8Au/hzLR2OzAKfvz/XrSD8qV4F6St/qs+1UIec0VfX5k/nWhA51cfk+2BxR10KzvZQUa5cOUVFRbmMlSlTRhUqVMg2DgAAAKDo424UAAAAAEY88ulPfzZ//vzCWAYAAACAF3ClAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYCLMuyvL0Jd5KSUpWRkentbaAYCQ4OVHh4WXoLtqKv4An0FTyBvkJBRUaG5noMVyoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEaCvb0Bd+7/v2/cjk9peUMh76Roe3rHIbfj1NEe1Nc+1DJ31MgM9fsNdfAM6po31Mm94lIXrlQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADASLDdE86cOVOvvfaay1jt2rW1Zs0au5cCAAAA4ANsDxWSdMMNN2jevHnOx0FBQZ5YBgAAAIAP8EioCAoKUmRkpCemBgAAAOBjPBIqjh07pri4OJUqVUpNmjTR6NGjVbVqVU8sBQAAAMDLbA8VjRo10tSpU1W7dm2dOXNGs2bN0uDBg7Vy5UqVK1fOaO7gYO4rt4O/1jEoKNDld0/x1/p6QlGoZWH1VU6KQo18ma/Wr7D7ylfrUNT5Wl29/XqVE1+rk68oanWxPVTEx8c7/7t+/fpq3LixOnbsqI8++kj9+/c3mjs8vKzp9iDqGBYW4tH5/b2+dipKtfR0X+WkKNXIF/l6/Qqrr3y9DkWVr9bVW69XOfHVOnlbUauLR97+9EdhYWGqVauWfvrpJ+O5kpJSbdgR/LWOQUGBCgsLUXLyJTkcmR5bx1/r6wlFoZaF1Vc5KQo18mW+Wr/C7itfrUNR52t19fbrVU58rU6+wpfqkpeA4/FQkZqaquPHj9ty43ZGhu/8D1CU+XsdHY5Mj9bA3+trp6JUS0/3VU6KUo18ka/Xr7D6ytfrUFT5al299XqVE1/aiy8panWxPVS88MIL6tixo6pWrapff/1VM2fOVGBgoHr06GH3UgAAAAB8gO2h4vTp0/r73/+u8+fPKyIiQs2bN9fSpUsVERFh91IAAAAAfIDtoeLll1+2e0oAAAAAPqxofVYVAAAAAJ9DqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwEiAZVmWtzfhTlJSqjIyMr29DRQjwcGBCg8vS2/BVvQVPIG+gifQVyioyMjQXI/hSgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwEiwtzfgztfr/uF2vEbT8YW8E9/z085Jbsepjauc6tS8y/8W8k58E31U+Kh5dtQkf6hX3lGrvKNW+UO9csaVCgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAw4pFQ8csvv2jMmDFq3bq1GjVqpJ49e2rPnj2eWAoAAACAlwXbPeGFCxd0xx13qHXr1pozZ47Cw8N17NgxlS9f3u6lAAAAAPgA20PFnDlzVKVKFU2dOtU5Vr16dbuXAQAAAOAjbA8VGzZsUFxcnB5++GHt2LFDf/nLX3TnnXdqwIABxnMHB3MLSE6oTd4FBVGrnNBH+ZfVTwXtK2qeHTXJX19Rr7zz91rRV55DvTwQKo4fP65Fixbpnnvu0fDhw7Vnzx49//zzKlGihPr06WM0d3h4WZt2WfxQm7wLCwvx9hZ8Fn1UcAXtK2qeHTX5XV76inrlHbX6DX1lP+rlgVBhWZZiYmL097//XZJ000036dChQ1q8eLFxqEhKSrVji8UStcm75ORLcjgyvb0Nn0Qf5V9QUKDCwkIK3FfUPDtqkr++ol555++1oq88p7jXKy+hyfZQERkZqbp167qM1alTR2vXrjWeOyODvwjmhNrkncORSb1yQF0KrqB9Rc2zoya/y0tfUa+8o1a/oa/sR7088JGyzZo10w8//OAy9uOPP+r666+3eykAAAAAPsD2UHHXXXfp22+/1RtvvKFjx45p5cqVWrp0qe688067lwIAAADgA2x/+1OjRo302muv6aWXXtKsWbNUrVo1Pf300+rVq5fdSwEAAADwAbaHCknq2LGjOnbs6ImpAQAAAPgYPlQXAAAAgBFCBQAAAAAjhAoAAAAARggVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjAZZlWd7ehDtJSanKyMj09jZQjAQHByo8vCy9BVvRV/AE+gqeQF+hoCIjQ3M9hisVAAAAAIwQKgAAAAAYIVQAAAAAMEKoAAAAAGCEUAEAAADACKECAAAAgBFCBQAAAAAjwd7egDuTRq90Oz7iyQ6FuxEf9a9pG92OUx/3tfHnuvh7r/j7+RcENbMHdcwZtckZtckdNfJdXKkAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACPBdk/YqVMnnTx5Mtv4nXfeqQkTJti9HAAAAAAvsz1ULFu2TA6Hw/n40KFDuueee3TbbbfZvRQAAAAAH2B7qIiIiHB5/Oabb6pGjRpq1aqV3UsBAAAA8AG2h4o/unLlij788EPdc889CggIMJ4vOJhbQK6F+riXVZegINff/Zm/94qd5+8vfeXvPWOXvNbRX/rqj+ixnNlVm+LcV/SP93k0VKxfv14XL15Unz59bJkvPLysLfMUV9THvT/XJSwsxEs78R3+3iueOP/i3lf+3jN2yW8di3tf/RE9ljO7a1Mc+4r+8T6Phor3339f7du311/+8hdb5ktKSrVlnuKK+riXVZegoECFhYUoOfmSHI5ML+/Ku/y9V+w8f3/pK3/vGbvktY7+0ld/RI/lzK7aFOe+on88Ky+hzWOh4uTJk9qyZYtmzpxp25wZGcXrfwC7UR/3/lwXhyPT72vF+dt//sW9r4rzuRWm/NaxuPfVH/nLeRaE3bUpjn1V3M6nKPLYG9CWL1+uihUrqkOHDp5aAgAAAIAP8EioyMzM1PLly/XXv/5VwcEefYcVAAAAAC/zSKjYsmWLTp06pX79+nliegAAAAA+xCOXEeLi4nTw4EFPTA0AAADAx/ChvgAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGAmwLMvy9ibcSUpKVUZGpre3gWIkODhQ4eFl6S3Yir6CJ9BX8AT6CgUVGRma6zFcqQAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGAn29gbc+aJ3P7fjUW/9p3A34qO+v+9ut+P+Uh9/P39Poa4Fs//uBLfj/l43+in/qNm1UZ+8cVcnanRt9JY9uFIBAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEZsDxUOh0OvvPKKOnXqpEaNGqlz586aNWuWLMuyeykAAAAAPiDY7gnnzJmjRYsW6YUXXlC9evW0d+9ePfXUUwoNDVVCQoLdywEAAADwMttDxc6dO3XLLbeoQ4cOkqRq1app9erV2r17t91LAQAAAPABtoeKpk2baunSpfrhhx9Uu3ZtHThwQF9//bWefPJJ47mDg7kF5Fr8vT65nX9QUKDL78gbf++rgqJu7lGX/KNm10Z9cpdVI74P5g+9lT+2h4oHHnhAKSkpuv322xUUFCSHw6HHHntMvXr1Mp47PLysDTssvvy9Pnk9/7CwEA/vpHjx974qKOrmHnXJP2p2bdQnd3+uEd8H84beyh/bQ8VHH32klStX6sUXX1S9evX03XffaerUqapcubL69OljNHdSUqpNuyye/L0+uZ1/UFCgwsJClJx8SQ5HZiHtqujz974qKOrmHnXJP2p2bdQnd1k14vtg/tBbv8tLwLI9VEyfPl0PPPCAunfvLkmKjo7WqVOnNHv2bONQkZHB/wDX4u/1yev5OxyZfl+r/KBWBUPd3KMu+UfNro365O7PNeL7YN5Qo/yx/c1ily9fVkBAgMtYUFAQHykLAAAAFFO2X6no2LGj3njjDVWtWtX59qd58+apX79+di8FAAAAwAfYHirGjRunGTNmaOLEiUpMTFTlypU1cOBAjRw50u6lAAAAAPgA20NFuXLlNHbsWI0dO9buqQEAAAD4ID6AFwAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAIwGWZVne3oQ7SUmpysjI9PY2UIwEBwcqPLwsvQVb0VfwBPoKnkBfoaAiI0NzPYYrFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI8He3oA7A5aMcDs+q9P0Qt5J0Tdyw+PZxqijOXd1laitXahv7qjRtfHal3f0Uv7RX9nRRznzl37hSgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAIz75E7UBAADgv06dOqnNmz/TiRPHdfnyZW9vx8ieH7dlG5u8daJH1goJCVH16jV0883xqlLlOo+skRNCBQAAAHzC+fNJmjjxGe3bt0elS5dWvXp1VbZsOW9vy0jTiBuzjV2+nGr7OpZl6ezZ0/r00/WaM+dfatKkmcaPn6Ry5UJtX8sdQgUAAAC87vz5JD3++GO6eDFZU6ZMUbt2cQoJCfH2toz9dPFEtrEaodU8tl5aWpo2bfpML774op58crSmTXuxUIKFR+6pSElJ0eTJk9WxY0c1atRIgwYN0u7duz2xFAAAAIqB999fqsTEs5o163V17nxrsQgU3lCmTBnddtvteu21Wfrpp2P68MMPCmVdj4SKcePGacuWLZo+fbpWrlypdu3a6Z577tEvv/ziieUAAABQhFmWpc8++1S33HKL6tSp4+3tFAvR0dFq3769Nm36tFDWsz1UXL58WevWrdM//vEPtWzZUjVr1tSoUaNUs2ZNLVy40O7lAAAAUMSdOnVSp0//rA4dOnh7K8VKfHy8jh49onPnEj2+lu33VGRkZMjhcKhUqVIu46VKldI333xjNHdwMJ+Aawd/rWNQUKDL757gr7UtLL5Y38Loq/zwxRr5iqJUG1/oq6JUL19QFOrljb7Ka11SUpIVEBCg6667TgEBHt6UDyisc/ytngFKSUlW5cqRHl3L9lBRrlw5NW3aVK+//rrq1KmjSpUqadWqVdq1a5dq1KhhNHd4eFmbdunf/L2OYWGee4+mv9fW03y5vp7sq/zw5Rp5W1GsjTf7qijWy5uKUr0Ks6/yWpcyZUooMDBAISGlFRwc5OFdeV9hnWOZMiEKDAxQmTIlPN6jHvn0p+nTp+vpp59W+/btFRQUpJtuukndu3fXvn37jOZNSrL/47f8kb/WMSgoUGFhIUpOviSHI9Mja/hrbQuLL9a3MPoqP3yxRr6iKNXGF/qqKNXLFxSFenmjr/Jal+TkS8rMtJSR4VBGhsPDu/K+wjrHjAyHMjMtXbiQZtSjeQkkHgkVNWrU0IIFC5SWlqaUlBRVrlxZjz76qKpXr240b0aG979hFwf+XkeHI9NjNfD32nqaL9fXk32VH76wB19VFGvjzb4qivXypqJUr8Lsq7yukxVyLOu3X8VdYZ1j1joOh+XxP3OPvqmuTJkyqly5si5cuKDPP/9ct9xyiyeXAwAAAOAFHgkVmzdv1qZNm3T8+HF98cUXSkhIUJ06ddS3b19PLAcAAAAUuhtuqKuSJYPd/urcuVOOX/fVVzvUq1cPRUZWVIUKYYqLi9V7771n2/He4JG3P128eFEvvfSSTp8+rQoVKqhLly567LHHVKJECU8sBwAAAHhF+fLlNWrUw9nGa9Wq5fb4rZu36N7+d6l06dIaMGCgQkPLacWKFRo8+A6dOHFcjz32d5fjN278VN27d8vz8d7ikVDRrVs3devWzRNTAwAAAD6jQoUKGj9+Qp6OzcjI0NjHnlJgYKA++eRTNWnSRJI0duwzio1tq2eeGae+ffupZs2azuNHjBie5+O9yfc/VBkAAACQNHny8ypZMljr1q3N9tyqVStVsmSwXn75JS/sLG+2bt6in344pkGD7nAGBOm3qx1PPPGkrly5ovnz33GOf/rpBh05ciTPx3uTR65UAAAAAHbbtWuXJKlp02bZntu5c+f/f65pYW5J6enpeuedt3Xq1CmFhYWpRYsWatWqtdtjt33+pSSpc+dbsz3XpUsXSdLmzZucY5999lm+jvcmQgUAAACKhG+/3aVq1aopMjL7T4fOChWNGzfJ8etffXWGzp8/n+f1evXq7XKFwJ3Tp0/rvvuGuYy1aNFC8+e/q7p167qM/3j0R0nSDTfUyzZPlSpVVK5cOR0+fNg5lvXfeT3emwgVAAAA8HlJSUn68ccf1aNHT7fP79q1U7Vq1VJ4eHiOc8yc+aqOHTuW5zVr1ap1zVCRkHCX4uLi1KBBjMqVK6fvv/9eM2a8onffXaDbbuuib77Z5XL8xeSLkqSwsPJu5wsLC9OFCxecj5OTL+TreG8iVAAAAMDnffvtLknu39505swZnThxQr17//Wacxw6dMTWPT3zzHiXx02aNNG8ef+RJL377gLNnfuW+g7rb+uavoobtQEAAODzsu6naNIke6jYufOb//9ck0LcUc7uv/9+SdKWLVtcxkPDQiX9fgXiz5KTk1W+/O9XJbKuUOT1eG/iSgUAAAB83u83aWcPFVu3bpWUe6jwxD0V7lSsWEmSlJaW6jJeq04tSdKhQ4fVrFlzl+dOnz6tlJQUtWzZ0jlWr169fB3vTYQKAAAA+Lxdu3YpICBAVatWdRnPzMzUihUrJLm/ivFHdt9TkZPt27dLkmrWrOUy3qpda73xyutav/5jDRw40OW5devWSZJuvrm9c6x9+/aaPv2FPB/vTbz9CQAAAD7t0qVLOnjwgCzL0pdfbnWOW5aliROf1f79+xQeHq7rr7/+mvMcOnREV65k5PlXQsJdOc514MABpaWluR0fO/YpSdKgQYNcnott307Va9XQ4sWLnFdeJOnChQt64YVpKlmypIYMGeoc79TpFtWpUyfPx3sTVyoAAADg0/bu3SOHw6HKlSurZ88e6tOnr0JCQrR161ZdvJisgIAAJScn64EH7tfMma+pVKlSHt/T0qVLNGPGK7r55ptVo0ZNlSlTRocOHdKaNR/p6tWrevzxJ3Tzze3108UTzq8JDg7WlFem6d7+d+mWWzpqwICBCg0tpxUrVujYsWN64YXpqlWrlsvxb7wxW927d8vT8d4UYFmW5e1NuJOUlKqMjExvbwPFSHBwoMLDy9JbsBV9BU+gr+AJvtxXu3fv0j/+8aiWLXtf1atXz/b8nDlvauTIh/TWW//Wtm1fasmSxZKkW27prH/+80U9/fRTWrVqpXr06Kn58xcUyp43bfpMb7zxhnbt2qVff/1FaWlpqlSpklq2bKXhw4fr1lu75Pi1O3Zs16RJE7V161ZdvXpVMTExeuSRxzRgwABbjs9y8OBBJSQM1cyZsxUVFV3gc42MDM31GK5UAAAAwKdlvfWnVatWSkhI0KxZr7s8X1hB4o/at49X+/bxBfrali1baeXK1R473hu4pwIAAAA+bdeunSpTpoyioqK8vRXkgFABAAAAn+VwOLR3717FxMQoMJC/uvoq/mQAAADgsw4cOKBLly6pceMm3t4KroF7KgAAAOCzGjRooCtXMry9DeSCKxUAAAAAjBAqAAAAABjxybc/9Rz9X7fj/36yUyHvpGi7d9qGbGPU0B7uaitR3z+iRjmjNrnj9et39EvuqFHB8f9a3vx4+qLb8VpVcv/5Df6CKxUAAAAAjBAqAAAAABghVAAAAAAFcMMNdVWyZLDbX507u38b2Vdf7VCvXj0UGVlRFSqEKS4uVu+9914h79x+PnlPBQAAAFAUlC9fXqNGPZxtvFatWtnGNm78VN27d1Pp0qU1YMBAhYaW04oVKzR48B06ceK4Hnvs74WwY88gVAAAAAAFVKFCBY0fPyHX4zIyMjRixHAFBgbqk08+VZMmTSRJY8c+o9jYtnrmmXHq27efatas6eEdewZvfwIAAECRcfbsWT355BNq1KihypcPdfvWow4d2nt7m9l8+ukGHTlyRIMG3eEMFNJvVzqeeOJJXblyRfPnv+O9DRriSgUAAACKhGPHjqlTpw46fvy44uLi1LNnT509e1ZLlixWWlqaypcvr0qVKqlDh46Ftqf09HS9887bOnXqlMLCwtSiRQu1atU623GfffaZJKlz51uzPdelSxdJ0ubNmzy7WQ8iVAAAAMDnZWZm6s47B+n48eOaMeNVjRjxkPO53r17669/7a369etr8+Yvcpzj1Vdn6Pz583les1ev3i5XFdw5ffq07rtvmMtYixYtNH/+u6pbt65z7PDhw5KkG26ol22OKlWqqFy5cs5jiiJCBQAAAHzeypUrtWPHDv31r31cAoUkde16m8LCwvT111/LsiwFBAS4nWPmzFd17NixPK9Zq1ata4aKhIS7FBcXpwYNYlSuXDl9//33mjHjFb377gLddlsXffPNLoWG/vYD8pKTL0iSwsLKu50rLCxMFy5cyPPefA2hAgAAAD5v8eJFkqRRo0Zley4oKEghISFKTU29Zqg4dOiIrXt65pnxLo+bNGmiefP+I0l6990Fmjv3LT366GO2rumruFEbAAAAPm/Lli9UtmxZxca2y/bcpUuXdO7cOdWuXVuBgd7/6+39998vSdqyZYtzLOsKRdYViz9LTk5W+fLur2IUBVypAAAAgE9LT0/Xzz//rNq1aysoKCjb8x9//LGuXr2a6w3anrinwp2KFStJktLSUp1j9er9di/FoUOH1axZc5fjT58+rZSUFLVs2TLfa/mKfIeKHTt2aO7cudq7d6/OnDmjWbNmqXPnzs7nLcvSq6++qvfee0/Jyclq1qyZnn32Wbc/AAQAAADIq+TkZGVmZrpcjbAsSzNmvCxJuvfee6/59XbfU5GT7du3S5Jq1qzlHGvfvr2mT39B69d/rIEDB7ocv27dOknSzTf73kfh5lW+rw+lpaUpOjpaEya4/yEfc+bM0fz58/Xss89q6dKlCgkJ0bBhw5Senm68WQAAAPifUqVKqX79G5WYmKh169a6PDdhwnht3rxZQ4YMVYsW1/6X/kOHjujKlYw8/0pIuCvHuY4c/l5paWnZxg8cOKCxY5+SJA0aNMg53qnTLapTp44WL16kXbt2OccvXLigF16YppIlS2rIkKF5KYdPyveVivj4eMXHx7t9zrIsvfPOOxoxYoTz6sX06dMVGxur9evXq3v37ma7BQAAgF968smndPfdCRo4cIDuuONORUREaMOGDfrmm6916623atas1wt1P6s/XK4BvV/XzTffrBo1aqpMmTI6dOiQ1qz5SFevXtXjjz/hcuUhODhYb7wxW927d9Mtt3TUgAEDFRpaTitWrNCxY8f0wgvTi/Q7e2y9p+LEiRM6c+aMYmNjnWOhoaFq3Lixdu7caRwqgoO9f+NNUefPNQwKCnT53RP8ub55VdxqZGdfFbfa2M2f6pOXvvKnehQUNXKV19crb9Qta08BAb/9cmfw4DsVFBSol19+WYsWLVRgYKAaNmyo2bPf1N13313oN2i3ib1Zv5w8ql27dunzzz9XWlqaKlWqpNtvv13Dhw/Xrbd2yfY1HTt21MaNn2nSpIl6772lunr1qmJiYjRlylQNGDDA9j1m1TIoKMDjf662hoozZ85IkipWrOgyXrFiRZ09e9Z4/vDwssZz+DtqKIWFhXhsbuqbu+JaIzv6qrjWxi7+WJ9r9ZU/1iO/qJF7ub1eeaNuYWEhCgwMUHBwkIKDs9+InWXIkMEaMmRwIe4sZ63atNPg/vn/B/PY2LZas2aNB3aUXXBwkAIDA1S+fBmP/7kWqU9/SkpKzf0gXJM/1zAoKFBhYSFKTr4khyPTI2v4c33zqrjVyM6+Km61sZs/1eePfZUTf6pHQVEjV3l9vfJG3ZKTLykz01JGhkMZGY5CX7+gfH2vGRkOZWZaunAhzejPNS+BxNZQERkZKUlKTExU5cqVneOJiYmqX7++8fwZGZ75i6A/oYaSw5HpsTpQ39wV1xrZ0VfFtTZ28cf6XOsvfv5Yj/yiRu7l9nrljbpl9bpl/farqPD1vWbtz+GwPP7nauubq6pVq6bIyEht3brVOZaSkqJvv/1WTZs2tXMpAAAAFDOWr/8tvYgpzHrm+0pFamqqfvrpJ+fjEydO6LvvvlP58uVVtWpVJSQk6F//+pdq1qypatWqacaMGapcubLLz7IAAAAAspQsWUqSdPnyZS/vpHi5dOmSLMtSqVKlPL5WvkPF3r17lZCQ4Hw8depUSVKfPn00bdo03X///bp06ZLGjx+v5ORkNW/eXG+99VahnAwAAACKnsqVK8uyLB05clhRUVHe3k6xcfToUQUGBjp/wrcn5TtUtG7dWgcPHszx+YCAAD3yyCN65JFHjDYGAAAA/xARUVH169+kDRs+0e23d/P2doqNDRvWq3HjpipXrpzH1+IDnAEAAOB1HTveos8//0Iff7zO21spFlauXKmvvvpaHTsWzi0IReojZQEAAFA89e7dVwcPHtD48eP19ddfq3PnzrrppgYKCQlRQE4/EQ9OlmXp0qVL2r37W61fv16rVq1S9+691KXLbYWyPqECAAAAXhcYGKjHH39aVater48/XqPly5c7w4S3Q0Vy6hW342FlSxbyTnKW9UlPlmWpatXrddddwzRw4J2F9pPGCRUAAADwCYGBgUpIuEdDh96t778/qJMnTygtLc3b29KsFXvcjo/s07CQd3JtZcuWVY0aNVSnTr1CD2KECgAAAPiUgIAARUfXV3S0+Q9PtsPyve5vdO7Ro1Mh78R3caM2AAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwEmBlfaitj0lKSlVGRqa3t4FiJDg4UOHhZekt2Iq+gifQV/AE+goFFRkZmusxXKkAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACMBlmVZ3t4EAAAAgKKLKxUAAAAAjBAqAAAAABghVAAAAAAwQqgAAAAAYIRQAQAAAMAIoQIAAACAEUIFAAAAACOECgAAAABGCBUAAAAAjPhcqHj33XfVqVMnNWzYUP3799fu3bu9vSX4kB07dmj48OGKi4tTdHS01q9f7/K8ZVmaMWOG4uLi1KhRI91999368ccfXY45f/68Ro8erWbNmqlFixZ6+umnlZqa6nLMgQMHdOedd6phw4aKj4/XnDlzPH1q8JLZs2erX79+atq0qdq2bauHHnpIR48edTkmPT1dEydOVOvWrdW0aVONGjVKZ8+edTnm1KlTeuCBB9S4cWO1bdtWL7zwgjIyMlyO2bZtm/r06aOYmBjdeuutWr58ucfPD96zcOFC9ezZU82aNVOzZs00cOBAffbZZ87n6SuYevPNNxUdHa3Jkyc7x+greItPhYr/+7//09SpUzVy5EitWLFC9evX17Bhw5SYmOjtrcFHpKWlKTo6WhMmTHD7/Jw5czR//nw9++yzWrp0qUJCQjRs2DClp6c7jxkzZowOHz6sefPm6Y033tBXX32l8ePHO59PSUnRsGHDVLVqVS1fvlyPP/64XnvtNS1ZssTj54fCt337dg0ePFhLly7VvHnzlJGRoWHDhiktLc15zJQpU/Tpp5/qlVde0fz58/Xrr7/qb3/7m/N5h8OhBx98UFevXtXixYs1bdo0rVixQq+++qrzmOPHj+vBBx9U69at9d///ld33XWXxo0bp82bNxfq+aLwVKlSRWPGjNHy5cv1/vvvq02bNho5cqQOHTokib6Cmd27d2vx4sWKjo52Gaev4DWWD/mf//kfa+LEic7HDofDiouLs2bPnu3FXcFXRUVFWR9//LHzcWZmptWuXTvrrbfeco4lJydbMTEx1qpVqyzLsqzDhw9bUVFR1u7du53HfPbZZ1Z0dLR1+vRpy7Is691337VatmxppaenO4/53//9X6tr166ePiX4gMTERCsqKsravn27ZVm/9VCDBg2sjz76yHlMVh/t3LnTsizL2rhxo1W/fn3rzJkzzmMWLlxoNWvWzNlH06dPt7p37+6y1qOPPmrde++9Hj4j+JKWLVtaS5cupa9gJCUlxerSpYv1xRdfWEOGDLGef/55y7J4vYJ3+cyViitXrmjfvn2KjY11jgUGBio2NlY7d+704s5QVJw4cUJnzpxx6aHQ0FA1btzY2UM7d+5UWFiYGjZs6DwmNjZWgYGBzrfa7dq1Sy1atFDJkiWdx8TFxemHH37QhQsXCuls4C0XL16UJJUvX16StHfvXl29etWlr+rWrauqVatq165dkn7rmaioKFWqVMl5TFxcnFJSUnT48GHnMW3btnVZKy4uzjkHijeHw6HVq1crLS1NTZs2pa9gZNKkSYqPj3fpH4nXK3hXsLc3kCUpKUkOh0MVK1Z0Ga9YsWK29zcD7pw5c0aS3PZQ1vtJz549q4iICJfng4ODVb58eefXnz17VtWqVXM5JuvF9+zZs86/bKL4yczM1JQpU9SsWTNFRUVJ+u3PvESJEgoLC3M5tmLFii4988dv0NLvPZPbMSkpKbp8+bJKly7tkXOCdx08eFCDBg1Senq6ypQpo1mzZqlevXr67rvv6CsUyOrVq7V//34tW7Ys23O8XsGbfCZUAIC3TZw4UYcOHdLChQu9vRUUE7Vr19YHH3ygixcvau3atXriiSe0YMECb28LRdTPP/+syZMn69///rdKlSrl7e0ALnzm7U/h4eEKCgrKdlN2YmJitrQMuBMZGSlJ1+yhSpUq6dy5cy7PZ2Rk6MKFC86vr1SpUrZPysh6TC8WX5MmTdLGjRv19ttvq0qVKs7xSpUq6erVq0pOTnY5PjExMU89k9sx5cqV41/9irGSJUuqZs2aiomJ0ejRo1W/fn2988479BUKZN++fUpMTFTfvn1100036aabbtL27ds1f/583XTTTfQVvMpnQkXJkiXVoEEDbd261TmWmZmprVu3qmnTpl7cGYqKatWqKTIy0qWHUlJS9O233zp7qGnTpkpOTtbevXudx3z55ZfKzMxUo0aNJElNmjTRV199patXrzqP2bJli2rXrs1bn4ohy7I0adIkffzxx3r77bdVvXp1l+djYmJUokQJl746evSoTp06pSZNmkj6rWe+//57l0C7ZcsWlStXTvXq1XMe8+WXX7rMvWXLFucc8A+ZmZm6cuUKfYUCadOmjVauXKkPPvjA+SsmJkY9e/Z0/jd9Ba/x9p3if7R69WorJibGWr58uXX48GHrmWeesVq0aOHyCQXwbykpKdb+/fut/fv3W1FRUda8efOs/fv3WydPnrQsy7Jmz55ttWjRwlq/fr114MABa8SIEVanTp2sy5cvO+cYNmyY9de//tX69ttvra+++srq0qWL9fe//935fHJyshUbG2v94x//sL7//ntr9erVVuPGja3FixcX+vnC8yZMmGA1b97c2rZtm/Xrr786f126dMl5zPjx460OHTpYW7dutfbs2WMNHDjQGjhwoPP5jIwMq0ePHta9995rfffdd9amTZusNm3aWC+++KLzmJ9++slq3Lix9cILL1iHDx+2FixYYN14443Wpk2bCvV8UXj++c9/Wtu3b7eOHz9uHThwwPrnP/9pRUdHW59//rllWfQV7PHHT3+yLPoK3hNgWZbl7WDzRwsWLNDcuXN15swZ3XjjjRo3bpwaN27s7W3BR2zbtk0JCQnZxvv06aNp06bJsiy9+uqrWrp0qZKTk9W8eXNNmDBBtWvXdh57/vx5Pffcc9qwYYMCAwPVpUsXjRs3TmXLlnUec+DAAU2aNEl79uxReHi4hgwZogceeKBQzhGF68+f8Z5l6tSp6tu3r6TffpjUtGnTtHr1al25ckVxcXGaMGGC860CknTy5Ek9++yz2r59u0JCQtSnTx+NHj1awcG/37q2bds2TZ06VYcPH1aVKlX00EMPOddA8fP000/ryy+/1K+//qrQ0FBFR0fr/vvvV7t27STRV7DH0KFDVb9+fY0dO1YSfQXv8blQAQAAAKBo8Zl7KgAAAAAUTYQKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAICR4NwPAQD4k5x+yvgfTZ06VStWrFCZMmU0e/bsQtgVAMCX8RO1AQAudu3a5fJ44MCBGjp0qHr06OEcq1Gjhs6dO6fAwEDVqVOnkHcIAPA1XKkAALho0qRJtrHrrrsu23hEREThbAgA4PO4pwIAUCBDhw7Vgw8+6Hw8c+ZMNW3aVPv379fAgQPVqFEj9enTR/v371d6eromTJigli1bqn379vrPf/6Tbb6dO3cqISFBTZo0UfPmzTV69GglJiYW4hkBAAqKUAEAsM3Vq1f1xBNPaMCAAZo5c6YyMjL0t7/9TWPHjlXp0qX1yiuvqHPnzpo6daq++eYb59ft3LlTQ4cOVWhoqF5++WU999xz2rNnjx566CEvng0AIK94+xMAwDZXr17VmDFjFB8fL0nKzMzU8OHD1bhxYz311FOSpDZt2mjNmjVas2aNmjVrJkl68cUXFRMTo9dee00BAQGSpKioKPXo0UOfffaZcz4AgG/iSgUAwDaBgYFq27at83GtWrUkSbGxsc6xoKAg1ahRQ6dPn5YkXbp0Sd98841uu+02ORwOZWRkKCMjQ7Vq1dJ1112nPXv2FOo5AADyjysVAADblC5dWiVLlnQ+LlGihCQpNDTU5bgSJUooPT1dkpScnCyHw6GpU6dq6tSp2eb8+eefPbhjAIAdCBUAAK8KDQ1VQECAHnzwQXXu3Dnb8+Hh4V7YFQAgPwgVAACvKlOmjJo0aaKjR4+qYcOG3t4OAKAACBUAAK97/PHHddddd+nRRx9V9+7dFRYWptOnT2vLli3q27evWrdu7e0tAgCugVABAPC6Zs2aaeHChZo5c6aeeuopXb16VVWqVFGbNm1Us2ZNb28PAJCLAMuyLG9vAgAAAEDRxUfKAgAAADBCqAAAAABghFABAAAAwAihAgAAAIARQgUAAAAAI4QKAAAAAEYIFQAAAACMECoAAAAAGCFUAAAAADBCqAAAAABghFABAAAAwAihAgAAAICR/weSlxsf0rSIMAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Generate random sequences (use a generator with a seed so you get the same results as we)\n", "rng = np.random.default_rng(seed=123)\n", "seqs = [Sequence.generate_random_normal(n_events=10, mu=500, sigma=50, rng=rng) for _ in range(10)]\n", "\n", "# Use the Sequence.plot() method\n", "fig, ax = plot_multiple_sequences(seqs,\n", " title='My random sequences',\n", " suppress_display=True)\n", "\n", "# Add in some text with a box around it\n", "box_properties = dict(boxstyle='round', facecolor='white', alpha=0.8)\n", "ax.text(4300, 0.01, s=\"$\\mu = 500$\\n$\\sigma = 50$\", bbox=box_properties, fontsize=14)\n", "\n", "# Show\n", "fig.show();" ] } ], "metadata": { "celltoolbar": "Raw-celnotatie", "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.13" } }, "nbformat": 4, "nbformat_minor": 4 }