Skip to content

Instantly share code, notes, and snippets.

@cicdw
Last active March 27, 2017 20:21
Show Gist options
  • Save cicdw/3c83f182dbba0589daa3bedede77934c to your computer and use it in GitHub Desktop.
Save cicdw/3c83f182dbba0589daa3bedede77934c to your computer and use it in GitHub Desktop.
experiments and analysis of asynchronous admm with dask
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Imports and initial setup"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import dask.array as da\n",
"import pandas as pd\n",
"import numpy as np\n",
"import time\n",
"\n",
"from dask import delayed, persist\n",
"from dask.distributed import Client, as_completed\n",
"from dask_glm.algorithms import local_update\n",
"from toolz import partition_all"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<Client: scheduler='tcp://127.0.0.1:56869' processes=8 cores=8>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"client = Client()\n",
"client"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data Setup"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will create a base coefficient vector that actually has many 0's to compare against:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"## create inputs with a bunch of independent normals\n",
"beta = np.random.random(100) # random beta coefficients, no intercept\n",
"zero_idx = np.random.choice(len(beta), size=10)\n",
"beta[zero_idx] = 0 # set some to 0\n",
"X = da.random.normal(0, 1, size=(2000000, 100), chunks=(40000, 100))\n",
"y = X.dot(beta) + da.random.normal(0, 2, size=2000000, chunks=(40000,)) # increase noise a little\n",
"\n",
"## make sure all chunks are ~equally sized\n",
"X, y = persist(X, y)\n",
"client.rebalance([X, y])"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"metrics_v1 = []\n",
"metrics_base = []\n",
"\n",
"def update_metrics(hist):\n",
" '''Will look in current namespace for all the variables it needs;\n",
" written purely for convenience and DRY'''\n",
" \n",
" ## update metrics\n",
" hist.append({\n",
" 'time_elapsed': time.time() - START, ## this isn't quite appropriate; time passed is what we want\n",
" 'primal_res': np.linalg.norm(betas - z),\n",
" 'dual_res': np.linalg.norm(rho * (zold - z)),\n",
" 'eps_primal': np.sqrt(p * nchunks) * abstol \\\n",
" + nchunks * reltol * np.maximum(np.linalg.norm(betas), np.linalg.norm(z)),\n",
" 'eps_dual': np.sqrt(p * nchunks) * abstol \\\n",
" + nchunks * reltol * np.linalg.norm(rho * u),\n",
" 'num_zeros': (z == 0).sum()})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Algorithmic Setup"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The only two parameters worth calling out here are `rho` and `over_relax`; `rho` can be interpreted as the step-size for the dual problem updates, and `over_relax` is a parameter in $(0, 2)$ which weights the current local update with the current global parameter estimate (`z`)."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def local_f(beta, X, y, z, u, rho):\n",
" return ((y - X.dot(beta)) **2).sum() + (rho / 2) * np.dot(beta - z + u, \n",
" beta - z + u)\n",
"\n",
"def local_grad(beta, X, y, z, u, rho):\n",
" return 2 * X.T.dot(X.dot(beta) - y) + rho * (beta - z + u)\n",
"\n",
"\n",
"def shrinkage(beta, t):\n",
" return np.maximum(0, beta - t) - np.maximum(0, -beta - t)\n",
"\n",
"\n",
"## set some algorithm parameters\n",
"MAX_TIME = 20 # in seconds\n",
"lamduh = 7.2\n",
"rho = 1.2\n",
"over_relax = 1.7\n",
"\n",
"abstol = 1e-4\n",
"reltol = 1e-2\n",
"\n",
"(n, p) = X.shape\n",
"nchunks = X.npartitions\n",
"ncores = sum(client.ncores().values())\n",
"XD = X.to_delayed().flatten().tolist() # imagine a list of numpy arrays, one for each chunk\n",
"yD = y.to_delayed().flatten().tolist()\n",
"XD = client.compute(XD)\n",
"yD = client.compute(yD)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Standard ADMM"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# the initial consensus estimate\n",
"z = np.zeros(p)\n",
"\n",
"# an array of the individual \"dual variables\" and parameter estimates,\n",
"# one for each chunk of data\n",
"u = np.array([np.zeros(p) for i in range(nchunks)])\n",
"betas = np.array([np.zeros(p) for i in range(nchunks)])"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"START = time.time()\n",
"time_elapsed = 0\n",
"history = []\n",
"\n",
"while time_elapsed < MAX_TIME:\n",
" \n",
" # process each chunk in parallel, using the black-box 'local_update' magic\n",
" betas = [delayed(local_update)(xx, yy, bb, z, uu, \n",
" rho, f=local_f, fprime=local_grad) for\n",
" xx, yy, bb, uu in zip(XD, yD, betas, u)]\n",
" betas = np.array(da.compute(*betas))\n",
" \n",
" # everything else is NumPy code occuring at \"master\"\n",
" beta_hat = over_relax * betas + (1 - over_relax) * z\n",
"\n",
" # create \"consensus\" estimate\n",
" zold = z.copy()\n",
" ztilde = np.mean(betas + np.array(u), axis=0)\n",
" z = shrinkage(ztilde, lamduh / (rho * nchunks))\n",
" history.append(z)\n",
" \n",
" # update dual variables\n",
" u += betas - z\n",
" \n",
" update_metrics(metrics_base)\n",
" time_elapsed = time.time() - START"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Async version 1: single updates"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# the initial consensus estimate\n",
"z = np.zeros(p)\n",
"async_history = []\n",
"\n",
"# an array of the individual \"dual variables\" and parameter estimates,\n",
"# one for each chunk of data\n",
"\n",
"count = 0\n",
"u = np.array([np.zeros(p) for i in range(nchunks)])\n",
"betas = np.array([np.zeros(p) for i in range(nchunks)])\n",
"\n",
"starting_idx = np.random.choice(nchunks, size=ncores*4, replace=True)\n",
"new_betas = [client.submit(local_update, XD[i], yD[i], betas[i], z, u[i], \n",
" rho, f=local_f, fprime=local_grad) for\n",
" i in starting_idx]\n",
"index = dict(zip(new_betas, starting_idx))\n",
"pool = as_completed(new_betas)\n",
"\n",
"START = time.time()\n",
"time_elapsed = 0\n",
"\n",
"for update_count, future in enumerate(pool):\n",
" \n",
" local_beta = future.result()\n",
" i = index.pop(future)\n",
" betas[i] = over_relax * local_beta + (1 - over_relax) * z\n",
" \n",
" zold = z.copy()\n",
" ztilde = np.mean(betas + np.array(u), axis=0)\n",
" \n",
" if update_count < nchunks:\n",
" ztilde *= nchunks / (update_count + 1)\n",
" \n",
" z = shrinkage(ztilde, lamduh / (rho * nchunks))\n",
" async_history.append(z)\n",
" \n",
" update_metrics(metrics_v1)\n",
" \n",
" time_elapsed = time.time() - START\n",
" if time_elapsed > MAX_TIME:\n",
" break\n",
" \n",
" i = np.random.choice(nchunks, size=1, replace=False)[0]\n",
" u[i] += betas[i] - z\n",
" new_fut = client.submit(local_update, XD[i], yD[i], betas[i], z, u[i], \n",
" rho, f=local_f, fprime=local_grad)\n",
" index[new_fut] = i\n",
" pool.add(new_fut)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Check the histories"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"history = np.array(history)\n",
"async_history = np.array(async_history)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.0039099125238337695"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.max(abs(history[-1, :] - async_history[-1, :]))"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"beta[np.where(history[-1, :] == 0)]"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"beta[np.where(async_history[-1, :] == 0)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see from the above that \n",
"- both algorithms found similar coefficient estimates\n",
"- both algorithms found almost all the \"true\" 0's of beta (this isn't an accuracy issue, it's more related to setting the correct value of `lamduh`)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x1167e19b0>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nIYQQJZGgQQghhBAlkaBBCCGEECWRoEEIIYQQJZGgQQghhBAlkaBBCCGEECWRoEEIIYQQJZGgQQgh\nhBAlkaBBCCGEECWRoEEIIYQQJZGgQQghhBAlkaBBCCGEECWRoEEIIYQQJZGgQQghhBAlkaBBCCGE\nECWRoEEIIYQQJZGgQQghhBAlkaBBCCGEECWRoEEIIYQQJZGgQQghhBAlkaBBCCGEECXpcdCglJqs\nlJqjlFqrlHKUUid3k/5rSqlnlVIblVJRpdQCpdTxvS+yEEIIIXaE3tQ0hIF3gEsAXUL6o4BngWnA\nROAl4F9KqQm9yFsIIYQQO4inpxNorecCcwGUUqqE9DOKRl2llDoFOAl4t6f5CyGEEGLH2O5tGtxA\noxxo2N55CyGEEKL3dkRDyCswtzge3QF5CyGEEKKXenx74rNQSp0N/Bw4WWu9eXvmLYQQQojPZrsF\nDUqps4A/AqdrrV8qZZoZM2YQiUQ6jJs+fTrTp0/fBiUUQgghdi6zZs1i1qxZHcZFo9Ftlp/SupQH\nILqYWCkHOFVrPaebdNOBPwNnaq2fKGG+E4GFCxcuZOLEib0unxBCCPFFs2jRIiZNmgQwSWu9qC/n\n3eOaBqVUGNgdyD05sZv7+GSD1nq1UupGYIjW+gI3/dnAX4FLgTeVUgPd6eJa6+bPugBCCCGE2D56\n0xDyQOBtYCHmPQ23AouA69zfBwHDC9J/E7CBPwDrCobf9a7IQgghhNgRevOehpfZSrChtb6w6PuX\nelEuIYQQQnzOSN8TQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkEDUIIIYQo\niQQNQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJ\nBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkE\nDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQNQgghhCiJBA1CCCGEKIkEDUIIIYQoiQQN\nQgghhChJj4MGpdRkpdQcpdRapZSjlDq5hGmOVkotVEollFKfKKUu6F1xhRBCCLGj9KamIQy8A1wC\n6O4SK6VGAU8ALwATgNuBPyulpvYibyGEEELsIJ6eTqC1ngvMBVBKqRIm+TawXGv9I/f7x0qpI4EZ\nwHM9zV8IIYQQO8b2aNNwKPB80bhngMO2Q95CCCGE6CPbI2gYBGwoGrcBqFBK+bdD/kIIIYToAz2+\nPSGEgKZEE++uf5fhkeH0D/Un7aRJZ9OknTQKRWWgEo2mzFe2o4sqhBB9ZnsEDeuBgUXjBgLNWuvk\n1iacMWMGkUikw7jp06czffr0vi2hED105fNXcvfCu7eaxmt5ueX4WxhWMYz3NrzHxZMuZkj5kO1U\nQiHEF8GsWbOYNWtWh3HRaHSb5ae07vYBiK4nVsoBTtVaz9lKmpuAaVrrCQXjZgKVWusTu5hmIrBw\n4cKFTJw4sdflE2Jb0Foz8ncjOWb0MZyz7znUx+vxWl68thef7SPrZGlKNDGvdh5/fvvPAPhtP5FA\nhMkjJjNl5BS+usdXKfeXs7FtI4+8/wgAIyIjeH/j+9S11pHKpkg7aQ4Zeggn7H4CCsVe/fci5A11\nWp6szmIrm4yTwWt7t+v6EH3rxRUvMvfTuQAoFEop/LaffsF+1IRqqA5VU+YrI5FJkMqm8FgefLaP\ngCfAwPBABpYNxFY2Sil8tm8HL43YERYtWsSkSZMAJmmtF/XlvHscNCilwsDugAIWAZcDLwENWuvV\nSqkbgSFa6wvc9KOAxcCdwF+AY4HfASdqrYsbSObykKBhJ7WobhFv173NRQdcRGkP1+x8lmxawt53\n7s1TZz/FtLHTukyntWZF0wp8tg+P5eG6edfxUf1HvLrqVdJOOp8u4o8Q8oaoa61jeMVwxtWMw2uZ\nE//zy5/Pp1Uoyv3laK2pClbhtbxEk1GaEk1knAwKs75rQjWksilS2RS2ZeO1vNiWTSKTYFDZIEZV\njmJkZGQ+EOkf6s+Q8iHs1X8vBoQHkHEytKXayOoslrKwlIWtbCxl0ZZuI5FJYCubVdFVONpBo8kd\nRzSaVDZFXUsda1vWsqltE0FvkAp/BRX+CiL+CGW+MuKZOE2JpvzQL9iPqkAVtmVjKxvbsmmMN9Ka\nasXv8eOzffhsH3674G93vK1sktkkiUwCgLH9xlLhryDgCRD0BvHb/nw5g55gh/1Sa03GyZB20uYz\nm8ZSVn7+uZNv8XZVSpFxMrxd9zYvrHgBIF9uj+XJ/537zDrZDrewcp+5vLyWCThj6RhXvXgVA8ID\nCHlDaPep9ng6Tn28Pr+MpRoQHkDAEwBgeMVwbjj2Bo4aeVSP5iF2PtsyaOjN7YkDMUGCdodb3fH3\nARdhGj4OzyXWWtcqpb4C/Ba4FFgDfKOrgEHsfJ5b9hyXP3s5KxpX0JZuA2BldCXjB4zHUhZf2/Nr\n2JbdYZqXa1/md6//jlum3sKYfmN2RLF77fElj+O3/UwZNWWr6ZRS7Fa1W/77XV+9C4BoIsrLK18m\n62Qp95dz6LBDKfOVkcwk8dm+DiepVdFVrG9dj9aa9ze+T2OiEYWiKdFEKpuiMlBJZaCSgCeQPwmt\nb12fP7lmdZZ0Nk1WZ/HZPta3rqe2qZb3NrxHVmd54L0HSGa3epew1/oF+zEgPIBkJklzsploMkrG\nyeR/t5VNZaCSCn8Fm2ObaUm1dJjeZ/so95XnA6C+KGfQE8RjefIn7qzObjW9QuWDE7/tJ5VNEU12\nrPot95Xjs31knAxZnSXrZPN/O9rJp8vVRhV+Otoh7aRNzVLWfJ6y5yk8evqjndYYtaXaqI/X05Zq\nI+gN5vNNZVPE03HWt65nQ9uGfDC0KrqKjJNBo3lu+XN8deZXOXe/c7GUhUJhKdMWPhf45YKUrJMl\nmU3m133hkMwmyTpZPJYHj+XpsEwey9P+t/Kg0fl1klsfWSdLxB/BZ/tIZBMkM8l80JfKpvLfk5lk\nPr/cuFxQZ1s2AU+AIeVD8mVNZpKknTRlvjJaU62EvWE0mnJfOY52iKVjtKXbiKVjhLwhkpkkGSdD\n2Bcm7A0T8oYI+8L5tLZyA0A36Ismo7QkW8jqLP2C/UhkElQHq2lONrM5tplnzn2GCYMmbLHNdjW9\neU/Dy2zlqQut9YWdjHsFmNTTvMTnS11LHRfNuYhYOsZpe57G2OqxnDj2RP606E/E03GuO/o6BpcP\n5q11b/HLV36Zn27a7tN46LSHqAxUsqxxGTMXz+SaedcAsP/A/bnm6Gt2yPKsa1nHh5s+pCXZwvLG\n5Zw5/kyGVQzrMn0qm+Inz/+E2/5zG/9zwP90equgFJFAhJPHbfkiVb9ny4eJRkRGMCIyAoBDhh3S\nq/y2JuNkyDgZVkdXs2TzEupj9XgsD2FfGI/lyR/kHe3gaCd/5Z7KphjTb0yHK/FcVbrH8jAwPJCg\nN9ghL601yawJIELeEGFveIurfo3On2B8ti9/Usv9njtBFp7QMk6GgCdAwBMg42RYWr+UWDpGPBMn\nkUmQyCTyJ8lNsU042sFrebs84Tna6ZBH7oSVyqawlU11qBqtNbZlM6pyFFNGTtkiKC4ss6Mdk38J\nNW+5WoyuhH1hwr5wl7/vO3DfLn+78sgrueifF/Hamtfy5XK0g1Iqv+1ytVW2ZXeo1cnd/qjwV+D3\n+LGU1aH6SfVdAAAgAElEQVT2JLddYulYvhYl42Q61FTlal6UUqxuXk3GyeC3/QQ8AfweP37bT5mv\nLJ+v3/Z3CNgCngBe25vfP2LpGHUtdXgsT34eHstDS7KFMl8ZsXQMpRQtyRZsy87vc0FvkLZUG36P\nH6/lzQcSbak22tJtKKUIe8P5fHLLkQtwFYrGRCN+2099vJ6IP5K/bfRF8JnaNGwrcnvi8+dbT3yL\nuxfeTf9Qfyr8FSxrXMbwiuGs/P5Kht42lPMnnM9Nx90EmAPf6ubVRPwR/rPmP0x/bDpe24utbOpa\n6wC4+qirWbxxMRvbNvLvi/7d63It3rCYv3/0dyr8FTQnm2lONrO8cTn9Q/1pTDQS8Ue4esrVDAgP\nyJ+Us06Wm1+9matfurrDleblh17OrV++dYs8WlOtXPn8lTz43oPE0jFuPu5mLjv0sg4nNCGE+Lz4\nvN2eEF8wWmtmfzib8yeczy1Tb6FfsB+PLXmMM2efyYsrXqSutY4jRxyZT6+Uyl8df3n3L/PWxW9x\n+39uJ+wLM3nEZCYMmsCQ8iHc/dbdfOep7/DXd/5Kua+caWOn9ejq/ePNH3P0fUeTzCRxtEMkECHg\nCTCmagy1TbVUh6r596p/c8/b9wBwxj5nYCmLTxs+ZeG6hVx55JV844BvUO4v54rnruD5Fe13zOZ+\nOpd317/Li7Uv8nLty9iWzeWHXs5Z489inwH79NGaFUKInYsEDaJbK5pWUB+v58x9zqR/uD8Ax485\nHoXiV/N/BcDhww/vcvrdqnbj9mm3bzH++DHHk9VZLvynuaO138D9mHvOXAaXDy6pXDe9ehMV/goW\nfW8RVcGqTtM0xBuYtXgWLakWHlr8ENXBavqH+vPC+S/wpdFfai/Lbsdz/7v38/vXf8+82nn52ov9\nBu7HjcfeyKl7nsroqtEllUsIIXZVEjSIbr259k0ADhpyUH5cZaCS/Qftz7zaeRwy9BD6Bfv1eL6j\nq0bz3HnPsUf1HjTEGzj6r0dz55t38stjftn9xMC82nmcMu6ULgMGMI3xvnPwdwBzT7crx+12HACX\nzb2Mg4YcxJ9O+hPfOOAbu+wTIEII0RsSNIhO/XnRn6mP1fO1vb7GG2vfYFTlqHwtQ8708dPx2T4e\n+6/Hep1P7mQ9IjKCySMn88a6N0qablV0FbVNtUwZufUnGEo1sGwg10y5hn3678MZ+5zRJ/MUQohd\njQQNYgsZJ8P3nv4eyUySK1+4ElvZfH3vr2+R7oojruCKI67os3wPGXoIt752a761eWfe3/g+N796\nM7VNtQBMHjm5z/K/9uhr+2xeQgixK5KgQWzho80fkcgkeObcZ6iP1VMfr+ekPU7a5vkePPRgmhJN\nLK1fyriacZ2mmfHMDD7c9CGOdjhoyEHUhGq2ebmEEEIYEjSILSyqM0/oHDrsUCr8Fdst34OHHgzA\n5Hsnk8gkmDpmKnv024OpY6ZyzOhjcLTDm2vf5IrDr+AHh/+AdDbdzRyFEEL0JQkaxBYW1S1i9367\nb9eAAUzjyksPvpREJsGIyAjufOtOHl/yOK+teY1jRh/Dpw2fEk1GOXjowfmX+QghhNh+JGgQebVN\ntXyw8QPm1c5j4uAd81Ktwkczfzr5p9zxxh388Nkf0ppq5Y21ppHkgUMO3CFlE0KILzoJGr7Aooko\nf3n7L8xeMptNbZtY2rA0/9s3J35zB5bMUEpx/JjjSTtp/vHRP5j94WzG9hu71Ucst5fXVr/GA+89\nwLCKYdSEatgc28zq6GpqQjUMKhtE/3B/Ap4AXxn7lS5fMSyEEDsbCRq+gDJOhmvnXcsdb9xBIpPg\nK2O/woGDD+T6Eddz2PDDCHlDVAV2/IkZYFz1OIZVDOO8v5+H1/Lym6m/2dFFAuCGf9/Ay7Uv47N9\n1MfrqQxUMqpyFPWxeta3rs/3TDlp8CRGVo7ko80fcfVRV3PyuJO36JMhnU3jsTwks0me+fQZVjev\nznfWc/DQg/MvoZLXVn8xxNNxVkZXbtGJUluqLd/HQq7X0eK+O5oSTWR1FoUy/Th00p+JEJ+FBA1f\nQL959Tfc+O8b+cFhP+D7h36fIeVD+mzeyxuXs6xhGVPHTO2T+SmluP2E26ltquW8/c7b4l0RO0Iq\nm+LZT57FmecQ/DDIMP8wYm0xlqWXEYlE2KNyD8qqywiODpKoTrBy40q8SS9nPXYWYAKhXLuMxkQj\nT37yJB7LQzwTz3e+lOusqSnRhNfyUuGv4Eujv8TQ8qH512bnOhKylEU8EyeWjuWHRCaB1/bmO/3x\n2/58R0BBb5D9B+3P0PKhjB8wfpt1tBNLx/BYHrTWLNm8hIZ4AwFPgDJfGYlMgpZkC+ta1uU7lCoc\nlFIdel3M/Z3rKycSiDBp8CSqQ9VbdHy1PTUnm3lr3Vt4LE+HzpcCnkD+e64nylxPjPFMnE8bPiWZ\nSRL0BvM9byqlSGQSXPyvi1nWuKyk/As7gnK0s0VPoAFPgKAnmF/v1x19HdP3nb4tVkWvZJwMG1o3\n0JhoxGN58l2kd9bDZ06uo61cR2qFvWfmvmedLKlsikQmke9BU2E6U7OUxdqWtcTT8XwAn+uYLNcL\na2uqlZZUS74Ts8IePYu7Pc99HjniSCoDldtlve1I0mHVF8xTS5/ia498jRmHzsh3MNUTuX8qj9Ue\nb973zn1c/uzlZJ0szclmNJqbjr2JgWUDCXqCnL736VtU0Tclmnh8yeOcNf6sXvcWuaO8tOIljrn/\nGCb8ZwJnHHkGiUSCsrIyPB4Pzc3NNDU1EY1Gef311/noo4/y0407YRxjDxpLvb+eel89gWAAv+Wn\nuqWasD9sGp6ugFAsRHV1NclUktSoFKEhITbGNvJx7GM2xzfjt00vg2knnQ8gQt5Q/qo05A3ht/35\n3wu7Fk5mkrSkWvLvuQAo85UxfsB49qjeg6pAFcsbl9OUaMo3Ns0N5b5ywr4w8XS8Qy+SGSeT7y3R\na3lZFV3F8sblNCYat8v28FpeKgOVhH1h2lJt+YO7z/bl99Ncz5WpbIqgJ5jvsTDX1bXX8pLKpnC0\nQ5mvDKUUyYw5AQc8AWzLztf+FPaAuTm2mVQ21afLM7xsONPLp+P1emlNtWL5LWpqagjaQbMNs0my\nWbf7bbenyaxjahcGhgcSCoQIBAMkdZLWTCtpnSat07yz8R2eXvY0hww9JN/lc1cnwHQ2TTQZJZ6O\nd+g2u/gz42RoTbUCpiYsd3LNDRX+CiL+CABpJ00ik8gHtpvaNrGxbWM+MCzks335ALEwcOyuK/O+\nYimLMl9ZvpvztJPu0M15Z974nzc4aOhBW02zvUiHVaJPLNm0hJNmncRX9/hqj19ktKltE6+sfIWr\nXryKZDbJSXucxISBE/jGxG8w8/2ZDKsYxrn7nkv/UH9eXP4iV77Q/srmqW9PZebXZ1ITqqEp0cTT\nS5/mO099h8ZEI22pNr53yPf6eElLkzsgZJwMK5pWsEf1Hvhs31an+bThU6567ipohcvPvpzzzzu/\ny7TpdJr58+fj9/vJZrP86Ec/4r373qOxsZGWlpZ8Op/PRzqdRmvN0KFD6devH/X19Xg8HlatWpVP\nFwwGGTduHNU11UQiEQYMGEAymSQQCJBOp8lkMni9XoYMGcKgQYPwer3Yto1t22SsDEuXLSUUCjFw\n4EACwwN4KjysYx0xO8aHDR+yrGEZ9fF6hpYPZVTlqPxVWjQZZUPbBhrjjcTSsXxgkgtOciebrJOl\nJd3C+OrxHFF1BN6Ee7VowaiyUVRYFcRSMZoTzZABO2sTckKQhkQiQTwRJ5aI0RRtoqGhgfr6epys\nQzgcxuvxYlkWkUiEcCiMKlfogZqUlSJBgjhxMipDZXUl/oAf22eT1eaEals2HttDwBdAOYpoLEpr\nupXWdCs+v4+9q/YmS5aA13S93JZpA93eVXk8HSers/maGo/ymAEPqWiK+IdxcCCrsvnBUU77d7LY\nysarvJAFndaEUiF0UhNLmeDL8lgEAgEs2+KRWx7h162//gx7dueUrTjm6mMYXjM83+1z8WeuRsRr\neRkRGUHQE+zQbXZh99lKKWxlU+4vR6Hy88k4GWKJGPFUnNZ0K/FsHMuy8Ft+IsEIgfIAATtAlb+K\nAcEB1ARriHgjZJ0sTckmmpJNxDNx3GwI+AIEg0ETPDigsxon65DNmECpuqoan9eXD3hyXXHnathy\ntT9gLnrS2TQDywZS4a8gno6jlMpvW53VNDc3E2uJkYgnSCaT+SGRTBBPxokn4iRS5u9EMkEimSCZ\nTjJAD+jzbfZ5JDUNXyB3vXkXl869lJaftPT4ccWj/3o0L698mQOHHEhNqIYFqxfgs32smbGGqpuq\nGF8/ntHrRrNs2TKWfLSEB+Y8wG79d2N5Zjn/7/n/h9aaSCDC8sblAJy+9+nU1tdSXVbN3HPn9nqZ\n1jSvYV7tPMp95bSl20hmkmyObWZMvzHE0jGak82ct995lPvL89NknSx/ePMP/OzFn9GSaj9533Ts\nTfz4yB93ms8rK1/hXx//i7veuouAE6D+gXo2zN/AgAE9P1BorVmzZg0ffPABlmVx6KGH4vF4yGQy\nlJeXd6hqf/fdd9m4cSO2bfPOO+/wySef5E+omzdvJhgMkkgk8Pl82LZNKpVi3bp1bNiwgeL/7aFD\nh5JMJqmvr9/it2AwyH777cegQYOoq6vD5/NRVlZGLBYjlTJX0qFQiHA4THNzM83NzUSj0fzfuTS9\n4fV68Xq9BINBAoEAFRUVVFdXU11djcfjoa2tjUwmg+M4RKNR2traaGxsZMOGDb3OszuWZeHxePB4\nzHVVJpPJB3bFampqCIVCaK1xHMdchRf9nfvu8/nw+Xz4/f4On9lslra2Ntra2jjmmGO47bbbUErh\n8/mor69n3bp1WJaVH5RSHb5bloXWmlQqRSwWIxqN5gPJdDpNOp1m4cKF3Hbbbeyxxx5EIhFs284v\np9frJZVKEY1GiUajOI6DZVmkUikCgQChUAiPx0M6nSaVSpFKpdBaU1VVRSAQYM2aNfltlEwmOwTF\nfcHv9+fz7Or3YDBIMBgkFAoRCoWoqKhAKUUmk8mn01rT2tpKQ0NDfpnjcRM4JJNJ4vF4j8pVuA2f\nffbZz835alvWNEjQ8AVy4T8vZPGGxbx18Vs9mi6dTVNxUwU/n/xz9HxzANx72t58/Ymv87/T/pfv\nPv1dKh6uYOKgidi2TX19Pe+88w4AHo+Ha2+7lsZxpqr6gEEHMDI8kruvu5sHlz6IZ5qHOdPnEAlE\nOHjowR1ue3Tn480f86X7vkRda12H8WFvmLZ0G2Du+YZ9YSoDlZww5gQc7fDGujdYvGExF0+6mCOG\nH4FSir+8/RcSmQQLvrEAgPWt63nikyeY++lclmxewoebPmRo+VDGZMbwxvVvcOjEQ3nppZd6tB63\nN8dxyGazZLOmSjcQMIFiJpOhvr6ejRs35oe6ujoWLlxIU1MTAwcOJJVKkUgkCIVCeL2mxqC1tZV4\nPE4kEqGioqLDEA6H8yczr9fLiBEjGD58OEqpDrUghQfZ3NDb9gi5+eaGRCJBU5Oppcid+LTWZDIZ\nUqkU6XQ6f1LJnUwymYyp6i+YT/Ggtcbr9eZProWfNTU1HHXUUdj2zvGEzOzZs3n11Vdpa2vL7x+5\n9ePz+YhEIkQiEZRSOI5DIBAgkUgQi8U6bEOfz9w+aGpqIhaLMXz4cHw+Xz4IGTlyZD6QamhowHGc\nfK1XbrAsq8P3rvaDaDTKxo0bCQQCBAIB/H5//m+tNevWraOtrY14PJ4fcoETkM8rp6ysjKqqqvwy\nh8NhtNYdlj8SiVBWVobf7+8Q4BV+/yz77rYmQYPoE/vcuQ9TRk7hzq/c2aPpFtUtYtIfJ+F/0E9m\nhTmIOsrB+onFgMoBbGjYwGWJy/jtrb8FYMOGDTz22GOMHz+e2bNnc8cdd3DOOecwatQolixZwvvv\nv09dXR3BoUE2nrUxn8/Ro47m8f96vORHKs99/FxeXf0qc06bQ02khrDXVGP7PX42xzYT8oTY0LqB\nBxc/SH28nrmfziUSiDAiMoKL9ryIh256iKVLlxKJRKgbVMeSsUu45+R7eHfDu/xp0Z9IZBIcOuxQ\n9h+0P/46P5/84xOefOJJLrnkEm6++WbKysp6tB6FEGJ7kDYN4jNrTjazZNMSfnjYD3s87X/W/Aey\ncOzex3LdrOvQWnPvvfdy14q7WD92PbwCx/742Hz6gQMHcskllwBw1FFHccABB/CTn/wEj8fDnnvu\nmQ8mHnnkEW7/x+3M/dtcGtINTP/7dO544w6unnJ1t2VytMMzy56hZmUN+43YDzDV3IMHDyaVSlFe\nXs6KFSuwbZuLL76YYDDIXcffRU1NDStXruS7p3yXeDzOSSedRDQa5d0F76LHai6acxEjIyM5b6/z\nODxzOAteWMD8BfNZvHgxhx12GHfffTcXX3xxj9ehEELsCqSmYRcyf+V8nvjkCW6eenOH8bM/nM2F\n/7yQ1lQrS76zhD1r9ux2Xqc/ejqfNnzK8WOOZ8GKBby68FWeOvUppk2bBkBdXR1DDhjC3kftzceP\nf0xDQwMVFT177fTrr7/OoYceCphGVWN+NoZRu4/iufOf2+p0tU21LKpbxNcf/TrWfRa//s6vqays\nJBaLsX79erxeL9FolN13352VK1dy7733Ytt2h3vgkydP5oEHHmDkyJEAXHXVVfzurd9x849vJr4w\nznXXXUdbWxujR4/mmGOO4eSTT+bkk0/eoiyZTJRUahO2Hc4PSu0cVdVCiF2T3J4QJfnWE9/i7oV3\ns/mKzVSHqlkdXc0Vz13B40se5+RxJzPj0BkcMeKIbucTTUSpvLmSySMm8/7G982jcy/D5r9tprq6\n/Zn+CRMm8N5773HiiSfy5JNP9ri8juNw7bXXMnToUNauXcsvX/wl/uP9tP6stcu2DTfOv5GfvvhT\nAKy0xenLTueRWY+UlNfixYtJpVL4/X723XffDvcjX3vtNQ4//PD8vekLLriAX/ziFwwZMqTT+5ar\nV/+O5cuvQOvMFr9ZVgDLCuPzDWLEiB8RCIwind5EdfVXsSx52Y4QYtuS2xOiJIs3LgZg/qr5nDLu\nFC6acxHvb3yfa6Zcw4+O+NFWX5hSaGHdQgAGvDGAP335Tzz7/LO8sOqFDgEDwEUXXcSTTz7JzJkz\ne1Vey7L4xS9+kf/+j0X/YLFezA3zbyDgCTBt92mMHzC+w0n7wcUPcvrep3NQzUH8+Ic/5oTvnlBy\nXhMmTOjy94MPPpjRo0ez33778eCDD3bbXmH9+nuIRI5k8OCL8fkG4jhxstlWstk297OVaHQBH310\nQX6asrIDiEQmEwiMIhTag0BgDOn0ZqLR+YDG4+lHa+vbJBIryWabyWSaCYXGUVFxCD7fYKqqjsHr\nHYjlvjDJcRI4ToxsNtbJZ3yL8Y6TIhjcDcsK4PMNQikPXu8AbDuE11uDkjdO9orWjrvNW9xGk1U4\nThLHiWNZIWy7zE2XAZz8EwAmuPQUzUuzZs3tNDQ87W4PC8vyYdvleDz9CARG4PMNxrJ8KOVBKe8W\nn5a15TjzaeHzdR4EC1EqqWnYRWitqby5kuZkM8ftdhyxdIwFqxfw1NlPMW3stB7N61fzfsXPn/05\nA/86kA11pkr/vPPO4/777+8y72RyLdlsM42NL9La+jZjx/4e2zatkjs7SGmtaWl5k/LyA/Mnqyt+\ncgW3eG8B2zwBkcqmCPvCfGvSt7jxuBtpjDfS79f9mNo6Fc8HHp5++mlWr17NsGHDeri2OpdMJvH7\nu68JiMeX8/rrY9hnn9n07//1btLW4jgxMpkmVqy4ilRqI4nEChyn/dEu2y7Hsvyk0/UEg7sTDu+H\nx1OBbYdpanqZRGIV2WzUTa2wrECH6bujlB/bDqGUTTq9udM0Pt8Qysr2x+cbSDbbQjrdiNYpPJ4q\nvN5+ZLOtKOXB46lC6zSOk0Jr86psj6fSHarweCqx7RDpdAPp9Gay2VYCgZFYlh+tHcxJM+sGVy1k\nsy2YE2MAywqQzbaRTm8ildpAKlWH4ySw7TJsuwyvtxqvd4Ab7NRQUXGIm195Po1tl2FZ/h6dGNPp\netraPkDrLKnUOndfbtsiEAOwLD+Ok8TjqUQpD21t7xGNvgb07qVDlhVyt3UFHk8EsGhpeZ1+/aZh\nWUHAwXGS7jbZTCKxskfbvtjAgRcwcuRPiwLKNhwn6W7XNFqn0TqV38bZbAup1Ea0TuXXP6h8UNMe\n3Pjd7ehHKS+OE8O2y9E6i+PE3cDUh9ZJd94pd7ogWqdRynL37VwZ0middddBKh+Mm/2mLZ+PKWsC\nx0milO0GSd584GZ+T5JO16N1lnR6EwBaZ919qR9KedxAO47jxHGcGFo77v4UdIMuVbR+0u7/gMbr\nrWaffR6nvPyAXm+bviQ1DaJbq6KraE42M7hsMM8vf55Jgycx87SZPQ4YAF746AVYB//8+z9Jp9Ns\n2LCBKVOmAJBON5D7J8nnvepGVqy4yv1mroyi0VfyB7vRo29kyJD/lz+QZzItfPzxN9m06RHGjbuX\nwYP/G4CjjzyaW75/Cw/+34PsO2hfnqx/kjlL5zDz/ZnccOwNpkEm8Nbjb0Ej7L///n0WMAAlBQyO\nk2LNmtsJrfXSb8H74F0Otg0ejxn8fujXzwwjRhAcPTo/7f77m0c0tXZIJteRSCzD46kkFNrHrT1w\nurzaTyTW0Nr6DqnUehynzb2CDW3107KC2HawQxuLTCaK1hmSyXWAQzJZh+PEiEZfJR7/lLa2D9wT\ndH8sy0sqtYlY7GNsuxzHSRKLfYRSPvdK1wdoYrGPyGQaSacb88GNUn683hpsO0QiUeseoNtPMpYV\nxuMpz1+Fm4N1wq31GIDPN4BI5AgsK4TjmNobE3C9idZZksnVrFx5XRdbyXbL53WvvP14PJXuyau9\nJgY0oHCcWIepPZ5KLCvXRiW3TsNo7eA4CSzLTzy+DK3TBINj2H333+LzDcS2ywFNJtOIZQWxrKCb\nX2u+XLl1YPaleL5GKfeZyUQZMuRiBg++qNMl01qTzba6J65M/tOcwDJbjC/8PR5fyqefzmDDhvu6\nWG/t2rexF9sOuzVcXlKp+ZjAzyn6zLqBRxLHSQIapTwFt+9sehtYmX3G49a2lLsn8lA+sFDK7wYs\nPrTOusudQSmfu/+bYCYc3helbPfYpdzyZclk6nGctLutg/lPsNx9L56vJTL7U/u+ZQZFOt2Azzew\nl8u3c5GgYReRuzVx25dv458f/5O7v3q3eS3xVmiteX3t6zzxyRMAvLH2Dd7d8C4b2zZi1Znq/Nyz\n/anUJtas+V9qa68FNJWVRxEK7c1uu13P5s1zqKo6nlGjrsHvH0EyuZI1a35PIDCadHojS5d+m40b\nHyYc3ou2tiUkEsvJZBoJBEaxefPj+aDh8MMPRy1TnHvcuQCMGDGCqoOqWLXvKj7c9CHzauehYoof\nfuOHXHbZZfmX7aRS6zD/4DFsu4x4fBm2XU4yuYpsNkZNzalYVsdbM5lMC6tX30oyudq9qkwwcuTP\nqKjovNttx8nQ0vImS5d+h9bWdzjwoXHYz18P4TBks5DJmCGd7jjhxReD1rBkCVxzDUyZgvJ6CQSG\nEQh0DHiUssw8Ghsh6HZqFQqBZXWavjfM1Sz5oK+szNyy6d//tM88b8A9eSSwrNA2rQbXOksisbrg\n6rPjoHUqf+XsOAkymUb3BBjMB1RKWWjt4PcPIRzeB6V8bm1Gv21W7s9KKYXHU959wk6dQFXVVNLp\njfng0rbDboATKLqV0fttZ15mlcWyPGSzCXd+NplMkzveV1BL4Li3cXz5wKPjLRZpVPx5I0HDLuLp\npU9T4a/gzH3O5KzxZ3Wb/uH3H+ZnL/6MZY3LqAnV4LE87D9of7594Ld5ZvYzxFvj+YAB4IMPTica\nfZX+/b+GUl6aml6moeFZhg27lJaWN9ljj7uJRA4HIOAdTGSf9gaX/fufwcqV1xONvkootBeh0FiG\nD/8h9fVPsHz5VWzY8BBaO1RXf4Vrr72WYDDIxIkTuffee5n/2nzUXopTHzmVTxs+hY9h8g8mEw6H\nyWYTLF58Ig0NW3+jZCi0J6HQPvTrNxWfbyiZTBO1tVeTSm0kHB6PbZfR1vYua9f+noqK9lswWmdp\naHiWlpaFrF//FxKJFQSDuzNp/ALK5k81QcBVV3XMLJs1J/2GBvj73+Hmm2HIEBMETHU78dpjDxg2\nDKqqIBCAF16ASARqauCdd6CtrX1+u+0GU6aAUjBihEnj95uhtRVWrYJkElKp9iGbNcFMebnJt6XF\nzH/TJqishKFDYdAgM+yzj/mtjyhlY9vh3AqERAIsy9TGKGU+C6XT4Djg85nfi9dlNmt+6ySfYHCU\nWfb69RCNQnCkCbI8HpOnx2PysyyzPhzHfNd6y7w+i3S6PZ9SOY7ZLkq1lxnM8l53HSxYYLaVZZk0\n4bD5Ho9DLNY+JBJmGsdpH5RqL0ssZqatqoLqasKXXQYTjuq7Ze+EUsq9hQG23X4M8Xq3fP+KqXVq\nD4Jsu5t+aBzH/H8ULmNuf+/J+u9L8Ths2ACDB5v/y12cBA27gOtfuZ4737qTXx/365KuEB567yHO\n/fu5nDLuFP540h+ZMnIKTtbhpZdeYs7sOXwy6xPOOqs98MhkWmluXsDYsXcwdOi3AWhtXcxbb+1H\nbe0v8G9w6P/vTyF+Fcyfb66qX3gB9jPvT6iunkZ19Za3SZSjWKZ/yJIlpmbB5xvC5Zc/Q1nZeACO\nPfZYHn30Uc6890wqT67k7PDZ/G3u3zjoYdMpTG3ttTQ1vcy4cX/G6x2AZfnJZJoIhcaRzbbh9w8n\nlapjzZrfkUyu5pNPvg1u5zdVVVOZMOE5gsExAKxY8XPWrv0DicRqotF/s2rVDbS1fYBpoFhFZeXR\n7Lnn/VRUHIz13EvmhN3JI5jYtjmx19TAj39sBrMS4R//gKYmeO892LjRBBdr1sCZZ5oDX1MTfOUr\nsPOxYmUAACAASURBVNde5mDvOPCvf8EHH5h5PPUU1Ne312Z4PDB8uAk8fL72wbJM+VpazEklHDYn\n1f79TR51daY8OV4v7LmnGfr1g7VrTdAD7SdXpUxwMWSIOcmVlUFzsymD12vKv3GjOXjmhk2bzPhC\nAwbAyJHtwdWqVe1pvF5Tfr/ffDY2mqCgosLkmf7/7J13eBVV+sc/c3vuTe8JECChB5CuLlJdbOva\nsGEvK+pawbI21l5/gi6uuuhasKHYG4qySBORLi2UBEJISEi/NbfO+f1x7s1NQkCaIeh8nmeeO3fu\nmZkzZ+bO+Z73nPO+gahFJ7K0PP6+MJmkoIqPl5VOREhEFqtVLjabzGNKSvOKuOXi9cryrayEFSui\n9z5yDU0/I+sGg7wv9fXyfqhq8/xFxENtLZx5pkwrhEy3c6cs70g+Y2LkZ3x8VLBEBAbIfYSQ6Twe\nWZYLFsDHH8Ppp0eFRigkj5GdLZ/Z+HiZt6qq6DEjx236PbJExGBEsPp80UWvl9eiqtHuO6Mxut70\n2fF65T4NDdEl8hxFzu/3Q3V182c3gk4nRXKkvGJi5DOqKNFtQkSXpt+brsfFyee86XVEloggNxjk\nf8nvl8+SK9z9tGIFDGndUvl7QhsIeYzz6qpXmfjVRB4Z/QhTRk351fQbKjdw0usncXq305lgmsDH\nH3/Mt99+S21tLcFgkK5duzJo0CAeeOABBgwYAEBt7TwKFoxjMC9jefFDUFXERRexMTCF6n615E+L\nI21ug3zxdOkiXxQbNsg/bFwcPPMM/O1v0ReaywX33QczZuD64AkMp10IwOrVJ5CWNp7u3ac35re+\nvp60tDRGjhzJhg0b6NmzJ4sWLQLg5597kJg4hp49ZxxQWYVCboJBB0KEMJs7NBNYDsdKVq8eSqTv\nNSFhJBkZlxAbO5i4uMHRtAUFcPHF8hoKC49si/VAUVVZgep08qV7KPvX1sLu3dKyYbfLz5ISKUrS\n0+W9bPqSBfnCrqyU1+52y5drpGsG5H4ZGdElPT36Io9U8rt3y/MYjbLl3LWrrKibvpgj64mJshKr\nqZEVX8sKx2CQgikzU7akI63wSGUYyVsoJCtBq1VWnrawJSRyHU1b7m63zKPd3nolGVlMpqiYGT1a\n5s3vl/cl8tlyPRCQFVliYnQRovm53W5pWRo79og8Ks1wOuH226UAiQgNRZFipLxclrPDIcsnMzNa\noUaWpt9bWjciYi+ymEwyTXKyPFek666p4IuUiV4v76PZLD8joig1VbbeQZ7bYJDPVFJS9DkWQl6H\n0xm9Z4oinwW3O2pVimxvurS2zW6Xx2p6LU2vyWCQ97SqSm6z2aSAyMiA448/ola7w6HdDYRUFOUm\n4E4gE/gFuEUIsWI/6S8F7gK6A3bgG+AuIUTtoZxfQ/Yb3vHdHTy37DluHHIjD4x84Ff3KXOUMeKN\nEXSM7UjB1ALOXnY2+fn5XHvttXTs2JETTzyRAQMGoCgKFRVvsXPnHFJTz8ZuX0TfhwxY1t8IeXkg\nBMqNN9Izw4b9wxRSVipw87Uwdao8UW0tfPih/MP+/LPs1//2W9mC3rwZVq+WlU9iIrGfrYdz7gAg\nOfkU6usXNctzYmIip59+OsuWLePCCy/k9ttvo6FhB37/bhoatpGXN1W+PHS6aOUWDMo/d329/INn\nyAFKEedLgNz+5ptQXAx2O3EuF+mn56McN4Tc3CcwmbKaW23WrYOZM+Gll6Qw+uijoyMYQF7r4ZhB\ndbqoNSRsDdL4AxAXB6+9tv80ke4NbVqmxr5oGoXtQBbgIsALXAH0AmYAtUDqPtIPB4LATUBn4E/A\neuCj/ZxjECBWrVolNFrn6SVPCx5CvPDzCwe8z39X/VfoHtaJ4eOGi4yMDLFkyZJW04VCfrFwoUUs\nWGAUP/ygiEXfmoRqUIR48kkhAgG5fPaZECBCb70u26LffbfvE8+aJUSXLkJkZwsxdqwQV1whREGB\nEA88IERSkhAVFUIEAmL37jfEDz8owu+vbZGfkAiFQkIIIbZsuUn88APihx8Qi/5nFqHLLxHCZBIi\nJUUIvV4Iq1Xmx2CItpPHjxfikkuEeO89IT7/XIgPPxSif3+ZvksXIQYMECIhQYirroqe1OkUYtUq\nIf79byGuvloeLzNTiDvvFMLtPuAy19DQ0GhrVq1aJZB9sYPEQdbxv7YciqVhEjBDCPEWgKIoNwB/\nAa4BWgsCfwKwQwjxYvj7TkVRZgB3H8K5NcJ8ufVLLuhzATcPu/mA91m4YyEWu4UVC1fw3XffMXx4\n694h3e51qKqXAQMW4fVuR1n4I0rwVTjjjOiArdNOA5sN3b1TpClxxIh9n/jii+XSkvPOg8cek6ZQ\nq5XUf/ydLSMEGzeOR4ggSUnjsNn6YLMdh9XaDSEENTWfk5FxOTExeST9awm6WbPh3nul6TApSVoQ\nEhJkH2l6uuyff/112XJq6oTqhBNkH+TA8Lzq+++H//xHmqYXLYJbb5UmSKMR+vSBe+6BKVNaHZSn\noaGh8UfhoESDoihGYDDwRGSbEEIoijIPOHEfu/0EPK4oyulCiG8URckALgAO3u+wBiCtQxsrN3Ja\n3oF5Q4wwb+s8PAUelsxfsk/BAGC3/0TKzwbiN/1C4ul/gW27ZEWcnx9NZDbDn/8Mn38Ojzwi+yIP\nlgED4OWXpdl01SqMDz5L1/tzqTqnHoulKzt3PoIQQZKTT6d//zl4vdvx+UpJS7uQ1NQzYV4/uPRS\nef79cdtt8rOsTPafNjTILoamJthzz4UnnpCD9IJBOdPh0UelYIg71CluGhoaGr8vDtbSkIocKban\nxfY9QM/WdhBCLFUU5TLgA0VRLOFzfgEceBNZoxmV7krqvHX0SetzQOlDaog52+ZQ7i8nzZu2X8EA\n4KhbSp9HVHSeW8A4WQ72+dOf9p4u9/zzMGmSHLh1KCgK3HCDXL/0Uli1is4bk+n82KcAeL0l7N49\ng127niUYdFJX9wOgIzHhJDmYbsMG+OevR8RspEOHff82eDAMHy6nQ/7zn1I8aP26GhoaGs34zadc\nKorSB/gX8BDwHZAFPIscC/G3/e07adIkElqMRp0wYQITJkz4TfJ6rLCpahPAXqLhs82f8fa6t/n4\nwo8bt9V767n1m1t5e93b6P16RuZE52irqp+amq9xOH5Cr4/F6VwtHSWtW4feo8I338iBi9u3wyWX\n7J2RLl3kcqQYMwamT28c2Gix5JCVdS0lJU9QXPwwtbVz6PZpNoazcmR6vT7q++BwURRYsuTIHEtD\nQ0OjjZg1axazZs1qts1ut+8j9eFzsKKhGukLtKW/zAygYh/73AP8KISYFv6+QVGUvwOLFUW5XwjR\n0mrRyHPPPbffKZery1cTUkMM7TD0gC/g98Cmqk0YdUbykvOabf9086d8UvAJO+t30jmxM7M3zuaS\nj2VlP3X4VO467S7GvTgOIQQVFW+wY8cU/P7dmM05hEIubLZ+xMYOILksEaGfjzJihBy70FaMHi0d\n27z2mpyONnQoMSYLcfp8SkunEh9/AlnfNsCwYXL8QlKSTKehoaHxB6W1hnSTKZdHnIMSDUKIgKIo\nq4CTkV0MKHJe2snA9H3sZgX8LbapRBy/HwYPLXgIl9/F/CvnH85hjjk2VG6gZ2rPvcJHLymULeW5\nRXPpktiFG766gb/2+CudNnXijnFyWuOoUaMoK3uBwsLbSE+fQOfO92Oz5Tc/QdHVcNxx0fnsbcUJ\nJ8ixERMnyu9hxyzHXTYe78vvE+tMga3Z8MhT0iGShoaGhkabcijdE9OAN8PiYTlyNoUVeBNAUZQn\ngWwhRCQm8JfAK+FZFnOBbOA54GchxL6sEweE3Wen3Fl+OIc45iiqLeKd9e9w7cBrm233Br3scO0A\nBW795lZ8IR8dYjqw9tG1fLbpMx588EHOO+88kpPXU1BwBx07TqJbt2nSAcuGDdKnwerV8OOPMHcu\nXHZZ21+cxSL9OVgs0h/EN9/AF19g+PJ7Yl97DxZ+ItMd6hgKDQ0NDY3D4qBFgxBitqIoqcAjyG6J\ntcCpQoiqcJJMoFOT9DMVRYlF+ml4FqgH/ofstjgsHD4HZc4yxD7CL//e8AQ8XPTRRaTb0nl0zKPN\nfttYuRGhCCgEfzc/jw18jJdvepm0rDRmzJ3BKaecEnb9fBHp6ReTm3A3TJ4sHRzV1cmDmEwwdKic\nSXDjjW1/gdBcEFx+uXQ+9NFH8OKL8Mkn0tVxZubRyZuGhobGH5xDGggphHgJeGkfv13dyrYXgRdb\nSX5YOH1OPAEPdp+dRMvvv2/7jrl3UFBdwJKrlxBnbj4NcHnpctnh8zHYsm088NADZGdn88knnzSG\nj66r+w6dzkIv7kGX31/6NJg4Ufq5T06Gbt0Oberkb0n//tLV8OTJMsjT888f7RxpaGho/GE5pgNW\nOXwOAEodpX8I0fD99u+ZOGgiA7MGNtu+vGw59867F3bCyKEjWbRoEdOnT+f666/H1MQZUX39IpKC\ng9FdMEG6EJ4/v/232hUFZs2ScQ9OPTXqXEpDQ0NDo805pt/AEdFQ5iijb3rfo5yb3xZf0MeO+h30\nTuvdbPvairWc9s5ppJKK/QM7H2z/gMLCQk466aRm6YRQcRcvZMgNAgJmWLiw/QuGCMcff7RzsBev\n7t7Ng8XFBMPxLsw6HSZFwabXk2o0IgCbTsc1WVl0NJupCQQ4OSkJ09EK36txzCGEwBkKERSCeL0e\ng/bsaLQDjlnR4A/58YV8AJQ5y45ybn5bimqL2O3cjSpUeqX2atz+7NJnufd/99LJ1InyqeWMHDoc\nm233XoLBbv+RbdtuJeFHO4bdSL8LXbu28VX8fhBCMHXXLrpaLJyRkgKAX1XxqSrOUIiaQAC9olDU\n0MD4SFhroJfVypjERDqazXQ0m8kymXCEQix3ODDrdOgVhU1uNx5VJUano8Lvp7fVyl9TUggIQaLB\nQKLBgAo4g0ESDAZi9Xp8qkpVICCnJAlBxOm8Gl5Xw+tq021CYFAUToiPJ/Nwgl/9wdnj97Pc4SDb\nbEYVgqAQGBUFRVGoDgSw6nQEhcCrqoTCAtOgKJjCItOs0zWum3Q6QkLw961bWVBfD8j57RFi9XoS\nDQaSmiyJBgMpRiOdLRY6ms3E6HQYFQWLTkemyYSiKPhUFb+qogL9bbY2Fx9CCHzhMOD1wSBuVSUo\nBCEhUIUgBJgUhXiDgTi9nli9Ht1RHqMWybNbVRFCEG8w4FNVYvX6P8T4uf1xzImG82efT9/0vtwy\n7JbGbWWO369o2O3czZBXhzROr+yZIh1vvrPuHe76/i7OyziPLyZ9wTlnnsODD3ZmzZqRDB9ejV5v\nIRCoo7R0GqWlL2C1dqfjjgGIvgGUwxAMxQ0NhIC8mJjGbQvq6niypISAENiDQVyhEO/36YNOUXAG\ngwxPSGj1j1bp95N+DMZyWONysaWhgW+6deO0sGhoDSEEhQ0NuEIhfKrKs7t2sdRup9TnoyYSThro\nEC6DENAtJoZkg4G6YJAMk4mPqqp4pfy3myGkADlmM31tNgbHxdHBbMarqihAstGIDnCGZNWVbDCg\nUxSqAgGq/H6qAgG8qkqK0UiCwYBfVfGqKg2qSn0wiD0YRK8oZJpMuMPHMCgKKhAKVxqhcKXhVVU8\noRDuUAiPqmIJV6SuUAgVsOp02PR6bHo9pvAxIkIoUhnH6HRYwhViZE63EAJjuCL1hEI4QyFcoRB6\nRWlM71VV7MGgrNihsUKLLMFwHhvXm2x3hvN3JEkxGPi/vDxidDqSjEYMioI9GKQ+GKQu8hkIUBcM\nsq2hgaUOByVeL75IlNf9MC4piXtycnAEg1T4/ewJBBr/s/bw8QUQr9eTYDAQr9cjkJV95L4KoDYQ\nIEanw6rXN94bk06HMxjEHgo13v/68BI4gLw1xabTNYqIOL2+cd2oKI3lUBcM4gyFMCoK+nAZJRgM\nJBsMjcJND+gVBUM4TeM68v/mU1VMikJACPb4/dSFy8IdCjUTbBGMikKsXo87FCJyRTpApygsHjiQ\nwX8Al/PtWjSIVh60oroirEZrY9cEyDENv0eEEFz/1fXUe2WrI8GcQLotHYA31rxBHnl8cuMnnHXW\nWbz77rts2nQGqurGbl9CUtJYCgouxW5fTErK2fTo8RKGX4bB2LGHlJf1LhcfVFbyXGkpASEYm5jI\nn5OSuDMnh6d37WKLx8MJ8fFkm0ysc7sZtGpV475nJCfzas+eZJvNNIRCbGto4MHiYj6rruaj/HzG\np6UdfmEdAqoQjZWUT1XpaDb/agtnhcPBTdu2kW408uekpP2mVRSF7lZr4/ePmng3bQiFKPf7idXr\nSTMa99l6cYVfjjE6XePLGORL3RGuAI2KQprRiF5RUJBCIPLC1IW36RSl8eWmC6fxqCrf19Wxye1m\nndvNy7t3UxUIYNHpUIXAH/7/RXLW9CWZajSSZjRi0emoCQZxBIOYdDrMikJMuEUcr9cTEoKNbndj\n6zEoBDpofIFHXuqWcCWRZTIRo9fjCZvl48ItO0/4PrlDIRyq2ngdekVBpygIIRpFTOT6I+3pgBAE\nhMCq0xEXLm8VaFBVagIBzDod2eFWemuVy74qHb2ikGI0MiYxkdpgsHF7RGSkGAx4VRVjuFwi9ydS\nWflVFb8QjZ++8HM4IDb2oK0/qhDUhq8/IAQeVWWP349CtOtsl8/HVZs3c/IvvwAyHkCayUSSwYBN\nrychfN90ioIjGGS3348j/LwlG42YFYUkoxGAPItFCr2w2Nvt9+NTVeL0epIMBrpaLCQaDCSErSER\n8ZEYto4Zw+UYuY9+IXCERUDks7X1BlUl2WgkLyaGJIOBOIOBYFjAJej1OEMhaoPBvYRfRPQ1FX5m\nRSEpbEEwKAr5NhvJ4fzFhgWqLZxvVyiESVEahYpNp5PPHfI9HQI6/kEsdu1bNLC3aPAFffhCPpx+\nJwAZtgxKnb9P0fD2urf5autXPDH2Ce6bfx+9Uns1Vi7Ldy7H9YOLhx9+mAceeABFUXA6VwJQXPxP\ntmy5Bp9vF/36zSEl7mT48GPYsgUefPCQ8nJZQQHFXi9XZmaSHW4BP1RczOWZmfyvro5n8/K4NTJL\nIxBgTm0tXSwW9vj9/H3rVnKXLSPOYKA6EACgi8VCnsXCG+XlhyUadnm9LLHbSTAYGl8KhQ0NxIdf\nhEZF4ZzU1GZjCfyqyvTSUh7duRNHKNqemJaXx6ROnfY6hxCC2VVVfFRVxSdVVfS12fgoP/+wzLwx\nej25Taw1+yLWYCA2PPgz9ZDP1jqJwJUtxrVEpi+LcMUjhMAajjliDwZRgaRwxaIR5Wh39ukUhdQW\nVrv8Fs7ZhiAtDXsCAeL1elKMRu0+ahw07Vs0tGJp8IV8+IK+RkvDgMwBFNYWtnXWfnPqvfVMmjuJ\nS/pdwj0n3cO769+lf0Z/QAascgkXw7oO45/hgE0eTyGxa+xkLI9n699+IiXlTHr1eosktZ+MG/Hx\nx9Ll8pgxB52XSr+fdW437/TuzaUZ0oP4Benp9Fq+nFu3bSMgBOekRqu0JKOxMR3AqMREZlZU4AmF\nyLFYSAm30v9bXs7thYXcVVSEAlyakcFxsbEHnK9F9fWctX499lBzQ2JsuKUaMRtnmkw0hEL0sFox\nhFtc5T4f12dnMyIhAZtez4tlZcysqGBSp06EhGBmRQWL7XaKGhrY1tBAhd/PCfHx/F9eHrd26PC7\nHZQWEaVKeFBnUyKtTI1jl6YiVEPjUGjXT0+roiFsaYiIhmEdhjFv+zz8IT8m/bHXP74vnlryFN6g\nl2fHPYuiKMy7Yh4Wg/ShsK5iHQAndY8OeHQ6V5L5LWR94yB40+10zH8G3Tuz4OqTQaeDzz6Ds846\npMiN88POn8Y0ifPQ02qlj9XK7KoqxiYmkrMf/w4pRiOTW2nBX5iWxj3bt/PuHhl+ZOquXXzety9n\nph5Ym/rJkhJyY2L4ql8/VCHQKwohIehgNiOQ/eRbPB5er6ggw2iksKEBRVEYEhfHdVlZ9GsiUFTg\nnA0bGLJyJdu9XuqCQYbGxdEtJobRiYmMS0pihBbnQkND4w9O+xYNrXVPhC0NTp/snli3Zx0hEaKw\ntvCAQ0W3d4QQzFg1g5uG3kRWXBYAmbFRM/LiLYshCKOHjAbk7IiiojsYsM0M+Mj5qRP8/CLcdx9M\nmABPPgmtVNr7477t29nq8TAiMZH/1dXR22olu0Wf3d05OXxfW8tLPXoc0nWmmUxU/OlPjSPMT1i9\nmrf27Dkg0eAIBhu7RVrmC2Q/vFWvZ2BcHC8cwOCk05KTSTca8QnBpI4dOTU5mWHx8YdyWRoaGhq/\nW9q3aPg1S4MPNpRtAKCgquB3IxoqXBXUe+v5U6c/tfr74qLFUAWDBgyitnYuGzacR4JhADHbK6Ql\n4Y47pEvo006DV16BJoPxDgRHMMjTJSX0tFr5oqaGgBA82LnzXumuzMzcq0/8YImYwI2KwpkpKbxQ\nVkYobDVojS0eD9NLS9nh9RIQgrMP0Crxa5h1OgqGDZMjtH+nXQ8aGhoah0v7Fg37sTQ4fA5wQYlS\nQkpCCgXVBUchh78NW2q2ANHplU1ZUbaChbULiSmOweebwbZtj5KcfDr5tZNQ1FPgyith9mzp7fGE\nEw7p/IvtdlTgi759SQ2P7E9og37QU5OTeWTnTiYXFpJsNPKX5GT6x8Y2Tp8CuGHrVja53egUhRPj\n4+l8BN1eJ2t99hoaGhr75ZgSDUKIRqdOTr8TDBAwBeie3J3N1ZuPUi6PPFuqt6BX9OQl5zXbXu4s\n54IPL8Bqt9LXlUVJyaN07foYOR3/gXL7JIiJkZaF55+Xgx4PkQX19XQwmciLiWlTRybD4uJINxp5\ntbwcm17PQ8XFGBSF67Oy+HePHjiDQZbY7fyrWzcmZmUd8fnxGhoaGhr755gSDQFVTtdrtDSEc58V\nm0VRXREvLn+Rd9e/y9Jrl7Z1Vo8oW2q20DWp614DO2/8+kbqHfW4XnNx+ZMmUlPPoXOne6V14Z13\n4OGHZbfEIThMcodCfFVTw1aPh9mVlYxJSmpzz2cGnY5fhgwhVq/HotPxXmUlH1VV8c6ePUzt1o35\n9fUEheDU5OTf7ewFDQ0NjfZMuxYNLXsnfEHpNrpxTEO4bvS5pOVh0txJBNQA9d76YzqA1ZaaLa12\nTSwsWoh9gZ07J95Jv36vEM/5Mnz0rFnw/vtw0UUHfA5VCL6uqeHz6mq+q6ujzOdDBTKMRjqazVx7\nlOJSNHVqc0VmJkPi4shfsYJ/7tjBwvp6usXENPNGqaGhoaHRdrRr0dDS0hCJNeHxy3DYhLugHQ4H\nTp2TIdlD+Kn0JxbvXMxfe/61rbN7xNhSvYWze57dbFulu5L6YD19Uvvw4IM38Mu8Z8m+8S0oqYb3\n3jsowVDh8/HXDRtY6XTSy2rlgrQ0elmtjEtKoks7q5D72GwMjI3lmV276Gez8Wxe3q/vpKGhoaHx\nm9C+RUOL2RMRS4PD76DGU9O43eF24DQ5ScuUngV/KP7hmBUNP+z4gaK6IobnDAdkYK6z3z8bs162\nwM8ceiZe70byXgZ9pQN++gny8w/4+JV+P2euX0+538/iAQM46RjwPTCnXz8aVJWu7UzQaGhoaPzR\naN+iYR+WhpAawuGKxp5wNDhw4sTldwEwf8f8tsvkEUQIwR3f3cHxHY7n3F7nAnDvvHv5tvBbmSAI\nI/uOxOVaQ/pmHVx8yUEJhjKfj0ErV6IC3/fvz4BjJLiKFoVRQ0NDo33QrkeTCbUVS4MXQs4mosEB\nzqCToBqk2lONzWjjlz2/HJORLxftXMSaijU8PvZxFEXh661fM23ZNGIKwy3saujftx/1ZV8Rs0tF\nGTjwoI7/SVUVdcEg64YMOWYEg4aGhoZG+6Fdi4aQaB5TwBfyQQBwgdMlPULq9oBLLy0M5c5yLsi/\nAL2i56utX7V1dg+bGatm0COlB2O7jqXeW881X1xDWn0aDe82QB0Ya42EQu+g/vIzigAGDDio439b\nW8uIhASytJa7hoaGhsYh0L5Fg9pCNAR9Mp6rAk6PFA0pXgWfWXZbVHmqyInPYUTnEXyx9Yu2zu5h\n8dxPzzF742xuGHwDiqIwZf4U7B47Va9VMW3qNHgL+pR2oLj4fnJqzwCDAfocuAfMXV4vP9TXc1py\n8m94FRoaGhoav2fatWhQ1ebue3yhsGjQgcfrYeJKuG+XkIEGwknjzHGc3PVkfi79uc3ze6j8WPIj\nk7+bzC3DbuHmYTejCpXX1ryGWCq4+vyrmTRpEmMGjKF/npPU1PNI2Z4hBUMLi8EKh4PHioubbVOF\n4KEdO8hZtowGVeWMlJQ2vDINDQ0Njd8T7Vo07NU90cTSIEKC8zbBeaXhHz3yI84UR5o1jTpvHao4\nNnwGPrroUfLT8pl66lSMeiPF9cU0BBuIq49j2rRpAMyd+xVXX11HRkFnlLfegvPO2+s4L+/ezZTi\nYkq9XgA+qqwkcckSHt65k3927sz6IUPIt9na9No0NDQ0NH4/tOvZE6FQK6LBgJQ6KiQ2QJoHcAMN\nQKy0NBh0BlSh4vQ5SbAktH3GD4IKVwVzi+by5tlvolOkhltTtgaA2y+5ncTERGpqviYYdBK3TSX1\nrldh9Gi4//69jrXEbgfgX2VlBIXgP7t3c1pyMpM7dtTCOmtoaGhoHDbtWzS0GNPgDrgB0Ollb0Si\nF2LsYK0CTziQY5wpDotBBjGq89a1e9GwtWYrAEM7DG3ctqhgEXhh1MBR1NR8w/r1f0VRDBz3ItC1\nK3zyiRzT0IQ9fj/bGhqw6nQ8u2sX6UYjl6Sn82L37ljCkSQ1NDQ0NDQOh/bdPdFCNET8MKAHvSJF\nA0C+wyTlTxCu+/w6kmKSAKhrqGvD3B4aRbVFKCjkJuU2blu1axVUQW6ulYKCSzCbOyBCAeIKFZRL\nL4f4+L2OszRsZXiuWzdGJSSwZsgQXuvVSxMMGhoaGhpHjHZtaVBFsNl3R4P0zSB0oFMgwS+32YSo\nkgAAIABJREFU9wzoWBGOrbSnYU+j2Kjztn/RUFhbSIf4Do3WEYBCRyExrhjKy/+G0ZjKgM6fsf77\nYeg9Hujff69jrHe5uKuoiB4xMUzMzmZidnZbXsIfkm++gWnTwOOBhgbwekFVIT0dMjPlZ1YWXHWV\n3L5zJ5x4ImgaTuPXqKqC9evlc6Oq0qgYHy+fHb8fYmPl89bQAIEAWK1gs8klNlZ+xsRAG8eb0/iD\n0L5FQ4vZE3a3nfEbocICay1gCRsiuroCMg5FOdAJ5q2bBxwjloa6Irold2v8vq1mG5VUkksaLtcv\nDM76GnP/MQw0xQDNRYMqBK+Xl3NrYSE9YmL4uG/fo3AFIATs2gWhELhcsiI9/vijkpU2QQi45x7w\n+aQQsFjkotNBZSWUl8PmzbBjBzzwQHS//v2hd29ISoK0NDn5JRSC5cvBEfZVVlgIdrt84SsK9O0L\nf/6zrAiys6FzZ1lR6PXynA0NcmkqXvx+edxAALZvl/mKCJe8PEhOBqNRLh07Qvfu0KEDpKYeUoDU\n/eL3g9st8xf5Owshtzkc8nlJTZVl0dAgy9Tvl3n3++V3n0/uazTKCrTp5762mc1SuB2I53EhoKQE\n6utlGbndMrK8Xi+f68pKmQZkvlwucDrl565dsGGDvD/x8bJsc3NlRa7TyXRCyGPp9fK++P3Ra8zM\njD4LRqP8fdo0qKnZf55/DZ1OHttolOePiZH5mzQJJkyIplPV6LN2IHi9snxiYuQ1tixHv1+WY329\nvD5VldcUDEJtrfwdoudTlGjZGAxS9KSnyzKJiZHHCAblb4oin6PI8+R2y2fDZIo+L02Pp9NF15su\nTbfX18trsljk+XQ6eayaGrk9IUH+H/d1LL0+Ku569Ni7TH6PtGvR0HL2hMPj4N4lsD4NHhgU3Z7j\nCknREH4Q56ybAxw7loYBmVEnTbd9exsGt4H+qoOs9KuJu/5pqKpCD/LtGo4+6QgGmbBpE3Nqa7k2\nM5Pp3btj/Y2bsQ4HvPaa/FOdeKKsaHJz4aGH4JFHmqe95hr5Ig0G4bbboGeToJ2qCh98AFOnwowZ\nMHjwb5rtI87PP8O6dfDtt3DqqftOV18PX38tX9YWC/z737IVuXWr/PT75Yv2uOOgSxdZLiNGyJem\nEPJlO28evPWWfEEeSEWiKLKiiLzQcnPlCy8UkgLhu+9kZRcIyBduuFerkYSE6AtbCJnO45HHSk2V\nS3y8vLaIUIy8NJtWEJGXejDYej7bisREyMiQQq2yUuYrGGx9aQ1FkUIgUrEaDBAXJyu3uDh5ryZP\nlhWMwyHv6+bNUaETFyf3i5STwSAruYjIWbZMVqY+nyzrUEiOc37qqeaVmMMh82gyyXKNVHJGY7Ss\n3W55byOCrKJCHg9k/goK4JJL4Lrr5HEjosxgkOVkMsl7HrmXLdd9PnmcCKmp8reICIoIgiOFokTF\n2rHA8uUwdOivpzvWOSTRoCjKTcCdQCbwC3CLEGLFftKbgAeBS8P77AYeEUK8ub/zqMFAs+9OjxNL\nUFoYEsI/Cb2Ojm4VzDSGyl7rXEt8bHy7szR4g15mrp3JtYOuxaAzIISgsLaQ8b3HA7C8bDnfFH4D\nc6Dv+AAdP1Rh0SIZ+vqyy2RTNSzRJxUWssRuZ06/fpzeBr4XrrkG3nhDvmD0evkCyc2FLVukkLjo\nIrj2WvnbypXw/POQkgJ1dfDKKzL7ZrN8cW/aJCtOi0W+HD/88NDz5fPJVmJcnKzI6urkiyZSVHV1\nsrJsSUkJvPCC3CfSyrnllubipimhkKwQXn1VXlu3bjBu3P7zlpgIl14a/f5r6Vvjjjui6/X1svwi\nLVKvV7ZsIq2+SCVyMGZpu11aNyoq5PVFlkjlYDLJY0daXzU1spKz2aRgMhiirTCdLrpuszU3m1ut\nzbtmIi3z2Fh5TYGAzL/F0txaYDLJT51OVpqBQLT12fSz5baGBtizR1p9KitlnkeOlM9J5H5HFr0e\ncnKkuMjKkvetri7a3fR7iZMmBHz2mbSmCCHL2GKJWgf8/ug9jCyKEl03GqX4stmkBaWsLCqCIkLI\nbJZpEhOj4jWyf3KyPF8kL5FPVY3eO5dL3q+IwLNY5DGCQZm25XNlNketDRGrSkSghULNl9a2JSTI\n43m9cgmF5HESEuS5HQ55Pa3tGzlm5Pp69z5697YtOWjRoCjKRcBUYCKwHJgEzFUUpYcQonofu30I\npAFXA0VAFgcwCDPUYkyDy+siJgCWICREjBC9e9GxfpNctwCV4En3kKnPbHeWhu+LvueGr28g1ZrK\n+D7jqXRXYvfZyUuW4Z6fXfosJpeJvjFd+EvOVqw3vSdrjYsvhtWroVevxmMtrK/nmqysNhEMbreM\nvn399XDvvfJP9u23cMUVMGWKfHlMngzDhsn0Y8fC3XfLda9XVs7//W+0ZTZypBQaa9fC7bfLyic5\nGa6+Gk455cDztW4dnH8+bNu2/3THHy9fiEOGyBdQaSnMnStfDLm58o+/bZt8Uc2eLfcpLIQ1a2Ta\nkhL4+GPZsjYa4e9/l7dF18bDiBMT5XIkSUg4+pae3NxfT9PWxMYe7RwceRQFzj33aOdC41jnUCwN\nk4AZQoi3ABRFuQH4C3AN8EzLxIqinAaMAHKFEPXhzSUHcqKWfho8Xre0NAQhIdw/qgwfQdeZBVJi\nWqGzvTM7nTvxeDztztKwvW47AK+ufpXxfcbz2prXMOvNjOo8in98/w8+3PQhLID77zuZ3lMKZSfZ\no4/KnZ+JFm1NIECR18uwNgo69b//STV/xx2yTx2k5eDRR6WlYMCAfZvlLBa46y65tOS446SYUBRp\n0j31VHj9dSkeDoS775YV99dfS9WfmChbBYEAbNwYbXV8/rmsHH/6Kdpaevpp+NvfpJAB2XVw++3S\nMlBUJLsgQAqkjh3h5JPh7LNlnrt2Pbjy09DQ0Pi9cFCiQVEUIzAYeCKyTQghFEWZB5y4j93+CqwE\n/qEoyuVIV0xfAFOEEN597CMJNbc0eHwuYsKiIT6iJ0aOxDZjBp3ssCsROmdk4NjhwJ5jp9ZbezCX\n95sTEQ3fFX3HluotTP95OlcNuIrlZct5Zukz5GzNoYOpA306VRO/SYU374za85qwIjxqblgrUy+P\nFCNGyJb26NHSZNijhxwwF0FR4MknpaB49NFDG6kdFyetDSAr+NNOgzff/HXRUF8vzc7ffw//+Q+c\nccbeaZoGAL3qql/PyxVXSH9ZCxZIgXDddbJVlpSkjULX0NDQiHCwloZUpCPnPS227wH20RtMLtLS\n4AXOCR/jZSAZuHZ/J1NbiAafz9NoaUj0QUgB/fDhAPTfI0WD2rCcwV1PZp7uf9R62pdoKKorYkyX\nMazcvZJzPjiHSnclk06YxLnvn4t1j5Wy2WW88tUrqOv+LndoZXolwHKnkxSDgdxWBMWRYMsWWLIE\nJk6Ug3vKyuC++/ZON368XI4EiiJ7Ya69Vo6JSEmR/cwtx3Y+9BA8/LBct1jgwguPzPnj42V3R0rK\n79M0raGhoXEkaIvZE2Gnz1wihHABKIoyGfhQUZS/CyF8+9rxhWdf5YtZ8xu/r9+6ic+C0CcoHTu5\nzAr3er08ZzNy3J4AX/eEWCOkxJnBB9WefQ2xaFtUoVJQVcD2uu2Myx1Hz5Se/GfVfzi317koikJB\nTQGGHwysXrWazp1dVDyyHaHXobQyssYZDPLOnj38KSEB5TdqAn/1layQn3uubacQnX22FCqRro6c\nHDkw7cor4cYbZbfD9Olw+eWymyA5WXY7HCkiXS8aGhoaxwqzZs1i1qxZzbbZW06LOoIcrGioBkJA\nRovtGUDFPvYpB8oigiFMAXKCZEfkwMhWuXHSldxw2d2N34+/vxsTnnCyJSIaLAoL7Xbc3dLpv6eM\nCzbArQXwzlXVUjTUtw/R8Pqa15n45UR0io7rB1/PmK5jmPnLTP4x/B+s370egMtPvZx+/fJZuXIA\nnUvToUfKXl0TPlXlsoICKvx+vurX74jmUQgoLpbdBTNnSt8AbT3nODlZzqRQVTli/fPP5diChx6S\nszfmz5ej2u+4Q4oGDQ0NjT86EyZMYEJT5xvA6tWrGfwbjXA+KNEghAgoirIKOBk5LgFFNndPBqbv\nY7cfgfMVRbEKIcKxKOmJtD6U7mMfYO+BkHqPNEpYwqLBbdZT1NCAmpdN7rIy3v4UzCGY65XD6cuq\ny7j0k0t54+w3WFa6jMFZg7GZ2j7K42trXkMgCIkQecl59M/oj/0eO0a9kQ9++gD8MPHiiVRXf4bb\nvYHksoEo/brvdZy/b93K3NpaPunblx6HWaNHZkQsXCgr5t275RQnkDMcwsE125xzzomun366nFve\np48ceLlmjZwSuY9eGw0NDQ2N35hDmTQ2DbhOUZQrFEXpBfwHsAJvAiiK8qSiKDObpH8PqAHeUBSl\nt6IoI5GzLF7bX9cEgGgRe0IX9h4SEQ2uGAM+IVBTkknwwrLwfPzBO+SsiYHJA3lv/Xu8v+F9Rr05\nig7TOuD2uw/hkg+dgqoClpUuY1CW9EYViTFh1BsB+KX0F6iBHj1yKCl5imTdcAzrCveqGYUQfFVT\nwx2dOnHGYU6zXLFCega88UY51fDMM+Gxx+QshN275Zz9P//5sE5xxOjdW+Zv4UI5pfOtt7SBiRoa\nGhpHi4Me0yCEmK0oSirwCLJbYi1wqhCiKpwkE+jUJL1bUZRxwAvACqSA+ACY8qvnamlp8EZFQ4IX\n3FZZ8briE0jwwrZwXdqv0Aw5PrrFd2N1zWrWVsgh+nafnVJHKT1T9zVm88jz5to3SbIkMeeSObyz\n7h16pfZq9nuRvQiL28y2baPx+XZx/Ovh2vrKKxvT1AQC1AQCVAYCHH+YMybeeENOLezTR3qj69Ll\nsA7XJnz5pew+0cSChoaGxtHlkAZCCiFeAl7ax297TZgTQmwF9uNwt3VCLWZPGAPyuyUIcX5wJZgB\nqLbFk+2D+LDdImedgn4kNHgbANhYtbHxGOWu8jYRDULI7oi31r3FJf0uISM2g8knTmZV+SqGZA9p\nTFcZrCSFGLzeYobGfIh55jnSG1LYjeEmt5uT1qzBGvYkNPgwfDPMny/HBlx6Kbz8ctRHwbGAJhg0\nNDQ0jj7tOjS2aBF7whAWDeaQtDR4rVI0lMfEYwlBuhtc/TthrPcydjO4fbIrYmPlRvqmy2BOFa59\njdc8PDZWbuTGr25k9JujSf+/dPJfyuf7ou+pcFVw9QCpoxYUL2Doq0OZv0POCHH6nDQYG8gwuMnM\nvAbrtFlyCP/EiQDYg0H+sn49PlWlzO8n02Qi+zAiCs2eLS0Lb799bAkGDQ0NDY32QbsWDS0HQhoD\n0aiXKQ3QYLMSo9OxwyJrwE52CJ7Uj2DXTCZsAqdPTjspc5aRl5SHzWij3Fn+m+R16k9TmbVhFhmx\nGYzLG0dBdQHvrH+H7LjsxvEMPxX+BMD/Lf4/QM6qQIV8a4CuD+2UUZweeKAx1ODft26lNhBg6aBB\n2HQ6hsTFHfI0y1AIPv1U+lXQWu0aGhoaGodCuxYNqhrtnih1lGLwR7+nucEdG8ewuDg2mKRosAbB\nmJpG8KxRnFYMDn89MQYZbSbdlk5mbCblrt9GNGys2sjZvc7mg/M/4Jk/S5fPH236iKHZQxsr+sWb\nFgMwd8dcNlZu5NEFj8I6uLgKTO9/KwccXCv9Xb27Zw/vVVbyco8eHBcby1u9e3NfTs5+81BdLV0l\nN0WIaFdEZaWM1aChoaGhoXEotHPRIC0NQgjGzhyLKRiNk2pSwRMfz5ikJNYao9MolcQU6NqN9AZw\nBeyk29IBKRqy4rJa7Z4IqkFunnMzu527Dy2fQpVdIGmyCyQ7LpsMWwb+kL/Z+IXt9dthO+CFM949\ng1pvLV22xXPyDzrp2vCqq0BREEIwubCQi9PTuSRDusQ4Ly2NE3/Fk9Hjj8OYMTKiH8ggSxkZMsDS\nZZfBnDkyeJOGhoaGhsah0M5Fg+yOWLl7Jdtqt5GsNPdN4IhPYExiIrW26IwCJSEVXXoOegGGBg9p\ntjSgdUuDN+jlm23fsL1uOy+ueJG5hXP3mZe3fnmLH0t+bPW3EnsJ7oCb/PR8mQdFaeySGJo9FH/I\nz4LiBZT7y7G5bIiVghJHCWKtYMqfO2OuVuHmmxuPt9PrpTIQ4LKMlj609s+8eTKw1AMPSA1y8cUw\nfLjc/sor0u+B1jWhoaGhoXGotHPRIC0NH276kDRrGma1eY3nik1gWFwc7ibBAnRJGegzugAQ6/WT\nZo2KhqzYqKVhbcVaOkzrwBnvncE7694BogGlWuP++ffz0spWJ4ywsVLOzogMtgQYnCW9cQ3OHsxL\nK15izMwxOE1O+nXoxwjzCNgBuaW5jEgNu/vMz2/cd41LOs8cdBBBECoqYMMG6Vb55Zfl+pQp0sPi\nyScf8GE0NDQ0NDT2yTEhGr7c+iXn9DoHY6D5wMhAbCIWvZ4OaWmN27Zb4tFndAAgQQ3i8ssKWAhB\nhi2Dcmc587bPY+QbI+kUL91JLNq5CIAd9TtazYc36KXMUca2mm2t/r6qfBVxprjG4wFcM/Aa/nXa\nv0iJSeH5xc83bs80VfGPG2+HmfD4nY9hKtpNKDVW+lAOs9rlIsNoJMtsPrCCAj75RH7Oni3DUK9c\nCf/8JxjaIrqIhoaGhsYfgvYtGkIqITVEUW0RAzIHYAy2FA1JAPRJSCBgkVaIi8vrCIU9JqbuhiU7\nlwBwySeXMO3HadQ01DDu7XGclHMSS65ZQqf4TiwvWw7sWzTsqNuBQLCtdhtCRMdVCCGY9O0kHlzw\nIKfkndJsZkPXpK7cevytLNq5iJ2enfALIKBrXBH9+hWydu1aTj+9KzHFQdSeuc3Ot9rpZNABzon0\neGQAp5tukiGiTzkFnnmm7eNGaGhoaGj8/mnXokGoIfa49xBQA+Qk5GAKqs1+D8WlApBuMuG3ySZ1\nnS2eFeHm9YD6OIQiIDwwsNZfCw1ww+Ab+Pziz4k1xdIlsQsNQekEal/dE0V1MqZWvbee2gZ5sEAo\nwD3z7uH5n59n6ilTef/891vdd+rCqVANXdZ2gZegTwcoLX2efv16UVz8T2JLzRj6ntiYviEUYoXT\nycAD6Jr46CPo0UNaGd58U3pO1NDQ0NDQ+K1o16JBFSFK7CUAjaIh1HRYQ4Lslkg0GGiwSZfSDpuN\nrxwOgnEGhmbIWRU6Eb3M50Y8x8tnvtwY+6FzYjQecoWrgoZAw175KKqNBuLcVruNPa49jHpzFFN/\nmsqz455l8omTUYXKLxW/8F3Rd7y66lUWFi+kyl3FnB1ziNkUw/z/zWfy2DzOfd2CqCpny5aJ1FV/\nT8wuFaVPn8bjT9mxA0cwyBWZmfstm//+Fy64QMZj+OUX6XVa167vpoaGhobGsU677vFWVbVRNHSK\n74RRFdhNkBx2F62ELQ1JBgMemwnw4IyJ4cuaGqYkWcgIBgAwxhnxV/gRmYLSmuaBNbskdAGgW3I3\nCmsLKa4vpnda72ZpCmsLyUnIocRewqcFn/L+xvfxh/z8eM2PHN9RzmF88IcHeerHpxr3MevNPD76\ncUIixNWDrqZjx3hu6hMk5QMv3b7pQUHCW2Rv6YHi2woDBgBQ4HbzXGkpT+Tm0vNX+hdefllGhPz4\nY21GhIaGhoZG29Cu26YiLBriTHH8e/m/MekEDlO0hjSGgzclGgyU2LJosJrJsdlY53bjS7KSGo6K\n6TP5SCQRvLCjuvm4hYilYUTOCKD1LoqiuiKOyziOzNhMnln6DMkxyay4bkWjYAD4cs2XWEotKP9W\n4FXwhXxMWzQNKuDKC3qydGk2+m27AEh/vxyT10buq8AJJ8CIEahCcP+OHXQ0m7k9HHdiX9jtsHat\njP6oCQYNDQ0NjbaiXYsGVQ1SYi8hKzaLRxY+Qkwp+E1R44glPFgwyWBgty2dGmscE9LT6WKxUB1n\nJdbjgbBVIl4xYfDoKXW0sDQkdgGge3J3YgwxbK7e3Oz3hxc8zLzt8+ib3pezepzFhL4TWHz1YjrG\nRyt2IQRbHVuJrYtlxhMzeGbyMxCE3YHdJLuT0eneQgg/1p0qwV45KB4vJz45CMParfDUUzSoKqPX\nruXT6mqeyM3F/Cv9DD/+CKoKo0YdaslqaGhoaGgcPO26ewIhKLGX4A/6CXlDdAiaMGea8dUFEArE\nhqckJhoMlMfGYrfZSDEauTwjg01xWYzaVYHiCSHMEKPuweSDyobmHiG7JXcDYMr8KXRN6NosIqYQ\ngmeWPsNFfS+if0Z/eqX2YkDmgL2yWeYsI2AIMDxvONdddx1ut5u7J90NHaBPfGfctavI2T4Ua8kK\nOH00DDeivPYa/OUvMGoUT+7Ywc8OB/877jjGJiX9arEsWABZWZCXd+hFq6GhoaGhcbC0c0uD7J6o\ncFQg1gh6dbYRiDGAVUHE6anbGMOyZZBkNPLyWWdx39/+RqLBQBeLhU3xOcS4kzDKHgqSTRAroC5Y\nB0hBMP3n6Qx7dRiTjptEiBBqlcqGyg2N5690V+IJeBjfezy3fHEL9355b6v5XLp9KQAje44EwGaz\nkeqV4y2GZal0/TSZ3BtXYNsJhn7Hw733yhGMTz9NfSDA0yUl3J2Tc0CCYc4cmD4dzj1X65rQ0NDQ\n0Ghb2rVoCIVUSh2lePGSrqYTZxT4TQZCJh3+GD3znkvgzjulpWFNjx58cdJJJBkMpBuNVCQnoy+u\n4L25kOaC21bpmLAdPAYPtQ21nPnOmdz27W1UeaqYv1mGqvYH/Gys2sjSXUtx+V2N4xs6xHWg2l/N\n8u3L986jGmL2qtnghZH9+1Nb+x3l5W8wzNoL1sOArHV0+CQaaItevaSJ4OefIT+fX9xu/EIwIT39\nV8vj2WelceKUU2DatCNTxhoaGhoaGgdKuxYNQqg4/U4Axg4ci84fxG8yEDTp8MXocdfoKSiARH20\nlyXRYCDdZOLVM8+k+sqLGb8dLtwIFy5VeX4epARC9H6+N99s+gbLpxZwwSbXJgDcqhtPwMPw14fz\nzI/PNIoGT4MHFKg31Ddz7uT0ORn39jg+Lv0Y3QaF+vpxrFt3Klu2XMPovJ8ZWtKFIVt16Csd8K9/\nQXw89O/f7BrXuVyYFIXuMTG/UhYwdaqcWvnZZ3AQziI1NDQ0NDSOCO1aNKCG8Dq9AJzQKw9DgxuH\nKZagWYc3xoirVkdtLbhrdRjDtvrEsKXBZbVS8tdzARjcJBp2jhMqCysZvn44W7/cisltImCUUzPd\nBndjul2OXWyv206aNY21hWtldgxqYyTMuYVzGThjIEuLl2J418DgPYmkpo5m2LBtDBq0jKFDAvzr\nOZUuH5ngrLPg1luhrg5SU5td4nq3m95WK8Z9DH4UAmbOhFmzZHyJiy7S/DFoaGhoaBwd2vVAyFAo\nCB7ABJm22SgBM5vN3Uk3eaiOice5U9aemzcrJBoMVAUCJBoMpJlMAJSnSJP/oHJoyLARs8dN9/l6\nJtz2LLfefCs6nY4ENYEqqgDwx/i568S7WFiykIKqAgByk3JZVbyqMU+LNy9mh28H98+/nwxPBr7X\nfdx73b2c2nU6uf/2Yy2+AbF+PcMsCttuKiFmB/DWXXLnVmr79W43/fbj/fH+++HJJ+X4BZ1ORq3U\n0NDQ0NA4GrTrNqs/6IcAYIeOgW3EFgXYpO9NrZrMHnMaHpe0LmzeLKddgrQ02PR6bDodJeEgUPl7\nQO3VEdWi5+lzu3L7rbej0+lwOleRoguPJqyWH+O7jWd87/FsrNpIUW0RuUm5bK7cDJXy9wnfTOC+\n+fdhW2XD918fM6fO5IEHrqHHJ27iPlgL8fEop52GtUTQ8RMIdUpvrOmr/H7+tnkzjqAc46AKwQa3\nm342W6vXP2OGFAzXXy8tDoMHyx4ODQ0NDQ2No0E7Fw2ycrX6FHp/0R1vfAJvbLqDJepJLM2Njg0o\nKJBiASAh/JluMrHLakU1KhgAXYcsglnx6MqqCQbtbNlyHatWDSHNINXA8TtAUeHHzT+Sn5aPy+9i\nccliOid0ZqenmDhfk4x9CH2r+rJp4yauuOIKnM6VxG0F9cLxMhDECy8gdAopPwOjRjdOc/i+ro7X\nKiqYuks6eVpYX48rFGo1BPYPP8DNN8tAVP/5D0yeLMWDhoaGhobG0aJdiwY1FAQT5PoFSZ8Xs+DK\nK2nwJvKPnIeYNvJKQPor2LRJWhri9Xr04Qo63WhkTyBAKDXsjjm7E2pWKvryepYvz6ey8gO6d3+J\nrgl60lzw4xz46wZYtn0Z+en5jXn4YNUHVMZUcbwd0mcCr8L066ezePFiMjMzqatbwK5tj2HbCfqh\nf5I7xccj+kpX1PrRpzQea6NbjpmYVlrKbp+PW7Zt48T4+L2mWgohI1eOGgXPh6NqT50K1157pEtY\nQ0NDQ0PjwGnXoiEQCoAVrikCQoIF558PXr1c6mXAqdNOg+XLIUFnaLQ2AGSYTFT6/YTSpT1f16Er\nolM25iowGBIY2vtnOrxUysv/EpyxEfQCBuyEdZXryEnIAWB87/Hs8OwgaVUcsxbD/E6w6osF3HLL\nLRgMBiorP2TdulOxbQclBAwa1Hh+3YgxcmXEiMZtmzwehsTFoQNGrllDgcfDi927o2vhcKGwEMrK\n4M47wdCuR51oaGhoaPyRaNeiIRRSwQhnbwIx/lwqk5IQXh06nx6zQw52PPtsqK8H8644MsMDIEF2\nT1QGAqiZcraCvmMPzHnHY6uNZ/DWO7AMGAfTpmF1qly3RO7Trw52+XehU3TU3F3D5IGTQQdXjRhK\nShV0rIHcXAWfr5wNG85n06YLSU09h57uG0Gvh379opm/9FKYMAG6d8cbCjG3tpaNbjcjEhK4s1Mn\nirxe/t6hAwPDrrCbslT6iuKEE36bctXQ0NDQ0DgU2nU7NhgKYNBB5xrQjT6ZBlUl1KBD59VjdprB\nDCefLOvrgcUdeHxs1EFSutFIideLJ7snVtaj79QNpcaFrsIBl18L550HU6cSPKEfJ9QmyOZRAAAg\nAElEQVS7AOjjAk+Mh+GvDOfRkx9l1WY5a+JP+gCKCrZiKCh5hnr7EnQ6M717zyJ9rh9lymQ5SrGp\nr4UTT5QL8FRJCQ/v3AlAvs3GxenpmHQ6bsjObvW6ly6F/HxITDzyZaqhoaGhoXGotGtLg8/np3O9\n7DqgWzfcfhUR0KH49BgcJtLSIDYWjjsO1izT88rjFiITEQbGxlIZCPCSIrsnJtTV8Vxk7MBzz8mY\n0l26EMrrgD48yLGrHRCwtHwpT336FKt3rgY/9HRKJ08GNzi3fE1a2nkMy19JxuNLUa68UvaRfPpp\nq9fgCgaZXlbW6Eci32rFptfzj/9v786j5KrqBI5/f7V09b6ku5PuDg1ZOwkheyBEkKDs4sgiAwZH\nFBBFcVRmVGAYRRyFEQUUh8iiDnjEKMoyKJsgoLIESEJCVgJkXzudpLfqWt+788etrl7SS3VIul8l\nv885dSr16r1699atzvu9ux59dLrTZmfGwMsvw4c+dNC+RqWUUuqg8HRNQyIRZ9ze1Itx4whvbrL/\njvjxN+ek50maOROWLoWnn4a2Nli1Ci6aPJxHRfjdyJHECgp41O/n98OHc/6uXYzuPGXz+PHw6juY\n3CB50QQjtsGuUlgVXUVVqAp/ExTGdmF8griGqYE7KNw6Bc45BXbtgp/9zA5x6GUhiPt37KDFcXhy\nyhQWbNvGtD7mZAD40Y9sx84f//gDfnlKKaXUQXZANQ0ico2IbBCRiIgsEpHjMzzuJBFJiMjSTPaP\nJ2KM3QdJv8BRR9HaZi/MJupDmoJUVtr9hg+HPXtg9mz7+uGH7XNtbi5/mDePzzz2GImg7Ti5IfXc\nzj9hFgDOSfbgy1dXULOjhnqpZ2vbFgqjUNV4IjL7eMjNpfCGe+GMM2D0aFixwo6LTAUMrjFsjUZ5\nvbmZdW1txFyX27ds4dPDh3PmsGE8PmUKeX5/r/ldtsyuZXXDDXDOOZl8Q0oppdTgGXDQICKXALcD\nNwEzgOXAsyJS0c9xJcCDwPOZniuRSDJuLzRWFuL4fOxqdgAwET9uU5DU3E1UVEBDA7Targk89BA4\nDhwVCuH6/TyTm8ucVIfDjdFol3MEJtmlrgNnno8J+rhqToIzppxBMpSkIdTA59+D0N9X204G06bB\njh1w//3w1792WZv63u3byfv736ldtIgTly5l9pIl/K6+nm3xON86+uh+87prF1x9NUyYADffnOk3\npJRSSg2eA2meuBa41xjzawARuRo4F7gCuK2P4+4BHgJc4LxMTpR0bdDQUlPKA1u2sLUpNZNizEeg\nNUh7F4XycgiH7TDFD33IdiR8/HG44MIgQRFaHIdxeXlsicXY1C1oYMIE+1xXR3LSKPLWrKe29lGI\ngovhe6+CHFdrZ1aqrYVgkHQVRyd/3L2b6YWFfGfUKNoch4tXr+b7mzYxo7CQY3uZ8bHdli02HnFd\n+POf7SmUUkoprxlQTYOIBIFZwF/btxm77OPzwNw+jrscGA0M6B7aOEnG7oXWkeV8d+NGLioc0fHe\nnlB6dEF734ZNm2y1/kc/avsG+ESoTg3DrM3N5Zjc3P1qGpg4Eec3v+Eb48cTnTmbonUwc3QLtMK4\nN4LkJ0Bu/i+YMwdqanoMGBxjeL25mfMrKji3vJwLKyspDQR4LxLhzG4TN/XkK1+xAy/efRdOPnkg\n35BSSik1eAbaPFEB+IFd3bbvAqp6OkBExgO3AJ82xrgDOZnrOlS3wrrSQnwiXFJcnX6vvp79ggbX\ntbUO559vO0YaY5sowD6Pys1N1zREHIe7tm7lX9as4dVzz+X23bt5a+JMCjYJp9xfwVeXlvLTyXZW\nRyZO5LwVK/jh5s09pnNNOEyL43BiamEIvwjzSkoAOKO9DaUX69fDE0/Abbf1GI8opZRSnnFIR0+I\niA/bJHGTMeb99s2ZHm+MoSAO7wZDfKmmBv/bgU7vdQQN5eUdxwwbZqv3EwnbOXJkKmioTQUNrzQ1\n8cju3fzH+vVsiEZJGJOekfH1ujpOcQzlTzXw75cGML4G3KAP95hj+MuiRbQ6Dtf10D/hb01N+IDj\nO03UdG55Of9oauKkflaYWrTIPp99dqbfilJKKTU0Bho0NAAOMKLb9hHAzh72LwJmA9NF5O7UNh8g\nIhIHzjTGvNTbyd59u42LXFj94irKt13Dc/U5wPzUY/+aBrABRPuoxm3b4KiCjqBhR24um2MxLlq1\nitPLynj8uOOYt2wZT+3ZA8DzRx3FN2trcSMtFL7TSKR1O86YGt5LJIi6LstbWzHGIKkgoymZ5LI1\na3hizx5OLS2lsNO8C1dWV3Px8OHk9jFaAuwU2GPHdg18lFJKqUwsXLiQhQsXdtnW1NR0yM43oKDB\nGJMQkSXAacATYK/+qdd39XBIM3Bct23XAB8BPgls7Ot8UycGeOLVONfM/xg3fPtunnwwl6uv7ni/\nPWgoLrZrNCST9uLbHkRs3w4jj+sIGtrbRu6rq+Oq1GyMk/Lz+XvqC14ej8OmTZibb6TozlsJmDz8\nU07k7dRCU3uSSbbFYhyVm8uvd+7kW++/T9R1eXDiRC6o6Dp4xCfS4+RN3b3xBpxwQr+7KaWUUvuZ\nP38+8+fP77Jt6dKlzJo165Cc70CaJ+4AHkgFD29gR1PkAw8AiMitQI0x5rOpTpKrOx8sIvVA1Biz\npr8T5SUNAG7JMEaGQqSu3WntQYOIDRZ27bLPVaneFdu3w9mnDGNtWxvlwSAVOTkk581Lr4QJHUFD\njgi7EgkaEgkqjj8JfzMEVjnIP03h7dZWcn0+oq7Li42NvNLUxL07djB/+HBuHTOGY3JzM/ri9u61\nwyn/679soBOP274Xl1yS0eFKKaXUkBrwPA3GmIeBbwDfA94CpgJnGWN2p3apAmoPRuJyHRs0lJcN\nR0QIh7tOvNh5bYb2G/3yctunYfhw2zwxuaCA+ydMSDcp+LvN3DgpNRyyfXnqVW1tdh0JQPLySVx5\nJW+0tHBq6mSXrV3Lb+vrWTB+PA9NmpRxwADw5JNw111w44329R132L4Xp5+e8UcopZRSQ+aAOkIa\nYxYAC3p57/J+jr2ZDIde5rk2aBgxzHahCIdtcLA7FZ50DxpCIcjPt69ramxNQ38mpQ44Z9gwXmps\nZGlLC/Nqa+2CVv/yL5xUX8+bLS18b9QoRubksD0e55cTJlCd6mA5EEuW2KDn7rth+nS46Sa7/PXk\nyQP+KKWUUmrQeXrtidxU80RxqR2LGA7bYYntQUNqVCNgaxjKyztqIkaOzCxomF5YSL7Px4nFxcwu\nKuK15mauBXjkEVqSSd58+WVuGzOGf6+tTY+yOBCJBCxeDBddBBs2wOc/D5Mm6eyPSimlsoenV7nM\nTzVPBIrs0IJw2PYFCIUgN9c+2lVXd/RlAFvTsG1b/+cYnpPD3pNP5oTiYuYWF/NaczOLm5sJOw6r\nUp0oTisr+0ABw8MP22Bn8WI7R9T999uA4YEHuuZBKaWU8jJPBw157UFDagxlOAwFBbYJonPTBMC3\nvw2//W3H65oaWLkSPvc5O9PieefB179uJ4DqLuSzX8Pc4mK2xmIcv3Qp927fzopwGB8dTRgHIhqF\nb34TmpogFrOLak2fbley1FETSimlsomnmyfy7PpUhFKTJrUHDQUFHXMxtBsxwj7afepTdg2KBx+0\nq18/8YTdfs019nVP5naaiOnVpiaqQyHG5+X1uTJlf+66yzaT/OEPtmbh+IzWA1VKKaW8x9NBQ34S\nHIG81J1+OGybIQoK9q9p6G7iRNtf4Lnn4KWX7NoOkQisW9d70FAVCvHI5Mk8vXcvz+zdy9hEgqnd\no5NeNDTYczU22tU2x4yBU0+FW26xq1dedJF9KKWUUtnK00FDngPhABSk7vQ71zT0FzQAjB5tn195\nxS4E9fLLtqmiLxdWViLAL3bsYHc8zk2jRmWU1htvhPvuA7/f9rlob5aIx23TiVJKKZXtPN2nIT8B\nbUEbNGzeDG+/DXV1UFaW2eJOI0bYjoaRiL3zHzfO1jT0ZPFicFLNIXNSzRRlwSBXp2aO7M+LL9rV\nsxMJG5i4rp2H4eyz7ZwRSimlVLbzdNBQkIRIAPLEz/XX25ETV18NP/85/OAH/R8vAu0VBaNH24Cj\nc9Dwzjvwy1/aJbVPOAEefdRurwmFuLyqigcmTqQsGATswlIbNvR8nm3bbKBw2mn2nDU1tu9CIgEX\nXHDg+VdKKaW8xNNBQ14C2oLCd74U4ne/gx//GIqKbJ+E2gznnGxvohg1yh63fLldhnrGDNvv4fOf\nhx/+0K6a+frrHcf9auJEzuq0rPXFF3fM5Njd3/5mn+fN69h2/vl2ZsqPfzzz/CqllFJe5umgIT8B\nkaCPRxf6uPVWuOyygX9G55qG8eNth8XrrrO1Do8+ameSfPhhu8+SJT1/xs6dsGULvPZa1+3xOHzt\na3DFFTBzZtdmiH/7N9vkkZqdWimllMp6ng4a8hIQ9oVwHDng9RnaaxpGj4Yzz7SzQ7/9Nvz+97bp\nYPp0SK2MzZIlPc/j8Oab9nnjRhtAJJOwYIGtqbjnHtvR8amnuh6TmwtTpx5YmpVSSikv8vToifwE\n7JYCcnJgypQD+4zzzrPzJFRU2P4GjzzS9f0ZM+D55zvWqnjvPVsL0dkbb9gJpdra4Kc/tQtPrVxp\n54K47jqYNu3A0qaUUkplE0/XNPiBVlPC9OmQk3Ngn1FXB3fe2XV1zM5mzLDPl15qnzv3awBb+/Dk\nk/CRj9j1LP77v+2Qz9dftzNQasCglFLqSOHpmgaAFqfikM6imFoFm3nz4Nln4YUX4DOfsduMsUMm\nw2H413+1fReiUVvD4PN0uKWUUkodfN4PGpJl6X4Jh0JdnZ1ues4cGzD88Y+wbBkce6wditnQAM88\nA2eddejSoJRSSmUDz98vtzplXZbAPhTmzrU1B6edZkdJzJgBP/lJR1OFLiyllFJKZUFNQ5tbTGq9\nqkPulFPsEMlYzHaOnDChYwZKpZRS6kiXFTUNnRafPKSKimDrVrvQ1csv20mb5swZnHMrpZRSXuf5\noKHFKR+0oAHs0MrTTrPrVaxYYWd2VEoppVQWNE+0OBWDGjSAHUY5ZYoNGC68cHDPrZRSSnmV54OG\n1mTFoPVpaOfz2TUqepvbQSmllDoSeb95wpQOek0DaMCglFJKdef9oIGiQa9pUEoppdT+PN88Eckp\nIBgc6lQotT834SIBQUQwxuBGXNyIiwQFX8iH5Nj3lBoIYwy4gA9MwoAPfIG+7++MMal/0OVZ/Pr7\nUweX54OGRGHhUCdBqS6STUnWXrGWhkcbAJCADRpwuu7ny/cx7KxhGMfghB1KPlRC7uhcgsOC+PJ8\niF+IvB8hvCqMSRh8IR/hNWFM3BCssJFyTnUOeePz7EXABeMa/AV+csfkkjMix25LGoxrEJ+AD/ss\ngLH7IxAoCZDYncCX5yNQFiBYFsSX7zuigxpjDMl9SWJbYySbkrhtLk7EscFf539HXNyoi0kY3Hjq\nOebihB0S9Qmim6MESgK4URen1cGNuvgL/ARKAviLOz0X2X2STUmSTUmcZgf8ECgK4C/04y/ygw8a\nX2oktilm64FdQCA4PEigKIDT6pBsSeJGXPteP/xFfoIVQYLlQYKVQUo+XELxnGJ8+T57fPtvxAV/\nid3XF/QhQbGPgP19uBEXN5Y6px+7X7dApj3YMUljv4NifzqgNklDcm8Sf7Eff56/73JxDRgb8LQH\nQ0fy79RrPB80mGINGrzOjbk0vdaE2+ZiHPsfccWFFfgL/LgxF3/u/v9JuDGXtrVt5E/O7/cuqi/G\nNSR2J9L/yeFCoiFBoiGB0+YQrAySX5ePSRr8+R3pSLYmaXq5ieSeJMGKIBISik8s7pJWJ+KQ2G0/\nK7wqTPNrzTS/1kzrilb8eX7G3jEWf5Hf3g0KBIoD+PJ8mLi9qEQ3Rtn3/D78RX78hX62LdhGck+y\nawb8kD8+H1+eD6fNIW9MHsERQeK74wC0LG4htj3WERCI4LQ5GV0w+iM5kg4gAmWB9AMXfCEfOVU5\n+PJ9NihJ2jz6cn1dHuITnBaHZHOy47nJIbEnQbIpadPtJ30hDo4I4svxYRz7mYn6BMY16c8Llttg\nxiRMxyNpcBNuOh3t29LpcrGf53b8uz3A6vxvnI4LJNBjoNfl+wkJ/jw/vrxUXlO/MV/QZ98r8BMs\nD1I4sxCn1bH7FvjwhXy4bangoNkGB7GtMdqa22zQVhIgWBkkb2wexjU4LQ5Oi0OiwX4Xw84YRtGc\novRv1o27xLfHcVoc+1tqv/D6sMEhqYtq+3W1/dlAsjGZ/nuIbY+x6fubcNsOxo/HBqKI/U7dqIuJ\nma67hGxNmxtzO2pAsAFH6KgQiA3A3ah93zi2bJ0WB2Ns3p02B/GL/Rv1SfrcgK2BCfnS5dP94c/z\ndym39rIDey6n1SG5L0myMQk+m65gRRBccML2u3ZjLvEd8fR5099zKg3tv2MTN4y9fSz54/M/+Hfr\ncZ4PGoJFoaFOggJ2/GoHO/93J+FVYTAQrAxSdEIRdQvqWHn+ShpfbOx6wOWpO/CkoeTDJQw7cxhu\n3CWxO0Fsc4x9L+7DDbsMO3sYJfNKiG2JEaoJUX1VNTnDM1vSdPdju3nv2vfsXVkG8ury7IVqTwKn\naf+rRdEJRRTPKSbyXoSWpS0kdiW6vJ8/MZ/iucXUfLmGYWcOI/eY3H7POeo7o7q8dhMuyX3J9J1r\nzsicHoOqvrgJl+imKImGhG0e8Qvik447Paejelt8YgO5xiTByiBuzJ4/uS9JYm8i/e/kviSJfQli\nW2KIX3CjLo1/a7TNLQF7x2lcGwy5UbfLRcKX7yNQbO+m/UV+AsUBguVBQkeH0hcDf74fX8hHfGcc\n4xhbbe6HwhmF+II+e5eeCtKcVgcJpJp4CiV9/s53v76gz94F++0dqfg7alk6/xt/D9s6XWzbL2Dt\ntT++PF86UEhfpA4jbtz+dtyYay+AnWqm2gO97gEbYL+bkA/8YOKGeH2c5N5UAOxLBZMhX7qsfDk+\n4vX2YtveVBcsC5JsShLbEiO6JYqI4C9JXdjFlpUv6MNf5Ef8QrIlib/Ab/9mGxL75cU4BhMz6d9j\n+2/Ijbo2SIrGcCNuOi9uwk0H+OKzQV+gLECgNIBxDOFVYZJ7khhj0rU6+CE0MpSuuWt/pGtAUn9/\nvpCvS2B0OJN0W5iHiMhM7KrUfP7kBEv/4fnY5rAT3RylZUkLgbIATovDyvNXUnZGGaUfLgUgXh9n\nx3070n88xz12HAVTCuydm8DeZ/bixl3EJ+x5cg9N/2hKV5XmVOVQemopoZEh3vv6e2AgVBsisj5C\n/sR8xtwyBqfNIVQTIlASIHd0Lr4ce4dQ/8d6dv1ml/3cP+2h7Kwyqq+oBux/iCKSvmPw5duLVOTd\nCACty1rx5fs6qmrnlhA6KkSiIUHk/QhrPrMGCQqF0wopOLaA/Mn5Nr2VOelmBdWhczWyUso7li5d\nyiy7hPMsY8zSg/nZBxQ0iMg1wDeAKmA58K/GmDd72fcC4EvAdCAErAK+a4z5Sx+fnw4avvGxBC88\nqUHDYIpsjLB46mKclo678aI5Rcx4eUaXpoSm15pofKGRYR8bRtGMAxvikm6LB1qWtvDWyW/Z9tpO\nCqYWMO7OcUQ3Rln3xXUUzizEX+Anry6P8T8bn65y/KC0/VQpdTg4lEHDgK/GInIJcDvwBeAN4Frg\nWRGpM8Y09HDIKcBfgBuARuAK4E8icoIxZnl/5ysr1v/ADxU36eI0OcS2xYhtjZFoSNC2po2GxxsI\nlAU4ftXxtq11T4KiWUX79T0omVtCydwPtgRp5yrgoplFzFk/Bzfs4i/xE9sUI7YjxrovrGP5afan\nUnpaKVOfnnrQAoUuadFgQSml+nQgt/DXAvcaY34NICJXA+dig4Hbuu9sjLm226YbReQ84J+wtRR9\nqijx/FQSWSW2PUbDYw3sfGAnLW+17NcRLGdkDoXTChl18yhya/tvsz/YQlUdfVhyKnIooojStaXE\nd8QJDLNt5YdjW7NSSmWDAQUNIhIEZgG3tG8zxhgReR6Ym+FnCFAE7M1k/9ISvUAcLLsf282qf14F\nBirOq6DqiipyhueQU5NjO4NVBPsdDjUUAsUBAsXaRKWUUkNtoP8TVwB+YFe37buACRl+xjeBAuDh\nTHbW2SAzl9ibILw6TOnJtrOiE3Fo+kcT4dVh9j2/j8YXG6k4v4K6e+rIqchshIJSSinVblBv30Tk\nUuDbwCd66f+wn5IP1mR+xDDGsObTa9j7zF6qrqwiujFK67JWknuSSFAoPbWUmi/VMPrm0fgLvFeb\noJRSyvsGGjQ0YFvBR3TbPgLY2deBIvIp4D7gImPMi5mc7KsI0Qc/wXPPdWybP38+8+fPH0iaD3uR\n9yPs+OUO9j6zl9LTStn9+92UnV5GzVU1jPjMCHLH5A54LgCllFLet3DhQhYuXNhlW1NT0yE734CH\nXIrIIuB1Y8zXUq8F2AzcZYz5US/HzAd+AVxijPlzBueYCSx5nhICLzUyb96AknhEiO2IsfOBnex5\ncg/NrzTjK/BRfXk14+4aB+hIAKWUOlJ5asglcAfwgIgsoWPIZT7wAICI3ArUGGM+m3p9aeq9rwJv\nikh7LUXEGNPc14ki5DGue52Gwo25LD99OdFNUYadMYyJD06k8p8rPdmJUSml1OFjwEGDMeZhEakA\nvodtllgGnGWM2Z3apQqo7XTIVdjOk3enHu0exA7T7NVOqjlJg4Y0YwzNi5rZesdWIusizFo6i8Ip\nujaHUkqpwXFAHSGNMQuABb28d3m31x85kHMAfJPbuLL0QI8+/Kz65CoaHmsgpyaHunvqNGBQSik1\nqDw9+L2RYRzpTfNt69rYcvsWMNDwWAN199ZRfWW1zvevlFJq0Hk6aOhP69utuHGX4tnFQ52Ug84J\nO2z6/ia23L6FYHmQeH2cohOKqL6qWjs5KqWUGhJZHTS8+9V3Ca8Mc8LaEw6ryYrcmMuSOUuIvBfh\nmP88htpv1RJ5N2KnUNaAQSml1BDJuoUd4rvjJFuSGNfQusROXrT+uvVDnayDavu922lb08bM12Yy\n6juj8Of6KZxSSKgm1P/BSiml1CHi6aChsId+fqsuWsX6G9bTtq4Np9Wh8uJKdv5qJ43/aMSJOMR3\nxQc/oQeJMYYdv9rBhv/cQNXnqg54uWmllFLqUPB088TIkftPPBV5N4Iv10fL4hYA6n5eR3RTlA3f\n3kDBsQVs//l2jl9zPAUTCwY7uQfMGMOeP+1h60+20vhiIyM+O4Jxd44b6mQppZRSXXi6puGO27oG\nDW7SJb4rTmxbjJbFLeSNyyM4LEjlJytpWdxC06t26sy3z3qb8NrwUCR5wNyky+r5q1l53kqcFocp\nT01h0gOTdFVHpZRSnuPpoKGyvGvQEN8ZBxfi2+K0LmulcIZtvyicXogbdgmvDFP9xWr8RX5WnLOC\ngU6RPRTqH6pn9+93M2nhJGa9OYvyc8qHOklKKaVUjzwdNJhkt6Bhm+2vkGxMEl4eJn9SPgCF01Kd\nHxwoP7eccbePI7oxSmRdZFDTm4nolmg6mIk3xNn43Y1UXFjBiE/p1JdKKaW8LauChti2WPrfycYk\n+XU2aMgZnkNOtR1yWTitkOKTisEPjS81Dl5iM7D7kd0sOnoRyz+6nO33bWfxlMUkW5KM/sHooU6a\nUkop1a+sDRoA8ury0v8unFZIoDRAqDZEoDBA8fHF7HtxH8Yd+iaKtnfbWH/DejZ8ewOFMwtJNCRY\n98V1FEwt4Pi3s6vTplJKqSOXp3vb9RQ0BIcHSdQnANI1DYAdoji7KD35UelHStl862YWvbaIaX+Z\nxsbvbsRf6Gf8gvH4goMXKzUtamLFx1eQ3JcEF2a8PIPiE4tpW9dG/oR8xKeTNSmllMoO3g4anP37\nNOTX5dMaa8WX6yNQ0pH84ZcMh0s69j3q347CX+Rnw39sYPWlq2lb24bb5lJ+XjkVH6846GlteKKB\nTT/YRHJfEqfFIW98HrX/XsvqT62maHYRxz58LImGRHqRqYJJWruglFIqu2RN84QxhsiGCDkjcwiN\nDHWpZehJTkUOR19/NKGjQ7QubaX6imoKphRQ/1A9TptD85vNbL9/O+9f/z6x7TFWnL+C8Kreh2lu\n+ckW9j67t8f3EvsSrL1iLeITKs6roPqL1bQua2Xl+SspOaWEqc9NJVQd0lUplVJKZTVP1zTg2Cc3\n6bLqwlU0v9LM+AXjyT0ml2BlsN/DRYSKT1Sw7X+2MXz+cEK1IdZfv57639eDwYZMAnv+tIe21W0A\nTHl8yn6f0/p2K+9f+z7B4UHmvDuHREOC1rdaaV1mHy2LWzBxw+THJhOqslM9F04rZMd9O5i0cBL+\nXP/B+kaUUkqpIePpoMFNugCsv349e5/ey3GPH0fFeQNrWhj5lZFIUCieW0z+pHySzUnyRudRMLWA\ngskFrL9uPdv+ZxvB4UH2/N8eWpa2UDSzY/rm9TfaICN0dIj4rjivVL6CidsakJyqHAqnF1J1eRUV\nF1SkAwaAygsqqbyg8iB8C0oppZQ3eDpoMElDdHOUrT/Zyujvjx5wwACQPyGfcXfYKZmDZUHGfH9M\nl/drv1FL/R/qmfzwZNZ9eR3vfOEdSk4qofrKahDYfMtmyk4vY9TNo4jviNP2bhtFM4oomFbQJUhQ\nSimlDnfeDhocw7afbSNQFGDkV0YeknPkHpPLSTtPAmDC/RN466S3aF3SSuOLjRRMKSCnJocpT00Z\n1BEXSimllBd5OmggCTt/vZOqK6oIFB76pJbMLWH28tkkm5IsO3UZ4RVhxt45VgMGpZRSCo8HDcl9\nSUy9oXhO8aCds32Ew8xXZuIv9JN/bN+jNJRSSqkjhaeDhujGKAUUkDcur/+dD7LBDFSUUkqpbODp\nevfIBrvgVN7YwQ8alFJKKdWVp4OG6IYowcpgl5kflVJKKTU0PB80DEXThFJKKbMicJ4AAAg0SURB\nVKX25+mgwY25GjQopZRSHuHpoAG0P4NSSinlFZ4PGso/Xj7USVBKKaUUWRA0FM0q6n8nj1u4cOFQ\nJ+Gg0vx41+GUF9D8eNnhlBc4/PJzqBxQ0CAi14jIBhGJiMgiETm+n/1PFZElIhIVkXUi8tlMzjP5\n8ckHkjzPOdx+jJof7zqc8gKaHy87nPICh19+DpUBBw0icglwO3ATMANYDjwrIj2uJiUio4A/A38F\npgE/BX4hImf0d668Wu3PoJRSSnnFgdQ0XAvca4z5tTFmLXA10AZc0cv+XwLWG2O+ZYx5xxhzN/DH\n1OcopZRSKksMKGgQkSAwC1trAIAxxgDPA3N7OezE1PudPdvH/koppZTyoIFOtVgB+IFd3bbvAib0\nckxVL/sXi0jIGBPr4ZhcgL/+4ik21KwZYBK9Z8e6rTzy/YeGOhkHjebHuw6nvIDmx8sOp7zAwclP\n1dxR5JUNfbP6mjXp62buwf5ssRUFGe4sUg1sA+YaY17vtP2HwCnGmP1qD0TkHeBXxpgfdtp2Draf\nQ35PQYOIXAocPr9GpZRSavB92hjz24P5gQOtaWgAHGBEt+0jgJ29HLOzl/2be6llANt88WlgIxAd\nYBqVUkqpI1kuMAp7LT2oBhQ0GGMSIrIEOA14AkBEJPX6rl4Oew04p9u2M1PbezvPHuCgRkdKKaXU\nEeTVQ/GhBzJ64g7gKhG5TEQmAvcA+cADACJyq4g82Gn/e4AxIvJDEZkgIl8GLkp9jlJKKaWyxIDX\nnDbGPJyak+F72GaGZcBZxpjdqV2qgNpO+28UkXOBO4GvAluBK40x3UdUKKWUUsrDBtQRUimllFJH\nLs+vPaGUUkopb9CgQSmllFIZ8VzQMNDFsLxCRG4SEbfbY3W3fb4nIttFpE1EnhORcUOV3s5E5MMi\n8oSIbEul+xM97NNn2kUkJCJ3i0iDiLSIyB9FZPjg5aJLWvrMj4j8bw9l9VS3fTyRHxG5QUTeEJFm\nEdklIo+JSF0P+2VF+WSSn2wpHxG5WkSWi0hT6vGqiJzdbZ+sKJdUWvrMT7aUS09E5PpUeu/otj1r\nyqdbuvbLz2CVj6eCBhngYlgetBLbObQq9Ti5/Q0RuQ74CvAF4AQgjM1bzhCks7sCbIfWLwP7dXLJ\nMO0/Ac4FPgmcAtQAjxzaZPeqz/ykPE3Xsprf7X2v5OfDwM+AOcDpQBD4i4ikp53LsvLpNz8p2VA+\nW4DrgJnY6fVfAP5PRCZB1pUL9JOflGwoly7E3nh+AXs96bw928oH6D0/KYe+fIwxnnkAi4Cfdnot\n2NEW3xrqtGWQ9puApX28vx24ttPrYiACXDzUae+WThf4xEDSnnodAy7otM+E1Ged4MH8/C/waB/H\neDk/Fal0nHyYlE9P+cnm8tkDXJ7t5dJLfrKuXIBC4B3go8CLwB2d3su68uknP4NSPp6paZADWwzL\na8aLrRJ/X0R+IyK1ACIyGhv1dc5bM/A6Hs9bhmmfjR2+23mfd4DNeDd/p6aqx9eKyAIRGdbpvVl4\nNz+l2NqTvXBYlE+X/HSSVeUjIj4R+RR2zppXs71cuuen01tZVS7A3cCfjDEvdN6YxeXTY346OeTl\nM+B5Gg6hA1kMy0sWAZ/DRoHVwHeBv4vIcdgfp6HnvFUNXhIPSCZpHwHEU390ve3jJU9jq+Q2AGOB\nW4GnRGRuKlCtwoP5ERHBVi++bIxp7y+TteXTS34gi8on9ff9Gnba3hbsXdw7IjKXLCyX3vKTejtr\nygUgFfRMx178u8u6v5t+8gODVD5eChqymjGm8xzfK0XkDWATcDGwdmhSpXpijHm408tVIrICeB84\nFVvl51ULgGOBk4Y6IQdJj/nJsvJZC0wDSrAz3f5aRE4Z2iR9ID3mxxizNpvKRUSOwgakpxtjEkOd\nng8qk/wMVvl4pnmCA1sMy7OMMU3AOmAcNv1CduYtk7TvBHJEpLiPfTzLGLMB+/tr7zntufyIyP8A\nHwNONcbs6PRWVpZPH/nZj5fLxxiTNMasN8a8ZYy5Eds57Wtkabn0kZ+e9vVsuWCr4iuBpSKSEJEE\nMA/4mojEsXfX2VQ+feYnVWvXxaEqH88EDanoqX0xLKDLYliHZOGNQ0lECrGFtT1VeDvpmrdibA9y\nT+ctw7QvAZLd9pkAHE0fC5N5RSqKLwfaL16eyk/qAnse8BFjzObO72Vj+fSVn17293T5dOMDQtlY\nLr3wAaGe3vB4uTwPTMFW509LPRYDvwGmGWPWk13l019+ehr1dmjKZyh6gPbRu/NioA24DJgI3Ivt\nvVs51GnLIO0/wg5hOQb4EPAcNpotT73/rVRe/ilV+I8D7wI5Hkh7QepHOB3bk/brqde1maYdW9W8\nAVsVNgt4BfiH1/KTeu827H8Ox6T+gBYDa4Cg1/KTSsc+7FDFEZ0euZ32yZry6S8/2VQ+wC2pfBwD\nHIdtQ04CH822cukvP9lULn3kr/tog6wqn77yM5jlM+QZ7+GL+DKwETv05TVg9lCnKcN0L8QOD41g\ne6P+FhjdbZ/vYof5tGHXOR831OlOpWse9uLqdHv8KtO0Y+9GfoatDmsB/gAM91p+sB28nsHeZUSB\n9cDP6RaYeiU/veTDAS4byG8rW/KTTeUD/CKVvkgqvX8hFTBkW7n0l59sKpc+8vcCnYKGbCufvvIz\nmOWjC1YppZRSKiOe6dOglFJKKW/ToEEppZRSGdGgQSmllFIZ0aBBKaWUUhnRoEEppZRSGdGgQSml\nlFIZ0aBBKaWUUhnRoEEppZRSGdGgQSmllFIZ0aBBKaWUUhnRoEEppZRSGfl/jj3P9GO0xYcAAAAA\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1169516a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"for i in range(10):\n",
" plt.plot(async_history[:, i])\n",
"plt.title('Coefficient trajectories for Async ADMM')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below we will plot the \"primal residual\" (`primal_res`) as well as the \"dual tolerance\" (`eps_dual`); the former attempts to measure how much consensus there is, and the latter tracks the size of the dual variables (`u`). Both are used in the ultimate convergence criterion."
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"metrics_base = pd.DataFrame(metrics_base)\n",
"metrics_v1 = pd.DataFrame(metrics_v1)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x117fabcc0>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n5IUXXmDo0KHcfPPNfP/998TExORIbJ07d6Zq1arccsstVKlShR9//JHXX38917nqQYMG0a9fP4wx\nTJo0Kd/PPj/t27fn3nvvZebMmfz3v/+la9eupKWlsX79ejp27MhDDz2U637nz59n8eLF3Hbbbc6R\nh+xuv/12Zs6cSWJiovOzTk1NdX4JOHv2LHv37mX58uV8//33dOrUKdc1IlmVK1eu0AsMs/8d3Hvv\nvXnUvIIKWsbv6RcZl+V9+tWn+V6aIOILiutleefPn7dPPvmkbd68uS1fvrwNCQmxzZs3t3PmzHGp\nN3jwYFu3bl3n+z179liHw2GnT5+eo02Hw+FyqZa11n7wwQe2UaNGNiAgwDZu3NguW7bM9uvXzzZq\n1KjAfX/77Tc7cuRIW6tWLevv72+rV69ub7vtNvv2228XeH6///67feCBB2xYWJgtX768jYqKsomJ\niTmOM378eOtwOOyOHTts//79bfny5W3FihXtqFGj7Llz51zaPHfunB09erStVKmSDQkJsb1797YH\nDhzI0WZycrIdNmyYrVy5si1Xrpzt3r27/e9//2vr1Kljhw4d6tLm22+/bSMiImzp0qVzXKL35Zdf\n2m7dutmwsDAbFBRk69evb4cOHWoTEhLyPfdz587ZsWPH2muuucaWLVvWtmvXzm7cuNF26NDBduzY\n0VnvzTfftO3bt7eVKlWygYGBtn79+vapp56yp06dytHm+fPnbYUKFWxYWFiOz8Xa9L+TcuXK5Sgf\nP3689fPzcylLS0uzr7zyivPvokqVKrZHjx528+bNeZ7T4sWLrcPhsO+8806edb788kvrcDjsrFmz\nnDE5HA7nKzg42NatW9f279/fLlmyJNc22rdvb5s2bZrnMay1dt26ddbhcOR5WV5+6tSpY2+//fZ8\n6xTlZXnGerlnbYxpAcR/+tWndGl7efOEIp6WkJBAZGQk8fHxtGhxdc3P+6rmzZtTuXJlty+j8oQJ\nEyYwceJEfvvtt0sepi4JLl68SPXq1bnjjjtyrA2QolXQvzmZ24FIa22+13n6zhy+hvRFirXU1NQc\n89br1q1jy5YtuV5yJr5ryZIlJCYmMmjQIG+HIm7wnTl8LdoTKdYOHDjArbfeyj333EP16tXZvn07\nc+bMoXr16jlu0CK+6dtvv2XLli1MmjSJFi1a8Mc//tHbIYkbfCfhq4cvUqyFhYXRsmVL3n77bX77\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x117fbf278>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"x, y = 'time_elapsed', 'primal_res'\n",
"\n",
"ax = metrics_base.plot(x=x, y=y, label='standard ADMM', title=y)\n",
"metrics_v1.plot(ax=ax, x=x, y=y, label='single update async-ADMM')"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x119507630>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n+7u4uPD555/j7+/PrFmzrLY3adKEnj17EhMTY1EeExNDp06duPHGG8s8dmRkJBs2bCAtLc1c9ssv\nv3Ds2DHdrU6QAAAgAElEQVQiIyPRWlc4TlE71buEfzbtLINiBhHiG8KiwYvsHY4QNcbkyZNZvHgx\no0aNYtGiRUyfPt28hjfAK6+8QufOnQkICCA6Oprly5czf/58ANLS0liyZAm9e/dmzpw5zJw5k8TE\nRAYMGMDvv/9uda7o6Gjmzp3LlClTmDVrFqdOneL++++noKDAXGfTpk2MHDkSR0dHZs+ezbBhwxg3\nblypXwwWLFhAWFgYr7/+Om+99RZOTk6MHj3aqiUMsHXrVp555hnGjBnDe++9R8uWLQG49957iY6O\nZuzYscyaNYuzZ8/yyCOP2NTVHRMTQ+/evWnUqBFjxowhLS2t1G708nh4eDB8+HDOnTtnfu+Li4iI\nYN26deb7ORQUFLBy5UoiIyPLPe6IESNQShEbG2sRb7t27ejSpYtNMYraqV6ttJeUlcTgmMEoFBse\n3IC3i7e9QxJ1WGYmHDpU/edp1w7c3St/nA0bNjBp0iTmzJljLit+Lblv3740adKElJQUIiIiLPb1\n9/fn1KlTODr+9ZEyadIk2rZty/vvv89HH31kUf/PP//k2LFjeHub/g/ecMMNDBs2jI0bNzJo0CAA\nnn/+eYKCgvjxxx/x9PQE4K677uKee+4xJ+kiR48excXFxfz8iSeeoEuXLsybN4+BAwda1D1y5Aj7\n9++nbdu/BuyuXbuWnTt3MnfuXJ555hkA/va3v9GrV68KvXcACQkJbNmyxdwV36xZM2677Taio6O5\n//77K3wcgI4dOwJw/Phxq3s2jBw5kieeeII1a9YQGRnJxo0buXz5MhERESxZsqTMY3p4eDBkyBBi\nYmKIiopCa82XX37J448/blNsovaqFwk/KSuJ17a/xpK9S3AwOPDjuB8J9gq2d1iijjt0CMLDq/88\ncXFQFcv6+/r6snv3buLj42ncuLFN+yqlzMlea01KSgoFBQV07dqVPXv2WNUfM2aMOdkD9OjRA601\nJ06cAODChQvs27ePl156yZzswfSlo0OHDlZ3Kyye7FNSUsjPz6dHjx588cUXVufu1auXRbIH08h6\nJycnpkyZYvGannzySXbu3Fmh92DFihU4ODgwYsQIc1lERATPPvssqamp+Pj4VOg4gPk1p6enW23z\n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\nvRsw/Tvx8vLi/PnzDBs2DC8vLxo1asT06dOtus611rz33nt06tQJNzc3GjVqxMCBA9mzp9xbu5v9\n+eef7Ny5k4iICB544AFOnDjBTz/9VKF9izz33HP069ePlStXcuzYMavtERERfPnllxZl33zzDVlZ\nWYwePbrUywFKKSIiIrh8+TKbN282l+fl5fH1118TGRlZ6n7Vqc4k/K0nt6JQ9AnpY+9QhKiVJk+e\nzOLFixk1ahSLFi1i+vTpuLu7c/DgQXMdpVSprdDo6Gjmzp3LlClTmDVrFqdOneL++++noKDAXOfb\nb79lzJgxuLi4MHv2bEaMGMGECRPYs2fPVVu2ly5donv37vzwww889dRTLFiwgDZt2jBhwgQWLFhQ\nZe9BURyjR48mNzeX2bNnM3jwYBYsWMDkyZZ33yw694ABA3j77bdxcnJi8ODBVq/ll19+4aeffiIi\nIoL333+fv/3tb2zdupXevXuTnZ0NwF133cVTTz0FwCuvvMLy5ctZtmwZ7du3B2DZsmUMGTIELy8v\n5syZw6uvvsrBgwfp0aPHVa/5nzhxgm+++YahQ4fy7rvv8txzz7F//3569erFhQsXzPU++ugjnn76\naTp27Mh7773Ha6+9RpcuXcxJvFevXjRr1qzULvPo6GhCQ0Pp3r27+X00Go3079+fhg0b8s4779Cr\nVy/mzZvHv/71L4t9x48fz7Rp02jRogVz5szhxRdfxM3NrcJJOyYmBk9PTwYPHky3bt1o3bp1ud36\nZXn44YcxGo0WyblIZGQk58+fZ9u2beayFStW0LdvXxo2bFjmMVu2bMmtt95q0TuwYcMG0tLSGDNm\njM0xVprW2q4PIAzQcXFxujIivo7Q3f7VrVLHEOJq4uLidFX8e62JfH199ZNPPllunaioKB0SEmJ+\nfurUKa2U0g0bNtSpqanm8m+++UYbDAb97bffmstuuukm3bx5c52ZmWku27Fjh1ZKWRxTa62VUnrm\nzJnm5xMmTNBNmjTRycnJFvUiIiK0n5+fzs7OLjPmohiXLl1qta3keWbMmKGVUnr48OEW9R5//HFt\nMBj0H3/8obXWet++fVopZfV+Pfjgg9pgMFgcs7TYdu/erZVSevny5eayr7/+WhsMBr19+3aLuhkZ\nGdrPz09PmTLFovzSpUva19dXT548uczXrrXWubm5VmWnT5/Wrq6u+o033jCXDRs2TN90003lHuul\n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\nhrLcf//9GI1GZs6cWWadLl260KdPH/OjKLkXdec/++yzjBgxwuIxYcIEQkNDKzxaf/bs2WzevJkx\nY8aUetmpyMiRI5kxYwYLFy68as9KcR4eHnz44YfMmDGDoUOHVni/qlbrW/hx8XGEB4fj6nh9VywS\noi5JT0+nadOmjBw5kptvvhlPT082b97Mr7/+yrx586rkHG+++SbDhg3j9ttvZ9y4cSQlJbFw4UJu\nuukmqxXOSipaGKV79+5MmjSJDh06kJSURFxcHD/88MNVk97EiROZPXs2kyZNomvXruzYscN8bbw0\nJ0+e5L777mPAgAHs2rWL6OhoHnroIfMAw5tvvpmIiAg++OADUlJSuP3229m6dSvHjx+3OuaQIUNY\ntmwZ3t7edOjQgf/+979s3brV4vo5QOfOnXFwcODtt98mJSUFFxcX+vbtS0BAAIsWLWLs2LGEhYUx\nZswYGjZsyJkzZ/j222+58847y52aOGTIEF5//XXGjx/P7bffzh9//EF0dLRVYuvXrx9BQUHccccd\nBAYGcuDAARYuXFjqteqxY8cycuRIlFK88cYb5b735enVqxcPP/wwCxYs4MiRIwwYMACj0cjOnTvp\n06cPjz32WKn75ebmEhsbyz333GPueSjp3nvvZcGCBSQmJprf6/z8fPOXgOzsbE6fPs0333zDH3/8\nQd++fUsdI1Kct7d3hQcYlvx38PDDD1dov2p1tWH81f2gEtPythzfopmBXvTLIpv3FeJa1NVpebm5\nufr555/XXbp00T4+PtrLy0t36dJFL1682KJeVFSUbtWqlfn5qVOntMFg0PPmzbM6psFgsJiqpbXW\nX331le7QoYN2dXXVHTt21GvXrtUjR47UHTp0uOq+CQkJ+sknn9QtWrTQLi4uOjg4WN9zzz36k08+\nuerry8rK0pMmTdJ+fn7ax8dHR0RE6MTERKvzzJgxQxsMBn3o0CE9atQo7ePjoxs0aKCffvppnZOT\nY3HMnJwcPXXqVN2wYUPt5eWlhw0bps+dO2d1zNTUVD1hwgTdqFEj7e3trQcNGqSPHDmiQ0JC9Pjx\n4y2O+cknn+jQ0FDt5ORkNUVv+/bteuDAgdrPz0+7u7vrNm3a6PHjx+s9e/aU+9pzcnL09OnTdZMm\nTbSHh4fu2bOn3r17t+7du7fu06ePud5HH32ke/XqpRs2bKjd3Nx0mzZt9AsvvKDT09Otjpmbm6v9\n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\nwJckqQ38Hw2FzbsQ5VSZAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1195223c8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x, y = 'time_elapsed', 'eps_dual'\n",
"\n",
"ax = metrics_base.plot(x=x, y=y, label='standard ADMM', title=y)\n",
"metrics_v1.plot(x=x, y=y, ax=ax, label='single update async-ADMM')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is a bit strange to see this upward trend in the dual tolerance plot; we expect $u \\rightarrow u^*$ to converge to the optimal dual variables which would imply asymptotic stability in the above.\n",
"\n",
"Also, it isn't clear to me why the dual variables appear to be on different scales."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Actual Convergence Time"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above plots were all skewed in that `matplotlib` interpolates values for us; this makes synchronous ADMM look better than asynchronous ADMM. In fact, if we track the actual `time_elapsed` to convergence, we find async converges faster.\n",
"\n",
"This is because synchronous is blocked from an update until all workers have reported back, whereas asynchronous is constantly updating it's estimates, allowing it to converge in the interim times between synchronous updates.\n",
"\n",
"The standard convergence criterion for ADMM can be informally stated as follows: \n",
"- the size of the difference between the global consensus estimate and the individual worker estimates should be \"small\", where \"small\" is measured by the current size of all the estimates\n",
"- the size of the difference between the current global consensus estimate and the old global consensus estimate should be \"small\", where \"small\" is measured by the current size of the dual variables (this difference is a proxy for dual variable feasibility)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"metrics_base['primal_conv'] = metrics_base.primal_res - metrics_base.eps_primal\n",
"metrics_v1['primal_conv'] = metrics_v1.primal_res - metrics_v1.eps_primal"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"metrics_base['dual_conv'] = metrics_base.dual_res - metrics_base.eps_dual\n",
"metrics_v1['dual_conv'] = metrics_v1.dual_res - metrics_v1.eps_dual"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"standard_primal_conv = metrics_base.loc[np.where(metrics_base['primal_conv'] < 0)[0][0], 'time_elapsed']\n",
"async_primal_conv = metrics_v1.loc[np.where(metrics_v1['primal_conv'] < 0)[0][0], 'time_elapsed']\n",
"\n",
"standard_dual_conv = metrics_base.loc[np.where(metrics_base['dual_conv'] < 0)[0][0], 'time_elapsed']\n",
"async_dual_conv = metrics_v1.loc[np.where(metrics_v1['dual_conv'] < 0)[0][0], 'time_elapsed']\n",
"\n",
"standard_converged = max(standard_primal_conv, standard_dual_conv)\n",
"async_converged = max(async_primal_conv, async_dual_conv)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Standard converged in 5.953s\n",
"Async converged in 2.851s\n"
]
}
],
"source": [
"print('Standard converged in {:.3f}s'.format(standard_converged))\n",
"print('Async converged in {:.3f}s'.format(async_converged))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Convergence Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we interpolated between update times with constants, we can better see the path to convergence of both synchronous and asynchronous ADMM; the algorithms are converged whenever both the primal and dual lines are below 0."
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"all_metrics = pd.merge(metrics_base, metrics_v1, on='time_elapsed', how='outer', suffixes=('_stan', '_async'))\n",
"all_metrics.sort_values(by='time_elapsed', inplace='True')\n",
"all_metrics.fillna(method='ffill', inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x11976b668>"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ni4tjwIABrF+/PrvOnDlzGDBgAPDH7eCIiAiWLl2aXeett96iU6dOVK1alWrVqtGrVy9WrlxZbo5p\nmQAAIABJREFU4PVv376dcePG0bZtW6Kjo4mJiaFHjx58/fXX+eo+9thjtGnThipVqlCjRg06duzI\nCy+8AMD777+Pz+fj1VdfzdcuOTkZn8/HsmXLAO97Eh0dzS+//EKfPn2Ijo6mVq1a3HrrrflugTvn\nePTRR2nbti1RUVHUqlWL7t27k5aWVuC1AWzYsIEPP/yQhIQErrzyStauXcunn35aqLZZbrvtNi65\n5BLmzZvH6tWr8x1PSEjgxRdfzFX22muvsW/fPgYMGOD3tr6ZkZCQwNatW1myZEl2+aFDh3j55ZdJ\nTEz02y5UlIiKiEipNnLkSGbOnEn//v2ZMWMGt956K5UrV2bVqlXZdczM76hdUlISDz74IKNGjWLy\n5MmsW7eOK664giNHjmTXeeONNxg4cCCVKlViypQpXH755VxzzTWkpaUVOBL4+++/c9ZZZ/Hee+9x\n0003MX36dJo3b84111zD9OnTi+0zyIpjwIABHDx4kClTptCzZ0+mT5/OyJEjc9XNOne3bt144IEH\nqFixIj179sx3LZ9//jmffvopCQkJPPbYY1x//fW8++67dOnShf2ZT43585//zE033QTA3Xffzdy5\nc3n++edp1aoVAM8//zy9evUiOjqaqVOnMmHCBFatWsX5559f4JzStWvX8tprr9G7d28efvhhbrvt\nNr755hs6d+7Mb7/9ll3vqaee4q9//Stt2rTh0Ucf5d5776Vdu3bZyWXnzp2pX7++31vfSUlJNGvW\njLPOOiv7c8zIyKBr167UrFmThx56iM6dOzNt2jT+9a9/5Wo7fPhwxo4dS8OGDZk6dSp33nknUVFR\nhU4mk5OTqVq1Kj179qRjx440bdo06O35QK6++moyMjJyJY1ZEhMT+eWXX3j//fezy1JSUrjwwgup\nWbNmwD4bNWrE2WefnWs09c0332Tnzp0MHDiwyDEeE+dcmXoB8YBLTU11IiLiXGpqqivPPxdjY2Pd\n6NGjg9YZOnSoa9y4cfb7devWOTNzNWvWdOnp6dnlr732mvP5fO6NN97ILjvttNNcgwYN3N69e7PL\nli5d6swsV5/OOWdmbtKkSdnvr7nmGnfSSSe57du356qXkJDgqlev7vbv3x8w5qwY58yZk+9Y3vNM\nnDjRmZnr27dvrno33HCD8/l8bsWKFc4557766itnZvk+r6uuusr5fL5cffqLbdmyZc7M3Ny5c7PL\nXn75Zefz+dwHH3yQq+7u3btd9erV3ahRo3KV//777y42NtaNHDky4LU759zBgwfzla1fv95FRka6\n++67L7usT58+7rTTTgva1/jx411UVJTbuXNndtnmzZtdxYoV3b333ptdNnToUOfz+dzkyZNztY+P\nj3cdO3bMfv/ee+85M3Njx44Net5g2rZt666++urs93fddZerVauWO3LkSK56Q4cOddHR0QH7Wb58\nuTMzd8stt2SXde7cOfsz6dixoxsxYoRzzrkdO3a4SpUqublz57r333/fmZmbP39+drvZs2c7n8/n\nUlNT3RNPPOFiYmKyvwcDBgxwF154oXPOuUaNGrnevXsHvb6Cfu5kHQfiXZC8rsyOiL7zTrgjEBEp\nu379FdLSAr8KcWeVlSv9t/311+KNNTY2lmXLlvHrUXQ8cOBAqlWrlv3+/PPPxznH2rVrAfj111/5\n5ptvGDJkCFFRUbnqnXbaaQX2v2DBAnr37s2RI0fYunVr9uuSSy4hPT290LdxC8PMuOGGG3KVjR49\nGuccb775JuCN7poZo0ePzlVvzJgx+W63VqpUKfu/Dx8+zLZt22jSpAmxsbGFinvJkiWkp6czcODA\nXNduZpx11ln85z//Cdo+55zejIwMtm3bRuXKlWnRokWu88fGxvLzzz/7nVKRZfDgwezfv5+XX345\nu+yFF17gyJEjXHXVVfnq5x1FPv/887O/EwDz58/H5/MxYcKEoNcQyNdff82KFStITEzMLktISGDL\nli0sXrw4SMv8qlatCsCuXbv8Hk9MTGTBggUcPnyYefPmUaFCBfr06VNgvwMGDGDv3r0sWrSI3bt3\ns2jRIr+fVaiV2UQ0zwi6iIgUwcyZ0L594Ff//gX30b+//7YzZxZvrFOnTuWbb76hfv36nHXWWUya\nNIkffyzcLn/169fP9T42Nhbw5icC2fMhmzZtmq9ts2ZBnzTN5s2b2bFjB//617+oWbNmrtfw4cMB\n79Z9ccobU9OmTfH5fNkr2n/66Sd8Pl++6/G3zc/+/fuZMGECDRo0oFKlSsTFxVGrVi3S09ML9XjG\nH374AeccXbp0yXXttWrVYsmSJWzevDloe+ccDz/8MKecckqu869YsSLX+W+//XaqVq3KmWeeySmn\nnMKNN96Yb+uhFi1a0LFjx1y3vpOTkzn77LNp0qRJrrqRkZGceOKJucqqV6+e/Z0Ab9pAvXr1sr8v\n/mzfvp1NmzZlv3bu3Jl9bO7cuVStWpVGjRqxZs0a1qxZQ6VKlWjYsGGRb89nrZiPjo72e3zgwIGk\np6fz5ptvkpycTK9evahSpUqB/cbFxXHRRReRnJzMggULyMjIoF+/fkWKrTiUukd8FlaehV4iIlIE\nI0dCsG0CC7N7y7x5kDmVMJe6dY8+Ln/69+9Pp06dWLhwIe+88w4PPvggDzzwAAsXLqRr165B20ZE\nRPgtzzs6eDSyVhwPGjSIIUOG+K3Ttm3bgO0DzT/Nu5I5mGNZzX7jjTcyZ84cxo4dy9lnn01MTAxm\nxpVXXlmoGDIyMjAz5s6dS+3atfMdr1AheIoxefJkJkyYwLXXXst9991HjRo18Pl8/PWvf811/pYt\nW/Ldd9+xaNEi3n77bRYsWMCTTz7JPffcwz333JNdb/DgwYwZM4ZffvmFffv28emnn/Lkk0/mO2+g\n70RRXX755XzwwQeA9/cwZMgQZs2aBXijsXv27KF169a52pgZmzdvZu/evVSuXLlQ5/nmm2+AwP8w\nqlOnDn/+85956KGH+Pjjj3PtG1qQxMRERowYwa+//kr37t0DJruhVGYT0RzzzEVEpIjq1j32hDHP\n79iQql27NqNGjWLUqFFs2bKFdu3aMXny5AIT0YI0bNgQwO+KZH9lOdWsWZPo6GiOHDnCBRdcUORz\nV69eHYAdO3bkKs+5aj2vH374ITvmrBgzMjKyV/c3bNiQjIwM1qxZQ/PmzbPr+dtjdf78+QwdOpSp\nU6dmlx04cCBfPIGS3aZNm+Kco2bNmkd1/fPnz+eCCy7It0hox44d+RbaREVF0b9/f/r378/hw4fp\n27cvkydP5s477+SEE04AvJHBm2++mZSUFPbu3csJJ5yQveK/qJo2bco777zDjh07Ao6KTps2Ldco\nar169QBvFf/PP//MfffdR8uWLXO12b59O9dddx2vvPJKrtv2wTz33HP4fD4uvvjigHUSExO59tpr\nqVGjBt27dy9UvwB9+/Zl5MiRLFu2LN/q+5JSKhJRM7sBGAfUAb4CRjvnPg/WRoloOTF2LPz8c+Dj\nAwYEv0e4YQPcfHPwc0ybBnluz+Xy4ouQY15RPiefDA8/HPwcx3odIuJXRkYGu3fvzjXPMy4ujnr1\n6uXbtuho1K1blzZt2vDcc89x5513Zo9SffDBB6xYsYJGjRoFbOvz+bjiiitISUnhzjvv5NRTT811\nfMuWLcTFxQVsHx0dTVxcHEuXLs1emQ7wxBNP+E3+nHM88cQTXHTRRdll06dPx8zo1q0bAN27d2f8\n+PFMnz6dxx57LLveI488kq/PiIiIfCOf06dPz7WjAECVKlVwzuVLULt27Uq1atX4+9//TufOnfON\ngBZ0/REREflGpufNm8fGjRtzJdHbtm2jRo0a2e8rVKhAq1atePvttzl06FB2InriiSfSvXt3nn/+\nefbv30+3bt1ytSuKK664gieeeIJJkybxcICf/+3atfNbnnVbfty4cdmx5TR16lSSkpIKlYhOmTKF\nJUuWkJiY6Hf6SJZ+/frx888/06JFiwJHonOqUqUK//znP1m3bh29e/cudLviFPZE1MyuBB4CrgM+\nA8YCi83sFOfclkDtlIiWE7t3Q455NfkU9IvmyJHg7aHgeRwHDgTvY8+e4O3h2K9DRPzatWsXJ598\nMv369eP000+natWqLFmyhC+++IJp06YVyzn+/ve/06dPH84991yGDRvGtm3beOKJJzjttNPyPdEm\nr6wNx8866yxGjBhB69at2bZtG6mpqbz33nts2RLw1xgA1157LVOmTGHEiBF06NCBpUuXZs+99OfH\nH3/ksssuo1u3bnz88cckJSUxaNCg7IVVp59+OgkJCTz55JPs2LGDc889l3fffZc1a9bk67NXr148\n//zzVKtWjdatW/PJJ5/w7rvv5ksezzjjDCIiInjggQfYsWMHlSpV4sILLyQuLo4ZM2YwePBg4uPj\nGThwIDVr1uSnn37ijTfe4E9/+lPQLax69erF3/72N4YPH865557LihUrSEpKypdwXXLJJdSpU4fz\nzjuP2rVrs3LlSp544gm/cyEHDx5Mv379MDPuu+++oJ99MJ07d+bqq69m+vTpfP/993Tr1o2MjAw+\n/PBDLrjgAv7yl7/4bXfw4EEWLFjAxRdf7DcJBbj00kuZPn16rkT98OHD2XNH9+/fz/r163nttddY\nsWIFF154ITMLmHhdrVq1Qi+syvs9uPrqqwvVLmSCLakviRfwKfBojvcG/AzcFqB+PODi4srnNiUi\nIkVVnrdvOnjwoLv99ttdu3btXExMjIuOjnbt2rVzM2fOzFVv6NChrkmTJtnv161b53w+n5s2bVq+\nPn0+X64tfZxz7qWXXnKtW7d2kZGRrk2bNu7VV191/fr1c61bty6w7ebNm93o0aNdw4YNXaVKlVy9\nevXcxRdf7J555pkCr2/fvn1uxIgRrnr16i4mJsYlJCS4LVu25DvPxIkTnc/nc99++63r37+/i4mJ\ncSeeeKL761//6g4cOJCrzwMHDrgxY8a4mjVruujoaNenTx+3cePGfH2mp6e7a665xtWqVctVq1bN\n9ejRw33//feucePGbvjw4bn6fOaZZ1yzZs1cxYoV823l9MEHH7ju3bu76tWru8qVK7vmzZu74cOH\nu7S0tKDXfuDAAXfrrbe6k046yVWpUsV16tTJLVu2zHXp0sVdcMEF2fWeeuop17lzZ1ezZk0XFRXl\nmjdv7u644w63a9eufH0ePHjQ1ahRw1WvXj3f5+Kc9z2pVq1avvKJEye6iIiIXGUZGRnuoYceyv5e\n1K5d2/Xs2dN9+eWXAa9pwYIFzufzudmzZwes88EHHzifz+cee+yx7Jh8Pl/2q2rVqq5Jkyauf//+\nbuHChX776Ny5s2vbtm3Aczjn3Pvvv+98Pl/A7ZuCady4sbv00kuD1imu7ZvMleDu+XmZWUVgL3CF\nc+61HOWzgRjnXF8/beKB1NjYVLZvjy+xWEVESqu0tDTat29Pamoq8fH6uVhc2rVrR61atYq83U4o\nTJo0iXvvvZfNmzcf9e3m48GRI0eoV68el112Wb65p1K8Cvq5k3UcaO+cC7gfWLi3b4oDIoBNeco3\n4c0XDShzWy0REZFjcvjw4XzzIt9//32++uorunTpEqao5GgsXLiQLVu2MHjw4HCHIoUU9jmiR8vP\nI2VFyobDh+HWW+HKK+Hss8Mdjchxb+PGjVx00UUMGjSIevXqsWrVKmbOnEm9evXybXwupdNnn33G\nV199xX333Ud8fDx/+tOfwh2SFFK4E9EtwBEg7wZktYHf8lf/w9ixY4mJiclVlpCQQEJCQrEGKFLs\nIiJg+nRo0UKJqEgpUL16dTp06MAzzzzD5s2bqVKlCr179+b+++/P3mJJSrcZM2aQlJREu3btePbZ\nZ8MdznEnJSUl13PrgUI9FAEI7xxRADP7FFjmnPtr5nsDfgKmO+f+4ad+PJCquVBSplWvDuPHeyOj\nIsdIc0RFpKQV1xzRcI+IAkwDZptZKn9s31QZmB3OoERCKjq64G2nREREyrmwJ6LOuZfMLA64F++W\n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\nm/MAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11954a0f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2, 1, sharex=True, figsize=(8, 5))\n",
"\n",
"x, y = 'time_elapsed', 'primal_conv'\n",
"\n",
"all_metrics.plot(ax=ax[0], x=x, y=y + '_stan', label='standard ADMM', title=y, color='red')\n",
"all_metrics.plot(x=x, y=y + '_async', ax=ax[0], label='single update async-ADMM', color='blue', title='primal convergence')\n",
"\n",
"y = 'dual_conv'\n",
"\n",
"all_metrics.plot(ax=ax[1], x=x, y=y + '_stan', label='standard ADMM', title=y, color='red', linestyle='--')\n",
"all_metrics.plot(x=x, y=y + '_async', ax=ax[1], label='single update async-ADMM', color='blue', linestyle='--',\n",
" title='dual convergence')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As before, I'm really not sure why the dual variables are scaled so differently between synchronous and asynchronous."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
@hussainsultan
Copy link

oh man! async is indeed faster!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment