{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%html \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# SI-649 Scientific visualization final\n", "### *Uniqname: ningzr*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running Python 3.11\n", "Adding xrange for backwards compatibility\n", "%pylab is deprecated, use %matplotlib inline and import the required libraries.\n", "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "data": { "application/javascript": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.2.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n var reloading = false;\n var Bokeh = root.Bokeh;\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n require([\"jspanel\"], function(jsPanel) {\n\twindow.jsPanel = jsPanel\n\ton_load()\n })\n require([\"jspanel-modal\"], function() {\n\ton_load()\n })\n require([\"jspanel-tooltip\"], function() {\n\ton_load()\n })\n require([\"jspanel-hint\"], function() {\n\ton_load()\n })\n require([\"jspanel-layout\"], function() {\n\ton_load()\n })\n require([\"jspanel-contextmenu\"], function() {\n\ton_load()\n })\n require([\"jspanel-dock\"], function() {\n\ton_load()\n })\n require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n })\n require([\"notyf\"], function() {\n\ton_load()\n })\n root._bokeh_is_loading = css_urls.length + 9;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.1.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n Bokeh = root.Bokeh;\n bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n if (!reloading && (!bokeh_loaded || is_dev)) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));", "application/vnd.holoviews_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n", "application/vnd.holoviews_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ] }, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "15fc2544-9f5e-464b-906f-9109c4212bb0" } }, "output_type": "display_data" } ], "source": [ "from __future__ import print_function, division, generators\n", "import sys\n", "print(\"Running Python {0}.{1}\".format( \n", " sys.version_info[:2][0],sys.version_info[:2][1]))\n", "if sys.version_info[:2] > (3, 0):\n", " print(\"Adding xrange for backwards compatibility\".format(\n", " sys.version_info[:2][0],sys.version_info[:2][1]))\n", " from past.builtins import xrange\n", "#from __future__ import print_function,division,generators\n", "%pylab inline\n", "from scipy.stats import pearsonr\n", "import pandas as pd\n", "import datetime as dt\n", "from scipy.stats import kendalltau\n", "import seaborn as sns\n", "from random import randrange\n", "sns.set(style=\"darkgrid\") # Optionally change plotstyle ('whitegrid', 'ticks','darkgrid')\n", "import altair as alt\n", "# Import panel and vega datasets\n", "import panel as pn\n", "pn.extension() \n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization 1 Time series" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "monsoon = pd.read_csv('https://raw.githubusercontent.com/Koi4595/SI-649/main/Monsoon_data.csv', parse_dates=['Date'])\n", "monsoon.index = monsoon.Date\n", "# monsoon = monsoon.drop('Date', axis=1)\n", "\n", "olou = pd.read_csv('https://raw.githubusercontent.com/Koi4595/SI-649/main/Olou_counts.csv',parse_dates=['Date'])\n", "olou.index = olou.Date\n", "# olou = olou.drop('Date', axis=1) \n", "olou['Date'] = pd.to_datetime(olou['Date'])" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bc8f9a5919c7498bb536a4f67788748a", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Dropdown(description='Event Type:', options=('All', 'Drought', 'Flood'), value='All')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6a059c0d42e0479cb0245712e8e3e021", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import ipywidgets as widgets\n", "from IPython.display import display\n", "from IPython.display import clear_output \n", "import pandas as pd\n", "\n", "drought_years = [1965, 1966, 1968, 1972, 1974, 1979, 1982, 1986, 1987, 2002, 2004, 2009]\n", "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, 1983, 1988, 1990, 1994, 2007, 2008]\n", "\n", "\n", "out = widgets.Output()\n", "\n", "event_selector = widgets.Dropdown(\n", " options=['All', 'Drought', 'Flood'],\n", " value='All', # 初始状态设置为“All”\n", " description='Event Type:',\n", ")\n", "\n", "def plot_timeseries(event_type):\n", " with out:\n", " clear_output(wait=True)\n", " fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 5), sharex=True)\n", " \n", " if event_type == 'Drought':\n", " monsoon_selected_years = monsoon[monsoon['Date'].dt.year.isin(drought_years)]\n", " olou_selected_years = olou[olou['Date'].dt.year.isin(drought_years)]\n", " elif event_type == 'Flood':\n", " monsoon_selected_years = monsoon[monsoon['Date'].dt.year.isin(flood_years)]\n", " olou_selected_years = olou[olou['Date'].dt.year.isin(flood_years)]\n", " else:\n", " monsoon_selected_years = monsoon\n", " olou_selected_years = olou\n", " \n", "\n", " ax1.step(monsoon_selected_years['Date'], monsoon_selected_years['Precip'], where='mid', color='blue')\n", " ax1.set_title('Monthly Precipitation for Selected Years')\n", " ax1.set_ylabel('Precipitation (mm)')\n", " ax1.grid(True)\n", "\n", " ax2.plot(olou_selected_years['Date'], olou_selected_years['Counts']/1000, 'r.', ms=3.0)\n", " ax2.set_ylabel('Olou NM Counts for Selected Years (cnt./min. x 10^3)')\n", " ax2.set_xlabel('Date')\n", " ax2.grid(True)\n", " \n", " plt.tight_layout()\n", " plt.show()\n", "\n", "def on_selector_change(change):\n", " plot_timeseries(change.new)\n", "\n", "event_selector.observe(on_selector_change, names='value')\n", "\n", "out = widgets.Output()\n", "display(event_selector, out)\n", "\n", "plot_timeseries(event_selector.value)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def return_stderr(data):\n", " \"\"\"Calculate uncertainty of a np array as Standard Error of the Mean\"\"\"\n", " return np.nanstd(data)/np.sqrt(np.count_nonzero(data) - 1)\n", "\n", "climo = {} # Produce a dic of monthly climatology using list comprehension\n", "climo['means'] = [np.mean(monsoon.Precip[monsoon.index.month == (mnth+1)])\n", " for mnth in xrange(12)]\n", "climo['error'] = [return_stderr(monsoon.Precip[monsoon.index.month == (mnth+1)].values) \n", " for mnth in xrange(12)]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Calculate monthly 𝛿 precip. (anomaly with respect to seasonal climatology)\n", "delta = []\n", "for date in monsoon.Precip.index:\n", " delta.append(monsoon.Precip[date] - climo['means'][date.month-1])\n", "dseries = pd.Series(delta, index=monsoon.index)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Create a dictionary of June July August September data\n", "def lookup_index(yr):\n", " return ((monsoon.index.year == yr) & (monsoon.index.month >= 6) \n", " &(monsoon.index.month <= 9))\n", "jjas = {}\n", "jjas['means']=[np.mean(dseries[lookup_index(yr)]) for yr in xrange(1964,2012,1)]\n", "jjas['SEM']=[return_stderr(dseries[lookup_index(yr)])for yr in xrange(1964,2012,1)]\n", "jjas['sum']=[np.sum(dseries[lookup_index(yr)]) for yr in xrange(1964,2012,1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization 2 JJAS condition" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "" ], "text/plain": [ "alt.HConcatChart(...)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import altair as alt\n", "import pandas as pd\n", "\n", "drought_years = [1965, 1966, 1968, 1972, 1974, 1979, 1982, 1986, 1987, 2002, 2004, 2009]\n", "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, 1983, 1988, 1990, 1994, 2007, 2008]\n", "\n", "color_scale = alt.Scale(\n", " domain=['Drought', 'Flood', 'Normal'],\n", " range=['darkred', 'lightblue', 'orange']\n", ")\n", "\n", "jjas_df = pd.DataFrame({\n", " 'Year': range(1964, 2012),\n", " 'Means': jjas['means'],\n", " 'SEM': jjas['SEM'],\n", " 'Sum': jjas['sum']\n", "})\n", "jjas_df['Condition'] = jjas_df['Year'].apply(lambda x: 'Drought' if x in drought_years else 'Flood' if x in flood_years else 'Normal')\n", "\n", "# Now, create the error bar chart and points with the color condition based on the 'Condition' column\n", "error_bars = alt.Chart(jjas_df).mark_errorbar(extent='ci').encode(\n", " x=alt.X('Year:O', axis=alt.Axis(values=list(range(1960, 2011, 10)))),\n", " y=alt.Y('Means:Q', scale=alt.Scale(zero=False)),\n", " yError='SEM:Q',\n", " color=alt.Color('Condition:N', scale=color_scale)\n", ").properties(\n", " width=400,\n", " height=400,\n", " title='Mean JJAS precipitation anomaly'\n", ")\n", "\n", "points = alt.Chart(jjas_df).mark_point(filled=True).encode(\n", " x='Year:O',\n", " y='Means:Q',\n", " color=alt.Color('Condition', legend=alt.Legend(title='Condition')) # Add a legend\n", ")\n", "\n", "# Combine the error bars with the points\n", "error_chart = (error_bars + points).interactive()\n", "\n", "# Create the histogram chart, independent of the conditions\n", "histogram = alt.Chart(jjas_df).transform_density(\n", " density='Means',\n", " as_=['Means', 'Density']\n", ").mark_area().encode(\n", " x=\"Means:Q\",\n", " y='Density:Q',\n", " tooltip=['Means:Q', 'Density:Q']\n", ").properties(\n", " width=400,\n", " height=400,\n", " title='Distribution of JJAS anomalies'\n", ")\n", "\n", "# Horizontally concatenate the error chart with the histogram\n", "chart2 = alt.hconcat(error_chart, histogram).resolve_legend(color='independent')\n", "\n", "# Display the final concatenated chart\n", "chart2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization 3 Drought/Flood sample" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def make_cframe(c_years):\n", " '''\n", " Function to take a list of composite years (c_years)\n", " and create a numpy array (c_years, months) for analysis.\n", " Also returns back a month-wise set of means, and SEM values.\n", " '''\n", " c_group = np.zeros((12,12),dtype=float) \n", " for n, yr in enumerate(c_years):\n", " tmp = olou.index.year == yr\n", " for i in xrange(len(olou.Counts[tmp])):\n", " c_group[n,i] = olou.Counts[tmp][i]\n", " aaa = np.where(c_group == 0)\n", " c_group[aaa] = np.nan\n", " c_means = []\n", " c_errors = []\n", " for i in xrange(12):\n", " c_means.append(np.nanmean(c_group[:,i])) # per month, all years\n", " c_errors.append(return_stderr(c_group[:,i]))\n", " return c_group,c_means,c_errors" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\HP\\AppData\\Local\\Temp\\ipykernel_27816\\2318271557.py:11: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n", " c_group[n,i] = olou.Counts[tmp][i]\n" ] } ], "source": [ "drought_years = [1965, 1966, 1968, 1972, 1974,1979,\n", " 1982, 1986, 1987, 2002, 2004, 2009]\n", "\n", "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, \n", " 1983, 1988, 1990, 1994, 2007, 2008]\n", "\n", "d_group,d_means,d_errors = make_cframe(drought_years)\n", "f_group,f_means,f_errors = make_cframe(flood_years)\n", "\n", "d_means = np.array(d_means) * 0.001\n", "f_means = np.array(f_means) * 0.001\n", "d_errors = np.array(d_errors) * 0.001 # Make the values smaller for plotting\n", "f_errors = np.array(f_errors) * 0.001" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\HP\\AppData\\Local\\Temp\\ipykernel_27816\\461619174.py:18: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_xticklabels(xlabs)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApUAAAFUCAYAAAB1DccrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAChiUlEQVR4nOzdd3wT9f/A8dddRtO9oUCZRaYgeyhDQERAEFAUEWUKshWQMmQqG0RkyRIEVNzgF0G+7vVTkfFVhuxdoAW6myZN7u73R6VSyui4NGn7eT4eFXu53L0/aXJ532dKmqZpCIIgCIIgCEIByO4OQBAEQRAEQSj6RFIpCIIgCIIgFJhIKgVBEARBEIQCE0mlIAiCIAiCUGAiqRQEQRAEQRAKTCSVgiAIgiAIQoGJpFIQBEEQBEEoMJFUCoIgCIIgCAUmkkpByAWxRoAgCIIg3JlIKgVdPPvss1SvXj3rp0aNGtSvX58ePXqwadMmFEVxd4g5fPrpp1SvXp0LFy7ccb+VK1eybt26QorKNS5cuED16tX59NNP3R2KIJQIEyZMyHZNvPln27ZtQOa189lnny20uKpXr87SpUsL7XyuUNivmZB7RncHIBQftWrVYtq0aQAoikJSUhI//PADs2fPZu/evSxevBhJktwcZd698cYbjBgxwt1hCIJQxISHh7Ns2bJbPlahQoVCjkYQXE8klYJu/Pz8qFevXrZtbdu2pXLlysyZM4e2bdvStWtX9wQnCIJQyMxmc45roiAUZ6L5W3C5Z599llKlSrFly5asbW3btmX27Nn07duXBg0aMHXqVADi4uKYOHEirVu3pm7dujzxxBN888032Y53q+abpUuXUr169WzbPvvsMzp16kSdOnXo2rUrv/76K7Vq1crRBPznn3/Sq1cv6tSpw4MPPpitqfv6MZctW5bj+Dc6dOgQffv2pWHDhtSvX59+/frx559/Ztvno48+okePHtSrV4+6devy2GOPsWPHjqzHP/30U+rUqcPevXt5/PHHqVOnDh06dODbb7/l1KlT9O3bl/vuu4/27dvzxRdfZHte9erV+fPPP+nevTt169alS5cu2Y59KxcvXmTMmDE0adKE++67j759+3L48OE7PkcQBNey2+0sX76cRx55hDp16vDwww+zevVqVFXNtt+OHTvo0aMH9evX54EHHmDq1KkkJSVl22f37t089dRT3HfffXTo0IH/+7//y9X5Z8yYQatWrbj33nt55JFHePvtt7Ptc+TIEUaMGEGzZs2oXbs2LVu25LXXXsNms2XtU716dd5//30mTJhAw4YNadKkSdY+8+bNo1mzZjRt2pTJkydjt9uzPW/z5s1ER0dTv3597r///hzHvpmqqqxevZr27dtz77330qFDBzZt2nTXsgr6E0ml4HIGg4HmzZvz119/4XQ6s7a/++67WQniY489xtWrV3niiSfYvXs3L730EkuXLqVcuXIMHz6czz//PE/n3Lp1KxMmTKBBgwasWLGCDh06MGzYsFv27Zw+fTqPPvooq1atom7dusyfP5/vvvsOgA8++ACAJ554Iuv/b5aamsqgQYMIDg7mzTffZPHixaSnpzNw4EBSUlKyyjp16lTatWvHqlWrWLBgASaTiZdffpmLFy9mHcvpdDJmzBh69erFihUr8PLyYty4cbzwwgs8+OCDLFmyhPDwcKKjo7l8+XK2OIYMGUK7du1YtmwZlStXZsyYMTkS8uvi4+Pp1asXhw4dYsqUKSxatAhVVXnmmWc4efJknl5rQRBuz+l05vi53cA/TdN44YUXWLt2LU888QRvvfUWjzzyCG+88UZW1yKAFStW8NJLL3Hffffx5ptvMnz4cHbt2sWzzz6blXwdOnSIAQMG4Ofnx5IlS+jbty9jxoy5a7yzZs3ihx9+IDo6mnXr1tGuXTvmzZuXdTMeFxfHM888Q3p6OnPnzmXNmjV07NiRTZs2sWHDhmzHWrhwIWazmWXLlvHYY4+xadMmunXrxqVLl1iwYAG9evXi448/zpEALlmyhGvXrvHGG28waNAgPvzwQ15++eXbxjx9+nTefPNNunbtmvWazZ49m+XLl9+1vIK+RPO3UCjCwsJwOBwkJiYSFhYGQKlSpZgwYQKynHlvs2DBAuLj49m5cyfly5cHoHXr1vTr14/58+fz6KOPZu17N0uWLKFNmza89tprALRs2RKTycSiRYty7DtmzBiefvppAOrVq8e3337Lb7/9Rps2bbKariIiIm7bjHXixAni4+N59tlnadiwIQBVqlRhy5YtpKam4u/vz/nz5xkwYADDhw/Pel5kZCQ9evRg3759lC1bFsi8437hhRfo2bMnAMnJyYwZM4a+ffvSv3//rNfy8ccf5+DBg0RERGQdr0+fPll9P1u2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4966283d127e486492fa40cb6d7d7204", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='Type:', options=('Drought', 'Flood'), value='Drought'), Checkbox(v…" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from ipywidgets import widgets, interactive\n", "def simBA15plot(ax, dataset, derr, col_key):\n", " \"\"\"\n", " Set the plot and properties of the figure sub-pannels.\n", " \"\"\"\n", " lthick=1.0\n", " ax.plot(mrange[0:5], dataset[0:5], 'k--',lw=lthick) # Jan to May\n", " ax.plot(mrange[4:9], dataset[4:9], 'k-',lw=lthick) # May to Sep\n", " ax.plot(mrange[8:], dataset[8:], 'k--',lw=lthick) # Sep to Dec\n", " ax.fill_between(mrange[0:5],(dataset[0:5] - derr[0:5]),\n", " (dataset[0:5] + derr[0:5]), color=col_key, linewidth=0.1,alpha=0.15)\n", " ax.fill_between(mrange[4:9], (dataset[4:9] - derr[4:9]), (dataset[4:9] + derr[4:9]),\n", " color=col_key, linewidth=0.1, alpha=0.3)\n", " ax.fill_between(mrange[8:],(dataset[8:] - derr[8:]), (dataset[8:] + derr[8:]),\n", " color=col_key, linewidth=0.1, alpha=0.15)\n", " ax.set_xticklabels(xlabs)\n", " ax.set_xlim(0,11)\n", " return\n", "\n", "mrange = arange(0,12)\n", "xlabs =['Jan','Mar','May','Jul','Sep','Nov']\n", "\n", "figBA15 = plt.figure()\n", "figBA15.set_size_inches(7.48,3.54)\n", "ax1 = figBA15.add_subplot(121) \n", "ax2 = figBA15.add_subplot(122) \n", "simBA15plot(ax=ax1, dataset=d_means, derr=d_errors, col_key='r')\n", "simBA15plot(ax=ax2, dataset=f_means, derr=f_errors, col_key='b')\n", "ax1.set_ylabel(r\"Neutron counts (cnt./min.$\\times10^{3}$)\", fontsize=11)\n", "ax1.set_title('Drought sample')\n", "ax2.set_title('Flood sample')\n", "plt.show(figBA15)\n", "\n", "def update_chart(data_set='Drought', show_error=True):\n", " dataset = d_means if data_set == 'Drought' else f_means\n", " derr = d_errors if data_set == 'Drought' else f_errors\n", " col_key = 'r' if data_set == 'Drought' else 'b'\n", " \n", " fig, ax = plt.subplots(figsize=(7.48, 3.54))\n", " ax.plot(mrange, dataset, 'k-', lw=1.0)\n", " if show_error:\n", " ax.fill_between(mrange, dataset - derr, dataset + derr, color=col_key, alpha=0.3)\n", " ax.set_xticks(np.arange(len(xlabs)))\n", " ax.set_ylabel(r\"Neutron counts (cnt./min.$\\times10^{3}$)\", fontsize=11)\n", " ax.set_xticklabels(xlabs)\n", " ax.set_title(f'{data_set} sample')\n", " plt.show()\n", "\n", "# 交互式控件\n", "data_set_dropdown = widgets.Dropdown(options=['Drought', 'Flood'], description='Type:')\n", "show_error_checkbox = widgets.Checkbox(value=True, description='Show Error')\n", "\n", "interactive_plot = interactive(update_chart, data_set=data_set_dropdown, show_error=show_error_checkbox)\n", "interactive_plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization 4 Drought/Flood sample distribution" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A Pearson's r test, gives linear regressions and two-tailed p-values of:\n", "Drought sample: r-value = -0.949, p-value = 0.014\n", "Flood sample: r-value = 0.001, p-value = 0.001\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "c:\\Users\\HP\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", " with pd.option_context('mode.use_inf_as_na', True):\n", "c:\\Users\\HP\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", " with pd.option_context('mode.use_inf_as_na', True):\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5EAAAHgCAYAAAA8M+nyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADs6klEQVR4nOzdd3wUZf7A8c/M9s1m00gjoUsRC4iCoCAKh/Xs5SyoJwqKBUVF8bBhQw+UExFET6y/AzuniN556lnuFEE5FUFUkJoGpGfrlN8fISshATZLkt0k3/frlVeSKc98dzKZZ74zzzyPYpqmiRBCCCGEEEIIEQU13gEIIYQQQgghhGg7JIkUQgghhBBCCBE1SSKFEEIIIYQQQkRNkkghhBBCCCGEEFGTJFIIIYQQQgghRNQkiRRCCCGEEEIIETVJIoUQQgghhBBCRE2SSCGEEEIIIYQQUZMkUgghhBBCCCFE1CSJFEIIIYQQQggRNUkihRBCCCGEEEJETZJI0SJM02yTZQuxL7Ece3K8ChF/UieJjkDqKNGaJIkUXHrppfTt27fe16GHHsrxxx/P9OnTqaioaFJ5H374IbfffnuLxNpY2aNGjWLq1KlNKieWdVpDIsVVVFTE2LFjOeywwxg2bBh+vz/eIQGNH69HHXUUl112GV999VWLbTeW47ol/xeEaK+kTkpciRSn1FH1SR0lWps13gGIxNC/f3/uueeeyO/hcJgffviBxx57jLVr17Jo0SIURYmqrOeff76Fomy87Llz5+LxeFpsmx3VCy+8wKpVq5g5cybZ2dm4XK54hxSx+/Gq6zplZWUsWrSIK6+8kjfffJPevXs3+zZjOa5b8n9BiPZM6iSxP1JH1Sd1lGhtkkQKADweDwMHDqw3bfDgwdTU1DBnzhy+/fbbBvMTRf/+/VttW6FQCLvd3mrbi6fy8nKysrI49dRT4x1KA40dr8cccwzDhg3jzTfflDurQrRxUieJ/ZE6Soj4kuasYp8OPfRQAAoKCoDaO2r/93//x+mnn87hhx/O8ccfz6xZswgGg0BtM46vvvqKr776ir59+7J8+fJIWa+99hqnnXZapFnSE088gaZpkfmjRo1izpw5PPLIIxxzzDEcfvjhXHnllfz666/7LHv35jWBQIBHH32UE088kUMPPZRBgwZxxRVXsHbt2iZ/9nHjxnHxxRfz73//mz/84Q8cfvjhTJ8+vcFyd911F0OHDq33WQBmzpzJkCFDCIVCMcfWWNOhN998k759+7J169bItP3t2x9++IHLL7+cI488kiOOOII//vGPfPvtt/vc7ptvvklBQQF9+/bliSeeiEx/6KGHuPzyyxk0aBB33333fo+J3cucO3cuM2bM4Oijj+aII47glltuoaamhqeffprjjjuOI488khtuuIGysrK9xrY3LpcLh8NR7+lEtLHFclzvb582tk5j+w+iOzZGjRrF7NmzmTFjBkOGDGHIkCFMmTIlpn0lRFvVkeuka665hnPOOYdXX32VM844g8MPP5yRI0cyZ84cDMPY63rR1FEtWT9B4tdRLV0/Qex1VDTLSB0l4kGSSLFPdZVlly5dALj77rt56KGHGDVqFPPnz+eSSy7h5Zdf5tprr8U0Te655x769+9P//79eeWVVzjkkEMAWLBgAXfddRfDhg3jqaee4pJLLuGZZ56JnKDqvPjii2zYsIEZM2bwwAMPsHr16kgltbeyd3fbbbfx+uuvM2HCBBYuXMjUqVP56aefmDx5cpNfHl+zZg1btmxhxowZXHDBBTzzzDNceumlDZY788wzKSsr44svvohMM02TZcuWcfLJJ0eeXDZnbLvb376trq7mqquuIi0tjTlz5jB79mz8fj9XXnklVVVVjZY5d+5cRo4cSWZmJq+88grnn39+ZN7//d//RSrtM888c7/HxO6ee+45CgoKmD17Ntdccw1Lly7l3HPP5T//+Q/3338/N9xwAx9++CFz5szZ52c2TRNN09A0jXA4zPbt23nssccIhUKce+65keWijS2W43p/+3Rvx+ue+w+iPzb+9re/8fXXX/PQQw9x66238umnn3LVVVft8wJSiPakI9dJq1ev5tdff+X555/nyiuvZP78+Rx55JE8+eSTvPHGG3tdL5o6qqXqJ2g7dVRz1U91+7e56qholpE6SsSFKTq8sWPHmpdccokZDocjXzt27DCXLVtmDhkyxLzgggtMwzDMn3/+2ezTp485b968eusvWbLE7NOnj/nvf/87Ut7YsWMj8ysrK80BAwaYd999d731Xn31VbNPnz7mTz/9ZJqmaZ5wwgnmCSecYGqaFlnmiSeeMPv06WOWlpY2WnbderfffrsZDAbNcePGme+++269+QsXLjT79OljFhcXN1hnb7Zu3Wr26dPHHDNmjFlVVbXP/WcYhjlq1Chz6tSpkWkrVqww+/TpY65cudI0TTPq2PaMq7E433jjDbNPnz7mli1botq3q1atqheLaZrmpk2bzEceecQsKCjY6+e6/fbbzRNOOKHetBNOOME8/vjjTV3XTdM0oz4m6tYdMWKEGQ6HI9NOOukk84gjjjArKysj066++mrzjDPO2GtcY8eONfv06dPo11NPPRVZLtrYYjmuo92nex6ve+4/02zasTF48OB6++qDDz4w+/TpY3788cd73V9CtDVSJzVUVFRk9unTxxw9enS9c0AoFDKPPfZY8+qrr97ruvuro2KNc3/1k2lGt68ToY5qrvrJNJu3jmpKHSt1lGht8k6kAGDFihUN7qKqqsqwYcO4//77URQl0qvY6aefXm+50047jTvuuIPly5czcuTIBmWvWrUKv9/PqFGjGjQVAvjPf/4Tecn8sMMOw2KxRJbJyckBwO/3k5aWts/PYLfbefbZZwEoKSlh06ZNbNiwgY8//hio7ZghWj/88AMAt9xyS70OEgzDaHBHzWq1csYZZ/DSSy8xffp07HY7S5cupUuXLhx55JHNHtvuotm3559/Punp6UycOJFTTjmFkSNHMmzYMG677baYttmrVy9UtbYRQ1OPicMPPxyr9bfTTmZmJh6Ph+Tk5Mi01NRUfvrpp33GcMghh0SaFpumSWVlJZ9++imzZ8/G5/MxefLkqGOL5bju3bt3zPt09/0HTTs2TjjhhHr7atSoUdhsNlauXMnxxx+/320L0VZInVTf999/D8D1119f7xxgs9no2rVrpMlgrHVUS9RP0LbqqOaqn6D56qj8/Pyo49+d1FGiNUgSKYD6JzxFUXA4HOTm5tZLoOq6Vc/MzKy3rtVqJS0tba/NTsrLywGYMGFCo/NLSkoiP+/Zu1rdiSzaphCfffYZDz30EBs2bCApKYm+ffuSlJQENG0spB9++AG73d7g5Pzkk08yd+7cetPWrVvHWWedxbx58/j00085/vjjef/997n44otbJLbdRbNvk5KS+L//+z/mz5/PsmXLWLx4MS6XizPOOINp06bhcDiatM1OnTpFfm7qMdFYj4Wx9KiXlJTEYYcdVm/a8OHD8fl8/PWvf+Wyyy6LOrZYjusD2ae777860R4bWVlZ9dZTVZXU1FQqKyv3uj0h2iKpk+r7/vvvsdlsnHLKKY3GW5dwx1pHtUT9BG2rjmqu+gmar46K9RiXOkq0BkkiBdD4CW9PKSkpAGzfvj1ydwxq70KVlZXt9a6s1+sFYNasWXTv3r3B/MZOWLHYvHkz1113HaNHj2bBggV07doVqG3f/9lnnzWprB9++IG+ffvidDrrTb/gggsavZvWrVs3Bg4cyHvvvYfNZqOsrIwzzjijWWLTdb3e7z6fL/JztPu2Z8+ezJw5E13X+e677/j73//OokWLyM/P32vlHo1Yj4mWcvDBB/Paa6+xdevWqGOL9TM01z5tyrFRd0FWp67r+PT09Ki3J0RbIHVSfatXryY1NbXBxf+3337Lli1buPbaa4HY6qiWqp9A6qg9NbWOOpD4pY4SLU061hFRGzJkCADvvPNOvenvvvsuuq5HmsXs3gwCYMCAAdhsNoqLiznssMMiXzabjUcffbRBL277smfZu1u9ejXBYJCrr746cpIDIie5ptxNXbNmTaQXwN1lZ2fX+wy7X+ScccYZfPrppyxdupSBAwfWqzBjjc3j8VBUVFRv2jfffBP5OZp9+/777zN06FC2b9+OxWLhiCOO4N5778Xr9TYou6miPSZay6pVq7BYLHTp0iXq2GI5rqPdp/s6Xus05dj47LPPIr39Qu1A0ZqmMWzYsP1uR4j2piPVSatXr6asrKzeEx1d15k1axZ5eXn8/ve/B2Kro1qqfgKpo/bU1DqqKfFLHSVamzyJFFE76KCDOPvss5k7dy6BQICjjz6atWvXMnfuXI4++mhGjBgB1N55XLVqFV988QX9+/cnLS2Nq666iscff5zq6mqOPvpoiouLefzxx1EUhX79+kUdw55l192lg9rmT1arlZkzZzJu3DhCoRBvvvkm//73v4GGd0j3pqioiJ07dzaaRO7LaaedxowZM3j33XeZNm1avXmxxnbCCSewYMECnnrqKQYOHMi///3vej3sRbNv/X4/hmFw3XXXMWHCBJKSknjvvfeoqqrixBNPbNJn3FO0x0Rzq66u5n//+1/k93A4zIcffsg777zDH/7wB9LT00lPT48qtliO60GDBkW1T/c8XhvTlGOjqKiIiRMnctlll1FYWMhjjz3G8OHDOfroo5t5DwuR+DpKnbRlyxbKy8vp3LkzN954I1dccQWhUIgXX3yR1atX89JLL0U1fvHe6qiWqp9A6qg6sdZRqqpGHb/UUaK1SRIpmuTBBx+kW7duvPHGGzz77LNkZWVx6aWXct1110XuaF1yySWsXr2a8ePHM2PGDE4//XRuuukmMjMz+dvf/sZf//pXUlJSGDZsGDfffHO9l7D3p7Gy63Tr1o1HH32UuXPnMnHiRFJSUhg4cCAvvfQSl156KStXrqRv37773cbq1asBmpxEpqamMnLkSD755JMGgx/HGtvVV19NaWkpCxcuJBwOc/zxx/Pggw8yceLEyDL727fJycn89a9/5fHHH2fatGn4/X569+7NE088wdChQ5v0GRsTzTHR3NasWcMf/vCHyO8Oh4OuXbsyefJkrrzyyibHFstxHc0+3XOdxjTl2DjttNPwer3cdNNNuN1uzj77bCZPntys+1aItqQj1UmPPfYYixYtigyrMHToUF5//XV69eoVVax7q6Nasn4CqaPgwOqoaOOXOkq0NsU8kDemhRBCtIpRo0YxZMgQHn744XiHIoRoRX/+859ZtGgRK1eurNdTrBCJROqojkfeiRRCCCGESFCrV6+mf//+kkAKIRKKJJFCCCGEEAnINM29dvQmhBDxJM1ZhRBCCCGEEEJETZ5ECiGEEEIIIYSImiSRQgghhBBCCCGiJkmkEEIIIYQQQoioSRIphBBCCCGEECJq1ngH0FaYpolhNF8fRKqqNGt5HYnsu9jJvjswsv9iF+u+U1UFRVFaIKK2T/rFE0KI+OnodZMkkVEyDJPS0ppmKctqVUlLS6Ky0oemGc1SZkch+y52su8OjOy/2B3IvktPT8Ji6dgV9d4oikJZWY0cj3uoO95k39Qn+2XvZN80TvbL3nXq5Il3CHEnzVmFEEIIIYQQQkRNkkghhBBCCCGEEFGTJFIIIYQQQgghRNQkiRRCCCGEEEIIETVJIoUQQgghhBBCRE16ZxVtgmEY6LqGYSgEAhZCoSC6Lt3bN4Xsu9hYLFZUVe63CSGEEELUkSRSJDTTNKmsLMXvr45M27FDxTCkq+lYyL6LjcvlIT29U7zDEEIIIYRICJJEioRWl0B6PGnY7Q4URcFiUeRJWoxk3zWNaZqEQkGqq8soL1dIT5dxoYQQQgghJIkUCcsw9EgC6fF4I9OtVlUGvY2R7Lums9sdAFRXl6HrepyjEUIIIYSIP3nRRySsugv2uot4IeKl7hgMh8NxjkQIIYQQIv4kiRQJT1GUeIcgOjg5BoUQQgghfiPNWUWbZIRCmJoWl20rViuq3R6XbQshhBBCiPZh3rx5fPHFF7z00kt7XaasrIwHHniATz/9FICTTz6ZO+64A7fb3VphNkqSSNHmGKEQ1f9bheGricv2VXcSnoFHNCmRPO+80ykqKoz8brPZSEtLZ/jw47jyyqtJSUltgUib5ptvVjJp0jW89trb5OZ2bnQZv9/PsmXvcO65F7RydAfmvPNO55RTfs+VV14d71CEEEIIIXj++eeZM2cOgwcP3udykyZNIhgM8vzzz1NZWcm0adOYPn06jzzySCtF2jhJIhPMpk0b+fvf36CgYBudO+dx5pnn0q1b93iHlVBMTcPw1aBYbSg2W+tuOxzG8NXUPgVt4tPICy8cy0UXjQUgGAyyYcMvzJs3h//97xvmz3+WpKTE7/lz0aKX2mQSKUR7J3WHEEK0DcXFxUybNo2vv/6aHj167HPZVatW8dVXX7Fs2TJ69eoFwH333cdVV13FzTffTHZ2dmuE3ChJIhPIkiVvcN99d6EoCqZpoigKzz//LPfc8wBnnnlOvMNLOIrNhupo3U53DMDUYutcxeVykZHx21iDnTvncdBBfbn00gtYtOhlrrrqmmaKsuWYpgwPIkSikbpDCCHajh9++IGUlBTefvttnnzySbZt27bXZVeuXElmZmYkgQQYMmQIiqLw9ddfc+qpp7ZGyI2SjnUSxKZNG7nvvrswDANd1+t9nz79TjZv3hTvEEULyMnJ4bjjjueDD96PTBs+/Ciefnoe5577e8444yQ2b95IMBjgmWfmc/75ZzJq1DFcccXFfPrpvyPrLFv2DsOHH1Wv7G++Wcnw4UdRWFgA1PZ2+9RTT3LmmSczevSxTJs2hccff5Trr59Qb73//vdzLrvsD5xwwjDGjr2A//73cwCefXYBzz33DEVFhfXK3Z2u68ybN4dzzjmNE04YxsUXn8uSJa9H5odCIZ56ai4XXHAmxx8/lFNPHc099/yJiopyAAoLCxg+/Ci++OJzrrzyUkaNOobLLvsDq1d/zzvvLOHcc3/PiSeO5N57pxEMBiOf/eyzT+Xdd9/mnHNOY8yY47jjjlvZsWP7Xvf7999/y3XXjWfUqGM555zTePTRR6ipqY7iLyZEYpG6Qwgh2pZRo0bx6KOP0qVLl/0uW1xcTG5ubr1pdrud1NRUCgsL97JW65AkMkEsefO1vfYAqaDw1huvtnJEorX06nUQ27ZtxefzRaa9/fabPPjgn3nooVl07dqde++dxnvvLeXGG2/h+ecXcdxxJzBt2hQ+//yTqLfz1FNzWbLkDW6++TYWLvw/OnXK5PXXFzdY7rXXFnPTTVN44YXFdOnSlbvvnorP5+Oiiy7lwgvHkpWVzd///j5ZWQ2bULz11mt8/PGHTJ/+EIsWvcm5517ArFkP8+23/wNg3rw5fPDB+0ydeheLF7/FnXdOZ+XK5bzwwrP1ynnssZlcc831PPfc33A4nEyZciMfffQBf/7zX5g27R4++eQjli5dElm+rKyURYte5p57HmTOnPmUlBRz883XozXS+dIvv/zMjTdey+DBR/PCC4u4554HWbduLZMnXy9PWkWbYpomb7y6eO91h6LUu4kjhBCi6UzTrH2VKhhE9/nQq6oIlZZRUFDA6NGj9/rVHPx+P/ZGXp9yOByRm+nxIs1ZE4ARCrF5zWpMo/FB4E3TYPOa1RihkPQK2g55PMkA1NRUR3raOumkU+nXrz8AGzf+ymeffcIjj8zm2GNHAHDFFeP55ZefeOGFhQwfPnK/2wgEArz55qvcdNMtjBw5CoDJk2/j+++/a7DsjTfezKBBR+3azlV89tm/2bhxA/37H4rL5UJV1XrNcne3bds2XC4nnTvnkZHRiXPP/QNdu3ana9euABx8cH9GjjyBI444EoCcnFyGDBnG+vW/1CvnwgsvZvDgowE45ZTf89hjj3DLLVPJz+9Cr14H0bt3XzZsWB9ZXtM07rrrPvr27QfA3XffzyWXnMfXX6/g6KOH1St70aIXOeqowfzxj1cB0KVLV+6990EuuOBMVq36OvLZhUh4psmm77/bR91hUlCw92ZSQgjR0ZimCbqOqWm7fYUxNX3X913TdB1T12uX3TVu+e5sXhd0yWvxeJ1OJ6FQqMH0YDAovbOK2o5isr0poCjQ2JMQRSHbmxJTZy4i8VVX1zaj3L1jnfz8rpGf6xKsww8fWG+9AQMG8dRTc6PaxsaNvxIMBjn00MP3KOMIfv55Xb1pXbt2j/ycnOwFiPpu1znnnM+nn37M2WefSt++BzNkyFBGjRpDWlo6UJscr1z5FQsWPMmWLZvZuPFXNm/e2OCzde3aLfKz0+kEat8hrWO32+udVN3upEgCCdCtW3c8nmTWr/+lQRK5bt06tm7dzJgxIxrEv2nTRkkiRZuSm52z17pDQan3fyOEEO2ZaRiY4XBtJ4jhMGYoVJsY1k2rGx5uz/OloqBYrb992WyoTieKxQIWK4rFEvli1/fULC8Wu50PP/ywRT9TTk4O//rXv+pNC4VClJeXx7VTHZAkMmGcOvQYFn/0QeMzTZNThx7TugGJVrNu3Vry87vWu6PkqNdhUONNLA1Dx2qt/y9c16kGgK7/1pTTYrFE5u+PqjZs5R5tM88uXbryyitLWLVqJStWLOezz/7Niy8u5E9/uodTTvk9s2Y9zIcf/pNTTjmNY44ZzuWXj2PRopcpKSmuV47F0vDU1FhcdfbcD7uixmJp7LMYnHjiKVx22bgG81JT0/b3EYVIKGeM+h1/e//dRueZmJx11nmtHJEQQrQMU9MwQkHMUAgjGMIMh2oTw7pkUav/xFCxWiI9+SsOBzaPp/Znq61+0tjoNcS+qa00OsDgwYOZNWsWmzZtolu32hvsy5cvB2DQoEGtEsPeSBKZIPIzs7j9snE88uJCUBQM00TddXf59svGkZ+ZFe8QRQsoKSnm888/4ZJLLt/rMj17HgTAd9/9L9KcFeDbb/9H9+61XUNbrbUns+rqapKTa5vHbt26NbJsly5dcTgcrF79PT179o5MX7NmNbYmnAj39u5VnddeW0xaWhq/+91JDB48lGuvvZGbbrqWDz/8J8ccM5wlS15n+vSHGD36xMg6Gzf+esBNMiorK9i2bSt5efkAbNiwnurqavr06ddg2R49evHrr+vJz//thfbNmzcyd+7jXHPNdXg8Bx1QLEK0pi45uUwddzUPL1zQoO6464676z3VF0KIRGYaBkYwiBkMYoRDvyWLoSBGKAS7Nd1XLBYUux3VbkdNTo4ki6rNhmK31yaL+7j53OTYTJNASKfaH6baH2bzTh9H9mv+J4G6rlNaWkpycjJOp5MBAwYwaNAgJk+ezL333ovP5+Oee+7hrLPOkieR4jenHDOCAf0P5W8ffMhnPxUxok8OF48ZTefUNAy/b/8FiITm9/vZuXMHUNs8dP36n3n66Xnk5uZx4YVj97pejx49GTbsWB599GGgNiH88MN/8vnnn3DffTMAOPTQw1BVlWeemceFF45l48ZfWbTopUgZTqeT8867kGeemU9qajrdu/fg3Xff5ocfvo+8nxgNl8tNVVUlmzdvonPnvAZPAEtLd/L888/gdDo56KA+bNz4Kz//vI7zz7+IpCQPHo+Hzz77hL59DyYYDPL666/w008/0r//oVHHsDf33383N910K7pu8OijMzj00MMZOLDhXboLLxzLddddxcyZD3HeeRfi8/l49NGH8fl89ZoRC9FWnDpiJIf36RupO4YflMUfhg3h4NPOiHdoQghRT71EMRisTRDrfg7vNoSaqqLa7Sh2B5bkZKw2+67fd32P4elhU4U1gypfiEpfiGpfGE03URRIctrITWuZ9xELCwsZPXo0M2bM4JxzzkFRFObOncv06dO5/PLLcTgcnHzyydxxxx0tsv2mkCQyweRn53DZWRfCdzVcdngSOR4LRpx7X0pUZjhM491JtOw2Y7V48cssXvwyUDtmZFZWNscddwIXXXTpfp/ETZ8+gwUL5vLIIw9QXV1Fjx69eOCBPzNy5AlA7fuCt932J1544TneeWcJffr0Y9KkW5g69eZIGePHT0TXNf785wfw+/0ce+xxjBgxskm9ex1//Cjeeect/vjHi3jiiac55JD6yd+VV16Nrus89tifKSsrJT09g7PPPp9LL70Ci8XC/fc/zNy5f+Gyyy7E6/UyaNBRXH31dbz44nP4/f6o42jMmDEnceutN6JpYY499jhuvPHWRp+cHnroYTz22Fz++tf5XHnlpbhcTgYNGsx1193UaA9oQrQFu9cdY/vZyFID8Q5JCNFBmYaxW3IYwgwGGk0UFYsFxeFAtTuwJSWhOJy1CaLD0WrNRffkC2hU+kJU1oTwBWpfC3I7rWSkOPG4bCQ5baiqQqdOnv2UFJ2HH3643u/5+fmsW1e/r4qMjAzmzJnTLNtrToopfdpHRdcNSktrmqUsq1UlLS2JsrIaNM1A9/mo+upLVJcbtd67cLWMYBDD7yN5yFAsce6JqTWFwyF27iwkIyMXm+23i3vV0Chf+TWGr3n+Hk2lupPwDDyizfWU+8knHzNo0CCSk1Mi0yZPvo6srGzuuOPuOEZ2YJYte4eHHprO55+vbLFt1B2LvXsfhN+vo2mtffuibdvznNcU6elJjb7bKmov1Lb8+7/oev192lHrjDoHcry1Z7Jf9k72TeP2t1+McAgzEMSoSxIDgV1PF3frTVRVUR0OVIcT1WGPJI3xTBT35A9qlFcHKa8KEgwbqKqCN8mG123Hm2TH2kgd1KmTZ7+v+LR38iRStDmq3Y5n4BG1PWzFgWK1trkEEmDx4pdYsuR1rr12EklJHj777N98881KZs9+Mt6hCSGEECIBmYaB7vej1fhrk8W6RDEY/G3oC0XZlSg6sKamRX5WHHZUW2JeLwVDOqVVgUjiaLEopCTZycty4HHZat8tF/skSWQC2lKp8dgXVdw8LJkuXvkTNUa122W4kya6++4HmDt3NjfddC2BQIAePXpx330Py5AWQrQTdXXH5COddJaqQwjRBEY4vOs9xQDGrqeLihbCtCn4qoPouoFitaA6XKhOJ2pKKqqz9gmjYrc3ayc2LUU3DCqqQ+ysDFDj11BVhVSPnbxMBx63JI5NJdVMIjJBN9nbyA5CxCQ3tzOPPPJou2uqc+qpp3PqqafHOwwh4m9X3SFVhxCiMZF3FfdogmqGgr8Nj6Eou95LdGJLSSUpOw0jYGBYW6czm5bgC4TZURGgvDqIYUCy20a3nGRSkuyoqiSOsWqbR4MQQnQgobCOpjctNbBaFOw2SwtFJIQQIlGZhlHb7DQQqO3UZtfPRigEu7pCqX2q6Nz1VDGl9vseTxWtVhVHWhK+shrMNnYD2jBMyqqC7Kjw4w/q2GwqWWlu0pMdUjc2E0kihRAigYXCOqt+3kFNoGk9Ayc5bRzRu5NUlkII0U6ZmhZ5R7H2+67EcbeObRSbDdXpxOJNwVbX/DSBOrVpbsGwzo5yP6VVQXTdJDnJRo+MJLxuW4fvCKe5SRIphBAJTNNNagJh7FYLNmt075yENYOaQO2YVvb2eZ0ghBAdRuR9xYD/t4QxEKg3XEZtRzbO2o5tnI7fnixaOsaNRF8gTEm5n/LqEBZVIcPrJCPFiUNupLYYSSITULbHwh3HeslwJ/5LykKI1mGzqk2qDEN177eIDqOu7kizhCG0/+WFEIkl8mQx4Mfw1/WE6q//vqKjNkG0ZWTUjqvodNYmkG2gY5vmZpomlTUhSsr91Pg1HDaV/E5JpHud8q5jK5AkMgHZLQq5yXLnRAghRPTq6g4jqNG23l4SomOp6+BG9wcw/P5dSaP/tyeLqhJ5X9HmTY783FZ6QW1phmFSWhVge5mfYNggyWWlR24y3iS7NFltRZJEJqBSv8776wOc3MtJuqs2mTQ1Dd3v3+s6bXXsQiGEEM2jru44sYtKaryDEUIAYOo6ht+P7vdh+HyRdxcxdnVwY7ejOl3Y0tNRnC4sLieKvWM+Wdwf3TDYWRGgpNyPppmkeOx0zXGR5JT3NuJBksgEVBMy+XJriBFdHKS7ahPI4NYtmLqB6mg8UVTdSXgGHtFhEslYeqtsLtLrpRAiEdXVHcfmOEmV2l2IVtcgYfT7MQKB2pmqisXlwuJOwpaRgeqsHW+xrQ6b0Zo0vTZ53F7uRzdM0pIdZKe5cdjlWiye5MhtA0xDxwiGUGxWVJe74fxwGMNXg6lp0AGSyFh7q2wusfR6ef31E/jf/75pdN7551/EjTfewvXXTyA3tzPTpt3bTJE29PXXK7nuugm89trb5OZ2brHtNLfhw4/iT3+6R8aDFEIIkRBM06x9quirQa+piTxlBEBVsLjcWJKTsWVlYXG7URxOaWrZRJpusL3cz46KAIZhkuF1kpXmkhv5CUKSyDZEsdlQHY4G0w3A1OKTUMVDLL1VNpcD6fVy1Kgx3HjjLQ2mu1yuZopOCCGEEC3B1HV0Xw1GjQ+9phrD58PU9drOblwuLB4PtqwsVJe79gmjJIwxC2u/JY/wW/Jos0rymEgkiRRtVlN7q2wusfZ66XA4yMjo1MzRCCGEEKK5GeEQenUNRnV1bfK4q18KxWpBddcmjJYkD6rbLe8vNpOwplNS5mdnZQBQ6JTiJDPV1eoPDER0JIlMQMkOld/1cJLskH+ajmzjxl+ZP38O33//HbquMXjwUK6/fjI5OTkA6LrO668vZsmSNyguLiI7O4eLLrqUM844O1LGt9+uYu7cv7B+/S9069aN3//+zH1uMxAI8Je/zOS///2c6uoqunXrzh//eBUjR44CoKqqigUL5vLf/37Ozp07SElJ5bjjjueGGybjcDj55puVTJ58HbNnP8ljjz1CQcE2evfuy7Rp9/Lxx//i9ddfQdM0TjzxZG66aQqKovDsswtYufIrjjlmOK+88n9oms5xxx3PjTfeQlKSp9E4//Ofz3j22QVs3PgrmZmZ/O53J3H55Vdi7wDNuYXYm0jdYQfpnlWIptGDQcKlpYQqKtGrqzGCQQBUpxNLUhK2zEws7iRUpzPOkbY/Yc2gpMzHjooAqqqQmeoiM9WF1SLXwYlMksgElOpUOaOvNHHsyIqKCrnmmis46qijmTPnKUKhIE8++Tg33DCBF15YhNudxNy5f+H9999l8uTbOPjg/nz11ZfMnv1nQqEg5513IQUF25g8+XpOOeU07rxzOr/+up4///mhfW73mWfms379z8yc+TjJycm8884S7r77DhYvfovc3M48+OA9lJQUc//9j5Cens7q1d8xY8Z9dO3anQsuuAioTW6feOIxpk69G4fDzrRpt3HNNeMYOvQY5s59mlWrvmbWrBkMGTKMY48dAcCPP64B4NFH51JTU83DD9/P3Xf/iUcfndMgxi+//C933TWVSZMmM3jwULZt28rs2X9m8+ZN3H//w838lxCi7airO4xgEGPvnXkLIdj1pLGqGr26CgI+TJtCoDqIabNjSU7GnpuLmuRBtUnPny1F0w1KyvzsqPADCllpkjy2JZJEJqCAZrKlQqNLihWnVdrUtxf//Od7/PvfH9abduihhzN79pMNln3zzddwudzcfff9kadrDzzwCOeddzr/+Md7nHjiybz11mvccMNkTjzxZAC6dOlKQcE2XnzxOc499w+8/fZbZGRkcPPNt2OxWOjWrTs7dpTwl788utcYCwq24nZ7yMvLx+PxcNVV1zBgwBEkJ3sBGDz4aA4//Ah69+4DQG5uZ95881XWr/+5XjlXXTWRQw89DIDjjx/Fq68u4rbbpuF0OunWrTsLFz7Nhg3rI0mkoijcf//DdOqUCcDNN9/OrbdOYvPmjXTt2r1e2S++uJDf//4MzjrrPADy8vKZMuVPTJp0DYWFBW2qwyAhmlNd3ZHnNJFn8kLUZ+o6enVt0qhXVUU6wVFdLuwpKXjyskBX0ZEEpqXVdZizvbz2nUd58tg2SRKZgLbX6Dyxopopw5LpkiJ/ovZi+PDjmDhxUr1pjkY6SgLYsOEX+vU7uF7zzLS0dLp27cb69T+zaVM/NE3j8MMH1ltv4MAjeOWV/6OsrJQNG36hd+++WCy/vTd62GED9hnjJZdczu23T+b008dwyCGHMWTIUEaPPhGPp7ZZ6dlnn8/nn3/KP//5Hlu3bmHDhl8oKNhGfn7XeuV07dptt8/oJD09A+duTYDsdjuhUDDye5cuXSMJJNQm1wDr1//SIIn86acfWbv2B957b2lkmmnWDveyceOvkkSKDquu7rjlKCd5UnWIDs40DAyfb1fSWPteI6aJYrdjTU7GnpODxZOMYrVitarY05JQympAk7bgLUU3DHaU147zaBgmnVJdZMk7j22WVDNCtBK3O4n8/C5RLVubEzV8Cm0YBlarddf8hssYRm3lZ9017pRp1h9L07qf8agOPfRw3nzzXVasWM7KlV+xdOnfefbZBTz66BMceeRgbr99MuvX/8KYMSdzwgmjufrq6/jznx9sUM6e21H30+mAxVJ/+brPoaoNO04yDJOLL76MU075fYN50nGREEJ0XEY4hF5ZhV5ZgV5djanrKFYLFk8yjvx8LJ7kRnu5Fy3LMEx2VPgpKasd5zEjxUm29Lba5sU99TcMgzlz5jBixAgGDBjAuHHj2LRpU1TrXXnllTzxxBMNpv/1r3/lpJNOYuDAgZx22mm89tprLRW+EC2iV69erF37A6FQKDKttHQnW7ZsoXv3HnTr1h2LxcJ3362qt963364iIyOD5GQvvXv35ccf1xAO/zb8y9q1P+xzu88+u4Dvvvsfw4eP5KabprBo0Zvk5eXz739/xE8/reOLL/7D/fc/wsSJN3DiiaeQn9+Fbdu2NEhWm2rLls1UV1dHfl+9+jsA+vTp22DZnj17sWnTRvLzu0S+tm8v4cknH8fnqzmgOIQQQrQdpmmi+2oIFRXi+2kdvh9+ILhlM6amYcvKwtWnD+5DDsPZvQe2jE6SQLYywzTZXu5nzaZSCnb6SPE4OLhbGvmZHkkg24G4J5Hz5s1j8eLFPPDAA7zyyisoisL48ePrXTzvKRAIMGXKFD7//PMG8xYsWMDTTz/NTTfdxNtvv83ll1/O9OnTeeutt1ryYwjRrM4881xqamq47767+OWXn1m79gfuumsqqampjB59Eh6PhzPOOIe//nUB//zn+2zduoU33niVt956nQsvvBRFUTj77PPw+/3MmHEfGzf+uqtH06f3ud2tW7cwc+YMvv56BUVFhXz88b8oKirisMMOJyMjA4vFwkcffUBBwTZ+/HENd901lZ07dxIO7/3/NRp+v48HHribDRt+YeXKr5g9+8+MHj2m0aapl1xyGZ988hHPPruAzZs38fXXK3joofuoqqqUJ5FCCNHOmbqOVl5GYPMmfGt+wP/TT4R3bEd1OHB07UbSoYfh6t0He3YOFneSjNcYB4ZZ++Rx7cYytu2oweu2c3C3NLpkebDHYWg20TLi2pw1FAqxcOFCpkyZwsiRIwGYPXs2I0aM4IMPPuC0005rsM4333zDtGnTCIfDeL3eBvMXL17MuHHjOOWUUwDo2rUr3377La+//jpnn312g+UTkUVVSHEoWFQ58e1LOA7vLbTWNvPy8nniiQXMn/8EV1/9R2w2O0OGDOWuu+4nOTkZgBtvvIXU1FSeeuoJyspKycvrwuTJt0WG+OjUKZM5c+YzZ85jjBs3luzsbP74x6uYOXPGXrd7661TmTv3ce677y4qKyvIycll4sQbOOmkUwGYNm06Cxcu4K23XiM9PYNjjhnOH/5wMZ999skBPY3MysqmZ8+DuPbaq7BarYwZcwrXXHN9o8uecMLvmD4dXnppIS+//DzJyV6OPXZEg/dNOzpNN/AHtSavZ7UoUsm3UZG6Q6oO0c6YmoZWUYFWUV7bm6phojqdWNPSsXq9qEmSLCYC0zQpqwpSVOojFDZIS3aQne7CaZe359ojxTzQdmgH4LvvvuP888/n/fffp0ePHpHpF110EX379uXee+9tsM7jjz+OrutMmDCBM844g7PPPpsbbrgBqG3Kunz5cnr06BEZSw9g2rRpfPvttyxdurRBedHSdYPS0uZpKme1qqSlJVFWVoOmGeg+H1VffYnqcjfa1EKrqsS3Zg3u/v2xJjdMnGu7c/eRPGQoFre7WWJMBOFwiJ07C8nIyMVm+62DGcM0WbG2hJpAeB9rt5wkp40jendqkxfaVquKlmCdBjz77ALee28pr7/+TrxD2au6Y7F374Pw+/VW3Ye+gMaXa4pIctpwRHnM1QTCrNtcRl4nDzZb0xqctMTxvec5rynS05OwSI99jTINgy3//i+6Xn+fttc6IVoHcry1Z21tvxjhEHr5rsSxprZTHIvHgyUlBas3pVmbpra1fdNaot0vpmlSXh2iaGcNwbBBisdOTrobl6P9Jo+dOnk6/I2LuP51i4qKAMjNza03PSsri8LCwkbXufHGG/danqqqDBs2rN60rVu38u6773LhhRceYLS1/0zNoe6CqO67YlVRVQWLRUVt5GLJVFUUFSyq2ujFlGJRQVWwWlUs7aiHK8No+M+pKGC3WhjUpxNhLT73P9rqk5q6c52iQPxuHbVltTuwtRMaq1XFYqltmWBpwiOmsG7icFjwOKMf4yysGQTCGihKs53voOE5TwghGmOEw+gV5Whl5eg11aAquzrF6YLF65UxGxNMXfJYXOojENLxJtnpluPG7Wy/yaP4TVz/yn5/7WjIuw9jALXDHlRUVBxw+du3b2fChAlkZGQwceLEAypLVRXS0pIOOKbdeb0uADQ7hN12rEl2LE4HW8rDPPrpTm45LoMuqTZCup2Q3Yo7yYHd0/DOm2410QiTmurGmtS8McZTIGBhx47aC+g9L2hdThuuOMXV1iXahby6q9l2cyYtzc0wlEicdf+3rcXuD+N2O0hy2aJuEqSjYLdbSPW6SGnknLE3gZBGtb/2XJLkav6Ltdbedx1NQZXO/JVVXH24g5y2d59LdFCmrtc2VS0rRd/VwZol2YujazesXi/KfnoVF/FRUV3bbNUf1El22+ia7cHdhJuWou2L639m3bhxoVCo3hhywWAQl+vALjY2bNjAhAkTCIfDvPTSS6SkpBxQeYZhUlnpO6Ay6lgsKl6vi8pKP7pe25zV5wthwYaqKVTVaJT5DapqQlRbDbSaEKGQhq8mSMgSbFCeEQyh+0KUl/uwHFj/JgklFApiGAa6bkaaUShK7f7TdUOepjVRou67K66YwBVXTEjoJkS6bmIYtTut7v+2tfgCGj5fEEU30OzRveNYUxMiFNKp8QWxEP0fOxjS8QXDlJf7CAWar3rY85zXFF6vK+FufCQq3TCpCJroCfT/LURjTNNEr6xEKytFq6wAo7apqiM/H2tKqiSOCazSF6Jopw9fQMPjsnFQvgdPC9x0FIkvrv+ldc1YS0pK6Nr1t8HKS0pK6NevX8zlfv3110ycOJHMzExeeumlBs1lY9XcF7m6btS+E6kZtReouoGpGxi7LrIM3ahNMg0D06gdpFVp5ALM0GvX1zQDM4EvxJtKb+RKqC75SaQkqK2QfXegandc3f9ta9G02hspumE2+j/RGN0wMcza5aNdp269ups2LfEZW3vfCSESixEMEt65E62sFDMcRnW5sOd0xpqairpHqzSRWKr9YYp2+qj2h3E7rfTK85Lslr9ZRxbXJLJfv354PB6WL18eSSIrKytZs2YNY8eOjanM7777jquuuor+/fszb968A34CKYQQQgghYmMaBlp5OVrpTvTqahSrBWtqGtb0jA7Z8VNbU+MPs35bBWWVQVwOCz06e0lJkuRRxDmJtNvtjB07llmzZpGenk5eXh4zZ84kJyeHMWPGoOs6paWlJCcn12vuujeapnHrrbeSkZHBww8/TCgUYvv27QBYLBbS09Nb+iOJFhDHDoSFAOQYFEKIpjKCQcI7dqCV7sTUdSzJyTi6dceakoKiShP1RBcIaWzfHkAzFcIhnW45yaR67B2+R1Lxm7g3Op80aRKapnHnnXcSCAQYPHgwzz77LHa7na1btzJ69GhmzJjBOeecs9+yvvvuOzZt2gTA7373u3rz8vLy+Oijj1rkMzS3zCQLNwz2kJnUsXtGsFhqP38oFMRub76uvIVoqlCo9l1km82G36/HORohGhepO5w6xGcEJCHQqioJb9+BXlmBYrVi69QJa3pGsw7JIVpOMKxTXOqjtCqI026hb89OWE2jSa9GiI4h7kmkxWJhypQpTJkypcG8/Px81q1bt9d190wKBw0atM/l2wqnVaF3hrykrKoWXC4P1dVlANjtDhRFwTAUOZnFSPZd05imSSgUpLq6jKSk5MiNDSESUV3dYQQNDEkiRSsyDQOtrJTw9u0YgQCqy4WjS1esaWny1LGNCGsGxWU+dlYEsFgU8jolkZ3hJiPNTVlZDTShkzbRMcQ9iRQNlQcMPt0U5LhuDlKdHfvk6/XWNkGuSyShdjxQw5DOOWIh+y42LpeH1NSMeIchxD7V1R3Dc8Eb72BEh2BqGuHtJYR37sDUDawpKbVjOno88Q5NREnTDUrK/Oyo8KMoCjkZbjJTXKiqgipNV8U+SBKZgKqCBv/6NcARObYOn0QqikJKSgbJyWnouobFopCS4qaiwidP1JpI9l1sLBYrqqrKeyAi4dXVHQMynHildhctyAiFdiWPOwGwZXTC1qmTNFltQ3TDYHt5gJIyP2CSmeoiM9WFVYZUElGSaka0Caqqoqp2rFYVp9OJ36/LUAFNJPtOCCHEgTCCQcIlxYRLS1EsKvasLGydMmVcxzbEME12VAQoKfWhGyadUpxkpbmxWSV5FE0j//VCCCGEEGKvjHCIcFEx4bKdKBYr9tzO2DIyUOQ98TbDNE1KK4MUlfoI6wbpyQ5y0t3YbfI3FLGR2w7thKlp6H4/us/X6JcRCsU7RCGEaDMMw2DOnDmMGDGCAQMGMG7cuEjv3435+eefmTBhAkcffTTDhg1j0qRJFBQU1Fvmvffe49RTT+Wwww7j9NNP59NPP23pjyHEATHCYYLbtuFbuwatogx7di7ug/tjz8qSBLINKa8O8uPmcraUVONx2Ti4axpds5MlgRQHRJ5EJqAku8LQfDtJ9ujewTI1jeDWLZi6gepofABY1Z2EZ+ARqHYZIFYIIfZn3rx5LF68mBkzZpCdnc3MmTMZP348S5cuxb7HebSsrIwrrriCwYMH8/LLLxMMBnnkkUe46qqreOutt3A4HHz55ZdMmTKFqVOnMmzYMF5//XWuu+46lixZQq9evZol5kjdYUM6UhQHxDSM2nceS0oAsGflYMvMlMSxjan2hynYUYMvoJHsttEtOxm3Uy79RfOQJ5EJKN1l4eJDk0h3RXeyNg0dIxhCsVlRXe4GX4rVhuGrwdS0Fo5cCCHavlAoxMKFC7nhhhsYOXIk/fr1Y/bs2RQXF/PBBx80WP5f//oXfr+fhx9+mN69e3PooYcyc+ZM1q9fzzfffAPAM888w5gxYxg7diy9evXi9ttv55BDDuGFF15otrgjdUcH75BNxM40TcKlO/GtXUOouAhrekbtk8ecHEkg2xB/UGNDQSW/bK3ANE165XnplZciCaRoVlLTJKCQblJYpRNqYg+ais2G6nA0+FJsMuakEEJE68cff6SmpoahQ4dGpnm9Xvr378+KFSsaLD9s2DCefPJJHI30TFlRUYFhGHzzzTf1ygM4+uijWblyZbPFHWvdIQSAXl2N/+efCG7ejCXJg7vvwTjy8qTTnDYkFNbZVFTFus3lBEMa3XKS6dMllWS3tEITzU/ODAmouFpn5hdVTBmWTJcU+RMJIURrKioqAiA3N7fe9KysLAoLCxssn5+fT35+fr1pCxYswOFwMHjwYCorK/H5fOTk5ERVXp3Ro0fvdd4//vEPLKqKqirU3Q/eXq3xyH8quW2Ii85WBatVxdIBe1y07BqiwCJDFdSzt/1ihEIECwvQSsuwuN0kHdwPS1JSPEKMm7Z+zGi6QVGpjx3lASyqQrfcZDJSnAc8zmNb3y+iZUmGIoQQrSQU1tGa+JTIH9RkXM9W5vf7ARq8++hwOKioqNjv+i+++CJ/+9vfuOOOO8jIyIgkpY2VFwwGDyhW925PGNyh2gtGl8uG22aQmurG2sGSgd15va54h5CQ6vaLaRgES0rwbyvApSi4D+uLvVOnDj0mbls7ZnTDpHhnDQU7fAD06ZFBTrq72ZO+trZfROuQJFIIIVpBKKyz6ucd1ATCTV6vYKePvs4UHNKTXqtwOp1A7buRdT8DBINBXK69X0yZpsnjjz/O/Pnzufrqq/njH/8IEGnmGtqjl+z9lffhhx/uM07TMPD5QhhG7U0Gn7/2vXe/P4wvHKK83IelA3bMbbGoeL0uKiv96LqMiVtn9/0SqqwisGULRsCPLaMTjtxcfFYrvnJfvMOMi7Z2zJimyc7KIEU7a9B0k06pTnLS3VgtCpWV/mbbTlvbL60pNdXdoW+4gCSRQgjRKjTdpCYQxm61NG1QZxOCYR2pv1tPXTPWkpISunbtGpleUlJCv379Gl0nHA5zxx13sHTpUm677TauvPLKyLzU1FTcbjclu3q63L28PZu4NpVhmJGLO2PXd90wMQwTTTMwtY574Oi6gdaBP39jTF2nZvNmAkUlqC4Xjp69sbjd6ACyr9rEMVPpC1G4owZ/UCct2UFOhrv2BqNJi8XeFvaLaH3SyDkRKWBRar8LIdoXm1XFYbNE/WXtgO+0xVu/fv3weDwsX748Mq2yspI1a9Zw1FFHNbrObbfdxvvvv8+jjz5aL4EEUBSFQYMG8dVXX9Wbvnz5co488sjmC3xX3SFVh2iMVllJxferCe/YiT23M67efbC43fEOS0TJH9RYX1DBhm2VqKpC7y4pdMtJlhYqIm7kSWQC6uK1MvuktHiHIYQQHZLdbmfs2LHMmjWL9PR08vLymDlzJjk5OYwZMwZd1yktLSU5ORmn08mbb77JsmXLuO222xgyZAjbt2+PlFW3zBVXXMGECRPo378/xx13HG+88QZr167lwQcfbLa46+oOIxjEaL4WbaKNM3Wd4LatmBXlOPOySMrpgmGRXtvbirBW22nOzsoAdqtK99xkUj0Ne4IWorXJLW4hhBBiD5MmTeK8887jzjvv5KKLLsJisfDss89it9spLCxk+PDhLFu2DIClS5cC8Oc//5nhw4fX+6pbZvjw4Tz00EMsWrSIs88+my+//JKnnnqKXr16xe0zivZPr67Gt+5H9IoKnF27kNy3D2ojQ9GIxGMYJsWlPtZuKqO8OkjnTkn065YmCaRIGPIkMgEVVeu8+F0Nlx2eRI5HmikIIURrs1gsTJkyhSlTpjSYl5+fz7p16yK/L1y4MKoyzzrrLM4666zmCrGBurpjbD8bWXKLuEMzDYNQYSHh7SVYPB4cXbpiS5IeNtsC0zQpqwpSWOpD0ww6pTjJTndjlWE2RIKRJDIBhXWTrZU6YenWXwghRJQidYdhk3ZGHZju9xPctBEjFMSel4etU2aH70Wyraj2h9m2vRp/UCfFY6dz5yQcdnmYIBKTJJFCCCGEEO1AeMd2ggXbUB1O3H36ojrl6WNbEAzrFOyooaI6hNtp5aD8FDwueW9VJDZJIoUQQggh2jBT0whu2YxWUYGtUyfsnfNQVHkcneh0w6CkzE9JmR+rRaVbTjKpHrs8ORZtgiSRQgghhBBtlF5TQ2DTRjB0nD16YE1JjXdIIgplVUEKdtSg6QZZaS6y09yoqiSPou2QJDIBZbhVrhiYRIZb7iIKIYSITqTucBqgxTsa0Rrqmq9aXEk4unVDtdvjHZLYD18gzLYdNdT4tdr3HjslyViPok2SJDIBuW0qR+RIRSCEECJ6dXWHEQxiSBLZrpmGQXDrFrTSUmyZmdhzO0vz1QQX1gwKd9ZQWhnEabfQK89Lsluu9UTbJUlkAqoMGqwsCHFUZzteh1QKQggh9q+u7jiyEyTFOxjRYoxgkMDGXzGCQRzdumNLS4t3SGIfDNNkR7mfolI/igL5mUlkpDjlvUfR5kkSmYAqAgZL1vnpnW6VJFIIIURU6uqOXslOkqR2b5e0qkqCmzaiWKy4evfB4pLeVxNZZU2IbdurCWoGnbxOcjJkvEfRfkg1I4QQQgiR4MLbd73/mJyMs2s3FKtcwiWqYEhn244aKmtCeNw2uud6cTnk7yXaFzmihRBCCCESlGkYhLZtI7xzB7bMLOydO0tTyARlmCbFpb7aITusKt1zk0n1OOIdlhAtQpLIDsLUNHS/f6/zFatVenUTIkqhsI6mm01axx/U0Ju4jhCiYzM1jcCmjejV1Ti6dMWWkRHvkMRe1DVdDWkyZIfoGCSJTEBOm8KhmTactuY5+ZiaRnDrFkzdQHU0niiq7iQ8A4+QRFKI/QiFdVb9vIOaQLjJ6xXs9NHXmSLduYsWUVd3uKRmbxeMYJDAhvWYuo6r10FYPJ54hyQaEQrXNl2tqK5tutqjsxenXf4JRfsnR3kCynRbmHBk81UWpqFjBEMoNiuqy91wfjiM4avB1DSQJFKIfdJ0k5pAGLvVgs3ahA4STAiGdXSj5WITHVtd3WEEgxh7b3gi2gDd5yPw6wYUVcXVuw+qQ5pEJhrDNNle7qe41IdFVemWk0xasvydRMchSWQC0g0Tn2bitipYmrEphGKzNVoRGYCpNe2pihAdnc2qNumJYjCst2A0QvxWdzgNE2lE13ZplZUENv6KxeXC2aOndKCTgKp8IbZuryEY1slMqe111SLjdIoORo74BFRQpTPtowoKquSiUwghRHQidUeNvHvbVoV37iTw6wYsnmScvQ6SBDLBhDWDTUVVrN9WidWi0LdLKnmZHkkgRZMYhsGcOXMYMWIEAwYMYNy4cWzatGmvy2/fvp2bb76Zo48+mqOPPpobb7yRoqKiVoy4cXLUCyGEEELEWai4iOCWzdjSM3D26IEiiUlCKa0M8OPmMqp8IbpmezgoL0WG7RAxmTdvHosXL+aBBx7glVdeQVEUxo8fTygUanT5yZMnU1hYyHPPPcdzzz1HUVER1157bStH3ZCcoYQQQggh4ihYUECosBB7Ti6OLl1kCI8EEgzp/LKtgs3F1Xjddvp1SyPd65S/kYhJKBRi4cKF3HDDDYwcOZJ+/foxe/ZsiouL+eCDDxosX1lZyYoVKxg/fjz9+/enf//+TJgwgR9++IGysrI4fILfSBIphBBCCBEHpmkS3LKFcEkx9rw87Dk58Q5J7FI35uOPm8sIhXV65nnplpOM1SKXziJ2P/74IzU1NQwdOjQyzev10r9/f1asWNFgeYfDgdvtZsmSJVRXV1NdXc3f//53unfvTkpKSmuG3oA8hxdCCCGEaGWmYRDcshmtvBxH167Y0mUMyEThC4TZUlKNP6STmeoiN13GfBTNo+5dxtzc3HrTs7KyKCwsbLC8w+HgwQcf5L777uOoo45CURQyMzN5+eWXUePc5F2SyASU57XwyO9ScchQckIIIaJUV3fYtCAE4h2N2BfTMAhs3IheXYmzW3esqanxDkkAumGwbXs128sDuBwW+uSn4nbKpbJoXEFBAZdeeule53/44YcNpvn9teMv2fcYUs/hcFBRUdFgedM0WbduHUcccQRXXXUVuq4ze/ZsrrvuOhYtWoQnjuPHyn9GAlIVRQaLFkII0SR1dYehK8hwpImrNoH8Fb26CmePnliTvfEOSQDlVUHWbqxtutq5k5vMVJe89yiandPpBGrfjaz7GSAYDOJyuRos/+677/K3v/2Njz/+OJIwPvXUU5xwwgm88cYbXH755a0TeCMkVUlAJTU6r6/xcV5/N1lJ8jhSCCHE/tXVHeceZCVDrn0TkmkYBH7dgF5Tg6tHLyzJyfEOqcPTdIOtO6oJGwpOu5Ueud4mjQEsOq7OnTs3+rRxX+qasZaUlNC1a9fI9JKSEvr169dg+a+//poePXrUe+KYkpJCjx492LhxY2yBNxN5OzgBBTWTH3dqBDUZ60sIIUR06uqOgAwxnJDqJ5A9JYFMABU1IdZtLqeyJkSPzikclJ8iCaRoUf369cPj8bB8+fLItMrKStasWcNRRx3VYPnc3Fw2bdpEMBiMTPP7/WzdupVu3bq1Ssx7I0mkEEIIIUQLkgQysWi6waaiKn4tqMTpsNCvWxqZaQ2bEgrR3Ox2O2PHjmXWrFl8+OGH/Pjjj0yePJmcnBzGjBmDruts376dQKD2xfazzjoLgJtuuokff/wxsrzdbuecc86J4yeRJFIIIYQQosXUSyB7ShPWeIs8ffSF6JrtoVfnFOxWefooWs+kSZM477zzuPPOO7nooouwWCw8++yz2O12CgsLGT58OMuWLQNqe23929/+hmmaXH755VxxxRXYbDYWLVqE1xvf96nlnUghhBBCiBZgGgbBTRvRa6pr34GMY0+KHZ2mG2zbXkNZVZDkJBtdszzYJHkUcWCxWJgyZQpTpkxpMC8/P59169bVm9arVy+eeuqp1govapJEJqBUl8p5B7tIdcmDYiGEENGpqzvSHIC8Fxl3pmnWjgNZWYmzew95AhlHlb4QW4qrMUyTrtke0r3O/a8khNgnSSITULJd5bhucoITQggRvbq6wwgGMfzxjkaEtm5BKy/H2a0b1pSUeIfTIRmGScHOGnaUB0h22+iaLU8fhWgucX/UZRgGc+bMYcSIEQwYMIBx48axadOmqNa78soreeKJJxrMe++99zj11FM57LDDOP300/n0009bIvQWUxMyWFEQpCYkI30JIYSITqTuCEvP3vEW3LaN8M6dOLp0wZqaFu9wOiRfIMy6LeXsrAiQl5lEz85eSSCFaEZxTyLnzZvH4sWLeeCBB3jllVdQFIXx48cTCoX2uk4gEGDKlCl8/vnnDeZ9+eWXTJkyhYsvvpglS5YwfPhwrrvuOtavX9+SH6NZlfoNXvrOR6lfkkghhBDRidQdAUki4ylUXER4ewmOvHxs6RnxDqfDMU2TolIfP22tQFWgb9dUMlNdKIoMnipEc4prEhkKhVi4cCE33HADI0eOpF+/fsyePZvi4mI++OCDRtf55ptvOPvss/n2228b7ZXomWeeYcyYMYwdO5ZevXpx++23c8ghh/DCCy+09McRQgghRAcWLt1JqLAQe04utszMeIfT4QRDOj9vraCo1Ed2moveXVJx2uXNLSFaQlyTyB9//JGamhqGDh0ameb1eunfvz8rVqxodJ3PPvuMMWPGsGTJEpL3eEndMAy++eabeuUBHH300axcubL5P4AQQgghBKBVVhLcsgVbRgb2nJx4h9Ph7KwIsG5LGbpu0Ds/hdyMJFR5+ihEi4nr7ZmioiIAcnNz603PysqisLCw0XVuvPHGvZZXWVmJz+cjZ4+T977KawqrtXlybotFrfddsaqoqoLFoqLu+gJQLSoWi4qpqigqWFQ1ss7uDnS+YlFBVbBaVSzN9Blbyp77TkRP9t2B+W3/KbVfau33qNdXFVRFiazfkuvFvC29dnmrVW228x3IsSfaP91XQ2Djr1i9Xuz5XeIdToei6QZbt1dTXhUi3esgP9ODqkryKERLi2sS6ffXdh9nt9vrTXc4HFRUVDS5vEAgsNfygsFgjFHWUlWFtLSkAypjT16vCwDNDmG3HWuSHYvTQZphoVeGjbRkBx6PlZBuJ2S34k5yYPc4GpRzoPN1q4lGmNRUN9ak5v2MLaVu34mmk313YJKTXbjdDpJctiY1k9JRsNstJLkdeBr5P2zO9WLdljWkYVpUUlPdJLlsUa8XLTn2WpbdotA9xYJd+g5pVUYwSGDDBiwuF45u3eXdu1ZU7Q+zqbgKwzDpnptMahPOd0KIAxPXJNLprB3GIhQKRX4GCAaDuFxNv9hwOByR8nYXa3m7MwyTykrfAZVRx2JR8XpdVFb60XUD3efD5wthwYaqKSSrcPNQL6BTXa2j1YQIhTR8NUFClobJ8IHON4IhdF+I8nIflr33Z5QQ9tx3Inqy7w5M3f6rqvLj8wVRdAPNrkW9fk1NiFBIp8YXxEL0HZ/Esl6s2wqGdHzBMOXlPkKB5qseDuTY83pd8gQzStkeCzcP88oQH63I1DQCG9ajWK04e/REUeVYbQ11necUl/lJclrplp2M3SZ3T4RoTXFNIuuasZaUlNC1a9fI9JKSEvr169fk8lJTU3G73ZSUlNSbXlJS0qCJayw0rXkvvHXdQNMMdM3AMEzQDcxGLrB0w8A0ar8rLTDf0Gu3r2kGZjN/xpZSt+9E08m+OzC6btZ+GbXfo17PMDFMM7J+S653INvS9dpzQUscI3LsifbENAwCv/6Kqeu4evdBsUoHLq0hFNbZVFxFTUAjJ91Ndpr0vCpEPMT1llm/fv3weDwsX748Mq2yspI1a9Zw1FFHNbk8RVEYNGgQX331Vb3py5cv58gjjzzgeFvLlgqNSe+XsaUi+qccQgghOrZI3VEliXprCG7dgu6vwdm9B6pDmlG2hrKqIOu2lBPSDA7KSyEn3S0JpBBxEtfbZna7nbFjxzJr1izS09PJy8tj5syZ5OTkMGbMGHRdp7S0lOTk5HrNXffliiuuYMKECfTv35/jjjuON954g7Vr1/Lggw+28KcRQgghREcQKi5GKy3F0a07Fo8n3uG0e4ZpUrC9hh0VAVKT7eRnerBKM3ch4iru/4GTJk3ivPPO48477+Siiy7CYrHw7LPPYrfbKSwsZPjw4Sxbtizq8oYPH85DDz3EokWLOPvss/nyyy956qmn6NWrVwt+CiGEEEJ0BFp5OaHCAuw5OdjS0uIdTrsXDOn8vKWcnZUB8jOT6J7jlQRSiAQQ9wb8FouFKVOmMGXKlAbz8vPzWbdu3V7X/eijjxqdftZZZ3HWWWc1V4hCCCGEEOg+H4HNm7CmpmHPyd3/CuKAlFUF2VJSjc2i0Ds/Fbcz7petQohd5L9RCCGEEGI/TE0jsPFXVKcTx26dAYrmt2fz1S5ZHizS860QCUWSyASU47Fw1wgvqU45YQohhIhOXd3hVcKQ4MM1tTWmaRLYtBEMA2f3HjKURwsKhnQ2FlUSCOnkZybRKVXGlxUiEUkSmYBsFoXMJBnvSAghRPTq6g4jqCH9szavUGEBenU1rl4Hodrt8Q6n3aqoDrKpWJqvCtEWyK20BLTTp/PitzXs9OnxDkUIIUQbEak7/JJCNietvIxwSQn2zp2lJ9YWYpomhTtr+LWwimS3jT5dJYEUItFJEpmAfGGTlYUhfOHoBwkXQgjRsUXqDhliuNkYAT+BzZuxpqVhz8yKdzjtkqYbbCiopLjMT+dObnrkeuX9RyHaALnNI4QQQgixB1PTCPz6K6rDgaOLdKTTEnyBML8WVWEaJr06e0l2S1NhIdoKSSJbiREKYWq1t4cVq4pmr+0qXNcMdL8fQ9PksbAQQgiRIIJbt2JqGq4+faUjnRawo8LPtu01uBxWuuclY7dJXxBCtCWSRLYCIxSi+n+rMHw1AKiqQthtx+cLYRgmRihEsGAblt59weGIc7RCCCFExxbeuROtvAxn9+6oUi83K8Mw2bq9mtLKIJ1SnHTOTEJVlHiHJYRoIkkiW4GpaRi+GhSrDcVmw2JRsSbZsWAD3cA0TMxgCNOo7UjH61A5uZcTr0PufAohhIhOpO6wK0j3rLEzAn6C27Zgy+iENTUt3uG0K2FN59fCKvxBja7ZHtK9zniHJISIkSSRrUix2VAdDlSLisXpQNUUTN3ACAXrLZfiVDm1t4yLJIQQInp1dYcRDGL44x1N22QaBoGNG1HtDux5efEOp12pCYT5tbASBRm+Q4j2QB51JSC/ZrJ2exi/Jr2zCiGEiE5d3RGQuiNmoW1bMUIhnN27y3uQzai0MsAvWytw2Cz06SIJpBDtgZwhE9COGp35X1ezo0bGiRRCCBGdurpju1+SyFiEy8oI79yJIz8f1SmtgZqDaZps217N5uJq0pId9MpLwWaVS08hWlMgEGiRcuU/WQghhBAdmhEKEdq6BWtaGrb0jHiH0y7Ujf+4vSJAXmYSXbOTpQMdIeLgmGOO4c477+Sbb75p1nIliRRCCCFEh2WaJsEtm0FVceTlxzucdiEQ0vh5Szm+oEavzl4yU+XJrhDxcs0117Bq1SouvvhiTjrpJBYsWEBRUdEBlytJpBBCCCE6LG3HDvSqKhxdu6JY5V29A1XpC/HTlgoURaFPfirJbnu8QxKiQ5swYQLvvvsur776KsOGDWPhwoWMHj2aK6+8kmXLlhEKhWIqV5LIBGRVFTq5VayqNPsQQggRnd/qjnhH0nYYgQDBwm3YMjOxJnvjHU6bt7MiwIaCSpJcVnp3ScFht8Q7JCHELocffjj33nsvn3/+OU8++SShUIhbbrmF4cOH8+CDD7Jly5YmlSdVTQLKTbZw93Ep5CbLyVcIIUR0InVHklTt0TANg8DmTbXDeeR2jnc4bZppmhTsqGFLSTWdvE565nqxSO+2QiScgoICnn32WWbPns2KFSvo0aMH5557Ll9++SWnnXYaS5cujbosabchhBBCiA4nXFKC4ffj6t1bhvM4AIZhsqm4iorqEJ0zk8iS9x+FSCjV1dX84x//YMmSJXz99dc4nU5OPvlk7rnnHgYNGgTA7bffztVXX83DDz/M73//+6jKlSQyAW2r0pj7VTXXD/GQlyx/IiGEEPtXV3dcN9BBjjRk2Sfd5yNUXIQ9OxuLOyne4bRZYc3g18JKAiGNHrnJpHgc8Q5JCLGHY489llAoxIABA7jvvvs49dRTcbvdDZY77LDDWLNmTdTlSoaSgAwDasImhhHvSIQQQrQVdXWHLsNE7pNpGAS3bEZ1OrFlZcc7nDYrENLYUFCJYZoclJeC22mLd0hCiEZccsklnHfeefTs2XOfy11xxRVMnDgx6nKl/YYQQgghOozw9u0YgQCOLl2lGWuMqv1hft5agbqrB1ZJIIVIXGVlZdhsjf+PbtiwgWuuuQaApKQkLJbom7HIk0ghhBBCdAhGMEiouBBbZiaWRppzif0rrw6yqagKj8tGt5xkrBZJxIVINAUFBZGflyxZwu9+97tGE8RPP/2U//73vzFtQ5JIIYQQQnQIwS2bUW127Dm58Q6lTdpR7mfr9hrSkh10yfagKjIUmRCJ6L777uOTTz6J/H799dc3upxpmhx77LExbUOSyASUlWRh8tHJZCVJzwhCCCGiE6k77BqE4x1N4gnv3IleXY2zVy9pxhqDwp01FJf6yUx10rlTEookkEIkrOnTp/Pf//4X0zT505/+xMSJE+natWu9ZVRVxev1cvTRR8e0DUkiE5DDqtAjTf40QggholdXdxhBHUOSyHqMcIhQ4Tas6elYk73xDqdNMU2Trdtr2FkRILeTm+w0aQYsRKLLzs7m7LPPBkBRFI4//njS0tKadRuSqSSgsoDBx78GOKGHkzSn3C0VQgixf3V1x/GdFSRNqi+0bRug4OicF+9Q2hTDNNlUVEVFTYiu2R7Svc54hySEiMKKFSvo378/SUlJ5Ofn88svv+xz+cGDBzd5G5JEJqDqoMG/NwUZ3NkuSaQQLSgU1tGiHA/BalWx+8P4gxq6jKEgElBd3XFkppNkNHS/v8llKFYrqt3eAtHFj1ZViVZejqNbdxSrXPZES9MNNhZWURMI0yPXS0pS+zouhGjPLr30Ul599VUOP/xwLr30UhRFwTTrX7vUTVMUhbVr1zZ5G3I2FUJ0SKGwzqqfd1ATiK7dn8Wi4HY7KK/wsWV7DX2dKThs8t6ySDymrhEs3IKpG6iOpl34q+4kPAOPaDeJpGkYhLZtw+LxYGvmplztWVgz2FBQQUgz6JWXgsclQ3gI0Za8+OKL9OrVK/JzS5AkUgjRIWm6SU0gjN1qwWbd/xN/i6qQ5LLhq7YQDOvoRisEKeLGMAzmzp3La6+9RmVlJUceeST33HMP3bp12+9648ePZ+DAgdxwww315o0aNYpt27bVm3b66acza9as5g4eIxhCsVlRXdG/v2aGwxi+GkxNg3aSRIZ37MAIBnF16x7vUNqMsKbzy9YKDBMOykvB5ZBLRSHamiFDhjT6c3OSM4MQokOzWdWonihaLApOuxVrFAmnaPvmzZvH4sWLmTFjBtnZ2cycOZPx48ezdOlS7HtJsAKBANOmTePzzz9n4MCB9eZVV1dTUFDAggULOOSQQyLTnc6We8dMsdlQHY6olzcAU2s/PfIYoRDh4iJsnTphcbniHU6bEAzrrN9WgUltAumwS2sLIdqDJUuWkJaWxsiRI1m7di233norhYWFnHzyydx77717rdf2Ra6GElCSXWV4VwdJdvnzCCFEawuFQixcuJAbbriBkSNH0q9fP2bPnk1xcTEffPBBo+t88803nH322Xz77bd4vQ27tfnpp58wTZNBgwaRmZkZ+UpOTm62uCN1h7Q8BCBYUACKgj07J96htAmBkMYvWytQgN6SQArRbjz33HPccccdrFmzBqgd/qOiooLzzz+ff/3rX8yZMyemciVLSUDpLpUL+rtJd8mfRwghWtuPP/5ITU0NQ4cOjUzzer3079+fFStWNLrOZ599xpgxY1iyZEmjieG6devIzMxsNMFsLnV1R5pDxu8LV1ahlZVh79xZOtOJgj+o8cu2CiyqwkH5KdjlfW8h2o1XX32Vq666iokTJ1JQUMD//vc/rr32Wu644w5uueUW3n333ZjKlTNrAgrpJsXVOtkeC3aLXAwIIURrKioqAiA3N7fe9KysLAoLCxtd58Ybb9xnmT/99BNut5sbbriBVatWkZ6ezjnnnMNll12GupeB70ePHr3X8v7xj39gUVVUVaHufnBINymq1ulkKigqWFQViyX6m5GKRQVVwWpVsbThZtuqquDbvBlbsgdHZicURepRIHIs7HlM1ATC/FpUidNu5aD8FKxNOGbai73tm45O9kv7sHXrVo477jgAPvnkExRFYdSoUQD07NmTnTt3xlSuJJEJqLhaZ+YXVUwZlkyXFPkTCSFEa/LvGhpjz3dEHA4HFRUVMZX5888/U1VVxamnnsr111/PypUrmTVrFhUVFftNQPfF7f4txo2lIR75vJQ7hzlJsVtxJzmwe6J/J1K3mmiESU11Y01KijmmeAsUF+Pz+cjs3x+rp+1+jpbi9f72fmiVL0RRUTWd0j307ZbWIRPI3e2+b8RvZL+0benp6ezYsQOAjz/+mJ49e5KTU9vMf926dXTq1CmmciVDEUIIIXZT19lNKBSq1/FNMBjEFWMHLc899xzBYBCPxwNA3759qampYf78+dxwww2NPo388MMP91mmaRj4fCEMo3bsL59fAyAQ0HCFNHw1QUKWYNQxGsEQui9EebkPSyjq1RKKqWn4f95ISucsfIaKXlYT75AShsWi4vW6qKz0o+sGVb4QGwoqcTusZGe5qaps+rii7cWe+0bUkv2yd6mp7jbTymHUqFE8+uijfPHFF3z66adMnjwZqK2XnnzySc4555yYypUkUgghhNhNXTPWkpISunbtGpleUlJCv379YirTZrNhs9Xv8aZPnz74fD4qKipIi3EMQ8MwIxd3Rt13w8A0QDcMlCZc+Bm6gWGYaJqBqbXNC8ZQYRG6puPOz6OiJozWRj9HS9J1g/KqIBsKKkhy2uiWnYxpgGbIvtJ1Q46ZRsh+advuuOMOdF1nxYoVXHjhhYwbNw6AxYsXM3LkSG666aaYyu3Y7RaEEEK0qKefnsdhh/Vl9uzZ8Q4lav369cPj8bB8+fLItMrKStasWcNRRx3V5PIMw2DUqFHMnz+/3vTvv/+eTp06xZxAivqMUIjQ9hLsmZmo7WScy5ZQ+wSyNoHskevd9V6tEKK9stvt3Hfffbz33nvce++9kRuab7/9No8++ihud/TjCe9OnkQmIEUBh6X2uxBCtFVPPz2PefNquw6fNWsWgUCYq66aGOeo9s9utzN27FhmzZpFeno6eXl5zJw5k5ycHMaMGYOu65SWlpKcnBzVOI+qqnLSSSfx17/+le7du3PIIYfwxRdf8Ne//pVp06Y1W9yRuqPZSmxbQkWFKKoFe3Z2vENJWJEmrJJACtGhmKbJ2rVr8fl8mKbZYP7gwYObXKYkkQko32tl5hi5My2EaLt2TyDrzJ37OIZhMmHCtXGKKnqTJk1C0zTuvPNOAoEAgwcP5tlnn8Vut7N161ZGjx7NjBkzon6X5JZbbsHr9fLoo49SVFREfn4+06ZN44ILLmi2mOvqDq2qEl+zldo26H4/Wmkpjvx8FIsMT9GYan+Y4qJq3E4r3bKSJYEUooP47rvvuPHGGyM9j+/ONE0URWHt2rVNLleSSCGEEM2qsQSyTt30RE8kLRYLU6ZMYcqUKQ3m5efns27dur2u+9FHHzWYZrVamThxIhMnJv6T2LYoVLAN1eHAmp4R71ASUk0gzMaiKrI7JZPlTYp0xiSEaP8eeughrFYrM2bMICcnZ6/DSjWVJJEJqLBa57n/VXPFQA+5HrmjKoRoPZpu4A9qTV7PalGw2yz7TCDrtJVEsq2pqzsu6w3eeAfTirSqSvSqKpw9eqA008VRe+ILhFm/rRKP20afrqlUVvoliRSiA1mzZg2PPfYYv/vd75q1XEkiE5CmmxRVG2i6nOSFEK1H0w22llRjGmCzNe1iPMlp44jenZg//4molp8//wlJIptZpO4wOk4iZZomoYICLEkerCmp8Q4n4fgCYdYXVOJyWOiV55VB44XogDIyMprt6ePu5GwihBACAN0wCWoGNqtKktMW9ZfdaqEmEEbTTSZOvCGqbUW7nBD7opWXY/j92Dt3jncoCccf1FhfUInDZqFnZy8WeUorRId08cUX8/TTT+PzNe/b8vIkUgghRD1Wq4rD1rSm9CFNB35rorqvJq3XXjtJnkKKA2aaJuHiIizeFCxJSfEOJ6EEQzrrCyqwW1VJIIXo4DZt2sT69es59thj6d27d4NexRVF4YUXXmhyuXE/qxiGwZw5cxgxYgQDBgxg3LhxbNq0aa/Ll5WVccsttzB48GAGDx7MXXfd1SCzfueddzjttNMYMGAAp556Km+88UZLfwwhhBC7TJhwLddeO6nReZJAiuailZVhBALYc3LiHUpCCYV1fimowKKq9MpLwSpNWIXo0DZt2kS/fv049NBDcTgcmKZZ78swjJjKjfuTyHnz5rF48WJmzJhBdnY2M2fOZPz48SxduhR7I4MFT5o0iWAwyPPPP09lZSXTpk1j+vTpPPLIIwB88cUXTJ06lbvuuotjjz2WTz/9lDvvvJP09HROOOGE1v54Mclwq4wflESGW078Qoi2qbEnktdff2ObGCeyrYrUHTY/7f2N+rqnkNaUFCwxDpTdHoU1g/XbKlCAg/K8kkAKIXjppZdapNy4nl1CoRALFy7khhtuYOTIkfTr14/Zs2dTXFzMBx980GD5VatW8dVXXzFjxgwOOeQQhg0bxn333cff//53iouLgdqu1fv27cuFF15Ily5duOSSS+jXrx+ff/55a3+8mLltKodl2XE3sWMLIYRIJHVPJBVF4dZbb+Waa66Ld0jtWl3d4bK2//H/tLJSjGAQW05uvENJGJpusKGgAsOEXp1TsFmld3chxG8qKir48MMPWbRoEaWlpWzYsAHTjP2WY1yzlB9//JGamhqGDh0ameb1eunfvz8rVqxosPzKlSvJzMykV69ekWlDhgxBURS+/vprAFJTU/nll1/48ssvMU2T5cuXs379egYMGNDyH6iZVAYN/rneT2UwtsfLQgiRKP5w8ZU89NT7/PFKeQLZ0iJ1R6h9P4c0DYNwcTHW1FQsLle8w0kIhmHya2ElIc2gZ2cvDrskkEKI38yfP5+RI0dy3XXXcd9991FYWMhDDz3E+eefT2VlZUxlxrU5a1FREQC5ufXvJGZlZVFYWNhg+eLi4gbL2u12UlNTI8tfdtllfP/991x++eVYLBZ0XWf8+PGcccYZBxyv1Rpbzq1YVVRVwWJRUS21PwO7vquYqoqigkVVsVhUqsIGS38OcEi2gzR3w/l7OtD5ikUFVcFqVbHE+BlbS1380k1508m+q89qVbFYFCyqgsWy/yc3u//fqkrtOtGsV8fSiuu15rYALHrt8lar2uA8WeUP89rH6zlmYD5ZXkfUZYqmqwjU1h19BqikxzuYFlT3FNLZo0e8Q0kIhlmbQPqDOgfleXE54v6mkhBiHwzDYO7cubz22mtUVlZy5JFHcs8999CtW7dGlw+Hw8yZM4clS5ZQVVXFoYceyrRp0zj44IOj2t7LL7/ME088wdVXX80JJ5zABRdcAMDll1/OrbfeyuOPP85dd93V5M8R1zON3+8HaPDuo8PhoKKiotHlG3tP0uFwEAwGASgsLKS8vJy7776bQYMG8eWXXzJ79mx69uzJOeecE3OsqqqQlhZb72+aHcJuO9YkOxbnbxdRbnftZwnpdkJ2K+4kB3aPA3eo9uLN7bLh8dgbzN/Tgc7XrSYaYVJT3VjbSA93Xq/cfY6V7Ltadn8Yt9tBksuG0x79qdDlsmO3W0hyO/A08v+0NzpKq63XmtsCsIY0TItKaqqbJJet3rydNeHIz3LsiQNlGgah4mKsaWmoTjmeTNNkU1EV1f4wvfJScDtt+19JCBFXTe0P5t577+Wjjz5ixowZdOnShdmzZzN+/Hjee+89kpOT97u9l156iQkTJnDjjTei63pk+ogRI7jpppt4+umn214SWdfFbCgUqtfdbDAYxNVIExWn00koFGowPRgM4t71Yv2kSZM4/fTTueSSSwA4+OCDqaio4JFHHuGss86KebBNwzCprIxtfBXd58PnC2HBhqopqKqC223H5wthGCZaTYhQSMNXEyRkCeLzawD4/GGqqxvO39OBzjeCIXRfiPJyH5aGuzehWCwqXq+Lyko/ui7NfZtC9l19voCGzxdE0Q00u7bf5Wv/bx34/SFCIZ0aXxBLE7ovqalpvfVac1tQO5yALximvNxHKFC/Wqmq9Ed+juXY83pd8vRcRGilOzHDYezZ0iMrwJaSaipqQvTI9eJxSQIpRKKr6w9mypQpjBw5EoDZs2czYsQIPvjgA0477bR6y2/ZsoXXX3+dBQsWcPzxxwPw0EMPcdZZZ7F69WqGDRu2320WFBQwZMiQRuf17NmTHTt2xPRZ4ppE1jVNLSkpoWvXrpHpJSUl9OvXr8HyOTk5/Otf/6o3LRQKUV5eTnZ2NqWlpfz6668cdthh9ZYZOHAg8+fPp7y8nPT02Bv5aFpsF966ZmAYJugGpm5Q9yqqYZjouoFuGJgG6IaBohsYuy6yDN1odH6D8g9wvqEb6KEwwaoaLHv5jIrVitrI3ZF40XUj5r9HRyf7rpamGei6iW6Y6Hr0CZNhmBhm7TpNWU9vxfVac1t16+m6iaY1PLZ2L0eOPXEg6j+FdO5/hXaucGcNpZVBumZ7SElKnPpZCLF3++sPZs8k8vPPP8fr9XLcccfVW/6jjz6Kepu5ubmsWrWKY445psG81atXN3hVMFpxTSL79euHx+Nh+fLlkSSysrKSNWvWMHbs2AbLDx48mFmzZrFp06ZIu+Hly5cDMGjQIFJTU3G5XKxbt67ezv7pp5/wer0HlEC2JpdNYWC2DZetdXrYMzWN4NYtmLqB6mi8IlLdSXgGHpFQiaQQIvG5nFYGH5wlT0laQaTusOr7X7gN0srLap9CZmXFO5S421Hhp7jUT24nN+leSaiFiIeCggIuvfTSvc7/8MMPG0xran8wGzdupEuXLvzzn//k6aefpri4mP79+zN16tR6HY3uy3nnnccTTzyB0+mMPM30+Xz84x//YMGCBVxxxRVRlbOnuCaRdrudsWPHMmvWLNLT08nLy2PmzJnk5OQwZswYdF2ntLSU5ORknE4nAwYMYNCgQUyePJl7770Xn8/HPffcw1lnnUV2djZQ+5Lo/PnzyczM5Mgjj+Trr7/mqaee4tpr287g1p3cFsYd4Wm17ZmGjhEModisqK6G422Z4TCGrwZT00CSSCFEE2Slurjh3MNJS0uirKwm3uG0a3V1h1ZVSWwvXyQu0zQJl5RgTUnp8O9CVlQH2bq9hk6pTrLTZIxMIdqSpvYHU11dzebNm5k3bx633XYbXq+X+fPnc/HFF7Ns2TIyMjL2u83x48ezdetWZs2axaxZs4DajkgBTj/9dK6++uqYPkvcu/CaNGkSmqZx5513EggEGDx4MM8++yx2u52tW7cyevRoZsyYwTnnnIOiKMydO5fp06dz+eWX43A4OPnkk7njjjvqlZeamsqCBQsoLCwkPz+fKVOmcOGFF8bxUzaNZphUhUyS7QpWtfXG+1JsNlRHw840DMDUwg1XEEKI/dB0g0pfCE9yx77wbw11dYfLaH9DfOgVFRiBAI4uXfe/cDtW7Q+zsaiKlCQ7eZ3aRkd4QrRXnTt3bvRp4740tT8Ym81GVVUVs2fPjjx5nD17NiNHjuStt97iqquu2u82FUXhvvvu44orruDLL7+koqKC5ORkhgwZQu/evZsU/+7inkRaLBamTJnClClTGszLz89n3bp19aZlZGQwZ86cfZZ3xRVXxPxoNhEUVunM/KKKKcOS6ZIS9z+REELEbNv2GqY/v4LZk0eSkSRNWltSXd1xczsc4iNUUozF48HSRnoQbwmBkMavhZUkOW10y0lGUVrvJrMQonnE0h+M1Wqt13TV6XTSpUsXtm7d2qRt9+jRgx7NODRSTBlKQUEBnTt3brYghBBCCCEao1dVYfh8OKN8/6c9Cms66wsqsVlUuucmo0oCKUSb1NT+YI466ig0TeP777+PdBwaCATYsmVLg054drd7K81ozJgxo0nLQ4xJ5OjRoxk6dCjnnHMOJ554Io5GmkAKIYQQQhyoUEkxqtuNNdkb71DiQtMNNhRUggk987xYZcgbIdqspvYHc9RRR3HMMcdw++23c99995GamsqcOXOwWCyceeaZe91OXcejdUpKStA0jc6dO5OZmUl5eTlbtmzBbrc3+gQ0GjGdiWbNmoXVamXq1Kkce+yx3H333fzvf/+LKQAhhBBCiMbovhr0qqoO2yOrYZpsLKoipBn07OzFbrPEOyQhxAGaNGkS5513HnfeeScXXXQRFosl0h9MYWEhw4cPZ9myZZHln3jiCYYMGcL111/PeeedR3V1NS+++OI+R5346KOPIl+TJ08mIyODV199lY8++ohXXnmFf/zjH7z99ttkZ2dzyimnxPQ5YnoSedppp3Haaaexfft2lixZwt///ndeffVVunfvzjnnnMOZZ54Z6S1VCCGEECIW4ZISVIcDS0pqvEOJi60l1dT4w/TKS8HlkD4ShGgPmtofjMfj4d577+Xee++NaXuzZ8/mlltu4fDDD683/aCDDuLGG29kxowZXH755U0u94DaRGRmZjJ+/HiWLl3KW2+9RVZWFrNnz2bUqFFMnDiRr7/++kCK77DyvBYePTGVPK/ccRRCtG1dsj08O3UUPTunxDuUdq+u7ujcTvqeMQIBtPJybFnZHbITmeIyH6WVQbpkeWScVSFEzMrKykhOTm50ntVqxeeLbVCoA25Yv3LlSu666y7++Mc/snLlSo499lj+9Kc/oWkaY8eO5bnnnjvQTXQ4qqJgUxV5cV4I0eapioLNqqK24nBFHVV7qzvC27ej2GxY09LiHUqrK68OUrjDR3a6i3Svc/8rCCHEXgwcOJC5c+dSVlZWb3pJSQlPPPEERx99dEzlxtQ2YtOmTfz973/n7bffZtu2beTl5XHZZZdx7rnnkpOTA8All1zCrbfeyvz589v0cBvxUFKjs3i1jwsPdZOVJE8jhRBtV1Gpjxff/5GbLj4St7V9JDeJqq7uOK+HiSfewRwgU9MIl5Viz8pGUTtWRzK+QJjNxVWkJtvJSXfHOxwhRBt3++23c+mllzJq1CiOOOII0tLS2LlzJ6tWrSIlJYX58+fHVG5MSeRJJ52Ew+Hgd7/7Hffffz/Dhg1rdLmePXuycePGmALryIKayS9lGkGt/Q0YLYToWIIhnR83l+MParit0iSvJdXVHaGubT/pCu/cCZhYMzLiHUqrCoV1NhRW4rRb6ZolY0EKIQ5cv379WLp0Kc8//zzffPMN27ZtIy0tjXHjxnH55ZeTmpoaU7kxJZF33XUXZ5xxxl7b19a59tprufbaa2MKTAghhBAdj2mahHfuwJqahmrrODcedMPg18JKFEWhR65XmoALIZpNdnY2t99+e7OWGdPtyn/84x+UlJQ0Ou/HH3/k9NNPP6CghBBCCNEx6RXlmKEQtsyOM6yHaZpsKqomGDbomevFZm37T5OFEO1b1E8iV65ciWnWNq/86quvWLFiBaWlpQ2W+/jjj9myZUvzRSiEEEKIDiO8fQcWjweLyxXvUFpNwY4aKn0heuZ6ZSgPIUSbEPWZ6vXXX2fJkiUoioKiKEyfPr3BMnVJ5u9///vmi7ADSnOpXHiImzSX3IkUQrRt6V4H4047mMxUF0ZYi3c47Vpd3ZHqCMQ7lJjpvhr0mmqcPXrEO5RWs6PCz/byAPmZSXiT7PEORwghohJ1Ejlt2jTOOeccTNPk8ssv5+677+aggw6qt4yqqni9Xnr37t3sgXYkHrvKMV0c8Q5DCCEOWLLbzvFH5JHicVBWJklkS6qrO7SqILGN+hV/4e3bUR0OLN6OMa5otT/M1u01dEpx0im14zx5FUK0fVEnkcnJyQwZMgSAF198kUMOOYSkpHYyonGCqQ4ZfFcc5vBsGx67PI0UQrRdVb4Q367fyagh3eIdSrtXV3f0TzIPfBDoODDCIbSKcuy5nTtEr6ShsM7Goko8ThudM+V6SgjR8qqqqigpKaFLly5YLBYsltiHEow6iVyyZAkjR44kLS2NgoICCgoK9rn8WWedFXNQHV2Z32DxDz66eJMliRRCtGmllUEWvruWw/pkkZHUcXrajIe6uuPmASrp8Q4mBtqOHSiKii2tLUbfNIZhRnpi7Z6bjNoBkmYhRPwsX76cWbNmsXr1ahRF4bXXXuOZZ54hJyeHqVOnxlRm1Enk1KlTefXVV0lLS9vvxhRFkSRSCCGEEFExDYPwzp1Y09NRrO2/Y5ktJdUEwzoH5aVitcjNYiFEy/niiy8YP348RxxxBLfeeiuzZs0CoH///vzlL38hOzubK664osnlRn2m/vDDD8nMzIz8LIQQQgjRHLSKCkxNw5bRKd6htLiScj9lVUG65STjdrb/hFkIEV9/+ctfGD16NI8//jiapjFz5kwAJkyYQHV1Na+99lrLJpF5eXmN/lxH0zSqq6tJTU1tchBCCCGE6Li0nbXDeqhOZ7xDaVGVvhAFO2rITHORliwd6AkhWt7atWu57rrrABq8b37sscfywgsvxFRuTG0oNE1j7ty5vP3220DtY9JjjjmGYcOGcfnll1NRURFTMKKWw6pwUJoVh1XekRBCtG0Ou4V+XVNl7LtWUFd32GPvJyEujEAAvboaazt/ChkM62wqqiLZZaNzhjve4QghOojk5GS2b9/e6LzCwkKSk5NjKjemJPKJJ55g/vz5VFVVAfDQQw+RlpbGHXfcwebNm3n00UdjCkbUykqyMOnoZLKS2tiVgBBC7CEn3c2fLjuKvExPvENp9yJ1h6tt3YAM79yJYrViTWm/w3rohsHGwkqsqkK3nOQO0fusECIxjB49mtmzZ/P9999HpimKQlFREU899RTHH398TOXGlEQuXbqUm2++mUsuuYQNGzbw888/M3HiRC677DImT57MRx99FFMwopZhmoQNE8M04x2KEEIcEMM0CWsGhiHns5bWFusO0zDQynZiTc9AUdtvBzObi6sJhg2653qlIx0hRKu65ZZbyMjI4IILLogkjDfffDMnn3wyiqJw8803x1RuTGeykpISBgwYAMCnn36Kqqocd9xxAOTk5ESeUIrYbKvUueWf5Wyr1OMdihBCHJAtxdVc+fBHbCiQ1xxaWl3dUVAT70iip5WXY2o6toyMeIfSYkrK/VRUh+iW7ZFm3UKIVpeSksJrr73G9OnTGTx4MMcccwx9+/ZlypQpvPnmm6SnxzasUkxns6ysLLZu3cpRRx3FBx98wMEHHxwJYNWqVeTk5MQUjBBCCCE6Dm3nDizJyaiO9tnJTLU/TMGOGrLSXKR42udnFEIkttWrV3PooYdywQUXcMEFFzRbuTElkWeccQYzZszgnXfe4euvv+buu+8G4MEHH2TRokVcc801zRagSAympqH7/Xudr1itqHZ7K0YkxG9CYR1Nb1oTPn9QQ2/iOkKI5qP7/eg1NTi794h3KC0irBlsKqrC47SRKx3pCCHi5LzzzqNnz56cddZZnH766eTm5jZLuTElkZMmTcLpdLJixQpuueUWLr74YgC+//57xo0bx8SJE5slOJEYTE0juHULpm6gOhpPFFV3Ep6BR0giKVpdKKyz6ucd1ATCTV6vYKePvs4UHDbpxEqI1qbt3IFis2HxeuMdSrMzTZNNxVWYmHTL8UhHOkKIuFmwYAFLly5lwYIF/OUvf+HII4/krLPO4qSTTsLjib3Tu5iSSEVRuPrqq7n66qvrTV+8eHHMgYjEZRo6RjCEYrOiuhreTTXDYQxfDaamgSSRopVpuklNIIzdasFmbcJr3mZtl/u60XKxCSEaV9uhThm2Tp3aZYc6RaU+qv1hDspLwWaVm1RCiPgZOXIkI0eOJBgM8uGHH7J06VLuvfde7rvvPkaPHs0ZZ5wRUw+tMb/hXVVVxZdffonP58NspCe4s846K9aiO7zcZAvTj08h2Z5Ydy4Vm63R91YMwNSa9hRIiMYcSLNUm1Nt0hPFYFg6rmoNeZlJ/GXScLrmeKmu2nuTeHHg6uoOV7CKULyD2Q+trAxT17Gmt78OdSpqQhSX+snt5MbjssU7HCGEAMDhcHDqqady6qmnUllZyZw5c1i0aBHvvfcea9eubXJ5MSWRn3zyCTfddBP+vbwjpyiKJJEHwKoqpDkTK4EUoqVJs9T2yWpRSfc6m/aUWMSkru7QwkriJ5GlO9tlhzqhsM7m4iq8SXayUl3xDkcIIer57rvvWLZsGe+//z5FRUUccsghnHnmmTGVFVMS+dhjj9GzZ0/uuOMOsrOzUdthU5R42uHTeXudnzP6uujkloti0TFIs9T2qaTczxufrGfC2YfjkKqiRdXVHaflmyRy+mIEArs61Oke71CalWGabCyqwqIqdM2W9yCFEIlh3bp1LFu2jGXLlrF161ZycnI444wzOPPMM+nVq1fM5caURG7YsIF58+Zx1FFHxbxhsXf+sMn/isOM6emMdyhCtDqbVZqltif+gMaKtSVcfHIYR5I07WtJdXXHqBw1oZNIrawUxWrB4k2JdyjNqmB7Df6gRu/8FKwWuWMihEgMZ555JklJSZx44oncf//9DB06tFnKjSmJ7Ny5M9XV1c0SgBBCCCE6BtM0CZeWYk1Na1cd6pRVBdlRESA/Kwm3U26WCCESx6xZsxgzZgyOZn59IKYk8uqrr+bJJ5/ksMMOIz8/v1kDEkIIIUT7pFdXYYbDWNPT4x1KswmGdLaUVJOW7KBTSiI/AxZCdBQFBQVkZmZis9kYNGgQO3fu3OfynTt3bvI2Ykoi33nnHYqLixkzZgzp6ek4nfWbXSqKwr/+9a9YihZCCCFEO6WVlqI6nVjcSfEOpVkYu8aDtFoU8rPax2cSQrR9o0eP5pVXXuHwww9n1KhR+31Hu9V6Z83JySEnJyeWVUUUUpwqv+/tJMXZfpr6CCE6plSPnfNP6EWG1wm6vL/akurqDq89MftmNTUNraIce3ZuvENpNkU7ffiCGn3yU7C0o+a5Qoi27aGHHqJLly6Rn1uio6+YksgZM2Y0dxxiN16Hyom9pEmMEKLtS/E4OP3YHqR5nZSV1cQ7nHatru7QqsL44h1MI7SKcjDBmp4W71CaRaUvRElZ7XiQ8h6kECKRnH322ZGfhw4dGmnauqdgMMgPP/wQ0zYO6LbZ+vXrefHFF5k1axbFxcWsXLlSOtxpBr6wwfclIXxhGbNACNG2+QJhvvlpO9X+po3/KZquru7wa2a8Q2mUVlpaOzakzR7vUA5YWDPYXFxFstsm40EKIRLa6NGj99pc9bvvvuOKK66IqdyYnkTqus4999zDG2+8gWmaKIrCKaecwpNPPsmWLVt4+eWXpbnrAdjpM3jmmxqmDEvGnSLNY4QQbdf28gB/efVbZuelkiFDfLSourrj5gEqidZtTXsaG9I0TTaXVIEJXbOTZTxIIUTCeeSRRygvLwdqz1nz5s0jLa1hK5C1a9eSnJwc0zZiylDmz5/PO++8wwMPPMB//vMfTLP2ruftt9+OYRjMnj07pmCEEEII0f60p7Eht1cEqKoJ0zU7GZtVbvQKIRJPr169WL58OcuXL0dRFFavXh35ve5r5cqVqKrKHXfcEdM2YnoS+cYbbzBp0iTOPfdc9N06SujXrx+TJk1i1qxZMQUjhBBCiPalPY0N6QtoFO6oITPViTep7TfLFUK0T+eddx7nnXceAKNGjeLJJ5/k4IMPbtZtxJRE7tixY6+BZGdnU1lZeUBBCSGEEKJ9iIwNmZZojWybRjcMNhVV4rRbyO0kw3kIIdqGjz76aJ/zq6qqYmrSGlMS2a1bNz755BOOOeaYBvO++uorunXrFkuxYherRSHHo2K1yHsWQoi2zWpVyeuUhF2a/bW4SN2RYLtaKytDdTiwJLXtxGvb9hrCukHfzmmo8h6kEKKNCIVCPP/883z11VeEw+HIa4imaeLz+fjll1/49ttvm1xuTEnk5Zdfzt133004HOaEE05AURQ2bdrE8uXLWbhwIVOnTo2lWLFLrsfCn4a3/fdGhBAir1MSM64ZRlpakgzx0cLq6g6tqjJhhvgwDQO9sgJbRqd4h3JAyqqClFYG6ZrtwWG3xDscIYSI2p///Gdefvll+vTpQ2lpKQ6Hg/T0dH766SfC4TDXX399TOXGlESef/75lJaW8tRTT/G3v/0NgJtvvhmbzcZVV13FRRddFFMwQgghhGg/9KpKTE1v001Zw5rO1u3VpHjspHud8Q5HCCGa5J///Cd//OMfmTp1KgsWLGDNmjU8/vjjFBcXM3bsWAwjtiEFY0oiAcaPH8/pp5/OV199hdVqJTk5mQEDBpCamhprkWKXrZUajy+v4sajk8n3xvwnEkKIuNtcXMXD//cNj1w/gjS3nM9aUl3dcf2hKg07co8Prawc1eVCdbbd5GtzSTWKAl2yPPEORQghmqy0tJSRI0cC0LdvX1555RWgth+bCRMm8Nxzz8X0NLLJNfrSpUtZvHgx3377LZqmAeB0Ohk0aBAXXXQRv/vd75pUnmEYzJ07l9dee43KykqOPPJI7rnnnr2+V1lWVsYDDzzAp59+CsDJJ5/MHXfcgdvtjizz3Xff8cgjj/D999+TlpbGueeey/XXX4/aRnqFM00I6rXfhRCiLTNNCIR0DDmhtbhI3RHvQHYxdR2tshx7dm68Q4nZjgo/VTVhenb2YrW0jWsIIYTYXXJyMqFQCIDu3btTWFhIdXU1Ho8n8nssoj4jGobBzTffzK233srmzZs59dRTGTduHOPGjWP06NH8/PPP3HDDDU1+H3LevHksXryYBx54gFdeeQVFURg/fnzkw+5p0qRJbNmyheeff545c+bwn//8h+nTp0fm//rrr1x22WV07dqVv//970ydOpXnnnuOZ599tklxCSGEECI6RiiE7vPV+woVFWH4AygOR4N5u38Ze6nv4y0Y0inYUUNGigznIYRou4466iheeuklfD4f+fn5uFwuPvjgAwBWrVqFxxNbK4uon0T+7W9/4/3332fq1KlcdtllDZ7qGYbBokWLeOihhxgxYgSnnXbafssMhUIsXLiQKVOmRB6zzp49mxEjRvDBBx80KGPVqlV89dVXLFu2jF69egFw3333cdVVV3HzzTeTnZ3NggULOOigg3jooYdQFIUePXrw888/880330T7UYUQQggRJSMUovp/qzB89TtOCu/YjmmYGP59d/OjupPwDDwC1Z44iZppmmwqrsJmUencyb3/FYQQIkFdf/31XHLJJVx99dW89NJLXHzxxdx999289NJLrFu3Lua+bKJOIt98803+8Ic/8Mc//rHR+aqqcskll/DLL7/w6quvRpVE/vjjj9TU1DB06NDINK/XS//+/VmxYkWDMlauXElmZmYkgQQYMmQIiqLw9ddfc+qpp/LZZ58xfvx4lN263540aVK0H1MIIYQQTWBqGoavBsVqQ7HZaqfpOqYB1vR0VNfekzAzHMbw1WBqGiRQEllS5scX1Oidn4KljbwKI4QQjenbty/vvfceP/30EwC33HILHo+Hb775hlGjRjFhwoSYyo06idy4cWNUydiIESP417/+FVWZRUVFAOTm1n9fIisrq9H2ucXFxQ2W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2fjx4we45Pmj7b3UG3nv9U4+zz3LpG4aGhpYuHAhxcXF/OpXv+JnP/sZDQ0NnHvuuTiOk4PS959M3zNtPv7440H7XmmTad1ce+21PPjgg/zgBz/goYceoqKigvPOO4+WlpYBLnn/yrReFi9ezNatW7n33nu59957qa2t5Zvf/OYAl3pgyXVtD7ToV++9957+0pe+pOfMmaOPPPJI/d3vfneP2//xj3/UhxxyiG5qampftmbNGl1dXa0dx+nv4uaV2tpaPWXKFP33v/+9fdn777+vJ02apF999dUe9/vc5z6n77333v4vYB5xHEfPmDFDP/DAA+3Lmpqa9GGHHaYfe+yxLtu/8soretKkSfq9995rX/bss8/qyZMn69ra2gEpcz7JtP601nrhwoX6+uuvH6gi5rXa2lr99a9/XU+fPl0ff/zxesGCBT1uK++93snnuWeZ1s3vfvc7XV1drROJRPuyrVu36kmTJun/+7//G5AyD4RsvsO01tr3ff3Vr35Vn3nmmXrSpEl606ZNA1HcAZVp3Xz00Ud60qRJ+q9//WuH7Y866qgh/Z5pamrSkyZN0s8880z7sqefflpPmjRJ19fXD0iZB5Jc13onLZH97IUXXuBTn/oUjz32WFotFC+99BIHH3wwZWVl7cvmzJlDa2sr69ev78+i5p2XX34ZgNmzZ7cv22+//aiqquLFF1/sdp94PM5HH33EgQceOCBlzBfr168nGo0yZ86c9mVlZWVMnTq127p66aWXGDlyJAcccED7slmzZmEYRnu9DyWZ1h+kWiKH2vusJ2+99Rbl5eX8z//8D9OmTdvjtvLe6518nnuWad3MnTuX2267jVAo1GVdU1NTv5Z1IGXzHQZw5513kkwmueCCCwaimDmRad3885//pKysjM9+9rMdtv/LX/7C3LlzB6TMAyHTegmFQkQiER599FFaW1tpbW3lD3/4A/vuuy/l5eUDWfQBIde13g3u/n154Ktf/WpG29fW1jJ69OgOy0aNGgXAli1bOOyww/qsbPlu27ZtVFZWdrn4jxo1iq1bt3a7z7vvvotSiieffJLrrrsO13WZNWsWl112WXs9DkZtYxLGjBnTYXlPdbVt27Yu2waDQSoqKnqs28Es0/qrr69nx44dvPjii9x///00NjYybdo0LrvsMvbbb78BKXM+Ofroozn66KPT2lbee72Tz3PPMq2b8ePHd3mAe9dddxEKhaipqem/gg6wTOsF4PXXX+eee+7hwQcfZNu2bf1exlzJtG4+/PBDJkyYwP/+7//y05/+lG3btjF16lSuuOKKDkFCocu0XkKhED/84Q+57rrrOPzwwzEMg5EjR/KrX/0K0xx8bVJyXevd4PurD6DNmzd3m1ij7Wf79u0ZHzORSBAMBjssawuiBtv4jd7qLx6Pd6kLSNVHT3Xx7rvvAlBaWsrq1au5/vrree+99zjzzDOJx+P9+npyqe21dffe6a6usqnbwSzT+nvnnXcAsCyLG2+8kVWrVhGLxTj99NPZsWNH/xe4gMl7r3fyee5ZpnXT2S9/+UseeOABLrnkEoYPH94vZcyFTOslFotx2WWXcdlll7HvvvsORBFzJtO6aW1t5aOPPuL222/nkksu4Y477sC2bU4//fReE/sVkkzrRWvNhg0bmDFjBr/+9a/5xS9+wbhx47joootobW0dkDLnq6H0Hbw7aYncC1VVVTz++OM9rh82bFjGxwyHw10GNLe9ASORSMbHy2e91d/f//73bgd3O45DUVFRt/v853/+J8cee2yHrhUHHXQQ8+fP569//SsnnHDC3hc8D4XDYQBc123/P/RcV929z9q2H2zvs3RkWn9z5szhhRde6PA+u+222zjqqKN4+OGHOf/88/u/0AVK3nu9k89zzzKtmzZaa26++WbuuOMOLrjgAs4+++z+LuqAyrRerr/+evbdd1++8pWvDFgZcyXTugkEArS0tLBq1ar2lsdVq1Yxf/58HnnkEc4999yBKXg/y7Re/vSnP/HAAw/w17/+lZKSEiDVHfqoo47ioYce4qyzzhqYguehofQdvDsJIvdCIBDo864No0ePbm/laFNXVwekgq7BpLf627BhA42Njbiu2+EJT11dXZcuv7vr3De/qqqKioqKQZ2Guq0bRV1dHRMnTmxfXldXx5QpU7psP3r0aJ5++ukOy1zXpbGxcdC9z9KRaf1B1/dZJBJh/Pjxg7pbWF+Q917v5PPcs2w+q8lkkqVLl/LYY49x+eWX8/Wvf31AyjqQMq2Xhx56iGAwyIwZMwDapxH7whe+wMknn8x11103AKUeGNl8nmzb7nB/Eg6HmTBhwqCaAiXTenn55ZfZb7/92gNISF0H99tvPz788MN+L28+G0rfwbuT7qx5pqamhnXr1nXoGvDcc89RXFzc4wVysJo5cyZKqQ6Dkt9//322bdvG4Ycf3u0+N910EyeccAJa6/ZlmzdvpqGhYVAnQZkyZQolJSWsXbu2fVlzczPr1q3rtq5qamqora3tMB9U277V1dX9X+A8k2n9PfDAA8yePZtEItG+rLW1lQ8//HBQv8/6grz3eief555lWjcAl19+OU8++SQ33XTToAwgIfN6+d///V8ee+wxHn30UR599FGuv/56AH7605/2Oo1Wocm0bg4//HA8z+ONN95oX5ZIJNi0aRP77LPPgJR5IGRaL2PGjGHjxo0dumfG43E2b948qOolG0PpO3h3EkTmmOu6bN++vb0Z/Nhjj2XkyJF85zvfYf369Tz99NOsWrWKc845p9v+1oNZVVUVJ554IldddRVr167l9ddf59JLL2XWrFlMnz4d6Fp/xx9/PJs2beIHP/gBH3zwAS+++CIXX3wx1dXVzJs3L4evpn8Fg0EWLFjAypUreeaZZ1i/fj2LFy9m9OjRHHfccfi+z/bt29uDnmnTplFdXc3ixYt5/fXXef7557nmmms49dRTB/VTs55kWn9HHXUUWmsuv/xy3n33Xd544w0uvvhihg0bxhe/+MUcv5r8Iu+9zMnnuWeZ1s3DDz/M448/zuLFi5k1axbbt29v/9n9IVChy7Re9tlnnw4/be+TsWPHDqqxopB53Rx++OF8+tOf5rvf/S4vvfQS7733HpdffjmWZXHKKafk+NX0nUzr5dRTTwVovz9t2z4YDHLaaafl8JUMvKH8HdxBbmcYGVoWLFjQZZ7I559/Xk+aNEk///zz7cs+/PBDvXDhQn3ooYfqI444Qv/kJz/Rvu8PdHHzQjQa1VdeeaU+/PDD9eGHH64vueSSDvMRdVd/zz//vP7KV76ip0+frmfNmqWXLl2qGxsbc1H8AeV5nv7xj3+s58yZo6dPn67PO++89jm/Nm3apCdNmqQfeuih9u137NihL774Yj19+nQ9e/Zsfc0113SYS22oybT+1q1bp8855xw9c+ZMXV1drS+++GK9ZcuWXBU/b3z3u9/tMJ+WvPeyI5/nnmVSNwsXLtSTJk3q9mf3+hsMMn3P7K7tWjoY54nUOvO6aWlp0ddcc42ePXu2njZtml64cKF+9913c1X8fpNpvbz33nv6ggsu0LNmzdJz5szR3/rWtwbte2Z3cl3rnqH1bv3+hBBCCCGEEEKIPZDurEIIIYQQQggh0iZBpBBCCCGEEEKItEkQKYQQQgghhBAibRJECiGEEEIIIYRImwSRQgghhBBCCCHSJkGkEEIIIYQQQoi0SRAphBBCCCGEECJtEkQKIYQQQgghhEibBJFCDBFHH300V1xxRa6LIYQQQgghCpwEkUIIIYQQIm/IQ08h8p8EkULkCdd1c10EIYQQQggheiVBpBA5cM4553D66afzt7/9jf/+7//msMMOY9myZV22u/rqq5kzZw6e53VYvmLFCmbNmoXruiQSCW666SY+97nPccghh1BdXc3ChQt5++23ezx/d095H374YSZPnszmzZvbl/3+97/nxBNP5JBDDuHII4/klltu6VKWt956i7POOouZM2cyY8YMzj77bF577bVsqkUIIYQQQhQACSKFyIF169axadMmli9fzpe//GV+9rOfccYZZ3TZ7pRTTqGhoYHnnnuufZnWmscff5zjjz+eYDDI5ZdfzoMPPsj555/PPffcwxVXXME777zD4sWL0VpnXca77rqLq6++mrlz53LnnXfyta99jZ/97Gd8//vfb9+mtbWVc889l8rKSlavXs2qVauIx+N8/etfp6WlJetzCyGEyJ1vfOMbnHbaafzud7/j5JNP5rDDDmP+/PmsXr0apVSP+xXCg08hRN+wc10AIYaajz/+mIaGBvbZZx8eeughSkpKetx25syZjB8/nscff5x58+YB8PLLL7NlyxZOOeUUXNclGo1y9dVXc8IJJwAwa9YsotEoN9xwA9u3b2fUqFEZl7GlpYU77riD//7v/+aqq64C4IgjjqCiooKrrrqKhQsXctBBB/Hee+9RX1/PGWecwcyZMwHYf//9WbNmDa2trZSWlmZ8biGEELn15ptvEo1Gue+++7jgggsYMWIEDz30ELfddhtjxozhS1/6Urf7nXLKKfzud7/jueeea79mdX7wuWjRIl588UUuvfRSJk6cyIcffsjNN9/M4sWLeeKJJzAMI6sy33XXXaxatYoFCxawdOlS3n77bW655Ra2bt3Kj370o6zrQgjRPQkihRhgb731FgCXXnppewCplOrydNe2bQzD4OSTT+b+++9n2bJlBINBHnvsMSZMmNAetN19990A1NXVsXHjRt5//33++te/ApBMJrMq46uvvko8Hufoo4/u8BT36KOPBuBf//oXBx10EAcddBDDhg3jwgsv5POf/zzz589n7ty5XH755VmdVwghRG5t27aN7du3M2HCBH7729+2PwycNWsWL7zwAs8880yPQWS+P/gUQvQdCSKFGGBvvfUWwWCQ+fPnty+77bbbuPXWWztst2HDBgBOPfVUbr/9dv7xj39w5JFH8uSTT3L66ae3b/fss8/yox/9iPfff5/i4mImT55McXExQNbdWRsbGwE4//zzu11fV1cHQHFxMb/+9a+54447ePzxx1mzZg1FRUWcfPLJXHnllYRCoazOL4QQIjfeeOMNAL71rW916E0SCASYOHEiDQ0NBfvgUwjRdySIFGKAvfXWW0yePJlwONy+7Mtf/jJHHnlkt9vvs88+TJ8+nSeeeIJAIEBDQwMnn3wyAB999BEXXXQRxxxzDHfddRcTJ04E4Ne//jXPPvvsHsvh+36H32OxWPv/y8rKAFi5ciX77rtvl31HjBjR/v/999+fFStW4Ps+r7/+On/4wx/4zW9+w/jx43sMQoUQQuSnN954g0AgwOc///ku6+rq6jj44IML9sGnEKLvSBApxABbt24dn/vc5zosq6qqoqqqqsd9Tj75ZH7yk59gmibTp09vD+zefPNNHMfhggsuaA8ggfYAsqcLcklJCbW1tR2WvfLKK+3/nzZtGoFAgG3btnHSSSe1L1+/fj033HADF110EWPGjOHJJ5/k2muv5Y9//CMjR45kxowZzJgxgz/96U9dji+EECL/vfnmm1RUVHTpSfLaa6+xadMmvvnNb/KZz3ymYB98CiH6hgSRQgyg2tpadu7cySGHHJLRfieeeCLLly/nT3/6E1deeWX78oMPPhjbtlmxYgXnnHMOruvy8MMP87e//Q3oeJHd3VFHHcVdd93FnXfeyfTp0/nb3/7WIQNsZWUl5557LjfffDOtra3Mnj2bbdu2cfPNN2MYBlOmTAGguroapRQXXXQR559/PsXFxTzxxBO0tLR0CZSFEELkvzfffJPW1laam5vbgzPf91m5ciXjxo3jC1/4AsFgsCAffAoh+o4EkUIMoDfffBMg4yCyoqKC+fPn8/e//709GQGknvjedNNN3HrrrVx44YWUl5czffp07r//fs444wxeeuklJk+e3OV4F1xwAfX19dxzzz0kk0mOPPJIfvjDH3LhhRe2b/Od73yHkSNH8sADD/Dzn/+c8vJy5s6dyyWXXNI+TmbUqFH8/Oc/5+abb+bKK68kHo9z0EEHccsttzBnzpxsqkgIIUSObNq0icbGRsaOHcu3v/1tFi5ciOu6/PKXv+TNN9/k/vvvJxgM9nqcfH3wKYToO4bem4nkhBBCCCHEoPDEE0/wne98hzVr1vCb3/yGZ555Bq01c+bM4dJLL+WAAw5I+1gXXXQRf//733n22WeprKxsX/7kk09y66238tFHH7U/+DzzzDM544wzuPrqq/na177G0UcfzaxZs7jhhhuAVHC5fPly/vznP7c/+DzppJO48MILeeaZZxg/fjyQ6hb7wAMPsHHjxg4PPseOHdu3FSWEkCBSCCGEEELAj3/8Y37zm9/w0ksvYVlWrosjhMhjZq4LIIQQQgghcu/NN99k6tSpEkAKIXolQaQQQgghxBCntWbdunUZj9kXQgxN0p1VCCGEEEIIIUTapCVSCCGEEEIIIUTaJIgUQgghhBBCCJE2CSKFEEIIIYQQQqRNgkghhBBCCCGEEGmTIFIIIYQQQgghRNokiBRCCCGEEEIIkTYJIoUQQgghhBBCpE2CSCGEEEIIIYQQaZMgUgghhBBCCCFE2iSIFEIIIYQQQgiRNgkihRBCCCGEEEKk7f8Hb+qvY02APhYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bd70a68281ed4e2fb1d53d7783401b27", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='Sample:', options=('Both', 'Drought', 'Flood'), value='Both'), Int…" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ipywidgets import interactive, IntSlider, FloatSlider, Dropdown\n", "rval_d,pval_d = pearsonr(xrange(5),d_means[4:9])\n", "rval_f,pval_f = pearsonr(xrange(5),f_means[4:9])\n", "print(\"A Pearson's r test, gives linear regressions and two-tailed p-values of:\")\n", "print(\"Drought sample: r-value = {0:4.3f}, p-value = {1:4.3f}\".format(rval_d, pval_d)) \n", "print(\"Flood sample: r-value = {1:4.3f}, p-value = {1:4.3f}\".format(rval_f, pval_f))\n", "# Some more functions...\n", "def bootstrap_r(mean_list, error_list, iterations=1000):\n", " \"\"\"\n", " Bootstrap info. Error and means are set up to accept data from make_cframe()\n", " which is why the offsets within the arrays have been hard-coded to the months\n", " of key interest (monsoon period).\n", " Guess a possible min and max (poss_min/max) values based on observed mean and \n", " calculate SEM values. Assume an equal chance of any value in that range occurring.\n", " For a specified number of realization (controlled by iterations) calculate the \n", " r-value and p-value, of the linear correlation. Save them to a MC array.\n", " \"\"\"\n", " bs_rvals = []\n", " bs_pvals = []\n", " for itr in xrange(iterations):\n", " poss_vals = [] # List for possible values of CR flux\n", " for n in range(5):\n", " #nb. Below factor preserves sig. figs. in change float > ints\n", " poss_min = int((mean_list[4 + n] - error_list[4 + n]) * 100000) \n", " poss_max = int((mean_list[4 + n] + error_list[4 + n]) * 100000)\n", " poss_vals.append(randrange(poss_min,poss_max)/100)\n", " #print(4+n,poss_min/100,poss_max/100,poss_vals[-1])\n", " rv, pv = pearsonr([0,1,2,3,4],poss_vals) # rval, pval\n", " bs_rvals.append(rv)\n", " bs_pvals.append(pv)\n", " bs_rvals = np.array(bs_rvals)\n", " bs_pvals = np.array(bs_pvals)\n", " return bs_rvals, bs_pvals\n", "\n", "\n", "def freedman_diaconis_bins(a):\n", " \"\"\"Calculate number of hist bins using Freedman-Diaconis rule.\"\"\"\n", " # From http://stats.stackexchange.com/questions/798/\n", " a = np.asarray(a)\n", " h = 2 * iqr(a) / (len(a) ** (1 / 3))\n", " # fall back to sqrt(a) bins if iqr is 0\n", " if h == 0:\n", " return int(np.sqrt(a.size))\n", " else:\n", " return int(np.ceil((a.max() - a.min()) / h))\n", " \n", "\n", " \n", "def iqr(data):\n", " \"\"\"Return Inter Quartile Range\"\"\"\n", " q75, q25 = np.percentile(data, [75 ,25])\n", " return q75 - q25\n", "\n", "def add_hist(data, col_key, axobj, mkstyle='o', \n", " obsval=None, mylabel=None, bin_num=None):\n", " \"\"\"\n", " Custom Plotting function for histograms.\n", " data - np.array of values, e.g. generated by bootstrap_r()\n", " col_key - code for setting color\n", " axobj - axis object to add the plot to\n", " mylabel - a label for the plotting legend\n", " obsval - the observed r-value for comparison (e.g. rval_d)\n", " mkstyle - matplotlib marker style (default set to circle 'o')\n", " \"\"\"\n", " if not bin_num:\n", " bin_num = freedman_diaconis_bins(data) #if no bins set, use FD spacing\n", " hist, bin_edges = np.histogram(data, bins=bin_num, density=False)\n", " norm_hist = hist / sum(hist) # Normalize the data to show density\n", " axobj.bar(bin_edges[0:-1], norm_hist, width = bin_edges[1] - bin_edges[0], \n", " color = col_key, edgecolor = col_key, alpha = 0.3, label=mylabel)\n", " mylabel = None\n", " if obsval:\n", " lookup = np.where(abs(obsval - bin_edges[0:-1]) == \n", " min(abs(obsval - bin_edges[0:-1])))\n", " axobj.vlines(obsval,0,norm_hist[lookup], linestyles='dashed',\n", " lw=1.0, zorder=6, label=mylabel)\n", " axobj.plot(obsval, norm_hist[lookup], color='k', marker=mkstyle, \n", " ms=5., zorder=7, label=mylabel)\n", " if bin_num is not None:\n", " bin_num = int(bin_num) \n", "\n", "rbs1, pbs1 = bootstrap_r(mean_list = d_means, error_list = d_errors)\n", "rbs2, pbs2 = bootstrap_r(mean_list = f_means, error_list = f_errors)\n", "\n", "#---- Create plot object 1 (possible r and p-vals)\n", "possible_r = plt.figure()\n", "possible_r.set_size_inches(10,5)\n", "ax1 = possible_r.add_subplot(121)\n", "ax2 = possible_r.add_subplot(122)\n", "\n", "# --- Pannel 1 (r-values)\n", "add_hist(data=rbs1, col_key='r', axobj=ax1, obsval=rval_d, \n", " mylabel=\"Drought sample\", mkstyle='o')\n", "add_hist(data=rbs2, col_key='b', axobj=ax1, obsval=rval_f, \n", " mylabel=\"Flood sample\", mkstyle='D')\n", "ax1.legend(loc=9, prop={'size':11}, numpoints=1, markerscale=5.,\n", " frameon=True, fancybox=True)\n", "\n", "#ax1.set_xlim(-1,1)\n", "ax1.set_ylabel('Density')\n", "ax1.set_xlabel('$r$-values')\n", "ax1.set_title('Potential $r$-values from Bootstrap')\n", "\n", "# --- Pannel 2 (p-values)\n", "add_hist(data=pbs1, col_key='r', axobj=ax2, bin_num=25,\n", " obsval=pval_d, mkstyle='o')\n", "add_hist(data=pbs2, col_key='b', axobj=ax2, bin_num=25,\n", " obsval=pval_f, mkstyle='D')\n", "\n", "ax3 = ax2.twinx()\n", "sns.kdeplot(pbs1, cumulative=True, color='r', ax=ax3, \n", " lw=1, alpha=0.3, zorder = 10 )\n", "sns.kdeplot(pbs2, cumulative=True, color='b', ax=ax3, \n", " lw=1, alpha=0.3, zorder = 11)\n", "ax3.grid(False)\n", "ax3.set_ylabel(\"Cumulative density\")\n", "\n", "ax2.set_title(r'Potential $p$-values from Bootstrap')\n", "ax2.set_xlim(0,1)\n", "ax2.set_xlabel(r'$p$-value')\n", "plt.show(possible_r)\n", "possible_r.savefig('possible_rvals.pdf',dpi=300)\n", "\n", "def update_plots(sample_type, bin_num_r, bin_num_p):\n", " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n", " \n", " # 第一个图表 - r-values\n", " if sample_type == 'Drought' or sample_type == 'Both':\n", " add_hist(data=rbs1, col_key='r', axobj=ax1, obsval=rval_d, \n", " mylabel=\"Drought sample\", mkstyle='o', bin_num=bin_num_r)\n", " if sample_type == 'Flood' or sample_type == 'Both':\n", " add_hist(data=rbs2, col_key='b', axobj=ax1, obsval=rval_f, \n", " mylabel=\"Flood sample\", mkstyle='D', bin_num=bin_num_r)\n", " ax1.legend(loc='upper right')\n", " ax1.set_ylabel('Density')\n", " ax1.set_xlabel('$r$-values')\n", " ax1.set_title('Potential $r$-values from Bootstrap')\n", "\n", " # 第二个图表 - p-values\n", " if sample_type == 'Drought' or sample_type == 'Both':\n", " add_hist(data=pbs1, col_key='r', axobj=ax2, obsval=pval_d, mkstyle='o', bin_num=bin_num_p)\n", " if sample_type == 'Flood' or sample_type == 'Both':\n", " add_hist(data=pbs2, col_key='b', axobj=ax2, obsval=pval_f, mkstyle='D', bin_num=bin_num_p)\n", "\n", " ax3 = ax2.twinx()\n", " if sample_type == 'Drought' or sample_type == 'Both':\n", " sns.kdeplot(pbs1, cumulative=True, color='r', ax=ax3, \n", " lw=1, alpha=0.3, zorder=10)\n", " if sample_type == 'Flood' or sample_type == 'Both':\n", " sns.kdeplot(pbs2, cumulative=True, color='b', ax=ax3, \n", " lw=1, alpha=0.3, zorder=11)\n", " ax3.grid(False)\n", " ax3.set_ylabel(\"Cumulative density\")\n", " ax2.set_xlabel(r'$p$-value')\n", " ax2.set_title(r'Potential $p$-values from Bootstrap')\n", " \n", " plt.show()\n", "\n", "sample_dropdown = Dropdown(options=['Both', 'Drought', 'Flood'], value='Both', description='Sample:')\n", "bin_slider_r = IntSlider(value=30, min=10, max=100, step=1, description='r-value bins:')\n", "bin_slider_p = IntSlider(value=25, min=10, max=100, step=1, description='p-value bins:')\n", "\n", "interactive_plot = interactive(update_plots, sample_type=sample_dropdown, bin_num_r=bin_slider_r, bin_num_p=bin_slider_p)\n", "interactive_plot" ] } ], "metadata": { "kernelspec": { "display_name": "base", "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.11.5" } }, "nbformat": 4, "nbformat_minor": 2 }