{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example: Using DistArray for Gaussian Elimination (L-U decomposition)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Note:** This notebook requires an `IPython.parallel` cluster to be running. Outside the notebook, run:\n",
"```\n",
"dacluster start -n4\n",
"```\n",
"***"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Gaussian Elimination is an algorithm in Linear Algebra best understood as a series of row operations on the coefficient matrix of a system of linear equations. The method can also be used to calculate the rank, determinant, and inverse of a matrix. The algorithm involves adding multiples of each row to subsequent rows, in order to make the coefficient matrix upper triangular. The resulting system is then solved by back-substitution which is trivial to perform. This algorithm is illustrated in the figure below:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here **i** refers to the index of the pivot row (started at 1). Please note that much of this example notebook is adapted from [Parallel Gaussian Elimination](https://github.com/prashantmital/ge_utpcse/blob/master/Report.pdf) which is a good starting point for gaining a better understanding of Gaussian Elimination from an computational standpoint.\n",
"\n",
"In this notebook we will demonstrate how to perform GE in *parallel* using the **DistArray API**. The main challenge in parallelizing Gaussian Elimination on a distributed memory machine is that the calculation of each row requires the calculation of all rows that have come before it and therefore concurrency of operations becomes the overriding issue. This bodes well for the client-engine architecture of `IPython.parallel` (and consequently DistArray) as the client can keep track of *pivot* row, while the row transformations can be pushed out to the engines using custom uFuncs. \n",
"\n",
"We begin with the imports:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# utility imports\n",
"from __future__ import print_function\n",
"from pprint import pprint\n",
"from matplotlib import pyplot as plt\n",
"\n",
"# main imports\n",
"import numpy as np\n",
"import distarray.globalapi as da\n",
"from distarray.plotting import plot_array_distribution\n",
"\n",
"# output goodness\n",
"np.set_printoptions(precision=2)\n",
"\n",
"# display figures inline\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We now define the parameter space for our study. We will perform GE on matrices that are *block distributed* in any one or both dimensions, while simultaneously varying the size:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[('n', 'b'), ('b', 'n'), ('b', 'b')]\n"
]
}
],
"source": [
"distributions = [('n','b'), ('b','n'), ('b','b')]\n",
"sizes = [8, 16, 32, 64]\n",
"print(distributions)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we create a context and devise a scheme for generating some synthetic data (in this case a matrix) on which to operate:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"context = da.Context()\n",
"def synthetic_data_generator(contextobj, datashape=(16, 16), distscheme=('b', 'n')):\n",
" \"\"\"Return objective matrix with specified size and distribution.\"\"\"\n",
" distribution = da.Distribution(contextobj, shape=datashape, dist=distscheme)\n",
" _syndata = np.random.random(datashape)\n",
" syndata = contextobj.fromarray(_syndata, distribution=distribution)\n",
" return syndata"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In order for the Gaussian Elimination operation to be truly parallel, we need to define a uFunc to perform the desired computation:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def parallel_gauss_elim(darray, pivot_row, k, m):\n",
" \"\"\"\n",
" Perform in-place gaussian elimination locally on all engines.\n",
" \n",
" Parameters\n",
" ---------\n",
" darray : DistArray\n",
" Handle for the array to be manipulated (global)\n",
" pivot_row : numpy.ndarray \n",
" Array containing pivot row (global)\n",
" k : integer\n",
" Pivot row index (global)\n",
" m : numpy.ndarray\n",
" Vector containing pivoting factors (global)\n",
" \"\"\"\n",
" import numpy as np\n",
" \n",
" # retrieve local indices for submatrix that needs to be operated on\n",
" n_rows, n_cols = darray.distribution.global_shape \n",
" i_slice, j_slice = darray.distribution.local_from_global((slice(k+1, n_rows), \n",
" slice(k, n_cols)))\n",
" \n",
" # limit the slices using actual size of local array\n",
" n_rows_local, n_cols_local = darray.ndarray.shape\n",
" i_indices, j_indices = (i_slice.indices(n_rows_local), \n",
" j_slice.indices(n_cols_local))\n",
" \n",
" # determine which elements of global pivot row correspond to local entries\n",
" _, piv_slice = darray.distribution.global_from_local((slice(0, n_rows_local), \n",
" slice(*j_indices)))\n",
" \n",
" # limit the slice to the size of the global pivot row\n",
" piv_indices = piv_slice.indices(n_cols)\n",
" \n",
" # determine which elements of global pivot factor vector corresponds to local\n",
" mul_slice, _ = darray.distribution.global_from_local((slice(*i_indices), \n",
" slice(0, n_cols_local)))\n",
" \n",
" # limit the slice to the size of the global pivot factor vector\n",
" mul_indices = mul_slice.indices(n_rows)\n",
" \n",
" # perform the elimination to create zeros below pivot\n",
" if (i_indices[0] == i_indices[1] or j_indices[0] == j_indices[1]):\n",
" # computation for the local block is done\n",
" return\n",
" else:\n",
" for i, mul in zip(xrange(*i_indices), xrange(*mul_indices)):\n",
" np.subtract(darray.ndarray[i, slice(*j_indices)], \n",
" np.multiply(m[mul], pivot_row[slice(*piv_indices)]),\n",
" out=darray.ndarray[i, slice(*j_indices)])\n",
" return\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We want to use a nice syntax for calling out uFunc hence we *register* it with our context (alternatively, we could have just used `Context.apply` which has a more obscure call format):"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"context.register(parallel_gauss_elim)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All that is left now is to define the high level function that runs on the client and manages the GE operation. Using this function is a way of ensuring synchronicity between the many engines performing this operation. After a pivot row is determined, it is broadcast along with a vector of pivoting factors to the worker engines via the `parallel_gauss_elim` uFunc. Note how we have actually subverted the need to use canonical MPI constructs (in this case, `MPI_Bcast()`) by making use of the fact that our uFunc can accept arbitrary arguments. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def execute_ge(contextobj, darray):\n",
" N = min(darray.shape)\n",
" for k in range(N-1):\n",
" pivot_factors = (d_array[:, k]/d_array[k, k]).toarray()\n",
" contextobj.parallel_gauss_elim(darray, darray[k, :].toarray(), k, pivot_factors)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In order to enable the reader to better visualize what is happening in this example, we will make the first set of runs with the size fixed at 8, while cycling through the distribution types. We also print out a graphical representation of the distribution of the resulting upper triangular matrices."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nBzvxIwipmfHEAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nDvX/RYjqV2TaozwAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"N = sizes[0]\n",
"for scheme in distributions:\n",
" d_array = 1000 * synthetic_data_generator(context, datashape=(N,N), distscheme=scheme)\n",
" execute_ge(context, d_array)\n",
" process_coords = [(0, 0), (1, 0), (2, 0), (3, 0)]\n",
" plot_array_distribution(d_array, process_coords, legend=True, \n",
" title=str(\"Distribution Scheme = \" + str(scheme)))"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Now we write a quick routine that runs through all sizes and distributions and records the runtimes. The resulting information is best represented as a plot the data for which is collected in a Dictionary called `performance_data`. Depending on the contents of your `sizes` vector, the runtimes may very a great deal on this section."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loops, best of 3: 1.15 s per loop\n",
"1 loops, best of 3: 2.44 s per loop\n",
"1 loops, best of 3: 5.03 s per loop\n",
"1 loops, best of 3: 10.3 s per loop\n",
"1 loops, best of 3: 1.25 s per loop\n",
"1 loops, best of 3: 2.7 s per loop\n",
"1 loops, best of 3: 5.73 s per loop\n",
"1 loops, best of 3: 11.5 s per loop\n",
"1 loops, best of 3: 1.15 s per loop\n",
"1 loops, best of 3: 2.38 s per loop\n",
"1 loops, best of 3: 4.89 s per loop\n",
"1 loops, best of 3: 10.1 s per loop\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEZCAYAAACervI0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4FUUXh99JCL2EjjSDBaUHkKIgBAFpgoAFkACR0KV3\nQZpIFz5ApEtCF5AiRUFAgnTpIF2qinQCoaWe74+5wYghubm5NzeXzPs8+5DZnd357Sac2T1n5owS\nEQwGg8GQ8nBztgCDwWAwOAfTARgMBkMKxXQABoPBkEIxHYDBYDCkUEwHYDAYDCkU0wEYDAZDCsV0\nAAanopT6QSnVwgntXlBKvWX5eYBSapaN12mulNpgX3WPr11QKRWilFKOuL7BYDqAFIZSqqlSao9S\n6p5S6qpSardSqqOz9IhIXRGZb+/rKqX8lFKRFgMavd1VSuWJbjqGhpEi0taWdkRkoYjUspPmx52S\n5dqXRCSTOGCyjlIqSil1JGbnopT6QikVYO+2nmj3X/docC6mA0hBKKV6AROBMUBuEckNdAAqKaVS\nO1WcY9hhMaDRW2YRueJsUXEgQFK+7T8HNH2ifUeT1PdoiAPTAaQQlFJZgGFARxFZISL3AUTkkIj4\nikiYpV49pdRBpdQdpdQlpdSQGNfwUUr98cR1Y7pSyiul9lnOvaKUGm/Zn1YptUApdUMpdVsp9atS\nKqflWJBSyt/y84tKqZ8t9a5bzsnyRFu9lFKHlVLBSqlvlVJp4rptK5/NUKXUfMvPXpa3Yz/L/d9U\nSnVQSpWzvDHfVkp9FeNcP6XUthjlKKVUe6XUaUvdKTGOPfX+LO0XBNZYvlZ6x9DiZqmTVym12qLp\njFKqzRP3sFQpNdfypfObUqpsPLc+FhimlHK34hmdUErVi1FOZbkH76f8fnPFco3/3GN87Roci+kA\nUg6vA2mA7+Opdw/wFZEsQD2go1Lq3Tjqx3xrnAT8z3LuC8ASy/5WQGYgP5ANaA88inF+zGuMQL+Z\nFgEKAEOfaOsDoBZQCCgJ+MVzP9YQ25tveeAl9BvyJGAA8BZQDPhQKVUljuvVA16z6PtQKRXTRRTr\n/YlIC+AS8I7la+XLWK77raXOc8D7wEilVLUYx+sDi4EswGpgyn+u8G9WAnf55xnG1WEuAprFKNcC\nronIIWL//T588gJW3qMhCTEdQMohB3BDRKKidyildlre2B4opd4EEJGtInLM8vNRtNGpamUbYcDL\nSqkcIvJARH6NsT878LJoDopIyJMni8hZEdksIuEicgP4XyxtTxaRKyJyG1gDeMehp6Ll/qK3M0+p\nF5vhGy4iYSKyEQgBFonIDRG5DGwDSsfR7mgRuSsifwBbojVaeX+xC1SqAPAG0M+i6zAwG2gZo9o2\nEVlviRksAErFc9koYBAwSCnlEU/dRUADpVRaS/kjdGcDVv5+DckP0wGkHG4COaLdCQAi8oaIZLUc\nUwBKqQpKqS1KqWtKqWD021x2K9vwBwoDJyxugGiXwXxgA/CtUuovpdQYpVSqJ09WSuW2uHX+VErd\nsZz3ZNsxffgPgYxx6NktIlljbC9beR8AV59o58lyhjjOjanxQbRGK+/vaeQFbkW77ixcAvI9RfMD\nIG3M33dsiMiPwJ/o3/NTYwAichY4ge4E0qO/NhZZDlv1+zUkP0wHkHLYBYQCDeOptwhYBeQXEU9g\nOv/8ndwH0kdXtPiOc0aXReR3EflIRHKiA83fKaXSiUiEiHwuIsXQb7Hv8O8312hGApFAcYsbqQVx\n/426SirbaJ3x3V9c93MZyKaUitnhFUQb78QyEO3iSh9PvcVoN9C7wDEROQeQgN8vuM7vLEVgOoAU\ngogEo4PAU5VS7ymlMiml3JRS3vz7bTYjcFtEwpRS5dGf+tH/aU+j3yrrWlwGn6HjCgAopXyjg7vA\nHct5UUqpakqpEpYOIwQIRxvCJ8mI7mTuKqXyAX3iuS1njiaxtu2Y9eK7v6vAi7FdxOJO2gmMUkql\nUUqVBFqjXT2JQkS2Ar+hfflxGehv0b7/Dvzz9h89OMCa3y/EcY+GpMd0ACkIERkH9AT6ot0UV9Bv\n+H3RXwgAnYDPlVJ30f7hJTHOv2M5Phv95nkPiDkqqBbwm1IqBO3fbioioUBuYBm6UzgOBKHdBk8y\nDChjqbcGWE7cBunJAPKTx15X/54HEPKUkTFPXseat1SJ8W9c58Ysx3d/o4DPLPGKnrGc3wzwQn8N\nrAAGi8jPT9ER3308eewzdAD36SfoIbQ70QMKlsQ4lAfrfr8Q+z0anIRy1IIwSqk56NEQ10SkhGXf\nOPTnYRhwFvjYYlQMBoPBkMQ48gsgAKj9xL6fgGIiUgrtTvjUge0bDAaDIQ4c1gGIyDbg9hP7NsYY\nhrgHPW7YYDAYDE7AmTGA1sAPTmzfYDAYUjRO6QCUUgOBMBFZFG9lg8FgMDiEJJ+soZTyA+oC1eOo\nY8YKGwwGgw2IiNXDo5P0C0ApVRs99vldEXkUV10RcdltyJAhTtdg9DtfR0rTbvQ7f0soDusAlFKL\n0WOGX1FK/aGUag18hZ4Ms1HpjJNTHdW+M7lw4YKzJSQKo995uLJ2MPpdDYe5gESkWSy75ziqPYPB\nYDAkDDMT2AH4+fk5W0KiMPqdhytrB6Pf1XDYTODEoJSS5KjLYDAYkjNKKSS5BoFTCkFBQc6WkCiM\nfufhytrB6Hc1TAdgMBgMdib4UTCrT612tox4MS4gg8FgsCNbL2yl5aqWXA65zC7/XbyW97Uka9u4\ngAwGg8EJhEaE0m9jP6rNrcalO5conac0WdJkcbasODEdgANwdT+i0e88XFk7pFz9x68fp+I3FRm7\ncyxKKQZXGcyO1jt4OXtCViFNesy6nQaDwWAjURLF179+Td9NfXkU8YgXsr7AgkYLeL3A686WZhUm\nBmAwGAw2cDnkMq2/b82GsxsAaO3dmom1J5IpTSanaUpoDMB8ARgMBkMCWXFiBW3XtOXWw1tkT5ed\nWfVn0ahII2fLSjAmBuAAUqofNLngyvpdWTs8+/pDQkNo/X1r3lv6Hrce3qLWi7U42vGoSxp/MF8A\nBoPBYBU7/9hJi5UtOHf7HGlTpWVczXF8Uu4TlLLa45LsMDEAg8FgiIPwyHA+3/o5I7ePJEqi8M7j\nzcLGCymas6izpf0HEwMwGAwGO3H65ml8V/iy9/JeFIr+lfozrNowUrundrY0u2BiAA7gWfeDJndc\nWb8ra4dnR7+IMGPfDErPKM3ey3spmKUgQX5BjKox6pkx/mC+AAwGg+FfXL13lTZr2rD29FoAfEv6\nMqXOFLKkTd6zem3BxAAMBoPBwppTa/Bf7c/1B9fxTOvJtHrTaFq8qbNlWY2JARgMBkMCuR92n14/\n9WLG/hkAvFXoLQLfDaRAlgJOVuZYTAzAATwrflBXxZX1u7J2cE39e//aS+kZpZmxfwapLqVi/Nvj\n2dhi4zNv/MF8ARgMhhRKRFQEo7aNYtjWYURKJMVzFad7ie74v+7vbGlJhokBGAyGFMfZW2dpsbIF\nu/7cBUCPij0YWX0kaVOldbKyxGFiAAaDwfAURISAQwF0W9+Ne2H3yJcpH4ENA6nxQg1nS3MKJgbg\nAFzRDxoTo995uLJ2SN76bzy4wfvL3sd/tT/3wu7xQdEPONLxyL+Mf3LW7wjMF4DBYHjm2fD7Bvy+\n9+PKvStkSp2Jr+t+jW9JX5fO42MPTAzAYDA8szwMf0i/Tf346tevAHiz4JvMazQPL08v5wpzECYG\nYDAYDMDBvw/SfEVzTtw4QSq3VAyvNpw+b/TB3c3d4W2HhcG+ffDGGw5vKlGYGIADcHU/otHvPFxZ\nOyQP/ZFRkYzZPoYKsytw4sYJXs3xKnva7KF/5f7xGn976N+9G8qUgerV4fffE305h2K+AAwGwzPD\nxeCLtFzVkl8u/gLAJ+U+YWzNsaT3SO/wtu/dg88+g8mTQQReegmCgx3ebKJwWAxAKTUHqAdcE5ES\nln3ZgCXA88AF4EMR+c8jMjEAg8GQEESERUcX0emHTtwNvUvuDLkJeDeAOi/XSZL216+HDh3g4kVw\nd4fevWHIEEiXLkmaf0xCYwCOdAEFALWf2Ncf2CgihYHNlrLBYDDYzO2Ht2m2vBm+K325G3qXhq82\n5GjHo0li/G/cgBYtoE4dbfzLlIG9e2H0aEgXmsxf/3FgByAi24DbT+xuAMy1/DwXaOio9p1JcvCD\nJgaj33m4snZIev0/n/+ZktNLsuTYEjJ4ZGB2/dms+HAFOTPktOl61uoXgUWLoEgRWLAA0qaFsWNh\nzx4o/fwt8PeH4sXhzh2bdCQVSR0DyC0iVy0/XwVyJ3H7BoPhGSA0IpSBPw9k/K7xAFTMX5H5jebz\nUraXHN72xYvQsSP8+KMuv/UWzJgBL70o8O230L07XLsGqVPDjh1Qt67DNdmKQ+cBKKW8gDUxYgC3\nRSRrjOO3RCRbLOeZGIDBYIiVo1eP0nxFc45eO4q7cmdw1cEMeHMAqdwc+z4bGQlTp8Knn8L9++Dp\nCePHw8cfg7pwHjp10sEAgCpVdK/w6qsO1fQkyX0ewFWlVB4RuaKUeg649rSKfn5+eHl5AeDp6Ym3\ntzc+Pj7AP59ppmzKppxyylWqVmHS7kn0m92P8MhwXir7EgsaLeDh7w/Z/st2h7Z//jzMnOnD7t0A\nQVSpAkuW+JAnRwRBnbpAQAA+oaHg6UlQmzZQpw4+FuPvyOcTFBREYGAgwGN7mSBExGEb4AUcjVEe\nC/Sz/NwfGP2U88SV2bJli7MlJAqj33m4snYRx+n/484fUn1udWEowlCk7eq2EhIaYvd2ntT/6JHI\nkCEiHh4iIJI3r8jKlZaD+/aJlC6tD4BI06Yif/9td00JwWI7rbbRDvsCUEotBqoCOZRSfwCDgdHA\nUqWUP5ZhoI5q32AwPBssPbaUDms7cPvRbXKkz8E3Db6hwSsNHN7url3Qpg0cP67L7dvDmDGQxf0e\n9BwMkyZBVBQ8/7z2DSVjX//TMLmADAZDsuTOozt0+bEL84/MB6Duy3X5psE35MmYx6HthoTAgAHw\n9df61b5wYZg1S7v1+eEHHQG+dAnc3HTAd9gwyJjRoZqsJbnHAAwGgyFetl3cRouVLbh45yLpUqVj\n/Nvj6fBaB4dn71y3Ttv3P/6AVKmgb18YNAjSBl+Bpt1hyRJdsXRp3SuULetQPY7G5AJyANFBGlfF\n6HcerqwdEq8/LDKMAZsHUDWwKhfvXKTsc2U52P4gHct1dKjxv34dPvoI3nkniD/+gNde08ncRgyP\nIu2C2XrA/5IlkD49fPkl/Pqryxt/MF8ABoMhmXDi+gl8V/py4O8DuCk3BlQewOCqg0ntntphbYro\niVw9esDNm3ro/qhR0LUrpPr9JPi0g23bdOXatWHaNLBltE0yxcQADAaDUxERpu6dSu+NvXkU8Qgv\nTy/mN5pP5YKVHdruhQs6sPvTT7pco4Yeuv9CvlCdy2HkSJ3XOVcuHfBt0gSS+QIyJgZgMBhchiv3\nrtD6+9b8+LueVtuqVCsm15lM5jSZHdZmZCR89RUMHAgPHkDWrPC//0HLlqC2b4N67eDkSV3Z31/n\neMj2n/mqzwQmBuAAUrof19m4sn5X1g4J07/q5CpKTCvBj7//SNa0WVn2wTICGwY61PgfPaoXaenR\nQxv/Jk3gxAlo9W4wqkN7gqpU0ca/cGHYsgVmz35mjT+YLwCDwZDE3Au7R/f13fnm4DcA1HyhJgHv\nBpAvcz6HtfnoEYwYoT07ERGQP78eul//HYHvvtNO/ytXdC7nAQP0ljatw/QkF0wMwGAwJBm7/9yN\n7wpfzt4+Sxr3NIypMYYuFbrgphznjNi+Hdq2/cer06mTDvRmDr4En3wCa9fqA5UqwcyZULSow7Q4\nGrvGAJRSX1lxjTsi8pm1DRoMhpRHeGQ4I7aN4ItfviBSIimVuxQLGi+geK7iDmvz7l3o318P3AGd\nl23WLKj8uiUI8NlnOqtb5szaz9+2rZ7clYKI724bAPuA/ZZ/n9z2A+87UqArkpL8uMkRV9bvytoh\ndv1nbp7hzYA3GbZ1GFESRZ83+rCnzR6HGv81a/SL/LRpekLXoEFw8CBUzngIKlbUQYD79+H993UQ\noH17cHNz+eefUOKLAUwUkblxVVBKZY3ruMFgSJmICLMPzKb7hu48CH9AgcwFmNtwLtUKVXNYm1ev\nanf+0qW6XKGCfusv8eIDGDwUJkzQw4Dy59e5Hho4PqdQcsbEAAwGg925fv86bda0YfWp1QA0K96M\nqfWm4pnW0yHticDcudCzJ9y+rSfsjhwJnTuD+6YNOr/D+fN6HH+XLvDFF5Apk0O0OBOHrAmslBqn\nlMqilPJQSm1WSt1QSrWwXabBYHhW+eHMD5SYVoLVp1aTJU0WFjZeyKL3FjnM+J87B2+/rRdmuX0b\natWCY8egW7NruLfy1TN4z5+HkiVh9249qesZNP62YG3E420RuQO8g07j/CLQx1GiXB1X9yMa/c7D\nlbU/CH/Au6Pepd6iely9f5Wqz1flSMcjfFTiI4e0FxGhV+QqXhw2bYLs2WH+fPjxB8FrS4DO37Nw\noR7OOWaMTu5Tvnyc13Tl528L1s4DiK73DvCdiNxRShkfjcFgAGDf5X34rvDl1KlTeLzowYi3RtDz\n9Z64u7k7pL3Dh3Wu/n37dPmjj2DiRMh5+zTU6KAncQHUrKkjwS++6BAdro5VMQCl1GigIfAIKA94\notf6reAQUSYGYDC4BJFRkYzZMYYhQUOIiIqgaM6iLGy8EO883g5p7+FDGD5cj9qMjIQCBWD6dKhb\nIwzGjdMHQ0MhRw6d36F582Sfv8eeJDQGYHUQWCmVHQgWkUilVAYgk4hcsVFnfG2ZDsBgSOacv32e\nFitbsOOPHQB0q9CNUdVHkc4jnUPa27pVD9U/c0bb9M6d9ezeTL/t0geOHdMVW7XSKZtz5HCIjuSM\nXYPASqn3lFKNlVKN0cs7vmv5uRbwRuKkPru4uh/R6HcerqBdRJh7aC6lppdixx87eC7jc2zw3cDE\n2hPZs2OP3du7c0cP0/fx0ca/aFHYsQMmD79Dpv6f6Bm8x45pN8+mTRAYaLPxd4Xnb0/iiwHUBwTI\nhTb4P1v2VwN2AiscJ81gMCQ3bj64SYd1Hfju+HcAvFfkPWa8M4Ps6bM7pL1Vq3Tqhr//Bg8PncGz\nf39I88NKeL8zXL6sZ3r16aNne6VzzNfHs4q1MYCNQEsR+dtSfg6YKyJvO0SUcQEZDMmOjWc34ve9\nH5dDLpMxdUam1JlCy1ItHbJS15Ur2sWzfLkuV6yoE3MWy/KnPvD99/rA45leJeyuwRVxyDwAoAAQ\n099/FSiYEGEGg8E1eRj+kO7ru/P2gre5HHKZSgUqcbjDYVp5t7K78ReBb77RIziXL9drrX/1FWzf\nGkmxLVO0/+f77/U4/ilTtC/IGH+bsbYD2ARsUEr5KaU+Bn4ANjpOlmvj6n5Eo995JDfth68cptys\nckzaM4lUbqn4otoXBPkF8ULWF2Ktnxj9v/8O1avr4Z3BwVCnjnbtd656FPcqlfQM3pAQaNgQjh/X\nmTzd7TvMNLk9f0dj7TyALkAjoAo6JjBDRFY6TJXBYHAqURLFhF0TGPjzQMIiwyicvTALGy/ktbyv\n2b2tiAidomfIEJ23P0cOmDwZmr77EPXFcD28MyIC8ubVb/2NGtldQ0rF5AIyGAz/4o87f9ByVUuC\nLgQB0PG1joyrOY4MqTPYva2DB/WqiwcP6nKLFrozyHF4sx76c/asHvPZsaNO7pMli901PEs4ZE1g\npdR7wGggNxB9cRERx63dZjAYkpzFRxfTcV1H7oTeIVeGXMxpMId6hevZvZ2HD2HoUJ3KITISnn9e\nL8heq+wN6NUL5s3TFYsV00He11+3uwaD9TGAsUADEcksIpksmzH+T8HV/YhGv/NwlvbgR8E0X9Gc\nj1Z8xJ3QO9QvXJ+jHY8m2Phbo3/LFh23HTsWoqKge3f47ahQ69p8vWrLvHmQJo2e5XXgQJIaf1f+\n27EFa2MAV0TkhEOVGAwGpxB0IYiWK1vyx90/SO+Rnom1JtKmTBu7j/C5fVsP1/9GLwVM8eJ6aGeF\nHGehcQc9iQugWjX9OfDyy3Zt3/BfrJ0HMAnIA6wCwiy7RUQcMhHMxAAMBscTGhHKoC2D+HLnlwhC\n+XzlWdBoAS9nt7/hXb5cD9+/cgVSp9Zztvr2CCf1lAnaF/ToEWTLpn1CrVqlqPw99sQhMQAgC/AQ\neHLil5kJbDC4IMeuHaP5iuYcvnoYN+XGoDcH8VmVz/Bw97BrO5cva8O/0jJmsFIl7dIvEvIrvNEW\njhzRB3x9dfQ3Z067tm+IBxFJ8g34FDgGHAUWAWmeOC6uzJYtW5wtIVEY/c7D0dojoyJl0u5JkmZ4\nGmEo8sKkF2TnpZ12u360/shIkRkzRDJnFgGRTJlEpk4ViQy+K9K1q4hS+kChQiIbNtit/cTiyn87\nIiIW22m1LbZ2RbACSqmVSqnrlm25Uiq/LR2OUsoLaAuUEZESgDvQ1JZrGQwG67kccpnaC2rTbX03\nQiND8S/tz6H2h3i9gH2DrKdPw1tv6VGcd+/CO+/oCV0d863GrXhRPcjfzQ369oXfftPLeRmcgrUx\ngE3AQmCBZVdzoLmI1Exwg0plA3YBFYEQYCUwSUQ2xagj1ugyGAzWsfz4ctqtbceth7fIni47s+rP\nolER+06oCg/XWZiHDdMp+XPl0mkcPqh0GdWt6z+JfV57TfuBvB2zZkBKxlG5gHKKSICIhFu2QHSG\n0AQjIreA8cAl4DJ6jYFNcZ9lMBhs4W7oXT7+/mPeX/Y+tx7eovZLtTna8ajdjf++fVCuHAwYoI2/\nnx8c/y2KD29NRxW1JPbJkEEv27V7tzH+yQRrg8A3LYvAL0JPBGsK3LClQaXUi0B3wAu4AyxTSjUX\nkYUx6/n5+eHl5QWAp6cn3t7e+Pj4AP+M1U2u5YkTJ7qUXqM/+ZRjjkNP7PU8XvCgxcoWnD94Hg93\nD/7X/n90KteJrVu3copTdtF7/z60bh3EsmUg4kOePEH06gWvZT9P9oazYedOggAqVsRnyRIoWDBZ\nPe8ny/Z8/kmlNzAwEOCxvUwQ1gQK0MZ6DXDdsn0PFExIsCHGtZoAs2OUWwBfP1HHnnGRJMfVA0lG\nv/Owh/awiDAZuHmguA1zE4YipaeXluPXjide3BNs3KhjuCDi5ibSq5fID6s2iAwaJOLhoQ/kySOy\nbJlIVJTd23cErvy3I5LwIHCS5wJSSpVCxxPKodcYDgR+FZGvY9SRpNZlMDwLnLpxCt+Vvuy7vA+F\nol+lfgyrNozU7qnt1satW9C7NwQE6HLJknpy12v3gnTk9/RpfaB9exg9Gjw97da2IW4cEgNQSs1T\nSnnGKGdVSs2xRaCIHAbmAfsAyyBgZtpyLYPBoBERpu2dRukZpdl3eR/PZ3meIL8gRtUYZTfjLwJL\nl+pc/QEBOlvDyJGw76dbvDbNX8/gPX1aV9i2Ta/Wbox/ssbaIHBJEQmOLojIbaCMrY2KyFgRKSYi\nJUSklYiE23qt5EhMP6IrYvQ7D1u0X713lfqL69Pph048jHhIi5ItONzhMFWer2I3XX/+Ce++C02a\nwLVrUKUKHD4kfOq1GI+SRWDOHEidmiA/P53as3Jlu7WdlLjy344tWBsEVkqpbKJH8EQP5bTvSgwG\ngyHBrD61mjar23D9wXU803oyvd50mhRvYrfrR0XptDz9+um1WDJn1un529S4gNsnHWH9el2xShVd\n8coV/WlgcAmsnQfQEhgILEWPAvoAGCEi8xwiysQADIY4uR92n54bejLzgPaeVi9UncCGgeTPbNP8\nzFg5eRLatoXt23X53Xfh60kR5PtuEgweDA8eaBfPl1/Cxx/ryV0Gp5LQGIDVQWClVDGgmqX4s4gc\nt0GftW2ZDsBgeAq//vUrvit8OXPrDKndUzO6+mi6VeyGm7KPAQ4L06mahw/XP+fOrRfies9rP6pd\n239Wb2naFP73P8iTxy7tGhKPoyaCAWQD7ovIFOC6UqpQgtWlEFzdj2j0O4+4tEdERfD51s9545s3\nOHPrDCVylWBf2330eL2H3Yz/r7/qibqDBmnj7+8PJ/be4/2dPVEVymvjX7AgrFsHixf/x/i78rMH\n19efUKxdEWwoUBZ4BQgAUqPTQlRymDKDwfCYs7fO4rvSl91/7gagZ8WejKg+grSp0trl+vfva6M/\naZL2+7/4IsycCW89+gEqd4RLl7SLp2dPneshY0a7tGtwLtbGAA4DpYH9IlLasu+IiJR0iCjjAjIY\nAD28M+BQAF1/7Mr98Pvky5SPuQ3nUv2F6nZrY8MG6NABLlwAd3e9IuOQ9ldIP6A7LFmiK5UurfP3\nlC1rt3YN9sdR6wGEikhU9ApBSin7rw5tMBj+xY0HN2i7pi2rTq4C4MNiHzKt3jSypctml+vfvAk9\nesD8+brs7Q3fzIqizKE5ULYPBAdD+vTw+efQrRukstZcGFwFax2Hy5RSMwBPpVQ7YDMw23GyXBtX\n9yMa/c4jWvv639dTYloJVp1cReY0mZnfaD7fvvetXYy/iHbfFymijX/atDBmDPw67yRlelXTQ3+C\ng6F2bZ3HuVcvq42/Kz97cH39CcWq36qIjFNKvY1O31wYGCQiGx2qzGBIgTyKeESXH7owZe8UAN4s\n+CbzGs3Dy9PLLte/dAk6ddIxXAAfH5g1JZSXlo+B10boyG+uXDoY0KSJWZrxGcfaGEAG4JGIRCql\nXkEHg3901AxeEwMwpEQO/H0A3xW+nLhxAg83Dz6v9jl93uiDu1vi51xGRcHUqfDpp3DvHmTJoofv\n+xfehmrfTg/6Bz3sZ+xYvT6vweVwyDwApdQBoDKQFdgB7AXCRKS5rULjac90AIYUQ2RUJON2jmPw\nlsGER4Xzao5XWdh4IWWesznbyr84fhzatIFdu3T5vfdgyhfB5PlfPz3UB6BwYT2T15Jy2OCaOGoe\ngBKRB0BjYKqIfAAUt0VgSsDV/YhGf9JxIfgC1eZW49PNnxIeFU7DNA3Z326/XYx/WJgesentrY3/\nc8/BiuWGFsyOAAAgAElEQVTCd02WkadaEW38PTz0+M/Dh+1i/F3p2ceGq+tPKFaH9ZVSr6OXgvS3\n7DLzvg0GGxERFhxZQOcfO3M39C55MuZhToM5pPsrHek90if6+rt26VjusWO63LYtjOtyiSwDPoG1\na/XOSpV0J1C0aKLbM7gm1rqAqgK9gB0iMsayqlc3EenqEFHGBWR4hrn18BYd13Vk6bGlADR8tSGz\n6s8iR/ocib52SAgMHKhTN4jAyy/DzGmR+Pw2RR+4f19ndBs7VvcKJn/PM4XDcgElJaYDMDyrbD63\nmVarWvFXyF9k8MjA5DqT+dj7Y5QdRtv8+KOe0HXpkp7Q1bcvDG5wiLRd2upFewHef1+P8MmbN9Ht\nGZIfdo0BWFJAxNdgvHVSGq7uRzT67c+jiEf02tCLGvNr8FfIX1TMX5HDHQ7TunTrfxl/W7Rfvw6+\nvlC3rjb+ZcrA/m0PGBnRl7SVX9PGP39++P57WLbMocY/OT77hODq+hNKfDGANkqpu+gU0E+jGTDU\nbooMhmeMo1eP0nxFc45eO4q7cmdI1SF8+uanpHJL3MxaEVi4ELp317N606XTk3Z7FPsJ9+Yd4Px5\nPY6/a1f44gvIlMlOd2R4VojTBWR5u4/PF3NPRMbbVZRxARmeAaIkiom7J/Lp5k8JiwzjpWwvsaDR\nAirkr5Doa1+8qN090euxVK8Os0dew2tyT90rgF6sd9YsKF8+0e0ZXAMTAzAYkgF/3v2TVqta8fP5\nnwFoV6Yd42uNJ2PqxGXRjIzUAd7oeG7WrDD+S8FPzUX17qVXbE+bVo//7NFDD/M0pBgcuR6AwUpc\n3Y9o9CeOpceWUmJaCX4+/zM50+fk+6bfM6P+DKuMf1zaf/tNj9zs3l0b/w8+gFNrz/Dxguqo1h9r\n41+zpq7Yt69TjL+zn31icXX9CcWk9zMY7MSdR3fo/GNnFhxZAEC9l+vxTYNvyJ0xd6KuGxoKI0bA\n6NEQHq5juNMmhdHg1Dh4a7iukCOHXp2reXOTv8dgNcYFZDDYgV8u/kKLlS24dOcS6VKlY0KtCbQv\n2z7Rwzt37NBpHKJT9XTsCGMb7SJjjxizvFq10ol9ciR+HoHBtXGIC0gp9YpSarNS6pilXFIp9Zmt\nIg2GZ4WwyDA+3fQpPoE+XLpzibLPleVg+4N0eK1Dooz/3bvwySdQubI2/q+8Ajt+uMNU9QkZa1XS\nxv/FF2HTJggMNMbfYBPWxgBmAQOAMEv5KHr4pyEWXN2PaPRbx4nrJ6g4uyKjd4xGKcXANweyy38X\nr+R4xeZrBgUFsXYtFCums3emSqUDvkeGreSNNkX1Tnd3ndbz6FE9/CcZYf52XAtrYwDpRWRP9BuN\niIhSyiGpoA2G5I6I8PXer+mzsQ+PIh5RyLMQ8xvNp1LBxC2Rfe2aHse/ZYsulysHc0f8SZGpXWCE\nXhWMChX00M4SJRJ5FwaD9bmAfgS6AMtEpLRS6n3AX0TqOESUiQEYkil/h/xN69WtWf+7HoDv5+3H\npNqTyJwms83XFIF58/R667du6VUYR3weSdfU03Eb+KlO8JMpE4wapQf/uyd+fQDDs4mj1gN4EZgJ\nvAHcBs4DzUXkgo0642vPdACGZMfKEytpu6YtNx/eJFu6bMx4ZwbvF30/Udc8fx7at4eNlvX1ataE\nOT2Okn9YW9izR+9s2BC++kqnczAY4sAhQWAROSsi1YEcwCsiUslRxv9ZwNX9iEb/vwkJDcH/e38a\nL23MzYc3qflCTY52PJoo4x8ZCRMmQPHi2vhnywYLZj3k0xzNyd+gjDb+efPCihWwcqXLGH/zt+Na\nWBUDUEplBVoCXkAqSyxAbE0HrZTyRC8qXwydaqK1iOy25VoGgyPZ9ccufFf6cu72OdK4p2FszbF0\nLt8ZN2X7HMojR/TQzr17dblZM/i68Way9m9P0Nmzehx/p04wcqReu9FgcBDWuoB2AbvQo3+i0Mnh\nRETm2tSoUnOBrSIyRymVCsggIndiHDcuIINTCY8M54tfvuCLbV8QJVGUyl2KhY0XUixXMZuv+egR\nDB+uU/FHROiX+tmjb1BrY2+Ya/mvVKyYDvK+/rqd7sSQknDYmsAiYpcFSpVSWYCDIvJCHHVMB2Bw\nGqdvnsZ3hS97L+9FoejzRh8+r/Y5aVKlsfmav/yi1185fdrygt9RGOe9kHQDesCNG5AmDQweDL17\nQ+rUdrwbQ0rCUbmAFiml2imlnlNKZYvebNRYCLiulApQSh1QSs1SSiV+DbxkhKv7EVOqfhFh5v6Z\nlJ5Rmr2X91IgcwF+bvUzY2qOsdn437mjZ+9WraqNf5EisPfbs0w5U4t07Vpo41+tmh7TP2AAQTt3\n2tROciGl/u24KtbOA3gEjAMGol1AoH33T32Lj6fNMkBnEdmrlJoI9AcGx6zk5+eHl5cXAJ6ennh7\ne+NjWbQ6+peUXMuHDh1KVnqM/vjPv/3wNgHBAaw5vQbOQ/UXqvNdx+/wTOtps547d3zo1AkuXw7C\n3R0G9a/EwHQT2O47iKDwcHyyZYPx4wl6/nn46y98Xn45WTw/U3adclBQEIGBgQCP7WVCsNYFdB4o\nJyI3EtzCf6+VB9glIoUs5cpAfxF5J0Yd4wIyJBnrTq+j9erWXLt/jSxpsjCt3jSalbB9ovuVK3oN\nlmXLdLlCBVjY7VdeHN1WR4BBJ22bMAFy5bLDHRgMmoS6gKz9AjgDPLRN0r8RkStKqT+UUoVF5DRQ\nAzhmj2sbDAnhfth9ev/Um+n7pwPg4+XD3IZzKZiloE3XE4GAAOjVC4KDIUMGGDc4hPZ/foZb8690\nhUKFYNo0qFXLnrdiMNiEtTGAB8AhpdRMpdRXlm1yItrtAixUSh0GSgIjE3GtZEf0J5qrkhL077u8\njzIzyzB9/3Q83DwYV3Mcm1tuttn4nz0LNWqAv782/rVrw7lJa+j4VVHcvpoMbm46R/9vv8Vp/FPC\ns0/OuLr+hGLtF8AqyxYTm300InIYKGfr+QaDrURGRTJmxxiGBA0hIiqCYjmLsbDxQkrlKWXT9SIi\ndBr+IUPg4UPInh1mDP2bxlu7otp8pyu99poe2untbcc7MRgSj1kPwJBi+Dvkb3xX+j5eprFbhW6M\nqj6KdB7pbLreoUP6jf/AAV32/SiKqd4zyTSivx7+kyGDXsmlc2eTv8eQJNh1HoBSapmIfKCUOhrL\nYRGRkraIjFeU6QAMdmb97+tpubIl1x9cJ2f6nMxrNI/aL9W26VoPH+qsnePG6ZQOBQvCgk+P8eb8\ndhA9jPOdd+Drr/VBgyGJsPc8gAmWf+vHsjWwSWEKwNX9iM+S/rDIMPr81Ic6C+tw/cF1qheqzuEO\nh202/kFBULKkXp4xKgp6dnrEmWaDebNraW38c+eGpUth9WqbjP+z9OxdEVfXn1DiiwFMBUqbxG8G\nV+Tc7XM0W96MX//6FXflzvBqw+lXuZ9NeXyCg6FPH5g9W5eLFYMlnbZSbFI7PcMLoF073TNkzWrH\nuzAYHEd8LqCDIlI6CfVEt2tcQIZEseS3JbRb2467oXcpmKUgi99bzBsF3rDpWitX6uUZ//4bPDzg\ni5636HWtL+4B3+gKRYrAzJl6/UaDwYnYOwZwDfgWnfztSWzOBhqvKNMBGGzkQfgDuq/vzqwDswBo\n9GojvmnwDVnTJfyt/PJl6NJFZ2QGeON1YUnjJeQf100v35U6tV6vsV8/ncvHYHAy9o4BPAT2W7Z9\nMbbofYZYcHU/oqvq/+3ab5SbVY5Zy2eRxj0NX9f9muUfLk+w8RfRozaLFtXGP2NGmDvsAtsz1yV/\nn2ba+FepAocP6wRudjT+rvrsozH6XYv4YgC3bE35bDAkFSLCrAOz6La+G48iHlEgSwHWtFlj09j+\nM2e0Kz/aDtSvE8G8spPwHDMYHjwAT0/48kv4+GM9uctgcGHicwHtFpGKSagnul3jAjJYRfCjYNqt\nacey4zrxzsfeH/NVna/IkDpDgq4THq5T8wwdqvP258wJ87vv5+3v2qIOHtSVmjSBiRMhTx4734XB\nYB8csh5AUmM6AIM17PlzD02XN+VC8AUyps7I9HrTaV6yeYKvs3+/XqHLkkSUts3uMclzCOlmTNRj\nPQsW1Pl76ta18x0YDPbFUesBGBKAq/sRk7v+KIli7I6xVA6ozIXgC5R5rgwH2x98bPyt1f/ggU7P\nU768Nv5eXrB/+A/M3FmcdNMsU2B69oRjx5LM+Cf3Zx8fRr9rYW0uIIMhWXD13lVarWrFhrMbAOhR\nsQejqo9K8IItP/+sff1nz2pX/qB2Vxl8qzupBn2rK5QurSPBZcva+xYMhmSD1S4gpZQ7kJsYnYaI\nXHKIKOMCMsTCpnObaLGyBVfuXSF7uuwENgzkncLvxH9iDG7e1BO6AgJ0uWTxKFY1mEOhqX30bK/0\n6XWeh27dIJV5PzK4Fo5aE7gLMAS4BkRG7xeREraItKI90wEYHhMeGc7QoKGM2j4KQaj6fFUWNl5I\nvsz5rL6GCCxaBD16wPXregj/pI4naXegPW7bftGVatfWvn4bVlYyGJIDjooBdAdeEZGiIlIierNN\n4rOPq/sRk5P+i8EX8Znrw8jtI1FKMcxnGJtbbo7T+D+p/+xZbdt9fbXxr/FmKH+1/5wO00pp458r\nFyxeDD/84HTjn5yevS0Y/a6Ftd+4l4C7jhRiMDzJihMr8F/tT/CjYPJlysei9xZR5fkqVp//5NDO\nrFlhof/P1F77Ceqrk7qSvz+MHQvZsjnmJgyGZIy1LqA5QGFgHRBm2S0iMuHpZyVClHEBpWgeRTyi\n14ZeTN03FYD6hesT8G4A2dNnt/oae/boIG/0EryfNP6bL+lN2hWL9I7ChWHGDLAstG0wPAs4ak3g\nS5YttWVTJGJFMIPhaZy4foKmy5ty5OqRx0s1dq3QFaWs+5u+excGDICpU7Xf/yWvCNbUmcqrCwfp\ng2nTwmefQe/eJn+PwSAiVm9AJiBTQs6xZdOyXJctW7Y4W0KicIb+qKgomXNgjqQfkV4Yirw0+SXZ\n99e+BF1jxQqRfPlEYIu4u4tM8d0lkSW9RXRfIFKvnsi5cw66A/tg/naci6vrt9hOq22tVV8ASqkS\nwDwgu6V8HWglIr85pFcypCjuht6l47qOLDqq3TPNSzRnWr1pZEqTyarz//xTZ+1cZVm1usxLd/ip\nZDuyL9AZQSlYECZPhgYNwMovCYMhJWBtDGAXMEBEtljKPsBIEbEtwXr87Yk1ugyuz77L+2j6XVPO\n3j5Leo/0TK07lZalWlrl8omM1K6egQMhJAQyZ4xiRYNA3trQF3Xzpk7e37u3rpAhYbmBDAZXxFEx\ngPTRxh9ARIKUUuZ/lMFmRIRJeybRd2NfwqPCKZW7FEveX8IrOV6x6vzDh3WQ99dfdbnHW4cZdbcT\naRZZ1uStVk2vyVukiIPuwGBwfaydB3BeKTVIKeWllCqklPoMOOdIYa6Mq48ldrT+Gw9u0ODbBvTY\n0IPwqHA6l+vM7ja7rTL+Dx7o9VfKltXG/5Xn7nKmfg8mbC1Lmn07IU8eggYOhM2bXdL4m78d5+Lq\n+hOKtR1AayAXsAJYDuS07DMYEsTWC1spNb0Ua0+vJWvarKxsspKv6n5F2lRp4z13wwYoXlwP24+K\nFObUWsJxeZWX1kzUYd6uXeHkSahRw/j6DQYrMOmgDUlCRFQEX/zyBcN/GU6URFGpQCUWvbeIglkK\nxnvutWs6hcMiyxD++q+cZn7mT8iyd5PeUaGCTuFQOsmXrzYYkhV2jQEopSaJSDel1JpYDouINEiw\nQkOK48+7f9J8RXN+ufgLCsVnb37GEJ8hpHKLOwQlAnPm6ORtt29DtrQPWPPGKF7fPhYVFqan9o4Z\no2fzmtW5DIaEE9cYUaCs5V+fWLaqCRlvmpANMw/AqdhT/+qTqyXbmGzCUCTPl3lk87nNVp138qRI\n1ar/DOEfVHqNhOX3+mdH69Yi1645XH9S48raRYx+Z4M95wGISPTC794iMjHmMaVUd2CrnfohwzNG\naEQo/Tb1Y9KeSQDUfqk2cxvOJVeGXHGfFwqjR8PIkRAWBqWzXWR1oW7k3/+9rlCypHb3vOGQEcgG\nQ4rC2nkAB0Wk9BP7DomIt80N6/UF9gF/ikj9J46JNboMyZMzN8/Q5LsmHLxykFRuqRhVfRQ9X++J\nm4rbTfPLL9C+vY7jehDG4tcm0PjY56iHDyFjRhg+HDp3Nnn6DYanYO8YQDPgI6DQE3GATMBN2yQ+\nphtw3HItwzPCgiML6LiuI/fC7lHIsxDfvv8t5fOVj/Oc27f10oyzZ+tyywJbmKo6kWGfJWNnkyYw\nfjzksz7/v8FgiJ/4Imc7gfHASeBLy8/jgV5ALVsbVUrlB+oCs9GJ5Z4pXH0ssS3674Xdw2+VHy1W\ntuBe2D0+LPYhB9sfjNP4i8C338Krr2rjX8DjCodL+DL3j7fIcOmkzti5caOulADj78rP35W1g9Hv\nasQXA7gIXAQq2rnd/wF9gMx2vq7BCRy6cogm3zXh9M3TpEuVjsl1JuNf2j/OdA7nz0OnTrB+PbgT\nwf9emEaXa5/hftRk7DQYkgprk8GFxCimBjyAeyKSYAOulHoHuCYiBy05hWLFz88PL8vqTJ6ennh7\ne+Njyd0e3Usn13L0vuSix1H6q1atytS9U+kxowfhkeEUK1+MJe8v4frx62zdujXW8yMioHPnIAIC\nICzMh+oZ99AlvS9Zzv2OO0C9egQ1bw7PPYePxfinpOfv4+OTrPQY/clL35PloKAgAgMDAR7by4SQ\n4IlgSik3oAFQUUT6J7hBpUYCLYAIIC36K2C5iLSMUccEgZM5tx7ewn+1P6tO6hSc7cu2Z0KtCaT3\nSP/Uc/bu1fl7Dh2CbNxk6YsDeOvcLJSIydhpMNgBR60J/BgRiRKRVUDthJ5rOX+AiBQQkUJAU+Dn\nmMb/WSC6h3ZV4tO/49IOvKd7s+rkKjKnyczS95cy/Z3pTzX+ISHQrRtUrAiHD0XRO3sAf2d+lepn\nZ6JSpYL+/eH4cXj3XbsYf1d+/q6sHYx+V8NaF9B7MYpuQFngoZ00mFd9FyEyKpLR20czJGgIkRJJ\nhXwVWPzeYgplLfTUc1avhk8+0Tn7vd2OsDJvR7wum4ydBkNywNp5AIH8Y6gjgAvALBG55hBRxgWU\n7Pg75G98V/ry8/mfAehXqR/Dqw3Hw90j1vp//aVzs61YARkJYXruIXx0YzIqMhJy59artTdrZtw9\nBoMdSagLyCSDM8TLj2d+pNWqVlx/cJ1cGXIxr+E8ar0U+yjgyEiYPh0+/RRCQoQWaZYxNW0PMt65\nrPP1fPKJntCVJUsS34XB8OzjkBiAUmquUsozRjmrUmqOLQJTAq7uR4zWHxYZRp+f+lB3UV2uP7hO\njRdqcLjD4aca/6NHoXJlPVk3T8hpDuSsxbzQJtr4ly+vo8CTJzvc+Lvy83dl7WD0uxrWBoFLiUhw\ndEFEbgNlHCPJkBw4d/scledU5stdX+Ku3Bn51kg2+G4gT8Y8/6n78CEMGABlysCh3Q/5X8ZBnEhV\ngtLXN+qMnTNnwq5duoLBYEg2WBsDOAxUE5FblnI2YKuIlHCIKOMCcipLfltCu7XtuBt6l4JZCrL4\nvcW8USD25GubNkGHDnD2LNRjHYGZu5Dj7nl9sHVrndktZ84kVG9ILlizrrPBdmKzkY5aE3g8sEsp\ntRSduuEDYIS1jRhcgwfhD+j2YzdmH9RJeRoXaczs+rPJmi7rf+pevw49e8KCBVCQi2zK1J3qIavg\nLlCihM7YWalSEt+BIblhXuQcg706V6tcQCIyD2gMXAWuAI0s+wyx4Ip+xN+u/Ua5WeWYfXA2Hpc8\nmFp3Kt998N1/jL8IBAbq/D1LFoQxMNUYzngU1cY/Y0Y9uufAAacaf1d8/tG4snZwff0pjYTk1c0G\n3BeRAKVUTqVUIRE57yhhhqRBRJh1YBbd1nfjUcQjXs3xKr1L9Ma/nP9/6p4+rd09W7aAD1sIzPAJ\nz98/oQ+ajJ0Gg8thbQxgKHry1ysiUlgplQ9YKiIOec0zMYCkIfhRMO3WtGPZ8WUAtPZuzeQ6k8mQ\nOsO/6oWF6YXYv/gCPEOv8FWa3nwQulAffPllPZmrZs2klm9I5lj80c6W8UzytGfrqBhAI6A0sB9A\nRP5SSpk8/i7Mnj/30HR5Uy4EXyBj6ozMeGcGH5X46D/1tm+3LNJyPJKOTGOsx0DSh1oydg4cqBfs\nNRk7DQaXxNphoKEiEhVdUEpliKtySic5+0GjJIqxO8ZSOaAyF4IvUPa5shxsf/Bfxj8oKIjgYG34\n33wTMh7fw5E05ZhCF9KH34V69eDYMZ2yORka/+T8/OPDlbWDa+n/9NNPmTRpUpK1FxQURIECBayq\nu2bNGpo2bepgRdZ3AMuUUjMAT6VUO2AzejEXgwtx9d5V6iysQ79N/YiIiqBHxR7s9N/JS9leelxH\nRPv4ixSBZTNvMdOtPbt4nWKhB3XGzlWrYM0aeOEFJ96JwZA4rl+/zvz58+nQoQOgjXO1atWsOjcw\nMJCPP/7YqrpDhw5l2LBhVtX18/Nj7ty5ANSvX59jx45x9OhRq861FWtHAY0Dllu2wsAgEZnsSGGu\nTMy89MmFTec2UWp6KX46+xPZ02VnbbO1TKg1gdTuqR/XuXgR3nkHhn9ehdpXAjib6hXaRs3ELZW7\n3TN2OpLk+PytxZW1g+voDwwMpF69eqRx8BdsQoZrPlm3WbNmzJw5096S/oW1qSD8ReQnEektIr2B\nLUqpIQ5VZrAL4ZHhDNg8gLfnv83V+1ep+nxVDnc4TL3C9R7XiYjQozeLFoU/fjjCDvcqBNCarBE3\nwMcHDh+GUaMgg/H8GZ4N1q9fT9WqVR+XlVL/MsBubm7MmDGDwoULkzVrVjp37vzUuvHxZN1Ro0aR\nM2dOChUqxKJFi55a18fHh3Xr1lndjk2ISLwbsBj4AcgLFAf2AuOtOdeWTctyXbZs2eJsCSIicuH2\nBXl99uvCUMRtmJsMCxomEZER/6qzb59ImTIiGbkrX9JTIpS7bAGR3LlFFiwQiYpyknrbSS7P3xZc\nWbvIv/XH9f9YOxvts9lCzpw5Zd++fU89rpSS+vXry507d+TSpUuSM2dOWb9+vW2NWdiyZYukSpVK\nevXqJWFhYbJ161bJkCGDnDp1Ktb6N2/eFKWUhISE/OfY056tZb/VttZaF1AzYB5wBFgH9BCRXvbu\njAz2Y8WJFXjP8GbXn7vIlykfW1ptYXDVwbi7uQNw7x706AHlywkvHljKGfdX6cUE3JVAo0Zw8iQ0\nb57s3T0Ggy0EBweTKVPcAxn79+9P5syZKVCgANWqVePQoUN2aXv48OF4eHhQpUoV6tWrx9KlS2Ot\nF60vODg41uP2wNoFYQoDXYEVQBHAVyl1UETuO0yZC+NMP+jD8If0+qkX0/ZNA6B+4foEvBtA9vTZ\nH9dZu1ZnZU5z6TTr6UxNNkIkOmPntGn4uHjSNlfxQ8eGK2sH6/U7e3pA1qxZCQkJibNOnjz/JD5M\nnz499+7ds0u76dKle1x+/vnnuXz5cqx1o/V5enrGetweWDsKaDUwWETaAVWBM2g3kCEZceL6CSp+\nU5Fp+6aR2j01k2pP4vum3z82/n//DR9+CB/Uf4j/pcH8pkpo4581K8yYYTJ2GlIMJUuW5NSpU0ne\n7u3bt3nw4MHj8sWLF8n3lNnzJ06cwMvLi4wZMzpMj7UdQAUR2QSP1wQeDzR0mCoXJ6nHQosIAQcD\neG3Waxy5eoSXs73MLv9ddK3QFaUUUVF6kZYiReDesh84rooxmOGkljD4+GM4dUqv1u7m5hT99saV\n9buydnAd/XXr1mXr1q1W15c4Plm8vLyYN8/61GhDhgwhPDycbdu2sW7dOj744INY623dupW6deta\nfV1biNMFpJTqKyJjReSOUuoDEVkW47AfMMCh6gzxcjf0Lh3XdWTRUT2awLekL1PrTiVTGu0/PHZM\n2/Y/dl4igG40YpVe3NNk7DSkYFq2bIm3tzePHj0ibdq0/zn+5Midp438CQsL49atW1SsWDHeNpVS\nPPfcc2TNmpW8efOSIUOGxyONYuPbb79l4cKFVt6RjcQVIQYOxvZzbGV7brj4KKCkYvvF7eI10UsY\niqQfkV4CDwY+PvbwocjAgSLpU4VKX0bLfZVeBCQqY0aRCRNEwsKcqNyQEkju/48HDBggEydOTNQ1\ntm/fLh999JGdFP3D6tWrpUmTJk89/rRnSwJHAcWZDM4S6C395M+xle2JSQYXN+GR4Qz/ZTgjto0g\nSqIo81wZFjVexCs5XgHg5591God8vwcxlU4UxZKx88MP9YB/k7HTkASYZHCOw17J4KyNARgSgCP9\noL/f+p3KAZUZ/stwRIT+lfqzy38Xr+R4hRs3wM8PPqp+hcG/tyCIatr4v/wybNgAS5ZYZfxdxY/7\nNFxZvytrB9fXn9KIbxhoSaVU9FipdDF+BkgX2wkGxyAizDk4h27ru3E//D4FMhdgXqN5+Hj5IALz\n50Ov7pF8eGsaJ/kMT+4gadOiTMZOg8HwFKxaDyCpMS6gf3PzwU3arW3HihMrAGhSrAnT6k0ja7qs\n/P47dOwIdzb9yjQ6UpYD+qS6deGrr0zSNoPTMC4gx2FcQCmETec2UXJ6SVacWEGm1JmY13Aei99b\nTAb3rIwYAW8Wu8V7mzqwm4qU5QBSoACsXKlnexnjbzAY4sB0AA7AHn7Q0IhQem3oRc35NbkccplK\nBSpxuMNhWpRqwY4dijLeUZz/bDZHwwrTgRmoVO7Qrx/qxAlo2DBRKRxc3Y/ryvpdWTu4vv6URkLW\nBDYkEceuHeOjFR9x5OoR3JU7Q32G0r9yf0LupKJ9e9g/cx/f8AkV+FWfUK0aasoUnc7TYDAYrMTE\nAJIRIsKUX6fQZ2MfQiNDeTHriyxsvJDy+SqwZAkM63qTbtcH0o6ZuCHIc3lRE8brBdlN0jZDMsPE\nADMhclcAABH1SURBVByHy8YAlFIFlFJblFLHlFK/KaW6JrWG5MiVe1eou6guXdd3JTQyFP/S/hzq\ncIhc4RWoWzuKzc1mse36K/+4e/r0QZ06CU2bGuNvMNhAXEtCurm5ce7cuSRW9A9JtSSkQ2byxrUB\neQBvy88ZgVNAkSfqPHUGnCuQ0Jzu35/8XnKMzSEMRbKNySbLjy+XsDCR0aNFKqf5VfZQ7nHy86i3\n3hI5dswxwi08SznpXQ1X1i5i/XoAzubatWuSL18+efTokYho3T4+Po+PK6Xk7NmzsZ4bEBAgfn5+\nVrUzZMgQGTp0qFV1W7VqJYGB/8zmL168uBw5ciTWuk97tjhiPQA7dzhXROSQ5ed7wAn0QjMpjvth\n9+mwtgPvfvsuNx7coMYLNTjS4Qh57zTmrVI38ezfnq2hFSjPXiLz5IVvv0Vt2mR8/QZDIjFLQmqc\nOgpIKeUFlAb2OFOHvbEmJ/r+y/spM7MMM/bPILV7asa/PZ6l9Tcwsm8eAl6fyaoThWnPTHDX7h73\n0yeTzNefUnLSJ0dcWTu4jv74loQEWLduHS+++CI5c+akb9++j33uti4JGRQURP78+ZkwYQK5c+cm\nb968BAYGxloXkmZJSKcFgZVSGYEg4AsRWfXEMXGWLkcTGRXJuJ3jGLRlEBFRERTLWYwFjRby+45S\nfNNhL5/f7EQ59um6Pm/hPnWKzuNsMLgYcQWB1TD7vcjIkITbily5cvHjjz9StmzZWI+7ublRrVo1\nli9fTkhICDVq1KBv3774+/vbrDMoKIiaNWsycOBABg0axE8//cT777/P5cuXyZIly3/q37p1ixw5\ncnD37t3/rAlgryCwU4aBKqU8gOXAgieNfzR+fn54eXkBekUcb2/vx28X0WONk2t54sSJsep9ofQL\ntFjZgl+CfgGgS5MufFJ4DJ3q/4T3/oGs4wfcEDZ55iBV1074DB0KSiUb/a5SdmX9McfRJwc9idGf\nnLFmSch+/frh6emJp6cn3bt3Z/HixYnqAAA8PDwYPHgwbm5u1KlTh4wZM3Lq1CnKly//n7oxl4R8\n2qIwQUFBj78iou1lgkhIwMAeG6DQ6wv/L446cYRKkj+xBfIWHVkkWUZlEYYiucfllrUnf5TxYyOk\ns8d0uUE2EZAIt1QS1aevSCyLQCclz1Ig0tVwZe0irhMEzpXr/+3dfXRU9Z3H8fcXiBIiLoFSQRMM\n1A0PHpRIi9T4AKgcFCLn2KVUViJwjkdWqbSLLgI+YNGlD+yBgkelUoViNIcqtAQtykNwoesKKEh4\nCA9dCFioUDZmUzGA5rt/3BscpjMwk2Tmzo/5vs6Zk5l7b+793DnJ/c387r2/7zfPWxR+586dZ16v\nWLFCe/bs2aRtlpeXa05OzlnT8vLydM2aNRGXT5mi8M2sELgXGCgiW/zHkAByJExoP2hNXQ2jl41m\n1NJR1Jys4a7ud/Gb/hW8XtSem/6tP/NOj6cD/8vJG2+l5fZtyM9/BgksARcLV/pxo3E5v8vZwZ38\nsZSEPHjw4FnPo5VuTJRUKgnZbFR1g6q2UNU+qlrgP1YmO0cybDi4gWtfvJZXt71KZqtM5tz2Ir3W\nLqDqpmn8Zm9/vsNmvuhwBSxZwsX/ucr6+o1JklhKQs6aNYvPPvuMQ4cOMXfuXEaOHBlxuXhLQsYq\nGSUhbSygBFi9ZjVPrH2CWxbeQlVNFX0792VW180cGaY88lIP7ucltEVLTv3rZDIPVMKIESl1M5cr\n/bjRuJzf5ezgTv7i4mLefvtt6urqoi4zfPhw+vbtS0FBAcOGDWPcuHF/t0w8JSEhvstCS0tLeeCB\nB2JevjFsLKBmtvf4Xn648odUXlKJIDx0zRQyf3kn/d4r5kE+BKD2+ttou3AeLXv0CDitMempQ4cO\nFBcXM3/+fCZOnPh38+vr6wGYMGHCOdezadMmioqKotb1DTVgwICzupUA9u/fH3HZsrIyevXqRe/e\nvc+73qawsYCaiUYo2DKqdh49ZqxgzJcLAKhtl0Ob+bNpOeJ7KfWJ35hEsLGAEsfpy0AvNMdPHOf+\nsvtZVrkMgDs6f5/Cn17Pv+wfS3uqOS0ZfPHgJC796bTAT/AaY0wDOwfQRKv+tIreL/RmWeUyLr3o\nUib+6SmGP7CFafsn0Z5qjva5nYxdFVz63ExnDv6u9ONG43J+l7OD+/nTjX0DaKS6L+uYumYqs/97\nNgA3aD8e+nkeoz57mnVA9SU5tH5+Nt+817p7jDGpyc4BNML2o9sZ9eYoKo5WkKEteGLtUB5av+FM\nd89f75tE5+ceh6ysoKMaExg7B5A4zXUOwBqAONRrPfM+mMfk1ZM5+dVJhhzO4d8XZVFw0ruhpCr/\ndq5YOo9WV3cPOKkxwbMGIHGcLQjjqiO1R7iz5E5+9M6PaPt/J3n1tXz+8KtPKDi5m2Otczn2whtc\nWfkOra7u7nw/qOUPjsvZwf386cbOAcRAVRlSMoTtR7bx8OY2TF8pZNfv4RQZ7L/7EfIXTUMuse4e\nY4xbrAsoRgt/Modr5z5JwfFaAHblDiZn6Vzaftu6e4yJJNW7gKZMmUKnTp0i3gjWokUL9u3bR7du\n3Zpte+vWrWP06NEcOnTovMuWlZVRUlJCaWlpxPnWBZREWq/0+8XrFByv5UhGLntmvknPqpV28DfG\nUceOHWPx4sWMHz8e8A7OAwcOjOl3Fy5cyNixY2Nadvr06Tz99NMxLTtmzBgWLVoEQFFRETt27KCi\noiKm320sawBiIC2E1i/N4/2BU/nG0V3kP3b3OS/tdL0f1PIHx+Xs4E5+KwnpsQYgRt1+0I/vrn2W\njHbW12+M64IoCdlg5syZdOzYka5du/Laa69FXTYZJSGTXhAmlgcpXEjCGBObc/4fQ/M9GqFjx47n\nLQgzaNAgra6u1oMHD2p+fr4uWLCgUdtqUF5erq1atdJJkybpqVOn9L333tOsrCzdvXt3xOUv1IIw\nxhgTqHhKQubm5p4pCdkcZsyYQUZGBjfffDNDhw5lyZIlEZcLLQmZKNYAJIAr/aDRWP7guJwd4sjf\nnN8BGiE7O5va2tpzLpObm3vmeZcuXTh8+HCjthW+3czMzDOvr7zyyqjrbcjXrl27Jm83GmsAjDFp\nJ6iSkNXV1Zw4ceLM66qqqqjrvSBLQqYDV+qiRmP5g+NydnAnf5AlIZ966ilOnz7N+vXreeuttxgx\nYkTE5ZJREtLuBDbGpJ3i4mL69OlDXV0drVu3jrhMQ0nImpoaxo4d2+SSkCJC586dyc7O5vLLLycr\nK4v58+dHrSZWWlpKSUlJfDsWr3jOGCfrgeNXAZWXlwcdoUksf3Bczq56dv5U/z+eOnWqzpkzp0nr\n2LBhg44aNaqZEn1t+fLlOnLkyKjzo723xHkVkH0DMMakpWeffbbJ6ygsLKSwsLAZ0pytqKiIoqKi\nZl9vOBsLyBiTEKk+FpDLbCwgY4wxTWINQAKkzbXcKcrl/C5nB/fzpxtrAIwxJk3ZOQBjTELYOYDE\naa5zAHYVkDEmYeIZNdMkXyBdQCIyREQqRWSviEwOIkMiud4PavmD43J2ODt/PNejp8qjvLw88Ayx\nPppD0hsAEWkJPAcMAXoB94hIz2TnSKStW7cGHaFJLH9wXM4Olt81QXwD6AfsU9UDqnoaKAWGB5Aj\nYRI5fGsyWP7guJwdLL9rgmgArgBCqyJ/4k8zxhiTREE0ABf8ZQEHDhwIOkKTWP7guJwdLL9rkn4Z\nqIj0B6ar6hD/9RSgXlV/FrLMBd9IGGNMIsRzGWgQDUArYDdwK3AY2Ajco6q7khrEGGPSXNLvA1DV\nL0VkAvAO0BL4tR38jTEm+VLyTmBjjDGJl3JjAbl0k5iIvCwin4pIRci09iKySkT2iMi7IpK4is5N\nJCK5IlIuIjtEZLuIPOxPd2IfRKS1iHwgIltFZKeIzPSnO5G/gYi0FJEtIlLmv3Ymv4gcEJFtfv6N\n/jQn8otIOxF5Q0R2+X8/1zuUvbv/njc8akTk4Xjzp1QD4OBNYq/gZQ31GLBKVfOBNf7rVHUa+LGq\nXg30Bx7y328n9kFV64CBqtoHuAYYKCI34kj+EBOBnXx9hZxL+RUYoKoFqtrPn+ZK/l8Cb6tqT7y/\nn0ocya6qu/33vADoC5wAlhFv/qBvZw67tfm7wMqQ148BjwWd6zyZ84CKkNeVwGX+805AZdAZ49iX\n3wG3ubgPQBtgE3C1S/mBHGA1MBAoc+1vCNgPdAiblvL5gX8A/ifC9JTPHiHzYGB9Y/Kn1DcALoyb\nxC5T1U/9558ClwUZJlYikgcUAB/g0D6ISAsR2YqXs1xVd+BQfmA28ChQHzLNpfwKrBaRzSJyvz/N\nhfxdgWMi8oqIfCQiL4lIFm5kD/cD4HX/eVz5U60BuKDOSKvXDKf8PonIJcCbwERVrQ2dl+r7oKr1\n6nUB5QA3i8jAsPkpm19EhgFHVXULEPHa7VTO7ytUrxviDrwuxJtCZ6Zw/lbAdcDzqnod8Dlh3SUp\nnP0MEbkIKAJ+Gz4vlvyp1gD8GcgNeZ2L9y3AJZ+KSCcAEekMHA04zzmJSAbewX+xqv7On+zUPgCo\nag3wFl5/qCv5bwDuEpH9eJ/gBonIYtzJj6oe8X8ew+uD7ocb+T8BPlHVTf7rN/AahL84kD3UHcCH\n/vsPcb73qdYAbAb+UUTy/JZtJLA84EzxWg7c5z+/D69fPSWJN1j7r4GdqjonZJYT+yAi32i4ykFE\nMoHbgS04kl9Vp6pqrqp2xfsav1ZVR+NIfhFpIyJt/edZeH3RFTiQX1X/AhwSkXx/0m3ADqCMFM8e\n5h6+7v6BeN/7oE9gRDihcQfencL7gClB5zlP1tfx7mY+hXfuYizQHu+k3h7gXaBd0DnPkf9GvL7n\nrXgHzi14VzU5sQ9Ab+AjP/824FF/uhP5w/blFmC5S/nx+tG3+o/tDf+vDuW/Fu/CgY+BpXgnhp3I\n7ufPAv4KtA2ZFld+uxHMGGPSVKp1ARljjEkSawCMMSZNWQNgjDFpyhoAY4xJU9YAGGNMmrIGwBhj\n0pQ1ACblichX/pC3FSKyxL/pK9bfHSMi86LM+1vzpTyzzjYiUuIPkVwhIutFpI0/74/NsP51IrIp\n5PW3RaS8qes16ckaAOOCE+oNfdsb76a78aEzxSszGs25bnRJxE0wE4EjqnqNn3cc8CWAqhY20zY6\nikj4MOTGxM0aAOOa9cBVInKL/+n698B2EbnYH9lxmz+644CQ32kofLNHRJ6MtFIReVRENorIxyIy\n3Z+WJ15xoldEZLf/yX6wiPzRX9d3IqyqE97d4QCo6l5VPeWv72/+z5+EFPL4s4i87E+/V7wCN1tE\n5EURifT/qcAsYFq8b5wx4awBMM7wP+nfiTfsA3jDVz+sqj2ACcBXqnoN3vgoi0TkYrxRNvsBd+MV\n/RghIteFrXcwcJV6BU0KgL4ho1p+C++A2wPoDoz0P8k/AkyNEPNlYLKI/JeIzBCRq0LmKYCqPqne\nCJoDgOPAPL8Qz/eBG/x59cA/R3kr3gdO+Y2c3cpvGs0aAOOCTBHZgjduywG8g6wAG1W1yl+mEHgV\nvGpJQBWQj3eAfFdVq9WrILYUuOns1TMYGOxv40O8A33DgXu/qu5Qb8yUHXjjrIA39k1eeFBV/Rjo\nBvwCb1yWTSLSPXw5fyC+EuA/1BsO+la8kUw3+zkG4Y21E80zwOPnmG/MeZ2r79SYVPGF/6n4DO/4\nyedhy0UcUz/CMvURps9U1V+FbSMPOBkyqR7vHETD84j/P6r6Od7QyMtEpB4YijfAYajpwEFVXRQy\nbZGqRvpWEWETWi4iz+CV8jSmUewbgLlQrMfvMvGH+O2CVx5PgNtFJNu/emg4EH41zjvAOH9IY0Tk\nChHp2JgQInKDiGT7zy/Cq219IGyZIrxP/BNDJq8B/qlhu+IV9+5yns09A0zGuoFMI9k3AOOCSAe4\n8GpHzwMviMg2vKtu7lPV0yKiwEa8ojc5eIVvPgpdr6qu8vvg3/e/WdQC90bYRniWSLm+5ecQvA9Y\nK1R1adjyPwYuBzb62/u9qk4XkceBd/2Tv6eBB4GDUd4TVPUPIpLqBUtMCrPhoI0xJk1ZF5AxxqQp\nawCMMSZNWQNgjDFpyhoAY4xJU9YAGGNMmrIGwBhj0pQ1AMYYk6asATDGmDT1/zQYHQzCTtNBAAAA\nAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# create a dictionary of lists\n",
"from collections import defaultdict\n",
"performance_data = defaultdict(list) \n",
" \n",
"for scheme in distributions:\n",
" for N in sizes:\n",
" d_array = 1000 * synthetic_data_generator(context, datashape=(N,N), distscheme=scheme)\n",
" _time = %timeit -o execute_ge(context, d_array)\n",
" performance_data[scheme].append(_time.best)\n",
" plt.plot(sizes, performance_data[scheme], label=str(scheme), linewidth=2)\n",
"\n",
"plt.legend(loc=4)\n",
"plt.xlabel('Problem Size N')\n",
"plt.ylabel('Execution Time [seconds]')\n",
"plt.title('Gaussian Elimination N vs t')\n",
"plt.grid(True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that we observe similar performance from all three distributions with a *block-block* map marginally most efficient. \n",
"***"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Application: LU Decomposition\n",
"\n",
"In this section we will demonstrate how we can, with minimal modification, use the GE approach to perform LU decomposition of a matrix.\n",
"\n",
"Mathematically, LU-factorization follows naturally from GE operations on any given matrix (with the exception of systems that require partial pivoting - these need some special treatement and in this example we don't concern ourselves with these issues of numerical stability of GE). LU-factorization involves expressing a given matrix as a product of two matrices - one of which is lower triangular ($ \\mathbf{L} $), and the other upper triangular ($ \\mathbf{U} $):\n",
"\n",
"$$ \\mathbf{A} = \\mathbf{L} \\mathbf{U} $$\n",
"\n",
"Once we have this factorization, we can make use of it to solve $\\mathbf{A}x=b$:\n",
"\n",
"$$ \\mathbf{A}x = \\mathbf{L}\\mathbf{U}x = b $$\n",
"\n",
"Which is equivalent to:\n",
"\n",
"$$ \\mathbf{U}x = \\mathbf{L}^{-1}b =:c $$\n",
"\n",
"Since the cost of matrix inversion is prohibitively high, we find $c = \\mathbf{L}^{-1} b$ through *forward substitution*:\n",
"\n",
"$$ \\mathbf{L}c = b $$\n",
"\n",
"This is easy to do as $\\mathbf{L}$ is lower triangular. The final step then becomes to perform backward substitution:\n",
"\n",
"$$ \\mathbf{U}x=c $$\n",
"\n",
"The procedure demonstrated in the preceeding section gives us a method of finding $\\mathbf{U}$, and now we are tasked with computing $\\mathbf{L}$. If the series of elementary row operations that the GE process entails are expressed as a series of matrix transformations on $\\mathbf{A}$ we end up with a series of trivially invertible matrices, which when multiplied give us $\\mathbf{L}$:\n",
"\n",
"$$ \\mathbf{E}_{n} \\mathbf{E}_{n-1} ... \\mathbf{E}_{2} \\mathbf{E}_{1} \\mathbf{A} = \\mathbf{U} $$\n",
"$$ \\implies \\mathbf{A} = \\mathbf{E}_{1}^{-1} \\mathbf{E}_{2}^{-1} ... \\mathbf{E}_{n-1}^{-1} \\mathbf{E}_{n}^{-1} \\mathbf{U}$$\n",
"$$ \\implies \\mathbf{E}_{1}^{-1} \\mathbf{E}_{2}^{-1} ... \\mathbf{E}_{n-1}^{-1} \\mathbf{E}_{n}^{-1} =: \\mathbf{L}$$\n",
"\n",
"It turns out that $\\mathbf{L}$ is basically composed of the **negatives** of the off-diagonal elements in the matrix transformations. \n",
"\n",
"We now have enough information to write a routine to perform LU-decomposition. Our approach will be to perform the GE in-place on a copy of the objective matrix, and create a new matrix which will be populated with the multiplicative factors. The uFunc for GE will be used by us directly, we need only modify the driver function:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def execute_lu(contextobj, darray):\n",
" # create placeholders for lower and upper triangular matrices \n",
" uarray = contextobj.fromarray(darray.toarray(), distribution=darray.distribution)\n",
" larray = contextobj.fromarray(np.zeros(darray.shape), distribution=darray.distribution)\n",
" \n",
" N = min(darray.shape)\n",
" for k in range(N-1):\n",
" pivot_factors = (uarray[:, k]/uarray[k, k]).toarray()\n",
" pivot_factors[0:k] = 0.0\n",
" # populate lower triangular matrix\n",
" larray[:, k] = pivot_factors\n",
" contextobj.parallel_gauss_elim(uarray, uarray[k, :].toarray(), k, pivot_factors)\n",
" larray[-1, -1] = 1.0\n",
" return larray, uarray"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us first test our implementation by checking if we can reproduce our objective matrix $\\mathbf{A}$ by multiplying $\\mathbf{L}$ and $\\mathbf{U}$. For multiplication, we will convert the DistArrays back to NumPy arrays and for comparison of floating point entries we use `numpy.allclose()` which returns `True` if all entries are equal within a tolerance. "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Success: LU == A for distribution scheme = ('n', 'b')\n",
"Success: LU == A for distribution scheme = ('b', 'n')\n",
"Success: LU == A for distribution scheme = ('b', 'b')\n"
]
}
],
"source": [
"N = sizes[0]\n",
"for scheme in distributions:\n",
" d_array = 10 * synthetic_data_generator(context, datashape=(N,N), distscheme=scheme)\n",
" L, U = execute_lu(context, d_array)\n",
" if (np.allclose(np.dot(L.toarray(), U.toarray()), d_array.toarray())):\n",
" print(\"Success: LU == A for distribution scheme = {}\".format(scheme))\n",
" else:\n",
" print(\"Failure: LU != A for distribution scheme = {}\".format(scheme))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hence we have validated our implementation. Just to confirm that our matrices are actually upper and lower triangular, lets generate a schematic for one $\\mathbf{LU}$ pair:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nRK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nOIwxxgTl/wPzcdSkkpt8RwAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"process_coords = [(0, 0), (1, 0), (2, 0), (3, 0)]\n",
"plot_array_distribution(L, process_coords, legend=True, \n",
" title=str(\"Lower Triangular Piece L for Distribution Scheme = \" + str(scheme)))\n",
"plot_array_distribution(U, process_coords, legend=True, \n",
" title=str(\"Upper Triangular Piece U for Distribution Scheme = \" + str(scheme)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note: the values are not actually perfect integers, they are just displayed as such for the sake of readability.\n",
"\n",
"***"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}