{ "cells": [ { "cell_type": "markdown", "id": "a275933b-dba8-41af-ae1b-f717ce043b8d", "metadata": {}, "source": [ "# Hydra Configuration Management\n", "\n", "The following tutorial demonstrates how one may calibrate a simulation model using [Hydra configuration files](https://hydra.cc/), which `calisim` incorporates as an optional dependency.\n", "\n", "Hydra may be used to specify complex calibration procedures within composable YAML files. We will henceforth provide a basic example. " ] }, { "cell_type": "code", "execution_count": 34, "id": "1d5970ea-9460-49a2-8dff-c6d991d14e8c", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "from calisim.config import HydraConfiguration\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "markdown", "id": "6c65d6bb-8ca9-45f9-9c4c-abcf03235ca9", "metadata": {}, "source": [ "## YAML Configuration\n", "\n", "We will first instantiate a Hydra configuration object. This contains various utility functions for working with Hydra configuration files. " ] }, { "cell_type": "code", "execution_count": 21, "id": "6d41ed01-318a-4736-8c06-f33b3db7966b", "metadata": {}, "outputs": [], "source": [ "hydra_config = HydraConfiguration()" ] }, { "cell_type": "markdown", "id": "b62de120-9865-4db1-a786-28392ff56d71", "metadata": {}, "source": [ "We will next view the contents of the `conf` directory, which contains the `config.yaml` file, alongside three subdirectories:\n", "\n", "- calibration\n", "- metric\n", "- model" ] }, { "cell_type": "code", "execution_count": 22, "id": "169bd46d-6c2c-4737-9bc6-fea79fdc099d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "calibration config.yaml metric model\n" ] } ], "source": [ "! ls conf" ] }, { "cell_type": "markdown", "id": "35e870f3-b496-4d9d-93c4-faa3fc96650e", "metadata": {}, "source": [ "The contents of `config.yaml` are as follows:\n", "\n", "```yaml\n", "defaults:\n", " - _self_\n", " - calibration: lotka_optimisation\n", " - model: lotka_volterra\n", " - metric: mse\n", "```\n", "\n", "We can see that the three elements within the `defaults` list (`calibration`, `model`, `metric`) match the three subdirectory names above. Let's look at the files within the `metric` subdirectory." ] }, { "cell_type": "code", "execution_count": 23, "id": "a69e74c1-edd3-4211-9bd8-9023e6ddba38", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mse.yaml\n" ] } ], "source": [ "! ls conf/metric" ] }, { "cell_type": "markdown", "id": "1944b3e8-5fd7-4845-855c-4999294c3fa2", "metadata": {}, "source": [ "We see a YAML file called `mse.yaml`, which matches the value of the `metric` element in the `defaults` list.\n", "\n", "```yaml\n", "defaults:\n", " ...\n", " - metric: mse\n", "```\n", "\n", "The contents of the `mse.yaml` are as follows:\n", "\n", "```yaml\n", "_target_: calisim.statistics.MeanSquaredError\n", "```\n", "\n", "Similarly, the `model` subdirectory contains a YAML file called `lotka_volterra.yaml` which is composed of the following:\n", "\n", "```yaml\n", "_target_: calisim.example_models.LotkaVolterraModel\n", "```\n", "\n", "This should give you an idea of how Hydra works. Hydra will instantiate a configuration dictionary containing three keys (`calibration`, `model`, `metric`) The `metric` key will be mapped to a `MeanSquaredError` object while the `model` key will be mapped to a `LotkaVolterraModel` object.\n", "\n", "But how about the the `calibration` key? Referring to the `defaults` list again:\n", "\n", "```yaml\n", "defaults:\n", " - _self_\n", " - calibration: lotka_optimisation\n", "```\n", "\n", "Within the `calibration` subdirectory, there exists a YAML file called `lotka_optimisation.yaml`. This file a bit more complicated:\n", "\n", "```yaml\n", "_target_: calisim.optimisation.OptimisationMethod\n", "_partial_: true\n", "engine: emukit\n", "specification:\n", " _target_: calisim.optimisation.OptimisationMethodModel\n", " experiment_name: emukit_optimisation\n", " parameter_spec: \n", " parameters:\n", " - name: alpha\n", " distribution_name: uniform\n", " distribution_args: [0.45, 0.55]\n", " data_type: continuous\n", " - name: beta\n", " distribution_name: uniform\n", " distribution_args: [0.02, 0.03]\n", " data_type: continuous\n", " directions: [ minimize ]\n", " output_labels: [ Lynx ]\n", " acquisition_func: ei\n", " n_iterations: 25\n", " n_init: 20\n", " n_samples: 100\n", " n_out: 1\n", " verbose: false\n", " method_kwargs:\n", " noise_var: 0.001\n", "```\n", "\n", "So, the `calibration` key is mapped to an `OptimisationMethod` object that uses the `emukit` engine. Under `specification`, we can see the `parameter_spec` containing parameter distribution information, the acquisition function (`ei`), the number of iterations (25), and so on. However, the `OptimisationMethod` object has a mandatory argument within its constructor called `calibration_func`, which we have not defined in the YAML file (note that it is possible to specify a particular calibration function by providing its full module path and name). In order to instantiate `OptimisationMethod`, we include `_partial_: true` so that we can dynamically specify `calibration_func` within our Python code.\n", "\n", "## Instantiation\n", "\n", "Let's construct a raw configuration object from the `config.yaml` file." ] }, { "cell_type": "code", "execution_count": 24, "id": "04c13523-ed8f-4e8c-ac22-3f80b2ba2bf9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "calibration:\n", " _target_: calisim.optimisation.OptimisationMethod\n", " _partial_: true\n", " engine: emukit\n", " specification:\n", " _target_: calisim.optimisation.OptimisationMethodModel\n", " experiment_name: emukit_optimisation\n", " parameter_spec:\n", " parameters:\n", " - name: alpha\n", " distribution_name: uniform\n", " distribution_args:\n", " - 0.45\n", " - 0.55\n", " data_type: continuous\n", " - name: beta\n", " distribution_name: uniform\n", " distribution_args:\n", " - 0.02\n", " - 0.03\n", " data_type: continuous\n", " directions:\n", " - minimize\n", " output_labels:\n", " - Lynx\n", " acquisition_func: ei\n", " n_iterations: 25\n", " n_init: 20\n", " n_samples: 100\n", " n_out: 1\n", " verbose: false\n", " method_kwargs:\n", " noise_var: 0.001\n", "model:\n", " _target_: calisim.example_models.LotkaVolterraModel\n", "metric:\n", " _target_: calisim.statistics.MeanSquaredError\n", "\n" ] } ], "source": [ "cfg = hydra_config.get_raw_config(\"config\", \"conf\")\n", "print(hydra_config.pretty(cfg))" ] }, { "cell_type": "markdown", "id": "16d67e10-d7d0-4de8-a59d-3e1ec79af9ca", "metadata": {}, "source": [ "This contains the contents of the aforementioned YAML files within a single dictionary. However, we can instead construct a configuration object and instantiate all of the classes mapped to the `_target_` keys." ] }, { "cell_type": "code", "execution_count": 25, "id": "e57a414e-5779-4060-baee-042da75c8eba", "metadata": {}, "outputs": [], "source": [ "cfg = hydra_config.get_configuration(\"config\", \"conf\")" ] }, { "cell_type": "code", "execution_count": 26, "id": "9154a48c-d924-4f5f-8d11-170b627bb11e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "calisim.statistics.discrepancy.MeanSquaredError" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metric = cfg[\"metric\"]\n", "type(metric)" ] }, { "cell_type": "code", "execution_count": 27, "id": "4f328bba-3026-4484-9c5f-bdcc3f8859ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "calisim.example_models.lotka_volterra.LotkaVolterraModel" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = cfg[\"model\"]\n", "observed_data = model.get_observed_data()\n", "type(model)" ] }, { "cell_type": "markdown", "id": "f840886c-719f-4f8f-8f6c-eb3a4000c291", "metadata": {}, "source": [ "You can see that we have instantiated `MeanSquaredError` and `LotkaVolterraModel` objects. Note that we can also override the contents of the YAML configuration files.\n", "\n", "For instance, we can instead instantiate a `RootMeanSquaredError` metric object like so:" ] }, { "cell_type": "code", "execution_count": 28, "id": "2d877bab-53ce-4264-b511-ee85aabd5df3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "calisim.statistics.discrepancy.RootMeanSquaredError" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cfg = hydra_config.get_configuration(\n", " \"config\", \"conf\", \n", " overrides=[\"metric._target_=calisim.statistics.RootMeanSquaredError\"]\n", ")\n", "metric = cfg[\"metric\"]\n", "type(metric)" ] }, { "cell_type": "markdown", "id": "def4759f-5b2e-45f7-900a-281b4b7ddea6", "metadata": {}, "source": [ "`Hydra` enables us to compose highly complex calibration workflows by mixing, matching, and overriding various sets of YAML files and keys. It is certainly possible to implement much more complicated configuration specifications, though we will keep things simple for this tutorial.\n", "\n", "## Calibration\n", "\n", "Let's next define our objective function for calibration." ] }, { "cell_type": "code", "execution_count": 29, "id": "9c78c296-09a4-4c9e-bca4-8d03e3fde4ad", "metadata": {}, "outputs": [], "source": [ "def objective(\n", "\tparameters: dict, simulation_id: str, observed_data: np.ndarray | None, t: pd.Series\n", ") -> float | list[float]:\n", "\tsimulation_parameters = dict(h0=34.0, l0=5.9, t=t, gamma=0.84, delta=0.026)\n", "\n", "\tfor k in [\"alpha\", \"beta\"]:\n", "\t\tsimulation_parameters[k] = parameters[k]\n", "\n", "\tsimulated_data = model.simulate(simulation_parameters).lynx.values\n", "\tdiscrepancy = metric.calculate(observed_data, simulated_data)\n", "\treturn discrepancy" ] }, { "cell_type": "markdown", "id": "0179b4d7-c2b5-428c-89b5-a1613f851875", "metadata": {}, "source": [ "Finally, we can instantiate a calibrator object, then `specify`, `execute`, and `analyze`a calibration workflow. As mentioned prior, we must dynamically specify the `calibration_func` in the calibrator's constructor using our objective function." ] }, { "cell_type": "code", "execution_count": 30, "id": "341162e0-fa38-42b1-a2f3-10539106e7c5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAASmCAYAAAD/KRjlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABlbUlEQVR4nOzde5SddX3o/8/MvkxiICGESxKIEC4GEYIFbBoLYiWaIMpdhaIRDxar6A+8C0uBiDbctMrRAgICKjYWD9KjVRCpiXqIEEHKpUcPRCJQCGCUDIklkz2zf3/MPHsYQwKT4Mzz/e7Xa61Zi9nzZPLszJm2572+n8/T0Ww2mwEAAAAAI6hztG8AAAAAgPYjSgEAAAAw4kQpAAAAAEacKAUAAADAiBOlAAAAABhxohQAAAAAI06UAgAAAGDEiVIAAAAAjDhRCgAAAIARJ0oBAMm6+uqro6OjI1asWPGifc9zzjknOjo6XrTvV/a/d8WKFdHR0REXXXTR8147WvcIAORJlAIAXjT33XdfvP3tb4+ddtopurq6YurUqXHiiSfGfffdt0Xf9x/+4R/ihhtueHFuchT98Y9/jHPOOScWL1482rcyYh599NE455xz4q677hrtWwEASqaj2Ww2R/smAID0XX/99XHCCSfEtttuGyeffHJMnz49VqxYEVdeeWWsWrUqFi1aFEcfffRmfe+tttoqjjvuuLj66quHvN7b2xvr16+Prq6uF+0ET6PRiEajEWPGjHlRvt+z/e53v4vtt98+zj777DjnnHNG7O/dlBUrVsT06dPjwgsvjI985CObvHZz7vEXv/hFvOpVr4qrrroqTjrppC28WwAgJ9XRvgEAIH3Lly+Pd7zjHbHbbrvFT37yk9h+++1bXzvttNPi4IMPjne84x1x9913x2677fai/b2VSiUqlcqL9v0iIqrValSrI/9/Io3W3zscZbrHtWvXxrhx40b7NgCALWB8DwDYYhdeeGH88Y9/jK985StDglRExHbbbReXXXZZrF27Ni644ILW68V+ol/96lfx1re+NcaPHx+TJk2K0047LZ555pnWdR0dHbF27dq45pproqOjIzo6Olonbp5rp9Suu+4ab3rTm2Lx4sVx4IEHxtixY2Pfffdtjcxdf/31se+++8aYMWPigAMOiF/+8pdD7ve59ibdfPPNcdBBB8U222wTW221VcyYMSPOPPPM1td7enrirLPOigMOOCAmTJgQ48aNi4MPPjh+/OMft65ZsWJF699mwYIFrfdSnJh6rr+30WjEueeeG7vvvnt0dXXFrrvuGmeeeWasW7duyHXFe/7Zz34Wf/mXfxljxoyJ3XbbLb72ta9t7Ef2nL7yla+0/q5XvepVsWzZsi36t1m8eHG86lWvioiId73rXa33/OwTb9ddd10ccMABMXbs2Nhuu+3i7W9/e/zXf/3XkL/jpJNOiq222iqWL18eb3zjG2PrrbeOE088Mc4+++yo1Wrx5JNPbvBeTjnllNhmm22G/L8lAKBcRCkAYIt997vfjV133TUOPvjg5/z6a17zmth1113j3/7t3zb42lvf+tZ45plnYuHChfHGN74xLr744jjllFNaX//6178eXV1dcfDBB8fXv/71+PrXvx7vec97Nnk/DzzwQPzt3/5tvPnNb46FCxfGH/7wh3jzm98c1157bXzwgx+Mt7/97bFgwYJYvnx5vPWtb42+vr6Nfq/77rsv3vSmN8W6devi05/+dHzuc5+LI444Iv7P//k/rWu6u7vjiiuuiNe+9rVx/vnnxznnnBNPPvlkzJ07t7VLafvtt49LLrkkIiKOPvro1ns55phjNvp3v/vd746zzjor9t9///jHf/zHOOSQQ2LhwoVx/PHHP+d7Pu644+L1r399fO5zn4uJEyfGSSed9IL3eX3zm9+MCy+8MN7znvfEZz7zmVixYkUcc8wxsX79+s3+t3n5y18en/70pyOiPxIV7/k1r3lNRPRHxbe+9a1RqVRi4cKF8Xd/93dx/fXXx0EHHRRPPfXUkL+r0WjE3LlzY4cddoiLLroojj322HjHO94RjUYjvvWtbw25tqenJ7797W/HscceO+LjkADAMDQBALbAU0891YyI5pFHHrnJ64444ohmRDS7u7ubzWazefbZZzcjonnEEUcMue5973tfMyKa//Ef/9F6bdy4cc13vvOdG3zPq666qhkRzQcffLD12i677NKMiOatt97aeu2mm25qRkRz7Nixzd/+9ret1y+77LJmRDR//OMft14r7qvwj//4j82IaD755JMbfW+NRqO5bt26Ia/94Q9/aO64447N//E//kfrtSeffLIZEc2zzz57g+/xp3/vXXfd1YyI5rvf/e4h133kIx9pRkTz3//93zd4zz/5yU9arz3xxBPNrq6u5oc//OGN3nez2Ww++OCDzYhoTpo0qfn73/++9fq//uu/NiOi+d3vfnej9/hC/m2WLVvWjIjmVVddNeT1np6e5g477NDcZ599mv/93//dev173/teMyKaZ511Vuu1d77znc2IaH7iE5/Y4PvPnj27OWvWrCGvXX/99Rv8XAGA8nFSCgDYIk8//XRERGy99dabvK74end395DXTz311CGff+ADH4iIiO9///ubfU977713zJ49u/X5rFmzIiLida97Xbz0pS/d4PXf/OY3G/1e22yzTURE/Ou//utGT1RVKpWo1+sREdHX1xe///3vo9FoxIEHHhh33nnnZr2H4v1/6EMfGvL6hz/84YiIDU6d7b333kNOqm2//fYxY8aMTb63Z3vb294WEydObH1efK8t/bfZmF/84hfxxBNPxPve974hp5kOP/zw2GuvvZ7zVN173/veDV6bP39+3HbbbbF8+fLWa9dee21MmzYtDjnkkGHdEwAwskQpAGCLFLGpiFMbs7F4teeeew75fPfdd4/Ozs4he6KG69nhKSJiwoQJERExbdq053z9D3/4w0a/19ve9rb467/+63j3u98dO+64Yxx//PHxL//yLxtEmGuuuSZmzpwZY8aMiUmTJsX2228f//Zv/xarV6/erPfw29/+Njo7O2OPPfYY8vrkyZNjm222id/+9rdDXv/T9xwRMXHixE2+t039+SJQvRj/Ns+luP8ZM2Zs8LW99tprg/dXrVZj5513fs576OrqimuvvTYiIlavXh3f+9734sQTT3zRnsgIAPx5iFIAwBaZMGFCTJkyJe6+++5NXnf33XfHTjvtFOPHj9/kdS9GSNjYE/k29nqz2dzo9xo7dmz85Cc/iR/96EetJwi+7W1vi9e//vXR29sbERHf+MY34qSTTordd989rrzyyrjxxhvj5ptvjte97nXDPkH0p17ov8fmvLct/fMv5N/mxdLV1RWdnRv+n64TJ06MN73pTa0o9e1vfzvWrVsXb3/721/Uvx8AePGJUgDAFnvTm94UDz74YPzsZz97zq//9Kc/jRUrVsSb3vSmDb52//33D/n8gQceiL6+vth1111br432iZfOzs449NBD4/Of/3z853/+Z3z2s5+Nf//3f289Xe/b3/527LbbbnH99dfHO97xjpg7d27MmTNngye/Ded97LLLLtHX17fBv8/jjz8eTz31VOyyyy5b/sZeBM/3b7Ox91zc/69//esNvvbrX/96WO9v/vz58f/+3/+LZcuWxbXXXht/8Rd/Ea94xSs2490AACNJlAIAtthHP/rRGDt2bLznPe+JVatWDfna73//+/j7v//7eMlLXhIf/ehHN/izX/7yl4d8/j//5/+MiIjDDjus9dq4ceM2eBrbSPn973+/wWuvfOUrIyJi3bp1ETF4yujZp4puu+22WLp06ZA/95KXvCQi4gW9lze+8Y0REfGFL3xhyOuf//znI6J/99JoeyH/NuPGjYuIDd/zgQceGDvssENceumlrWsjIn7wgx/E//2//3dY7++www6L7bbbLs4///xYsmSJU1IAkIjqaN8AAJC+PffcM6655po48cQTY999942TTz45pk+fHitWrIgrr7wyfve738U///M/x+67777Bn33wwQfjiCOOiHnz5sXSpUvjG9/4Rvzt3/5t7Lfffq1rDjjggPjRj34Un//852Pq1Kkxffr01pLyP7dPf/rT8ZOf/CQOP/zw2GWXXeKJJ56If/qnf4qdd945DjrooIjoPyl2/fXXx9FHHx2HH354PPjgg3HppZfG3nvvHWvWrGl9r7Fjx8bee+8d3/rWt+JlL3tZbLvttrHPPvvEPvvss8Hfu99++8U73/nO+MpXvhJPPfVUHHLIIXH77bfHNddcE0cddVT8zd/8zYi8/015If82u+++e2yzzTZx6aWXxtZbbx3jxo2LWbNmxfTp0+P888+Pd73rXXHIIYfECSecEI8//nh88YtfjF133TU++MEPvuD7qNVqcfzxx8eXvvSlqFQqccIJJ/y53jIA8CISpQCAF8Vb3vKW2GuvvWLhwoWtEDVp0qT4m7/5mzjzzDOfM7xERHzrW9+Ks846Kz7xiU9EtVqN97///XHhhRcOuebzn/98nHLKKfHJT34y/vu//zve+c53jliUOuKII2LFihXx1a9+NX73u9/FdtttF4ccckgsWLCgtSj9pJNOipUrV8Zll10WN910U+y9997xjW98I6677rpYvHjxkO93xRVXxAc+8IH44Ac/GD09PXH22Wdv9N/miiuuiN122y2uvvrq+M53vhOTJ0+OM844I84+++w/99t+QV7Iv02tVotrrrkmzjjjjPj7v//7aDQacdVVV8X06dPjpJNOipe85CVx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AAAAyNewd0rdf//9MXXq1Nhtt93ixBNPjIceeugF/9k//vGPsX79+th2222HvL548eLYYYcdYsaMGfHe9743Vq1atcnvs27duuju7h7ykZvW+F7DTikAAAAgP8OKUrNmzYqrr746brzxxrjkkkviwQcfjIMPPjiefvrpF/TnP/7xj8fUqVNjzpw5rdfmzZsXX/va1+KWW26J888/P5YsWRKHHXZY9Pb2bvT7LFy4MCZMmND6mDZt2nDeRhJaUarPSSkAAAAgPx3NZnOzj+I89dRTscsuu8TnP//5OPnkkzd57XnnnRcXXHBBLF68OGbOnLnR637zm9/E7rvvHj/60Y/i0EMPfc5r1q1bF+vWrWt93t3dHdOmTYvVq1fH+PHjN+/NlMyhn1scy59cG9865a9i1m6TRvt2AAAAAF6Q7u7umDBhwvN2mmGP7z3bNttsEy972cvigQce2OR1F110UZx33nnxwx/+cJNBKiJit912i+22226T37OrqyvGjx8/5CM3g0/fM74HAAAA5GeLotSaNWti+fLlMWXKlI1ec8EFF8S5554bN954Yxx44IHP+z0feeSRWLVq1Sa/ZzsYjFLG9wAAAID8DCtKfeQjH4klS5bEihUr4tZbb42jjz46KpVKnHDCCRERMX/+/DjjjDNa159//vnxqU99Kr761a/GrrvuGitXroyVK1fGmjVrIqI/an30ox+Nn//857FixYq45ZZb4sgjj4w99tgj5s6d+yK+zfTUKh0REdEjSgEAAAAZGlaUeuSRR+KEE06IGTNmxFvf+taYNGlS/PznP4/tt98+IiIeeuiheOyxx1rXX3LJJdHT0xPHHXdcTJkypfVx0UUXRUREpVKJu+++O4444oh42cteFieffHIccMAB8dOf/jS6urpexLeZHielAAAAgJxVh3PxokWLNvn1xYsXD/l8xYoVm7x+7NixcdNNNw3nFtpGvSpKAQAAAPnaop1S/PlYdA4AAADkTJQqqWKnlJNSAAAAQI5EqZJqnZRqiFIAAABAfkSpkjK+BwAAAORMlCqpYnyvx/geAAAAkCFRqqQGT0qJUgAAAEB+RKmSKqJUw/geAAAAkCFRqqTqVSelAAAAgHyJUiVlpxQAAACQM1GqpKqdTkoBAAAA+RKlSqo1vtewUwoAAADIjyhVUsX4npNSAAAAQI5EqZIqnr5npxQA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TImxY8fGnDlz4v777x/+O8lYrdNOKQAAACAvwz4p9YpXvCIee+yx1sfPfvazjV576623xgknnBAnn3xy/PKXv4yjjjoqjjrqqLj33ntb11xwwQVx8cUXx6WXXhq33XZbjBs3LubOnRvPPPPM5r2jDBXjez0NO6UAAACAPAw7SlWr1Zg8eXLrY7vtttvotV/84hdj3rx58dGPfjRe/vKXx7nnnhv7779/fOlLX4qI/lNSX/jCF+KTn/xkHHnkkTFz5sz42te+Fo8++mjccMMNm/2mcmN8DwAAAMjNsKPU/fffH1OnTo3ddtstTjzxxHjooYc2eu3SpUtjzpw5Q16bO3duLF26NCIiHnzwwVi5cuWQayZMmBCzZs1qXUNEvWJ8DwAAAMhLdTgXz5o1K66++uqYMWNGPPbYY7FgwYI4+OCD4957742tt956g+tXrlwZO+6445DXdtxxx1i5cmXr68VrG7vmuaxbty7WrVvX+ry7u3s4byM5gyeljO8BAAAAeRhWlDrssMNa/z1z5syYNWtW7LLLLvEv//IvcfLJJ7/oN7cxCxcujAULFozY3zfajO8BAAAAuRn2+N6zbbPNNvGyl70sHnjggef8+uTJk+Pxxx8f8trjjz8ekydPbn29eG1j1zyXM844I1avXt36ePjhh7fkbZRe1fgeAAAAkJktilJr1qyJ5cuXx5QpU57z67Nnz45bbrllyGs333xzzJ49OyIipk+fHpMnTx5yTXd3d9x2222ta55LV1dXjB8/fshHzupOSgEAAACZGVaU+shHPhJLliyJFStWxK233hpHH310VCqVOOGEEyIiYv78+XHGGWe0rj/ttNPixhtvjM997nPxq1/9Ks4555z4xS9+Ee9///sjIqKjoyNOP/30+MxnPhP/+3//77jnnnti/vz5MXXq1DjqqKNevHeZuGJ8r8dOKQAAACATw9op9cgjj8QJJ5wQq1atiu233z4OOuig+PnPfx7bb799REQ89NBD0dk52Lle/epXxze/+c345Cc/GWeeeWbsueeeccMNN8Q+++zTuuZjH/tYrF27Nk455ZR46qmn4qCDDoobb7wxxowZ8yK9xfTVqgMnpRpOSgEAAAB56Gg2m8kfv+nu7o4JEybE6tWrsxzlu3X57+JvL78tXrbjVvHDDx4y2rcDAAAAsFEvtNNs0U4pRsbgTqnk+yEA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KOWkFAAAAJASUSpxdkoBAAAAKRKlEjd4Usr4HgAAAJAOUSpxVSelAAAAgASJUomzUwoAAABIkSiVuLooBQAAACRIlEpccVKqx04pAAAAICGiVOJq1YGTUg0npQAAAIB0iFKJq1l0DgAAACRIlEpcsVOq0Wd8DwAAAEiHKJW46sBJqR7jewAAAEBCRKnE1Tx9DwAAAEiQKJW4uigFAAAAJGiLotR5550XHR0dcfrpp2/0mquvvjo6OjqGfIwZM2bINc1mM84666yYMmVKjB07NubMmRP333//ltxa2xg8KWWnFAAAAJCOzY5Sy5Yti8suuyxmzpz5vNeOHz8+HnvssdbHb3/72yFfv+CCC+Liiy+OSy+9NG677bYYN25czJ07N5555pnNvb22UUSpHielAAAAgIRsVpRas2ZNnHjiiXH55ZfHxIkTn/f6jo6OmDx5cutjxx13bH2t2WzGF77whfjkJz8ZRx55ZMycOTO+9rWvxaOPPho33HDD5txeW6lV+xedr7foHAAAAEjIZkWpU089NQ4//PCYM2fOC7p+zZo1scsuu8S0adPiyCOPjPvuu6/1tQcffDBWrlw55HtNmDAhZs2aFUuXLt2c22srtc7+H2Gjz/geAAAAkI7qcP/AokWL4s4774xly5a9oOtnzJgRX/3qV2PmzJmxevXquOiii+LVr3513HfffbHzzjvHypUrIyKGnJ4qPi++9qfWrVsX69ata33e3d093LeRjVql/6SU8T0AAAAgJcM6KfXwww/HaaedFtdee+0Gy8o3Zvbs2TF//vx45StfGYccckhcf/31sf3228dll122WTccEbFw4cKYMGFC62PatGmb/b1SV6sOLDo3vgcAAAAkZFhR6o477ognnngi9t9//6hWq1GtVmPJkiVx8cUXR7Vajd7e3uf9HrVaLf7iL/4iHnjggYiImDx5ckREPP7440Oue/zxx1tf+1NnnHFGrF69uvXx8MMPD+dtZGXw6XuiFAAAAJCOYUWpQw89NO6555646667Wh8HHnhgnHjiiXHXXXdFpVJ53u/R29sb99xzT0yZMiUiIqZPnx6TJ0+OW265pXVNd3d33HbbbTF79uzn/B5dXV0xfvz4IR/tqt6KUnZKAQAAAOkY1k6prbfeOvbZZ58hr40bNy4mTZrUen3+/Pmx0047xcKFCyMi4tOf/nT81V/9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ze8oW2JTJ6QKFp0DAAAAMOJEKQAAAABGnChVQl1dXXH22WdHV1fXaN8K8Bz8jkK5+R2F8vN7CuXmd5SRksWicwAAAADS4qQUAAAAACNOlAIAAABgxIlSAAAAAIw4UQoAAACAESdKlcyXv/zl2HXXXWPMmDExa9asuP3220f7lqBt/eQnP4k3v/nNMXXq1Ojo6IgbbrhhyNebzWacddZZMWXKlBg7dmzMmTMn7r///tG5WWhDCxcujFe96lWx9dZbxw477BBHHXVU/PrXvx5yzTPPPBOnnnpqTJo0Kbbaaqs49thj4/HHHx+lO4b2cskll8TMmTNj/PjxMX78+Jg9e3b84Ac/aH3d7yeUy3nnnRcdHR1x+umnt17ze8qfmyhVIt/61rfiQx/6UJx99tlx5513xn777Rdz586NJ554YrRvDdrS2rVrY7/99osvf/nLz/n1Cy64IC6++OK49NJL47bbbotx48bF3Llz45lnnhnhO4X2tGTJkjj11FPj5z//edx8882xfv36eMMb3hBr165tXfPBD34wvvvd78Z1110XS5YsiUcffTSOOeaYUbxraB8777xznHfeeXHHHXfEL37xi3jd614XRx55ZNx3330R4fcTymTZsmVx2WWXxcyZM4e87veUP7eOZrPZHO2boN+sWbPiVa96VXzpS1+KiIi+vr6YNm1afOADH4hPfOITo3x30N46OjriO9/5Thx11FER0X9KaurUqfHhD384PvKRj0RExOrVq2PHHXeMq6++Oo4//vhRvFtoT08++WTssMMOsWTJknjNa14Tq1evju233z6++c1vxnHHHRcREb/61a/i5S9/eSxdujT+6q/+apTvGNrPtttuGxdeeGEcd9xxfj+hJNasWRP7779//NM//VN85jOfiVe+8pXxhS98wf8eZUQ4KVUSPT09cccdd8ScOXNar3V2dsacOXNi6dKlo3hnwHN58MEHY+XKlUN+ZydMmBCzZs3yOwujZPXq1RHR///pjYi44447Yv369UN+T/faa6946Utf6vcURlhvb28sWrQo1q5dG7Nnz/b7CSVy6qmnxuGHHz7k9zHC/x5lZFRH+wbo97vf/S56e3tjxx13HPL6jjvuGL/61a9G6a6AjVm5cmVExHP+zhZfA0ZOX19fnH766fHXf/3Xsc8++0RE/+9pvV6PbbbZZsi1fk9h5Nxzzz0xe/bseOaZZ2KrrbaK73znO7H33nvHXXfd5fcTSmDRokVx5513xrJlyzb4mv89ykgQpQCA5J166qlx7733xs9+9rPRvhXgWWbMmBF33XVXrF69Or797W/HO9/5zliyZMlo3xYQEQ8//HCcdtppcfPNN8eYMWNG+3ZoU8b3SmK77baLSqWywZMMHn/88Zg8efIo3RWwMcXvpd9ZGH3vf//743vf+178+Mc/jp133rn1+uTJk6OnpyeeeuqpIdf7PYWRU6/XY4899ogDDjggFi5cGP9/e/cPkloYh3H8uXIKIuyADUmDcIbWihRBaChEwtnBIcgiaKkgziA01OTen6FGnVzDTQcjRyFBaAqCoKWwJSoHF8+d7gG5d/XVS98PHDjve5bf8iwPvO9ZWlrSxcUF+QTGQKvVUqfT0crKiizLkmVZajQaury8lGVZmpubI6cYOkqpMTE5OaloNKp6ve7v9ft91et1JRKJEU4G4F8cx1E4HB7I7Ofnp5rNJpkFDPE8TwcHB7q5udHt7a0cxxn4Ho1GNTExMZDTx8dHvby8kFNgRPr9vnq9HvkExkAymdTDw4Pa7bb/xGIxbW5u+u/kFMPG8b0x4rqucrmcYrGY4vG4zs/P1e12tbOzM+rRgB/p+/tbT09P/vr5+VntdluhUEiRSERHR0cqFApaWFiQ4zg6OTnR/Py8/4c+AMO1v7+vcrmsSqWiYDDo329h27ampqZk27Z2d3fluq5CoZBmZmZ0eHioRCLBH4MAA46Pj5VOpxWJRPT19aVyuay7uzvVajXyCYyBYDDo38P4x/T0tGZnZ/19copho5QaI9lsVu/v7zo9PdXb25uWl5dVrVb/ukgZgBn39/daX1/3167rSpJyuZxKpZLy+by63a729vb08fGh1dVVVatVzuQDhlxfX0uS1tbWBvaLxaK2t7clSWdnZwoEAspkMur1etrY2NDV1ZXhSYGfqdPpaGtrS6+vr7JtW4uLi6rVakqlUpLIJ/A/IKcYtl+e53mjHgIAAAAAAAA/C3dKAQAAAAAAwDhKKQAAAAAAABhHKQUAAAAAAADjKKUAAAAAAABgHKUUAAAAAAAAjKOUAgAAAAAAgHGUUgAAAAAAADCOUgoAAAAAAADGUUoBAAAAAADAOEopAAAAAAAAGEcpBQAAAAAAAOMopQAAAAAAAGDcb4h25SqthtaTAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "calibrator = cfg[\"calibration\"](calibration_func=objective)\n", "calibrator.specification.calibration_func_kwargs=dict(t=observed_data.year)\n", "calibrator.specification.observed_data=observed_data.lynx.values\n", "calibrator.specify().execute().analyze()" ] }, { "cell_type": "markdown", "id": "530982d2-871b-4481-8a6f-9ed1820c859a", "metadata": {}, "source": [ "The optimiser is able to retrieve the ground-truth parameter values from our simulation study." ] }, { "cell_type": "code", "execution_count": 31, "id": "7b81a8f0-b724-43fb-b186-26e8f76d1561", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
parameterestimateground truth
0alpha0.5180410.520
1beta0.0244100.024
\n", "
" ], "text/plain": [ " parameter estimate ground truth\n", "0 alpha 0.518041 0.520\n", "1 beta 0.024410 0.024" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame([\n", " { \"parameter\": estimate.name, \"estimate\": estimate.estimate, \"ground truth\": model.GROUND_TRUTH[estimate.name] }\n", " for estimate in calibrator.get_parameter_estimates().estimates\n", "])" ] }, { "cell_type": "markdown", "id": "6fad313e-7bbf-40e8-b4fe-b365bac925e1", "metadata": {}, "source": [ "Let's repeat the calibration procedure. But this time, we shall use a `Kriging` surrogate model for Bayesian optimisation via the `openturns` engine. Pulling all the above code together:" ] }, { "cell_type": "code", "execution_count": 32, "id": "dbe558ae-f128-4c20-af4b-007ee2be5198", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABAMAAARTCAYAAAAeMOrZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACU8ElEQVR4nOzde5jcZX03/vfsZmezO5uQGXaFhEM4FqRyEPtQCQqhchAVULGhgBI5FGmJijxSGp+iwYr2ZxGsiGjRBwUBD4Vg8ACGs4iUQ6SeKBgKUk5KzPm82ezvj5h9uua0m+zuzOy+XteV69r5fr/znc/MvVw6773vz13o7u7uDgAAADBiNFS7AAAAAGBoCQMAAABghBEGAAAAwAgjDAAAAIARRhgAAAAAI4wwAAAAAEYYYQAAAACMMMIAAAAAGGGEAQAAADDCCAMAoAq++tWvplAo5Nlnnx0xrz1jxowUCoUhfc31CoVCpk2btsXrqjkuADCUhAEAkOSXv/xl3v3ud2ennXZKc3NzJkyYkNNOOy2//OUvt+m+n/zkJ3PrrbcOTJHUpOXLl2fGjBm59957q10KAPSZMACAEe+WW27JwQcfnLvuuitnnHFGvvCFL+Sss87KPffck4MPPjgzZ87c6ntvKgx4z3vekxUrVmTixInbUDkDbWvGZfny5bnkkkuEAQDUlVHVLgAAqunpp5/Oe97znuyxxx65//7709HR0XPugx/8YN74xjfmPe95T372s59ljz32GLDXbWxsTGNj44Ddj4FRS+OybNmylEqlapcBwDBlZgAAI9o///M/Z/ny5fnXf/3XXkFAkrS3t+dLX/pSli1blk9/+tM9x9evff/P//zPTJkyJWPHjs3222+fD37wg1m5cmXPdYVCIcuWLcvXvva1FAqFFAqFvPe9702y8bXpu+22W972trfl3nvvzZ/92Z+lpaUl+++/f89fnG+55Zbsv//+GT16dF73utflpz/9aa96f/azn+W9731v9thjj4wePTo77rhjzjzzzPz+97/v9+dy2WWXpVAo5De/+c0G56ZPn55isZgFCxYkSX70ox/lL//yL7Prrrumubk5u+yySz70oQ9lxYoVm32NZ599NoVCIV/96lc3OFcoFDJjxoxex1544YWceeaZ2WGHHdLc3Jw//dM/zf/9v/+3X+/r1ltvzWte85qe599+++29zm9sXB599NEce+yxaW9vT0tLS3bfffeceeaZPe9h/e/NJZdc0jPO/7P2u+++O2984xtTKpUybty4nHjiiXniiSd6ve7636lf/epXOfXUU1Mul/OGN7wh1157bQqFwgZjnaybddLY2JgXXnihX58BACRmBgAwwt12223Zbbfd8sY3vnGj5w8//PDstttu+d73vrfBuSlTpmS33XbLpz71qTz00EP53Oc+lwULFuS6665Lklx//fU5++yzc8ghh+Scc85Jkuy5556brWfu3Lk59dRT8773vS/vfve7c9lll+X444/PF7/4xXzkIx/J3/7t3yZJPvWpT2XKlCl58skn09CwLtufPXt2/uu//itnnHFGdtxxx/zyl7/Mv/7rv+aXv/xlHnrooX4175syZUr+7u/+Lt/61rdy4YUX9jr3rW99K8ccc0zK5XKS5Nvf/naWL1+ev/mbv8n222+fhx9+OFdeeWWef/75fPvb3+7za27Ob3/727z+9a/vaQTY0dGRH/zgBznrrLOyePHinH/++Vu8xwMPPJBbbrklf/u3f5sxY8bkc5/7XE466aQ899xz2X777Tf6nN/97nc55phj0tHRkb//+7/PuHHj8uyzz+aWW25JknR0dOTqq6/O3/zN3+Qd73hH3vnOdyZJDjjggCTJnXfemeOOOy577LFHZsyYkRUrVuTKK6/MYYcdljlz5mS33Xbr9Xp/+Zd/mb333juf/OQn093dnXe9610577zzcsMNN+S1r31tr2tvuOGGTJ48OTvttFM/P00ASNINACPUwoULu5N0n3jiiZu97oQTTuhO0r148eLu7u7u7o997GPdSbpPOOGEXtf97d/+bXeS7v/4j//oOVYqlbqnTp26wT2vvfba7iTdzzzzTM+xiRMndifpfvDBB3uO3XHHHd1JultaWrp/85vf9Bz/0pe+1J2k+5577uk5tnz58g1e56abbupO0n3//fdv9rU35tBDD+1+3ete1+vYww8/3J2k+7rrrtvs637qU5/qLhQKvWpe/7mt98wzz3Qn6b722ms3eH6S7o997GM9j88666zu8ePHd8+bN6/XdX/1V3/Vvd122220hj++X7FY7J47d27Psf/4j//oTtJ95ZVX9hz7489m5syZ3Um6H3nkkU3e+5VXXtmg3vUOOuig7le96lXdv//973u9bkNDQ/fpp5/ec2z9Z3PKKadscI9TTjmle8KECd1dXV09x+bMmbPJzw4A+sIyAQBGrCVLliRJxowZs9nr1p9fvHhxr+PnnXder8fvf//7kyTf//73t7qm/fbbL4ceemjP4z//8z9PkvzFX/xFdt111w2O/9d//VfPsZaWlp6fV65cmXnz5uX1r399kmTOnDn9ruXkk0/OY489lqeffrrn2De/+c00NzfnxBNP3OjrLlu2LPPmzcukSZPS3d290ent/dXd3Z2bb745xx9/fLq7uzNv3ryef8cee2wWLVrUp/d31FFH9ZqZccABB2Ts2LG9PsM/Nm7cuCTJd7/73XR2dvar7pdeeimPP/543vve96ZSqfR63aOPPnqjvyfnnnvuBsdOP/30vPjii7nnnnt6jt1www1paWnJSSed1K+aAGA9YQAAI9b6L/nrQ4FN2VRosPfee/d6vOeee6ahoWGb9qj/n1/4k2S77bZLkuyyyy4bPb5+3X6SzJ8/Px/84Aezww47pKWlJR0dHdl9992TJIsWLep3LX/5l3+ZhoaGfPOb30yy7kv5t7/97Rx33HEZO3Zsz3XPPfdczxfetra2dHR05Igjjtjq1/1jr7zyShYuXNjT1+F//jvjjDOSrJvOvyV//NkmSblc7vUZ/rEjjjgiJ510Ui655JK0t7fnxBNPzLXXXptVq1Zt8fXW91vYZ599Njj36le/OvPmzcuyZct6HV8/Xv/T0UcfnfHjx+eGG25IkqxduzY33XRTTjzxxC0GWQCwKXoGADBibbfddhk/fnx+9rOfbfa6n/3sZ9lpp516fQHemP6syd+UTXWy39Tx7u7unp+nTJmSBx98MBdeeGEOOuigtLW1Ze3atXnzm9+ctWvX9ruWCRMm5I1vfGO+9a1v5SMf+UgeeuihPPfcc/n//r//r+earq6uHH300Zk/f34uuuii7LvvvimVSnnhhRfy3ve+d7Ovu6nPq6urq9fj9fd497vfnalTp270OevX6G9OXz7DjdX4b//2b3nooYdy22235Y477siZZ56Zz3zmM3nooYfS1ta2xdftj/85y2K9xsbGnHrqqbnmmmvyhS98IT/+8Y/z4osv5t3vfveAvjYAI4swAIAR7W1ve1uuueaaPPDAA3nDG96wwfkf/ehHefbZZ/O+971vg3O//vWve/0ld+7cuVm7dm2vpnADERD0xYIFC3LXXXflkksuyUc/+tFeNW6Lk08+OX/7t3+bJ598Mt/85jfT2tqa448/vuf8z3/+8zz11FP52te+ltNPP73n+OzZs7d47/UNCBcuXNjr+B/vYNDR0ZExY8akq6srRx111Da8m633+te/Pq9//etz6aWX5sYbb8xpp52Wb3zjGzn77LM3OcYTJ05Mkjz55JMbnPvP//zPtLe393nrwNNPPz2f+cxnctttt+UHP/hBOjo6cuyxx279GwJgxLNMAIAR7cILL0xLS0ve9773bbAF3/z583PuueemtbV1g476SXLVVVf1enzllVcmSY477rieY6VSaYMvu4Nh/V+9//iv3J/97Ge36b4nnXRSGhsbc9NNN+Xb3/523va2t/X6Arux1+3u7s6//Mu/bPHeY8eOTXt7e+6///5ex7/whS/0etzY2JiTTjopN998c37xi19scJ9XXnmlX++pPxYsWLDBZ3rQQQclSc9SgdbW1iQbhhrjx4/PQQcdlK997Wu9zv3iF7/ID3/4w7zlLW/pcx0HHHBADjjggHz5y1/OzTffnL/6q7/KqFH+pgPA1vO/IgCMaHvvvXe+9rWv5bTTTsv++++fs846K7vvvnueffbZfOUrX8m8efNy0003bXRLwGeeeSYnnHBC3vzmN+cnP/lJvv71r+fUU0/NgQce2HPN6173utx55525/PLLM2HChOy+++49zf8G0tixY3P44Yfn05/+dDo7O7PTTjvlhz/8YZ555pltuu+rXvWqHHnkkbn88suzZMmSnHzyyb3O77vvvtlzzz3z4Q9/OC+88ELGjh2bm2++ebPr8P+ns88+O//0T/+Us88+O3/2Z3+W+++/P0899dQG1/3TP/1T7rnnnvz5n/95/vqv/zr77bdf5s+fnzlz5uTOO+/M/Pnzt+l9bsrXvva1fOELX8g73vGO7LnnnlmyZEmuueaajB07tufLfEtLS/bbb79885vfzJ/8yZ+kUqnkNa95TV7zmtfkn//5n3Pcccfl0EMPzVlnndWzteB2222XGTNm9KuW008/PR/+8IeTxBIBALaZmQEAjHh/+Zd/mcceeyyTJ0/OV77ylZx77rm55pprcsQRR+Sxxx7r2Tv+j63vrP/3f//3+d73vpdp06blK1/5Sq9rLr/88rzuda/LP/zDP+SUU07J1VdfPWjv48Ybb8yxxx6bq666KtOnT09TU1N+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LlzY6/gHP/jB/MVf/EWS5Pe//31OOeWU7LTTTmltbc3++++fm266abP3LRQKufXWW3sdGzduXL761a/2PP7v//7vTJkyJePGjUulUsmJJ56YZ599ts+1bw1hAAAAAFv0d3/3d7n55pvzta99LXPmzMlee+2VY489NvPnz+913YUXXpjPfOYzeeSRR9LR0ZHjjz8+nZ2dmTRpUj772c9m7Nixeemll/LSSy/lwx/+8CZf7x//8R9z+umn5/HHH8++++6bU089Ne973/syffr0PProo+nu7s60adN6rl+6dGne8pa35K677spPf/rTvPnNb87xxx+f5557rk/v701velPGjRuXm2++uedYV1dXvvnNb+a0005Lsm5byNe97nX53ve+l1/84hc555xz8p73vCcPP/xwfz7KXjo7O3PsscdmzJgx+dGPfpQf//jHaWtry5vf/OasXr16q++7JZYJAAAAVNmK1V15+pWlQ/66e3a0paXYuMXrli1blquvvjpf/epXc9xxxyVJrrnmmsyePTtf+cpXcuGFF/Zc+7GPfSxHH310kuRrX/tadt5558ycOTNTpkzJdtttl0KhkB133HGLr3nGGWdkypQpSZKLLroohx56aC6++OIce+yxSdb9xf6MM87ouf7AAw/MgQce2PP4H//xHzNz5szMmjWrV2iwKY2Njfmrv/qr3HjjjTnrrLOSJHfddVcWLlyYk046KUmy00479Qow3v/+9+eOO+7It771rRxyyCFbfI2N+eY3v5m1a9fmy1/+cgqFQpLk2muvzbhx43LvvffmmGOO2ar7bokwAAAAoMqefmVp3nblA0P+ut99/xvymp222+J1Tz/9dDo7O3PYYYf1HGtqasohhxySJ554ote1hx56aM/PlUol++yzzwbX9MUBBxzQ8/MOO+yQJNl///17HVu5cmUWL16csWPHZunSpZkxY0a+973v5aWXXsqaNWuyYsWKPs8MSJLTTjstr3/96/Piiy9mwoQJueGGG/LWt761p+lhV1dXPvnJT+Zb3/pWXnjhhaxevTqrVq1Ka2trv9/fev/xH/+RuXPnZsyYMb2Or1y5stcyiIEmDAAAAKiyPTva8t33v6Eqr1urmpqaen5e/xfzjR1bu3ZtkuTDH/5wZs+encsuuyx77bVXWlpa8q53vatfU+3/1//6X9lzzz3zjW98I3/zN3+TmTNn9lrb/8///M/5l3/5l3z2s5/N/vvvn1KplPPPP3+zr1EoFNLd3d3rWGdnZ8/PS5cuzete97rccMMNGzx3MBsrCgMAAACqrKXY2Ke/0FfLnnvumWKxmB//+MeZOHFiknVfaB955JGcf/75va596KGHsuuuuyZJFixYkKeeeiqvfvWrkyTFYjFdXV2DUuOPf/zjvPe978073vGOJOu+ZG9NE77TTjstN9xwQ3beeec0NDTkrW99a6/XOPHEE/Pud787ybog4qmnnsp+++23yft1dHTkpZde6nn861//OsuXL+95fPDBB+eb3/xmXvWqV2Xs2LH9rndraSAIAADAZpVKpfzN3/xNLrzwwtx+++351a9+lb/+67/O8uXLe9bXr/fxj388d911V37xi1/kve99b9rb2/P2t789ybpdA5YuXZq77ror8+bN6/WleFvtvffeueWWW/L444/nP/7jP3Lqqaf2zBroj9NOOy1z5szJpZdemne9611pbm7u9RqzZ8/Ogw8+mCeeeCLve9/78tvf/naz9/uLv/iLfP7zn89Pf/rTPProozn33HN7zXA47bTT0t7enhNPPDE/+tGP8swzz+Tee+/NBz7wgTz//PP9rr+vhAEAAABs0T/90z/lpJNOynve854cfPDBmTt3bu64446Uy+UNrvvgBz+Y173udXn55Zdz2223pVgsJkkmTZqUc889NyeffHI6Ojry6U9/esDqu/zyy1MulzNp0qQcf/zxOfbYY3PwwQf3+z577bVXDjnkkPzsZz/r2UVgvX/4h3/IwQcfnGOPPTaTJ0/Ojjvu2BN0bMpnPvOZ7LLLLnnjG9+YU089NR/+8Id79RhobW3N/fffn1133TXvfOc78+pXvzpnnXVWVq5cOagzBSwTAAAAYItGjx6dz33uc/nc5z632eve8IY35Be/+MUmz1999dW5+uqrex374+n8f7zGfrfddtvg2OTJk3sd22233XL33Xf3uua8887b7Otsyr//+79v9HilUsmtt9662efee++9vR5PmDAhd9xxR69jCxcu7PV4xx13zNe+9rU+1TZQzAwAAACAEUYYAAAAACOMZQIAAABssz+etk9tMzMAAAAARhhhAAAAAIwwwgAAAIAqWLt2bbVLoE4NxO+OMAAAAGAIFYvFJMnSpUurXAn1av3vTmdn51bfQwNBAACAITRq1Ki0t7fnhRdeSJK0tbWlocHfadmytWvXZunSpXnhhReycOHCbZohIAwAAAAYYrvuumu6u7t7AgHoj4ULF+a3v/1tVq9enYaGhrS0tPT7HsIAAACAIVYoFLLbbrvl+eefz09/+tMsWbIku+22mxkCNWzt2rV54YUXstNOO1VtnLq7u7N69eqsXbs2a9asye9+97vsueeeaW9v7/e9hAEAAABVcuihh2b16tX5/ve/n2KxmEKhUO2S2IS1a9fmxRdfTJKaCG1GjRqVPffcM295y1vS2tra/+cPQk0AAAD0QWNjY97whjdk3rx5OeywwzJqlK9otWrNmjW55557cuSRR9bEOBWLxYwZM2ara6n+OwAAABjBCoVCmpub86pXvSpNTU3VLodN6OzszJgxY4bNOFV/bgMAAAAwpIQBAAAAMMIIAwAAAGCEEQYAAADACKOBIPnsXXPzxYca8+GHZ6cQW5n8T02NhXz97D/Pa3ctV7sUAACAASMMIEf8SXt++5tf50//9NVpbGysdjk1o7s7+disX+ap3y4RBgAAAMOKMIC8dpdxeWnH7rzlz3cdFltkDKTLZz+V+cs6q10GAADAgNIzADajUipmwfLV1S4DAABgQAkDYDPKrU2Zv0wYAAAADC/CANiMSqmYBcIAAABgmBEGwGaUW4uZb5kAAAAwzAgDYDPMDAAAAIajqoYB999/f44//vhMmDAhhUIht956a8+5zs7OXHTRRdl///1TKpUyYcKEnH766XnxxRc3e88lS5bk/PPPz8SJE9PS0pJJkyblkUce6XXN0qVLM23atOy8885paWnJfvvtly9+8Yu9rpk8eXIKhUKvf+eee+6AvXfqQ7lU1DMAAAAYdqoaBixbtiwHHnhgrrrqqg3OLV++PHPmzMnFF1+cOXPm5JZbbsmTTz6ZE044YbP3PPvsszN79uxcf/31+fnPf55jjjkmRx11VF544YWeay644ILcfvvt+frXv54nnngi559/fqZNm5ZZs2b1utdf//Vf56WXXur59+lPf3pg3jh1o9JazOKVa9LZtbbapQAAAAyYUdV88eOOOy7HHXfcRs9tt912mT17dq9jn//853PIIYfkueeey6677rrBc1asWJGbb7453/nOd3L44YcnSWbMmJHbbrstV199dT7xiU8kSR588MFMnTo1kydPTpKcc845+dKXvpSHH364V9jQ2tqaHXfccSDeKnVqXGtTkmTh8s50jGmucjUAAAADo6phQH8tWrQohUIh48aN2+j5NWvWpKurK6NHj+51vKWlJQ888EDP40mTJmXWrFk588wzM2HChNx777156qmncsUVV/R63g033JCvf/3r2XHHHXP88cfn4osvTmtr6ybrW7VqVVatWtXzePHixUnWLXno7Ozs79sdMutrq+Uaq2Vs87rJM68sXp5xo6vbYsM41QfjVPuMUX0wTvXBONU+Y1QfjFN9qJdx6mt9he7u7u5BrqVPCoVCZs6cmbe//e0bPb9y5cocdthh2XfffXPDDTds8j6TJk1KsVjMjTfemB122CE33XRTpk6dmr322itPPvlkknVf2s8555xcd911GTVqVBoaGnLNNdfk9NNP77nPv/7rv2bixImZMGFCfvazn+Wiiy7KIYcckltuuWWTrz1jxoxccsklGxy/8cYbNxsiULt+uyL55OOj8v4/XZO9xla7GgAAgM1bvnx5Tj311CxatChjx276S0xdhAGdnZ056aST8vzzz+fee+/d7Bt6+umnc+aZZ+b+++9PY2NjDj744PzJn/xJHnvssTzxxBNJkssuuyzXXHNNLrvsskycODH3339/pk+fnpkzZ+aoo47a6H3vvvvuvOlNb8rcuXOz5557bvSajc0M2GWXXTJv3rzN1lxtnZ2dmT17do4++ug0NTVVu5yasmD56hzyqXvz+b86MMf+6Q5VrcU41QfjVPuMUX0wTvXBONU+Y1QfjFN9qJdxWrx4cdrb27cYBtT8MoHOzs5MmTIlv/nNb3L33Xdv8Uv1nnvumfvuuy/Lli3L4sWLM378+Jx88snZY489kqzrK/CRj3wkM2fOzFvf+tYkyQEHHJDHH388l1122SbDgD//8z9Pks2GAc3NzWlu3nBdeVNTU03/sqxXL3UOpe3HjEpDIVm8am3NfDbGqT4Yp9pnjOqDcaoPxqn2GaP6YJzqQ62PU19rq+4i6C1YHwT8+te/zp133pntt9++z88tlUoZP358FixYkDvuuCMnnnhizz07OzvT0ND7rTc2Nmbt2k13jH/88ceTJOPHj+//G6FuNTYUMq61mAXLbS8IAAAMH1WdGbB06dLMnTu35/EzzzyTxx9/PJVKJePHj8+73vWuzJkzJ9/97nfT1dWVl19+OUlSqVRSLBaT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0qQUi8XceOON2WGHHXLTTTdl6tSp2WuvvfLkk08mWfel/Zxzzsl1112XUaNGpaGhIddcc01OP/30nvu8733vS1dXV7785S/3qb5k3SyESy65ZIPjN954Y1pbW/vwKVCvfvRyITOfbchn/rwrVpUAAADVsv4P24sWLcrYsWM3eV1dzAzo7OzMlClT0t3dnauvvnqz115//fU588wzs9NOO6WxsTEHH3xwTjnllDz22GM911x55ZV56KGHMmvWrEycODH3339/zjvvvEyYMCFHHXVUZs2albvvvjs//elP+1Xn9OnTc8EFF/Q8Xrx4cXbZZZccc8wxmx2Eauvs7Mzs2bNz9NFHp6mpqdrl1KXun7+cf3vmZzn8TcdkzOjB+c/KONUH41T7jFF9ME71wTjVPmNUH4xTfaiXcVo/Q31Laj4MWB8E/OY3v8ndd9+9xS/Ve+65Z+67774sW7Ysixcvzvjx43PyySdnjz32SLKur8BHPvKRzJw5M29961uTJAcccEAef/zxXHbZZTnqqKNy99135+mnn95gOcJJJ52UN77xjbn33ns3+trNzc1pbm7e4HhTU1NN/7KsVy911qKOsS1JkqWru1MZM7ifoXGqD8ap9hmj+mCc6oNxqn3GqD4Yp/pQ6+PU19pqOgxYHwT8+te/zj333JPtt9++z88tlUoplUpZsGBB7rjjjnz605/uuWdnZ2caGnpvpNDY2Ji1a9cmSf7+7/8+Z599dq/z+++/f6644oocf/zx2/iuGI7KrcUkyfzlq7Pr9paEAAAAta2qYcDSpUszd+7cnsfPPPNMHn/88VQqlYwfPz7vete7MmfOnHz3u99NV1dXXn755SRJpVJJsbjuy9eb3vSmvOMd78i0adOSJHfccUe6u7uzzz77ZO7cubnwwguz77775owzzkiSjB07NkcccUQuvPDCtLS0ZOLEibnvvvty3XXX5fLLL0+S7LjjjhttGrjrrrtm9913H9TPhPpUKa37fVxge0EAAKAOVDUMePTRR3PkkUf2PF6/3n7q1KmZMWNGZs2alSQ56KCDej3vnnvu6dkW8Omnn868efN6zi1atCjTp0/P888/n0qlkpNOOimXXnppr6kS3/jGNzJ9+vScdtppmT9/fiZOnJhLL70055577iC9U4a7ca3rfr/mCwMAAIA6UNUwYPLkydncZgZ92ejg2Wef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AEB1VTUMuP/++3P88cdnwoQJKRQKufXWW3vOdXZ25qKLLsr++++fUqmUCRMm5PTTT8+LL7642XsuWbIk559/fiZOnJiWlpZMmjQpjzzySK9rli5dmmnTpmXnnXdOS0tL9ttvv3zxi1/sdc373ve+7LnnnmlpaUlHR0dOPPHE/Od//ueAvXdGnrEtTWkoJPOX6RkAAABUV1XDgGXLluXAAw/MVVddtcG55cuXZ86cObn44oszZ86c3HLLLXnyySdzwgknbPaeZ599dmbPnp3rr78+P//5z3PMMcfkqKOOygsvvNBzzQUXXJDbb789X//61/PEE0/k/PPPz7Rp0zJr1qyea173utfl2muvzRNPPJE77rgj3d3dOeaYY9LV1TVwHwAjSmNDIeNai2YGAAAAVTeqmi9+3HHH5bjjjtvoue222y6zZ8/udezzn/98DjnkkDz33HPZddddN3jOihUrcvPNN+c73/lODj/88CTJjBkzctttt+Xqq6/OJz7xiSTJgw8+mKlTp2by5MlJknPOOSdf+tKX8vDDD/eEDeecc07PfXfbbbd84hOfyIEHHphnn302e+655za/d0amcmuTngEAAEDVVTUM6K9FixalUChk3LhxGz2/Zs2adHV1ZfTo0b2Ot7S05IEHHuh5PGnSpMyaNStnnnlmJkyYkHvvvTdPPfVUrrjiio3ed9myZbn22muz++67Z5dddtlkfatWrcqqVat6Hi9evDjJuiUPnZ21OzV8fW21XONwUW5tyu+XrNyqz9o41QfjVPuMUX0wTvXBONU+Y1QfjFN9qJdx6mt9he7u7u5BrqVPCoVCZs6cmbe//e0bPb9y5cocdthh2XfffXPDDTds8j6TJk1KsVjMjTfemB122CE33XRTpk6dmr322itPPvlkknVf2s8555xcd911GTVqVBoaGnLNNdfk9NNP73WvL3zhC/m7v/u7LFu2LPvss0++973vbXZWwIwZM3LJJZdscPzGG29Ma2trHz4Fhrsv/2dD1nQn5756bbVLAQAAhqHly5fn1FNPzaJFizJ27NhNXlcXYUBnZ2dOOumkPP/887n33ns3+4aefvrpnHnmmbn//vvT2NiYgw8+OH/yJ3+Sxx57LE888USS5LLLLss111yTyy67LBMnTsz999+f6dOnZ+bMmTnqqKN67rVo0aL87ne/y0svvZTLLrss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83/+Ty688MLMnTs3S5cuzX777Ze2trbBqA9GnEqpmIXLO9Pd3Z1CoVDtcgAAgGGo32HAesViMfvtt99A1gIkGddazOqutVm2uittzVv9nygAAMAm9btnwJFHHpm/+Iu/2OS//rj//vtz/PHHZ8KECSkUCrn11lt7znV2duaiiy7K/vvvn1KplAkTJuT000/Piy++uNl7LlmyJOeff34mTpyYlpaWTJo0KY888kiva5YuXZpp06Zl5513TktLS/bbb7988Ytf7Dk/f/78vP/9788+++yTlpaW7LrrrvnABz6QRYsW9ev9wdaotBaTJAssFQAAAAZJv8OAgw46KAceeGDPv/322y+rV6/OnDlzsv/++/frXsuWLcuBBx6Yq666aoNzy5cvz5w5c3LxxRdnzpw5ueWWW/Lkk0/mhBNO2Ow9zz777MyePTvXX399fv7zn+eYY47JUUcdlRdeeKHnmgsuuCC33357vv71r+eJJ57I+eefn2nTpmXWrFlJkhdffDEvvvhiLrvssvziF7/IV7/61dx+++0566yz+vX+YGuUS01Jom8AAAAwaPo9B/mKK67Y6PEZM2Zk6dKl/brXcccdl+OOO26j57bbbrvMnj2717HPf/7zOeSQQ/Lcc89l11133eA5K1asyM0335zvfOc7Ofzww3vquu2223L11VfnE5/4RJLkwQcfzNSpUzN58uQkyTnnnJMvfelLefjhh3PCCSfkNa95TW6++eae++6555659NJL8+53vztr1qzJqFGmbjN4KqV1MwPm21EAAAAYJAP2rfbd7353DjnkkFx22WUDdcsNLFq0KIVCIePGjdvo+TVr1qSrqyujR4/udbylpSUPPPBAz+NJkyZl1qxZOfPMMzNhwoTce++9eeqppzYZdKx/7bFjx242CFi1alVWrVrV83jx4sVJ1i156Ozs7MtbrIr1tdVyjSNJW9O6poHzFq/oNSbGqT4Yp9pnjOqDcaoPxqn2GaP6YJzqQ72MU1/rK3R3d3cPxAtef/31ueiii7a4pn+ThRQKmTlzZt7+9rdv9PzKlStz2GGHZd99980NN9ywyftMmjQpxWIxN954Y3bYYYfcdNNNmTp1avbaa688+eSTSdZ9aT/nnHNy3XXXZdSoUWloaMg111yT008/faP3nDdvXl73utfl3e9+dy699NJNvvaMGTNyySWXbHD8xhtvTGtr62bePfR24b835i27rM2REwbkP08AAGCEWL58eU499dSeP2hvSr9nBrzzne/s9bi7uzsvvfRSHn300Vx88cX9r7QPOjs7M2XKlHR3d+fqq6/e7LXXX399zjzzzOy0005pbGzMwQcfnFNOOSWPPfZYzzVXXnllHnroocyaNSsTJ07M/fffn/POOy8TJkzIUUcd1et+ixcvzlvf+tbst99+mTFjxmZfe/r06bngggt6PXeXXXbJMcccs9lBqLbOzs7Mnj07Rx99dJqamqpdDkk+/cT9GT9xfN5y9N49x4xTfTBOtc8Y1QfjVB+MU+0zRvXBONWHehmn9TPUt6TfYcB2223X63FDQ0P22WeffPzjH88xxxzT39tt0fog4De/+U3uvvvuLX6p3nPPPXPfffdl2bJlWbx4ccaPH5+TTz45e+yxR5J1fQU+8pGPZObMmXnrW9+aJDnggAPy+OOP57LLLusVBixZsiRvfvObM2bMmMycOXOLA97c3Jzm5uYNjjc1NdX0L8t69VLnSFApNWfhyq6Njodxqg/GqfYZo/pgnOqDcap9xqg+GKf6UOvj1Nfa+h0GXHvttf0uZmutDwJ+/etf55577sn222/f5+eWSqWUSqUsWLAgd9xxRz796U/33LOzszMNDb03UmhsbMzatWt7Hi9evDjHHntsmpubM2vWrA36EMBgKpeKthYEAAAGTVXb4i9dujRz587tefzMM8/k8ccfT6VSyfjx4/Oud70rc+bMyXe/+910dXXl5ZdfTpJUKpUUi+s6rr/pTW/KO97xjkybNi1Jcscdd6S7uzv77LNP5s6dmwsvvDD77rtvzjjjjCTJ2LFjc8QRR+TCCy9MS0tLJk6cmPvuuy/XXXddLr/88iTrgoBjjjkmy5cvz9e//vUsXry4Z6pFR0dHGhsbh+wzYmSqtDblxUUrq10GAAAwTPUpDCiXyykUCn264fz58/v84o8++miOPPLInsfr19tPnTo1M2bMyKxZs5IkBx10UK/n3XPPPT3bAj799NOZN29ez7lFixZl+vTpef7551OpVHLSSSfl0ksv7TVV4hvf+EamT5+e0047LfPnz8/EiRNz6aWX5txzz02SzJkzJ//+7/+eJNlrr716vfYzzzyT3Xbbrc/vEbZGuVTML1/s21ofAACA/upTGPDZz352UF588uTJ2dxmBn3Z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BjrGrAsDNBEEgOFJGAAAbKC9rZgkmggCwDAlDAAANlBuLaaxoZBXNBEEgGFJGAAAbKChoZBKqWhmAAAMU8IAAGCjOtqahQEAMEwJAwCAjWof02w3AQAYpoQBAMBGtbcV7SYAAMOUMAAA2KiOMZYJAMBwJQwAADaqo6058+wmAADDkjAAANio9rbmLFvdleWr11S7FABggAkDAICNam9rThJNBAFgGBIGAAAb1TFmXRigiSAADD/CAABgo9rbikmiiSAADENVDQPuv//+HH/88ZkwYUIKhUJuvfXWnnOdnZ256KKLsv/++6dUKmXChAk5/fTT8+KLL272nkuWLMn555+fiRMnpqWlJZMmTcojjzzS65qlS5dm2rRp2XnnndPS0pL99tsvX/ziF3td86//+q+ZPHlyxo4dm0KhkIULFw7U2waAulBuLaaxoZBXNBEEgGGnqmHAsmXLcuCBB+aqq67a4Nzy5cszZ86cXHzxxZkzZ05uueWWPPnkkznhhBM2e8+zzz47s2fPzvXXX5+f//znOeaYY3LUUUflhRde6LnmggsuyO23356vf/3reeKJJ3L++edn2rRpmTVrVq/Xf/Ob35yPfOQjA/eGAaCONDQUUikVzQwAgGFoVDVf/Ljjjstxxx230XPbbbddZs+e3evY5z//+RxyyCF57rnnsuuuu27wnBUrVuTmm2/Od77znRx++OFJkhkzZuS2227L1VdfnU984hNJkgcffDBTp07N5MmTkyTnnHNOvvSlL+Xhhx/uCRvOP//8JMm99947AO8UAOpTR1uzMAAAhqGqhgH9tWjRohQKhYwbN26j59esWZOurq6MHj261/GWlpY88MADPY8nTZqUWbNm5cwzz8yECRNy77335qmnnsoVV1yxTfWtWrUqq1b9v//DtHjx4iTrljx0dnZu070H0/raarlGjFO9ME61zxj1z/alpvxu8coh/7yMU30wTrXPGNUH41Qf6mWc+lpfobu7u3uQa+mTQqGQmTNn5u1vf/tGz69cuTKHHXZY9t1339xwww2bvM+kSZNSLBZz4403ZocddshNN92UqVOnZq+99sqTTz6ZZN2X9nPOOSfXXXddRo0alYaGhlxzzTU5/fTTN7jfvffemyOPPDILFizYZAix3owZM3LJJZdscPzGG29Ma2vrZp8LALXo63MbMm9lIee/pqvapQAAfbB8+fKceuqpWbRoUcaOHbvJ6+piZkBnZ2emTJmS7u7uXH311Zu99vrrr8+ZZ56ZnXbaKY2NjTn44INzyimn5LHHHuu55sorr8xDDz2UWbNmZeLEibn//vtz3nnnZcKECTnqqKO2us7p06fnggsu6Hm8ePHi7LLLLjnmmGM2OwjV1tnZmdmzZ+foo49OU1NTtcthE4xTfTBOtc8Y9c/P73gqP/zVb/OWt7xxSF/XONUH41T7jFF9ME71oV7Gaf0M9S2p+TBgfRDwm9/8JnffffcWv1Tvueeeue+++7Js2bIsXrw448ePz8knn5w99tgjybq+Ah/5yEcyc+bMvPWtb02SHHDAAXn88cdz2WWXbVMY0NzcnObm5g2ONzU11fQvy3r1UudIZ5zqg3Gqfcaob3bcriW/X7q6ap+VcaoPxqn2GaP6YJzqQ62PU19rq+puAluyPgj49a9/nTvvvDPbb799n59bKpUyfvz4LFiwIHfccUdOPPHEnnt2dnamoaH3W29sbMzatWsHtH4AqHftbc1Ztrory1evqXYpAMAAqurMgKVLl2bu3Lk9j5955pk8/vjjqVQqGT9+fN71rndlzpw5+e53v5uurq68/PLLSZJKpZJisZgkedOb3pR3vOMdmTZtWpLkjjvuSHd3d/bZZ5/MnTs3F154Yfbdd9+cccYZSZKxY8fmiCOOyIUXXpiWlpZMnDgx9913X6677rpcfvnlPbW8/PLLefnll3vq+/nPf54xY8Zk1113TaVSGZLPBwCqrb1t3Yy3eUtWZ9fta35CIQDQR1X9X/VHH300Rx55ZM/j9evtp06dmhkzZmTWrFlJkoMOOqjX8+65556ebQGffvrpzJs3r+fcokWLMn369Dz//POpVCo56aSTcumll/aaKvGNb3wj06dPz2mnnZb58+dn4sSJufTSS3Puuef2XPPFL36xVzPA9VsVXnvttXnve987IO8fAGpdx5h1YcArS1dl1+01wwWA4aKqYcDkyZOzuc0M+rLRwbPPPtvr8ZQpUzJlypTNPmfHHXfMtddeu9lrZsyYkRkzZmzx9QFgOGtvWzcTb97SVVu4EgCoJzXdMwAAqK5yazGNDQVhAAAMM8IAAGCTGhoKqZSKeWWJMAAAhhNhAACwWR1tzWYGAMAwIwwAADarfUxz5i1ZXe0yAIABJAwAADarva1oZgAADDPCAABgszramvOKMAAAhhVhAACwWR1jmjNPA0EAGFaEAQDAZrW3NWfZ6q4sX72m2qUAAANEGAAAbFZ7W3OSaCIIAMOIMAAA2Kz2McUk0TcAAIYRYQAAsFkd62cGCAMAYNgQBgAAm1VuLaaxoSAMAIBhRBgAAGxWQ0MhlVIxr9hRAACGDWEAALBFHW3NZgYAwDAiDAAAtqh9TLPdBABgGBEGAABb1N5WNDMAAIYRYQAAsEUdbc22FgSAYUQYAABsUceY5szTQBAAhg1hAACwRe1tzVm2uisrVndVuxQAYAAIAwCALWpva04SfQMAYJgQBgAAW9Q+ppgk+Z2lAgAwLAgDAIAt6jAzAACGFWEAALBF5dZiGhsKwgAAGCaEAQDAFjU0FFIpFfOKZQIAMCwIAwCAPmlvazYzAACGCWEAANAnHWOaM2/J6mqXAQAMAGEAANAn7W1FMwMAYJgQBgAAfdLR1pxXhAEAMCwIAwCAPlm3TEAYAADDgTAAAOiT9rbmLFvdlRWru6pdCgCwjYQBAECftLc1J4m+AQAwDAgDAIA+aR9TTJL8zlIBAKh7wgAAoE86zAwAgGFDGAAA9Em5tZjGhoIwAACGAWEAANAnDQ2FVErFzFuyutqlAADbSBgAAPRZe1tzXlm6stplAADbSBgAAPRZx5hmMwMAYBgQBgAAfdbeVtQzAACGAWEAANBnHW3NeUUYAAB1TxgAAPRZe1tz5i0RBgBAvRMGAAB91jGmOctWd2XF6q5qlwIAbANhAADQZ+1tzUmibwAA1DlhAADQZ+1jikmS31kqAAB1TRgAAPRZh5kBADAsCAMAgD4rtxbT2FAQBgBAnRMGAAB91tBQSKVUzLwlq6tdCgCwDYQBAEC/tLc155WlK6tdBgCwDYQBAEC/dIxpNjMAAOqcMAAA6Jf2tqKeAQBQ54QBAEC/dLQ1CwMAoM4JAwCAfmlva84rS4QBAFDPhAEAQL90jGnOstVdWbG6q9qlAABbSRgAAPRLe1tzklgqAAB1TBgAAPRL+5hikuR3lgoAQN0SBgAA/WJmAADUP2EAANAv5dZiGhsKwgAAqGPCAACgXxobCqmUipm3ZHW1SwEAtpIwAADot/a25ryydGW1ywAAtpIwAADot44xzWYGAEAdEwYAAP3W3lbUMwAA6pgwAADot462ZmEAANQxYQAA0G/tbc15ZYkwAADqlTAAAOi3jjHNWba6KytWd1W7FABgKwgDAIB+a29rThJLBQCgTgkDAIB+ax9TTJK8IgwAgLokDAAA+m39zAB9AwCgPgkDAIB+K7cW09hQsEwAAOqUMAAA6LfGhkIqpWLmLVld7VIAgK0gDAAAtkp7W3NeWbqy2mUAAFtBGAAAbJX2NjMDAKBeCQMAgK3SMaZZzwAAqFPCAABgq3S0CQMAoF4JAwCArdLe1mxrQQCoU8IAAGCrtI8pZtnqrqxY3VXtUgCAfhIGAABbpaNtdJJYKgAAdUgYAABslfYxxSTJK8IAAKg7wgAAYKu0tzUnib4BAFCHhAEAwFYptxbT2FCwTAAA6pAwAADYKo0NhVRKxcxbsrrapQAA/SQMAAC2Wntbs5kBAFCHhAEAwFZrbyvqGQAAdUgYAABstY4xZgYAQD0SBgAAW63DMgEAqEvCAABgq7W3NVsmAAB1SBgAAGy19jHFLFvdlRWru6pdCgDQD8IAAGCrdbSNThJLBQCgzggDAICt1j6mmCR5RRgAAHVFGAAAbLX2tuYk0TcAAOqMMAAA2Grl1mIaCpYJAEC9EQYAAFutsaGQ7duaM2/J6mqXAgD0gzAAANgm7W3NZgYAQJ0RBgAA26S9rahnAADUGWEAALBNOsaYGQAA9UYYAABskw7LBACg7ggDAIBtsq5ngAaCAFBPhAEAwDZpH1PM0lVrsmJ1V7VLAQD6SBgAAGyTjrbRSWKpAADUEWEAALBN2scUkySvCAMAoG4IAwCAbdLe1pwkthcEgDoiDAAAtkm5tZiGgmUCAFBPhAEAwDZpbChk+7bmzFtiRwEAqBfCAABgm63bXtDMAACoF8IAAGCbtbcV9QwAgDoiDAAAtlmHmQEAUFeEAQDANusYIwwAgHoiDAAAttm6ngEaCAJAvRAGAADbrH1MMUtXrcmK1V3VLgUA6ANhAACwzTraRieJpQIAUCeEAQDANmsfU0ySvCIMAIC6IAwAALZZe1tzkmSe7QUBoC4IAwCAbVZuLaahYGYAANQLYQAAsM0aGwrZvq0585bYUQAA6oEwAAAYEOu2FzQzAADqgTAAABgQ7W3FvKJnAADUhaqGAffff3+OP/74TJgwIYVCIbfeemvPuc7Ozlx00UXZf//9UyqVMmHChJx++ul58cUXN3vPJUuW5Pzzz8/EiRPT0tKSSZMm5ZFHHul1zdKlSzNt2rTsvPPOaWlpyX777ZcvfvGLva5ZuXJlzjvvvGy//fZpa2vLSSedlN/+9rcD9t4BYLjpMDMAAOpGVcOAZcuW5cADD8xVV121wbnly5dnzpw5ufjiizNnzpzccsstefLJJ3PCCSds9p5nn312Zs+eneuvvz4///nPc8wxx+Soo47KCy+80HPNBRdckNtvvz1f//rX88QTT+T888/PtGnTMmvWrJ5rPvShD+W2227Lt7/97dx333158cUX8853vnPg3jwADDMdY4QBAFAvRlXzxY877rgcd9xxGz233XbbZfbs2b2Off7zn88hhxyS5557LrvuuusGz1mxYkVuvvnmfOc738nhhx+eJJkxY0Zuu+22XH311fnEJz6RJHnwwQczderUTJ48OUlyzjnn5Etf+lIefvjhnHDCCVm0aFG+8pWv5MYbb8xf/MVfJEmuvfbavPrVr85DDz2U17/+9QP1EQDAsLGuZ4AGggBQD6oaBvTXokWLUigUMm7cuI2eX7NmTbq6ujJ69Ohex1taWvLAAw/0PJ40aVJmzZqVM888MxMmTMi9996bp556KldccUWS5LHHHktnZ2eOOuqonufsu+++2XXXXfOTn/xkk2HAqlWrsmrV//uLyOLFi5OsW/LQ2dm5Ve95KKyvrZZrxDjVC+NU+4zR4Cm3NGbpqjVZvGxlWoqN23Qv41QfjFPtM0b1wTjVh3oZp77WVzdhwMqVK3PRRRfllFNOydixYzd6zZgxY3LooYfmH//xH/PqV786O+ywQ2666ab85Cc/yV577dVz3ZVXXplzzjknO++8c0aNGpWGhoZcc801PbMJXn755RSLxQ1Chx122CEvv/zyJmv81Kc+lUsuuWSD4z/84Q/T2tq6Fe96aP3xTAxqk3GqD8ap9hmjgff0wkKSxvzbd+/I9qO3eHmfGKf6YJxqnzGqD8apPtT6OC1fvrxP19VFGNDZ2ZkpU6aku7s7V1999Wavvf7663PmmWdmp512SmNjYw4++OCccsopeeyxx3quufLKK/PQQw9l1qxZmThxYu6///6cd955mTBhQq/ZAP01ffr0XHDBBT2PFy9enF122SXHHHPMJgOMWtDZ2ZnZs2fn6KOPTlNTU7XLYROMU30wTrXPGA2ePV9ekquf+Ele878m5bW7jNumexmn+mCcap8xqg/GqT7Uyzitn6G+JTUf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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDMAAARTCAYAAAB2w2jhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACN5klEQVR4nOz9e5hXZb0//j8HhpOCKAooZ1FKUEEUJFMOjihizg7LcqMlqOln789QKZnZLgWt0NrpVgO1XQrq1qCDaF9FlIPiIUxFMREiJdTaIohnIBWY+f3hz/k4MsAMh3Dp43Fd7+uada/7vtdrva+lXu+na92rpKqqqioAAAAABdFgRxcAAAAAUB/CDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDADgE23QoEE54IADNtvvueeeS0lJSSZNmrT9iwIANkmYAQBsE5MmTUpJSclGPw8//PCOLnGHuPrqqwUgALCNle7oAgCAj5eLL744e++99wbt++677w6oZtvp3Llz/vGPf6RRo0b1Gnf11Vdnjz32yMiRI7dPYQDwCSTMAAC2qaFDh6ZPnz71GrNu3bpUVlamcePGG+xbvXp1dt555y2up6qqKm+//XaaNWu2xXMkSUlJSZo2bbpVc2wrb7/9dho3bpwGDdxkC8Ank/8CAgD/VO+vPfHTn/40V1xxRfbZZ580adIkCxcuzNixY1NSUpKFCxfm5JNPzm677ZYjjjgiyXuBxw9+8IPq/l26dMl//Md/5J133qkxf5cuXXL88cfn7rvvTp8+fdKsWbP8/Oc/32xdCxcuzJFHHpmddtop7du3z09+8pNa6/7gIyMvvfRSTjvttHTo0CFNmjTJXnvtlc9//vN57rnnqmt5+umnM2fOnOrHbQYNGlQ9/q9//Wu+9KUvpVWrVtlpp53ymc98JnfeeWeN4953330pKSnJ5MmT8/3vfz/t27fPTjvtlPnz56ekpCT/9V//tcG5/OEPf0hJSUl+9atfbfa8AaCI3JkBAGxTb7zxRlauXFmjraSkJLvvvnuNtokTJ+btt9/OWWedlSZNmqRVq1bV+770pS+lW7duGTduXKqqqpIkX/va13LDDTfkxBNPzLe+9a388Y9/zCWXXJJFixZl6tSpNeZevHhxhg8fnv/zf/5PzjzzzHz605/eZM2vvfZajj322HzhC1/Il7/85fz2t7/Nd77znRx44IEZOnToRsd98YtfzNNPP52vf/3r6dKlS1asWJEZM2bkhRdeSJcuXXLFFVfk61//epo3b57vfe97SZK2bdsmSZYvX57PfvazWbNmTb7xjW9k9913zw033JB/+Zd/yW9/+9uccMIJNY71gx/8II0bN865556bd955J/vtt18OP/zw3HzzzTnnnHNq9L355pvTokWLfP7zn9/keQNAYVUBAGwDEydOrEpS66dJkybV/ZYuXVqVpGqXXXapWrFiRY05xowZU5Wkavjw4TXa58+fX5Wk6mtf+1qN9nPPPbcqSdXs2bOr2zp37lyVpGr69Ol1qnvgwIFVSapuvPHG6rZ33nmnas8996z64he/uEHdEydOrKqqqqp67bXXqpJU/ed//ucm599///2rBg4cuEH72WefXZWk6oEHHqhue+utt6r23nvvqi5dulStX7++qqqqquree++tSlLVtWvXqjVr1tSY4+c//3lVkqpFixZVt7377rtVe+yxR9WIESPqdP4AUEQeMwEAtqkJEyZkxowZNT533XXXBv2++MUvpnXr1rXO8W//9m81tqdNm5YkGT16dI32b33rW0mywaMZe++9d4YMGVLnmps3b56vfOUr1duNGzfOoYcemr/+9a8bHdOsWbM0btw49913X1577bU6H+t906ZNy6GHHlr9GM37dZx11ll57rnnsnDhwhr9R4wYscG6H1/+8pfTtGnT3HzzzdVtd999d1auXFnjfADg40aYAQBsU4ceemgGDx5c43PkkUdu0K+2N55sbN/zzz+fBg0abPBGlD333DO77rprnn/++TrPXZsOHTqkpKSkRttuu+22yZCiSZMm+fGPf5y77rorbdu2zYABA/KTn/wkL730Up2O+fzzz9f6+Ev37t2r939Qbee06667pry8PLfcckt1280335z27dunrKysTnUAQBEJMwCAHWJTbxfZ2L4PBw5bMndtGjZsWGt71f9/vY6NOfvss/OXv/wll1xySZo2bZoLLrgg3bt3zxNPPFGv49fFxs7p1FNPzV//+tf84Q9/yFtvvZXf//73GT58uDedAPCx5r9yAMBHXufOnVNZWZlnnnmmRvvy5cvz+uuvp3PnzjuosmSfffbJt771rdxzzz1ZsGBB3n333Vx22WXV+zcWwHTu3DmLFy/eoP3Pf/5z9f66OPbYY9O6devcfPPNmTp1atasWZOvfvWrW3AmAFAcwgwA4CPvuOOOS5JcccUVNdovv/zyJMnnPve5f3ZJWbNmTd5+++0abfvss09atGhR43WxO++8c15//fUNxh933HF55JFHMnfu3Oq21atX57//+7/TpUuX9OjRo051lJaWZvjw4fn1r3+dSZMm5cADD0zPnj237KQAoCC8mhUA2Kbuuuuu6rsLPuizn/1sunbtukVz9urVKyNGjMh///d/5/XXX8/AgQPzyCOP5IYbbsiwYcNqXZNje/vLX/6So446Kl/+8pfTo0ePlJaWZurUqVm+fHn+9V//tbrfIYcckmuuuSY//OEPs++++6ZNmzYpKyvL+eefn1/96lcZOnRovvGNb6RVq1a54YYbsnTp0vzud7+r12Mip556aq666qrce++9+fGPf7w9ThcAPlKEGQDANnXhhRfW2j5x4sQtDjOS5Je//GW6du2aSZMmZerUqdlzzz3z3e9+N2PGjNniObdGx44dM3z48MyaNSs33XRTSktLs99+++XXv/51vvjFL1b3u/DCC/P888/nJz/5Sd56660MHDgwZWVladu2bf7whz/kO9/5Tn72s5/l7bffTs+ePfP//X//X73vNDnkkEOy//77Z9GiRTnllFO29akCwEdOSdXmVrYCAOAjr3fv3mnVqlVmzZq1o0sBgO3OmhkAAAX32GOPZf78+Tn11FN3dCkA8E/hzgwAgIJasGBB5s2bl8suuywrV67MX//61zRt2nRHlwUA2507MwAACuq3v/1tTjvttKxduza/+tWvBBkAfGK4MwMAAAAoFHdmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACiU0h1dAB8tlZWVefHFF9OiRYuUlJTs6HIAAAD4mKuqqspbb72Vdu3apUGDut1zIcyghhdffDEdO3bc0WUAAADwCfO3v/0tHTp0qFNfYQY1tGjRIsl7F9Euu+yyg6vZtLVr1+aee+7JMccck0aNGu3ocqBeXL8UmeuXInP9UmSuX4psU9fvm2++mY4dO1b/Hq0LYQY1vP9oyS677FKIMGOnnXbKLrvs4l/mFI7rlyJz/VJkrl+KzPVLkdXl+q3PUgcWAAUAAAAKRZgBAAAAFIowAwAAACgUa2YAAAB8AlVVVWXt2rVZt27dji6FT4C6vnK1roQZAAAAnzDvvPNOnnvuuaxatWpHl8InRElJSZo0abLN5hNmAAAAfIJUVlZm4cKFKS0tzd57750mTZrU6y0SUF+VlZVZtmxZKisr8+abb6ZVq1Zbfc0JMwAAAD5B3n777VRWVmbvvfdO8+bNd3Q5fELstddeefPNN3P77bfnoIMOSu/evbcq0LAAKAAAwCfQtl7DADbl/ett/fr1uffee/OnP/1p6+bbFkUBAAAAbM5uu+2WysrKPPPMM1s1jzADAACAj4XnnnsuJSUlmT9//nY7xsiRIzNs2LDtNv8nQZMmTfLmm29u1RzCDAAAANiOSkpKctttt+3oMj5WhBkAAADwMbV27doN2t59990tmmtLx20PwgwAAAAKYfr06TniiCOy6667Zvfdd8/xxx+fJUuWbNDvz3/+cz772c+madOmOeCAAzJnzpzqfa+99lpOOeWUtG7dOs2aNUu3bt0yceLE6v1PPfVUysrK0qxZs+y+++4566yzsmrVqo3W1KVLl1xxxRU12g466KCMHTu2en+SnHDCCSkpKaneTpLbb789Bx98cJo2bZquXbvmoosuyrp16zb5Hfzyl79M9+7d07Rp0+y33365+uqrq/e9/5jNlClTMnDgwDRt2jQ333xz9aMxP/rRj9KuXbt8+tOfrtO5bmzcR4FXswIAAFAIq1evzujRo9OzZ8+sWrUqF154YU444YTMnz+/xttZvv3tb+eKK65Ijx49cvnll6e8vDxLly7N7rvvngsuuCALFy7MXXfdlT322CPPPvts/vGPf1TPP2TIkBx22GF59NFHs2LFinzta1/LqFGjMmnSpC2q+dFHH02bNm0yceLEHHvssWnYsGGS5IEHHsipp56aq666Kv3798+SJUty1llnJUnGjBlT61w333xzLrzwwowfPz69e/fOE088kTPPPDM777xzRowYUd3v/PPPz2WXXZbevXunadOmue+++zJr1qzssssumTFjRr3O9cPjPiqEGQAAAOQf767Pkpc3fgfC9rJP6+Zp1rhhnfp+8YtfrLF9/fXXp3Xr1lm4cGEOOOCA6vZRo0ZV973mmmsyffr0XHfddTnvvPPywgsvpHfv3unTp0+S1LhT4pZbbsnbb7+dG2+8MTvvvHOSZPz48SkvL8+Pf/zjtG3btt7n17p16yTJrrvumj333LO6/aKLLsr5559fHUJ07do1P/jBD3LeeedtNMwYM2ZMLrvssnzhC19Ikuy9995ZuHBhfv7zn9cIM84+++zqPu/beeed88tf/jKNGzdOkvziF7+o07l+eNxHhTADAACALHl5VY7/2YP/9OPe8fUjckD7lnXq+8wzz+TCCy/MH//4x6xcuTKVlZVJkhdeeKFGmHHYYYdV/11aWpo+ffpk0aJFSZJ///d/zxe/+MU8/vjjOeaYYzJs2LB89rOfTZIsWrQovXr1qv5xnySHH354Kisrs3jx4i0KMzbmySefzEMPPZQf/ehH1W3r16/P22+/nTVr1mSnnXaq0X/16tVZsmRJzjjjjJx55pnV7evWrUvLljW/v/eDmg868MADawQSdT3XD4/7qBBmfEyccMIJue+++3LUUUflt7/9bXX70qVLc/rpp2f58uVp2LBhHn744RoXKwAAQPLeHRJ3fP2IHXLcuiovL0/nzp3zi1/8Iu3atUtlZWUOOOCAei1MOXTo0Dz//POZNm1aZsyYkaOOOioVFRX56U9/uiXlp0GDBqmqqqrRVtuimx+2atWqXHTRRRvcQZEkTZs2rbV/8t4dFf369aux7/1HV95X22++Lf0d+FH9/SjM+Jj45je/mdNPPz033HBDjfaRI0fmhz/8Yfr3759XX301TZo02UEVAgAAH2XNGjes8x0SO8Irr7ySxYsX5xe/+EX69++fJHnwwdrvJHn44YczYMCAJO/duTBv3ryMGjWqen/r1q0zYsSIjBgxIv3798+3v/3t/PSnP0337t0zadKkrF69uvpH/EMPPZQGDRpsdPHL1q1bZ9myZdXbb775ZpYuXVqjT6NGjbJ+/foabQcffHAWL16cfffdt07n37Zt27Rr1y5//etfc8opp9RpzKZsybl+lHibycfEoEGD0qJFixptTz/9dBo1alT9D3qrVq1SWiq/AgAAime33XbL7rvvnv/+7//Os88+m9mzZ2f06NG19p0wYUKmTp2aP//5z6moqMhrr72W008/PUly4YUX5vbbb8+zzz6bp59+OnfccUe6d++eJDnllFPStGnTjBgxIgsWLMi9996br3/96/nqV7+60UdMysrKctNNN+WBBx7IU089lREjRmxwp0SXLl0ya9asvPTSS3nttdeq67jxxhtz0UUX5emnn86iRYsyefLkfP/739/od3DRRRflkksuyVVXXZW//OUveeqppzJx4sRcfvnl9f4+t+RcP0p2eJhxySWXpG/fvmnRokXatGmTYcOGZfHixZscc80116Rnz57ZZZddsssuu+Swww7LXXfdVa95x44dm5KSkhqf/fbbb5uf3/3335/y8vK0a9cuJSUlue2222rtN2HChHTp0iVNmzZNv3798sgjj2z1sZ955pk0b9485eXlOfjggzNu3LitnhMAAGBHaNCgQSZPnpx58+blgAMOyDnnnJP//M//rLXvpZdemksvvTS9evXKgw8+mN///vfZY489kiSNGzfOd7/73fTs2TMDBgxIw4YNM3ny5CTJTjvtlLvvvjuvvvpq+vbtmxNPPDFHHXVUxo8fv9G6vvvd72bgwIE5/vjj87nPfS7Dhg3LPvvsU6PPZZddlhkzZqRjx47p3bt3kmTIkCG54447cs8996Rv3775zGc+k//6r/9K586dN3qsr33ta/nlL3+ZiRMn5sADD8zAgQMzadKk7L333vX6Lrf0XD9Kdvj/pp8zZ04qKirSt2/frFu3Lv/xH/+RY445JgsXLtzoszkdOnTIpZdemm7duqWqqio33HBDPv/5z+eJJ57I/vvvX+d5999//8ycObN63s3dtfDQQw/l0EMPTaNGjWq0L1y4MLvvvnut6dXq1avTq1evnH766bU+C5UkU6ZMyejRo3PttdemX79+ueKKKzJkyJAsXrw4bdq0SfLee4pre9/wPffck3bt2tU677p16/LAAw9k/vz5adOmTY499tj07ds3Rx999CbPEwAA4KNo8ODBWbhwYY22D65X0aVLl+rt4cOH1zrH97///U3e/XDggQdm9uzZG93/4Ve07rLLLtVhyPs++GaR5L21PsrLyzeYa8iQIRkyZMhGj1Wbk08+OSeffHKt+z54/puq+X31PdePkh0eZkyfPr3G9qRJk9KmTZvMmzev+hmnD/vwRfCjH/0o11xzTR5++OHqMKMu85aWltZ4Nc6mVFZWpqKiIt26dcvkyZOrbxtavHhxysrKMnr06Jx33nkbjBs6dGiGDh26ybkvv/zynHnmmTnttNOSJNdee23uvPPOXH/99Tn//POTJPPnz69TnR/Uvn379OnTJx07dkySHHfccZk/f74wAwAAgELb4Y+ZfNgbb7yR5L31Hepi/fr1mTx5clavXl3j9Tt1mfeZZ55Ju3bt0rVr15xyyil54YUXNjq+QYMGmTZtWp544omceuqpqayszJIlS1JWVpZhw4bVGmTUxbvvvpt58+Zl8ODBNY41ePDgzJ07d4vmfF/fvn2zYsWKvPbaa6msrMz9999f/SzYh02YMCE9evRI3759t+qYAAAAsL3t8DszPqiysjJnn312Dj/88BrvCK7NU089lcMOOyxvv/12mjdvnqlTp6ZHjx51nrdfv36ZNGlSPv3pT2fZsmW56KKL0r9//yxYsGCDhTTf165du8yePTv9+/fPySefnLlz52bw4MG55pprtvicV65cmfXr12/wiErbtm3z5z//uc7zDB48OE8++WRWr16dDh065De/+U0OO+ywjBs3LgMGDEhVVVWOOeaYHH/88bWOr6ioSEVFRd58880N3lEMAAAAHyUfqTCjoqIiCxYs2OjrdT7o05/+dObPn5833ngjv/3tbzNixIjMmTOn1kCjtnk/+OhHz549069fv3Tu3Dm//vWvc8YZZ2z0uJ06dcpNN92UgQMHpmvXrrnuuutSUlJSzzPd9j649scH1eUxFwAAACiSj8xjJqNGjcodd9yRe++9Nx06dNhs/8aNG2fffffNIYcckksuuSS9evXKlVdeucXz7rrrrvnUpz6VZ599dpPHXb58ec4666yUl5dnzZo1OeecczZ/cpuwxx57pGHDhlm+fPkGx6nreh4AAADwSbLDw4yqqqqMGjUqU6dOzezZs7folTLJe4+SvPPOO1s876pVq7JkyZLstddeG+2zcuXKHHXUUenevXtuvfXWzJo1K1OmTMm55567RTUn74UyhxxySGbNmlXjXGbNmrXJNUAAAADgk2qHP2ZSUVGRW265JbfffntatGiRl156KUnSsmXLNGvWLOPHj8/UqVNr/Nj/7ne/m6FDh6ZTp0556623csstt+S+++7L3XffXed5zz333JSXl6dz58558cUXM2bMmDRs2HCjr++prKzM0KFD07lz50yZMiWlpaXp0aNHZsyYkbKysrRv377WuzRWrVpV426PpUuXZv78+WnVqlU6deqUJBk9enRGjBiRPn365NBDD80VV1yR1atXV7/dBAAAAPh/dniY8f7imYMGDarRPnHixIwcOTIrV67MkiVLauxbsWJFTj311CxbtiwtW7ZMz549c/fdd9d45ejm5v373/+e4cOH55VXXknr1q1zxBFH5OGHH07r1q1rrbNBgwYZN25c+vfvn8aNG1e39+rVKzNnztzouMceeyxHHnlk9fbo0aOTvPfe4fff2XvSSSfl5ZdfzoUXXpiXXnopBx10UKZPn77BoqAAAADARyDMqKqq2uT+sWPHZuzYsTXarrvuuq2ed/LkyZud48M+GJZ8UO/evTc6ZtCgQZutJXlvbY9Ro0bVuyYAAAD4pNnha2YAAADA9jRo0KCcffbZH5l52Ho7/M4MAAAA+Ci57777cuSRR+a1117LrrvuWt1+6623plGjRjuuMKq5MwMAAIBCevfdd/+px2vVqlVatGjxTz3m5lRVVWXdunUbtG/pd/PP/k63lDADAACAQhg0aFBGjRqVs88+O3vssUeGDBmSJFmwYEGGDh2a5s2bp23btvnqV7+alStXbnSem266KX369EmLFi2y55575uSTT86KFSuSJM8991z1Sxx22223lJSUZOTIkdXHf/8xk//4j/9Iv379Npi7V69eufjii6u3f/nLX6Z79+5p2rRp9ttvv1x99dWbPMfKyspccskl2XvvvdOsWbP06tUrv/3tb6v333fffSkpKcldd92VQw45JE2aNMmDDz640e9mzpw5OfTQQ9OkSZPstddeOf/882uEHxsb91EnzAAAAKAwbrjhhjRu3DgPPfRQrr322rz++uspKytL796989hjj2X69OlZvnx5vvzlL290jrVr1+YHP/hBnnzyydx222157rnnqgOLjh075ne/+12SZPHixVm2bFmuvPLKDeY45ZRT8sgjj9R4++bTTz+dP/3pTzn55JOTJDfffHMuvPDC/OhHP8qiRYsybty4XHDBBbnhhhs2Wtsll1ySG2+8Mddee22efvrpnHPOOfnKV76SOXPm1Oh3/vnn59JLL82iRYvSs2fPWr+b//3f/81xxx2Xvn375sknn8w111yT6667Lj/84Q83+Z0WgTUzAAAASN5dk6z8yz//uHt8Kmm8U527d+vWLT/5yU+qt3/4wx+md+/eGTduXHXb9ddfn44dO+Yvf/lLPvWpT20wx+mnn179d9euXXPVVVelb9++WbVqVZo3b55WrVolSdq0aVNjzYwP2n///dOrV6/ccsstueCCC5K8F17069cv++67b5JkzJgxueyyy/KFL3whSbL33ntn4cKF+fnPf54RI0ZsMOc777yTcePGZebMmTnssMOq63vwwQfz85//PAMHDqzue/HFF2/wxs0Pfzff+9730rFjx4wfPz4lJSXZb7/98uKLL+Y73/lOLrzwwjRo0KDWcUUgzAAAAOC9IOO/B26+37Z21pyk3UF17n7IIYfU2H7yySdz7733pnnz5hv0XbJkSa1hxrx58zJ27Ng8+eSTee2111JZWZkkeeGFF9KjR48613LKKafk+uuvzwUXXJCqqqr86le/yujRo5Mkq1evzpIlS3LGGWfkzDPPrB6zbt26tGzZstb5nn322axZs2aDkOLdd99N7969a7T16dNng/Ef/m4WLVqUww47LCUlJdVthx9+eFatWpW///3v6dSpU63jikCYAQAAwHt3SJw1Z/P9tsdx62HnnXeusb1q1aqUl5fnxz/+8QZ999prrw3aVq9enSFDhmTIkCG5+eab07p167zwwgsZMmRIvRe/HD58eL7zne/k8ccfzz/+8Y/87W9/y0knnVRdV5L84he/2GBtjYYNG9Y63/tj7rzzzrRv377GviZNmtTY/vD3sLG2utjScTuSMAMAAID3HvWoxx0SHxUHH3xwfve736VLly4pLd38T9w///nPeeWVV3LppZemY8eOSZLHHnusRp/GjRsnSdavX7/JuTp06JCBAwfm5ptvzj/+8Y8cffTRadOmTZKkbdu2adeuXf7617/mlFNOqdO59OjRI02aNMkLL7xQ45GSLdW9e/f87ne/S1VVVfXdGQ899FBatGiRDh06bPX8O5IFQAEAACisioqKvPrqqxk+fHgeffTRLFmyJHfffXdOO+20WsOITp06pXHjxvnZz36Wv/71r/n973+fH/zgBzX6dO7cOSUlJbnjjjvy8ssvV98xUZtTTjklkydPzm9+85sNQouLLrool1xySa666qr85S9/yVNPPZWJEyfm8ssvr3WuFi1a5Nxzz80555yTG264IUuWLMnjjz+en/3sZ5tcNHRj/u///b/529/+lq9//ev585//nNtvvz1jxozJ6NGjq9fLKKpiVw8AAMAnWrt27fLQQw9l/fr1OeaYY3LggQfm7LPPzq677lrrD/bWrVtn0qRJ+c1vfpMePXrk0ksvzU9/+tMafdq3b5+LLroo559/ftq2bZtRo0Zt9PgnnnhiXnnllaxZsybDhg2rse9rX/tafvnLX2bixIk58MADM3DgwEyaNCl77733Ruf7wQ9+kAsuuCCXXHJJunfvnmOPPTZ33nnnJsdsTPv27TNt2rQ88sgj6dWrV/7t3/4tZ5xxRr7//e/Xe66PmpKqqqqqHV0EHx1vvvlmWrZsmTfeeCO77LLLji5nk9auXZtp06bluOOOS6NGjXZ0OVAvrl+KzPVLkbl+KbJtdf2uWbMmixYtSvfu3bPTTnV/iwhsjfevu6VLl+bFF19M8+bNq98qsyW/Q92ZAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAIBPrJEjR2bYsGGb7DNo0KCcffbZ2/S4Y8eOzUEHHbRN5/wkKd3RBQAAAMCOcuWVV6aqqmpHl0E9uTMDAACAQnr33Xe3eo6WLVtm11133fpiPgJq+z6qqqqybt26es+1peP+WYQZAAAAFMKgQYMyatSonH322dljjz0yZMiQJMmCBQsydOjQNG/ePG3bts1Xv/rVrFy5snrcb3/72xx44IFp1qxZdt999wwePDirV69OsuFjJqtXr86pp56a5s2bZ6+99spll122QR0lJSW57bbbarTtuuuumTRpUvX2d77znXzqU5/KTjvtlK5du+aCCy7I2rVr63W+mzuv2r6P++67LyUlJbnrrrtyyCGHpEmTJnnwwQfzzjvv5Bvf+EbatGmTpk2b5ogjjsijjz5aPdfGxn1UCTMAAAAojBtuuCGNGzfOQw89lGuvvTavv/56ysrK0rt37zz22GOZPn16li9fni9/+ctJkmXLlmX48OE5/fTTs2jRotx33335whe+sNFHS7797W9nzpw5uf3223PPPffkvvvuy+OPP17vOlu0aJFJkyZl4cKFufLKK/OLX/wi//Vf/1Xn8Zs7r419H+87//zzc+mll2bRokXp2bNnzjvvvPzud7/LDTfckMcffzz77rtvhgwZkldffbXGfB8e91FlzQwAAADyj3X/yNI3lv7Tj7t3y73TrLRZnft369YtP/nJT6q3f/jDH6Z3794ZN25cddv111+fjh075i9/+UtWrVqVdevW5Qtf+EI6d+6cJDnwwANrnXvVqlW57rrr8j//8z856qijkrwXFnTo0KHe5/X973+/+u8uXbrk3HPPzeTJk3PeeefVafz48eM3eV6f+tSnkmz4fSxbtixJcvHFF+foo49O8t7dJtdcc00mTZqUoUOHJkl+8YtfZMaMGbnuuuvy7W9/u3r8B8d9lAkzAAAAyNI3luakO076px93yvFT0mP3HnXuf8ghh9TYfvLJJ3PvvfemefPmG/RdsmRJjjnmmBx11FE58MADM2TIkBxzzDE58cQTs9tuu9Xa/913302/fv2q21q1apVPf/rT9Tij90yZMiVXXXVVlixZUh2o7LLLLnUev7nzej/M+PD38b4+ffrU6L927docfvjh1W2NGjXKoYcemkWLFm103EeZMAMAAIDs3XLvTDl+yg45bn3svPPONbZXrVqV8vLy/PjHP96g71577ZWGDRtmxowZ+cMf/pB77rknP/vZz/K9730vf/zjH7P33vU79vtKSko2eEzlg+thzJ07N6ecckouuuiiDBkyJC1btszkyZNrXX9jYzZ3Xu/78PexufbN2dJx/2zCDAAAANKstFm97pD4qDj44IPzu9/9Ll26dElpae0/cUtKSnL44Yfn8MMPz4UXXpjOnTtn6tSpGT16dI1+++yzTxo1apQ//vGP6dSpU5Lktddey1/+8pcMHDiwul/r1q2rH+dIkmeeeSZr1qyp3v7DH/6Qzp0753vf+1512/PPP7/Nz6uu9tlnn+p1Nd5/1Gbt2rV59NFHc/bZZ2/V3DuKBUABAAAorIqKirz66qsZPnx4Hn300SxZsiR33313TjvttKxfvz5//OMfM27cuDz22GN54YUXcuutt+bll19O9+7dN5irefPmOeOMM/Ltb387s2fPzoIFCzJy5Mg0aFDzp3NZWVnGjx+fJ554Io899lj+7d/+LY0aNare361bt7zwwguZPHlylixZkquuuipTp07dpudVHzvvvHP+/d//Pd/+9rczffr0LFy4MGeeeWbWrFmTM844o15zfVS4MwMAAIDCateuXR566KF85zvfyTHHHJN33nknnTt3zrHHHpsGDRpkl112yf33358rrrgib775Zjp37pzLLruseiHMD/vP//zP6kc8WrRokW9961t54403avS57LLLctppp6V///5p165drrzyysybN696/7/8y7/knHPOyahRo/LOO+/kc5/7XC644IKMHTt2m51XfV166aWprKzMV7/61bz11lvp06dP7r777lrXDimCkqqNvY+GT6Q333wzLVu2zBtvvFGvxWl2hLVr12batGk57rjjaqSgUASuX4rM9UuRuX4psm11/a5ZsyaLFi1K9+7ds9NOO23DCmHj3r/uli5dmhdffDHNmzfP6aefnmTLfod6zAQAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAA7ABdunTJFVdcsaPLKCRhBgAAANTBoEGDcvbZZ2+z+R599NGcddZZde5/3333paSkJK+//vo2q6GohBkAAACwjVRVVWXdunV16tu6devstNNO27miunn33Xc3aFu/fn0qKyvrPdeWjqsPYQYAAACFUFlZmZ/85CfZd99906RJk3Tq1Ck/+tGPqvc/9dRTKSsrS7NmzbL77rvnrLPOyqpVq6r3jxw5MsOGDctPf/rT7LXXXtl9991TUVGRtWvXVve5+uqr061btzRt2jRt27bNiSeeWD12zpw5ufLKK1NSUpKSkpI899xz1XdL3HXXXTnkkEPSpEmTPPjgg1myZEk+//nPp23btmnevHn69u2bmTNn1jifDz9mUlJSkl/+8pc54YQTstNOO6Vbt275/e9/nyR57rnncuSRRyZJdtttt5SUlGTkyJEb/a4efPDB9O/fP82aNUvHjh3zjW98I6tXr65x7B/84Ac59dRTs8suu+Sss87KpEmTsuuuu+b3v/99evTokSZNmuSFF17Ia6+9llNPPTW77bZbdtpppwwdOjTPPPNM9VwbG7c9CTMAAAAohO9+97u59NJLc8EFF2ThwoW55ZZb0rZt2yTJ6tWrM2TIkOy222559NFH85vf/CYzZ87MqFGjasxx7733ZsmSJbn33ntzww03ZNKkSZk0aVKS5LHHHss3vvGNXHzxxVm8eHGmT5+eAQMGJEmuvPLKHHbYYTnzzDOzbNmyLFu2LB07dqye9/zzz8+ll16aRYsWpWfPnlm1alWOO+64zJo1K0888USOPfbYlJeXb/ZH/kUXXZQvf/nL+dOf/pTjjjsup5xySl599dV07Ngxv/vd75IkixcvzrJly3LllVfWOseSJUty7LHH5otf/GL+9Kc/ZcqUKXnwwQc3+C5++tOfplevXnniiSdywQUXJEnWrFmTH//4x/nlL3+Zp59+Om3atMnIkSPz2GOP5fe//33mzp2bqqqqHHfccTVCoNrGbU+l23V2AAAACqHyH//IO3/96z/9uE26dk2DZs022++tt97KlVdemfHjx2fEiBFJkn322SdHHHFEkuSWW27J22+/nRtvvDE777xzkmT8+PEpLy/Pj3/84+rQY7fddsv48ePTsGHD7Lfffvnc5z6XWbNm5cwzz8wLL7yQnXfeOccff3xatGiRzp07p3fv3kmSli1bpnHjxtlpp52y5557blDfxRdfnKOPPrp6u1WrVunVq1f19g9+8INMnTo1v//97zcIFT5o5MiRGT58eJJk3Lhxueqqq/LII4/k2GOPTatWrZIkbdq0ya677rrROS655JKccsop1et7dOvWLVdddVUGDhyYa665Jk2bNk2SlJWV5Vvf+lb1uAceeCBr167N1VdfXV37M888k9///vd56KGH8tnPfjZJcvPNN6djx4657bbb8qUvfSlJNhi3vQkzAAAAyDt//Wue++KJ//Tjdvndb9Ns//0322/RokV55513ctRRR210f69evaqDjCQ5/PDDU1lZmcWLF1eHGfvvv38aNmxY3WevvfbKU089lSQ5+uij07lz53Tt2jXHHntsjj322OpHPjanT58+NbZXrVqVsWPH5s4778yyZcuybt26/OMf/9jsnRk9e/as/nvnnXfOLrvskhUrVmz2+B/05JNP5k9/+lNuvvnm6raqqqpUVlZm6dKl6d69e601J0njxo1r1LBo0aKUlpamX79+1W277757Pv3pT2fRokUbHbe9CTMAAABIk65d0+V3v90hx62LZnW4e6MuGjVqVGO7pKSkerHKFi1a5PHHH899992Xe+65JxdeeGHGjh2bRx99dJN3QiSpEaIkybnnnpsZM2bkpz/9afbdd980a9YsJ554Yq0Lbda1vrpatWpV/s//+T/5xje+scG+Tp06bbTm5L3vuaSkpF7H25pxW0qYAQAAQBo0a1anOyR2lG7duqVZs2aZNWtWvva1r22wv3v37pk0aVJWr15d/SP9oYceSoMGDfLpT3+6zscpLS3N4MGDM3jw4IwZMya77rprZs+enS984Qtp3Lhx1q9fX6d5HnrooYwcOTInnHBCkvcChueee67OddSmcePGSbLZGg4++OAsXLgw++6771YdL3nve123bl3++Mc/Vj9m8sorr2Tx4sXp0aPHVs+/pSwACgAAwEde06ZN853vfCfnnXdebrzxxixZsiQPP/xwrrvuuiTJKaeckqZNm2bEiBFZsGBB7r333nz961/PV7/61epHTDbnjjvuyFVXXZX58+fn+eefz4033pjKysrqMKRLly754x//mOeeey4rV67c5B0T3bp1y6233pr58+fnySefzMknn7zVryvt3LlzSkpKcscdd+Tll1+u8aaWD/rOd76TP/zhDxk1alTmz5+fZ555Jrfffvsm1+rY1Hl8/vOfz5lnnpkHH3wwTz75ZL7yla+kffv2+fznP79V57M1hBkAAAAUwgUXXJBvfetbufDCC9O9e/ecdNJJ1etJ7LTTTrn77rvz6quvpm/fvjnxxBNz1FFHZfz48XWef9ddd82tt96asrKydO/ePddee21+9atfZf///x0r5557bho2bJgePXqkdevWm1z/4vLLL89uu+2Wz372sykvL8+QIUNy8MEHb9X5t2/fPhdddFHOP//8tG3bdqPhRM+ePTNnzpz85S9/Sf/+/dO7d+9ceOGFadeu3RYdd+LEiTnkkENy/PHH57DDDktVVVWmTZu2wSMx/0wlVVVVVTvs6HzkvPnmm2nZsmXeeOON7LLLLju6nE1au3Ztpk2bluOOO26H/kMEW8L1S5G5fiky1y9Ftq2u3zVr1mTRokXp3r17nRa2hG3h/etu6dKlefHFF9O8efOcfvrpSbbsd6g7MwAAAIBCEWYAAAAAhSLMAAAAAApFmAEAAAAUijADAAAAKBRhBgAAwCdQZWXlji6BT5D3X6S6rV6oKswAAAD4BGncuHGSZNWqVTu4Ej5J3nnnnSTJ+vXrt8l8pdtkFgAAAAqhtLQ0e+yxR/73f/83SdK8efM0aOD/c7P9VFZW5m9/+1teeeWVrFu3Lkm2+poTZgAAAHzCdOrUKUmqAw3Y3iorK/PEE0+kXbt2WbNmTTp27LhV8wkzAAAAPmFKSkrSuXPn7Lbbbpk9e3b+9re/pXnz5mnYsOGOLo2PoaqqqqxZsyavvPJKkvfuBurZs+dWzSnMAAAA+ITaZZddMnjw4MycOTPLli2zKCjbTWVlZaqqqtKmTZv0798/++yzz1bNJ8wAAAD4BGvevHmGDRuWdevWVa9nANva2rVrc88996S8vLx6EdqtIcwAAAAgpaWlKS31E5Hto2HDhiktLU1JSck2mc+StQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizPiYOOGEE7LbbrvlxBNPrNG+dOnSHHnkkenRo0cOPPDArF69egdVCAAAANuGMONj4pvf/GZuvPHGDdpHjhyZiy++OAsXLsycOXPSpEmTHVAdAAAAbDvCjI+JQYMGpUWLFjXann766TRq1Cj9+/dPkrRq1SqlpaU7ojwAAADYZj4WYcYll1ySvn37pkWLFmnTpk2GDRuWxYsXb3LMNddck549e2aXXXbJLrvsksMOOyx33XXXNq/t/vvvT3l5edq1a5eSkpLcdtttG/SZMGFCunTpkqZNm6Zfv3555JFHtsmxn3nmmTRv3jzl5eU5+OCDM27cuG0yLwAAAOxIH4swY86cOamoqMjDDz+cGTNmZO3atTnmmGM2uT5Ehw4dcumll2bevHl57LHHUlZWls9//vN5+umna+3/0EMPZe3atRu0L1y4MMuXL9/ocVavXp1evXplwoQJte6fMmVKRo8enTFjxuTxxx9Pr169MmTIkKxYsaK6z0EHHZQDDjhgg8+LL7640eMmybp16/LAAw/k6quvzty5czNjxozMmDFjk2MAAADgo+5j8czB9OnTa2xPmjQpbdq0ybx58zJgwIBax5SXl9fY/tGPfpRrrrkmDz/8cPbff/8a+yorK1NRUZFu3bpl8uTJadiwYZJk8eLFKSsry+jRo3PeeefVepyhQ4dm6NChG6398ssvz5lnnpnTTjstSXLttdfmzjvvzPXXX5/zzz8/STJ//vyNn/wmtG/fPn369EnHjh2TJMcdd1zmz5+fo48+eovmAwAAgI+Cj8WdGR/2xhtvJHlvjYi6WL9+fSZPnpzVq1fnsMMO22B/gwYNMm3atDzxxBM59dRTU1lZmSVLlqSsrCzDhg3baJCxOe+++27mzZuXwYMH1zjW4MGDM3fu3C2a84P69u2bFStW5LXXXktlZWXuv//+dO/evda+EyZMSI8ePdK3b9+tPi4AAABsTx+LOzM+qLKyMmeffXYOP/zwHHDAAZvs+9RTT+Wwww7L22+/nebNm2fq1Knp0aNHrX3btWuX2bNnp3///jn55JMzd+7cDB48ONdcc80W17py5cqsX78+bdu2rdHetm3b/PnPf67XXIMHD86TTz6Z1atXp0OHDvnNb36Tww47LOPGjcuAAQNSVVWVY445Jscff3yt4ysqKlJRUZE333wzLVu23OJzAgAAgO3tYxdmVFRUZMGCBXnwwQc32/fTn/505s+fnzfeeCO//e1vM2LEiMyZM2ejgUanTp1y0003ZeDAgenatWuuu+66lJSUbOtT2CIzZ86stX1zj7kAAABA0XysHjMZNWpU7rjjjtx7773p0KHDZvs3btw4++67bw455JBccskl6dWrV6688sqN9l++fHnOOuuslJeXZ82aNTnnnHO2qt499tgjDRs23GAB0eXLl2fPPffcqrkBAADg4+pjEWZUVVVl1KhRmTp1ambPnp299957i+aprKzMO++8U+u+lStX5qijjkr37t1z6623ZtasWZkyZUrOPffcLa67cePGOeSQQzJr1qwaNcyaNavWtTsAAACAj8ljJhUVFbnlllty++23p0WLFnnppZeSJC1btkyzZs0yfvz4TJ06tUZo8N3vfjdDhw5Np06d8tZbb+WWW27Jfffdl7vvvnuD+SsrKzN06NB07tw5U6ZMSWlpaXr06JEZM2akrKws7du33+hdGqtWrcqzzz5bvb106dLMnz8/rVq1SqdOnTJ69OiMGDEiffr0yaGHHporrrgiq1evrn67CQAAAFDTxyLMeH8RzkGDBtVonzhxYkaOHJmVK1dmyZIlNfatWLEip556apYtW5aWLVumZ8+eufvuu2t9bWmDBg0ybty49O/fP40bN65u79WrV2bOnJnWrVtvtLbHHnssRx55ZPX26NGjkyQjRozIpEmTctJJJ+Xll1/OhRdemJdeeikHHXRQpk+fvsGioAAAAMB7PhZhRlVV1Sb3jx07NmPHjq3Rdt1119XrGLWFHEnSu3fvTY4bNGjQZusbNWpURo0aVa96AAAA4JPqY7FmBgAAAPDJIcwAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzPgZOOOGE7LbbbjnxxBM32Ld06dIceeSR6dGjRw488MCsXr16B1QIAAAA244w42Pgm9/8Zm688cZa940cOTIXX3xxFi5cmDlz5qRJkyb/5OoAAABg2xJmfAwMGjQoLVq02KD96aefTqNGjdK/f/8kSatWrVJaWvrPLg8AAAC2qR0eZlxyySXp27dvWrRokTZt2mTYsGFZvHjxVvXv0qVLSkpKNvhUVFRU9xk7duwG+/fbb79tfn73339/ysvL065du5SUlOS2227boM+ECRPSpUuXNG3aNP369csjjzyyTY79zDPPpHnz5ikvL8/BBx+ccePGbZN5AQAAYEfa4WHGnDlzUlFRkYcffjgzZszI2rVrc8wxx2x0bYe69H/00UezbNmy6s+MGTOSJF/60pdqzLX//vvX6Pfggw9utM6HHnooa9eu3aB94cKFWb58+UbHrV69Or169cqECRNq3T9lypSMHj06Y8aMyeOPP55evXplyJAhWbFiRXWfgw46KAcccMAGnxdffHGjx02SdevW5YEHHsjVV1+duXPnZsaMGdXfBQAAABTVDn/mYPr06TW2J02alDZt2mTevHkZMGDAFvVv3bp1jT6XXnpp9tlnnwwcOLBGe2lpafbcc8/N1lhZWZmKiop069YtkydPTsOGDZMkixcvTllZWUaPHp3zzjuv1rFDhw7N0KFDNzr35ZdfnjPPPDOnnXZakuTaa6/NnXfemeuvvz7nn39+kmT+/PmbrbE27du3T58+fdKxY8ckyXHHHZf58+fn6KOP3qL5AAAA4KNgh9+Z8WFvvPFGkvfWd9gW/d999938z//8T04//fSUlJTU2PfMM8+kXbt26dq1a0455ZS88MILtc7RoEGDTJs2LU888UROPfXUVFZWZsmSJSkrK8uwYcM2GmRszrvvvpt58+Zl8ODBNY41ePDgzJ07d4vm/KC+fftmxYoVee2111JZWZn7778/3bt3r7XvhAkT0qNHj/Tt23erjwsAAADb00cqzKisrMzZZ5+dww8/PAcccMA26X/bbbfl9ddfz8iRI2u09+vXL5MmTcr06dNzzTXXZOnSpenfv3/eeuutWudp165dZs+enQcffDAnn3xyysrKMnjw4FxzzTX1Ps/3rVy5MuvXr0/btm1rtLdt2zYvvfRSnecZPHhwvvSlL2XatGnp0KFDdRBSWlqacePGZcCAAenZs2e6deuW448/vtY5KioqsnDhwjz66KNbfD4AAADwz7DDHzP5oIqKiixYsGCTa1fUt/91112XoUOHpl27djXaP/joR8+ePdOvX7907tw5v/71r3PGGWfUOlenTp1y0003ZeDAgenatWuuu+66De722BFmzpy50X2be8wFAAAAiuYjc2fGqFGjcscdd+Tee+9Nhw4dtkn/559/PjNnzszXvva1zc6366675lOf+lSeffbZjfZZvnx5zjrrrJSXl2fNmjU555xzNjvvpuyxxx5p2LDhBguILl++vE5reQAAAMAn0Q4PM6qqqjJq1KhMnTo1s2fPzt57773N+k+cODFt2rTJ5z73uc3WsWrVqixZsiR77bVXrftXrlyZo446Kt27d8+tt96aWbNmZcqUKTn33HM3O/fGNG7cOIccckhmzZpV3VZZWZlZs2blsMMO2+J5AQAA4ONshz9mUlFRkVtuuSW33357WrRoUb1WRMuWLdOsWbOMHz8+U6dOrf7Bv7n+76usrMzEiRMzYsSIlJZueJrnnntuysvL07lz57z44osZM2ZMGjZsmOHDh2/Qt7KyMkOHDk3nzp0zZcqUlJaWpkePHpkxY0bKysrSvn37jd6lsWrVqhp3eyxdujTz589Pq1at0qlTp4wePTojRoxInz59cuihh+aKK67I6tWrq99uAgAAANS0w8OM9xfQHDRoUI32iRMnZuTIkVm5cmWWLFlS5/7vmzlzZl544YWcfvrptR7373//e4YPH55XXnklrVu3zhFHHJGHH354g9e6Ju+9YWTcuHHp379/GjduXN3eq1evzJw5s9Yx73vsscdy5JFHVm+PHj06STJixIhMmjQpJ510Ul5++eVceOGFeemll3LQQQdl+vTpGywKCgAA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QhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKZYvCjCVLluT73/9+hg8fnhUrViRJ7rrrrjz99NPbtDjq5oQTTshuu+2WE088cYN9S5cuzZFHHpkePXrkwAMPzOrVq3dAhQAAALDt1DvMmDNnTg488MD88Y9/zK233ppVq1YlSZ588smMGTNmmxfI5n3zm9/MjTfeWOu+kSNH5uKLL87ChQszZ86cNGnS5J9cHQAAAGxb9Q4zzj///Pzwhz/MjBkz0rhx4+r2srKyPPzww9u0OOpm0KBBadGixQbtTz/9dBo1apT+/fsnSVq1apXS0tJ/dnkAAACwTdU7zHjqqadywgknbNDepk2brFy5st4FXHLJJenbt29atGiRNm3aZNiwYVm8ePFW9a9Ln7Fjx6akpKTGZ7/99qt3/Ztz//33p7y8PO3atUtJSUluu+22DfpMmDAhXbp0SdOmTdOvX7888sgj2+TYzzzzTJo3b57y8vIcfPDBGTdu3DaZFwAAAHakeocZu+66a5YtW7ZB+xNPPJH27dvXu4A5c+akoqIiDz/8cGbMmJG1a9fmmGOO2ejaDnXpX9c5999//yxbtqz68+CDD260zoceeihr167doH3hwoVZvnz5RsetXr06vXr1yoQJE2rdP2XKlIwePTpjxozJ448/nl69emXIkCHVa5EkyUEHHZQDDjhgg8+LL7640eMmybp16/LAAw/k6quvzty5czNjxozMmDFjk2MAAADgo67ezxz867/+a77zne/kN7/5TUpKSlJZWZmHHnoo5557bk499dR6FzB9+vQa25MmTUqbNm0yb968DBgwYIv613XO0tLS7LnnnputsbKyMhUVFenWrVsmT56chg0bJkkWL16csrKyjB49Ouedd16tY4cOHZqhQ4dudO7LL788Z555Zk477bQkybXXXps777wz119/fc4///wkyfz58zdbY23at2+fPn36pGPHjkmS4447LvPnz8/RRx+9RfMBAADAR0G978wYN25c9ttvv3Ts2DGrVq1Kjx49MmDAgHz2s5/N97///a0u6I033kjy3voO26r/xvo888wzadeuXbp27ZpTTjklL7zwQq3jGzRokGnTpuWJJ57IqaeemsrKyixZsiRlZWUZNmzYRoOMzXn33Xczb968DB48uMaxBg8enLlz527RnB/Ut2/frFixIq+99loqKytz//33p3v37rX2nTBhQnr06JG+fftu9XEBAABge6r3nRmNGzfOL37xi1xwwQVZsGBBVq1ald69e6dbt25bXUxlZWXOPvvsHH744TnggAO2Sf+N9enXr18mTZqUT3/601m2bFkuuuii9O/fPwsWLKh1Mc127dpl9uzZ6d+/f04++eTMnTs3gwcPzjXXXLPF57ty5cqsX78+bdu2rdHetm3b/PnPf67zPIMHD86TTz6Z1atXp0OHDvnNb36Tww47LKWlpRk3blwGDBiQqqqqHHPMMTn++ONrnaOioiIVFRV5880307Jlyy0+JwAAANjetvjVFp06dUqnTp22ZS2pqKjIggULNrl2RX37b6zPBx/96NmzZ/r165fOnTvn17/+dc4444xa5+rUqVNuuummDBw4MF27ds11112XkpKSOtW6Pc2cOXOj+zb3mAsAAAAUTb3DjNNPP32T+6+//votKmTUqFG54447cv/996dDhw7bpH995tx1113zqU99Ks8+++xG+yxfvjxnnXVWysvL8+ijj+acc87Jz372s83WujF77LFHGjZsuMECosuXL6/TWh4AAADwSVTvNTNee+21Gp8VK1Zk9uzZufXWW/P666/Xu4CqqqqMGjUqU6dOzezZs7P33ntvdf/6zpkkq1atypIlS7LXXnvVun/lypU56qij0r1799x6662ZNWtWpkyZknPPPbduJ1qLxo0b55BDDsmsWbOq2yorKzNr1qwcdthhWzwvAAAAfJzV+86MqVOnbtBWWVmZf//3f88+++xT7wIqKipyyy235Pbbb0+LFi3y0ksvJUlatmyZZs2aZfz48Zk6dWr1D/7N9a9rn3PPPTfl5eXp3LlzXnzxxYwZMyYNGzbM8OHDaz2/oUOHpnPnzpkyZUpKS0vTo0ePzJgxI2VlZWnfvn3OOeecWs9v1apVNe72WLp0aebPn59WrVqlU6dOGT16dEaMGJE+ffrk0EMPzRVXXJHVq1dXv90EAAAAqGmL18z4oAYNGmT06NEZNGhQvd/s8f4CmoMGDarRPnHixIwcOTIrV67MkiVL6ty/rn3+/ve/Z/jw4XnllVfSunXrHHHEEXn44YfTunXrWs9v3Lhx6d+/fxo3blzd3qtXr8ycObPWMe977LHHcuSRR1Zvjx49OkkyYsSITJo0KSeddFJefvnlXHjhhXnppZdy0EEHZfr06RssCgoAAAC8Z5uEGUmyZMmSrFu3rt7jqqqqNrl/7NixGTt2bJ3717XP5MmTN9vng44++uha23v37r3JcYMGDdpsPaNGjcqoUaPqVQ8AAAB8UtU7zHj/zoL3VVVVZdmyZbnzzjszYsSIbVYYAAAAQG3qHWY88cQTNbYbNGiQ1q1b57LLLtvsm04AAAAAtla9w4x77713e9QBAAAAUCf1fjUrAAAAwI5UpzszevfunZKSkjpN+Pjjj29VQQAAAACbUqcwY9iwYdu5DAAAAIC6qVOYMWbMmO1dBwAAAECdWDMDAAAAKJR6v81k/fr1+a//+q/8+te/zgsvvJB33323xv5XX311mxUHAAAA8GH1vjPjoosuyuWXX56TTjopb7zxRkaPHp0vfOELadCgQcaOHbsdSgQAAAD4f+p9Z8bNN9+cX/ziF/nc5z6XsWPHZvjw4dlnn33Ss2fPPPzww/nGN76xPeqEDby6/G9Z+fSM3L/qLylp4IkpiqWqsjIrn3/e9UshuX4pMtcvReb6ZUsdVPbltGrbcUeXsU3VO8x46aWXcuCBByZJmjdvnjfeeCNJcvzxx+eCCy7YttXBJiyY87t89sZZO7oM2GLtdnQBsBVcvxSZ65cic/2yJeYnKRv+rR1dxjZV7zCjQ4cOWbZsWTp16pR99tkn99xzTw4++OA8+uijadKkyfaoEWp1wMAv5o7nn0+Xzp0l0xROVWVlnnP9UlCuX4rM9UuRuX7ZUgeVfXlHl7DN1TvMOOGEEzJr1qz069cvX//61/OVr3wl1113XV544YWcc84526NGqFWrth2zx/5HZ8Bxx6VRo0Y7uhyol7Vr12bVtGmuXwrJ9UuRuX4pMtcv/D/1DjMuvfTS6r9POumkdO7cOX/4wx/SrVu3lJeXb9PiAAAAAD6s3mHG22+/naZNm1Zvf+Yzn8lnPvOZbVoUAAAAwMbU+0GrNm3aZMSIEZkxY0YqKyu3R00AAAAAG1XvMOOGG27ImjVr8vnPfz7t27fP2Wefnccee2x71AYAAACwgXqHGSeccEJ+85vfZPny5Rk3blwWLlyYz3zmM/nUpz6Viy++eHvUCAAAAFBti9/n06JFi5x22mm555578qc//Sk777xzLrroom1ZGwAAAMAGtjjMePvtt/PrX/86w4YNy8EHH5xXX3013/72t7dlbQAAAAAbqPfbTO6+++7ccsstue2221JaWpoTTzwx99xzTwYMGLA96gMAAACood5hxgknnJDjjz8+N954Y4477rg0atRoe9QFAAAAUKt6hxnLly9PixYttkctAAAAAJtV7zUzBBkAAADAjrTFC4ACAAAA7AjCDAAAAKBQhBkAAABAodQrzFi7dm1KS0uzYMGC7VUPAAAAwCbVK8xo1KhROnXqlPXr12+vegAAAAA2qd6PmXzve9/Lf/zHf+TVV1/dHvUAAAAAbFJpfQeMHz8+zz77bNq1a5fOnTtn5513rrH/8ccf32bFAQAAAHxYvcOMYcOGbYcyAAAAAOqm3mHGmDFjtkcdAAAAAHVS7zDjffPmzcuiRYuSJPvvv3969+69zYoCAAAA2Jh6hxkrVqzIv/7rv+a+++7LrrvumiR5/fXXc+SRR2by5Mlp3br1tq4RAAAAoFq932by9a9/PW+99VaefvrpvPrqq3n11VezYMGCvPnmm/nGN76xPWoEAAAAqFbvOzOmT5+emTNnpnv37tVtPXr0yIQJE3LMMcds0+IAAAAAPqzed2ZUVlamUaNGG7Q3atQolZWV26QoAAAAgI2pd5hRVlaWb37zm3nxxRer2/73f/8355xzTo466qhtWhwAAADAh9U7zBg/fnzefPPNdOnSJfvss0/22Wef7L333nnzzTfzs5/9bHvUCAAAAFCt3mtmdOzYMY8//nhmzpyZP//5z0mS7t27Z/Dgwdu8OAAAAIAPq1eYsXbt2jRr1izz58/P0UcfnaOPPnp71QUAAABQq3o9ZtKoUaN06tQp69ev3171AAAAAGxSvdfM+N73vpf/+I//yKuvvro96gEAAADYpHqvmTF+/Pg8++yzadeuXTp37pydd965xv7HH398mxUHAAAA8GH1DjOGDRu2HcoAAAAAqJt6hRnr1q1LSUlJTj/99HTo0GF71QQAAACwUfVaM6O0tDT/+Z//mXXr1m2vegAAAAA2qd4LgJaVlWXOnDnboxYAAACAzar3mhlDhw7N+eefn6eeeiqHHHLIBguA/su//Ms2Kw4AAADgw+odZvzf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7fPoo49m2bJl1Z8ZM2YkSb70pS9V99l///1r9HnwwQc3WetDDz2UtWvXbtC+cOHCLF++fItrnTJlSkaPHp0xY8bk8ccfT69evTJkyJCsWLGius9BBx2UAw44YIPPiy++uNF5161blwceeCBXX3115s6dmxkzZlR/DwAAAFBUO/yZg+nTp9fYnjRpUtq0aZN58+ZlwIABtY4ZOnRohg4dusl5W7duXWP70ksvzT777JOBAwdWt5WWlmbPPfesU52VlZWpqKhIt27dMnny5DRs2DBJsnjx4pSVlWX06NE577zztqjWyy+/PGeeeWZOO+20JMm1116bO++8M9dff33OP//8JMn8+fPrVOcHtW/fPn369EnHjh2TJMcdd1zmz5+fo48+ut5zAQAAwEfFDr8z48PeeOONJO+t77CtvPvuu/mf//mfnH766SkpKaluf+aZZ9KuXbt07do1p5xySl544YWNztGgQYNMmzYtTzzxRE499dRUVlZmyZIlKSsry7Bhw2oNMupa27x58zJ48OAaxxo8eHDmzp27RXO+r2/fvlmxYkVee+21VFZW5v7770/37t1r7TthwoT06NEjffv23apjAgAAwPb2kQozKisrc/bZZ+fwww/PAQccsM3mve222/L6669n5MiR1W39+vXLpEmTMn369FxzzTVZunRp+vfvn7feemuj87Rr1y6zZ8/Ogw8+mJNPPjllZWUZPHhwrrnmmi2ubeXKlVm/fn3atm1bo71t27Z56aWX6jzP4MGD86UvfSnTpk1Lhw4dMnfu3JSWlmbcuHEZMGBAevbsmW7duuX444+vdXxFRUUWLlyYRx99dIvPBQAAAP4ZdvhjJh9UUVGRBQsWbHbtivq67rrrMnTo0LRr16667YOPfvTs2TP9+vVL586d8+tf/zpnnHHGRufq1KlTbrrppgwcODBdu3bNddddV+Nujx1l5syZtbbX5TEXAAAAKJKPzJ0Zo0aNyh133JF77703HTp02GbzPv/885k5c2a+9rWvbbLfrrvumk996lN59tlnN9lv+fLlOeuss1JeXp41a9bknHPO2ar69thjjzRs2HCDBUSXL19e5/U8AAAA4JNkh4cZVVVVGTVqVKZOnZrZs2dn77333qbzT5w4MW3atMnnPve5TfZbtWpVlixZkr322mujfVauXJmjjjoq3bt3z6233ppZs2Zl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6tUrF154YVatWlXv65o0aZLHH388r776asaPH5/q6upUVVVl5MiRGTt2bL0hoyG2b9+exYsXp6Kios6xKioqsmjRor3a5ycNHjw469evz5///OdUV1fn6aefTp8+fep97cyZM9O3b98MHjz4Cx8XAAAAvkyFihnV1dWZPHlyTjzxxPTr1+8L7au8vDyzZ8/O3LlzM2vWrKxcuTLDhg3L5s2b6319aWlpFixYkGeffTYXXHBBRo4cmYqKisyaNWuvZ9iwYUN27tyZzp0711neuXPnrF27tsH7qaioyLnnnpvHH3883bp1qw0hzZo1y4wZMzJ8+PAMGDAgvXv3zplnnlnvPiorK7Ns2bK89NJLe/1+AAAA4Kuw33/M5JMqKyuzdOnS3T7boqE++fGPAQMGpLy8PGVlZXnggQdyySWX1LtNjx49cu+99+akk05Kr1698qtf/SolJSVfeJYv6oknnvjMdQ39yA0AAAAURWHuzJg0aVIeffTRPPnkk+nWrds+33+7du1y5JFH5s033/zM16xbty6XXXZZxowZk23btuXqq6/+Qsfs0KFDmjZtussDRNetW9egZ3kAAADAN9F+HzNqamoyadKkPPTQQ1mwYEEOO+ywL+U4W7ZsSVVVVbp27Vrv+g0bNuSUU05Jnz598uCDD2b+/PmZM2dOpk6dutfHbNGiRY4//vjMnz+/dll1dXXmz5+foUOH7vV+AQAA4Otsv/+YSWVlZe6777488sgjadOmTe2zJNq2bZsDDjggt99+ex566KE6QWDLli117rBYuXJllixZkvbt26dHjx5JkqlTp2bMmDEpKyvL6tWrM23atDRt2jTjxo3bZYbq6uqMHj06ZWVlmTNnTpo1a5a+fftm3rx5GTlyZA499NB679JoyBxTpkzJhAkTMmjQoAwZMiS33XZbtm7dWvvXTQAAAIC69vuY8fEDNkeMGFFn+d13352JEydmw4YNqaqqqrPu5Zdfzsknn1z785QpU5IkEyZMyOzZs5Mk77zzTsaNG5f33nsvHTt2zHe/+908//zz6dix4y4zNGnSJDNmzMiwYcPSokWL2uUDBw7ME088Ue82DZ3jvPPOy7vvvpvrr78+a9euzTHHHJO5c+fu8lBQAAAA4CP7fcyoqanZ7frp06dn+vTpdZaNGDHic7e7//7792iOU089td7lxx577Gdu05A5ko+eBzJp0qQ9mgcAAAC+qfb7Z2YAAAAAfJKYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqY8TVx1lln5ZBDDsk555xTZ/nKlStz8sknp2/fvunfv3+2bt3aSBMCAADAviFmfE1cddVVueeee3ZZPnHixNx4441ZtmxZFi5cmJYtWzbCdAAAALDviBlfEyNGjEibNm3qLHvttdfSvHnzDBs2LEnSvn37NGvWrDHGAwAAgH2m0WPGzTffnMGDB6dNmzbp1KlTxo4dm+XLl+92m6effjpjxoxJaWlpSkpK8vDDD+/xfqdPn56SkpI6X0cdddS+fnsNmjVJZs6cmZ49e6ZVq1YpLy/Piy+++IWPvWLFirRu3TpjxozJcccdlxkzZnzhfQIAAEBja/SYsXDhwlRWVub555/PvHnzsmPHjpx22mm7fbbD1q1bM3DgwMycOfML7ffoo4/OmjVrar+effbZ3c763HPPZceOHbssX7ZsWdatW7fXs86ZMydTpkzJtGnT8sorr2TgwIEZNWpU1q9fX/uaY445Jv369dvla/Xq1Z+53w8//DDPPPNM7rjjjixatCjz5s3LvHnzdvseAQAAYH/X6J85mDt3bp2fZ8+enU6dOmXx4sUZPnx4vduMHj06o0eP/sL7bdasWbp06dKgOaurq1NZWZnevXvn/vvvT9OmTZMky5cvz8iRIzNlypRcc801ezXrrbfemksvvTQXX3xxkuTOO+/MY489lrvuuivXXXddkmTJkiUNmvOTDj300AwaNCjdu3dPkpxxxhlZsmRJTj311D3eFwAAAOwvGv3OjE/btGlTko+e7/Bl73fFihUpLS1Nr169cuGFF2bVqlWfuX2TJk3y+OOP59VXX8348eNTXV2dqqqqjBw5MmPHjq03ZDTE9u3bs3jx4lRUVNQ5VkVFRRYtWrRX+/zY4MGDs379+vz5z39OdXV1nn766fTp06fe186cOTN9+/bN4MGDv9AxAQAA4Mu2X8WM6urqTJ48OSeeeGL69ev3pe63vLw8s2fPzty5czNr1qysXLkyw4YNy+bNmz9zP6WlpVmwYEGeffbZXHDBBRk5cmQqKioya9asvZ5tw4YN2blzZzp37lxneefOnbN27doG76eioiLnnntuHn/88XTr1i2LFi1Ks2bNMmPGjAwfPjwDBgxI7969c+aZZ9a7fWVlZZYtW5aXXnppr98LAAAAfBUa/WMmn1RZWZmlS5d+7rMr9sV+P/nRjwEDBqS8vDxlZWV54IEHcskll3zmvnr06JF77703J510Unr16pVf/epXKSkp2afz7o0nnnii3uUN+ZgLAAAAFMl+c2fGpEmT8uijj+bJJ59Mt27dvvL9tmvXLkceeWTefPPN3e5v3bp1ueyyyzJmzJhs27YtV1999Rear0OHDmnatOkuDxBdt25dg5/nAQAAAN8kjR4zampqMmnSpDz00ENZsGBBDjvssEbZ75YtW1JVVZWuXbt+5ms2bNiQU045JX369MmDDz6Y+fPnZ86cOZk6depez9miRYscf/zxmT9/fu2y6urqzJ8/P0OHDt3r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45rOnTvXtGzZsuaUU06pWb58eeMODf/f7s7fbdu21Zx22mk1HTt2rGnevHlNWVlZzaWXXlqzdu3axh4b6j1vk9Tcfffdta/53//935of/ehHNYccckjNgQceWHPWWWfVrFmzpvGGhk/4vHN41apVNcOHD69p3759TcuWLWuOOOKImr/927+t2bRp0x4dp+T/HwwAAACgEDwzAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMA+Ebr2bNnbrvttsYe40sze/bstGvXrrHHAIB9SswAAL4SEydOzNixY2t/HjFiRCZPnvyVHf+zfql/6aWXctlll31lcwAAX5yYAQAU2vbt27/Q9h07dsyBBx64j6b55tixY0djjwDAN5iYAQB85SZOnJiFCxfm5z//eUpKSlJSUpK33norSbJ06dKMHj06rVu3TufOnXPRRRdlw4YNtduOGDEikyZNyuTJk9OhQ4eMGjUqSXLrrbemf//+Oeigg9K9e/f86Ec/ypYtW5IkTz31VC6++OJs2rSp9njTp09PsuvHTFatWpXvfe97ad26dQ4++OD84Ac/yLp162rXT58+Pcccc0zuvffe9OzZM23bts3555+fzZs3f+b7/fiukN/+9rfp06dPWrdundNPPz1r1qyp874+fafK2LFjM3HixNqfe/bsmZ/85CcZP358WrdunbKysvznf/5n3n333dqZBwwYkJdffnmXGR5++OH07t07rVq1yqhRo/L222/XWf/II4/kuOOOS6tWrdKrV6/ccMMN+fDDD2vXl5SUZNasWfnLv/zLHHTQQbnppps+8/0CwJdNzAAAvnI///nPM3To0Fx66aVZs2ZN1qxZk+7du2fjxo0ZOXJkjj322Lz88suZO3du1q1blx/84Ad1tv/1r3+dFi1a5Lnnnsudd96ZJGnSpEl+8Ytf5LXXXsuvf/3rLFiwINdcc02S5Dvf+U5uu+22HHzwwbXHmzp16i5zVVdX53vf+17+9Kc/ZeHChZk3b17++Mc/5rzzzqvzuqqqqjz88MN59NFH8+ijj2bhwoX5p3/6p92+523btuWf//mfc++99+bpp5/OqlWr6p3h8/zsZz/LiSeemFdffTV/8Rd/kYsuuijjx4/PX/3VX+WVV17J4YcfnvHjx6empqbOsW+66abcc889ee6557Jx48acf/75teufeeaZjB8/PldddVWWLVuWf/3Xf83s2bN3CRbTp0/PWWedlT/84Q/54Q9/uMezA8C+0qyxBwAAvnnatm2bFi1a5MADD0yXLl1ql99+++059thjM2PGjNpld911V7p3757/+Z//yZFHHpkk6d27d2655ZY6+/zkXQ0f38Fw+eWX54477kiLFi3Stm3blJSU1Dnep82fPz9/+MMfsnLlynTv3j1Jcs899+Too4/OSy+9lMGDByf5KHrMnj07bdq0SZJcdNFFmT9//m7vVtixY0fuvPPOHH744UmSSZMm5cYbb2zIP1cdZ5xxRv76r/86SXL99ddn1qxZGTx4cM4999wkybXXXpuhQ4dm3bp1te91x44duf3221NeXp7koxjUp0+fvPjiixkyZEhuuOGGXHfddZkwYUKSpFevXvnHf/zHXHPNNZk2bVrtsS+44IJcfPHFezwzAOxrYgYAsN/43e9+lyeffDKtW7feZV1VVVVtzDj++ON3Wf/EE0/k5ptvzhtvvJH3338/H374YT744INs27atwc/EeP3119O9e/fakJEkffv2Tbt27fL666/XxoyePXvWhowk6dq1a9avX7/bfR944IG1IaOh29RnwIABtd937tw5SdK/f/9dlq1fv742ZjRr1qx29iQ56qijat/TkCFD8rvf/S7PPfdcnRizc+fOXf79Bg0atMfzAsCXQcwAAPYbW7ZsyZgxY/LTn/50l3Vdu3at/f6ggw6qs+6tt97KmWeemSuuuCI33XRT2rdvn2effTaXXHJJtm/fvs8f8Nm8efM6P5eUlKS6unqPt/nkR0GaNGlS5+ek/odsfnI/JSUln7ns8+b5pC1btuSGG27I2Wefvcu6Vq1a1X7/6X93AGgsYgYA0ChatGiRnTt31ll23HHH5T/+4z/Ss2fPNGvW8P9MWbx4caqrq/Mv//IvadLko0eCPfDAA597vE/r06dP3n777bz99tu1d2csW7YsGzduTN++fRs8z97o2LFjnQeC7ty5M0uXLs3JJ5/8hff94Ycf5uWXX86QIUOSJMuXL8/GjRvTp0+fJB/9uy9fvjxHHHHEFz4WAHwVPAAUAGgUPXv2zAsvvJC33norGzZsSHV1dSorK/OnP/0p48aNy0svvZSqqqr89re/zcUXX7zbEHHEEUdkx44d+eUvf5k//vGPuffee2sfDPrJ423ZsiXz58/Phg0bsm3btl32U1FRkf79++fCCy/MK6+8khdffDHjx4/PSSed9KV/xGLkyJF57LHH8thjj+WNN97IFVdckY0bN+6TfTdv3jxXXnllXnjhhSxevDgTJ07MCSecUBs3rr/++txzzz254YYb8tprr+X111/P/fffn3/4h3/YJ8cHgH1NzAAAGsXUqVPTtGnT9O3bNx07dsyqVatSWlqa5557Ljt37sxpp52W/v37Z/LkyWnXrl3tHRf1GThwYG699db89Kc/Tb9+/fKb3/wmN998c53XfOc738nll1+e8847Lx07dtzlAaLJRx/ReOSRR3LIIYdk+PDhqaioSK9evTJnzpx9/v4/7Yc//GEmTJhQG0969eq1T+7KSD56Xse1116bCy64ICeeeGJat25d5z2NGjUqjz76aP77v/87gwcPzgknnJCf/exnKSsr2yfHB4B9raTm0x/OBAAAANiPuTMDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAolP8Hfbmgrqw8FxYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cfg = hydra_config.get_configuration(\n", " \"config\", \n", " \"conf\", \n", " overrides=[\n", " \"calibration.engine=openturns\",\n", " \"+calibration.specification.method=kriging\",\n", " \"calibration.specification.method_kwargs=null\"\n", " ]\n", ")\n", "metric = cfg[\"metric\"]\n", "model = cfg[\"model\"]\n", "observed_data = model.get_observed_data()\n", "\n", "def objective(\n", "\tparameters: dict, simulation_id: str, observed_data: np.ndarray | None, t: pd.Series\n", ") -> float | list[float]:\n", "\tsimulation_parameters = dict(h0=34.0, l0=5.9, t=t, gamma=0.84, delta=0.026)\n", "\n", "\tfor k in [\"alpha\", \"beta\"]:\n", "\t\tsimulation_parameters[k] = parameters[k]\n", "\n", "\tsimulated_data = model.simulate(simulation_parameters).lynx.values\n", "\tdiscrepancy = metric.calculate(observed_data, simulated_data)\n", "\treturn discrepancy\n", "\n", "calibrator = cfg[\"calibration\"](calibration_func=objective)\n", "calibrator.specification.calibration_func_kwargs=dict(t=observed_data.year)\n", "calibrator.specification.observed_data=observed_data.lynx.values\n", "calibrator.specify().execute().analyze() " ] }, { "cell_type": "code", "execution_count": 33, "id": "316824ea-2eb9-4f96-8a7c-ae18035c9504", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
parameterestimateground truth
0alpha0.5118050.520
1beta0.0241130.024
\n", "
" ], "text/plain": [ " parameter estimate ground truth\n", "0 alpha 0.511805 0.520\n", "1 beta 0.024113 0.024" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame([\n", " { \"parameter\": estimate.name, \"estimate\": estimate.estimate, \"ground truth\": model.GROUND_TRUTH[estimate.name] }\n", " for estimate in calibrator.get_parameter_estimates().estimates\n", "])" ] }, { "cell_type": "markdown", "id": "03be7d90-b1c2-40b7-826c-fda5c5611329", "metadata": {}, "source": [ "We can see that OpenTurns is also able to recover the ground truth parameters." ] } ], "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.10.19" } }, "nbformat": 4, "nbformat_minor": 5 }