{
 "metadata": {
  "name": "",
  "signature": "sha256:0c618f5fa2ad69b8741a9a4a1a46fceeee020e11c2641e46fb8222c096f5ed12"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from brightway2 import *\n",
      "from stats_arrays import LognormalUncertainty\n",
      "from time import time\n",
      "import math\n",
      "import numpy as np"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "start = time()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "method = (u'IPCC 2013', u'climate change', u'GWP 100a')\n",
      "ei_original = Database(\"ecoinvent 2.2\")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Create copy of this database. We will modify the copy."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "if \"ecoinvent 2.2 average\" in databases:\n",
      "    del databases[\"ecoinvent 2.2 average\"]\n",
      "\n",
      "db = ei_original.copy(\"ecoinvent 2.2 average\")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Load the data to modify."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "data = db.load()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Loop over the datasets and exchanges, replacing the median value with the average where possible.\n",
      "\n",
      "The [lognormal distribution](http://en.wikipedia.org/wiki/Log-normal_distribution) is defined by two parameters, *mu* and *sigma*. In Brightway2, these parameters map to the keys *loc* and *scale* (see the [``stats_arrays`` documentation](http://stats-arrays.readthedocs.org/en/latest/#mapping-parameter-array-columns-to-uncertainty-distributions)).\n",
      "\n",
      "The default value used in ecoinvent is the median, which is:\n",
      "\n",
      "$$ e^{\\mu} $$\n",
      "\n",
      "But we want to know how LCIA results will change if we use the average, which is:\n",
      "\n",
      "$$ e^{\\mu + \\sigma^{2} / 2} $$"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def get_median(exc):\n",
      "    return math.exp(exc[\"loc\"]) * (-1 if exc[\"negative\"] else 1)\n",
      "\n",
      "def get_average(exc):\n",
      "    return math.exp(exc[\"loc\"] + exc[\"scale\"] ** 2 / 2) * (-1 if exc[\"negative\"] else 1)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "First, we make sure that the *amount* value really is the median."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "for key, ds in data.items():\n",
      "    for exc in ds.get(\"exchanges\", []):\n",
      "        if exc[\"uncertainty type\"] == LognormalUncertainty.id:\n",
      "            assert np.allclose(exc[\"amount\"], get_median(exc))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Switch median values to average:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "for key, ds in data.items():\n",
      "    for exc in ds.get(\"exchanges\", []):\n",
      "        if exc[\"uncertainty type\"] == LognormalUncertainty.id:\n",
      "            exc[\"amount\"] = get_average(exc)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 8
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Write the new data to our database."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "db.write(data)\n",
      "db.process()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 9
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Make sure that the processes are in the same order (to calculate correlation)."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "median_keys = sorted(Database(\"ecoinvent 2.2\").load().keys())\n",
      "average_keys = sorted(db.load().keys())"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "for x, y in zip(median_keys, average_keys)[:20]:\n",
      "    print x[1], y[1]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "0015f054356293398bca397fe9261b05 0015f054356293398bca397fe9261b05\n",
        "001bc7601e327c14a6d2316fdb739012 001bc7601e327c14a6d2316fdb739012\n",
        "0042a5e68766610f9ff87c8bdcc4527a 0042a5e68766610f9ff87c8bdcc4527a\n",
        "004ee114924dcbc0733e20afa6a54147 004ee114924dcbc0733e20afa6a54147\n",
        "0060ae00d9a29392009b1595722883a9 0060ae00d9a29392009b1595722883a9\n",
        "00623899611a18f8616b6d2d9de7adfb 00623899611a18f8616b6d2d9de7adfb\n",
        "0070b1bfab4db075dac3dc9127bfa99c 0070b1bfab4db075dac3dc9127bfa99c\n",
        "007e45fdca1a46593e78fee91e91e192 007e45fdca1a46593e78fee91e91e192\n",
        "007fb874be8334806a5fcd21f25bf841 007fb874be8334806a5fcd21f25bf841\n",
        "0085e6f833c2ec2f1c315b1614a154ae 0085e6f833c2ec2f1c315b1614a154ae\n",
        "009f24041e6117e7cd0983932f7de0cc 009f24041e6117e7cd0983932f7de0cc\n",
        "00a1a85a022e137e5a458abbf2db9398 00a1a85a022e137e5a458abbf2db9398\n",
        "00c0bb57dcd40ee0720631d3844a6308 00c0bb57dcd40ee0720631d3844a6308\n",
        "00f9ac8683fc60b9d07a3b810fffe201 00f9ac8683fc60b9d07a3b810fffe201\n",
        "01035f063a58fbe473533a5a749bbfd6 01035f063a58fbe473533a5a749bbfd6\n",
        "0108fe5503fe8a71162c9eebb0a05056 0108fe5503fe8a71162c9eebb0a05056\n",
        "01367561559ba5028445757823950466 01367561559ba5028445757823950466\n",
        "0143c05ffb77084c2fd47c20d79d9c95 0143c05ffb77084c2fd47c20d79d9c95\n",
        "015100cffb46ae40fa09e26d1f488e36 015100cffb46ae40fa09e26d1f488e36\n",
        "0174d1df4413285eb3f4b3375a8d376c 0174d1df4413285eb3f4b3375a8d376c\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "results = np.zeros((len(median_keys), 2))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 12
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Calculate LCA all processes in ecoinvent 2.2."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "lca = LCA({median_keys[0]: 1}, method)\n",
      "lca.lci(factorize=True)\n",
      "lca.lcia()\n",
      "\n",
      "for index, key in enumerate(median_keys):\n",
      "    lca.redo_lcia({key: 1})\n",
      "    results[index, 0] = lca.score"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 13
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Calculate LCA all processes in ecoinvent 2.2."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "lca = LCA({average_keys[0]: 1}, method)\n",
      "lca.lci(factorize=True)\n",
      "lca.lcia()\n",
      "\n",
      "for index, key in enumerate(average_keys):\n",
      "    lca.redo_lcia({key: 1})\n",
      "    results[index, 1] = lca.score"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Exclude zero values."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "mask = results[:, 0] == 0\n",
      "results = results[~mask, :]\n",
      "\n",
      "print \"Excluded %s values because LCA score was zero\" % mask.sum()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Excluded 112 values because LCA score was zero\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Want to calculate ratio of LCIA scores."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "ratio = results[:, 1] / results[:, 0]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 16
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.histogram(ratio)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 17,
       "text": [
        "(array([   2,    0,    0,    0,    0,    0,    0,    1, 3969,    3]),\n",
        " array([-90.17952953, -79.30564546, -68.4317614 , -57.55787734,\n",
        "        -46.68399328, -35.81010921, -24.93622515, -14.06234109,\n",
        "         -3.18845703,   7.68542703,  18.5593111 ]))"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Exclude outliers."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "mask_low = ratio < 0.8\n",
      "mask_high = ratio > 1.4\n",
      "print \"Excluding %s values too low and %s values too high\" % (mask_low.sum(), mask_high.sum())\n",
      "ratio_masked = ratio[~mask_low * ~mask_high]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Excluding 37 values too low and 85 values too high\n"
       ]
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Get average and median (he he) differences, both for filtered and unfiltered data."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print \"Unfiltered data:\", np.average(ratio),        np.median(ratio)\n",
      "print \"Filtered data:\",   np.average(ratio_masked), np.median(ratio_masked)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Unfiltered data: 1.04492640659 1.05317671682\n",
        "Filtered data: 1.07148015049 1.05236198161\n"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 20
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import matplotlib.pyplot as plt\n",
      "import seaborn as sns\n",
      "from scipy.stats import gaussian_kde"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 21
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "kde = gaussian_kde(ratio_masked)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 22
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "d = sns.distplot(ratio_masked, kde=0)\n",
      "plt.xlim(0.8, 1.4)\n",
      "\n",
      "xs = np.linspace(0.8, 1.4, 500)\n",
      "plt.plot(\n",
      "    xs, \n",
      "    kde.evaluate(xs), \n",
      "    lw=3, \n",
      "    color=(0.2980392156862745, 0.4470588235294118, 0.6901960784313725), \n",
      "    alpha=0.8\n",
      ")\n",
      "plt.xlabel(\"Ratio of LCIA scores, average / median (2013 IPCC 100-yr)\")\n",
      "plt.ylabel(\"Probability\")\n",
      "\n",
      "plt.savefig(\"ratio-histogram.png\", dpi=600)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x11c495d10>"
       ]
      }
     ],
     "prompt_number": 23
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sns.jointplot(\n",
      "    np.log(np.abs(results[:, 0])),\n",
      "    np.log(np.abs(results[:, 1])),\n",
      ")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 24,
       "text": [
        "<seaborn.axisgrid.JointGrid at 0x11c59b3d0>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAasAAAGoCAYAAAD4hcrDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XeYnFXdxvHvzPYyuym7m15JDgFCEhIglEASCAiIgIAo\nVUAEBJQeFVHUV30piogCKkp5QVF6kyqQhBoISQiBkJNGetleZvvOvH9sybaZ2Z2dPvfnunJdO8+c\nnflldnbufc45zzkgIiIiIiIiIiIiIiIiIiIiIiIiIvHNEa0nbmpq9paX10br6XsYPDgb1bOX1+ul\nurqq4/bYscOpqKiLWj3dRfv16U71+Kd6/CsqyovaZ3G8SI3aE6emROupe6V6uqquruL1pevJys6h\nrtbN2QUuwBnVmjqL9uvTnerxT/XIQEUtrCT2ZWXnkJ3jinYZIiIx9KeyiIiIDworERGJeQorERGJ\neQorERGJeQorERGJeQorERGJeQorERGJeQorERGJeQorERGJeVrBQoCeawFWV1eBN4oFiYh0orAS\noOtagABlJbvJzskjO1fLLYlI9CmspEPntQBr3TVRrkZEZC+NWYmISMxTWImISMxTWImISMxTWImI\nSMxTWImISMzTbMAkpeuqRCSeKKyS1ECuq+oedAAuVx4OhyMstYqIKKySWLDXVXUPurpaN8fNnkRe\nXn5Y6hQRUVhJUDoHnYhIuCmsEki4uue8Xi+VlZU0NbXOx9H4lohEmsIqgYSre66u1s2r728gPSMX\n0LqBIhJ5CqsEE67uuaysHDKyeh/f0oQLEQk3hZUMWF2tm8XLyxg0ZGjHbU24EJFQUlhJSGRmZWvC\nhYiEjVawEBGRmKewEhGRmKewEhGRmKcxqwTWfZae19t6cZTD4dC1UiISVxRWCaz7LL2ykt04nakM\nGjJU10qJSFxRWCW4zrP0at01OJ0pZOe4+rUWoIhItGnMSkREYp7CSkREYp66ASXkuk/s0NJLIjJQ\nCisJuc4TO7T0koiEgsJKwkLLL4lIKCms4oyunRKRZKSwijHtYZSe7qGqqrpLGEHrnlUffLaHrJzW\nPat07ZSIJAOFVYxp30CxsHAINe6GLmEEnTY+1LVTIpJEFFYxKCs7h5zcPDzUdwkj6LnxYazTxowi\nEgoKKwkrbcwoIqGgsJKwC9fMQF3PJZI8FFYSt9rH97Kyc3TGJpLgFFYSM4IZ38rKztH1XCJJQGEV\nBck86cDf/73zmRJofEtE9lJYRUH3D+Vadw2HHzAMlysv4S/s7T7hovv/PStr75lSMoe6iHSlsIqA\n7h+63T+Ua901LF6+pcuFvYms+x5b3f/v7Rc1+wu29HRPwge7iOylsIqA7mdSva000f4BHm/XUYWC\nv/+7r2DLzSljy+YtHa9jf87CArXVLEOR2KOwipDOEwGSMZBCpT28cnIzyczK6Tju7ywMeq6h2HnJ\nqu5jY/5mGfoKOhEJL4VVmHT+UFN3VWT4OgsDH2so+hgb69xN29t9vQVdUVFej8fqvq4jxN8ZXDzU\nKMlBYRUi/j7UtMBsdHQPL19rKHY/K+v88/J5X7egq6yspKqqusfPvfO6jv7O4PydCfZ2G/YGR28r\n8aeltVBVVdOntr4et781dv9ekVBSWPnh76/KQH9xd/5QU7df7OsebH29rz3MNhQ3dyw83Pnn3nld\nR39ncP7OBHu73X0WZff3Xq4rh/SM3D619fW4/a2x8/d2D7K0tBYqK6v7FGwaU5TeJGRYLXrnPRob\nGgFwOh0cMnN6wDdz+5YcnVVXV/HWx5vIzMyivr6O+bMmdPklbr8PoLyshJycvI4PAYD6ulpq3dXU\n17lxOlOpdVe3Hfd9u/1rd00Vte6GoL43HG1TU6HF4wjYNlI1OWmM2P+9L2078/VzLy/dwys7tpI/\naHCX9wyO3h/Hn/o6N6+8u4b8QYN7fe+Fom1/a+z+PE5nSsfjNNZXU1ff3HG7++9TZ91/t/z97tXX\n13HKvOm6Fk9ERERERERERERERERERERERERERERERAYqqCvpjDEpwP2AoXUhocuBBuAhwAOsBq60\n1mqRIRERGTBnkN93MuCx1s4BbgZ+A/wOuMlaezStIXhqaEoUEZFkF1RYWWufAy5ruzkeKAdmWWuX\ntB17GVgw4OpEREQI/swKa22LMeYh4A/AP+japVgDaP0TEREJiQGtDWitvdAYMwz4EMjsdJcLqPD3\nvR6Px6vFJ0VEwNGPD8OmpmZvampKOMuJKl+vRVBhZYw5Hxhtrf1foA5oAZYZY+ZaaxcDJwJvBCiI\n4uJqf00iqrDQpXr8UD3+qR7/VE/olJfXRruEqAj2zOpJ4CFjzGIgDbga+AK43xiTDnze1kZERGTA\nggora20d8M1e7po3oGpERER6EfQECxERkUhRWImISMxTWImISMxTWImISMxTWImISMxTWImISMxT\nWIlIwtu2bSvf/va3IvJcDzzwV7773W/zve9dzJo1n0XkOZPBgJZbEhGJda+88h+efPLfVFT4XQEu\nJNau/YJPPlnB/fc/zO7du7j55oXcf///hf15k4HCSkS6eOmlF1i69D0qKiqprKzg4osv5eij57Fi\nxcfcf/99OJ1ORo0azY033kRDQz233vor3O4aSkqKOf30b3DaaWdy1VWXMmTIUKqqKrnuuh/y/e//\nCq/Xgdfr5ZZbfkVR0TD++Mff8+mnnwBw3HEn8I1vfItf//rnpKens3PnTkpLS/jJT27BmCmcccbJ\njBs3gQkTJvD971/XUevChddSV7d3+aEJEyZy3XU/7PL/ycvL509/+ivf/ObeXYvefvttli1byXnn\nXdhxbOfOHfz61z8nKyuL0tISjjjiKC655PIujxXo+VatWsmhhx4GwLBhw2lpaaGysoL8/EED+IkI\nKKxEpBuHw4HH4+UPf7iX0tISLrvsIo44Yg633fZr/vznBxg0aBB/+9ufefnlF9l33yksWPAV5s6d\nT0lJMVdddRmnnXYmDoeD4477CkcdNY+nn36CGTNm8O1vX8aqVSupqalh3TrLrl07+OtfH6K5uZkr\nrriEWbMOxuFwMHz4SG688SZeeOFZnn/+GW644ccUF+/hwQf/SV5eXpdab7/99wH/P0ccMafHsaOO\nOoopU2b0OL579y4eeeRx0tLSuOKKSzj66HkYM6XPz1db6yY/f++GE9nZOdTU1CisQkBhJSI9zJp1\nCABDhxaQm+uitLSEsrJSfvrT1rOIhoYGDj30MA4//Egef/wxlix5k+zsXFpaWjoeY+zY8QCcfPKp\nPPPMY1x//Q/Izc3hssuuZPPmL5k+/SAAUlNTOeCAA9m0aRMAxuwLQGFhUceZV37+oB5BBbBw4TXU\n1dV13B4/fiLXX//DHu36av/9p5KZmdnx9datW7qEVaDny8nJobZ275lXba0bl8sVdD2yl8JKRHr4\n4ovPgTMoKyulvr6ewsIiioqKuO22O8nOzmHJkkW4XC4ee+xRpk49kNNOO5Ply5fx/vvvdDxG+04P\nb7+9mIMPPphvfvPbvP76Kzz66MPMm3csL730PGeddQ7Nzc2sXv0JJ574VZYu7b0ep7P3HTRuv/2u\nkP6/N2xYR3NzMw6HgzVrPuOUU77er+c78MAZ3Hvv3Zx99vns3r0bj8dLXp629gsFhZWI9LBt21au\nvvoKamtruOGGH+F0Orn66uu54Yar8Xo95OTk8pOf/AKv18tdd93BkiWLmDBhItnZ2TQ1NXV5rClT\n9uP22/8HcNLS0sLVV1/P5Mn7smLFx1x++cU0NTVx7LHHdZzBtIdc122NQrH33d7H6G3Mqr3NwoXX\nUlVVyYIFxzNhwsR+PcO++05h+vQZXHbZRXi9ngGd5UlXUdv90Ov1emNpP5lY299G9finevwbSD0v\nv/wiFRUVnH32eTFRTzikpDTx0EOPcv75F3Uc27lzB7///R19GgcLtaKivD5/Fu/ZU+UNZy3R5uu1\n0HVWItJDom/i7fV6Ofvs87scczgcCf//jmfqBhSRLk488eRolxB2Q4cO7XGmN3z4CG67LfJnVdI3\nOrMSEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7ASEZGYp7AS\nEZGYp7ASEZGYp7ASEZGYp7ASEZGYF9Sq68aYNOABYByQAfwK2Aa8CNi2ZvdZax8PRZEiIpLcgt0i\n5Fyg2Fp7vjFmMPAJ8Avgd9baO0NWnYiICMGH1RPAk21fO4EmYBawrzHmVGAdcI21tmbgJYqISLIb\n0L6YxhgX8BzwVyAT+MRau8IYcxMw2Fp7o6/v9Xq9Cb01s4hIXzkcfd+juKmp2ZuamhLOcqLK12sR\n9E7BxpgxwNPAPdbafxlj8q21lW13PwvcHegxuu/UGU2FhS7V44fq8U/1+Kd6Qqe8vDbaJURFULMB\njTHDgNeAhdbah9oOv2KMOaTt62OBZQMvT0REJPgzq5uAfOBnxpiftR27Bvi9MaYJ2AlcGoL6RERE\nggsra+3VwNW93DVnYOWIiIj0pIuCRUQk5imsREQk5imsREQk5imsREQk5gV9nZWISDTV1jfxz/+u\no6K6gYNMAcfOGhPtkiSMFFYiEpd++rellNc0AvD55nLqG1v46uHjo1uUhI26AUUk7ry3emdHULVb\n8smOKFUjkaCwEpG4smFHJc+/s6nH8b6vrhffqqoqAzdKQOoGFJG4sWlHJfc8/SkV3c6qAL52+Lgo\nVCSRorASkbjx0driHkHldMDR00Zw5LRRUapKIkFhJSJxIz2t68hFihOuPWsG+48fEqWKJFI0ZiUi\nceOk2eM4YPxgHEBGWgonHDpOQZUkdGYlIjGrxeOhvrGF7IxUHA4H6WkpXHvWDHaU1pCdkcaQvMxo\nlygRorASkZj06tLNPP/ulzS2eBhblMvVZ04nLycdp9PB6EJXtMuTCFM3oIjEnN1lbp5ctJG6xhZa\nWrxs2lnNY2/YaJclUaSwEpGY89EXxbR4vV2O7ShxR6kaiQUKKxGJOUN7GYuaMCIvCpVIrNCYlYjE\nhNr6Jp5YtIHq2kYmjMjjiAOKWLpmDwCTRg/iwhP3i3KFEk0KKxGJCX994TNWbSgDYIUt4Yy5E7nz\nKoPD4SA3Ky3K1Um0qRtQRKLO4/GyZffeMSkvsGFHFa7sdAWVAAorEYkBTqeDvJyuoZSbrZCSvRRW\nIhIRHq+XFo+H8qp6PvhsF7vKus7u+8b8SYwpyiU/J52pE4bwjXn7RKlSiUUasxKRsHtm0XqeX7KB\n+sZmmpo9NDR5yMlM4ZvHTGbOtJEAHDB+CL+4+FCaWzykpujvaOlK7wgRCavtxTU89tpaSirrqalr\npqHJA4C7voV//ncdVe6uq6grqKQ3eleISFjtKHVT19Dc6331jS088db6CFck8UhhJSJhtd+4wQwb\nkuXz/qranhspinSnsBKRsMrNSmdonu+wGq+VKaQPNMFCRMJqd6kbu7Wsx/H0VCdHTx/JqXMmRKEq\niTdBhZUxJg14ABgHZAC/AtYADwEeYDVwpbXW6+sxRCTxbdhewa8fWd7j+Iih2Vz59QMZWZAThari\nW3V1FS5XHg6HI9qlRFSw3YDnAsXW2qOBE4B7gN8BN7UdcwCnhqZEEYk3xRW1/OW5T3sNqqz0FG6+\nYJaCKkhvfbyJ6uqqaJcRccF2Az4BPNn2tRNoAmZaa5e0HXsZOB54dmDliUi8eWXpZp5espHmlt47\nVga5MsjK0OoUwcrM9D3+l8iCCitrrRvAGOOiNbhuBn7bqUkNkD/g6kQkrlS7G3n1o60+gwrg0pO1\nerr0X9ATLIwxY4CngXustY8ZY27vdLcLqAj0GIUxtjW16vFP9fiXzPU0Nbdw+yPLWLl2F/VNvtv9\nz+WHMWPysIjV5U+s/bz6qrG+hqFDcxk0KD7rD1awEyyGAa8BV1hr32o7vMIYM9dauxg4EXgj0OMU\nF1cH8/RhUVjoUj1+qB7/krWemromKqobeHP5Vj5Yvctnu7ycNC45eX9GDcqOidcp1n5e/eGuraek\npJqmppRolxJRwZ5Z3URrN9/PjDE/azt2NXC3MSYd+Jy9Y1oikoDe+XQnT721nspaP6dSwAM/Oiau\nwyHWDB5SkHQzASH4MauraQ2n7uYNqBoRiQter5cX3t0UMKgk9CoryvF6k++qIK1gISL91uLxUFJR\nH7DdOQsmRqCa5OLxtES7hKjQChYi0mdrt1Rgt1awZU8V/v62z81I4eKTp8TMZIpEom5AERE/3v10\nJ4++trZjiw9fMtKc3H3t3AhVJclC3YAi0idvLd8WMKgAJo/WJZbhVFlRTnV1VdKNWymsRKRPqgJM\npshMd3DMzJFc982DIlRRcsrIyOD9z3Yn3ZJL6gYUEb9aPB7eWr6d5mbfA/vpqXDPtfOSciwl0oYU\nJOc4oMJKRHzaVlzNPU+vZnd5nc82TuCOK+YoqCSsFFYi0quPv9jNX174DD8nVABc9NUpuLLTI1OU\nUFFWCkB1dU5SbRWiMSsR6cHr9fLAS2sCBtUPTp/KkQeOjExRAoDH00x6Eo5b6cxKRHr4bFMpdY2+\nZ/4V5mdy7vGGafsURLAqgdYxq+wcF7Xu5Fq+SmElIj189mWpz/suPmlfDpkynIz05FpINVZUlJWC\nF+rq3NEuJaIUViLSwev14nA4WLxip882Rx44MmnGSWKR213F3JljcblG4HLlRbuciFFYiQjvfbqT\nJxdvoKKm0W+72y4/TEEVZYOHFOBy5ZGXl1wXXyusRJJcVW0j/35rPdV+Lvp1OOCuH8zBlaVZfxId\nCiuRJLertNZvUKU4HXz3a/spqGJEsm4RorASSUKfbyplxboSPvuynF1ltT7bHXngcM5ZYMjK0EdF\nrNAWISKSFD5as5uHX11LbX2z33aurDTOmDtRQRVjknWLEF0ULJJkPvh8d8CgSk918POLD2FQbmaE\nqhLxT2ElkmQ27agM2OaH585ksEtBFYs0ZiUiCa3F4+GBl9ZQ4fa/1cdPLziYCSOS5/qdeKMxKxGJ\nWWu3lvPx2mIy01P46uHjyUjr/+oRL72/hfdX7/bb5uozpjJhpIIqliXrmJXCSiTGrd1azn3PfEZV\nbesFuxt3VHHdWTNwOvv2gWW3VfD3Fz+npKLeZ5tUJ5yzYDLTJxeFpGYJH3UDikhMWrZmT0dQAXyx\nuZzd5bWMGJoT8HvXbi3nzn+vpKnZ94fb+OEufnTuTNKDOFuTyFM3oIjEpO4hkpGeQnZmWsDv83q9\n/Oe9zX6DKi3VyY/Pm0laqoIqXiRrN6BmA4rEuK8ePo59xwwCIDM9ha8cOpb8HP+rSWzaWcWP/vIe\nqzeV+WyTnurkwhOMgkrigs6sRGJcdmYa139rBjtK3Liy0xnsyvDbftuean7z6MfU+9mPatjgLG66\nYJaWUIpDlRXlVFdXJdUuwaAzK5G4kJriZOwwV8CgAnhr+Xa/QZWTmcrFX9Vaf/EqIwl3CQadWYkk\njE83lvLoq19QXNngs03R4Ey+d+qBjBvuimBlEkpDCoZFu4SoGFBYGWNmA7daa+cbYw4CXgDWtd19\nn7X28YEWKCKBuesa+eNTn9AcYKLYBV+ZoqCSuBR0WBljFgLnATVth2YBd1pr7wxFYSLSN16vl3ue\nXhUwqM6avw/7jx8SmaIkbCrKSgHweodHuZLIGsiZ1XrgdOCRttuzAGOMOZXWs6trrLU1vr5ZRELj\n4Ve+4Iut/scvTjlyHCfMHhehiiScPB7/ixAnqqAnWFhrnwY6v2pLgRustXOBjcAtA6xNRAIor2pg\nySc7/bY5YmoRpx21T4QqknAbUjCMIQXDkmomIIR2gsUz1tr25ZyfBe4O9A2FhbHVd656/FM9/kW6\nnuYWD1fcudhvm68dNYFLT5sWoYr8S/afV6g01FWRlZ1FQYGL/Pz4/D8EI5Rh9Yox5gfW2o+AY4Fl\ngb6huLg6hE8/MIWFLtXjh+rxLxr1rNpQQn2j74Gqm8+fycRRg2LiddLPK3RKSko56aipNDQ44vb/\nEIxQhFX7Wi6XA/cYY5qAncClIXhsEelFfWMzSz/b1et9DuCas2cwcdSgyBYlETF4SEHSXRAMAwwr\na+2XwBFtX38CzAlBTSLix+dflvHHp1fR4OPC3yu/PpVjDh6XVH91S+LTChYicea+Z1f7DKo5U4cz\nc19t85HItEWIiMS8G+55B3d971OXv3LIGL557OQIVySRpi1CRCRmebxervjtIhpbev+L+uTDxnH6\nPE1PTwbJukWIwkokxq1cX8w/XrM+g+r0o8Zz8pETI1yVSGQprERi1FvLt/HvN9fR6GfzxLPm76OV\nKZJMsm4RorASiTG7y9z836trWbO5wm+7VCcKqiTUvkXI8a488vLyo11OxCisRGLIpp2V3PaPFTQ2\n+96PCiAnM4U//ODoCFUlsURbhIhIVO0pr+X2fwYOqrycNO743hE4ncnTBSSisBKJAV6vl/tf/JyG\nJv9BlZ7m4HdXHkmKU5dIJquKslIyMjKjXUbEKaxEoqyp2cMnG0rYtsf/ihMz9hnKFacfqKBKcm53\nFXNnjsXlyot2KRGlsBKJotr6Jm5/bDlbdrv9tlswazTnHGciVJXEsmRdG1B/oolE0Z2PfxIwqEYO\nzeZbWplC2rRPXU+2JZd0ZiUSBWVV9Tzyyhds3OF/h9+jpo3g2ydOwZlkf0WLb5q6LiIRUVZVz033\nf0BjgMkUowqyueik/SJUlcSLZJ26rm5AkQi779nVAYMK4KcXHhKBakTig86sRCKoucXDzhL/s/4m\nj85j4TkzNetPepWsU9f12yASQakpTlr8DIyPKcrhx+cdrKASn9zuKg47oEhT10UkPGrrm7j5b0tp\naPLdZuHZMyNXkMSlZJ26rrASCbOq2kaeXrKBj9cW467rfeNEgD9eM4eczLQIViYSPxRWImHS2NTC\ngy+t4eO1xTR7fHf9TRyRy08uOCTp/lKW4GhbexEJmYbGFn71f8vYXuL/gt+czFQFlfSLtrUXkZB5\nY/m2gEE1tiiHWy46VEEl/ZKs29prypFIGDQ3+//rt2hQJj+/eHZSfujIwCTrcksKK5EweGPZFp/3\npabAD8/TrD8JTvtyS9XV/pfqSjTqBhQJIa/Xy8/+9gHV9b5XqLjv+nm6jkqClqzLLSmsRELE6/Vy\nyW1v4a9z5i83zlVQiQRBYSUSAi0eL9+57S2/bf62cB5OBZUMUEVZKQDV1TlJdXGwfnNEQuCsHz/v\n8z4H8Merj1RQSUh4PM2kJ+G4lc6sRILk9XpZtbGU+5//lEbfC1Nw51VHkpOVEbnCJKENKRhGdo6L\nWrf/BZETzYDCyhgzG7jVWjvfGDMJeAjwAKuBK621yTW3UpLKo6+t5a0VO/y2ue/6o8lI09+EIgMV\ndL+EMWYhcD/Q/ifjncBN1tqjae35OHXg5YnEptLKuoBB9dMLZimoJOQqykopK9lDndv/ReeJZiCd\n6OuB02kNJoCZ1tolbV+/DCwYSGEiscrr9XLTX9/32+ZnF8xiwsjk2XJcIsfjaaY2CbcJCfrPPmvt\n08aY8Z0OdZ6SUgME/E0tLHQF+/RhoXr8Uz2tTrnhOfwtHvDEb04iMyP6q6fr5+VfrNXTV6PHjMHp\ndDBhwijy8xVWweh8FaQLqAj0DcXFsTNAWFjoUj1+qB5w1zdx7V1v+7yOyumAe687iuqqeqqpj2ht\n3enn5V+s1dMfO7bvBGBTYSouV3XSTF8P5VzaFcaYuW1fnwgs8ddYJJ58sbmM79/1Nr4m/aWmwP0L\n55OeFv0zKkls7VPXV26q4fWl65Nm+noozqza/9C8HrjfGJMOfA48GYLHFok6r9fL7Y+t9Nvm6dtO\noaSkJkIVSTJrn7oOJMUZVbsBhZW19kvgiLav1wHzBl6SSGy58d53/N5/z7VHJdWHhkg0aF6tiA9e\nr5c7HltOWXWTzzY3futAsmJgMoUkj4qyUurr6sjMzKKuLnmmryusRHqxdXc1//N/y2hu8T3t76IT\n9mG/8YURrEpk79T12fsV4HKNSJrp6workW62l9Rwy4Mf+W1z9en7M90Mj1BFInu1bxHicuWRl5c8\n1/IprEQ6aWxq4ad/+9Bvm/+9fDbDBuVEqCIRAYWVSAev18vlv1vst81dVx1JXq4WpZXo6bxFCKDr\nrESSzWV3+N+P6u6r5yioJOp0nZVIkvpyVxW3PrKMZt870fPn6+eSnpYSuaJEfNB1ViJJpMXj4alF\nG1m3vZwN2/0vu3PjN6cqqCRmtE9dB6ivq8XrTY6JPgorSUr/emMdb3y8PWC7n1wwg31GDolARSJ9\n4/E04/G0dHydLBRWknQ8Xi92a8B1lvnD94/ElaMxKoktnbsBa93VSdMVqLCSpLJpZyUP/mcN20pq\nfbZxOuDua44mO0O/HiKxQr+NklSeWrzRb1AB/Onao8lM16+GxKbOY1Zej59ZQQlGU9clqVTUNPi9\n/xcXz1JQSUxrH7NKtt2C9VspSWPl2j3s8HNWNW9aIWOKkmf5GolP7WNWte7k2XgRFFaSJD76fAf3\nPf+Fz/t/fO50Jo8ZGsGKRKQ/FFaS8HYUV/sNqq8eNkZBJXGjfcwqma6xAoWVJLjH3rC8/tE2n/cf\ne/AIzpg3OYIViQxM+5hVMl1jBQorSWAPv7Saxav2+Lx/ytg8zl2wXwQrEhm4zmNWyTJeBQorSTAt\nHg8ffr6Hh1/6nEY/s3rzMp0sPOfgyBUmIgOisJKE0eLx8MenPmXVhlK/7TJS4a5r5kWmKJEQ6zxm\nlUzbhOg6K0kYH63ZEzCoRhdkct8Nx0SoIpHQax+zSrZtQnRmJQnjwf987vf+0UPT+eUlR0SoGpHw\n6Lw2ICTPNiEKK4l7le5GfvXwUpr8jFEV5afwy+/OiVxRImHSebklSJ5tQhRWEtcWr9zOw6+s9dvm\n8P0L+O4p0yJUkUh4dd4ipP12MlBYSdyqb2gOGFRDclIVVJJQuncDJssUdoWVxKW6hmauv+ddv22K\nBqVx6+VHRagiEQknhZXEHY/Hy3d++R/qGn232X9cPjecPStyRYlESG9jVu1T2DtLtOnsCiuJK+76\nJm7809sU3HtvAAAdzklEQVTU++mmH1eUqaCShNV9zKp9CrvD4e44Vlfr5rjZk8jLS5xdBEIeVsaY\n5UBl282N1trvhPo5JHn94u/v+Q0qgFsu1vR0SVzdx6ySRUjDyhiTCWCtnR/KxxUBeOSlTympbvHb\n5oEf6YJfkUQU6jOr6UC2MebVtse+yVq7NMTPIUnG4/Xyq4eW8uVu/9vRK6gkGXQfs+osMzMLHK3d\ngIkm1GHlBu6w1v7dGDMZeNkYY6y1fi7XFPHN6/Vy1W/fot7/CRV//6FO5iU5dB+zaldf52b2fgUd\n29wn2nb3IZ0qYoxJB5zW2vq220uB062127u39Xq93lA+tySWT9bt4ak317PCFgds+/xvT0moWU+S\nfBz9eAM//spKr6uXiRPumioWHDqO/Pz4nlTh67UI9ZnVRcA04EpjzEggD9jpq3FxcXWInz54hYUu\n1eNHJOupcjfw+8eWU1rZ4LddCnD/j46hpKQmInX5k8w/r75QPaGzY/tOMssqexyvr6uleMJgGhsT\nc33yUIfV34EHjTFL2m5fpC5A6a/12ysDBhW0BpVIsvHVDZjoyy6FNKystc3A+aF8TEkule4G/vT0\n6oDtnrvjFEpLo39GJRJpvqauJ/qyS4l5vihxqcXj4do/+l9CCVpn/TmdiftLKSI9aQULiRnfvX1R\nwDaa9SfJztfU9fZllxJtmaV2OrOSmHD9nxYFbPPAj45JyF9Ckf5oH7Pq/i89I4P3P9udsLsG68xK\nou7iW98M2EYX/Iq08rfcUq07Pmc49oXOrCSqbv5r4DGqa8+aHoFKRCSW6cxKoqKuoYmr7nqbQJeG\nn3DoGA6cODQyRYnEAV9jVpmZWdTVJd4yS+0UVhJxFTX1XPen9wK2+9vC+Zr1J9JNb9dZ7V1qaUTC\nLbPUTmElEeP1evnH65ZFK3qsvtWDxqhEetfbmFWtuxqXKy+h9q/qTmElEfP6sq28uVxBJTIQvXUD\ndt4tWFPXRQZg6+5q/vXG+oDtFp5zUASqEYlfvU1db98t+PWl6zV1XWQgbn/s44Btzj1uMlPGDo5A\nNSLxy9/U9UQ8o2qnsJKwqq5r5NcPf4S73v96xur6ExF/FFYSNrvLa/nxXz4I2E5BJdJ3/nYK7jx2\n1V28j2UprCQoG3ZU4q5rYr9xg0lLTelxf01dAzcpqERCztcWIUDH2JXD0fV6q7paN8fNnhTXswUV\nVtJvj7y6lsUrt+PxQnZGKgfvW8jZxxky0vaG1k/v/4BAW0FrUVqR/vM3ZpXINBtQ+mV7cQ1LPtmB\npy2JahuaWbJqJw++tKajzaW3v0llbe9/+bXTorQi0h86s5J+qW9socXT85xpW7Gb8up6fnjvezQH\nOKW69bLZYapOJPH5G7PyJRHGshRW0i/jR7g4YPxgPvuyvMvxrPQUrr8n8BJKg3PTGZKXFa7yRBKe\nvzErXxJhLEthJf2S4nTygzOn8dzbG/nwi2Iam1tIdTrZsKNvFyKW1zTy+FvrOWeBCXOlIokpWces\nFFbSb2mpKZw5fzJnzp/Mk4vW8dIHW/v1/duLE3dlaJFwC6Yb0Bd/3YO+RKvbUGElA9LfoAIY7MoI\nQyUiySGYbkBffHUP+hLNbkOFlfRbi8fDM0s28tIHW/rUviA/gyF5mVS5GxkxNIdvLZgc5gpFEpe6\nAUV6sdwWs2V3NcVV9TTUNzO6KJeSyjreW727T9+fn5PGD86Yzuii3DBXKiKJTGElPr3w7iZefO9L\nmlr2zkVfvq6kX48xefQgBZVICIVyzKq/6utq8XqHR+W5FVZJrqaukUdfsxRX1FE4KIvzvrIvuZlp\nACxds6dLUPVXblYqF391v1CVKiKEdswqmOeOFoVVkvlkfQllVfUcZAqoqGnkz89+xp6K1r/SNu2s\nBuDyU6cCEOyEn8GuNI6dOYYFh4wmPVVvMZFQiuaYVa27OmoXEOuTJIn84/W1vLW8dU2/l5ZupqXZ\nS4W7sUub4oo6Kmsa+eGf36Ux0FIUPpw0ezzHHjwmFCWLiAAKq6RRXdvIe6t3dazpV1rZ0Gu7gvws\nfv7g0qCCKjsjhRmTC5k/a/RAShURP6I9ZlVdnROVa61CGlbGGCdwLzANaAAusdZuCOVzSHC83tZ/\n/uw/bhDnHW+48d7AyyZ15gDuvW4uLR4P2W3jXSISHtEcs0rPyOD9z3ZzvCsv4tdahfrM6jQg3Vp7\nhDFmNvC7tmMSZXk56RwypYi3V+0EwJWVQk1dS8c2HhNHuhg+NIdn39lEblYaZdW9n3n15oIT9iUj\nPQXoua+ViIRWtK+zqnVXR+V5Qx1WRwKvAFhrlxpjDg7x40uQvF4vdQ1NZGek4nR4ugQVwMYd1Wzc\n0f834f9edhjDBmeHrlARkV6EOqzygM4rmrYYY5zWWk+In0f66d5nPuVj279rpALJykhRUIlEWDTH\nrCC49QT7yuXK83lfqMOqCuh8fuo3qAoLY2vJkFipp6yqnkXLtzJ1n6EU5IcmDDbtCv2pe9GQ7Ki+\nZrHy82qnevxTPaGRke4gKyt6Xe5ZWS7W72nCUVwW0setrXVzyrz9fd4f6rB6F/ga8IQx5jBglb/G\nxcXR6fvsTWGhKybqefG9TTz7ziY8HkhxOPjmgkksmDXwaeBpqaHfFHryqPyovWax8vNqp3r8Uz2h\nk5U7hKworw3obfsXSh5vAyUlvn8moQ6rZ4DjjDHvtt2+KMSPn/Be+mALnrZz0Ravl+ff3uQzrLxe\nb5+nj377hH25+8lPqW8MzSyizHQn+40bFJLHEpG+i3Y3YH9lZma1ThkOoK7W/8rvIQ0ra60X+F4o\nHzPZNHdb3qi5pWcvan1jM/e/8Dlbdlfjyk7nrGMmMWXsYL+PO2XsEG67/HDue+5TvthcOeA66xs9\n3PP0as493jD/IF1XJRIp0Zy63l/1dW5m71fgdyyqs0iOWckAjSrIZvPumo7b40b0/OE9uWgDK9oW\nlC2tauBfb6zjlgsPCXiW5cpOZ3RBblBhVTgok8JBWXzeaTt7jxde+WCLwkokgqI9db0/at3VuEJ0\nTVboBzJkQH5ywcEcNLmAscNcHLb/MBaefVCX++2WctZvq+hyrLKmgRZP33qQp+1TgDOIC8+LK+p7\nnPUBfTq9FxEZKJ1ZxZjUFCffP2NarwPAL767iRc/2ExjU9euwSH5mfz7zfU4HfCVQ8cyJC+z18fe\nsruaJxcFv6BIQ1MLE0a4Oha8dTrh1CPHB/14ItJ/sTBmFapxqP5QWMUJj9fLklU7uwRVfk46E0fm\n8eXOKt7YsQ2AtVsqWHjOQb0ue/T04o1s2VPT43hfOIB9xwziW8dO5tl3NrK9uIbjDhmDGe1/rExE\nQivaY1ahHIfqD4VVvPC2BlZnk0fnM6Yot2P8CmDLnhpWri/liKldN0hbtnYPqzeWBvXUQ1zpnDp3\nEnMOGAbAaXMmsnJ9Cdt211A0KItBub2fyYlI6EV7zCqU41D9obCKE06ng0OnDOP1ZVto8UBedjpz\npo2kuKJrd0CKEwa70jtue71ennt3Iy+/v4W+LiOSl51GQ1MLDU0eCvIz+e7X9ueIg8Z0dEv+83XL\nm8u34fHCfz/expWnH8ioAu0GLCLho7CKI2cdM4nxI1zsKa9j6sQhjB+eh8fjZe2WclasKyE1xcGc\naSOYMCKPnaVutu6p5om3NlJaVd/n5zj/eMPcg0axdXcNW/dUc8CEIQx27T1zqqlr4r3VOzu2GtlV\nVsd/l23j2ydMCfV/V0R6Ee4xq0DjUaEch+oPhVWcOXS/YV1uO50OvnfaVIor6khLTWHL7mpu+sv7\nVLib+v3YD/zomI6vxw13MW54710N3bcaCbT1iIiETjjHrPo6HhWqcaj+UFglAIfDQVHbgrK/f3xl\nUEH1h+8f2ad2uVlpHVuNeIGC/EzmHTSy388nIsEJ55hVtMaj+kJhlWAqa/q+D1W7Q/YrwpWTAUBp\nZR2vLN1CixeOmDqMSaN6Lqn07ROnsO/YwVTUNDDTFDBsSHhWYBaRnsLZDej1xO4GGQqrBDOyIIe1\nW/u+QsWoghy+dvh4AGrrm7j7qU/Z2ja9/ZP1JVx95jRGF+XS1Lz3TexwODi822xDEYmMcHUD1te5\nmX/wxKh08fWFwirBZGb0besAMzKDsxZMZVRBbtsuv/DZprKOoAIor27gqcUb2FVWS3OLlyljB/Od\nr+6HM5glMEQkJMLVDdjeBdjXxbEjTWGVYLbsCnzR75iCDBaed0SP0BmSl0laioOmTssqrd1SQWPb\nWdX7n+1idFEOJ84eF9qiRUQCUFgliPc+3cFDr3xBc4Degbx0uOXinkEFsM+ofI47eAyLPtlBc7OH\nfUblsWZz93UIG0NZtoj0U7jGrPq6A3C0zr4UVgngvx9t5Z9vrAvYLg2467pj/LY5c/4kTjhsHE3N\nHrIyUvjfR5d3dA1mpaew/zgtryQSTeEas0rPyGDlphocDt/XUdXVujlu9qSozBZUWMW5R19by5vL\nt/ep7V9+5D+o2uVm7V1X8IrTDuCF9zbjTHFywLjBTJtUEFSdIhIa0V5uKVoUVnFsT0Vtn4PqB2cc\nGNRzDBuSwyUn7x/X24CLSPxTWMWp2vom7n16VZ/a7jsmnxmTC8NckYhEwkDGrPq6tYcv0VpqCRRW\ncetXD3/ErvLAa/5lpTv54bmzIlCRiERCsGNW/d3aw5doXYelsIoz76/eyRNvWSrcgd+sJ84ey5nz\n9olAVSISKcGOWcXyUkp9obCKE16vlxvueZfyPk4df6CPkylEJL4E2w3YPjU9li/89UdhFSd++6+V\nfQqqjFS45/r5Pu/fuqeat1Zsx+FwsGDWaEYM1bp+IvEk2G7A9IwM3v9sN8fH6dmVwipGeTxenly0\ngY07KimrbmBPed/+krr3+vk+/2raU17HPc+s7nisNV+Ws/CcGdrpVySODGTqeq07fmf0Kqxi1BP/\ntbz0weY+tx892MkvL5vX5diyL/awYUclI4Zkc9T0kSy3xV1Cb1dZLcvXFnPMrDGhKltEJCwUVjFq\n066qPrcdPcTJLy+d1+XY68u28tSiDTQ2e3A6YHd5HaMKu3b5OR0wyJURinJFJEKCHbPKzMyiri56\nU88HSmEVo4bm9a1rblBuGqfM3bfH8RXrijsWoPV4YdWGUs6ctw9rt1Tw4Zo9OB1w+NThHKTrr0Ti\nSjBjVnunrY+I2S1AAlFYxaDdZW6ef3tjn9pW1DTxj9csowtyGT40u+N4WqqzS7u0VCcOh4OLTtqP\n0+fug8MBednpIa1bRMIvmDGreJ+2DuAM3EQiqb6xmR//dWm/vqfS3YjdVt7l2EmHjaNwUBYA+Tlp\nnDB7bMd9+TnpCioRiSshO7MyxjiAbYBtO/S+tfamUD1+snhuyYaAbaaNz+OL7TU0NrV287my05g0\nqutfTPuOGczPLjyYzbuqGVWQQ36uxqZEEkEwY1bxfo0VhLYbcB/gY2vtKSF8zKTyzOLPeHXZbr9t\n5s8Yzvkn7M+rS7fw4ZrdOJ0Ojpk1mpEFuT3a5mSmsf/4IeEqV0SiIJgxq3i/xgpCG1azgFHGmDeB\nOuBaa60N8D3S5p3VO3jhff9BdfLskZw+fwoAX5k9lq906toTkeQwkOWW4llQYWWM+Q5wTbfDVwC/\nsdY+ZYw5EngUOHSA9SWFZ9/ewPPv+r+m6prT92OaGeG3TVNzC+XVDQzKzSA9LSWUJYpIjPDVDRho\nRfVorpgeCiHrvDTGZAHN1tqmttvbrLWjfbX3er3eUD13PLvtkQ95Z+VOv21+ctFMDpvq/8LdzzeV\n8qcnVrJ9Tw0jC3K54szpHKiNEkXigqMfA0n3PfKKNzu3a7d/XW0tJ87Zl/x8/118eXmxP2bl67UI\nZTfgz4Ay4A5jzHRgS6BviKXN/KKxueDdT65g5fpyv21uPn8mE4cNCljbwy9+ztbdrdvPbyuu4f/+\n8xkLz5kZslpjbfNF1eOf6vEv1urpj6zcIWR16wb0kk5Tk5PGRv8TvEtKasJZWliFMqxuBR41xpwE\nNAMXhvCxE87N97/PjlL/M3pOmzOGiaMG9enx6hubu9yua+z/QpciIrEqZGFlra0Evhaqx0tk//7v\nFwGD6u7r55Lbj3GnKeMGs2lHFe19q1PG9i3kRCS+9DZm1T41HYjr6en+aAWLCPvlwx/y5U7/p+Jn\nzpvIhJGBu/46O+PoiQzKSWd7sZuRBTksONjncKGIxLHepq6nZ2SwclMN9XV7OG72pLidnu6PwiqC\nXv3oy4BBdfT04Zx02Ph+P7bD4WDBwVo9XSTR+Zu6nohnVO0UVhHyr/+u5bVl2/22ufjEycyZrsAR\nEelOYRUBD760mrdX7fHb5vqzpnHARE01FxH/ehuzar/GKt6vpfJHYRVm/35zbcCgyslMUVCJSJ90\nH7Pau/1H69Yf8boFSCAKqzAprqjj1Q838+byHX7b7Ts6j4XnzopQVSIS77qPWSXC9h99obAKgx2l\nbu5+8hP2lNf7bfeNeRM48bAJEapKRBJBezdgMnT9daawCoPFK7YHDKr7rjuajHS9/CLSPx5PM7Xu\nqqTo+utMn5Yh5PF6eey/lkXL/c/6+8EZByioRCQoQwqGASRF119n+sQMoVeXbuGNj/0H1U3nz2RS\nH5dQEhGRVgqrEFm3rYInF/nf5ffqM6cqqERkQCrKSsnIyIx2GRHnf4le6bPf/Xsl/vY8ueD4SUyf\nVBSxekQkMbndVRx2QFFSjFN1pjOrEHjolS9obPL0ep/TAb++dDbDBudEuCoRSUSDhxQk7GK1/iis\nBqi+oYklK3u/liojzcn/XDKbgvysCFclIpJYFFYD8MbHW/nP+763o7/zqiPJykiLYEUikugqK8pJ\nxo3WFVZBeuy/a3ndz8K0Y4tyydT0dBEJse7bgyQLfZoG4Z1V23wGVXqqk3HDXXxj/qSk61MWkfAb\nPKQgKT9bFFZB+NcbG3s9fs6xk1hwyNgIVyMikvg0dT0IHm/PmX+DXekcq80PRSTM6uvrAjdKQAqr\nIEwZO7jL7cw0B3d874ikPDUXkciaP2tC0l1jBeoG7JPXPtrCax9uxYuX4w8ZwyUn78+/31rPzhI3\nwwZnceFJ++F0KvdFJPyS8RorUFgF9OySDTz/3t7p6f9+cwPDh2Rz0Yn7RbEqEZHkotMBP9ZtreDF\nXq6jemfVzihUIyKSvBRWPqzbVsE9z36Kp5dr78YOy418QSIiSUxh5cO7q3ZS5W7qcbxwUCZfO3Ji\nFCoSEUleGrPyISWla447nXD8wWM465jJUapIRCR56czKhxNmj2V0YetK6WmpTk6cPU5BJSISJTqz\n8qFwUBY/OncmqzeVUZifxYSRyXddg4hIrFBY+ZGdmcah+w2LdhkiIkkv6LAyxnwdONNae27b7cOA\nu4Bm4DVr7S9DU2L4LV+7h3ee/pSGhmaOmDqcIw8cEe2SRESkk6DGrIwxfwB+A3S+jPo+4Gxr7Rxg\ntjFmRgjqC7sdJTU88pplpS1mzeZyHntjHXZrRbTLEhGRToKdYPEu8D3awsoYkwdkWGs3td3/KrBg\n4OWF35rNFVS6Gztu19Y3s26bwkpEJJb47QY0xnwHuKbb4QuttY8bY+Z1OpYHVHW6XQ0EvBipsNDV\nxzLDZ+b+w3n27Y2465sByEh3MnVyYUzUFgs1dKZ6/FM9/qme0Bg0KJuhQ+Oz9oHwG1bW2r8Df+/D\n41QBnV+9PCDg6UlxcXUfHjq09lTUsqPEzaRR+eRmpTM4K5Uz5u7DO6t30dTYzGEHDGdcQU5Uauus\nsNAV9Ro6Uz3+qR7/VE/oVFTU4vGkRbuMiAvJbEBrbZUxptEYMxHYBBwP/DwUjx1Ki1Zs58nFG6it\nb2bYkCwuPfkAJozMY95Bo/jG8VPi9s0rIpLoBnJRsLftX7vLgX8AS4Hl1tqPBlJYqHm9Xl77aCu1\nbd19u8vqeHlpz0VqRUQk9gR9ZmWtXQws7nR7KXB4KIoKl+YWT7fbvaxSKyIiMSdplltyOBxM22do\nx1z7rIxUDplSGNWaRESkb5JqBYtzjzOMLsqlpKKeKeMGMXXC0GiXJCIifZDQYVVe3UBzSwsF+Vk4\nHA4cDgfzZoyKdlkiItJPCRtW/3h9Le+s2kmLx8uMSQVcfupUnE5H4G8UEYlhNe5a8vLyo11GxCXk\nmNWazWUsWrGdhiYPzS1elq0tZtGK7dEuS0RkwDy9bV+eBBLqzOrDNbv5z/ubqahpoNvEP9z1PXf9\nFRGR+JAwYVVT18S/3lhPRU1Dj/sK8jM5ZEpRFKoSEZFQSJiwKqms6xFUY4pymDxmEEdNG8nwoTlR\nqkxEJHTy85JvXUBIoLAaMTSHkQXZ7CipBSAt1cFJh41j9v7Do1yZiEjouFwKq7iWkZbCd792AC++\n9yWNTS1M22eogkpEJEEkTFgBjBvm4sqvHxjtMkREJMQScuq6iIgkFoWViIjEPIWViIjEPIWViIjE\nPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWViIjEPIWV\niIjEPIWViIjEPIWViIjEPIWViIjEvKB3CjbGfB0401p7bqfbdwBb25rcYq1dMvASRUQk2QUVVsaY\nPwDHAys6HZ4JLLTWPh2KwkRERNoF2w34LvA9wNHp2CzgYmPMEmPMb40xKQOuTkREhABnVsaY7wDX\ndDt8obX2cWPMvG7HXweesdZ+aYz5M3A5cE/IKhURkaTlN6ystX8H/t7Hx3rAWlvZ9vVzwBn+Gjsc\nDoe/+0VEpKeioryk/OwMyWxAY4wD+MQYM6rt0AJgWSgeW0REZCBh5W37h7XWC3wHeMoYswjIAO4f\naHEiIiIiIiIiIiIiIiIiIiIiIiIi0gdRma8fa+sK9lLPYcBdQDPwmrX2l5GqpVNNDmAbYNsOvW+t\nvSkKdTiBe4FpQANwibV2Q6Tr6FbTcqD9mr6N1trvRKGG2cCt1tr5xphJwEOAB1gNXNk2QzZa9RwE\nvACsa7v7Pmvt4xGsJQ14ABhH68zgXwFriMJr5KOWbcCL7P3divTrk0LrbGlD64zqy2n93XqIKL6H\nYl3QC9kGK9bWFfRRz33A6dbaTcaY/xhjZlhrV0a4tH2Aj621p0T4ebs7DUi31h7R9oH4u7ZjUWGM\nyQSw1s6PYg0LgfOAmrZDdwI3WWuXGGPuA04Fno1iPbOAO621d0aqhm7OBYqttecbYwYDn9D6+xWN\n16i3Wn4B/C6Kr8/JgMdaO8cYMxf4TdvxqL2H4kE0tgiJtXUFu9RjjMkDMqy1m9ruf5XWi5wjbRYw\nyhjzZltgmijUAHAk8AqAtXYpcHCU6mg3Hcg2xrxqjHmjLUAjbT1wOnvfwzM79QS8TOTfL93rmQV8\n1Riz2BjzN2NMboTreQL4WdvXTqCJ6L1GvdUS1dfHWvsccFnbzfFAOTAryu+hmBe2sDLGfMcY82m3\nf7N8nG6/DlxlrT0ayKX1tDha9eQBVZ1uVwP5oa4nUG3ADuA31tpjaP3L69Fw1uBH99ejpa1rMFrc\nwB3W2q/Q+j75R6TraesBaO50qPMfXjWE+f3Sh3qWAjdYa+cCG4FbIlyP21pbY4xx0RoWN9P1syZi\nr1EvtfwE+JAovj5tdbUYYx4C/gD8gyi/h+JB2LoBw7muYJjrqQJcnW7nARWhrqez3mozxmTR9gFk\nrX3XGDMynDX40f31cFprPVGqBVrHGdYDWGvXGWNKgRHA9ijW1Pn1cBHm90sfPNPp9+lZ4O5IF2CM\nGQM8DdxjrX3MGHN7p7sj+hp1q+Vfxpj8aL8+ANbaC40xw2gNz8xOd8XCeyjmRH2n4FhbV9BaWwU0\nGmMmttV2PBCNTSR/RtuK98aY6cCWKNQArd2kJ7XVcRiwKkp1tLuI1nEz2gI8D9gZ1YpgRdvYA8CJ\nROf90tkrxphD2r4+lgj/PrV9AL9G6zj0Q22Ho/Ia+agl2q/P+caYH7fdrANagGUx9h6KORGfYNGm\ny7qCbVuRPGWMqad1Jkyk1xXsqKfN5bSemqcAr1prP4pwPQC3Ao8aY06i9QzrwijUAPAMcJwx5t22\n2xdFqY52fwceNMa0/zJfFMUzvfb3zPXA/caYdOBz4Mko13M5cI8xponWIL80wnXcRGs31s+MMe3j\nRVcDd0fhNeqtlmuA30fx9XkSeMgYsxhIo/W1+YLYeA+JiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI\niEiM+n/J9aqmyWtzwQAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x11c59b410>"
       ]
      }
     ],
     "prompt_number": 24
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print \"Elapsed calculation time:\", time() - start"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed calculation time: 72.3986759186\n"
       ]
      }
     ],
     "prompt_number": 25
    }
   ],
   "metadata": {}
  }
 ]
}