{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Word Generator "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    ".. codeauthor:: Emile Roux emile.roux@univ-smb.fr\n",
    "\n",
    ".. This notebook is ready for  [RISE](https://damianavila.github.io/RISE/) Slideshow"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "## Scope\n",
    "\n",
    "This notebook was inspired by the great video proposed by David Louapre available on his Youtube channel *\"Science Etonnante\"*.\n",
    "\n",
    "https://sciencetonnante.wordpress.com/2015/11/06/la-machine-a-inventer-des-mots-version-ikea/\n",
    "\n",
    "Here the word generator is embedded in a class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [],
   "source": [
    "# Setup \n",
    "%load_ext autoreload\n",
    "%matplotlib nbagg\n",
    "%autoreload 2\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "import IPython, io, urllib\n",
    "import codecs\n",
    "import re\n",
    "from numpy.random import choice, seed\n",
    "seed(1)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## The video "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [
    {
     "data": {
      "image/jpeg": "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\nHxGwAAihGPEB8n35c1meKpPKP6G/2qUwPJGCjlHSk8hppNxLJ5J9Df7Van19z4L9B/fVdDJHTNMK\nQT3FN9tXbyX6D++sPtk3kp9+f300MWdmKNnOFGa7lpoqRgPK3uXz9w8fjtTct+K5FGFSIe0K2R9L\nEfVSCbV3YknBJ8Tn99W0kDu1XiJmHIg5EHl84j2nw9w+uuI0+2POuQdRb2fX++vny4+Q+v8AfU0B\nJRRRVgFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFA\nFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAF\nFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFF\nFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFF\nFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFF\nAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAf/9k=\n",
      "text/html": [
       "\n",
       "        <iframe\n",
       "            width=\"400\"\n",
       "            height=\"300\"\n",
       "            src=\"https://www.youtube.com/embed/YsR7r2378j0\"\n",
       "            frameborder=\"0\"\n",
       "            allowfullscreen\n",
       "        ></iframe>\n",
       "        "
      ],
      "text/plain": [
       "<IPython.lib.display.YouTubeVideo at 0x53d6358>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "IPython.display.YouTubeVideo('YsR7r2378j0')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## The Class that manage the word generator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [],
   "source": [
    "class word_generator:\n",
    "\n",
    "    def __init__(self,dic_file):\n",
    "        # Input file containing one word per line, and its encoding\n",
    "        # Assumes one word per line but if the the words are followed by \n",
    "        # a space, a tab, a slash, a comma, etc....the end of the line will be trimmed\n",
    "        self.dic_file = dic_file\n",
    "        self.encoding = \"ISO-8859-1\"\n",
    "\n",
    "        # Name of the output binary matrix, matrix image file and output txt file\n",
    "        count_file = r\"count_FR.bin\"\n",
    "        proba_matrix = r\"matrix_FR.png\"\n",
    "        self.outfile = r\"output.txt\"\n",
    "        \n",
    "        self.read_dic()\n",
    "    \n",
    "\n",
    "    def read_dic(self):\n",
    "        self.dico = []  # to store the words of the dictionnary\n",
    "\n",
    "        self.count = np.zeros((256,256,256),dtype='int32')\n",
    "        with codecs.open(self.dic_file, \"r\", self.encoding) as lines:\n",
    "            for l in  lines:\n",
    "                # Trimming of the line :\n",
    "                # Split on white space, tab, slash backslah or open parenthesis \n",
    "                # and keep the first string, add EOL character\n",
    "                l2 = re.split(\"[ /\\\\\\t,\\(]\",l)[0] + \"\\n\"\n",
    "                self.dico.append(l2[:-1])        \n",
    "                i, j = 0, 0\n",
    "                for k in [ord(c) for c in list(l2)]:\n",
    "                    self.count[i,j,k] += 1\n",
    "                    i = j\n",
    "                    j = k\n",
    "                    \n",
    "     \n",
    "    def plot(self):\n",
    "        count2D=self.count.sum(axis=0)\n",
    "        p2D=count2D.astype('float')/np.tile(sum(count2D.T),(256,1)).T\n",
    "        p2D[np.isnan(p2D)] = 0\n",
    "\n",
    "        # For better contrast, we plot p^alpha instead of p\n",
    "        alpha = 0.33\n",
    "        p2Da = p2D**alpha\n",
    "        self.p2Da = p2Da[97:123,97:123]\n",
    "\n",
    "        # We display only letters a to z, ie ASCII from 97 to 123.\n",
    "        plt.figure(figsize=(8,8))\n",
    "        gr=plt.imshow(self.p2Da,interpolation='nearest', cmap = mpl.cm.OrRd)\n",
    "        plt.axis('off')\n",
    "        cbar = plt.colorbar(gr, orientation = \"vertical\")\n",
    "\n",
    "        for i in range(97,123):\n",
    "            plt.text(-1,i-97,chr(i),horizontalalignment='center',\n",
    "                                    verticalalignment='center')\n",
    "            plt.text(i-97,-1,chr(i),horizontalalignment='center',\n",
    "                            verticalalignment='center')\n",
    "            \n",
    "    def __call__(self):\n",
    "        # For the random generator : what is the minimum and maximum number of letters\n",
    "        # in the words that we want to generate, and how many words for each length\n",
    "        smin, smax = 4, 12\n",
    "        K = 5\n",
    "        \n",
    "        # Compute the probabilities by normalizing the counts\n",
    "        s=self.count.sum(axis=2)\n",
    "        st=np.tile(s.T,(256,1,1)).T\n",
    "        p=self.count.astype('float')/st\n",
    "        p[np.isnan(p)]=0\n",
    "        \n",
    "        f = codecs.open(self.outfile,\"w\",self.encoding)\n",
    "        # Generate words\n",
    "        for size in range(smin, smax + 1):\n",
    "            total = 0\n",
    "            while total < K:\n",
    "                i, j = 0, 0\n",
    "                res = u''\n",
    "                while not j==10:\n",
    "                    k = choice(range(256),1,p=p[i,j,:])[0]\n",
    "                    res = res + chr(k)\n",
    "                    i, j = j, k\n",
    "                if len(res) == 1 + size:\n",
    "                    x=res[:-1]\n",
    "                    if res[:-1] in self.dico:\n",
    "                        x=res[:-1]+\"*\"\n",
    "                    total += 1\n",
    "                    print(x)\n",
    "                    f.write(x+\"\\n\")\n",
    "        f.close()\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## French "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:38: RuntimeWarning: invalid value encountered in true_divide\n"
     ]
    },
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAgAElEQVR4XuydCZRU1bW/dzWjKIMMioKAmjiBipigaFQ0MXnqP4KGSJzQiAIOcYgjOIDRgMpDcJ6QoBKVaBzjGDXOJg6IMyoiqBHjhIBoy9D1X/vmVdMNhX1/1afq3u767lpZLy+cs++tb++qvl/tc25lstls1jggAAEIQAACEIAABCAAAQiUgEAGASkBZU4BAQhAAAIQgAAEIAABCEQEEBAKAQIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAIlI4CAlAw1J4IABCAAAQhAAAIQgAAEEBBqAAIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAIlI4CAlAw1J4IABCAAAQhAAAIQgAAEEBBqAAIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAIlI4CAlAw1J4IABCAAAQhAAAIQgAAEEBBqAAIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAIlI4CAlAw1J4IABCAAAQhAAAIQgAAEEBBqAAIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQAACEIAAAkINQAACEIAABCAAAQhAAAIlI4CAlAw1J4IABCAAAQhAAAIQgAAEEBBqAAIQgAAEIAABCEAAAhAoGQEEpGSoOREEIAABCEAAAhCAAAQggIBQAxCAAAQgAAEIQAACEIBAyQggICVDzYkgAAEIQAACEIAABCAAAQSEGoAABCAAAQhAAAIQgAAESkYAASkZak4EAQhAAAIQgAAEIAABCCAg1AAEIAABCEAAAhCAAAQgUDICCEjJUHMiCEAAAhCAAAQgAAEIQAABoQYgAAEIQAACEIAABCAAgZIRQEBKhpoTQQACEIAABCAAAQhAAAIICDUAAQhAAAIQgAAEIAABCJSMAAJSMtScCAIQgAAEIAABCEAAAhBAQKgBCEAAAhCAAAQgAAEIQKBkBBCQkqHmRBCAAAQgAAEIQCA8gcrKSlu6dGn4wDEiNm/e3Fq2bBljJEMgsJIAAkI1QAACEIAABCAAgQZKwOWj01pr2dcJXX/nzp3t/fffR0IS4t9QT4uANNTMcd0QgAAEIAABCJQ9gUWLFlnbtm3tJDNrUWIa35nZRDNbuHChtWnTpsRn53QNmQAC0pCzx7VDAAIQgAAEIFDWBHICckZCAnIBAlLW9Vfoi0dACiXHPAhAAAIQgAAEIJAwgZyAjDSzUu/EqDSzcQhIwhXQME+PgDTMvHHVEIAABCAAAQhAwBAQiqAhEkBAGmLWuGYIQAACEIAABCBgVi0goxLqgIylA0IdFkAAASkAGlMgAAEIQAACEIBAGgjkOiAISBqywTXEJYCAxCXFOAhAAAIQgAAEIJAyAghIyhLC5cQigIDEwsQgCEAAAhCAAAQgkD4COQE5K6ElWOezBCt9RdEArggBaQBJ4hIhAAEIQAACEIBAPgIICHXREAkgIA0xa1wzBCAAAQhAAAIQqLEJ/ZyEOiB/oANCHRZAAAEpABpTIAABCEAAAhCAQBoI5DogCEgassE1xCWAgMQlxTgIQAACEIAABCCQMgIISMoSwuXEIoCAxMLEIAhAAAIQgAAEIJA+AjkBGZ3QEqxzWYKVvqJoAFeEgDSAJHGJEIAABCAAAQhAIB8BBIS6aIgEEJCGmDWuGQIQgAAEIAABCNTYhO6diJYlJlJpZt55WbhwobVp06bEZ+d0DZkAAtKQs8e1QwACEIAABCBQ1gRyHRAEpKzLoMG9eASkwaWMC4YABCAAAQhAAAL/JZATEH8cbhIdEH/6Fh0QqlElgICoxBgPAQhAAAIQgAAEUkIAAUlJIrgMiQACIuFiMAQgAAEIQAACEEgPAQQkPbngSuITQEDis2IkBCAAAQhAAAIQSBWBnICcn9ASrLNYgpWqemgoF4OANJRMcZ0QgAAEIAABCEBgFQIICCXREAkgIA0xa1wzBCAAAQhAAAIQqLEJfWxCHZBRdECowwIIICAFQGMKBCAAAQhAAAIQSAOBXAcEAUlDNriGuAQQkLikGAcBCEAAAhCAAARSRgABSVlCuJxYBBCQWJgYBAEIQAACEIAABNJHICcg4xJagjWSJVjpK4oGcEUISANIEpcIAQhAAAIQgAAE8hFAQKiLhkgAAWmIWeOaIQABCEAAAhCAQI1N6Bcm1AE5nQ4IdVgAAQSkAGhMgQAEIAABCEAAAmkgkOuAICBpyAbXEJcAAhKXFOMgAAEIQAACEIBAygjkBOQiM1urxNf2rZmdRgekxNQbx+kQkMaRR14FBCAAAQhAAAJlSAABKcOkN4KXjIA0giTyEiAAAQhAAAIQKE8CCEh55r2hv2oEpKFnkOuHAAQgAAEIQKBsCeQEZHxCS7BOZQlW2dZefV44AlIfesyFAAQgAAEIQAACCRJAQBKEz6kLJoCAFIyOiRCAAAQgAAEIQCBZAjkBmZBQB+RkOiDJFkADPTsC0kATx2VDAAIQgAAEIAABBIQaaIgEEJCGmDWuGQIQgAAEIAABCNT4IUI6IJRDQyKAgDSkbHGtEIAABCAAAQhAoAaBXAfk4oSWYP2eJVjUYwEEEJACoDEFAhCAAAQgAAEIpIEAApKGLHANKgEERCXGeAhAAAIQgAAEIJASAjkBmZRQB+REOiApqYSGdRkISMPKF1cLAQhAAAIQgAAEqgkgIBRDQySAgDTErHHNEIAABCAAAQhAoMYm9EsT6oAcTweEOiyAAAJSADSmQAACEIAABCAAgTQQyHVAEJA0ZINriEsAAYlLqhGN69+/v/Xu3dsmTfIVo+k/0nS92WzWhg8fbrfffrstWLDAXn755YhlUkcx2ISOefjhh9tXX31ld911V0GYQl9P7iKKFbegF8kkCEAAAgUSQEAKBMe0RAkgIIniT+bkDe3GK03X+8ADD9iAAQPs8ccft0022cQ6duxoTZs2TSaRZlYMNl9++aU1a9bMWrduHeR1LVy40Fzc2rVrV1C8YrxGv5BixS3oRTKp0RGgvhpdSlP7gnICcllCS7B+xxKs1NZGmi8MAUlzdop0bQ3tD2Oarvfyyy+38ePH27x584qUHS1smthoVx5/dLFeY7Hixn9ljAxNYOnSpda8efPQYQuKR30VhI1JBRBAQAqAxpTECSAgiacg/gU8+OCDdv7559vrr79uTZo0sX79+tkll1xim266afwg//fNb69evaI506ZNi2IdffTRdt5551kmk5Fi5QZXVVVFN+bXXXedffjhh7b++utHS5XOPPNMKd6SJUuia7njjjuib+BPOeUUu/feewtaMubfuvs1XX311TZ//nzbbLPN7Oyzz7ZBgwZJ15Qb7EuJbrjhhuq53bt3t7lz58qxFi9ebCNGjIiWJLVp08ZOO+00u/vuuwt6jX6Ts80221jLli1t8uTJ0c2Xxx4zZox8XbkJoW+cQi/B8vfB4MGD7bLLLrMhQ4aU/HU6n6233jp633g9OHN/7xx88MF23HHHRcvz1ltvPXNZ3WuvvWJdX+g8fvfdd3bqqafarbfean5z8qMf/cgmTpxoP/7xj2NdT81Bfm2hPi9Cvr/9GnPX5jm48cYbrWfPnvbEE0/Ir9EneN7OPfdcmz17trVq1cq222676H259tpry/FW/azwAO+//7716NFDiuXjTzzxxOg/ucOXfA4cOFB6j19zzTX2hz/8IfpsrqioqI6177772rrrrlvrc+37LtA/iw899FDzLqnHmTlzZsTJP6f9s9YP/9z3mrvllltivdbPPvssej8df/zxNmrUqGjOv/71L9tll13sb3/7m/385z+PFccHeQ2cdNJJ9vHHH1uLFi2q5/3qV7+K8uj/Hvfwz/aNN954teG77bZb1AFP05ETkCsS6oAcSwckTeXQYK4FAWkwqTL761//GgmCf1j7H/JzzjknugH2PwI1/6jU9ZL8j/ZLL71kQ4cOjW72X3zxRRs2bFi0J+Soo46qa3refz/99NMj+fCbnJ/85CfRDf+sWbPsyCOPlOIdc8wxkXBMmTLFOnfuHP1B8g97v1Z1z4rLj4uMz/vhD39oTz75ZHRz/tBDD5n/EVEPX0p06aWX2rXXXmsvvPBCdAPaqVMnNUzE+O9//7tdf/31kah5Hh955BE74ogj5NfoufR9KL///e/toIMOsueee8785sdf45577ilfm09Is4D4DbXX6k033RQthavPUejr9HkzZsyIxNFFaPr06TZ69Gj7xS9+Yfvtt1/Ez98Hf/nLX+yDDz6IbmbrOkLn8YQTTohuqF1KXZQvuugiu+eee6Kb6/bt29d1ObX+PeTnRcj3d65W/bPMP8f8M8K/dNhiiy2k1+eD/fOqW7duESfPoX9J8NRTT0WCu84668jx/LPC5dPFzW/8/fDPCv/MUI5QAuLCsMEGG9j9999vP/3pT6NL8D1s/hnrn7dxb/L9dXn9PP/887b99ttHX4D5l2J+o+7/mx+bb755JAH+WRv38OtyqXr22Wej/LnU7LPPPvLn4bfffhu9Tv9b9Otf/zo6/eeff25dunQx/+Ji9913j3tJtmLFCnM5yh2ffPKJ/exnPzOv4VxOYwcr8kAEpMiACV8UAghIUbCWJqh/OPo3ra+99lr1N5Rxzuw3FJ9++qm98cYb1R2PM844I7pBefPNN+OEqDXG/1j7H1f/xlcVjpqBvv76a+vQoUP0LZXf2Pnhfzi7du1aLUhxL84FzfdnPPbYY1GnKHf49X3zzTd28803xw1Va5zLjP+nkM6HB3JW/hr9/LlOjP9R33DDDSMxUSXLc+l/KP1mKXf07dvX9thjD7vgggsKeo2F3piv6WShOiDewXIhvfPOO6UbiTVdV6Gvc1Xmzr9t27a2//77V3/D6jcrfiPkQrjjjjvWmYeQefTa92+1p06dGkmpH8uWLYu+ffdv0r0zohyhPi9Cvr9z1+/X5u8fl/D6HC6UfkPt72sXthBHofVV89yhBMRjurD7Z6J/8eGHf5Hi4vzRRx9JYuScvK5OPvnkSNa8q+adI7/R99rzun/rrbdkETz22GOjL2I83iuvvBJ9yeOdXfVwQfA8utT44ZLkXxy5fBfa4a+srIy+WPC/c94VU77wU6+/kPEISCHUmJM0AQQk6QwI53/vvfeiJUT//Oc/ow97X/bkH/j33Xef7b333rEj+Qepb6D2LkPu8A9VvyH2D1r1Wzr/5muHHXawOXPm5G1Zx70w/6Pjywt8f4V/G5k7/Nsw71goN+f+x8tvxFddPuFrxD2et/gLOeorIGt6jX369LFdd91Veo1+/Z5LX3ZyxRXefP/v4TcaLjk186u81hA3TjXPF0JAvPb/85//2NNPPx3lNcRR6OvMx9xvWn35Ve7m3r+J95sUf1/5Mpe6jpB5fPXVV23bbbdd7WbabxZdTNS6CPV5EfL9nePp1+bdTf/Guz6HS6R3sPyzzP+vdwT889B5FXoUWl81zxdSQLwj591Dfx/58iT/TPXPHe/WKYeLxzvvvBN9YeU35L7kzTtF3gnxp91598MFXD28e+EdI18m5l15X1payOEy6hLjf0e88+F/U3wJlv/tLPTw5ZW+0sD/9oZ6OEeh15JvXk5ArkpoCdbRLMEKmc6yiYWANKBUb7XVVrbRRhtFSz/8G3MXEP/A9m+EvX0d9wh1Q5E7n3dg/I9FfQUkt544hIC4YPg3z758y/8I1Tz8j69zLOSor4DkXqMvzal5DYVIll9/vpscrwV/4pR/A17IEeLGqeZ5QwiI/9H3b6n9Zv7KK68s+JvMmtdV6OvMNy/fjaJ/2xr3vRkyj2u60fe6cDHNfQMetzZCfV6EfH/XFJBQjxR3afQlQA8//HCUN7+J9s+RfPsA4rArtL5qxvYvin73u99FN/W5w79w8OVF6j4vv8H3JZ/+ueA36C7N/kWNdzSUI7cPxD9bXdRcaFxKfB+OL+tyCfFlierhHXnfq+TdOuf/y1/+Ug1RPd5fkwuky6S/Vu+IFPqZ72LlkuZyqu63LPgFiBMREBEYw1NBAAFJRRrqvogvvvgiap/7PgbfnOeHfxvs/z3uTU7NP9q+BKvmcquRI0dG39YWsgTLuya+Ltjb3PVdguVxfGP8AQccEF2u/0HzJVjq8qTcsjD/ZtQ3TYY66isguSVYvkHTv5Xzw/94uFA6O6XL43ND3rgW46bOY4YQEL/J9KUV/np9qZMv96vvUegNYtoFxLui/j7605/+VGsJlt9I+xIs3zCsHLklWPX9vPAlWKHe38Wq1Vxc74j4DbrvrfL/FHL4zbnvh/CHJRR6eGfZOxW+NyX3WeH7NvxLKFVAcu9F/wzyuN4J83166pHbB+Kfq15rt912W/S3Y9y4cdHnte8/8veqcnhn2jub/j73PSAXX3xxtLTYhamQ46qrroqkwXPw7rvvRnviCjl83+WBBx5o/vj13N6ZQuIUe05OQK5OqAPiu328LvyhKhwQiEsAAYlLKuFx3u3w/R6+sdHX7fo36L5vw7/BKkRAfOOm39T7E0v8m2X/7xMmTIj+/0IOXwPsa239BnrnnXeONu/5N1q+MVQ5fDOpr931P47+x8c3kvs+jkI2oZ911lnRE7D8dfnGeP+Q9m84fVPpYYcdplxW9dj6CogHctaPPvpo9E2059Tz6d+6+mtUl0OUk4A4+7fffjuSEN8jpMraqglvrALir9NFw28MvcZym6t9yYwvZVOXFTmnUJ8XId/f/joLzeGqteCdDn9P+g2rvyf9/z/kkEOiJ9XFfZLZqjF9uZN3fXzpk3/muHypewf8iyHvWHgMz5svI/J9Et5xKERA/OEX3lnwjp2/Pv+MLOTwDoN32vwz3/duuHj457V3L/xz37v1yuFLF/2hCR7TWflmce96+lOwCjn8s973oixfvrzWnkIllj9t0kXNBdRfY+7wTo/6IAflvIWMRUAKocacpAkgIElnQDi//+HxRxX6Uif/Zs07Dv4HuBAB8Ta+S41vhvY9Hy4eY8eOLXhpi8fyb8C84+CPQPQPf38Kiv8BVQ7/lrTmY3j9D63vcSlkmYUvqfBvH33JjjPzZUm+5tk3Mvt+i0KOEAKS7zG8/nQn3zjuDJWj3ATE2fgGV3/dfgPlclnoUejNa9o7IM7Du5L+Lbl32rze6vsY3lCfFyHf3yEFxGvKlzn5lzF+M+fdD1/65Pt6Cj18n4R/0eE31b78qZDH8Pq1+BcW/gQnf9CBP+7Zv6RQH8Obew3e2fGlSP7UL5dRX+JVyOFdNH/v+U2614Yf/hntn/2+JEvZ7O1LufyJff/4xz+iL4r88C/YfFmvfx7634NCDt+X4n87Vn0kb9xYLn6//e1vVxue5sfwXptQB2QYHZC4ZcW4GgQQEMoBAgkT8GUMvk/F/6CrHaOELz3W6X0Jg0uuL63jaHgEChW1uK+02PHjXgfjGhcBl5ott9wy+qKusR+5DggC0tgz3bheHwLSuPLJq2kABPwpLb722tc8+7pZf6a8fwvoj4n0fT6N5fDlD/4tsD+hzTtsajessXBo6K+j2IJQ7PgNnT/XrxHwR7f7klZ/cpXvW/LVAo39QEAae4Yb5+tDQBpnXnlVKSbgAuIbzn0/g68n9vXUvunSf2CyMR2+/n2nnXaK1nN790Pde9CYWDTk11JsQSh2/IbMnmvXCfj+Ft+T4vtl1Acu6GdLx4ycgPjDqOv+2dOw1/yN72tkCVZYqGUSDQEpk0TzMiEAAQhAAAIQaHwEEJDGl9NyeEUISDlkmdcIAQhAAAIQgECjJJATkMkJdUCOpAPSKOuq2C8KASk2YeJDAAIQgAAEIACBIhFAQIoElrBFJYCAFBWvHjy74C190hpmZGfcGS7WihXBYmXarRsu1qb9g8XyQNkF7wSLl531crBYmd57BIuVnflYsFiZH+0TLJatWBosVvaewn4FPt8FZLbaIth1Lf3H88FieaDmI04OF+/dZ8LF2ui/j2YNcWQf/GuIMFGMzA82DharaubrwWJV/LhPsFjWoX2wWJkN+gaLFX2+fvOfcPECfl5Yk5bBrqtio3Cf1XEvCgGJS4pxaSKAgKQpG9ENMAKipCSDgCi4orEIiIYMAdF4RaMREAkaAiLh+u9gBKQaWk5ApiS0BOsIlmAVUMBMQUBSVgMIiJYQBETjhYDovBAQnRkCojFDQDReCEhtXghIAfXDlMQJICCJp6D2BSAgWkIQEI0XAqLzQkB0ZgiIxgwB0XghIPkF5E8JdUD89+L9N63atGlTQCKZUq4EEJCUZR4B0RKCgGi8EBCdFwKiM0NANGYIiMYLAUFACqgYpqSMAAKSsoQgIFpCEBCNFwKi80JAdGYIiMYMAdF4ISD5BeSGhDogh9EBKaCAmYKAFLkGHnzwQTv//PPt9ddftyZNmli/fv3skksusU033TTvmREQLSEIiMYLAdF5ISA6MwREY4aAaLwQEASkgIphSsoIICBFTshf//pXy2QytvXWW9uSJUvsnHPOsblz59rMmTOtoqJitbMjIFpCEBCNFwKi80JAdGYIiMYMAdF4ISAISAEVw5SUEUBASpyQzz77zNZbbz177bXXrFevXghIPfkjIDpAHsOrMUNANF7RaB7DK0FDQCRc/x3MY3iroeWegnVTQkuwDmUJVgEFzBQEpMg18N5779nZZ59t//znP+3zzz+3qqqqqBNy33332d57742A1JM/AqIDREA0ZgiIxgsB0XkhIDozBGQlMwSkgPphSuIEEJAip2CrrbayjTbayE477TTbcMMNIwHxzsedd95pAwcOREDqyR8B0QEiIBozBETjhYDovBAQnRkCsrqATEuoA3IIHZACCpgpCEgRa+CLL76wjh072pNPPmm77LJLdKann346+u8ISBjwCIjOEQHRmCEgGi8EROeFgOjMEBAEpICqYUqKCCAgRUyGdzt8v8dee+1lo0ePtg8++MDOOOMMe+GFFxCQQNwREB0kAqIxQ0A0XgiIzgsB0ZkhIAhIAVXDlBQRQECKnIxHHnnEjj/+eJszZ45tvvnmdumll1r//v0RkEDcERAdJAKiMUNANF4IiM4LAdGZISCrC8jNCS3BOoglWAUUMFMQkJTVAI/h1RKCgGi8fDQCojFDQDReCIjOCwHRmSEgCEgBVcOUFBFAQFKUjOjmcMFbwa4oO+POcLFWrAgWK9Nu3XCxNu0fLNZ/+b8TLF521svBYmV67xEsFgKioURANF4IiM4LAdGZISCrC8itCXVAfkMHpIACZgoCkrIaQEC0hNAB0XjRAdF5ISA6M34HRCC1/nMAACAASURBVGOGgGi8otH8Dkg1tNxjeBGQAuqIKYkRQEASQ5//xAiIlhAEROOFgOi8EBCdGQKiMUNANF4ISG1eOQGZnlAHZDAdkAIKmCkISMpqAAHREoKAaLwQEJ0XAqIzQ0A0ZgiIxgsBQUAKqBimpIwAApKyhHz3h0HBrqjZkKHBYmXWXj9YrOy3X4SL9fg9wWJ5oIqBJweLl2neOlis7LefBYv17fiRwWK1PPp3wWJl1tkwWKwlfzw9WKy1zzg3WCyzTMBYZkuvOj9YvBanXh0sVshAK647KVi4TP/dwsVab5tgsbKvPRwsVmab/wkWywJ+hvlFZVp2CHZtVf9+OlisTIctw8Vqt1mwWHED0QGJS4pxaSKAgKQpG2aGgGgJySIgGjAzQ0A0ZAiIxiv0aAREI4qAaLwiMWokAvKXjFmrTNgvOeqi+U02awdkzRYuXGht2rSpazj/DoFqAghIyooBAdESgoBovHw0AqIxQ0A0XqFHIyAaUQRE44WA6LxqzkBA6sevnGcjIEXMvv/gYO/evW3SpEmxz4KAxEYVDURANF4IiM4LAdGZhZyBgGg0ERCNV2MSkNsqMol0QH5dlaUDopdd2c9AQIpYAghIfrjsAdGLjj0gGjP2gGi8fDR7QDRmGfaAaMDYAyLzijshtwcEAYlLjHFpIICAFDELCAgCEqq8EBCNJAKi8UJAdF4ISAHM2ISuQ4sxAwGJAYkhqSOAgBQxJS4gvXr1is4wbdo0a9KkiR199NF23nnnWWYNG8VYgqUlhCVYGi8fzR4QjRlLsDReoUezBEsjyhIsjZePbiyb0G9vWmFrl3gT+pJs1gYtr2IJll52ZT8DASliCbiAvPTSSzZ06NBIPF588UUbNmxYtCfkqKOOyntmBERLCAKi8UJAdF4IiM4s5AwERKOJgGi8EBCdV80ZCEj9+JXzbASkiNl3Afn000/tjTfeqO54nHHGGXbPPffYm2++iYAEYI+A6BDpgGjMEBCNV+jRCIhGFAHReDUmAflrsyaJdEB+tWwFHRC97Mp+BgJSxBJwAdlkk01sypQp1We5++67bdCgQVZZWRktyVr1oAOiJQQB0XjRAdF5ISA6s5AzEBCNJgKi8UJAdF6rdkAQkPoxLNfZCEgRM4+A5IfLU7D0omMTusaMTegaLx/NU7A0ZmxC13hFN/psQtehxZiR24ROByQGLIakhgACUsRU5JZg1VxuNXLkSPMuCEuwwoCnA6JzZAmWxowOiMYr9Gg6IBpROiAar8bUAbmjRdNElmDt/91ylmDpZVf2MxCQIpZAbhO6bzgfPny4zZgxI9p8PmHChOj/z3ewBEtLCAKi8fLRCIjGDAHReIUejYBoRBEQjRcCovOqOcM3oSMg9WNYrrMRkCJm3gWkZ8+eVlVVZTfffHO058PFY+zYsTyGNxB3BEQHiYBozBAQjVfo0QiIRhQB0Xg1JgG5s2WzRDog+1UuowOil13Zz0BAUlYCdEC0hCAgGi86IDovBERnFnIGAqLRREA0XgiIzmvVDggCUj+G5TobAUlZ5hEQLSEIiMYLAdF5ISA6s5AzEBCNJgKi8WpMAnJXq+aJdEAGfrOUDohedmU/AwFJWQkgIFpCEBCNFwKi80JAdGYhZyAgGk0EROOFgOi8Vu2AICD1Y1iusxGQlGUeAdESgoBovBAQnRcCojMLOQMB0WgiIBovBETnhYDUjxmz/0sAAUlZJSAgWkIQEI0XAqLzQkB0ZiFnICAaTQRE49WYBOTutVsksgRrwJLvWIKll13Zz0BAUlYCyy4YHOyKmh73v8FiZd97MFisTPddg8Wq+vMFwWJ5oIqDzwwXr2mLYLEqx50QLFbzH3YOFqvJb84LFqvqoyeCxbJP3g8WK7P1fsFi2fIl4WKZ2ZJxZwWLt/aYy4PFyi6eFy7WSw8Fi5X50d7BYmWfuiNYrEz7dYPFqtg5/yPeg50gJYGq5vwt2JVkNtwxXKx2mweLFTdQ7ocIEZC4xBiXBgIISBqyUOMaEBAtIQiIxstHIyAaMwRE4+WjERCNGQKi8fLRCMhKZjkBuad1y0Q6IPsurqQDopdw2c9AQFJWAgiIlhAEROOFgOi8EBCdGQKiMUNANF4ISG1eCIheP8xIngACknwOal0BAqIlBAHReCEgOi8ERGeGgGjMEBCNFwKCgOgVw4y0EUBAUpYRBERLCAKi8UJAdF4IiM4MAdGYISAaLwQkv4Dc22atRJZg/XLRtyzB0ku47GcgICkrAQRESwgCovFCQHReCIjODAHRmCEgGi8EBAHRK4YZaSOAgBQ5I1VVVTZ+/Hi77rrr7MMPP7T111/fhg8fbmeemf9pSwiIlhAEROOFgOi8EBCdGQKiMUNANF4ISH4Bua9dq0Q6IPt89Q0dEL2Ey34GAlLkEjj99NMj+Zg4caL95Cc/sfnz59usWbPsyCOPzHtmBERLCAKi8UJAdF4IiM4MAdGYISAaLwQEAdErhhlpI4CAFDEjixcvtk6dOtnll1++RuFY9fQIiJYQBETjhYDovBAQnRkCojFDQDReCEh+Abl/3bUT6YDsvWAJHRC9hMt+BgJSxBJ4/vnnbYcddrA5c+bYxhtvHOtMCEgsTNWDEBCNFwKi80JAdGYIiMYMAdF4ISAIiF4xzEgbAQSkiBl57bXXbJtttkFAVmHML6HrRccvoYvM+CV0EZgZv4SuIeOX0DVeoUfzQ4QrieZ+B4QOSOgqI14xCSAgRaRbWVlp7du3t0svvZQlWDU4IyB60SEgIjMERASGgKjAEBCVWNjxCMjqAvJA+3Vs7YpMWNB1RFtSlbW9vvyaJVglpd44ToaAFDmP5557rl1yySU2adIk23nnne2zzz6zN954w4YOHZr3zCzB0hLCEiyNl49u/sPO+qQ1zGjym/OCxar66IlgsQwBkVnSAdGQISAar9CjERAEJHRNEa+0BBCQIvP2x/COGzcuehLWxx9/bBtssIGNGDHCRo4ciYAEYI+A6BAREI0Ze0A0Xj6aPSAaM/aAaLx8NAKyuoA82KF1Ih2Q//liMR0QvYTLfgYCkrISoAOiJQQB0XjRAdF5ISA6MwREY4aAaLwQkNq8cntAEBC9jpiRHAEEJDn2dEACsEdAdIh0QDRmCIjGiw6IzgsB0ZnRAaEDolcNM9JEAAFJUzbMjA6IlhAERONFB0TnhYDozOiAaMwQEI0XHZD8HZCHOrVJZAnWLz5bxBIsvYTLfgYCkrISQEC0hCAgGi8EROeFgOjMEBCNGQKi8UJAEBC9YpiRNgIISMoygoBoCUFANF4IiM4LAdGZISAaMwRE44WA5BeQh9drm0gH5OefLqQDopdw2c9AQFJWAiv+fGKwK6rYa1iwWJYJ92zx7OIPg13X4gsvCRbLA7UZe1mweNlvPgkWy6wqWKwlF1wQLNbaJx8fLFZm3c2DxbLKL4PFyi5dHCxWpkXbYLGim7C/XRMsXsV+pwSLFfJ1rrh/fLjr2m6XcLHa9ggWK/va/cFiZbbcI1is0IEybcIxq3r3rmCXl+myY7hY7XsGixU3UG4TOgISlxjj0kAAAUlDFmpcAwKiJQQB0Xj5aAREY4aAaLx8NAKiMUNANF6RfCMg1dByAvL3zu0S6YDs+clXUgfkyiuvtPHjx9v8+fOtZ8+e0e+k7bLLmr8c8H+/6qqr7IMPPrCOHTvaoEGDop83aNmypV44zEgNAQQkNan474UgIFpCEBCNFwKi80JAdGYIiMYMAdF4ISC1eTUkAZk+fbodeuih5hLiP858zTXX2OTJk+3NN9+0bt26rVYIf/7zn6Mfbp4yZYrttNNO9s4779jhhx9ugwcPtokTJ+qFw4zUEEBAEkhF//79rXfv3pH1r3ogIFpCEBCNFwKi80JAdGYIiMYMAdF4ISANV0B22GEH69OnT9TRyB1bbrmlDRw4MOpqrHocd9xx9tZbb9mjjz5a/U8nn3yyPf/88/bUU0/phcOM1BBAQBJIBQLCHhC97NgDIjFjD4iEywezB0RDlmEPiAbMl+axB0RmFmdCrgPyyAbrJrIE62fzF9iHH35obdq0qb7cFi1amP+n5rF06VJr1aqV3XbbbbbffvtV/9MJJ5xgM2fOtCeeeGK1l3vrrbfaiBEj7OGHH7a+ffvanDlzbJ999rHDDjvMzjjjjDh4GJNSAghIAolBQBAQvewQEIkZAiLhQkBkXIaAFMAMAdGhxZiRBgFZ9TJHjx5tY8aMqfU/f/zxx9alSxd75plnouVUuWPs2LF2ww032Ntvv5331V522WXmXY9sNmvLly+3o48+OlrCxdGwCSAgRc7fkiVLojfLHXfcYa1bt7ZTTjnF7r33XpZgBeLOEiwdJJvQNWYswdJ4+WiWYGnMWIKl8fLRbEJfySwnII92WdfWqajQYdZjxtdVVfbTf8frgOQE5Nlnn7V+/fpVn/WPf/yj3XTTTTZr1qzVruTxxx+33/zmN3b++eebL9+aPXu2ecfkqKOOsrPPPrseV87UpAkgIEXOwDHHHBMJh2+g6ty5s40aNcr8DeWbqtgDUn/4CIjOEAHRmCEgGi8EROeFgOjMEJB0CcjChQtrLcHKl9FClmD507F23HHH6KlZuWPatGk2bNgw+/rrr62ixMKlVyoz1kQAASlibfibo0OHDnbjjTdGT2zw48svv7SuXbtGbx4EpP7wERCdIQKiMUNANF4IiM4LAdGZISANT0D8ir2Lsf3229daQrXVVlvZgAED8m5C97E/+9nP7MILL6x+wbfccosdccQRkYA0adJELx5mpIIAAlLENLzyyivRUqt58+bVerzcdtttZ7vtthsCEoA9AqJDREA0ZgiIxgsB0XkhIDozBGR1AXmsa/tElmDt8dGXsX8HJPcY3quvvjpahnXttdfaddddZ2+88YZ1797dhgwZEu0TyT0Ry/eRXHzxxdG43BIsX9buYuKxOBouAQSkiLnzpzq4bCAgtSHzS+iFFB2b0CVqbEKXcPlgnoKlIWMTusYrElM2oevQYszI7QFpCALiL8c3kF900UXRDxH26tUr+j2PXXfdNXql/pCeHj162NSpU6P/3zed5/aI/Pvf/7ZOnTrZL3/5y+h/a9euXQw6DEkrAQSkiJnx9mD79u3N1ysecMAB0ZkWLFgQLcHyDVQswao/fDogOkM6IBozOiAar+hGs0VbfdIaZqy4f+Xa7/oGzWy35l9bVmMjICoxBEQnFm9GTkD+0a1DIh2Q3T/4InYHJN4rYlQ5EEBAipxlbxXef//90Sb09ddf384880x77LHH2IQeiDsCooNEQDRmCIjGCwHRebEES2fGEqyVzBAQvX6YkTwBBKTIOfAuSM3H8PqzrO+77z4ewxuIOwKig0RANGYIiMYLAdF5ISA6MwRkdQF5vHvHRDog/ed9TgdEL+Gyn4GApKwEVvz5xGBXVLHXsGCxLJMJFos9IIWgZA+IRI09IBIuH8weEA0ZS7A0XpGYsgdEhxZjRq4DgoDEgMWQ1BBAQFKTiv9eCAKiJYQOiMbLR9MB0ZjRAdF40QHRedEB0ZnRAaEDolcNM9JEAAFJUzYQEDkbCIiMDAERkSEgIjA2ocvAEBAZGb+EXgNZrgPyxMbJLMHa7X2WYOkVzAwEJGU1QAdESwgCovGiA6LzQkB0ZjwFS2OGgGi8fDQdkNU7IAiIXkfMSI4AApIc+7xnRkC0hCAgGi8EROeFgOjMEBCNGQKi8UJAavPKdUCe3KRTIpvQd53zGZvQ9RIu+xkISMpKoOq9u8Nd0drrhYv12ZvhYrXfNFisTPM2wWJ5oGzlV8HiZZqvHSyWNVsnWKzsV3OCxcq03yxYLKtaESxW9t1HgsWyxYuDxcrOejdYLA9U8etjg8XLLvkkWKxMu3Dv8aVXjgl2Xc367xAslrVoGS7W4kXhYm3aJ1isTJvuwWJFn6+fvBQsXqbD5sFiWZNwucx06BXuumJGQkBigmJYqgggIKlKhxkCoiUEAdF4RTcBCIgGDQHRePkeEAREY4aAaLy8xhCQamYIiFw+TEgBAQQkBUmoeQkIiJYQBETjhYDovOiA6MwQEJEZAiICQ0BqAssJyFObrmfrNKmQWdZnwtcrqmyX9z5lCVZ9IJbpXAQkZYlHQLSEICAaLwRE54WA6MwQEJEZAiICQ0AQELlkmJAyAghIyhKCgGgJQUA0XgiIzgsB0ZkhICIzBEQEhoDkE5BnfrB+Ih2QnWf/hw6IXMFMQEBSVgMIiJYQBETjhYDovBAQnRkCIjJDQERgCAgCIpcME1JGAAEpckKy2ayNHz/err76aps/f75tttlmdvbZZ9ugQYPynhkB0RKCgGi8EBCdFwKiM0NARGYIiAgMAcknIM9u1jmRDshO73xCB0SuYCYgIEWugTPPPNPuuOMOmzRpkv3whz+0J5980kaMGGEPPfSQ7bbbbqudHQHREoKAaLwQEJ0XAqIzQ0BEZgiICAwBQUDkkmFCygggIEVMyJIlS6xjx4722GOPWb9+/arPdOSRR9o333xjN998MwJST/4IiA6Qx/CKzHgMrwiMx/DKwBAQGRmP4V2JLPcULDogchkxIUECCEgR4b/wwgvWt29fW3vt2j9It3TpUttuu+3sX//6FwJST/4IiA4QARGZISAiMAREBoaAyMgQkNUF5LnNN0hkCVa/t+ezBEuuYCYgIEWsAReMHXfc0R5//HHr0qVLrTO1aNHCNtpoIwSknvwREB0gAiIyQ0BEYAiIDAwBkZEhIAiIXDRMSBUBBKSI6Vi8eLF16tTJrrvuOjv00ENjnYk9ILEwVQ9CQDRePhoBEZkhICIwBEQGhoDIyBCQ1QXkn1tumEgHZMe3PqYDIlcwExCQItfAWWedFT0Ba8KECfaTn/zEfK3ms88+a+uss44ddthhdEDqyR8B0QEiICIzBEQEhoDIwBAQGRkCgoDIRcOEVBFAQIqcDn8M72WXXWZXXnmlzZkzx9q1a2d9+vSxUaNG2a677oqA1JM/AqIDREBEZgiICAwBkYEhIDIyBAQBkYuGCakigICkKh1mLMHSEoKAaLx8NAIiMkNARGAIiAwMAZGRISCrC8i/tuqSyBKsHd78N0uw5ApmAgKSshpAQLSEICAaLwRE58XvgOjM+B0QkRkCIgLjd0BqAss9hhcBkcuICQkSQEAShJ/v1AiIlhAEROOFgOi8EBCdGQIiMkNARGAISD4Beb5X10Q6IH1f/4gOiFzBTEBAUlYDCIiWEARE44WA6LwQEJ0ZAiIyQ0BEYAgIAiKXDBNSRgABSVlCEBAtIQiIxgsB0XkhIDozBERkhoCIwBCQfALywtYbJdIB+fFrH9IBkSuYCQhIympgxSXxfi8kzmU3GT4pzrBYY7KVX8QaF2dQpmWHOMNijVlx08hY42IP+m5p7KF1Daw48JS6hsT/90wm/tg6Rn4zblSwWK3OHB8sVshAVXeFq/2KgSeGu7RM03CxzGz5VeHqv9mJVwa9tlDBVlwTjn9m0FGhLsts2ZJwsWbPCBar4icjgsUiUAEEAv59i3v23B4QBCQuMcalgQACkoYs1LgGBERLCAKi8fLRCIjGDAHReIUejYBoRBEQjVfw0QhIcKQEbJwEEJCU5RUB0RKCgGi8EBCdFwKiMws5AwHRaCIgGq/goxMUkBe37Z7IEqwfvTKPJVjBC6nxB0RASpBj/zHC4cOH2+23324LFiywl19+2Xr37p33zAiIlhAEROOFgOi8EBCdWcgZCIhGEwHReAUfjYAER0rAxkkAASlBXh944AEbMGCAPf7447bJJptYx44drWnT/GvBERAtIQiIxgsB0XkhIDqzkDMQEI0mAqLxCj46QQF5abseiXRAtn95Lh2Q4IXU+AMiICXI8eWXX27jx4+3efPm1Xk2BKRORLUGICAaLwRE54WA6MxCzkBANJoIiMYr+GgEJDhSAjZOAghIkfN6+OGH2w033FB9lu7du9vcuXPXeFYEREsIAqLxQkB0XgiIzizkDAREo4mAaLyCj0ZAgiMlYOMkgIAUOa8LFy60Sy+91K699lp74YUXrEmTJtapUycEJBB3BEQHyVOwNGYIiMYr9GgERCOKgGi8go9OUkD6bJzMEqwZ77MEK3ghNf6ACEgJcjxp0iTz/3xf5yN3GXRAtIQgIBovOiA6LwREZxZyBgKi0URANF7BRyMgwZESsHESQEBKkFcEpDZkfoiwgKLjhwglaPwQoYQrGswPEYrM+CFCEViZDE9QQGZsv4mt07SipKC/Xl5lfV6aQwekpNQbx8kQkBLkEQFBQOpdZgiIhBABkXAhIDoufgm9EGblMAcBKYcs8xoDEEBAAkCsKwQCgoDUVSN1/jsCUieimgMQEAkXAqLjQkAKYVYOcxCQcsgyrzEAAQQkAMS6QiAgCEhdNVLnvyMgdSJCQCREqw1mCZbIjyVYIrAyGZ6kgPx4U2vdtElJQS9evsL6vPAeS7BKSr1xnAwBKUEeERAEpN5lhoBICOmASLjogOi46IAUwqwc5iAg5ZBlXmMAAghIAIghQ/AULI0mT8HSePloHsOrMeMpWBqv0KN5CpZGlKdgabyCj05QQF7u+4NEOiDbPT+bDkjwQmr8ARGQlOUYAdESgoBovBAQnRcCojMLOQMB0WgiIBqv4KMRkOBICdg4CSAgKcsrAqIlBAHReCEgOi8ERGcWcgYCotFEQDRewUcnKSA7/jCZDsg/36UDEryQGn9ABCRlOUZAtIQgIBovBETnhYDozELOQEA0mgiIxiv4aAQkOFICNk4CCEjK8oqAaAlBQDReCIjOCwHRmYWcgYBoNBEQjVfw0QhIcKQEbJwEEJCU5XXFVUcEu6KK35wWLJY1XStcrG8/Dxbrq1FnBovlgdpNuDJYvOxX7waLFTJQ1W1Tg4VrMvyCYLFsxbJgsbIv3x4slm20WbBY2TdnBIsVBVq0KFi8JoNGB4uVXfZ1sFjLrzo9WKwmhx4fLJZ9tzBYrOzTDwSLFTSPlQuCXZcHyrRcN1i8qn8/HSxWpsMW4WK12zxYrLiBFi1aZG3btrWZO22eyBKs3s++zRKsuMliXDUBBCRlxYCAaAlBQDRePhoBEZkhICIwMwREQ4aAaLyizzEEpBoaAqLXDzOSJ4CAJJ+DWleAgGgJQUA0XgiIzosOiM4MAdGYISAaLwSkNq+cgLyy8xaJdEC2fWYWHRC9hMt+BgKSshJAQLSEICAaLwRE54WA6MwQEI0ZAqLxQkAQEL1imJE2AghIyjKCgGgJQUA0XgiIzgsB0ZkhIBozBETjhYAgIHrFMCNtBBCQlGUEAdESgoBovBAQnRcCojNDQDRmCIjGCwHJLyCv7rJlIkuwtnnqLZZg6SVc9jMQkCKXwOLFi23EiBF21113WZs2bey0006zu+++23r37m2TJk1a7ewIiJYQBETjhYDovBAQnRkCojFDQDReCAgColcMM9JGAAEpckaOOuoo+/vf/27XX3+9rb/++nbOOefYI488YkcccQQCEoA9AqJD5ClYIjOegiUC4ylYKjAERCXGU7BqEsttQn91t62S6YA88SYdEL2Ey34GAlLEEvDuR4cOHezmm2+2QYMGRWdauHChbbjhhuZiQgek/vAREJ0hAiIyQ0BEYAiICgwBUYkhIAiIXjPMSBcBBKSI+XjllVeipVbz5s2zbt26VZ+pT58+tuuuuyIgAdgjIDpEBERkhoCIwBAQFRgCohJDQPIJyGv9eyXSAdn68dfpgOglXPYzEJAilsDMmTNtu+22sw8++MA22mij6jP5/7bbbrshIAHYIyA6RAREZIaAiMAQEBUYAqISQ0AQEL1mmJEuAghIEfORW4J1yy232K9+9avoTL5W05dgHXnkkQhIAPYIiA4RARGZISAiMAREBYaAqMQQEARErxlmpIsAAlLkfPhej0cffTTahL7eeuvZ6NGj7eGHH7ahQ4faxIkTVzs7T8HSEoKAaLx8NAIiMkNARGAIiAoMAVGJISD5BOT1PbZOZAlWr8deYwmWXsJlPwMBKXIJ5HsM76233mp77LGHjRs3DgGpJ38ERAeIgIjMEBARGAKiAkNAVGIICAKi1wwz0kUAASlxPpYsWWJdunSxCRMmRF2QVQ86IFpCEBCNFx0QnRe/A6Iz43dANGYIiMYr+hz799P6pDXMyHTYIlysdpsHixU3UO4xvG/8bJtEOiA9H3mVDkjcZDGumgACUuRiePnll23WrFnWt2/f6A36hz/8wR5//HGbPXu2dezYEQGpJ38ERAdIB0RkRgdEBEYHRAWGgKjEEJB8HRAERK8jZiRHAAEpMnsXEN9w/vbbb1vz5s1t++23t4svvti23nrrvGemA6IlBAHReNEB0XnRAdGZ0QHRmCEgGi86ILV50QHR64cZyRNAQJLPQa0rQEC0hCAgGi8EROeFgOjMEBCNGQKi8UJA1iQgva11syY6zHrMWLxshfV8ZCZLsOrBsFynIiApyzwCoiUEAdF4ISA6LwREZ4aAaMwQEI0XAoKA6BXDjLQRQEBSlhEEREsIAqLxQkB0XgiIzgwB0ZghIBovBCS/gLz58+0S6YBs9fDLdED0Ei77GQhIykpgyRkDg11Rq5ETgsWyTMC2btV3wa6rcvzIYLE80FpnXxcsXva7r4LFsqqlwWJVTjwrWKy1Rl0bLFZ2ycfhYn36arBY1qJNuFiVC8LFMrOl0+8OFq/FSWODxcq0XP0BG4UGr3ou3Hsy0+vnhV7GavOyX70XLJZ9+UmwWJkt9g4Wy5Z9HS6WmWXW6Ros3oo7zw8Wq2KfE4LFyrTpESxW3EC5PSAISFxijEsDAQQkDVmocQ0IiJYQBETj5aMREJEZAiICM0NARGQIiAjMDAFZiSwnIG/9T59EOiBbPjiDDohcwUxAQIpYA/3797fevXvbpEmTYp8FAYmNKhqIgGi8EBCdFx0QnRkCIjJDQERgCEhNYAiIXD5MSAEBP0sjYgAAIABJREFUBKSISUBA1gCXJVh61bEES2KWZQmWxMsHswRLQ8YSLI2Xj2YJls4szgwEJA4lxqSNAAJSxIwgIAhIsPJCQCSUCIiEKxqMgGjMEBCNFwKi84o7Iycgs/baPpElWFs88BJLsOImi3HVBBCQIhaDC8g222xjLVu2tMmTJ0c/RDhixAgbM2bMGs/KEiwtISzB0nj5aPaAiMzYAyICYw+IDIwlWDIy9oCsRIaAyOXDhBQQQECKmAQXEP8l9N///vd20EEH2XPPPWeHH364PfTQQ7bnnnvmPTMCoiUEAdF4ISA6L/aA6MzYAyIyQ0BEYOwBqQmsWkD2+ZG1btZUZlmfCYuXLbct7nuRDkh9IJbpXASkiIl3AVmxYoU99dRT1Wfp27ev7bHHHnbBBRcgIAHYIyA6RDogIjM6ICIwOiAyMARERkYHJE8HBAGR64gJyRFAQIrI3gWkZ8+edsUVV1SfZcCAAdahQwebMmUKAhKAPQKiQ0RARGYIiAgMAZGBISAyMgQEAZGLhgmpIoCAFDEd+TahDxw40Nq1a2dTp05FQAKwR0B0iAiIyAwBEYEhIDIwBERGhoCsLiBv//LHiSzB2vzeF1iCJVcwExCQItYAArIGuDyGV686noIlMeMpWBKuaDBPwdKY8RQsjZeP5jG8OrM4M3J7QBCQOLQYkxYCCEgRM4GAICDBygsBkVAiIBIuBETHZQiIDg0B0ZnFmZETkHf27ZtIB2Sze56nAxInUYypRQABKWJBICAISLDyQkAklAiIhAsB0XEhIAUwQ0AKgBZjCgISAxJDUkcAAUlZSngMr5YQ9oBovHw0e0BEZuwBEYGxB0QGxh4QGRl7QFYiywnIuwN3TKQD8sO7/kkHRK5gJiAgKasBBERLCAKi8UJAdF78DojOjN8BEZkhICIwfgekJjAERC4fJqSAAAKSgiTUvAQEREsIAqLxQkB0XgiIzgwBEZkhICIwBAQBkUuGCSkjgICkLCEIiJYQBETjhYDovBAQnRkCIjJDQERgCEg+AZm9f79ElmD94I7nWIIlVzATEJCU1QACoiUEAdF4ISA6LwREZ4aAiMwQEBEYAoKAyCXDhJQRQEBSlhAEREsIAqLxQkB0XgiIzgwBEZkhICIwBCSvgPxqp2Q6IH99lg6IXMFMQEBSVgNVz04Kd0VtWgeLlZ07N1isTOfOwWJlX3gpWCwPlNmpX7h4y5cHi5Xp8ZNgsaxpq3CxVlSGi7X822Cxqp75a7BYmQ03CBZrxRPPBovlgSo2XC9YvEyf7YPFys6ZHSyWNWkSLNaKmW8Fi9Vk4y7BYmV22itYLPv0nWCxMpv/v2CxPFDI307JtN042LVlv/kkWKyKzgH/hsS8qtwm9NkISExiDEsDAQQkDVmocQ0IiJYQBETjFY1GQCRoCIiEKxqMgGjMEBCNl49GQFYyQ0D0+mFG8gQQkBLlIN+PEuY7NQKiJQQB0XghIDovBERnhoBozBAQjRcCUptXTkDe+/XOiSzB2vS2Z1iCpZdw2c9AQEpUAl9++aU1a9bMWrf+/mVRCIiWEARE44WA6LwQEJ0ZAqIxQ0A0XggIAqJXDDPSRgABSVlGEBAtIQiIxgsB0XkhIDozBERjhoBovBCQ/AIy54BdrHXzpjrMesxYvHS5bfKXp+iA1INhuU5FQEqUeZZgrQTNJnS96NiErjFjE7rGK7qhYxO6BI1N6BKuaDCb0HVmcWbklmAhIHFoMSYtBBCQEmUCAUFA6lNqCIhGDwHReCEgOi8ERGeGgOjM4szICcj7g3dNpAOy8fQn6YDESRRjahFAQEpUEAgIAlKfUkNANHoIiMYLAdF5ISA6MwREZxZnBgIShxJj0kYAASlRRhAQBKQ+pYaAaPQQEI0XAqLzQkB0ZgiIzizODAQkDiXGpI0AAlKijCAgCEh9Sg0B0eghIBovBETnhYDozBAQnVmcGdUCcuBuySzBuuUJlmDFSRRjahFAQEpUEAgIAlKfUkNANHoIiMYLAdF5ISA6MwREZxZnBgIShxJj0kYAASlRRhAQBKQ+pYaAaPQQEI0XAqLzQkB0ZgiIzizOjGoBOXh3a1Pix/AuWrrcNv7zP+iAxEkUY+iAJFEDCAgCUp+6Q0A0egiIxgsB0XkhIDozBERnFmcGAhKHEmPSRoAOSMoywg8Ragnhhwg1XtHopq0KmLSGKSsqw8Va/m2wWAiIjpLfAdGYISAaLx+NgOjM4sxAQOJQYkzaCCAgKcsIAqIlBAHReCEgOi9+CV1nxi+ha8z4JXSNl4/OtN1Yn7SGGdlvPgkWq6Jzv2Cx4gbKCcjcQ/ZIZAlWj2mPsQQrbrIYV00AAUlZMSAgWkIQEI0XAqLzQkB0ZgiIxgwB0XghILV5ISB6/TAjeQIISPI5qHUFCIiWEARE44WA6LwQEJ0ZAqIxQ0A0XghIfgGZN+SniXRAut/4KB0QvYTLfgYCkrISQEC0hCAgGi8EROeFgOjMEBCNGQKi8UJAEBC9YpiRNgIISMoygoBoCUFANF4IiM4LAdGZISAaMwRE44WArEFADvtZMh2QGx6hA6KXcNnPQEBSVgKfD/lpsCvqeO1fgsXKfv1RsFiZdboGi7XknKHBYnmgtf9wfdB4aQxW9cKfgl1WZrNdgsWyJi3DxQoYKWS9hnwf+Uv88uSTg73SDtdMDxYrZKDQzEJdW8i6+OqEQ0JdlrW7ZFqwWAQqgEDLDgVMqt+U3B6QeQhI/UAyu6QEEJCS4q77ZAhI3YxqjkBANF4+GgHRmIW80Qx9M42AaLkMOTpkXSAgITOTcCwEJOEEcPqGQgABKVGmDj/8cPvqq6/srrvu+t4zIiBaQhAQjRcCovMKeaOJgOj8QzPTryD/jJB1gYCEykoK4iQoIB/81pdgNSsphEVLl1m3P7EEq6TQG8nJEJASJXLhwoWWzWatXbt2CAhLsEpUdflPQwdEwx/yRjP0zTQdEC2XIUeHrAsEJGRmEo6FgCScAE7fUAggICnLFB0QLSF0QDRedEB0XiFvNBEQnX9oZvoV0AEJxaws4iQpIEck1AGZQgekLGo78ItEQAIDXVM4lmCtJBPyhg4B0QuYDojGLGS9hr6ZpgOi5TLk6JB1QQckZGYSjoWAJJwATt9QCCAgJcoUAoKAlKjU6jwNAlInoloDQt5oIiAaex8dmpl+BXRAQjErizgISFmkmRdZfwIISP0ZxoqAgCAgsQqlBIMQEA0yAqLxCj0aAdGI8hhejVfw0UkKyNA9k9mEfv3f+R2Q4IXU+AMiICXKMQKCgJSo1Oo8DQJSJyI6IBqioo5GQDS8CIjGK/hoBCQ4UgI2TgIISInyioAgICUqtTpPg4DUiQgB0RAVdTQCouFFQDRewUcnKCAfHplMB2SjyVoH5Morr7Tx48fb/PnzrWfPnjZp0iTbZZc1/6it/4TBmWeeaXfccYctWLDANt54Y5swYYLtvffewdNHwNIRQEBKxBoBQUBKVGp1ngYBqRMRAqIhKupoBETDi4BovIKPRkC+F+n06dPt0EMPNZeQnXfe2a655hqbPHmyvfnmm9atW7fV5i5dujQat95669moUaOsa9eu9uGHH1rr1q1t2223DZ4+ApaOAAJSItYICAJSolKr8zQISJ2IEBANUVFHIyAaXgRE4xV8NALyvUh32GEH69Onj1111VXV47bccksbOHCgjRs3brW5V199ddQtmTVrljVrVtofWQxeGwSs/bc167+Ox1F0AggIAlL0Iot5AgQkJqj/G8YmdI1X6NEIiEYUAdF4BR+dpIAM+3kim9A3uvbhWJvQvZvRqlUru+2222y//farRn/CCSfYzJkz7YknnlgtHb7Mqn379tG8u+++2zp16mQHHXSQnX766dakSZPg6SNg6QjQASkR6wMPPDB6s0ybNu17z8gPEWoJ4XdANF4+GgHRmCEgGq/QoxEQjSgCovEKPrpMBcSXRbVp06YaZ4sWLcz/U/P4+OOPrUuXLvbMM8/YTjvtVP1PY8eOtRtuuMHefvvt1dKxxRZb2Ny5c+3ggw+2Y445xt5991079thjzaXlnHPOCZ4+ApaOAAJSZNbLly+3d955J9osNXz4cBs5ciQCsk7XYNQREB0lAqIxQ0A0XqFHIyAaUQRE4xV8dIIC8tHwZDogXa95eDWMo0ePtjFjxuQVkGeffdb69etX/W9//OMf7aabboqWWa16bLbZZlZZWWnvv/9+dcfj4osvrt7EHjx/BCwZAQSkyKi9reimv/vuu0fdj3XXXRcBQUCKXHXfHx4B0fAjIBqv0KMREI0oAqLxCj66TAUkTgekkCVYu+22W7T345FHHqlO1QMPPBB9qfvdd99Z8+bNg6eQgKUhgICUhnPss7AEKzaqaCAdEI2Xj0ZANGYIiMYr9GgERCOKgGi8go9OVEB+YW1alHaj9qLvllnXax6KtQfEWfsm9O233z56Clbu2GqrrWzAgAF5N6H7k69uvvlmmzNnjlVUVERTLrnkErvwwgvNl3RxNFwCCEjKcoeAaAlBQDReCIjOCwHRmYWcgYBoNBEQjVfw0QjI9yLNPYbXn27ly7CuvfZau+666+yNN96w7t2725AhQ6J9IrknYnlnxQXFH+Tzu9/9LtoDcsQRR9jxxx8f/TYIR8MlgICkLHcIiJYQBETjhYDovBAQnVnIGQiIRhMB0XgFH42A1InUux8XXXRR9EOEvXr1sokTJ9quu+4azevfv7/16NHDpk6dWh3nueees5NOOil6UpbLydChQ3kKVp2U0z8AAUlZjr49e/9gV9Ri+O+Cxco0bx0sljWp/WSM+gRedvV59Zm+2tymvw3HzCqahru22c8Gi/XNXU8Gi7X2yPODxcoufD9YLPviw3CxumwTLtbX88PFMrPsW68Ei5fZ/mfBYlV0DMes6vXpwa7LQv6OQOv1w13X158Gi5Xp3DtYrOzyb4PF8kAV7bcKFq/qX9cHi1Wxw9BgsSxJATk6oSVYV8VfghUONJEaOgEEJGUZREC0hCAgGi8fjYCIzBAQEZgZAiIiQ0BEYGYIyEpkixYtsrZt29pHCIhcR0xIjgACUmT23k7s3bu3TZo0KdaZEJBYmKoHISAaLwRE52UIiAwNARGRISAiMASkJrCcgPz7mP9JZBN6lysfjL0JXU40ExotAQSkyKlFQPIAZgmWXnUswdKYsQRL42VmLMESkbEESwTGEiwZWMwJCEhMUAxLFQEEpMjpQEAQkCAlhoBoGBEQjRcCIvMyBERmxh4QGVmsCQhILEwMShkBBKTICVlVQB588EEbPHiwXXbZZdHj5lY9WIKlJYQlWBovH80eEJEZS7BEYOwBkYGxBEtGxh6QlciqBeTYvZJZgnXFAyzBkiuYCQhIkWugpoDceuutNmzYMLvpppuiH93JdyAgWkIQEI0XAqLzYg+Izow9ICIzBEQExh6QmsAQELl8mJACAghIkZOQE5DNNtvM/Bc977zzTtt9993XeFYEREsIAqLxQkB0XgiIzgwBEZkhICIwBCSfgHx8XDIdkA0vpwMiFzATDAEpchG4gLz33nv2n//8x55++mnr27fv954RAdESgoBovBAQnRcCojNDQERmCIgIDAFBQOSSYULKCCAgRU6IC0jr1q1txowZtu+++5r/Amgmk6EDEog7AqKDZA+IyIw9ICIw9oDIwBAQGRl7QFYiyy3B+vj4vRPZA7LhpfezB0SuYCYgIEWugdwSrGOOOcb8v++///52+eWXIyCBuCMgOkgERGSGgIjAEBAZGAIiI0NAEBC5aJiQKgIISJHTUXMT+ttvvx1JiD8Fa00/TMgSLC0hCIjGy0cjICIzBEQEhoDIwBAQGRkCgoDIRcOEVBFAQIqcjlUfw/vWW29FEnLIIYfYhAkTVjs7AqIlBAHReCEgOi/2gOjM2AMiMkNARGDsAakJrHoJ1gkJLcG6hCVYcgEzgU3oaasBBETLCAKi8UJAdF4IiM4MARGZISAiMAQEAZFLhgkpI0AHJGUJQUC0hCAgGi8EROeFgOjMEBCRGQIiAkNA8gnI/BP3SWQT+gaT7mMTulzBTEBAUlYDCIiWEARE44WA6LwQEJ0ZAiIyQ0BEYAgIAiKXDBNSRgABSVlCEBAtIQiIxgsB0XkhIDozBERkhoCIwBAQBEQuGSakjAACkrKEICBaQhAQjRcCovNCQHRmCIjIDAERgSEgeQXkpISWYE1kCZZcwExgE3raagAB0TKCgGi8EBCdFwKiM0NARGYIiAgMAUFA5JJhQsoI0AFJWUKWjhsc7IqaDjk6WCyrXBguVrNWwWItOPvCYLE80LrnjwoXL7s8WKxMq/WCxfr24nODxVrrjIuDxbJvPw0Wa8VNk4LFqhg0JFisTOuNgsXyQFU3XxQsXmbAoeFiteoULJY1bxcsVvbLt4LFsi/mhotVWRkuVtetgsXKtN00WKwoUEXTYPGycx8JFivTdadwsdqH4x/3onKP4f3k5P+XyCb0zhP+xib0uMliXDUBBCRlxYCAaAlBQDRePhoB0ZghIBovH51BQDRoCIjGy8wQkJXIEBC5fJiQAgIISImSsOoPEq7ptAiIlhAEROOFgOi8EBCdGQIiMkNARGAISE1g1QJySkIdkP+lAyIXMBPYA1KqGkBAapBmCZZcdizB0pCxBEvjFXUtWIKlQWMJlsbLR7MES2cWYwYCEgMSQ1JHgA5IiVKCgCAg9Sk1BESjh4BovBAQnRd7QApghoAUAK3uKQhI3YwYkT4CCEiJcoKAICD1KTUERKOHgGi8EBCdFwJSADMEpABodU+pFpBTf5nMJvTx97IJve40MWIVAghIiUoCAUFA6lNqCIhGDwHReCEgOi8EpABmCEgB0OqegoDUzYgR6SOAgJQoJwgIAlKfUkNANHoIiMYLAdF5ISAFMENACoBW95ScgPzntGQ6IOtfRAek7iwxYlUCCEiJagIBQUDqU2oIiEYPAdF4ISA6LwSkAGYISAHQ6p6CgNTNiBHpI4CAlCgnCAgCUp9SQ0A0egiIxgsB0XkhIAUwQ0AKgFb3FASkbkaMSB8BBKREOUFAEJD6lBoCotFDQDReCIjOCwEpgBkCUgC0uqdUC8gZ+yayCX39C+5hE3rdaWLEKgQQkBKVBAKCgNSn1BAQjR4CovFCQHReCEgBzBCQAqDVPQUBqZsRI9JHAAEpUU4QEASkPqWGgGj0EBCNFwKi80JACmCGgBQAre4pOQH51DsgLZvVPSHgiEWVy2w9OiABiZZPKAQkZbleOm5wsCtqOuToYLGscmG4WPwSuswSAdGQISAaLwRE54WAFMAMASkAWt1TEJC6GTEifQQQkJTlBAHRErLg7Au1CXWMXvf8UeHiZZcHi4WAaCgREI0XAqLzQkAKYIaAFACt7inVAjJyQDIdkHF3swek7jQxYhUCCEjKSgIB0RKCgGi8fPS3F5+rT1rDjLXOuDhYLPv202CxEBAdZWbAofqkNczItOoULJY1bxcsVvbLt4LFQkAKQImAFACt7ikISN2MGJE+AghIynKCgGgJQUA0XgiIzqti0BB90ppuzFtvFCyWB6q6+aJg8RAQEeUXc8UJ3zO8sjJcrK5bBYuVabtpsFhRIAQkLM//i4aAFAUrQYtMAAEpMmA1PAKiEUNANF4IiM4LAdGZ0QERmSEgIjCz7NxH5DlrmpDpulO4WO3DCWDci8oJyGejklmC1WksS7Di5opxKwkgICmrBgRESwgCovFCQHReCIjODAERmSEgIjAEpCYwBEQuHyakgAACkoIk1LyEytG/CnZFzXfvGyxWZvsDg8WyqnCbsz8eEvC6zGzDabeFe50hIwVktvyacBvtmx1/RbBXmV26OFgsW/5NsFjZ1+8PFsu69QwXy8yy9/0lXLyuGwaLVbHH8GCxQn5e2HcLwl1Xk+bBYmXffjRYrMwWewaLZU3XDhfLzDLNWweLVzUvYAdkw37BrivTuluwWHEDVQvIWQMT2YTe6fy72IQeN1mMqyaAgKSsGBAQLSEIiMbLRyMgGjMEROPloxEQjRkCovHy0QjISmYIiF4/zEieAAKSfA5qXQECoiUEAdF4ISA6LwREZ4aAaMwQEI0XAlKbFwKi1w8zkieAgCSfAwSkHjlAQHR4dEA0ZgiIxosOiM4LAdGZ0QHJ0wE5e79klmCddydLsPQSLvsZCEjKSoAOiJYQBETjRQdE54WA6MzogGjMEBCNFx2QNXRAEBC9kJiRGAEEpAjo+/fvb1tvvbU1adLEbrjhBmvevLmdd955dvDBB9txxx1nt99+u6233np2+eWX21577UUHpB45QEB0eHRANGYIiMaLDojOCwHRmdEBWb0D8vk5yXRAOv6BDohewcxAQIpQAy4gM2bMsNNOO80GDx5s06dPt9GjR9svfvEL22+//cz/feLEifaXv/zFPvjgA2vVqlX1VdAB0RKCgGi86IDovBAQnRkdEI0ZAqLxogOSvwOCgOh1xIzkCCAgRWDvgrFixQp76qmnouj+39u2bWv777+/3XjjjdH/9sknn9gGG2xgzz33nO24444ISIF5QEB0cHRANGYIiMaLDojOCwHRmdEBydMBGb1/IntAOp57B3tA9BIu+xkISBFKwAWkZ8+edsUVK38joXv37tHyq1NPPTU6YzabtYqKCrv77rtt3333RUAKzAMCooNDQDRmCIjGCwHReSEgOjMEBAHRq4YZaSKAgBQhGy4gvXv3tkmTJlVH79Gjh5144onRf3JHJpOxO++80wYOHIiAFJgHBEQHh4BozBAQjRcCovNCQHRmCAgColcNM9JEAAEpQjYQkDqgBvxVbwREL2AERGOGgGi8EBCdFwKiM0NAVheQL85NZglWh9EswdIrmBkISBFqAAFBQIKXVUBpQ0C07CAgGi8EROeFgOjMEBAERK8aZqSJAAJShGwgIAhI8LJCQDSky7/Rxn/PaARER8lTsDRmCIjGy0cjIHkE5A+/SmQTeodz/somdL2Ey34GApKyEuAxvFpCWIKl8fLRdEA0ZgiIxosOiM4LAdGZISAIiF41zEgTAQQkTdkwMwRESwgCovFCQHReCIjOjA6IxgwB0XjRAanNa9GiRdGj/r+gA6IXEjMSI4CAJIY+/4kREC0hCIjGCwHReSEgOjMERGOGgGi8EJA1CMh5CS3BOpslWHoFMwMBSVkNICBaQhAQjRcCovNCQHRmCIjGDAHReCEgCIheMcxIGwEEJGUZQUC0hCAgGi8EROeFgOjMEBCNGQKi8UJA8gvIl+cPSmQTevuzbmcTul7CZT8DAUlZCSAgWkIQEI0XAqLzQkB0ZgiIxgwB0XghIAiIXjHMSBsBBCRlGVlx26nBrqhijyHBYlW9cEewWJnmzYPFWv7cy8FieaCmg/YLF+/zT8LF2nTHYLGyj04PFivz08HhYlU0CxYraKDm7YKFq3pscrBYUaDW6wSLV/HjA4LFyi7+KFgsa9YqXKz3ngsW6+vpjwaLtc6xBweLZc3WDhYr03GbYLGiQCsqg8XLfh2wxpqGq7GKDXYK9hrjBsptQv9y7K+T6YCMuo0OSNxkMa6aAAKSsmJAQLSEICAaLx+NgIjMEBARmBkCoiFDQDRe0ecYAlINDQHR64cZyRNAQJLPQa0rQEC0hCAgGi8EROdlCIgMDQHRkCEgGi8EpDYvBESvH2YkTwABST4HCEg9coCA6PDogIjMEBARGB0QFRgCohKjA1KTWLWAjDsgmSVYI//CEiy9hMt+BgKSshKgA6IlBAHReNEB0XnRAdGZ0QHRmCEgGi86IGvogCAgeiExIzECCEhi6POfGAHREoKAaLwQEJ0XAqIzQ0A0ZgiIxgsBWYOAXOgdkHAPeYmTlUWVS6396XRA4rBiTG0CCEgRK6J///62zTbbWMuWLW3y5MnWvHlzGzFihI0ZM2aNZ0VAtIQgIBovBETnhYDozBAQjRkCovFCQBAQvWKYkTYCCEgRM+IC8vLLL9vvf/97O+igg+y5556zww8/3B566CHbc889854ZAdESgoBovBAQnRcCojNDQDRmCIjGCwFBQPSKYUbaCCAgRcyIC8iKFSvsqaeeqj5L3759bY899rALLrgAAQnAHgHRIbIJXWTGJnQRGJvQVWAIiEqMTeg1iVVvQr/wN9ZmrRIvwfrWl2DdyiZ0vYTLfgYCUsQScAHp2bOnXXHFFdVnGTBggHXo0MGmTJmCgARgj4DoEBEQkRkCIgJDQFRgCIhKDAFBQPSaYUa6CCAgRcyHC0jv3r1t0qRJ1WcZOHCgtWvXzqZOnYqABGCPgOgQERCRGQIiAkNAVGAIiEoMAckrIBcdmEwH5LRb6IDoJVz2MxCQIpYAApIfbqZ5uBYxAqIXMAIiMkNARGAIiAoMAVGJISAIiF4zzEgXAQSkiPlAQBCQYOW16Y7BQiEgIkoERASGgKjAEBCVGAKCgOg1w4x0EUBAipgPBAQBCVZeCEgwlHIgBERGxlOwNGQIiMbLR2e//kiftKYZTVsFi1WxwU7BYsUNVL0J/X8PSmYJ1ik3swQrbrIYV00AAUlZMfAYXi0hLMHSeEV/uB+drk9aw4zMTweHi1XRLFisoIEQEBknAqIhQ0A0XghIbV4IiF4/zEieAAKSfA5qXQECoiUEAdF4ISA6L34HRGeGgGjMEBCNFwKyBgGZcEgyHZCTp9EB0Uu47GcgICkrAQRESwgCovFCQHReCIjODAHRmCEgGi8EBAHRK4YZaSOAgKQsIwiIlhAEROOFgOi8EBCdGQKiMUNANF4IyBoEZOKhyXRATrqJDohewmU/AwFJWQkgIFpCEBCNFwKi80JAdGYIiMYMAdF4ISAIiF4xzEgbAQQkZRmpmvdQuCtaFPApIZ9/Fu662rYLF2vD3uFieaTKL8PFm/1yuFg9dw8Xa/azwWJltvpFsFjZpYvDxXr01mCxbO21g8Va/ODMYLE8UJuRx4eLN3vw2nuSAAAgAElEQVRGuFg/6BMsVvaxe4LFynTrGixWdtmyYLFsXrjP6sye+wS7rkzrjYLF+q80zA8XL1MRLtZaHYLFqugc7pHpcS+qehM6HZC4yBiXAgIISAqSUPMSEBAxIQiICMzMEBCNGQKi8fLRCIjGDAHRePloBKSaWbWATBqSzBKsE29kCZZewWU/AwFJWQkgIGJCEBARGAIiA0NAZGQIiIgMARGBISA1gSEgevkwI3kCCEjyOah1BQiImBAERASGgMjAEBAZGQIiIkNARGAISF4BufTwZDogx0+lA6JXcNnPQEBSVgIIiJgQBEQEhoDIwBAQGRkCIiJDQERgCAgCopcMM9JFAAFJVz4MARETgoCIwBAQGRgCIiNDQERkCIgIDAFBQPSSYUa6CCAgRc7Hd999Z6eeeqrdeuut5us0f/SjH9nEiRPtxz/+cd4zIyBiQhAQERgCIgNDQGRkCIiIDAERgSEgeQXkst8mswTrd39iCZZewWU/AwEpcgmccMIJdvvtt9vkyZOte/fudtFFF9k999xjs2fPtvbt2692dgRETAgCIgJDQGRgCIiMDAERkSEgIjAEBAHRS4YZ6SKAgBQxH0uWLLF1113Xpk6dagcddFB0pmXLllmPHj3sxBNPjDojqx4IiJgQBEQEhoDIwBAQGRkCIiJDQERgCEheAbliaDIdkGOvpwOiV3DZz0BAilgCr776qm277bY2d+7cqPuRO/bbb79ITKZMmYKA1Jc/AqIT5HdANGYIiMbLR/M7IBozBETj5aP5HZBqZtWP4UVA9DpiRmIEEJAion/llVesd+/eNm/ePOvWrVv1mQYOHGgdOnSw66+/HgGpL38ERCeIgGjMEBCNFwKi80JAdGYIyOoCcuWRyXRAjplMB0Sv4LKfgYAUsQR8CZbv8/jTn/5UawnWxhtvHC3BOuWUUxCQ+vJHQHSCCIjGDAHReCEgOi8ERGeGgCAgetUwI0UEEJAiJ8NF47bbbou6Hd4FyW1Cf++996JlWKse7AERE4KAiMDYAyIDQ0BkZCzBEpEhICIwlmDVBFa9BIsOiF5HzEiMAAJSZPSVlZV22mmn2S233GKLFy/mMbzOu227cNQREJ0lHRCNGQKi8aIDovNCQHRmdEBW74BcdVQyS7COvo4lWHoFl/0MBCRlJUAHREwIAiICowMiA0NAZGR0QERkCIgIjA5I3g4IAqLXETMSI4CAJIY+/4kREDEhCIgIDAGRgSEgMjIERESGgIjAEJC8AnLN8GQ6IMOvoQOiV3DZz0BAUlYCCIiYEAREBIaAyMAQEBkZAiIiQ0BEYAgIAqKXDDPSRQABSVc+DAERE4KAiMAQEBkYAiIjQ0BEZAiICAwBQUD0kmFGugggIOnKBwKi5gMBUYmZsQldY4aAaLx8ND9EqDFDQDRePppN6NXMqp+Cda0vwWqhs6zHjEXffmfth7EEqx4Iy3YqApKy1C8dNzjYFTU7ZmywWFa1LFiszFqdgsVacd1JwWJ5oIpDRgWLF/J1Lpt0TLDrqmi7drhYh4wJFsuyK4LFqnr02mCxKnYfGixWdvEHwWJ5oOXTrgkWr+lPdwkWK7PlvsFiVU09K1iszM47BYtlixeHi9Uy3E1jxbYHB7uu7LIlwWKFDpT9z4vBQmY6bRsuVttNg8WKGwgBiUuKcWkigICkKRtmhoBoCUFANF6RZCEgEjQERMIVDUZARGYIiAjMDAFZiSwnIAuuG2FtWoWT2ThJWfTNd7buUVezCT0OLMbUIoCApKwgEBAtIQiIxgsBKYAXHRAZGgIiIkNARGAISE1gCIhcPkxIAQEEJAVJqHkJCIiWEARE44WAFMALAZGhISAiMgREBIaA5BWQycck0wE58ko6IHIFMwEBSVkNICBaQhAQjRcCUgAvBESGhoCIyBAQERgCgoDIJcOElBFAQFKWEARESwgCovFCQArghYDI0BAQERkCIgJDQBAQuWSYkDICCEgRE9K/f3/r1atXdIZp06ZZkyZN7Oijj7bzzjvPMplM3jMjIFpCEBCNFwJSAC8ERIaGgIjIEBARGAKSV0CmHJvMEqwjrmAJllzBTEBAilgDLiAvvfSSDR06NBKPF1980YYNG2aTJk2yo446CgEJwB4B0SHyFCyNGU/B0nj5aAREZIaAiMAQEARELhkmpIwAAlLEhLiAfPrpp/bGG29UdzzOOOMMu+eee+zNN99EQAKwR0B0iAiIxgwB0XghIDovQ0BkaDyGdyWy6qdg/em4ZDogv72cDohcwUxAQIpYAy4gm2yyiU2ZMqX6LHfffbcNGjTIKisroyVZqx4swdISgoBovHw0AqIxQ0A0XgiIzgsB0ZkhIAiIXjXMSBMBBKSI2UBA8sMN+QvhCIhewAiIxgwB0XghIDovBERnhoAgIHrVMCNNBBCQImYjtwSr5nKrkSNHmndBWIIVBjwConNEQDRmCIjGCwHReSEgOjMEJI+A3HB8MkuwDruUJVh6CZf9DASkiCWQ24TuG86HDx9uM2bMiDafT5gwIfr/8x0swdISgoBovHw0AqIxQ0A0XgiIzgsB0ZkhIAiIXjXMSBMBBKSI2XAB6dmzp1VVVdnNN98c7flw8Rg7diyP4Q3EHQHRQSIgGjMEROOFgOi8EBCdGQKSR0BuPCGZDsiQS+iA6CVc9jMQkCKWgAtI7969o8fuxj3ogMQl9d9xCIjGiw5IAbz4HRAZGo/hFZHxFCwRGI/hrQms+ilYCIhcR0xIjgACUkT2CEh+uGxC14tu2aRj9ElrmEEHRENJB0TjRQdE50UHRGdGByRPB+SmE5PpgBw6iQ6IXsJlPwMBKWIJICAISKjyQkA0klWPXqtN+J7RCIiOkg6IyIwOiAiMDkjeDggCItcRE5IjgIAkxz7vmVmCpSWEJVgaLx9NB0RjhoBovOiA6LzogOjM6IDQAdGrhhlpIoCApCkbZoaAaAlBQDReCEgBvNgDIkOjAyIiowMiAqMDkrcD8uffJ7ME6+CLWYIlVzATEJCU1UD2Py+Eu6KW7YPFyrRoFywWgXQC2e++0ieVYAZ1UQLIDfAUIeu1HGpszFodg2V5zLefB4sVMo9RZ6wc/o607BCMf9xA1ZvQG4iAXHnllTZ+/HibP39+9KRQf1DPLrvsUufLvfXWW+3AAw+0AQMG2F133VXneAakmwACkrL8ICApS0hKLif0jUCol1UWNxShYJVRnJD1Wg41hoA0ojdHkgJy88nJdEAOmhC7AzJ9+nQ79NBDzSVk5513tmuuucYmT54c/Thzt27d1lgI8+bNi8Zvsskm1r59ewSkEbxlEJCUJREBSVlCUnI5IW/oQr6kcrg5DMmrXGKFrNdyqDEEpBG9MxCQ703mDjvsYH369LGrrrqqetyWW25pAwcOtHHjxuWdu2LFCtttt93st7/9rT311FP21VdfISCN4C2DgKQsiQhIyhKSkssJeUMX8iWVw81hSF7lEitkvZZDjSEgjeidUaYC8uGHH1qbNm2qE9miRQvz/9Q8li5daq1atbLbbrvN9ttvv+p/OuGEE2zmzJn2xBNP5C2E0aNH26uvvmp33nmnHX744QhII3m7ICApSyQCkrKEpORyQt7QhXxJ5XBzGJJXucQKWa/lUGMISCN6ZyQpILeekswSrN/872oJdGkYM2ZMrf/9448/ti5dutgzzzxjO+20U/W/jR071m644QZ7++23V4vjYwcPHhwJSseOHRGQRvRWQUBSlkwEJGUJScnlhLyhC/mSyuHmMCSvcokVsl7LocYQkEb0zihTAYnTAckJyLPPPmv9+vWrTvof//hHu+mmm2zWrFm1CmHx4sW2zTbbRPtF9tprr+jf6IA0nvcKAlLkXC5ZssSOPvpou+OOO6x169Z2yimn2L333mu9e/eOnvyw6oGAFDkhDTR8yBu6kAjK4eYwJK9yiRWyXsuhxhCQRvTOSFJApp+WTAdk8EWxNqGrS7C867HddttZkyZNqgukqqoq+u8VFRVRx2TTTTdtRMVTXi8FASlyvo855phIOKZMmWKdO3e2UaNG2eOPP25Dhw5FQIrMvjGFD3lDF5JLOdwchuRVLrFC1ms51BgC0ojeGQjI9ybTN6Fvv/32UVcjd2y11VbRo3VX3YReWVlps2fPrhXvrLPOMu+MXHLJJbbZZptZ8+bNG1HxlNdLQUCKmO+vv/7aOnToYDfeeGO0htGPL7/80rp27WrDhg1DQIrIvrGFDnlDF5JNOdwchuRVLrFC1ms51BgC0ojeGUkKyG2nJ9MB+fWFsTognuXcY3ivvvrqaBnWtddea9ddd5298cYb1r17dxsyZEi0T2RNT8RiCVbjea8gIEXM5SuvvBIttfLnV9d8vrW3FP2RcizBKiL8RhY65A1dSDTlcHMYkle5xApZr+VQYwhII3pnICB1JtO7HxdddFH0Q4S9evWyiRMn2q677hrN69+/v/Xo0cOmTp2aNw4CUifeBjMAASliqnLrFxGQIkIuk9Ahb+hCIiuHm8OQvMolVsh6LYcaQ0Aa0TsDAWlEyeSlFJMAAlJEur4Ey3+xc9q0aXbAAQdEZ1qw4P+3dy/QVVX33vf/O7SAEIngBalFgrYFBD0BRLxUxaootQp4OT6Koh6rrVi1iG2PVoriBYu1oO3xAuoAbXWIeMELiqUtVkXFWqEq4h2KFawWJIAgSvYz1u7ITmISs34rc681917fjNHxvM/jmnPtfOa0b76dayVrc49gnXXWWZyAFNC+1KZ2+QOdS5s0/HDo0istc7ncr2nYYwRICf2bkWSAzP7fZB7BOv6a0I9gldBK8620UoAAaSVgS8OD34A1d+7c3EvoXbt2tZ///Of2pz/9iZfQW4LjnzcQcPkDnUvaNPxw6NIrLXO53K9p2GMESAn9m0GAlNBi8q0UUoAAKaSumQWnIPV/De+4cePs0Ucf5dfwFti91KZ3+QOdS5s0/HDo0istc7ncr2nYYwRICf2bkWSA3HexderYPlbM6o2brfNxkzgBiVW9NG5GgCSwjsFLVvwdkATgi/iWLn+gc8mQhh8OXXqlZS6X+zUNe4wAKaF/MwiQElpMvpVCChAghdRtZm4CJAH0Ir+lyx/oXFKk4YdDl15pmcvlfk3DHiNASujfDAKkhBaTb6WQAgRIIXUJkAR0S/OWLn+gcymUhh8OXXqlZS6X+zUNe4wAKaF/M5IMkPsvSeYRrGOv5hGsEtrCcX0rBEhc0iHvk/3ghZBXhrisfZcQF4W7JA0/BISTSOYqlz/QufwO2BcuNUtnLpf7NQ17jAApnb1vBEgJLSbfSiEFCJBC6kaYmwCJgJaCIS5/oHPJlYYfDl16pWUul/s1DXuMACmhfzOSDJAHfp7MCcjIqzgBKaEtHNe3QoDEJR3yPp9dc2LIK1u+rM3IY1u+KOwVn64Pe2XL123Z0vI1Ia/YfP8fQl4Z7rL2Y84Pd2GYqz5+N8xV4a6pqAx3XYirPv/dLSGuCnfJV38wIdyFYa7aujnMVaGuyW78INR1oS5asyLUZaEuat8h1GVhL8r+5S9hL23xusyhw1q8JvQF5d1CX9rihav+3uIloS9w6V+9NvRtW7ywvLzFS0JfUP610Je2dGFmu91aukT8523E65u/PLtmqbO5MhXuvs/M9v2cfa6wE1VXV1tFRYWtJUDCknGdBwIEiAeLUP8jECDaghAgmldwNQEimhEgIpiZESCaGQGieZkZAVJHlg+QB8cncwIy4gpOQOQdzAACxLM9QIBoC0KAaF4EiO5lBIiORoBoZgSI5kWANPAiQOTtwwAPBAgQDxaBE5Doi0CA6HacgIhmBIgIxgmIDEaAyGScgHACIm8aBnglQIB4tRxmnIBoC0KAaF6cgOhenIBEMOMEREMjQDQvTkCaPgGZk9AjWMN5BEvewAwwAiSBTbBlyxZr27Ztk3cmQLQFIUA0LwJE9yJAIpgRIBoaAaJ5ESAEiLxjGOCbAAESw4oEf/m8X79+uei44447rG/fvvbkk08SIA7sCRAdkUewRDMewRLBeARLBiNAZDIewaojy78D8tAvknkJ/ZiJvIQu72AGECAx7IEgQF588UU755xz7Mwzz7RsNmu9e/cmQBzYEyA6IgEimhEgIhgBIoMRIDIZAUKAyJuGAV4JECAxLEcQIOvWrbOXXnqpxbvxCFaLRA0uIEA0r+BqAkQ0I0BEMAJEBiNAZDIChACRNw0DvBIgQGJYjiBAvvnNb9r06dNbvBsB0iIRAaIRNbqaABEBCRARjACRwQgQmYwAaSJAHp6QzCNYR1/OI1jyDmYAARLDHggCpKqqyqZOndri3QiQFokIEI2IAGmlFy+hRwDkJXQNjQDRvHgJvYFX/h0QAkTeRwxIToAAicGeAPkC8pYtztR5BEun5ARENOMERATjBEQGI0BkMk5AmjgBeeSyZE5AvncZJyDyDmYAARLDHiBACJBWb7OKylZPUTsBASJSEiAiGAEigxEgMhkBQoDIm4YBXgkQIDEsBwFCgLR6mxEgEmF24wfS9V96MQGiW/IIlmZGgGhePILVwCv/CBYnIPI+YkByAgRIcvZN3pl3QLQF4REszSu4mhMQ0YwAEcE4AZHBCBCZjBOQpk5ALk/oEawJPIIl72AGECCe7QECRFsQAkTzIkB0L15Cj2DGCYiGRoBoXpyANHMCQoDIG4kBiQkQIInRN31jAkRbEAJE8yJAdC8CJIIZAaKhESCaFwHSdIA8mlCAHMUJiLyBGWAEiGebgADRFoQA0bwIEN2LAIlgRoBoaASI5kWAECDyjmGAbwIEiGcrQoBoC0KAaF4EiO5FgEQwI0A0NAJE8yJAmg6QuROTeQfku7/gHRB5BzOAAPFsD2y9/Rxnnyjz3dOczWWvP+Vsrsye33U214bLf+ZsrmCi8ksmuJuvzVedzZVdt8LdXE/NczZX2chxzubKbvins7nMatzN9cZzzubK9D3c2VzBRDXP3u9svky3bs7msu13cTZXpktvZ3PVzJ7ibq5/r3M2V5t9BzibK7PX0c7msqzDf4/MLNPR3R6reWuOs+8z8/WD3M213TeczRV2ovxvwSJAwpJxnQcCBIgHi1D/IxAg2oIQIJpXcHWWANHQCBDNK7iaAJHMCBCJK3cxAVJnRoDo+4cRyQsQIMmvQYNPQIBoC0KAaF4EiO5lBIiORoBIZgSIxEWAfIErHyCPXZHMI1jDxvMIlr6FUz+CAPFsCxAg2oIQIJoXAaJ7ESARzAgQCY0AkbgIEAJE3zCM8E6AAPFsSQgQbUEIEM2LANG9CJAIZgSIhEaASFwESHMB8viVyZyAHHkpJyD6Fk79CALEsy1AgGgLQoBoXgSI7kWARDAjQCQ0AkTiIkAIEH3DMMI7AQIkhiWZPXu2XX755fbWW29Zhw4drH///jZnzhzr2LFjo7sTINqCECCaFwGiexEgEcwIEAmNAJG4CBACRN8wjPBOgAAp8JKsWrXKdt11V5s8ebKNHDnS1q9fb0899ZSNHj3aypv43e8EiLYgBIjmRYDoXgRIBDMCREIjQCQuAqTZALkqoUewfs4jWPoWTv0IAqTAW+Bvf/ubDRw40JYvX249evRo8W4ESItEDS4gQDQvAkT3IkAimBEgEhoBInERIASIvmEY4Z0AAVLgJdm6dasdccQRtmjRotz/OXToUDv++OOtc+fOTd6ZANEWhADRvAgQ3YsAiWBGgEhoBIjERYA0FyDzEjoBOYITEH0HM4IAiWEPZLNZW7hwoT3xxBP2wAMP2OrVq+3555+3nj17Nro7AaItCAGieREguhcBEsGMAJHQCBCJiwAhQPQNwwjvBAiQmJckOBEJHsW68MILc//54hcBoi0IAaJ5ESC6FwESwYwAkdAIEImLAGkuQJ64Opl3QIZewjsg+hZO/QgCpMBbIDjp+OMf/5h79GqnnXbKnXyccsop9uCDD9qwYcMIkFb6EyA6YPapefqgZkaUjRznbK7shn86m8usxt1c/CV03ZIAkcwIEImLACFA9A3DCO8ECJACL8lrr71mY8eOteBl9Orq6tzpx3nnnWc/+tGPmrwzJyDaghAgmhcnILoXJyARzAgQCY0AkbgIEAJE3zCM8E6AAPFsSQgQbUEIEM2LANG9CJAIZgSIhEaASFwESHMB8odJyTyCdfjFPIKlb+HUjyBAPNsCBIi2IASI5kWA6F4ESAQzAkRCI0AkLgKEANE3DCO8EyBAPFsSAkRbEAJE8yJAdC8CJIIZASKhESASFwHSbIBck9AJyP9yAqJv4dSPIEA82wIEiLYgBIjmRYDoXgRIBDMCREIjQCQuAoQA0TcMI7wTIEA8WxICRFsQAkTzIkB0LwIkghkBIqERIBIXAUKA6BuGEd4JECCeLYnLACk7dqyz7y676SNnc2U6fs3ZXBvGN/3bxKLeoPyK30Qd2nhczRZnc2WXPORsro0PPuVsrvLLb3A2l2Uy7ubavMbdXGVfcTjXV93NZWY186Y5m6/siLOdzZXZZkdnc229+QJnc2VGjHI2l/3zNXdztWnjbK7MHsOdzWUO/zss+FCZ9ts7+2w1q55zNlem487u5tppoLO5wk4U/IbNiooKWzv/l8k8gnXYz3gEK+xicV1egADxbDMQINqCECCaV3A1ASKaESAimBkBIpIRICKYGQFSR0aAyNuHAR4IECAeLEL9j0CAaAtCgGheBIjuZQSIjEaAiGQEiAhGgNQHywfIH4MTkG1ky9YMqN64yTofyglIawzTOpYA8WzlCRBtQQgQzYsA0b0IEN2MABHNCBARjAAhQOQtwwDPBAiQGBZkyJAhVlVVZVOnTm3xbgRIi0QNLiBANC8CRPciQHQzAkQ0I0BEMAKk2QApj/kEZAMnIPLmZUBOgACJYSMQIA2ReQld33S8hC6a8RK6CGbGS+giGS+hi2C8hC6DhRzQ4BEsAiSkGpclLUCAFHgFTj/9dJs5c2aDu7z77rtWWVnZ5J05AdEWhBMQzYsTEN2LExDdjBMQ0YwTEBGMExBOQOQtwwDPBAiQAi/IunXrbNiwYdavXz+bOHFi7m477rijtWnm/4dDgGgLQoBoXgSI7kWA6GYEiGhGgIhgBEiTAfKnydYpiROQ7/yUX8Mr72AGECAx7AEewWqIzCNY+qbjESzRjEewRDAewZLBeARLJuPvgMhkoQbkH8EiQEJ5cZEfAgRIDOtAgBAgrd1mBIgoSICIYASIDEaAyGQEiEwWakBdgFyb0AnITzgBCbVSXFRfgACJYT8QIARIa7cZASIKEiAiGAEigxEgMhkBIpOFGkCAhGLiIs8ECJAYFmTo0KHWq1cv+81vftPi3XgHpEWiBhfwDojmFVzNX0IXzfhDhCIYfwldBuMdEJmMv4ReR0aAyNuHAR4IECAxLMLZZ59tixcvtlmzZll5ebl16dLFysrKmrwzAaItCAGieREguhcvoetmvIQumhEgIhgvodcHywfIn3+VzCNYh1zEI1jyDmYAARLDHnjjjTfstNNOsyVLltimTZuMX8P7NWfqBIhOyQmIaMYJiAjGCYgMRoDIZJyANHECQoDI+4gByQkQIMnZcwLiwJ4A0REJENGMABHBCBAZjACRyQiQJgJkwXXJnIAMGccJiLyDGUCAeLYHeARLWxACRPMKriZARDMCRAQjQGQwAkQmI0AIEHnTMMArAQLEq+UwI0C0BSFANC8CRPfiHRDdjHdARDMCRATjHZD6YPl3QJ5M6ATkYE5A5A3MACNAPNsEBIi2IASI5kWA6F4EiG5GgIhmBIgIRoAQIPKWYYBnAgSIZwtCgGgLQoBoXgSI7kWA6GYEiGhGgIhgBAgBIm8ZBngmQIB4tiAEiLYgBIjmRYDoXgSIbkaAiGYEiAhGgDQZIH/5dTIvoR90IS+hyzuYAQSIZ3ug5pkp7j5Rhw7u5tqw3t1c22zjbK6Nv3vc2VzBRB1/eJK7+bJZZ3NldtrL2Vw1i+5zNlfZ3sc4myu7dYu7ueb9ztlcmd0qnc1lDvd+7kN17eXus61+3d1cX+/vbK4tN1/nbK42Hb7qbK6yb/V0N9eQ05zNlf3nQmdzZbof7GyuYKLsvxY7my/T6evO5srWbHU2V1m3/Z3NFXai/DsgBEhYMq7zQIAA8WAR6n8EAkRbEAJE8wquJkA0MwJE88pdTYBIaGUEiOQVXEyA1JHVBciUhE5AxnICIu9gBhAgnu0BAkRbEAJE8yJAdC8CRDcjQDQzAkTzIkAaehEg+v5hRPICBEjya9DgExAg2oIQIJoXAaJ7ESC6GQGimREgmhcBQoDoO4YRvgkQIJ6tCAGiLQgBonkRILoXAaKbESCaGQGieREgzQTIU1OTeQTrwB/zCJa+hVM/ggAp4BaorKy0H//4x7n/1H5VVVXZiBEj7LLLLmvyzgSItiAEiOZFgOheBIhuRoBoZgSI5kWAECD6jmGEbwIESAFXhABpBtfhbwIiQPQNzEvomhkBonnlruYldAmNAJG4chfzEnqdWf4dkKevT+YE5NsXcAKib+HUjyBACrgFCBACxNX24tfwapJZfg2vBhZcza/hlcz4NbwSV+5ifg2vbhZmBAESRolrfBMgQAq4IgQIAeJqexEgmiQBonnlriZAJDQCROIiQHSu0CPyAfLMDcmcgBxwPicgoVeLC2sFCJAC7oXddtvNzjvvPBs7dmz+Ln379rUTTjiBd0AcufMIlg7JI1iaGY9gaV65q3kES0LjESyJK3cxj2DVmREg+v5hRPICBEgB12Dw4MF28MEH2+TJk3N3Cf5LYuedd7af/vSnBIgjdwJEhyRANDMCRPMiQHQvAkQ3I0AIEH3XMMInAQKkgKtx8cUX24wZM2zWrFnWuXNnGz9+vM2fP9/GjRtHgDhyJ0B0SAJEMyNANC8CRPciQHQzAoQA0XcNI3wSIEAKuBrBicdZZ51ljz/+uFVUVNgVV1xhU6ZM4dfw8luw5F3HOyAaGXQI/pkAACAASURBVO+AaF65q3kHRELjHRCJK3cxL6HrZmFG8AhWGCWu8U2AAPFsRfg7INqCcAKieQVXcwKimXEConlxAqJ7cQKim3EC0sQJyMLfJPMS+v7n8RK6voVTP4IA8WwLECDaghAgmhcBonsRILoZL6FrZgSI5hVcTYAQIPquYYRPAgSIT6sR/K/Tz0xx94k6dHA314b17ubiESzZkkewNDIewdK8clfzCJaExiNYElfuYh7B0s3CjMg/gsUJSBgurvFEgADxZCFqPwYBoi0IJyCaFycguhcnILoZJyCaGScgmhcnIA298gHy7G+TeQRrvx/xCJa+hVM/ggDxbAsQINqCECCaFwGiexEguhkBopkRIJoXAUKA6DuGEb4JECCerQgBoi0IAaJ5ESC6FwGimxEgmhkBonkRIM0EyHP/l8wJyL7ncgKib+HUjyBAPNsCG386wtkn6jjxNmdzuZwo++k6Z9P947+PczZXMFGPOfOdzZfd/JGzuVxO9O/zxzibbodps5zN5XJf2Gfu3lnKlH/d3fe46V/O5srF5D3XOZuvzem/dDaXy4lqnrvV2XSZPQ5zN1enSmdz1Sy7z9lcZb3d/neisw/meKLsJ6vdzdhmG2dzZSp2czZX2Inyj2ARIGHJuM4DAQLEg0Wo/xEIEG1BCBDNK7iaANHMCBDNy/XVBIgmSoBoXrmrSyZAbkzoBGQMJyARtl3ahxAgnu0AAkRbEAJE8yJAdC8CRDdzOYIA0TQJEM2LAIngVW9I9YZN1nlfAqR1iukcTYB4tu4EiLYgBIjmRYDoXgSIbuZyBAGiaRIgmhcBEsGLAGkdGqNzAgSIZxuBANEWhADRvAgQ3YsA0c1cjiBANE0CRPMqqQB5/qZkHsEafA6PYEXYdmkfQoAUcAfccsstNnHiRFu5cqWVlZXl73TMMcdY586dbebMmY3uToBoC0KAaF4EiO5FgOhmLkcQIJomAaJ5ESARvL54AkKAtA4xpaMJkAIu/Jo1a6xbt242d+5cO/TQQ3N3Wrt2re2888728MMP29ChQwmQVvoTIDogL6FrZgSI5uX6agJEEyVANK+SCpBFtyRzArLPDzgBibDt0j6EACnwDhg+fLjtsMMOdttt//mVuNOmTbMJEybYe++9Z23atCFAWulPgOiABIhmRoBoXq6vJkA0UQJE8yJAInh98QSEAGkdYkpHEyAFXvhZs2bZ2WefbR988IG1a9fODj74YBswYIBNmTKlyTvzCJa2IASI5hVcTYBoZgSI5uX6agJEEyVANC8CJIIXAdI6NEbnBAiQAm+ETZs2WdeuXW3GjBk2aNAg69Gjh73wwgs2cOBAAsSBPQGiIxIgmhkBonm5vpoA0UQJEM2rtAJkWkKPYJ3NI1gRtl3ahxAgMeyA008/3davX2+DBw+222+/3ZYtW9bsXTkB0RaEANG8OAHRvQgQ3czlCAJE0yRANC8CJIJXoxMQAqR1iukcTYDEsO5/+MMf7Oijj7bKyko75ZRT7NJLLyVAHLkTIDokJyCaGQGiebm+mgDRRAkQzaukAuSF4ASkQwSA6EOqN3xinQcRINEF0zuSAIlh7bdu3Wrdu3e3VatW2dtvv2277bYbAeLInQDRIQkQzYwA0bxcX02AaKIEiOZFgETwanACQoC0TjC9owkQz9aeR7C0BSFANK/gagJEMyNANC/XVxMgmigBonkRIBG8CJDWoTE6J0CAeLYRCBBtQQgQzYsA0b0IEN3M5QgCRNMkQDSvkgqQv96azCNYe3+fl9AjbLu0DyFAPNsBBIi2IASI5kWA6F4EiG7mcgQBomkSIJoXARLB64snIARI6xBTOpoA8WzhCRBtQQgQzYsA0b0IEN3M5QgCRNMkQDSv0gqQ2xI6ATmTE5AI2y7tQwgQz3YAAaItCAGieREguhcBopu5HEGAaJoEiOZFgETwanQCQoC0TjGdowkQz9adANEWhADRvAgQ3YsA0c1cjiBANE0CRPMqqQB58fZkTkAG/g8nIBG2XdqHECCe7YD3jt7H2Sf62vXN/70R+Sbb7CAPaW5AWedezub65PLvO5srmKjDhFudzudqspq3HnQ1lW25d66zudpfPM3ZXDXL5zmbyz7f5Gyusm+McDbX1qducjZXbqKP/u1svswBw5zNVbbTQGdz1bzziLO5nE701Xj/3kLYz17W/TthL23xupp/vdjiNcoFTveFw/++KKs8Qvk2vvza9tu7myvkTNXV1VZRUWFrCZCQYlzmgwAB4sMq1PsMBIi2IASI5hVcTYBoZgSI5hVc7fQHTQJEWgACROLKXUyA6Ga1I3J/iJATkOiAKR5JgHi2+ASItiAEiOZFgOheBEgEM05AdDRHIwgQHbJ0AmRGQo9gnc4jWPq2S/0IAsSzLUCAaAtCgGheBIjuRYBEMCNAdDRHIwgQHZIA0c0anoAQINEF0zuSAPFs7QkQbUEIEM2LANG9CJAIZgSIjuZoBAGiQ5ZMgPxtZjInIANO4wRE33apH0GAFGALPPzww3bqqafamjVrrKyszBYvXmz9+/e3iy66yK699trcHX/wgx9Y8OLY3Xff3eATECDaghAgmhcBonsRIBHMCBAdzdEIAkSHJEB0swYnIARIdMAUjyRACrD469atsy5dutiiRYts4MCBdv3119uVV15pPXv2zP2/BV+9evWysWPH2g9/+EMCpBVrQIDoeLyErpkRIJpXcDUvoetmrkYQILokAaKbESDRzRj5HwECpEA7IQiPk08+2caNG2cjR460QYMG2eWXX24fffSRbdy40bp162avvfaa9e7dmwBpxRoQIDoeAaKZESCaFwGie7kcQYDomqUTIHdYp23j/fXQ1es/sc4DRvMIlr7tUj+CACnQFgjC44033rCHHnrIdtxxR3vyySdt9OjRuZOQjz/+OHf6sXr16kZ35xEsbUEIEM0ruJoA0cwIEM2LANG9XI4gQHRNAkQ3y5+ARAiQG2+8Mfc4+qpVq6xv3742depUO/DAA5v8ENOnT7c77rjDXnnlldw/D/7H3auvvtr22cfd30yL/t0zsjUCBEhr9L5kbO17IAsWLLChQ4faBx98kDsNadu2ra1duzYXIffccw8B0kp/AkQHJEA0MwJE8yJAdC+XIwgQXbN0AuTOhE5ATg19AhL83BO8IxtEyAEHHGC33HKL3XrrrbZ06VLbddddGy3eqFGjctftv//+1r59e5s8ebLdf//99uqrr9ouu+yiLzYjvBEgQAq0FLXvgQT/ogWPXN177702Z84cmzRpUi5ALrjgAhszZgwB0kp/AkQHJEA0MwJE8yJAdC+XIwgQXZMA0c1qR/znEazwATJ48GAbMGCA3XTTTfmb9unTx0aMGJH7+ailr61bt1rnzp3tt7/9be6pEr6KV4AAKeDaBUeFS5Ysyb2Efu655+bCo2vXrvbZZ5/l6n2PPfYgQFrpT4DogASIZkaAaF4EiO7lcgQBomuWTIC89PtkTkD6jwp1ArJlyxbr0KFD7n+QDd6Nrf0K/gfZ4LeFBo+qt/S1fv1622mnnXJzfO9732vpcv65xwIESAEXJ/i1u9ddd13u2cXgOcfgq6qqyt5///3cI1mZTIYAaaU/AaIDEiCaGQGieREgupfLEQSIrkmA6Ga1I3InIP1H2cqVK61Tp075idq1a2fBf+p/BT/7BI9NPfPMM7lHqmq/gnc6Zs6caa+//nqLHyT4H3PnzZuX+7kqeCSLr+IVIEA8WzteQtcWhADRvIKrCRDNjADRvAgQ3cvlCAJE1yRAdLMvBsgXZ5gwYYJddtllTQbIwoULbb/99sv/s6uuusruvPNOW7Zs2Zd+kOD9j2uuucaCd2v32muv6B+akV4IECBeLEPdhyBAtAUhQDQvAkT3IkAimPGHCHU0RyMIEB2yZAJk8V3JPIJVdXKoE5DWPIL1q1/9KvdbROfPn2977723vsiM8E6AAPFsSQgQbUEIEM2LANG9CJAIZgSIjuZoBAGiQxIgulmDE5Cqk0O9AxKMCV5CD96PDX4LVu1X8D7s8OHDm30JPfiVvUF8BI9e7bvvvtE/LCO9EiBAvFoOMwJEWxACRPMiQHQvAiSCGQGiozkaQYDokKUTIHcndAJyUugAqf01vDfffHPuMaxp06ZZ8Lc+gl/M06NHj9xvtgreE6n9jVjBY1fjx4+3u+66K/freGu/ysvLLfgPX8UrQIB4tnYEiLYgBIjmRYDoXgRIBDMCREdzNIIA0SEJEN2s4QlI+AAJxgWnH0FYBH+IsF+/fjZlyhQ76KCDclMOGTLEKisrbcaMGbn/e/D/vWLFikYfsKl3TKJ/F4xMQoAASUL9S+5JgGgLQoBoXgSI7kWARDAjQHQ0RyMIEB2SANHNWhMg0e/GyFISIEA8W82tt/3Q2ScqO/osZ3Nll853Nldmj8OczVXz9L3O5gomygw+0tl8Zdvv6WyumncfdzbXJ7fNcjZX+ZW3O5vL14myG1Y6+2iZ8u7O5gom2rrgt+7m+3ids7kyB9X9jv/WTlrWpfHfS4o6Z82/Xow6tNG47P13OJsrs+8gZ3OVVZ3ibK5s9XJnc+Um+so2zuarWXi3s7naHPZjZ3NZ++3dzRVypurqaquoqLC1S+5J5hGs/zox9CNYIb8lLkuBAAHi2SITINqCECCaV3A1AaKZESCaV3A1AaKZESCaV3A1AVJnRoDo+4cRyQsQIMmvQYNPQIBoC0KAaF4EiO5FgOhmBIhmRoBoXgRIQ6/aAPn477MSOQHZbq//5gRE38KpH0GAeLYFCBBtQQgQzYsA0b0IEN2MANHMCBDNiwAhQPQdwwjfBAgQz1aEANEWhADRvAgQ3YsA0c0IEM2MANG8CJDmAuTehE5ATuAERN/CqR9BgBRwC3z44Ye255572vnnn2+XXHJJ7k7PP/+8HXjggfbII4/Y0KFDG92dANEWhADRvAgQ3YsA0c0IEM2MANG8CBACRN8xjPBNgAAp8IrMnTvXRowYYQsXLrTevXtb//797aijjrKpU6c2eWcCRFsQAkTzIkB0LwJENyNANDMCRPMiQAgQfccwwjcBAiSGFTn33HNt/vz5NmjQIFuyZIm98MIL1r59ewLEgT0BoiPyW7A0MwJE8wquJkA0MwJE8yJAmgmQl2dbp2076pitGFG9fqNtt+fxPILVCsO0DiVAYlj5TZs25f7a58qVK+2vf/2r7bXXXs3elRMQbUEIEM2LExDdiwDRzQgQzYwA0bwIEAJE3zGM8E2AAIlhRV599VXbe++97bPPPrMHHnjAjj76aALEkTsBokNyAqKZESCaFycgEbz4Q4QyGn8HpI4s/2t4X74voROQ4zgBkXcwAwiQAu+BLVu22D777GNVVVW5d0B+/etf28svv2xdu3Zt8s6cgGgLQoBoXpyA6F4EiG7GCYhmxgmI5sUJSHMnIASIvpMYkZQAAVJg+Z/85Cc2e/bs3Lsf5eXldsghh9i2226b+y1YTX0RINqCECCaFwGiexEguhkBopkRIJoXAUKA6DuGEb4JECAFXJEFCxbY4Ycfbn/+85/t29/+du5O//jHP3LvgEyaNMnOOeecRncnQLQFIUA0LwJE9yJAdDMCRDMjQDQvAqSZAHnl/mQewep3LI9g6Vs49SMIEM+2AAGiLQgBonkRILoXAaKbESCaGQGieREgBIi+YxjhmwAB4tmKECDaghAgmhcBonsRILoZAaKZESCaFwHSTIC8+mAyJyB9R3ACom/h1I8gQDzbAgSItiAEiOZFgOheBIhuRoBoZgSI5kWAECD6jmGEbwIEiGcrQoBoC0KAaF4EiO5FgOhmBIhmRoBoXgRIcwEyJ6ETkOGcgOhbOPUjCBDPtgABoi0IAaJ5ESC6FwGimxEgmhkBonkRIASIvmMY4ZsAAeLZihAg2oIQIJoXAaJ7ESC6GQGimREgmhcBQoDoO4YRvgkQIJ6tyNZHxjv7RJlv9HE2V3bRs87msm5N/xFGdzeIPlNZ1VHRB39hZPa9Rc7mynQf7Gyu7Cf/cjZXpmJ3Z3PZpx87m6vm4enO5rLO27mby/FMmYpOzmbMvvmOs7nKjm38K8ajTl7z4sNRhzYet+oDd3Nt38XZXJmqg9zNtc32zuayNu3czWVm2Q3vO5uvrOvezubKrnvL2VyZru7+uzrsh8r/JfSlDyXzCNYex/AIVtjF4rq8AAHi2WYgQJJdEAJE8ydANC/XVxMgoigBooERIJqXmREgMhkDUipAgHi28ARIsgtCgGj+BIjm5fpqAkQUJUA0MAJE80o6QF57JJkTkD7f4wRE3ikMIEA82wMESLILQoBo/gSI5uX6agJEFCVANDACRPMiQGQvBqRXgADxbO0JkGQXhADR/AkQzcv11QSIKEqAaGAEiOZFgMheDEivAAFSwLW/4447bOzYsfb+++9bu3Z1L/Mdd9xx1rFjRwv++Re/CJACLkiIqQmQEEj1LiFANC/XVxMgoigBooERIJpX4gHyaEKPYB3FI1jyTmEAAVLAPbBp0ybr1q2bTZ8+3U444YTcnT766CPbZZdd7PHHH7dDDjmEACmgf5SpCRBNjQDRvFxfTYCIogSIBkaAaF4EiOzFgPQKECAFXvsxY8bY8uXLbe7cubk7XX/99XbDDTfYW2+9ZZlMhgApsL86PQGiiREgmpfrqwkQUZQA0cAIEM0r6QBZNjeZE5De3+UERN4pDCBACrwHXnrpJRs0aJCtWLEid/JRVVVlwSNY48c3/fc+eASrwAvSwvQEiOZPgGherq8mQERRAkQDI0A0LwJE9mJAegUIkBjWfuDAgXb88cfbEUcckYuR4ESke/fuTd6ZAIlhQb7kFgSI5k+AaF6uryZARFECRAMjQDSvxAPk8YROQI7kBETeKQwgQGLYAzfddJNNmTLFhg4dam+++abNmzev2bsSIDEsCAHiDJkAcUYZaSICRGQjQDQwAkTzIkBkLwakV4AAiWHtq6urcy+jf/7557nffHXiiScSIDG4R7kFJyCaGgGiebm+mgARRQkQDYwA0bwIENmLAekVIEBiWvvRo0fbo48+2uhX8n7x9pyAxLQgzdyGANH8CRDNy/XVBIgoSoBoYASI5pV0gLw+L5lHsHodwSNY8k5hAAES0x44/PDDrU+fPrnfgPVlXwRITAtCgDiBJkCcMEaehAAR6QgQDYwA0bwIENmLAekVIEAKvPZr1qyxJ554wkaNGmVLly61Xr16ESDduhZYPfr0nIBodgSI5uX6agJEFCVANDACRPNKOkDeeCKZE5BvDeUERN4pDCBACrwHKisrbe3atblfu3vRRRe1eDdOQFokKugFBIjGS4BoXq6vJkBEUQJEAyNANC8CRPZiQHoFCBDP1p4ASXZBCBDNnwDRvFxfTYCIogSIBkaAaF4EiOzFgPQKECCerT0BkuyCECCaPwGiebm+mgARRQkQDYwA0bwSD5D5CT2CdRiPYMk7hQEEiGd7gABJdkEIEM2fANG8XF9NgIiiBIgGRoBoXgSI7MWA9AoQIJ6t/We//H/OPlGbk7/vbC77Sntnc2XK2jmb6/OZ1zmbK5joK/9zsdP5nE22dYuzqTbfMMnZXNuMn+5srpq1rzmbyzatdTdXm7bu5ipr424uM/v3xVc5m2+HqVOdzeXrRNmNq919tK+4++8xW7XU2efKVB7gbC6nXmZW1nVvZ5+t5vnbnM1l2ayzucqG/MzZXGEnCv7WWEVFhX385h+TOQH55qGcgIRdLK7LCxAgnm0GAkRbEAJE8wquJkBEMwJEBPP3cqc/UBMg8kITIDJZqAEESCgmLvJMgADxbEEIEG1BCBDNiwDRvYwAiYDm5xACRFsXp16cgGj4wtUNA6RcGNn6S6vXb7DtOAFpPWQKZyBAPFt0AkRbEAJE8yJAdC8CJIKZp0Oc/kDNCYi8ypyAyGShBhAgoZi4yDMBAsSzBSFAtAUhQDQvAkT3IkAimHk6hADRFsapFycgGr5wNQEiYHGpNwIESAGXYvny5dazZ89Gdzj44INtwYIFTd6ZANEWhADRvAgQ3YsAiWDm6RCnP1BzAiKvMicgMlmoAfkAeetP1mnbBB7B+sZ3eAk91EpxUX0BAqSA+2Hr1q324Ycf5u+wevVqO+yww2zMmDE2ceJEAsSBPQGiI/ISumjGOyAimL+XEyDa2jj14gREwxeuJkAELC71RoAAiWkpNm/ebEOGDLEdd9zR5syZY2VlZQSIA3sCREckQEQzAkQE8/dypz9QcwIiLzQnIDJZqAF1AfLnhE5ADuEEJNRKcREnIAnsgVGjRtnixYvtueees2233bbZT8AjWNriECCaV3A1ASKaESAimL+XEyDa2jj14gREwxeuJkAELC71RoATkBiW4sorr7QpU6bYokWLbPfdd//SOxIg2oIQIJoXAaJ78Q5IBDNPhzj9gZoTEHmVOQGRyUINIEBCMXGRZwIESIEX5L777rOTTjrJHnvsMTv00ENbvBsB0iJRgwsIEM2LANG9CJAIZp4OIUC0hXHqxQmIhi9cnQ+Qtxck8wjW7kN4BEtYLy79jwABUsCd8Morr9jgwYPtwgsvtHPPPTd/p7Zt21qXLl2avDMBoi0IAaJ5ESC6FwESwczTIU5/oOYERF5lTkBkslADCJBQTFzkmQABUsAFmTFjhp1xxhmN7sCv4W3nTJ0A0Sl5B0Q04x0QEczfywkQbW2cenECouELV9cFyF8SOgE5iBMQYb24lBMQL/cAJyDashAgmhcnILoXJyARzDwd4vQHak5A5FXmBEQmCzWAAAnFxEWeCXAC4tmCECDaghAgmhcBonsRIBHMPB1CgGgL49SLExANX7iaABGwuNQbAQLEm6X4zwchQLQFIUA0LwJE9yJAIph5OsTpD9ScgMirzAmITBZqQD5A3nkqmUewdjuQR7BCrRQX1RcgQDzbDwSItiAEiOZFgOheBEgEM0+HECDawjj14gREwxeuJkAELC71RoAA8WYpOAGJshQEiK7GS+iiGS+hi2D+Xu70B2pOQOSF5gREJgs1oC5Ank7oBOTbnICEWiku4gTE4z3ACYi2OASI5sUJiO7FCUgEM0+HECDawjj14gREwxeuJkAELC71RoATEG+Wgg+CAAIIIIAAAghoAvkAefeZZE5Aeh7ACYi2ZFzNHyJkDyCAAAIIIIAAAsUrQIAU79ql+ZNzApLm1ed7RwABBBBAAIGiFiBAinr5UvvhCZDULj3fOAIIIIAAAggUu0BdgCxM6BGs/XkEq9g3UQKfnwBJAJ1bIoAAAggggAACLgQIEBeKzBG3AAEStzj3QwABBBBAAAEEHAnUBciz1qlTuaNZw01TXb3Btuu5Hycg4bi4qp4AAcJ2QAABBBBAAAEEilSAACnShUv5xyZAUr4B+PYRQAABBBBAoHgFCJDiXbs0f3ICJM2rz/eOAAIIIIAAAkUtUBcgzyX0CNa+PIJV1DsomQ9PgCTjzl0RQAABBBBAAIFWCxAgrSZkggQECJAE0LklAggggAACCCDgQiAfIMufT+YEpHIwJyAuFjJlcxAgKVtwvl0EEEAAAQQQKB0BAqR01jJN3wkBkqbV5ntFAAEEEEAAgZISqAuQFxI6ARnECUhJ7ah4vhkCJB5n7oIAAggggAACCDgXIECckzJhDAIESAzI3AIBBBBAAAEEECiEAAFSCFXmLLQAAVJoYeZHAAEEEEAAAQQKJJAPkBV/TeYRrB578whWgda2lKclQEp5dfneEEAAAQQQQKCkBQiQkl7ekv3mCJCSXVq+MQQQQAABBBAodYG6AHkxoROQgZyAlPomK8D3R4AUAJUpEUAAAQQQQACBOAQIkDiUuYdrAQLEtSjzIYAAAggggAACMQkQIDFBcxunAgSIU04mQwABBBBAAAEE4hOoC5C/JfQI1gAewYpvuUvmTgRIySwl3wgCCCCAAAIIpE2AAEnbipfG90uAlMY68l0ggAACCCCAQAoFagNk3T+CE5BtYxWorl5vFbtyAhIreoncjAApkYXk20AAAQQQQACB9AkQIOlb81L4jgmQUlhFvgcEEEAAAQQQSKVAXYC8lNAJSH/eAUnlzmvdN02AtM6P0QgggAACCCCAQGICBEhi9Ny4FQIESCvwGIoAAggggAACCCQpQIAkqc+9owoQIFHlGIcAAggggAACCCQskA+QlYuTeQSrexWPYCW8B4rx9gRIMa4anxkBBBBAAAEEEDAzAoRtUIwCBEgxrhqfGQEEEEAAAQQQaBAgSxI6AfkvTkDYibIAASKTMQABBBBAAAEEEPBDoO4EhADxY0X4FGEECJAwSlyDAAIIIIAAAgh4KECAeLgofKQWBQiQFom4AAEEEEAAAQQQ8FMgHyDvvZzMI1hf35NHsPzcGl5/KgLE6+XhwyGAAAIIIIAAAs0LECDsjmIUIECKcdX4zAgggAACCCCAQP2X0N97JaETkH6cgLATZQECRCZjAAIIIIAAAggg4IdA3QkIAeLHivApwggQIGGUuAYBBBBAAAEEEPBQIB8g/3w1mROQXfpyAuLhvvD9IxEgvq8Qnw8BBBBAAAEEEGhGgABhaxSjAAFSjKvGZ0YAAQQQQAABBOq/A8IJCPuhiAQIkCJaLD4qAggggAACCCBQX6DuBGRpQo9g7cEjWGxJWYAAkckYgAACCCCAAAII+CFAgPixDnwKTYAA0by4GgEEEEAAAQQQ8EYgHyDvv5bMCcjX+nAC4s1uKJ4PQoAUz1rxSRFAAAEEEEAAgQYCBAgbohgFCJBiXDU+MwIIIIAAAgggUP8ldE5A2A9FJECAFNFi8VERQAABBBBAAIH6AnUnIMsSegSrN49gsSVlAQJEJmMAAggggAACCCDghwAB4sc68Ck0AQJE8+JqBBBAAAEEEEDAG4F8gKx6PZkTkG69OAHxZjcUzwchQIpnrfikCCCAAAIIIIBAAwEChA1RjAIESDGuGp8ZJDfSYQAACeRJREFUAQQQQAABBBCo/xL6qjcSOgH5Ficg7ERZgACRyRiAAAIIIIAAAgj4IVB3AkKA+LEifIowAgRIGCWuQQABBBBAAAEEPBQgQDxcFD5SiwIESItEXIAAAggggAACCPgpkA+Q1W8l8wjWzt/gESw/t4bXn4oA8Xp5+HAIIIAAAggggEDzAgQIu6MYBQiQYlw1PjMCCCCAAAIIIFD/JfTVbyd0ArI7JyDsRFmAAJHJGIAAAggggAACCPghUHcCQoD4sSJ8ijACBEgYJa5BAAEEEEAAAQQ8FCBAPFwUPlKLAgRIi0RcgAACCCCAAAII+CmQD5AP3knmEayuu0mPYN1444127bXX2qpVq6xv3742depUO/DAA5vFve+++2z8+PH29ttv2+67725XXXWVjRw50s/F4FOFFiBAQlNxIQIIIIAAAggg4JdAMQXIPffcY6eeeqoFEXLAAQfYLbfcYrfeeqstXbrUdt1110awzz77bC5Orrjiilx0PPDAA/aLX/zCnn76aRs8eLBfC8GnkQQIEImLixFAAAEEEEAAAX8E6gLk3YROQHqGPgEJomHAgAF200035QH79OljI0aMsEmTJjVCPfHEEy34/h577LH8PzvyyCOtc+fOdvfdd/uzCHwSWYAAkckYgAACCCCAAAII+CFQGyAr3/x7IgHS/Zt72cqVK61Tp055kHbt2lnwn/pfW7ZssQ4dOti9997b4BGqCy64wBYvXmxPPvlkI9DgVGTs2LG5/9R+TZkyJffY1ooVK/xYAD5FJAECJBIbgxBAAAEEEEAAgeQFNm/ebD179rTVq1cn8mHKy8ttw4YNDe49YcIEu+yyyxr8v73//vu2yy672DPPPGP7779//p9dffXVNnPmTHv99dcbff62bdvajBkz7OSTT87/s7vuusvOOOMM+/TTTxP5frmpGwECxI0jsyCAAAIIIIAAAokIBBESnDAk8ZXNZi2TyTS4dVMnILUBsnDhQttvv/3y1wcvld955522bNmyJgMkiJOTTjop/89+//vf25lnnmnB98xX8QoQIMW7dnxyBBBAAAEEEECgKAR4BKsolim2D0mAxEbNjRBAAAEEEEAAgfQKBC+hDxw4MPdbsGq/9thjDxs+fHizL6GvX7/e5s6dm79+2LBhtt122/ESepFvIwKkyBeQj48AAggggAACCBSDQO2v4b355ptzj2FNmzbNpk+fbq+++qr16NHDRo8enXtPpPY3YgWPax100EG5v/0RRMqcOXPs0ksv5dfwFsNit/AZCZASWES+BQQQQAABBBBAoBgEgtOPyZMn5/4QYb9+/Sz4rVZBZARfQ4YMscrKytyL57Vfs2fPzkXHO++8k/9DhMcee2wxfKt8xi8RIEDYHggggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQAABAoQ9gAACCCCAAAIIIIAAArEJECCxUXMjBBBAAAEEEEAAAQQQIEDYAwgggAACCCCAAAIIIBCbAAESGzU3QgABBBBAAAEEEEAAAQKEPYAAAggggAACCCCAAAKxCRAgsVFzIwQQQAABBBBAAAEEECBA2AMIIIAAAggggAACCCAQmwABEhs1N0IAAQQQQAABBBBAAAEChD2AAAIIIIAAAggggAACsQkQILFRcyMEEEAAAQQQQAABBBAgQNgDCCCAAAIIIIAAAgggEJsAARIbNTdCAAEEEEAAAQQQQACB/w/DWVnH+WOOrgAAAABJRU5ErkJggg==\" width=\"800\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gen_FR=word_generator(r\"_DATA/dic/FR.txt\")\n",
    "gen_FR.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:67: RuntimeWarning: invalid value encountered in true_divide\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "réne\n",
      "line\n",
      "aber*\n",
      "agne\n",
      "lage\n",
      "mique\n",
      "booir\n",
      "maste\n",
      "répht\n",
      "Since\n",
      "dépire\n",
      "conste\n",
      "ploïde\n",
      "symbre\n",
      "utipre\n",
      "acfusse\n",
      "travoix\n",
      "éplaque\n",
      "baoïque\n",
      "mniquet\n",
      "frisorer\n",
      "désautol\n",
      "gativrud\n",
      "géniment\n",
      "caondaté\n",
      "callohage\n",
      "mâchausse\n",
      "compenter\n",
      "roptatite\n",
      "sacassele\n",
      "corisseure\n",
      "antionjune\n",
      "hydementer\n",
      "igoniqueme\n",
      "imonisteme\n",
      "pliquilotte\n",
      "hakomiresse\n",
      "laneximique\n",
      "es-boularté\n",
      "taniâtionne\n",
      "paphillerder\n",
      "phomelcoulux\n",
      "ineffectuage\n",
      "hympoismoine\n",
      "métronatiser\n"
     ]
    }
   ],
   "source": [
    "gen_FR()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Swedish  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": false,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:38: RuntimeWarning: invalid value encountered in true_divide\n"
     ]
    },
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAgAElEQVR4XuydC7yVY9r/r1VUoqSDUzrIYHTQyZSkxGBevKPC8GJyyiFmRg4zzmScQi8lJEpTGDQ5z8tgMMXImRyiTEJRjjlUVGrv/+d6/Nc+tNfW+j37Xut5dvv7fD59xtR9X8/zfK9rr72+67rvZ2VKS0tLjQMCEIAABCAAAQhAAAIQgEARCGQQkCJQ5hQQgAAEIAABCEAAAhCAQEQAAaEQIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCAAAQgAAEIQAACCAg1AAEIQAACEIAABCAAAQgUjQACUjTUnAgCEIAABCAAAQhAAAIQQECoAQhAAAIQgAAEIAABCECgaAQQkKKh5kQQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACRSOAgBQNNSeCAAQgAAEIQAACEIAABBAQagACEIAABCAAAQhAAAIQKBoBBKRoqDkRBCAAAQhAAAIQgAAEIICAUAMQgAAEIAABCEAAAhCAQNEIICBFQ82JIAABCEAAAhCAAAQgAAEEhBqAAAQgAAEIQAACEIAABIpGAAEpGmpOBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIFA0AghI0VBzIghAAAIQgAAEIAABCEAAAaEGIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCAAAQgAAEIQAACCAg1AAEIQAACEIAABCAAAQgUjQACUjTUnAgCEIAABCAAAQhAAAIQQECoAQhAAAIQgAAEIAABCECgaAQQkKKh5kQQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACRSOAgBQNNSeCAAQgAAEIQAACEIAABBAQagACEIAABCAAAQhAAAIQKBoBBKRoqDkRBCAAAQhAAAIQgAAEIICAUAMQgAAEIAABCEAAAhCAQNEIICBFQ82JIAABCEAAAhCAAAQgAAEEhBqAAAQgAAEIQAACEIAABIpGAAEpGmpOBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIFA0AghI0VBzIghAAAIQgAAEIAABCEAAAaEGIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCAAAQgAAEIQAACCAg1AAEIQAACEIAABCAAAQgUjQACUjTUnAgCEIAABCAAAQhAAAIQQECoAQhAAAIQgAAEIAABCECgaAQQkKKh5kQQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACRSOAgBQNNSeCAAQgAAEIQAACEIAABBAQagACEIAABCAAAQhAAAIQKBoBBKRoqDkRBCAAAQhAAAIQgAAEIICAUAMQgAAEIAABCEAAAhCAQNEIICBFQ82JIAABCEAAAhCAAAQgAAEEhBqAAAQgAAEIQAACEIAABIpGAAEpGmpOBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIFA0AghI0VBzIghAAAIQgAAEIAABCEAAAaEGIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCAAAQgAAEIQAACCAg1AAEIQAACEIAABCAAAQgUjQACUjTUnAgCEIAABCAAAQhAAAIQQECoAQhAAAIQgAAEIAABCECgaAQQkKKh5kQQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACRSOAgBQNNSeCAAQgAAEIQAACEIAABBAQagACEIAABCAAAQhAAAIQKBoBBKRoqDkRBCAAAQhAAAIQgAAEIICAUAMQgAAEIAABCEAAAhCAQNEIICBFQ82JIAABCEAAAhCAAAQgAAEEhBqAAAQgAAEIQAACEIAABIpGAAEpGmpOBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIFA0AghI0VBzIghAAAIQgAAEIAABCEAAAaEGIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCAAAQgAAEIQAACCAg1AAEIQAACEIAABCAAAQgUjQACUjTUnAgCEIAABCAAAQhAAAIQQECoAQhAAAIQgAAEIAABCECgaAQQkKKh5kQQgAAEIAABCEAAAhCAAAJCDUAAAhCAAAQgAAEIQAACRSOAgBQNNSeCAAQgAAEIQAACEIAABBAQagACEIAABCAAAQhAAAIQKBoBBKRoqDkRBCAAAQhAAAIQgAAEIICAUAMQgAAEIAABCEAAAhCAQNEIICBFQ82JIAABCEAAAhCAAAQgAAEEhBqAAAQgAAEIQAACEIAABIpGAAEpGmpOBAEIQAACEIAABCAAAQggINQABCAAAQhAAAIQgAAEIFA0AghI0VBzIghAAAIQgAAEIAABCEAAAaEGIAABCEAAAhCAAAQgAIGiEUBAioaaE0EAAhCA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++7oW5J32WUXGz16tP3iF7/I63oqDvJrC/V6EfLn268xe22eg9tuu806depkM2bMkO/RJ3je/vznP9u8efOscePG1r179+jncuONN5bjrf1a4QHef/99a9++vRTLx5922mnRn+zhSz4HDRok/YzffPPNdskll0SvzfXq1SuLdeCBB9pmm21W6XXtpy7QX4uHDBli3iX1OLNmzYo4+eu0v9b64a/7XnN33XVXXvf6+eefRz9Pp556qp133nnRnBdeeMH69etn//d//2f77rtvXnF8kNfA6aefbosWLbKGDRuWzTv44IOjPPq/53v4a/u2225bZfgee+wRdcDTdGQF5MaEOiC/owOSpnKoNdeCgNSaVJnde++9kSD4i7X/Ir/ooouiN8D+S6DiL5V13ZL/0n7llVds6NCh0Zv9l19+2U488cRoT8gJJ5ywruk5//3ss8+O5MPf5Oy+++7RG/45c+bY8ccfL8U75ZRTIuGYNGmSbbnlltEvJH+x92tV96y4/LjI+Lztt9/enn766ejN+WOPPWb+S0Q9fCnR2LFj7ZZbbrGXXnopegPaqlUrNUzE+J///Kfdeuutkah5Hp944gk77rjj5Hv0XPo+lDPOOMOOOOIIe+6558zf/Pg97rPPPvK1+YQ0C4i/ofZavf3226OlcDU54t6nz3v11VcjcXQRmjp1qo0YMcJ+9atf2eDBgyN+/nPwt7/9zRYsWBC9mV3XETqPw4cPj95Qu5S6KF999dX20EMPRW+umzdvvq7LqfTvIV8vQv58Z2vVX8v8dcxfI/xDh5///OfS/flgf71q27ZtxMlz6B8SPPPMM5HgbrLJJnI8f61w+XRx8zf+fvhrhb9mKEcoAXFh2GqrreyRRx6xX/7yl9El+B42f43119t83+T7fXn9vPjii9azZ8/oAzD/UMzfqPvf+bHjjjtGEuCvtfkefl0uVTNnzozy51JzwAEHyK+H33//fXSf/rvoN7/5TXT6L774wlq3bm3+wcWee+6Z7yXZmjVrzOUoe3zyySe29957m9dwNqd5ByvwQASkwIAJXxACCEhBsBYnqL84+ietb775ZtknlPmc2d9QfPbZZzZ79uyyjsc555wTvUF5++238wlRaYz/svZfrv6JryocFQMtW7bMWrRoEX1K5W/s/PBfnNtss02ZIOV7cS5ovj/jqaeeijpF2cOv77vv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AggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEECBD2AAIIIIAAAggggAACCEQmQIBERs2FEEAAAQQQQAABBBBAgABhDyCAAAIIIIAAAggggEBkAgRIZNRcCAEEEEAAAQQQQAABBAgQ9gACCCCAAAIIIIAAAghEJkCAREbNhRBAAAEEEEAAAQQQQIAAYQ8ggAACCCCAAAIIIIBAZAIESGTUXAgBBBBAAAEEEEAAAQQIEPYAAggggAACCCCAAAIIRCZAgERGzYUQQAABBBBAAAEEEECAAGEPIIAAAggggAACCCCAQGQCBEhk1FwIAQQQQAABBBBAAAEE/h+e5cn0hxQVWwAAAABJRU5ErkJggg==\" width=\"800\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gen_SE=word_generator(r\"_DATA/dic/SE.txt\")\n",
    "gen_SE.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:67: RuntimeWarning: invalid value encountered in true_divide\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lång*\n",
      "påge\n",
      "shis\n",
      "cent*\n",
      "ruri\n",
      "arvsk\n",
      "foran\n",
      "macka*\n",
      "Chorm\n",
      "titer\n",
      "kninad\n",
      "lannat\n",
      "skrynt\n",
      "flysen\n",
      "backes*\n",
      "Treving\n",
      "dömsuga\n",
      "simunda\n",
      "gällbor\n",
      "Muskydd\n",
      "fulandra\n",
      "fandkväg\n",
      "flighede\n",
      "pjästaom\n",
      "Hölvsvår\n",
      "fortrunde\n",
      "hagsthant\n",
      "högkördig\n",
      "rinnasing\n",
      "speeplitt\n",
      "sadamkomst\n",
      "ilrasbrong\n",
      "grungering\n",
      "renspyssne\n",
      "tenhalfade\n",
      "sventerfask\n",
      "Sonslufsisk\n",
      "operafinssa\n",
      "gyncheterum\n",
      "flafisighet\n",
      "Trällodering\n",
      "unjetslugmon\n",
      "åkningsrerap\n",
      "skicknäskägo\n",
      "bumärväravka\n"
     ]
    }
   ],
   "source": [
    "gen_SE()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Compare french and swedisch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,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zulCAAIQgAAEIAABBJA6AAEIQAACEIAABHKMAAKYYxec04UABCAAAQhAAAIIIHUAAhCAAAQgAAEI5BgBBDDHLjinCwEIQAACEIAABBBA6gAEIAABCEAAAhDIMQIIYI5d8Gw53ccee0xOPfXUwMMdPny43HnnneXuVN5++2056KCD5KWXXpKjjz663B0fBwSBbCXwySefyK233iqff/65/Pbbb1KvXj3p0KGD7LHHHjJq1Kg/9LQ8z5NrrrlGrr32Wv84krlr9uzZ0q5du1I9Ni2vc+fO8tprr5VquRSWmwQQwNy87uX+rJNJ9B//+IfstNNOWx1vixYtpE2bNuXuHBDAcndJOKAKQOD111+XI488Uvbdd18544wzpHnz5rJgwQL57LPP5JlnnpGff/75Dz3L4gK4ePFi+fHHH6V79+5StWrVUj02BLBUceZ8YQhgzleB8gkgKYCffvqp9OrVK9JBJhIJWb9+vVSrVi1SfGkHIYClTZTyICDSt29f+eWXX+Tbb7+VSpUqbYUkHo9LLBb7QzEVF8CyPBgEsCzp5l7ZCGDuXfOsOGNLADdt2iSVK1eW888/X3bccUe55557/LfuBx54QE4//XRfBG+77Tb517/+JXPmzJG6devKEUcc4f+3Ro0abWbQqlUrXzCHDBkiV1xxhf+Q0SR7+eWXyymnnLIVK21p0G6eN954QxYtWuSXs+eee8rf//53ady4sSQF8Nlnn5WpU6f6XUFr166VPn36yP333y877LBDVrDnICFQnghol2etWrXkv//9b+hhXXLJJfLwww/L0qVLJS8vz48799xz5b777pPbb79d9O+6/f777/69evfdd/t/123lypVy/fXXywsvvOCLpv59wIABctNNN0nNmjU371PjdPjJiy++6OeXvfbay887HTt2NLuANR9cddVVMmXKFFmxYoU0bNjQbyF86KGHRHOQbiqzmiceffRR+e677/zWQ+39GDlypN8CqltSAM855xz/v3/zzTfStm1bufTSS+Vvf/tbebpsHEsWEEAAs+Ai5eIhJgVQk37Pnj23QqCtAEkBbNmypTRp0sRPgE2bNvX/pwn5z3/+s//AuOyyy2T33Xf3JfDqq6/2pU2TcLKVUJOvtiDUqVPHlz4tS5OyJvn//Oc//hgj3ebNmye9e/f2k7Qm3i5duvgPk//7v//z/13lLimAmqT32WcfOeGEE2T58uX+sdWuXVtmzJjxh7dW5GJd4pyzm4B2+z7yyCO+sJ100knSo0cP/+Wv6DZp0iT/nv/oo4/kT3/6k/+nnXfeWebOneuL2ptvvun/t+eee06OP/54+frrr/2/6wuavsTpy53ex127dpWZM2f6uULzjt7T2sKnvQsHHHCAX77+bbfddvPzwz//+U/56aefnAK4Zs0aX9Lat2+/OU8tXLhQ3nvvPTnvvPP849Bt0KBB8uSTT8ppp53mv6xWqVJFvvjiC19+NS4pgAUFBZvzleY7ZfP888/LBx984OcdNghEJYAARiVF3DYl4JoEsnHjRv9Y9CFQv3590cHW2sKX3DSJDhw4UCZMmLD5zVn/pgPJVQa1pUAfKrqpAC5btky+//57UZnUbd26df44o5NPPtlvQdBNWwN1vNFXX33ltzgGbUkB1Ld13Xdye/rpp+Wvf/2rpNOdvU1hszMIlGMC+qKlk6o+/PDDzfe9CphKkraEqSCpyGkuuPLKK/2WNm3J03tbXwC1lU7vcW1R05Z+HVOof9dNJ5Zoy7/mhqJDTbQ1sH///jJx4kQ59NBD/VZ//X9tOUzKmP7+5ptv9n/vmgSiE1e07JdfflmOOuqoQNKTJ0/25U3LuvHGG0Ovhr5c6iQYbSFMjoPOz8/3c5e2Wj744IPl+EpyaOWNAAJY3q4Ix+MTSArgE088sfkNOYlGk2myBVCTnr7VF9205U1lTN+yi28qdgcffLDfNZwUQH0z1wRcdNMHTLNmzeTVV1/1/7O2DOp/04dH2JYUQH0j17f45KYtCtqNNX78eDn22GO5whCAQAYEdNLHO++840/+eP/992XJkiV+l6i+WGnLvk4S0ZY6bQnT/HHhhRfKrFmz/F4BbSHUFjydObz33nvL448/7h+Btg6uWrXKn11cdFOp0l4B7TrWYSMqktqVrPvU7tvkpj0Lmj9cAqhdvhqjOeSCCy7wRW+XXXbZan/a+njLLbfIr7/+6r98hm16vvr3jz/+eKsQbfXUmdHaI8EGgagEEMCopIjbpgSijgHUt3F9Ky+67bfffv4DImxTAdQHgm7JMYD6dl500weDdhOr1Omm3cTaaqjdw2Fb2CQQfQhpF7F2F2mrIhsEIFAyAtoLoFI2evRoX9JUzrTl7IYbbvDHAQ4dOtRvydeWPB2Du//++/utfyqA+lKpPQS66X2p92fYpuPqdEyejitWaUz2PiTjVRSrV69ujgHUngMdU6hd0doaqRKn+URbLLUnQ/9ZVzzQ8rXL2SWAQcvAqPzq5sp7JSPOrysiAQSwIl7VCnBOUQVQJ4GMGTNmqzPWVkFt0QtbK0vf7JPduFEFMJ0WwOLrACKAFaBCcgrljoC2rGmrl3bNalettorpmF39ZxU3bZU788wz/bF9Kl4qgCqG2v2rS0nppi1nOkZv3LhxgeenLYva6laSFsCiBWsL5Zdffum3UGre0lY/HXucTgsgAljuqmLWHhACuI0unb6hdevWLUVWSmP3mZatyUgTonZN6lupzlTTY4yypbPPKLGDBw/2J0wkW+KSAqgDvrXLprjkFZ0FnPxbcj86u07L066i4hNIip9bVAFMjgHUiRxhs3lpAYxSc4hJh0CUeyed8orGZlr2tsobeqx6jHq/jR07NuU0dZKXCpz+XbtUtbWvQYMG/jhfFT6dtKV/1zG5ukC79gzo+oE6JCO5aaucjuNTqdLY4nkmGVeSMYBh10fHLOpx6RCW5BhAHb+oM5LDtrBlYGgBzPQuyO3fIYDb6PpnmmyjHF6mZet4ER2UrN0G2jWib7vF19kK2386+9QuGe3m0JmwYZu+zeuDRd/odSuJAOpXQg4//HB/XI+OudExg3pe+ub/7rvv+oO7dQC5blEFMDkLWH+jb+v6wFBp1geDtg5sv/32m2cBl6cWwHSuU5S6Rsy2JVCW1y/TsrdV3lDSmjt0zJxOeNB7VpdF0Zn406ZN878AouP3dDiHCqDmDpU9HberY+70N/pCq2P4VLa0S7j4kBFt/dMXTJ0VrMKoM3y1fL3fVSJ12RftQtb/pgKpk0W0ZVFzStRZwNoToUtF6UQWzbOa53SVAZ2wUXRCWnIWsHYH/+Uvf/EnrehLeY0aNTYvWbOtBDDTurFt7w72VlICCGBJCUb8fVneUJmWrTNc77jjDn+phHS3TPcZdT8lEUB9i9exNPr/OiNYZ/iqAKrs6XFffPHFst1226UlgBo8f/58/wGhD0B9MOl6YfrwUI4qz2XZArhhwwZ/WYh0t7K+TukeD/HpESjL65dp2ds6b2gLmc6q18ke2oKna/DpGDpdIHrEiBFbTRLTGb86LEQlSu/7ZK+Ljvt966235JVXXtn88pe8EiqBKpAqk/rPOqZP5fHAAw/0X+50Eolu+pJ60UUX+fKm96MuH3Pvvff6UuqaBKIzdq+77jp/+Smd5KH3sS5VddZZZ2211qhKph6/jjnUY9fj0OPSF04VQt0yEcBMckemdSO92k30H00AASylK6AtQToIWbsIdSFS7U7QyQlJ0dAbSluNdFMp0Zhhw4b5g5aLDvrVJKBSpl0eKhyafLSbVpcH0E0TlP5Ok5C2qKnM6Btv0e5lfcPUMvQNUxOmjnfTrgVt+Upu2kWanAmn/03XqdIZbclNk6GOn9EuWR0zp2vZaRJO7kfPR9fM0okSOutVk5rGJ7+HWRRrlGRSvAs4+fviv1XOuo6XJl59Y3btR3+r6/Upaz1XPUblrWuJ6fIR2vWtY/v0gaatBNb56INHB5zrcjC6KKy2AuggdJ0drFuUaxzl+hUtS49ZB6136tTJn91YdNPj1weLjjHUVgLt+tZrlFy8tvg11t8W/T6pPky0hVT/l9z0+mpLhV5HnfCi3VFaD4t+bUFbWVavXu2vUaYirH/TFhndv9ZHrXu6ab3VBbN1bJa2vOiDTDdtRVFx1pYRfTDr+emMTX04Fv10ls6Y1nPRvydnWxa/XVUCsnngO3kjPG8k7wNr6Exp547Szht6HuUpd/yReUNbYvU5pJNwSpo7dJUHK28o+4qaO0pDXRDA0qAo4o8/UZFT4dCHvLYUacXTB6M+IDWpaJekLg+iAqfj03RQsrZSJdek00PRN06VPxULnYmqAqdfp9BZaLrpW6MKnw5a1mVK9KGqD0AtNzl+RWVRBVH/XcfH/Pvf//blTLtK9IGpm77N6tumdkHom7VKkrZoJTc9Jn1j1rdRlVA9H23h0sHVWq6ej3ZP6BuxrnGnD3lNxLoPHddSFgKo4qXMdDZt0HpaxWVR/10lReVVpVG/0KFv6occcoj069fPPwflrC0M+qY9ffp05/loy4ImTxVeFWadeagtCipgOvYoyjWOcv2SDz6tL1pX9Nqq1Bf9JrLWC22l0GPQc1Fh13FEKsW6LlryGusAeX3xSI4r0muc/FKCJYCaoLWlRQfV6xIaumm3t9Y7vRaayLVVQ8dZ6suOvgBp15v+N920lUMTtB6nSqUuoqvnoKKoXfTJ+ppcd1HrvU7g0U2X29C1zVSQtOtNF7/Vb6wmN03+2kKjPF1jpkrp9i6zYsgb4XmjNAUwndxR2nlDz6O85I4/Om/os0u71DVfljR3RMkbyr6i5o7SSEoIYGlQDChDH1bauqTT//UBrElFW0N0AHKyxU9nf6lA6PgT3fQhrg9obZFKCl/RorXVRdeg0hYRFRrd9CGtXZtJmVT51O5IHeuWXBFf47Q8XSz1qaee2lykPoD1f0Vb/pLHofvR2GSroQqjzpxTMUwKoN5YRdfP0zE0utyCLq5a2gKorZgquzq+ToUgaAsSwKLHqP+sC0Yfc8wxPkPdVCRUclRKtLUp7HyUq769ate0Cq9u2s2clChtGbSucZTrlzwvLUuZq2QHbSq2Kl567VRGwzZX66slgFqmirbWJ30R0E1fGFSi9csJer2VhY6TUgnVllBtkVR5U17KVT9VpdJ39tln+y8QGqOirS8dRb/ZrCKn56KyqZsKpb6gqFwXXxZDl97Q89J7RVs8/+hvwZZmCiFvbE2zNHoP0s0dus/Syht6NuUpd5SHvKEvoJq7SiN3pJM39FpU5NyRSR5CADOhFvAb/Q6tdrPqzDR9AGpXrt74unDwYYcd5j+wdABw0eUG9OGlgqWVUm8KfSPStyP9tJC2pBTf9MGp3SE6Zi+5CrzGqLxoy56KmT5Y9cFc9BuWGqPjQDROu9+SW5gAhu1HZ+TqgOykAGq3pH67MrmpLKg4Fl9SoaRJXNnq6vf6JQA9t6iyo/stfowqS9r9m/w2qLasqUCopOu5hZ2PLt2w6667pgiXio+KoZ6zdY11eIB1/YoKYNjsR43RB5S2ZGqd0f/XrlStS3osRbeSCqC2jurLhfLX7lmtZ1oPtOVUxU/HKulLjMqYdlFrC6S2BOqMbm39Sy7GrW/ryli7k7X1W7vbi24quiqHWre15U85aRew3lPFN+3C15Z1vddcE4tK6dYu02LIG4UvGUF5Q8H/EbmjNPOGnkN5yh3lIW8ok9LKHenkDd1vRcodpZGYEMDSoCjidyG2bt3a727UljIVQH3gJWeEWnKgAqithfpgDBPA5DgrlwAmP3em3cLJT5slT1Ef4HqMlgAm96Mz4YrGFxXNoMSs3Xw6E09byaJKSDLONY5HH/L65qpjz3Q2XdhCqUEtgMXHDwW1eml5KorapVh0GYii5xMmxRqjDy9tIbOusV5fZei6fkUF0Br7pPKq3ao6W1HrmcqWXv+iLw+uB6i+kOj3VVXUkpty0G7Y5FhOFTcdAqDXVAVNBVpfMvQNXrtzdCyP1jUVUJVETew6blG7ilUCtdtdN2351jGT2mqqx5qchV20nmiZKrEqtLovbREsWv80VuVS5VPFNzm+tpRu4T+kGPKG+MMDgvJGaQhgJrkj6J7JNG/oOZS33PFH5w1lUpq5I0reqIi5ozQSFgJYChT1W5XaTaZj7XRwu27aWqX/XFQAtQs42d2rMTqDTVsBk/9NWwJ1bIR2fYV1AevfdRLJcccd5+9HH7TaBZzsmk12I+t4quRq92GnaHUB6zdsk58u00kPKrZ6XMkWwOKCUlYCqPvRpn5NzNp9m/w+b/HzKksB1NZcZa+r9RftAlbZ0kkUOvkh2QUcdo21C9i6fukIYNHz1zd7lTMdk6n/S24qZjoWTyfNFN+0tVlb9HQcoW56jXV8n77EFJ3Mo3Ku9UrjtaVTx6Tqpl3Uej5az5SPfpBe67Mubqv1Usc96XXT1mdtudXrqN3Bd911l/+yk5xdmTyuBx54wJc7PeYffvhh89dakn/X8XInnniiPws7OSaxFG7fP6wI8kYh+rIUwExyR2kLYHnOHX9E3ijt3GHlDd1fRcsdpZW0EMBSIKmtfTreTwfc6/gobTnT8X3aUlJUAHVQv4qazo7UFi39Z13LSv89uekYKh3/pJKlywzomCBtPUl+W1YnBeg4KX0Q6wNUJ3zoeL+ik0D080I6A1jL1okk+mDXliKdHKALGie3MAHUv+ux6Xc3tWVLz03PS1uadD/6kN6WLYBJ0dTlFHS/Ov4xaMHWshRAZaKip5KjTJITMLT7U7vxtOs1OQnEdY2jXD/dl9X1pS19en1UlvT66L/rZ+Z01rbWw+Sm3bfaoqtduXr9VdiSY+b0BURb9vRvevza3arj9LQVr6gA6mQgbbHTVhDdh9av5KZv39rCoXVWx/mp+Gm91JY+rbfawqXd7Tp5RuP0GHQMp7bMFP9Si9ZTHTeoi3wXHeeq+9LucxVQlVvdT3LT1kY9p2zcyBvbRgA1V6STO0pbAMtT7igveUOZlFbucOWNipo7SivfIYClRFIfnLrUhXbfaouLtuJpIikqgNq9pklfJ1dol6+Kn65CX3wZGG1B0Ra85IfBdQavPqx101akosvA6MNaxxkWXwZGW3y0u1SPR7tXdNyWTqLQcW5RBDBoGRidSaeTPPT4/ggB1OPWSQW6bxURFdyiW1kLoLbQauuYtowqn6BlYKxrHOX6RRFA5aBdt/oioQlQW/+0O1fHNxbddIyeSr/Kl3bnFl0GRn+nsqozbXVyjC6Ro3KfXAYmWY62EmhXrM4gVNnVruPkpi2feh1U0PTcddO6qHVXu4R1XKDOCn/vvff8lxHd9AVJhzpoPdK6XHTTMYRan4svCZNcF7L47Zrty8CQN8q+BTD5shg1d5SFAJaX3FFe8obex6WZO8Lyhu6nouaO0lAXBLA0KOZAGdqNoWMK9WGfbI0szdPWrj2VYu3eztbNarULO69Mf5etnFzHrbK48847+y9QbNlPoKzzhhIid5TNJ0azqfaRNzK7WghgBG6uxVoTy74xS0h88ZIzJlFQYJbh1dt6dmfQD7zt9nXvZ9n35n4S3xYuOzL1x4Xy3c9LZLcdW8iKNevlxmcmywcz5sp3D50tjfsWrkrv2hLT3nX+3et1uP937e77/sf58peTL5IhA4+Wy8/b0kUtBRus3Ujila0nnBT/gbfLTmYZG94rXLfOtVU5c7g74If/yP7nPSC7bt9CRp93VHBs68IWsuLb/idcJrvu0kFGXz1UEm+84Oa2fers8OI/iE+bYZ2OxHbrYcZIQ3fXqtc8fEZ2svDE2t/s/RRskKXLV8mbk7+QgRfcKTPefEA6btdqy+/yqpllxFrvb8b8EQHO3LHoc/OQEnP/646Jx80yCj74jxlT6RR3/U7MMY5DRBLffS9T5y6W735dJrt1aCor1q2XGyd8Kh98+4t8d/tAaVS7unj7HGYei3gxd8ymtf7fN20qkO9n/yp/Of1GGXLCwXL5sGM3/y4xfctqB2GFbZjqzodV2hd+AcS1LX3bzv+NRt/mLCMx813Z/6Kxsut2zWX02cG51dutcOmp4tt+hx0vu3bZRcbcdo0sGVokdwbENjh4F+t0ZNO8RWZM5RNPNGNk3nfOGG/Xwvzv2hLLZlkhsnRjTXnzgyky8JzrZMb7T0rH7YsviWXfH7HmhT0TubghgBGuumuxVm+Fu6Jr8dkqgEPvfU2+++V3qVIpT3ps31zuPO0g6dKuiXjd7IdtVAGcNuN72euIIbLvnj3ln/ddI/Xr1dlyRRDAlNrpVVAB7LDXqbJs5Wq58pwTZPiQLQ9yH0AWC6AzdywJXuOx6EXPRgEc+ui78t3C5VKlUkx6tGsid564p3Rp3cg/rdIUwGlfz5a9jhsh++7eWf456gKpX7dwAXQ/5yKAKbmjIgpgh/3PkWUrVsmVFwyW4cOCJBkBdCkOAhhBAIuHFF2stVPLPLOEbBRAZ6UpRQF0wssyATQrQkgL4FYP/BxtAXSyy2IBdOaOJuvNKpNtAmidUGkKoGtf2SaAJreQFsCiv8vFFkCp1dxAhwAigNbdZfzdtVjroX+yu+QQwGzJlkIAACAASURBVFTAyS5gBHBrArnaBVxRBdCZO3rZXYwIYEDN+F8XMAK4NQEEMKhGIIAIYAkF0LVY61F9O5qlI4AIoE+AFsDge8Vq6c3iFkBn7thjy6LsYUkEAUQAlUDYGEBaAGkBNAXEEUAXsEHPWqwVAQwGGHUMIC2AtACak32yVADN3IEABt/+ESeB0AJICyBdwCXRPxEE0OCnS3To4pn6iaqgRZ4RQATQJ/CDPdOSFsCQm62CtgCauQMBRAB1wspM94oJtAA6HtKMASyRASKAEQRQvzSgn78KWuQZAUQAEcDwmyjqMjDO2zBLWwBVAJ25AwFEABHA0Fs/yjIwtACWyP9oAbTwWYv0rr++v1WEVB50mjPGqxlhMPi63839JN5/xRkTO9pYy07HmlSpbe9n3WIzZt0dhV8uCduqDTvXLMOr1cKMWXPTZc6YmpdfZ5Yh4pkxGx640RlT9ZIHzTKiBBSMvdBdV/btaxbjNelqxiS+etOM8br+2R0Toa541Rqa+4n/8qH7nBvubJbh1dvRjNnWAVbuWDjAXn+s8dG93Pf0oUPM00qss9d2++m4M53ldBg/ztyPV7mGGZNYv9KMWf/gGPe9NiDCWoIN7fqw8VH3YuOVz9jyTe3QA4rba5WuvuUO5/nUvsadW/wfV6lrcltz/QXOmBqnHGmWIY3tdVMTLz5qluMd666XXjX7841etcKlg1xbwQs3uO+PI935VH/s1S6+dqC114rzd1oAjWupSbxz585+lH6lQr9WoZ+v0s9m6SfcEMBggAhgZkkCAUzl5mWxALpyBwIYfI8ggAFcEMDAyoIAZvacSf4KAYwggJ9//rn/+TMVv88++0yGDBki+n1J/Y4qAogAKgFaAIPrQa63ALpyBwKIACoBWgDDcgctgCXTO/vXCGAEAVy0aJHMnDnTb/HT7fLLL5dXXnlFvv76awQwhB8tgPbNFxRBC2DFagF05Q4EEAFEAMPzJF3AmT1D0vkVAhhBADt06CDjxm0ZAzNhwgR/VnB+fr5suul4kzdjAFMRMQYwuNoggBVLAF25Y/EJ9nhOxgCm1oeqjAEMTB6MAUzFEmMMoNNPEEAEcCsCTAIJrhBMAgngwiQQZ/bQ8cMI4NaImASSWmXoAqYL2GxFKqMABDCCAGo3jnb3JrcRI0aItgLSBRwOjy7gzO5YWgArVgugK3fQBUwXMF3AdAFn9qQonV8hgBEEUAdy64SPoUOHyhdffOH/86hRo/x/ZxJIMEAEMLMbFAGsWALoyh0IIAKIACKAmT0pSudXCGAEAezUqZPE43F56qmn/GVgVPxuvvlmf1LIxlvtMYCVzrnTuZfEj2+YV9Nru48ZE//Xrc6Y2ElXmGVIpapmTP4t55sxVXZo5ozJO8G9fpP+OP7zB+Z+ZOFsZ4zXpZ9dxqY1ZsyaW650xtS89j6zjMSquXbM55Pc59PLXgMtMflFcz9eg/pmTGzPoWZMaQTEf3rNfc4tdjd349Wzv8ltFlLKAdoF7Mod8ffc96sejtfdXX8TP71nHrXXsqcZs2ykOzc0uP9ps4xE/hIzZvEwe93Cmq3ddbPGFXeZ+7mt3nZmzKWzX3fXuwhlyIbV5n4SM9xrbnpdDzXLEC/PjEks+tIdU7+DWYasta+h5C8zy/Fa9HGzjbDGn7kTfUZM+YczLNb7VLuYCGuV2oVkZwQCGPG6qQDecccdMnbsWJk/f740bdrUF8FL84ybTkQQwFTICGBwxUsggClgvCwVQD2RsLxxxRVXCAIYfA8ggAFcEMDAyoIARhSYkDAEMCK/yy67zJe/0aNHy1577SULFizwPw93ypK3zBIQQARQCdACGHyrVNQWQD3bsLxx+umnI4AhmRMBRADNh+r/AhDAqKSC4xDACPxWrVoljRs3lvvuu080cRfd6AIOBkgXcCoXBDC3BNCVN/zWQbqAAysEAogARngs+yEIYFRSCGDGpKZMmSJ9+vSRn376Sdq3b48AMgYwpS4xBjDj20sqagugK28ggOH1BQFEAKNmEwQwKikEMGNSX331lXTt2hUB/B9BJoGkViUEMOPbq8IKoCtvIIAIYJIAk0BKkDuYBJI5PJ1klkgkEiUqIQd+rF/8aNCggdxzzz10AYsIAogAluZtX1FbAF15AwFEABHAkmcRWgBLxhABjMjvuuuuk7vvvlvGjBkje+65pwwYMEAaNmwoEw9oYJbAJJBURMwCDq42zAJO5ZLNs4CL543FixfLKaecIoceeqjcdZR7qSQlwTIwqfWBZWBCcgfLwKSAYRkYt54ggKa+FQbocg633HKLPxP4119/lVgsJj179pT3j2hlloAAIoBKgEkgwbdKRW0BDMobzZs399cSPfLIIxHAkMzJGMAAMCwDE1hbaAE09cMZgABmyE8Xee3WrZuM2s0uIHaosfip55mFJFbNN2NW3Xa3M6bOzfeaZSTWLjRjROJmzJpb3Yvc1hx+nlmGVz/C4r75S53lJDassvdTta4ZE3/tIWdMrN/FZhlehP0UTLzDfcN239veT912Zkziq4lmjLfz/maMFeDVsY8l/sPL7nNuGWEh6AadrEMpN39P5o6bqswxj6l6/wPdbNr9ySwj/p/xZszsO19yxnR48BKzDImQx0TsEUcFr7kXTs47eD/7WCpVsmOW/u6OadbaLmPBPDMmsXad+xruYNddr1Fncz/xl+5xxmz6xV7kufIx9kLzsug381ikgbtnzGsV4Z6uZTeuxGe7P6LgNe1mHquXRbnDPJk0AxDACMDWrFkjw4YNkxdffFFq164tF198sbz66qsIoIMdApgKBwEMrjAVWQBduQMBDK4PCGBA7kAAAysLAhhBYBwhCGAEfmeddZYvfOPGjZNmzZrJyJEj5f3335fTTjuNFsAQfgggAqgEcr0F0JU7EEAE0L9HaAEMrAgeLYAR7KRkIQigwW/16tX+ZI8nnnhCjj++8Lu/S5culVatWsmQIUMQQATQJ0AXcHBFyGUBtHIHAogAIoDhD2AEsGRyF+XXCKBBafr06X5X79y5c6VNmzabo7t37y59+/ZFABFABNDVxZDDYwCt3IEAIoAIIAIYRdTKKgYBNMhOmzZNVPYQwKKgmARSvNrQAkgLYHECVu5AABFABBABLCu5i1IuAhihC1gXgX7yySfluOOO86OXLVvmdwGfccYZtADSAkgLIC2AgQS0C9iVOxBABBABRACjiFpZxSCAEcjqDOCJEyf6k0CaNm0qV1xxhbz77rtMAnGwYxJIKhxmAQdXmIo8C9iVOxBABBABRAAjKEiZhSCAEdDqm3zRZWCGDx8ur7/+OsvAIICbCdAFTBdwEAFX7kAAEUAEEAGMoCBlFoIAlhBt/McJdgk1m7hjFn9tl9FgOzPGq1LHGZPIXx6hjJpmjFSuZcYklv/kjPEa7GiWIfECMybxw9vumFX2QtCJb38w9xMbcLab7Rp7AW2vnn0NN/z9Wud+Ku/bxzxWqVrNjlm10o7Zrof7GtZpa5aRWPi5GeM1NBb8zrPPx2toL5RrHsg2DojPeNTe48ZN7hh7DXlJfDnD3I/X9y/umAXfmmXI+vV2TFN7cV+pbOSgAns/iW+/NI8lf/JXzphq+9qLCK96ZYq5nzoXDTZylL1As9fRuD4iMvNPezn3s/OZB5jHmv+z/YyofsYpZjmy7Fd37uiwr1lG4qcPzBhp0cW9nyq1zTK8RvZ1NgvJ0gAEMMKFSyQScscdd8iDDz4oCxYskB133FGuuuoq6d+/vyCAwQARwFQuCGBwXanIAujMHQhgcIVAAFO4IIAhD2oEMILBhIcggBHw6Zg//QrImDFjZIcddpB///vfcuaZZ8qkSZNk71b2G5PQApia0GgBDKx5tAAGYMniFkBn7mg4y84+tACmMqIFMLDe0AIY8NJNC6C7hTShr6hsoQT0U06NGjXyJ3386U9bvrt5+umny9q1a+XJGwoXh3ZuCCACqCv+0wUceJtU1BZAM3eMtLvkBAFEADV30AUc/IilBdCyDwSwJIQ+/fRT6d27t9SsufW4lA0bNvjrA3781Ei7eAQQAUQAQ++TiiqAZu54dIidOxBABBABDL9PEEA7hzgi6AI28H3yySey++67+9/+bdmy5VbRVatWlZYbvrAvAAKIACKAOSeAZu5Y8aadOxBABBABRADtTJFRBAJoYFu1apU0btxYxo4dKyeffLIMHTpUxo8f7y8GPXXqVOlae64NHgFEABHAnBPAZO54+OGH5cMPP9wqb+jnJZkFHFIlmASSmi/pAqYL2DaNtCMQwAjIrrzySn8G8CmnnCL33nuvaELX2cC6KPTgvg3tEhBABBABzDkB1BPW3HHPPff444WffvppqVevnnzzzTdSt25dGdjTWOJFC6AFkBZAWgBpAbQtI6MIBDACNp0no+J30003yaJFi/wWwR49esjIkSNlz6ljzRLyho5xxiTyfzfL8KrZolnwzxHuctZvMPcTO/FiM0Y8e/Gxtbe4x0bWuOIOez8RIuIvu9nGjr7ALsWrZMZsesDNtvIFfzfLiBJQ8JD7eL3+Z9jFbFxjx8yyhy7E9jrTLqe8RES4P/6IQ9XcMWDAAJkwYYJ4nucLYDJ39Jx4l3lI1c8b7ozxajQ3y5C4vW5e/F+3ucupZq/FGOt3ln0sESJW33iVM6rmwMPMUrxW7jUstYBNj492llPp1EvN/STW2Wv4rfu7OzfUGH6NuR+pUteMWXvTRc6Y6oOOMMuITzLWVRWRWPeuZjlel0Pc9ba2vYaouRMRiX8yzr2fXfuZxXj1tjdjKmoAAhjxyg4ePFgef/zxzdFt27aVOXPmSMHdA80SEMBURAhgcLVBAM3bKTignApgWN7Qk1hz+dHmySKAqYgQwOBqgwCmcvEQQLcgswyMmYP9gBUrVvhdOdr9q7P78vLy/JZABDAkGdECGK1iFYtCADPCJlJOBTAsbyCA4deZFsAANrQABlYYWgAzzJf/+xktgGnw04Wg9X/a8pfcEEAEUAnQBZzGjVQWoeVUAPVUg/IGAogAJgnQBZx5QkAAM2env0QA0+CHACZfGxgDWLzaIIBp3EhlEYoAhlNlDGAgG8YApmJhDGBZJKfyWyYCmMa1QQARwLDqggCmcSOVRSgCiAAWIcAkkNTqwCSQ4FuESSBlkZArYJkIIAKIAJbTGxsBRAARQOfNiQAigMUJ0AKYxvMMAUQAEcA0bphtGYoAIoAIIAJYjACzgN1JGAFM4yGFACKACGAaN8y2DEUAEUAEEAFEANPKughgWrhSgwse+JtZQuwEY0HRStXNMiTCgqPLR17hLKfeKHux4sTyH+xjiRARf/4xZ1Te0FvtUgo2mjGJqePdMa13tMv42l4UWVaudJ9Pf3sx18TG1eaxbHrgMvd+Bp5nliHrV5gxiQ//z4zJM84pkb/MLMOrVt+Mif/yoTPGa7iTWYZXr6MZU94C1l1xjHlIVU843M2mRR+zjMSs98yYdS+845aHU481y0h89B8zRpo1tWPWrnWf86672WUkCsyYxNxZ7v20tRcITsz+3tyPV7VqiXOU18Re2LrgYfdi9et/c3PVg6x+ypHm+cjy5XZM0zZuto13NcuI8vGD+M8fuPcTgZtXp515LBU1AAGMcGX1m55nnnmmvPzyy1KnTh259NJL/ZX99Xueozq6xUCLRwBTISOAwRUPAUzlks0C6Modt9ScZ2YfBDCgPiCAgfUGAQyoKwigW5BZCNrMwXLGGWfIW2+9JY8++qj//d+rr75a3n77bfnb3/6GAIbgowUwFQwtgMGVpSK3ALpyBwIYkjxoAUwBQwtgSO6gBdAWGEcELYAGPn2Db9iwoTz11FPSv39/P1pX92/RooUvhrQAhtyYdAGngEEAc0sArdyBACKAPoEIw1QQQASwRKYX8mME0KA6ffp0v6t37ty50qbNlnEN+kH3ffbZBwGkBdAnYI2X0xgEMLcE0ModCCACiACGP4AZA1gWyrd1mQigwXjatGnSvXt3mTdvnrRu3XpztP63vn37IoAIIALo6mLI4UkgVu5AABFABBABLHvNczBmDKAbf7Ib5+mnn5Zjjy2cCbdy5Uq/C/j0009HABFABBABDCRg5Q4EEAFEABFABPCPJBBh382bN5e1a9f6s4CbNGki11xzjbz55pty2mmnyZ072ktuMAs4FTKzgIMrHrOAU7lk6yzgfffdV5YsWeLnDp1AVjx33Fxjrpl9mAUcUB+YBRxYb5gFHFBXmAXszDF0AZspWGTvvfeWxYsXy/z58zcvA/PMM8/I/vvvLze2+c0sAQFEAJUAYwCDb5WKOgtYBXCXXXbxJ40VXUIqmTuujn1n5g4EEAFUAkwCCckdzAI2c4grAAGMgE8TuU4E0S+B6LZmzRpp2bKljBo1Sk744VWzhBojRrljvDyzDImvN2Py73AvBFr9qrFmGYn1ERb5jG8wy8kffaUzpvrIh80yEmt+tWMWfemOqVrHLEMiLGi84dkJznKqXnizuR+vWiMzJv6x+xp5nQ82y0gs/9GMkaULzRhvp8PcMREWtvZqtTL3U/DSjc6Y2OHnm2WUx8Vci+eN4rlj/38V5hPX1vYp933iVWtsFSGJ/MVmzJRe7gWn+0x92yxDKtWwYzatM2PiL9zvjPG2b2+W4XWJcJ8smeEup1YLcz8SYcHpDf941J07zr3K3I9Xa8v487Dg+C//NnJhPXM/ssFerD5/7DiznGrnuxe09zzPLMOray/EXfDmaGc5eQdfaO5HyvFXhOyDL1kEAhiBX69evaRRo0b+LOBnn31W1q8vlLGff/5Zqt95ulkCApiKCAEMrjYIYCqXbBZAHT6yevVqmTx5slSqVMnPIwsXLpRZs2bJquP2M3MHApiKCAEMyR0IYAoYBNCdYhBAMwWLqABOnTpV8vLypHr16tKqVSv55ptvZNKkSbLHO+63VS0eAUQAlQAtgME3W0VuAfz888+ldu3asnz5ctFWDx0P+NBDD8mQIUNk9v5dzOyDACKAfu6gBTDwXqEF0EwhzgAEMAI/7copKCjw3+KTW+/evf0xgFfJt2YJCCACiACG3yYVWQDD8satt96KAIZUCbqAA6QXAUQATdNIPwABjMBMBbBTp05y//1bWvuOOuoo/wsh9zZZapaAACKACGBuCmBY3hg3bhwCiAD6BKoyBjCwJjAG0FSLEgcggBEQBg3mPvroo6VevXpyfzN70gQCiAAigLkpgEUnjymBZN547LHHEEAEEAF0PH8RwAhyUsIQBDACwKQA6sr+yYSOALrBMQs4oBuHWcDB3Tg5MAs4mUPmzJnjvzgigOH5gy5guoD9F2ZmAUewk5KFIIAR+CWT99VXXy2VK1f2B3UjgAhgUQIsAxNcH1gGpnD5qKVLl/q5Y+DAgQigkXMRQAQQAYwgJqUQggBGgEgXcDFIrAOYUmsQQASwOAFX3qAFkBbAJAHGAIbkDloAI9hJyUIQwDT4BSX0+Ef2Yq5Sp7ZzL4k5c8yj8Jo1M2MSn37ujPH2+JNZhmzaZMZ47fYyY8xFYQvy7TKiLBr7nxfc59yiubmfgg8+MmNiLZq499Ojp1lG4qdZZozkuRcFL5j2jVlGXvuWZoy3x6FmjCz63n3OHf9ilhFlUWqvrnth38Rae9HqWLMIdds82rILCMwdk++0d9igoTtmuT0GOTF/vrkfr4mxoHQNe5Hn9a9+YO6n6tBhZoxX3VowPWGWEX/2HjtmjTsH5e25m1nGJ8e5FzHXAnpf2999H3XvZu7H2+EQMyYx601nzIoHXzHLqNPZYi/iHd7PLCcx4zNnTGy/U+0yVs0zY7zabdwx65fZZTTtY8ZU1AAEMI0riwAWwkIAUyuNhwAG3kkIYCEWBLCQAwIYkDsQwODcgQCmYSeZhSKAaXBDABHAsOqCAAaTQQARwKI1AwFEAJUALYBpiEcZhiKAacBFABFABHALAY8u4MjZgxZAWgBDcwctgLQARs4kpRuIAKbBEwFEABFABDCNlLE5FAFEABHALQRoAcwki5T+bxDANJgigAggAogAppEyEMBisOgCpguYLuBMMkjZ/AYBTINrs2bNpGbNmvLjjz9u/hWzgEMAVjJmDTILOBgcs4BTuFSEWcCBuYNZwIH3ALOAAySRWcDBdYVZwGkYTEC9SiQS9pz6Eu2i4vx4r732ki5dusgDDzyAAFqXFQFMFRmWgQlO4jmwDExg7kAAEUBdVYExgIH1IMEsYOspW+K/0wJYQoRLBh1gltDo4eecMYnVP5tlRPmiwpqrT3OWU/P6R839lFZA/NN/OIvydtzb3lVeNTvGiIjCLQr/pcOHO/fU8KFnS3ysWkCUY7F2FOWcl59/slWM1Lv7STOm3ARUM9bLKzcHuuVAlp52sHlU9S4/w30fNepslpGYOdGMWTfh386Y6uedb5YhlaubMZ4XM2MSS752n3OrvnYZP7xhxlhrbkpD9/qU/g7mfWXuZ8349915+dzTzTJiLe21V+NL3dxkjnudWP8g6tQxj+X7gdebMTu+Ms4ZE2u8q1lGlID47zPd+2nYyS4mC3OHfVLRIhDAaJz8qMGDB8vy5cvl5Zdf3vwrBDAYIAKYRsUqEooAZsZNynkSD8odCGDwtUYAU7kggCHPGQQww4RZ+DMEMA18CGB0WAhgdFZFIxHAzLghgOHcaAEMYWOMt6UFMJgbLYAZ5qhy+DMEMI2LggBGh4UARmeFAGbGaqtf0QIYChEBRAB9AnQBB1eEcp47SiE7hhaBAKZBFwGMDgsBjM4KAcyMFQIo4jEGMLDyJBgDmMoFAUQAixFAANN49iCA0WEhgNFZIYCZsUIAEcCwmoMABpBBABFABDDzhw0CGJ0dAhidFQKYGSsEEAFEALcQYBZwam2IMQvYmVxpAYzw7El+AURnADMLOAIwEUEAo3EqHsUkkMy4lcdJIEW/HMQs4MLryjIwqfW7JsvAZHjTi7AMTMboCu9HFoK2ASKANqPiEQhg+sz0FwhgZtwQwHBuTAIJYcMs4FQwrAOYYQLKzp8hgBGuW1IAf/vtN8nLy5Mnn9yyQO66q44xS6g69Fx3M2yV2mYZklfVjNn44A3OmEqnuo/D/3GskrkfmfWRGbP2ZffCsjVH3GiWkVgx24yR3+e7Y1p2tctYvcCMSXwz3X0Nex5olhFrZB9LfIaxoHTlyuZ+pHZTO2b1IjPGa9bNGZPYtM4sI9ZgFzMm/ol7gfJYH/cC5/4OyuFMvqItgCeeeGJK7vj5L71MNi1uPctd75r1MMtIrJxnxmx69l/u3HHEIWYZUqeVHbPmNzMmMeNL9zn3sBdFlk359n7ee8u9nwPsc058/rG5nzUffueMqXX+38wyYq33NWM23X+O+3w6tDPL2PCZ+1i1gCrdtjPL8Zo0dh9L9wF2GVXsRanj09311tvlKHs/tduaMRU1AAGMcGX79u0rbdq0kcmTJ8vQoUOle/fucvzxx8u9994rA37Ysih0WFEIYCoZBDC4tiCAqVyyWQC7du0qZ555phx22GGy3377yYsvvujnjUGDBgkCGHwPIIAB9wACGFhZEMAIAuMIQQAj8OvVq5dMmzZNDjnkEOnXr59cdNFF8s9//lOOOuoooQUwGCAtgAFJnBbA4CRegVsAW7ZsKS+99JJ07NhRZs2a5fceaN7QDQFEAJUALYDB9cCjBTCCnZQsBAGMwC/ZlbPjjjvKyJEj/YSub/O6IYAIoBLw6AIOrAh0AXeToLyBAIYnXloAaQH0cyoCGMFOShaCAEbgpwL4448/io4B/PDDD6V3796bf4UAIoAIYPhNlOsCGJY3EEAEMEmAFkBaACNoSJmEIIARsKoA1q5dW7744gs58sgj5e9//7t4nkcLoIMdXcABb/F0AQfWmIo8CSQsbyCACCAC6H740gIYQU5KGIIARgCY7AL++OOPZcaMGXLqqafKfffdhwAigJsJ0AUcXBlyvQWwW7ductZZZ0mXLl1kp512kunTt8wmZwxgcJ2hC5guYLqAI4hJKYQggBEgJgVQJ4K0bdtW3nzzTX8W8JgxYxgDGMKPFkBaAJUAAtjNzxM6bGTmzJlyxhln+P9OCyAtgLQA0gIYQT/KNAQBjIC3qADqG70uBaP/7eSTT5Yba9hr1bEMTCpkloEJrngsAxMgzhVgHUDNF7qU1KRJk/y8MWrUKGYBh+ReWgBpAaQFMIKYlEIIApgGxKILuyZ/tuGW480SKg0a5o7JX2GWIZVrmDHLrrrNGVP/xpFmGZLYZMZ4NZqYMevuus4ZU/3yu8wyZJ29WHHBPwtbU8K2WP9B5n682q3NmPhTtztjvKMGmmV4NdyLo/oFVKnnLCex9BtzP/L7HDsm314oV1q5F3H26toLwkZZWDwx520321Z7mOfjRVhw2iykDAOCcsfikwtXEnBtDS/o72bT2l5MOv7ZRGs3Ep/pXgA470B7IWKpEmGR8sq1zGNZOfpxZ0yd4/Y2y5A8e0H71c+/7yyn1kkH2fupZJ9z4js3W2/XXc39eK3txa8TCz5z54733zH3I+3a2DH/G//uCvSqu59X3q4RFmiOsLh7/HN3XfE6HW6ej1evoxlTUQMQwDSuLAJYCAsBTK00CGDIjRThyzIIYHgSQgBT2SCAwfUFAQzIywig+wWSbwFHN0AEEAEMqy0IIALoyiS0AP6PDi2AKdWEFsDgO8ejBTC6nGQYSQtgGuAQQAQQAdxCgC7g6MkDAUQAQ3MHXcCBaBDA6Pkl00gEMA1yCCACiAAigGmkjM2hCCACiAAWyR2MAcwkjZT6bxDANJAigAggAogAppEyEMDisOgCpgtYx5EjgJmkkVL/DQKYBlIEEAFEABHANFIGAogACrOAU+8YBDCTLFL6v0EA02CKACKACCACmEbKQAARQAQw4IZBADPJIqX/GwSwhEzzrznWLKHKfr2dMV7PE80yJG6vz/frIHc5LZ583t5PlIgISecHAQAAIABJREFUx7LpIfeag5XPu9/cU2LDKjNGNq11xiRm2GugSZtO5n4Srz/njmnVwiwjtv9QM8a8zuuX2WXkVTFjEt/Za4J5OxnroFWqae7Hq1LbjInPNdYBbPEnswyvdoT1y8xStm3AvD/3MHfY6rLj3Lmjk71WXeL3b839rH3kWWdMjZMOM8uQ2hHWuVz6q1lO/oR3nTHVBh5jliEb19sxa1Y7Y+IffWKWEevZzYyJfzbNfQ2bNDLLiP3FWEtWRBI/vefOhT/MMvfjtWxpxiQWLzZjvE7utQ295n3sMqq610TVAuLT/+Vmu8vR9n6yMHeYJxUxAAEMAaWtffr9zry8PHn88celSpUqcsMNN8hJJ50k55xzjowfP16aNGkid/VpJofs0MyJGwFMxYMAhlQZS64RwEBw5UkAo+aOq+uJ7Ne4rjN3IICpeBDA4CqDAKZy8RBAtyCzDmAwH03iX3zxhVx66aX+d3+fffZZueaaa+SQQw6Rfv36+Z+CGz16tDz32KPy/QV/lhqVw1eeRwARQCVAC2DwvVbRWgCj5o5nHnlYPu7bWarnxUKTNAKIAPq5gxbAwHuEFsCITX0hYbQAOloACwoKZPLkyX6E/nPdunXlmGOOkSeeeML/bwsXLpTmzZvL+3/bV/q0ahB6JRBABBABDE9UFVEAo+aOl/rsKD3qhXelI4AIIALoyB10AZfIABFAhwB26tRJ7r9/y1i1tm3b+t2/l1xyif+rRCIhsVhMnj9+d/lLx/AxYAggAogA5pYARs0dj3TvIAc1Ce8GRgARQAQQASyR5Tl+jAA6BLBbt24yZsyYzRHt2rWTCy64wP9fcvM8T549bnc5cicEsChKJoGkViy6gINvtorYAhg1dzzcrb0c0jR8sDsCiAAigAggAlhWBBDA9MlaExVEBAFEAJVALs4CDlouKuzlEQFMvU+YBRyQOxgDGPicYgxg+o/vor+gBRABTL8GIYCpzFgGJrAeIYCFWBDA/1UPloFJuU88loEJzh0sA5P+sznNXyCACGCaVUYXX7LXJKQFkBZAWgDt4SO0ANICiAAGP4I8BDD9Z3Oav0AA0wRWPLzg+cIJIa4ttv8g59/jn75oFSFeFXtx300fT3WWU6l/P3M/smShHbPd7mZM4h33wrLeAcebZXixymaMGVAlwmKi7z5iFiO1a7mv8W7uBXv1x4lVP9v7qVzDHfPjx2YZq5+1F3mudfZJZjlS2b3Qs9eoq11GQb4Zk1htcKlkMNFlMprvYe6nvAVsutNeAD725wPdh109fPWB5A9X3WXX71q92zv34+3axcQ3b7i9uHubey40y1n9wHhnTK3zB5tlJGbbi197zY3F26vZuSPxnXuRZz1Qr3Yd9/G26GCej9fY5p9YPN1ZTv4/njL3U7W5vXC7d8ABZjlWgNd6XytEZ1maMYmfJrnrbSv7WeU1ci9abR5EFgcggBEuno7p6dq1q1SrVk0eeeQRf1HoM888U6699lpBAIMBIoCpXBDAkLpSQQXQlTeUBAIYXB8QwFQuCGBI7kAAIxhMeAgCGAGfJvKpU6fKRRddJH/961/l448/lsGDB8ukSZNk/+VvmiXQAhiQ0GgBDK43tACmcsnSFkBX3jjooIMQwJDMiQAigD4BWgBNtyhpAAIYgaAm8qILu+pPevfuLfvvv7/c1LPALAEBRAD9fEYXcOC9UlG7gF1549Zbb0UAEcBCAnQBhzTv0QVsykUJAxDACAA1kRdf2PWoo46Shg0bythDG5olIIAIIAIYfptUZAEMyxvjxo1DABFABND19KQF0HSLkgYggBEIBq3rdfTRR0u9evXk0cMbmyUggAggApibAlh8Qehk3njssccQQAQQAUQATX8oywAEMAJdBLAYJGYBp9SaGLOAg++kHJ4F7MobCGB44mUMYMALM7OAAysMs4AjCIwjBAGMwA8BRABZBibgocQyMM7sgQCm4mEZmIAqwxjA4PuILuAIdlKyEAQwAj8EEAFEABHACKliqxAEEAFUAqwDGJA7WAcw3XRSJvEIYASs69evl0suuUSeeeYZWblypfTq1UtGjx4tu+22m8Tnuhei9ItfaSx0u2SxfRR17UVJpUU3dzn5S+39zHIvJu0X0Gm/COV85IzxdjnELCOxYZUd884z7pia7sWM9cer3rAXc60z4jz3fmZ9YR6rbN/DjEm8+4qbW5tWdhkbN5oxMtdelNo76HD3sdRube4nsXqBGSNezB1TPcJEq2b2gq/2gZR+hDN3fP2EvcOlRm7Ij7DQ9m92fvF69nYfy292fUn8bucXr0tP+5xjxqL3G1abZSR++t6MyX/ffd/HquWZZSz98hczpvmdlzpjEv9+yywjNuByM2besUc5Y1r9JcrC7faqFt6B+5vHIsuWuWM6RKgH+UYZKtf17EW0rYP1Gne3Qirs3xHACJf2/PPPl/Hjx/uLQLdt21Zuv/12eeWVV2TWrFlSb9WndgkIYAojBDC42iCAAVyyWACduWPha3buQABTGSGAgfUGAbRvp6AIBDAzbjnxqzVr1kj9+vVFB23rItC6bdy4cfPH3YcfF+GtCgFEAJUALYDBOaOCtgCauePwpnYORQARQP3UIS2AgfcKLYB2CnFF0AJo8Pvyyy9l1113lTlz5vitf8mtX79+vhg+co39TVu6gFMh0wJIC+BmAhVUAM3ccXGE76EigAggAhj6lEYAEcCSETB+PX36dNG1vObOnStt2rTZHK3refkLQV99nL1/WgBpAaQFMPw+qaACaOaO4X3t3IEAIoAIIAJoZ4qMImgBNLBpN06DBg3kH//4x1ZdwO3bt5cLLrhALhrQxQaPACKACGDOCaCZOw5rYucOBBABRAARQDtTZBSBAEbApqL3/PPPy6OPPuq3AiYngfz4449Sd+UUuwQEEAFEAHNOAPWEnbljwat27kAAEUAEEAG0M0VGEQhgBGz5+fly6aWXytNPPy2rVq1iGRiWgUmtNSwDE3gn5foyMM7cwTIwwdmXZWBSuDAJJLiqMAYwgsA4QhDAkvGTDbfYk0Aqn3Wzey9xe902r7r9zeGCsRc69xM7eaR5tlH2s3HMWWY5sbru9fdiJ19rliEJe02q+DsPu895v9PM/SRWzTNjNj35kDOm0gF7m2V4Ox9pxsQfu9IZ4+25h1mGrLLXT5RqVc1yYrue5IxJbFxjlhElIPHbZ+5zbryrWYxXdzszprwFLD3tYPOQ6g0/2c2mUSezjMTqX82Y1Xc96IypdeaxZhlSta4dE6HOJD6c7D7ng4+x9xNhDblNL7zsvqePG2DvZ4W9xuLGie86y1n57RJzP40esteMXHnZme5ruMf25n681hHW9ly31i5nu13cebl1hLUEzb2IxH/+wF1XmvYyS/FqbxnbbwZXsAAE0Ligupp/586d/agnn3xS8vLyZNiwYXLDDTeI53kIYAg/BDAVDAIYXFkqqgBauQMBDKkPCGAKGAQwuK4ggCUzUgQwggB+/vnnctppp/ni99lnn8mQIUNkzJgxcsYZZyCACKBPgBbAzBNRRRZAV+5AABFAJUALYOa5AwHMnJ3+EgGMIICLFi2SmTNn+i1+ul1++eX+l0C+/vprBBABRABLloOkIgugK3cggAggAliy5IEAlowfAhhBADt06CDjxo3bHDlhwgTp37+/6ADvgtsLvw7i2hgDmEqHMYAhXRqMAUwB42XpGEDtAnbljhVDDrVShzAGMBWRxxjAwHrDGMCAusIYQGeOQQARwK0IMAkkuEIwCSSVC5NA3MkDAQzgwySQFCh0AZvvQaEBtABmzk5/iQBGEEDtxtHu3uQ2YsQI0VZAuoDD4TEJJOBtlFnAgRWmoncBh+UOuoCD8wezgFO5MAkkpMeEWcAlMkAEMIIA6kBunfAxdOhQ+eKLL/x/HjVqlP/vLAMTDBABRACjZqaKLICu3IEAIoBKgBbAqJkiNY4WwMzZ0QIYgZ1243Tq1Eni8bg89dRT/jIwKn4333wzy8A4+CGACGCE28sPqcgC6ModCCACiABGzRK0AJaMVPCvaQGM0ALYrVs3f9mXoC3x26f2danWwBnjVa1nl1GOIhLrl5f4aLLtnEt8wio6EbhtKy7XVm9kntK169wL1Jan85FqDc3z2dYB+vLoyh0FT7sXbtfjzevnXhh8W5/Ttthf/KtnnLuJdTlhWxxG1u0j/tPrJT7mWIfDzTKi5I69a7kXmt/vE/cC/noQUY7FOtgoTGK7DLKKqbB/RwAjCKC+xesn4F588UWpXbu2XHzxxfLqq6/6yX30CPfXEvziEcAUyttKdMrTnVuehClKEkcAS1Z7kr0HYbljVJ/CZaVcGwKYSgcBDK4xUWTHqm9RpCtK7kAALdLl4+8IYAQBXLp0qSxbtsxfCqZZs2YycuRIef/99/3FoRHAzCoyAhjMbVtxiZLEEcDM6nbyVyqArtyBAIaIDC2AGVU8BDAVWxQmtABmVN1y40erV6+Whg0byhNPPCHHH1/43V9N6q1atfK/CIIAZlYPtpXoZHZ0ZfMrWgDLhmthK3v56wK2cgcCiACW5h0RRXas/dECaBGqWH+nBdC4ntOnT/e7eufOnStt2mz5aHT37t2lb9++CGCG9wMCSAtghlUn+GflUACt3IEAIoCleQ8ggLQAplufEECD2LRp00RlDwHcAipKS5ZVERFABNCqI2n9vRwKoJU7EEAEMK06bgQjgAhguvUJATSIaTdOgwYN5Mknn5TjjjvOj9bxgNoFrOsB0gWcbpUrjEcAEcDMak7Ir8qhAFq5AwFEAEvzHkAAEcB06xMCGIHYsGHDZOLEif4kkKZNm8oVV1wh7777LpNAIrALC0EAEcASVJ/Un5ZDAdSDdOUOBBABLM17AAFEANOtTwhgBGL6Jq+JPLkMzPDhw/1lYHr06EELYAR+QSEIIAKYYdUJ/lk5FUBX7kAAEcDSvAcQQAQw3fqEAEYkpks6dO7cWapUqeLPCN60aZMMHjxY7mi2wCwhr98x7pj1q8wyZMMGMyb/xbecMdXOOs8sQ5bPtmPqtjNjNj35kDOm8tBrzDKkIN+MSaz5zR2zdK5ZhlSrYcYk/v1vZ4x3wKFmGVKruR2z4Et3TIRjlZXL7P3UqhUhpoX7nOt1sMuQPDMmsXTLd7YDXxbq2vvxGnY29/NHBYTljmvXfmceUp0T+7pjdtrLLCPxwYtmzNpPZjljag6yFwiWZUvN/UgDe7b26nGvOMupdbGdxxKfv2cei9e0qTtm3VqzDPHstRwTM79x30f7GddYh8y0OcA8lsSMl50xianTzTKkdoS8ULeOWY7XtIn7nHc8yCxDKlU3YxLfvObeT8eDzTK8eh3NmIoagABGvLKaxPW7ntoSqOv/DRw4UPbYYw8EMIQfAhgABgEMrC25IIBBuQMBDE4eCGAqFwQwuK4ggBEFJiQMAYzITwVwxYoVMnXqVP8Xyc880QIYDBABRAALCdACGJY7EEAEUAl4tAAGVwRaACPaSeZhCGBEdprEd9hhBxk7duxWv9h4a+Hi0K6NLuBUOnQBh9QYuoBTwHgVoAs4KHcsH2IPG6ALOPU+oQs4pDWMLuDU3EEXsNNNEEDL3v7397APuyOAtAD6b/GMAQy5k2gBDMsdCCAtgLQAOh7AtABGtJPMwxDAiOwQwCKgmASS+qaJACKAIQQQwCJgmASSmjvoAg6+cxDAiHaSeRgCGJEdAogAuqoKLYBhdGgBRAARQGfuQAARwIgeUtphCGBEogggAogAbk3AYxmYSNkDAUQAEcBiuYNlYCLljrIOQgBLSLhg3DCzBO+wU9wx3022y+hymBmz+rrLnDG1RkZYey+vsrmfxAp7bb3E5EnOcmL9htv7Wf2LGSMSd8d8/1+zDK+TvSZV/GP3Wmpe8whr/DVsaR9Lg52cMfHxo80y4r+vMGPydu9hxnhdj3DHJAz2Ojayps0lPmuCcz9eq33sY623vRlT3gIK7h1kHpK3a1d3TN26ZhmSF6EVdvKH7mvQpZO9n4bN7JiV9lqBidnutUi9Dva6kL/f84J5LA2O6uWOqVrVLMNrUN+MSawy1nn9bZFZRqzfxWZMYrZ7HdjEhx+bZcwd/6kZ0+7WIWaMrHWvoeh1O8osw6thrNMoIvEZz7jr7fYH2vthHUCTUc4HjB8/Xq677jqZNWuW1KhRQ7p37y4TJkyQas/aNyYCmFp9EMDgW8pDAFPAZLMAhuWNmjVrCgIYfA8ggEH50n7OIICp3DwE0C3IiUQikfN2ZwBYsGCBtGnTRm6//Xbp16+frFq1SiZPniyDBg2S6s9dYuJDABFAnwAtgIH3SkVtAXTljVq1aiGAIZkTAUQAlQAtgKZalDiALuAICL/44gvp2bOnzJkzR9q2bbvVL+gCDnmLpws4FQwCmFMC6MobCoIWQFoAfQJ0AQdWBAQwgpyUMAQBjACwoKBADjnkEJkyZYr//wcffLD0799f6tevLwggAui/rTIGMDiJ5/AYQFfeQADDEy8tgLQA0gIYQUxKIQQBjAhRe8o/+ugjefPNN+Wll16ShQsXyieffCJt3rvdLIEu4KCExiSQoIrDGMBUKtk8BjAsb7Rv354WQLqACwnQAkgLoGkRZROAAGbAVd/stSv4oosukvPr/WCWgAAigD4BuoAD75WKOgaw+MkWzRuaO+gCDuk9YBZwChhmAQfXFWYBm/rhDEAAI/DTlr533nnH7/pt0qSJ3/J38skny8svvywHL3jFLAEBRAARwPDbpKIKoCtvHHrooQggLYC0ADqenowBNNWixAEIYASE33zzjey5556Sn58v8Xjcb/0799xz5ZxzzmEMYFgSZxJIKhlaAHOqBVDzxoUXXijvvvuunze22267zXlDQdACSAugT4Au4MCKgABGkJMShiCAEQGGreYfZRJI7JgLnXtJrFtiHoVXs4UZs/qqc5wxtW641yxD4hvMmMR0u9Vzzcvuxa1rXXePuR/xPDsm31hYNlbJLiNmL34dn/Sws5zYIfbiqF71xuaxFDx4vjPGO/okswz55Rs7JsLiwN4uxmKtEeqKV62heSzxBe7Fur2a9gLDXpOe5n7+qICw3LHi7MPNQ6p9qrEAfNOdzTKkIN+MWXmzOzfUOfsYswypVseOKVhvxqz++7PuPHa6vYiwVIpw3683jqV6TfNYZZmduxNff+u+p/fZz9yP12JPM2bD6IucMZUa29dnwwJ7Efkqf+piHotnfPPZi/AlkCj5Mv6VsRB0e5ub16ibeT4VNQABjHBlBw8eLI8//vhWkbNnz5Z27dpFagFEAFMhI4DBFQ8BTOWSzQLoyh0IYPA9gAAG3AMIYGBlQQAjCIwjBAGMwG/FihWiY3Y6d+4s119/vf+Lxo0bS15eHgIYwo8WwIAkTgtgcBKvwC2ArtyBACKASsCjBTCwItACGEFOShiCAEYESBfwFlB0AadWGrqAg28kuoBF6AIuUjfoAk65URDAkNwR4YWZFsCIAhMShgBG5IcAIoCuqoIAIoBh9QMBRABduQMBRAAjakiphyGAEZEigAggAliMAJNAImUPBBABRAC3JsAkkEipo8yDEMCIiHUNwI4dO8q99249W45ZwMEAGQOYyiXKmBYmgQRwy/JZwGG5gzGAwbmDSSAB9wCTQAIrC13AEQWGLuCSgRoyZIhMmzZNnnvuOalVq5Y0aNBAYrEYk0BCsCKACKASYAygSFjuQAARQP8eYRJIYEWI8sKMAJbMa2gBjMjv+++/l1NOOUWmT58u69atE5aBcYNDABFABLCwDoTlDgQQAUQAw58jCGBEOSlBGAJowNO1/i644AL/f8mtW7ducvTRR8u1114r8f+MtvHXqOGOWb3KLqN6dTNmzZNvOGNqnnmiWYYkEmaM16SrGROf8oIzJtbrSLOMREGERaknPeksx+vQztyPRGArTTu6y1n4nb2fVt3NmA0PjnLG5NWwF62O7dje3E9s31PMmMQvH7nZtu5rl7Fomhnj1WnljEnEC8wyYs33MGO2dYCZO7561DykxM/z3degub1AfOJj90LbugNvn73dx7JunX2sv/xixni97cWvZeVc9zk32MncT/xV98LtWkD+twuc5VRpWM3cz4qZi82YBjeNcMYUPPWIWUalYbeYMStHuD8EkFctzyxjw1L7Ote/7VaznMQ377iv4a5H22X8bi9o79Xf3l3OJvt8vCa9zGOpqAEIoHFlzSSOAAYSRAADsCCAgXUFAQxPQghgKhsPAQysMAhgABYE0C3iiUSEJp+Kqr8RzgsBDEjAtACmQqEFMPBuStACGN57QAtgcAamBTCFCy2AwVWFFsAIEuMIoQWQFsCtCUR4H6ALOKDSIIAIYDEC5ssjAogAighdwMHVIEEXcMnsLsKvEUADUocOHeTcc8+VCy+8cHNkp06dZMCAAYwBdLCjC5guYCWQyy2AZu5AABFABDD0KYIARjC4EoYggAbAPn36SN++feX222/3I1euXCnNmjWTSy+9FAFEALcQoAWQFsBiBMzcgQAigAggAlhCiSvJzxFAg96IESPkscce89f/q1+/vlx11VXy9ttvy/DhwxFABBABNO6fXG4BNHMHAogAIoAIYEkMroS/RQANgNrid8YZZ8gbb7whdevWlRtuuEFGjx7NMjAGN7qA6QLO9S5gM3cggAggAogAllDiSvJzBLAk9ERYBzCEHwKIAOa6AFqpJY4AIoAIIAJoJYoy/DsCaMB96KGH5Prrr5f58+f7n35LbkceeaTfJfz3pivMy1PzenvBV6uQxHp7P/OOO9ZZTNsJb1u7kUT+EjMmSsDv553lDGv08HNmMVHOWTa6F9H2arkXGfYlZd0i81jizxoLNA++zSwjSkD8v+5FYb1dDjSL8erYi1/Hv3Uv1K07ie3krk/mgUQMSKxd6I7MsxdB9+p2iLi3bRdm5Y5rZn9qHky7+4c7Y7xmPcwyEr9MMWN+vXKsM6bFrcPMMmTTJjumej0zZtEV9zhjmtx1jVmGrHYv8uwXsNi475s0s/ez5Dc7JmYswNzMrruxlnuZ+4lPcy+Kn/hxtlmG12lnM0ZWRfhwQdM2znJibQ6w9xMhIv77TPd+GnayS6nW0I6poBEIoHFhly5dKs2bN5eJEyfKAQcUVtply5b5E0FeffVV2fPtv5tVAwFMRYQABlcbBDCAS5YKoJU7tr9xy9eFwpIIAphKBgEMyR0IYAqYGALo9BME0NQ3kaOOOkoaNWokjz5a2JL38MMPyzXXXCM///yz5I+wW0kQQAQwQjXzQxDAiiOAeiau3DF3vy5mtUAAEUAlQAtgiPTSAmjmEFcAAhgBn84AHjJkiPz2229StWpVf1mYHj16+JNB1lxqf9MQAUQAI1QzBDAMUpa2AOrpuHLHT/vsYlYLBBABRADDbxO6gM0UQgtgyRCJrFu3Tpo2beovB7PbbrtJ27Zt5dNPP5WePXsigCFwGQOYWa2jBbBitQC6cgcCGHyPMAYwlQstgLQAZvZEcf+KFsCIVAcPHiyrVq0SXdx13Lhx8u233/q/pAUwGCACGLFiFQtDACuWAOrZhOUOBBAB9AkwCSSzZKlDZugCzpid/hABjIjvrbfekiOOOEL0+54nn3yyXHnllQiggx0CGLFiIYBSUWcBJy9tWO5AABFABDCzPJn8FQJYMn4IYER+BQUF0rp1a1mwYIH8+OOPot/5pAUwHB4CGLFiIYAVXgDDcgcCiAAigJnlSQSwZNySv0YAS8jx5yN6myW0uLuwtTB0q97ILCNWv6MZs/a6050xNa5xrzFn7uB/AfFZL5uhG56f6IypNuJhs4z4nElmjGxa54yJbW9P0imY/IC9nyW/O2O8PQ81y4g16WnGxH96zYwxAyrXMEOiBMRa7+8Miy/63Cwm0jkb1znW7hBzP5KFa3l90tpef2y3565yn3vDFjabSvY6ij8NvMRZTof7LzL3E2XdyPgn9pqoP9/yjHNfbV5+yzyW+K8fmTEyZ4Y7pnmENUTnzzH3k/jya3eOOnGoWUakgHnT3GFVq9nFVK9px+RVtWOsiAh1MtZiD6sUic97xx1Ts4lZRqzlvmZMRQ1AAB1XVtf5GzhwoOh6XroI9LRp06R79+5y8cUXyx133OH/8uS2TWTVpgK5v8d2oSUhgKloEMDg6oIApnLJNgGMkjeGDh0qs//5mNzQsJbz2YIApuJBAEOqDAKYCgYBdOYXBNCBZ8WKFdKgQQOZMmWKP+P37rvvlhtvvFHat2/v/zfdtqtVXU7v0FQGtg1/00AAEUAlEKk1jBbAlMqSbQIYJW907NhRjl70sxxTy90qgwAigJFbnxBABDByZSkMRAANYCp+f/3rX2X48OHSr18/fxmY6667TpYsWSJr1qzxvxLy3r6dZfta4d0sCCACiACG32hWV3+2CaCeaZS88UzTutKusvszYQggAhj5mY4AIoCRKwsCGAmVit/3338vr7zyijRu3Fg++OADGTRokN8SuHz5cjn/1EHyxUHdnWUhgAggAphbAmjljQsvvFAmVN5o5iAEEAE0K0kyAAFEACNXFgQwEqrkeJ73339fDj74YP9rIJrcq1Sp4n8T+NdXn5cHem6PABYjwCSQ1CpBF3DwbVIRWwCtvKEvjxd99LaZgxBABNCsJAhgOCLGADqrD13Axt2VHM+jk0G0y/f555+XCRMmyC233OIL4KAq6+WUdu6ZRrQA0gJIC2ButQBaeeP888+XnrcYM3xFBAFEABFAR+5gFnDk6hEUiABGwKfjeaZPn+5PAjn77LN98dNPw23cuFHe6dtZdqztXmYBAUQAEcDcEkA9W1femDlzpqw6ZG8z+yCACKBZSWgBpAUwciXZOhABjABOl30ZNWqUzJgxQzp16uT/olu3bvLrr7/K573biud5zlIQQAQQAcw9AXTlDR1KMqWNvf4nAogARnhEFYYwBjAVFV3AzuqhZhmgAAAQ1klEQVSDABp31+LFi6VLly5y3nnnyciRI/3oTz75RPbee2957bXX5ID5L5r3Z+yIM5wxia/tsUDeLgea+4l/+Lz7Yvf5s1lGrGEXMyY++w0zZu2jzzljat04ziyjNAISq+ebxXi1WpsxBe/f545ZvsIsw9unnxkTa7CLMybK4suJF58w9+PtvpsZE+t2srverrQXwZUIC77GP3rauZ+8Ay8wj7W8LQRt5Q0dT7zqwiPN86o5wL0Yt9Srb5Yh8U1mzIox7txR92927pCWO5v7kQWF31B3betefM/59+pnDbGKEJnzlRmTWLPWnS/r1TPLkKpVzJjEsmXOmE0fGws4i0jVSx8y92OuIbrMvZi97mD25WPN/bS/+TQzRuq766XXYne7jIL1Zkxi6Xfua9i4q1mG16CwUScXNwQwwlWfOHGiHH300fLRRx/JTjvt5C8Gffjhh8uYMWOk4NEzzRIQwFRECGBwtUEAU7lkowDqWbjyhv4dAQy+BxDAVC4IYHBdQQBN/XALciKRSJSsiNz4tY79e/vtt/11AHU84KeffirVqlVDAEMuPy2AqWBoAQyuLBWxBTB5pmF5AwEMf24ggAigT4AWwDKXK1oAIyJet26ddO7cWebPny+fffaZdO1a2LRMC2AwQAQQAfQJ5GgXcPLqh+UNBBABTBKgCzikLiCAEe0k8zAEMCI7nbXXq1cvf+bvSy+9JEcccQQC6GCHACKACKBIWN5AABFABNB4+CKAEe0k8zAEMAK7DRs2SO/evf2ZvzoG8K677pKvvvrKXwqGFkBaAH0CTAIJrgg53ALoyhsIIAKIACKAEfSjTEMQwAh4L7nkEhk/frw/9q9WrVqy3377Se3atf1ZwAggAogAOm6iHBZAV95AABFABBABjKAfZRqCABp49RNwBx10kLz33nuy1157+dHz5s3zxwDq10CGVJluXiBmAaciYhZwcLVhFnAql2ycBWzljWHDhjELOCRzMgkkFQyzgIMrC7OATf1wBiCAJeNHC2AIP8YApoJhFnBwZanIs4Bd6YVlYILpIIAIoE+AMYAltBP75wigweiJJ56QCy+80P/qR9WqVTdHH3vssVKzZk35x3FtTcre9u4FUhNTPjbLkOZN7RgjItbtcLOMxM9TzBivdR8zJrF2kfvNo+52ZhmyfrkZE3/VWLi0foTFXM29iHh16zijEj/8ZJYSO2aYGRP//FV3zILfzDKkYQMzxuu2jx1TvaE7Jm/L/RAWmFj9q7mfWNNebrYrZplleE3tOmkWUsoBVu547Gx7MW7Jy3Oz+fi/9lF7MTPGO+hQd8zvC8wy1jxrL2hfc+gAsxypXMvIHe3MMuITH7VjFi11xsTq1TbLKFhsLwBf6Zij3Nfwp+/N/cT2PMmMWXHZ+W5uee4vVumPqzSsZu6n6uCBZoyscOepSM+QeXbdjnU6zs127ULzWFkI2kSUuwG6jEPz5s1l7NixMmBAYfJasmSJtGzZUt544w3ZZ827JhwEMBWRhwAG1hsEMBVLIksF0ModfWvMMHMHAhiUOxDAoIqDAAbkDgTQ/VLAQtB2Dj7rrLNkzpw5/sr+ut19991yzz33yKxZsyT++tVmAQggAqgEaAEMvlUqagugnq0rdySmGJ8X1AJoAUypNF5dBBABLCRAC6CpHwhgyRCJTJ061f8CyNy5c/2WP10ORruAr7rqKil47SqzeAQQAUQAw2+TiiyArtwR/+ReM3cggLQA+rmDLuDAewUBtFOIK4IxgBH59ezZU/r37y+HHHKIL4PaIti6dWsEMIQfYwBTwdACmHstgHrGYbkDAQxJHowBTAGDAIbkDsYARjSY4DAEMCK+Bx54QEaPHi0HH3yw/PDDDzJp0iT/l7QABgNEABFAJZDLk0CSNSAsdyCACKB/jzAJJLAiJJgEEtFOMg9DACOyW7lypT8ZZNOmTaKz+44//ngE0MEOAUQAEcDCOhCWOxBABBABDH+IIIAR5aQEYQhgGvAGDRokr7/++lZLwtACSAugn8RZBib4LT6Hl4EpCiQodyCACCACiACmoSClHooApoFUvwiy8847+zOAk9vG204wS8j76+numEr22ktezF5zbdPjo5z7qfS3EeaxRgoo2GCG5d9zizOm+lXG+n0iEl/2jbkfWbfMHZNXxS4j5l5rTQv4fcRNznIajRlj76cUIhJr7HWtpJJdV2TB1+bReO32dMZEORZrgofuIP6JsWZbImEea2zfy8yYPzIgKHesONtel7P2Ke71+WJdTzRPK/7Lh2bMmnsfccbUvOhcswzJt9ftlGr2upy/njXSua8WI+w18aSevR+JRcgN1lmvX2NFyA+n3+qM2eHZ0WYZUqOxHbNxtTtmxXy7jAjPIlkwzy6n7S7umAiLPMfaHGDuJ/7Rw86Ydf9nryVY844J5n4qagACGOHKTps2Tbp3754S2bdvX3nr0GZmCQhgKiIE0Kw2gQFRpAsBzIxtaf9KJ4q1b98+MG/op+IQwGDiCGAAFwQwsLIggCXLWghgBH5t27aVpUuX+l8E0XW9Fi5cKAceeKD/z1fVtFdxRwARwAjVLFIIAhiMqTy2ABYUFEi7du1k+fLlfu445phjNueN66+/HgEMqfEIIAKoBGgBjPRIKFEQApgmvvz8fNl3332lcePGMmHCBCm4469mCQggAmhWkogBCGD2CGDRIy2eN2KxGAKIAPoE6AIOuafpAo74VMg8DAFMk91JJ50k2iX83//+V2rXri2MAQwGyBjANCtWxHAEMDsFsHje0LOgCzj4WtICSAsgLYARHwglDEMA0wB44403+msBTpkyRbbbbjv/lwggAqgEmAQSImZNe5l3WEWfBBKUNxDA8GqBACKACKCZNkslAAGMiPGFF16QE088Uf7v//5PDjhgy+wkBBABRADDb6JcnwUcljcQQAQwSYAu4JCXR7qAI9pJ5mEIYAR2M2bMkD59+shFF10kZ5999uZfVKlSRWqPPcssgTGAqYiYBWxWm8AAuoBDHhblcBkYV95o0KABXcAhtwAtgLQA0gKY2fMh3V8hgBGIPfbYY3LqqaemRLIMTDg8xgBGqFgZhCCA2SOArrzBMjC0ANIC6E6AzALO4AGR5k8QwDSBEQ4BCEAAAhCAAASynQACmO1XkOOHAAQgAAEIQAACaRJAANMERjgEIAABCEAAAhDIdgIIYLZfQY4fAhCAAAQgAAEIpEkAAUwTGOEQgAAEIAABCEAg2wkggNl+BTl+CEAAAhCAAAQgkCYBBDBNYIRDAAIQgAAEIACBbCeAAGb7FeT4IQABCEAAAhCAQJoEEMA0gREOAQhAAAIQgAAEsp0AApjtV5DjhwAEIAABCEAAAmkSQADTBEY4BCAAAQhAAAIQyHYCCGC2X0GOHwIQgAAEIAABCKRJAAFMExjhEIAABCAAAQhAINsJIIDZfgU5fghAAAIQgAAEIJAmAQQwTWCEQwACEIAABCAAgWwngABm+xXk+CEAAQhAAAIQgECaBBDANIERDgEIQAACEIAABLKdAAKY7VeQ44cABCAAAQhAAAJpEkAA0wRGOAQgAAEIQAACEMh2Aghgtl9Bjh8CEIAABCAAAQikSQABTBMY4RCAAAQgAAEIQCDbCSCA2X4FOX4IQAACEIAABCCQJgEEME1ghEMAAhCAAAQgAIFsJ4AAZvsV5PghAAEIQAACEIBAmgQQwDSBEQ4BCEAAAhCAAASynQACmO1XkOOHAAQgAAEIQAACaRJAANMERjgEIAABCEAAAhDIdgIIYLZfQY4fAhCAAAQgAAEIpEkAAUwTGOEQgAAEIAABCEAg2wkggNl+BTl+CEAAAhCAAAQgkCYBBDBNYIRDAAIQgAAEIACBbCeAAGb7FeT4IQABCEAAAhCAQJoEEMA0gREOAQhAAAIQgAAEsp0AApjtV5DjhwAEIAABCEAAAmkSQADTBEY4BCAAAQhAAAIQyHYCCGC2X0GOHwIQgAAEIAABCKRJAAFMExjhEIAABCAAAQhAINsJIIDZfgU5fghAAAIQgAAEIJAmAQQwTWCEQwACEIAABCAAgWwn8P/t1qENAAAAwrD/v+aGSZJ6BCkGB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBdwEH8H1B/QkQIECAAAECUcABjGDiBAgQIECAAIF3AQfwfUH9CRAgQIAAAQJRwAGMYOIECBAgQIAAgXcBB/B9Qf0JECBAgAABAlHAAYxg4gQIECBAgACBd4EBnT/cEC1hVF8AAAAASUVORK5CYII=\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1,2,1)\n",
    "ax.imshow(gen_FR.p2Da,interpolation='nearest', cmap = mpl.cm.OrRd)\n",
    "ax.axis('off')\n",
    "for i in range(97,123):\n",
    "            plt.text(-1,i-97,chr(i),horizontalalignment='center',\n",
    "                                    verticalalignment='center')\n",
    "            plt.text(i-97,-1,chr(i),horizontalalignment='center',\n",
    "                            verticalalignment='center')\n",
    "plt.title('French')\n",
    "\n",
    "ax = fig.add_subplot(1,2,2)\n",
    "ax.imshow(gen_SE.p2Da,interpolation='nearest', cmap = mpl.cm.OrRd)\n",
    "ax.axis('off')\n",
    "for i in range(97,123):\n",
    "            plt.text(-1,i-97,chr(i),horizontalalignment='center',\n",
    "                                    verticalalignment='center')\n",
    "            plt.text(i-97,-1,chr(i),horizontalalignment='center',\n",
    "                            verticalalignment='center')\n",
    "plt.title('Swedisch')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.2"
  },
  "livereveal": {
   "footer": "<h3>Polytech Annecy / Chambery</h3>",
   "scroll": true,
   "theme": "sky",
   "transition": "zoom"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
