{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SciPy and NumPy Cheat Sheet\n", "The core libraries in Python are NumPy, SciPy, Matplotlib and Pandas. NumPy provides homogeneous multidimensional arrays, SciPy provides functions and operators for mathematical computation\n", "Matplotlib can be used to plot functions and Pandas is used for non-homogeneous data manipulation and reading and writing files." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Python built-in data structures\n", "Python offers the following built-in data structures: tutple, list, dictionary and set. We will discuss the array data structure in a following sextion about the NumPy numerical package. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tuple\n", "A tutple is an immutable collection of immutable items that can be of different types: int, float, bool, string. A tuple provides few operators such as count() and index()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of occurrences: 2\n", "Index of 1st occurrence: 2\n", "\n" ] } ], "source": [ "t = 1, 2.6, 'New York', 'New York'\n", "c = t.count('New York') \n", "i = t.index('New York')\n", "print(\"Number of occurrences: {0:d}\\nIndex of 1st occurrence: {1:d}\\n\".format(c, i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### List\n", "A Python list is a mutable collection of mutable items that can be of different types. In other words, a list can be expanded and reduced and its items are mutable. The functions used to expand a list are: append(), extend(), insert(). " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 5]\n", "1\n" ] } ], "source": [ "alist = [1,2,5]\n", "print(alist) # prints the list\n", "print(alist[0]) # prints the 1st element of the list" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can add one item at a time to the end of the list using append()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 5, 7]\n" ] } ], "source": [ "alist.append(7)\n", "print(alist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use extend() to add more items" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 5, 7, 8, 3, 2]\n" ] } ], "source": [ "alist.extend([8, 3, 2])\n", "print(alist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can add an element at a certain index in the list" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 'New York', 2, 5, 7, 8, 3, 2]\n" ] } ], "source": [ "alist.insert(1, 'New York')\n", "print(alist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can remove the 1st occurrence of an item that contains a particular value from the list " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 5, 7, 8, 3, 2]\n" ] } ], "source": [ "alist.remove('New York')\n", "print(alist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also return an item with a certain index value and remove it from the list" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = alist.pop(3)\n", "v" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 5, 8, 3, 2]\n" ] } ], "source": [ "print(alist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can slice a tuple or a list to select subsets of those collections" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[5, 8]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alist[2:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can look for an item in a list of strings" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "cities = ['Rome', 'Paris', 'London', 'Berlin', 'Madrid', 'Athens']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def find_item(list, item):\n", " if (item in list):\n", " return 1\n", " else:\n", " return 0" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_item(cities, 'Madrid')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multi-dimensional list" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0.1, 2], [3, 4]]\n" ] }, { "data": { "text/plain": [ "0.1" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alist2d = [[0.1, 2], [3, 4]]\n", "print(alist2d)\n", "alist2d[0][0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### List comprehension\n", "List comprehension can be used to apply a function to a list of objects, as with a for loop, like a map() function or a lambda function." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "families = [\"Pippo/Pluto\", \"Qui/Quo/Qua\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's define a function that splits the tokens in a string and extracts the last element" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def leaf(family):\n", " length = len(family.split(\"/\"))\n", " leaf = family.split(\"/\")[length - 1]\n", " return leaf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we apply the function to a list of strings using a list comprehension" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Pluto', 'Qua']" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[leaf(family) for family in families]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can achieve the same result with the following line, kind of lambda function" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Pluto', 'Qua']" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[family.split(\"/\")[len(family.split(\"/\")) -1] for family in families ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can easily create nested list comprehension that work similarly to nested for loops" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[(1, 1), (1, 2), (1, 3), (1, 4)],\n", " [(2, 1), (2, 2), (2, 3), (2, 4)],\n", " [(3, 1), (3, 2), (3, 3), (3, 4)],\n", " [(4, 1), (4, 2), (4, 3), (4, 4)]]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[[(i,j) for j in range(1,5)] for i in range(1,5)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Functional programming\n", "We can get the same result by applying the leaf() function to each object in the families list using the map() function." ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Pluto', 'Qua']" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(map(leaf, families))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dictionary\n", "A dictionary is a symbol table: a collection of objects in which each object is associated to a key. The collection can be expanded and reduced." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "cartoon_characters = {\"Pippo\": 5,\n", " \"Pluto\": 4,\n", " \"Topolino\": 2}" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name: Pippo, score: 5\n", "Name: Pluto, score: 4\n", "Name: Topolino, score: 2\n" ] }, { "data": { "text/plain": [ "[None, None, None]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[print(\"Name: \" + name + \", score: \" + str(score)) for name, score in cartoon_characters.items()]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can print the objects' keys" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Pippo', 'Pluto', 'Topolino']" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(cartoon_characters.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and the values" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[5, 4, 2]" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(cartoon_characters.values())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## NumPy \n", "A list can be used as an array: a collection of mutable objects of the same type: chars, integers or float or bool. Let's import the NumPy library" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A NumPy array can be created from a list" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 2 4]\n" ] }, { "data": { "text/plain": [ "numpy.ndarray" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "l = [1, 2, 4]\n", "array = np.array(l)\n", "print(array) # prints the full array\n", "type(array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or from a range of number with start, end and step" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5 6 7 8]\n" ] } ], "source": [ "arange = np.arange(0, 9, 1) # an array from 0 to 9 with increment 1\n", "print(arange)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Python array is an object, an instance of a class, that contains a list of data of the same type and offers many functions to transform the data. We can write the data into a file" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "path = 'physics/data/myarray.txt'\n", "with open(path, 'wb') as f:\n", " arange.tofile(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can read the file and put the data into a new array" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5 6 7 8]\n" ] } ], "source": [ "with open(path, 'rb') as f:\n", " c = np.fromfile(f, dtype='int')\n", "print(c)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compute the sum, the mean, and the standard deviation of the elements in the array" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sum: 36.0\n", "Mean: 4.0\n", "Standard deviation: 2.582\n" ] } ], "source": [ "s = c.sum()\n", "m = c.mean()\n", "e = c.std()\n", "print(\"Sum: {0:.1f}\\nMean: {1:.1f}\\nStandard deviation: {2:.3f}\".format(s, m, e))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bi-dimensional array\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 2 3]\n", " [4 5 6]\n", " [7 8 9]]\n" ] } ], "source": [ "array2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n", "print(array2d) # prints the 2D array" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's print the element in the 3rd row and 2nd column" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "print(array2d[2, 1]) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An n-dimensional array is used to represent a transformation into an n-dimesional space. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Array dimension: 2\n" ] } ], "source": [ "d = array2d.ndim # dimension of the array \n", "print(\"Array dimension: {0:d}\".format(d))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each dimension consists of a tuple of numbers that represents its shape." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3, 3)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "array2d.shape # shape of the multidimensional array" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compute the sum of the values of the array along one dimension or axix, for example along the columns " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([12, 15, 18])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "array2d.sum(axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or along the rows" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 6, 15, 24])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "array2d.sum(axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may want to initialize an array with zeros" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0. 0.]\n", " [0. 0. 0.]\n", " [0. 0. 0.]]\n" ] } ], "source": [ "zeros2d = np.zeros((3,3))\n", "print(zeros2d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or with ones" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 1. 1.]\n", " [1. 1. 1.]\n", " [1. 1. 1.]]\n" ] } ], "source": [ "ones2d = np.ones((3, 3))\n", "print(ones2d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or we might need an identity matrix, a square matrix whose diagonal values are ones and all the rest zeros" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0.],\n", " [0., 1., 0.],\n", " [0., 0., 1.]])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.eye(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes we need a sample of real numbers from an interval that are equally spaced. The linspace() function can be used to create such samples. It takes as input the two endpoints of the interval and the number of sample data points equally spaced within that interval. It is similar to range() but instead of setting the step we set the number of data points in the sample. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.linspace(0., 1., 11)\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reshaping\n", "The data points to be represented in a matrix, or in another multi-dimesional array, may come from a sequence so that once they are in a unidimensional array we have to change its shape adding the missing dimensions and putting the data points in the right place. After a reshaping operation The number of elements will stay the same but the shape of the array will be different." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 2 3]\n", " [4 5 6]\n", " [7 8 9]]\n" ] } ], "source": [ "l = 1, 2, 3, 4, 5, 6, 7, 8, 9\n", "m1 = np.array(l)\n", "m2 = m1.reshape(3,3) # this is the same array but represented as a 3x3 matrix\n", "print(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also flatten the data back to its original shape" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3, 4, 5, 6, 7, 8, 9])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2.flatten()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As said at the beginning of this section an array contains mutable object, that is, each object can change value (not type)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 2 3]\n", " [4 0 6]\n", " [7 8 9]]\n" ] } ], "source": [ "m2[1, 1] = 0\n", "print(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Resizing\n", "We may need to create a new array, for example the column vectors from a matrix, by resizing an array. After the risizing the shape will be different but the dimensions will stay the same so to create a column vector we have to create a nwe array and copy the values of the resized (or of the original matrix) into it." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1., 2., 3.])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v_shape = 3\n", "v1 = np.resize(m2, (v_shape, 1))\n", "v1\n", "v2 = np.zeros(3)\n", "for i in range(0, 3):\n", " v2[i] = v1[i];\n", "v2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Boolean arrays\n", "We can apply logical operators to arrays as well as to numbers. We apply a logic operator to a random matrix, a matrix whose elements are a sample of pseudo-random numbers from a uniform distribution in the interval [0, 1)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[False, True, True],\n", " [ True, True, True],\n", " [False, False, False]])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = np.random.rand(3, 3)\n", "A = R > 0.5\n", "A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instead of representing the logical values with True or False we can represent them with the integers 1 and o respectively" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 1, 1],\n", " [1, 1, 1],\n", " [0, 0, 0]])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.astype(int)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can filter the elements of an array according to the logical rule defined before" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.66377115, 0.70955479, 0.96854003, 0.76779624, 0.77286988])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R[A]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can apply different rules on the array elements depending on the result of the logical operator" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ True, False, False],\n", " [False, False, False],\n", " [ True, True, True]])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.where(R > 0.5, R - 0.5, R + 0.5) > 0.5" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: total: 1.11 s\n", "Wall time: 1.13 s\n" ] } ], "source": [ "I = 5000\n", "%time mat = np.random.standard_normal((I, I))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Concatenation\n", "Let's say we have four 2x2 matrices A, B, C and D and we want to concatenate them in one 4x4 matrix M\n", "\n", "$$ M = \\begin{bmatrix} A & B \\\\ C & D \\end{bmatrix} $$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[1, 2],\n", " [3, 4]]),\n", " array([[5, 6],\n", " [7, 8]]),\n", " array([[0., 0.],\n", " [0., 0.]]),\n", " array([[1., 1.],\n", " [1., 1.]]))" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2], [3, 4]])\n", "B = np.array([[5, 6], [7, 8]])\n", "C = np.zeros([2, 2])\n", "D = np.ones([2, 2])\n", "A, B, C, D" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 2., 5., 6.],\n", " [3., 4., 7., 8.],\n", " [0., 0., 1., 1.],\n", " [0., 0., 1., 1.]])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M_up = np.concatenate([A, B], axis=1)\n", "M_down = np.concatenate([C, D], axis=1)\n", "M = np.concatenate([M_up, M_down], axis=0)\n", "M" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vectorized operators\n", "An important feature of Python arrays is that mathematical operators on arrays do not need to use loops, an operator is applied to all members of an operand array" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 5., 8., 11., 14., 17., 20., 23., 26., 29.])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.arange(0., 9., 1)\n", "y = 3 * x + 5\n", "y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "vectorization is even more useful for multi-dimensional arrays " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[6, 3, 3],\n", " [3, 1, 0],\n", " [8, 5, 0]])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.random.randint(0, 10, (3, 3))\n", "A" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 1, 9],\n", " [0, 5, 2],\n", " [8, 5, 1]])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B = np.random.randint(0, 10, (3, 3))\n", "B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compute the sum of two matrices with one single statement without loops. The operator is apĆ¼plied to an element of the first matrix and the corresponding element in the second matrix" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[15, 4, 12],\n", " [ 3, 6, 2],\n", " [16, 10, 1]])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A + B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Broadcasting\n", "Broadcasting allows to use an operator with operands of different shapes, for example a matrix and a scalar" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[12, 4, 12],\n", " [ 3, 8, 5],\n", " [11, 8, 4]])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B + 3" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[18, 2, 18],\n", " [ 0, 10, 4],\n", " [16, 10, 2]])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2 * B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Two matrices A and B can be used as operand of an operator O if the matrix with the smaller shape can be broadcasted over the bigger one by moving it along one index or both." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 2, 3],\n", " [4, 5, 6],\n", " [7, 8, 9]])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n", "A" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3])" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B = np.array((1, 2, 3))\n", "B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clearly we can move B over A one row at a time. " ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1, 4, 9],\n", " [ 4, 10, 18],\n", " [ 7, 16, 27]])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A * B" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Broadcasting doesn't change the associative rule of the operator." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1, 4, 9],\n", " [ 4, 10, 18],\n", " [ 7, 16, 27]])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B * A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrix multiplication" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1, -2],\n", " [ 5, -9]])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C = np.array([[1, -2], [5, -9]])\n", "C" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-9, 2],\n", " [-5, 1]])" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D = np.array([[-9, 2], [-5, 1]])\n", "D" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0],\n", " [0, 1]])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C @ D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since D is the inverse of C, that is $D = C^{-1}$ then CD = DC = I, where I is the identity matrix." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0],\n", " [0, 1]])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D @ C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can apply an operator C to a vector x in two ways: directly or through their transpose $\\hat{C}\\vec{x} = \\vec{x}^T\\hat{C}^T$" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-1, -4])" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.array([1, 1])\n", "C @ x" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-1, -4])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x.T @ C.T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrix multiplication for collaborative filtering\n", "A case is the computation of item similarities. Given an interaction matrix A where the rows are users and the columns represent\n", "items, a 1 represent an interaction between a user and an item. A similarity measure between items can be computed from the interaction matrix A as shown below." ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[3, 2, 1, 2],\n", " [2, 2, 1, 1],\n", " [1, 1, 1, 0],\n", " [2, 1, 0, 2]])" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1,1,0,1], [1,1,1,0], [1,0,0,1]]) # 3 users and 4 items\n", "AT = A.transpose()\n", "S = AT.dot(A) # S is symmetric\n", "S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also consider the ratings of the users on the items, e.g. on a scale from 1 to 5 (0 means not rated) " ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[50, 15, 12, 17],\n", " [15, 9, 0, 6],\n", " [12, 0, 9, 3],\n", " [17, 6, 3, 6]])" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[5,3,0,2], [4,0,3,1], [3,0,0,1]])\n", "AT = A.transpose()\n", "S = AT.dot(A)\n", "S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now recommend items to a user by multiplying the user's ratings by the similarity matrix. The output is a vector of values that represent how much the user should rate each item. We will have to remove from the list the items that have been already rated by the user in order to recommend previously unseen items." ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[329 114 66 115]\n" ] } ], "source": [ "u1 = A[0] # user 1 interactions\n", "r1 = S.dot(u1)\n", "print(r1)" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "66 (array([2], dtype=int64),)\n" ] } ], "source": [ "u1_nr = (u1 == 0) # find items not rated by user 1\n", "item_i = np.where(u1_nr) # find the index of the 1st not rated item\n", "print(r1.dot(u1_nr), item_i)" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[253 66 78 83]\n" ] } ], "source": [ "u2 = A[1]\n", "r2 = S.dot(u2)\n", "print(r2)" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1329 (array([1], dtype=int64),)\n" ] } ], "source": [ "u2_nr = (u2 == 0)\n", "item_i = np.where(u2_nr)\n", "print(r2.dot(u2), item_i)" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([167, 51, 39, 57])" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u3 = A[2]\n", "S.dot(u3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Record array\n", "A record array can contain objects of different types in different colums, e.g. all integers in a column and all strings in another column" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 0., b'') (0, 0., b'')]\n" ] } ], "source": [ "recarray = np.zeros((2,), dtype=[('Integers','i4'),('Float','f4'),('Strings','a10')]) # a record array of two empty records (dtype is optional)\n", "print(recarray)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[array([1, 2]), array([1.5, 2.5]), array(['Rome', 'Paris'], dtype='\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", " \n", " \n", " \n", " \n", " \n", " \n", "
openhighlowclosevolume
029.0129.2928.7029.00422606
128.8129.1528.7128.93265548
\n", "" ], "text/plain": [ " open high low close volume\n", "0 29.01 29.29 28.70 29.00 422606\n", "1 28.81 29.15 28.71 28.93 265548" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "path = 'covid19/data/tui-dat.csv'\n", "df = pd.read_csv(path)\n", "df[0:2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear Algebra" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1.75]\n", " [1.75]\n", " [0.75]]\n", "[[12.]\n", " [-2.]\n", " [10.]]\n" ] } ], "source": [ "# Solve the linear system AX = B\n", "A = np.array([[3, 6, -5], \n", "[1, -3, 2],\n", "[5, -1, 4]])\n", "\n", "B = np.array([[12],\n", "[-2],\n", "[10]])\n", "\n", "Ainv = np.linalg.inv(A) # inverse of A\n", "\n", "X = Ainv.dot(B) # X = A^(-1)B\n", "print(X)\n", "\n", "print(A.dot(X)) # returns B" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-2.0\n", "[ 1. 2. -1.]\n" ] } ], "source": [ "# Determinant of a squared matrix\n", "# 1 2 3\n", "# S = 0 2 1\n", "# 0 0 -1\n", "\n", "S = np.array([[1,2,3],\n", " [0,2,1],\n", " [0,0,-1]])\n", "det = np.linalg.det(S)\n", "print(det)\n", "l = np.linalg.eigvals(S) # eigenvalues\n", "print(l)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Histograms" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAT8AAAEvCAYAAAAzcMYwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAR0UlEQVR4nO3df6xfdX3H8efLytBMFyFcWG3rSlxNBDdLctO58MeYOOnAWP2DpSwjTUZS/ygJJJpZ9A/xj2YsU9iSiUtVYrOhrIkaGsHNSjTGRMFbBkgpzEY6KO3oVWeUf1ha3vvjHuYXdnvvt98f/d57P89HcnPP9/M953zfR7mvfj7nc875pqqQpNa8ZtIFSNIkGH6SmmT4SWqS4SepSYafpCYZfpKa9NpJFwBwwQUX1Pr16yddhqQV5sCBAz+tqqn53lsS4bd+/XpmZmYmXYakFSbJf57uPYe9kppk+ElqkuEnqUmGn6QmGX6SmmT4SWqS4SepSYafpCYZfpKaZPhJapLhJ6lJS+LeXrVr/c77/m/5yG3XTLAStcaen6QmGX5aMtbvvO8VPUFpnAw/SU0y/CQ1yfCT1CTDT1KTDD9JTTL8JDXJ8JPUpEXDL8nrkjyU5NEkB5N8smu/NclzSR7pfq7u2eaWJIeTPJXkqnEegCQNop/b214E3l1VLyQ5B/hekm90791RVZ/qXTnJJcBW4FLgzcC3krytqk6NsnBJGsaiPb+a80L38pzupxbYZAtwT1W9WFVPA4eBTUNXKkkj1Nc5vySrkjwCnAD2V9WD3Vs3JnksyV1Jzuva1gDP9mx+tGuTpCWjr/CrqlNVtRFYC2xK8g7gs8BbgY3AceDT3eqZbxevbkiyPclMkpnZ2dkBSpekwZ3RbG9V/QL4DrC5qp7vQvEl4HP8emh7FFjXs9la4Ng8+9pdVdNVNT01NTVI7ZI0sH5me6eSvKlbfj3wHuDJJKt7Vvsg8Hi3vA/YmuTcJBcDG4CHRlq1JA2pn9ne1cCeJKuYC8u9VfX1JP+UZCNzQ9ojwIcAqupgkr3AE8BJYIczvXo1H12lSVs0/KrqMeCyedqvX2CbXcCu4UrTcuYTmrXUeYeHpCYZfpKaZPhJapLhJ6lJhp+kJhl+kppk+ElqkuEnqUmGn6QmGX6SmmT4SWpSPw82kEbChxloKTH8NHaGnpYih72SmmT4SWqS4SepSZ7z00B8WKmWO8NPS47BqrPBYa+kJhl+kprksFcj4/V8Wk7s+Ulqkj0/LVtOjGgY9vwkNcnwk9Qkw09SkxYNvySvS/JQkkeTHEzyya79/CT7k/y4+31ezza3JDmc5KkkV43zACRpEP30/F4E3l1V7wQ2ApuTvAvYCTxQVRuAB7rXJLkE2ApcCmwG7kyyagy1S9LAFp3traoCXuhentP9FLAFuKJr3wN8B/ho135PVb0IPJ3kMLAJ+P4oC9fS4fV9Wo76utSl67kdAH4X+ExVPZjkoqo6DlBVx5Nc2K2+BvhBz+ZHuzZpYF7WolHra8Kjqk5V1UZgLbApyTsWWD3z7eL/rZRsTzKTZGZ2dravYiVpVM5otreqfsHc8HYz8HyS1QDd7xPdakeBdT2brQWOzbOv3VU1XVXTU1NTZ165JA2hn9neqSRv6pZfD7wHeBLYB2zrVtsG3Nst7wO2Jjk3ycXABuChEdctSUPp55zfamBPd97vNcDeqvp6ku8De5PcADwDXAtQVQeT7AWeAE4CO6rq1HjK10rnZIrGpZ/Z3seAy+Zp/xlw5Wm22QXsGro6SRoT7/CQ1CSf6qIz4jBUK4U9P0lNMvwkNcnwk9Qkw0+ntX7nfZ7j04pl+ElqkuEnqUmGn6QmGX6SmmT4SWqS4SepSd7epmXHy280Cvb8JDXJ8JPUJMNPUpMMP0lNMvwkNcnZXi3K2VWtRPb8JDXJ8JPUJMNPUpMMP60IPnhVZ8oJD60ovQF45LZrJliJljrDTyuWQaiFOOyV1KRFwy/JuiTfTnIoycEkN3XttyZ5Lskj3c/VPdvckuRwkqeSXDXOA5CkQfQz7D0JfLiqHk7yRuBAkv3de3dU1ad6V05yCbAVuBR4M/CtJG+rqlOjLFyShrFoz6+qjlfVw93yr4BDwJoFNtkC3FNVL1bV08BhYNMoipWkUTmjc35J1gOXAQ92TTcmeSzJXUnO69rWAM/2bHaUhcNSks66vsMvyRuArwA3V9Uvgc8CbwU2AseBT7+86jyb1zz7255kJsnM7OzsmdYtSUPpK/ySnMNc8N1dVV8FqKrnq+pUVb0EfI5fD22PAut6Nl8LHHv1Pqtqd1VNV9X01NTUMMcgSWesn9neAF8ADlXV7T3tq3tW+yDweLe8D9ia5NwkFwMbgIdGV7IkDa+f2d7LgeuBHyV5pGv7GHBdko3MDWmPAB8CqKqDSfYCTzA3U7zDmV5JS82i4VdV32P+83j3L7DNLmDXEHVpQrw/Vq3wDg9JTTL8JDXJ8JPUJJ/qIsBzfWqPPT9JTTL8JDXJ8JPUJMNPUpMMP0lNMvwkNcnwUxP8aku9muEnqUmGn6QmGX6SmmT4SWqS4SepSYafpCYZfpKaZPhJapLhJ6lJhp+kJhl+kppk+ElqkuEnqUmGn6QmGX6SmrRo+CVZl+TbSQ4lOZjkpq79/CT7k/y4+31ezza3JDmc5KkkV43zACRpEP30/E4CH66qtwPvAnYkuQTYCTxQVRuAB7rXdO9tBS4FNgN3Jlk1juIlaVCLhl9VHa+qh7vlXwGHgDXAFmBPt9oe4APd8hbgnqp6saqeBg4Dm0ZctyQN5YzO+SVZD1wGPAhcVFXHYS4ggQu71dYAz/ZsdrRrk6Qlo+/wS/IG4CvAzVX1y4VWnaet5tnf9iQzSWZmZ2f7LUOSRqKv8EtyDnPBd3dVfbVrfj7J6u791cCJrv0osK5n87XAsVfvs6p2V9V0VU1PTU0NWr8kDaSf2d4AXwAOVdXtPW/tA7Z1y9uAe3vatyY5N8nFwAbgodGVLEnDe20f61wOXA/8KMkjXdvHgNuAvUluAJ4BrgWoqoNJ9gJPMDdTvKOqTo26cGkQvV9feeS2ayZYiSZt0fCrqu8x/3k8gCtPs80uYNcQdeks8Hts1TLv8JDUJMNPUpMMP0lNMvwkNcnwk9Qkw09Skww/SU0y/CQ1yfCT1CTDT1KT+rm3V1rRvN+3Tfb8JDXJ8JPUJMNPUpM859cgH2Ul2fOT1CjDT1KTDD9JTTL8JDXJ8JPUJMNPUpMMP0lNMvwkNcnwk9Qk7/BQs7zTpW32/CQ1adHwS3JXkhNJHu9puzXJc0ke6X6u7nnvliSHkzyV5KpxFS5Jw+in5/dFYPM87XdU1cbu536AJJcAW4FLu23uTLJqVMVK0qgses6vqr6bZH2f+9sC3FNVLwJPJzkMbAK+P3iJGgXPb0mvNMw5vxuTPNYNi8/r2tYAz/asc7Rrk6QlZdDw+yzwVmAjcBz4dNeeedat+XaQZHuSmSQzs7OzA5YhSYMZKPyq6vmqOlVVLwGfY25oC3M9vXU9q64Fjp1mH7urarqqpqempgYpQ5IGNtB1fklWV9Xx7uUHgZdngvcBX0pyO/BmYAPw0NBVamCe65Pmt2j4JfkycAVwQZKjwCeAK5JsZG5IewT4EEBVHUyyF3gCOAnsqKpTY6lckobQz2zvdfM0f2GB9XcBu4YpSpLGzTs8JDXJ8JPUJMNPUpN8qssK5Azv4F7+3+7IbddMuBKNmz0/SU0y/CQ1yfCT1CTDT1KTnPCQ5tE7aeTkx8pkz09Skww/SU0y/CQ1yfCT1CTDT1KTDD9JTTL8JDXJ8JPUJC9yXiF8kot0Zuz5SWqS4SepSYafpCYZfpKaZPhJapLhJ6lJhp+kJhl+0iLW77zP6yhXoEXDL8ldSU4kebyn7fwk+5P8uPt9Xs97tyQ5nOSpJFeNq3DN8Q9TGkw/Pb8vAptf1bYTeKCqNgAPdK9JcgmwFbi02+bOJKtGVq0kjcii4VdV3wV+/qrmLcCebnkP8IGe9nuq6sWqeho4DGwaTamSNDqD3tt7UVUdB6iq40ku7NrXAD/oWe9o1yYte36p0coy6gmPzNNW866YbE8yk2RmdnZ2xGVI0sIGDb/nk6wG6H6f6NqPAut61lsLHJtvB1W1u6qmq2p6ampqwDIkaTCDht8+YFu3vA24t6d9a5Jzk1wMbAAeGq5ESRq9Rc/5JfkycAVwQZKjwCeA24C9SW4AngGuBaiqg0n2Ak8AJ4EdVXVqTLVL0sAWDb+quu40b115mvV3AbuGKUqSxs07PCQ1yfCT1CS/w2MZ8nY2aXj2/CQ1yfCT1CSHvcuIw11pdOz5SWqS4ScNwOcoLn+Gn6QmGX6SmuSEhzQEn/G3fNnzk9Qkw09Skww/SU0y/CQ1yfCT1CTDTxoRL3xeXgw/SU0y/CQ1yYuclziHUdJ42POT1CTDT1KTDD9JTTL8JDXJ8JPUJGd7lyhneaXxGir8khwBfgWcAk5W1XSS84F/AdYDR4A/q6r/Hq5MSRqtUQx7/7iqNlbVdPd6J/BAVW0AHuheS9KSMo5h7xbgim55D/Ad4KNj+JwVx6GudPYM2/Mr4JtJDiTZ3rVdVFXHAbrfFw75GZI0csP2/C6vqmNJLgT2J3my3w27sNwO8Ja3vGXIMiTpzAwVflV1rPt9IsnXgE3A80lWV9XxJKuBE6fZdjewG2B6erqGqWO5c7grnX0DD3uT/GaSN768DLwXeBzYB2zrVtsG3DtskZI0asP0/C4Cvpbk5f18qar+NckPgb1JbgCeAa4dvkxp+ZivJ+/XWi49A4dfVf0EeOc87T8DrhymKEkaN+/wkM4Cv9x86fHeXklNMvwkNcnwk9Qkw09Skww/SU0y/M4yv9haWhq81GVCDEBpsuz5SWqS4SepSYafpCYZfpKa5ITHGL08qeG9nOrlfb5Lg+F3FjizKy09DnulCfK6z8mx5yctUQ6Px8vwk5YAg+7sc9grqUmGn6QmOewdgkMVjYMTIGeH4Tdi/ocrLQ+G34gYetLyYvgtYL5hrSEnrQyGn7TMee55MIaftAzMN+Iw6IbjpS6SmjS2nl+SzcDfA6uAz1fVbeP6rFHzvJ5WIofHrzSW8EuyCvgM8CfAUeCHSfZV1RPj+DypRQv9I23QLS5VNfqdJn8I3FpVV3WvbwGoqr+eb/3p6emamZkZeR1nwt6eWrWSwzHJgaqanu+9cQ171wDP9rw+CvzBKD+g33/ZDDVpYQs9dHcp9CDHVcO4wi/ztL2ii5lkO7C9e/lCkqcW2N8FwE9P+2F/c8b1LWULHusK0spxwjI51sX+jvr8OxvrsQ7wt/47p3tjXOF3FFjX83otcKx3haraDezuZ2dJZk7XdV1pWjnWVo4TPNalalyXuvwQ2JDk4iS/AWwF9o3psyTpjI2l51dVJ5PcCPwbc5e63FVVB8fxWZI0iLFd51dV9wP3j2h3fQ2PV4hWjrWV4wSPdUkay6UukrTUeXubpCYtq/BL8pEkleSCSdcyLkn+NsmTSR5L8rUkb5p0TaOWZHOSp5IcTrJz0vWMS5J1Sb6d5FCSg0lumnRN45RkVZJ/T/L1SdfSj2UTfknWMXe73DOTrmXM9gPvqKrfB/4DuGXC9YxUz62PfwpcAlyX5JLJVjU2J4EPV9XbgXcBO1bwsQLcBByadBH9WjbhB9wB/BWvulh6pamqb1bVye7lD5i7RnIl2QQcrqqfVNX/APcAWyZc01hU1fGqerhb/hVzwbBmslWNR5K1wDXA5yddS7+WRfgleT/wXFU9OulazrK/BL4x6SJGbL5bH1dkIPRKsh64DHhwwqWMy98x1zl5acJ19G3JPMw0ybeA357nrY8DHwPee3YrGp+FjrWq7u3W+Thzw6a7z2ZtZ8Gitz6uNEneAHwFuLmqfjnpekYtyfuAE1V1IMkVEy6nb0sm/KrqPfO1J/k94GLg0SQwNwx8OMmmqvqvs1jiyJzuWF+WZBvwPuDKWnnXIi166+NKkuQc5oLv7qr66qTrGZPLgfcnuRp4HfBbSf65qv5iwnUtaNld55fkCDBdVUv+RvFBdA+BvR34o6qanXQ9o5bktcxN5FwJPMfcrZB/vhLvAMrcv9Z7gJ9X1c0TLues6Hp+H6mq9024lEUti3N+jfkH4I3A/iSPJPnHSRc0St1kzsu3Ph4C9q7E4OtcDlwPvLv7//KRrnekJWDZ9fwkaRTs+UlqkuEnqUmGn6QmGX6SmmT4SWqS4SepSYafpCYZfpKa9L8Yl8gnwPCxEwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "mu, sigma = 0.0, 1.0 # mean value and standard deviation\n", "sample_size = 10000\n", "v = np.random.normal(mu,sigma, sample_size) # Normal distribution\n", "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5, 5))\n", "n = ax.hist(v, bins=100) # n contains the number of samples in each bin, the one-dimensional grid values and the plot object" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# SciPy\n", "Let's import the SciPy library and the Matplotlib library for visualization" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from scipy.optimize import curve_fit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear fitting" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.99569401 2.03516151]\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Creating a linear function to model and create data\n", "def linearfunc(x, a, b):\n", " return a * x + b\n", "\n", "x = np.linspace(0, 10, 100) # start = 0, stop = 0, samples = 100\n", "y = linearfunc(x, 1, 2) # linear function defined in [0,10]\n", "plt.figure()\n", "plt.plot(x, y)\n", "# Adding noise to the data\n", "yn = y + 0.9 * np.random.normal(size=len(x))\n", "plt.plot(x,yn)\n", "# Executing curve_fit on noisy data\n", "popt, pcov = curve_fit(linearfunc, x, yn) # estimates the parameters of the linear function a, b\n", "print(popt)\n", "yfit = linearfunc(x,popt[0],popt[1]) # the fitted linear function overlaps with the original one\n", "plt.plot(x,yfit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gaussian fitting" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.97061079 5.08490729 -2.02934528]\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Creating a Gaussian function to model and create data\n", "def gaussfunc(x, a, b, c):\n", " return a*np.exp(-(x-b)**2/(2*c**2))\n", "\n", "# Generating clean data\n", "x = np.linspace(0, 10, 100)\n", "y = gaussfunc(x, 1, 5, 2)\n", "\n", "# Adding noise (gaussian) to the data (also gaussian)\n", "yn = y + 0.2 * np.random.normal(size=len(x))\n", "plt.figure()\n", "plt.plot(x,yn) # plot the gaussian function with random noise - red color\n", "# Executing curve_fit on noisy data\n", "popt, pcov = curve_fit(gaussfunc, x, yn) # estimates the parameters of the gaussian function a, b, c\n", "print(popt)\n", "yfit = gaussfunc(x,popt[0],popt[1],popt[2]) # plot the fitted gaussian\n", "plt.plot(x,yfit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solve equations" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.]\n", "[2.]\n" ] } ], "source": [ "from scipy.optimize import fsolve\n", "curve = lambda x: (x - 1)*(x - 2)\n", "solution1 = fsolve(curve, 0)\n", "print(solution1)\n", "solution2 = fsolve(curve,3)\n", "print(solution2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Univariate interpolation" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from scipy.interpolate import interp1d\n", "x = np.linspace(0, 3*np.pi, 10)\n", "y = np.sin(x)\n", "\n", "# create a linear interpolation function\n", "linearfunc = interp1d(x, y, kind='linear')\n", "# create a quadratic interpolation function\n", "quadraticfunc = interp1d(x, y, kind='quadratic')\n", "# interpolate on a grid of 1,000 points\n", "x_interp = np.linspace(0, 3*np.pi, 100)\n", "linear_interp = linearfunc(x_interp)\n", "quadratic_interp = quadraticfunc(x_interp)\n", "# plot the results\n", "plt.figure() # new figure\n", "plt.plot(x, y,'o') # plot the data points\n", "plt.plot(x_interp, linear_interp, x_interp, quadratic_interp); # plot the linear and quadratic interpolations\n", "plt.legend(['data', 'linear', 'quadratic'], loc='best')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Interpolation of noisy data\n", "from scipy.interpolate import UnivariateSpline\n", "sample = 30\n", "x = np.linspace(0.5, 10*np.pi, sample)\n", "y = np.cos(x) + np.log10(x) + np.random.randn(sample) / 10\n", "linearfunc = interp1d(x, y, kind='linear')\n", "splinefunc = UnivariateSpline(x, y, s=1)\n", "x_interp = np.linspace(0.5, 10*np.pi, 1000)\n", "linear_interp = linearfunc(x_interp)\n", "spline_interp = splinefunc(x_interp)\n", "plt.figure()\n", "plt.plot(x,y,'o')\n", "plt.plot(x_interp, linear_interp, x_interp, spline_interp)\n", "plt.legend(['data', 'linear', 'spline'], loc='best')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multivariate Interpolation" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def func(x, y):\n", " return np.sqrt(x**2 + y**2)+np.sin(x**2 + y**2)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# creates a 2D grid of 1000x1000 points with coordinates values from 0 to 5 for both x and y\n", "grid_x, grid_y = np.mgrid[0:5:100j, 0:5:100j] \n", "\n", "# sample data points\n", "xy = np.random.rand(1000, 2)\n", "z = func(xy[:,0]*5, xy[:,1]*5)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from scipy.interpolate import griddata\n", "# interpolating data\n", "grid_z0 = griddata(xy*5, z, (grid_x, grid_y), method='cubic')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Interpolated')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAADHCAYAAAAanejIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9eZxkWVXuD3/X3vuciJxqzqqcKmueemAQEMUBUOZRBKGZuhsHHK5cREARZR5FkEG9oOJlEBC56k+RQcUBRUWuel9EoJvuququrqqsecwhIs45e+/3j7XPicjq6m6gGwql9ucTlZmRUREnItdee61nPetZEmPk8rq8Lq/L6/L677/Mpb6Ay+vyurwur8vrm7MuO/zL6/K6vC6vb5N12eFfXpfX5XV5fZusyw7/8rq8Lq/L69tkXXb4l9fldXldXt8m67LDv7wur8vr8vo2WZcd/rfAEpGXisi77+nHfhXPFUVk+z3xXJfX5XVPLxH5tIj8+DfptV4pIh/4ZrzWpVyXHf43YInI9SLynyKyJCJHReSdIrLqjh4fY3x9jPGrMuyv5bGX1+V1sSUit4rIw76Kx33THO7dXV/te/p2X5cd/j28ROSFwK8CLwZWAt8FbAI+JSL5RR7vvrlXeHldXt+cJSL2Ul/D5bV8XXb49+ASkRXAq4DnxRj/IsZYxhhvBZ6KOv1npdTxj0TkAyJyHrj+wnRSRK4VkQMickpEXjYYvQw+VkQ2J1jmOhG5TUROisgvDzzPd4rIZ0XkrIgcEZHfvNihc3l9e66Uif6jiLxZRM6IyC0i8uj0u9cB3wf8pogsiMhvpvt3i8inROS0iHxFRJ468HzvTdnsJ0RkEXhouu9d6f/Mi8jfi8imgf/zIBH5VxE5l74+6A6udZuI/G3aEydF5IN11iwivw/MAn+ervUX0v3fJSL/nOz/P0TkIQPPtyVdy7yIfApYd49+uN+i67LDv2fXg4A28CeDd8YYF4BPAg9Pdz0R+CNgFfDBwceKyBXA/wKeCUyiWcL0Xbzu9wK7gB8EXi4ie9L9HngBaszfnX7/M1/727q8/huvBwJfQW3kTcDviYjEGH8Z+AzwszHG0Rjjz4rICPAp4EPAeuDpwP8SkSsHnu8ZwOuAMeAf033PBF6TXuPzJJsXkTXAx4F3AGuBXwc+LiJrL3KdArwBmAL2ABuBVwLEGJ8N3AY8Pl3rm0RkOj33a4E1wIuAPxaR8fR8HwL+PV3Ta4DrvuZP7r/guuzw79m1DjgZY6wu8rsj9KOIz8YY/zTGGGKMnQse9xTgz2OM/xhjLICXA3clePSqGGMnxvgfwH8A9waIMf57jPFfYoxVyjR+G3jw1/fWLq//putAjPF3Y4weeB8aZGy4g8c+Drg1xvieZFP/D/hj1Gbr9Wcxxn9Ktt1N9308xvgPMcYe8MvAd4vIRuCxwM0xxt9Pz/cHwI3A4y984Rjj3hjjp2KMvRjjCfRwuDNbfhbwiRjjJ9K1fAr4N+AxIjILPAB4WXq+fwD+/Kv5sP6rr8v48T27TgLrRMRdxOlPpt8DHLyT55ga/H2McUlETt3F6x4d+H4JGAUQkZ3oxrg/MIz+vf/9rt7E5fVttRrbSbYGyX4usjYBDxSRswP3OeD3B36+mG0P2vOCiJxG7XwKOHDBYw9wkYxWRNajmcD3odmDAc7cwXXW1/ojIjJ4eGTA36XXPRNjXLzgdTfeyfP9t1iXI/x7dn0W6AE/PHhnSoUfDfxNuuvOIvYjwMzA/x1C092vZ70TjZh2xBhXAC9FU+PL6/L6ataFdnoQ+PsY46qB22iM8afv5P/AgCMVkVEUYplLt00XPHYWOHyR53hDeu57JVt+Fstt+WLX+vsXXOtIjPGN6B5bnfbl4Ov+t1+XHf49uGKM59Ci7W+IyKNEJBORzcD/AQ6xPBK6o/VHwONTMStPz/f1Oukx4DywICK7gZ++i8dfXpfX4DoGbB34+WPAThF5drLtTEQeMFAzuqP1GBH53mTPrwE+F2M8CHwiPd8zRMSJyNOAK9LrXLjGgAXgbMLnX3wX1/oBdB89UkSsiLRF5CEiMhNjPIDCO68SkVxEvpeLwEj/Hddlh38Prxjjm9BI+s2os/0cGm38YMIw7+r/fwl4HvBhNBKZB46jmcPXul6EFtHmgd8F/vDreI7L69t3vR14SmLwvCPGOA88ArgGjc6PohTk1l08z4eAVwCngfuhRVxijKfQusALgVPALwCPizGevMhzvAr4DuAcWoz9kwt+/wbgVxIj50XpQHkiuhdPoHvwxfR93jPQgvXpdG3vv8tP47/BkssDUL61V0qBz6KwzC2X+HIur8vra1oi8l7gUIzxVy71tVxelyP8b8klIo8XkeGEMb4Z+E/g1kt7VZfX5XV5/Vdfd+nwReR/i8hxEfniHfxeROQdIrJXRL4gIt9xz1/mt916Iv2i1g7gmng5FbvH12Xbvry+3dZdQjoi8v1oseT9McarLvL7x6CY82NQTOztMcYHfgOu9fK6vO7Rddm2L69vt3WXEX5qSjh9Jw95IrphYozxX4BVIjJ5T13g5XV5faPWZdu+vL7d1j2B4U+zvNniEHctBXB5XV7/FdZl2768/lute6LT9mIc8YviRCLyXOC5ANLK75dNLdcrikVJeew02YY1mFZ2B68Wb/eC2hwYib0S08oQic2FXfz7iEj62jyHfi/0H3/hu6u6FWcPLrJyZgTXdsT06BiFsluxcHiekemVSJ419weEGCH0Kr0/6hMuR9Ju3z8SixLTcsSixLYdImAkYiVgJGKIOAmY9LMlNO+xfg8RIUb9yUdDrxswrQwfDQEhRMFHQ4w0jxv8TIWYXlNf10qAXkF7SMjE67Wg19LtRFpD+on6KAQMZbRU0eIxVMFQdP2yv6tA87xOArmpcHgy8WSi0YhJn00EApEygkeYXzIcu63Hmo0jSEs/76rrabWF0KtYPN1j4Ux5d5vMvi7bHhkZud/u3bvv5ktfXpfXxde///u/n4wxjt/1I2+/7gmHf4jlLckzaLHxdivG+DvA7wC0Ns/EiZc9b/nviZQHj5BtnERS7iECSBzYeoHitiO0Nk9iTHLiEikPzHHkLX/IxM89keFtG9QpSsTZgDUBkUhm9HtnApnxOBNw4smtxxBp2apxopkEnPFYQvNcJnqOf+Uc63etRETwGEJUx9n1jmNfOceK7esoYkYRLIV3dKqM0zed4kuv/CibX/xE8s2TlN5SVYYQhBAMMQgxSONKigNznHjHB1nxpIdy5iOfYuL5T2F0x3qcqeDQYdbuWs1wVrG2tciQLRlzXda4RVqmZNgUjJheuu5AiAaP4aYvdvmNn76RZ/3qvRjaMcV81WahyjlbDLNUOk7fdBo7O0WIhhAMIhFrIs56RvOCIVfibznMZ1/6V/zQG+/Hva+Giewco7LEv338FP/r187wpnesZeeVOd1oWYw5p/0ox6sVnPNDfOELgT9/0Wf5zlc8lE7IGd02jojQtiXDrmBV1mFj+zRr7CLT2Rk2uTOsMoGVJqclDiuGXiw5FwrOBjhcjvLZ/2wxumM9x6uVHPjyAh970T9z7+fei8/91n8wvOauqOHfONu+//3vH//t3/7tok+46b2/erv7xKQ/vInJnvU+AcQEjEkBisT0fTqIk10bYeB7PaCN9B9XBwrOqC07qW1fbTwb+GokAOhBHUXtIQUpAaHnndp2cPSq9L23FJWj8obSW7xPtu2NBhIRte+B9ysmXZcL2LRHW1lFZnU/DrmS3HjarmTEFrRsRW4qhk1BZjwtqWibMgUHFT4FGEu+xYJv0QuO0+UIHZ/RrTI6VUYVDT6oY7Hps9DXqRh2BWvyJUZtj3XZPONunhHTY5VZYsx0ySRgiSxGRzdmy2z7aG8l56sh5qsWZ3tDlMFSekuIgks+p36dtq0YcQVDtmDU9hi1PdqmZNR2aUtBLp5h02MptDgfhritt5aOz3jrffstNCJyoRzFV73uCYf/UeBnReTDaGHrXIzxyF3+ryhIpy+XHWOkOjRHPjODdKW5r3d4jmxmEjF6X3FojpPv+gPW/fSzyWenUugeiWs3sfZnnk1YO8HCuUh5aI580yTWpqjXRKzVzWOS068dWn0Q5MaTWa/RZnL+znhaxpMZPRRW7cyoUlRrCVhNC3AmMHrVECEu0QuOEA294OgFy6qr26x4/SOwm4Y5v+8WhmenKINukKJyeG+oKujecpxs4yTZpknWPe8ZxBhZ97xnIJOTdDpQ3naCY7/+UWZf8hRW7VrHYpnTshWjWY+z+RCjtscK12WlW6ItJcOmR542xLDpYQistousy88wb9ssZTmjruDAlxa5+TV/w55XPIGhzVMajVcWHwQfHD4YlmxGa3oz3/HaR9OZHeXmzpIa5U3H+Z1fu5WffPFaOtEgMdAWaEuHHM+w9Ji3Q7TutYrht96f+WqRj73or/nO1z2S4W0TdH1GlRxIFS1n3AhLoUURLWvtAlN2iXEbaJHRkoyVBlpSkTFPfm/P2XAcW0TyK4b4/uddxcwPbGT15hX87av/7z1g2l+nbd/JkiV70bwhJkcfBwMck76mA2B54NPPWJF+YGRSACRCY+v6fdCDwARy52m7ipZVRzfo/K30M0cgZZDo/yUy5rqEaCijoeMziuDoVhld7yiDpVfpQaC2nZy/NwQxjeOPXgOcAHhv1PmbQFlZrA3krqLMLJn1FMESMqEXHCOuRyYeE/WwywZsu15tKclMxZJvUUb1L1UwBHJKbymDabJsawJVMOTGUQS9jdiCjs8oW5aVtgNOP4MRCqx42uKxRLALGAIjpkdbKk5XI5yv2jgJdL1jqcrp+b57rQ8A/Uzjsu8Bhk2PtdkCa80i47bD2ZAzH9oAnCzH7o7JLVt36fBF5A+Ah6CiYIfQrrQMIMb4LrQ9+jHAXlS46zlf1StHkEpI75vy0Bwnfu/9jP/YdeQzCpOWhw9z8t3vZ/zHryXfqPflG6YY//FryTZMIaWkjSKIQD4xA0WkOJgOhf/xLPLNk7oZTMTb2GwKk5y/tSnyMYEsfe9MoGWrZc4/T06/F5xmB6LQQx1B1ctIpGUqfIAz+06yYvs6WsbRumKMozfM8aVXfIp7vfpxjGzRSN+aSFFZytuOc/ytH2Hi559OtmkKsXDybX/A+POfCdEQfcTNTLPh56/BzGygUwRiFFquaqKWjs0oo4I7w6bAYxgxPUwMzO4Z5UW/vZOZPS16qeE3S9c5ajs89I0PRjatoOsLet4RosJB6vQF0M0zummGs0WJiEYvK7Y5nvsOWGkW+IWfOsBb3rWGq67S6xk2JT55qLVZxlVXjXKqbPGoX/s+WlvH6IWSrs8ICN0qY8HkzWc4bHoEDG2pyKRgzERGaeGwtAVGxXP8hnkmdgfm7RC37V3kn37zizx60wrGd63l9sDfN9G272z5i1+X2igDTh8YiIrrA2HwbcUBh19/9cnZ19mCpCzY2IBzHmP0b2MkNo5v0OHX39cBjtq3QneaBXiNXFP5L5P+/62CJUtBU+ktzjp6lSUEoxmtNwSTHH698dMhEKKlitJkBzEKuVPnbCSCK2gFSxktWfT4aPAIGRAwGELzvtpSEYxh1PYIUa+zClbfj3f0vNpyiIIPhgIIlWbqVdpLzgTK4DRTJhCMgRTpZxJoU7LCdBXmhIQKeDyGc+VQ8/wxClWCUCUKRXC40D9QQffhKrvEuJ1nremx0giGgkwCa+0CZbS8+ouP51w1xFvu85Gv2tQutu7S4ccYn34Xv4/A//iaX1lB2cZW84kpxp9zHfnEFOL1vmz9FKse+2iy9ercAUSE1sQMVGhkQ//QIDn/fMM04z9+LXZ8guLmow1E5A1EAuXhI+SbN2AsiNHop84A6gPA2UBmS7q3HGPNzjXk6f62LRvnn5tqIB32DZZuBU7ffJZPvuhfePxbvod1O1dTRkv7yiGG3/RghrYO0wtLFEEhn27lyHetxvzSU7Ab19Ldf4jW5inWv+AZZBsndFMkL2Cnplm8+QjtLRvw3tBztkmth1ypqXZwjNoehTPcevMS26/IsTay+YphjHhc7GlkFB1H953jr1/yBR77aw/i/G0HWbFlko5vUfnIsU/fxOiDriRGR4wRH3RT9LzT9DgKnSxj/XbDqDvDC37TMbGnpBtL2uLJCIyZgraocKglkElFddUazldd5iuNvqpoqaJhoWxRBYUSMvF0Y4YhYDlDQCO3ljhaknHghpIX/tQJ3v7bgYldOfe5agU/8Y4rMFtH6IbAV7O+YbZ9kbXlbW9J9koD3Q3ECUTRokU0kaRYecGS2zn8/v+Nyx7W+FITwUYwEZMptOJcoBJLIRCsOu8a3siMwilOPG0rCdKM5A3MqXaOgMdgCZTG4oLuBx+FdnAK8QRHzzs6ZUbhLT2jUb/3hgoLIUX7UaHMCARvEYn4lBkULlBmBmv07+lEAzGLHkhZrLBEjfiTw69tbNgADjLjGfI5hsi8bbFQtoCcKphU2xK8V1iqCiZBVo4yGhZdK1XGoLSOTCosJZkERqTCmkg7lmRoptGWEps+J0NMmatVeCvqiR69UIjTQzV9nm2pmHDnmLI9Vhm170wK2qHirDuvQVw0dMMd1DW/hnXp5JHriKb5UWhtXE6AKA8f4ezHP4kbV7w3n55C4mCI038q0EJoMTdHPj1Fa8MMvVsPc/J/p6xho8I/5aEjnHz3B1j3k9cmSCjiDRoR2YjY0BwC5W2nOfKWP2f2JU9hbMc4mQ3kViOYzHjatmqi/5apGhy0ZUpW71zDE9/yICZ2jSJS4Qi0TMXYlUOUcZFeSiE7PqNTOk7edJoVbUdx9DZu/fU/Y+YXnsrYrim8D3hPg/MXtx7lxDs+xPjzn0ncOklZOArn6VWaAp/P2pxvtRl2Bbfc2uHTv/hFfuStD2DPVWMMm6LBCevbva4y/NQ79tAL5/n4i/+ZR/3a97Fq2wTH/26OW37tr9n5i5HR770anzZnr3RUKTUuKsPBWxfYcuValto5K7aO8U9fOMR9r2qxwnYZMwUmBm77co/NewJtUzJmO2TiOe1GOFOOYIgsVY6jN54nbltPiEY3STQJi80oo+NsWKB051ljKoZNxv2uGuIj797AriuE4+E8bSlZce8R9vfmOeeHlmVd3worWhoPL6Hv5G7/QLn9gTD4dcDp1/CPSP8wiIPPGqT/2MrgoYm2C+u0TjOQ4eauD2/WGLoznmFXY/mGYMrm6Y1EMjzGRrIUsQYKfBSqYBU/zxxdn7FU5vS8pagS3l9ZvBdicrwkrJ8IwQtldPgqplqXIXOexTxnqcq15pN3WLK57inbxSSMfTByHjYFw6agtJaWqRip2sy7NmfMMEWw9LzCTxHwwdBJtasaljrvSjo+Y6mVs9J16MaMcXueFUZte1gqkIq2VIyYHotmiRHTY9R2GbU9jEQWq5yFqkWvUlerh6seXKOux2R+lhWmo0SEYLBUtGzGqLRoW89mFmiL7pt7Yl1Shx9dJEbF27OZKeSC8CWbnWT8x68lRjjxe+9r4J5le3ng++LwHCfe8z7Gn3Mdrelp8qmUNUxOIV6NP5ucZvxHryObmEQqBT+j0cwgVpFo9XHBGmRyhvGfewZxcj2dXqRnIrmrUvTv6VlHbko6+4+zYfcKMqOF34BgiKzcuQ4tJ+lF9ou/+rVOh+dvPsHnX/pXxAhXv+6JXPmKJyCza6h8RWUNZWmbdDjfPMH4859JNjtJDBoZxiqlqK6PT5bBMjo7zfe/8QfIt45wpuoQrKE0ljHTUeYNgZYJ7LiyRS9Ynv3We7EUuozaJfY8cgorP8DK79vMUlUlB2+VeRShqByd/Uf5yqv/Evv6h5NdNcLhG+f5xIv28YLf3Ma9rx7GEjnw5SV+4adP8+vvWsPmKwwY6NolfDrtl0LOmZsX+feXfZr7vuYxrNi+jnNfOU22ewUwTJaKWB5h2PTIpAehxBnLfa9qE4isiB2+cMMC47thtZ3nthsWmhT/W2a5SJSIxGRvAa1jJfttsPt6xQtC+Qud/+CvJUXzF8sAvPSjaS9gIsEa/EDhtEzwZuk1mLEm4oOh5Soyo+l2ZbzaYjQNnu/S7yxhWfAWoqQCcCJOpAjdGpcKylBIxFuD9zFBODQEBkmnYQgClaVnIj5BO0YiVYJpSmcZsoW+XoKgMvFkRiP/zJRNxO+dNAw3H4Wuz5qgoPQWTGigUR+FIlio4IwM4YxCNcOmwBIImBSdB7JE6mhTgYESm8gchoWspcSJxIgLA39TH4Uln7Pg21gC7TDEkumQx4JeLBmSHIdlTAxdUxDiImfdwldna3eyLqHDj8QsKN7+7t/XIuzGqdsZerZ1ihgi637qWtz0BDEGikNzZNMDB0QEopBtnGL8R68jn57Sl0BoTU8PPEZpfq3J6QYSAoWJmg2X0upoADG48VmqTsQXAbGRwjpMgn5y5ykPnGH/6z7JVa96PGt2rqVtKzqpIt9aFvkvh3wy8XhjaIWS/IohHvXWB9P1juFto5QhY7Hq0as8hbd0JMOnyMxjaW2ZTBF/emtBKINoROSUAtkpHb3csWJ2M8d6BUXM6GYZY7YLTotbynKoGJYebTGsciUfet7nefrb7sf6bVOMPHaS82WX0z3TFKBqp18FwW6cZtsv/zDVzGqOdXqMzOY85s3fi9suHC2XsFlkeg+86Z3r2HOFIYonky7RRg7dMM/6nWsoM0d+ZRve9BDs5pWc/MoJ/vVX/oIHvPZRjO9eTUgbfSm0yMVjOU1pCjIpGJKcTCwHbjANvNP1ng/83DEk/9aZn73p3W+CnATNxQHMJTb0XLnQwYf0u3hBGDR4QCQn30A39X014yuKBjp11lBnAVYPHwx4q44fEzE1Y8YGyszSdU4DG+8SS0ZZM7Wzbw1Am0Cf0ZZYR61Q0jIVveCaYmbhFMYsE4zSK52ygYKhLBWPjzHZdor2i8IlbF9ZNl2ncFE369K2OR2XN/usZSrasaSVirk1k6dtylQPUubdgm+RG92ThdFovyRBPAnX98E0h0vHZ4QolNE2UOMquwSCFnElYCnBLGEToaMbnUJg6CFYJCgUoOszThajlNGy0g1RRsuw9LBExoxep8OywrSBLhkdCu5qDtJdr0vn8E3EjFS0do0z/oKnk8+OIwnrHSzogG6GfMcGIFAcSJDMzzxLC7lpE5W3HSWbmSTbPkkMsXHwzQ36EdWFGUJNfhABP3AADGyoaAxRIsHq5hIT6WUBGd/Ehhc+nc6GdZxY1MLvUKbpcMtVDebfMhVDttR0zlQIgRNfOcvErjFcFth65QhltBRhiTJYhqucrk/psOunw70yw3uD90LwVqP8qHCPD9LQ4QobKCpHt3K0XcVSlTOftRlxBUt5zqjtMWa7jNkOjopDNyyyY3eLH/n5Ga66IjIfzzHv24zYHpnxLFY5LdtioWg10X6IBrdpiqUyEKKl4zJWz27htu4i57MlymhZ4xZYvbtNh0UyNCI6fuM8b/4fp3nZOwtmdghjdoShe41ytNch3zPGd772EVQROpVroqKFrIVHKKJlvZ0HzrPGhAbe+fC717PzCuGYL3jDu9bx+l+8swbab+6Stu8zakj2HaRx6JBMctA2B2i6Nc5NpMlUo4mpyJu+Djhuapqv7z+veAGv9i/F8ueI6bDwLjQHQJG5xvm3Ms1qnfW0EqRpJTSQZtuWDNmyqWe10j7WyL7UgMfowVFGQ9dlFIne2cn6zr9rXLJtg0+BRYwQvUJEIf3O2oyOy+jkGS1XMeTKZp8N2ZIRp3THYdsji75h7hgUbm2ZUumbrkVmvMI2Va7UzXSoNHTryhHiMEtVThUsveA4lw3ho2EpthgzHdqiMJdNf7BMKsZsh/E4nzIOZT8tVLnWqaKl8krbLhP0BdA2JSWWTM7gY48x4xiSnGGTpYPjv3CELwIu09MvS848JuddHDhKPjupjnfZhhBa29Yz/nNPJ59dD9FDFMoDc5z87Q8qK2fjVNpMg5GU3iTQ4ISN8xf6m2yw9pUeE2OkmJsDieSz07oRvWYAPghiDXZ6I0Xh8T5QWE0NnfW0vKNwltx62rYkIFg8x/eexYjnL178WZ74lu9m/e5VDR6KAZeiApeKaEYirrJ095/ClxnZpimMsZRAENOk7KBf6/6A+rOrvEYVITEGjAR9DIKRwIkbl3jX/9zLU18wzZ+89TDTW9us2+0UF5VAGS0uYaM+GIx32myWeNaVNxSiEbUt2hgiAaFtyiZtbpsyUdsie65wvPlda5ndI5wIS/q8CItVxqmvnCY3Of/60r/iO177aFbuGG82xBkzwrApABI3umjgnftdNUQZKw7fuMT9rzTNZ/itsFzmbwfXNI1uNXYN/eL84EEQ6Tv/IMTB3vhUkG3qTwmmiSEdKDXOkuxeEozU7IeocA8BdfzRQKUHgA+i0I8LhCDJ+Vsq55teltJZMu+onEIYLVPRSvnIMgZb1KY6Q8RFQyaBnlHKpZGohV+jNlVJpG6XCz7ZsZcG4qlKxf5DsvfCW3wwlFZrWGrT+rq9kNGWkiJaRlLNCgqC6TcO1rZdw66Ft5Siz1k7/wL9u5w3bZzxhJjgHQn4mJhwBHLxTS0hwydqdEGwhiWrDLQqWJYq0zB3ul732ULV4rQd1czBLNGWJWz0tCRiMGQCY+bu2/Qlc/jGBEaG+vzZ2jl19h/l+K//ERtf8iO0t04s+1194rd3jxOjTzfB7lzHxAuvwc2OI/gm6q0pX8Q+jtlsphD7xj+Ipw46/5jqAr/7HiCy/id+TJ2+RCKR4sgxxdIteGe14Gv70ZFznnaWkVnlPS+5nM6+o/zrr/wjP/irD+YHf/X76QWPD4rvn/7KadbvWkkwtkmFq2jJTcXR/ee46eV/QUDY/eon0948RcdkicNvmmg/eChuPUK2aZIYrMI9VhkIhbcslbk2hPmMedemjJaRHRk/9nbL7isMU1uH2HJFTohLHL3pHOM7VyrDQXrM33ycVZtn6PgWIi0gQU2Jc11606TES1WuWGnIWHBtLJHSLjJmuoxJyb2usgRKROYbeOnglxf4u5d8gR9444P5njc8jKGtqymjsFC1FFNNaynk5OLxnKE0PVqi7J0bvxz5iZ84y+/97iqybyEMv9Uum07uZcll7fgHIvnakQ12ZMdwQQNTyg5qBy82NVoZhVPqLC9ITAFBiuhBmXGV7oemvhn6DLiYsobo9HtvIj6z+hou0LN92CezHmcDSy5nNO+RG89o1tNoP0E9NczjpKJlqiZyLqNGy22r1Nyu1w750icuv7HJthUTr2sQ3guIaQq61kZ6mWuatkpvCS19DS2c6pvsN2mp4y+iZdgUGCILpqBlFKuvr6VXOUSUMVZ6baSq0iGwlOWYdFistB3GbEfhIylT06M2utX9ARaFyFoJ+qqigdSUCSzj5JfR0jYlloiny7CUtCTDYVlthu62LV46hy+R0Vax7L4QheHdqxl6xRMZ3roKpNfcH2Nkad8JWls2UFeIQuxvmrBnLSGWzcYIwaSv6vBDgj1qpx+96UdPyeFrFLT8EMhnplj/E88hRsinEmVUhOLQYU787nsY/8nn0Jqd1oKvMUQTKbLUTOIiPedxzpM7r0Y5vYmrXvl4qpkV7PvD/8ctf/olHvnmh+Ak8Fe/8Dke/5YHMbF7pUZINhJipTS5K4cY+vWHsuRz2ltHKXwHZyrO3XSa9uwkZZVRVbD4uS9x5sOfYvz5zySfnVIZhaAc6KoSTt92imLPKjpVxnlXUgbLCtdidPsQZ8MCa3YP0YsFczfM887n7eV5v7GDdbvhzE09/voX/5OHv+n7Gd82QW4qzpkhepWjK0q5i1Holq6hbgIUwbGQadfrossV93TnyAm0xDNsFObKxXP/q1eQv+MKWtscx8thFqqChVKootL8zpXaiLIUckwM3LSvxwOuypF4nrkbOzzgymH++Pcm2bUHyu7Zb7QJf9VrJNn5IKwzuGrnXmdly+y6tt0L7Lr+P8u6b1MRNkLfWRo0EKgMiFG4U4zCPRcJcjQxEiT0Yc1YDTr/0GQT1gasC3ScV2qx9XSqTBk+F0A9Q7bokxZEi9bGaldwJtr0mJtKna13LJUZReUUmiydRvViCSnaj5WhCqLXVBnKyuKcb3D3JacR9ULWYrVTksBg3SoHrPQIThi2PYZtQcsM0wm5Qi/SwnoNaGIKYmpGT23bHZ+zwnVYmy028CigkX6K+DH9Q6eVDh0fhcVKKZ9KB80JqRheRtvg/t04T8Z5ViXo0nH361KX1OG3XNX8PFjBbu9aC/hl983ffIJ9r/szdr38iQxvnSDGyOL+47TTAXDhZvGJ7tV3/KZhA8RgFItPEVP0RkOpIMQ6a6ojIAP57MztNkaswVGf8NFIKvgCwWpa7CMx0OCSVTBk1tKa3cgtf/Of3Pi7/8ruH38gra0TZMbziDd9P6t2rCDEQK0tUTdyGYlsvGIliz6n5wu6JjC/9zi3vP5jTF//ENrfdS+KAyc4/eG/Ys01jyDf3Ofv63syLO49wdG3/BHFtQ9mxeaVrNm1NqWoCgNl4hmJcPCmBXbsHuJHXjDN5t0tKinYfkXOc95+Nfm2NouhS0CaZhZ/wWdfVobFfcdwu1dhpK1/q5tLrrhKZ0aPmB4jUiQYKzVjGO0SvvdVQxytOnSiHhJ1ChyQhsYKcOPNFX/2wlv4xd/azHEHL/np03zwd4UHXj3K/++LXW450LetS71y20/F74wu2jj3gZ9rW65psSEGTT7T7yRJKNj6q4mEuiZFyhDEAEFznhrulARxXsAW6r94agZL9QaFjlLQZGO6abHVp2ayypqG4dKy1TKop+bxL3P6MTSSJk2DV+r0Be3utUbfrzGGEojR9jP1tJ9rxlcI/QK3D6YpJoNCTMF20x9Bo26LUoWVxx/x0eBSD0eVqMHWBCSxdxQa1YBmvtDgQyHS/t+0jurzdCF5XbQ1pmnSWvBq20XQrCGkz6zjMwyR03ak6ZJfE5fIYoWJFaPyX9jhi0BuSub3nmRs+7qm2WTQyQ+u9u6VtF79WEa2rmRh30EWbjvLvnf/E1e/+vGMbV+/jPZUF10i4AMs7TvB0OYJQkyndWIFhIEiZ51ONymzr78nZQH9yF+C0JqZVohnaqq5r87Zi6OHyWamwAjdI0fJNk3gM0vhPNXBIwxvHye7333Z9MKcVT+wjZNdT25LynKIdjlEy/oUGflE3/R9Vo8p6dmMXnC0rhym+qkH8uXf/jQ7ZlezZvck9qU/gpmZJoRA8NJERKHSpq1VP/JwDr/7ExwxwpaXP41qzxoW8hajWZui7ejs7fLnL7qRH3rBJj72tsNMbR1i65XgYsnSgXNM7xxiYW/JxLb1OAksVjkikSWJSVPFsrD3BAfe8KeEX/lhqt1rOHbjOb74in/jCW/5LnZdtQ4rkVV2Ec8Sq0xPi7kSwM4zIkUT4Qyb4ebv300NMTW8s2LTLI9/s8A2S7uV8fp3ChO7I71YcZ8rW2zbdPebVO6pVQc2NU5cR/oXc/6NDcd+3aUfzCTbHajP1GtQR8dHwdtA6Q3WBrxXaq/YSPRCMBF839brYAffz3AlsWSgPjw04heTaKUWYqJ3emvxpcXYSCfz5FlF7jxLWc6QK2m5io7PGHFFw6apV/19bipawTJkS6pgabtSIcgqx5mgRV3rKIrYFG9jYiDFSlljkrp0K2/o2CxpXGUs+pwQhQXbarRy8tQoNWx6DNMjGEMmFfNBaZJlghC73qk+UJJDKCrbZLNFsA102QuOXuZSwbbLiOkp60ZC05RVYhlOkM9pO9L8feus5nzRprC20T7yGIalB26eQIU1BXfXqi8dSyfCuZtP8fmXf4L7vPqxrNixXPwtxrjsMBARVu5Yx/mbT/D5l34UgF0//X2s3rEGkeXZQDTSdMidu/kE+1735+ypMwP6LdW1dEBVf+8HDoFgmhbwWBmNhOrDICifOt+kNNIYIsUhbfjSXoD3M/6j14HAyd97P+t+4lpwECVw6l1/wPjzn8HQtgmyB9yXc11Pz1eUBw5z82v+hvu/9lGM71rNWNZL1M6qifCBJIBVYKXi3M0nuPKRk6zd/DDcllEK36V1xWo6ZaG4YxmpSmU7+ArKA0cZ+s57sX5yHcZAnFrPfNdTBUO30g2yYrPj4W/6fmavNDx78wpW78opY8HnPnGC33nxfp70cwV//4fHedbb7sP4dmHItjASOWsCnSpDJMNsH2fzS59MtmkD3SpgN05z9aseRzU7wlyvi6Pixr0l33GVxbqY6HL97kVAsUzpN/kow0FFvXrecujmBWavmOFo2aFtK6Z3WY6E8wyFJWU3DF08cLgUy6DRdx2Rw51H+kATDdqGwZkCogs43cugnZqnHgzRBKwxGAGfBNhq+/bWNsFN9LVNSzoEosI5fgDuGbzUoMXepghshOijBhc24kujlE4b6OaORZeRO08nz1hIbJoRV1xUpDCznlYUvDW0bEXPO9q2wplAzzsym9FNOH1ZOqoyvY8a5gmi7J5gqKxmBoW3DftmLOupFlCSHhm1XXJR9o6VSLtuKsvU/owEimCbw7f2FzE5fpHYcPfrDvdaXgGgbbUPoC1l051c23QrvVaIhvkqNa1FzWLnqxZnymHV7rJKaujaJQw9Vnxtpne7dckcfgSGt67nXq96HMNbx5NeS38t7DvOf7z849z71Y9jbLseBkYiY9vXcd/XPx4EVmwfbzKDZRtIIhb9AFfvWMO9X/VYRretJkrZbJY6C/BRcLXDt+r8NU31dA4ex81M0Dt4HDej7J/ilqNk01OK3aS0uJg7zIn3vJ9Vj300w/e5d9PshcD4j15H9JGTv/t+1j732az7yWtxGybwRdok6YCxUxvZ9itPQmbXsFBq1NO2lspYcOCoOHXzWaZ2jYJYzt98ik/9wmd55Ju+n5kr1rNYKcwDgcV952ht6s/p8F7o3nKME2/XDt3WphnEKORUlHUmZJTlEA0rtk4xH+YZ3eHoxCVa0fOAx6zFSOQBj1rNvb5vJWt35pwPndQIY5vUtj5Ih7dtUG61h2CE4c3TzFc9RITFvZ6Pv+gGfvY3djFyrzbe9BiToon0x0yXrtVYphszloLisUVwhMpwZu9J/t+vfAr7hochV4xx0o7RlhJDYI3pYsVfvIv1Ei4fDYa+fo0fcP53thq7rrt0o2CF20X49aqx/DrgIWktiUQqUQEvERqHH6zRLDCIyjt4xetFaIKcprhbs9rS5cSUHUhNMa0Lq+l5YxB8Zii9T6wuS+H0GuouXmwJoa9eaSTiEtxSa/kEpGHSCDRBAYCvTFPU1dpcDS1aevThXT0ItQjbMhWltamZTzPKNgUmQTyeWodH6Dgt4tZ/M7CEGLVj2WswtVTm1JLl81mblilpS4m3qvVjU0MYgE/+yhLpuaypb9VyFMrXt3R8zoKpOOuHyRLNdWwgAPp61yVz+CEVLmTTDEsXwK0xRpZKy86X/RBu0zjdanlk1N42lRwNmHjHabIzgRi10y+zHpHQl3odSIurJAHrg2lS5vmbT3DsLX/C+mf/ACd+/++YfNHTiFE4+c4PM/78Z5DPTmvk7wW3ZYKVP/QozvzpJ8imxmltnGkio9bUNDFGPQQ2KMxDLxJ9JIolZJbKBYyLuPVbOL2kbIOlPKdtC3q3HmVmzyiL+47z6Zd8lu/92au44lHTTOwa44ff8kDW7homstSwenr7z7P3NX/DvV79OFqzM3RSRCQ7xjE//wzcxgllLHndnEUQfKW8/cobFvKcxSqnCI6VWYelkFNmymj4jsdYMlOy88qcEDvkIahcg9FGs/lSKZnzRlvJO6VrMP2FoNlWd9dqxjdu4mG/6ghbM+aqk6yyS3gWWGW6jdMft8reuRDeOcsQsmM1933NY8i3rOFMERrGRN2c1Q3nmO9869Aye177IWp54jtbtW5M7fx87GcI9f0AjTLmRVaIgkX/nzVq27k1lEEdr8+UWdXYfOrr8JVtoMxYmYvCmcvWwJmjPH9Sx7oeGqW1VFlAXKDIHVmmHP6lVh/qqZyyenSVqmJLX8a8FbSoP2ILFl1Oy1UU3rJgW41tF4VrePuh0ppc9Nq05b2h13MUlWWplTW2PWILRlyPlqkamKemV9ZR9XCSR7CiEgmZ0aJ04S2dIkvCgrYJHqtgGLIpqMyMyogYjzGBdtLXsRJpi2dECtqJYjxs9et81aJbZQ1BIaTDqRcy5q0ydK68K2O7i3XJHL4PhoXucs3y2oA7+49y4A1/zuaXPhkpWpg6qmiMPLC0/zij28Yx0ufdDm6K5sTde5wvvOIT3PvVj2PljnXLoCKTnljSoRGNJM1sKGzJrpc/gdaWDYxtWkW2aY3y61/yVNzGcWKs8M40G2T4QVeTTY/jpiYJMSgWmrB9iYr5Aw37p46WYtTn8KVG/L5KWL+3nL7tFPte+0nOPfd72PywWa587nfymd/4HKOzq5neM8a63Wv0+okM2QJnPLNXDPPgNz6Enu+St5Zwpk3PW4Qcu3NctXkqWd6wlYreXdEopqwM83uPM7l7jCKoiYzZrkaDdBpZ2rYpG+jBp+Kcfv6BJZNrSl0ZFvadIAY48EYturs9q1ixeZZjxRJt4+k6HcpiXaAtFcMJ4hkzWmSrmQtl0mg30iLuXJsKx8J82cYmjHXY9Nh3c4cDB751HH4VDL3SsVTDL/Rt3ZjlXtTWOvGmidGX2fegOutFD4JlzxWQqFlFMAGbsq8QBe+kj0kbi7eGUrS4qI+Py+pZg70BF/atSG3P6SaNnANEb4nWUHihqmzTp9LNlNVT5JZhV9CxyzH++qAHaA2IFDoJFNYmVdsWPW+xEvV5vcFLH67S2pUhGqHbS30oSSlzwbYYdi3GXE+lmMU3HehWyqahKmQKzwxZ7cxdMK2GTllUrlGTLZPw2nylPk1podrVnotnxFbKSCJipSJLmjqLSX6hDAohOQmcL9tUwbDoc86Ww7o3Q9aHnO7GunSQThR6Rf/lBwUCZWaayRc/DZnZQLeQZvhDzWXu3XKEA2/4Uzb/8pMZ3bah2QjNV/qbpL11A1e88gkMbV2HD32oqK4b1I8LUVSIKka6+09w46s/xpYf/15W7VxHa9dafNTUONu5lhAq5eRWlmC16CtGMNsmiD5q84oSIzTqCRfgoTFtkpqYHbQQVmOEIdUO3PQME9f+ADf97t/R3riG8Yfs4UGbVjG8bYxO8AxRNEVdKzTSDcOu4jO/9Ld89+sfweiWaVxlWdx3jHxmmso4rdFhtX1/YHOU0dDdfwJrPXO/9jEWfvx72PbwzeSmamRjM6mWsRysBLDaOJV5Ty/TbkojkTJYFved4tbX/xmzv/hkNv/Sk3Gz61kq+zWJUZukmsUzYnpgOo1GiZWocE+iu/WcFqtBGQ5dr0Mtut6xUKki4mk/wuTOdUzMHvrGGe/XuHyK/opCP/u+PfcdfjPgpL4Z1aG/M9sefHyMF3f+CokohFBLHjTTzhLUUQhUXqUcQuLxK4UzRftGbt+70jh9IRLVyUNjz5Acv40puLAN1AOkZqkEc0RDEVSDqrKGIcrGxiDJkEjEoY9vpYYtVfp06fOLqvUjCvMEMYSqD/N4sU0DlTWBnnWNDDjQZKrWBLKowUwevUI/0TQKmPqZhiTwpxBP5bVBq/Q2qXHqOpONNHa9Kia7Th9TJgFCyVqr3bMLvt3M0ViqMhUR9LDoFc70GE5Xo1+/EaZ16Rx+EHoLF0wlqnFKAcY3013s88vqqUAiwPpNjP/cM6nWr+f8ovQ5yGb5JqhpambjNMdvPMbYtnHM7BS7X/5D5FvWUoZ+lDRYFF21Yw27nvvd3PS7/8iqTSsZ3b6eelxh3X1XN2TUf+xa+tVXQmf/MWXpeEus0mapU94ofQZE1AwgVpFy7og2cZWWIIbusWNkm9dTrZ5i4kVPo7thnBNLnrHZnOO9iqGqR3nLOSZ3r6BlVbqhToU3XzHEE97y3azY3mYpLHDkhnPsf+1fs/vlP8TQlkkWTU5Zxn4anzZ279ZjnHjHH7L+557O6mt+kJt/66+QiXH81asYzXp0Qk4ZLaO2y0rbaSZr1cNVdBqRFpkXKy3mut0rca94AnFmnKX9J6i8YbHIlNmQ+MwLvtXg9KtsC+/Os8p0VVdEyoa9Y1Khb9iOENKhUqfA5wtDEbRrsZdnSCv/xhrw17B8UJZM2cn6lEKBelDJ4KQrYyKShpY0DnyAZ18HPTYN8JGUDdgL7H4wy62fp4aLsuQsgxFs0Ai5tAZjgtavGgKD6WP9MTFi7qipETPAVot9O/dKuIglUBqijRSVoXRBG7lKR5Z6VDqtrBnoM+Z6jTZOy1S4hGPXmV4T7QdLy7boOJVo6FjfqHGW0rft4NU5xyCcD4JzPtWslF5cr1Gb4Z1J/QEVE9k52qZkMSjDp2VKzid4ZcnqkJOFXksLud4m6RFl7xiJLHndM1nuWcUSmekxkpCFzARCUsMMqQNeIRzbSDnMl62GBVQHXXdnXTqWThDoXuQNpP2wXA0w9odCSASx2ImN+F7Ep40iA2PgxKhHLW87wtDW9RQHTnDwdX/Mlpc9lZHtG7CbpulUocHnBgtG9QbZ8NCdDG9ck1hCMUX/ogUxo7UAKxFvJZ3uWsRZPHicE29Pg0xmpwcwxeT0Q0xf+1F/cSipfP7odeSzU5SH5zj57g+w8ocfxbn/7y9Y/4Kn0+m1qIJvVAxPHzjFf77y03zv6x/OzBVjBKvt4i45i6k9K6lChYgws2eU733Dw8i2jNH1ihd2RbsaC2gYSdnsJOP/85lkGyeoREPRbpFxtjvUTOyRGLht3yJ7rmqnFLggBzIqDtywQCfkrN4paWOmrOCKlRz+0hEOvOHP2PTSJzO0ZYIi6eRkpt38mYdNQRmtzrklMCIlrTRlCNNjVbR0bYYl0s01rTZE5sucMzefZNX2tZw1Q03H4rfK8jX1txKoDOITtZEBlCRJJATD7aZb1bZd4/Yy2GiVpkXV06zuaNyhTYNNAMJgnUsCITmgaAUvCYYEog3L6Ms1BFjLQixrYiRowVdQUcOQUpkBimdED4GIfhbeGXpBVPDPa69BO6soEz+9bSuC0yzWxv6IxgxPMJotZEkAraZu6j5WNc4QdLZyYCCrqjNpr9OSl0q1I2c8LVsts79h0wOjMI8x2mQGNNBlbj1LVd504frUzV7j+WfskDKRjGfMdCixSW+nIBMdKaR4fskqu8T5MEQZHKOuSH0AehjVU+HqHpS7sy6hwwdzRw4/RnqHDyNAtnFaub9EysNzZBunLpgMFPtCUKLUx+rQUSKRE+/4MGuueQTZ5BpigF5psUWGMbHRALem7/AHnb8TYXT7+tvVBeqCWK3iWKfG1hi8DWQ71yC/9BTyTesIoaLE0D14mGx6WpupUgejeMU4JQjZ1KQOepmYRLyQT6QBLhsnyNavx05soOwp/ziEyPzB46zcOc3Vr3w8bstq5qtE8TIVUGLFc+orZ1i/ayUYTUE3XjHGQtljad9xRjZNa3RcKsRQqxRKNIlqCm7jNBtefC1mZpzFXpUYCtoA99lf/hfcrz+AK6/OCSJY2+Xwjed5+0/tBeAn3nlv1uxa26SoRiJrd61W/H7TOJUXfIAQLUumH4nX8E7blMphNrGBdyKRozeeY+VONdl526bn9NA4esMZ/u0ln+Q7Xv84sj2ryZLGybfKCqmoR2WQUvRWa9hDI8/dKLWmqB8YCIDUvkPSzxHpSyogEWuTwx+sAUgks/rVBkNIukxEmuAGapEzsA3FU5JEshAl4o00fSqDnb4xaV2F1KEYBYUzUacf+2cWElLgb9IbskoBDSlTCME0n5UPymiq0qFdR76OfkE7Ew+2oIppkhWqelnXKEAbpeoOiMHZwPX1+yQCaCSyYBSj95n0B71AE+m3RQ9V0AlVNW3TEOlkGZ0yW8b+i8BC2VLCiARW2o7KKqMBTBvPsEAmpI7zHiOmx5LNGTJa06iioUgNmxWmqafdnXXpGq8CuMU6hFn+u96ROU6873+DCBPX/mjj8E984P1sePb1KnlcO/xmg+jP5eFDnHj3h1j73Gez6omP4fQf/AXrfvpZjD//OTA+QWeRRnME8VS3HWFo23qspZl0pRvFN9FRloacXwj9OBLrx6ZmrwT5tK9YjY89Km85d/AEJ9/xR0y+8GnYjTNq3KUhlEJ52xGyySmqIzroJVu/ntb0tMo6b9CpXnb9DHQjsYxUNtLZd5QT7/hjpl78NFbv3sLJTsVSVdLNsmbg89K+o/zliz/Hk97yQDbsXkULTYvnb17g31/2Gb7rdY9g9ZZpeplj3gY1Lm8oyHTDeIFgcDPTVGVkMZqk1OkYm9rEth9/EMXsJId7S6x0HTyGDbvgRb+9AyEwvcdQMZ+mJZUs7euwdnaW9pUrWCxLFota2VPhnTKYptFlwbfoRYePhrVuAc95xkzB/i/3eNlPn+Y174TpPZqlZKbijBnhRFZC+vvUFLpvpQi/CoZQqrM3PcGUA1RHUDpkY88JJrd9h19/Vcg4LjsU6uE9VX0QDECbYmIaa3j7Q6AuChtZHvBgQiPVbFPkr04sOeOkyd00Kqavvna2pUksHVFGmtHMtq7B6vvu8/gb0oI1dL1Q2EjHeXql6uPMZy2Wch16MpZ1GUrcdiNRZxtHlWRoWc0MapVa7QmJlJVNHe5+WdMl0EBYReWYR2sJ58s281mbhVaLFa7LumyeYVOQJ2nlWhDQ5pHhNIgc4Lxts1jmLBZ5Mwta0udUBYVr5rM2RXQEDGOmo02Hg4ZAqrWIdhtr9uUTldz8F4d0Ipjy4g6/vXaaqWf8uH5gFRz5w/cxec21TF1zPdm6KaRkIMKXZTBQa90M66+/jmx8CtbPkK9dr/NvjRB7qgMejUZK5cFjnPiNP2T9zz+DoS0TlEkUypik4Fc7/2Ca6N8ZPdXDgPOHmhEhzeby6f+s3LmWLb/8w2Sz63SgSSUUtx0nVHDinR9i1Q8/mqH73ot1P3kt2cSkRkeDGH+EWEniPYPbMMO6//EsZHIDS12f6gi2ac8OmTC8dYKHvenBjO4Yw6dCl5HI1O5RHv1r38vItlGWfJclyRMvO9JLFMqqMkDSLCFFX16VOQGKW8+x/7c/x+jso3BXqaSzIYKD8d2ZFl6JCJ5R2+XgDfP8xYv/g4e+8aGMblWK6tmbTpJt2sDSradob95A5S1diU3BK5PQzOTVsXKRzXvgbe9aw+Y9hh4Fq+wS3ajZwaYrVvPQtzyc1pbVdH3k1FdO32HH9jdzXfPZ53Lb/GpCGCJ6g6lUn16SHEdtPnWm2octUyQ88Bbq30XLsnGIy+c39G27lkr2qUGonuEsEimdXwYBuRT5X/iJLcP+g8qD18doAO3cjYIxfW4/ooJt0ZgLDrHlh5y+KfqaPRGCWGIIjYBcmZQwQTteq2ioXC9p8/eF2QxJwXNAesCJNhRq0VXITKBbOagsdkDqQkSzjNJbOtBIHTjjqRK8U1qbmgOrJqvPRGWgvTWMZd2mEF56SyUJ4g2mYfSctmlmgATaUlBY2/Dzy2g564c564c554fo+Lzpa2nbJDhHv5n07qxLF+FHMBeRO6kxwOHxGWKMdI8dZurJ19Feq9AOZd/49YmWbxgjgl03A4XeP7RuI7GLZgJWlmmAu/UzrPupa7EbJqh6IDZQpTS5crXzD/ggDfRTj4CrT+FlBbJkDBL1d5kVnLG0dq2lChVFFZm/7Tgn3vZHrP+5a1hzzcM584efJJtcR74lDWUJMUE+9Smm8I++OQBDPrGR2AuUJFXEgQ0SohCzyFLV0oHJdZYiHmth9opROr4eQt4/DKzUnaD2dpolyhqyEIVseoZNL30KbFzFmWKJMjEYarZOFivyRNscMbDzihbXv+1e2G1tzlUdzt10kptf8zfMXP/9HHjPZ9j0kqcwvG0D3dJhpaWbLYltgeru1Bjq7isV3LGUrGKJMqr5rsyGmb1ijPOl5+RNZ/l/v/IX3xIDUAIDEaUXpOo7e1PRP9RT4BIHbLqx67QayNJK3/kbUbs2fZXL2rabDCBp3ddKrpI6bmvs35iI86bRux9cdUCjGHi/RgY0WUDdy1JHyyJRiWk2iQlWqWsX5cYv0+2BhsYZDbq3vSWaSBnBVwmHj9DObPNaZTSMOpVjYADbr3tyjAScybQhsIbT6peL/Z6eWv8JtM7Si67B4p0JVMHiRAeml4nFM0gXrWmSo7anmHsmqm9fZkn/SKWVAc4n4T8jkVHbJWAakbUSy2k/yplqhDPlMIs+T/TjQCtF+GU0VOa/coQPfWrXwBo0ht6xOY788fuYfvL1mFrXhoHAJ+H9xbE58omphlffwLdCP/IRSXNFpR91mIhdu5G4qBulxke9gdLpBjE2YqzH2qQOaHRjWBN14HM6AAadf42JamE3UE+uz62lvWcVrV95Em52DdXudQzNrsHOjBNDRSht2iBQHT5CNjWFiXUDTCqmJQonlW3a2avCUpaWLPM6H/fgGW589d/woNc/nOkrVjBkS1p02fep21i7eZiJ3aubyCKTQNuVLDnVLOlWjo7N6BUaHdat6zFoASlGwU7OcqZT4aNlMWs1gyFWuC4hMwOThipWOLj6astZf44hW9G+ug1v+EFk0yRjmx4PG9c1nYudUtk7Nf6+6FsN936tW0hsnYqMwCqTJneZoom4clPhd4/hXvdI/t8bP32PmurXs6rUjekrdfim0iBHYn2IN4QWINl1bdz1Pqhx/jqTtTQ1qzrDjammVdv2YLQfLUn4zKp9S8Q7xf8xyb5NQEwkz6umtjVICR1sUjRNPTamx/SbyUIUfKZRbkjMJJ/sNBZ9ssLgcJd6Sc35F60AhNIQXMCXhqq0dDKVZ6jVOJfybiM/MkovYeX1fN2a3eOb6PhMb7ihZII6+zLBObW8yiDUUwbDYparqFmeM2QLhmzZdObWc3TbRhVBy9hrPofMtFgyOWXoj0ycL1qqB+QdVbCsypY4m+kY0G50nCzHmK/aysevYR3jWZstUkZLGS2t/8p6+F/Naq2fYvrJ19NaP3XxB0Q9FA7/8XuZfvL1tDcotj+4WSTNfRVBJWEHMX8jxIo0xzZlADaqMFRiUngbCU7wVrFR63S2p7WBykNx60lW7FhLbjW6cSY0szOBpqgmaY6tDYY1u9ZSeE/pI2bXOFXl8T5SCURjKG5JU72ee63WK/zy9va6lV3EEFNjTSU0uuntmWm2v+xJxI0rOfjlOTbsWsmJv7uVv33Zv9JemfO0d34P63avwcTY8KINqsEiA5tXJLWux/6s3HrOaCmwZAI+baJ6MMRgc4hNXZMIzTBpgNkrV3CuLDF7VnG2G6gCFDE1sKTU+rzViGjIFIxa5R+3pcQmnr4lMiIFGFhlNdoPCItZi7h79bK+jku1qqC03RCUmXM7SCOtQad/uyAo9h/T/GxQltdgJlBHrQ2hoYZ9+rdG+CwNOakzgGCNZgoRqhTYaGd6X30TUkTccNGXs4Gay7c0BV+RSJXkiyvQ7l1PX5G2gS2l+VlC//sYtRdAE9/+oVMOYNltq7TSnGqZGmeGFnVD1Dm8bZemUgWtu5UNj76uRyRBtrSvuinjdWkvV2mIuwYZJe2BGpFNRWVYLv7YqbKBgzImwTXH+SSNXBM/ymhZrFrNNRmJzTyBUdtrHH7dl3B31lfl8EXkUcDbUSbRu2OMb7zg9yuBDwCz6TnfHGN8z509ZxOJsDyqv+B51YnfybrdoRBv/3z15o9Cw45oNkbCP4NAeUxn5aoSoBBdnSIbogsEAyEThX1MwB86zuE3/QlbXvpkVu4cx6ZByJn1F4V7TFS88dz+U7S3bMAZR2YDhQla2DGRylha29ez7nnPIptUGWipr73OciIQI8XBObLZSXAKuVRZrZsuZNOzHPvKQfa/9lPc77WPYvohO3nwq2F88zBrd401s3Wj6XHqplOMbV+nmiWpThGi0JNIkeRgB+UYQtRhzZJm7dbvrwq2gYk8orrjA/AOKI+6G/r0sp53GtkbpebVSoQLRavBUrVd3TCSoqsRisSc8Fh6dO1CI1i14PT/ycXSx9vb1z1u14OrSoW2UPdg1HMXjGacg3a6zOkP3HfRt5Gki5vMoE4NBmGgZOM6vlCzgCYjsP3gJrqE/5tIFYSQBbz1xEz5/z4sv4Cmo136JIYa5qx/XyZ7tka/L61VbN9apSlXacM1cyjigG2nz8XTHGwxauAR0/dl6pYNCIVT6YUhq30F/W5vLeqGKJhoGbEq2FZFHc4DLBtarj00pqGc1vfXq/AOX2seO7RgnIalG/oS5ssmfbH8oBLRoOp8MdQoZPb/pOlgQGWih4xmFCvdEr2Q6cxbs3x+yNez7tLhi4gFfgt4OHAI+FcR+WiM8csDD/sfwJdjjI8XkXHgKyLywRjjHV+hQLigN+Z2jj9e8DU9JoZI79gcrfVajG1PTN/ucRd7nuXPr8+RT0xhrFAcm+PYR97H5DXXk09PpVQ4pcguqtO3keAM2ISNjs8y/vxnUq3fwLlFZfyMbBunnftleP+g8+/sP84Xk9TD6Lb1DdTjo6gSYKaTftyucbz3OlilNP3GrVTALQ4m7v5zrqO1cZoYdFCFLw2+hIXDxxnZMcvGlzyFcnoNp4uC1Q+5itwVLHltIHEmcOam0/zli3XwyprtGxiyJYtWu1Y7TmeHLplMh2mkARSqICoUOJ22lehonTxRyYJjlVuCXEcR1vDOiIFcKkJmmlQYtM19oWixWOSEqHS6pbKeLwrnbj7J5itWA3qQrDJLWLtAJjpEZa1dBLQLuBtdc2jd2fqG2fXAKr2lqiyxMhifIu4EtUg6AOKFdjtgqzUR4aLrgsBm8PvlTl/6sFAT5NQ3hTn1AIBY6khD7yy+ldg9qdirn5lG/+r0+7RFGahnORNUCz9JDRRWC68969LnoR3qGjyk3oSaqjyg2SORRrKZYBpFzrppq6osvZYyeQpvGc16zUzblq2SE1ZGzVDKOltRFTjryVV1wXbZcJnUWFZG1ZjySXOo47Imyi+jUZ4+/VGJVgLDFGBJ86sLclNRhPr1bOPUdbSh2nddf3CJr6+HRmCF67LSLWn2aupu37s/4+GrqQJ8J7A3xrg/GfqHgSde8JgIjIlKV44Cp4E7vzqBkMU7vrkLvtpA98QhvI10T84x90fvpXtyjmghuMReqG8NppkuLhV/Y+zvihoKKo7OIR7a66aYesr1tNdNYapEnSsVczWlYIpEqesZpGegZ6DncBMb8aVj4eaT3PbG/8P5m0+yVGR0ioylUkel9bzSDH0wDG1dr7IO29c2h0FmPZkJtLOKVpqOleUVLvNIVlHOHSI6T3QBnA6fyDZOqSDbtPLmlfomUAnFvuMcf+sfsLj3FDKzkcVem4WixUKpt0Wf0wk5veBYu2s1T3zLd7Nh1woyKVnce4xh22Mk6zGcFTqQ3XmyzGOsb5p+Yoh09x/Be6EsVUxqoZdx+MvznO622PulLmfLIZZCi27QVnGL4qzDpseo7TJiuhT7jzBke7RdSe6qpnu0xlVPfeUsf/uLn+bWL3c4XY1w1o8wH4ZYjBllmguaSWDE9FhhtAN4pe00A6W/6XY9sKqYCuppmM6gfTZ2nUVCBiGD6NKtftyFP5vb2/btrjYdBHV2IB6kGvhaJntubn37lp4ghYHCEHoWX9imPlSVfWddpSbDKg0fL71tZIRrSMOZNMXK6q2VVeSuIs8rssxjXcBkAcnCwGxeErni9u9T5+9qoBFKQ1k4ukXGUi9noWgxX7RZqJJte5XgqDWiQDNLJ6rQWQcELvXhGOk3ttWfYww0ME+vVPG7nnd003jQpZDTDVmTrdaUzTHbZdTqEPVRp1F6rQxqiE1TVhU0MCq806lX0TQZRcuUOoXLaCY7ZrqsskuMfDMifGAaODjw8yHggRc85jeBjwJzwBjwtBjj7UIsEXku8FwAu3o1Ib99HnthBb/+WszNcfTD72XiWdeTz04x8czryCYmG0yxxv5qQ48DRt89MsfcIM5PHwrKxyfpHj1Ma/0UQ+PTTeqtOH+K8G0f++8enyOb0awgZLEZBGHXzzD+s8+CiQ10uwGXWD7eCZkNDRfYmX5Dl5FUEI4BL7C0/zTtzRMEZzDGUdpAdfA4J37zI4w//xm4qWmFcaamMGJobZzub/Kk2UMQ8g3TrPvJa7HrN9DrBirXT11rvrvPhCGrw6nX716FJXDq5hP89S98jkf+2vexcttkE334qKMLIWHtXlj6v//J2Y/8FePPfyayVaWYl/Yd4/CbPs7ST3w3+37vn8je8iDkyhH9DAbgHS14RY7ecI5P/+J/8gO/+hBWbJnpX1vi6BdRsLNTXPnKx8PsSk4U87SNqhGOmF7arCUZgTFTaAHMZU2x/C7WPWbXsNy2Z2dngUQr9Ck7iwzAKpEg/cKlEPt/xwTZLd8HA7aN2nb92MFBJf3HowjPBZBQjfzEMPC9lca+pdZxcnFgspUBF5IEhBZSjWiToTYcBnLn03WJUnTrjthUB4hGGkpzFQw9iUqX9IZSrNZwxRBjaOSY4+D7ql1EACoDPiZWDVRO28eqYGj7qnGobVslqEcnWjkTIEAQnYQVkhR6Zr0GF97o+0r4bwxaDPSVpbIBcCzZrLGrVtLwD0YYtkUTyGT1IPM0wMSJx9DSObb0Z3FAnbD3o/w8NUnWxeGRNPVqWPRrN35zOm3vKJYYXI8EPg/8ALAN+JSIfCbGeH7Zf4rxd4DfAWht2hjD0AUWeQfOniiYrZOM/9h12KlJAuC2TmkxqXHsumkE+ilh2hTZxikmr7mebMOUUsxSutianKZ35PDyoi8Dz5k2Rkyyr53jcxz/yPuYfPp15NPTmFIanDRkQrZ2I70b5whbNlBlOtO2zKwONLe6MZz1tKxvonsjnvm9J4gx8uVXfoJ7vepxjGzfQGYCPW/Jd63B/NJTcBvXsbTvICff9WHW/eyzyKdniEZZO01Rt47ooqG1YZpYKPslZIaqglOf/jJrH7yLcljbtYddQZXplKGWKVm/ayVPfMt3M75rhG7okpuKPKWZHZexaAOLElm4+ThnPvKXrH7qI8hmJwleqHDI5AxTv3ANducqdk2PU2wc4lixpIJnF4F3rrrKcN3b78Xw9oxz1QIhCgumhUAjreyDxc3OcK5Qp3LmplPsuFJZRj6TZmqWJTJmCgpUjOqrSH/vMbuG5bZ9//vfP4IWF5upTFYz2kYyIQ7avfTtrTnABy8vLvsitbOvlv/d699d+I4kXvCV+uChD6EknrxUCd8vpQ/1OJNqASjkY0BcwLuASY7fB8EtC2wGyAsSGUoRf0BUJdPr0Puezagqg68s3pm+Oucgk8ernYvvs3gotZakev4KnXWcpwyG4cxRuP6AkSFbNBh7TffN0rWpvIdG+kuCZjGpA73+yKskvbzUS9h/4siHKI3Ecj2eccT0yGLV0DfnRckHvaR1X0UdLl8z9wwRAmlWgWkGsbRFb2Omw5jpkhM4FS5msl/b+moc/iFg48DPM2jEM7ieA7wxKmayV0RuAXYD//cOn1WiQhQXrlTEKQ8dIZuZRGqrjJBv0cKsMlNYlsLWm6UeRB4vMPJ8dipFDVGNyaT7JxXKuUMmECmKkj7sk6+bQiohRI3wa+yxe2SOk+95P+t++lryTZM60zbq8OeQ6VCOemKOM4FgPZ39J/jiKz7OvV/9GO7z6scytn0tkUA0kYW9x2lt2cCqneMUVUC2jzPxwqdjZzaAD4nFUO/bvtNo2A5V2tjRsPi5L3Pyt/8/YnwSxdZVxF2rU1G0/zcwNjbRfsM6sIbCpSJZFEpvGN2xjqkXPx07Pd2kvzEAxmJnpil9SWt2hsVqEdcLnPzKaYaubmGd7iIjnoM3LDCzZ4TtV46w4JWJ0N2/wNDmSUrX1yap4QOAE185yxdf+RnMr30vq+4zQksKbr1piQdeZRhK72NECkrTaXRj7mR9Y+x6YFU+9TJIbAqkF4VjBlQomxmzdactLI/SE3wXhTRQRX9vkmRB7agGA54IfedeP9/ANdT2jQdDYuLUp0IdadfKlzExeoJRLcCBDN2H/mceo2gpvG6Okth08bZclTp8TdP7oU1hqY9kgArcTJmTiFxIvUqHaRAoxOkgoQFKtBvgzNdKss4EWqZsGpkGbVuZRa6RkKgzqxiEIGmAS6UdtC2bazes8Q2Lpl5WIm0Kho3KfpfW0jKpgSoKIWbKt2kyNuk3biVozGPwCJaYGrTCVwNT3uX6ahz+vwI7RGQLcBi4BnjGBY+5DfhB4DMisgHYBey/02cVkNbtN2WMUB6Y4+Rvf1Aj2dmpxrFHaDZGHfkzYPSNLnfaQIMpb6NPj/6+ud+qVn1zgAxEWcsvTDdDDfvEADY1jESj+OjQ2mk2PPt63JpJ6Ai4SKiE4JSa5ivVfK+CDjmpgiHbNMkVr3g8IQRW7VyHsiQDC3tPcuOrP85Vr3o8Q5uncNZTOYvdvY6q8lQleIk6hAWjrA0/8Bk0n4du1Pa97sPa5wpx7Sr2v/bDhF/6YVq5J+5ZQZWbJGmsGDuGZZxmQHHI1FPQtY64Yx0LNx/GzkxBatJSZ2PpogyIMyZw7uaT/OcrPkP2lgex5ypVGTxy0zl+63l7ecFvbmVit2L7R288yz/90hd48Bt/gLFNs1ro87bRGw/R0pqd5l6vehxx8yjHi7Mcv/Esv/9zh3n9u9bzHVcasljy6Y8t8T2PjV8Nhe0bY9cDq6gs0aeO0zyCCxd3+LWjrh0csV/MvcAO+526NKJnRIg+LpPglrQ/NONLD7sj207PUftHk+iXUhd3Q+L6N4VeDXRiELyr5Y/BWoVXYhSqBN+0XKWH74BAoUuy2llUAbPC6/Cd0oZGqqGqNHL3hdGLrjV4liU+kvaiZhihhi6DwedGpQlSXaHW4zGxz6ipD4S6nwb607SKwjUqoSo3otTSrjhChMzmDRNn1PZom4yeVPikIKtKmJ3mUnuZG2DuGIok8VyvulPeBT08eiGjNPc8a/4unzHGWInIzwJ/iZ7Z/zvG+CUR+an0+3cBrwHeKyL/if5JfjHGePJOn1giJr9II0EUWtvWs/ppD6O1bbxhAwyehv1IpY7kB6KbJipJ9KpQF3xiX6EypJQ5RIrDh2lNTGFiXVwbeMwgnjq4SQaziuRTo9UWc7t2mtCDWOp9MUuYqDOUmaFygTKzOOdxLpA7S1Xl7H3tn3DVqx7P6h2qzjm2fV2K+NcQYkkWDT5BQYW1lM5SWKcsAmeIhdWIp2I5xJM+C2stI/e5L9EExp/3TDpdz4E3fpjwK09ifM9qulmW0t+yaTIBLb6NuB6Z8WSJcrlkHKf+/ksc+d//wPQvXIOd3tiwdwZlaBekxfD0Rna/4omE2TZHuksc2L/Iva5aw0++Yw8bdztEPFG6jJiCZ771vgzvyDlVLCqnvsyVMZGomr0qY2TTDGd7JZmJTGzZyNPe6lixY4mzYZF/+dgSL//5M7wO7hLD/4bZ9cCqfOJE2AhZ6nRNkM5gsFoHG7Xc8KBND9ocoAd8FvtSxLWDT3UCGbhfYmwavKBvC8vgowsPgfQcxmumTUAdv0DTtJionaGykODMkCeGT2LR1Fz+wluyVLjNje93qZugfSBOs8zKmmbmROUNXTLl7mc0he8IemjCwOFIE+n3J7hZykrZQSN5Qddrj8aILcDRBDImZVEKXeoh0KkyrFHosqpsMxM6RCFWKRsIohJBwVBktuHSd51i7HXjYVtKjA3N/NpzCfoJ6D5dNnUv6HsOUTgiK3XoSeokX2sXGDP9w+PurK/qCIkxfgL4xAX3vWvg+zngEV/LC4tcfEoPorLGp//wr0Bg9LuvVj3t+tfEfqoVY4JxasNP0VEQakxfebzp/9Spc4BgIkv//nnOfuyTbLj2elpT0yld1oxBEo2u7nK9qONn4H7S44xgIlrkTRSv6CEMCkWljR2CJ0atMWx56VPINq2hCIk9IDC2fV0zncuhhlpr3wwOxW4aU0Q02k8fxXJ5hrQ5rCGbmoHMs/7nnoFsXE2nTHKvAxOrHBWnbz6NiYE1u9Y2fK6eKzh38wnm3vcPzFz/UIa3j1MUQaUXmoEqENBOy67kDM3OMF8tMr/vBP/0S/+X4bffh51XrqZEpwoduXGJdz9/L89+230YsSVF1mWhylRzZ+MMPuT49Hcu6olFZYt5N8Ta7Rs4F46TB8/3PHaMN0jgEY9r8/7fWbhLG/xG2PXg8l6jU0nsk0GZ48FAta7firmITS+7OCFKaCDJxq6hTzYIgoTYd/61RDH1wRL7mW8Q/cUdFH6l/v2A7GXt/OtMUpEMjewbMbVU2I9ZHyrRz1PI6AcOoPLMJh2EJvV0ANgU7ccQ+1IRoIdnveqDre7Q9Wr/XiLg6CYtLIBuomo2SpsDfSH194UrmgbEGkYM6QCpr78epditZxgAC7Zq3lPNla+pmrl4rPTo2YyA6tp3fEZlDCbN2K2fu5ZGma8CLTvcPF+WBq3ncpEA+Wtcl7TT1tiLR2HtresZf+bDOPmhT9HeuJbW5sllvx+sd9WYf+/WY2SbJvRwGOzWG4yaQv9rceAIZz7+CVb/0KOxWyfwaDRUR0gS6iiKpkuyVvi7GDOiDiil7iRM+ibBaxFMStW4CQ7ly1cG71LByVnczAydssJHTS9brmJp7wn+45c/yv3e8DhW7Bjn3M2nGN66nszaptBUWh0bV0rU5yugHkah13MBxJMccu+WOXCGzlKLEKzCDzFy8sAZJnaPcsvf38K/vP3fkRh5ym88iHW71zSFUnvFCOZ1j8Bv3EjPlyyK0AN8pUNUso2TSNRCLiSJCRNYsXGW73rdI8m2Gs5VHXCKd27aM8TP/+ZWxncZFsIiVgJzN5zn8y//DFe/6vHkszOUXqO2otJNcbbXYmFfh3LPWDMTFAcPebwWwu9+eevuL19ZTIJxBqe2NYNPLlhNZA9N5FejGArxiNI0BwqajX3XDnywfpV47IN4fp0NSKpnmYoBx9k/PwYLxKRKWrNEAxoxmsUGnzI7F/tcfquEgdIEbOLgtxJpoe2qJtrXbmzIjM56KILVcoIb0LwBxfRtv7YRxRAH9Yhqpx9SE2Jl6KCHbpkcdpG48EYCrZgGq6RMow9dahQO4KxrGhm9Txx9hBBsknQWylQDqKKhlzky8Q3fPnPKSsvwzdQ2Hw0dnyX1S0u3hoxQh4+n6RXo5FkqDhtK5xi3t+MKfM3rkjr8wYLP8iWMfPfVZFPj5Jsm+vcmA1BN6zrkiBS3HuHYWz/MxAuv0cNB+psm2oGMIPQjp2zbesaf92yymUmNTGNo9OkJscFKFQftR0VyAVxyh84/oGPawgCTJyi3P5ZGKanW4MtAyA2VU6ZBkQY9VwnDjih97OzNp5vRjKPb1zd4aGk9zjq6RlPQ0kSCSZo8xlwU4ikOHeHkb78XRBh/wXXE7RuU5bD/KAfe8El2/MSD2P/uz3P/5z2A9VuGWb1TpQ10XFuXc/sXmNmzntu+fIixdBjHGDnz2Rs48cG/bYa8By/KPkjwTojCitlZjhfnUXVzwRIYkq7KMkiJpI2x48ox7Ju/BzYNc7pX0JGMegRk5Q2n959h3+s+hX/tIxm9z1ij7T5ieoyZ7j1Q3rr7K6QIeZDjHaP0o+2LZbhpNbYOyzOCqNLDzQGQMtkLA5vmvlA/dgD2SdmABBLTayDqryGfAYiHwUutf667dz26P5JDjjYSc/3qS4N3KkToK0OVeZzzzXjDLME8zbAWE2hJX4sqs4FejXtbDeQkzdr1EbXvKE2ELoNwro94cfRCGnYikTIRAQCGbEllS4ZM0UBMo6hcsU1ONjcK0SxKpCydynekQUZVwverFIDUE/DqIm7XZZjUH1LTNVumpG1KRm1PHX59Szo+ZS305usDyjXc/TLapER799aldfgXoxk1liXkm2pncoGTH3y4RFqbNzD1oqfhZjdQHDiC27iepc99meEHXolJRlGzBmomjzVgtk2kNDg2GH/D/00FKqnT2SAEHykTZ99E0y/AxTtx/PXmiQnqsZF6+zbpcNQIpkrvNTj9vds0ze5XP5mhbWtwErj3qx/H2Pa1yRkEGq1aVzXaJTFCFZVVUHcQCvRDt6jMpPHn/qiqW05MEAo9F/LpGTb90lMY2bma79i8gvW7V7AiK6joIVHn5p65+Qx/9Quf5f4/c1/+/bf+g/u95tG0N23k/G0nOfHBv2btMx6hh26MDdsioFFWVyzd/WcYvmoozfdUCeXDN87zu/9zLz/3G9vZeIVl2PRY4XK2XDHMiaKk45VVodOEFM/PN0+w6+VPJNu8mrPlPENWN9N8GCIT/y3h8GP9N0Fj5HiB0yf2o9jm/wzYePM7xVAS9NMfc1jbdQrCgQQHLYv6U8BTxz3JtutZy6BQSHNfwu2XqVoOfK0z2XRJiTNfQ6mkvzdgJc2zjY1t1++vHiQSoSniBhhgjCn+DxCcbxRHQ/o8fRonikl71sRlGSxJqiEaIYgWW3suzb6FZrShQQu3GX05BGc8Q5T0nI7UrKLCOwrnGNWrqv1Bpb6ltIFOoYfDUDHUzNFY8O2m2RBovndG1WB7wZIbSxjg1/ukh9VNn9F81WLIDunY0HDBSNivY13CIeawtO8o+abJ29Gtlv04sCGk+X0/7NANIuSbp+jdeoQjb/4wKx92P059+G/Z8LxAa3qcfPMERvoFkjp1rjdL8FAcOKLTtBIdS7nAaXN6AR8pbpvjxAffx4Zrr6c9OT0QKckAHMRyx58iqmVQTwXitI7QPXCEbNMkZCijpy5+eUOWWbKZjSyVBcWtR1m1YwORgNAvetVsByuRwltVvDQ60NmbSCjSXF0xKsuQitityWmKuTntrIxo23oEOzHLiRsPMb57Iwe/NMfknjEA5S8bmNg1xpPe8kBW7VjNqs3fx/C2Yc6XS8gVK7CveBJhaiNlGZIQlTQj8Qocnf1HOfLmP8O+8gn4K1cQUO2TFTsMP/GOK9m0x2Clwib9lXqjVFHvP3vTSdzsFFWwDT9/sao43aujMmFIutyyd+lbY+JVjcVTO9sBw04Qzx2pvDW4Pulr7fTNgHFJREgsNUPfplNW2xSDa4dfHwQpSo0hIlYaOzaVNEVcqWtZKTNYlpDE5cmJQCNxHK12p0cD0WlzYkxMntILPgvUejjWBEJLefBZPY0LUiOSdqhm1jbzJepaQGk0GxYXtaZRjw+tr6sJJNUGQ2Xoonz6WoenzPriaS1bMUShUGoadEKu0Ep9TblznAd6PUfwllCmYCYIBZkyi9IMjCrqQB+LEjR8GngCWh8bs11t2qoF2VBHL+gBWHhDt3TLdKoA1rjFr8bq7nRdMocfuhUn3vYHrP2ZZyIiivsOjH2rLUou+LnZKM33/d+7mSk2vOAaQgiM/+wq7MRa5t78h0y+6JpldYB+4SwmGuhRTrz9D1j/gmc0NNBo+zzgaNWg3NYJxp97LXZyEh8jUglUkXLuMK1xjfoV9qFvfHWQFiO9I3O0NkwhUTBBKI7PcfzD72XDtdeTb1QIJAad1VmmVLRyhoV9xzj4xj9j43O+n+kf3EFmY9PUYlK03+c2a5RUWkshqIqmNQ27opZgaLR4fvQ68k1TqT3B0rv1CCfe8UcU1z6UEx/4W/yrHsN83mNqzxijzjBkYd3uNVgCM7tHmLvxGCNbJwjRkO1ZxbleyZIhpcDSwGihgqo0TLzwafjp1Rz60hzxijFyU1FmlnU7hR7zZFFxz2HTa9gPSyHnzE0nufFVf8+ul/8Q+ZZJeqnxpqgcC0Wr4d0v3HycP/n522i1Lj2KH8uBQ+fC7FQGBp6kn5f9WuiPOUyeX4wK8NV1gPpx9di+WtCsPhz6dYAUUddQj1UdGyIK/QVtbPK2H7RIPXQnptpD6O/Ni3YDXxjUpPqVBNFAJtI43yIIlVMZ5ohG3LmrB4/0G7asCeTowVEFBe1qh11lnhIIlSFKei91lF9fVxCkSklLz1IGpVfWImZ19+twVPZOTn+oSm6qBibU5qz+sKCyjJQkeCcFS5VoFrCQhAfr6VQ1P7+eh2uJDWvH06dD1xAPlaMU07DTOmXGedPGEDnXGrork7vLdcnCIMky1v3ktVAZTv7mByhvOQalgVLSzeiU+8FbpbeQbvp9agf3oiyYaDjx9o+QT26gtWkmDROfIIRI79YjyoKQwRu0tmxg4oXX0N6yXhtATKA8dBixXrU+XFBaXQbZlinIIzHTW/f4IY689910Txwmuoi3gc7xw4RmCpG+395x1e7pHZtrIv72uimmnvYc2uNTqtlTJK2eQmmWobBUpcPOTLP+WT/Iofd8hrM3n9KW/YEItt4k2UV0S6zzmCyAi5piOx2Rl88kLZ7JKa1LpAHbbmKa8f/5TNrfeTUzv/gjdCvHP7/0U8zdME/Hq2pfHRkpvPMPdPYdZ9gVDLmSttMeAx2tF5r3X9x6lONv+wOCd8zvPcMNr/ooR284z3zZZrFqseDbdJMqIEAunlwqho2Okdu4Z4TvecPDWLNzNVmS5a0x/Z63dKqM+bLF0Lb1PONt98W1L/0AFCozcEt2XdU3te/m57L+WW/RS2Pvsf65pr5GIdaZaHJ0y1ZdGDYhzXJNwYFJc3BdxGQecQGyqMVWF4hZUGLBgJ5VX9MnsWUG9HwGC7xSZwYp4JGkQaXaPWrbkiKQWBhCYfGlpSgcvTKjW2SNLs+gbdsU/bdc1WQCNo1utFYHi4sNSYeHPsxKHe2n2kVpiIXBl4aicI3W1VKVN8qVVbCN6qo2aelg82FXMuwK2q6inVVkWaWfqY3NaxH1MCkqR6d0LJW5MsmqNueqIboxw9PvdRnE80ddwbAraNmqeX+gB2QtQrdU5cz79t02yUs48Upor9OpVuPXX0e+dgrp9KOIOFDoav6IguKg9fekxwjNRCA7oZo2dmqC4AW3cVohm9vmOP7WDzPx80+ntUULwXV20OjaGFUB7N5ylONv08fmm6YaZkSNSVN/74TQimCEkEd8SyWLj33kvax9+GMYu/K+mKAwSmvDBTLOPlIcn2NowxQUCebJYtLhr2ltosyblpDd775MbFgP02tZLCItVymHOTW1DEI8tWRtlpQNi7Jk4bNfoX2/eyHBKXVThHx2AJaKAgXgLNn6jZRdj5ucpcpLtr/sSYTZ1ZwptGg0ZEuwRQPvrN45xFLo0Epj3EQinVJpdUVhCd6SzU4y/j+fiZ2eRDLP5IueynzXc7IzrO3mqPLgStvBoIMl2iiP2SO0TUm8aiXHe13OF6ThFRpVFZVlnowzN5+kdfUKJrZupFwmenlpll00fQnjAThe76DvNJfBNPTteXClAMIHHVbSh4QGM9blcOftoNE4gP2L9AOAhMPHxESpRcoaAsPAaEZjazabRs9Nv0r9MjU7TFAShFdZCT0EtCclZEYPF5eGdGeBom5EtJ6hvKSdbFtVZxOebwTxrnmfRmIzi9lHpWSGPKQeG0kHkDTQFF6VS4tEr6whkzJoZ3eZaR9KMNLAKEOmgIym89yZQG6VQFCWlmD6syIAytJqHc0rFFUzdoZtwbApmgEqloi1HVpS0Yu9AUq0QrN1MFNUKkMOMF/9V3b4AWxXrdulkYT1akx9cLhzXeip5V4HN8vAJhGBbKI/4jCm2Z5ucjo5nAmqEsqDR2htmsAY6B04xtG39KGffNMEky+6hnzTBkDbwTWySePkaqjHCPnWScZ/9jlkk1OEGHGbJ1n92Edz8uMfJ5tYT3v9tG4OI8r1T+lwHfFPP/l6lXcO2smrvGMAjRhiprBTzAxmaiPdoqIKOnYxgjp2VKJVCCzsPcHItnFMkjEImXD+H2/gxP/6KOM/AyMPvDc+RIpDx8gnpwCzjK4HulF7h44Rt27QItv0LAtFPRYxNNQ2jMI7oOkwQJn1mnmcZWo8KkuI0ZJv0sMuBIv3llt/7f+Qv/yJyJ5VScZWjcAkpoRN3OOa27zCqcIn0Ait9UrD0r7jdCVwy+v/nKHXPYr8qpEmXb+Uy3alP32tNuoBh98UW5uGpn7EGOsu2trO0/By6qLhQJDTYPvpEBDDRQ+AZkmfQy7J+cd6OHoKZhiwcwyK9/uUpViQEDG1/s4FEGbzkmHwpbUaEVMAFIJR6e+gwU1wmrVUmbJ4amy/5apl8OWgFEiM0gwWiWhNLGIb+el6FnTNPtIeB80wPNAD5tMMi3pVwVLZEmfS3F/05oxn2Olchpqr3zMuMWz6ReUYB7R3Sm3iatuSc9UQOGW6DYvy9luohlUvKW52MuXqd6osSTDUjt/Qq5S/f3fXpdsVEWxPsL0kzdqF8tY5pBexRUoDSzAF+nOR5Fx7UN4yh3QZkCxO6WJPKPfP0YDXy1JlSzY9Q/SW4pajHP/1D9G95SghGLKNUw30A+jglS16GJi6YaZOjU1ErKc4dAisR7JItmUDxdHDBBcgh6EH3If1P3Y9buNUPx2u0+M0om7Z4JY6Fa40Cmpka9P7kzJJ1iaIpyxV06OoHL2UBsconN97is+//OMs7juhU3hcRdtVjD9kJ7MveCKrvn+3SjscOczJd72f4sjcsgOz5jOXB45w8n/9PsX+Y00KvFRkLBaOozecY6HM6Pi8gXdq9kFuKlX6q+GdrA/v1LLKdfHQzUyz4eevwcxMs5jS3wXf4nyl0spFME0K3JYiqQd2Wdp3lGGrg6wzE+jdcpT9r/4IPsDWX34y2eZJ5svWt0TR1iT7tj3BFumW7L1v12rnavO1LHf9mHQrQQrBFEZtYZltSx/6rAzRmwGIs9Zu6UNAjfJmygyk0bxXiMK4iHEBcQr14ILaboIwQ/pa27XKPNOXce5L0OjrpAygkRkvNTOo35uUAgnC9IWlLBy9wtErXQPx1O8DtKGpkTe2nsz51LWuksu13HI90au5lppyXResS7PMtmt4Z6nKWfQ5i1UrQZiafVpRSYa2KxlyJUNZSTtXG3e2nn+diuVJGqKsLL1K4ZiOz5ZBlhrMVA28M5wGnozYorHtGtrxQWmfgwNTvt51SSN8t9Q3ju6xOY78f+9l5odVtXJZjauJ8vVxx//P+5h86vXkU1MUx+bIJqcQK3SPznHiA+/XIujMdJMG1xN9asU/u26GlU96NHb9NFUPqkPHyDYp9FNPmBpskKmxfoAogfLWI5x4+4fZ8IJnkG+epLv/CCff9SHV/pmZ1m7WbZPKBW60yAXjY8OGkKBMmdulwz7SPTFHPjWFdQnqCarHEzONhnxm8LlNTJ6KynlV69w80VA3bYJ4jItk1pA9fAfdsqKoAt2sYvwFT8dNrddZo4mSJ4mlkU9MMf6j15FtmCR2NPnylWVx7zEOv/5j3Pv1TyBeuQLQVNe4WhY2NsWpPM0TtRLplJlqi0saI+fVAbmZGbpFRUC1wJ0Ejh44x2de8gV+7B1XsePKFitMv1vxwN5F/vLFN/DYN38Pazap6S66uvtGyDdPslhWiMi3RITvOvQj+oHVFNBhGcSzDBsfiOL7Q8pZNrB8cL4tTQZKsnu9TyP/OgOQxp4xof99fTnGa++A0VnJTZHXxUbMLLo+ay3aBJ2E2NSlJOjs3lgXf5vsMSFXldp/PcNCkhxzcBBzHeATMoVJiszjc0PItHGv4ezTl16uJZqdCZTe0jMOb63W+NDub5ZBPGgdAc06CyHNblaOft7UC7RHoO1KclM16ppDtkwqt4GuyyiD5Vy3rayaNCylrq0sdfMENcGwq1U6fQpiKjKpkma/BjbDpqCylhV5tzngFlP0Xzel3W2bvNvP8PWuoNFNvYZXTjH72OtprZikd1C57rIM0tHHDa2eYuZJ15OvmaJ3mw45n/oRpUkOrZ5m6qnPIVs7ifS4/UaxkSiR7ue/wNk//yTZ+HoQ+s5682SK5iNipME9y4NHaG2eaOijNeSTza5HiLS3TLD+Bc8g27gBYmh4us1rWzTNTrTIILHfwOX7mwIU6pn74/cy+eTrqGeS5rNTmAHJghj67ep1OztAZpMGe2I01OPoHIHcemKMnP2Hmzn+vk8z8cKn41oRH4PiuUkUSAIICj/FEFWcqtAW8KrQRrClIme+aCfFTx1DOIhxDtkCwXP8ljMMbVLJ6aKyFLgGmwSlwy7tPQ7bx7GSMZ+1WLFpih/41Ycwst2wFDrkUuksWwLbr8h5ztuvZmR7m+NlV4du7F7Nzlc9GR8ghMD5m05idq5ZNlv0Uq2LzquQ5V8beKZx8Bf8XM+mrX+2NRlAsfEICr/YgYPBxmWHQP9QqG0bJGpTikmOf/k1JqZPilhr0ShV/lQoE6sqlSRIx6RGLOMVt1bH2jxdA/VE+s6/z9/X+kCIOtkqBqisXdan46wHlyibDcwyyFRT4TOlAOt+81EzoSiaPcdQ9z8kbF/QSB8oeo5FiRRJ/ydPjWFVNAw7oZLQ1Kgy48ltn1KZWU/lDd6kVsL03kLqFyhSlO8kkImyeFqmauY/1ywdoBmUUrOU6vnAg1nO3VmXjqUTUzqbbrYSRlZPUx45wsGPvpdybm4ZpCO9SO/QYWwPRlZN4wphaPUUG594PcOrpzQtLoXhtdO4wmDq9LkXKQ8cRoqIKYTq1iOc/ehfsPqxjyFfP02+YYp1z72WbGJaU+PKEMo0e9ML3VuOcvQtH6Z3y7GGDVFDPtZqBGVdZGjrBMaBcRFJk3yi8/SOHiK4AfZDHc3UrIfB6T70oR6JMPfh3+PIB3+P8uCRZZO3pNA02BeGqmY6VJYzN53mS6/8KGf3nmoOgYbeZjzFLceYe9/fMnntQxjZPo51NQsp9qcN1ddSY/oJPoilwU7NMPWSZyIbZ1gs++lvPcYNaKSV5/ee5HO//JdUtx5hyJW0siql3b7hkpcHjnDsrR+is+84vdKxVGYsVEO4rdMshnbD3KmZE0Om0qjf9RixPUZcwUhWktnILa//E8794w3sf90fM7/35LeEw7dFXHar7XmZ3d/B1xrStOXAz0UfJqqhzObxNbyZ7EPhH+lDQIkBFMvEcqvnE4f+rNhBtk/d3CUywOy5EOrJYp/Zk5hry2zbXQDx1NDlBUwecwGTR8oavrQUhaWXJDUKb5fRKa30J8a1rFdmmqsnanlM5ht2WmPfAxAPgQbeqfdRt8hYKjK61eCUq4wi2KZuZFDaZm5VmqGGX+pRkPV7DTW12hs6lUJG56sW56shzlTDnK5GWAp5g+HXEs51rcIl6Ym6nBPugaz10kX4EUw30Dk9x9AaLeZ1zswxvHqSLQ+7jqHRSegEOqfmaK+bondqjoN/9V42P+p6lShGo59sxTR0BgwrRdRa0IXOiSMc/ZP3qeb99DR25TRT11yvw8o7GpXYtTPETsLXbexHSzbiJmYYf54We30licmjhrMsJbapIBRBRCPs4tARTr7rDzR7mJpu0mGpUKjGC6aq02FpUuL2hmlijEz/yI9p63wZMV3ApQi81uUJQnCBIjcEb7CTG5n5xadiZlfTqeKygpczFbktuderH6dNar6krAIdiVTWaQovJiluyvI2/MIkYTQHGzZy7sbDxFSs7WVqQiszoRUVw8/Es3HPCI958/fS2jrCku+kQm+kI9qkErwl2zTZfLZlobNta9Gq3FT0Umu5kUhbCtqm1ElXqaGl7pbs7VmBecUTMLMTtKbX4TaN34lsxzdv2dt1wifiwQVRfh3R13NmByP95n/W35v+Yxu5YqHvXM0Alp5m1jbQZnJ8TYHWAC4QBiL/C4XdmsuUiFiIRhun6olYDWMt9XdIqa8rXqN9qb9PyNtgtC9RoZ9oNIsRH5EsafMkokIVhG4USqeQTV0XygdkGTIJyxoQrYkUSZahspFQmkZyYrl6qEKm9XsoU39A5RRSqmxqhiKqyqbEZtBJrSZrJNKrHKXTxrDCBs0/fI3lW7oC865F6S1d71hwLXLrGbEFY1mXltEpcPXzGelnMVkqKt9T9nxJI/zeiTlu+dR76Z2Y0+//6r30Th5heOUU3RNzdI4d1t8fn2N41RRbHnY9wys1mjcVmCpiyoikr7cr9PZgaNUUG5+gWYAtNAsYWjODLUwqoGlkURfUZIALT2GQypJNbiRWTqN/r6d2HRnVkEp/Mj1a4BWFetY9/xownuh84jvXxS9SxI/e6kJYHfGjmYSIcOSP36ddsRVQQnnbYaSgP4O0nj9aZtiNM/TKXKOTyjVzRs/dfIovvOLjOKMpaHnrHNaU+IOHsa5UqeosDnD1aRyOUtoALxT7jnH0LX/A/E2nWCoyFlLBVYtcuQ4uSbTPqd0rGHYVI6mIO5SVDOUlzlWUBw+pTO2mSYoDR/FeKW29yrJQ5JwvhpTD7Id0fmjMB+biVozaLqOux1jWZSQrWbtrDbmDke3roWmZubSrwbUvuJkKTPq67H6fbLq+lTEV8m9PYrCDmcJA5mB7DBSKBwgPaR6zSTYjdcG3SFH/QFbb2DTc7nOUVA/QAm9QLr9LhVLXj/ZDHhu7ru18MCgbtK1+xC/N3pZUvI49o3N1C6cReKm3YmCOLqToWPqc/Vamkb6r+1Bq217GnaeZpFVH+qGwKq+ciBH1TOpetXwYuU1Of8T2+0/yVDw2dc0EPRh9pZ2zi0Wm83fLdn+2dJq/e+EAFZMoqYOrFnW7O+uSVraGV02x/aHXM7xqqvl+ZOUUvZNz7P+b9yIBtj1Enbz1wuiqaWwdCVd15X8w/Y1IEejNHUKKgCnBlcLIqmlsKZhupDh0GFMzgQY2h+nVzIl+alynxRdujLgsHTbLsEap+fxpU1grnPyND1HNHVb4JKsbXAZS4TSsOgwwebonlLYJNGwe8VAenuPoh95HeXCuz3QoEtWsUEniXrmc5eCjafT1V2xfS++WY9z0mj9l8Z+/xKE3fYRwaA5rK8q5gzqFrGY41NZRi8ZVQjY5zbqfeTZmcppuGtau8E62rDGrhnZyU9E2Bb19cxT7D9OyJeHgHMd+/cOUtx2hvO0IJ97+QYpbj6aNpmn1YpVzrmgzXym00xuAdnLxtKVUp297jLmewkYDQ9AvWi39Ji/j4x3eaikOM+DspVp+KMjAAWBLvZn6liAi2zh5vS2DjGrYpzvg/MsLYR/TsH1quEejU/pSDOn91M2Kpsb+B6GeBA0us+3sgsateih7XaOA5VH/oNNvbNsQexbf6zv9XpnRLVWBs6oFxyANNek3INbwjnOpyczVdh0b2LKGdqSSJrsNZRrWXmmvRw3tVLE/bNygrJ0hW9J2JS2rjDhndeyj2D4jzXvTXPdSkbFQ5A0k2vEZRXCUod/QWGe1g7d6jsDdXZdUPE0QhldPNz/X3w+tmmL7Q65naPVUo+c9GGpI84+uwRS5e2qOW//uvWz9wesZWje9LD1eOn2YQ3/xPjY95npaE9MN/BNMpHtyjnxiClxqC2+MU/rGahIlrS6OudAv8lr9wwxCPSIq9TzxwmvIZzcQ8f3xbTZtLKfSDeJ1gEpMjS35zBRTT70+STb032x77RRTT76e1popYk9UrbBS2lYshM7+o4Sd41TONgOTc1fRdv3h6at2rOE+r34sQ5vXAjCyczULew9x4u1/rMXnqRlCgPK2I+QTU5hgGkzfYMgnZoi9SM+oMderCCo4tcL1CKakZVSC9sxNp/jnX/hHfBV5wK89gbW7NyEv/WFkZi3drmPVUx+Om9FGuRJtXDlrhyhT80puKspomwHoFlUh9Bgy8TovNPUGlF436O1j02/+WiY3fOHvmoIQ1FXTRiIBGjvSH1hGo6+fs8/DH4Bz6mJugnyCrb8OaN3UTtig8saphhOz2Id77PIiL2oCfadTF0trHr8J+rreNL0qqp5plBNvkupsKvA2irKD+zqkzyNBnRFl14TEFAqVNLIMdRaSpylXNbwzqLhpErzjjDYBemvxohnxIKzTrAB1/4GHhtoKSV7B9guq0Eva+iUrs05TRO4lm+0KfWmRIJSFw1eRyplGbz/G/hhGZQL5xuk7E3BpZKQ12r6VD8wR+HrXpeWuCUQiS2cOq97HQKpXrxgjS6cPK5a97Bf922Bb9/CqKc0KVk31o6eUFg+vnGLzw69jeOXkshS5ODzHoT9+L+XhwUJxivzLFBX1+hEHhVDccoTQg96+o/gkpHQxqEcLvJMYy7L2dklyDdEEeonDPwjxxAyleLqB5h0U5hlaP60dvHVElHjN5S3Kn+/tPb6smNspLKe/copeJZy9SQuaK3eso3PrKW57z2fwtx1ldPtaNjz7oQxtXYfJAuXRw5z4nfez9PnP9/82gylwJU1hrVc6OmW2LGoZjMg37FrB9/zcfRALbVsynFes2rWOzEWqg3Oc+dAnKQ8eSYqEkXOf+RKdQuhWTtvTyzYLVYv50C/iGgkNg2fU9hixBcMpys/st4YePtC36Qtv9L/KoG0PYtzh4jdzQXbQL4D2Yc7BzLeBgcoBKKjOYsuU1dYF02Kg0NvIOpi+ztMAfJkuXiUcUnFX7GBhNy6P9utMNn1fwzwXfh7N5zAA9dTXFAujEXjTi6JZbBWX49yDUiOZ8wOFXIWgmjGNA0XcGtohAEm+pS66Vt7oTNvUlQs0BdbWQP/JcFYmOEnlF8TQ9J/Uw1SqSqHLnrd0fZaKwgrr1HtGD5a607juPfgv7vCjwNKZOfb+3XtZOjOXhlFFTh/4PHs//V46Z+fonJ1rvr/TXTx4AESginROHkZSUdR4MAkWMl6WpcfDK6fY/OjrGVoxSXFQIR9TQz5dWY7194TqliOcfNf76X7uPzn5Wx+g3H9MoZ6UDteNLn1WT2ywTzGpSSOlwuWRw5z8nfdTHDvcNLcMNrbEOvq68C8V6zpGn+nQHp9m/PrryDZME3uWqlCnf/7m09z46j/j6N/t5T9e8XHO7z0FwMrtq9nx4w9i1Y7VhINHOPHBvyUePoLLKvKtG1j15Edy5s8+SXH08O3gHUoo9h/B9wxFL0uNWfkybLLeGE4iVz16mse//aFM71nBSNoYQ3mJtZ7o04kdYelfvsjx3/wjzvz9V+gkzPNc2eZ8NaSsndhvXmmL6pGM2S4rXIcVWZchV5Jb/62A6CToQi56u/D6JOna18XMZcFMzWUPMc1m6MNCjQ1cAHHaBPvYIl6UGVRDQWYAzhxk+Qw2eDU6PjUXv35z1Nlsv25lUjBTBzQM2HRoGreWw5f97GTw8+gHcqaBebSuFnsaaAzi7LXTD6n7VuVF/IC+VNk4fRl0+k3H8cCh2sA76vRrlc1u5ZIMg20kEwYd/ogtGMkKbcrKKlzmMckWa+VYX5l07Qq7dqpsmZbPMniqyVKUEtq6Bxz+pZNHFgiZasxsebhCFEFg6dQch/7fx5m+/2NpjSt7Z+sP9n/fpLaDqeDAfZ0zc9z8d+9h/c7v5vhNn2XHQ5/D8Jrp5gGdM3O010whRpoCkjEwMjbJ6Rs+z5HPfZzNj/lR2hPTjTGGCoyRBvppT08x8czrsTOTZGs2kI1PQi9BPlY0wjERYwUIDY/fJOmHGMFobkt7+wbGn/8MspkNhNJTHjlKPjlFNCY1a0GUiPHSKBIy8H5rPRMbBWNheN0MvhuJVcR7S++WI+Rbp5l68dNo71jN1qm1lL6i8sLivlPc9M5/4D4bV7Fu53r2vOIJ2Nk1VL7UtvXvv5Jsah1ugw6JCRHKg9oUVh48wsn3/D7rfvpaZNuEThdqmabQVGUqaby47wTTu0fJTWDjFaP0QkFFhxgji/uO0cpyTKbD3cVEhr7zatZFaD3gSnqFbtxTdoQqWN3A4gnWJD2SQFtKVtol6ph+Ic8B7hG88+6ucEF2NrikwWW+uue6XRZwwX39xsDE8hmEeiT24R1JME4N9aRIGxElEiTiQKikTxvOQp/dk/5O0SYa4kCDYt23YhNXPxjpyzUY07DUYqH7SUIqStc9KdC/9vQ+61pHrGXFvdFDI7FqVIZbu1Fz5xnKymWzc1uJOglgBIwJdEGbs+rpcJW+cP1aiqclBpEYKmMb1VCXtH163uHE42q9e6twZpmkF1TSWeiZTBsXS9vIVvikhtkzjk6ag9u2ZXNIAY3jH3JptrR4RtzdH4By6SL8hJ/jhKEN05AJ0UF7fIotj3wOK3feB5z0f+8Umwx1RGC1gWnxzGGC9Dtq22un2Hi/x3Li5n9h4/0ey9DqqeYlO6c1m+ienmu6WjsnDkOl3a1HP/cJph7wWIZXTS5Li22h0VN5eI4jH34v1aGjDK2bwXnD0PoZbGn6zIeq3+Yeqgt5/DXMo+Fb78AcIpH21kmMU5nlWvKgiYpcbAq6YYB6t+yjrFPfRPmUQmUqyv1HOPH2D1HsO4GdmaYKOZV3fPGVH+Ps3lMNr1cLzbB65zpaLjQpsMsC7e0TiNPNXh45zIn3KGMon5pi/Meu07pHqZFLWfOYE7Qzd+M8H3/RP3HkxvMAzTzRXCpOfvpGvviKP6eVeba87GkMb5tADFgrjHzXvRGULVEXzTpVxkJSDJy/gJ+fSUVbqmXKg98KPJ04YKsX3oJLtjx4M8tvyxqxTI2Vy0Whz352G5dNsGoKwgPZgLLauJ19N1BmMVA4TZG11Eqfg6q1SUOm0d6HvpDbIHxp43K11jrab9577N/MRaLuGrKqIcwkyVCrbpYD8E7D3gm3Z+/krqK1DN7x/WuqlUAbiCeJx9Xv1WtnexVU674XUhF34HVUJsHfTlrE2prymv5UyQ9oU1bKHnzG/5+9P4+X7Djr+/F31enuu89+l+6+s0mjxfIi2TgJS8A7eAMTMJYs2ZqRbYh/CSQQCIuTQHC+WcjPEJJvFgLYHkm2bBkwxLFsjDE2EDDEJtZiW5Y0kmY0c7vvnTua7a7dfU7V94+nqk6d0z0zV5qRRgTXvM70crvP1k899Syf5/N0Yqy/81J8g/VakoX+EBczLl/SVgmxVxg2/8NwfVZWbSIrJs8VBeFaW2zx+B8dZO+rDzDmrXir2HLFDQxtnmJkW4PQjdNKle6+lx9gZIvw16yfbPHoFw4KUmhbgytfcYDh7Q1h9TNI1Z9LbKlMcgA7v+8Ata0NWJd4tgiq63mbCDe2rRqBeVWg0miw5Ye+m2S2jsks3SfE2u8daQfCturOOt2jC9SumGHyH91CZXYa0zWkx9pUPcGZyomiVCa3o0DL4Cx/bRWd9hzHP3I7kwduZfKHb6UyPUPalQ9XZpuhYfpQJeXF//ZNTFy5jZVD82RWM3zFTGAhBDDGsjY3R2/uJCPXX8/ku24VSmXrq3GB1GI6hpXH5+kOpajrBKO/fU+dl/27V7Jp3zgZXRIkJrny6HG++t//kuvf/XcYuXYbK70hltdT1h5boDLbBFy8GIFqrnelt+dId4SRRKpuN1eqVG1KonAEa2L9TFTWC40rLucwJa6ruGI8ludBz+MQpSuKjd4XIEPAz8SXWrL+lQsriZUsX9UGQhGSI0czCbKwZ84TMC75m0lFtDyX+g9r3GZxPWZ1ia5BLkZhUcpZ+spiXJ2HReeLGY7uISZas7mlHd73/7lOagBGiXWfatc72RQ7iA2pnHDNWgeXBNcdTihDbOYQ75ZAvxDaP7pzsz0tYf2KGCCdpMJqWqWqMyoqY8jx6CfaFKzwTlYJ7Q+zVKjbA9uushi3gHQz4dzpuq5cVUfdUAFB/bgK3dC7+SLGhhS+Uuq1wH9Emur9prX23w34zMuBXwWqwAlr7cvOt0+rIPMdu0pz0/9m1ojlPbyjgY4Ut/97rd5k9+tuY2h73S0O/u9KQjJWqDRy6JdiZEczfC5eAJQV+KZ0uSJHWCjC6q81jG9uYtZlAujMoR8SsUBsBSlOSbW4yZmi05KkZDI5ia5aFv+jo13eU3eMnFMsf/EBnrzrD5n5J29leF8TawzrR1uc+I0Ps/3vvx2dKWrTTRFO5WO3CtKSwnAxz+HtTRo33kZlRx07BKYDFiN9OKsJQ65hukEzesUMZw/Nc+97PgnAi//tmxi9cto1Hrd0Di+y+Mt3YZZX2f7DirEXv1hcYF9IY8Cmit6xBRb/650y0d9zC/aaHVSTjM17mixlHbQynD30JI1rxl1R1ncyduUUJ7sdlFKsPLrAwq/8D2Z+8iaS5mzu/qai8KUJhaGWpBirRfgrMKHXhErZlalvq6w4Dp8LY5afCbmORzosITmIZKkUp5Y/FuP28lva/sUAQkcqL+eF75LnAsJwVr8oSxUUp1f+KpNwj9YuBJW456lPqip01XkjFXnfJg65VhWDJ6sIDFHpvDAx8FC5pi2i5I1813ksGGnFGYoO42I/T/NRQvJotxAFBsxUcma+mxYIE2dWFRqEms7AVawqa9FVK8aS8mR+SkI2rlgS3xvC3XPruXespqcrrDn6BmmTKNY+NeGUqnpm14pg5tcd2Zm1UoDlfw/fBc73xO0py1paZSitYRIFSU+UvqMs8Rz6njX2YsYFFb5SKgH+C/Aa4BjwJaXUJ6zNCceVUluA/wq81lr7hFJq6oJHVi526F/GIUr3fH2+xdFPHmTnmw4wMtUMwh3cR+MUO+SK2tqc/zq2krzVQP6eskLFYI0ggUa2ikcQYNyRRWaNZf1kK/Szte54NrN0nmxRbTbEBawIl4g2IizK9b0k01R2Owt+5wxYqO2u0z3S5sSHP8uOW15Dbc80CoNRitreGXb82C3YzLD43z/M5LtuZWhm1vGZSHJbS5a7OCmclT881czJ26yh22pRuXIG0PSSJEzMispIjeL6f/29aA2b9m3Hup6iFpjYt4PmP7+F9SdOM/zS50PXkXaZYmP0Wr3Bjn9wG9QMSXOKTi9jtSdWkFaW1UMLfO5n/pzv/+Vvo37tJhrXbqJjMoaTlNT22HrVdvb83A+iZqdIezbw7WCRRJfWAbVTUYalbDhwi9dsFgqyhnSP0aR7QYX/jMl1NEw1lx+IQnHBtXcvCzLtv6xCi0JlrUuUOus5luk+2VbhO/7+hetx71k8ZxI5pYIRZIg1otD9uVjHP0ZFvF4QuTZujsg5akHRaYupCDJFAxZbtPj99SfOu8hkEcmhqTb01y20fywtesoic0w73p5EcgQG4eAJsu2x64YQ07dWqldNJRNFXMm5521mgy4JcE0n51aJIZf2ErraBNmu6Iy1zOWNEhuYY41WDCcpXZPSSSpUKlkIgfl8gMiA8wCs9GyuqAyjNVpnQqGse5I3cKyaFzs2YuH/beCQtfYxAKXUR4E3AXGHiZuBj1trn5CLsMcvtFNbUvh+xIq/2mzQfPMBqlMNgjwbS3ehxdBkpJwtYCzrx503YPP3lbG5FeQUVJgg7jMeCbTv5QfyBG/kSSgjyeDHPy/ho9HJpiRzjWL9yRbHPnWQnd9/QPjuUx/esZhMMTTVZOpH3kGlPoNKodqYxWYGg0Whqe6aofFP38rQnmmX0BWLiKpmeN8MWc+y6Qe+m0wbTNUALpnrPovjsI/DeyoDMmmpWNlZJz3eZvGuO5j84Vup7m2QuipAY5TQC//rT/KCX/xetl4loZhEiQsMQA22XjtF58oGvS6kwVq0UpDm7pU2muHGrMRnexldpVit1ELD6u1XzPCaf/8ytl41BkgjZ0WH9cfOMrJ3hrSm2XrtdlY7cmzjS/bdJOn1ElaTKrVkCIWh+9gaQy8cRisT6BZqKmNCr9NLko1Y+M+IXMejrPDjZGoYAyx4yL01H8IphjpwsfrIG9UlGY/mRjnhW6gBsJFCc/tBixcZkrsuji6hJWHSVEZhDFJH4sM8iRhbumKkWUkc5oksfVs10h5QS3jH1wzIzRGr22p37T5l4a/FiaWIsCR+USqQCnrZtpZAL0xFQi4gin+INBSQWavoakMXSI14zRiFdeehLFLrYuRcM53QAVYTE2Q75ugfccnXIS0V5qkVOOdaRZqmGKPA1Zr48zRGPuNDkcOJWPUVlYValmHdY1g9Owq/CRyNXh8D/k7pM1cDVaXUF4AJ4D9aa+8o70gp9SPAjwBUNm/F1PoPVgi9WkVtZzOK58N6u0Xr9w7SePMBSea6z3faLY59UhTvyGTuDYS4nJsYYQEw+QQZmmyw95X7MdZilJXwUeE8XFXwyw8wvKkhoRQl+xrbVGfv9+yntrkBHQnpKGcl6Qooo4WrZ91i/KRwlLAqMeiKorqziXXmk68SlX6fmm67zZnf+hQAkz92G7V6E5Uop2xdMUuqJH0ZWXqdBce6eeMBhhtNZm4+ICGejsKqRMI7RjPUnGX3e95MZfc2eiZFk3Hm0UWwMHblNLoiFLTeBbZWuS4/iHZw7rg1lu6xFtXddazSZBbWdNXfPmpJxqYrGqzbdRIrRSunHj7J53/mL3nFL72STVfUQ8LKAlkG60eOU2k2RDmQ0O1alnWN5UcXOPSv/oTq+76Dq18wxqjuBq6dYd1jwq6HyXieccnkWn63XLZ37dol11Eh76dNpOwHJVz972eLj1D04PIwhyrIcBwCij0v8QAiw0gVF4AQAlIqD2Eo2ad1yUadqZBgVcYh1nqgaoQwj6kBiXgBxqgck++CscopRaWloZBnZzXKShJYK0BjU5erkhMF8vNSkRGGgNxyShOjMKnFUJHetVbi7266AwRv0/fKBciqacHaNlq726QDtbLK8kS57Yon0amIcs5s3h3LQ0J9crWqM4aTHmlVyNNA7k3P5syXxnHnr6mcBnk46VHRVRJlydCSdFaXJmm7EZROWTyhqA5BFo5vAd4AfA/wL5RSV/d9ydpft9a+1Fr70mR8LGoMkm/GN1VIfE9N+YzRgqipNurUbxQu/BjhUKs7b6DRCFWyhceAjvAVgDlKAleFeOhz75ciL59Rj+OtripYowroHm3k/aRE86B7oHxRS8QNonoa6zDspicNnm2E2/coHo9tHt4zzdRPvZ3Jn3g71T0zAVVQRHk4+JyyrC9IkZpn3RzeIdTKQ1MCpVRdi/KsiT1NliVUdzfoZVW6qab9+Uf4ys/9T77ynv/JymOLVJRQK1cS48rG8zJ1KV4Ri78712LxA7fTe6ItWq6nhSohTVjrVumkFdazSoF+Yeqazbzxfd9O/ZoJRhIpTx/ytLRH2xz/1bvoHW2L7Bgwrvgl2dWQSuErplnNaqyaGsbzituM+W+cQWHK4veMyXVZticnJ+U9j8aJZNHzJcUyaePnXk4j5I6JvmdL+8qfqxCDP9d+cuplVwsQ3wxfBxAXeYWiRVvE+QdZd/j9CDmjXP9emyrJOflq1VLywlN3hyJEL0+DZDsuzopHXJiVEZrH4GQ7TV2xVFohMzrwSgEh5FPRRjhwEpMXZg3g3PHMmr79Y0CQdQVDv54KJ05qklAnUlEZVTd/hhyTp6de8IuENUJ8mKZJoEPxhVh50tcVel0CLp2NWPjHgJ3R61mgNeAzJ6y1K8CKUupPgOuBh8+1U4tDA5SGKn3Iz8DO3Bzzdx+kfvMBhnZJ3D6z3qpRqEruDZjg9uaPvpQ7f64i4Rboo1IqCJtSDLS2sLD25ByHPv8BrnzVOxjbMZu7w5kFbVlfaDM03RDmP1fIoaqAsXQWWmSJ4cRBwbDX9s5gbG4NSR9Mw+pfPMDYtz0fnSSMXDHN2uPzpK1jVBqzKK2x2mAchli5MtjuQou2b5s43WTYe0ApdNptFn7rIDNvO0B1b0O4xw30XBLKWsX6Yy0e+a9/wr53fxebd29m077tKCWds0CgYsYqaShmxQrvHpunNtWg1sybotNzrmonoevc6rPVobCPkaQHWiygnc+boGOkaclaVRAOqdGMX7WDxj+9Ed2YcfkSRZoqug8vYq/awciunZzuLZNo2FxZk8YS2jD/jTP82j96jErtgrbMMyLX8TCV0vpRUlq2/KIQRsyhjuWkbkCuRPmbUG3uMe2WAM/0YZ/w3O0nDvtAZPlbyQMFJI1MNtc60CVNK857cGyYquYsfQMYLYacQ9SoxEDFeYmef9+heEC7JG4m0ahUQj2xbKuQMIB4HfeWv3Y4eiH9UwG909OOUbYm9SGeHsFj3X1XOJ1J4tUCXWWDl2Ktm7vRb2NcGCrrSmgnyzRLlaFwTkM6ZQRCPUpFZ1SMFE4Zq6Shi1WkCmwvkRCPzVsk+iYsnve/YyoMOWqRS9HFbSN7+BJwlVJqr1KqBtwEfKL0mf8BfKdSqqKUGkVc4wfPu1eVWyGh43yEQTbKsj6fY+yrsw2m336Aymwjt5QipsnCVnPVfH6rQOaeZzXZTLRlNcVQfZY9b3yXJIH9vgdYR35Ym2OdPfOhTiWU8sQnP0i31SqQWiXrkB5us3D7QZKeYso1bu8+Oo/pCE2BSYWaYenPvs78f/o4y1/8OkpJA5bj//87Of4rd5K2j+WVgjUjrIRDliyxZIlh5qb94v3Ev6yF4R0NGm+5jeEdzUAVoToas16h16mwvlbhzOEzWBTV5g7G981g3QKUKEMt6dE93KKa9KjVUpJqRjp/jBP//Q668y2owNBs001Qh3ToabJOQrdTZaVTY7lX42x3mLO9YbFgXBKnog1DuufoEbqM1zpSqViRSkXPPNg9PE/7fR9l5ZFFVrpVlnrDnOqOcKo3ynI2zKoZYue1Y/z4/7uP4eFBJuGzINfxba8UN5NEW+l1QZ4LLJPOo3MMq7bq5LZa2tx72VAu31lNkdUUpqr6P+89jVjGoySpLBZRNW/A7LsKXifTuXyrIhHhumOcDaRsKk9aRouZbx2qEouuZqiaCQSDvp2izFOZ054DKFB9+JBW5j0OhV7PZTvtVuh2pI3hWk88zZ5j2fQ9cQMFQ+Ix+jK/Arut5ybyC2pPYddzQrc11yJxJR3Mfqk9b7+OSd3SvDeEIrDw9noJy52YXK0W9hfv8+mOCyp8a20K/CjwGUTYP2at/ZpS6t1KqXe7zzwI/D5wP/C/EYjbV8+7314X60xuq6PNeX+ddouFOw7SmW+JZaEVQ7NN0LDensNgS7zgRVc2Swxri8eksXE88aLPBVc7AarScpCKxlRUoSjGlJT+6PYmV7/qXYxucwifJ+ekybMRrP7e1xyQ4q3YFU5hZFuD5g/dxvBkk5GpWdIn5jnx3++gd3jeucHCWTL6d17I1I++mdG/83yxmDDM/MzNzPz0zQztnRGLKTF05+YwifQc7RyfY+Gu2wVgmAjSoRySChw8rneuipqbrD22wMKdn6dx22sY2lsP3CQ+Lrn22HEeeu//IH2i7frUGoaumGHyx26huqtepH+wRJw7Mtl7vQpr3YQT3zhFJ9MhtOOLpyqufHw46Qly50ibY7/0W6RH26EfbnVnncl/fDOVnQ1JhPWqrPSqHPn6CitZlXVbxaiEPdeNDg4BPAtyXTiGKm5ImDr/bWJDR0UyNkCefXjDhPBnMaRTWEiq9IV9TBTyKRR8lYq9CrQPlpAczov7vDxL8Zbn8ClQOKd5b15PURDCOxEhGRCsfe1QPIGLZ0Do0njabh3dz8iDz0NQcny/2GSOHqGbSqFUZgT/Lj51zkZZTSTEoxOD9pTPoRjMnbARpe/5dmymwr47aYWuSeiYhNQmhYYlWsm+q0mWH0f7JjPudrsuWT2Hy1/PKlKM5ZR9tiH7/PxD9ZGSPUtDVSq28eP/iKFmc+DfrbWholNFs7czN8fxg7czdWA/Q43ZfH+R+4uFbmuO+TsPMnOLtD/Mk1nKub6E96yxdOdbId4dCzgW4S3xbnJWDPWsPjlXRPj4iRt5MB6rb2rRQlOTRWn9RIvK7jpUwVatMHBWJK6ptaX7xBzzv/xRGj91I0N76w69oll/vM3x//ARdvyDt1FrzEJH2C2HJ5skroGJp9gtxA4cOiqrGDqLLZK9deywlMxnJ44ytm+SoVrG+HBHYo+uND0zcPbQk1T3zNAzzqpZr5GmCdl6xfUOcNaPkd+uurMBNYnLJmMppvUE7ffdzUv+1etpXjfBRKXDluqqdPbB0DEV1kyNs71hFtdGOf6NM2SNnax3aphM+NpxiI9qLWV0uIs9eoxH/5+P84b3fQfXvqBGvXaaMd3hF37gAR57YOWCZv4zMV760pfaL3/5y1z5vl/J772f1AFyMmD4+HL8Z1t8VP55X5inWDRUiMd7uTX538thn6DQQ9jTFuXGHdy6VoZejnxezNQi76RGaG4u9N8WW7OBdlvXssAu6703ICdnM+LxhmY8XR3yYDo0DiKEaON7bBMCCWE2bLFDFlszJKOpcETVUkZrvUBK5tsWAsJrk4psdzoV6XW7nuSy7cI7VpFfU0X2PTTUY3Sox/bRFcarHSaqHWpaakY6RuLyqdGsZ1KJ3skSVjs1Ol05Tpa6qndtqQ2ljA53GKv1mBpdYmttjS3VVeq1M/zUdZ9BKfVX1tqXXkgOB43LVmlb3b6D2kyTIkFOPhRSyVketUZDwiGNRuF71kHMfHK/2mwwfesBqjOOgwdcpt/h9B0MTBnotFq0fldi3yOTzXyC+Pilo3bFOmRAhI4Y3i48/iNbHIWDX1jceRgLibHOUhfFj5VFJn2yzfDOBrYrStJYpBrPyHWZxFCZbTLzkzdR3T0j90UB2jC8d5rJH38r1dlpyASuWdvbwPbE+JCJ5NA7foL788ugN99m/mMHmd5/gOqehiSL67OkPYNSivUkRgSkaGXZfNUOekYuPKtkpLVUwBYeoocG4xK4H7xdYvp7GhIC7roWif/0Rti5ieVeJ+oc1AuNqGs4Iqpqj6lrt3JqPSMzGT3AmiQioZJkXG1ngxf94hup7B3mbLrC5kotQPAu+xhwGmKUOu1flnufyPOy7L4Q6kJAQiHOsg1vWzGQcoUfIVv8pgcrfO2475Wxgox0n/NItUIhl7f4rSh+jci39icVyZnKlHwWkQ2DeBs4TiplZQHQTmsH6KaDhtqK67WMxlqpTdEQOqcZXLN0m19LMMiUkp65GoeS0mRJHg5RwFA1lceEgNKRYipFVhEvpKeg5+HBSu5rmPuuOMtaCVv2lGVdW9bTaqjujUdFbio1m5G5eH6tkoVuVh6GjIUsU5JszgyraY3hJGVICzjhYsfF+whPc6haFe2SRsrzVpR94II/7L6nFEPNZmgoXtypDSEitKI26yCMsctccpFtYqk1GgXkT3CNozinR/eU4/pKK0a2N6XpuR+xm+ldzdDMQtzeXqtF62MH6R1z/Wq9G+yY+jzKAauo7XJ0Azbn4ek+0WZor/TRVUnuAntUk29pNwjhoIxwFjXecps0VnGhHY9u6HU1Zx9ZpNNLcoF0oZ2YdraijfSpjdxwEsm3TN7mFmWjIIPuo/NkqSaZbdLNqs6ayuOdGToUrQzpVIS8IhwiWmf0nmgVFKSHs6WmQnVvg46psZwN0TESKnoutDhU8Vawxv3rfvnOv1w0ZsIWh4Pir8eyXfGhn8ijHJArKMbwVcinWR2HMVV+EeGEcs8g5+mx/aGdnkIVQjw6oiB2EE53AXlM3/HweA6eSLYL56wHy3ZQ+qGpjAo8QMYhxzIjdMeZVQXWS988pZoYF7bMJLRTapxilfeafFjU0Sg7yuOeSVhPq/QGcONUHLFbNcmoJAI0SJK8kbxH7HmeHempK+i29TJXx9MYl0/hxwoxSn7GLd9IpUMVmXXogwELw8CdI5UZcX4gahhuE8i0Zf34HFnFYmtQ29XA+kRuFbKKVN+mNVtI8EoCLGcWDPC6UmLXx/YDPbPnJe9Yko5QMu96o/D2J2uKZC1Pdul17WhghRzKZNID1pdkCw/PR0mPtoRq2TVNp2qwLolrhuIWc3KO8dBGMTLZpNLTQpW7rlDrGruesPbIcZ74t7/NmYefZK1XZT1NOP3ICTIjsXaPbhipOYKoWipuei0T7HYFartkUVZGmpWf+G930j10nLRTYbVTZbkzxNlujaNfX2LVKX7wKJ4uY5Uu45UO47UO6tgc7fd9lPTYHChD90gLkyGx026F5c4QZzojnOpKY+glMxwm8uUcnvQryHRJ3gvvR/IdZHzgTm1B+Rd72EYK0bfQDECGYsJ2cNJXkTnZLiSQE+Wa/uTxfVF4vhtXntBNOpbKeg5USNZFtn1SV3XFsPDEZwINls5x4RK1dNTSFSOtN2tGaJY9SKGWtwgNCVX/Xa9LCuRvynXO0qQd1xi9l3Ppe/SLUpaaFsbN4Zrw2oduWd6QcnTlYeHuyb6NS+Cudmosd2uuaXnVUTbL/n2+wDNuDiUZQ74touspAGLMeA6plW6Npe4wS+kQy1mOBnq647IpfCyhX2e86SzfenOSuO3NtTY0UfxMsMbSOTagaYpfABR051vM33mQzkKrlMSVCbJ+osXcxw+yfqJVmCBZRRg6s5AIyy2oWOkHHv+TLTHWYux+CkkKY1ubVHpKJkxgKsTxkmvBNEf9Rj3CobKrLjH9PTOgXLu5qL9oqG+oiqW3ftwlrxMKFlG4l76Jiku0VWeaTP7jm1HNJp004dQjT/LAL3ySM488WbT0taEW9/L0i4639t2xao0Gk++6lWqjge05Vs1ehRMPneLPfu4PmXtwOTSAAPqaSmy9ehtX/rMfZPTKKXpHpSVi70g7hHY6acKK663rWyI+JxS+y6X4+K8+h6znslyS8VjmQ8x+8HWFt501biFPpGtnEUdyXqgB6KsVUAXsfwEXr73yj67ToXlyRI8tcO/7XhJBCXfy1oox82YRvZPH+IVt0+QNVbx8V/JEbp/St/n5qIyc47+ryWIufd8G1OhQG1DTGYmyUntSMXkLx2qu9P3xZG4TEGnrnaoo/V5N8PQRTz94TyIL+bGaa9hTqUpeQynrkrfSYnGtW3WLR42V9K+zwse5en5SZNHkcMIzNNWg/ta8n6vKyGOQfgJ45e6TTxa6c22OHxQa34FDWaqzdab2H6DabBTREU6wq8069ZsOUGs2ArrHJMKw+cQnRZHLZ0vFLm5fw9vyNo1YoWZ+7HOygORdimzUqchNDJ+Y8oVaoQmFIHiMVSg0tT0NtCbiKfFFLEUXeH2hRfuug3QW54r0r/5WhHNR4Zg6S6g2Z8nShKWHF6numuGqf/H9DO2d4uwjixhjWD50nIpOqWqhU65UnGtaMQX3FxDt4ysWM0el3EtIdjZ44S++kdErJ0ORCUgnoYrOHGonZbiSseWa7VQqlqE9k2y98TWBj8gTU/lm06tphcNfXw37upyjv4G5QrutLOux0o/rRUIoyCdZo+38Bx+g9D3iRBfl1RQMHr8gKEzEm9+H6PFonihMFTdmj8OXhUKtgbKtQuOgQvjWKf1B4Z0y4q5gyMShM0cZrr18p2JA+c5T3TShZ3SheUoS0DSOV19LwyIVF2XFiDQf2uk6rh3XaL1nErqmEhBB8nO4gi+VRb13JSyqlQ33VGoBJPTUzRLWXM/oix2XLWmrjCi48pDfW4RJo6hsn8V6CglvvTglZxV02y0W7pKCIo/4GZ4WzH5tWgjNcusnnyUC85REq+fNsETCohXVXQ0pIMqs5AIMVDy/z44GmRNyjBPkyNJRSkImPqEUmDk3N6Qs3CWVyAyrp9sMzTjyNSvKFytcPLaC4wlxBSEAiSS9dGJCVa5oCYWR08T0cFQHDaZu209lsoFJLVopKWgxYK0Ugg1NC1uo1UiSzUKqNEtfvJ/TH/80yc/dyMS+Ju0/eoAnPvjHXP3D38Gh3/wzrn/vGxm9cpphqxzlrFC+ZlYJ+6ArTe8ec0ncd+6ntrsh7q/LNmY9cVkTDUNJyghd4TuRahrGKl3WqyKmvSxh9dGTnPrYZ5mcmULvbmAzSHsJ60kFpYZ4/PAa9/38F6kNXX6F79ls+9YeFb0fwSBj6oVYxlXhPYIyH5TGKh8nSLwHC2jygiytQjLXRoldoQbxi5DCBkSbdXLuzsMocqoSGy5Cl47ji8FCCCQT2TaJ61frCrQMsihpJ9vglL6TbasshgQ0GCVABeVYW0GuxaN3wiLUk2uAnP8nUxpjhB5Zu363ALoqK6uHCGtl80Kp1JJpTaoS6XdhpFo5oOAywRKatQpdC9ZCrZJhqr4DVy/E8CsIQVrN8VVJsxQd+kOnLnwLErZc61ZRynK6O3KBH/zC47KGdApUBA6rnsQWgXd9S3QFwVroKYZ3CBXw8GTj3PHS8DqO/5fOxyd8o8kVYqLedaxYwes3XUOWPvqGUnl7ZBEprRjd5uLakUW0vtjiyKc/yNkHvwI9Ky5wuD653u7jLZFO7/4GOgZPxhRZ+kqqdtNWixO/dge94y1B4XgMdtQycX1hjmN3/ybr83NgnBXkLLD0cJvTv/MZtvzga9HNBmcfOcHjv/55dt/2nWx/2dXc8N43sGnf9qi5RJa7pj605GB4tUISV67D9DQrhxZ55L2/x+JDp1lNa3SySqEX7qAE7tiVkzT+6Y1Ud0/TPdLCWiuWkCtNr+6p863/+rtRQxdvDV3s0N2SjJdkO6YriOVcBdlXuRfsQ0KD5DuEe+iXa8gVv5ftYBlHua247iQUf+Wb92b7Q5j5ggUE3H6h6Uoc4vFhndB0xcX1XR3KoPBOwOkHGgZnaUd9cuMCqbAwAj6JG8u2b1RUbJ5SCfF8b+l7WhFfKFWpZmLpexoInVv6HiFFpjA98R7WuwLz7KSR96osQ4722IcsfVtOKTSUIjSUeK/G9dP17RAvWiYveg9PdziFr7qWztwcqjsoyx9Njix/DB1wfDw0K06O3lyL+Q8dpHeslbvH7gfpQ0iUR0j0QijwKKB7bBH5ECMeBnCi5PwlxWv3Sn90S4P6S19P+4v30G23wnV5pd876jhqjrQHhnewOXrH8++oxFLbO82OH3sb1d0zEWdRyQWOJka+OAqH+9BUk6l33croS27AZBWyTD4sVK4J4/umQlOWSojnZzlqJ54Q2iGrXBWuV/qVZoPGT9+I3lnnxEMnWU0rjo9ERw2iHceO7tI93CLRKUliSQuxfIGypZlmPa1Ru6LxnEDp9BckDZDt+DMFdElJvl1IKOeOZ3AYCAYr/rLSj5K+ZoDSj42dIt+PKswN2aJ7bSny8pQKtfLwZcy/c/7wTlycFcI7Mc9WxXXPKit9Io89y2Xbh5VwnDii9CW008vyvrJKSRXucDXNk6tJJoWPyhtOeRgml21BBHUddLgb96rFuoSt62TlCNaGfCzftZAs0CdHxVgXOy5fSMdCsi6Nxo9+5iB7vucAIzuakXurCgrJJ0kKClRBd1HYM2d/8ABDMy6ks7VJ84duo7a9ger6hgtSyRe7xb7MbVDIJ1j7INBCifo4t9eKRaxVwDpbnU9Yq1Uu7CovbAmHiCZkYhTbd9/AyKYphjfXsV1h0/QTZnRzk8ZNB6hsb2DX+8M7VhvSw22G9k6HnrlgUBXN8JXTmB7Cg2Kt4PNTh49WUucw+5Z3UZuss74w57j+ZQFJtGZ4chbTtWTroOs72fH27+GJD36W4Z07mLx2W4F9cKiSBtfUuNqKXubCZEE7IIop9b2aKqj6LMe/cC8nPvSHDP2b19J83qawX49oGEu6nHz4SR78l19g9rbv4tj7/5RtN72ayZ94K9XZekhy9YDVbpVqMkR6CXhHLnYknSiP4UacXB0k48HDjOVcl/6mVG6MhM/n3mlcZV3W+17p5z1w3Zva5hhzqwLrK5Fskzhl6ZK2CfIdnQEqD+8U8Po2pzpWRkI5WFBVt1Ahc8VkLqRj+sM7Mf9OMbzjPAx5V6DF1oUtM0KDIJ9Y1TirWaJCGKUxSUJqoePkbcixZ9Z0JgpfZ1ARy9xYyKpy403NuHspP1JYWFKnb7oJnY5Y5ErZUODlHysqo6IIzVK6phIUeppqUltx3caUhJGsYjX5a2zhKysxzrGJBntfsR96Nlj5ugdJzwbeDnEJLeXsv+pa6Fl2vnE/I1sbwXpIjHS2SkLChn63uAyR81b/gFG2+PMKWsfieVw4f7zFP4j9MIbPibsmsE9rpJHJ2FahPYjZCVXX0mu1GN4u1bMeRSPWibi/ncfmmf+Vj9A5PJ9TxUaWvtAwRPh8bw0Fhk3oHG9x7Lc/yNkH73UQ2NxrytkHE9TUFLM//RYqu+r0siTg8xWGlUMLaCXY4hjdECyxqKIyoKoyxfpjCxy/84+Yefsrqe6pSzn5gATu9DWb+LZ/8xoar7ySnbd9Fyc/+jkSDUpbB9O0gVd8PXKhL+fwUNyw+f6xMYyxT8b7PzfI2+33AFwyOJLpgtVfGsHuiBaUnNKhFOopJXYDeieJHgeEd/yBCvUoJbqRYvgyrkMR2gJPLtYX3tHksl3JLX2hmbDn9KwJ4abcq/AhGGHWTAKyxnPtVKKwpbBqmgifD6FdJHJDPTjBOHBCpycy7RkwM6sCVDNRlqoywcoPCVwtlr4kcHPKhYuWyYvew9MdLqGSpIokUxz+w9vpLrQEE94F1bGstY+x3jqG6tgcx95zk6Nn6c7PceyTt8s+nNAMygsEGFwoy87d4lCeHSbK+UM95SKuzvE5Wh/7IOsnWkUYW4jtq0CtEMf0A2zzVKsQ4glFWj2hezj6uwfptlphUsRuMKmi0hQIZXVnI58UGLpH2igipR/DNZ3ru744R+u3D2IVTL7iDZz4wj10Flohnq9D7FPRe3yexf/wETKTkJpKQDZYq1g6dIL7f+GTrD+2UAjtFNAVMXTOxTpVpqg0mkz9+M2MfNsLWU+FMMoXY3mlXVUZw0nGzPM2M1I1NF55NTt/5s0oldF9osXif/ow3SPz0gDDIS+eEwo/dYaL35xC9zJekNWwIPjPFReAQfmAOPwTK/4Q9nHJS0zBkciH9w4oGjI5nn9AqCcu1koG5asipe+semVsscam1EQ9p1rOwzwhpn+u8I43aEoY+T5aZX+ppYUn1Eg4OmfTE+Xci2CaHlmTaCE/G/K5qmoqsh3nqlx0ICy0mSONy5KAtBGln5CaJFQMC2ono+bCPFVfiOW99ShX55O6FzMua0inuiZxjomRGa75tlsZHZlBrcuNWz49x6N/8gGwlqtf8U7GtjVdVMCycrqFVTC2rcEVr9zP8HgdtW4jDhsROqMsa64tIZHSRSFt0Zx1k2lDb961KXTt3dCDQz1W23xBUFDd2WDm7QeoTtWF5lgrZ2GL4GkFKkE4QXx4J4OhHdI0fWRrRMngM/5+onQNu+PmKpm4ssr6cnUNFUW1vhNrMlfJn9E9IqyS9Z+6idquBkYrMmvpPtGiMtOge3yeockm1Z0N6jfvZ2hHk+GZJrVtk66LloR8pLxeKGdrU012vPtWVH2SbldwyomyGJdIveG9b2Bi33ZSmwZlmw316OBCTw7FgFVhcbWpQvUSKvWddLspq11BLdQSSWpRAe04V4Z0ynilS9eI9T5Syzj6S7/N9D+5ickfv5nqTgntpL2ETlJ9Tij8pOsYJwtxFR96kfOLQQIhoepCPfJ8gHfplGqATMawSfcZHOeN9e0EfUgyUvJhxOEfH+Lxz513qzzHlJNtv1ioTLlLcclaR1VcoGXwCB+PBLNgHKLNh3T8c2HucCEdR4NyzvCOlWszVpoFWQ3G0zyoaD55j0d5ha+cQlWoLmCl6UmqbWg/6OmNE+UJ1UQ2TVXmcTak6VIlAxeCVQ4eJ/fKYgWbry1dVWW1It+vOuUOEs+XY4h8j1YE1tVzRWg9benaSuj8lvb+Olv41jr3zlJJYdN4gyRTYtmklomxOtd++21c+x23MTFWR/ekom99scWhz72fR//wA3QXW4xvalJJy9Z97gEc/cRBuvOtIiIidokz6B1r077rdinwykoW/6BQTwBDA1pRazYhEY6Q9ePHyLRhbdFRO8cJ3QjBQyKwTfpQDnLc9RMtjnzmdrSFJFPQs3Rac6guqB45mZMjmLKZ67NrpG1i/aduYmjPNChhbukda3Hiv36Ita/cz+Jv3sHy/fdiEgL9hEoUSilaH7+dzvFWZAn5UJim1mhCFrm/3hKyCZuumkQpFSZIJRHXtIzNL4R2YmRDqiXB5ZJTHUefXC5YqaoencfabNq3jT0/92aBhe5tCNWGixlnmX5uJG1TsewlYWmDbMdeahI/pnk4M/570mcN+78PCPnE1qsHM0QWfyBNg6JiL20Wcq/M5wiihaVQjBWFMAOFQ4zV9/bROZk3SyGeOJwYM20GkILbX4RK88RsROEoU4mKDSOvoxxmCqGd1FnkaUKaSRI3bpqSuGboVRe2FFZNd8xYtgsJXAFYpC7c2DMSLurZMjZf+jsPJz2GKynD1ZRaQAaJxX8pjJjLauHrbjGlZDGsnG0ztqkOWrN5zOHkU/mCVYSFAKUYHW9A1+bWkJZ7vHpGmC9HJxrsec1+hjfVoRtZQSZ/jhWu+OYPHaC2QzDyksSSTQwG6Q9ba9YLHD7e2lfOkOm2W8x/9CA7Xv16TvzBp5h85RvYdM0NaKVCj2axnG34TniEXBit0Cxf8aoDDG9uYHuWtcUWx+45SPPNB6jNNgGLbzZtlXDvgMYoQ5JoarvrIdOPNgztnWHyH99M0qiDgVMf/xTVqSmSyVmMlbaOtRnpkjU01cgtIxc28DTKtidtIHtJIs3QHZJBWRsSrVVnDXWTjKwimGVTsZL89tZhQE84S9THO3WFtUqV9axCVWf0bMKQkp6kQzpl5dETfOmff4Hr/uX3senqXax1LWnPun7AkkTPUk1Rsi7P8Ip+EGLGa93YmhcZj617nKWeV5Naf78ceCC8b1SQbQSiLh3UQnxeQSIyq3DfL1n6VtFH1Kacx6CMeBveeiaTvxvvNVix1DVW+sL6YVRu6Stn9RtPhIaEd9wKI8SCIhxWu55lWjxB62RbKRXkWmLc0htaeSvfJY4NTrYMoRl8uP0+pKgsOlXSX1q7EIyCNBGEjVKWNMlIlAkAAm+d58RnYCraNT9SA2XbuMreijZCoVypUFGGnkkY0tK/tgrBq+0asfR905aeKxTzEOyLGZdN4WMg6ZjCW0tLLR68/8M8//pbGBuvs7Iyz+imumTdXWYeBVtGGqLk1gzLy21Gt0jIBgVLp+c49Kcf4KqXv4OxyVk2jTexHfLSck0xpp6AThTJtia2R2jkbP3k0LA+3+L4hw4yfatTtoPQPEqFJi21qTrbgcXP3kN1coqRqWZwg5VDNBgsncU5RjcLJbO3OrxgaqsY29KU80lhZGKG+re+npHNdQnvOCSMoB5EUK2xkfUjcXxpjq5JEsvwlTPYDEa//YVUZ6ao1uuYjjAagrRrHKo3c0SRe9Q9L8WKLBEhT7Wlk+QNTOKilUQZSGC4mmKce5pl2vUXlcnRe6It1NeuX6hFk1YTOsqyklRZqtQ4/cgJqs8fplrNQEnpe/PaMV79719OtnMzZ7o94RbqJVhyJk1jIlzeZRzJukGnNoQ3CvBFr1SdlxiUu/IGjFf8Nnpe3EySK38fs/byXIBVhsXCHcvF52Mufq/H+87PPfXGkShjhCzQhXfKsu1Dlzp1X/YFWm6HvoOVdsexYeXwc8CFLo0ic66GNVZsECUKXvvm6Eq8PxKLVVmQMRTCUOvuW+IWpNjC16n01NVOVkziQzsVuomcb9WRBGIk1Oj74Q5VUjJXK2CyhCxTLhyq8ihBJgaO7SnSXoWOtlQrGetZRSrJrcaTJVR0xghyLWlV5oxHvWllSRNDr3vx6voyonQsKituEyMzvOD5NzMxMsPqmRZf+8qHWD3VQqcWlRp0z7jn4hqvnmrx0F/ewdqTrRAe0qmzojOfuI3ed1tws8vuZORmimUrP97QdEMqeWca507sKlnhh2ab6Ipm9Ibr2f7dr6darxdROm5bO9Xi8GduZ/VUK5+QsetJHt5RGXQX28x/8R668+2ofF3l7q9DN5CJ0uu47lCdwwsBo+/RDTqB2p46xK64dv1wS7COPAnlzsUdx6R5z9DUNZSwUfhFYwMfiaAObMDmd1stjv/GB+jOzQVPAgM2c31ws4STD5/iL9/zByw8dDYkcBMMiYaZazcz5Au9krws3XOrG2MxnR6Xe0gIx6Az4xKV8lxnJsi8zpw89/zf81Cnfz/pmkJIyHsOcUK4iOu3OVBhALonlu0CfUPB3C89FQcyQvOcu2BrYDK3XBZcCqvIfaCEqnPGRqpC6M/Hs8vIHRWQO1FYp0S/4MNTheN7ZFOmxLt3dQBZKgVPPolbYIzVPmxpckRNqDuxuVb1su09z0zTS5NAuRCzdUrdiZCqVZShptOoQ1YWErkXOy6fhQ/onul7b9PIDKSWiaFpXnjdWxkfmkal8jmrFBbD8so84xN1Joanef71b2N0ZBrbMawstZnYNMN1f/s2Rsfq0PVWvbjFKjzHub0+q+8ENHKHg4upFTpR0h/WEODkYvN6H9gNZeU9Dd1Wmyc/+ylqO6YYnmkC4qJ6uR+aEbbMoS1CD+DLwT2iIg7voKRAa8+r92N6Vipyg0nmrELtytSVFohohvDl75oOhVmStMvoHmtRaTRRJFI9bIWGYeHugzRuvE0oIbLosrzlllpBCCmN1ZasmtDFcvrIIuvVHtuu2U6i83hnNcmkUMtY0mOLqPqsVCg7DeMMRgfRRLoTaUu3W2F0d53n/+L3MnzFKKlZlSSaEsQOGoGxJSlpRbOaGLJE3F+bKbqH5+ktnLx4Ab3IobtZwbL1oRAghAZt+BmdNZi5971V7z0AbxA4i98mYrF7ZIwKFr5ydSE+jp2Herz3akD+S5wwxyiqKKQThiIiNcsXAKNc4tN9Xhm3b/+bWkvQUWKeo3AeDzJX4gY9uieABGX9ucj8kh4PGqsMVsvkNdp7CDYkcQFUYgItgc2kD4W2SpA0fvL687Fett3t7wk1ie1psqpGpYko6CQj0ZrEmkLYsmo0mVF0XZ7KGoVNc28lx746YyazoTNWRRm6lQqZ7VFRuZFUQQALaaIxNqVXSRyME9KI0//pjsuYtAXVy2TLTNh06jYDm4ZnZOXvGVRPLPzVUy2+dv+HWD01RyW1bBqeodKzrD05x4N/dSfrJ1tsGpkR6FvHODpieayUtrznrCVZt2j3Wg+CzYWKwMjaHWTtO/hmpVln62tfT2W2Lt13EsPaiTnB7lfA1qTwyfqeo7G1rSyrp3K2T2UQjH6mOPLpD7L09a/kNQsdHO0s9BwFQ+/xeU78p4/gIRt5mAfHNnkXaWsO5XqH2qqlsrvOzK0HpJDJJ7r8JRmCtRXK4XtCCbt66DiPv/djPPjzH+fUwyfJIprbikrpPt4me0LojU1rDl3NqO2tM/kP30F1Z4POnCO+88nnribtVVjrDpHsbrKWDbGS1QLlglaWqsoKZelCYyuWFgqqu+pUp7Y9C0J8/qG7mVjtPSfT7rlKTZD9IO+9DNU18p2wGZKOcY+ZPPev151cu8cg1+v5JvTE/rkt9lguYP1V+G3jxG7B6nfep0dIBss5YOAjOoZAxZzTiOcoojx25IuzlI0867QEXe2oANmUHrna9cjVoTsWIKibGKrpYcgD6JTl2NEWWfkhgdtNBPHVE9qF9bTiAApi6edssb4PboauZrJ4enw+oh+Uk2vTdT1wHU3CeloVcrXIg/V8OzWdUkvSQKNcTaT3xEXL5EXv4ekOb70ay/LZFqS5m4uxhUXAY3kxlvGRaV50zVuZGJ6GnmH59Bz0DJtGpkM4SDv3WRXc5cgdDjjgCB0Rh3p8uXuE5Ilx/AHHG1vhpdGbb3Hq9z9Fd6ENWoqbWnd/kPXjc6wtzpHFLrGzzLwVt3qqxaHPH2TtdKtwr0a3Nmj8rTcw/xefouORR+7cekdbHD8oFAzVeoMd73471WYTY2D9sQXXcQuqu6bZdtNrqO2eKaAaqAhiR+Crtuj+UgwvxciGarPJzM/cwp5/fiO1PTMFKtiVRxf5+i9+gkTB3vf8ICNXTDlsPtR2N0jnhVRt5Sv3OrZTJZC8VGgSuo6HpGcSQTVEIaOqkgRaTceshjaH29UuvjvQxQ6RWVPcrA3yLMomDmu6xcBEr42EM1VqXTjIh3uM67UwSL697ArCJy/SsoMpGwYVI9qg4/uUfkH5l0KVfa8H1KCUqRi8fOccPEW6ZU8l7VFjPuwSWiJG8y9QKnvZ9r0wXCgqbhwTjk8pdOmNjzRvRJK5upPYoEm0kbClNiRRzUkZseO9Gykk82gdTdc1SOkZaQDkOaQ85Nlz+fg8QrmL1tMZl0/hI5NheaXNfY/czfJKu39C+M0tBjo1JJll0/A0OrOsLLV44Ot3sXJWYvibh52yTyXWn3SNxD99/LQr1pBeN6wvHhNLqRtXPIp1r7qGblzwFRO5pVH8MwMyoWcWdI83XfJWjJ5+udpsMH3LftZPLTD3W1Ko5TsQ5c1UZHIMTza48pUHGN7WKMQctVVs23MDe18tTdJjauXh7U3qbz3A8GRTyKFc16zO4/Ms/Ie76ByeByB9Yp6TH/0s6dF5UBnL//srrB87iqmYYAHF1cPxz1XIGziqWXoJ1Z07qeyepZdVCg0lNl+1net/8Q1suXo7m6+epFo1JJVMPAttMMqy+Q2v5dQnP0V3rpXHUB1iZ91ZQquOGtbz5Qtip8dI0mO4IjC2WqWfh+RyDxUZMcGYibe0uBgEAyfNPQLvBSiXB1A9sfAL8u037812DUnXebHdkjfrKns9T33iScy8pZ/msf0QZiwNr+iLled53DzmmIrlurAoKBUUf5nosADRTKVPhOfUD3LnirLieH5elOX5dkxfUVZohF5S+qHOIBVvwqPS0l4SyMt6g7jtAz14f+e3fO6qPLTjYvmeDM03Kk8d346xguKTQq80xPJ9Fe7Fjsuo8AED40PTXL/vLYyPTMt71g7eBlhIE0PT3LDvRiaGptzkchPMu87elXYTI+lI8mvtZIuHvngH64st974Nir/SsXTbLQ5/+iDd9lz0tyi8081DPL1jLRbujJu0yI8bWjG6SaESBYni5B9+mu3f/XpqzYYoeo9jjipzbVUxPOWs7TieaoU2YnyLo2HoRe5vqhjdPkuSKnqPtzj+n9/PyhfvJ5lpMPljt1BxlbjV3a55yt4pVv/yfk7++t0s/ur76bVa2IolqxjOfu1e5u7+AOuLrUK1olf6gaLChXayrqbbSTjz8CKnHlqklykyo1FKseXqHVS1TAwhoErpHZuj2zrGk79xJ9WZKabeKe0lvftLL29SsdarstKrMv/gGTqO2CpDy/4c4+BIxZelp64knf449OUYXm4jOVbGuFCGHQhcEK/UhMUgLACx8k8l9OOVf9IzufLv2Vzxu+5q3qCRjlRRGLNjC+FLYZMkqvGIrP2QgIxeQ0Hp56yy7rVn2qwQwpZxeIeSbBeUvk9E+3lX6F6VK2Rh15SOWV7pK+/t+fBKIk2NbNUWj0/Ra435+nVXQ0+FMIynXMgcNl8u3QbefGHUdE2AKpFXQew1aAd2yOtYVlNplBJ3fKs4Ns2aY4qNGTUvdlxehY8oxonhGVRUqda3AdZallbnsdEEUsDE6IzvZpiHglz4R7wDm7vJ7vX4yDTX3fA2xkdnnLsYISMyGNtU58qXH2BsU2MANUNRSIamxLKuTTcitEM/gsc6q3/67QcYu+EGmRTK9od3fCWlh96V4vlyM+LJYYuub6rQRu7Fmd++h/TIAtXZWbC+jZxiaG8drRXVxjb0xBhb3/ZGqntmsInQOZz6/U+x43veIHTGZQmJwzoZjqRKs/74Akf/n4/wyL/8Hc488iQ9ozj98Alpru2SXIk2pEfaHP/Vu1DasuMfvJ3arga1nc1QOFVIcjmahFOPnOSL7/lsQOxAzrFTcxMjFMPoWBs9R0a589q5jJp4YbA+vJl/Psh1FOZURryFPLzj8wQ5mq0Y6rFFbzUK8/gYfh7LL1I0BKn20Qr/hreWIyRPHMYJxVgxjDRCzvrFr68gyod2IlRaIaQYQjvulKJ5p3xoJzROwYEwoNCch3wxC4WGcWjHhWGEsVLQaDGbprBfGhJtQ7MUlZgcseOP43VZJoWBmQtZ9kxCN6sUWiF62a4qMWoqjtqh+mwpfKXUa5VSDymlDimlfvY8n/tbSqlMKfXmDR/9XFs8DCyvLHDfoY+xvLIQ3byiBxAmgQv/lK1+b/lXUsumkToVD3kLrrBzgXswMdGg4vl7OsWQT8xrkqSKkclZdDQ5gqVfuDkWEoFtepoHz2XjwzvGET+tnpojc9WCq6cHx/P9xAx844F2FoYnm9Tf8cNMvusdVOuNnHY2VCoKamfkigaN9+xn4u++SHD0FUt1d53Jd+5n9MU3CGyzHMs3/tiOjrqroKdI6k2m/unb2fnPJJZ/9pEnuffn72Hp0Im8aCXJmLhqB82ffgvDV85Qu2JGcGIlilnlrLcs1XR7FfQu6Yw1csVUcH2hxJefpI5T3CVvN1B69YzJ9dMdXpaj58r4XJRxxHZ5XL/P6ncyXrD4g3znVv5A0EJs7Udwzrgr16AQT6C5iRV9TGRW5tUv9YsIxWcwmFY58mJ1lGTOQzsCEY7j+WLl+9COCfz11rUvFQ/EJVZ9DiE2ZAyCKPId2rracTQJdbeP48fdsWpJJuCBatTqMyINlMphSTqbrvRiXu1UWe1JC8MVxyHloZ8i24JE86HLii+MuYhxQVimUioB/gvwGuAY8CWl1CestV8f8LlfAj6z4aMPaNljrWV5bZ7x4elCVev4WBT6UQTLPzxqipNF5ZSlweJLtDw3Cm2MCKlLFKJVWOV9ZaGpSHcez12jEkm0mYpYFf5Q8tzBPV3BhsDtfEGNew9Dp9VmqN4ALYVaMzfvpzbZCHTH3YUWR+85yO7XH2Bsa4PhyQZXvPoAw1saBQs4rojUENAHKKj0NKOTs2RDkKVW4GyJDl2CtMOiaW0Z2jsjx1Y+eauo7WnAOo6nxEIG3ZZwEvnG5HjLCyfIlYTa7CyV0R69rEttzwwv+MXvZezK7Q5ylrH22Amqe2YYv2qKTseSWoPpiSuOiSB6jknT9jRpRZASKquwmlYZrbjKxCQrIHaGE4GwVZOMLLmwHfOMynX+5YEy3jdiGNV5/q5A4Kv+Yy5BjbEivxlSMeoIa1QirKRWS2Oe8LzqFFzijQfXytAKNbepgIclC4xTukkZJ9s4aKYiPxcPL7Xu76GgCpVX5YbrUYFHxjpla1EFS187GLPGLSTWPXbFE7QKRO9q5zHk99Bic8ZYV9Nrq1KtK9clMMeYUbRciaszh67sKayWwsZeJaGbJMFjxaFqksj6rlSy0MDFdJ0bY6IF0+0vs9DTRrpZIQVegWNH2RyxozIqKqGm08DvczFjIxb+3wYOWWsfs9Z2gY8CbxrwuR8Dfgc4vtGDL63OO0yvCtvymrPk1xcK7yutmRidyReBsidQCgEV46aiqEkzlpdaWB/2yeRvofjFF8P0ucLlIq38dTnEE1xC7yZGIZ7O3BwL7/9N1ltzzv1VDhmTT65avcHO7xd6A+vi/iOTA+L5IMJrLKuLcxLzTS3r7Tmhmh7gmnr3t+j69ru/gRrX3eP14y3mfucgneO5l+EZAUNFpUu2Zql2VlCF4b3TLB06QWZyxM764wsO1eAKSTwDKYbO3BzGGLpH56RU3bEELh86wTd+8RM8+fDp4Pp6REOAsTkImy+G2YCefcbkOvw8ico3NXiLfoQN7NApfq8YIy839m6DV5vGHm+eI+hH9ETynObeYrH5CoF+OVaShbx+hN4JTYPi8E2E4CkzyJbj+XF4R8dhS2/5xyFFg+OSUgW+mbjY0IdYQnLZL2C6MB3y+RrDND3CJtPBwveFhqE7li/G0nmhYUDslJLD3qAxWR7L72VJSOD6a/D71krQQJdibEThN4Gj0etj7r0wlFJN4O8Bv3a+HSmlfkQp9WWl1Jc7vSXuO3Q3S52FwsQYm6jzomtuYmys7oqkcqUfunbHE2RQKChW/lHIZ2Wlzf0PfZTVs62A+Y9DPTpOfHUHJLwKYZ0BIZ4waaLy6pLSl3OPGBB1HsqxjmCt1nT4fId4WDk1R4Zh5bRDzvhdGeicaPH4Zw/SWWgJXfTvHaTXagVUg99I86SRJLnEa+keboHjCvE0ynkTdEE2VBszbH/V66lN1fPfMnK7A0e/QzX0epLkOvPIk9z3C/dw9tCTbL5qOze89w1suWq7YJcdssGjGnptgWiu3nsfix+4nfSJtmsXp9GzDXb97Jup7KmzktZYy6oFpISEdQSX7zsHPZtyXZbtxcVFJ5s63ypaCp3iTVNcELSWwqKyjMdjUAI4Rv6YHOWjMiPY/l4RuJDEYR63lUM8upNj4T20M+SI/EIQy7c/Pa/YVR7ekVBKFN4Jj57mwS8KkbL2rRJDxXAxwSxJXIfPd6Ed60I7PoHrduSakJtiArdisVWK4SUgR6P5kJJLEkeyHSN2gIKVP1RNpR9EVdBoVCRUGniK3ELi23x2uxXWulWWe0INvprWWEmHCq0+E5cr0JdA6W9E4Q8yPcpH/lXgZ6y1551p1tpft9a+1Fr70qHaJl74vJsZm2gExW61gkQzPtGAaoJNtIQiKjqfGPEi4CfTuRYAKFj948PTXH+lhIUC3j+2ijz8MxTLDGY1zBE7RdhmMRnmirSiSTHUmGX6ne+QnrgukSuTQ2gNjDaYRBK5xiVyV0+1OPwHt3PqyH089jnhz48tkpGtQrM8uqXB6JYGu197gJFtjQKszffxtClSCJWK9dA5PE/rfXfTPTIvJ6gNvWNz2MREUDbD8tfv48Qf3UPnRLsoGLGV71BLNs2hbLU9Mzzv59/E2BWTTpAEbubZNCsVE/jMKz53cMP1TN62n2q9GSZGllVIdjXpZNWAaIiTt1WVUVMpq48uUNEy4TYAzbxkcg1F2Z6clOstWPiJwlZ0QdZtEi0I51kENrIAxKifWPEX6lm8XEdb0jVF2fYx8zIffwG/r0KIQrm7di5LfyBOv9w3okzB4PM5PrwTvAxboIyQ3r/O2Ii92JBY8L+0zRumxAuQg2kGQj9/LSa/xtAIqATT9FZ5zKaZ04k4ug/PpBl5EgHtZHB5qryvrsA0BYK8lrmiLJMECoZLwZa5EYV/DNgZvZ4FWqXPvBT4qFLqMPBm4L8qpb7/vHv1AqEoToJIoVvlwz6unFz5SeInhBeufEJY3Hes7Qv5KKskLATBDSY1LJ+dg7jIJYR5PP7fu8XenXRIh55lff4YeO6SLBZOcmyv+5E1iqHGbB6Wckq/M99i/sNipXeOt0Ii1ybC47PrDQfYvO969nz3AYZ3OGy+3wWKsW2uX6xVjG1r5Alkj2xw1nh6pM2J//IheoelWUh1Z4OZn7zRxVotvSPzLP6nD5Mea4VQS2e+xYk/uIdtr3mdxPkjnVhEVERViq5ZQ2oShq+YIUOs/Xt//h5WHlsUsjVl6B5uoZSgGpSG2q4GOtEMNZvCoOhQDTbL+3r6bkRx8lYry9lDJ/jiez5L9/F5Ep1iL8yl88zIdTT65NrJr5fhghwPMmK8F7iR8E8J4eO922DQ+JoAk4cvPSptUIinUKwVhVPKsn2h8E5O+paTu3laZfFwVXg/lmvZSa70fVw99KQ1kVEVhy2NhC1zJI3bl+daCn2WXYinhNoJBYYmv8aCbGfSZCcz0t85NUUVKolc68jdbOh/WzhGlBA2qYSKumnefMXTJ/dcoxRjNdklIgPciML/EnCVUmqvUqoG3AR8Iv6AtXavtXaPtXYP8NvAP7DW/t75dpqZHg88eJeEdKparB+3mURxdq3N2fV57v/GXSytL7iJ4ieJs5QqOrzvrf+l9QXue1RyABZYWp93XDPuwKVQz/JKm/sfuZuVpXY+KUpoB+0xzd28qCXpWroLcxz+jMPr+xBPXKQVMM2D3V8AlJWirFsPUN3ZoDpbp/7W/dQaDZkYNcVwvQm1hOEZx0Xj457hB8gnQ4xhVl1L5+gcuiMucG2qyeQP30ql0XCcLWLazP/y3fSOtBnaO8X0T9xMde8U3dYcJjFUd9eZPnAb1ekp2r91O+uLrYI1RDzxnCchZemVwG+fGR2apGzat51qkpEeaXP0l36LbG4OXbHYxNBpzbnEst+3TAzTk/2t9yqsp9VCV6wMTVVl1K+d4FX//uVMXrOF9PA83flTl0WuC9+v6qDgbeLk28mqqZTer4gnG7zZ2ANw1n+cC7iQ1e/RPb7ASxmHXOtljtohr1EZFMKsxPUncfjSLwS9PLwzKPHpjZmwOWvalKx7j9zx0E3jYcmRjOnM9sl2HkqNWn+6sKWP58e5cAlZWhfaMYEOIoaQ5vePHKaZ5th8lUqrz8whdnxnLI/aUY5nx5Or6cREtQDRMaJFJOS94q5YWSUYNJlVfQbOxYwLKnxrbQr8KIJSeBD4mLX2a0qpdyul3v20D5zUeP71b2Nsk4R0jIazq22MFgv9ga99BKvgBS+8hbHNjdwlruSTwerSApBoxsfrvOiqGxkbq0sC2Cn/cLXuim1mObvSxhjDi674IQnzRIldMhPwzcHa9yGe1KK7kiTd9523Brx+ULRRQrdQmesFKYJsWmvptueoNhsimYmL4SeEJiomcomNsqycmsPQT38QCqPc1m2Lt9Cd8zQMmlp9FpUl2EwaM4iVfxO1PTNorRjeO0N6bF48gVZLKBd2NajNNqnfvJ9avVH0lgtWPi5XIJZLljnGQSM3ftNVkyRaXN9N+3Zw1b/4fkavnEJrQ9qa48Sv3yEFYLjqZWODlZ+lsPzIcdZT7RqkJIVJUFGWxrWbGKpkbLt6K8ONLZdFrgvH0Erk1W9BhkWJl2U5GDRlY8Z7vV75+7BPWfn3X2Se4PXJXUshqRszeQZ2ztCMJQ7pxIldIubNKLzjkS8Q5azcFnJWOSCg2DKxmMSNOXdkf7Gs2eBNh/kW98MNAIViLF+BS+BCTiviz6WYwA1eSyTfpEqKsXraNUkR2TZIGMnDnRNn5ccssdZ7FPE1udCV/255lK37Z63wylr7KWvt1dbaK621/9q992vW2r5klrX2gLX2ty+4UwVjW5vOClIsr87ztfs/zPLqPGNbGjz/hlsY29JkfHMTknLsUwUEi424xFFIDmBTE5VoxsZmuH7fjYyP1osTQsPy2gL3HvoI9x36qEAN5eRZWZnn/oc+yspyu1DcUnaBV0+2OPS/7kBbRZLFSt7myj52gWP0TpTE7baFA6fbnguxRKtdr9zfPijVrlH8c+2UJGlXT4tiXD0pRVnWCIGc5CXEKhrZ1mDn90kYyE9Mb5GRKUEfIOfihRVlGdotzVKqu2fwyArPtaN0aSJCWMT8xLAZdB6bp9dTAdXQM4ozj+SFWJXEsmnfFEli0YmhtmeGHf+/t5PsnGHlK/dy/AMH6R6Tfr9kiu7j88z9+4+x9MiTdDLN8W+cllB1FNbRjl+nkliSoQsTwT4jch1/pxzSSdTg96JEbiGsWYj1598fFPIBzh3qwYdGXGzfKX1MrvR1RNWsPHInyxW9f6/Ia+PlPA/vFEI7Pk+lnMhHQIWA2x/0/ByhnRBCMtE5eA/T5AtQCO1EsXyPRstDOxSUcFwIFo4ZGzMBWulDjLlsG5vTHOvIyhckmiHUmXgDrZRiAATKWXozs6og3zXpH3lRY0MK/xkZCnL3VjGytcHzvuXtjGxpYCua0W2zUE0wVS2NwKvKuX7KZfeVNCyoKBcSKsZHbaKhmjC2uQkVXZwoSjE+Ns0N+97KDVcKBbMP84wPT3H9vrcw4WiZfbKr7AJPjMzwvJfeysRoPULxOLbNOLHrE109S/doS+L9UYywVhfOnVqjkQuehspsQ0I7zUZwgW0FatNNdr/uNoYnG4WirNWTczzyufezdmIuTMQkg9FtTZJUhXCTD7vEXDvzv/IR1h9v03m8DVh0Yhm+ou6KsXyiK3fLB7JphkIZRfp4mxP/+UOsPXqcNBUc/emHn+QrP/cJTj/iCrE8qsFx4FSqltreOml7ntP3fJqtb3x93iDFQLUuzdrVzgYnHz7Jn/3cH9L6xhIdUwUIaB3fG/S5wKcjcqtzGY7lOHrfh3iK8hzLdC7b4XXFy7ouhHsGWvte6fvKXROFeGL5Dig1xzvlErpJxL3j0TL9QIUiB4+K4L99yJ2kP7TjEWomMm4GNUTXQc5KoR1Pd+ITuK61YMyoiVPGMRpNjp3Ld0EjBo9ZRYgdLdQfaRKs/FjpxyGdauKZNE1odm49l4+2Emp2PDvWKjKj6DmStrjydkjn7LAXOy6fwidX+B6dM7bVKefgtnp3Sz5jgqD77zk8r46Uf+wqh05BbsJEyTGlNZvGG2yaqOeNyw1C9TAiid1A12AsZIalMy1smrF8ag6dWSbG6ySD8PlxEwpn6XdbLdofPUhvrl2w9BWSpFQerukmh/IY/RjFkAAVxch0EyqK4R2uDeI21wrSW/on5rCpYW1hzllwPtml8qSXc3+rTVGkWBUQO56EKjAORlvBGotGnOSqzUiuoNpsknpcvnVWnsMWK4ddTrRBq4zeE3OgDdXdM0z+yK2MveQG8SZw+7Wa2s4mxiRUdtV54S++gU6a0DWqD5Nf8Y2uL/MICUldlHUTW/KRARPLc9gqqhD+oeAd5CGfwKd/rjBPbOn7HJaJErklkIKOw5cDWDj7kriRpX/OJK7OLf1yaMfEc70c2gk78QuJO2Z8Dn7BiWTbxpY+RHJNkG3iRin6PGHSyIMNsXeHy4/pFjx8suLpFlzvW1UpJYyj/fumLn7hKOxPWSFP0ylD+lkK6TwTI1/tKTRBjvlkbMGNJVI2ztJPFEsrEvf378ffI54Mitz69yEgosdzJHU9f8nKcpsHvn4XJ+bv52v3f4iV0628kCXi4SnEFyOlP7yjQePNrl9shG4YlMQ1SAGVj9PHnCT5owpFWUorRrY12PXS7wPg0T86yJnH7uPwHxykc3yuODHTHCEg3R40Q7sbVHc3qP/UTdR2z4TkU5gYLumd/zaDJ4ZPdGmjpOG50YGHZHhvnef/qx9g/Mopud0OW5xoQ++JNu1fvpve3BwqgepuqUSO9xs6YmVS1JXahD//Z3/I8YfOFJJZVdctSG2AWuEZH2WZjOW4ZMzkcftzGDOlkFCQaZUvAoUY/yBUT1npeyRPmYo5KH9nSXt5jsKVKl4Azhe69CMyZuJ4ftHypyDvMdInjAKKxhaOrZ1s+w2nSG1+6YVCw2DMaE+jXAzt+PlZLqz03rHnxJEmP0UlrRw8MxQZukbrAa0TeS64Rcm4/XiopxReGam21RnVS6DwL1/HK6XItDQcH93cCFBFrwBtQhAYZV0nqUJSCFaWWjx474e49sVvQ6MYG59Bo7BO4EJc2lqn3JwLFd4DjKNyGJmRhA7kk8HzYBiYGJrm+qtuZHS8ztjIJGND09iexWZWknDkgggSk/Mdskxm6ZyaQ1XF+rdKetqKIFq6cy2qzUY4frc9x/E7b2f67QcYrjdDk3EyQTU4FohwLGth7XSbo//nHmZf/HqufNl+RrY1GNoyxdCWBvTyLklAsGiMkmT5+hPzDF0xTW1Xw4VCXOWttdIlrGIFulkBkyq0JXRQUk4G/bl49xcFWU9QJ6lK6NUqjFwxQ0YqdA24rljasGnfDnb97Jsx0zOY1EhDdp27u8rfy1QJQkJbxnbXueG9b2DsyjF6diVqdN5jSFcuSZHKxQ5TyZWyctfs5dgPb7FanCJGiXKyrvOTS7QGmdayL2tdiGaATCv32vpF2BPMRFw9/j3pc+soGlIDiTQE93Qi1nUoU75fAbm1C1Y8EH+9zoA1KLGeFU5QvfJ281ghqBUl166ULBymkn/fdwqTaRh1yvJzGfmOtRbtFrkM0BVACS1D8OqVu9YS5YKyLsSC5IJU5r1kheq53yTyKHSqxMtVkLnCqZ6q0KlWoJqKZZ8YNJaazsi0xrpm52klkcUnGFryO1m3GlmrAm3yalINjdN9WMd3ervYcVlDOitnhaZ45WwrWIwFi1ZZls/O4auRl8+2yCIvYHRLg2tfeitWK77+lTtZXpl3Jdu5lVSw+B22P06GLXUclcOaUDlYawXKGZN/WMnwT4zMsLo6z/jItHhnmXHJosgVjqx7/9hZaHH0997Psd96P935Vu4iZtBrtVi4Q+iV/ag1GkztF8rgIpY53woYZg0j2xvMfssbmLv30yil0Foztq0pDZozy/q8p1yILLFU0XtinhP/+cN0D887tED++wRLKG6UEpJcIvgW1wvXI0C89+KsLE9fm7rGD7ElBKBVRufwPGNXTpJU8oRaX5MKAxjBQUvCrMLoldP0bKUPk1/V2XPDwg8hxH5LP5fLyMMteQJl+R0o08EDjsI83oONwjxyPqU410DMvsT1Pe2IZ9xUcciyRMVQaKDiH6MkbgApRMgdG+5P0XvMvVhVlPngpYCKZC1O4OrYw8gIclNO4LpDR7j8OHRZtPIh91bKcyeWbU+3YCJ3JHEhy0qS5dQlOrLyvYhah+/vSUvF9V6FTlZhPav2sWhe7LisCn9kW5Or/u5+RrY1ZVVWsHymhe8a6BeE5bNznGjdyzf+8g5Wllr5pKhIodHYtgbX/q1bGd3SKLrR55sgziUeG/NUDjOgFMvrsgAsrc9LAVcm1u3SSpslR82wstIWcyazudIv85RECIfRLXX2vP6d7HrTOxne3igUrwxNN5h5+wFq9UaQMqUUQ7MNIcIKyj6Kn8cxT6f0SRRbr7iBfa84wMjWnGhNGVhfbPHEPQfpzrdC03PbM6x8+V4q0zNsf/fbyFLL2mNtsdwjxE5xYuQT05/L+mLEs2OLk943NPEQzcyovmbnq48d5+H3/h69I/M5h3lwfUtBYEPeNSjNMcvlblha7MjLPqRStn+xLoYuciVfaBQyQIbPZ8wUkD2+ZuUpKH3vLeSV5xLW0aEhi1fsUXFWqSAr0CoPCO30IXe8Uo1i5+F1UnwMIZDYACgYF7Z4Dv74ofpWF6CP5+SPCuElWzyuHyGURKjsNVkOP/aomhixU4Zolqt6w6Lk8Pi9bqXAr9PJKoX9Xey4rDF8Eok9r5xtkWnL8lKLh//sdrH4E8XwtgazL3odmYIj93+anS98HSNbGyGT7xE7VDSj25tQjRJgDtvr0RC2jOxxCAjlqRwqCVbB2MgM+2ZfhQXue+xjLHcWAjUz1uYIHodlpmdYOXUM1RWkw8rJOZQrzir0xM3EI+m2WqioraI20iBd49k9xcvozEkRUvB2tGXt+DGhXNCQKcOpQ18h0yYoEBLFyPZmHh5zwjm6pcGe797PyNZGKAhbu/d+Fj9yF+tfegBlNE/+xzs5/r47WT+8UIx3+j6hIcEldAvrC1IjUKs3aP6gy02AFGJlKmCjPcdJr5cUKmW9gt68bzsv+MXvZdNV26OuQQarLN3WnAS+wkKiAh+Qb0ixnlXouiKs1CpOfOMkiUqfEyidcr6pH6IZJysjy9Yncn1TnKrKAQlJDl4w1WgRqKhA3UBYQCJ0WhnJUzhRp+xjWoYYq+/qTnRPChAD3UjXUxfnyJ1g7ZeRO17pl5E7wWPPu2V5WmW51gEFWYqcayf2LPxxe3khIK5doXGUC4MQO57PyVZt6PoWtvzjzptXYQ6pnsZ2c9lOSx5sRZlAn+whmiqJrHQr56i6GjrSIzqL+HVWerXQBtETqV3suKwWPsrxvf/p7ayebjG6tcG+7xLFZBWsnm1z7IFPo7Ti6u86wLbdNwgmH+8J2BDuKLjNTjiMguWllkt+ntsyipO6y+sLHJr7HEoR6JjHhqfY13gl40PTBQSPspZll8xdOdti5XSLB//qTtZOtnLsfmbpLLY4/AcHOfvwvRz9nwfpzLciS1hFCTTZb7cl2PzO3Jw0+cbSXWjRvkssaZvA2Yfv49jvf5gzh+7LQztlSwi3T0e/oG1eADZ+7fVMv/lmxl50PbV6gx0/eoDJn3g71Z11iKwhsHSfaGGVCe5ot92ifccHWfraV0DB8Ey0yPi4sQvBBE7xTLFy6DhphuMtd82gNWy+apKKRqoTXT/S3lyLxd+4g26rVbgWb+V7qgXfEzS1CQsPneV3f/IvOPnwyeeEhZ/HrimG5dz7XvZs5MkVw3deQceLQh7uQcUW/1O09s9RrOVDPD68Q0w3EihGiolcVXjMlXCwiIOyLzptEEV7BnlCOr/enIpFRV8kNwaiYxEvAD5m7igXBiF2BJRgS8CQqIagFN7JqREoNEjxHmw8tPOStbLS9zb2XK3Cs2fG3ohxUE+hbsi7vP21D+lYBSPbnJLf1shvsLvpo1sb7PvO/YxubzK6zVEEawn1iCfQLkyWwkRJYHm5zYN/JbH92Ho65wRRMDbR4EXX3MTEWIOJsTpKa1a6xznU+iNW1o8XEDy+Dd0Lr76JieFpJkZneP4Lb2F8rI7qGlZPzKF6NnTQ2rr7eva8Vq61GPMsur+1epOpA/sBOH77QbrtFtW6C/006lgN49ddT/MNtzBx7fXhustUr9a6YiyHv1a+RD2FxGo2P/8lJDZBGc3Q7Cy1nTtRxMoeukfmOf4f7qJ3NOfXqe6qs+0Nr+fJz35KFqBYisIEVPmEyxSdx+Y59q/vYumRRbGCIpXs0TpKZfSeEH6d6u4Zdrz7Vqo766Hy1rpFBE9V6/l1nNLfftUW/t4vfyvT12x+TsTwY4VR2KJwQVgAYuUfwzmDPBeNmfA8ieWYYO33x/bPEeIpnHCU0I1j+nFfaW/1B8hmHEYZFM+P+hyUlb1fDMu5qWiBo3Af/P1U4TzzilhbrAdxcXaPSvOkaja/zCJiJ4SW7DnnE1AI6+R8OF7h65AAlv3nEM1KkhXab0oiPF+YyJxwGAJCx7rwkLmE5stlt/CVVoxuF2jh2ukWj/zxQU4euVdc+UQxuqPphDb/wQuLhPauXzRRXLhndFuDa771Vka31XNFn0TFWzFu3xWy5CEeHSbh+OiMWPtjru+uU/rLq20eePhutLEuiWvZPDpDklpWT7V46C/vYP3EHEkKE5saVDLN2GZXCFWgnPXhCkt3bg5lYKjZZKgpir86K7UCtabg721iUVXNxAtfjKppl/QrFq2gpCr30OcPcvrxe12+gSgGC/Qs3SfmUF0b3F+baVf1J5c6tGeamZ+8iaG9M6AN3bk5bGIZfekNwv/TrOcKzA9nZelMjtE73CLryT6NlXJ0jzWOMfnpkXmO/dLdpMda6CrUdst1d+eEOrl3tCUWkbPwPVePT251bY3pa7dIn5tnTYjPMzxIYMBWsPbPYdkGnH4c84/CPXH4MoR5fHFiHLp0lr7xtA5a4+kZBuL1yzH9CKoZt1AsMskSKBh8yKNMvxCs71jxewvaK9wIqp2Hcor3K9zHcjLVh1oyHNcPgfQsplwgAicoDz/2sMmK3wh8+UAAQqnC8SI+HB/HL+WokhDWcTz5SSbcOl6fEXlAzqDJPVjHyuloRC7FuHwK363U8Ta8rcnsS97AsXs/zdqpVuGzfgZ7lM3oVqk0NRRdr9hCIlFSzKU1vjo0d4llMhoNZ1fassAEgRJY19LaPAYrzVfG6jnLJYBxdMv73iJhnri/qLGMjUyz56rXMjo+M6AUPXd/Y9e322oxf+dBCWNYRWiE7mCcnbbEzb31UUbvxGXbVgl18uyLX8/Rv7qH9SejpKo/XrtF+84PsvJ/7pOuRCl0DrexxgbTRinF0J46Wil6R1uc+G930ptrQ0Jo1zjY7ZXr6h1rs/gbd6CsYvIn3y5oBLedfWRRYHUu0Tq+bwd73/ODDO+dztETCmqzDSZvk6pjWWyVS96q0GfUMwv6IqznhsbPR9nKD6Mk2+Fv8WfVYC82//0VxO+HEJ8LCSUqmiPuuas6Py8tg0fveGRMoBrJZThuUlJAy5j+Ddv/s/jrtTAwgRuj0frCleRWfjinElIor/5VAe9uS8JaQKPFC0u8wIQTpjiPIiqHLMvx8wUP1h0jUTaELANbp8r3q6wKXpA/TztgfxczLq+FXxpKKbbuuYF9Lz/A8LYmBlg+OcfyyTmJXkWr+8rpOR7+wgdYOT1XUHzEk6TgGitiBIS3cJZXhMNnaXU+fP7sapul1Xnue+ijwrrp9hf4S6Lz9TH9wK3vtrWzbQ4//Pusn2oHV1hHIZUi1aw8Dk01qd98gKGZBhhL51gL37y8255j4Q5B2oQYY1KyECMom/eetu65gatecRujWxqFSaBTKQabfPUbOfX7n6L3RIveE21O/L8fGgDRtHSPtKjtmWbHj94iHDtRAVbfZAyTQjE046kjZlFW03rfx1h+dJGlRxe57xfu4cwjT7p7aalomLhqikpF6B3y4hzpBaw8ns+AzbRU8WYJ3Uxz/Bun6GZRg+nnQEjnfKNvAShb/yqS59jiLyj+/jAPcegyrjiPQzwxdPM84Z28QCuvyA3ItNA03fbBNWPUTG7QnIdvp2y8RAWGJpqzBSs/nGek2L2VPwii6ZE1EX8UEIV1kNqB0KmK/rCO9wqi6/HhGJvqEGaMqYxDgaHD6MdFWAXETuHWy9zLIpqFZ5Me+VkdSilGt4lVKyGJD/DIH73fNf4oegTeZIhdvbJrHPD72kYx/HyCjG6pc91L3s7olgYmUZxZnee+r96BUfDC625mbLwOWizs0JLRW9gxTt9V5Hrs8sTwDC94wc2Mj84E1zdsKaHpRBwDDYgdK2GM47cfpDsnTUdqDVGc1UajhG4g5yVxrj0XnBgyIZNMsemaG6i/9QBDU01J3r77ViqNpuvLKe5p70ib+V/5COkTCwxdUZdiLF+S7p+XjhcWFqMYnp6FFDrHTrDjH72VZOcMvVRz7c9/HxP7dgDkhFMx1UKSFSx92a8KYR1jZIKdfPgkX3zPZ5kvVd1e7tFnHV7gs4MWgH7lr4rGTIRWk4K63JiR6t04xFNimE1UAcEzKLzTp/Qjls1Ck6C48tY1Bwohyzi0U4ZqetROIXbfz6jZX4WrIpnI+al01CQl5/QvtiqM6RZkB3IyhepbxxllShDNsFDF8NNUhcpbz2nfy5Jg7fuQZSWRFpw6sYJEixcWIGSwXWtPY5VDtgkSLbsE6vo5p/DjMbK1wZUvv43Zl7wRY0ywdkFIwa561bskmQugwCDUwZaci9sneFfPtHM3ObL20ZqxLQ1B/yTKZe/FIpqYcO87fP69h+5m4eRXC+cRJ849944v1No0VkeXXMs+d7jP/VVgYKguHPm1hsAdQ3hHq0IdixeWQSEdFKydbnHoC9IpaxCqQVvFyNQsGoU2mlqzESxpn+Cq7Zmh/lM3MbRnWuCODmkgxyiFmKzr3mUMnbb0plUWVr98Hyd/4256rROsP36Cx/7N72JR2EgEFYb1x+bpHpYFRhLF+TWFUULrDO+d5sX/6vVMXDlJhn5OKf2nO8rhHf9eIQmsizkCabASWf5RiCd8Jrb0Q47BKd0LWfo2R+7gwydRmCfUowQ5HyzjgxK44Tr9NiBkGcMy+0M75XlUssQDGq4o2/Gh+3MsdqDxVDiWj71neZhxUL1Joo3D5Dt4pkfrqP44l7VgjQ5K36AKzJkXMy6fwt+Ax+0rRue+cg+HPv+BQlzfewJoHSz+tdMtDv2JQDxDgndrg6u+0yd4SyGeyB32scLRrU1e+OL9jG9u5laPVoyN1dm369U8cuxzeYN1f/ci5I4KiAE3KVLB6eOKV3LOHW+B2ChxS+7+WsVQ3XV+im9bNCHKVYqF/pxOSEe2Ntj3cinGKnKDlBadAZ2DvGbxcXzh1gHlmP66LakLiJEVHdfwfOkb99H62EF6rTYYSLbuQA0NoXfsoLKzzu6ffTPDe6cLk2L9sQUe/le/R6INzZ9+i0sUl4qwLPjKPA9h62VVR9tw6ZJbl2z4MEAcxngqXy9b/LG175R1X5inLwwSoXxiOHIc3vGJ3HPg9D2nfl6NG4V2ylZ+SJhG3DuDEGlllGF0fQVuG29QFCz8yMqPUDpxIVYhfFqmTvbyLbdQwjqFWH7eoWsQYqeARPPeQyo8+dL6sFiAlbf2NALPdHUtfXkCJ9+eaiE1kri9VA1QLh+XDgR+kfON0S119r3iHYAor/ON4W1Nrnz5AUa21PHhXhJBAWEJHCXWWNbOzjG6qSE8HFjBwmIBzdiWJmRWYIAKSEGhmZp8IWMjOxgbnsaZs3lox0Dg3ok4jlbOtvna1+7i+S9+u5wHkRAjk1OnosN0hvNUQPkks8FJpFT8dltzDM00nRciXo02CqMs64tzqJ4UWq2dFI6iJLr+sGWWtVMthqabwg+iQWuFSeW4wvmhsTrDAN0n5h2pmgrxzl6rxYnf/BCT77yVZMdOQQ5ZqRxu/uABapN1hrZPUZ1qYDNI0OihIbStYLKEoT0NUtOjZ1KWHz3Blqu2MbFvB9f9wveR7J5ErY/Q7eYVkHG803PL2CisE1fdDj1HLHzlLMlg3MQhATc2eqr+c7FeUP59n+yz/oAqOrCTHSXeq8pstBevL7VT6koUncn7QxSvx3H4GAADqUJjQGmsFl8t9zpz40ojilM5xRY4qxxfVkjcRmuN1fI35cNWboHwEE+r/f3181be1xlOViwm9IBQGGdk2cRiMw3KYLRCW1vA5Fubh3UwfjGVOp7CT2XdQqLJwzqJwIVFJkVBeyJe5ax7X4SVpZrMHUfkWeHzXtZV8JpEQAmZ1XRN8n9BSMeeZ3NDKcXY1saGTjS2+uUNd5jIOkLBypkWD/35HayebRVDPAH54KwgLGeX21gXvlBaMz6eE73FTJvWuhi/cWaLkck3PjLDC15wC+OjM3ncr4DlddaJTyyVXVNyJeELstZbc3R8Faqz9jvHWxz9nffzxCfez9lHhSnTe0Rld3TtyRaHP3OQzuJcsLaKRSvO7TWKzpF52u/7qKNN9uYqVHd5nHyDwKujAC15iGK1r2K4PsvU37+N2mxD3FRnxSwdOsF9P38PS4dOoJTKu2JpX4qeHzOWGeVdc0OgqPW8I9lzhlyhpOAHyffTsPrli9HvWrb247BHbAkrH6t375fQO33AhDJcEwrIHWKrvxzaMVFBVjn8ERYo2fpgmvhzz0OzMWKnnLcrDC/D5bnmFXQhtKMKl+YROyGkFLPCxjokOlaejFbBMvdhHY+lB0JjFHGmJKSjov2Gc/dblEMT+X6WWhw+k6PwY5S3KNa3drLFoT++nfWTc4SWbRcYOS84BWVvteD4r/q7+xnZ2hzgCqsgWEtr83ztAUHw5Bw80EdQhXTQCiRsPrSTGbSFTSMz6BC7L3KMSyP0OYiqF/MKQcIigFUhcYuyfYidar3Ojld9L7M/8A7Gr7lemqTsaOQCG24MjGypU3/p6xneUi+ihVw5PJHrW91ZlxaIu2fkN/PCmsgPZQuurw0S5UM7oao4RklE/CPDe6d5wS++kbErJyXWScbaY/MkKsshbDGtrB8hbprzkveiBufPieEs7nhBjatOY4W30ZBPObYfK/hgvDyF8E4RvZMr/YFwzUFkawWCtRJ3fpCrQQVZxTleGF6hRyGVAhDDQ4Gj0E5ejJUfI27QEod04mbnNvSjJacEd43Hg9KPKcH9KQbFnB8PAyZVeQ+IAQWGnl9HeKNMHrIM91h+ZOsSt16uu66a/GLHZVP43nIdlGwpJBethCj2fed+RrY0gnAExW9MaPM3aOSCK8JhsKyebjGyreEw5CoXnFJMf3Rzg+tenPfdtedR+uNj01x/xVuke9aAeH6ObiiWpndOzPH4Zw/SWYh460sJp6AU0HlB1v4Dgthxgt9ZbPPkH38alWh0RTM83Qz467IltH6yTfvLn6Jzol2cgAUYmyLmy493oEAw+b92J71WW1xuLJ154fBHwdBUxLFjkeKpD9xOeqQdYu/CLqgZu3I6eAQrjy3y0Hv/B93DCxHhlMViA81EnLUuFKmYnGxqAzbBMz4K8m2L8l2mHHiqyv98sf1iXH9wriqmGQlyUojvR3On77qcfMfWfRYp/SyS8wJMst+gKSB26PdOvOKNETs5tUS0le97KZbveX2kxWek9MNB5Yv9lbelexsfp5wg9kRtvg9EsM5zNesx+aHqNhCq2dzzcYaex/b7xaOTXXwE/vImbc+xlS2hwAWDKk4QpJr00S8cLBZqlQ8VKf3Vk3M8/IX3C5onTBpVtBacsCutpKduqLolt+oVhCYdIJj88Zk83OPpF4xXUH6BsjlXibGMbm5w5SsOMLq1UbR8YuXg71d0LM+m6QV+qN6g8ZYD1GYapclPn6CObm1wxSsPyKJXXmyjx4BosPF1glKW2u46O370bVR3zoBy/Dp3HWTpa/eK0vefd7/j0HQjLFLWow/8o1Wh6nb8yh08/19+L6NXToZEGgrh1nn/7XQdjXRuYXlrKLeoes8VCx9yOYi2sqIvKPhItjeq+OXD+esLhXcKBVpRcVafZT8oiVsK7QRUWkH5lxUhefw9VvI+bu2ve8C1hYWrz5OJ3it8KdqXjWXZP/f8NYTEbV8DcUWAApfRb+Ex/r0CCiifL8Z1sBrUnDzRzsIfgNDBCmDDG1xerlOr6dmLV9eXNWmrM7lrffckFrABAq2svLbAyBZHs7ClLkmlc1glsdIPCtv/oEYWleBaeYw/0cH8frR0v5oYETplEvIkbTwZNIREWMAyOxCitthUOQ4ZzfjmBplRAmHMXHItCKkkmZVLYsX3KkbsqASGGk1p3JA4g0G7a3Lf8xPLL6AC/7J56XtkfanMKQYXlwzNGgCUNJ0Y2lPHpkAG1Z11tr729Sx+6h6Gtk2hDMz9zkEaP7AftKK6q87wTBNjLCa1wTLPnEBbt3gmGrZetYOzXUtmXHu4xFDdVWfyh2+lNhNTP8u9CXz7HtGQPDdi+Mon/fv+4OXMv1YFuYZI/ymK1u+A0ZfQdbISNJP1fy09R4kGSN1L7f8ik0J5IEIm5xgEwMGOQwLXuJXJCOrMJi6BGxA1Cp1aMZA0eeMcJ+fl6/JyHWReI4V+RmpNtEUoErQlXij8/A+5KLf5tp42UejEYjJkgXNhHRJ3LQpwzVGKPPmixG1SPHf/G4uyl1yFDxV5hZ+6DlYekuSNGK2sk21poiT3112IW5hCs/TAGfUsWfhKqdcqpR5SSh1SSv3sgL/fopS6321/rpS6/oI7jVzc/s3BGn2c0AtW5Ar75xqhTxDSL8vak8dCeMday8qTx1iJ3hvZPsvVr3gHo9uahbi+rOQqsiDcDxxb/4liaXWeB75+F0tr87nFFE3cvjvqrKCYdiEUsEQJ29jtJRUaBdLcWso9oAHWSHQN/YVn/ffA3//Cb+CO2z3WcmRrTgAz5QxT5S7RhvUyt4LE9a1OTlK/eT+1eoPajIR0AFq/fZBuqx0SZzgUUI5ZhjOHFslMfnqeR1wpQ/foHGhLbZfv/Rtfg0wwyQlInHOjVYnPiFzHw1vvA2S8ENYxA+S85AUAT8nazy37c4d3CsVOwaLHKWZn2Z+PfsHH8jMbYfNja58ClUi5ArcQvh1wfRZ/3pG1raNHlW9+KI9UKln38evAdjmgMQr+tgVoZlRU6C1yfzv87xKF7Lzn4GXbQqnhT1RgGDdgGfiD0mfMXOy4oMJXSiXAfwFeB1wHvFUpdV3pY48DL7PWvgj4V8Cvb+joZaUTTRBRNpbVU3OQGcqucGFCIM/XTrZ45AsHOfX4V8CYvkpddz2MbJ8NDbJjSNggFzhXqDJxxifqvOCFtzA+UQ8LRJgc8YiUl4rOMRe+flSDD/V0jrc49vGDdBZafTHefKf5jr3RZhGeektewbd+ssVjn3k/j37uA6zGdQwDlEp3oUX7btd9K7P0jrTEAvJzyMoi2jncBkxUhCW8PMfvvF2gm1qw+8PTTYanmxLLn/bUDs7tdSgEYzTLjy7ywC98kvk/egRrcwtIKUvviXkW/+Nd9I7laKlYdvy+4oKX1CSDIgSF8YzKdbjHXpFHjz6Ra+hT8HHIJw735D/yU1f65wvveLnOyQlVlPeJirIGxfMLxoO/NoLCj8OWA426YIWrwdcUXUccWikj7vpDItF9slDujqWiBcA/erh23/HLCJ3zhJECUidSJJ4HJ+zSW/aFOP7gRaQYrnTewrOUtP3bwCFr7WPW2i7wUeBNheu19s+ttafcy78AZi+0U2VLaJXY8nVc8munWjz0Z3ewdsrzxxfhX/FiYZ1H0Lz+dYF8zWP4r3rlO/sw/LYc1ilbQTHKIUp2UdES1/eNpYGzq/MuWakoWPk+zlmwggwrp6UQS2W4JtFRWXoq9QY7v+8AwzsazkLKi1WUF07rr4Ng9XQWWrR+6yDri61gBdV2NKh/+/ey9zW3MbK9UZwgTug9x8/w9gYNl2jtHW2x+Ot30DsynxeqAN3DDqb5hFQue0uoMjvDlje+jkqjnk8WCIpfS8Y8h31mOQphaM8Mu2/7Th769f/F/B89gsIEK2jkikmmf+Jmanum8+SWHy4eGyeBhRt/cOy0NJ4RuY5HKPgpFP9QlPcCLUC++McW/6DF4XyKvxDvjrzXPvROXxI3R+6ck3MnUvwxYgcTW/lOpnwD9DJip2zlx1Z4LNdezJ1xMwitk18fxfPy9y4rbzn3vEfD+Lh7YNDUzphxFr2NOmKVK79jyz4kbtNisjWLk7YISsezZ3rEWwgnO0UfGzNZJh3enhULH2gCR6PXx9x75xrvBD496A9KqR9RSn1ZKfXlXnclUt7WdYtqQWohtaycbDE6PsO1f/tWxibqfaGceFJgHRXwn97B6KYpqazdIhQB49uajG2fzZOp0Yitlj7EgxLkyfJZabRi43CPs4DQsLQ6z/0PfSQnWRt0Z0MC17Cw+AAPfO0uVs62XZhHUEZ+ongFHHiyY/fUC4F1iBUbzRAlfDv1m1zi1lv4p9os/G9B7+BL8QGTGU499hVsZnLFbxUjU0200QxNN5l8x36hPw4CqKjurjuahRkgb46SttucvufT9I63Cc0jCjc7UlQl19dYzfaXXcvVP/KdPPKbf87SoRPBEqpoGNo7Re9oGyvJloGLliSBdR8q4jzjksk1FGV7cXFR3isR6hWUfIE8z4cwKVmj57D4N2jt+zHI0g80DG4hyP/mE7lwTu91gNKXcJ05t5V/ATqR+LrynZPPuVjZlp/HcxJ/n/KIQMFALJG6eaVv/Y3yh9YESHBcDWvL8uePF5PDFSzzIh4/9l4T9zwgdfyxgyes8Lw6mb00YISNzIxBptJAUVNKvQKZGD8z6O/W2l+31r7UWvvSanUsX9kNrJxp840v38Hq6Rarp1t840t3sHZ6nolNDbRRRfewIPzyw45uFmz92JZmQPSE8zoPRi8mYZLX7oqVYvVsi2/8xR2snBVr1ihYWm5HP75ifLzOC593M2NjdX8TigeIQjvLy20OHf4Drtz9GibGZsBYue4v3sHaqblwfeuLLY5+Urpb5bHOfFL05qQAy3eDCga/Vgw5crW1+WOsLhxjaEed3a9z1n00Th+5j8f+9C5OPXYva4tzYEzx3qIkCUzunkqvW0ezoBTdJ9os/scP0zvWprKzzuQ791OtN847KfJHFRWqwPKji0y+7CpueO8b2HzVdpkI1rL+eJvukTaL/0mOU7auQl7DFl3fDejCSybXUJTtyclJefMcsfugCG1J+ZcUf1nGC6HBDSj9wu8QKX0i+S0gUApcNYpBqJ3SRReey2Ieh7AGKfdoUYuv0a3l8S8Qh6eKISoKlv1AefP7Okc4KU+2klv68UGVjfhuiMI7tu8YhWuJO2w5I6RMb+yVfeirW4iv5uftw00B5rkxQ+a8YyN7OAbsjF7PAn0YSKXUi4DfBN5krX1yQwePaIPHx2a47oa3MT42w/hYnete/HbGx2aKFlGaT4pCBd+AME/BGrLnV/pyAcVV3GoY2drk6m+/ldGtDYy2LLbv4+t/dYd00PJ45YpmYsI1HI9dYOiz8idGZrjh6puY3v6C0DBlfGyG5730VsbGGyFxO7qlwe7XHgidsQpQSSsUC5O37g/EahZHVObc3vXjLeZ+6/0c/d33s36ynWPyI9d3y+7rueLv3szwpkke/6yEgXIGQG+JRe6vs4KC26sstV3TbL3xNVR2TUuDll0NlCtcK1viyoI1lu4xn4zOMfTLjy7y0Ht/j6XHnmR83xRKCYKp8/gCh//t79BrLTL542+lunuGPl4db+F7PL6z8DeA0nnG5Dp81zcPiTYv797iDcq/0Ih7UOzbWfsDZfvc51C2TAMgIca2DwrtXKggKxzA5SV8wxRrJWwTN07JfN2Jn8fRfA7ypgZeTxw3L5CZReGpc/HWxznBQaGd2Br3UOHw2/n/QjjHRudRPAb43y3ft83yAizf7MdaFTpgaQdKkOJCIPJalPcYUiU9nE0u2xc7NrKHLwFXKaX2KqVqwE3AJ+IPKKV2AR8H3m6tfXhDR7ZEaBVLksGEY5fUFibG65IPDPExJ0xRqCOeFGunhRXTs0KqkvBYY1k9cbQfrULkCpatBa0Y2zYLWrFyts2RB3+f3c97HaOb6hEu393FcgI3nhgm7F4aqaDcBBGU0cREfq3KWLRVjG5vSA/agouvhF7BJ0fdMbqtFgt3HKTTboFymPwb38nsD72ToelG34RHgdaabXtfzNi2Wa54lVtcBlmkIcZJbgW5kR6d59THPkt2bF5utENUDEJPAHTmXV/eoy26T8xhUsv6Y/PUdk+z75//AKNXTBU+P75vB7MHvosnP/I56WLlKyzjkFaIv6kAIU0zRbqeXkgCnxm5jr+flZV2Ueb7DZXIwo8s/kHWfjmh+5SVfmTl57mr4t9yJIzq+y2LB7D5o1uYCpZ1uJbSvYit++BZDrqR+VagVBhwXX3hvsgTKqNpAnbe5J/rrzlxLwYYMYVEq/c0/f4yFagRBlEi+LBOqDUJiKASMMGFPrNMqJIvdlxQ4VtrU+BHgc8ADwIfs9Z+TSn1bqXUu93Hfh7YDvxXpdS9SqkvX2i/ikigY8HPLMun57CZ6Z8UhZggueVupRftNd92K2Ob6qUJIo9rp1o88vkP9LFuumtk5VTebKQwIaxl5cwcI5vrXPuttzLZvB4VVbAa4OxyOxQbnasOIAxjWV5u5a6vU/y5p9KvdINAGYs1lum37Weonodoag1HpezDKVox3JxluC5opD50hrvm1ZNzEg7zDc6j43Tn5gSj75V+2eUFanummfqJm6UhigLr3V/v+pYm3/BUg8ZNt6GAxd+4g7UvPcD8r3yE9ccXGdorYaI41plo2P6ya9n5szdK0tbts9eSlofduRzF5KGjmdGcffQEK3Nnz/szPFNyHY+wgPu+sGXOmUGKf6DHugGlz/mVfrhu/5sU6lKICoycdR+oSUqGzIDkrRzbloqqnOXvrf6yPIdr7Vf6AwNrZSV/LtTOwIuO753chHAOliK6Jtye2EWwxWOcY2HJFxMVPOI4ju+HxuaInbgAK7Lyw49llePwlybpFzs25CNYaz9lrb3aWnultfZfu/d+zVr7a+75u6y1W621N7jtpRvYaaBWDRSrmWH1zBxfu+9DrJ5u5Q2TUxvcYVLD8ukWZCaiFpaesuObJOY8KN4/uqXBVS9/B1e97DZGNs8U6BjWTgln/Orpdn6z3Q+8claI1laW2pGF4SzNRLG82uarX72L5bX5YPXnsVI3QaxlaVmI1ZZX29z/0EdZXm4XiacKGGULqWV94ZiEP9zE6LRbLHz4drnGQkxQUZsVrvxAmxxPDG/BRXLtr3ntVAT9dNZYd75F+yO30z02R/eoKP7Ygs7DOorhPXV0Qkg89ZWiRzKqEMTO0EyTydv2M/KSFzH5j2+muqtO5uLvBeF0Sn/0yimSBImpAtW45SGESWuMFKkM7ZlhtLH58sh1fP6F/q8urONfB4rhoowXEp6ersBj2EshnrJhA+dW+oPi+QXO/MjaJ7b6owrcGLFzzmEMysOoTXT+xubXm+XIsAI6xyvg+Bq8ssWfc5HuoBzLL+fk+mDP5ZBl7MGW7p2CIs1CaFiSf7CQT4o9CEvgxzfe0o9OLLbwfXGhIJHixcWGg4jn+teYSyd2YWP++PGRGV543c2FPrGxRbR6ts2DvnH4YwAAJjhJREFUf3UnJ+buFwvUitW7fKoVEo+xJRRWXhTj22YZ2z7L+ul2gY4h5owH8huOWyj+7n4stpDA9dbQ2KYGz7/+FsYmGpGSL7rAy50F7ntMiNXGhqfZ13wVo8NTLC+1XaWrP8/8WtefbHH405K4tZkQrA1N1qnffCCqNs2tNGstnVbeeESQRdG1lCyTkW3umre4Biv++BaGdjSov+UAysDxD95O72h7oOXlaRYKnkOk6AchdXwYa6jZRKOp7Wpibe76ZhZOP3wC5SsTkd+xc9j1HVYWpYstD0MvUCtoHYtGD1efhlBe2qE8VNFtZVkvWveR1e/mRrjnkQdYtFQHK/3zn1Txd4lRO4XfTZdex1Y+57Hyw46JFLhT+uE6ouuKlH1kTEfhqqInEj/PC7Dycy18Jh7+2MEKj+9jflPCFZRdp9i7KDsEJWvfh18LPWnPERMLhYyBU6d0eHeO1nLOfTyVcfkUPgiMy3fQ8RaAhU2jEtMeNCnGR2fYu++7efyhT0sXKwOrp1s89L/vYOV0OyitgjDZ/AYq6+gYXrY/KPi4rWIhJOOEfGxrk7Fts1zz7bcyuqURrHw/McY3NXLr2lrOrs47yKTsa3zEEauNTLOytsChuc9x4uTXuP/Bu1hZauXQsWhSjG5psOe7DzC8vRGYJ7vzbYZnmigL3VaRMM73vF1+4D7adx2kuzBXmKyF2KwqXnOsVLxCHplqMlRv5l233MSwMECTg0USsh466T9i3WK0vhCdb3B/VUGYMwPzn3+Yex1dsmcX7B1p037f3dIBS5GHjvKDOwsfVh9dIDX91trlGF6+w+aV/bkUv+1X+gVFbwghzFy2bR96JwZ8xKPws5UVlreYB8GPL1RxC/kND4o7uqZSvUERbJErYqKFe+B5l+R5kHyHcy7sIFpMQphMFWL3gw2aojHTZzwRPVLcv5dJD/kcpPQ9XXJ+nOIJxIlsD/O82HEZLXyboxd6GStn5lC9DJUaSDOWz8654qS8YbIyFm1gavJFvOD6tzE+Mi2LwHid573k7YyNzQiWP4ssfWOxmeHE4a9gUxMU2ujW5jkvPhb68OO6blgEFAN5MVZEQrW0Ns/93/hIofm5UoqJ0RmUVaL8972FqS3X8aJr38q482RIDSun5kIIRxtZaLQRa3znmw4wtKNOZ65FpzXH/J2uItZNklqjweSt+6ns2MH0LQ4eWUI0DLROKC2Mzu0ls/Tm2gzNNJwF7YtU5IvG4KxuKR5Jj7U48d/upNdqBTSFt1jyBSuHmdoMSdxmCOzMKlYeO86jv/GnzL7xBYxfuR3fNGLkiilmf+YtDO2pFzHLioIV3Ds8z9Ff+i2WD524xML69IZKSwrfI3W83Ps8Vdw5yr+XlhRljFYrLADgPdmNWPr9Xl8U6ivQLqhg5RdZYt0CcI5YvhzEe62l3MQAgrUy9UHZ+s9vprusQco+Lr4Kf8vPK7bqC8lkp5QLip+wvoGzvvMOWP3FX4W5FOaQiloe6kIRluzf+ksKFAvhdP2j6d9Xmv51DumAIFUyy/JKm/seuZvlFSlGWl5qce+DH2J5uUUOR8utIW1dv1iUCBEwvqnB2pk23/hSZOm7m3by6L08+hcf4eTR+/pOYWPc+v7DaqBQxQvD+FidF8W4fD+034ViYrSO1ppNozNSL2BhZUlCVasuP7H25DGX2EVi31NNuott2ncfBAszt0iSNlyHW1gWP3SHUBt4l5z83Ayw+qSjGB4wlEW6gS3MsT4/R/vug4L1jywvnxztRo1RACo7Z9j8g99DZbaOxbLemguJ7AJVMrKf3lyLxd90lbzO9R3eO80V7/oujn7yqyx8/lDwCORSvIkmuzBYOsc8Ukd+hMpsg/pP3cjQ3mlsn0//7I8YlqicrAtPUR6rV77wzcu4s+Jjaz/HuBMpxqKSH2TRXyiJ2xeWKCmdglcIUJD3cyj6OBjuznkQvUHhdbxQxeCBgTeVXA7KRtk5jBl/LnEx1sBFZeDxnDIOW9GYie9VbID4xUSI1HSBFRYI8MycETaX7fx+5vckGFwXOS6bwpcf3KCMYaI6yfV7f4iJ2pSbEM6C8ZMlNcUYaGwp+M8Zy9iEWPrj4/XCD7y9eT37/s5NbG2+iNWTc5jMiOIz5/61B1n5xdhnrPzzKkWVKCbG6y7EoyJzId65n8A2TJLxMeelbKqzeto1fDkRFV65UED9h/YzPNOUoihV5CGpNesBrVOeBCiXF/iDg6ydbBUnOATh6pyY4+gnD6IsNH6onwMHp2dqu2do/NSNDO2ZQQHpsTZnPv4Zeq22JJfvFIseBSruguVkuzpdZ8sbXkelOeOKkBWg2fGya7nqXd/Bw7/xZyw/KhW3648vcPSXPkbvSIvuUUFT9eYcUscvSMjCOLSnjrkENLKXZBgDqducrCtjcuUfFL8phHqIQjx+HoTiq1J4Z1A8H6LHAaOcwPXy61/HiB3vvcYQzeK+Bsi3gYLyj867ED48n+IvXcPg0E38Xgk6OkC2Yw+iGO51CjVaLQokgf7D3kvGe0T0ec/heO76pEFPEakjTVCMQ+q4Y5XPuTzMX/cYvgvp0MtYWmpj08yFcDI21aZ48RU3MTE0HSaFd4PLk4LUsHymJU3CLUxMNCT+7+gZrLEkaCZ3vpjOmXke+dPbOfXEfRz609tF8dkLWPmlFTxGoAgbJSwttcLfjYKzK22MtSyttPsw/6HytmQFaaT2QMIpsO87JF/gXdDOQou5j9+OsoIs6B6TBSvGpMdoHatKQqnE0t7zWskLFH+L/HF4W4Ndr9uPMvJ5OZ4/z3hSqAClVMpSDfz4dWqzAhOtNup94X4fq03nhYohfWIholiQhOvUy6/mhve+ATAoDGNXTrL7Z3+QbnuRE//5zpArmLzt1lB85id1jorYgAw+w0P1MlTmtqj4ysu5ikM7hfCPLYZ4TLkYy0aKP7Zao+f+HM53HwqyXULsRDLkXw+CaPaNEibfx/Njg01HuHzKm1fC5zpfvw2gWShs8dfihSQYUATUDhmOW8d7sIOP6wsby0i4gafpVwXvIYTbk7+oOL4ouf35KhQvyKH40fw1t/ABMIaltXm+8sTHuPfI3SyvzQf42aaRaWkw7K0hL8xZrvRtalhcuI+v3ncnK0vtYAlhYfVMiwf/9+08efReR6wGo5vrXP0d+9k2ez37vnM/oxGh2vmUvsFKw5QoEet/t5WzbR78P3ey7CgXlpfbPPDgXRw/8VXue+ijjka5/4ey1sp3YivInfdDf3kHHnrpBXV4e4Od3y9hkY5rNtJtzbF8770FmgWIDKPCzEdglJOzhQUh/qgYMRIaOvZ7t9NtD2DrPMdt0hpqu3PPpjab97UdpPRrM9KusTpbdxMtRzT48NR9P/8plh9dRGvZ/8mP/CGbf/C76c0vcuL9d4I71zLa4lJYQpdkZEY2Y92jZJOVMa44x8l1FhkwJraMbcDlE3mE5SR7MX5vo+cXPsXz3qqy9e8hmxcoxCqidWwJn188x3jB6kMcDTr/SBmeK3FbvMD8UZWe54nieIelw4WMePHY53red+7RPsUOLapcj8cvho7i+5dvf70VvgUyw0RlBy9u/AAvbr6ZicqO3PUtuL1moAu8sjzPo49/ln1XfLdLihIQDmMTdfZc+zqOfP33WT3dCspsbEsDrTXjWxys71ynFxVjCTHb7aycaQmh2mmv/GFsc53nfcvbGdski8fYRIMXPv9mdux4Plfufg1jI9P5PpVrdJ5Zltfmue/Q3aystAtW0NhEXQjjNjdyi85aQc5MCkfQ0HSD+s0HADj56XvY+rrX55auH34CIAgZ33rwXFZJ/LsM+yTxVCOfEFFxSm7ERVIee/ZxTHLQsSwSfqnPolysIBRpInb9xL4d3PDeNzBxxXbWHptnaM8OJm95NZX6ds787u+z+Xtfi8UGD8pDM611FBDPgRg+xin5LHOPAkggcxZ+Qa7NAD75COniY/olhdgX2qFf2W8UsVNAucTKFAIooTAugMkvHLek0AuhlXMlas9z7oOUffyTF64vPnZUv+DzBf51TBIol2fzRyfP4jXbwj0bONwf8rVb9cfxiamSozkTX3vBmDnHsZ7CuIwWvkWlGTozbB6aYnNtUpSenxSpuML0Ms4utyFNxR2OJsXE8BQvuuatTG1/oaMmyOOc2iom6y8SnppN9dwFLgnVuSyhuBhrZJv01B3d0mD1TIuH//wOVs+28K3hxrY08U0jlFaMb2qyun6cR498lpXOcXcgJY3OHR5/fFjQOuPD0wUrSFsVwlKxVRRPCq/0sTD99gOM3XBDbk17Xh337+zX72Xudz5Ix1MmD5gc0U8SQpUjky5HECMakFONJ0W4j94yiRX9oAUmUkrxRPMEUSZMNsWmqyZZfnSRB//Zb9H6jc9y4q7PoRPF5I++ner0JIsfuJ2Ve+8NHlzsKTwXhkoz2TITnueLgMkVf7DwowUgsvj7CvQiOZcYP09Jtv3oU5axoo/x7RvB5JdHCF1CHOYpwErjmHrBC1AMCusEnRcp3eJ1qMIiFfoPhPOIjltaaMryU5ajsnzb8JqSda8KC4wkWzXdtEKnV6GbJfRMUtp3ybqPtHLslfz1t/B96XWWW+7e7fUm39L6Avcd+W2WVhcigcn/Du6mFPCvbr8oJjbVhYud+EewxR/FjdgVjYuxlFKMbpfY+OiWBld/h2uoXlJo8Yrv0TrjozP5ew6SOT4yHdA6xR64FCaFP0drLGvH58L1YqHTajF/+/ux1tJt5bQQnlen227Rbbc48bl72PGKN8gCAVhrWT2ReyiF3yN6LFuSZRc7boRSGOdzrwu//eD9QjE5pRSQGp685/+w5TUvoba7Tm13g9quJlvf+HpO3/Pp0OfWewr2EllDFz1cxWmQaZPH6YPiN+59Gyl9H/YI1j0B7VIO7XiZjWUmxuY/nWHPI9cbwuSHHeXzs1wfE879HLIQK7oLnueAc45HX7g2LCzxuajwt75DqujxfHJNcd54rL8xuVwGK9/tNF87PVqHvnt/KcdltfC9JR+7veUJMVHZwQ3Nv8em2qQrOc/DPSsrbR74xkdYXm73Wz+RBTRImM7nAgPFwqRzvF9ALTgLSWgUWqAlCYvWhe9OjM4U9llwc0uTQriFDKcP3cvhT32Q9eOt4qRBkS4eZ+ED76czNwfkvDrVeoNaQ7hrJp5/Q7DS1hxSZ3VQ03djc/RSfB7E91Asn87hBYFlHp6PrB/6tkHeRCEkEYVijO23zif2TXLdv/sh9vzT72Pb3/v2ADdVSjH6LTfkFAuRgrgUBSqXZJg8hBMenVwX5DzLUTyxpR9X6hYgmw6uGYcp+mQbSsr1wqc7cJH2ln8JreM/n38uehFZ1jFSx59T0QJmYBx/kCHQf14lRb9BReyVfd/zqM4krBHKlh4pPoZrHrAZINXYtOi9QtmoEWWvggduc3BI4Rh/zS38s+sL2CwL7q1NM86uzWPTNHeFrRVl7y2hKOYpYZEbmRiaClZ/zjEuE2X5jKNcyIoK1Q9lndV7sli5OmgYLMunjrF88lhBFuNQycrKPF994C6WVuajZJdioCU0yPIoKdu1ky3aX/oU9W99vXDaZ9LvtjbdoHHrO6lOThX2o5TQFig3SYcazaAkrYLhSUHqjGzv561fO9kSquQTrcJEsMZKX9loktR2z1D/qZuo7p6WAiwrQmuRHrTW++RqQDMU5Dq7rTlp4Owtc/orEpVSbL56mslXXEeS6LC4WCWopECx4O5fcMfP+0s+SyPLZEvTYhy/pPjD+15RlpR+ICErxPRx7xFZq7Fi3ZiVXwjr+OEMmUJFuXs//ow8qnNrkYIXbku0EYNzEgVFXzCGzrFoecUYe5Xn8SwHHy/3CK1/HR+ivKBcQNkXirogsF3G3a+0shhUaPTjY/ih5aEv8krOcz1PY1w2hZ/ZHl958h6WusdlMljLUuc4Xzn+P1nqHM8VeHBfbe7KBpyvWMy+eCkO7Vjj+Ou/fAcrZ9py0IIw5RNi9VSLQ39yuyMSK0pVSN4iyduH//iDPPwnH5ACKQUWWVT8YjG6qc7zX3SL1AIEIK/sZ2ltfuCiErMKyuv8vdEtDfa++gBbrrwBpVRetbrQZqjeZLgxy8w73sVQs9SsKTa4IkFVSjGyo99zAQlj7X21UCXnX5Yw0fGDtwu1QbB8BPPePXK8UIDVO9pm8TfuCGGmTnvAQmqFoC2vFvb3KLfwY8xyuKR41nuv4jk8bGaw1uZIrDiBa/L3vDETLP1YHuJsdpB9+q32kqLsi+WzwdtV8FjpCy2cs7r2vDeCPjhyIWQTK2GKz89/rtEhys9j73vA+ajSdq7j9e3iKVx6MdQchRvP9Xn/pXDvbf/rixyXTeEnVLhh0/cwprZypnMcm6ZM6K28eNvrmEi2D7SCbJZxdqXtJg2QOQy/+4w1huWzYtGvLLV4/JHPsPea10qLxGBRlLDKVnhr9rm2iOWxenKOR/7o/ayenGNka4OrX34bV7/sHYGHZ/VMi2/85R0sL80HhTrhuXX8IZRieXWe+w5JwrYwSsrQW255OMVRLCAJ1KHJBo0f2B8UiVK+M5WOjud3RrjQght+DplTSjG2LSrocucwNNNgav8Bqs0IteNOs7Z7hpmfvBGsJImru+rs+Pu3Um0KfLT1EWnGXh616SbTt+zHGlmcPROn7LdsYdlCOfrAeRxZWHJLnwNhHZNb9zZNsWmGLaN2QjgnUu5RHD+nVDBB6YdkZCmWX0DsQPibPN/A+Q4K1fj3vaVfsOzP47VGQIQ4caosUT+LosIdFGothhPPcc4bCeuUjtMfglHnvkchvi6e5UALf8DxYs79mPa7b/c+pBPvWyHaOQGbWIjpFy5iXNYY/qZkK8u9Re499WnOdhbBWCaS7c6dzUM93tJf6ixw79zHWVpfQDkM/32P3c3SSpvl5TbLSy3uf/AulpfajI/Vef6L3sbU9IuCB+AOW7DyoajoIBLQ8DH3OdcQxffItUqI2K791lsZ2zygxaHOX4+NzYSELVDMdeZ4xFzYY9haPAkQ7Pn8xwQn3ydsJaGwVpg2rbWlCdv/2bCL0sRQKIYbg2GsHjN//Fc/QvdIG6UVtZ0NlHY9dm8+wNBM/0KqlNQZnHj/HfSOzrtzzfPS5aEjpc+gSeev18D64/N90bLLMnxIJ8ixyLW1Nv9bZP3nuasIsROs/UiZl2SjbC2H509l9FnyhLBOGF7BR+9dMKwcLQChACs2ugZtnNuYHbjWF84ZzptYHbS4FO6fuqDsxBDW847IMvdIHH2OC/PWfVhYAvRTXh95109z+NafvcABLzwuL0rHWCbYyg2bXsOE3iITwkQucGnbVJnkhvr3M1GdBGuZqE1z/Z4fAgP3HbobQAjJRmfQwKZx3wzF9lsIse6wYmX6OH4c0x/d1uSqV74TAGMMKyeLCBelBJap4vDNAEHoQ+WcZwySiVgJD082aPyQo0mOrqX4BXnoLLRof0xolsOlnxdZcYHn3oKOLnJozzTTP3GzkJv5Yztvx1NAlBFBykKt3pBG6a74CgjJ23ONQRZS+JtVdI+0ab/vo5hO79zX+CwN64uurFf2Dq3jlX45VFneIFjK5c8NQuzkB5aHQeGKpxTWCa8HXFshnh81Sxk0Iux7YXGKzqePWnnQ44DR57kWzuscsj5gYbnYaElfjiGcly0pffnQoJBl4bte2Ws48sM/fXEnF43LauHbNGWpt8gEW5xFY8QNLltBUWxz09CU3EtjRamPTLNpeIrrr3wLEyMzTIxMs7I875KBciTlJsbK6TlJhJXjiAjFso/jF5qDOAv20T+5g1NHhJJh9XQUoigJWSHWGX9mQ7ekiBsebIE4i3vGhXnOJ6hKKlrrNx4IrQ7PuyhFxxkYHz6HIlZKMbzXoY8KwePSY2loXNJVKTz6Z+DnonBO3379c/fd6q46Mz95E3ro8vPhk2XYLJNYfmThe+UdZDyK6cehHQ/RzGP65L9NOTxpCWEd6Fdg55OTwagbBspLXIA1UJkWEGixEi/LdrRQlaxuFcvaeZT+IHEpN0ApnMtAuY781jisE4VgLmjI+8sqLT4SiiGEY85lrOhBcwZcSOciV6LSqFzSvT2VYeFMeoJ7V/+Q60deRZIkTFS2o0jkQrMMmyQuhuesG41QKoQ7bME4wrLRGUBxdnWe+x/+KC+87mbGNwt3vMWxUX7lTq79W7cytq0h70c3V+L4t2KNZWRbgytfJnFyYyTxdsXL9jO6pc7IpilGN/tGKSpYYlbjhMeK62usEz43UXUkTNr2w9etJYiWR2ag+iZ0PgM3dpuVVgzXm6hu/KbbhXNLz+k+xxPQvfbWvcfhD+2ZGWzYhdO0rLdb0jO3sDJGjwW9EMEzoxNTEErQz3u9aGq7+0NIl2UY9yNbK1YwRItiBiRYjSh2L0ulTfmkr/GyZN1vAOdaSZW157Zsn0Yc2CqRaztYl17gywKuCL9a6feG8/yk5fefiu7zHrhfVMonfr59P5XjlD8bmrKQW/a+WXn8MWXRA1cxQEsI55kYl7cBihP0tewM9658jvnOY5gs5Wz3hCS3vBXkC1cArMUaI5DOCNHg3d7x4WledI2EdWK3d2x8RtgoJ+olZSOf0c6cefRP72D9dFus+j++ndNH7uPRP5am4VprweDHCVkrnkMfEuUpzIw+q2PQ80Gff6q43I3EHaNjx41Lyl/rHG4z/8s5Oudco9tu0froBzn79XsHonXCU4tD6VhWHl3o+6wxhtN/8jWyLKP7xDkgtJfWGLroERA6UeGVhHL8QmDiDxet/A0dgCDf5/IGn7Fkhl9QBiVuBw3nlcSv+xR9dP4Fb/Npn+QGxyW8RQVoaETsdi7rPn5fKXj8lvdw5B0/c+lOqDQum8K31jJuN/Pi2suZTnazr/piHl77Egvdx7l3+bMs9Z7Ex/TLsc7l9ePc2/pdljzixQDGsOR4aSbGirFyay0rS22hWDhP/Hp0a4N937Wf4S11rLVc+bL9bNl9fbH9od+n283qmZa0PvTQz43Kv3W8OiafBcop2eUzcyz5RWSA2+s/KzsacEiPzInOdSDyInru8xZx1nT9eItjHz9It53DWq2B7pEW1V0zzPyTt1LbPROsfYvJi7DccWv1Bjte/QZOfOGekEcYGC7yx3x8gYfe+3ssP7oI5O7uyT95iCf+w//gzCf/nMVfvUvgnOe8t8+4itjYyLJgtNgQynHhHf86er/Pwu+L2fv3nlrM+WLj07KT6PECobrzn4s972tgoAK+4KFii/48+yl8Pr6OjXrMVgXMQHxfCyyaGtf/1oK26MQGkrSwkb8HEtOvVrONncRFjMtr4VuYUFtR1jKjd3HD8CuYSnZzw+grXRK3bBGK0E/UJrmh/qa84ApYWlsQ2OPqfNi3j3OuLLX5+lc+xMrZdiGO2Hc+rop27VSLQ5//AEBu1Z9joRjZ0uCab4tQOoXTtSwtD6BIBuHViWCa/rNLSy0euO8Ovv7lg8VcwYB9xxj3jUxqa4WiIT4fr+hXT85x6PMHA2U0SHJ49u9FyWGgd6zNif/yIXpPzDO0RxbQ7uF55n/lI0Vr398urRh7wfXsePkbqE3236P8ROQLtT0zXPPz38/4lZOFP2/7rmvY9RNvYsv3fjuTP36zJHoH/STPISvf+oStX0RjTxXC+4O9ldyjDZbxgDBgXIT1dBE654/vx7moc6jdUIGrBn/mXF5GbLQMsPY3EMHLTyGmVvHbwBg/TiHjCptcVeuAZlLB68QZESVDIsTqPQV5ArYCJiEvmDrHLfPUCr0s4Yvf/Ut87U2/yNe//19u7GIvYmxI4SulXquUekgpdUgp1YcNUjL+k/v7/Uqpl1xwp9ayZJ4Ua8eNTck24YXX2yKOGZO7xf54wKah6XyBtkKkdv2+tzA+OtN3qLGxGfZe9T2MjsvflOn7yIDTu7CkWUWO0imFeZaWWiwtt3jgwbtYXukPe8S8OgDLq/Pc/427AHjh9bdy3bccKCwiZehdZ6FF66PCmbPR0Tne4ugnDrL+ZP6dtZMtDn3+INZaZl/yeoa31sNxlCo2LgGoztbZ8Q/fRnXXTKiwre3Jrf1Bo7fQ5sQXPkV3sX3e87PumGNXThcWWK0slUSx9WXXkSQJQ7sbG0I7XWg8I3JduCDTr/QhT9IWPmuLSj5+jJ5fSAHGlAZ5/ifyCp6id/C0RlnxPxVU2EbObdD6GJSvypWvBpMobKLcI84K7/d6A0d+qjCptCU0RudtPc91bqpo3cuCYiVhWwrXlMM6f/DyX+V/vebfb+CCL924oMJXSiXAfwFeB1wHvFUpdV3pY68DrnLbjwD/7UL7NaTcl/4vlrInixZQ+IAdPCl8qbYpTgqlFBPDMw7BYwqW9crKPI8/8hlWl4uKt8+CcM9HtzW5+lXvYnRbqXr1QsMJ0PJym6/d/2EAXvi8mxkflxBR3BAlnK+bDOPD07zo2puZmGgwsanJxJZzexU+Ntx4y/5Cm8NYggeVw9emhfZ4eEcj/G1kW4N9rziAUopj/+dTrJ/qV8oFEIFS1HY16D2RW/XKVd2e63xrMw0ab45aHMJ5J/cF5/wliNg8U3JdGC5e75V+2XARuGZJzsvyPejc48Vh0N9L1q6yRA1T+rdyuDCc3qAwzlMY3uKPY9rnq34dvI9IVBRCkZKBTpWjSxHlng1BOgrdzbC+XbG+Q7E6rVidkW1tSrG+XdHZrMhqsu+kA7XTiuFFxeicZvzxCmOPVRk5NISeG8YsDtNbrWJ6boXwoR//E/q1IAGT2KKX4DwM5SkT/PbUb+MlHRtB6fxt4JC19jEApdRHgTcBX48+8ybgDiva7C+UUluUUnVr7TlNOk3CXp7PqNnEknmScbsNEt0f04sQOhsdyzFSZ0uT8fE6z7/hbYxMnCekEA0f2rnQsNayemoucOH7MTYh9AoTozPSqci6czp0N9fvE/jooGNOjNcxqsgDkwOSLGsnWlSbTTrHW7T+x+3UbzoAQKc1J1WwF7B6lVKMTDVRHfAzzF+rNZZ9rzjA8LbGwOOXR2133Vn104M/UDru8ExzQ56VH9Zazj6yyOartm/o8x6NBRuOaDwjch2Pz5rf2tiZfHN8czxLYyNqtAkcjV4fc+891c8UhiHjUR5gkWPcl/4vlu3p6I/n1gzWWs52jp835DI+OiNIHddIXCnF+KanFgbYSHPz1dOOG/9MMayilHDax8cbH53h+n03Mj5A2V/wuMZw6rF7Ofz7B1lfbOVNwWcadNvCSRN3vBq84wv8WQ1mBz3f589n1cuHbF+uYfDH+vex/Ogi9/78PSwdOrGh83ka4xmR62+Ob47n8tiIhb+R1NiG0mdKqR9BXGOADvDoV/mLNWDkL9JPr5Fu4GxgBLgSeBRY29A3+scO4FJpkpH7//BXN3oeT/e4/prnHv3wL58a9Pe5X/2VC53DpbzmpzIawDae3u818mfv+ujT/Y2vucDfL5lcQ79sK6W+eoHjPxPjcv3Gl/PYfxOv+UKyfc6xEYV/DNgZvZ4FyubkRj6DtfbXgV8HUEp92Vr70qd0tpdoXK5j/w2+5me9Ekop9eULfOSSyTU8N2T7b7B8/Y275qf73Y2EdL4EXKWU2quUqgE3AZ8ofeYTwK0O1fCtwJmNxjm/Ob45LtP4plx/c/yNGxe08K21qVLqR4HPAAnwAWvt15RS73Z//zXgU8DrgUPAKnDbM3fK3xzfHBc/vinX3xx/E8eGuHSstZ9ChD9+79ei5xb4h0/x2L/+FD9/KcflOvY3r/k5dNxnSK43dOxnaHxTvv5mHPtpH1dtpMDom+Ob45vjm+Ob46//uKzUCt8c3xzfHN8c3xzP3njGFf4zXr7+9I97izve/UqpP1dKXX8pjruRY0ef+1tKqUwp9eZn67hKqZcrpe5VSn1NKfXHl+K4Gzm2UmqzUup/KqXuc8e+JPFwpdQHlFLHzwWDvIzy9Ywcd4PHfkZk+3LJ9UaP/UzI9v91cu3L9J+JDUmGPQpcAdSA+4DrSp95PfBpBPP8rcBfPkvH/XZgq3v+uktx3I0eO/rcHyEx5Dc/S9e8Bakk3eVeTz2Lv/N7gF9yzyeBk0DtEhz7u4CXAF89x98vl3xd8uNeTtm+XHJ9OWX7/0a5fqYt/FC+bq3tAr58PR6hfN1a+xfAFqXUxjgQLuK41to/t9b6Iqa/QDDWl2Js5JoBfgz4HeD4s3jcm4GPW2ufALDWPpvHtsCEUkoB48jE2Fip3XmGtfZP3L7ONS6LfD1Dx93QsZ8h2b5ccr3RYz8Tsv1/nVw/0wr/cpWvP9V9vhNZLS/FuOCxlVJN4O8Bv8alGxu55quBrUqpLyil/kopdeuzeOz/DDwPKVx6APjH1tqnwK7zjJ7bM7HPZ4qW4XLJ9uWS6w0dm2dGtv+vk+tnusXhJS1fv8THlQ8q9QpkUvzdizzmUzn2rwI/Y63N1CWg+X0Kx60A3wK8CqFr+KJS6i+stf9fe+frEkEQhuHnA5NZEAyiTVG0mIwW8fwXLGK5aDFZjP4HFoNNo1mxaDsMFy6JP4piUQThksIYZkE8kFvZmR3ZeZ+0HMO8M7fvvnu7383uTQ3aq0AXWME/JuLczK6cc+8VtUOMLUafsZ7Wn8rbqXxdVjuGtxvn69iBH3T5emBdzGwBOATWnHOvFTX/or0EnBQHxRjQMrNP59xpZN1H4MU51wf6ZnYJLAJVA7+M9iaw7/wNyFszewBmgE5F7RBji9FnDN3S/Ubwdipfl9WO4e3m+bpqcWFI4WEEuAem+S56zA20Wedn8aFTk+4kfgXlct1zHmh/RJiibZk5zwIXRdtRoAfM16R9AOwV2+PAEzAW6Duf4vfiVip/BddN6e1Uvk7p7Sb6OogZhgy6hT/L3gG7xWdtoF1sG/5FFHf4e2BLNekeAm/4y7EucF3XnAfahjwwhuoCO/h/M/SA7Rr38wRwVuzjHrARSPcYeAY+8L96tv6Jv6LopvR2Kl+n9HbTfK2VtkIIkQlaaSuEEJmgwBdCiExQ4AshRCYo8IUQIhMU+EIIkQkKfCGEyAQFvhBCZIICXwghMuELqQBhxHhlXrMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.subplot(121)\n", "plt.imshow(func(grid_x, grid_y).T, extent=(0,1,0,1), origin='lower') # shows the image generated on the grid points \n", "plt.plot(xy[:,0], xy[:,1], 'k.', ms=1) # print the ramdom sample points\n", "plt.title('Original')\n", "\n", "plt.subplot(122)\n", "plt.imshow(grid_z0.T, extent=(0,1,0,1), origin='lower') # shows the interpolated image\n", "plt.title('Interpolated')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3D Plotting" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "def f(x, y):\n", " return np.exp(-(x*x + y*y) / 1.0)\n", " #return 1 / (1 + np.exp(-5*x - 4*y))" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "x = np.linspace(-1, 1, 100)\n", "y = np.linspace(-1, 1, 100)\n", "X, Y = np.meshgrid(x, y) # generates a grid from one-dimensional arrays\n", "z = f(X, Y)" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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L3LnEsv81V/9VUHk7u/vR0tLC9xuN6666ir87Gc/GxeRxGRDIBDA7373OzzzzDM4ffo060nPFw8rIcuje8NpCV9NTQ0jutvtxtDQUF5ip1IpfPazn8UHPvABfO1rX6sSWx3nF7lzoVC3nMc999wDq9WKu+++e4KOcnKA70nv6OhgPenr1q0rusWUdnP19/cjnU5jwYIFaGpqytogk06n8bnPfQ5r1qzBt771rSqxs2PyN45MFDZv3ozHH38cAPD444+ryl4jkQibOBKJRPDqq6+yYQXnE2w2G2655RZs27YNb731Fj7wgQ/g5z//OS699FJ84xvfwJtvvpm15VMJq9UKk8kEk8mEdevWQRRF7N+/H++99x56enoyhjCKoogvf/nLWLp06bgQ2+fz4aqrrsIFF1yAq666StVzA0bzLitWrMDq1asnsm49KTAlLbfX68VNN92E7u5uzJ49G9u2bUNdXV2GWObUqVO47rrrAIxakE996lNVsQwHvif9/fffx6WXXorrrrsOl156adburoGBAfT392P16tUZrjg/9tnv9+PNN99ET08P5syZg/vvv39cLPY0q5hU3fIqxgfJZBJ/+MMfsGPHDrz11lu46KKLsHXrVlx22WXM5R4cHERvby9Wr16ds7/c7XbjrrvuwoEDBzBjxgx8/vOfH5ey1zSrmFTJPVGY5FM7xhXpdBp//vOfsW3bNrz++utYu3YtmpqaEAqF8OCDD+YktiRJ7L3613/9VwQCAXR1dY3LezPNKibjk4xQDsdTfJ13SKfT8vz58+WTJ0/KiURCXrlypXzo0KGM27z44ovyRz/6UVmSJPmtt96SN27ceI6OdnyRTqfle++9V545c6a8evVq+ZZbbpF/85vfyB6PR45EIhlfoVBI/ru/+zv5C1/4giyKYkWe/8orr5SXLVs25uu5556THQ5Hxm2dTqfqY/T19cmyLMtDQ0PyypUr5T/96U8VObYKIx8PS/qaUls+JwKF7GXONrVjqncRKSGfGfhIe7L37t2Lbdu24YEHHsAFF1yArVu34iMf+QgsFgu+//3vw+fz4bHHHqvYoMdc7cVNTU3sPR8YGMja6koNNY2Njbjuuuuwd+/e86IcCkzRbPl4IttEjmJvMx2g0+nwq1/9ii0XuPjii/HP//zP2LdvH771rW/h4MGDuPrqq7Fx40YcO3YMjz32WNmDHQtFtWKSH1XLrYB8nk7tKAYajQbr1q3DunXrcP/992Pnzp244oorJozYAPDNb34TN910Ex577DFWMQGQUTEZGhoaUzEZz77xyYYquRU4X6d2lAqNRnNOhm24XC78/ve/H/P3lpYWNjdg/vz5aGtrm+hDmzSouuUKnK9TO6qYfqhabgV0Oh0efvhhXH311Wxqx7JlyzKmdmzatAm7du3CwoUL2dSOKqqYbKjWuauo4tyjqi2fjnj55ZexePFiLFy4ED/4wQ/G/H/37t1wOBxYvXo1Vq9eje9973vn4CirmIqouuXnEKIo4itf+UrGmpvNmzePWa102WWXYefOnefoKKuYqqha7nOI6bZaqYrJhSq5zyEKFcO89dZbWLVqFT72sY/h0KFDE3mIVUxhVMl9DlGIGGbt2rU4ffo02tra8NWvfhVbt26doKMbf2zbtg3Lli2DRqPJOZk2X16iCnVUyX0OUYgYxm63s31imzZtYgsHpgOWL1+OZ555JqfWm/ISL730Eg4fPozf/OY3OHz48AQe5dRFldznEIUIZgYHB5mF37t3LyRJgsvlOheHW3GcjyufJxLVbPk5RCGCme3bt+ORRx6BTqeDyWTC008/fV7p2KfjyueJQpXc5xibNm3Cpk2bMv72pS99if18xx134I477pjow6oYqiufzx3yKdSqmEYQBOFXAD4OwC3L8pjeR2GUNf8CYBOAKIDPyrL8/gQc124Ad8uyPCarJgjCJQDukWX56jO/fwsAZFl+YLyPa6qjGnOfX/g1gFw9jx8DcMGZr78B8MgEHFM+vAPgAkEQ5gmCYABwC4DfneNjmhKokvs8gizLfwaQa/n3FgBPnBn98zYApyAI49buJgjCdYIg9AK4BMCLgiC8cubvLYIg7DpzzGkAdwB4BcARAL+VZbla7C8A1Zi7Ch6tAHq433vP/G1gPJ5MluVnATyr8vd+jIYG9PsuALvG4ximM6qWuwoeapmqalJmiqJK7ip49AKYxf0+E0D/OTqWKspEldxV8PgdgNuEUVwMICjL8ri45FWMP6ox93kEQRB+A+DDAOrPJLL+EYAeAGRZfhSjce0mACcwWgr763NzpFVUAtU6dxVVTFNU3fIqqpimqJK7iiqmKarkrqKKaYoquauoYpqiSu4qqpimqJK7iiqmKarkrqKKaYoquauoYpri/wO34ZfBvWsdMAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = plt.axes(projection='3d')\n", "ax.contour3D(X, Y, z, 100, cmap='binary')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 4 }