{ "metadata": { "name": "", "signature": "sha256:8062999721f7446b141c022d7e5bc41efd7f0c4788988f5db87e86535d0beae5" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from numpy import *\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will solve a 1-d finite element problem for a tensioned cable using the method of Freytag. This derivation comes directly from the paper \"Finite Element Analysis in situ\", and is reproduced merely for learning purposes.\n", "\n", "A cable with tension $\\lambda$ runs from $x=a$ to $x=b$ and have an applied load of $q$. The governing equation is $\\lambda \\frac{\\partial^2 u}{\\partial x^2} + q = 0$, where $u$ gives the height of the cable. We have fixed boundary conditions $u(a)=u_1$ and $u(b)=u_2$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = .3; b = 3.5\n", "lamb = 1.\n", "u1 = 1.; u2 = 2.5" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We make use of an approximate distance function $\\omega$ from the boundary. In this case, we can construct it using the distances from each end of the interval, $\\omega_1=x-a$ and $\\omega_2=b-x$. We take a suitable $\\omega = \\omega_1^2 + \\omega_2^2 - \\sqrt{\\omega_1^2 + \\omega_2^2}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "t=linspace(a,b,100); w1 = t-a; w2 = b-t; w = w1 + w2 - sqrt(w1*w1+w2*w2)\n", "plt.plot(t,w1,c='r',label='$\\omega_1$')\n", "plt.plot(t,w2,c='r',label='$\\omega_2$')\n", "plt.plot(t,w,c='b',label='$\\omega$')\n", "plt.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nEKgMN9AAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We assume the solution has a form $u=u_0+u^*=\\sum_{i=1}^n C_i\\eta_i + u^*$, where $u_0$ satisfies homogeneous Dirichlet boundary conditions, and $u^*$ is a function satisfying the nonhomogeneous boundary conditions. We use the distance functions to construct these fuctions.\n", "\n", "$u^* = \\frac{\\omega_1 u_2 + \\omega_2 u_1}{\\omega_1 + \\omega_2}$.\n", "\n", "$\\eta_i = \\omega \\chi_i$ where $\\chi_i$ is any shape function (that doesn't know about the boundary)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "ustar = (w1*u2 + w2*u1)/(w1+w2)\n", "plt.plot(t,w1,c='r',label='$\\omega_1$');\n", "plt.plot(t,w2,c='r',label='$\\omega_2$');\n", "plt.plot(t,ustar,c='b',label='$u^*$');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n/wOCA9Vfc1dxagAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "To define the shape functions, we use a fill the interval from $x_i$ to $x_f$, which are independent of $a$ and $b$, but should be chosen so $[x_i,x_f]$ contains $[a,b]$. We use $n$ shape functions on this interval, resulting in a grid size of $h=(x_f-x_i)/n$. Using linear hat shape functions" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x0 = a-.1; x1 = b+.1; n=20; h=(x1-x0)/n\n", "res_per_sf = 200\n", "res = res_per_sf*n #numerical resolution\n", "t=linspace(x0,x1,res); w1 = t-a; w2 = b-t; ustar = (w1*u2 + w2*u1)/(w1+w2) #redefine distance functions in terms of res\n", "w = fmin(w1,w2); #exact euclidean distance, with a discontuity\n", "#w = w1 + w2 - sqrt(w1*w1+w2*w2); \n", "x=linspace(x0,x1,n)\n", "chi = zeros((n,res))\n", "for i in range(n):\n", " if i!=0:\n", " interval = where( (x[i-1]<=t)&(t<=x[i]) )[0]\n", " chi[i,interval] = linspace(0,1,shape(interval)[0])\n", " if i!=n-1:\n", " interval = where( (x[i]<=t)&(t<=x[i+1]) )[0]\n", " chi[i,interval] = linspace(1,0,shape(interval)[0])\n", "eta = w*chi;\n", "for i in range(n):\n", " plt.plot(t,chi[i],c='r',label='$\\chi_i$')\n", " plt.plot(t,eta[i],c='b',label='$\\eta_i$')\n", "plt.xlim(x0,x1);\n", "#plt.savefig('eta.png',dpi=200)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "(0.19999999999999998, 3.6)" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXtwHNd1Jv7NAIMnQQDE+zGDATADAiRAkCItSpZJU35J\ncmx5y1Z+lpxfkpKqFP68lr3ejVNeZSsxlVRlrWzWW1mrkmLKsbPxg/Ha5Vj2lk1t/KAetiRKpEiC\nBAhMz2Awg8H7TbyBmfn9caZnunu6e+7tblIg2V8VSyIxc3D69r3f/e65557rSCaTSdiwYcOGjTsK\nznfbARs2bNiwYT1scrdhw4aNOxA2uduwYcPGHQib3G3YsGHjDoRN7jZs2LBxB8Imdxs2bNi4A2GK\n3J966inU1dWhp6dH8zPnzp3DoUOH0N3djRMnTpj5dTZs2LBhgxEOM3nur776Knbt2oU/+IM/QF9f\nX9bPFxYW8MADD+Cll15Cc3MzZmZmUF1dbcphGzZs2LCRG6aU+7Fjx1BZWan58+9973v41Kc+hebm\nZgCwid2GDRs2bhFuasw9EAhgbm4ODz74II4cOYJvf/vbN/PX2bBhw4aNFPJvpvGtrS1cvHgRv/zl\nL7G6uor7778f9913H/x+/838tTZs2LBx1+Omkrvb7UZ1dTWKi4tRXFyM48eP4/Lly1nkfvDgQVy+\nfPlmumLDhg0bdxx6e3tx6dIl1Z/d1LDMJz7xCbz22muIx+NYXV3Fm2++iX379mV97vLly0gmk7f8\nz1e+8pV35ffaz3DnPcOd8hz2M+yMP6zPoCeKTSn3J554Ai+//DJmZmbgdrvx3HPPYWtrCwBw8uRJ\ndHZ24uGHH8aBAwfgdDrx9NNPq5K7DRs2bNiwFqbI/cyZMzk/86UvfQlf+tKXzPwaGzZs2LDBibv6\nhOqdcKjKfoadgzvhOexn2Bmw4hlMHWKyCg6HAzvADRs2bNi4raDHnXe1crdhw4aNOxU2uduwYcPG\nHQib3G3YsGHjDoRN7jZs2LBxB8Imdxt3LX7+c+Bv/sa8nQMHgOFh83Zs2LASNrnbuGtx4QLw6qvm\nbMTjQF8fIAjW+GTDhlWwyd3GXYvJSSAWM28DAObnzftjw4aVsMndxl2LqSlgbMycDfH7U1Pm/bFh\nw0rY5G7jrsXkJP3Z3jZuwyZ3GzsVNrnbuGsxOQkkEpnQihGIYR2b3G3sNNjkbuOuxdQU4PGYC82M\njQE9PTa529h5sMndxl2JrS1gaQno7jZP7gcP2uRuY+fBJncbdyWmpoDqasDtNkfusRhw6JBN7jZ2\nHmxyt3FXYmoKqKsDGhvNpUPayt3GToUpcn/qqadQV1eHnp4e3c+99dZbyM/Px49+9CMzv86GDcsw\nOQnU1hK5mw3L7NsHrK4CGxvW+WfDhlmYIvcnn3wSZ8+e1f1MPB7Hl7/8ZTz88MN2zXYbOwaTk6Tc\nm5qMk/v6OnDjBlBTQ3+mp6310YYNMzBF7seOHUNlZaXuZ77+9a/jscceQ01NjZlfZcOGpbAiLDM+\nDtTXA04nrQLs0IyNnYSbGnOPxWJ48cUX8dnPfhYA3Rpiw8ZOgBVhmbEx+j5gk7uNnQdTF2Tnwhe/\n+EV89atfTV8FpReWOXXqVPr/T5w4cUfcg2hj52JykvLTq6uB5WUKsRQV8dmIxSisA9jkbuPW4Ny5\nczh37hzTZ28quV+4cAGPP/44AGBmZgY///nP4XK58Oijj2Z9VkruNmzcbIhhGYcDaGggFd7WxmfD\nVu42bjWUwve5557T/OxNJfdQKJT+/yeffBIf//jHVYndho1bDTEsA2RCM7zkLlXudXU2udvYWTBF\n7k888QRefvllzMzMwO1247nnnsPW1hYA4OTJk5Y4aMPGzYCYLQMYz5gZG6OLOgCaKK5ds84/GzbM\nwhS5nzlzhvmz3/rWt8z8Khs2LEMiAczMUPoiYDxjxg7L2NjJsE+o2rjrMDcHlJUBBQX0d6MZM/aG\nqo2dDJvcbdx1EDdTRRgJyySTtnK3sbNhk7uNuw7SeDtgLCxz4wb9t6yM/ltTQ+RuH8K2sVNgk7uN\n2w5bW8Dzzxv//tRUJlMGMBaWEUMy4rm84mKgsJDKCBvB9DTwwgvGvmvDhhpscrdx2yEaBZ59Ftjc\nNPZ9NeU+NsanuqUhGRFmQjM//CHw+c8b+64NG2qwyd3GbYfxcSLi0VFj31cq9927SYHzqG6ryV0M\n88Tjxr5vw4YSNrnbuO0wPk7/HRkx9n2lcgf4QzPSTBkRZshd/N0zM8a+b8OGEja527jtIJJ7JGLs\n+0rlDvCTu9XKXZyoxGezYcMsbHK3cdthfJxy1K1U7k1NfBkzN4Pc9+yxyd2GdbDJ3cZth/Fxutru\n3VTuVodlRkaA++4DJiaMfd+GDSVscrdx22FsjIjQjHLfSWGZ5WVgbY1KENvK3YZVsMndxm2H8XHg\n6FFjyn1lhTJtdu2S/ztPWCaRIIXd0CD/d6PkPjICeDxkzyZ3G1bBJncbtx2k5M57IlRU7cpLwXiU\n+8wMnUxVXu5hhtxbWojc7bCMDatgk7uN2wqbm8DCAuD1AqWl/JdSK+vKiOAhd7WQDGANudvK3YZV\nsMndxm2FyUmq45KXR6EM3ri7WrwdILKemKCQSy6MjWVvpgJAVRVNPNvbfD5FIvQs9fU2uduwDja5\n27itMD6eiXW3tPDH3bWUe2EhhVpYDhHFYurKPS+P0hl5DyIpwzJ28TEbVsA0uT/11FOoq6tDT0+P\n6s+/+93vore3FwcOHMADDzyAK1eumP2VNu5ijI9niNVK5Q6wh2a0wjKAsdCMSO67dgFOZ6YUgQ0b\nZmCa3J988kmcPXtW8+dtbW145ZVXcOXKFfzZn/0Z/uiP/sjsr7RxF+NmKXeAva77zSJ3wA7N2LAO\npsn92LFjqKys1Pz5/fffj/LycgDA0aNHMWq02pMNG5CT+81Q7izpkGNj2WmQInjJfXOTPi/G8O2M\nGRtW4ZbG3P/xH/8RH/3oR2/lr7Rxh+FmKveGBjblrpbjLoKX3EdHyVZ+6jZjW7nbsAqmLsjmwa9/\n/Wt885vfxG9+8xvVn586dSr9/ydOnMCJEydujWM2bivcTOXe0AD09fH5oAQvuUejmZCM6IOt3G1o\n4dy5czh37hzTZ28JuV+5cgVPP/00zp49qxnCkZK7DRtakBJrbS2dOF1ZoZx3FuRS7v/3/+p/P5Eg\nG/X16j+vrQXefJPNF4BWHm633AdbudvQglL4Pvfcc5qfvelhmUgkgk9+8pP4zne+A5/Pd7N/nY07\nHFJydziIGFlDM1tbwOIipSuqgUU1z8zQ5R4FBeo/N6LcPZ7M3+2wjA2rYFq5P/HEE3j55ZcxMzMD\nt9uN5557DltbWwCAkydP4i/+4i8wPz+Pz372swAAl8uF8+fPm/21Nu5CxON0IlWqvMW4e1dX7u/P\nzNBBo7w89Z+zqGa9kAzAT+6RCHDggNwHOyxjwwqYJvczZ87o/vwb3/gGvvGNb5j9NTZsYGYGKC+X\nq2aeuLtevB0g1Tw5SYeIlLVnRFhN7tEo8LGPZf5uh2VsWAX7hKqNW4pXXzV+96kasfJkzOjF2wEq\nBFZaCszO8vkghRHlLo25mw3L/Pa3NGHYsGGTu41biuPHgWeeMfZdLXK3SrkDuZVzLnLftYvCRysr\nbD6JdWVEVFfTRd2bm2zfV+KBBwD7nKANwCZ3G+8CUlsy3FAjVo/HOuUOmCd3h4MmEJZqlYuLNBFU\nVGT+zemkwmiTk7m/rwW7No0NwCZ3G7cQ8Tj916gq3SnKXSsNUgRraEbMlFHG943G3Tc26L9aG8Y2\n7i7Y5G7jlkFUo0bvPlU79t/cTEQoThx6YFHuuWLeuZQ7wEfu0ni7CKMZM+Ew/dfOtrEB2ORu4xZi\ndBTo7ialzVvzHFAn1oICilOzlA24FTF3gJ3clfF2EUY3VQWBLg63N1RtADa527iFGB0FfD4iPyME\nJC33KwVr3J015q6lfJNJdnJniZnrKXej5P7e91Isf32d//s27izY5G7jlmF0lMIoPh8RES+0iJU1\n7m5WuS8uUoEv5eXaSoj58rmgp9yNhFYEAfD7+a4MtHHnwiZ3G7cMZshdTzWzKPdkkpS7GXJnUe0A\nrQ5YyPlmKHefj9rYrqxt45ZVhbRhIxoFenvp/4NBvu/OzQElJUBxcfbPPB6gv1//+wsL9N2iIv3P\n6RGrXqlfKerqzCl3oxuqNrnbkMJW7jZuGUZHSakaUe56tx+53blj+CzxdoDuUU0m1a+641Huucg9\nkaCLQZqbs39mZEN1a4smi9ZWm9xtEGxyt3HLYCYso0esLGTGEm8HKOdcS72zkjtLzHxqiqpLqq1E\npDVuWBGJkG+FhTa52yDY5G7jliCRyKjv9nYgFKJ/Y8WtUu6AeXLfs4eUv95hLa14O5CpcTM3x+Yv\nkAnJADa52yDY5G7jlmB6mio6FhVRtkl5OV9Ghx6x1tQAy8vA6qr291mVO2Ce3MUSAnq57lrxdhG8\noRmb3G0oYZO7jVsCMSQjor2dLzSjp9wdDrpgWo/QeJS7FrGykrtoQy/urqfcAf6MGSW52weZbNjk\nbuOWQEnuPh9fxkwuYnW79cn9Vip3IHc6JIty58mYkZJ7fT2VLTZaw8fGnQFT5P7UU0+hrq4OPT09\nmp/5whe+AL/fj97eXrzzzjtmfp2N2xjRaDa5W6Xcgdxxd96Yuxqx8pL7u6Xc8/Lo99uXftzdMEXu\nTz75JM6ePav585/97GcQBAGBQAD/8A//kL5qz8bdBzXlzkPuLMpdj9zNKve1NTrSr3G/exZykXsu\n5c5D7vE4MDwMtLVl/i3XSsbGnQ9T5H7s2DFU6vT2n/zkJ/jDP/xDAMDRo0exsLCASTOFqm3ctjBD\n7iw1XXLFmc1my4ilfrWu31MiV1gll3LnCcuMjlLxtJKSzL/Zm6o2bmrMPRaLwS3pwc3NzRi9WT1u\nZAR4/XXzdn7yE/ZrdLSwuQn86EfmfblwARgaMm/nhz80VoZRislJ4Fe/Mvx18QCTeM+euKHKkss9\nP09ZNmnySiSA//2/ZZ8xFHMfHgbeeCPrs3rkrooXXyRpL4Gect/cpPtgZZPVxoasz/Aod2lIBm+/\nDQiCeXL/wQ/M95mJCeDcOXM2AOCVV8wXy4nHs/qMIYRCwPnz5u38+Mfmq7vlKKh00zdUk4rR69CQ\nPqf+y3/BqVOncOrUKZwz0iH+5V+A55834KECn/888JvfmLNx8SLw1FPmr8T5278F/tf/MmcjkQB+\n//dzn8/Phf/zf4A//3PDX08r97/8S+BHP0JlJZXrZbmxKCveHgoBTzwh2zHUC8usrRF3lpcrfvC9\n7wH/7b9lfb6qivLUxcsvgBwrh3//77OEhR65x2JkS3apxltvye7H4yH3YFBC7l/7GvDP/2yO3Le3\ngd/7PWBw0KCBFF58EfjKV8zZAIBTp4gMzSAQAD7zGePXgIn4zneA//7fzdkAgJMnDU0S586dS/Pk\nqT/5E93P3tTaMk1NTYhKRtzo6CiamppUP3vqM58B9u83/ssEgV6gGayvE0MIAvCRj5jzZXGRUhaq\nq43bCQTkDGMEsRg9VyAAHDhgzhcjpRxBc1wsRumK0vckhmZyxcKziDUQoElreBjYuxeAPrmLBcOy\ndIVGn3E6M9kuLS0aPohYWaHZRxCAD3wg/c96qZCq8XZBoP4yPw9UVnLluQuCJN6eep7mf2diIRuN\nEgkGAubGpIk+I4MVYzsQIPU+MiKZCd8lX5aWqFMGAnSpMAdOnDiBEydO0F/+63/Fcz/4geZnb6py\nf/TRR/HP//zPAIA33ngDFRUVqNMKfJptMEEgCcNz7FGJUIiYyGyHFL9vhZ0d4svmUBhjk071ois5\nMDNDIZWS/E0aXClfWOPuWcpd5Zn27KF5cHk5+/ua8XaxfVVWWErlrEnuYj6n4kH0UiFV4+2KZ6qo\nIH5Vex4lQiE6N4BkMk2oppS7IGAUTdb0vbExc2HOtbWM4DLri/S/ZuywxhNvhS86MEXuTzzxBN77\n3vdicHAQbrcb3/zmN3H69GmcPn0aAPDRj34UbW1t8Pl8OHnyJP7u7/7OsKM5EQhkJKJRCALFCqxQ\nCQUF5p5pYYFmePG53k1fAPzrBQ/+wPEdQ3bSIZnhYSqIzknuWcSq8p4cDu1NRM1MGVHNqUhkZnLX\n6DN6JQhUlbviPTkcNKGxqPd0pszcHJFhIIDmpqRhcr/RF4Yboxi9NGPMgAixbXhLgEoRClnSfy0d\n2xsbbPFEPV9crptO7qbCMmfOnMn5mRdeeIHNmJlGX12lJe2995IdvTSEXD4cP25Nox8/bu6ZBAHY\nt49Uy/Q0ex7fzfAlmYQwXoq+/EOA8Avg0CGur6fJXRCABx6gPY2tLbS3u6CTSZvG+DhVO0xD4z2J\noZnOTvn3JyZUNkNv3KDJ8/BhsqdIoleGRTTL/Wr4Ii1BoKz8GI3SdYMyqLwn8dINv1/l90oQCqXa\nJxAAenoAQUBD4RwmJ6uwvU3zKQ+unqc6DqH+dagUrWRDIkGkfuwYPZvRkKAgAO97H/WZeNz47d9W\njO2FBQpxHjxI9oyOSdEXKyYaHeycE6pmGj0YpN7d0WHOjhhrD4fZblzWQiAAPPyweV98PvpjphNY\n4cvEBIbz2jG1VYmpd/hXRmlyF2O4DQ3AyAja2kh15kLWxdiCQM+kaBetdEhVchcEimVo9Bku5f7Q\nQ6ohQa10xizlLoZTFO+J5Ual+XnqqlVVyFzF5PPBFQ6gutpYXfi+fiLQ8Ahj3qcaYjE6FNDba77/\n9vTQTGmmpoJGn+G24fNRG5sd2+K7NroqX1mhl6+DO4PcJZ3atB2zHWlujgb5/fdbQ+5WdKQHH6SV\njV5lrRw2hgs64cqL49o7/GfaZcpd8p5aW9nIXXZ36vY2seNHPqKp3JWYnNQgd50+ozylqkvuBw9S\nkFzBxFoZM1kx9+lpWqbfe6/Ml6am3OQeClFIxuFAVp8xGnfvi1agpCiO4cU9xtP1rOy/Zsf25iZN\nNh/+8Lvvi2jnyBGq92z03E8wKD+1poKdQ+6Tk8Y7UiBgfUcyOsPvJF/EpXFHB61sQiHDvoQSLXj/\nwUVcHSrg/rpMuUvapqGBkopy7bfJlHskQkzd2UkDVpEOqUZmqso9x3uSKvftbZqzVVfhOu+Jmdw1\nfGFR7iK5q/li6JRqPI6+RQ8e/VgS4dJ9bLOvGqzov4A14ykcpgbv6KD+YzR/38qxLa7KjdoRbehg\n55B7S4sp8jHdkTY2aDS3tJh7eaIv1dUZVjACKzrS2Bgpyl27TLXN1vUgxtYq8dGPOXF1vIr7+2ky\nU7wnp5OaOxzW/m7W6VSxXVwumjEkX9ZS7hMTKtkyOfqMlNwnJ+l1ZoV7V1cpFai5WfU9qZH78jJ1\ntT17VHypqyObi4sA2MhdVnZA0WeMKPdkJIo+Rw8+9u/yMZzvvzNEjuhLURHN8iy3qd8sX27coPfb\n2Ei2zDxTjs2YnUPuZh/U56MYqtF0yOFhYof8fGs6ksNhzcxshS+AKV+ifQuor9zAPe/fjasbPu50\nyNFRoLk2tTT2emW+tLXpz+kLC5TkUFqa+gepYlG0DVfMXdpnVGKfUnLXDMmEQvQ8eXmq70kt5i5e\nrSfLudfoM6zKPb3ZrOgzRsh98vwI4HTivvuA8JaJdEjRl+Zm4yHB9XWaHT0e61SuFeNJ9MVIvDwY\npD7ndN5Fyt3sg/r9dAHm7t3mro4HrFHugPFnWloiidfQkPHFSEeywhcAw4FttHri2N/jxFV0Iymw\np7Ylk0QwTdsjNNBdLpkvueLusng7oPueDMXcKypUY591dRQKFzMlNePtOn1GTbmPjqYOc6n5Ahgi\n93Qa5NYW7ReZUO7XfruI/dWT8HiA8dUKbA2aWE37fDTxtbYaS4cMhWhpJwouK4jQirG9Zw9NxLOz\n5ny5a8jdqHKXLo3N2JEuc6xSy0Z9EV+cw0EZB/n5xvJqrfAlmcRwNB+tewupOJVrG6NvsDPG/Dwp\n77LxoYwv7e0UTtnezqncszJldN5TRQUt2paWMh9fWSHO271bYkO6NAZU28bloqafntYh9xx9Ro3c\nVS/F1nhPDQ30eb15PU3uIvE4HBRDisfRXLbIT+5X4tjvXYHLBdRXbWL02iKfASCz12NWLUvbxcjd\njFI7Zsf24iJxTV0dtbEZnrFqFXHbhGWMzmLSpbEZO9KZUMzRM5IOacXMrJyVrbBj1MbUFELOdrR1\nFQIAuuuncfVN9hOHskwZ0ZeiIhokkUjOdEhd5a54JvEgk1S9T05mxmMa0qWxih0RYmiGSbmrhATV\nShAoq2OmT0SrKPeyMprXFzX4NR6nZ21pUfiSCu80bw3zk3uoGPv3U2N5W4BhwcAYGB8n58vKsp6J\nC9JnKi0lxWwk/ccK5S4VXIC5ZxLftdFVuVLQamDnkLsVihuwpiOVlBhLh5ybo03UmhrrfAGsaRu3\nm07UKKoXsvgyXLI/Hdft9m3g6jX2/GdZpozKe8qVxCNT7vE4KX5xB1GlXZShGdWQjFQ9SXxRQiR3\n1Zg9IH9PZWVZF8OqlSDIIvfpaRIm4g6rwhe90MzoKGXwFBVBtc80LvRjfJxP7F6brsH++2mZ491b\niPBsGX99o5vRfwFj42lrizqE2IHNrCKs5pnKSloi8q7KxY2WHAe6dg65ezw0EnjTIdU6kpFGt+Ll\nKWf3d7NTi0vj9nb6e34+rXB4M5IEAcOOtgy5H3LhWqSM+euqyh1Ivycx5q4lXmTKPRolNisupr97\nvfQLdKpDah5gkrZvjnRIXXLXeU9qJQiyYu45fNEj96zNVIUvhSNDqKhgT6VObsdxba0N+z9ID9va\n7kS4rEc/nUkNOdqFy47ZsT0yQg1ekErhbWujf+NNh7SKZ6xYlTPE24GdRO75+cbSIdWIkJdQxUMO\nYglAwBgxK32prSXVk+MkWRasUD5jY6QkyyREbKQjBQIIrTZkyP34Hlyd07nvToH09Xoa76m8HCgs\n1BYvMuWuVNwFBarpkNKVu2oapJpyV2nfujpa7IihHRnETA5pwrriPUlLEIjIirkrfWloyJRGQG5y\nz0qDVPjCs6k6fmEM+c4Ear1UON/rBYaLu4yNg5ul3M36YjQd0gpfVlZodS/tAFbwjAZ2DrkDxmZD\ntZkwGOSLY4XD1OAFkgM6VsyoYmobb6bAzZrdDdhZHohiebswTbD7jldjYNuH+CJDuUKkyL1+mxjG\n61X1RW9TVabcGZ5JGXPXVO5q7avoM7W1xN+qNqSZHBq+ANnpkFlhGbU+I8bvwUHuGs+U6/pBKa6d\nm8b+ssyHW1uBcNJrvu+53RQj5kmHXF+X11wG3tVxYMmYFE+VOiW0e1cod8D4zCydxXbvps0XnqIa\najOhVTMqrx1lJofUBs+EZdEzha+vo6VxKx1pKit3otY1j+GXI0zfj0aBlsKJ7MlTMpHrpUPKlLta\np1Y8E1PMXRk20Ih9itkuqsqdwRepDSCziJOddFX6AjCnQ6YPMIkFraROptrX4+Eg97fXsL8xs8r0\neoHh1Vrz5COmQ/KsyoeHmSZPbl8AYyJSOZ5SGUlchxRv1kSjgZ1F7ryNvrZGA1JZBZJ3kriZjc5r\nR5nJAVDwNi+P1M+t9CWZRGjYgTa/fOOme884rr62wGQiEgE8W8FsXyQZSVrKXfV0qg4RAgwx9+Vl\nIkNlsrkGMYupiLt2KZxj8EW0IZK7OFFJX21W2EDhC5NyV+71ABQP2tqCp3oVEbZ5GNeu52F/x1b6\n701NwPRKCTYGw2wGgEz2j1rf4xmTau0iroJ5doi13hOPL2IapLQjGUmHvJkiUgU7i9x5G12sBqnc\nNeYlMbXO2N7Onw7JOOC5fQGs6Ui8vszMYBitaO2Q15Pp9t7A1Xe2NL6UQSKRKj2weDXbl5ISUj/R\nqKZyX1wk4ZYmVkblPjqaWeRkxdzVlsaAJjGPj6ukUmr5okI+0nTInGmQKr4wbaiq+ZIiH3feGDu5\nxyqw/3BR+u/5+UBTfRyRQY4Mq4kJerfKOw15hZtau+zalZWRxGTHrHJXmzwBa8a2RkhQE2trtInD\nUNbcNLmfPXsWnZ2d8Pv9eF7lDtOZmRk8/PDDOHjwILq7u/FP//RP2saMNroVdtTIp6qKfTdKekLQ\nal8AazpSSwsNPtbUNkHA8O5eeS11AN37gb5gcc6vT0/TeCyJXNd9T1rKXRZvj8dpBhCzf0Qo2mX3\nbuLthdTCIisso6YIVewAmQ3VnGmQIsTcbskJaWk6ZNZm6swMEYas0AyYyH15mf7U12v4krLj2Qoy\nkXsyCVxbbML+4/LaQV5fPsLjheq3jqhBxxfTyl20wzoOxAqiyg5sxcqe1xctO7ynXdXCVRowRe7x\neBzPPPMMzp49i/7+fpw5cwYDAwOyz7zwwgs4dOgQLl26hHPnzuGP//iPsa2VhiSSD2s6pB4RWtGR\neIg5GMycEHy3fUkmFbcmp5CfTymnrLHPQADD+f6syqJd95ZhYCp3AbF03fIc70lLucvi7aOjNNmW\nlMg/1NpKP5NcfCyGZpJJFeWu5YvKyqiqighU8xYnLTuS9yQNy2imQSr7jCIsMz6eLeyGh+nRHQ59\nXzw3rjGReywSR1FiFdVHvLJ/b21zIlxxkD0dkrFdcoLjPWliZIRmv6Ii+b+3t/OlQ1rhC6A+tsWk\nC1Y7WvygAlPkfv78efh8Pni9XrhcLjz++ON48cUXZZ9paGjAUiqta2lpCVVVVcjXmnVE8mEtM2rF\n7C4ecpBmckjtmG30+npKgdI6ZqiEFcpnbEx+QlBph7VtBAGhreYs4bP3RAMCK405I1bRaIrcc7wn\nj4dcVl5MnzNTBqBN2sZGGfmI6X9LS9Sl0kXHkNsXKfLyaC6RlS4A5BVE1exI3pOS3HXTIEU0NlJ/\nWV5GURGtfpTCTjdTRuJL/fg7mJvLvVi79vIM9hcIisZKbaqWHeDqMztGuWv5UlREMzZrvMoKX8RT\npWrhFJ6JT2uiUYEpco/FYnBLnG1ubkZMcYfp008/jWvXrqGxsRG9vb3427/9W32jvC9PL4TBEsca\nGaHBVFgoFE8wAAAgAElEQVSY/TMrGp03HdKKUJNeB+Bo32RAwPDinixyL/U3os4xheFr+qltkQjg\naY4TqymNSHwpKKA5UJnVkTNTRoSibZqaKATCdIBJ4Yuyz5SUZM5MpTE8TLOWmkhR+CJNhVRNg1Tz\nxekk5tZJh2Qid78feaEAGhtzRxevvU4Fw5RobQXC+e3mCdXjoTgdywlpcfLUElxmfQGsGU88vuid\nKrXqmRQwRe6OrF2mbPzVX/0VDh48iLGxMVy6dAmf+9zncEOvZCzPUkdrRq2ooNlZenpEz4YeEVqx\nXGJ9JrVDDkpfWCYshS+y8cTRvjPXZ1BQ4MjaG4PTia7SCAbO6R99jEQAz645YqeCguwPSAaYWtxd\nlimTa8KSPJNI7kylB0RUVRGpKiSyy0V/ZODwRarccx5gkkLSNlrk3toKWp6srKgXv0n5wpIOKRYM\nU8LrBYY3mw0RYSIhiXzk5ZExFpETCjFPnqy+ZMGKsV1bS3sRLIcU9Uh5J5J7U1MTopJeE41G0awg\npt/+9rf43d/9XQBAe3s7WltbMTg4mGXr1KlT9GdoCOdefjn3Lxd3jbOukU+B9eXd7Nld9IXFjlYm\nB6BJPrl8SSZJfaa3Qlh9SSYxLMTR1qY+mXTVzWPgLf2DTJEI4HGMareLpNKfWtw9FpPEqBmJENBR\n7uK9k1oFl1T6jMOh8jo4fJGWIMhZekDDl8ZGeh4pZGmQ7e0q6Twg8tnagqduI2cE4tpwCfb3ZPe7\n1lYgvFTJNpbEu2BTm95//ueK/W/W8aTXLhr191XB8Z40oTd58tzZoCciOQTXub4+nPrZz9J8qQdT\n5H7kyBEEAgGEw2Fsbm7i+9//Ph599FHZZzo7O/GLX/wCADA5OYnBwUG0qdz9lyb3//AfcILlJJuy\nGqQSrI2uR+48ZUb1OpIVvoh2WDqBxBfxlPXbb3P6MjeHULwFrX71/ZGu9g1cH9AfYJEI4F7XaZfS\nUjpANDqqqtxl5J5L+agod9XNVK3JU7SjaJt4XOX1s6iwFPk4ncSxY2Ok4NMcIRIhQ59RU+7pA0x6\nvqTIx1M6q0vuySQwMF2NffcpNxfI3/mVAqwNMZyEmpqi8GZlJQDgBz9QhLUN9N8s7N5NmxAsdzZw\n9BldG1qTp2jH7NhmtbGxgRPz8zj1ta/dfHLPz8/HCy+8gIceegj79u3Dpz/9aXR1deH06dM4ffo0\nAOBP//RP8fbbb6O3txcf+tCH8Nd//dfYo0z9ksIqImSdmfVmVNZ0yPl5kmaqaRVgn5lzHU4woHxE\nxf7GG6mfeb1Zd49q2Rjecxitreqduqu3AAORUtWfiYhEAM9iH9MzqZX+TZN7IkHMr0yDVNgQoRmW\nybUZpdL3NjZUNiP1+p5GOmR/P3WldHRqdpYIo0oj60iH3BOJTLYMyzhwO0Z1yX18HChMrqPqnuwN\nYqeTFscjUWf2jrcSCl/EM3fpjXcrlDvAxhHKCqJK3EpfRDta74n1tKveXo8KTOe5P/LIIxgcHIQg\nCHj22WcBACdPnsTJkycBANXV1fjpT3+Ky5cvo6+vD5/5zGf0DXq91Ntybe/nIkIrwjKsdkQbN3N2\nZ/VFPBiTIsKhIeCeeyTk7nLRjn2ujKRAAMOFnZpjo+v+SgzM1WqujsWj9vVjF5meSXk6PZGQZMvE\nYpm7YNXg9dJMkiIfzbBMrjQylUl4ZYXSIWXg7Ht1dcD164qQjOiLVp/ROaU6OUnzR2kpmy+ejYAu\nuV/vT6AzMaA5eXpbnRiuvCd3sS2JL6OjNDG43ZJEJiuUO8AmliIReQVRJdra0hfG3HRfctlhTYdk\nPJkqYmedUAVoVmIhHxYizEWoWocceO3k8kWs9Jfr7lErnml8nEgwlb83OAg8/jiRSzraxfhMw8kW\nzaapOuyFK7mpWcJndJRIKS84xPRMSuU+M0MEplqrXInCQvplKfKpqaFQ6dgYY467whcRIqnLBJVa\nBdEcdurqaDuFKVNGRHMz/eKVlSxyHxmRJJIw9BnP0lVdch98cwGdReGsNEgRXi8Q3nOIaxy88QZw\n333A3r0kMERfLBM5ZsdkcTGRf66dZit8ybU/CLCtJDg2U4GdSO4A22zIGsLQ23iJRNQPOVjti9Mp\nq/SniVwD3oAvg4PAgQNAdzdw4YLEDkNHCi3Xac97zc3oSg5g4KJ6alskAnjcidyTZ8qX2lqafMT5\njzneLrWTahunk+bTaFQlLMMxUKemaENUlnSlVkFUxxcgU2FWtxqkEk5nutiWktzDYQ5y9/vhmTiP\nSER7KFy/sILOBu1zGK2tQLiok5vc77+fyD2dP+Hx5L4wZmODHlYtDVKEFeTOaodllZbLBsupUque\nSYKdSe5WPKh496hesS2W015WdiQ9Yma5OoslHVLhy+AgDbD77pOEZhiWgPFACKMLpdoC1elEV/kY\nBn6jHieMRADPnmXtMwTSZxIEOBzU/8WVfxa551qOKt5Tc7NK6YBcA7W6muJBKak+NaVyD6oBX8Qa\nNVlpkLnspCa++nryRYxdh8OphcPycnYFURVfdg9fRn5+piSDEtcHgc527Xi61wsMs5T+lbTN669T\nn+vokJA7y50Nw8O0cs/KP5WAVeWytC9ryFUL9fU0dvUOKVrBDwDX6VRgp5J7rkYXL0rQW+YAuRuM\nUxFqgmWg5pokcmX/ALT5lqsOhcSX5WX6qMejQu45Bsfo4Apqa5K6vNzVfAMD76iXiohEAE/RVO52\nkdw92tKSic8yp0GKULynxkbi6PQet94ZAhGK2OfUFNmZmZFkzBjwpb6ebGSlQTIOeJdLvoJIh2XE\nvRWt7B+AZpaNDXiatjVDM9eju9B5UPtFt7UBoeU6/XEgyf7Z3AQuXQLe8x5FWAbITcwspMySDmmF\ncFtaoqWk3uTJkg7JMZHrgqVtJNiZ5M5ChCzFc3LZYRlgLOmQViwBWWywdCSJHbF/O520RH799dR4\nyGVjbg7Dm01obdfvHl174xgIqE9GkQjgTkZzP1NZGe0PjI3B69VR7pztK2ampCcnvTMEGnZE5V9W\nJom7s/oiuTCmvp6EXXpeEYmQQxBIQzPpsAxHn/FULquS+8oKMLVSgpbDNdk/TKG9HQhOl+n3mZmZ\n9F2wly+TW2VlirCM+Ex6kwQLKYuHFPXuD7RCuInlt3Md1rRibOeywbLXo8DOJfdcHYBlBss1G7LY\nyXXrutpFCVq+WPVMjHbEkAxAfSKRSD1GaysFpLVS24JBhGqOaqZBiug6XIqB8QrVn0WjgGdtkOs9\nqSp3rSJoajYk7bJrlyJRgjVeqSD32lpFaIbFjnhhTCodsqGBVu5pcp+bo+fSSoNU8UVJ7i0tHM/k\n98NdNK1K7kNDgN81grxO7fdUVQXEk07Mhxe1s0skvrz+OokJgCIss7OSjCMrlDugT4ZaFUR5bADs\nY9IKcs91JSfLXo8CO5PcvV7qyVrpkDwD1WxYRrSj9fJypUGy2LDKFwURSsnd4ZCEZgoKiDm1Kv0F\nAhgu7dZMgxThfk89ltYLVcONkQjgmb/M9Z5UlbteETQpFBNWYaEiwmVg8pSSe3pT1cCAr6sjt2Rh\nJrVqkDq+iOSeTFIbtbTw+eJBRJXcr/cn0LnVp0uEdPOfA8HKI9rFtiS+iJkyAL0D2TC0QrkD+iJH\nq4KoErnubOCYPE0LN/HyD62xzZkGCexUcs+Vi23FjJrrkIMUei+P1ZemJlL5K9n1OwBY05HGx0kx\nptIgh4Yy5A5wxN0FAcPOdt0kFwBwdPjRmTcERZVnJJMpch97g+s9KZV7YyPY26WwkCRyanZwOhUh\nWRPKvbY2Re56FUSVkLwnUeym/WH1xe1OF9sSyX16mjirrIzDjt8Pz/qQOrm/dQOdJRHtMwQptLcD\nweqjuUUO6DT0vfdmftTRIYm73wrlztouxcWUN6uVDmkFz+hVEOWxw5kpA+xUcgf0OwEvEaptvOQ6\n5CCFFY0uVvozOzNz+DI4SANLxNGjEnLXmyQEAaH1xpzkjuZmdMb7MXBJvsKanwfy85PYHRvQT4MU\nkXrXqsqdp1NL2mZ7W7HwY1WEeuSuV0FUx04sRnolfSaA1Rex2FYohKYmIvd0SAbgmrA885fVyf3y\nOjqbcpy/QGpTtaQ7Z99bWCAuk4qKrHTIyUn1OxvEuDLL5GkVEeqtJKxYTfOcKr1ryD1Xo7MQod4t\nJzyNZYVyB7RfHsfVWboTlsSXZDJbud9zD3D5ckpJ6nWkQADD8xW5FzVOJ7qqpnD9TXlcJhIBPPWb\npKRZiTAQQF0dbTzOztICp7oafO0reU8bGxTnTu+Ds/YZSaW/LHI36MvoqCwEz5f1kLIjKvd0pgxL\n9o/Ehmf8TXVyF/LRuTd3Ea72diDoaM85Di5cAA4dkofEZOSulw7JkgYpeSZLxqQVoZDGRsqqSd1b\nkWXDiomGMw0S2MnkrtXo6+skgXKlQQL62SUGFeFNscNxdRaqqoi51epQSHyZmKCEglQNJwB0/WRT\nE51W1XumtcAoFlZdqoXwlOhqWcXAVXnMMhIBPOWLfO0SDMLpSMLjoWV9Y2MqJG2wfWdm6PlnZkAs\nPzvLRoSSPjM5qSB3g76MjlKCR5rceQe8IKQrQ6YzZVizfwCgrg6Nm2FMTSVl+6HxOBCYKEPHIf0a\nQUAqaWy1Qb3PSNIg334bOHJE/mNZWEZ8JjUSM9AuqiLHCuUunihnGQS0KaF+SJF3ItfjmTsi5g5o\nNzoPEQLaDcbTWD6fdjqkFS+Px4bexovEjnQzVYrDh1MnVbVsLCwgvFYHj4eNN7q68zAwLD/hG40C\n7oJJ9meSVPpraaHVBVcapAjJM01MUDg1FoP2Repa8PkQHwpibo5spLNljJB7MolYjOykwzK8fU9B\n7lyZMgDgcMDl96K2Ykt20jUSAapdi9jV7c1poq0NCM6Wq/cZUWhUVamSu6jc0zxsxTiorCSFPz2t\nbsdAn5FBTINkGQTAzRWRPHs9EuxcctdqdN7liVaD8dgpLSXppSyqvbhIIZVcaZBSX8wqFkY7yni7\niCNHUuV/W1tpdCtT24JBhOruz5kGKaLtngpEF3bJsiojEcATDxt6T14vqbx0GqRBFTYxIamDztu+\nfj/m+mIoLycNIVPurORTXk47nxMT6Tru4+OgFUQ8noo5sfkCgcozLC6StknnuPMoOZ8P7vJFWWjm\n+nWg08nWNh4PMDHrwsbwWHZ2ieiLw6FK7nv2UHQunU5q1ThQ4wixgqhZ5W6FLwBf/9U67cqz1yPB\nziV3rdK0Bjq16svj3aBQe3msaZBSX8x2AC1fFESopdzT5F5YmCl6IkUggFD5wZwpwiIK97WjyTUl\nS2yKRADP6nVD70kMxzY1gRi6pATZV0FpoK0tPWFNTpLCjcVgqM9M9c+kT7fKYu4G3tPoaObudykR\nsvqCQCBdL0cQUuRuwBdP4ZSc3AcS6Fy/xGSH6vk5MFLRm51dkvJlZoY209XMycoQWKHcAfWxLVYQ\n1SiClgWtdEireIYn/q8VRjaQBgnsZHLXSoe0QrmzHnJQ2lG+PF5fmptJuSkvI+EldzVfFESo3EwV\ncegQ0Nens6kqCBDyOtnd8fnQkRySxVQjEcAz+45h5T42ZiBTBkhPWNvBEczN0VcNKXefD1PBGzJy\nn53cpomQJftH+kyBAGIxGpvj4wZ88Xjo3a6vo6kJ6YnCSJ/xJMJycr+wis7S3GmQItragGDt/Zoi\n5+23KeynFsmQbapauYLVElysKCmhVZTGhGXKFwOnSi15phR2LrkD1jyomkpgPeRgtS95eUQOyo0X\n3pmZwRetsExZGc2Z/f1QzzgQBAS33OzzXnMzOrb7MXQ1s8KKRJLwTL3NR4SSU6rpOixGOrXPh+kL\nEezZQ89pWLlHN9Lkvns3ULcRQaIuRwVRFTsQBIyNAfv2pcid1xcxu2R4GLW1JO7Ky2GM3Fevy8n9\n6jY6PQwXVqfQ3g4Ed/XqkrsyJCNCtqkqLmOk6ZA8aZAirCJCvVW5GV8MnCrdUeR+9uxZdHZ2wu/3\n4/nnn1f9zLlz53Do0CF0d3fjxIkT7MbVyIeXCKurSaZKs0uMdgCzvgDZL4/nkAOjL5ubJES0CDod\nmtFYAgoL1ezNk5eHvdWzGLpIudLb28DUJNBYn+AnwtQp1aWlFLkbaV+/H5NXJlFfj7TS5X7f9fWY\n2ihHbQUlyjscwJHyADY9/L6sDESwvk7klg7LGOx74tZPuoIoS+qsxIZn7pKc3IcL0LmfcZMZqYyZ\nPO2+p0fuqumQ0lW5ESK8WWPSiB3xkKL0ZheD/deSZ4JJco/H43jmmWdw9uxZ9Pf348yZMxhQHFdc\nWFjA5z73Ofz0pz/F1atX8cMf/pD9F6gR4cQEHxGqxbEMKkJLZlSlHc6rswCoX8sl8SUYpHGvNU70\nyD0eCGFkqphLdHe0bmFwgDKJxsaA2vJ1uPxedgPI+NLYkMTWVmq/0WD7jl9fRF0djbfZqAEidDgw\nVdGBWmfmfERPsYClWgO+DC6hsZH23GdngeSQcfJxuVLzJUsFUSXq6+HZFBAZptjy3BywtuFEQw/j\nxi5SYZmNJkPKPas6pDI0YyCPWzUd0grhxlJKWQnxkKJ0Vf5u8gxMkvv58+fh8/ng9Xrhcrnw+OOP\n48UXX5R95nvf+x4+9alPoTmVY1zNmiUAZDd6KMRPhKIdaYMZnd1TpWlN2VE+k46Nr38dOHNG5Qdi\nOqSGHa2QjAhZOqTUxtISRpcrUF3NdnBXREd3AYYipNJHRgB32QJ/u1RUAMXFcExRSkUiAcMDdTy0\nhoYGIveCUQNECGCq1Iva7UzeYEeegNlK/oE6Ft5EU1MS+fmUNZI0MeATiVQ824gNhwOedhciESLC\noSFgb8koHB3s76m9HQjNV8rH0twcsLWF8e0arK1pR1Xa26lvpPMjlGNSJ1z1xBPAr3+t8gO1Q4pW\nEKog8KVB6tkx68u2gb2eFEyReywWg1uiiJqbmxFTpAsGAgHMzc3hwQcfxJEjR/Dtb3+b/RdY0Vii\nHSmJGbGzaxcFO8VE4cVFWh7LboNg9IXxmX7yE+Af/5HfzsAAxXi1cPAgcPUqsNncRh1HTIcUBAQb\n3of2dsZMjhSaD1ZjfqUQy8u0um4tiBl+TzNvh5GfD4yPJQ2rufGxJBoaaFuleS2A7Tb+Je1UfhNq\nVzJhg9btAMZK+SessXw3GvdQbHlvzRySm9uU9M6D1CS8tpaqi2ZwmV65txbx7SQWFlLVIJM5rkBU\noK0NCI0VIRmUnPlIkfKFiw4cOaKdBFRYSAtuzQJiGu96fh74l38BXnpJxahS5CQSbBVElVCKHKM8\noya4eO2IV3KKp11HRnLfFqcBU+TuYEjn2trawsWLF/Gzn/0ML730Ev7yL/8SAb0KalJ4vRQ0Fad7\ng53asklC+vJ40yA5fUkm6cKD3/5W4wYdqS+KNMiBAaCrS9uFXbtICFwLFsnvkRQECOWHuZvGudcP\nX1EUgUDqkM120PB7il2cRFkZMNk3RYwgPWLLgrY2jM8XoaE2DocDOFQm4AZvOAXAVKIatQuZOELj\nqoBwPr+d2J4DaCyk8NmhMgHL9cb7TDqka7D/Ojr88O6ex8gIEBhKomOFL6OJLuV2YKKiM1MCW5Ep\no4euLmSKzDEq95/9jP6rSRnS8TQ+zlZBVAllOqSVPMNrR3klpxEboilD30qhqakJUUkKUTQaTYdf\nRLjdbnzkIx9BcXExqqqqcPz4cVy+fDnL1qlTp9J/zp07R/9YUECbLGKpQDOkLDa60dkdkL88o74o\n75HU6EixGL3nD3wg08E1fZmcpJm9gmqr9/frK3dAEndXTFiCq4srQ1T0pSNxHUNDqdonN64afk+x\n/kVUVQGrVwy2b1ERxgu9aHDR9Yr7CwKYrjCg3NfLUDt1lf4Sj2PPUhhD2wwVRBUYK/GhEbTa2+cK\nYHaPgYHa0gKMjWFyIoHFRSAZML6CbXGNEblfWYO/JMZNhO3tQKj+vVnj4J13qHaRHvbtS2VppXxh\nUbk//jHwJ39Cp5a1nsn0mCwpoWWeYsLihtQXg6dKs+wofDl37pyMK/VgityPHDmCQCCAcDiMzc1N\nfP/738ejjz4q+8wnPvEJvPbaa4jH41hdXcWbb76JfSrMI3VYllEj7QRWzKixGKlB1kMOUkiJ0Kgv\nkkp/ADQ70qVLlJP+iU8Aim0MXV8SCTp5qKfcAbL9zjvI6kjBbQ9/v3a70bF5DUPXNhEeTsA7/w5b\nKWUlfD7EQhtobDRBYADGCzxo2AwDANqSAqKFBpT7UhFqo6kbxaNRbOyuwdg8x0ZECmP5bjSu07tu\nTwoYKzHwTKkzHyPhJCorgfiQcZHjjQcRDgOB63H4W7e5TbS1AcHdh7LIR+yvepApd6+XlPbGBq3M\nR0ez4spra8C//Rvwn/4TffSGWvFKK8hdaccKnjF4qjTLjuKZTpw4cWvIPT8/Hy+88AIeeugh7Nu3\nD5/+9KfR1dWF06dP4/Tp0wCAzs5OPPzwwzhw4ACOHj2Kp59+WpXcNSFV3UZfXm0t5dQuLFjXAayw\no3PI4dIlio1//OMUb1Qe1NXyJRqlrYFchzoPHkypIUWnFhZq+JV7Xh46auYx9M4qwkIc3uplQzFC\n+HyIxZLweoGiqMEBBmA8UYeGGzTxNa8GEACfnfV1YG3dgfLlGMU+AwGsu/26t7ppYWyrFo1L18mX\ntQCG840904L3IJLxBNqb1uGcZrg/WA0+H7w3+jA8DAxFCuHf5+I20d4OBF2dMmExV9eF+fnce34y\n5Z6fT88QCtHKvKkpK73r3DngwAEKOe/fD1y5omLUCsGltGN0bIvXTq2uWueLCTum89wfeeQRDA4O\nQhAEPPvsswCAkydP4uTJk+nPfOlLX8K1a9fQ19eHL3zhC3y/QFTuYj64kWWONB3SDClb1ZFEX3Ry\ne0Vyr68nxSNGqtKoqcnk70t8yRVvF9HbS4Ml0ZYh92RAQHCihJ/cAext38bg9QRGx53w7OVXuACI\n3GeLsLcjiYpZY+8pmQTG1yrQMH0FWFvDrvVpXF/hSIME1aKqrXXA4UvFPgUByTZf5jYmDoyt7EbT\n5EUAQM2SgIFtY30vXH0E3ooFHK4MYaWao3CeFA0N8G4FMHh1C4XOLVR2N+X+jgLt7UBoyy0TFpfX\nOtDbmzu5pDM1J6RP+ovCTSfe/ju/Q//f26sRmrFacC0vkwhs4m8bOJ2ZQ4o7QETu7BOqQKYDiLWe\njXRqqR0zpCxudCQS1kwSOr688w6RO6ARmtGYsFji7QCF56urgWDRfvJjeRmTi0UoLnEwl3KRoqOn\nEIOjJagsXkfRXo5zCFLs2YMYmrDfvYimNQHbXv72XVgAClxJlI70A8EgVmtbMTrOmQaZquMubV9X\nFz+5J5PA2GwhGqLngWQSuycDuLxirO+FS/fDWziB7iIBsxUG+53DgRZPEsJgHB3FDJeXq6CtDQgu\nVlO7pO4PvjRSme6reigtpXZNn10ShZtKvD2ZJHL/6Efp75rkLj3zYcWY5CmlrAYrRKRog+e2OBXs\nfHKXdgCjpCy1Y6bRy8oo3jE4SJclsNR61vJFpwMsLtIeqfi4H/sYdfSs0tUqkwSrcgdo8rg0nzop\nODiIYMP74PNxZnKkUHWgCcl4Ap6iaVPvKZbfAm9iGH4YSD0ELe4a6hLpd73t9WUV88yFNLlL2rfk\noB/T0+pVn7WwuAjk5TlQVrwNXL+OvPgWBmY40yBTGMlvR0s8BD8CGC023r7eziKMTeXBnxgy9J7a\n24HQRDGR4BClUl667GAid0AjY0ZFuQ8NUSiyu5v+fvAgrWazIKZDDg1ZQ6hmeUY6Jo36Ip52HRhg\nvy1OBTuf3FtbabPl+nXjjQVYM6OKdl59lXo5b0oboy9XrgA9PZlzN/v30+Z7VjqYyoTFqtwBUkOX\nBgpJ/Zw/D6HyPYZCMqIvdflzaI6PmGrfWLweTeNvA3l5CC3s4f7++DjQ4HbRhtbgIPK6/MbJXarc\nO33YtUsjLVUDY2OpQ46pPpP0+zE+4VC9XyIXwhsN8K5cQ/O6AAHG27d6Xy02Nx3wcaZBimhoAJZu\nOLFc1gC89VY6U4aV3FUzZlSIUFTt4hA7cAC4dk3jLmufj1K/eCqIKtHeTvF/M6Qs+qITamKCeNr1\ntddM+bLzyb2ggGayS5esmVGNpkFK7bz9tjlfxMJJg4OqdpSDxeEAHn4YOHtWxZe+vnQaZDJpQLlf\nStm5cAHBwn3Gm8bvR9n2PDxr6s/EgrU1YCVehKrB32K63JfOgOXB+DjQ0OSk8/6XLqH0gA8TE9oX\n3KtBRu6BQLqCaLr0LyPS5J5q37wOH/Lz1W9jy4WRhXJ4lvpQsxBA/6bx/uvo8KM87wbaCsf488FB\nfbGtDQg2HgMuXsS6txOBAAkQFuzbx6bcpSEZIFW8rS77ZD4Aek8XL5ob16WldOLVLM/4fEjnBBs4\nVSqzY/KZdj65A9TYAwPmZ9ShIWOHHJR2zK4ixEwBDTviZqoUDz2kQu4KXyYnadJnPQApy5gZGICw\n7TWu3N1u5G2tw7d2xXCMMBYDGivX4bg+gOV6f1apeRaMj6eiZalnyu/0obw8dd0eIyYnU/eviMv9\nVAXR9I1MjEiXLk75Ap8PDQ2S6/Y4EI050VK7jrKxQby9aI58HPE4Gqu3DJvw+4FA5XuAgQH0lxyB\nz8eeHNXVJVHuYsF9RT748jJd5P7BD8q/29urEZrx+2kcmCFlwJqxLfYZg6dKZb6Y5Lzbg9x9PioS\nbqbR6+spTm5mNhV9GTEXegBABDg+ruqPWs7whz5EqzTZpfEKX8SyA6zRopYWGkjT9T1AJILgjRrj\nj5WXh7irGNX5i4Y7dSwGNDUmgEgE260+8+QeiQB+PzehppV7YyPFYVLvyLByN+GLiEgEcLcXIH9u\nEucnWwyFdgDKjlpMlqGsiqP6ogJ+PxBw7QMiEVxa72QOyQBE7tevp/aPXC4alzU1snzwX/4SOHo0\nuynuOikAACAASURBVMy8bsaMFWPS7zdvx+0mJWFYJUl8SfUZo7g9yL21lYpMGEmDFOFwUGyZt66H\nEn4/vTyzKqGujtaaijTIzU3q/OJGkojKSorDv/qq5B9raykYnzoV3N/PHpIBqEkOHgQuOw8BMzMQ\nJnaZ6pPzjkokYXAfAilyby0EZmbg2tuedX8CC9LkLtYOdrvR2AjZ3aG5kCZ3p5NUe6rPmArLTE8D\nPh/q6yV3qTJibY3mmLqmfDjKy+Eqzle9H53JJzSiDDcw7TKYDIAUuW96gZkZXJpp4iJ38fygeBgU\ntbVZY/LnPwceeST7u5qbqj4fjUmz5O7xkABkuUhdC3l59JA8BRLVYMEz3R7kvmsXqUEX/6ELGUpK\n+C7oUIPPR4cUzM7MGr7099NcpubmQw8pCig5HDI7uQqGqaG3F7g234D59WJsxZ2G575EApjYrsbs\nVhlXfFuK0VFSp0gkUOavk9UeZ8X4eIpQS0upz+TnGyd3pOyk2peX3GMxiXJfWzMclhkdJb5xlhYD\nJSVobpaQIyeGAg60O4cxsGycwPx+IDZbCGxu4lKgNOfJVCVkcXeVcfCLXwAf/nD29zSVe20tnflI\nvzSDKC2lzBSjaZBSO0ZOwEvR2mqaZ24PcgdU8gDfJdxkPy5c0C7ApLqpKgGvcgdIDU0MLSGIdlMJ\nQJOTwO68Fcy66rizU0REoxnRVJO6+Yy3udPKXfIghsMyChhW7kD6QYwo92hUfiA1fQmJAQQCQKdz\nCBfmje2LAETuidExJJIOXL5MpMsDWdzd4ZC9q5ERKjOgXLkCFEZcWaFF0I6HWZ4wOhAluD3IfXmZ\nTqhuGd8EAkDqSXl/KS+CQVIayqvyeLG6qurLxYvaBZgOHyaSSpNnMimzY0S5HzwIrPWHEXR1wtfI\nfuWaEuEw4C0Yx4arTD2jgQHRKOCuXAacTuxamURhobxUNwvS5L68TBsU8TiXck8micDTK5jVVWIU\nGCP39HWBqT5jRLlHIqm7RlLvurkZhifQwFASnYl+/GaOUwVI0NgI1K+EMOTqQvmuOKqq+L4vU+4r\nK+n2BSje/oEPqItnh0NjU3VqipIUjBwhlkIcSzyHGfTsmEEoZJpnbg9yHx6mI5VGcuNEJJM05Zud\n9gMBGvmsZYu1MDVFMWFF0Rg95Z6XB5w4ISlFMDVFMfvRUczP0xjhPTW9bx9QOi5gqPgA2ncbb5uR\nEaAFYTiT24b74+go4E6MpI7OBuHxgCs0s7JC8395ecqhsjIgEuEi1MVFWpkXFYEG+exsOtWGJ1sm\nkSCF3tAAIvfqaiAQQEMDv3KPRFLKfXoaWFhAc0PcuHK/uo6OgjCmNitlN8LxwOEA3rNHwGvFH8ZB\n7yL392XKfWZGNiZ/+cvsLBkp7rmHBJAMYvsaVRUiRkYonGJ05gQyp2XN8owFz3R7kLsgUO828/Im\nJujFSe9tfLd8AWhGbmiQ+bO9TWnrehtUDz4I/OpX2b6I+e28q7nCQuCe3QFcyTsEnyvM/RgiwqEE\nvOvXsXtjFsJ1YyusaBRoXhmkZwoE4PFkX0qvB1G1OxygybelBRAELuUuC8nEYjRTpCp48ij32Vma\nWwoL5b7U1/Mr93RYJhgE6urQVDRrPOZ+PYGOplW0FIwbykYS0V0YwOv5x9G7h39jRDzIlNzcosaY\nmgI2N5FMUt/WI/cjR1K3iEkhtq9ZwSUI5u1EIrQJL1Z9NYpAgJZrJny5Pcg9EKAeYabRBYHunrtx\nQ6N2KIcvXV3mfNnepk6wd69skhgYoJizXhr+gw9KrhyTtIuReLuILpeA/u296Njqz/1hDYSvLsNb\nNoeWunUIV/jDOxsblBBVN32VKkwJAtxuPuWeDskA1K6p92SY3AWB3tHcHLCywkXusni7xBfDYZn6\nLZps9u5FcyJiSFzG48DwWCHaD5TCGw+ZWgi3xQVcjvegJ28g94cVENt37p1UWVyPBxgeRn8/rZr0\nspXTV0RKIQjpPmMK4tg2Y0f0ZWJCkbdswM6+fXe4chfL4h46ZK7RxZoR0ltOjEAQqIeZ8UW8Oquz\nUzZJXLyY+zabffso/BAOp3zZvx/Y2MDVt9dVN6FY0LwuYGS9Dh0L540ZABAObKLFnYCvPYmgwL+Z\nFIsRMeeFAun2Narcsb5O8ZPe3rRanppiC6VmkbvPR2wTCqGigkKpGxu57cjIPZB5pqoq0hYsNkRE\nIoAnL0Yzf0cHmtcChpR7JALUFC+j5NBetCRCCF83vsdSe0OAsN6E7rW3uL/rcFC3jf4qddQ/dRI4\nV0gGIH02PS2/G96SMbmyQkZ7e82LSL+fVgBmogSCQDGoO5rcxWqQe/eab3SxI5mdJI4fJxtGd8Q1\nfLlwIfdtNg6HRL0HAtTb/X70Xdg0Ru5ra9hc3cZ63IW66NsGDBBGonnw7i1Ee08JhLFi7qaJRlOb\nhoJAE3k8Ds+eZWPKPRSiwZWaPAsKKLrCEgZVJffUe3I4aLuFxU46DVK0c/w4EAjA6UiitpY9dp9M\nppT72lDal6a5PkPkHggA/qIo0NEBb9UyRq4YqIMAAMvLiK9tYmmzCP7J1wyZ6OkBFt5OEWGqDAEL\nuTud1D1kcXeR3FdXadPECMRqkB0d5pW7WZ5JJKgPv+99dzi5i42lvHPRqB2xXogRiCGdjg7KvddY\nX8/NAf/5P+twv0YHYFHugITcJXauDhWgp4f/kRAMYqjuGBxOwBEKGsoUSCaBkdlStPRWoHx/M4qd\nG9wXW4i53OkJy+eDOxkxRu7iKk3Svo2NbOEQGbmLdiR1/FmJOZ0pkyqLi7176ZzG9DRXOuT8PO2Z\n744NpH2pjFzG1hZ/dDEQADridLze64kjPKS8AYYRgoBrDR+C0wm4gtcNiZzubiB+PaPctweDePll\nypTJBVloJpmU9Rktjhgdpev69J4pzTNmRKRKn+FGLEYJJF1d8is5OWGa3M+ePYvOzk74/X48//zz\nmp976623kJ+fjx/96Ed8v0BsrNZWkjBG0yGljW50khAECus4nbov7+xZ4PnnNe4+VfqSshGP0wEN\nlgMhDz4I/PpXSSRTdqYaD2JrK5lRipzPFKy5D4ADM2WtfKd9UpiaAkqda9jV7QX8fvgKotyRr2gU\ncNes0futqQH8fnjWh4yFZcSBKrn4uKGB7dH0lDtAGTMscfd0WEa0IZam5Yy7p9MgJb44goKhdMjA\nUBK+G1QN0ru3COEoX537NAQBA3segMPhwHwBZ8GdFHp6gOJYRrlfeieJ5ma2c0iHD6fu/wUo2yYv\nj4p+6ZD7qVPA3/yNzruThm1DIePpkFYod9GG8kpOTpgi93g8jmeeeQZnz55Ff38/zpw5g4GB7A2W\neDyOL3/5y3j44YeR5J3lxQctLKTRYmSLP5nMELMVjQ7o2vnVr0iBfOUrGqJGtOP1kqTY3MTQEBFH\n6o5rXfj9QOX2NBJ5LqCyEn2ue9BdNmLs3IMgIFDQjfp64FrdBwy1TTgMtDij6U7t277ObWZ0FHAX\nTmWI0OdD42wfJidp/5kFWcq9uJgmimiUX7knk5kKopJ3zbqpmiZ3aX3wlB1ecvd4kOkzbW3AyAia\nGhPcoZlg/wZ8xZQB5O0tR3h2V+4vqUEQcNXZi9paIND4fkN9prsbqF0K0E1gPh9eCTTg+HG278qU\nO8OYFAS6aPu971WU71B+yOejFXlFhbF0yHg8XUH0VvBMLpgi9/Pnz8Pn88Hr9cLlcuHxxx/Hiyq3\nOX/961/HY489hhojZ9uVg8PIUmdqiiaHykpzYRmpLzrK/dw54H/8DyKln/5U5QPiyxPLGY+MMMXb\nRTgcwGO9AcxUki9XNzvQ47jG/zwAEAhgaLsVHR1AX8lRQx1pZDgB7+YQdWqPB+0b/RCuMzJyCtEo\nqBa85F27QoOorWVfTGQpd0CmlrmU+9hYpoKoIixjSLlLfOEJy6TJXex7RUVAXR2aK1e4+ScYiKOt\nldRG7T3NuLFZKD0/xI5AAFfX2tDeDgTKjxgaTxWlW3AnIwg72wCvF6/Od+PY/Wx9pqODBPvcHJjG\n5F/9FfD5z9ONZq+8ov1MykmYG6Oj6QqipsIyjDyTC6bIPRaLwe3O3E/Z3NyMmKLHxWIxvPjii/js\nZz8LAHDwykvl4DDS6NJ60eItJ0Z6NcOMGouR+e5uUu5/8RcK9S5enSXWjEg9E2u8XcTxRgFCknzp\nm6lHz/Lr/M+TeqahxTocPgxcTRhLvQpfWoC3ZJqUcn4+fDWLCF7ha99oFHCvDmW9a56DTDJyVwxU\n1nTINLlL37XbTbuoa2vGyN2Eco9GAU9TXF4W1+dDc+E0l3JPJCgNsm0fVex0dvjgcUQN1e+BIKBv\nspYSS1wG0/UiESwUN6BvqBBJVwFec7wPx1rYnJFtquYYk7EYqfbPfx44dkyH3K3iGdFGSwt1Ap60\nKDU775ZyZyHqL37xi/jqV78Kh8OBZDKpGZY5depU+s858Qjm5ibNhpJObWgWk96uIt5yYiQdkmFG\nfeUV6kROJymFxUUq1ZtGJELsIZbFTT0Tj3IH6BDJ+QXypU8oRnfiCt81QSkkAwKGxnbh/e8Hri4Z\nOzQRvrYCb0OmE/vaEhACfDHL0VGgefZyVqdmzXXf3KQDv9W71kkWi8VYUu+JOywjHWCS2CcLuW9v\nk7Ksq4O870mUO1fMvWiaZgqxLK7Ph6bEKBe5j48D5QVr2LUv1S6NjfAmhxHu5z8mPzs0i+UNF44c\nAQKbLcbIJxDAUq0ffX1UBXVX4Raab7DnzKfj7jmI8H/+T+D3f59C8mK2ZFZCzeoqnToThapRnpH6\n4nKRPSOHCXSe6dy5czKu1EM+/2/OoKmpCVHJjlc0GkWzolzmhQsX8PjjjwMAZmZm8POf/xwulwuP\nPvqo7HOqjobDlEIhlsX1+6lkHC+kjQVkGuzAAeN22tsz6ZCSSe6VV5COHTqdwH/8j8DXvkaEr+VL\nfCiId97hU+5VCwIGtz+OaBS4ds2B7vY1sn3kCLuR9XWMTzpRWuHA0aPA1VglkgUCd9He8HACj7Rm\ndIKvuwjCt9lruq+vp0raxi4C/k/TP9bWAhsb8NSuIxrNbWtigr7iHBkm1SRepO7zAa++iob/J7dy\n396mgb9nD+SKG0irudra/Tn3Dycn6eR4fj7UVxENSYyPs7VyJAJ4Do9k+dL8ioCXRhmD1CAt014U\nk4kcb/kCwhdmgU9xVEpdWcHVuQZ0H3agowN4Yb4GWDemcpPtPly9Su/tmGeEa5I4cgT4138FMCJp\n38bGTEZbWRmWloBvfCMTny8oAO69F/jNb+S3PCEYpIQNsaCN3w9873uGnkk2tsUVwN697Dakez1A\n1kRz4sQJnDhxIv335557TtOUKeV+5MgRBAIBhMNhbG5u4vvf/34WaYdCIQwPD2N4eBiPPfYY/v7v\n/z7rM5pQI2WzM6pRO8vLNPLFlJTycipnoAievvwy8P73Z/7+h39Iyj3db1V86b+8hfr6FKkwwiEI\nKDvkw49/TN+r6KznV1ChEIZq34eODgeqq4HiUidGhXXu1Lbh8SK07c9c4lvV3ZAuscECMSfcKUjC\nMqlNVU/hJJNyl22mqkzkLMp9epraMi9Pw04gwJQtkw7JLC5SGltdHf0gZbyxaI55HyEaBTwrA1m+\nNM/z5boHg0BbQt73vA3rGL7GGZ4MBnF1z/vR0+OghUisGMmhAH86ZCCAXQd96OujTc5jvTe4xuTh\nw8CFt5Py9+RwZEQXiNg//GH5NRCqoRmreEZ5ubYRO9K9HiBzJaeB066myD0/Px8vvPACHnroIezb\ntw+f/vSn0dXVhdOnT+P06dNmTBOUjdXWZiwdUmnHSExNmgYptSN5eVNT9G6kJVBLS4E/+iNaHmr5\n8uZgBY4e5fAlldvr+aAfL72UKo9qZONFEDBUeS86OuivPQecuFpwD9f5+EQCCC9UoPXezGa5o8MP\nXyF7OmQ0CrgbtuVECAB+P9yJEaZ0SNV4O5BOh6yviWNyUj/DbWpK8us1VnssYRnVNEjJM9UvDWFq\nKve9rtvbNK4bpy9n+eKZOM8VLw8Fk2hfviKz09rmRDjEn73WV3gE3d20d+hwOjGTX89fKEsQUPNe\nP0IhEkTHHsznGpN+P5CYmUMikYSsLGXqPSUSwN/9HfDFL8q/d/y4CrmrkXLQwJkPrQiBGRv5+YZP\nu5rOc3/kkUcwODgIQRDw7LPPAgBOnjyJkydPZn32W9/6Fj75yU+yG1c+aGEhjWCeXi2mQVrd6Cp2\nXn0VeOCBlPKT4ORJ4LvfTVUBVdppbcWbs+04eoTjhotUbu+Rj+zBxYuUM2z0mYZc+9Pk3t0N9FXw\nnYobHwcqHEso2S8pCOLzwRcfYjYzOgq4y5eyidDng2dt0JxyLykBqqpQMDWa85RqutSvTp+pqaHP\n6QlVWRqkSp9xhQPYs4dtkqitBVzDQ3I7bW2oiVzAykqSubJs8No62gtHZbm2bd0lCI0X63xLBYKA\nvq296OmRpO43HOfve4EAXF0+NDfTonjviQYuceJ0Ah/tEHCjLrvPQKDTrqWlyBJN991H50lk7aZ8\n17t20cqc58yHeKpUernGTeIZVuzsE6rKGRXgV6jSQw4ijCyXGHyRxtul8HioU/3wh1CdsM7nvRf3\nujmqSaV8ueceIgifL9sXVjtDm60ycr+ad5CrI4UCcVruSzt1SwvaN/oRHGRbYUWjQLNrMrt9fT54\nZt/hI3e1wcG4qZq+GHtigiaF8vIsG0VFlBSkd8pdNQ1SxZdc3JGVBimipASO2hq4G7aZD3kFB7fQ\n7pWnGrYdrUFokSMWCCA5FMDVucZ0qQu/HwhUvIev721v03mVtjZUVaXm9LbW9JkPVpxoCiBSqD4m\nT58mUaXM+Sgpoa22N9+U/KPa2OYlVPFUqfTiV4Nj0jTnpbCzyd2KWUytsdxu2h3nKajP4Isy3i7F\n008D3zgtOeSQwvIyIMS96M3nyFNP+VJYSIuZ7e1sX1jtDC3UZMIyPUDfajtXRwpdmEdr0bj8qrT8\nfPiq5iFcZovnRqOAO6lyMbHfj6roJayvI2ft8awDTFJIUhD1CDVN7mrv2uNJxz5zhWZisVTpAR1f\nWMg9GgU87gQRobJUos8Hd8UN5kVsKOpCW2eh7N+q7mnBdtyB+Xk2GwAQvbaEkpLMFaEdHcBQHmcl\nRbFwXlEREolUeFk888GRXdJbKqBvNXtMTvTP4Re/AH7v99S/d/w4jdU0dCZhZqjZkBxSNGXnjlPu\nW1vUu5Wd2opGdzrTlf6YkWNGnZ+nMJ1Wxsvv/A6wFhjFVnmVjAgvXAB6qidQGOF4ppQvGxuZbFHU\n13MXTtoODCM8VZKea/btAwbnqrE9xN4uw5eX0Fabzby+tjiEQbZQ0+go0LwypNqpHUFKh8ylUMfH\ngYbqLSLglhb5DzmUe3091PuMJPaZq77M2BjbKoJFubt3L6WJUAafD+7CaSblvrQErG04UdcjP9vv\naG5CG4YxfI1d5FwNFKK7KxOL7uwEBjc40yEl+yKyvULOvTDPloBXJ3zy0LjPh2/2H8Vjj8kXXlLI\n7kRYXaXVveS8jmiH+5mU71pySNGUnTuO3MNhahgxDVKEFY0u2jE7SYi+JJN4+WXg/vu17/B2uYD/\n70MCRlxyG2++CRztmDf0TIODRCJvvIF0dgmznY0NhMcL0NDoSPNGaSnQWLsNoZ9daYSGttDWkk3i\n7fuKIIyypUNGo4B77nL25JmasFjCD2NjQEN8lBS2mAYpglEtT0xIctOVvgBpYs6VMcOyimhsSLKF\nZVzjmr54wFZYLRgE2kom4PBni5y2XVMIvc5YG2Z1FVcX3eg+nFkBdHYC12c5byZL7UUsLdECOv0M\nnGOyOBrAdLlf9pVkYxP+afkxPP172hPWsWN0AGp5GSTwvN7sjTJeEam2v8JrR22vBzCcvbNzyT3H\nALPEDisRLi9TIrbyDrvyclLhExP4t39Tv7Fdio/tDeDNWb8sS+L8eeDovUlDz9TXRwefzp9PJRDx\ntM3wMIaqH0BHhzwoub8nD/3hEubUtlC0AG1dhVn/3tBbi6U1F9NVbqOjgHvszexOLaZD7l7ISWLj\n40DDisZEzliCQDcsA8gyZvSU+8QE0FC6RKqwvl7+w6oqwOlE4+5ltrBMfFjTF/caW2G1YBBoR1B1\nHLTVLSN0hbG8ZCiE/pIj2NedoQ2/HwiOFWM7MMyeDplS7m+9Rf13fj51/o43i00QUH2fj8RNCm9d\ncCLpKsC9ldrjoLSU8uRfeQXa/GBERJq1o7bXA9DkY+C0684ld60BJlaHZK0mlWOgMkGs9ax2a2/K\nzi9+kZvc624ImNvjyywJQcr93g/tZvdFMrtfukSHMjweup6P65kEAUO7j6Tj7SK6Drgw4NzPXOkv\nNFuOtsOVWf/u7PChvTCW0521NWBpKYmalbDkGiUJfD54CiZ0yT0eT50InbmmPsBS6ZCN9XG2DdUc\nfUZPuW9vE1nVLASys38kdhqTMTblvtyv6Ytn4QoTuYeCSbSvXlW109aSQGiIfSwNOPfJLmEvKaH5\nK5xsYb/NPKVy33iDEg26uyX9l1WczM0BW1voOl4jI/fvfAf4f1t/C0dQv+N98IN0X6vuu+ZJh7SC\nZ7RsGDztunPJXWtGLSqi3sQSx0omtZdLPI2u5QsA+P2IvDGGuTmGA6+CgNYP+/Dd79Jfx8aI3NpP\nuOl5WCasmf+/vTOPjqM6E/2vta+WJVlqqaWWpVZrty15lc1O2E0wBBKWhIxnwiRk4REyk8k8zrxM\nQmYgMMkZBkLeDFkICRACIQtMMGYIwWxBtmVLeNHaWrvVLcnaLcmypO56f9xuqZeqruo2j8imfufo\ngNXVV7fq3vrud7/7LSNikcnOprlZ5Nior/ee/keiudtsdMZXhwr3KmhJ1lbV5tQpGJtPxbStMPTD\nsjIsHpuqe67DAQU588RYLYqC0OzuDSvEhodFTrgQl0EfXndIU+ywquaeZ1TYGnv74hPuSom/fNGp\nsT0KbQCUlVFwyqbN5j7SJN9OaSnmwYP096try13HTmFJcMimHLVUJ9HtCN15ySF12midXRtSzrGy\n0kCbMYLskF4t1yfc6+qgqYnINHdvFOf2HYYl4b6wAM89B585v1e1ncsv9wa7K73bvkAiLTEfwVGl\n/nwQwt3XToSmmZUr3NVuVMsD84VI+gc5+LcRgSAM15c/7ovjssvkFfvgduo/Y+XFF4Vg3L9faN6G\n5CTh0KxFDfP2RZLEC1FX5yfcI1yw2k+vDZnXVVXQ6qnQ1E5vl5u19BFTVhr64dq1WOZbVbVChwMK\n06eUF0+rlaKZ1rCae1gbt187+bNdiu+qT/vPkYbFOU9m6G7E3+autLFxubyWGJW+mCZawgr36Wlx\n0Jjde0i+ndRUzFkz2PslVWtIV+tpSs3y5yiWzZl0jymcPAYx0HyC5ERPSCR1RQW0pWnMDul1g5RK\nLEvCfeNGaG5G7Mrtdm1Bit7nW1cHHR0iD+Af/yg22NZtWap92bpV6FPzLeEXYU33FBxVGk0boKpE\nRnqounKFu8rLoemB+dqQ0wiLirRXOVF56H88alQ1yeDxQFcXOTusbNkiUgHv3+8XZKF1Enj7MjAg\nzoDy8qLX3NtGc6msDPx1VRW0T5vwdKhPpO6Do1gSBgLdIH3ExVGSNUmPSik3ux3MiUNhX7CikcNh\n172wfuV+7eSNtShGqY6OClNnfF+YNryZ/vKy5hWF++BgGE8Zv77kDDQzPq4sx+x2KCqSMPT1Cokl\nw6ryPOJj3KqujN19cZRWxMl+tvb8QuxzOZo2ja0tEtUloWHwlZXQhsYC1f39YDTS7UwiKUkcY9XV\neYV7JO6Qfu7AGzYIr7NnnvG6P2pQcuLihEvkYquKnNFyT+HGOpIiQx+EQuvHyhTuPjdI/6QQ/mhd\nxcI9LF+mPy1hvWHa8Vis/NFVzeWXq7QxMCC0wdRUPvMZkZfo3XdFRCsQ8URqbhYvhcEgbJZ2O0wk\naXeHPNnhYnw2YSl5oo/0dMhKX6DvffUMk92HxrFkK19nKXLTrRLI5HBAobs/7KQ2DzRgtyuf1zmd\nUJDnFmqz0pyxWkno7VCMUg3rBunDa/s0LjgUzTKKaRCC+hLb3UlurrJ5p78fzGvmRMhsskIUqdWK\nOSO8r/vCAgyMJ7O2Vr4KTKKlAKNhGEeHujtka18yVetDqzdVVkL7bGFE89entYOIr2hr87qDRyFQ\nt28X0eF/+APcfLP2Nq666BTxkydC3SB9fBByJpKo+o+EcO/tDUxxGoxWzT3cw4qknTCa+9HT5WS4\nx1hbpLI39uvL9deLw5ymJj/NXevgefviE+4gtJBNm+Bgo0Z3yPl52gbSKS83yJqSqqyLtLarT43u\n1tNYCpWFd0llIj12eY3Rh8jj3q4sCPPzSZkeJjXFo5g6wOkEU/K4eEmD3SB9qPi6q7pB+rVjnGjX\nZpZR2e6bTMrukA4HmNPGVPtSlDgUdlfT1wemxDHiK2VMZyDcIZMH6X5XxbY8N0fLZCFVW0KrN1VW\nQtuwuikEWHq+/sI9JUWsya2tRLyDBfEO/eEPwryTm4vmIMWry7roM5QgxSiUG/wA5AOg7Z7CnQ9q\nbSOIlSncw2k9oH1F1fLQ1dqZmRHuD8FukF5e27+KKxLfUvcu8etLZqYIGMrN9TPTaR28IM3dR0R2\n995eWjN3UFUtn3a2emMirY40Vde27r4YSsoVHPuB4rrV9I6mh3U4cDi8Pu5KkzomRhwe5swpKj8D\nA1BgcIYfaxVfd1VPGb920gbaAfmoWZcL8jNPiXkj5/0DIhWGwYBpzXxY4V4Y41Lti1oR8a4uKI1R\ncKf0YlkzSfdhlZ1adzetibVUy2juRiMseGIZ6dCQBtT7fPfvXxbu4GeaiVJzb26GT3zC+5kvSFEl\nc53FY6Mn1qr82n0Qmjtouyf/anFyRBHtunKFe7iH5a0jqWoojOKh//d/B51r2mzKbpCIYthXQ5tr\nVwAAIABJREFUFrWrC+agvhQUBAU8aZkAfqu77zDVR4Bw19CXttQtIfZ2H1Ubk2iRqlUz/fUMp2Gp\nlTlE8pJaU0xG7HTYknL2PjeFpzoJW93basWcNqGooTqdYDodXoD5Ch/n50mymnskwt3QpewxMzgI\n+ZJL/D2lYja+GrFJ4+GF+4LKPVmtFM22hdXcu7skSueOhxfu5gW621R8qG02Wt3lIZ4yIG6nsspA\n+4JFPc9zZyenzOUcPx5YnGbJY0bL/J2YEKfN3hSeJpNwAQ8oLq/hfTLYOqHMqlzI3teGn5Lz1ltw\n5EjQdR+EcFdrI4po15Up3NU0bm8dSVU7VoQPfXwcdu2CmhrhL7vUhkJfTp4UAvXyTWMRD97srHiB\nl+ISLBZh/w+XB3Z0FAwGJuOyGRwkwI1x+3bRF8mqQduw2WilSvZFBa/HTMKGsO1IEnRP51KyI0/x\nGsrKKDH0hs3yYO+XMJfEhXc1slopincpCrGBASiYag0/Z1JTISsLU9qUoua+5AapYben5DHjckH+\nXE/4NrztmGIGwwv3kyr3ZLViHj+CPYw7ZNfRWUoT7MoaIWCpSKC7L7z5bKTZwTyJipuRigoDbTkX\napp7TQvrqK4OPEpY0ty1aMs+t0Pv4vnmm2IzFPA1Le3YbOSeV8bLLyt87ucOOT8PX/6yyB0VkPBW\nKarUHy19CWeS8RGhO+TKFO5qDwvUb3RsTGj24YpyB5lCfvc7uPFGcdD5z/8M3/ymyIKn1JfXXhMp\nB9KqNJSn81uwJEmUCKuu9stxkZIi+hpODfNOgCNHDaxfHxgxXVgodgK9aes09aV1xhxeuM+XintX\n4MSQhyRploy6EsVrWLsWy0I7PR3ydvnZWZiZNbCmQsZV1Z+yMswL3eE19yEFf3B/rFZMBpesQB0c\nBGPqSbHIhKua4p13eXnKwj1vvFVbX+Z7wgv34cPh20lLw5w2Tr9NeavedXwOiyl8oQdL3Sp6RkJt\n6f60Hj5FlWlScTNSWQltSXXh597iIvT20jBgDjDJwLJwl4o1eJcECcLf/lakFHj7bb9rtAjCzk7K\nd4rD3ZNKQbpWK5NN3VxxhZhnQ0Pi8Hdp96cUVRrUhqadvQaFIJJD1ZUp3NU0d1C/Ud8CEa7Oqy/T\nn1d9/tWv4NZbxel9Q4M4pDn0vPJD/8MfREIw1b543SB9Gbra24VCcNttYmIuobZ9806AYHu7j/p6\n2D+uPgHmO3rpHc9QfMQ5OeJccrBZ2Z7S3TCMJd4uNGIl4uMpyRinp0nenmu3g3nVpLyfvD9WK+bp\nVlnhfvq02KXn9jdqmjP5833KZpmFAXWh7LV9Gte4Q8wykuQ1ywzL5MmR6Ytpqj2McJcodB5QdIP0\nUVQaF1Zz7+41UFqucGDoxXJ+Pt0zxrDXtLbHUFWmbAatrIQ2t8rcs9shN5cDTfFs3Rr4UW6umEq9\nrkRhZwlnfvBT/txuUQD7jjtkhLsGzT15Qxnbt3ujVWWYLl7HNV8tY/168a7m5ord/a9/HdoXRbSY\nkbUqtB+mcN+7dy+VlZWUlZXx0EMPhXz+zDPPUFtby4YNGzj//PM5EmKwCkIpG2QwaquhlocVFycE\nfE8Pw8MiR8u114qPcnPh1VfB027j98dC2/F4YM8e+PjHUX/oLhesWrV0evrOO3DBBeIA6MUX/fyu\ntQh3mcNUH/X1sL89U5z0TSn7l3e1LWA2uRWdkQCqzNO0HlHWnnoaR7GsVj9AsxScprtFXnPs64Oi\nhDA+7j6sVswKvu7Cy0UixjUQmg1Sph3TtLxAHRqCvBmFKEN/vLZPY+JEiOY+Pi6UuKQejZr7yBHZ\nvkxPw+k5icwsQ/jFEyioysA5Ei9rzZMk6B5KxbIhvFaeU2vilCeRKZdyiuZW5yqqNykngqushPaT\n+eHnr1fjPnRIvtRvwKGqxnf7wAERo7hzp7BaLi24au/SqVPiENNs5tprkTXNuN3wqQP/QHVqP48+\numw5vPVWoQgG90WRJA1BiitNuLvdbu666y727t1LS0sLzz77LK2tgRXMLRYLb731FkeOHOGb3/wm\nX/jCF8I32tcnvAzCSR7Qrrmr4Z1IL7wgBLt/PE5uLmxa1cl3ni3jnXcCv3b4sIjmLi1dbkPRuySo\nL+++K4R7SYnQkhsb/fqi9nKUlYUcpvqor4cDB1XcIRcWaHVmULUuvI21qhJauxIUP+8+OkNJvnoi\no5KyOHp65XdP/f1Q5OlV13ILCjBPt9HfF+p2MzAABdlzwv1NKSWnj7Iy8oflBerQEBjHVGzcfu3k\nSa4Q4b7kBqlxi22y78fpDJ0zAwNQmD2HoVy9L4mVJWQnzcge7o6MQALzZKwvCv3QD0NsDCWJTnre\nGZC/4PRpWk4WUXWest2+tBT6x9M53d6r/IdsNiaKNjA4KF8zeilSVe3d9tvZ+xSsmBgRM7KkvasF\nKfqyQcbFsXOnaCf49f3nf4a5+HT+q/R7AUdCl18uomJ7e9FmZYDw3nA+Rwkt1ooPy+Z+4MABrFYr\nxcXFxMfHc+utt/Liiy8GXLNjxw4yvPao+vp6HGpVfSMRyhonQFi8E8lnkglgZoa4yTHu/3kht9wS\nmBfp5ZeXtXwyM8VipJRNKqgv77yzHLzkm1hLfVHRWObXltHa6i2tF8TGjaKEmLu0XPnZ9PXRmr6V\nyurwQ1+9LY2WwUzFBau7GyylYUxeXkrWp9E9JK999vfD2hmFxFj+xMRQUJrE0FDoztbpBFPKhOY5\nk+doZHg4MEp1KfWA64jmdoxzfSEC1eWC/JxFYcBVOnn0kZ1NNqNLaQb8cTigMG1cc1/MCfK+7r29\nUBJr19SOJXOc7oMKib96emiNraFqnbJ5JyEB1po9dHWEcQjo7ORw4g7q6kIz7EIEHjN+MmLPHvEO\nQZDd3RekqHSa79dGeblQ6t5/f/njV1+Fp56C5x4ZJK6rPeCr8fFw003w/PN8MPJKrlqcHJFEu3KG\nwn1gYACzX3RXYWEhAwMKqz/w05/+lJ2+kVBCq1AuLRWzV8mOFcFDtzeNcOwYXHll0GfebJDXXBvD\nzTfD3XcvfxQg3CG8YPbry9CQGEtfZr1rr/UT7uEmgHd1b/VUsHat/G49I0PIlLbMHWH70pZUp3iY\n6qNqc4rIMaOQ6a97MBnL+vAmA4DCrfkMz6bKZivt61qgaK5DnAarEF9WTM6q0yH28oEBKIiVKdEn\nh9VKQk87GRkSIyPLv15KPdDdrl24T3aEaO6Dg5CfJlMLVg6DAUN5GflZ8yH35HBAYeygduHu7pN1\nHOvplihe6ND0bCym03Qfl9dyp4/2MCplqVq9KmtiaTtdgmI+BJuNQ3M1igVtNHnMTE0Ju1V+Pi6X\ncDDbsUN8JHuoqtROkJy59lpxhgYiwPvzn4cnnoDcbcVCDgQpObfeCs8+ywcj3LW2EWEN6TMS7ga1\nCezHG2+8wRNPPCFrlwf49re/LX6efpp9WhpUs2NF8NB//ucybrlFxhLk18b99wv73u9/L/5kV5eY\nTP7taBm8fftETgvfNu/888UWb2iIJV9s2aifsTGQJA51rZa1V/rYvBkOsynspG5dLFMX7tUGWg3V\niu10T2ZjqQ/jieQlrqKUwliX7PlYf8dpikyLGjKuIYRY6ljIcDudYFqQKdEnR2oqZGaSv2YhQKCK\n1AMat8YgzDInjsqaZfJjT2jrCwi7u4xr5pKPu8YFq2i2TfZQtefoNCVx4d0gfVisMXQrZOJoe2+c\n8swRWW3bn4oKg1Aswsy9xiGzonC3WMTh+Eh2hbqiZDDwyisizbbPGrd5s/jaUvYNjQoXiPMvn3PD\n3/+92A1cfjnirCw1NSSs+aKLYOSEhLtdgwujWl+0zjtgX3Y23/7Wt5bkZTjOSLgXFBRg93vb7HY7\nhTJa2JEjR/j85z/PSy+9RKbCRFsS7tnZXHLNNdo6oPTAgoIcwuEpLeNnfZdyxx0yH/o99JQU+PGP\n4Z57RFrR664LMvFqHLw33hBlvnzEx4tJ9OqrLPliI2e68rbReMigKtwPTSpvaz2dXbRN5isGMPko\nLIQZKYXx5lCpPD/nYXAhG/P54W25ABQXY3HbZN0h++2w1qpiJ/dRVoY5NtTXfWAACuRK9IVpJz/t\nZIBAHRwEY9ai0M7kMogGY7VidBxicDBQoXO5IG/REVFfTPGhaYgdDiic1nAoC7BqFeakYextoYeh\nvcenKTaGd4P0YdmQRveg/E6s5f0FqorU6+FWVkJbwnp54e52Q28vhzrTFedvTIwIbDo0VqxsflAw\nyYAwDW3dCn/+s/cXEWjuF1wg5tILL4jAxO99z+9amXZiY+ErnxrmlCdMVKk/H4TmDlyybRvf3r79\n/79w37JlC52dnfT29jI/P89zzz3Hrl27Aq7p7+/nxhtv5Omnn8aq5QYiuFHFB6bFDdLLW/3FpLqn\n2Lxexlc4qC+XXCJO+R97TNjcNPXFF+TgdYMMFu4QZHdXuafGRnlPAx+bN8Mhe47iRBo4Nk56qkcu\ntXcABgNU5o7ReiDUAbh3/xDmWCdxGepmGeLjKUk7QXdjoGeNxwOOkSTM67Slm8VqxbzQHbIjdTrB\nNHJEs+aD1YopfiREczcmT2qeM5SUkOZow2CQAlIQLFWDiqQvbkeocLdLFI4eCSikHo4ik5v+jlAh\n3mPzqDqd+bBsz6F7ao3sZ609iVTXqLdRVQWtp0vl515/P+PZVoaGY0JqCPizdSs0vp8gzA9y2z3v\ne7CwIFL8Xn114McBxa8jEKixsSLn09//PTzwQFD2XgXF7bM7bLQtWrUVSAoXpPhByDwZzki4x8XF\n8dhjj3HVVVdRXV3NLbfcQlVVFY8//jiPP/44AN/5zncYHx/nS1/6Ehs3bmTbtm3KDS4uihVbxbd3\nCSVtOYKH9cQv4vhc1ositWowMtulb3xDdNG/Gk3YvgwOCo08IwOnU9h3gw9Dr74a/ud/vMcHSoPX\n2cm8pZJjx+Q9ZXxs3AjNLQm4p2Zk3SFbO2KpKtdWuLqq5DStLaEmItufh7GuClNENAhL/iw9RwMT\nsQwOQmbCDEmVxdoasVopmj4eqrk7JApGjyhngwymrIx8jyPULBMTgTnFa/vMy14MMM0MDkL+uIYD\nYr++mGY7Q4V77wKF6ZOQFt6F0Ye5NAG7PdQs0+tKoLhaJh2zDMXb8+lzF4h5E0TbUBaVW5TTTPio\nqoLWcSOeTpmcLjYbh3OuYuNG+cNUH1u2wMGDKNvdve/2O++IS4I35x/7mF9goNK7NDcnBj0oJWpW\nlng/b7896HqFdgpO2ZjIFvUZVElJEVVc5HblkQp3jR4zZ+znfs0119De3o7NZuPee+8F4M477+RO\nb4zuT37yE0ZHR2lqaqKpqYkDBw4oN9bXJ3zJ1NwgfYQRhFq0p8lJeOkluL32qOZFoqlJuHH9+78r\n9CXYuyTIJHPxxaEmZpNJyKb33iPsgnUscTMWS/h3PjMTcnMNdBR+LDRx0uIirYOZVNVpK1xdXhNP\nR1/otbb3p7HmaSiO6qWkxEC3LXCR6OuDojiVZF/+mM2YZzuw9wYeoDsHJEwFBnU3SB9WK/mz3aGa\n+4JDe19AZIdMmw4Q7i4X5A02R6S5F4wdI9gHweGAQqu2MQIwr8ugfzjweo8H+iYyKN6swcwEJKfG\nsCZuAsd7Qavn/Dzts2YqLlA/X1m9Glav8tB3TCbc02ajMeE8RXu7j61bva7BKu/2K68EmmR8bN8u\nsktOTCDiHgYHQ92RurvFZ34ZROfnhe96TIxM1lClhaazk9zzy/jpT8PfU0A7we+2VjdItb7IsLIi\nVLXkV/BHaRXTuBI++aTQmtdU54Y+sNlZsYwH5Xr+zW/g618XEyFAi8zMFEa/YHdIv77ImWR8XHGF\nN0ouzKRunKkKa5LxsXkzHM64NPTZ9PfTmryJyhqVkzEvFfUZdIyGumfZOiSsFo3FkIGSmhR6XIEL\ndn8/FC12ax/vmBjMBR7sXcvms6kpkDweVpWHyW8TTFkZ+eMtoTb3mQj6AsLuHj8W4A7pcknCLKPm\nBuljzRpMBifOvmXb8twcnJyJYU2VujD1kVeXx8RcUoB5YGgIVhlOkrJO4y4YsGacoKshMFmcu6uX\nHkMJ1ipti2dNNRzvklmYOjs5dFrZU8ZHSYl49VxGhVQG3vfpj3+U8W5D6IU7dnhNM35BisF9CRam\nTz0lXCI/8QmRhiSAMHKm8uNWDh9WTUC53E7wu+11lNB01gPakyay0oS7luAPf3zukMF2LA3C3eOB\nH/wAvvpV5B96V5eYaX5q9siISM51yy3CVeq73w1qVK4dv7786U/Kwv2yy7w1HcPY3BtdJs3C/RAy\ndVBtNtri1ql6yvgo37yKdrc1JNOfzZmMdb1CAQkZLFuy6BkPPHTq71pg7XyncqEEGcxlSdgHlsfD\n6QRT+klNwT5LlJZiGm7G5VpenIaGwDjeFrFwz5MGlzT32VmYPy2xujRbm/cPiLS/axNw2pdf1IEB\nMKVqSMngR0y5FVPccMCOv6dbokSKbMGy5s9iOxKYA733z06MiROK9UKCqdmYwPFTltCCMTYbjUNm\n1flrMAjTTONiXej8nZ6GyUlGEkx0dYkSlXIsFb8G1XcSxLnt/feLoKWbbvJLLUBQG8G7cpuNhGor\nn/ucOIdTJVxftHoeaol29bKyhHukmntysgjxDD5l07BIvPKK2EZu3478dklmdX/+ebEVTEsTBy/P\nPRdkQpNrx9uXvj6R4jvEVu/lgguEj+90njW06vroKHg8NB5LCsnJIcemTXBoSkbb6OykZc6iWbiX\nlRvolkpwtwdOSNt4NtZ6jZoGkL25mAW3QWyVvfQdnaIoeza8ATYI47ocJqbjlnbZAwNgih+JbM6k\npZGfMYvLsawQDA1BnqspcrPMqd4l4T44CHmrTmEoi6AvgKlyFc6h5WfgcEBh3GBkfbFaKVrsob9v\nWfj0HpmiONauHhgT0IyErTNQgHUcmKA8R6WOnx816wwcT9sWIsTG2oYZmU4Ke5jqY+tWaByzyL9L\npaW88WYMF1ygbIn72Mf8hLuGd/uZZ4RZ9IIL4Kqr4PjxIJGSkSFs5v7bND9zyle+Aj//ediMH5r7\nogmNkaorS7hHqrlDqA1qakpI0bzwW/VHHxVBSQYDmlZ3EGmAfYctOTni/wNWbLl2vAvWG28Ibxul\nBTolRUzqtw6nicnkbzew2ZizVNPWZmDDhrC3BQjh3uTICTnYGj4yyIIhPmzqdH+Sk8GYPEVfw7IR\ncnHeQ/98HiUXqgce+TAUr8VCd4A7ZH/XPEVm7aYdgJiyUgpSxpcWVKcTCiR7xHMmvzwd11DMkiI2\nNOjB6HaGzyAajNWKcapz6X13uSAvaSLivqyqKsDtXs5K6HBAwWKYsoNyrF6NOd6F/diyttzTPEFJ\ntlKqQ3ms61PodAV6QHW0LlKxVos7iKCmBo5LQfERbjeHerOpq9O2qdmyBQ52Z4WaH7zv5OuvC+1c\niU2bxNwYHET13fZ44KGH4P/8H/FRYiJ88pOiDGYAwXLGL6q0qEi4Mz/5pMqNaZQzqmj0mFlZwj1S\nzR1C7WE+t8Mw25yjR0Wo8S23eH/hq3Li71cb1JeuLtG0v53v7rvhJz8Ra4lsX/zcIF9/XWgU4VA0\nzXR2ciT7UioqlMtp+pOdLX5sbYF2ueNH3NQUz2jeAQKUGydpP7R8eNp/YJC8mBMkZmvz5AAgIYGS\n5CG6G5bPI/odsayt0H5oCAh3yBjn0o50YABMsxqSfQWRVF5ESvwCY2N+qQfKVmvfGgNYLKLg9qDY\nYblckG/QGFXqh6HMiilxbOkQz2GXKJzRGCnrR1H2LP1H/YR722mKC9Xtsv5Yt6/BNhG4wLX3JlFe\nHafwjVCqq6FtxhxYYN1u53Dy+Wzaom2XtnUrNB6ORTLmBbpD+gn3cDWLY2OFIvWnPxFW4QKRtjsh\nIdBcevvtwgYfYIWRkzN+Y3TPPUJhDFeOQTZI8SMh3BcXxUBqdYP0EbyianhYDzwAf/d3fk45CQnC\nZcW/6nrQLuKXvxSLgf9WsLRURKn+4hcKffGWzvJkZPLqq2LLF47LL1c4VLXZaIzbrsne7mPz1lgO\nTZUFJKo+1p3CunURCDCgomSBjvblySjcIFVKCspgyTlJz/vL+9a+0VSKajUEf/hjtWJe6FoS7k67\nm4Lpdu1ukD7KyjAlj+NyeVMPJM8TX67RIdxHUhLG7EWG7OKA1+WC/IX+qHaeJoNzaaPmaJ+hMHkk\nyNFanbVmD31+vu69/bGUVCgnfpPDer6RrsUiPNPLdveOkUwqtmmMRUAEdGanz9Pb7GeDs9l4P6k+\nsFJSGAoKhIbfbz4/RMnpy9rI5KQoCh+OJbt7sAljbk6o9N5cCo88Is7d/Nf1884TZyjNzX4NBr/b\nQeaUHTuEKTzEXu+PXJBiNGYZje6QK0e49/cLU0pS5NpcwI2qPKz2djHoX/pS0Adyg+ddJCQp0CTj\nz9e+Bv/xH97F2NcX35Lv7UtzsxhTNRm0ZYtY34bza0PuqXGmMiLhvmmzgUOrLl2+J7eb4yNG1u2I\nTGiUr0+kvX/ZV7qzaRqrMbLtPkBJkZvudiEIp6bg9GIs2bXaTTsAFBVhPt2FvVvssAZss5iyT4vF\nORKsVvJjhnC5vPb2lKnItSfAWJLCoDer4+Ag5J2Mbudpmlsu2uGwzVFoisxcBVBcnkBv/7Jm3HMi\njeINqyJqIy0jlozYGVwNXm15YYH2U0WUX5AbUTs11nmOt/qJls5O3p+vorZW2/cNBq/2nnpxiLb8\n+thGPvYxdfOOz+4uFa0VNhqfK5GfG2R7Oxw6BJ/+dOB3Y2LgM5/xq8YGqpq7wQDf+hb8y7/IZw8J\naCdCZTQEje6QK0e4R7OCQVjNXZJCD7i/+134X/9LRjHyf+izs2Kv7vXkaGgQ7cidzl94oTCV/OlP\nCAkeH79ce9TbFy1aOwjPrYsvhj/N1Idq7k5tnjI+Nm+GwwY/jxm7nWNxdazbqNEf3EvF9kw6xpcj\nF22dElZLuNkrj6UygW57vK8rrI1xRHz4SGws5uxZ+lvE4uLsX6SgOLL7AbxFO/qX7LLGSAKY/DBW\nZTE0Fockgat/gfzTveFrwcqRkyM0d5vQlh0OicJSjXEefpTULldTcrvBMZvJ2u0aXTL9sGYMY/O6\nQ8609jNiyMFsjaw/NRvjOW5ffsFOtfbSPZ2j6Ewgx5Yt0OiuC3kPXu8sCmuS8VFVJYwBHT3x4j32\n7cr9duSPPSa83uT0ydtvF7v1JUutBgvBlVcKufLCC4FtBcghfzkzNib+QCRnPaCtJCcrSbhHs4JB\nyI2ebLLx/d9bl2pax8WJoKO77xYBSy+/DHfdJdOO/0P3uUF6PTkefxy+8AV5k6zBICbIT37i145v\nhffe09692oQ7eLeT/YETabrDSZczRTbNrxKbNsHhk9alUnlSp41jnipqNISR+1O+bTXti6VLmf5s\njiSsNRHuroCSjavpGREvfF/nPEXunpAIQS0UFYG9S7xxzqFYTBWR7UQAKC0lf6YTl9OjvQKTDGlV\nZmLwMD0Nru5T5JvQ7gbpw2DAlLOIs1XYyx0nEims0W4G8VG0LQ/7TBZut4jaXcMIidXa3Sl9WPNm\nsDWLQ6TOtwexprgicWgCoGZrKsdPlS6ZBI83L1BeMBPRBmvLFjg44ucxMzODNDrG6w0pYQ9TfRgM\ncM01wisu4N327shnZ4WXTEA9VD8qK8XX/vu/vb8IdoeUkVc+7f3b3xYJBm+6SYQ8xMQIBXDTJriv\n76+XK5wF1YLVTLhoVz9WjnCPVnP31h6dbnNw881w6mgnSetF0dvFRWFi+/WvxQHjpz4V4rq+jL9t\nzm91Hx8XA/XXf63chc98RiQbGhkhcIXv7GSqoIrDh4VGroVLL4U3j2YuT6SxMQ7O11JbF5n1IScH\nVqW46W4SQsPZ6CQx3hOxklC01sAIa5g5KvJi2yYic4P0UXyeib5TuXg80N80ytpVYwERgloxV6Rg\nd8bg8YBrMgVTbYQ3BJCejil5ApdtZrkCU5S7Rl8gk2vAQ75FW6h/MCZzLAM988zPw+hsMnkbI9e4\nk9ZZyWYUl1Oi9/1JSmL6tQfG+GEtlej0Tt+OxinKc+VLJIajel0Mx+OXte7mzlRq10dmatq6FRp7\nspY9vrq6aCu8nKQkg+Z8OUs5m2Te7d/9ThS3CRdm8cUvwn/9l/cfGRlCQg8NhY0qzc8XMverXxV/\nf/9+YaYZGREHrsNx+dT85Gs88AB42qOUeRB6liDDyhHu0WruAFYr9/5TDEkLJ8lJnOKu+/OpqhKK\nd3w8bNggfFhNJpGXZdMmOHYstI0loezXl6eeEhrAGvmcSoDwl9+1S1wb3M4b43Vs365aLW2JmhoY\nGYtlMLlEnNLZbDSsvpodOyJc3YFN1ac4fFxsqY81zrGuQLu/so/YWChNH6bz3WHcCx56TpuwXFgQ\ncTspVWvJlMZw9s7T33KSIqN29zp/zBsysY+lMjICq2JnSKyM8CDUS77JgKvrFEN9c8INUkMG0RCs\nVozeQKbB0TjyKlWysSlQWJaMw2nA5QJj3Cix5ZFr3GRmUhxrp7d5gp4DJyjOiHysAazrk7ENiEWq\nvc1DhUW5+LYS1dXQtmDB3WEDt5v3T5ioO1/jC+AlNxeysg209SYJLc1m463Ua7joIu1tXHaZSOkx\nY64MebefeAI+97nw37/pJpFuZCn61LcrV4gq/fnPRaT5174mTPyf/KTYaRoMIjbmggvghw9O01Ry\nI7/+NRz+9ZnJPDW7+8oR7tFq7sDbadfw232Z/OCeLgylpSGq+fy8WEm/9z340Y/gvvuEZ0pAmhtf\nlZPFxaW+SJK4Xmnr5s/f/q0wzUjWsuVDVZuNvS1Fmk0yILp+wQXwdvYNYvA6O3mP7SHV4rWwaXsC\nh+1Csz3WFse6Cm0VXIKpyJ+io3kWx6EhcmJGSTFGYQpJSMCS6KT7vSH6utwUrY1u6mW06wGMAAAT\nW0lEQVRuMLOwaKC9HQoMEeSmCSLfkozT4WGwawZjniHyrTEId8jTfTgdbkZnksjdEEEaBD/MGzKx\nj6YIN0i3xtz0MpRkjNFzcITe4zOU5GtL9RtM2Y412CaFJtPRn0x5TYSH1Qi7c07qLD0HR8HhoDl2\nE7VbI29nx3kxvJd+pXgvbTbenq+PSLivWiV2AH+a3hawm+5OrOLIEaGQhSMpCXbvFqm+geVduUxU\n6SOPCHPMm28K+XLtteJwNYTSUors7/LETzz0/I+NmfyPgnCPxg0SUSLxjoa/5YcX/5qMYfkF4sEH\nhez2pem9/XYhiK+7DtravBf5qpz09S0N3ptvClO+FpPKhReKReTgfK34/okTSLFx7N2XFJFwB5G2\n9K2YS6CzE6nTRsNE5VK1mUjYfHE6h05VwfQ0xwYyqdmsPWWAP+WlHtrbwfbuENb0yN0gfViyxuk5\nNEa/K561VdGZMAzlZZhjBjjavIhpoT9yN0gv+ZUZuEbjGXLMYyyK/AATgJQUjMkn6WycJDtukriK\nKDRuoGCricFTGfQfmaAwbkiYAKKgOO80vcemRQUmS3Svdul5RmwLa5FmT9E+uoby+gjdVb3UFJ3k\neNM8UqeNI+4azZ4y/uzYAQ2JFy8pOW8PlwcWyNHAzp2wp9OrcJ0+DYODPPm6mU9/Wlt+wi98AX72\nM2/uMZ9ADVJEf/xjIdz37VuOQH/gAbGTP3QoqMH0dMjIYKPRyeaMTh7/00fBLGM0Ru4GiVgtN5bP\ncoP0O1nTzvHjIofM//2/gcrZxz8uhP7OnSyXXAsavO9/X/jDa1HqDAZhe3/2oHfr1tnJ8YIrkSR1\nn9xgLrwQ3p5YBzYb3U2TJCYZtFSiC2HTlhgOGzYjtbVzfMrMuosjt8ECVNQm0jGQiq3pZFRukD5K\nChbobpmjb3wVRRuj6wtFRRS5e+luGKYgbSJyN0gv+RuNuE6mMTRsIK8sip2IF+MaN70ts+RJEaYM\n8CO+ysoaRunYP05h9qz6FxQoLjHQ2+2h15VISU10i2dGViwpsacZ/HMXHaeLqLg4ut2IL4FYb8Mg\n6YkLYc2aSuzYAe/NiQRifcdOMudJ0JS+wJ+dO+GV9zKQ7A5oa0MyF/GLp2P4m7/R9v3ycnG4+9RT\nLAtUPzmzbx9885siZbd/GUKjUWSO3b2b0HzvXjlTvGjjyXdE+uKIOas09yi2ou+9J+xcP7h/KnC7\n5GVmBm6+WYQXyx2c/M3fwI03iv9KkrcPLS1w4gSt02YaG+Gzn9Xen9tug1/9Pgl3TDw0NfFizCfY\ntSvyHf+mTdA1kc14i4uG4+ls36BQwV2F/HyIj5NwvHKEFqqo2Rz54glQvj2b9olcbB0erCXacsHL\nYSmLxdZjYPD0agq2RW63ByAuDnP6OK6jI5hyIovA9CdtXQlx0gJDE0kY10VxKOslrzCOwZ5T5HsG\nIneD9JGTg9ngoPfYSQpNkbuZ+iiuTqHXlUjPZCbFW6KQpl6sq4Y58lsbsTES2QXRzZma+lSOD62h\n+eACdUUKhbdV2LABemdymDzu4O32XC7cvhjxu1RVBZJkoDX3YmhooGHNx0lJIaKdxD/8A3z/++Cx\nWAPkjNMpaqk+84y8+Pr0p8V64M2EvozVCkeOEDN3in/9sZG/+quAWENt+KJdw7ByhHuEWs/IiIgY\nffxxbxHbnp6QwKMvflHY3MKt0g88IA7AH30U8d3Dh6GkhH9/JJYvfzmyzURFhYiu22e8BQ4d4qWR\n87j++ohuCxCHwPXrT/Hu0VW85zCz49IozQbA5oIh3ts7SVbCdLS7fSrOy6Zj0YKtPyEqN0gfltp0\nul0p5DJMQplKteUwmHPnGXHOU2A+g+lrtZLncTIyl0ZOXZQLDSKQaXZoivxVM5G7QfowGChaNYGz\n302hJbqdCEDxljV0j63GNa+xBKIC1rxpjr07RUWaU/1iBWrOz+T4aSvvtyZQWx3dIhwfD5usUxw8\nKPH25AYuvDJys6LBILT3l1M+BY2N/OrU9dx6a2QK18UXC0vZS51VS5q7VCqyQX7xi8p5bgwG+OlP\n4cUXvcW0ffjkjNXKrusNXHaZCKoMjskJi7cecDjOWLjv3buXyspKysrKFItf33333ZSVlVFbW0tT\nU5N8QxFo7vPzQku+7TZRGouUFHFy3d6+tEh861tCCf/hD8MPZEKCePD/8i/QnV4Lra0MFGzjN7+B\nL39Zc5eW+PSn4ZcLn8L5/gk6J3MiOgDy56LL42m059KwsIntl0WQxyWITVWzvN+eSE2O9spJwWSv\nMRAbC51jWVi3ac8yGExJfS6z0x6Kkoa1F9eQwbw2homTsZis0ZkeAEhPZ03cJKsNE8RXRXmohQhk\nWpieJy83+h0NgDl3jqGpJAqro1yBgaLzzcwsxpFvGCLeGP04WS0Svf0xlOeppTlUZt2GGDooo2kg\nh7od0Z31AOzYDh2dBt6Ku5QLL45OXF1/Pbx48mO4W9p5vmfLck4pjRgMQnv/tx+mIiUmQUcHj7+3\nntFR+Kd/Cv/drCyRH/7uu1k2v5SVCeHklVWPPCIKjATUbdWCikJ8RsLd7XZz1113sXfvXlpaWnj2\n2WdpbW0NuGbPnj3YbDY6Ozv50Y9+xJdC4v69aBTubrewYyUnixzMS3hLp0umAh58UBTTeOUVbS6I\npaVi8L7y1Hakvn4eGPk8d9wR3v1RiVtugd8563mpq5qrzzsZtQy76MpkejxraZWq2LQ5Ck8OL5vq\nE+idyGKdJXpbLkB5uovuBTOlF0Wv5ZrqzcRLpynKiF5oAJjLkxlfSKNgffQCDMCYehKjNKS9uIYM\neXV5LCxAvjlyn31/zEUxDC9kUrgpslB/fxLzsyilm7XJQ9F5/3ixrk/GOZ1GuSV6s1dyMlhTBzky\nW0bt5dGbvXZctYq+ydU4PXlRHcqCiB05NlHA6+0m8nMWqaiIvI0bbxR5iPZl38jw3Cq++W/pPPmk\nNh1lwwYR7Xrjjd5qa1ar8ADyyryUFKHdP/poUMoDNVRk5hkJ9wMHDmC1WikuLiY+Pp5bb72VF4MK\nCr700kvs3r0bgPr6eiYmJhgakvG40GCW8fmONjcLW9q994pVr7kZpDVrOJ2Vz113x/DMMyIdQG4E\n78nf/R04xlN4a6SaX3Vu4Rvf0P5dfwoKYGPJOC9NXcKuT0W/xa6vhxOebGrSeqM5Z15i85XZON25\nrNtwZpu0miwXq5giLT/6w8fY5ASyDRPkpoXW6YyEorosxqRMTJujF8oAucknyYqdPCNBaNxiZp54\n8qIMYPJhKk1mRMomvz56cwoGA8a4MUzJkQce+VNWn8XwYjYVG6I3BwKcn9vOCGsoXR/9s9l+UQLd\nWDjP2B1xpKyPxES4eusoz41fxS2fiM4dODZWuDg+OXQ1/zvmIf7qrwwRRXtfcYU4H9y1C55troTR\nUebXlvHaa0JJffhhIfy/+lW/wCk1VIS7QZIisvQE8MILL/Dqq6/yY68j6NNPP83+/fv5wQ9+sHTN\nddddx7333st5550HwOWXX85DDz3EZr96WwaDgZt4PsK/Ht0LGe3NSlH+vQ+zn2dDH8X3Prx+ng19\nFH8vOj4Kz1Iist4q9dNNHLG4Fa/Q2s+TpJPGNIaIewaLxDBDGla6eInrSGBepIrgNPMkMIyRcVaT\nyTgX8BaJKC9Gpdh4iH9CSYSf0V7SoFHjCf7jct9r4bml/8+hmlzUl8Xop0z00zS6vxcd0fXzbOgj\nnB39PBv6CB9mP8+GPorvhf49A5IGAR6+nwYgBjduYkN+rxUJ8BDLRbxJCsGecEcZYzXvcT5/4HrK\naaOCdhK8Qn6Y4ziwMU4WvyP8+cwZCfeCggLsfrX87HY7hUEO2cHXOBwOCgpC7bZP7n+Bhx+GP/wB\nFvNhNkNE3094XZl/8xvl+qM6Ojo65xr33QcPPFBNr6Ga4mKRwmBgQDhl3fFp+PrXIS/vfsXvn5FZ\nZnFxkYqKCl5//XVMJhPbtm3j2WefpcqvSOeePXt47LHH2LNnDw0NDdxzzz00NDQEdsJgWNLuFxaE\nt9HUlAj9b2kRmRyjyIGko6Ojc1azf7+w0993n4h/ycsTMTs+44e/7AzmjDT3uLg4HnvsMa666irc\nbjd33HEHVVVVPP744wDceeed7Ny5kz179mC1WklNTeVnP/tZ2Dbj40UI77/9Gxw8CG+9perOqaOj\no3NOUl8Pv/0t3HCDyHAZSZbsM9LcPyiCV5/XXhMpdg8cEN4nOjo6Oh9lfvtbkW3y0KFAF+1wmvuK\nE+5Op8jl8Mwzuo1dR0dHx8c3vgFHjwoNXotZZuWkH0CE337hC6KykS7YdXR0dJZ54AFRwfOJJ7Rd\nv6I09+efh+98R6RdiDLZn46Ojs45y5EjIpdNUxMUFp4lZpmxMYmaGuHyGE3uch0dHZ2PAt/6lshF\n8/zzZ4lw//rXJSYm/Kqe6Ojo6OiEMDsrCnj/8pdw4YVngXDPypI4ejT6lNg6Ojo6HxWeeQb+4z+g\nsfEsOFD9yld0wa6jo6OjhdtuU893t2I096kpifToEw7q6OjofKT44x/hiivOArPMCuiGjo6OzlmD\nJEFMzFlgltHR0dHR0Y6aWUYX7jo6OjrnILpw19HR0TkH0YW7jo6OzjmILtx1dHR0zkF04a6jo6Nz\nDhK1cB8bG+OKK66gvLycK6+8komJ0IrrdrudSy+9lJqaGtatW8ejjz56Rp3V0dHR0dFG1ML9wQcf\n5IorrqCjo4PLLruMBx98MOSa+Ph4Hn74YY4fP05DQwM//OEPaW1tPaMOf5Ds27fvL92FM0a/h5XD\nuXAf+j2sDD6Ie4hauL/00kvs3r0bgN27d/P73/8+5Jq8vDzq6uoASEtLo6qqCqfTGe2f/MDRJ8HK\n4Fy4Bzg37kO/h5XBX1S4Dw0NYTQaATAajQwNDYW9vre3l6amJurr66P9kzo6Ojo6GglbIPuKK65g\ncHAw5Pf3339/wL8NBgOGMOFS09PTfPKTn+SRRx4hLS0tyq7q6Ojo6GhGipKKigrJ5XJJkiRJTqdT\nqqiokL1ufn5euvLKK6WHH35Ysa3a2loJ0H/0H/1H/9F/Ivipra1VlKtRJw77xje+QXZ2Nv/4j//I\ngw8+yMTERMihqiRJ7N69m+zsbB5++OFo/oyOjo6OThRELdzHxsa4+eab6e/vp7i4mOeff57Vq1fj\ndDr5/Oc/z8svv8w777zDRRddxIYNG5bMNt/97ne5+uqrP9Cb0NHR0dEJZEWk/NXR0dHR+WD5SESo\n7t27l8rKSsrKynjooYdCPt+3bx8ZGRls3LiRjRs38q//+q9/gV4q87nPfQ6j0cj69esVr7n77rsp\nKyujtraWpqamD7F32lC7h5U+BqA9KG+lj4WW+1jp4zE3N0d9fT11dXVUV1dz7733yl63ksdCyz2c\n0ThEeZ561rC4uCiVlpZKPT090vz8vFRbWyu1tLQEXPPGG29I11133V+oh+q89dZb0uHDh6V169bJ\nfv7yyy9L11xzjSRJktTQ0CDV19d/mN3ThNo9rPQxkCRJcrlcUlNTkyRJknTy5EmpvLw8ZC6dDWOh\n5T7OhvGYmZmRJEmSFhYWpPr6euntt98O+PxsGAu1eziTcTjnNfcDBw5gtVopLi4mPj6eW2+9lRdf\nfDHkOmkFW6cuvPBCMjMzFT/3Dyirr69nYmJCNe7gw0btHmBljwFoC8o7G8ZCa3DhSh+PlJQUAObn\n53G73WRlZQV8fjaMhdo9QPTjcM4L94GBAcxm89K/CwsLGRgYCLjGYDDw5z//mdraWnbu3ElLS8uH\n3c0zQu4eHQ7HX7BHkXO2jYFSUN7ZNhZK93E2jIfH46Gurg6j0cill15KdXV1wOdnw1io3cOZjEPY\nIKZzgXDBVT42bdqE3W4nJSWFV155hRtuuIGOjo4PoXcfHMGru5b7XkmcTWOgFpR3toxFuPs4G8Yj\nJiaG5uZmJicnueqqq9i3bx+XXHJJwDUrfSzU7uFMxuGc19wLCgqw2+1L/7bb7RQWFgZck56evrQ9\nuuaaa1hYWGBsbOxD7eeZEHyPDoeDgoKCv2CPIudsGYOFhQVuuukmbr/9dm644YaQz8+WsVC7j7Nl\nPAAyMjK49tpraWxsDPj92TIWoHwPZzIO57xw37JlC52dnfT29jI/P89zzz3Hrl27Aq4ZGhpaWuEP\nHDiAJEmytq+Vyq5du/jFL34BQENDA6tXr17K+3O2cDaMgSRJ3HHHHVRXV3PPPffIXnM2jIWW+1jp\n4zEyMrKUZvzUqVO89tprbNy4MeCalT4WWu7hTMbhnDfLxMXF8dhjj3HVVVfhdru54447qKqq4vHH\nHwfgzjvv5IUXXuA///M/iYuLIyUlhV/96ld/4V4Hctttt/Hmm28yMjKC2WzmvvvuY2FhARD937lz\nJ3v27MFqtZKamsrPfvazv3CPQ1G7h5U+BgDvvvsuTz/9NBs2bFh6CR944AH6+/uBs2cstNzHSh8P\nl8vF7t278Xg8eDwePvvZz3LZZZcFvNcrfSy03MOZjIMexKSjo6NzDnLOm2V0dHR0Porowl1HR0fn\nHEQX7jo6OjrnILpw19HR0TkH0YW7jo6OzjmILtx1dHR0zkF04a6jo6NzDqILdx0dHZ1zkP8HefuB\neG6Dx5AAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the assumed form of the solution, we plug this into the governing equation.\n", "\n", "$\\int_a^b \\left( \\lambda\\left(\\frac{\\partial^2 u_0}{\\partial x^2} + \\frac{\\partial^2 u^*}{\\partial x^2}\\right) + q(x) \\right)\\eta_j(x) dx = 0, \\hspace{10pt} j=1,...,n$\n", "\n", "$-\\sum_{i=1}^n C_i \\int_a^b \\frac{\\partial \\eta_j}{\\partial x}\\lambda \\frac{\\partial \\eta_i}{\\partial x}dx = \n", "- \\int_a^b q(x) \\eta_j(x) dx\n", "+ \\int_a^b \\frac{\\partial \\eta_j}{\\partial x}\\lambda \\frac{\\partial u^*}{\\partial x}dx\n", "\\hspace{10pt} j=1,...,n$\n", "\n", "That is, we have a linear system $Ax=b$ where\n", "\n", "$A_{ij} = -\\int_a^b \\frac{\\partial \\eta_j}{\\partial x}\\lambda \\frac{\\partial \\eta_i}{\\partial x}dx$\n", "\n", "$b_i = \\int_a^b \\frac{\\partial \\eta_j}{\\partial x}\\lambda \\frac{\\partial u^*}{\\partial x}dx - \\int_a^b q(x) \\eta_j(x) dx$\n", "\n", "$x_i = C_i$.\n", "\n", "Differentiating, we have $\\frac{\\partial \\eta_i}{\\partial x} = \\frac{\\partial \\omega}{\\partial x}\\chi_i + \\omega \\frac{\\partial \\chi_i}{\\partial x}$.\n", "\n", "Using $\\omega$ as above, we have $\\frac{\\partial \\omega}{\\partial x} = \\frac{\\omega_1 - \\omega_2}{\\sqrt{\\omega_1^2 +\\omega_2^2}}$. \n", "\n", "Similarly, $\\frac{\\partial u^*}{\\partial x} = \\frac{u_2-u_1}{\\omega_1+\\omega_2} = \\frac{u_2-u_1}{b-a}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#dw = -(w1-w2)/sqrt(w1*w1+w2*w2);\n", "dw = where(w1" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "#Ready to set up linear system.\n", "#We need to discount the shape functions which lie completely outside the integration interval!\n", "#For now, assume x0 and x1 are chosen close enough to a and b so all shape functions affect the integral.\n", "q = -1.*ones_like(t) #load function\n", "interval = where((a<=t)&(t<=b))[0] #integration interval\n", "dx = (x1-x0)/res\n", "A = -lamb*sum((deta.reshape(n,1,res)*deta)[...,interval],axis=-1)*dx\n", "dustar = (u2-u1)/(b-a)\n", "B = sum( (lamb*dustar*deta - q*eta)[...,interval] ,axis=-1)*dx" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "C = linalg.solve(A,B)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "u0 = dot(C,eta)\n", "plt.plot(t,u0+ustar,c='g',label='solution');\n", "plt.plot([a,b],[u1,u2],c='black',marker='o',linestyle='');\n", "plt.ylim(-.1,3.5);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nWw4NAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }