{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f6ab57ed",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "# A.5 Functions"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "11d4d571",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "## Function definition\n",
    "\n",
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Functions are defined in Python with the `def` command. Functions may be stored in files, or they can be typed in code cells in the notebook or at the Python prompt in a console. The following function is implemented in the Python function `func_one` below.\n",
    "\n",
    "$$\n",
    "f(x)&=\\cos(x) {\\hskip 2em} x < 0  \\\\\n",
    "f(x)&= \\exp(-x) {\\hskip 2em} x \\ge 0\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "11feb050",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from myst_nb import glue\n",
    "%config InlineBackend.rc = {'figure.dpi': 300}\n",
    "%config InlineBackend.figure_format = 'svg'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b868967f",
   "metadata": {},
   "outputs": [],
   "source": [
    "def func_one(x):\n",
    "    if x < 0:\n",
    "        rv = np.cos(x)\n",
    "    else:\n",
    "        rv = np.exp(-x)\n",
    "    return rv"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7381cb30",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "The name of the function is `func_one` (it is proper Python coding style to use lowercase letters for functions and to separate words by underscores). The function returns the value of the variable `rv` that is computed inside the function. Typing `func_one(` followed by [Shift][Tab] in a code cell displays the input arguments of the function (and any documentation, if provided). Calling the function returns the desired values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7b9a94b7",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.36787944117144233\n",
      "0.5403023058681398\n"
     ]
    }
   ],
   "source": [
    "print(func_one(1))\n",
    "print(func_one(-1))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4320accc",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The function `func_one` cannot be called with an array because of the `if-else` construct, which only works for single numbers. There are two approaches to make `func_one` work on an input array. The first and easiest way is to create a new function that vectorizes the `func_one` function. The new function takes an array as its argument and simply calls the `func_one` function for every value of the array and then returns an array. A function may be vectorized with the `np.vectorize` function, which takes as input argument a function to be vectorized and returns a function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7041839a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.41614684,  0.54030231,  1.        ,  0.36787944,  0.13533528])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "func_two = np.vectorize(func_one)\n",
    "func_two(np.arange(-2, 3)) # func_two can be called with an array"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37697b50",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The use of `np.vectorize` is easy, but not very fast. Behind the scenes, the `func_two` function simply creates a loop and loops over all the values in the array. Alternatively, the `func_one` function can be rewritten to accept an array as input argument. The `np.atleast_1d` function can be used to make sure that the input argument `x` is at least a one-dimensional array (so a scalar is converted to an array). The `np.empty(x.shape)` function is used to create an empty array of the same shape as `x`. Conditional statements are used to fill the array, which is returned at the end of the function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5c3896b6",
   "metadata": {},
   "outputs": [],
   "source": [
    "def func_one_array(x): # fancy function that works on arrays\n",
    "    x = np.atleast_1d(x)\n",
    "    f = np.empty(x.shape) # return value is now called f\n",
    "    f[x < 0] = np.cos(x[x < 0])\n",
    "    f[x >= 0] = np.exp(-x[x >= 0])\n",
    "    return f"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3a91174",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The `func_one_array` function is used, and a graph is created below. Note that the limits of the axes are set and fancy tick marks are added using list comprehension and a LaTex-style command to plot the Greek letter $\\pi$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "be693d40",
   "metadata": {
    "tags": [
     "remove-output"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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A7eNGzcCAL755huUl5ejuLgYCoUCn332GR588EFJ6iTX4Hvru0wmEw4fPozMzMx2xzMzM7Fv3z6JqiJ34c+yf/nxZ7Ur33+/DkKiKGLFihW47rrrMHLkSOfxiooKKBQKTJ06FbGxsaipqYHZbMa0adO4eqmX43vru6qrq2GxWBATE9PueExMDCoqKiSqityFP8v+o7PPale+/z4RhJ5++mkIgnDFR05OTofnPfzwwzh+/DjWrVvX7viJEycwZMgQ5/+Zubm5iIqK6vALljxDT95/vre+TxCEdl+LotjhGHk//iz7j84+q135/itcVqmEHn74YSxevPiK5yQnJ7f7+pFHHsGmTZuwe/duJCQktPve8ePHMWrUKOfXubm5GD16tMvqJdfqyfvP99Z36XQ6yOXyDq0/VVVV/HD0QfxZ9g9dfVa78v33iSCk0+mg0+m6da4oinjkkUewceNG7Ny5EykpKR3OOX78OBYsWOD8Ojc3F+PHj3dVueRiPXn/+d76LpVKhbS0NGzbtg2333678/i2bdtw2223SVgZuQN/ln3b1T6rXfn++0TXWE889NBD+Oijj/Dxxx8jJCQEFRUVqKioQEtLCwDAarXi1KlT7ZLlhQsXkJSUJFXJ5CJ8b33fihUr8Pe//x3vvfce8vLy8Nhjj6G4uBjLli2TujRyIf4s+74rfVa7/P138Qw3j4cuptu9//77oiiK4tmzZ0UA4sWLF53PmT9/vhgWFtZuij15H763/uH1118Xk5KSRJVKJY4fP57vrQ/iz7Lvu9Jntavff8H+gkRERER+x++6xoiIiIgcGISIiIjIbzEIERERkd9iECIiIiK/xSBEREREfotBiIiIiPwWgxARERH5LQYhIiIi8lsMQkREROS3GISIiIjIbzEIERERkd9iECIiIiK/9f8BkQrHESrKiOwAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-2 * np.pi, 2 * np.pi, 201) # x values\n",
    "y = func_one_array(x) # call the function to compute the y values\n",
    "plt.plot(x, y)\n",
    "plt.xlim(-2 * np.pi, 2 * np.pi) # set the limits along the x-axis\n",
    "plt.xticks(np.arange(-2 * np.pi, 3 * np.pi, np.pi),\n",
    "            ['$-2\\\\pi$', '$-\\\\pi$', '0', '$\\\\pi$', '$2\\\\pi$']);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "120a962f",
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [
    {
     "data": {
      "application/papermill.record/image/png": "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",
      "application/papermill.record/text/plain": "<Figure size 400x250 with 1 Axes>"
     },
     "metadata": {
      "scrapbook": {
       "mime_prefix": "application/papermill.record/",
       "name": "func_one_array_plot"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 400x250 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(4, 2.5))\n",
    "plt.plot(x, y)\n",
    "plt.xlim(-2 * np.pi, 2 * np.pi)  # set the limits along the x-axis\n",
    "plt.xticks(np.arange(-2 * np.pi, 3 * np.pi, np.pi),\n",
    "           ['$-2\\\\pi$', '$-\\\\pi$', '0', '$\\\\pi$', '$2\\\\pi$'])\n",
    "glue('func-one-array-plot', fig, display=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf395b39",
   "metadata": {},
   "source": [
    "```{glue:figure} func-one-array-plot\n",
    ":name: fig_func_one_array_A.5\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "77bb2a6b",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Documentation of the function can be provided inside the function using triple quotes. This is, of course, proper programming style, but is not used in this book to save space."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "38f6dd9c",
   "metadata": {},
   "outputs": [],
   "source": [
    "def func_one(x):\n",
    "    '''Documentation of the function goes here\n",
    "    Returns:\n",
    "    cos(x) for x < 0\n",
    "    exp(-x) for x >=0'''\n",
    "    if x < 0:\n",
    "        rv = np.cos(x)\n",
    "    else:\n",
    "        rv = np.exp(-x)\n",
    "    return rv"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4c351e9",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "After running this cell, typing `func_one(` followed by [Shift][Tab] will show the documentation."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "134f6f5f",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "## Function arguments\n",
    "\n",
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A value that is passed to a function, like `x` in the previous examples, is called an argument. Functions do not always have an argument. Function arguments can be regular arguments and keyword arguments (or `kwargs`). Regular arguments always need to be passed and must be in the proper order. Keyword arguments are arguments that are optional for the user to pass, and the order in which they are passed does not matter. If a keyword argument is not passed, its value takes the default value that is specified in the function definition. When a function has both regular arguments and keyword arguments, the keyword arguments must always come after the regular arguments. These rules are illustrated in the following example where the function `test` has one regular and two keyword arguments."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8f75cf1c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3 7 100\n",
      "3 8 100\n",
      "3 7 -1\n",
      "3 8 -1\n",
      "3 7 100\n"
     ]
    }
   ],
   "source": [
    "def test(x, y=7, z=100):\n",
    "    print(x, y, z)\n",
    "test(3)\n",
    "test(3, y=8) # or test(3, 8), but better to specify keyword\n",
    "test(3, z=-1)\n",
    "test(3, z=-1, y=8) # keyword arguments may be in any order\n",
    "test(x=3) # regular arguments may also be called with their name"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d65aed46",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a function takes no arguments, its definition must still include the parentheses. Similarly, calling a function also requires adding the parentheses."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "f2eff343",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hello\n"
     ]
    }
   ],
   "source": [
    "def test():\n",
    "    print('Hello')\n",
    "test()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75f94049",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a variable is used inside a function, but the variable is not explicitly passed to the function with a regular argument or a keyword argument, Python will search for this variable in the memory outside the function. This is generally considered sloppy programming, but it is sometimes done in short scripts, also in this book. So the following function works, but is not optimal."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "2c81c2a5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the velocity at x=100 is 0.05 m/d\n"
     ]
    }
   ],
   "source": [
    "velo = 0.05 # defined outside the function\n",
    "\n",
    "def printflow(x):\n",
    "    print(f'the velocity at x={x} is {velo} m/d')\n",
    "    \n",
    "printflow(100)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95c401d4",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "It is better to pass all variables to the function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "565f1c26",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the velocity at x=100 is 0.05 m/d\n"
     ]
    }
   ],
   "source": [
    "def printflow(x, velo):\n",
    "    print(f'the velocity at x={x} is {velo} m/d')\n",
    "printflow(x=100, velo=0.05)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fec5e9ed",
   "metadata": {},
   "source": [
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It can be useful to define a function in such away that any keyword argument may be passed to it, even if it is not known a priori or explicitly defined. This is useful if the function calls another function. The code cell below demonstrates how this works by defining a function `kwargs_demo` that creates a figure with a fixed layout, but with user-defined options for the way the data are plotted. By including `**kwargs` in the list of arguments for `kwargs_demo`, and passing them on to the `plot` function, all of `matplotlib`’s `plot` keyword arguments become available for use with the `kwargs_demo` function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "9226f2ce",
   "metadata": {
    "tags": [
     "remove-output"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAGwCAYAAAC5ACFFAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdvFJREFUeJzt3Xl4U1X+P/B3kqbpQve9UMpWSulGKVtZVaAI4q6oaAc3RscV6owjLqM4P+WrX0dRGXFwVFTEFVFRhBZllR3a0gKyl5bSne5rmtzfH3yphnuTtpDk5ibv1/PwPOaTm5tPjkn6yTnnnqMSBEEAEREREUlSy50AERERkSNjsURERERkAYslIiIiIgtYLBERERFZwGKJiIiIyAIWS0REREQWsFgiIiIissBN7gScgdFoxNmzZ+Hj4wOVSiV3OkRERNQNgiCgoaEBkZGRUKvN9x+xWLKCs2fPIioqSu40iIiI6BIUFxejT58+Zu9nsWQFPj4+AM43tq+vr9XOq9frkZWVhfT0dGi1Wqud11mwfSxj+1jG9rGM7WMe28YyJbVPfX09oqKiOv+Om8NiyQouDL35+vpavVjy8vKCr6+vw7/h5MD2sYztYxnbxzK2j3lsG8uU2D5dTaHhBG8iIiIiC1gsEREREVnAYomIiIjIAhZLRERERBawWCIiIiKygMUSERERkQUsloiIiIgsYLFEREREZAGLJSIiIiILWCwRERERWaCoYmnLli249tprERkZCZVKhW+//bbLx2zevBmpqanw8PDAgAED8O6774qOWbVqFYYOHQqdToehQ4di9erVNsieiIiIlEhRxVJTUxOSk5OxZMmSbh1/6tQpzJgxAxMmTEBOTg6efvppPPbYY1i1alXnMTt27MBtt92GjIwM5OXlISMjA7NmzcKuXbts9TJ6rLSpFCWNJXKnQUREZFcFVQVo6WiROw1lbaQ7ffp0TJ8+vdvHv/vuu+jbty8WL14MAIiLi8PevXvx2muv4eabbwYALF68GFOnTsWCBQsAAAsWLMDmzZuxePFifPbZZ1Z/DZdi0Z5F2FO+B/cl3od7E+6FTqOTOyUip2MwGrCtZBuO1R6DIAhmjwvwCMAtg2+xY2ZErudc6zm8uf9NfHPsGzyQ9AAeSXlE1nwUVSz11I4dO5Cenm4SmzZtGt5//33o9XpotVrs2LED8+fPFx1zocCS0tbWhra2ts7b9fX1AM7vtKzX662Wv16vx2/637Dt7DYAwDu57+D749/jr6l/xcTeE632PEp1oa2t2ebOhO1j2R/bp7WjFU9sfQI7Snd0+bhBfoNwff/rbZ2e7Pj+MY9tY9nltk9xQzHuWncXGvQNAIAPCz7EjOgZiPKJslqOF3Q3R6culsrKyhAWFmYSCwsLQ0dHB6qqqhAREWH2mLKyMrPnXbRoERYuXCiKZ2VlwcvLyzrJA9ALevzY8qNJ7EzjGczbPA+xbrG4xvMaBGoCrfZ8SpWdnS13Cg6N7WNZVlYWvmz+Evn6/G4d39DQgLVr19o4K8fB9495bBvLLrV9BEFAkDEIDThfLLUb2/HkT08io1eGNdMDADQ3N3frOKculgBApVKZ3L7Qvf7HuNQxF8f+aMGCBcjMzOy8XV9fj6ioKKSnp8PX19caaQM435NUc6hG8r4jHUdwqukU5gydg3uG3gMPNw+rPa9S6PV6ZGdnY+rUqdBqtXKn43DYPpZdaJ/TvU8j/1D3CiUA8PHxwYwZM2yYmWPg+8c8to1l1mif2NpY3PHTHTAIBgDn/+Z5J3ljUp9J1ky1c2SoK05dLIWHh4t6iCoqKuDm5oagoCCLx1zc2/RHOp0OOp143pBWq7XqB6fF0AIVVBAgPX+i3diO9wrew9rCtXhy5JO4MupKi0Wes7J2uzsbto95ee15+OrQVz17kAou1Z58/5jHtrHsctonLiQOs+Nm45NDnwAAPN08UauvtXp7d/d8iroarqfS0tJE3YBZWVkYMWJEZwOZO2bs2LF2y9OcJ1KfwIO9HkRCUILF40oaS/D4xsfx5v43LU5MJaLf5VXmYXUzlwkhclQPJT+EYM9gTI2eiu+u/07WCysU1bPU2NiI48ePd94+deoUcnNzERgYiL59+2LBggUoKSnBxx9/DAB48MEHsWTJEmRmZmLu3LnYsWMH3n//fZOr3B5//HFMnDgRr7zyCq6//np899132LBhA7Zt22b31yelt1tvLE9fjh9P/4jF+xajpk16WA4A3i94HwnBCZgSPcWOGRIpT0ljCZ7Y+gQ60CG6z03lhjevehMJwdI/UjQqja3TIyIAvdx7YdV1qxDoIf/cXEX1LO3duxcpKSlISUkBAGRmZiIlJQX/+Mc/AAClpaUoKirqPL5///5Yu3YtNm3ahGHDhuGf//wn3nrrrc5lAwBg7Nix+Pzzz/Hhhx8iKSkJy5cvxxdffIHRo0fb98VZoFapcVPMTVhz4xrcFnsb1Crz/9te2/sa2g3tdsyOSFka2xvxyM+P4FzrOcn7nxnzDCb2mYhAj0DJf346P4vnb9Y3wygYbZE6kVNobG/s9mfEEQolQGE9S1dccYXFYably5eLYpMmTcL+/fstnveWW27BLbc4/ropfjo/PDvmWdwcczNe2vUS8irzRMeUNJZgxeEVuDfhXhkyJHJsHcYO/G3L33C89rjk/X8a+qfL6uovayrDIz8/gol9JuKx4Y9d8nmInNkLO15AcUMxnhz5JFLDUuVOp1sU1bNE58UFxeHj6R9j3vB5kvcvO7AMVS1V9k2KSAH+tfdf2FYiPcQ+qc8kZKZmSt7XHfmV+bjjxztwpOYI3st/D9+f+P6Sz0XkrPaX78f6wvU4VH0Id6+7G09sekIRO1SwWFIotUqNexLuQXxQvOi+Jn0TluR0b0sYIlex4fQGrDi8QvK+wQGD8crEV6BRX9p8pHWF63DP+ntMfqQ8v/157Cvfd0nnI3JGRsGIV/a8YhLLOp2F61Zfh1+KfpEpq+5hsaRgapUafx/1d8n7Vh9fjSPnjtg5IyLHNanPJNww6AZRPMgjCEuuWgJvrfclnbesqQxPb30abYY2k3iHsQPzNs5DcUPxJZ2XyNn8cPIHHKo+JIprNVokhyTLkFH3sVhSuJTQFFzd72pR3CgY8eqeV7mUANH/0Wq0eHHsi5ifOh8qnF+PzA1ueH3i64joFXHJ5w33DsdzY56TvK+2rRaP/vyoqJAicjXN+ma8ue9NyfseSHoAQZ5Bds6oZ1gsOYH5qfPhrnYXxXeX7cbG4o0yZETkmFQqFe5NuBdvXPEGPN08cbPXzUgMTrzs894Yc6PZiypO1J3A10e/vuznIFKyDwo+QEVLhSjep1cf3Bl3pwwZ9QyLJScQ2SsSc+LnSN737fFv7ZsMkQJMjp6MNdetQaL75RdKFzw+/HFcFXWV5H0rD6/kcgLkskobS7H84HLJ+/464q9w14h/7DsaFktO4v7E+xHsGdx5O0AXgOfGPIfXr3hdxqyIHJe1129Rq9RYNGERBvkPEt1X1FCErWe2WvX5iJTijf1vSA5Fjwwfiav6Sv/AcDQslpyEl9YLjw9/HG5qN8wZOgc/3PQDZsXOgptaUUtpESmal9YLDyY/KHnfJ4c/sXM2RPLLrcjFT6d+EsVVUOHJkU8qZj9T/iV1ItcNvA6pYamI8omSOxUilzW572SEe4ejrMl0g+5dpbtwtOYoBgcMlikzIvu6cKGRlJtibsKQwCF2zujSsWfJiahVahZKRDJzU7th9pDZkvetPLzSztkQyeenwp+QX5UvintrvfFIyiMyZHTpWCwRkdPJrcjFv/b+C2cbz8ry/DfF3ARPN09R/IeTP6Cm1fxm2ETOol1ox9u5b0veNzdxrskcWyVgsURETuejgx9h+cHlmP7NdGRuysT+8v12XXPMT+eH6wZeJ4q3Gdq4jAC5hK2tWyWXCujdqzfuGnqXDBldHhZLRORUShpL8Evx+a0TjIIR2aezMWfdHPzl57/YNY/ZcdJDcZ//9jn0Br1dcyGyp7KmMmxrk96D8YkRT0Cn0dk5o8vHYsnFGAUjqluq5U6DyGY+O/yZ5JpGQwOH2jWPAX4DMK73OFG8oqUCWaez7JoLkT399+B/oYf4B0FqWCqm9J0iQ0aXj8WSizhRewJv7X8L01dNx2MbH5M7HSKbaNI34Ztj34jibio33D7kdrvnkxGXIRlfcWgFtyIip9Ta0Yr1hetFcaUtFXAxLh3g5NYXrsf7+e/j8LnDnbGzTWdRVF+Evr59ZcyMyPq+O/4dGvQNonh6v3SEeoXaPZ+xkWPR368/TtWdMokXVBcgrzIPw0KH2T0nIlvadGYTmjqaRPFrB16LoUH27d21JvYsObm6tjqTQumCH0/+KEM2RLZjFIxY+Zv0pfl3xckzoVSlUpl97k8Pf2rnbIhsz9zflttj7d+za00slpxcenQ63FTiDsQfT/3IYQByKttKtuF0/WlRPDkkGYkh1tsDrqdmDpgJX3dfk5hWrYWX1oufQXI6Mf4xCPU07cWN9o1GQnCCTBlZB4slJ+fv4Y/xfcaL4qfrT6OgqkCGjIhsY8WhFZJxuS9T9tJ64ebBNwM4vx/dQ8kPIeuWLCwcu1Cx8zeIzHls+GNYe8Na3Ot9L24YeAN6aXvhmv7XKP69zjlLLmDmgJnYVLxJFP/x1I+y/uImspbjNcexo3SHKB7uHe4QV9/MHjIbA/0GYnr/6YrYYZ3ocqhVagzQDsAjox/Bs2nPOsVSGexZcgGT+kyCt9ZbFP/p1E/QG5X/JiZacVi6V+n22NsdYjPpcO9wXD/oehZK5HJ0Gh16ufeSO43LxmLJBXi4eWBq9FRR/FzrOew8u1OGjIisp7a1Fj+c/EEU99B44JbBt8iQERE5GxZLLuKaAddIxn88xaviSNm+PvY12gxtovi1A6+Fn85PhoyIyNmwWHIRI8NGiq5QAIBfin5Bs75ZhoyILp/eqMdnv30med+dcXfaORsiclYsllyERq3BjAEzRPGWjpbOfbSIlGbD6Q2oaBZv1jkuchwG+g+UISMickYsllyIuaE4qfkeRErw5ZEvJeNK7FViDy8pkcFoQHlTudxp2ByLJRcSGxCLQf6DRPEdZ3egqqVKhoyILt251nPYX7FfFO/n209yA1tHIwgCfjv3G5bmLcWsNbNw0/c3cZFKUpxdZbsw9eupuH/9/Vh9bDUa2sXbDTkD+a+pJbtRqVS4ZsA1eHP/myZxo2DE+sL1ivw1Tq5ry5ktMApGUfyWwbdArXLs34FrTqzBkpwlONt01iR+rPYYBgcMlikrop778eSPECBgV9ku7Crbhf+38/9hUp9JGGEcIXdqVuXY3yhkdTP6i+ctAcAPJzgUR8oitdAqAFzV9yq75nEpdBqdqFACgI1FG2XIhujStHS0YMPpDSaxdmM7cipy4KHykCkr22Cx5GIie0UiNSxVFC+oLkBhXaH9EyK6RP46f/hofUxig/wHIconSqaMum9c73HQqrWi+MZiFkukHJuKN6G5QzzXLj06HRqVxv4J2RCLJRfENZfIGbww9gVsvn0z3kt/D3fG3YlI70hcGXWl3Gl1i7fWG6MiRoniB6sPusRkWXIO5i4OMjeCoWSKK5beeecd9O/fHx4eHkhNTcXWrVvNHnv33XdDpVKJ/sXHx3ces3z5csljWltb7fFyZJEenS75q/aHEz9wgikpilatxZiIMXhq1FNYd/M6PJD8gNwpddtVUdLDhZvPbLZzJkQ9d671HLaXbBfF+/n2Q1xAnAwZ2ZaiiqUvvvgC8+bNwzPPPIOcnBxMmDAB06dPR1FRkeTxb775JkpLSzv/FRcXIzAwELfeeqvJcb6+vibHlZaWwsPDucZb/8hP54cJvSeI4mcaz+BA1QEZMiK6fCqVCjqNTu40um1Sn0mSca57RkqwvnA9OoQOUXzmgJlQqVQyZGRbiiqWXn/9ddx33324//77ERcXh8WLFyMqKgpLly6VPN7Pzw/h4eGd//bu3Yuamhrcc889JsepVCqT48LDw+3xcmQ1c+BMk9tDAofgidQn0KdXH5kyInItYd5hiA+KF8V3l+5Gk75JhoyIuu/Hk9LTNqQWP3YGilk6oL29Hfv27cNTTz1lEk9PT8f27eKuQCnvv/8+pkyZgujoaJN4Y2MjoqOjYTAYMGzYMPzzn/9ESkqK2fO0tbWhre33vajq6+sBAHq9Hnq9vrsvqUsXzmXNc16QFpaGGP8YjI8cj+n9ppusv2SL57MFW7aPM2D7WOYI7TOp9yQcrD5oEtMb9dhStAVT+k6RKav/y8MB2sdRuXrbFDcUI68yTxRPDk5GuEe4otqnuzkqpliqqqqCwWBAWFiYSTwsLAxlZWVdPr60tBQ//fQTVq5caRIfMmQIli9fjsTERNTX1+PNN9/EuHHjkJeXh5iYGMlzLVq0CAsXLhTFs7Ky4OXl1YNX1T3Z2dlWPycAzMEc4Cxw9OxRHMVRmzyHPdiqfZwF28cyOdtHbZDu3P9016doL2i3czbS+P4xz1Xb5pdW6aHivk19sXbt2s7bSmif5uburZyvmGLpgovHQgVB6Nb46PLly+Hv748bbrjBJD5mzBiMGTOm8/a4ceMwfPhwvP3223jrrbckz7VgwQJkZmZ23q6vr0dUVBTS09Ph6+vbg1djmV6vR3Z2NqZOnQqtVjwh29WxfSxj+1jmCO0jCAJWf78aJU0lJvFTqlOYevVUyQsx7MUR2sdRuXLbCIKA9354D7joGig3lRvmTZ+HAI8ARbXPhZGhriimWAoODoZGoxH1IlVUVIh6my4mCAI++OADZGRkwN3d3eKxarUaI0eOxLFjx8weo9PpoNOJJ5JqtVqbvDFsdV5nwfaxzJnap7s/jnpC7va5su+VWHF4hUmsvr0eBecKJJcXsDe528eRuWLbFFQV4HTDaVF8XO9xCPUJNYkpoX26m59iJni7u7sjNTVV1K2XnZ2NsWPHWnzs5s2bcfz4cdx3331dPo8gCMjNzUVERMRl5UtE1vfwzw8jc1Mm1pxYg9rWWrnTsQpza0NxgUpyROYmds8cMFMy7iwU07MEAJmZmcjIyMCIESOQlpaGZcuWoaioCA8++CCA88NjJSUl+Pjjj00e9/7772P06NFISEgQnXPhwoUYM2YMYmJiUF9fj7feegu5ubn497//bZfXRETdU9Nag1/P/gqjYET26WxoVBqkhKZgdtxsTI2eKnd6l2x42HD4uvuivt10OGBj8UY8OfJJp7wMm5TJKBjx06mfRHFvrTcmRUkvheEsFFUs3XbbbaiursaLL76I0tJSJCQkYO3atZ1Xt5WWlorWXKqrq8OqVavw5ptvSp0StbW1+POf/4yysjL4+fkhJSUFW7ZswahR8nd/E9HvLt441yAYsLd8r2JW7TbHTe2GiX0milZDLmks4ca65FCOnDuC6tZqUXxy38nwdPOUISP7UVSxBAAPPfQQHnroIcn7li9fLor5+flZnO3+xhtv4I033rBWek6jsb0R7cZ2BHoEyp0KEQDzw1JKL5YA4IqoKyS3jthYtJHFEjmM7Well+lRcs9udylmzhLZlsFowIHKA3g3713M+WkOJnw+AcsLlsudFhEAoLWjVfKLepD/IET5Ov7GuV0Z33u85JVvm4o32T0XInN2nN0hirmp3TAq3PlHYhTXs0TWJwgCZq6eiTONZ0zi289uRyYyzTyKyH52l+1GS0eLKO4MvUrA7xvr/lryq0m8oLoAFc0VCPUKNfNIIvto1jdjf8V+UXxYyDB4aa2/vqCjYc8SQaVSYUjgEFH8SM0RVLVUyZARkalfiqQXwXOWYgkAruwj/VrYu0SOYF/5PuiN4tWux0ZavhrdWbBYIgBAWmSaZFyq25XInoyCEZvPbBbFQzxDEB8s3ltNqa6IukIU69OrDzQqjf2TIbqIh5sHJvSeIJrI7SrFEofhCID5N/yOsztw7cBr7ZwN0e/yq/IlezgnRU2CWuU8v/fCvMOQGJwI4HzhdGXUlRjkP4hLB5BDGBk+EiPDR6Ld0I6cihxsP7sd+VX5kqMSzojFEgEA+vj0QV+fvihqMF16YfvZ7TZZNZmou8wNQznTENwFH179IXQa8e4ARI7CXeOO0RGjMTpitNyp2JXz/CyjyyY1FFfdWo2jNcrdZJeUb2OReMkATzdPp/yyZqFE5JhYLFEnS0NxRHIoqi/CiboTovj43uNZWBCR3bBYok6jwkdJTiY1txAZka2ZW4hSajI0EZGtsFiiTr3ceyE5JFkU31e+D60drTJkRK5OqljSqDSY2HuiDNkQkatisUQmpOYttRvbsb9cvBgZkS3VtNYgpyJHFE8JTYG/h7/9EyIil8ViiUyMixwnGedQHNnbxRvnXuCMV8F1lyAIcqdA5JK4dACZGBo0FL7uvqhvrzeJby9lsUT25UpLBlhSWFeITcWbsLF4Iyb0mYD7E++XOyVyEc36Ztz0/U1IDUvF2MixGBMxBkGeQXKnJQsWS2RCo9ZgTMQYZJ3OMokfqzmGyuZKhHiFyJQZuZJ2Qzt+PfurKO4sG+d2x79z/431hetxqu5UZ0xv1LNYIrvZU7YHJY0lKGkswfcnvgcAxAXG4W8j/4aR4SNlzs6+OAxHIuaWEOBQHNlLQVWB5Ma5rnQVXH5lvkmhBAAHqw+isb1RpozI1Uh95x8+dxi9tL1kyEZeLJZIxNw+cSyWyF6O1ByRjJubU+eMpH60GAWj5M7vRLYg9Z0f6BGI2MBYGbKRF4slEonsFYl+vv1E8Z2lOyUn3BJZ2x1D7sCmWZvw2qTXcFvsbRjoNxA6jQ6JIYlyp2Y35oY59pbttXMm5IrONp5FYX2hKD4mYoxT7cnYXZyzRJLGRo4VfVDOtZ7DkXNHEBcUJ09S5FKCPIMwrd80TOs3DQDQ0N7gUqt2Dw4YDB93HzS0N5jE95TtkSkjciXmdm4wN03D2bleeUjdwnlL5Gh83H3kTsGuNGoNUsNSRfFD5w5x3hLZnLnvenPTNJwdiyWSNDJ8JNzUph2PQR6ueckokVxGhomH4jhviWzNYDRgZ+lOUXyQ/yCEeoXKkJH8OAxHkry0XhgdPhoGwYCxkWMxNnIsYgJiXHKsmkguluYtTezDLV/INg5VHxKttQe47hAcwGKJLFg6ZSlUKpXcaRC5LM5bIjmYG4Jz5WKJ3QRkFgslInlp1BqMCBshinPeEtmSVLHkrnbH8LDhMmTjGFgsERE5MKmhOM5bIltpbG/EgcoDovjwsOHwdPOUISPHwGKJiBzG6mOrsat0F1o7WuVOxWFwvSWypz1le9AhdIjirjwEB3DOEhE5iHZDO17a9RLaDG3QqrVIDE7EyPCRuKrvVRgaNFTu9GQzOGCw5ObWnLdEtsD5StLYs0REDiG/Kh9thjYA5zeM3V+xH/858B9sObNF5szkpVapud4S2c2OUvFilEEeQYgJiJEhG8fBYomIHIK5nhJX291cCuctkT2caTiD0/WnRfG0yDSXXzbGtV899YggCCisK8TKwyvx6M+P4nD1YblTIiciNQdHp9EhMdh19oMzh/OWyB6kepUADsEBnLNE3VDVUoUlOUuw4+wOnG062xlPCkniPnFkFe2GduRW5oriw0KGwV3jbv+EHAznLZE9mNsPzlW3OPkj9ixRl7zcvPD9ie9NCiXA/K8Qop7643ylPxoRLl5jyBVx3hLZWoexQ3KLk9iAWAR7BsuQkWNRXLH0zjvvoH///vDw8EBqaiq2bt1q9thNmzZBpVKJ/v32228mx61atQpDhw6FTqfD0KFDsXr1alu/DEXx0npheKh4MbKcihy0dLTIkBE5G85X6hrnLZEtHak5IlopHuAQ3AWKKpa++OILzJs3D8888wxycnIwYcIETJ8+HUVFRRYfd+TIEZSWlnb+i4n5fVb/jh07cNtttyEjIwN5eXnIyMjArFmzsGvXLlu/HEUZEzlGFOswdqCgqkCGbMjZcL5S1y4USxqVBknBSbg34V4snbJUcoVvop4aGjgU629ej0UTFmHW4FkY5D8IADAmQvzd74oUNWfp9ddfx3333Yf7778fALB48WKsX78eS5cuxaJFi8w+LjQ0FP7+/pL3LV68GFOnTsWCBQsAAAsWLMDmzZuxePFifPbZZ1Z/DUpl7gs5tyKXv/7pspidrxTK+Up/NDhgMJZOWYqU0BR4a73lToecjEqlQmSvSET2isTMATMBAHVtdfBy85I5M8egmGKpvb0d+/btw1NPPWUST09Px/bt0otoXZCSkoLW1lYMHToUzz77LK688srO+3bs2IH58+ebHD9t2jQsXrzY7Pna2trQ1vb7/Ir6+vOTLvV6PfR6fXdfUpcunMua57xUMb4xcFe7o93YbhLfV7YPd8fdLUtOjtQ+jkgp7ZNTkSM5Xyk1JNWmuSulff5odOhoAPbJWYntYy+u0jZeai/AeH7ds55QUvt0N0fFFEtVVVUwGAwICwsziYeFhaGsrEzyMREREVi2bBlSU1PR1taGTz75BJMnT8amTZswceJEAEBZWVmPzgkAixYtwsKFC0XxrKwseHlZvwrPzs62+jkvRYQqAqdhugbHvtJ9+OHHH2Rdg8NR2sdROXr7bGzdKBlvP9mOtUVrbf78jt4+cmP7mMe2sUwJ7dPc3Nyt4xRTLF2gUqlMbguCIIpdEBsbi9jY2M7baWlpKC4uxmuvvdZZLPX0nMD5obrMzMzO2/X19YiKikJ6ejp8fX179Hos0ev1yM7OxtSpU6HVaq123kt1IvcEPjz0oUmsFa0YPHYwBgcMtns+jtY+jkYp7fPdz98BF20F56HxwP3X3G/TYTiltI9c2D7msW0sU1L7XBgZ6opiiqXg4GBoNBpRj09FRYWoZ8iSMWPGYMWKFZ23w8PDe3xOnU4HnU4nimu1Wpu8MWx13p4aETFCVCwBQP65fMSHxsuQ0XmO0j6OypHbp93QjgNV4h3Ok0OT4e1hn3k5jtw+joDtYx7bxjIltE9381PM1XDu7u5ITU0VdetlZ2dj7NjuX9qYk5ODiIiIzttpaWmic2ZlZfXonK4iOSRZMs5Ll+lSmVtfaWQYLxogIsehmJ4lAMjMzERGRgZGjBiBtLQ0LFu2DEVFRXjwwQcBnB8eKykpwccffwzg/JVu/fr1Q3x8PNrb27FixQqsWrUKq1at6jzn448/jokTJ+KVV17B9ddfj++++w4bNmzAtm3bZHmNjsxP54dB/oNwvPa4STynIkemjEjpuL4SESmBooql2267DdXV1XjxxRdRWlqKhIQErF27FtHR0QCA0tJSkzWX2tvb8de//hUlJSXw9PREfHw8fvzxR8yYMaPzmLFjx+Lzzz/Hs88+i+eeew4DBw7EF198gdGjR9v99SnB8NDhomKprKkMpY2liOgVYeZRRNKk1lfy0HggIThBhmyUq66tDlUtVRjoP1DuVEhhTtefRm1bLYYGDoVW49hDZnJSVLEEAA899BAeeughyfuWL19ucvvJJ5/Ek08+2eU5b7nlFtxyyy3WSM/ppYSl4MujX4ri+yv245pe18iQESmVufWVkkOTub5SF+ra6rCvfB/2lO3B3vK9OHLuCIYGDcXnMz+XOzVSmK+OfIWPDn3UuQhsSmgKhocNR1pEGjRqjdzpOQzFFUskL6ltT4DzQ3HXDGCxRN3H+UqX7h+//gO/FP9iEjt87jAa2hvg4+4jU1akRBemUbQZ2rC3fC/2lu+F/1F/bLlti8yZORbFTPAmxxDhHYEwL/GVgpy3RD3F+UqXztw+cfwcUk+0dLTgUPUhUTwlNMXi8jmuiMUS9YhKpUJKaIoofqzmGOrbu7deBREAxATEYHLfyfDT+XXGOF+pe8wVlOYKUCIpBVUF6BA6RHFzIwiujMNw1GMpoSlYV7jOJCZAQF5FHib0mSBTVqQ0k/tOxuS+k2EUjDhWcwx7y/eitq2W85W6ISYgBr7uvqIfKCyWqCf2l0sv+5ISJv5B7OpYLFGPDQ8zP2+JxRL1lFqlRmxgLGIDY7s+mACcb7MRYSM4b4kui9SwrU6jw9DAoTJk49g4DEc9FuMfI7nrORenJLIfzluiy2EwGiSvRk0ITuASAhJYLFGPadQaDAsZdv6/VRrEB8Xjrri7MGfoHHkTI3IhnLdEl+N47XE06ZtEcc5XksZhOLok9yfej7sT7kZScBK8tF5yp0PkcjhviS6HuZEAqQt4iD1LdIlGhI/AmIgxLJSIZHJh3tLFDp87jMb2RhkyIiXJKRcP16qgQnKo9B6gro7FEhGRQpmbt5RflS9DNqQUgiBgX8U+UfxCbyWJsVgiIlKoYaHDJON5lXn2TYQUpbSpFBXNFaI4h+DM45wlIrIbQRAwZ90cRPlEITkkGcNCh2Gg30DuQXWJYgNiodPoRNvGsFgiS8zNV+LkbvNYLBGR3ZxpPIOcihzkVOTg+xPfAwC8td6YN3webh9yu8zZKY9Wo0V8ULzoj9+BygMwCkaoVRw8IDGp+UoAe5Ys4SeJiOxGqsejSd8Ef52//ZNxEskh4gm59e31KKwvtH8ypAhSPUvh3uGI6BUhQzbKwGKJrE5qJ3kiAMirkB4ekvqDT91jru3MtTW5trq2OhyvPS6Ks1fJMg7D0WU713ru/NBK+fnhlUPnDiHr5iyEeIXInRo5GKmepVDPUIR7h8uQjXMwd6l3XmUeboy50c7ZkKMzN5+N85UsY7FEl2V94Xr8dfNfRfGcihyk90uXISNyVM36ZhytOSqKJ4cmQ6VSyZCRcwj2DEbvXr1R0lhiEuckb5JidvNc9ixZxGE4uixDAodIxrk/FV3sYPVBGASDKM4huMsn1YYnak+gob1BhmzIkUl9N/tofTDIf5AM2SgHiyW6LH19+iLQI1AU56a6dDFzPR0sli6fVBv66nxR3FAsQzbkqARBgJ/OT7QRenJoMpfv6AKH4eiyqFQqDA8djg1FG0ziv537DU36JtGHklyX1IRjrVqLoUFDZcjGuQwLHYZB/oM6165KDklGP99+HN4kEyqVCm9d9RYMRgOO1R7D/vL9yKnIkdw2h0yxWKLLlhKaIiqWjIIRByoPIC0yTaasyJEIgiDZsxQXFAd3jbsMGTmXoUFDsfr61XKnQQqhUWswJHAIhgQOwey42XKnowgchqPLNjxM+ioKzluiC4obilHTViOKcwiOiJSAxRJdttjAWHi6eYriLJboAs5XIiIlY7FEl02r1iIpOEkUz6vMQ4exQ4aMyNHkVuRKxlksEZESsFgiq0gJE6/R0dLRgiM1R2TIhhyNVM9SuHc4F6MkIkVgsURWYW5BM3MbNpLraNI34VjtMVGcvUpEpBQslsgqkkOSJXc453pLVFBVAKNgFMVZLBGRUrBYIqvw1nojNiBWFM+pyIEgCDJkRI6Ck7vl0WHswG/nfsMXv32BI+c4HO7KKpsr8dyvz2H1sdUorCvkd/Il4DpLZDUpoSk4fO6wSayqpQpnGs4gyjdKpqxIblLFkrvaHXGBcTJk49ya9c34b/5/kVeZh/yqfLR0tAAAHkh6ALGB4h8z5Br2VezDt8e/xbfHvwUABHoEIiU0BY+mPIqB/gPlTU4h2LNEViM1yRsA8qq4oaerMrcYZXxwPLQarQwZOTd3jTtWHF6B3WW7OwslgJvquroDlQdMbp9rPYefi36GVs3PYHexWCKrGRYyTDJ+8QeVXEdhfSHq2upEcQ7B2Yab2g2JwYmieH5VPgxG8SbG5BryK/NFsUCPQET5sMe/uxRXLL3zzjvo378/PDw8kJqaiq1bt5o99ptvvsHUqVMREhICX19fpKWlYf369SbHLF++HCqVSvSvtbXV1i/F6YR5hSHUM1QUl/qgkmsI9QrF61e8jjlD5yA5JLnzlyyLJduRatsmfRNO1J2QIRuSm96gx6HqQ6J4YnAi9w7sAUXNWfriiy8wb948vPPOOxg3bhz+85//YPr06Th06BD69u0rOn7Lli2YOnUqXn75Zfj7++PDDz/Etddei127diEl5fchI19fXxw5YjoB0sPDw+avx9moVCokhiTi56KfTeK/1fyGNkMbdBqdTJmRXLy13pgaPRVTo6cCANoN7Th87jAG+A2QOTPnZa4QzavMw+CAwXbOhuR2tOYo2o3tonhSiHghYTJPUT1Lr7/+Ou677z7cf//9iIuLw+LFixEVFYWlS5dKHr948WI8+eSTGDlyJGJiYvDyyy8jJiYGa9asMTlOpVIhPDzc5B9dGqkhgA5jBw5XH5Y4mlyNu8YdySHJ8HH3kTsVp2Xuj2BeBectuSJz89WkvqvJPMX0LLW3t2Pfvn146qmnTOLp6enYvn17t85hNBrR0NCAwMBAk3hjYyOio6NhMBgwbNgw/POf/zTpebpYW1sb2traOm/X19cDAPR6PfR6fXdfUpcunMua57S1+IB4yXhOeY7Z+y6VEtvHntg+ljlr+/TS9EJfn74oaigyiedV5vXotTpr+1iDktpGqkhWQYVYv1ib5a+k9ulujooplqqqqmAwGBAWFmYSDwsLQ1lZWbfO8a9//QtNTU2YNWtWZ2zIkCFYvnw5EhMTUV9fjzfffBPjxo1DXl4eYmJiJM+zaNEiLFy4UBTPysqCl5dXD15V92RnZ1v9nLbSJrRBDTWC1EHoo+mDKLco9NH0gd8JP6w9udYmz6mk9pED28cyZ2yfwNZAFMG0WCqsL8TXP3wNL3XPvqOcsX2sRQlts6t+lygWog7B1g3m5/taixLap7m5uVvHKaZYuuDiCWmCIHRrktpnn32GF154Ad999x1CQ3+fhDxmzBiMGTOm8/a4ceMwfPhwvP3223jrrbckz7VgwQJkZmZ23q6vr0dUVBTS09Ph6+vb05dkll6vR3Z2NqZOnQqtVjmXeKbr0+Gt9bb58yi1feyF7WOZM7dP87Fm5O7JFcXDU8Ixvvf4bp3DmdvncimlbWrbavHsqmdF8bR+aZgxZobNnlcp7QP8PjLUFcUUS8HBwdBoNKJepIqKClFv08W++OIL3Hffffjqq68wZcoUi8eq1WqMHDkSx46J97K6QKfTQacTT1bWarU2eWPY6ry24q/1t+vzKa197I3tY5kzts/w8OGS8fxz+biy35U9Opczto+1OHrbHC6XniuaHJZsl7wdvX0AdDs/xUzwdnd3R2pqqqhbLzs7G2PHjjX7uM8++wx33303Vq5ciWuuuabL5xEEAbm5uYiIiLjsnImI5DDIf5Bk7y7XPHMt+VXSy7YkBfNKuJ5STM8SAGRmZiIjIwMjRoxAWloali1bhqKiIjz44IMAzg+PlZSU4OOPPwZwvlD605/+hDfffBNjxozp7JXy9PSEn58fAGDhwoUYM2YMYmJiUF9fj7feegu5ubn497//Lc+LJHICF1aP9nTzlDkT16RRa5AQnIBdpabzVS4sTqlRa2TKjOxJqjj2dPPEIP9BMmSjbIoqlm677TZUV1fjxRdfRGlpKRISErB27VpER0cDAEpLS1FU9Pukxv/85z/o6OjAww8/jIcffrgzPmfOHCxfvhwAUFtbiz//+c8oKyuDn58fUlJSsGXLFowaNcqur43Imaw7tQ4v7ngRsYGxSA5JPv8vNBmR3pFcCM9OkkOSRcVSc0czjtce5z5xLsAoGCV7lhKCE1gsXwJFFUsA8NBDD+Ghhx6SvO9CAXTBpk2bujzfG2+8gTfeeMMKmRHRBXmVeegQOnCw+iAOVh/Eyt9WAgA2ztqIYM9gmbNzDZYWp2Sx5PwK6wvR0N4ginN9pUujmDlLRKQcUgvh9e7Vm4WSHVkqlsj5mdtmiit3XxoWS2QXgiCgsK4Qp+tPy50K2VhDewNO1Ir3IeN+cPblp/NDP99+ojiLJddgbjI/J3dfGsUNw5EyCIKA7We340DlAeRV5SG/Mh/17fW4KeYmLBwrXtCTnEd+ZT4ECKI4iyX7GxY6DIX1hSax0/WnUdNagwCPAHmSIrs4UCUuliK8IxDiFSJDNsrHYolsQqVS4f/t/H8403jGJM5Ll52fuZ6L5FAWS/aWHJKMb49/K4rnVebhiqgr7J4P2UezvhnHasRrBXK+0qXjMBzZjNTY+InaE2hsb5QhG7IXqWLJ082TO97LgPOWXNOh6kMwCAZRnPOVLh2LJbIZqQ+mAAEHqw/KkA3Zg1EwSvYexgfFQ6t27JV8ndFA/4Hope3VeVun0WF46HD07tVbxqzI1vx0frgt9jbEBcZBo/p9mQAWS5eOw3BkM+YmEh6oPIDREaPtnA3Zw8nak2jQiy9X5nwleahVatyXeB883TyRHJKM2IBYaDUsWp1dTEAMnh1zfk+4lo4WHKo+hPzKfMQFxsmcmXKxWCKbiQ2MhVathd6oN4lLTTwk52B2vhKLJdncn3i/3CmQjDzdPJEalorUsFS5U1E0DsORzbhr3BEXJP4lk1+ZD0EQXy1Fymd2Lyp2/xORgrFYIpuSGoqrbq3G2aazMmRDtibVa9inVx8EeQbJkA0RkXWwWCKbMtejYG51WVKuZn2z5GKUiSG8XJmIlI3FEtmUuXU9eOmy8zlYfRBGwSiKc20XIlI6FktkU7179UagR6Aobm5uCymXuf+nLJaISOlYLJFNqVQqyXlLh6sPQ2/QSzyClEpqaNVN7SY5yZ+ISEm4dADZXGJIIjad2WQSaze240jNESQEJ8iTFFmd1OTu2IBY6DQ6GbIhKYIgoLihGPlV+civyoe7xh2ZqZlyp0VW8u3xb/Ht8W+RFJKEpOAkJIUkIdQrVO60nAKLJbI5c5O88yrzWCw5ifKmclQ0V4ji/P/rOF7b8xq+PfEt6trqOmNBHkGYP3w+VCqVjJmRtewp24N95fuwr3xfZyzcOxxrblgDDzcPGTNTPg7Dkc0lBCVABfGXMectOQ+ur+T4DILBpFACzi/jUdpUKlNGZG1Sn0MPjQcLJStgsUQ218u9Fwb6DxTFpfYQI2U6VH1IMs7J3Y7D3P8LrqjvHOra6nCq7pQozh8s1sFhOLKLxOBEHK89bhIrbihGTWsNAjwCZMqKrOXhYQ9jRv8ZyK/Kx4GqA8ivzEdFcwWifaPlTo3+j7liKb8yH1f3u9rO2ZC1HayS3qCcP1isg8US2UVSSBJWH18tiudX5WNin4kyZETWpFFrMChgEAYFDMKNMTcCAPQGPdQqdl47ij4+fRCgC0BNW41JvKCqQKaMyJryqqTXrmPPknXwm4zswuwQAIfinBZ3t3csKpVKcsL9oepDos2uSXmklu7QaXSICYiRIRvnw2KJ7GKQ/yB4unmaxDQqDWrbauVJiMgFSW0902poxfGa4xJHk1IIgiA5uTs+KB5aNX+0WAOH4cguNGoNroy6EnqjHskhyUgMTkRcUJyogCIi2zE7b6kqn4uHKlhxQ7HkD0/OV7IeFktkN69MfEXuFIhcmqXh8Fmxs+ycDVmLuSsaOV/JejgMR0TkIvx0fpJXKHKSt7KZm/vJYsl6WCwREbkQqd6lk3Un0djeKEM2ZA1Sk7tDPUMR5hUmQzbOicUSEV2yozVHcazmGAxGg9ypUDdJFUsCBBRUs3dJidoMbfit5jdRPDEkkdvYWBHnLBHRJXs3711kn86Gl5sXEoITkBiciGGhw3BF1BVyp0ZmWFqcckzEGDtnQ5frcPVhdBg7RHEOwVkXiyUiumQX5ko0dzRjd9lu7C7bjaFBQ1ksObDYwFho1VrR2krc9kSZzM1X4pVw1sVhOCK6JBXNFShvLhfF+SXt2Nw17ogLFC8TkF+ZD0EQZMiILofU+kpqlRrxQfEyZOO8WCyRrMqbyrHh9AasObFG7lSoh6QmlQLs/lcCqcUpq1urUdZUJkM2dDmkiqVB/oPgpfWSIRvnpbhi6Z133kH//v3h4eGB1NRUbN261eLxmzdvRmpqKjw8PDBgwAC8++67omNWrVqFoUOHQqfTYejQoVi9WryHGVnPmhNrMH/jfEz+ajKmfD0F8zfNx+L9i+VOi3pI6ksaYM+SEkhtewJwKE5pqluqUdJYIorzB4v1KapY+uKLLzBv3jw888wzyMnJwYQJEzB9+nQUFRVJHn/q1CnMmDEDEyZMQE5ODp5++mk89thjWLVqVecxO3bswG233YaMjAzk5eUhIyMDs2bNwq5du+z1slxOXmUeNhRtQEVzRWesorkC5U3iIR1yXFLFko/WR3IdH3IsScHSf0zN9RaSYzL3g8Xc/1+6dD0ulu6++25s2bLFFrl06fXXX8d9992H+++/H3FxcVi8eDGioqKwdOlSyePfffdd9O3bF4sXL0ZcXBzuv/9+3HvvvXjttdc6j1m8eDGmTp2KBQsWYMiQIViwYAEmT56MxYsX2+lVuR5LWy6QMhiMBsmFDBOCE6BWKeo3mEuK8omCv85fFOdnUFk4udt+enw1XENDA9LT0xEVFYV77rkHc+bMQe/evW2Rm4n29nbs27cPTz31lEk8PT0d27dvl3zMjh07kJ6ebhKbNm0a3n//fej1emi1WuzYsQPz588XHWOpWGpra0NbW1vn7fr6egCAXq+HXm+93bsvnMua53QEQwOGSsZzy3MxKXJSt8/jrO1jLbZsn+O1x9Hc0SyKxwfGK+b/h6u/f+ID4/Fr6a9Qq9QY5DcICcEJGB4yXNQurto+ljhK21zd92oE6gJRUFWAguoCnG44DW83b/Tx6iNrbo7SPt3R3Rx7XCytWrUK1dXVWLFiBZYvX47nn38eU6ZMwX333Yfrr78eWq1tdjiuqqqCwWBAWJjpiqRhYWEoK5OelFhWViZ5fEdHB6qqqhAREWH2GHPnBIBFixZh4cKFonhWVha8vKw/qS47O9vq55STUTDCQ+WBVqHVJL756GbElMb0+HzO1j7WZov22du2VzLeWtiKtSVrrf58tuSq75/4jngM6TUEvTW94Q53oApAFbD2sOn/P1dtn+5whLbxgQ/SkIY0TRpafFtQbazG+nXr5U4LgGO0T1eam8U/+qRc0jpLQUFBePzxx/H4448jJycHH3zwATIyMtCrVy/cddddeOihhxAT0/M/et1x8YqkgiBYXKVU6viL4z0954IFC5CZmdl5u76+HlFRUUhPT4evr2/XL6Kb9Ho9srOzMXXqVJsVoXJZ+8ta7CzbaRIrV5Vj2tXToFFrunUOZ24fa7Bl++zfvR84Lo7fPe1uBHoEWvW5bIXvH8vYPuaxbSxTUvtcGBnqymUtSllaWoqsrCxkZWVBo9FgxowZOHjwIIYOHYpXX31VNLx1OYKDg6HRaEQ9PhUVFaKeoQvCw8Mlj3dzc0NQUJDFY8ydEwB0Oh10Op0ortVqbfLGsNV55ZQcmiwqllo6WnC66TRiA2N7dC5nbB9rskX7HKw+KIr17tUbYT7K24uK7x/L2D7msW0sU0L7dDe/Hs/E1Ov1WLVqFWbOnIno6Gh89dVXmD9/PkpLS/HRRx8hKysLn3zyCV588cUeJ22Ju7s7UlNTRd162dnZGDt2rORj0tLSRMdnZWVhxIgRnQ1k7hhz5yTrMHdpKyeYOr5mfTOO1R4TxTmplIicVY97liIiImA0GnHHHXdg9+7dGDZsmOiYadOmwd/f3wrpmcrMzERGRgZGjBiBtLQ0LFu2DEVFRXjwwQcBnB8eKykpwccffwwAePDBB7FkyRJkZmZi7ty52LFjB95//3189tlnned8/PHHMXHiRLzyyiu4/vrr8d1332HDhg3Ytm2b1fOn35lb5yW/Kh+3DL7FztlQTxyqPgSjYBTFWSwRkbPqcbH0xhtv4NZbb4WHh4fZYwICAnDq1KnLSkzKbbfdhurqarz44osoLS1FQkIC1q5di+jo8+u6lJaWmqy51L9/f6xduxbz58/Hv//9b0RGRuKtt97CzTff3HnM2LFj8fnnn+PZZ5/Fc889h4EDB+KLL77A6NGjrZ4//S7QIxB9evXBmcYzJnFzl8KS4zC7tgsXwiMiJ9XjYikjI8MWeXTbQw89hIceekjyvuXLl4tikyZNwv79+y2e85ZbbsEtt7A3w94SQxJFxdKJ2hNo0jfBW+stU1bUFaliyU3lhiGBQ2TIhojI9rh6HMlGapVZAQIOVoknD5PjkCqWYgJi4OFmvreZlIUb6jq2Jn0T/x/Z2WVdDUd0OaQ28wTO7081KmKUnbOh7qhsrpTcbJVDcMpW2VyJA1UHkF+Zj/yqfFQ0V2DVNau6fiDJ4h+//gO7y3YjMTgRiSGJSApOQkJwAvx0fnKn5rRYLJFshgQOgZvaDR3GDpM496dyXOY2WuXkbuV6a/9beC//PVG8vJl7NTqq/Kp81LbVYmvJVmwtOb+ZfFxgHL689kuZM3NeHIYj2eg0OgwJEM9zya/KZxezgzJXyLJYUq4B/gMk4wXV4r3/SH5VLVUobSoVxfkZtC0WSyQrqaG4ypZK/qp1UI36RmjVpou4+Wh90M+vnzwJ0WUzt0N9fjV7eB2R2c1zzUxrIOvgMBzJKjE4EZ/hM1H8QOUBhHuHy5ARWfLsmGfx5MgnceTckfNzXKry4a52h1rF311KFeUTBX+dP2rbak3iBVUFiEXPVtMn2zO7dIeZopesg8USycrSSt7p/dLtnA11h7vGHYkhifwl6yRUKhUSghOwrcR0Id7D5w7D0MsgU1ZkjtRQOHt3bY8/B0lWfX36Sl7BwcUpiexHar5Lq6EVFcYKGbIhcwxGg+RcsvjgePbu2hhbl2R14VftH/Xz7YeB/gNlyojI9ZibHFzcUWznTMiSU3Wn0KRvEsU5udv2OAxHsrt2wLVIDknmWiFEMjH3x/aM4YxknOTBrYbkw2KJZHfNgGvkToHIpfl7+CPaNxqn60+bxNmz5FjyKvMk4+xZsj0OwxERkeTVVJXGSjS0N8iQDUmR6lnq3as3gjyDZMjGtbBYIiIis0M5XJzSMTTrm3G89rgozl4l+2CxRERd+uroV/jx5I8obijm6upOytIyHiS/g9UHYRSMojiLJfvgnCUiskgQBCzJWYJzrecAAIEegUgKSUJ6dDquHXitzNmRtcQExMBD44FWQ6tJ3Nx+gGRfnNwtL/YsEZFFZxrPdBZKAHCu9Rw2FW/CoepD8iVFVqdVaxEfHC+KF1QXSPZokH1JLUbppnLDkEDx/ppkfSyWiMgicwuEJock2zkTsjWpXor69nrRVXJkf1I9fIMDB8PDzUOGbFwPh+HI4dS11aGgqgAHqg7gVN0pvDLhFahUKrnTclnmiiV2/zuf5GDpAvhA5QH09+tv52zogvKmclQ0i1dT53wl+2GxRA5jzYk1WHZgGQrrC03i84bPQ2SvSHmSIsliKdgzGBHeETJkQ7Zkbr+/A5UHcP2g6+2cDV1gbr4Se3fth8Nw5DDUKrWoUAI4wVROrR2t+O3cb6J4UnASe/ucUKhXqGQRzM+gvMy1P3uW7IfFEjkMqUXxAOmJjWQfh88dRofQIYonh/IXrbOSGl49WnMUzfpmGbIhACioEq915evui2jfaBmycU0chiOH0cenDwJ0AahpqzGJc50X+Zidr2SmsCXlSwpOwvrC9ejTqw+C2oJwdfLVSAlPgU6jkzs1l7XkqiU4WH0Q+VX5yK/Mx4GqA4jxj2Hvrh2xWCKHoVKpkBCcgK0lW03ih6oPQW/UQ6vWypSZ65Lai0qj0mBo0FAZsiF7uH7Q9Zg5cCZ8ND5Yu3YtZgyeAa2Wnz05eWm9MDJ8JEaGj+yMtXS0yJiR6+EwHDkUqQmmbYY2HKs5JkM2JNWzNDhgMLy0XjJkQ/bgp/NDoEeg3GlQFzzdPOVOwaWwWCKHYu7SZc5bsr+ypjKUN5eL4lwygIhcDYslcigJIQmScV6NY39cjJKI6DwWS+RQfN190c+3nyjOSd72x8UoiYjOY7FEDkfqj/GpulOob6+XIRvXJdWb56fzQ1+fvjJkQ0QkHxZL5HDMLbQmtdYI2YbeoJfcKJeLURKRK2KxRA7H3JYLnORtP0drjqLN0CaKcwjOdQmCgOL6YugNerlTcRn5lfmoaqmSOw0C11kiBzQ4YDB0Gp3oj7XUmj9kG7mVuZJxFkuuo6WjBSf0J/Dfgv/i4LmDOFB5ADVtNfhk+icYFjpM7vScniAIePSXR1HdWo0I7wgkBiciKSQJoyNGY0jgELnTczkslsjhaNVaxAfFY3/FfpN4XmUejIIRahU7RG1NanK3CiruReVCDlUfwodNHwIXvRUOVB5gsWQHZxrPoLq1GgBQ2lSK0qZSZJ3Owp1xd+KpUU/JnJ3rUcxfnZqaGmRkZMDPzw9+fn7IyMhAbW2t2eP1ej3+/ve/IzExEd7e3oiMjMSf/vQnnD171uS4K664AiqVyuTf7bffbuNXQ12R2nusvr0ehXWF9k/GBUkVSwP9B8LH3UeGbEgOQ4OGQi3xJ4I9vPaRW5ErGWehKg/FFEuzZ89Gbm4u1q1bh3Xr1iE3NxcZGRlmj29ubsb+/fvx3HPPYf/+/fjmm29w9OhRXHfddaJj586di9LS0s5///nPf2z5UqgbhoUMk4znVOTYNxEX1GHswJjIMRgcMNikF49DcK7F080TYZowUZxrntmH2WLJzHcj2ZYihuEOHz6MdevWYefOnRg9ejQA4L333kNaWhqOHDmC2NhY0WP8/PyQnZ1tEnv77bcxatQoFBUVoW/f3y9/9vLyQnh4eLfzaWtrQ1vb7/Np6uvPX9Ku1+uh11tv8uOFc1nznEqRECC9OOX+8v24rv/5gteV26c7Lqd9nh7xNACgSd+EQ+cO4UDVAQwNHOpUbc33j2V6vR5RmiiUGkpN4mVNZSipK0GoV6hMmcnPHu8dqR+G4V7hCHIPcvj3rJI+W93NUSUIgmDjXC7bBx98gMzMTNGwm7+/P9544w3cc8893TrPhg0bkJ6ejtraWvj6+gI4Pwx38OBBCIKAsLAwTJ8+Hc8//zx8fMwPN7zwwgtYuHChKL5y5Up4eXHPLGt5o/4NVBurTWLB6mDM850nT0JELianPQermleJ4nd43YF493gZMnINrUIrXqp7CQJM/zwnahNxm/dtMmXlnJqbmzF79mzU1dV11gVSFNGzVFZWhtBQ8a+Y0NBQlJWVdescra2teOqppzB79myTBrnzzjvRv39/hIeHo6CgAAsWLEBeXp6oV+qPFixYgMzMzM7b9fX1iIqKQnp6usXG7im9Xo/s7GxMnTrVJXf93rVzF9acXGMSqzJWIe2qNAR4BLh8+3SF7WMZ28cyvV6PqnXSl61ro7WYkTLDzhk5Dlu/d3aU7oCwUdyPMT1pOmbEOn67K+mzdWFkqCuyFkvmemj+aM+ePQAguRCeIAjdWiBPr9fj9ttvh9FoxDvvvGNy39y5czv/OyEhATExMRgxYgT279+P4cOHS55Pp9NBp9OJ4lqt1iZvDFud19ENDxveWSyFeoZiWOgwpISmQOeuM2kPV22f7mL7WMb2MS9IHQQ/dz/UtdeZxAuqC9hmsN17p+Cc9AK8qRGpimp3JXy2upufrMXSI4880uWVZ/369cOBAwdQXi7e/byyshJhYeIJiH+k1+sxa9YsnDp1Cr/88kuXPT/Dhw+HVqvFsWPHzBZLZB/je4/HKxNewbDQYYjwjuDK0UR2plKdXy5i29ltJvFD1YegN+qhVTv2H0Klkpqv5OnmicEBg2XIhgCZi6Xg4GAEBwd3eVxaWhrq6uqwe/dujBo1CgCwa9cu1NXVYezYsWYfd6FQOnbsGDZu3IigoKAun+vgwYPQ6/WIiIjo/gshmwj3DseMAY7f5UzkzBKDxMVSq6EVR2uOIj6I85aszWA0SC7dkRScBDe1ImbOOCVFLB0QFxeHq6++GnPnzsXOnTuxc+dOzJ07FzNnzjS5Em7IkCFYvXo1AKCjowO33HIL9u7di08//RQGgwFlZWUoKytDe3s7AODEiRN48cUXsXfvXhQWFmLt2rW49dZbkZKSgnHjxsnyWomIHIm5hUil/qDT5TteexzNHc2iuNTac2Q/iiiWAODTTz9FYmIi0tPTkZ6ejqSkJHzyyScmxxw5cgR1defH1s+cOYPvv/8eZ86cwbBhwxAREdH5b/v27QAAd3d3/Pzzz5g2bRpiY2Px2GOPIT09HRs2bIBGo7H7ayQicjTxQfFQQTwEzmLJNsytJcf1leSlmD69wMBArFixwuIxf1wFoV+/fuhqVYSoqChs3rzZKvkRKV19ez3mb5yPpJAkJAUnISkkCUGeXQ9dk3PzcffBAL8BOFF3wiTOYsk2zO3LyJ4leSmmWCIi2yqoLMDust3YXba7M9a7V2/8Y8w/MLa3+bmB5PySQ5NFxVJRQxHOtZ5DoEegTFk5J6mVuwf5D4Kvu/WWpaGeU8wwHBHZVl6VeM+vksYS+Hv42z8ZcihJwdJb3eRX5ts5E+dW2VyJksYSUTw5hL1KcmOxRIokCAIMRoPcaTgVqQ1SPTQevFyZzO4LyE11rcvcEFxKaIp9EyERDsORIrQb2nGo+hByK3KRW5mL3IpczE+ZL3daTsMoGCV7CeKD43m5MmGA3wB4a73RpG8yiXNTXesyu3lu6DC75kFi/BYkh1fVUoX0r9OhN5pueJhXlYdksHvaGk7Xn0Z9u3jZf3M9CuRaNGoNEoITsKt0l0m8oKoABqMBGjWvHrYGqWIp0CMQfX36ig8mu+IwHDm8II8gBHgEiOIcArAec1c2JQezGKXzpOYtNembcLLupAzZOJ/WjlYcOndIFE8OSebuBQ6AxRI5PJVKJTlmf7zuOFqFVhkycj7mCs/EEOkFCcn1SA0FqVVqFktWUtlciWifaFGcQ3COgcNwpAjDQoZhfeF6k5hRMOJMxxmZMnIuUsVShHcEQr1CZciGHFFicCKCPILOr8MVkoTkkGTEB8XDS+sld2pOIco3Ct/e8C3q2upwoPIAcipykFeZh9SwVLlTI7BYIoUw9+uqyFBk30ScUH17PY7VHBPFOV+J/ijAIwAbZ23kkJCN+en8MKHPBEzoM0HuVOgPOAxHihAbGAsPjYcoXtTBYuly5VbkQoB4tfvhocNlyIYcGQslclUslkgRtGotEoITRPHijmKut3SZ9pbvlYyz+5+I6DwWS6QYUpO829Am2oaBemZf+T5RzMfdB4P8B8mQDRGR42GxRIphbt4SF8a7dC0dLThUJb5ceXjocK6dQ0T0f1gskWKY2x/J3BYB1LUDlQfQIXSI4hyCIyL6HYslUgw/nR8G+A0QxdmzdOmkhuAAYHgYJ3cTEV3AYokURWoo7kzjGVS1VNk/GScgVSx5unliaOBQGbIhJSprKsPak2ux4fQGuVNRpAOVB/B2ztvYemar5JZD5Bi4zhIpyrCQYfjm2DeieG5FLqZET5EhI+XSG/SSi1EmhSRBq9HKkBEpxbpT67C1ZCv2le9DSWMJgPOLVvIz2HObijfhvfz3AAAqqDDQfyCGhQ5DZmomfNx95E2OOrFniRTF3CRvc7t1k3kHqw+izdAminO+EnXlx1M/4vsT33cWSgBwqPoQmvXNMmalTH+ccylAwPHa4/jp1E/wcuPK6I6ExRIpSj/ffvDX+YviOZU59k9G4czNV0oNZbFElo0IGyGKGQQDL7boIb1Rj4KqAlE8KTiJV6M6GBZLpCgqlQrDQoaJ4oeqD0n2kpB5M/rPwMKxC3HdwOvQu1dvAICb2o2b51KXzPU+7i/fb+dMlO3ouaNo6WgRxbl5ruPhnCVSnOTQZGw6s8kk1mHswKHqQ5ILV5K0iF4RuCnmJtwUcxMAoLSxFMdrj8PTzVPmzMjRDQkcAk83T9EfenO9lSTNXE8ciyXHw54lUhypniUAyKngUNzliOgVwc07qVvc1G6Sn8MDlQfQbmi3f0IKJfWdpYIKScHcxNrRsFgixUkIToCbStwpykneRPYjNRTXbmyXnIND0qS+s2ICYtDLvZf9kyGLOAxHiuPh5oG4oDicqjuFcCEck+MmIzU8FYnBnGtDZC9m5y1V7Oeipt1Q1lSG8uZyUZxTCRwTiyVSpLeuegu91L2wft16zEicAa2W6wIR2VNiSCK0ai30Rr1JfG/5XtyfeL9MWSmHuWkD5rZ1InlxGI4UKdgzmJfWEslIp9FJ9ubmVuSiwyjeb5BMmZs2wJ4lx8RiiYiILonUUFyTvglHao7IkI2ySF0JF+wZ3LmMBzkWFktELqa0sRQGo0HuNMgJcL2lS9PY3ogj58QFZUpoClQqlQwZUVc4Z4nIxcxZNwcN7Q1ICU3B8LDhGBE2AvFB8dwPjnpsWOgwqFVqGAWjSXxf+T5kDM2QKSvHt698HwyC+AcL5ys5LhZLRC7kbONZlDaVAgC2lmzF1pKtAIBZg2fhubTn5EyNFMhb6424wDgcrD5oEt9Xvg+CILCXxIydpTsl46MjRts5E+ouDsMRuRBzKyynhHFSKV0aqaG42rZanKw7KUM2yrCrbJcoFqALwOCAwTJkQ92hmGKppqYGGRkZ8PPzg5+fHzIyMlBbW2vxMXfffTdUKpXJvzFjxpgc09bWhkcffRTBwcHw9vbGddddhzNnztjwlZAtlTaW4seTP0IQBLlTcUjmiiWpjVGJusPcvCVufSKtuqUax2qOieIjw0dCrVLMn2SXo5hhuNmzZ+PMmTNYt24dAODPf/4zMjIysGbNGouPu/rqq/Hhhx923nZ3dze5f968eVizZg0+//xzBAUF4YknnsDMmTOxb98+aDS8NN3RNRubkXU6C3sr92JX6S4UNxQDABKDE9HXt6/M2TkeqT9gkd6RCPcOlyEbcgbDQ6UXoNxXvg+zYmfZORvHt6dsj2ScQ3COTRHF0uHDh7Fu3Trs3LkTo0eff0O99957SEtLw5EjRxAbG2v2sTqdDuHh0n8I6urq8P777+OTTz7BlClTAAArVqxAVFQUNmzYgGnTpkk+rq2tDW1tv+9wX19fDwDQ6/XQ6/WSj7kUF85lzXM6E71ej+Mdx/Hlr1+K7vv1zK+IiImQISvHcfH7p7qlGoX1haLjUkJSXPI9xs+XZd1tH2+NNwb6DcSJuhMm8b1le9He3u6U85Yu572zvWS7ZDw1ONVp3otK+mx1N0dFFEs7duyAn59fZ6EEAGPGjIGfnx+2b99usVjatGkTQkND4e/vj0mTJuGll15CaGgoAGDfvn3Q6/VIT0/vPD4yMhIJCQnYvn272WJp0aJFWLhwoSielZUFLy+vS32ZZmVnZ1v9nM5igNsAyfj3ud/D65j1/18o0YX3T0G79J5d2nIt1q5da8+UHAo/X5Z1p32CWoJwAqbFUkVLBT794VMEagJtlZrsLuW9s6l+kyjmp/JD/tZ8FKica189JXy2mpubu3WcIoqlsrKyzgLnj0JDQ1FWVmb2cdOnT8ett96K6OhonDp1Cs899xyuuuoq7Nu3DzqdDmVlZXB3d0dAQIDJ48LCwiyed8GCBcjMzOy8XV9fj6ioKKSnp8PX1/cSXqE0vV6P7OxsTJ06ldt5SLjQPoP8BuF43XGT+86oz+Dq6Ve79ByAi98/B/ceBI6Kj5szeQ6ifaPtn6DM+PmyrCftoynUYPf23Z23B/gNQEpICq4YegX69Opj61Tt7lLfO0bBCKFQwO7y3dhTtgdlzef/zkzsNxHXpF1jq3TtTkmfrQsjQ12RtVh64YUXJHto/mjPnvPju1JduV1dmnrbbbd1/ndCQgJGjBiB6Oho/Pjjj7jpppvMPq6r8+p0Ouh0OlFcq9Xa5I1hq/M6i1Hho0TFUm1bLQobCxEbaL7X0VVceP/kVIn3ogryCMLAwIFOOVTSXfx8Wdad9hndezQyhmYgNTQVKWEpCPRw3t6kP7qU984Ng2/ADYNvgCAIKGoowq7SXRjgN8Ap34NK+Gx1Nz9Zi6VHHnkEt99+u8Vj+vXrhwMHDqC8XLw7c2VlJcLCwrr9fBEREYiOjsaxY+evRAgPD0d7eztqampMepcqKiowduzYbp+X5DUqfBRWHlkpiu8s3cli6f/Ut9dLrhg8PGy4SxdKZB0hXiF4cuSTcqehKCqVCtG+0S7Zq6tEshZLwcHBCA4O7vK4tLQ01NXVYffu3Rg1ahQAYNeuXairq+tRUVNdXY3i4mJERJyf+JuamgqtVovs7GzMmnX+qo3S0lIUFBTg1VdfvYRXRHIYHjocGpVGtCLurtJdmBM/R6asHEtuRS4EiJdTMHfZNxER/U4REzri4uJw9dVXY+7cudi5cyd27tyJuXPnYubMmSaTu4cMGYLVq1cDABobG/HXv/4VO3bsQGFhITZt2oRrr70WwcHBuPHGGwEAfn5+uO+++/DEE0/g559/Rk5ODu666y4kJiZ2Xh1Hjq+Xthfig+NF8X3l+6A3Ov7VGPbA9ZWIiC6dIoolAPj000+RmJiI9PR0pKenIykpCZ988onJMUeOHEFdXR0AQKPRID8/H9dffz0GDx6MOXPmYPDgwdixYwd8fHw6H/PGG2/ghhtuwKxZszBu3Dh4eXlhzZo1XGNJYUaHi9coae5oxsGqgxJHux6pYsnH3QeD/AfJkA0RkbIo4mo4AAgMDMSKFSssHvPHVZs9PT2xfv36Ls/r4eGBt99+G2+//fZl50jyGRMxBu/lvyeK7yzdiWGhw+yfkANp6WiRLBpTQlOgUfNHARFRVxTTs0RkSXJoMnQa8RWKu0rFezC5moLqAnQIHaI45ysREXUPiyVyCjqNTrIHKa8yDy0dLfZPyIHsr9gvGWexRGQfzfpm6A2cP6lkLJbIaYyJGCOK6Y165FSI1xdyJVLFkqebJ4YGDpUhG3IFzfpm7Di7A0tyluDe9fdiSc4SuVOS1crfVmLc5+Pw4IYH8WHBhzhUfQhGwSh3WtQDipmzRNQVqUnewPmhuLGRrrluVofQgfyqfFE8KSQJWo1jLxZHyvSXDX/BzrM7TYZ+W/QteCTlERmzkteu0l1o6WjBryW/4teSXwEAIZ4hyLolC25q/hlWAvYskdOIC4qDj9ZHFHfleUuFHYVoNbSK4qmhHIIj23BTu4nmyB2sPoia1hqZMpJXm6FNsne7r29fFkoKwmKJnIab2g2p4eIi4FD1IdS11cmQkfyahCYEeQSJ4qMjpHvhiC6X1HC4AAG/nv1Vhmzkl1eRhzZDmyjOz6CysFgip2Lui3pv2V4ZspFfsnsy1t+4Hp/P/BwPD3sYSSFJ8Nf5IykkSe7UyElN6D1BMr71zFY7Z+IYdpVJ92xLfVeR42IfIDkVs/OWynZhcvRkO2fjGNQqNeKD4hEfFI8Hkx9ES0cLu//JZvr69kU/334orC80if969lcYjAaXW9tLahqAp5snEoITZMiGLhV7lsipDPQfKDns5Mrzli7m6eYpdwrk5Mb3Hi+K1bXVSV5s4Mwa2xtRUFUgiqeGpUKr5gUWSsJiiZyKSqXCqIhRJrGYgBiM6z0OBqPBzKOIyJom9DEzFFfiWkNx+8r3iTb4BjgEp0Tsiyenkx6dDi83L4yOGI1R4aMQ5CnuaSIi2xkRNgKebp6iBWG3ntmKR1MelSkr+9tZulMyzsndysNiiZzOlOgpmBI9Re40iFyWu8YdoyNGY1PxJpP44XOHUdlciRCvEFnysrfdZbtFsQBdAAYHDJYhG7ocHIYjIiKrM3dV3LaSbXbORB7VLdU4WnNUFB8ZPhJqFf/0Kg3/jxERkdWZXULAReYt7SnbIxnnEJwysVgicjKFdYV4+OeH8eXRL3HOcE7udMhFRfSKwCD/QaL4jrM7oDc6/6aynK/kXDhnicjJbDmzpfMfAHzzwzeY2Gci7km4B8GewTJnR65kQp8JOF573CTWqG9EbkUuRoaPlCkr+5BariTcOxx9ffrKkA1dLvYsETmZi4c5CusLseLwCq7rQnbnqkNxJY0lONN4RhQfHT4aKpVKhozocrFYInIizfpm7C0Xb+0yLGQY/HR+MmRErmxY6DD00vYSxZ1965PdpeKr4AAOwSkZiyVyem2GNuwq3YW39r+FO9feiU8Pfyp3Sjazs3QnOowdori5RQKJbEmr1iItMk0UP157HKWNpTJkZB+cr+R8OGeJnJZRMOKhDQ9hb/lek12//dz9cGfcnTJmZjvmhjfMDYcQ2dqE3hOQfTpbFN9ashWzYmfJkJFtCYIgub5Sf7/+CPUKlSEjsgb2LJHTUqvUaNA3mBRKAETFk7MQBEFyeCPEM4SL4JFsxvUeJxl31nlLR2uOoqqlShQ3t8k3KQOLJXJqUl9QLR0t2F6yXYZsbOtY7TGUN5eL4uMjx3NSKckm1CsUcYFxonh1SzUEQZAhI9uqaatBP99+ojiH4JSNw3Dk1CZFTcJ7+e+J4lmns3Bl3ytlyMh2zE2aHRcp/cueyF7G9x6PwvpCjA4fjQl9JmB87/GI7BUpd1o2MSZiDL6/4XscrTmK7NPZyDqdhZKGEsm5W6QcLJbIqSUFJyHcOxxlTWUm8U3Fm9BuaIe7xl2exGxAalhDAw1GhY+SIRui392dcDceSH4AOo1O7lTsQqVSITYwFrGBsXgk5RGUNZXBW+std1p0GTgMR05NpVJhSl/xprqN+kbsOLtDhoxso769HrkVuaJ4tFu05KXbRPbk6+7rMoWSlHDvcLlToMvEYomc3rR+0yTjWaez7JyJ7ew4uwMGwSCKD3bjxG4iosvFYomcXlJIkuQluxuLN0JvcI49qszNVxqsZbFERHS5WCyR01Or1JgaPVUUb2hvMLt4nJIYBSO2lWwTxSO9IxGiDpEhIyIi58JiiVyCVLEEOMdQ3OFzh1HdWi2Kj4scxyUDiIisgMUSuYSU0BSEeIp7WX4p+gV6o7KH4swNwY2PHG/nTIhckzOuF0WmWCyRS1Cr1Jjcd7IoXt9eb3bTS6WQWjLAXe2OEWEjZMiGqHuMghH5lfl4J/cdfHTwI7nTuSzvF7yP2T/OxvKC5ShpLJE7HbIBxRRLNTU1yMjIgJ+fH/z8/JCRkYHa2lqLj1GpVJL//vd//7fzmCuuuEJ0/+23327jV0NySO+XLhmX2rdKKWpaa5BfmS+Kj4wYCU83TxkyIrJsc/FmPL31aVz55ZWYvXY2luYtxWe/fabo3pmswizkV+XjX/v+hatXXY3bf7hd8QUgmVJMsTR79mzk5uZi3bp1WLduHXJzc5GRkWHxMaWlpSb/PvjgA6hUKtx8880mx82dO9fkuP/85z+2fCkkk+GhwxHkESSK/1z0s2KH4n49+ysEiP/IcONcclRZp7Ow5uQanGs91xkraSzBqbpTMmZ16Yrri3H43GGT2MHqg061jhspZAXvw4cPY926ddi5cydGjz6/v857772HtLQ0HDlyBLGxsZKPCw83XQjsu+++w5VXXokBAwaYxL28vETHWtLW1oa2tt83Yq2vrwcA6PV66PXW+6N74VzWPKczuZT2uSrqKnx17CuTWG1bLXaV7FLkRpfm9rgbEzaG758usH0ss1X7jA0fi+9PfC+KbyrahCjvKKs+l638sW3WnVonecxVfa5y2feWkj5b3c1RJSig7/ODDz5AZmamaNjN398fb7zxBu65554uz1FeXo4+ffrgo48+wuzZszvjV1xxBQ4ePAhBEBAWFobp06fj+eefh4+Pj9lzvfDCC1i4cKEovnLlSnh5eXX/hZHdndCfwIdNH4riI9xH4AavG+yf0GUyCAYUGYpwRH8ER/VHUWGsQLA6GPN858mdGpGkFmMLFtUvghFGk/gAtwG4t9e9MmV16d5peAdnDWdNYmqo8Xffv8NbzS1OHF1zczNmz56Nuro6+Pr6mj1OET1LZWVlCA0VLyoYGhqKsrIyiUeIffTRR/Dx8cFNN91kEr/zzjvRv39/hIeHo6CgAAsWLEBeXh6ys83PY1mwYAEyMzM7b9fX1yMqKgrp6ekWG7un9Ho9srOzMXXqVGi1Wqud11lcSvt0GDvw7epvUdNWYxI/oTqB9KvT4aZWxEfCrNKmUlQ0VyA5JJnvny6wfSyzZfuszV6LnMock1iRoQhpV6UhwCPAqs9lCxfaJn5sPM6uPSu6f2T4SNx61a0yZOYYlPTZujAy1BVZ/zKY66H5oz179gCA5HoxgiB0ex2ZDz74AHfeeSc8PDxM4nPnzu3874SEBMTExGDEiBHYv38/hg8fLnkunU4HnU68z5FWq7XJG8NW53UWPWkfLbSYHD0ZXx/92iRe01aDA+cOYHSE8obi/qivf1/09e9rEuP7xzK2j2W2aJ+JURNFxVKH0IGfin7CnPg5Vn0uW9p0dpNkfFr/aXxPQRmfre7mJ+sE70ceeQSHDx+2+C8hIQHh4eEoLy8XPb6yshJhYWFdPs/WrVtx5MgR3H///V0eO3z4cGi1Whw7duySXhM5vvRo06viVFBheOhwqMAFHInsYVq09H6N3xz7RlFXxf1c/LMoplapcVXUVTJkQ7Yka89ScHAwgoODuzwuLS0NdXV12L17N0aNGgUA2LVrF+rq6jB27NguH//+++8jNTUVycnJXR578OBB6PV6REREdP0CSJFGho9EoEcgBvoPRHp0Oib3nYwQL24LQmQvUb5RGBU+CrvLTNc4O1l3ErmVuUgJTZEps+6rMdagoLZAFB8ZNhJBnuKrbknZFLF0QFxcHK6++mrMnTsXO3fuxM6dOzF37lzMnDnT5Eq4IUOGYPXq1SaPra+vx1dffSXZq3TixAm8+OKL2Lt3LwoLC7F27VrceuutSElJwbhx42z+ukgebmo3rLt5HT6Y9gFuH3I7CyUiGdwcc7NkfNXRVXbO5NIcaj8kGTe3tRIpmyKKJQD49NNPkZiYiPT0dKSnpyMpKQmffPKJyTFHjhxBXV2dSezzzz+HIAi44447ROd0d3fHzz//jGnTpiE2NhaPPfYY0tPTsWHDBmg0Gpu+HpIXF2wkktfk6Mnw0/mJ4lmns9DQ3iBDRj1ToBf3KqlVakyOFu8UQMqnmEt/AgMDsWLFCovHSI11//nPf8af//xnyeOjoqKwefNmq+RHZC89ubCByFHpNDpcO+BarDhs+r3e0tGCn079hFmxs2TKrGtlTWUoNhSL4qlhqQj27HpqCSmPYnqWiAho1jdj5uqZeH3f6yisK5Q7HaLLcmPMjZLxVccceyjul+JfJOMcgnNeLJaIFGRd4ToUNRThw4IPce231+KedfdgzYk1aO1olTs1oh4bHDAYScFJovih6kM4XH1Y4hGOYUPxBlFMBRWm9J0iQzZkDyyWiBTk4l/ce8v34ultTyt2Xy2imwebmejtoL1L5U3lyK3MFcVTQlN4sYgTY7FEdBFBENDS0SJ3GiLHao7hQOUBUXxo0FDEBcXJkBHR5bu639XwchNvE7X25FqH/BxuKBL3KgFAer90yTg5BxZLRDhfIB2oPIB/7f0Xpn8zHW/nvC13SiLfHPtGMm7uEmwiJfDSemF6/+mieIO+AdmnzW87JRdzOXEIzrmxWCKX907uO0hflY47196J5QeXo6SxBNmns2EUjF0/2E7aDG1Yc3KNKO7p5in5h4ZISZSy5lJVSxX2l+8XxVNCUxDm3fVuEqRcLJbI5RU3FKOsyXRD5rKmMmw5s0WmjMR+Pv0z6trqRPH06HT4uPvIkBGR9SQEJyAmIEYU31+x36Hm43155EsIEC9Rw6vgnB+LJXJ5F+8Vd8G7ee86zD5VZofgzEyOJVISlUol6l1yV7vjmgHXONSejZP7TpYsjFgsOT8WS+Tyxvcej3DvcFH8YPVBbCvZJkNGporri7GrbJcoPsBvAIaFDLN/QkQ2MHPATLir3RETEIOnRj2FX2b9gv+Z8D/o59dP7tQ6xQbG4vUrXseXM75EojYRKqjMfn+Qc1HMCt5EtqLVaHFfwn14addLovvezXsX43uPl3XF7G+OS/cq3RRzE1fyJqfhp/PDdzd8h969ejv8+3qQ/yDc5n0bnh/3PLRuWrnTITtgzxIRzq8kHOoZKoofqDqAHWd3yJDReR3GDnx7/FtR3E3thmsHXmv/hIhsqI9PH4cvlP5ogN8ADPAfIHcaZAcslohwfp+qexPvlbxvad5S2eYubTmzBVUtVaL45L6TEegRKENGRESuh8US0f+5OeZmyU0wcytzsbtstwwZmZ/YfVPMTXbOhIjIdbFYIvo/Hm4euCf+Hsn73s17187ZnF++YGvJVlG8d6/eGBMxxu75EBG5KhZLRH9wa+ytksNbe8v3Yk/ZHrvm8t3x7yQXxrxx0I1Qq/jRJSKyF37jEv2Bp5sn7o6/W/K+/+T9x255GAUjVh9fLYqrVWpcP+h6u+VB5Cia9c12vdiitaMVGWszsOroKugNers9LzkmFktEF7kt9jYE6AJE8V1luyS3OrCFrMIslDSWiOITek/gmi7kMgRBwMGqg1i4YyGu+uoq/GXDX3Ci9oRdnnvVsVXIrczFCztewDWrr8GXR75Eu6HdLs9NjofFEtFFvLRe+FP8nyTv+88B2/cuVbdU4+VdL0vex4nd5CryK/Nx65pbcfuPt+Pro1+jSd8Eg2DAM9ueQYexw6bP3WZowwf5H3TeLm0qxT93/hMzvpmBiuYKmz43OSYWS0QS7hhyB/x0fqL49rPbkVeZZ9PnLmksgUatEcVDPUMxoc8Emz43kaMI8gzC8drjovjB6oN4P/99mz73N8e+QUWLuCgK8w5DiGeITZ+bHBOLJSIJ3lpvZMRlSN5n6yvjkkKSsPq61Zjeb7pJfP6I+dCquVowuYbIXpG4M+5OyfvezXsXv537zSbP225oN1uMPZj0oKIWzSTrYbFEZMbsuNnwcfcRxbeVbENBVYFNn9vfwx+vTnoV/zvpf+Gv88eUvlNwTf9rbPqcRI7m0ZRH0c+3nyjeIXTg6W1P22QO0bfHv0V5c7koHh8Uj/G9x1v9+UgZWCwRmeHj7mO2d8leV8Zd3e9qrL5+NZ5Le46/aMnleLh54OXxL0sulXGs5hiW5i216vPpDXr8N/+/kvc9mMxeJVfGYonIgtlxs9FL28sklhiciFtjb7VbDsGewdzahFxWYkgi7ku4T/K+Dwo+sOocwu9PfI/SplJRPC4wDpP6TLLa85DysFgissBP54fZcbMBAMkhyXh3yrv4dManmNhnosyZEbmOvyT/BYMDBoviRsGIZ7c9i5aOlst+Dr1Rj/fy35O874HkB9ir5OJYLBF1ISMuA8umLsMn0z/BuN7j+KVJZGdajRYvj38Zbmo30X2F9YV4a/9bl3X+NkMb/r7l75Jrmw0OGIwro668rPOT8rFYIuqCv4c/0iLTbFIkFdYVQhAEq5+XyNnEBsbiL8l/kbxvxeEVl7wdUV1bHR7IfgDZp7Ml738g6QFuL0QslojkcrLuJG5Zcwvmb5qP6pZqudMhcnj3JtyLhKAEyfue+/U5NOmbenS+sqYy3L3ubuwr3yd5/0C/gZgSPaXHeZLzYbFEZCWCIKChvaFbx3YYO/DstmfRZmjDz0U/48bvbsSG0xtsnCGRsrmp3fDShJeg0+hE95U0luC1va91+1zHao7hzrV3Si58CQDuane8OO5F9ioRABZLRFbzVs5bmP3jbJxpOGPxOL1Bj6V5S5Ffld8Zq2mrwfxN87Fg6wIYBaOtUyVSrAF+A/BYymOS93199GusK1zX5Wdob9lezFk3x+zWJT7uPliWvgxJIUmXnS85BxZLRFaw8vBK/Df/vyisL0TGTxk4XH3Y5P6a1hp8f+J7ZG7KxIQvJmDZgWWS5/HX+fOXLFEX7hp6F1LDUiXv+9vmv2HKV1PMzmHKKszCn7P/bLYXOMwrDB9f/bHZ85NrEl9aQEQ9kn06G/+z+386b1e1VOHudXfj2THPory5HFvObEFeZV6Xv3ajfaPx2HDpX8xE9Du1So1/jvsnbv7+ZsllAypbKtHXp68o3tLRglf3vAq9US953kH+g7B0ylKEe4dbPWdSNsX8hH3ppZcwduxYeHl5wd/fv1uPEQQBL7zwAiIjI+Hp6YkrrrgCBw8eNDmmra0Njz76KIKDg+Ht7Y3rrrsOZ85YHkYhuiCnIgdPbXkKAkyvaGvuaMbT257Gm/vfRE5FTpeFklqlxv8b9//g6eZpy3SJnEaUTxT+OuKvkvfFBcYhzDtMFPd088S/J/9btNAsAIwIG4GPpn/EQokkKaZYam9vx6233oq//EX60lEpr776Kl5//XUsWbIEe/bsQXh4OKZOnYqGht+7X+fNm4fVq1fj888/x7Zt29DY2IiZM2fCYDDY4mWQk4nyicJA/4GXfZ77Eu7DsNBhl58QkQu5dfCtkvu1XRF1hdnHxAbG4s0r3zTZlDo9Oh3vTn0Xvu6+tkiTnIBihuEWLlwIAFi+fHm3jhcEAYsXL8YzzzyDm266CQDw0UcfISwsDCtXrsQDDzyAuro6vP/++/jkk08wZcr5y0NXrFiBqKgobNiwAdOmTZM8d1tbG9ra2jpv19fXAwD0ej30eunu3Utx4VzWPKczcYT28XPzw7LJy/Dktiexo3RHzx/v7ofbY2/H3IS5Vn8djtA+joztY5lS2mfR2EV4bd9rWHd6HdoM57+Xx4WPs5h3SnAKXkx7EQt+XYA7Bt+BJ1KfgNqoNjs8dzGltI1clNQ+3c1RJShsRbzly5dj3rx5qK2ttXjcyZMnMXDgQOzfvx8pKSmd8euvvx7+/v746KOP8Msvv2Dy5Mk4d+4cAgICOo9JTk7GDTfc0FmgXeyFF16QvG/lypXw8vK6tBdGimYQDFjdvBq5+twujw1RhyBWG4sh2iGI0kRBo9LYPkEiJ9cutONkx0mc6jiFaR7TunWhRElHCSI1kVyV34U1Nzdj9uzZqKurg6+v+Z5FxfQs9VRZWRkAICzMdNw6LCwMp0+f7jzG3d3dpFC6cMyFx0tZsGABMjMzO2/X19cjKioK6enpFhu7p/R6PbKzszF16lRotdquH+BiHK19ZgozsSRvCT489KFJ3E3lhuGhwzGx90RM6D0BUT5RdsnH0drH0bB9LGP7mMe2sUxJ7XNhZKgrshZL5npo/mjPnj0YMWLEJT/Hxb8YBEHo8ldEV8fodDrodOJF0bRarU3eGLY6r7NwpPbJHJmJSX0nYc2JNXDXuCM1LBVjI8fCx91HtpwcqX0cEdvHMraPeWwby5TQPt3NT9Zi6ZFHHsHtt99u8Zh+/fpd0rnDw89f0VBWVoaIiIjOeEVFRWdvU3h4ONrb21FTU2PSu1RRUYGxY8de0vMSpYalco0WIiInImuxFBwcjODgYJucu3///ggPD0d2dnbnnKX29nZs3rwZr7zyCgAgNTUVWq0W2dnZmDVrFgCgtLQUBQUFePXVV22SFxERESmLYuYsFRUV4dy5cygqKoLBYEBubi4AYNCgQejV6/yaGUOGDMGiRYtw4403QqVSYd68eXj55ZcRExODmJgYvPzyy/Dy8sLs2bMBAH5+frjvvvvwxBNPICgoCIGBgfjrX/+KxMTEzqvjiIiIyLUpplj6xz/+gY8++qjz9oXeoo0bN+KKK64AABw5cgR1dXWdxzz55JNoaWnBQw89hJqaGowePRpZWVnw8fl9/sgbb7wBNzc3zJo1Cy0tLZg8eTKWL18OjYZXKBEREZGCiqXly5d3ucbSxasgqFQqvPDCC3jhhRfMPsbDwwNvv/023n77bStkSURERM5GMSt4ExEREcmBxRIRERGRBSyWiIiIiCxgsURERERkAYslIiIiIgtYLBERERFZwGKJiIiIyAIWS0REREQWKGZRSkd2YTHM+vp6q55Xr9ejubkZ9fX1Dr9zsxzYPpaxfSxj+1jG9jGPbWOZktrnwt/tixe1vhiLJStoaGgAAERFRcmcCREREfVUQ0MD/Pz8zN6vEroqp6hLRqMRZ8+ehY+PD1QqldXOW19fj6ioKBQXF8PX19dq53UWbB/L2D6WsX0sY/uYx7axTEntIwgCGhoaEBkZCbXa/Mwk9ixZgVqtRp8+fWx2fl9fX4d/w8mJ7WMZ28cyto9lbB/z2DaWKaV9LPUoXcAJ3kREREQWsFgiIiIisoDFkgPT6XR4/vnnodPp5E7FIbF9LGP7WMb2sYztYx7bxjJnbB9O8CYiIiKygD1LRERERBawWCIiIiKygMUSERERkQUsloiIiIgsYLHkwN555x30798fHh4eSE1NxdatW+VOySEsWrQII0eOhI+PD0JDQ3HDDTfgyJEjcqflkBYtWgSVSoV58+bJnYrDKCkpwV133YWgoCB4eXlh2LBh2Ldvn9xpOYSOjg48++yz6N+/Pzw9PTFgwAC8+OKLMBqNcqcmiy1btuDaa69FZGQkVCoVvv32W5P7BUHACy+8gMjISHh6euKKK67AwYMH5UlWBpbaR6/X4+9//zsSExPh7e2NyMhI/OlPf8LZs2flS/gysFhyUF988QXmzZuHZ555Bjk5OZgwYQKmT5+OoqIiuVOT3ebNm/Hwww9j586dyM7ORkdHB9LT09HU1CR3ag5lz549WLZsGZKSkuROxWHU1NRg3Lhx0Gq1+Omnn3Do0CH861//gr+/v9ypOYRXXnkF7777LpYsWYLDhw/j1Vdfxf/+7//i7bffljs1WTQ1NSE5ORlLliyRvP/VV1/F66+/jiVLlmDPnj0IDw/H1KlTO/cLdXaW2qe5uRn79+/Hc889h/379+Obb77B0aNHcd1118mQqRUI5JBGjRolPPjggyaxIUOGCE899ZRMGTmuiooKAYCwefNmuVNxGA0NDUJMTIyQnZ0tTJo0SXj88cflTskh/P3vfxfGjx8vdxoO65prrhHuvfdek9hNN90k3HXXXTJl5DgACKtXr+68bTQahfDwcOF//ud/OmOtra2Cn5+f8O6778qQobwubh8pu3fvFgAIp0+ftk9SVsSeJQfU3t6Offv2IT093SSenp6O7du3y5SV46qrqwMABAYGypyJ43j44YdxzTXXYMqUKXKn4lC+//57jBgxArfeeitCQ0ORkpKC9957T+60HMb48ePx888/4+jRowCAvLw8bNu2DTNmzJA5M8dz6tQplJWVmXxP63Q6TJo0id/TZtTV1UGlUimyJ5cb6TqgqqoqGAwGhIWFmcTDwsJQVlYmU1aOSRAEZGZmYvz48UhISJA7HYfw+eefY//+/dizZ4/cqTickydPYunSpcjMzMTTTz+N3bt347HHHoNOp8Of/vQnudOT3d///nfU1dVhyJAh0Gg0MBgMeOmll3DHHXfInZrDufBdLPU9ffr0aTlScmitra146qmnMHv2bEVsrnsxFksOTKVSmdwWBEEUc3WPPPIIDhw4gG3btsmdikMoLi7G448/jqysLHh4eMidjsMxGo0YMWIEXn75ZQBASkoKDh48iKVLl7JYwvm5kitWrMDKlSsRHx+P3NxczJs3D5GRkZgzZ47c6Tkkfk93Ta/X4/bbb4fRaMQ777wjdzqXhMWSAwoODoZGoxH1IlVUVIh+xbiyRx99FN9//z22bNmCPn36yJ2OQ9i3bx8qKiqQmpraGTMYDNiyZQuWLFmCtrY2aDQaGTOUV0REBIYOHWoSi4uLw6pVq2TKyLH87W9/w1NPPYXbb78dAJCYmIjTp09j0aJFLJYuEh4eDuB8D1NERERnnN/TpvR6PWbNmoVTp07hl19+UWSvEsCr4RySu7s7UlNTkZ2dbRLPzs7G2LFjZcrKcQiCgEceeQTffPMNfvnlF/Tv31/ulBzG5MmTkZ+fj9zc3M5/I0aMwJ133onc3FyXLpQAYNy4caJlJo4ePYro6GiZMnIszc3NUKtN/yxoNBqXXTrAkv79+yM8PNzke7q9vR2bN2/m9/T/uVAoHTt2DBs2bEBQUJDcKV0y9iw5qMzMTGRkZGDEiBFIS0vDsmXLUFRUhAcffFDu1GT38MMPY+XKlfjuu+/g4+PT2QPn5+cHT09PmbOTl4+Pj2julre3N4KCgjinC8D8+fMxduxYvPzyy5g1axZ2796NZcuWYdmyZXKn5hCuvfZavPTSS+jbty/i4+ORk5OD119/Hffee6/cqcmisbERx48f77x96tQp5ObmIjAwEH379sW8efPw8ssvIyYmBjExMXj55Zfh5eWF2bNny5i1/Vhqn8jISNxyyy3Yv38/fvjhBxgMhs7v6sDAQLi7u8uV9qWR92I8suTf//63EB0dLbi7uwvDhw/npfH/B4Dkvw8//FDu1BwSlw4wtWbNGiEhIUHQ6XTCkCFDhGXLlsmdksOor68XHn/8caFv376Ch4eHMGDAAOGZZ54R2tra5E5NFhs3bpT8rpkzZ44gCOeXD3j++eeF8PBwQafTCRMnThTy8/PlTdqOLLXPqVOnzH5Xb9y4Ue7Ue0wlCIJgz+KMiIiISEk4Z4mIiIjIAhZLRERERBawWCIiIiKygMUSERERkQUsloiIiIgsYLFEREREZAGLJSIiIiILWCwRERERWcBiiYiIiMgCFktEREREFrBYIiIiIrKAxRIR0UUqKysRHh6Ol19+uTO2a9cuuLu7IysrS8bMiEgO3EiXiEjC2rVrccMNN2D79u0YMmQIUlJScM0112Dx4sVyp0ZEdsZiiYjIjIcffhgbNmzAyJEjkZeXhz179sDDw0PutIjIzlgsERGZ0dLSgoSEBBQXF2Pv3r1ISkqSOyUikgHnLBERmXHy5EmcPXsWRqMRp0+fljsdIpIJe5aIiCS0t7dj1KhRGDZsGIYMGYLXX38d+fn5CAsLkzs1IrIzFktERBL+9re/4euvv0ZeXh569eqFK6+8Ej4+Pvjhhx/kTo2I7IzDcEREF9m0aRMWL16MTz75BL6+vlCr1fjkk0+wbds2LF26VO70iMjO2LNEREREZAF7loiIiIgsYLFEREREZAGLJSIiIiILWCwRERERWcBiiYiIiMgCFktEREREFrBYIiIiIrKAxRIRERGRBSyWiIiIiCxgsURERERkAYslIiIiIgv+PxkV7rpv9sQtAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def kwargs_demo(x, y, **kwargs):\n",
    "    plt.figure()\n",
    "    plt.plot(x, y, **kwargs)\n",
    "    plt.grid(True)\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"y\")\n",
    "\n",
    "x = np.linspace(0, 4 * np.pi)\n",
    "y = np.cos(x)\n",
    "kwargs_demo(x, y, color='C2', ls='--', lw=4);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d44a53d",
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "def kwargs_demo(x, y, **kwargs):\n",
    "    fig = plt.figure(figsize=(4, 2.5))\n",
    "    plt.plot(x, y, **kwargs)\n",
    "    plt.grid(True)\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"y\")\n",
    "    return fig\n",
    "\n",
    "x = np.linspace(0, 4 * np.pi)\n",
    "y = np.cos(x)\n",
    "fig = kwargs_demo(x, y, color='C2', ls='--', lw=4)\n",
    "glue('kwargs-demo-plot', fig, display=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f666e1f",
   "metadata": {},
   "source": [
    "```{glue:figure} kwargs-demo-plot\n",
    ":name: fig_kwargs_demo_plot_A.5\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c3c582a9",
   "metadata": {
    "editable": true,
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "## Packages\n",
    "\n",
    "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Python code or functions can be defined in a separate file with extension `.py`. Such a file can contain one or many function definitions. Storing functions this way avoids the need of having to define them repeatedly, and it allows functions to be shared and distributed easily. A set of functions that perform a similar task is called a package. Packages can consist of many different files and can have a complex structure, which is not discussed here.\n",
    "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; There are many different ways to import packages. Using the `numpy` package as an example, the most basic syntax is `import numpy` after which any function in `numpy` can be called as `numpy.function_name()`. Alternatively, all of `numpy`’s functionality may be imported with `from numpy import *` This allows `numpy`’s functions to be called without prefixing `numpy` to the function name. However, importing libraries this way is generally discouraged as any relation between the functions and packages is lost. A better way is to use `import numpy as np` (as used before and as is standard practice in the Python community). This makes it possible to write compact code while maintaining the relationship between the package and everything defined in it. This is important for programs that rely on multiple packages, as similar names may exist across packages. By prefixing the package name to a function name, the programmer has certainty that the intended function indeed gets called.\n",
    "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Packages can also have subpackages. The `pyplot` subpackage of `matplotlib` was already imported earlier using `import matplotlib.pyplot as plt`. Another example of a subpackage is the `linalg` package of `numpy`, which is a collection of functions that deal with linear algebra. If the `numpy` package is imported with `import numpy as np`, the functions in the `linalg` subpackage can be called `np.linalg.function_name()`."
   ]
  }
 ],
 "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.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
