Skip to content

Instantly share code, notes, and snippets.

@finback-at
Last active March 28, 2020 09:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save finback-at/108b5086032198ebbadbc31ffbeadac9 to your computer and use it in GitHub Desktop.
Save finback-at/108b5086032198ebbadbc31ffbeadac9 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ThermoPower.Test.GasComponents.TestCC\n",
"Modelica Standard Library の MixtureGasNasa を使った例題として、[ThermoPower](https://casella.github.io/ThermoPower/) ライブラリの CombustionChamber (燃焼室) のテストモデル TestCC のシミュレーションを実行します。 \n",
"\n",
"このモデルは、コンプレッサから出た空気(Compressor Air)と燃料ガス(Fuel Gas)が燃焼室で混合し、燃料ガス内のCH4が完全燃焼します。そして、加熱された排ガス(Exhaust Gas) が排出されます。燃焼室モデルのパラメータとして燃料ガスの低位発熱量(Lower Heating value of fuel) HH = 41.6e6 J/kg を与えています。 0.5秒に燃料ガスの質量流量を 3.1 kg/s から 2.8 kg/s に減少させます。モデルの概要は、\n",
"\n",
"* [Modelica Standard Library (MSL) の MixtureGasNASA 混合物理想気体のモデルについて](https://www.amane.to/archives/153) p.58 \n",
"\n",
"に解説を書きました。\n",
"\n",
"[ThermoPower](https://casella.github.io/ThermoPower/) ライブラリを [GitHub mirror](https://github.com/modelica-3rdparty/ThermoPower) や svn://svn.code.sf.net/p/thermopower/svn/trunk から入手します。\n",
"そして、環境変数 MODELICAPATH に、MSLのパスとこのライブラリのパスを設定します。\n",
"\n",
"#### Macの場合\n",
"\n",
"ライブラリのディレクトリが Docker コンテナから見て。\n",
" /home/jmodelica/jmodelica/lib/TermoPower 3.1\n",
"になるように配置するものとします。\n",
"\n",
"```\n",
"import os\n",
"os.environ['MODELICAPATH'] = '/usr/local/jmodelica/ThirdParty/MSL:/home/jmodelica/jmodelica/lib'\n",
"```\n",
"\n",
"#### Windowsの場合\n",
"\n",
"ライブラリのディレクトリが\n",
" C:\\Users\\ユーザー名\\jmodelica\\lib\\ThermoPower 3.1\n",
"になるように配置します。\n",
"\n",
"```\n",
"import os\n",
"os.environ['MODELICAPATH'] = 'C:\\\\JModelica.org-2.14\\\\install\\\\ThirdParty\\\\MSL;C:\\\\Users\\\\ユーザー名\\\\jmodelica\\\\lib'\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ['MODELICAPATH'] = '/usr/local/jmodelica/ThirdParty/MSL:/home/jmodelica/jmodelica/lib'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"モデルをコンパイルして FMU を生成ます。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pymodelica import compile_fmu\n",
"fmu = compile_fmu('ThermoPower.Test.GasComponents.TestCC')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"FMU をロードしてシミュレーションを実行します。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Final Run Statistics: --- \n",
"\n",
" Number of steps : 84\n",
" Number of function evaluations : 103\n",
" Number of Jacobian evaluations : 3\n",
" Number of function eval. due to Jacobian eval. : 21\n",
" Number of error test failures : 0\n",
" Number of nonlinear iterations : 95\n",
" Number of nonlinear convergence failures : 0\n",
" Number of state function evaluations : 86\n",
" Number of time events : 1\n",
"\n",
"Solver options:\n",
"\n",
" Solver : CVode\n",
" Linear multistep method : BDF\n",
" Nonlinear solver : Newton\n",
" Linear solver type : DENSE\n",
" Maximal order : 5\n",
" Tolerances (absolute) : [ 1.00000000e+00 5.00000000e-04 1.00000000e-07 1.00000000e-07\n",
" 1.00000000e-07 1.00000000e-07 1.00000000e-03]\n",
" Tolerances (relative) : 0.0001\n",
"\n",
"Simulation interval : 0.0 - 5.0 seconds.\n",
"Elapsed simulation time: 0.0150210857391 seconds.\n"
]
}
],
"source": [
"from pyfmi import load_fmu\n",
"model = load_fmu(fmu)\n",
"res = model.simulate(final_time=5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"シミュレーション結果を確認していきます。\n",
"\n",
"#### 燃料ガス\n",
"\n",
"燃料ガスの成分、流量、温度、圧力を抽出します。燃料ガス N2、CO2、CH4 の混合ガスで、最初と最後の質量分率 (Mass Fraction) と質量流量 (Mass Flow Rate)、温度 (Temperature) は以下のようになります。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mass Fraction\n",
"0.02000000 0.01200000 0.96800000 \n",
"0.02000000 0.01200000 0.96800000 \n",
"Mass Flow Rate 3.10000000 2.80000000 \n",
"Temperature 300.00000000 300.00000000 \n"
]
}
],
"source": [
"t = res['time']\n",
"Wf_N2 = res['Wfuel.gas.X[1]']\n",
"Wf_CO2 = res['Wfuel.gas.X[2]']\n",
"Wf_CH4 = res['Wfuel.gas.X[3]']\n",
"Wf_w = res['Wfuel.w']\n",
"Wf_T = res['Wfuel.gas.T']\n",
"Wf_p = res['Wfuel.gas.p']\n",
"print('Mass Fraction')\n",
"print(3*'%10.8f ' %(Wf_N2[0], Wf_CO2[0], Wf_CH4[0]))\n",
"n=len(t)-1\n",
"print(3*'%10.8f ' %(Wf_N2[n], Wf_CO2[n], Wf_CH4[n]))\n",
"print('Mass Flow Rate '+2*'%10.8f ' %(Wf_w[0], Wf_w[n]))\n",
"print('Temperature '+2*'%10.8f ' %(Wf_T[0], Wf_T[n]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"燃料ガスの質量分率、質量流量、温度をプロットします。流量は t=0.5 秒で最初 3.1 kg/s から 2.8 kg/s に変化します。 温度は 300 K です。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADwAAAAADIn4SfAABAAElEQVR4AezdB5wdVb048IEESEILVZCqIoKKtCeiUn0oIAKKDX0WeGLBXhAb/MWnT1Ssz154BJ7YFQUREdTQpIioCCJYQAigSJUWIMn+f7/JzjrZ3Lt7d/ducvfO9/j5ZebOnDkz8527uPnlnDlFoRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg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IECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQISgM151u6UAAECBAgQIECAAAECBAgQIECggQISgA186G6ZAAECBAgQIECAAAECBAgQIECgOQLTm3Or7pQAAQIECBAgMLUEHnzwweKee+4p7r333iLXFy1aNLVuwNUSIECAAAECExaYNm1aMWPGjGKNNdYoVl111WKFFVaYcJsaaJ6ABGDznrk7JkCAAAECBHpcYGBgoLj11lvL6PFLdXkECBAgQIDAJAssWLCgeOCBB4q77rqrmDlzZrHpppsWK65oQOcks/dd8xKAffdI3RABAgQIECAw1QVuvvnm8pf8+n3kv/ZnDwCFAAECBAgQaJbAwoULi/zHwSz3339/cf311xebbbaZnoDN+hpM+G4lACdMqAECBAgQIECAQPcE5s+fv0Tyb5111imH/Kyyyip+0e8es5YIECBAgMCUEchXgOQrQf72t78VmQzMJGC+HmS11VabMvfgQpe/QJMSgAuXAXem5JtkugxInYIAAQIECDRL4M477xy64fXXX7/IBKBCgAABAgQINFcgh/vm+/+y3HjjjeXy7rvvlgAsJfzRqUCTklXektnpt0I9AgQIECBAYLkJ3HfffUPnnj179tC6FQIECBAgQKDZAtnjL18JksOBsxegQmAsAk1KAKZL9tD7QsQt+aGLZf1o6/AutqcpAgQIECBAoKECObQny/Tp073zr6HfAbdNgAABAgRaCWRPwHwfcE4KUv2+0KqebQRaCTQtAZgGn434fSuMCWx7XBwrATgBQIcSIECAAAECBAgQIECAAAECBAhMjoB5oyfHVasECBAgQIAAAQIECBAgQIAAAQIEekKgST0Azw3xHAJ87yTIZ5tV+5PQvCYJECBAgAABAgQIECBAgAABAgQIjE+gSQnAPcZH1NFR10WtPTqqqRIBAgQIECBAgAABAgQIECBAgACBZShgCPAyxHYqAgQIECBAgAABAgQIECBAgAABAstaQAJwWYs7HwECBAgQIECAAAECBAgMCWywwQbFCiusULzmNa8Z2maFAAECBLorIAHYXU+tESBAgAABAgQIEOhbgblz55aJmkzWZKy++urFfffdN+r93n///cWaa665xLHZVpPKnDlzlrj/yrDdsmk+TfouuFcCBAgsDwEJwOWh7pwECBAgQIAAAQIE+kDgnnvuKb7//e+Peic/+MEPin/+85+j1lOhfwR23nnnMuG5zz779M9NuRMCBAhMYYEmTQLS7jEtbLdjlO3zY/9dEX+MuCjipIgrIxQCBAgQIECAAAECfS8wY8aMYv78+cX//d//FS9+8YtHvN+sk6U6ZsTKDdj5gQ98oDjwwANHvNNHPOIRI+7vp51/+9vf+ul23AsBAgR6UkACsChWGOeTmRnHZWwQsUvEERFfiXhjxAMRCgECBAgQIECAAIG+FTjggAOKb33rW8VZZ51VZAIn3+PWqtxyyy3FT37yk3JXJr2++c1vtqrWqG0bbbRR8fjHP75R9+xmCRAgQGD5ChgCXBTvi0eQcUntUfw21o+P+NBg5HpuyzIQkXXfH/GpiJ9GLIjIROJhEV+NUAgQIECAAAECBAj0tcAznvGMMum3cOHC4utf/3rbe819CxYsKB72sIcVT3/609vWs4MAAQIECBCYPAEJwMXJvweDeKeITOxtF7F9xCsj3j0YuZ7bMi6NeGJEJv3eEpG/xTwi4uyITAIeFOFFF4GgECBAgAABAgQI9K/AtGnTihe96EXlDVZDfFvd7Ukn5ZtyinKYcB4zWrniiiuKHCK79957FxtvvHGxyiqrFKuttlrx6Ec/unj5y19eXHRRvn1n5HLTTTcV73znO4sddtihnHxk5ZVXLpOV22yzTXnNOSFHu3cSnnLKKcWzn/3soXPnRCePfOQji1133bU4+uiji0suqfcbGPk6urn34IMPLt+pt9VWW5XNzps3rzjiiCOKrbfeuvTJyUTqNrfddltx/PHHl+5Vncph3333Lf73f/+3eOihhzq6xOzh+d73vrfI9/qtt9565TPZdNNNS5N8Vn/8Y74VaXGprvPiiy8uN5x55plLTX5S3UN1TKezAOf7Jp/znOcU2YMyvxfrrLNO8dSnPrU47rjjRpyM5gtf+MLQNeS9ZNL685//fHk/s2fPLlZdddViu+22Kz70oQ+Vw9qr67IkQIAAgf4S2CNuJ98D+LuIGRGjlayT7/rLY/aqVc7t1wxub/9PoLUDGr66cdx/9qYcuOGGGwYUAgQIECBAYLHANddcM/D73/9+IJcKgV4T+PnPf17+/pa/w51wwgkDl1122dDnSNwtdblXXnnl0P6sm8dUvwNmW8NLvf2qXqtlJPeGHzr0+dxzzx1YY401hs7T6vjcdtpppw0dkyvRS3Hg+c9//qjH7bjjjksc1+mH+r3n+ljLC1/4wvLaHvOYxwycc845A2uttdZS13rhhRcONRs9LpfaP9xip512Gogh2kPHtFqJROHArFmzRmwrr6kq1XUOP1f9c71+Hldd66tf/eqqmSWW995778B+++034jVssskmA7/73e+WOK76EMm+oWPzv62RzB36XL+uXN9ll10GYtbq6lBLAj0nMJ7fE/Lv3LXvev5dXGmggHcAFsWbBp/7cbHMiT1GK1nnIxEnRLwhInv+Zcntn4v4eMTOEQoBAgQIECBAgACBvhbYfvvty3fZZa+97AWYPajqpeoZ+LjHPa7Iur/97W/ru5daz6HC2Rsrkj3F0572tCJ7ikUyr8j3CEYysfif//mf4q9//Wt5ni233LI49NBDl2jjgQceKLIHWvbuy557hx9+eLHnnnsW66+/ftnbLY+NJFnx3e9+d4nj8kP2CPv2t79dbo8kUHHYYYcVj3rUo8redbfffnuR93jGGWcUub48y5133llEorLsxZa98tIpJ1e5/PLLy9551bVlL7enPOUppWX2bkuD9Ln22muLE088sTj77LPL3owvfelLix//+MfVYUssv/zlLxevetWrym2RBCzXs2dmDue+++67y+d56qmnFjfeeOPQcR/96EeLo446qviP//iP8pqyh172wKuX7L03lpI9TU8//fTykEjAFm95y1vK78att95anHzyyeV3LxIcpUUkAcvra9f+IYccUmTvxFe84hXF8573vNLluuuuK79Tv/zlL4vzzz+/+PCHP1z2eGzXhu0ECBAgMDUF8v+tsjffDmO4/Ky7KOKmYcfs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BAgQIECAAAECBAgQIECgjwUkAPv44bo1AgQIECBAgAABAgQIECBAgAABAhKAvgMECBAgQIAAAQIECBAgQIAAAQIE+lhAArCPH65bI0CAAAECBAgQIECAAAECBAgQICAB6DtAgAABAgQIECBAgAABAgQIECBAoI8FJAD7+OG6NQIECBAgQIAAAQIECBAgQIAAAQISgL4DBAgQIECAAAECBAgQIECAAAECBPpYQAKwjx+uWyNAgAABAgQIECBAgAABAgQIECAgAeg7QIAAAQIECBAgQIAAAQIECBAgQKCPBSQA+/jhujUCBAgQIECAAAECBAgQIECAAAECEoC+AwQIECBAgAABAgQIECBAgAABAgT6WEACsI8frlsjQIAAAQIECBAgQIAAAQIECBAgIAHoO0CAAAECBAgQIECAAAECBAgQIECgjwUkAPv44bo1AgQIECBAgAABAgQIECBAgAABAhKAvgMECBAgQIAAAQIECBAgQIAAAQIE+lhAArCPH65bI0CAAAECBAgQIECAAAECBAgQICAB6DtAgAABAgQIECBAgAABAgQIECBAoI8FJAD7+OG6NQIECBAgQIAAAQIECBAgQIAAAQISgL4DBAgQIECAAAECBAgQIECAAAECBPpYQAKwjx+uWyNAgAABAgQIECBAgAABAgQIECAgAeg7QIAAAQIECBAgQIAAAQIECBAgQKCPBSQA+/jhujUCBAgQIECAAAECBAgQIECAAAECEoC+AwQIECBAgAABAgQIECBAgAABAgT6WEACsI8frlsjQIAAAQIECBAgQIAAAQIECBAgIAHoO0CAAAECBAgQIECAAAECBAgQIECgjwUkAPv44bo1AgQIECBAgAABAgQIECBAgAABAhKAvgMECBAgQIAAAQIECBAgQIAAAQIE+lhAArCPH65bI0CAAAECBAgQIECAAAECBAgQICAB6DtAgAABAgQIECBAgAABAgQIECBAoI8FJAD7+OG6NQIECBAgQIAAAQIECBAgQIAAAQISgL4DBAgQIECAAAECBAgQIECAAAECBPpYQAKwjx+uWyNAgAABAgQIECBAgAABAgQIECAgAeg7QIAAAQIECBAgQIAAAQIECBAgQKCPBSQA+/jhujUCBAgQIECAAAECBAgQIECAAAECEoC+AwQIECBAgAABAgQIECBAgAABAgT6WEACsI8frlsj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97EBAtMbcI9usTcFMvn3y968NFdFgAABAgQIECBAgAABAgT6UuCJcVeX9uWduakRBVYcca+dBAgQIECAAAECBAgQIECAAAECBAhMaQE9AKf045vSF5/DfstyySWXFBtuuGH10ZIAAQIECBAgQIAAAQIECBDoksDNN99c7LTTTlVrQ38XrzZYNkNAArAZz7kX73LonX+Z/Nt444178RpdEwECBAgQIECAAAECBAgQ6CeBob+L99NNuZfRBQwBHt1IDQIECBAgQIAAAQIECBAgQIAAAQJTVkACcMo+OhdOgAABAgQIECBAgAABAgQIECBAYHQBCcDRjdQgQIAAAQIECBAgQIAAAQIECBAgMGUFJACn7KNz4QQIECBAgAABAgQIECBAgAABAgRGFzAJyOhGakyywB33PlDMvOeBST6L5kcTWHPmSsX0af5NYDQn+wkQIECAAAECBAgQIECAwFQTkACcak+sD69330+dX0xfY90+vLOpdUurz5he/NeBjyues70ZmafWk3O1BAgQIECAAAECBAgQIEBgZAHdfUb2sZdAYwTunr+g+H8/uLJYsHBRY+7ZjRIgQIAAAQIECBAgQIAAgSYISAA24Sm7RwIdCmQS8K77H+qwtmoECBAgQIAAAQIECBAgQIDAVBCQAJwKT8k1EiBAgAABAgQIECBAgAABAgQIEBingHcAjhPOYd0TOONNuxQP38h757on2nlLd9z3YLHXx8/t/AA1CRAgQIAAAQIECBAgQIAAgSknIAE45R5Z/13wWquuUqyz2ir9d2PuiAABAgQIECBAYLkIzJ8/v7jzzjuL++67r1i4cOFyuQYnJUCAQLcEpk2bVsyaNauYPXt2MWPGjG41q53/z96dwGs2148DP2MsM2EkKswwShRRsqWFCkUliqhEFEr9y9Kmn1TaU1QSSslWSZKlrCmUIluiVZHMWLIvM7bM3P/nc+Y5tzN3nuduc587z3Pv+/t6fe45zznf8z3nvM/11P3M93u+40xAAnCcPXC3S4AAAQIECBAgQGCsCvT09BR33HFH8eCDD47VW3RfBAiMQ4Enn3yyePzxx4v777+/WG655YqVV165mDBhwjiUcMsLIyABuDB6jiVAgAABAgQIECBAoGME7r333gWSf4sv7k+ejnlALoQAgWEJZAKwKvkPHEsuuWSx4oorVpssCQxKwP8aDopJJQIECBAgQIAAAQIEOlngiSeeKO6+++7eS3zGM55RDpfLoXMKAQIEulkgX2WQrzW46667ytvI77opU6aUicBuvi/XProCZgEeXW9nI0CAAAECBAgQIECgDQKzZs3qbXWFFVYoMiT/ekmsECDQxQL5XVZ9r1W3Uf/Oq7ZZEuhPQAKwPx37CBAgQIAAAQIECBDoCoHZs2f3Xmf2jFEIECAw1gTq323177yxdp/upz0CEoDtcdUqAQIECBAgQIAAAQKjKJBDgLPki/GXWmqpUTyzUxEgQGB0BPK7rZr8o/rOG50zO8tYEJAAHAtP0T0QIECAAAECBAgQGOcCc+fOLQVyqFz1B/I4J3H7BAiMMYH8bqtebVB9542xW3Q7bRSQAGwjrqYJECBAgAABAgQIECBAgAABAgQILGoBCcBF/QScnwABAgQIECBAgAABAgQIECBAgEAbBSQA24iraQIECBAgQIAAAQIECBAgQIAAAQKLWkACcFE/AecnQIAAAQIECBAgQIAAAQIECBAg0EYBCcA24mqaAAECBAgQIECAAAECBAiMpMAhhxxSTnRjspuRVNUWgbEvIAE49p+xOyRAgAABAgQIECBAgMCIClxyySW9SahMRC277LLFI488MuA5Hn300WK55Zab79hsazyVE044Yb77T7/+Yrz53HLLLS09llpqqWKllVYqtthii+LQQw8t7rnnnvH0q+NeCSyUgATgQvE5mAABAgQIECBAgAABAgRmzZpVnHnmmQNCnHXWWcVDDz00YD0VCDQTeOKJJ4r//Oc/xcUXX1x87GMfK9Zee+3ioosualZ1RLetvvrqZVJyjz32GNF2NUZgNAUWH82TORcBAgQIECBAgAABAgQIjC2BSZMmFY899lhx8sknF7vssku/N5d1slTH9Ft5HOz83Oc+V2y//fb93umznvWsfveP5Z1pk0ZVyeTxjTfeWBx11FHF1VdfXfYAfNOb3lT86U9/KqZPn15VsyRAoImABGATFJsIECBAgAABAgQIECBAYHAC2223XfHjH/+4+MUvflHceeed5RDNZkfeddddxYUXXljuysTOqaee2qzauNo2derUYt111x1X9zyUm33qU5+6gM9LX/rSYvfddy+yN95JJ51UZO/Tww47rDjyyCOH0rS6BMadgCHA4+6Ru2ECBAgQIECAAAECBAiMnMBrXvOaMuk3Z86c4pRTTmnZcO578skni2c+85nFq1/96pb17CAwkEC+M7HeMzCTzwoBAv0LSAD272MvAQIECBAgQIAAAQIECPQjMHHixOJtb3tbWaMa4tusevbWypLDhPOYgUoO68wkz9Zbb11MmzatyAkglllmmWLNNdcse4BdccUVAzVR3H777eW74jbYYINy8pEll1yyTFaut9565TXnhByt3kl4xhlnFG984xt7z50TnTz72c8uNttss+ITn/hEceWVVw54/kVZISfTOOCAA4rnP//55SQtT3nKU0q797znPcUNN9zQ9NKuuuqq3gk4LrjggqZ1ttpqq946hx9+eNM6+++/f1nnGc94RtHT09O0zsJuXHXVVYsVV1yxbGbGjBktm5s9e3bZ23SvvfYq1l9//fL3YIklliie/vSnF694xSvK3oPZi7BZeeUrX1nex7///e9y94knnth779XELVmnWbn//vvL39+XvOQl5XXm7+8qq6xSDvn+6U9/2uwQ2wi0VcAQ4LbyapwAAQIECBAgQIAAAQJjX2C33XYrvva1rxV/+MMfij//+c9l0ql+13/5y1+Ka6+9ttyUdf/4xz/Wdy+wnjPfvupVr1pge04C8c9//rOMTCjmRBBf/OIXF6iXG37zm98U22677QIJvpxEIiMTjD/60Y/K5EzWq0r2ZMyE5mmnnVZtKpd57kwU/etf/youu+yy4rzzzivfQzdfpQ75kDbvfve7i8cff3y+K6rsjjvuuOKzn/1s8X//93/z7c9E6ZQpU0qznGgjk6/1kgaXX35576as86EPfaj3c7VSzVy8+eablwmzavtIL6tE8uKLt05tvP71ry8uvfTSBU6dMwj/+te/LuPoo48uzj333OJ5z3veAvWGsyHbevvb31488MAD8x1+xx13FGeffXYZeV35+5dJbYXAaAi0/q9kNM7uHAQIECBAgAABAgQIECDQ9QIvetGLyne1ZVItewF+6Utfmu+eqp6B2Rst6w6UAMyhwksvvXSRSZItttiiTMxkYirfI5gJxm984xtF9srK86y11lrFO9/5zvnOl4mvt771rWUiK3vuvfe97y0Titkj7b///W95bCayTj/99PmOyw/HHHNMb/Lv5S9/eZE9x9ZYY40yUXPfffeVicNM/uV6J5ZzzjmnfD9e9rzL5FIm6LLXXibJfve735UJ00x+HXTQQUW+Yy9tqpIJtZe97GVlcrNK4lX7cpm9Hh955JHeTZkIzYRplYjLHdnzreph2Kp3XG8DC7GS95C/D1lylt5WJX+Xssdnvqtyo402KnvhpU3+/mQvz3x/ZSZ1s7fnddddV05QU7V1/PHHF9mDMBOh2Zu076QkWS9/T+slhyPnudIlryt9X/ziF5eJ1dtuu63sjfj973+/yOeU7zJs9jtYb886gZESkAAcKUntECBAgAABAgQIECDQ0QJz5/YU9z/yREdf40he3PJPWbJYbLEJI9lkv21lz74DDzyw+MEPflB84QtfiHPPe+NUJltyW5asM5iSQzVnzpxZJqj61s9kzPvf//6yd18mWz796U8X73jHO+ZLQv32t78tEzZ57A9/+MOybr2dTMjsvPPOxVe+8pX5ElpZJxNCWbJO9nDr27ssE5L77rvviCQAMyGUSdNWJYc+Z5JusCWTmznEt0r+ZS/ItKzKpptuWuy4445FDkvN3mgf/vCHi5122ql3KG3Wy6RdJjivueaassdjvYdalRTMdzhm8u/BBx8se31mYq0q2dtu7ty55cccYtuu8tWvfrV3ePGb3/zmlqfJJF4OG+9bqt+BPffcs0zw/f3vfy9/T/NzVaoZmHPIcJZmk5JUdXOZycL8Hc/kX74bMxOMOfS6Kpn8zt6m2TMye2jmUOBf/vKXxZZbbllVsSTQNgEJwLbRapgAAQIECBAgQIAAgU4SyOTfhp+7qJMuqa3Xcs3BWxUrLLNUW89RbzyHPOaQ0kzcZRKoGsKbSaN8R1smBLPOYEr1brdWdfNdfpm8y+RW9uTKnlsbbrhhb/WcjbgqmWxpVTK5lz0L66U6Nmeb7Zv8q9d72tOeVv84rPWDDz64yGhVMnm1xx57tNq9wPZMOGVSMcvHP/7x+ZJ/VeXp06eXdrvuumuZ/MxzfOQjH6l2l+/Fyw/Zcy6TfNtss03vvmoobSa3Msn1q1/9qsjn2zcBmAessMIKC8zg29vQMFfyfY033nhjccQRRxTZiy5LJvcyIdyqNEv+1etm78jssXfmmWeWUU8A1usNZj0tc3j5pEmTyp6w9eRf/fi99967+O53v1v2qMxjJADrOtbbJTDvn2Ta1bp2CRAgQIAAAQIECBAgQGBcCEydOrU36VcN+c0br9azZ1n2aBtOySG9t956a5HvEswecxnZy60qfYcUr7zyytWuIhMsQynVsT/72c+KHGbaTeWii+YluHOCine9610tLz17/S233HLl/uqYqnImUqtef5ncq0r2LswhxFnyWWZkqdepfx6J9//1nXQjr3njjTcuk395j9mbLntpLr/88uW1DObH3XffXfzjH//o/T3K36WcECRL39+jwbRXr3PWWWeVH7PnYw43769Uien6OxX7q28fgYUV0ANwYQUdT4AAAQIECBAgQIAAAQKlQA7FzSGNP/nJT4qjjjqq3Fa942yww38ryhxOme/6y4kS8r1/2eOsVembqMt39+WMvTfffHORM9LmEOQ3velNZe+27K2WPQhblXwvW04OkRNmPOc5zyl22GGHIoe85uy/w01gtjpXJieH0sOvVTvV9mo4cb57rr8EVN5/DkfN5F11TNVG9nrM9wDmLMC5vyrV+/+yx2Qe++ijj5a7cphxPpt8D2BOenH99deX26sEYXX8SC8z4ZxDmHM5UMkh4fm7lMnO/t7d2Pf3aKB2++6/+uqry01plwnKwZSqx+lg6qpDYGEEFluYgx1LgAABAgQIECBAgAABAgQqgUyW5bDHhx9+uMjeUDmsModtTp48uXz3XFVvoOUtt9xSTtyQE1VkQqm/5F+2VSWjqnbznW3Zg2/ttdcuN1111VXlpBeZ2Mr3uL32ta8t3w3YrN3sOZfnzURYvuMuk3S77LJLseqqq5YJwUw6ZWKxE0uV3HrmM5854OWttNJKZZ3qmPoBVfKueg9g7quSgZkIzWRfvkMvn2s+35z9OctIv/8vJ93ICUUysnfe+eefX3z0ox8teyjmUPMcnpwJyP7KIYccUmRCON/t2Oxe68f2/T2q7xtoPXtI9p31d6Bjcn99UpXB1FeHwHAF9AAcrpzjCBAgQIAAAQIECBDoKoGcFCPfizdeSt7vaJccOpo97bLHXQ79rYbp5gyrORvvYEv2FsyZWbMXVc7wmzP6ZjIvh2outdS89xrmRBPV7LPVeertr7POOmXiKBOBGZmcuummm8pkYSaSMnIiiXPPPXeB3nKf//zny0ka8j6yR+MVV1xRJmry+MMPP7zsTZY9yvbZZ5/6KTtmfTC9z5qZVTdQTd5Rfw9g9f6/KjmYvQhzMpH6ewCrOjkk9wUveEHV3LCXfSfdyDZzEpicwCWH0GbyLN8rmb0Y+77LMU+azy4nicmSPUIzeZvJwNVWW61MIla/P5/85CeLz372s2W94f6oJ5Pz+j7xiU8MtynHEWiLgARgW1g1SoAAAQIECBAgQIBApwnkjLijOSlGp93/aF1PDgPOxNmFF17Ye8qhDP/929/+Vk4+kQfnpCKZjGtW7r///mab59uWCZ5MPmZkyZlvc4bbo48+upzlNnu45ay5OXlG35KTZWRPwIzs3ZVDYE877bTi29/+dvHYY48V73vf+8pecDkctlNKNTHJYIaV5mQVWapj6veQ79lbeumly1lts+dfTlJRf/9fVTeTgVUCMJNrVS/BkXj/X3WOZst8T2H27MvegDnBTE4I0yyB953vfKc8PBOJ+a69VsOiB/O71Ow66tty4o/s/ZpJyewJuO6669Z3WyewyAUMAV7kj8AFECBAgAABAgQIECBAYOwIZLIoJ9LI3mMZORw1Z40dbMn3/VUle/61KtX71lrtb7Y9ryuH+GYyaIMNNiir/PznP19gCHHfY3NIcQ4f/vrXv14OHc792YMu33XYSaVKOuUQ6rvuuqvlpWVCsxq2Wx1Tr5zDn3MW5CyZ1Msh1PlOxur9f1XdqjdgDsO99957eyfRqLZX9dqx3HfffXvfyfi1r32t6YQt1e/SFlts0TL5l9c20O/SYHpUZjtVMjjfOWhob4oonSQgAdhJT8O1ECBAgAABAgQIECBAoMsFstdd9vjLoboZu+66a+9Q3cHcWiYNq9JfEuVb3/pWVW3Iy0zo1Ye5DuXdbZngrMrCThpRtTNSy622mjfEPZOT3/ve91o2m4nLfL9hluqYvpWrJF72kswkaZbq/X9V3fp7AI844ogih2VnqWyreu1Y5u9W9gDMksnJTAL2LdXvUn+/R9ddd105xLvvsfXP2bsvS85G3V/Zbrvtyt15PdUkOP3Vt4/AaApIAI6mtnMRIECAAAECBAgQIEBgHAgceuih5TDZHCp72GGHDemO11xzzd76J554Yu96feWYY44pJxipb6uvZ4+0nMW3VXniiSfKdwLm/nxvYb5bsCrf//73y56L1ee+y/rQ5mc961l9dy/Sz/n+xVVWWaW8hi984Qu9PfLqF5VDZnO4bpYcsprvWGxWqiReJtFyyHSWKilY1a/eA5if852IWXK47Qtf+MJyvd0/9t5776KazCQTblVSszpv9bt02WWXNZ245e677y4T1FX9VsvsOZol3wHZX8l3Qq644opllXwHYA43769kT8GccVohMBoCEoCjoewcBAgQIECAAAECBAgQIDAogRxGWQ1LzURfzsB7zjnnFNdee205s/BOO+1Uvn8vh+S2Kjn5w3Of+9wyYZXvh7vgggvK4zPhkrP6Zk+2bC/LXnvtVc74W7WVvRenTZtWniOTgTlcOIfL5qQhH/rQh4p8x2GWTBxm78ZOKtmz8dhjjy0nT8mZmHPCi8985jNF3vfvf//7spfcRhttVNx+++3lZWdytkpY9b2PTTbZpEwQ5vYqsdY3AZj7qm1VnbRdbLHRSTVkz7x8Jlny/FUSstwQP6pnNWvWrLJX4je/+c3yeeb7DPPeM1H5l7/8pZzMpDqm2bIaDp1Dob/0pS+VidVMMGfcdtttvYfkEOlTTjml/H3K3oLbbrttOWHJqaeeWg4zzqHGOSFNvr8wz53PJ2e5VggQIDCWBabFzfVkxL9ARQ91ZVEI3PPwYz3TD/z5fJHbFAIECBAgQIBAtwnceOONPfGHfE8ulfYLXHzxxeX/l8//Px8JtSGfMI+p/h7ItvqWSLj1xEyyvXWqutVyvfXW64kkVu/+T33qU/M1kZ+ruv0td9hhh55HH310vmP7q1/ti15uPZFUnO+4wX6o3/tw7Or31uqcJ5xwQk8MkW1pEMO0e6KHYKvDe7fHcOfeNpZbbrme6A3Yu69aiR5svXXSJ2ZJrnYNaxmzP/e2t/vuuw/YRiT3eiKJWR6zwgor9ETic75joodjb3vV86uW6RDvdewZyHTmzJk9MVlK03aip+R858sPkYDuiZ6JTetX566W0ct1geP72zCc77r8m7s6Xyzzb3FlHAqMTlp+HMK6ZQIECBAgQIAAAQIECBAYnsD6669f5LvZckhlzsabPdtyttrslZY9t3JG3mpYZrMz5Lvhzj333OKAAw4oNt1002K11VYrsrdYxuqrr1685S1vKXsVnn766eW2ehs5C/GRRx5Zzhy8zjrrFJFUKnt0RUKybCt7b/39738f0sQm9fZHYz0SZ0Xex3777Vesvfba5Yy+kydPLtZYY40ih81mj8acYXmgUvXuy3rZWy3f79i35HsAcyhxVaqhw9Xndi9ztuJ8zllyIpLsNVov+S7Ek08+uez1ueyyy5bvpczfqezpmT0B02igMnXq1PJ3bs899yye85znLPA70/f4nHQkhwtnj8Ntttmm/F3N4dL5+7fqqquWvzs5u3U+o6qXYt82fCYw0gITRrpB7REYpED+q8OMrJvvoMgu9sroC9w76/Fiw89dNN+Jrzl4q2KFZZaab5sPBAgQIECAAIFOF/jHP/5RvrctZy+t3vvV6dfs+ggQIDBUgeF810UPxjLx2DjXqrGcOdTzqt/9AnoAdv8zdAcECBAgQIAAAQIECBAgQIAAAQIEWgpIALaksYMAAQIECBAgQIAAAQIECBAgQIBA9wtIAHb/M3QHBAgQIECAAAECBAgQIECAAAECBFoKSAC2pLGDAAECBAgQIECAAAECBAgQIECAQPcLSAB2/zN0BwQIECBAgAABAgQIECBAgAABAgRaCkgAtqSxgwABAgQIECBAgAABAgQIECBAgED3C0gAdv8zdAcECBAgQIAAAQIECBAgQIAAAQIEWgpIALaksYMAAQIECBAgQIAAAQIECBAgQIBA9wtIAHb/M3QHBAgQIECAAAECBAgQIECAAAECBFoKSAC2pLGDAAECBAgQIECAAAECBAgQIECAQPcLSAB2/zN0BwQIECBAgAABAgQIECBAgAABAgRaCkgAtqSxgwABAgQIECBAgAABAgQIECBAgED3C0gAdv8zdAcECBAgQIAAAQIExr3AxIkTS4M5c+YUc+fOHfceAAgQGHsC+d2W33FZqu+8sXeX7qhdAhKA7ZLVLgECBAgQIECAAAECoyYwadKk8lw9PT3FrFmzRu28TkSAAIHREsjvtvyOyzJ58uTROq3zjBEBCcAx8iDdBgECBAgQIECAAIHxLDBlypTe27/zzjuLhx56SE/AXhErBAh0s0D2/MvvtPxuq8qyyy5brVoSGJTA4oOqpRIBAgQIECBAgAABAgQ6WGDppZcue8Q8+uij5RC52267rZgwYYJhch38zFwaAQKDE8hhv1XPvzwie//ld55CYCgCEoBD0VKXAAECBAgQIECAAIGOFMhk32qrrVbceuutRSYBs+QfzE8++WRHXq+LIkCAwHAEMvmX33X5nacQGIqABOBQtNQlQIAAAQIECBAgQKBjBRZbbLFi+vTpxezZs4uHH364TARWL8zv2It2YQQIEBhAICf8yMRfDvvNnn+SfwOA2d1UQAKwKcsi2ZgvLXldxMYRG0VMjXh6RL7Z84GIv0ScG3FcxL0RI1G2iUbeHbFJRJ7r7ogrI46NOD9CIUCAAAECBAgQINBVAvmH8TLLLFNGV124iyVAgAABAm0UkABsI+4Qm84k3Cktjsnk3Csa8ZFY7hpxQcRwS/YV/lZEJv/qJZOOb2pEJgH3iZg3xVCsKAQIECBAgAABAgQIECBAgAABAt0nIAHYWc9sRlzOxRHXROT6HRE5U/O0iDdH7BCxYsTZERtHXB8xnPK5OKhK/v0h1r8ccVPEGhEfjXhRRO7PHoEHRygECBAgQIAAAQIECBAgQIAAAQJdKiAB2DkPLhN/q/VzOT+OfW+MOCNiyYhPRewYMdTynDggk3xZro7YPGLeW5KL4qpYz+TipRE5DPnAiOMjMjmoECBAgAABAgQIECBAgAABAgQIdKFA9i5TOkNgziAu48yo87dGvUzcDaccEAdVid8PxHqV/KvaeiRWcnuWrLd/ueYHAQIECBAgQIAAAQIECBAgQIBAVwpIAHbfY5vduORJw7j0fPff9o3jMpF4RYs2cvvfG/uy16H5xVtA2UyAAAECBAgQIECAAAECBAgQ6HQBCcBOf0LzX9/a8XH9xqaqJ+D8Nfr/9KzYnRN9ZMlhvv2Van++f3D1/iraR4AAAQIECBAgQIAAAQIECBAg0LkCEoCd+2yqK3tKrKwZ8cGIfE/gxIgsR8xbDOlnJhCrMlACsb6/flx1vCUBAgQIECBAgAABAgQIECBAgEAXCFTvguuCSx1Xl7hH3G1OvtGqHBY7ftBqZz/bV63tm1lbb7aasxBXpX5ctW2gZfYc7K+s1N9O+wgQIECAAAECBAgQIECAAAECBEZGYDwlAG8eGbJ+W+mJvWv0W2Phdl4Xh+8T8fthNrNs7bhZtfVmq9W7BnPfMs0qDLCtnkAcoKrdBAgQIECAAAECBAgQIECAAAEC7RIYTwnA1QMxE3QT2oXZaH8kmj8zGrm60dDkWGZSceeIN0Vkz7/9I34eMdRSnzjkiQEOfry2P69BIUCAAAECBAgQIECAAAECBAgQ6EKB8ZQArB7PWbHyQPVhhJZPjXaq2XVHosm8vvo1XhWffxSxW8SJEXkPe0acEDGU8lit8pK19WarS9U2PlpbH+zqQMOGcwhw3pdCgAABAgQIECBAgAABAgQIECDQRoHxmAD8eHj+ZYRNnx/tjWQCsNXlnRw7to3I3oDfjMhE4P0Rgy0P1yoONKx36VrdgYYL16r2rs7sXbNCgAABAgQIECBAgAABAgQIECCwyATMArzI6Id94kz6ZckE3WvLtcH/qCflBpqko96Dz/v8Bm+sJgECBAgQIECAAAECBAgQIECgowTGUw/AW0M+3wE40LvvhvOAss1sf+5wDh7iMXfX6k+vrQ9mtd7z8XkDHFDf/9cB6tpNgAABAgQIECBAgAABAgQIECDQoQLjKQG4ehufwT+i7Xa2X7/0qbUPQx2a+6849vaIVSJeUWun2ermjY23xfKWZhVsI0CAAAECBAgQIECAAAECBAgQ6HwBQ4A7/xn1vcKdahtuqK0PZjV7QFZDiLOH36YtDsrtVQ/ArJ/HKQQIECBAgAABAgQIECBAgAABAl0oIAHYOQ9tj7iUSQNczgGx/3WNOrfE8rLGerV4Zaxksi7jhIhm5eux8cnGjiNjOblPpfyc27NkvayvECBAgAABAgQIECBAgAABAgQIdKnAeBoC3OmP6JC4wMMjTo/IxN5NETnEd9mI9SLeHvGyiCz5zsG9I6pEXm4bbLkxKh4W8bGIjSJ+G3FoRJ5vjYgDI14UkeUrETm8WSFAgAABAgQIECBAgAABAgQIEOhSAQnAolgint2ajeeXSbDH+zzL7JX3+YidI1aM+FfE0RHfjBjp8rRocO9GtGp7Zux4V8RFrSoMYvvHo84zIrKdTPb9KKJvOS42HNx3o88ECBAgQIAAAQIECBAgQIAAAflIJnoAAEAASURBVALdJSABWBRvikd2SsQ9Eas2eXxnxLbXRExo7Mt34x0RkUnD/RrbRmKxZTSyVcSrItaOeGbEChGPRfwn4rqIn0f8OOKRiIUpOVvxnhHZ2/DdERtHZHIzDa6K+HbEeREKAQIECBAgQIAAAQIECBAgQIBAlwtIABbF1vEMM7n304gcWlsvr48PuT/fqZc97zI5tknE1Ij3R2TPucsjRqJk78OMTL4Nt1wSB1aJysG0cW5UylAIECBAgAABAgQIECBAgAABAgTGqIBJQIpig3i2meD7dZNn/M7Gtnxv3vMjdoxYN+KvEVn2mrfwkwABAgQIECBAgAABAgQIECBAgEBnCkgAznsXXj6dm/s8orTJIbmZHMz3/T0ckeXBiPycPe1eGqEQIECAAAECBAgQIECAAAECBAgQ6FgBCcB5777LB5Tv2quX9ePDlMaGc+o7Yv1Pjc/N3hnYp6qPBAgQIECAAAECBAgQIECAAAECBBadgATg/977l5Ng1MvmjQ/57r9b6jtiveoNOLHPdh8JECBAgAABAgQIECBAgAABAgQIdJSABOD/knsv7vNk3hCfW70b8GmNunf3OcZHAgQIECBAgAABAgQIECBAgAABAh0lIAFYFBfHE8n3+X0gYu3G09kulq9srDebJTcnAslyx7yFnwQIECBAgAABAgQIECBAgAABAgQ6U0ACsCiOjEfzRMQzIvLdfvdEnBGRScHbIk6P6FteExuyd+DVfXf4TIAAAQIECBAgQIAAAQIECBAgQKCTBCQAi+If8UB2i3gkIpN+Obw3lw9EvC0ik4P1slJ8eHVjwy/qO6wTIECAAAECBAgQIECAAAECBAgQ6DSBxTvtghbR9ZwW57004vURmeDLob1nR9wX0be8IDb8sLHxV313+kyAAAECBAgQIECAAAECBAgQIECgkwQkAP/3NO6K1eP/97Hl2oWxJ0MhQIAAAQIECBAgQIAAAQIECBAg0PEC420I8M/iiewdsUrHPxkXSIAAAQIECBAgQIAAAQIECBAgQGAEBMZbD8Ac4vu6htsfYvnziEwKXtPYZkGAAAECBAgQIECAAAECBAgQIEBgTAmMtx6Ax8XTuzMiJ/nYIOITEVdG5Gy/3454Q8TkCIUAAQIECBAgQIAAAQIECBAgQIDAmBAYbwnAHP47NWLjiM9EXBeRycCVI/aKODPinojsFfjuCEOFA0EhQIAAAQIECBAgQIAAAQIECBDoXoHxlgCsnlQO+T0kYsOIaRH7RJwb8VhE9gDMocLHRMyIqNeNjwoBAgQIECBAgAABAgQIECBAgACB7hEYrwnA+hO6PT4cG5HDf1eI2C7iOxF3RGTvwBdF1IcKV3UNFQ4YhQABAgQIECBAgAABAgQIECBAoLMFJADnfz7ZAzAnBnlPRPYMzKHCn47ICUOqocJ7xnp9qHDWzWHFCgECBAgQIECAAAECBAgQIECAAIGOE5AA7P+R5PDfTABuFNFqqPDRse/WiP0iFAIECBAgQIAAAQIECBAgQIAAAQIdJSABOPjHMdBQ4eUG35SaBAgQIECAAAECBAgQIECAAAECBEZHYPHROc2YO0s1VDiHC2fZIGJiueYHAQIECBAgQIAAAQIECBAgQIAAgQ4SkAAcmYdx7cg0oxUCBAgQIECAAAECBAgQIECAAAECIytgCPDIemqNAAECBAgQIECAAAECBAgQIECAQEcJ6AFYFHOG+URyGPCDEf+IuCLipIg/RygECBAgQIAAAQIECBAgQIAAAQIEOkZAD8CimBBPYzgxOY5bKWKziA9HXB/x7YilIhQCBAgQIECAAAECBAgQIECAAAECHSGgB2BRfLrxJF4by00a63+M5dURdzc+Pz2WG0W8MKIn4qqICyKmRKwbsXnEEhF7RTwtYqcIhQABAgQIECBAgAABAgQIECBAgMAiF5AAnJcA/L94Epn8uzLi3RHZm69ZyQTgsREbR5wTcUBEllUiTojYKmKHiG0izo9QCBAgQIAAAQIECBAgQIAAAQIECCxSAUOAi+KV8QQ+F/HniFxvlfyLXUX2DHxFxN8iDonIhF+W2yO2i/hnfoiy+7yFnwQIECBAgAABAgQIECBAgAABAgQWrYAEYFHs13gEX4llTuwxUMk6X47I9wZ+oFY5tx/d2L5pbbtVAgQIECBAgAABAgQIECBAgAABAotMQALwf+/9+9MQnsINjbo5FLhe8r2BWZ4xb+EnAQIECBAgQIAAAQIECBAgQIAAgUUrIAE4b9KOfAo5ocdgS1V3+T4HPNz4nBOFKAQIECBAgAABAgQIECBAgAABAgQWuYAEYFHc2XgKbxrC08iJPrLcMW/R+/NpjbVq9uDeHVYIECBAgAABAgQIECBAgAABAgQILAoBCcCiuCDg831+740YTBIwk39ZN3v5nR9RLxs2Psysb7ROgAABAgQIECBAgAABAgQIECBAYFEJSAAWxRcCf3bExIifRJwW8YaIVSIWb0Su5yy/1f6sm8d8KaJedo4PmRj8VX2jdQIECBAgQIAAAQIECBAgQIAAAQKLSiATXOO93BoA2avvjIinNNarIb7xcYGSvQUficg6eWxV1oiVTAr+OiLbUggQIECAAAECBAgQIECAAAECBAgscgE9AOc9gl/E4oURP4vIHnyZ5GsWuS/rZN2LIurlpvjwqkZcV99hnQABAgQIECBAgAABAgQIECBAgMCiEtAD8H/ymcDbPiKH+74yYt2Iapbf+2P9zxEXR9weoRAgQIAAAQIECBAgQIAAAQIECBDoCgEJwAUfUyb4frjgZlsIECBAgAABAgQIECBAgAABAgQIdJ+AIcBFsepCPLZdFuJYhxIgQIAAAQIECBAgQIAAAQIECBBou4AEYFHk+/9WGIb0O+KYE4dxnEMIECBAgAABAgQIECBAgAABAgQIjJqABGBRrBXaF0QsOwT1PaLu9yL4DQFNVQIECBAgQIAAAQIECBAgQIAAgdEXkMAqitnB/qKIsyOWGsQj2CvqfDci7W4YRH1VCBAgQIAAAQIECBAgQIAAAQIECCwyAQnAonhj6D8RsXnEaRETI1qV98SOb0Wk23URW0YoBAgQIECAAAECBAgQIECAAAECBDpWQAKwKH4ZTycn85gb8fqIEyKalffFxqMj0uzaiK0i7o1QCBAgQIAAAQIECBAgQIAAAQIECHSsgATgvEdzRizeHTEhIpOB34iol33jw5ERuf/qiEz+3RehECBAgAABAgQIECBAgAABAgQIEOhoAQnA/z2e42P1oxGZ5Pt/EZ+OyPLBiK9F5PYrI14d8UCEQoAAAQIECBAgQIAAAQIECBAgQKDjBRbv+Csc3Qs8LE73tIiPRRwcsUHE6yIy+XdFxDYRD0UoBAgQIECAAAECBAgQIECAAAECBLpCQA/ABR/TQbHp2IhM+lXJv8tjfesIyb9AUAgQIECAAAECBAgQIECAAAECBLpHQAKw+bN6b2z+cUQmAS+LeE3EwxEKAQIECBAgQIAAAQIECBAgQIAAga4SGE9DgG8e4pNJm56I50Tc0OLY3L9Gi302EyBAgAABAgQIECBAgAABAgQIEFjkAuMpAbj6MLVX6ue4TAAqBAgQIECAAAECBAgQIECAAAECBDpWYDwlAE/s2KfgwggQIECAAAECBAgQIECAAAECBAi0SWA8JQDf2SZDzRIgQIAAAQIECBAgQIAAAQIECBDoWAGTgHTso3FhBAgQIECAAAECBAgQIECAAAECBBZeQAJw4Q21QIAAAQIECBAgQIAAAQIECBAgQKBjBcbTEODVGk/htljOGeEnMjHam9po89YRbltzBAgQIECAAAECBAgQIECAAAECBIYtMJ56AN4SSjdHPHfYWq0PfF7suiUi21cIECBAgAABAgQIECBAgAABAgQIdIzAeEoAJvqENsu3u/02X77mCRAgQIAAAQIECBAgQIAAAQIExprAeEsA5vPrGWsP0f0QIECAAAECBAgQIECAAAECBAgQaCUwnt4BWBlcGCv/rT6M0HKJEWpHMwQIECBAgAABAgQIECBAgAABAgRGVGC8JQBziG41WceIQmqMAAECBAgQIECAAAECBAgQIECAQCcKjKcE4Imd+ABcEwECBAgQIECAAAECBAgQIECAAIF2CoynBOA72wmpbQIECBAgQIAAAQIECBAgQIAAAQKdKDAeJwHpxOfgmggQIECAAAECBAgQIECAAAECBAi0RUACsC2sGiVAgAABAgQIECBAgAABAgQIECDQGQISgJ3xHFwFAQIECBAgQIAAAQIECBAgQIAAgbYISAC2hVWjBAgQIECAAAECBAgQIECAAAECBDpDQAKwM56DqyBAgAABAgQIECBAgAABAgQIECDQFgEJwLawapQAAQIECBAgQIAAAQIECBAgQIBAZwhIAHbGc3AVBAgQIECAAAECBAgQIECAAAECBNoiIAHYFlaNEiBAgAABAgQIECBAgAABAgQIEOgMAQnAzngOroIAAQIECBAgQIAAAQIECBAgQIBAWwQkANvCqlECBAgQIECAAAECBAgQIECAAAECnSEgAdgZz8FVECBAgAABAgQIECBAgAABAgQIEGiLgARgW1g1SoAAAQIECBAgQIAAAQIECBAgQKAzBCQAO+M5uAoCBAgQIECAAAECBAgQIECAAAECbRGQAGwLq0YJECBAgAABAgQIECBAgAABAgQIdIaABGBnPAdXQYAAAQIECBAgQIAAAQIECBAgQKAtAhKAbWHVKAECBAgQIECAAAECBAgQIECAAIHOEJAA7Izn4CoIECBAgAABAgQIECBAgAABAgQItEVAArAtrBolQIAAAQIECBAgQIAAAQIECBAg0BkCEoCd8RxcBQECBAgQIECAAAECBAgQIECAAIG2CEgAtoVVowQIECBAgAABAgQIECBAgAABAgQ6Q0ACsDOeg6sgQIAAAQIECBAgQIAAAQIECBAg0BYBCcC2sGqUAAECBAgQIECAAAECBAgQIECAQGcISAB2xnNwFQQIECBAgAABAgQIECBAgAABAgTaIiAB2BZWjRIgQIAAAQIECBAgQIAAAQIECBDoDAEJwM54Dq6CAAECBAgQIECAAAECBAgQIECAQFsEJADbwqpRAgQIECBAgAABAgQIECBAgAABAp0hIAHYGc/BVRAgQIAAAQIECBAgQIAAAQIECBBoi4AEYFtYNUqAAAECBAgQIECAAAECBAgQIECgMwQkADvjObgKAgQIECBAgAABAgQIECBAgAABAm0RkABsC6tGCRAgQIAAAQIECBAgQIAAAQIECHSGgARgZzwHV0GAAAECBAgQIECAAAECBAgQIECgLQISgG1h1SgBAgQIECBAgAABAgQIECBAgACBzhCQAOyM5+AqCBAgQIAAAQIECBAgQIAAAQIECLRFQAKwLawaJUCAAAECBAgQIECAAAECBAgQINAZAhKAnfEcXAUBAgQIECBAgAABAgQIECBAgACBtghIALaFVaMECBAgQIAAAQIECBAgQIAAAQIEOkNAArAznoOrIECAAAECBAgQIECAAAECBAgQINAWAQnAtrBqlAABAgQIECBAgAABAgQIECBAgEBnCEgAdsZzcBUECBAgQIAAAQIECBAgQIAAAQIE2iIgAdgWVo0SIECAAAECBAgQIECAAAECBAgQ6AwBCcDOeA6uggABAgQIECBAgAABAgQIECBAgEBbBCQA28KqUQIECBAgQIAAAQIECBAgQIAAAQKdISAB2BnPwVUQIECAAAECBAgQIECAAAECBAgQaIuABGBbWDVKgAABAgQIECBAgAABAgQIECBAoDMEJAA74zm4CgIECBAgQIAAAQIECBAgQIAAAQJtEZAAbAurRgkQIECAAAECBAgQIECAAAECBAh0hoAEYGc8B1dBgAABAgQIECBAgAABAgQIECBAoC0CEoBtYdUoAQIECBAgQIAAAQIECBAgQIAAgc4QkADsjOdQXcUGsXJQxHkRMyIej5gVcWPECRGbRYxkWScaOzLihoiHIp6IuDvi4ogDIpaNUAgQIECAAAECBAgQIECAAAECBLpYYPEuvvaxdumXxg1t3uSmloxtazZi91ieHLFXRCbrFqZ8KA7+UkTf34EVY9srG7FfLLeLuD5CIUCAAAECBAgQIECAAAECBAgQ6EKBvsmfLryFMXPJUxt3cnssT4v4TcStERMjXhKRCbuss1tEPrddIoZbdo4DD2scnInEoyIuirgnYo2I90W8PGJ6xPkRa0c8GKEQIECAAAECBAgQIECAAAECBAh0mYAEYOc8sL/FpRwUcXrEnD6XdUV8zp5/v41YK+JtEcdEZJJwOOUTtYN2iPVzap+vjPVTIvI6ct/KEXtGfDVCIUCAAAECBAgQIECAAAECBAgQ6DIB7wDsnAe2bVzKjyP6Jv+qK8zeedkLsCpvrlaGuJwS9ddtHHNtLOvJv3pTn659eGlt3SoBAgQIECBAgAABAgQIECBAgEAXCUgAdtHDiku9pHa5OVR3OCXfKViVm6uVJsubatuWqq1bJUCAAAECBAgQIECAAAECBAgQ6CIBCcAuelhxqfXk3dxhXnr2JLyvceyz+2mjnmC8sZ96dhEgQIAAAQIECBAgQIAAAQIECHSwgHcAdvDDaXJpr6hty3cGDrccGwd+LGKDiNdGnBfRt1TvCcwhyd/tu9PnsStw3+wnxu7NuTMCBAgQIECAAAECBAiMM4H7Zz8+zu7Y7TYTkABsptKZ27K3ZibtqpLvCxxu+XwcuFHEVhFnRHwz4pcR2TswewW+NyKTjZn82zfirxFDLdMGOGClAfbbvYgEXv21Xy+iMzstAQIECBAgQIAAAQIECIy0wJMP5Z/6yngXkADsnt+AA+JSN2lcbibtrl6IS58Vx2bPvz0iMqmYk4vUJxiJj8VPI74c8fv8MIwyYxjHOIQAAQIECBAgQIAAAQIECBAgQGCEBSQARxi0Tc1lb7wvNdq+K5bZQ29hS/YAfFtEq/cAZu/A/0Rk77+HIpQxKLDc5CWKZSctXjz82JNj8O7cEgECBAgQIECAAAECBAgQIJACOaxU6WyB58flZY+/TNbmwP2dIzIxtzDlzXHwJRFbRNwQ8aaIFSJykpGc/OOgiCUiMtH4u4jhDNddNY7rLzaO/coiFlh84mLFZ7Z/fpkEXMSX4vQECBAgQIAAAQIECBAgQIBAmwQmtKldzY6MwLOimcsiVonI9/HtFJHJwIUpz4yDb4pYOuLPES+OmB3Rt2wZG34Rkb8jP4nIc49kyXcElsOEZ8yYUUybNtArA0fy1NrqK/DknLnFg4/+t+9mnwkQIECAAAECBAgQIECgywVuv21m8YLnPae6i+yoM7P6YDl+BLJXmdKZApn0uygilz0R74pY2ORfNFG8NSKTf1m+ENEs+Zf7ftmIrWK5Q8TyEfdHKGNQIHsCrrDMUmPwztwSAQIECBAgQIAAAQIExrfAo0v7W298/wbMu3tDgDvzt2DFuKzsfffsxuV9IJYnNdYXdrF2rYFra+vNVq9pbMzfk7WaVbCNAAECBAgQIECAAAECBAgQIECgswUkADvv+SwXl3RBxDqNS8tZeo9qrI/Eoj7bw0A9QPM9gFWpH1dtsyRAgAABAgQIECBAgAABAgQIEOhwAQnAznpAT4nLOSdig8ZlfT6WhzbWR2rxr1pDm9XWm61u3tiYQ5BvaVbBNgIECBAgQIAAAQIECBAgQIAAgc4WkADsnOeTM/DmO/5e1rikI2J5cGN9KIs9onIm7DIOiehbMsGY+7J8PGJqubbgj3fHpo0am6+I5b0LVrGFAAECBAgQIECAAAECBAgQIECg0wUGGgLa6dc/lq7vlLiZ1zRu6FexPC5i3cbnZosnYuONzXYMsO1vsf/4iHdFZPLvDxFfj/hNxMMROSNQThSyS0SWOREHlWsj+2Ni1dwdd9xRrVoSIECAAAECBAgQIECAAAECIyjQ52/u3r/FR/AUmuoCAQnAznlIOdNuVbaIleurDy2W/47tq7fYN9Dm90WFnAn4LRFPj8ihxs3K7NiYPQEvabZzIbflecuyySabVKuWBAgQIECAAAECBAgQIECAQPsE8m/xzCco40xAAnCcPfDG7T4ey+zl9+2IPSI2jcjegDk3+EMRf4+4KOLYiJkR7SjPaEej2iRAgAABAgQIECBAgAABAgRaCvhbvCXN2N4xYWzfnrvrYIFnx7Xd1Li+TEDe1sHX6tIIjJbASnGiqxon2ziWd47WiZ2HQIcL+G+jwx+Qy1skAv67WCTsTtoFAv7b6IKH5BJHXSA7/OS7/bOsEXFzuebHuBLQA3BcPe6OutknaleTyb929TSsncYqga4SyOSf/y666pG52FES8N/GKEE7TVcJ+O+iqx6Xix1FAf9tjCK2U3WNQP1v8a65aBe68AJmAV54Qy0QIECAAAECBAgQIECAAAECBAgQ6FgBCcCOfTQujAABAgQIECBAgAABAgQIECBAgMDCC0gALryhFggQIECAAAECBAgQIECAAAECBAh0rIAEYMc+GhdGgAABAgQIECBAgAABAgQIECBAYOEFJAAX3lALBAgQIECAAAECBAgQIECAAAECBDpWQAKwYx+NCyNAgAABAgQIECBAgAABAgQIECCw8AISgAtvqAUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHxIzBh/NyqO+0wgaXietZrXNPdsZzTYdfncggQIECAAAECBAgQIECAwFgQmBg38fTGjdwQy8fHwk25h6EJLD606moTGDGBTP5dNWKtaYgAAQIECBAgQIAAAQIECBAYSGDjqHD1QJXsH3sCi429W3JHBAgQIECAAAECBAgQIECAAAECBAhUAnoAVhKWoy2Qw37LcuWVVxYrr7xy9dGSAAECBAgQIECAAAECBAgQGCGBO+64o9hkk02q1nr/Fq82WI4PAQnA8fGcO/Eue9/5l8m/adOmdeI1uiYCBAgQIECAAAECBAgQIDCWBHr/Fh9LN+VeBhYwBHhgIzUIECBAgAABAgQIECBAgAABAgQIdK2ABGDXPjoXToAAAQIECBAgQIAAAQIECBAgQGBgAQnAgY3UIECAAAECBAgQIECAAAECBAgQINC1AhKAXfvoXDgBAgQIECBAgAABAgQIECBAgACBgQUkAAc2UoMAAQIECBAgQIAAAQIECBAgQIBA1wpIAHbto3PhBAgQIECAAAECBAgQIECAAAECBAYWkAAc2EgNAgQIECBAgAABAgQIECBAgAABAl0rIAHYtY/OhRMgQIAAAQIECBAgQIAAAQIECBAYWEACcGAjNQgQIECAAAECBAgQIECAAAECBAh0rYAEYNc+OhdOgAABAgQIECBAgAABAgQIECBAYGCBxQeuogYBAgQIECBAgAABAgQIDEWgp6enmD17dvHQQw8Vjz32WDFnzpyhHK4uAQIEegUmTpxYTJo0qZgyZUqx9NJLFxMmTOjdZ4XAYAUkAAcrpR4BAgQIECBAgAABAgQGITB37tzi1ltvLR599NFB1FaFAAEC/Qs8+eSTxeOPP148+OCDxeTJk4vVVlutWGwxAzr7V7O3r4AEYF8RnwkQIECAAAECBAgQIDBMgez51zf5l711sgePQoAAgeEIZA/i/G7Jkv+wkN8x06dP1xNwOJjj+BgJwHH88N06AQIECBAgQIAAAQIjK5DDfquef5n0W2mllYpllllGb52RZdYagXElkL2KZ82aVdx5553l6wTyOya/a/K7RSEwWAF9RgcrpR4BAgQIECBAgAABAgQGEMh3/lUlk3/5zi5D9SoRSwIEhiOQ3yH5XZLfKVV5+OGHq1VLAoMSkAAcFJNKBAgQIECAAAECBAgQGFggJ/zIksN+9c4Z2EsNAgQGL5DfKdUEIFVP48EfreZ4F5AAHO+/Ae6fAAECBAgQIECAAIERE6hm+83hv3r+jRirhggQCIH8TqneJ1p914AhMFgBCcDBSqlHgAABAgQIECBAgAABAgQIECBAoAsFJAC78KG5ZAIECBAgQIAAAQIECBAgQIAAAQKDFZAAHKyUegQIECBAgAABAgQIECBAgAABAgS6UEACsAsfmksmQIAAAQIECBAgQIAAAQIECBAgMFgBCcDBSqlHgAABAgQIECBAgAABAgQIECBAoAsFJAC78KG5ZAIECBAgQIAAAQIECBAgQIAAAQKDFZAAHKyUegQIECBAgAABAgQIECCwyAVuueWWYsKECQsdi/xGXAABAgRGUUACcBSxnYoAAQIECBAgQIAAAQIECBAYusADDzzQm/T9+te/PvQGHEFgnAssPs7v3+0TIECAAAECBAgQIECAQBcJTJ06tbjhhhtaXvHWW29d3H777cUqq6xSXHDBBS3r2UGAAIHxJCABOJ6etnslQIAAAQIECBAgQIBAlwssscQSxbrrrtvyLnJ/loHqtWzADgIECIxBAUOAx+BDdUsECBAgQIAAAQIECBAgQIAAAQIEKgEJwErCkgABAgQIECBAgAABAgTGrcDPfvaz4q1vfWsxffr0YvLkycVTn/rUYoMNNigOPvjg4p577mnpsv/++5fvpsv6We69997ioIMOKtZee+1i6aWXLlZeeeXijW98Y3HNNdfM18Ztt91WfOQjHyme97znFU95ylOKpz/96cVOO+1U/OUvf5mvXv1DvvuumgAl34k3e/bs4vOf/3zxwhe+sFh22WXLa375y19eHHfccUVPT0/90Kbrc+fOLb7//e8X2223XZFDq5daaqniaU97WvHSl760OPTQQ4tZs2Y1PS435j3ltay//vplnX//+9/FBz/4wfJ+lllmmXLfdddd13t8Gh577LGlcd5z2uT5cqj261//+uKkk04qnnzyyd769ZW0XX755Xs3HXDAAb0OlUc+h6r0daq2913m9VXHn3nmmX13D/keqwbuuuuu4pOf/GSx8cYbFyussEJ5n+m74447Fueee25VzZLAqAoYAjyq3E5GgAABAgQIECBAgAABAp0kkIm0t7zlLcWFF14432U99thjxR/+8Icyjj766OInP/lJscUWW8xXp++HG2+8sXjNa15TZDKsKo888khx1llnFeedd1653GabbYrf//73xRve8Ibi7rvvrqoVjz76aHmO888/v/jlL39ZbLLJJr37mq3ccccdxZvf/OYFEoa//e1vi4zTTjutyKTWpEmTmh1ezJw5s9h+++2La6+9dr79TzzxRHH55ZeXcdRRRxU///nPixe84AXz1en7Ia83k1sPPvhg3129n5/znOc03Z/3kZGJsUwQnn322WUSsvfADlkZzD3mpf74xz8u9txzzwWSp/leyp/+9Kdl5O/bCSec0PLZdMgtu4wxJiABOHoPdEqc6nURG0dsFDE14ukRkyMeiMh/5sl/Cjgu4t6IVuU5sSPbyP81yHhRRLaR5Z0RJ+TKIEs+/z0j3h6xdsQyEbdFXBTxjYi8JoUAAQIECBAgQIAAAQJjUiCTXa9+9auLq6++upg4cWKx2267lb3hshdgJgB/97vfFV/96lfLBFX2kst62XutWcnea5kEu//++4tDDjmk2HLLLcueX7/61a+Kz3zmM0UmAt/xjnf0Jv+y59lXvvKV4mUve1nZCy17IFa97vbYY4/iT3/6U7HYYq0H7e2+++7FX//61yLrvu1tbyt7mmXvwWwzJ0nJCVDe/e53lz3r+l5vXuNmm21W3HLLLWVvx7333rtMXGZvvIcffrjIa85edDNmzCgyYZk95Z7xjGf0bab8nD37MqGV95P3+cpXvrK870yeZm/CqmRvwzzn6173urLHYraXJv/617+K448/vrjkkkvKxOU73/nOMlFaHZfLTEhmojZ7JmY58MADi1133bVcr36suOKK1eqILwd7j6effnrZwzF7X6611lrFPvvsU2y00UZF9oi89dZbi5NPPrnIOqeeemrZAzJ7aioECIw9ga3ilrIP9kCR/wS0dYvbf8UAx+/R4rhmm1eIjVdEtLqex2Lfu5odOELbplXnjv9Rie9HhQABAgQIECBAgED3C0QPsJ5IwvTkslWZM2duzz0PPzZuIu93NEsk78q/cXI5UInhvWXdGILbc+mllzatfuedd/Y861nPKuttu+22C9TZb7/9ev+mimG4PZF8W6DOD37wg946MdS3Z9q0aT3N/g6K4by99SIJt0A7X/va13r3599T0TNxgTrRk7AnEmW99X7zm98sUCeSZ+X+SML1/PnPf15gf27429/+1hMJvLLe+9///gXqRO/B3nPEMNeev//97wvUqW/o77+JrBeJ1t72ItFaP7Rcj6Rl7/506K/UnfK4ViWSlL1tnnHGGQtUG8o9RpKwZ7nllivb22GHHXoef/zxBdrLDV/+8pd7z9nsPpseVNs4mO+YWvVyNX/Xqr+/Y5l/iyvjUCB7gCmjJzAjTnVxRL78IdfviMh/0sn/AN8csUNE/rPF2RHZy+/6iHqZUPswN9b/GjE7InsCDqVMjMo/jXhx46Bc/07EfY1tB8cy/3nn2IjsEXhBhEKAAAECBAgQIECAwAgI3P/IE8WGn7toBFrqjiauOXirYoVlluq4i8332x155JHldWWPss0337zpNT7zmc8s37O3yy67FOecc06R73dr1Rsu3/3XbIbi7CH3gQ98oLjvvvvKYb8/+tGPikgCLnC+7DGW7xyMrE0RibviVa961QJ1qg35rr/3vve91cfeZQ75zZ5l66yzTtnOMcccU2TdquTw5FNOOaX8mL0Fs16z8tznPrf48Ic/XL7PMN/Plz0Cs5dks/KpT32q7PHWbF+1bc0116xWmy7zvX75PLJHYA5d3nDDDZvWW1QbB7rHdM4h0Pm+wuzRuOSSSza91DT93ve+V0SCtazXaffZ9KJtHBMCrfsTj4nb66ibyMTfahG7R3wj4oyI7IH3u4gfR+wckUnALPlN8alybf4fmYz7SMQrI5aLWDfimIihlt3igOp/3Y6O9R0jzo+4MiL/F/BlEQ9F5Ld7fpYoDgSFAAECBAgQIECAAIGxIxA9/nrfSbfzzvnnWOtSJQczMZfv72tVchKRZiUTZ89//vPLXZkYygk0mpUcMlslBm+++eZmVXq35VDZViWHKVfDZfPddfWS7/SbM2dOObw4hyz3V6r7fuihhxZ412D9uEyODqWkY773L3oNlkOdc7hzRnXvf/zjH4fS3KjUHege8z2PWbbeeutiypR8A1jzkkOlq4RsDm1WCIyWgMTOaEkXxZxBnCqnHfpbRL5UokrQ1Q/7R3w4rL5hmOuZRMxyf0S1Xm5o/PhnLL/YiPxnmu0jTo9QCBAgQIAAAQIECBAgMCYE8n1+VckZewdbYkhw06pLLLFEsfrqqzfdlxurWYLz/YI5+22rkvXy3Xv5Lr7+Ss4w21/JSURyMpD//Oc/Za/DnGU4S3Xf+U6+fDfdYEve93rrrbdA9ZzdNme6HUzJiVS+853vlNeVMxi3KvnOvU4qA91jJlSrGY/z/X4ZgymtfpcGc6w6BIYqoAfgUMXaX7/6FpzUplNlQq/q453fSo+0OM8Jte071NatEiBAgAABAgQIECBAoOsFcijvcEpOXNGsxHsEm23u3VZN6DHYeplU6q+0GoZcHZNDl6uSQ4+rMtL3vfzyy1dNt1zmBCnZy3KnnXYqZ1vuL/mXjeSMyJ1UBrrH9M17HGpp9bs01HbUJzAYAT0AB6M0enXyn53Wb5wuewK2o2xWa/TS2nrf1fxnrRsj1or43wsj+tbymQABAgQIECBAgACBIQks/5Qli3wv3ngpeb+dWOoJtmuuuablO9v6XvvKK6/cd9Mi+ZxDSfsrOcy2WanuO3vtXXLJJc2qNN2WPReblVbvBazXPeKII4rTTjut3PTiF7+42HfffYvswZiWmRCtkqM503LOhtzq2uttjub6QPdYmeY17bnnnsX+++8/qMsbqN1BNaISgUEKSAAOEqqN1fKfiaZGvCHioxHVW1WPiPV2lHrf9oGSjLk/E4CrRiwdUfVOjFWFAAECBAgQIECAAIHhCCy22ISOnBRjOPfSzcfUh61Onjy5GMow4E647xza218vwHpPv3y3YFWq+47ZcYuY3bhYeun8U6+9JYf9ZnnBC15QTm6Sw6WblbymkShVQjHbyqHOrcpAPRFbHdd3e903h243mwim7zE+ExhtAUOAR1t83vn2iEX+c0xGJtWyp93hEVUf7XzP3w8i2lEymVeVmdVKi+WMxvb8p6VpLeq02pz1+4uVWh1oOwECBAgQIECAAAECBNot8KIXvaj3FBdeeGHveresXHXVVf1earU/k4TV+//ygOq+MzF20UUX9dvGSOzMobE33ph/8sasl29+c9Eq+fff//636G/yj4F6PNavddlll+392F9SMSchGYmSE7tUk7xcfPHFwxoOPBLXoQ0C/QlIAPanM/r7rotTbhrxkYjm/bUX/pr+901YFLMGaK7e42/wb4ed12gmD/uL/v/XaoALs5sAAQIECBAgQIAAAQILI7DVVluVw0+zjSOPPLJ47LHHFqa5UT/2xBNPbHnOTLjlBCBZ8j7r5Q1veENRJdMOO+ywtg+3zeGx1ZDe/t5598Mf/rDfiU8mTfrfa/Iff/zx+i0tsJ49G6tSTXpSfa4vTznllPrHhVrP4ctZ7r777uL4449fqLYcTKAdAhKA7VAduM2c7Xe9RmwSy7dFnBGR7//Lnn/bRrSr/O9bsyieGOAk9W/VyQPUtZsAAQIECBAgQIAAAQJdI5Cz7b7//e8vr/emm24q3vGOdxT9JZayJ9m3vvWtjrm/X//618Wxxx67wPXkPey11169Sbf3vve989V57nOfW07GkRsvu+yy4oADDuh3mOxtt91W9JdsnK/xJh9yxuNVV503EO30008vmg27/dOf/lR88IMfbHL0/zZlO9VkHPm8+iv5fsFqspV8/2CzCTryWY5kD8j99tuvd1blvJd8Pv2VX/7yl8WVV17ZXxX7CIyogATgiHIOurEHouafGpE94X4UkTPtviPi2RFnRewR0Y5S/2etgd7GW5+bfqjTMOU3fH+xcTtuTpsECBAgQIAAAQIECBAYrMBnPvOZIielyJKTVOQwzuwVl8mb6667rrj00kvLpF/OYDt16tRy32Dbbne9jTbaqNhnn33KSScykXXttdcW3//+94tNNtmkfM9enn+33XYrXv7yly9wKcccc0zx7Gfnn55FkQmyDTfcsDjqqKPKXoN/+MMfil/96lfFN77xjWLbbbctVl999eLkk09eoI2hbMjkapZ//OMfxUtf+tKyvRyinJOQHHTQQcWmm25a5BDg9dbLfjKtSx6bJXvunXDCCcWf//zn4p///GcZ99xzT++B+V7D6pyXX355sc022xTnnHNOkff285//vHj7299eZGL0JS95Se8xC7uSsy5nojR7V86aNavYYostSv9MeuYkM3m/Z511VnHwwQcX66yzTtkzsxoavbDndjyBwQiYBGQwSqNXJ79Vs/ffzhHfjMhE4Mi8BTUaapSHq5VYLhNRTwjWdpWr9bfBDjRcuO+xA71fsG99nwkQIECAAAECBAgQIDCqAtmr7Be/+EXxzne+s8hETfYs+8hH8o1MzcuUKVOa71gEW0866aRixx13LL73ve+V0fcStt5666Y9BLNeTlqRQ4Tf8pa39CY7q96QfdvJzwt73x//+MeLfDfe7373u+L666/vTc5V58p39p166qnFt7/97eKGG26oNi+wPPDAA4vzzz+/TLDlM6uX7IH39a9/vXfTF7/4xd7zZW+7jHp53eteV3zyk58sk4/17QuzvsMOOxRnn312sfvuuxf33XdfmZDNpGyzkonC+rsKm9WxjcBICugBOJKaI9NWJv2yZPLtteXayP6oJ+Zyko7+Svbgy5LvI6wfV270gwABAgQIECBAgAABAt0ukEmYn/zkJ2VCbO+99y6e97znlYmZiRMnlkNON9hgg+I973lP2Xvr97//fcfc7sorr1wOIf30pz9dzjqbvd4yUZe95HLW3fPOO6+ovzev74WvtNJKZQ/H7Bm36667FmussUY5I/Diiy9erLjiimViLJNqmSBNn4UpOctyJgC//OUvF+uvv36Rn/N611prrWLfffcte1u+9rUD//m72Wablb0bczKRadOmFTn5RquSQ7xziHMm+XKG57TIbZVP9gTMBPBIl+w1ecsttxSHH354seWWWxbpnBOf5D1Pnz69yPs89NBDy2Tz9ttvP9Kn1x6BlgITWu6xY1EJvDpOfGHj5AfF8osDXMgesb96w2j+E8gJEf2Vd8XO4xoV8t2DOfy4Vfl77Fgr4taI6a0qDXN7Jh9zkpBixowZ5Zf3MNtxGAECBAgQIECAAIGOEcghjvm+sUyirLnmmh1zXS5kbAhkD7d8Z1+WfCdhJrSU8SUwnO+YmTNn9r6HMbSyo48OPuPr16a8Wz0AO++hT61d0lCH3dYObbl6WW3PK2rrfVdXig2Z/Mvy23kLPwkQIECAAAECBAgQIECAAAECBLpNQAKw857YTrVLav3yg1qlIa7eGPX/2jgm3zX4lBbH71HbnjMUKwQIECBAgAABAgQIECBAgAABAl0oIAE4eg9tjzjVpAFOl325X9eoc0ss6731GptHZHFYo5WnxfLLTVpcI7b9X2P7TbGUAGyCZBMBAgQIECBAgAABAgQIECBAoBsEFu+Gixwj13hI3MfhEadHZGIvE2s5xHfZiJzr/O0RL4vI8kTE3hFP5oc+5c3xOWfvrUp9Tvf6eu6/M+L8qmJteWKsvysiz/f/InK473cicsbhTSI+EZHTW82N+EBEs+uIzQoBAgQIECBAgAABAgQIECBAgECnC0gAju4Tyh53mdjLaFVmxo5Mzl3UokL23ms1IceesS+jKpfGSrME4JzY/saIcyM2jtixEbHoLZmEfH/Eeb1brBAgQIAAAQIECBAgQIAAAQIECHSdgCHAo/fItoxT7RNxasT1Ef+JyJ512QswewNmz8Ccxfe5Eb+IaHe5J07w0oj3RWSPxHsjHou4OSJ7A27QWMZCIUCAAAECBAgQIECAAIFFLbD//vsXPT09ZZgBeFE/Decn0F0CegCO3vPKJF/GtxfylKsv5PH1wzMBeUwj6tutEyBAgAABAgQIECBAgAABAgQIjBEBPQDHyIN0GwQIECBAgAABAgQIECBAgAABAgSaCUgANlOxjQABAgQIECBAgAABAgQIECBAgMAYEZAAHCMP0m0QIECAAAECBAgQIECAAAECBAgQaCYgAdhMxTYCBAgQIECAAAECBAgQIECAAAECY0RAAnCMPEi3QYAAAQIECBAgQIAAAQIECBAgQKCZgARgMxXbCBAgQIAAAQIECBAgMAyBiRMnlkfNmTOnmDt37jBacAgBAgSaC+R3Sn63ZKm+a5rXtJXAggISgAua2EKAAAECBAgQIECAAIFhCUyaNKk8rqenp5g1a9aw2nAQAQIEmgnkd0p+t2SZPHlysyq2EWgpIAHYksYOAgQIECBAgAABAgQIDE1gypQpvQfceeedxUMPPaQnYK+IFQIEhiOQPf/yuyS/U6qy7LLLVquWBAYlsPigaqlEgAABAgQIECBAgAABAgMKLL300mXPnEcffbQcqnfbbbcVEyZMMFxvQDkVCBBoJZDDfquef1kne//ld41CYCgCEoBD0VKXAAECBAgQIECAAAEC/Qhksm+11VYrbr311iKTgFnyD/cnn3yyn6PsIkCAwOAEMvmX3zH5XaMQGIqABOBQtNQlQIAAAQIECBAgQIDAAAKLLbZYMX369GL27NnFww8/XCYCqxf3D3Co3QQIEFhAICf8yMRfDvvNnn+SfwsQ2TAIAQnAQSCpQoAAAQIECBAgQIAAgaEI5B/oyyyzTBlDOU5dAgQIECDQDgGTgLRDVZsECBAgQIAAAQIECBAgQIAAAQIEOkRAArBDHoTLIECAAAECBAgQIECAAAECBAgQINAOAQnAdqhqkwABAgQIECBAgAABAgQIECBAgECHCEgAdsiDcBkECBAgQIAAAQIECBAgQIAAAQIE2iEgAdgOVW0SIECAAAECBAgQIECAAAECBAgQ6BABCcAOeRAugwABAgQIECBAgAABAgQIECBAgEA7BCQA26GqTQIECBAgQIAAAQIECBAgQIAAAQIdIiAB2CEPwmUQIECAAAECBAgQIECAAAECBAgQaIeABGA7VLVJgAABAgQIECBAgAABAgQIECBAoEMEJAA75EG4DAIECBAgQIAAAQIECBAgQIAAAQLtEJAAbIeqNgkQIECAAAECBAgQIECAAAECBAh0iIAEYIc8CJdBgAABAgQIECBAgAABAgQIECBAoB0CEoDtUNUmAQIECBAgQIAAAQIECBAgQIAAgQ4RkADskAfhMggQIECAAAECBAgQIECAAAECBAi0Q0ACsB2q2iRAgAABAgQIECBAgAABAgQIECDQIQISgB3yIFwGAQIECBAgQIAAAQIECBAgQIAAgXYISAC2Q1WbBAgQIECAAAECBAgQIECAAAECBDpEQAKwQx6EyyBAgAABAgQIECBAgAABAgQIECDQDgEJwHaoapMAAQIECBAgQIAAAQIECBAgQIBAhwhIAHbIg3AZBAgQIECAAAECBAgQIECAAAECBNohIAHYDlVtEiBAgAABAgQIECBAgAABAgQIEOgQAQnADnkQLoMAAQIECBAgQIAAAQIECBAgQIBAOwQkANuhqk0CBAgQIECAAAECBAgQIECAAAECHSIgAdghD8JlECBAgAABAgQIECBAgAABAgQIEGiHgARgO1S1SYAAAQIECBAgQIAAAQIE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CBAgQIAAAQIECKxzgT3W+fE7/PUr4Bbg9XvuHDkBAgQIECBAgAABAgQIrBMBtwCvkxO1xoe55xrv3+4JECBAgAABAgQIECBAgAABAgQIEFiggAHABeJrmgABAgQIECBAgAABAgQIECBAgMBaC2ykZwDercO6INNrZwy3V/Z3cLfP82e8b7sjQIAAAQIECBAgQIAAAQIECBAgsGYCG+kKwNUofTm59xpo3Sf7XE1q/woBAgQIECBAgAABAgQIECBAgACBdSOwkQYAC32tP9Rkrfe/br5xHCgBAgQIECBAgAABAgQIECBAgMD6ENhoA4Clft36oHeUBAgQIECAAAECBAgQIECAAAECBNZeYCM9A7DXOiOVq/uZGU33mdF+7IYAAQIECBAgQIAAAQIECBAgQIDAXAU22gBg3aLbf1jHXCE1RoAAAQIECBAgQIAAAQIECBAgQGAZBTbSAODblhHYMREgQIAAAQIECBAgQIAAAQIECBBYpMBGGgB8xiIhtU2AAAECBAgQIECAAAECBAgQIEBgGQU24oeALKOzYyJAgAABAgQIECBAgAABAgQIECCwEAEDgAth1ygBAgQIECBAgAABAgQIECBAgACB+QgYAJyPs1YIECBAgAABAgQIECBAgAABAgQILETAAOBC2DVKgAABAgQIECBAgAABAgQIECBAYD4CBgDn46wVAgQIECBAgAABAgQIECBAgAABAgsRMAC4EHaNEiBAgAABAgQIECBAgAABAgQIEJiPgAHA+ThrhQABAgQIECBAgAABAgQIECBAgMBCBAwALoRdowQIECBAgAABAgQIECBAgAABAgTmI2AAcD7OWiFAgAABAgQIECBAgAABAgQIECCwEAEDgAth1ygBAgQIECBAgAABAgQIECBAgACB+QgYAJyPs1YIECBAgAABAgQIECBAgAABAgQILETAAOBC2DVKgAABAgQIECBAgAABAgQIECBAYD4CBgDn46wVAgQIECBAgAABAgQIECBAgAABAgsRMAC4EHaNEiBAgAABAgQIECBAgAABAgQIEJiPgAHA+ThrhQABAgQIECBAgAABAgQIECBAgMBCBAwALoRdowQIECBAgAABAgQIECBAgAABAgTmI2AAcD7OWiFAgAABAgQIECBAgAABAgQIECCwEAEDgAth1ygBAgQIECBAgAABAgQIECBAgACB+QgYAJyPs1YIECBAgAABAgQIECBAgAABAgQILETAAOBC2DVKgAABAgQIECBAgAABAgQIECBAYD4CBgDn46wVAgQIECBAgAABAgQIECBAgAABAgsRMAC4EHaNEiBAgAABAgQIECBAgAABAgQIEJiPgAHA+ThrhQABAgQIECBAgAABAgQIECBAgMBCBAwALoRdowQIECBAgAABAgQIECBAgAABAgTmI2AAcD7OWiFAgAABAgQIECBAgAABAgQIECCwEAEDgAth1ygBAgQIECBAgAABAgQIECBAgACB+QgYAJyPs1YIECBAgAABAgQIECBAgAABAgQILETAAOBC2DVKgAABAgQIECBAgAABAgQIECBAYD4CBgDn46wVAgQIECBAgAABAgQIECBAgAABAgsRMAC4EHaNEiBAgAABAgQIECBAgAABAgQIEJiPgAHA+ThrhQABAgQIECBAgAABAgQIECBAgMBCBAwALoRdowQIECBAgAABAgQIECBAgAABAgTmI2AAcD7OWiFAgAABAgQIECBAgAABAgQIECCwEAEDgAth1ygBAgQIECBAgAABAgQIECBAgACB+QgYAJyPc7VyRPLS5PRke3JlcmlybrKSHJPsbrlHNvy95LPJd5PvJbWf1yf3TXa37J0Nn5N8KPlGcnlyXvKm5PBEIUCAAAECBAgQIECAAAECBAgQWOcCe6zz418vh//BHOgjduNg/yTbPDO5asq2z8661yW3mrBNvfZXkzdOWN8v3j+V05Kf6heMTGuA8t8nbx1ZPqvZQ7KjGgjdtH379k2HHFKzCgECBAgQIECAAAECBAgQIDBLgR07dmzavHlzv8uq7OhnTNsRcAXgfM71wV0zF2b62uTJyVHJQ5MXJhckVZ6erFRlQnlqlv9RUoN/30lenhydHJnUwGBdvVfr6krAamNS2Ssr3p30g39Vf3w3/yuZfj25dfLm5HGJQoAAAQIECBAgQIAAAQIECBAgsE4FXAE4nxN3apo5OXlXcu2YJg/IsrOTH+/W1dWCH+7q/eR2qXwluWtyaVKDh59NhuVOmTkruX/yteReyfeS0XJ8FpzULXxDps/r6v2kXvfJpPb3xaRuB74mmWWpS/5cAThLUfsiQIAAAQIECBAgQIAAAQIjAq4AHAFpdNYVgPM58U9IM6ck4wb/6gi+mbyoKl15cl8ZTOsKvRr8q1JXEY4O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AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItCGwLd28rksbPd60aXXQ577vtWyWZUt21u97OF2ZZSP2RYAAAQIECBBYRoE9l/GgHBMBAgQIECBAgAABAgQIECBAgAABArMRMAA4G0d7IUCAAAECBAhMEzg+K/urzrZM27Dxde9J/+/f5bgZW1ww2He1ceGM9293BAgQIECAAIGlFdh7aY/MgREgQIAAAQIE2hTYlm5XWizfTqc/u0Ydv3pk3zWvECBAgAABAgSaEHAFYBOnWScJECBAgAABAgQIECBAgAABAgRaFTAA2OqZ128CBAgQIECAAAECBAgQIECAAIEmBAwANnGadZIAAQIECBBYkMDWtFvP/jtp0P5XumX9MwFrunWwflvq/brB4huqq936lW7JEZm+PdmeXJ6cl/z35IBkWB6WmXcm5ydXJF9KXpXcMdlV2SMbPDl5V1Lt1OsvST6WvCzZL5lneVQae0dSltXny5LV5KPJa5JarxAgQIAAAQIECBAgQIAAAQIECBBYc4GtaaEfzJs2re36si2Vftt+2XC62q1fyfTpyZXdfP+afvqFLD8oqfLi5PtJv244/WSW3yGZVH4kK85Khq8ZrX8t639q0g52Y/lqtql9riS7KjW4Odr+6Pw3d7WTrF/t9rOSqUKAAAECBAgQIECAAAECBAgQIEDgZgncPq+6X/LrST9IVZ9uW8uGqe36si2Vftt+2XC62q3/u0xr8O8fk2ckD04emfxJ0r/+f6b+C938RzJ9WvKTyeOS05J+u99JfVyp4/pcUttVW29Kfi55UHJ08tKkBttq/beSuyc3p6zmRbWPlWRaeUJW1naVv0+emxybPLCbPifTP0/qE393VVazwe60uav9WE+AAAECBAgQIECAAAECBAgQIEBg0/Ex6AeutuzCY9tg23Gbrg7Wn5367cZsdEq3zTWZ/r+kBsX2Soal5mtQsI6rBvH2TkbL67Kg1ten89YA47hy9yy8MKntavDx5pTVvKhev5JMKydnZW23mtwhmVTuMmnFYPlq6rvT5uAlqgQIECBAgACB9Smw5/o8bEdNgAABAgQIECAQgWcm9fy70fKGbkEN8t0meXZybbesn9T8m7uZ/TM9vF/RTQ/ItPZf5eXJJ3bWbvzlq1n0im7xv8p03IDkjV9185b0tzR/Ki+/dMou6mpEhQABAgQIECBAoBMwAOhbgQABAgQIECCwPgXqFthzJhz6ZwbL35f6pAGx2kdf7tlXumndJlyDh1XqisJp5UPdyn0yrVuM16pc1O34EZkeulaN2C8BAgQIECBAYKMJGADcaGdUfwgQIECAAIFWBM6d0tG6Zbcvu7vd6KcBD2/5rYG3ul12Uj7bN5Zpf5XeYNHMqid3e6orFqvNP03q+Yf3ShQCBAgQIECAAIEJAgYAJ8BYTIAAAQIECBBYcoFxt/72h1yf+NuX3d2ubhcelrsOZ25CfS1vAX5/juOXk8uTujqxbjl+a/LFZEdSH1LygEQhQIAAAQIECBAYCOw9qKsSIECAAAECBAgQ6AX6AcGrsuCm3NZbA3FrWV6fnb8zeVry2OThyb7Jwclzknre4SuT30gUAgQIECBAgACBCBgA9G1AgAABAgQIECAwTqA+PbjKrZKq98/fq2WLLl/PAfx+l7qj5YHJk5LnJfslv558PHlPohAgQIAAAQIEmhdwC3Dz3wIACBAgQIAAgTkI1LPz1lv5u8EBHzeoL1u1bneuTwWuK/4ePTi4pwzqqgQIECBAgACBpgUMADZ9+nWeAAECBAgQmJPAFYN2bj2oL3P19Bzc1d0BviDT9XDnSA0EXtId8wHd1IQAAQIECBAg0LyAAcDmvwUAECBAgAABAnMQGN4+e+gc2ptFExdkJyd1O6oP1vijZNogYH1oyDO77ddqUh/6cdspO69PLr5zt/4rU7azigABAgQIECDQlMC0X+KagtBZAgQIECBAgMAaCtTttHUVYH1y7SuSa5LVpP+03hpsq0+2XbbyohzQw5L7JSckD0nenHwyuTSp5+3dN3lM8jPJPyT/I1mr8qrsuD7pt57t96Hk3OR7yf7J0cnzkyrXJm/ZWfOFAAECBAgQIEBg6l9x8RAgQIAAAQIECMxG4LvZzR8kv5Yckbw3GZZHZubM4YIlqdcg37HJ25OfTg5P6sM3JpV/mrRihstr0PEXu4zbbQ20PiepQUqFAAECBAgQIEAgAq4A9G1AgAABAgQIEJiPwEvSzBeTf5fUVXP7Jnsly16+lQN8fPKo5N8mdaXdP0vqasYa8PtS8rHktOSMZC3LI7Lzx3apwciDkrrl97LkvOT9yRsTt/8GQSFAgAABAgQIECBAgAABAgQIECCwLAKrOZDrkpVkXmU1Dc27zXn1TTsECBAgQIAAgR8ScAXgD3GYIUCAAAECBAgQWKBA3d5bzxusclVSz/ibVdknO7r3YGc1rxAgQIAAAQIECBAgQIAAAQIECBAgMAeB1bRRV+MNU8tmWbZkZ8P99/WVWTZiXwQIECBAgACBZRTYcxkPyjERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgosD/BzgQCSYBfJ/TAAAAAElFTkSuQmCC\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"Text(0.5,0,u'time [s]')"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%matplotlib notebook\n",
"import matplotlib.pyplot as plt\n",
"plt.figure(1)\n",
"\n",
"plt.subplot(3,1,1)\n",
"plt.title('Fuel Gas')\n",
"plt.plot(t,Wf_N2,t,Wf_CO2,t,Wf_CH4)\n",
"plt.ylim(0,1)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.legend(['N2','CO2','CH4'], loc='center right', ncol=3, title='Mass Fraction')\n",
"plt.ylabel('[kg/kg]')\n",
"\n",
"plt.subplot(3,1,2)\n",
"plt.plot(t, Wf_w)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.ylabel('[kg/s]')\n",
"plt.legend(['Mass Flow Rate'])\n",
"\n",
"plt.subplot(3,1,3)\n",
"plt.plot(t,Wf_T)\n",
"plt.xlim(0,5)\n",
"plt.ylabel('[K]')\n",
"plt.legend(['Temperature'])\n",
"plt.xlabel('time [s]')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### コンプレッサーの空気\n",
"\n",
"コンプレッサーの空気の成分の質量分率、質量流量、温度、圧力を抽出します。\n",
"\n",
"空気は、O2, H2O, Ar, N2 の混合ガスです。最初と最後の質量分率は次のようになります。空気は予め加熱され 616.95 K になっています。"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mass Fraction\n",
"0.23000000 0.01500000 0.00500000 0.75000000 \n",
"0.23000000 0.01500000 0.00500000 0.75000000 \n",
"Mass Flow Rate 158.00000000 158.00000000 \n",
"Temperature 616.95000000 616.95000000 \n"
]
}
],
"source": [
"Wc_O2 = res['Wcompressor.gas.X[1]']\n",
"Wc_H2O = res['Wcompressor.gas.X[2]']\n",
"Wc_Ar = res['Wcompressor.gas.X[3]']\n",
"Wc_N2 = res['Wcompressor.gas.X[4]']\n",
"Wc_w = res['Wcompressor.w']\n",
"Wc_T = res['Wcompressor.gas.T']\n",
"Wc_p = res['Wcompressor.gas.p']\n",
"print('Mass Fraction')\n",
"print(4*'%10.8f ' %(Wc_O2[0], Wc_H2O[0], Wc_Ar[0], Wc_N2[0]))\n",
"print(4*'%10.8f ' %(Wc_O2[n], Wc_H2O[n], Wc_Ar[n], Wc_N2[n]))\n",
"print('Mass Flow Rate '+2*'%10.8f ' %(Wc_w[0], Wc_w[n]))\n",
"print('Temperature '+2*'%10.8f ' %(Wc_T[0], Wc_T[n]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"空気の質量分率、質量流量、温度をプロットします。"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADwAAAAADIn4SfAABAAElEQVR4AezdB5zcxNnH8TE27rhgbIoLR2iG0Gx6PwKhhh4IJQQTekIPLZQ3EHhDMy0klJeATTW9E0I/THfovXO4Um0M7u3e5y/vLHN72nZ369td/ebzeayRNBpJX+3Z6+dGknMUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA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9xRYJVU+telWqWj8xGbfgikCCCCAAAIIIIBARQr424CVtHv8cX11dNFou0JPRgkqextt1PzPf/5z9MIHe+Nv9PxAexttuht7Q266nq2iJJmSj3pphG7pnThxYlT3z3h79dVX3eGHHx67uW45Pu2005y9Udh9//330TEde+yxTi+hsLcDR6MAX3/99dhty2XhtddeGx2KXvKhZ+j99re/dauuuqpTojYc5ZbNUi9j8UV2bVXCW3L9S1qyHctXX32VXhVul15IBQEEEEAAgTwCJAB/AlICb1eLQRa/tdDtvdekQnU94EXr1EZtKQgggAACCCCAAAIJEdh6662j58zNmzfPKXTL5rbbblvw2b/77rvptvvss0+6nll55ZVXMhflnddtrHqm34svvuiGDh0atX/ooYea3Pqa2ZFuKd50002d3oh76623Rqs10kzPOiznopemqGhUZpg8DY95wYIFLlsis1u3bm6VVVaJmo8erZt3ii/5RuwV0qOOQW9+Vnn55ZdzbjJmzJj0+jXWWCNdp4IAAggggEChAiQAm0pNtEX6BnSahV72oVD9FgutoyCAAAIIIIAAAggkTECj7nQLrxJOCo06K+R2Vc+kpKEvM2boaTLxpSW34Cqhp+cAqmh/GuFXaFGC05fwGXl+WblMldjzt0nncrzzzjvdd999l/Wwd95552idRmbq1ulii0ZMquhNzs0t6kMJWJV///vf0ZuMs/Wl0Z4qShhuvvnm2ZqxHAEEEEAAgawCJACdG5hVJ/+K/fI3oQUCCCCAAAIIIIBANQhccMEFTs/rUwwfPryoU1p55ZXT7W+44YZ0PaxcddVVTm+2zVaeffbZ6JbfbOvnzJnjnnnmmWi1boft27dvuqmemRcmIdMrUhXd2uzLCius4KtlN9Utvv65h7LSy1gyy4cffuiOOeaYzMWN5rXeJ/EOPvhgp22ylfHjxzdZ5V8eoucntqT88Y9/jDbXZ0rHEXeNrrzyyvR11ejR8BbmluybbRFAAAEEkiXAW4Cd00Nc9Ku37L8ijP9M6I3A+lWcRgtSEEAAAQQQQAABBBDIKjBkyBCnWzffeecdp0SfRufphR1KJI0bNy56qYVuvdWIMD3XLq7ouX3nnHNONAJsp512cmuttVaU5NMLQD766COn0YOvvfZatOkhhxziOnT46au+Ri+eeOKJTm803mSTTaIk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ZH329tlnn7wd6e9V/3dyZmO+Q2SKMI8AAoUI6IUkUy38SL7M6Ye2bqUsHdUG242MaROuz+w3nJ9u2x4Ws31rLdIt1dH+xo0b10BBAAEEKl3go48+anjvvfcaNKUseoFrr722oU+fPuG/Y7H11VdfvcESIrEH+PXXXxfUhyVDGi677LLYPliIQC6Bp59+Ov25/Mtf/pKraXqd2vnvTNo+LFtssUV6nW8TNz3ggAMaZs+eHW4aW58yZUqD2tp/bnP2q/W//e1vG9SegkBLBQ499NBGn7eDDz64pV2yPQIFCYR/J+vvTv3d9tZbb+Xc9sADD0x/XsOGi/I7RHO+c+r/3MG/D/q/OCWBAhplRik/gQftkNay0GjAnSz0AzrH4hOLOy3+YTHDojlFzzX8rcXGFhr1t6zFUhb6LEyxeNfiSYt/WXxtQUEAAQQQQKCsBTRab/jw4dExdujQIfoN/i677OKWX355N2fOHPfhhx+6UaNGuSeffNJZktZts8027uabb3a//vWvG52XJUjcd999Fy1bZ5113K677uo23HDDaOSTRhc+8sgj7oorrnCzZs1yxx13nOvSpYs77LBS/q6s0eExg0ATgQkTFt6ksdxyy7m99torGrU6aNCgaKTriy++6C6++GKnNjfddJPTyJRbb721SR9+wcSJE93222/v3n777WjRgAED3EEHHeQ222wzt9RSS0U/G88//7y7/vrrnf1HMvoZ0kjBRx991C27rL5OUhAoXkB/7955p/5746KRq9OmTYvm9Xet/o6lILAoBSyh5+yXLu6ee+4perd8hyiajA0QaBMB3QvUnNAIuYkWekHGBRY/t6AULqCkZvRbCEYAhr87oo4AApUq0JzfxlbquZbTcf/jH/9I/0bbbn9ssFsTsx7ebbfd1qDRe/r3R9PXX3+9Udvx48c3/PKXv2ywxEmj5eHMSy+91GD/KY36sNuLG3744YdwNXUEcgqEo01aYwTgTjvt1GC3tjdYci92v998802D3QKf/hmxWytj282dO7dh4403Trfbb7/9Gn788cfYtpagadB6/z1uk002ybr/2A5YiEAgoM+v/yxdd9116br90iZoRRWB0giEfyfbLzrSn79XX3016w6zjQBclN8hmvOdkxGA9jcNxfEMwIVvum1nn4ViQ7+SWsZic4sTLd6yuMaikwUFAQQQQAABBEos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097dOrk+3TuV7fFxYAgggAACCCCAAAIIIIAAAghUqsBM+z83BQFuAeYzgAACCCCAAAIIIIAAAggggAACCCCAQBULkACs4ovLqSGAAAIIIIAAAggggAACCCCAAAIIIEACkM8AAggggAACCCCAAAIIIIAAAggggAACVSxAArCKLy6nhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAghUsQAJwCq+uJwaAggggAACCCCAAAIIIIAAAggggAACJAD5DCCAAAIIIIAAAggggAACCCCAAAIIIFDFAiQAq/jicmoIIIAAAggggAACCCCAAAIIIIAAAgiQAOQzgAACCCCAAAIIIIAAAggggAACCCCAQBULkACs4ovLqSGAAAIIIIAAAggggAACCCCAAAIIIEACkM8AAggggAACCCCAAAIIIIAAAggggAACVSxAArCKLy6nhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAghUsQAJwCq+uJwaAggggAACCCCAAAIIIIAAAggggAACJAD5DCCAAAIIIIAAAggggAACCCCAAAIIIFDFAiQAq/jicmoIIIAAAggggAACCCCAAAIIIIAAAgiQAOQzgAACCCCAAAIIIIAAAggggAACCCCAQBULkACs4ovLqSGAAAIIIIAAAggggAACCCCAAAIIIEACkM8AAggggAACCCCAAAIIIIAAAggggAACVSxAArCKLy6nhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAghUsQAJwCq+uJwaAggggAACCCCAAAIIIIAAAggggAACJAD5DCCAAAIIIIAAAggggAACCCCAAAIIIFDFAiQAq/jicmoIIIAAAggggAACCCCAAAIIIIAAAgiQAOQzgAACCCCAAAIIIIAAAggggAACCCCAQBULkACs4ovLqSGAAAIIIIAAAggggAACCCCAAAIIIEACkM8AAggggAACCCCAAAIIIIAAAggggAACVSxAArCKLy6nhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAghUsQAJwCq+uJwaAggggAACCCCAAAIIIIAAAggggAACJAD5DCCAAAIIIIAAAggggAAC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+ht0/5Ml4O/GZMlqd5AF/L0Y5Lfn3idTwN+NydTV9qAK+HsxqG/OfU97gT3iCe+IqJJwrctM/uVEIe3KTrGzqj+3XYXGvhxK/L8RVd12y6/E8ckaJu4XUONFWBCoCfh7UcOwSqAm4O9GDcMqgYaAvxd+FAi0F/B3o72LvcMt4O/FcL9/T9/nAhvE/X06IpN9d0fcFpHDct8VsUJEp7JTHKiSeXM7Vartf26s57cHc6KP+xrL3H5OhEKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECiyWw1GKd5SQCSy6wfDSxZaOZm2P54JI3qQUCBAgQIECAAAECBAgQIECgRWBGbK/R2HdZLO9rOW5zCASWGYJn9Ij9KZDJvwv789bcFQECBAgQIECAAAECBAgQmJYC28VTXTQtn8xDjSqw9KhHHSRAgAABAgQIECBAgAABAgQIECBAYKAF9AAc6Nc30Defw37LcsEFFxRrr712tWlJgAABAgQIECBAgAABAgQITJDADTfcUGy//fZVa81/i1c7LIdDQAJwON5zPz5l85t/mfybM2dOP96jeyJAgAABAgQIECBAgAABAtNJoPlv8en0UJ5lbAFDgMc2UoMAAQIECBAgQIAAAQIECBAgQIDAwApIAA7sq3PjBAgQIECAAAECBAgQIECAAAECBMYWkAAc20gNAgQIECBAgAABAgQIECBAgAABAgMrIAE4sK/OjRMgQIAAAQIECBAgQIAAAQIECBAYW0ACcGwjNQgQIECAAAECBAgQIECAAAECBAgMrIAE4MC+OjdOgAABAgQIECBAgAABAgQIECBAYGwBCcCxjdQgQIAAAQIECBAgQIAAAQIECBAgMLACEoAD++rcOAECBAgQIECAAAECBAgQIECAAIGxBSQAxzZSgwABAgQIECBAgAABAgQIECBAgMDACkgADuyrc+MECBAgQIAAAQIECBAgQIAAAQIExhZYZuwqahAgQIAAAQIECBAgQGBwBO69997i9ttvL+65557iwQcfHJwbd6cECBBoIzBjxoxihRVWKB72sIcVM2fObFPDLgJjC0gAjm2kBgECBAgQIECAAAECAyAwMjJS3HDDDcUdd9wxAHfrFgkQINCdwAMPPFDcd999xW233Vasssoqxdprr10stdRS3Z2sFoGGgASgHwUCBAgQIECAAAECBKaFwD//+c9Fkn/LLOOfPNPi5XoIAkMskAnAquR/4FhuueWK1VdfvdplSaArAf9r2BWTSgQIECBAgAABAgQI9LPA/fffX9x8883NW1xzzTXL4XI5dE4hQIDAIAvkpwzyswY33XRT+Rj5u27llVcuE4GD/FzuvbcCJgHprberESBAgAABAgQIECAwCQLz589vtrraaqsVGZJ/TRIrBAgMsED+Lqt+r1WPUf+dV+2zJDCagATgaDqOESBAgAABAgQIECAwEAJ333138z6zZ4xCgACB6SZQ/91W/5033Z7T80yOgATg5LhqlQABAgQIECBAgACBHgrkEOAs+WH85ZdfvodXdikCBAj0RiB/t1WTf1S/83pzZVeZDgISgNPhLXoGAgQIECBAgAABAkMusHDhwlIgh8pV/0AechKPT4DANBPI323Vpw2q33nT7BE9ziQKSABOIq6mCRAgQIAAAQIECBAgQIAAAQIECEy1gATgVL8B1ydAgAABAgQIECBAgAABAgQIECAwiQISgJOIq2kCBAgQIECAAAECBAgQIECAAAECUy0gATjVb8D1CRAgQIAAAQIECBAgQIAAAQIECEyigATgJOJqmgABAgQIECBAgAABAgQITKTAoYceWk50Y7KbiVTVFoHpLyABOP3fsSckQIAAAQIECBAgQIDAhAr87Gc/ayahMhG10korFffcc8+Y11iwYEGxyiqrPOTcbGuYyty5cx/y/Ok3Wgybz9VXX93RY/nlly/WWmutYueddy4+/vGPF7fccssw/eh4VgJLJCABuER8TiZAgAABAgQIECBAgACB+fPnFyeffPKYEKecckpx5513jllPBQLtBO6///7iH//4R3H22WcX//Vf/1VsvvnmxY9//ON2VSd034YbblgmJffdd98JbVdjBHopsEwvL+ZaBAgQIECAAAECBAgQIDC9BGbOnFnce++9xde//vXila985agPl3WyVOeMWnkIDn74wx8uXvCCF4z6pI985CNHPT6dD6ZNGlUlk8dXXXVVcdRRRxUXXXRR2QPwRS96UfH73/++2GCDDapqlgQItBGQAGyDYhcBAgQIECBAgAABAgQIdCfw/Oc/v/j2t79d/OhHPypuvPHGcohmuzNvuumm4qyzzioPZWLnhBNOaFdtqPatu+66xWMf+9iheubxPOzDHvawRXye/OQnF/vss0+RvfG+9rWvFdn79PDDDy+OPPLI8TStLoGhEzAEeOheuQcmQIAAAQIECBAgQIDAxAk8+9nPLpN+Dz74YHH88cd3bDiPPfDAA8UjHvGI4lnPelbHeg4QGEsgv5lY7xmYyWeFAIHRBSQAR/dxlAABAgQIECBAgAABAgRGEZgxY0bxile8oqxRDfFtVz17a2XJYcJ5zlglh3VmkmfXXXct5syZU+QEECuuuGKxySablD3AfvWrX43VRHH99deX34rbeuuty8lHlltuuTJZueWWW5b3nBNydPom4fe+973ihS98YfPaOdHJox71qOKpT31q8f73v7+44IILxrz+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IECAAAECBAgQIECAAIFhE5huCcB8fyPD9hI9LwECBAgQIECAAAECBAgQIECAAIFOAtPpG4DVM54VK/+qNiZouewEtaMZAgQIECBAgAABAgQIECBAgAABAj0VmG4JwByiW03W0VNIFyNAgAABAgQIECBAgAABAgQIECDQjwLTKQF4XD8CuycCBAgQIECAAAECBAgQIECAAAECUykwnRKAr51KSNcmQIAAAQIECBAgQIAAAQIECBAg0I8C03ESkH50dk8ECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAAnBK2F2UAAECBAgQIECAAAECBAgQIECAQG8EJAB74+wqBAgQIECAAAECBAgQIECAAAECBKZEQAJwSthdlAABAgQIECBAgAABAgQIECBAgEBvBCQAe+PsKgQIECBAgAABAgQIECBAgAABAgSmREACcErYXZQAAQIECBAgQIAAAQIECBAgQIBAbwQkAHvj7CoECBAgQIAAAQIECBAgQIAAAQIEpkRAArC37GvG5XaPOCzijIhbIkYaMTeW3ZR9o1J1zljLrDtWWSEqvDPigohbI+ZHXBlxeMT6EQoBAgQIECBAgAABAgQIECBAgMAACywzwPc+iLf+jz676Y3ifk6LeHTLfW0W2xn7R7wy4vQIhQABAgQIECBAgAABAgQIECBAYAAFJACn7qVdG5fOnnbPXoJb2DXOvX6U8+eNcmzFOHZqRJX8+3KsfytiQcQzIt4TsUrEiRE7RPwuQiFAgAABAgQIECBAgAABAgQIEBgwAQnA3r6wHPp7YSOyN+CGEX+LWNxyVZx49WKe/I44L3v5ZXlXxCfLtX//cX4szo44NyKHCH82YucIhQABAgQIECBAgAABAgQIECBAYMAElh6w+x302/1gPED2upvqocDLxj28tYGZvRA/1VivLzIJ+L+NHdkjcJv6QesECBAgQIAAAQIECBAgQIAAAQKDISABOBjvaaLvcqdo8GGNRo+L5cLGeutibm3HnrV1qwQIECBAgAABAgQIECBAgAABAgMiIAE4IC9qgm/zqbX2zqmtt65eFDvubuzcsfWgbQIECBAgQIAAAQIECBAgQIAAgf4XkADs/3c02h3OjYM5nPj+iFsifhXx4Yh1I0Yrm9cO/qG23rr6QOz4S2Nn/ZzWerYJECBAgAABAgQIECBAgAABAgT6VMAkIH36Yrq8rafX6q0W6xlPjHh7xEERX4poV9Zr7Mzefbe3q1Dbl7MVPy5ijYjlI+6L6KbMGaPSWmMcd5gAAQIECBAgQIAAAQIECBAgQGACBCQAJwBxCpr4a1zzuxE5UUcm6LI8KuLFES+JmBnxxYiRiGMiWstKjR3zWw+02a6GAOehFSO6TQBW99WmSbsIECBAgAABAgQIECBAgAABAgR6JSAB2CvpibvO96KpnLgjk3v1cmFsnBCxe0QmB3Om389EfD/ixoh6yQRhlhw6PFapJ/xmjVXZcQIECBAgQIAAAQIECBAgQIAAgf4S8A3A/nof3dzNHVGpNflXP+/U2PhQY8cKsdyvfrCxfm9juVybY627cthvVRZUK10sc5jxaLFdF22oQoAAAQIECBAgQIAAAQIECBAgsIQCEoBLCNinp3857qtKEj69zT3e1diXQ3rHKrNrFboZMlxVnxcro0Vrr8TqPEsCBAgQIECAAAECBAgQIECAAIEJFJAAnEDMPmrqpriXnBU4S7sZgTMxlyWTew8r1zr/UU0YcnNUqQ8H7nyGIwQIECBAgAABAgQIECBAgAABAn0jIAHYN69iwm9kqVFavKJ2bLPaeutqfiNyo8bOK1sP2iZAgAABAgQIECBAgAABAgQIEOh/AQnA/n9Hi3OHa8ZJqzVOvL5NA+fV9rUbIlwd3jZWqiHAv6h2WhIgQIAAAQIECBAgQIAAAQIECAyOgATg4Lyr8dzp66Jy1QPwnDYn/iz25WQiWfaJqOqWO2p/7Ftbz9mHFQIECBAgQIAAAQIECBAgQIAAgQETyCGeyuAIbBi3umrEb0a55d3j2Psbx3O232Pb1L0/9n0uIuttHvGOiE9G1MsOsVHNIJxJxAvrBydgfUbVxg033FCtWhIgQIAAAQIECBAgQIAAAQITKNDyb+7mv8Un8BKaGgABCcDevqQd43Ib1y65em099+9b287VuS3bG8b22RHnR/wg4tKInPAje/A9KuIljah69GVi77qIdiUTfi+L2DTiExF5/W9FLIh4RsR7I/LnI7cPipjoskbV4Pbbb1+tWhIgQIAAAQIECBAgQIAAAQKTJ5D/Fv/75DWv5X4VqBJF/Xp/0+2+5sYD5ZDbbkvr+9kpTswE4FjlnqhwcMQxY1TMpN/pEZt0qHdn7H9VxKkdji/J7ufGyactSQPOJUCAAAECBAgQIECAAAECBMYl8LyonXkAZcgEsoeXMjgCF8et7h2Rw3O3jVg7YvWIfI+3RVwe8ZOIr0Rkz8Cxyp+jwhMi3hSxV0QmBJeLuDYifyEcETFZ/2XgD9F2VZ4UK516KlZ1LAkMg8Ba8ZDVcPvtYv3GYXhoz0igCwF/N7pAUmXoBPy9GLpX7oG7FPB3o0so1YZKYN142l81nvgPQ/XkHpYAgSkXmBN3MNKIXFcIECgKfy/8FBBoL+DvRnsXe4dbwN+L4X7/nr6zgL8bnW0cGV4Bfy+G9903n9wswE0KKwQIECBAgAABAgQIECBAgAABAgSmn4AE4PR7p56IAAECBAgQIECAAAECBAgQIECAQFNAArBJYYUAAQIECBAgQIAAAQIECBAgQIDA9BOQAJx+79QTESBAgAABAgQIECBAgAABAgQIEGgKSAA2KawQIECAAAECBAgQIECAAAECBAgQmH4CEoDT7516IgIECBAgQIAAAQIECBAgQIAAAQJNAQnAJoUVAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBkCaweDb8r4hcRN0bcF3F9xK8jPhmxQ0S7slPsHOkyDo16Y5VlosLrI86NuDliQcSfI74YsUWEQoAAAQIECBAgQIAAAQIECBAgQIDAOAX2ivq3RIyWyDu5Q5s7jXFevc1DO7RR7V4tVn4VUT+nvn5vHPuPqrIlAQIECBAgQIAAAQIECBAgQIDAYApkDzCldwKviUsdG7F0xE0RR0ecF3FrxFoRG0XsEfGviLFKJucuHKVStt+pzIgD3414YqNCrn85Iu8j9x0SsWbEMRHXRZwZoRAgQIAAAQIECBAgQIAAAQIECBAgMIrA5nEse9VlL7sccrtKRKeyXIcDO8X+qpderi9u2TdOrNo5qk0jG8e+Oxp1roqlRHEbJLsIECBAgAABAgQIECBAgAABAgQI1AV+HBuZdMtv7eU3ABen7BQnVYm7XF/ccnmcmO1kj78VOjTyX406We/FHerYTYAAAQIECBAgQIAAAQIECBAg0OcCenb15gVtFpd5ZuNSn49lfgNwqsomceFqgo8TYv2eDjcyN/Z/tHFsz1ie1FifqMXy0dCWjcYyKfrgRDWsHQIECBAgQIAAAQIECBAgQKApkJ8BW6OxdVkscyJSZcgEJAB788Jz4o+qnFitxHLViOwNmD3x/hnRi/LU2kXOqa23rubsxDn8d9OIHVsPTsB2Jv9G+4bhBFxCEwQIECBAgAABAgQIECBAgEBNYLtYv6i2bXVIBHIyCmXyBZ7UuER+V+/KiFdF/DYiE3+ZZMse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QIAAgW4FJAC7lVKPAAECBAgQIECAAAECBAgQIECAwAAKSAAO4EtzywQIECBAgAABAgQIECBAgAABAgS6FZAA7FZKPQIECBAgQIAAAQIECBAgQIAAAQIDKCABOIAvzS0TIECAAAECBAgQIECAAAECBAgQ6FZAArBbKfUIECBAgAABAgQIECBAYMoFrr766mKppZZa4pjyB3EDBAgQ6KGABGAPsV2KAAECBAgQIECAAAECBAgQGL/A7bff3kz6fvaznx1/A84gMOQCywz583t8AgQIECBAgAABAgQIEBgggXXXXbe47LLLOt7xrrvuWlx//fXFOuusU5x55pkd6zlAgACBYRKQABymt+1ZCRAgQIAAAQIECBAgMOACyy67bPHYxz6241Pk8Sxj1evYgAMECBCYhgKGAE/Dl+qRCBAgQIAAAQIECBAgQIAAAQIECFQCEoCVhCUBAgQIECBAgAABAgQIDK3AD37wg+LlL395scEGGxSzZs0qHvawhxVbb711ccghhxS33HJLR5eDDjqo/DZd1s/yz3/+s3jve99bbL755sXs2bOLtddeu3jhC19YXHzxxQ9p47rrrive+c53FptttlmxwgorFGussUax1157FVdcccVD6tU38tt31QQo+U28u+++u/if//mf4vGPf3yx0korlfe84447Fv/7v/9bjIyM1E9tu75w4cLiG9/4RvH85z+/yKHVyy+/fPHwhz+8ePKTn1x8/OMfL+bPn9/2vNyZz5T3stVWW5V1/v73vxdve9vbyudZccUVy2OXXnpp8/w0POaYY0rjfOa0yevlUO3nPe95xde+9rXigQceaNavr6Ttqquu2tx18MEHNx0qj3wPVWl1qva3LvP+qvNPPvnk1sPjfsaqgZtuuqn4wAc+UGy33XbFaqutVj5n+r74xS8uTj/99KqaJYGeChgC3FNuFyNAgAABAgQIECBAgACBfhLIRNrLXvay4qyzznrIbd17773Fb37zmzK+8IUvFN/5zneKnXfe+SF1Wjeuuuqq4tnPfnaRybCq3HPPPcUpp5xSnHHGGeVyt912K379618Xe+yxR3HzzTdX1YoFCxaU1/jhD39Y/OQnPym233775rF2KzfccEPxkpe8ZJGE4S9+8Ysi48QTTywyqTVz5sx2pxfz5s0rXvCCFxSXXHLJQ47ff//9xfnnn1/GUUcdVZx66qnF4x73uIfUad3I+83k1h133NF6qLm98cYbtz2ez5GRibFMEH7/+98vk5DNE/tkpZtnzFv99re/Xey3336LJE/zu5Tf/e53y8ift7lz53Z8N33yyG5jmglIAE6zF+pxCBAgQIAAAQIECBAgQKA7gUx2PetZzyouuuiiYsaMGcWrX/3qsjdc9gLMBOAvf/nL4tOf/nSZoMpeclkve6+1K9l7LZNgt912W3HooYcWz3zmM8ueXz/96U+Lww47rMhE4Gte85pm8i97nn3yk58snvKUp5S90LIHYtXrbt999y1+//vfF0sv3XnQ3j777FNceeWVRdZ9xSteUfY0y96D2WZOkpIToLzuda8re9a13m/e41Of+tTi6quvLns7HnDAAWXiMnvj3XXXXUXec/aiu/baa4tMWGZPuTXXXLO1mXI7e/ZlQiufJ59zp512Kp87k6fZm7Aq2dswr/nc5z637LGY7aXJ3/72t+LYY48tfvazn5WJy9e+9rVlorQ6L5eZkMxEbfZMzPLud7+72Hvvvcv16o/VV1+9Wp3wZbfPeNJJJ5U9HLP35aabblq84Q1vKLbddtsie0Rec801xde//vUi65xwwgllD8jsqakQIEBgugvMiQfMPukj8T8q8ftRIUCAAAECBAgQIDD4AtEDbCSSMCO57FQefHDhyC133Ts0kc/byxLJu/LfGbkcq8Tw3rJuDMEdOeecc9pWv/HGG0ce+chHlvV23333Req89a1vLY/lv21iGO5IJN8WqfN///d/zTox1Hdkzpw5bf8dFMN5m/UiCbdIO5/5zGeax/N60TNxkTrRk3AkEmXNej//+c8XqRPJs/J4JOFGLr/88kWO544//OEPI5HAK+u9+c1vXqRO9B5sXiOGuY788Y9/XKROfcdofyeyXiRam+1ForV+arkeScvm8XQYrdSd8rxOJZKUzTa/973vLVJtPM8YScKRVVZZpWxvzz33HLnvvvsWaS93fOITn2hes91ztj2ptrOb3zG16uVq/pu7+vd3LPPf4soQCugBOIQv3SMTIECAAAECBAgQIDB1Arfdc3+xzYd/PHU30OMrX3zILsVqKy7f46uOfbn8vt2RRx5ZVsweZU972tPanvSIRzyi/M7eK1/5yuK0004r8vtunXrD5bf/2s1QnD3k3vKWtxS33nprOez3W9/6VhFJwEWulz3G8puDkbUpInFXPOMZz1ikTrUjv/X3xje+sdpsLnPIb/Ys22KLLcp2jj766CLrViWHJx9//PHlZvYWzHrtyqMf/ejiHe94R/k9w/w+X/YIzF6S7coHP/jBssdbu2PVvk022aRabbvM7/rl+8gegTl0eZtttmlbb6p2jvWM6ZxDoPN7hdmjcbnllmt7q2n61a9+tYgEa1mv356z7U3bOS0EOvcnnhaP5yEIECBAgAABAgQIECBAgMCiAtHjr/lNupe+9KWLVqjtqZKDmZjL7/d1KjmJSLuSibPHPOYx5aFMDOUEGu1KDpmtEoN//etf21Vp7suhsp1KDlOuhsvmt+vqJb/p9+CDD5bDi3PI8mileu4777xzkW8N1s/L5Oh4Sjrmd/+i12A51DmHO2dUz/7b3/52PM31pO5Yz5jfecyy6667FiuvvHLHe8qh0lVCNoc2KwR6JaAHYK+kXYcAAQIECBAgQIAAAQIE+kYgv+dXlZyxt9sSQ4LbVl122WWLDTfcsO2x3FnNEpzfF8zZbzuVrJff3stv8Y1WcobZ0UpOIpKTgfzjH/8oex3mLMNZqufOb/Llt+m6LfncW2655SLVc3bbnOm2m5ITqXz5y18u7ytnMO5U8pt7/VTGesZMqFYzHuf3/TK6KZ1+lro5Vx0C4xWQAByvmPoECBAgQIAAAQIECBAgMPACOZR3cUpOXNGuxHcE2+1u7qsm9Oi2XiaVRiudhiFX5+TQ5ark0OMqATjRz73qqqtWl+m4zAlSsgddzkzcTckZkfupjPWM6ZvPON7S6WdpvO2oT6AbAQnAbpTUIUCAAAECBAgQIECAwAQJrLrCckV+F29YSj5vP5Z6gu3iiy/u+M221ntfe+21W3dNyXYOJR2t5DDbdqV67uy1lzPvdluy52K70um7gPW6RxxxRDP598QnPrE48MADi+zBmJaZEK2SoznTcs6G3One6232cn2sZ6xM857222+/4qCDDurq9sZqt6tGVCLQpYAEYJdQqhEgQIAAAQIECBAgQGAiBJZeeqm+nBRjIp5tkNqoD1udNWtWMZ5hwP3wnDm0d7RegPWefvltwapUzx2z4xYxu3Exe/bs6tCkLXPYb5bHPe5x5eQmOVy6Xcl7mohSJRSzrRzq3KmMNgy50znt9td9c+h2u4lg2p1nH4FeCpgEpJfarkWAAAECBAgQIECAAAECfSHwhCc8oXkfZ511VnN9UFYuvPDCUW+1Op5Jwmr4b55QPXcmxn7848mfjTqHxl511VXlvb7kJS8pOiX//vWvfxWjTf4xVo/HOsZKK63U3BwtqZiTkExEyYldqklezj777MUaDjwR96ENAqMJSACOpuMYAQIECBAgQIAAAQIECExLgV122aUcfpoPd+SRRxb33nvvQD3ncccd1/F+M+GWE4Bkyeeslz322KOokmmHH374pA+3zeGx1ZDe0b55981vfnPUiU9mzpzZfIz77ruvud5uJXs2VqWa9KTari+PP/74+uYSrefw5Sw333xzceyxxy5RW04mMBkCEoCToapNAgQIECBAgAABAgQIEOhrgZxt981vfnN5j3/5y1+K17zmNcVoiaXsSfbFL36xb57p3HPPLY455phF7iefYf/9928m3d74xjc+pM6jH/3oYq+99ir3nXfeecXBBx886jDZ6667rhgt2fiQxtts5IzH6623XnnkpJNOKtoNu/39739fvO1tb2tz9v/fle1Uk3Hk+xqt5PcFq8lW8vuD7SboyHc5kT0g3/rWtzZnVc5nyfczWvnJT35SXHDBBaNVcYzAhApIAE4op8YIECBAgAABAgQIECBAYFAEDjvssCInpciSM9TmMM7sFZfJm0svvbQ455xzyqTfS1/60mLdddctj/XLs2277bbFG97whnLSiUxkXXLJJcU3vvGNYvvtty+/s5f3+epXv7rYcccdF7nlo48+unjUox5V7s8E2TbbbFMcddRRZa/B3/zmN8VPf/rT4nOf+1yx++67FxtuuGHx9a9/fZE2xrMjk6tZ/vSnPxVPfvKTy/ZyiHJOQvLe9763eNKTnlTkEOAtt9xy1Gbz3CzZc2/u3LnF5ZdfXvz5z38u45Zbbmmem981rK55/vnnF7vttltx2mmnFflsp556avGqV72qyMToDjvs0DxnSVdy1uVMlGbvyvnz5xc777xz6Z9Jz5xkJp/3lFNOKQ455JBiiy22KHtmVkOjl/TazifQjYBJQLpRUocAAQIECBAgQIAAAQIEpp1A9ir70Y9+VLz2ta8tMlGTPcve+c53dnzOlVdeueOxXh/42te+Vrz4xS8uvvrVr5bRev1dd921bQ/BrJeTVuQQ4Ze97GXNZGfVG7K1ndxe0ud+3/veV+S38X75y18Wv/vd75rJuepa+c2+E044ofjS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USVAgAABAgQIECBAgAABAgQIECBA4FcCy9YB+JpfNc0YAQIECBAgQIAAAQIECBAgQIAAAQJDeQuwI02AAAECBAgQIECAAAECBAgQIEBgkAI6AAd52DWaAAECBAgQIECAAAECBAgQIEBgKALLdAvwNZuDdnKG5/V8APdKfQc3dZ7Uc92qI0CAAAECBAgQIECAAAECBAgQILBmAst0BeBKlL6V3GANtG6YOleSql8hQIAAAQIECBAgQIAAAQIECBAgsDACy9QBWOh7rLH8Wte/xruvegIECBAgQIAAAQIECBAgQIAAgaEJLFsHYB2/C4Z2ELWXAAECBAgQIECAAAECBAgQIECAwCSBZXoGYNvGD2bknHaip+HePdWjGgIECBAgQIAAAQIECBAgQIAAAQIzFVi2DsC6Rbd9WcdMIW2MAAECBAgQIECAAAECBAgQIECAwDwKLFMH4GvmEdg+ESBAgAABAgQIECBAgAABAgQIEFhPgWXqAHzEekLaNgECBAgQIECAAAECBAgQIECAAIF5FFjGl4DMo7N9IkCAAAECBAgQIECAAAECBAgQILAuAjoA14XdRgkQIECAAAECBAgQIECAAAECBAjMRkAH4GycbYUAAQIECBAgQIAAAQIECBAgQIDAugjoAFwXdhslQIAAAQIECBAgQIAAAQIECBAgMBsBHYCzcbYVAgQIECBAgAABAgQIECBAgAABAusioANwXdhtlAABAgQIECBAgAABAgQIECBAgMBsBHQAzsbZVggQIECAAAECBAgQIECAAAECBAisi4AOwHVht1ECBAgQIECAAAECBAgQIECAAAECsxHQATgbZ1shQIAAAQIECBAgQIAAAQIECBAgsC4COgDXhd1GCRAgQIAAAQIECBAgQIAAAQIECMxGQAfgbJxthQABAgQIECBAgAABAgQIECBAgMC6COgAXBd2GyVAgAABAgQIECBAgAABAgQIECAwGwEdgLNxthUCBAgQIECAAAECBAgQIECAAAEC6yKgA3Bd2G2UAAECBAgQIECAAAECBAgQIECAwGwEdADOxtlWCBAgQIAAAQIECBAgQIAAAQIECKyLgA7AdWG3UQIECBAgQIAAAQIECBAgQIAAAQKzEdABOBtnWyFAgAABAgQIECBAgAABAgQIECCwLgI6ANeF3UYJECBAgAABAgQIECBAgAABAgQIzEZA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M6ny5OS0nWO+ECBAgAABAgQIECBAgAABAgQILJzAHgu3x4u9wzfK7tftwNeb0oxXZdljk/aW4XGrPi0z/zaZdPzem2X3T85MJpV9suAtye9MWOH8zH9GsnXC8ks7u2493l6VbN++fcOmTTWpECBAgAABAgQIECBAgAABAn0K7NixY8PmzZvbKmtkRzthOBwBVwDO9ljXG3nrKr8nJHX1Xl3RVy/kqJPvjcmdkkcm0zr/snhDXU14++R1SXWiVR3fS+oKwIck90imdf5l8YYzmvUemmF9rj5f9VR9VW/VvzVRCBAgQIAAAQIECBAgQIAAAQIEFlhg0hVkC9wku74gAq4AXJADZTcJECBAgAABAgQIECBAYHEFXAG4uMeuzz13BWCfmuoiQIAAAQIECBAgQIAAAQIECBAgMGcCOgDn7IDYHQIECBAgQIAAAQIECBAgQIAAAQJ9CugA7FNTXQQIECBAgAABAgQIECBAgAABAgTmTEAH4JwdELtDgAABAgQIECBAgAABAgQIECBAoE8BHYB9aqqLAAECBAgQIECAAAECBAgQIECAwJwJ6ACcswNidwgQIECAAAECBAgQIECAAAECBAj0KaADsE9NdREgQIAAAQIECBAgQIAAAQIECBCYMwEdgHN2QOwOAQIECBAgQIAAAQIECBAgQIAAgT4FdAD2qakuAgQIECBAgAABAgQIECBAgAABAnMmoANwzg6I3SFAgAABAgQIECBAgAABAgQIECDQp4AOwD411UWAAAECBAgQIECAAAECBAgQIEBgzgR0AM7ZAbE7BAgQIECAAAECBAgQIECAAAECBPoU0AHYp6a6CBAgQIAAAQIECBAgQIAAAQIECMyZgA7AOTsgdocAAQIECBAgQIAAAQIECBAgQIBAnwI6APvUVBcBAgQIECBAgAABAgQIECBAgACBORPQAThnB8TuECBAgAABAgQIECBAgAABAgQIEOhTQAdgn5rqIkCAAAECBAgQIECAAAECBAgQIDBnAjoA5+yA2B0CBAgQIECAAAECBAgQIECAAAECfQroAOxTU10ECBAgQIAAAQIECBAgQIAAAQIE5kxAB+CcHRC7Q4AAAQIECBAgQIAAAQIECBAgQKBPAR2AfWqqiwABAgQIECBAgAABAgQIECBAgMCcCegAnLMDYncIECBAgAABAgQIECBAgAABAgQI9CmgA7BPTXURIECAAAECBAgQIECAAAECBAgQmDMBHYBzdkDsDgECBAgQIECAAAECBAgQIECAAIE+BXQA9qmpLgIECBAgQIAAAQIECBAgQIAAAQJzJqADcM4OiN0hQIAAAQIECBAgQIAAAQIECBAg0KeADsA+NdVFgAABAgQIECBAgAABAgQIECBAYM4EdADO2QGxOwQIECBAgAABAgQIECBAgAABAgT6FNAB2KemuggQIECAAAECBAgQIECAAAECBAjMmYAOwDk7IHaHAAECBAgQIECAAAECBAgQIECAQJ8COgD71FQXAQIECBAgQIAAAQIECBAgQIAAgTkT0AE4ZwfE7hAgQIAAAQIECBAgQIAAAQIECBDoU0AHYJ+a6iJAgAABAgQIECBAgAABAgQIECAwZwI6AOfsgNgdAgQIECBAgAABAgQIECBAgAABAn0K6ADsU1NdBAgQIECAAAECBAgQIECAAAECBOZMQAfgnB0Qu0OAAAECBAgQIECAAAECBAgQIECgTwEdgH1qqosAAQIECBAgQIAAAQIECBAgQIDAnAnoAJyzA2J3CBAgQIAAAQIECBAgQIAAAQIECPQpoAOwT011ESBAgAABAgQIECBAgAABAgQIEJgzAR2Ac3ZA7A4BAgQIECBAgAABAgQIECBAgACBPgU29lmZugjshsBe7bqnnnpqO2pIgAABAgQIECBAgAABAgQI9Cgw8n/uX/5fvMdNqGoBBPZYgH20i8spcKs06/PL2TStIkCAAAECBAgQIECAAAECcylw6+zVF+Zyz+zUmgq4BXhNeVU+ReCqU5ZZRIAAAQIECBAgQIAAAQIECPQv4P/i/ZsuRI1uAV6Iw7SUO3l8p1WHZfzkzrRRAkMVOCgNb6+Mrb/MfWeoENpNYETAuTECYpJABJwXvg0IjBdwbox3MXfYAgen+Z9pCI4fNsVwW68DcLjHfr1bfnZnB6rzb0dn2igBAhd2/jkvfCcQuLhAdYw7Ny7uYs6wBZwXwz7+Wj9ZwLkx2caS4Qp0/y8+XIUBttwtwAM86JpMgAABAgQIECBAgAABAgQIECAwHAEdgMM51lpKgAABAgQIECBAgAABAgQIECAwQAEdgAM86JpMgAABAgQIECBAgAABAgQIECAwHAEdgMM51lpKgAABAgQIECBAgAABAgQIECAwQAEdgAM86JpMgAABAgQIECBAgAABAgQIECAwHAEdgMM51lpKgAABAgQIECBAgAABAgQIECAwQAEdgAM86JpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWUOCa2efnJF9Pfp78KPlc8lfJ5ROFwJAErprG3jN5evK+5AfJBU22ZagQGKLALdLov07qnNienJWcnpyQbEvukCgEhiRwxTT2wclzk48nJyY/Sc5OvpcckzwxOSBRCBC4UOAfMmh/p6rhlgtn+0pgEALd7/1p48cMQkMjCRBYF4F7ZKs/Tib9I3R8ll1nXfbMRgmsj8Ckc6Hmb1ufXbJVAusqUJ0b086LdtnRWe8y67qnNk5gdgJ3yaba7/1pw+9nvSNnt1u2RGBuBW6WPTsn6Z4vW+Z2b+0Ygf4Fut/708aP6X/TapxXgY3zumP2aykF6gfxm5K6yq+u5PhfyceSfZL6q/ajkxsk70lundQ6CoEhCdSVTnVl7F2H1GhtJTAicHAzfUqGb04+mZyU7JXcNvnLpNZ5WFK/xzwkUQgMQaB+RtTvTV9MavzUZM9kU/KA5H7Jgck7k/o96quJQmCIAnVevDypnxF1hWzdbaEQGKrAi9PwF01pfN2RpxAgQKB3gfqltf76UH+Nq//EjZYnZEYtr/zd6ELTBJZU4GlpV90CfLWmfYdk2J4H25p5BgSGJPDuNPZBSXX4jSvVwfGNpD1P3A48Tsm8ZROYdD5023mfTLTnxVu7C4wTGJjA/0x761yoP6o+qxmv6S2JQmAoAu3Pg61DabB2EiAwPwL1l+j2H6GXTNit+mvdcc169VzAvSesZzaBZRY4JI1rz5Vty9xQbSNwKQSq07w9T/75UtTjowSWTaA6POrcqFuBFQJDFNicRv8sqfNgS7I1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BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAMga1p5gVNhtHiDRtWOm1u217z+iyHpLK27u5wW58bURcBAgQIECBAYB4F9pzHnbJPBAgQIECAAAECBAgQIECAAAECBAj0I6ADsB9HtRAgQIAAAQIEpgkclYXtVWeHTFtx4MvekfbfpMlde7Y4uVN3beOUnutXHQECBAgQIEBgbgU2zu2e2TECBAgQIECAwDAFtqbZlSGWH6fR/7FGDT9npO6aVggQIECAAAECgxBwBeAgDrNGEiBAgAABAgQIECBAgAABAgQIDFVAB+BQj7x2EyBAgAABAgQIECBAgAABAgQIDEJAB+AgDrNGEiBAgAABAusksCXbrWf/vbqz/W8389pnAtZwS2f51oy3yzqzfzm60izf1sy5RYb/kmxPzkhOTP4pOTDplttl4s3JScmZyTeTv0/2S1Yre2SFByRvTWo79fnTks8lf5tcOZlluVM29vqkLKvNv0hWks8kz0lquUKAAAECBAgQIECAAAECBAgQIEBgzQW2ZAttZ960Ya3Xlq0Zaddt53WHK83ybRk+LDmrmW4/0w6/kfkHJVX+Kjk/aZd1h1/M/H2TSeXXsuBTSfczo+PfyfLfnFTBLsxfyTpV57ZktVKdm6PbH53+wWqVZPlKU8+2DBUCBAgQIECAAAECBAgQIECAAAECl0jgCvnUoclTkraTqt5uW/O6qfXasjUj7brtvO5wpVn+5Qyr8+9rySOSWyV3TF6btJ//vxm/bzP96QwfktwyOTJ5T9Ku9+yMjyu1X8cltV5t6yXJvZPfSG6f/HVSnW21/EfJtZJLUlbyoapjWzKt3DMLa73KV5LHJocnN2+Gj8nwLUm98Xe1spIVdmWbq9VjOQECBAgQIECAAAECBAgQIECAAIENR8Wg7bg6ZBWPrZ11x6260ll+bMYvP2alNzXrnJvhD5PqFNsr6Zaark7B2q/qxNuYjJbnZ0Ytr7fzVgfjuHKtzDwlqfWq8/GSlJV8qD6/LZlWjs7CWm8l2TeZVK4yaUFn/krGd2WbnY8YJUCAAAECBAgspsCei7nb9poAAQIECBAgQCACj0rq+Xej5UXNjOrku1zyR8l5zbx2UNMvayYOyPDG7YJmeGCGVX+Vv0u+sHPs4l/+K7Oe0cz+vQzHdUhe/FOXbE57S/OX8vHTp1RRVyMqBAgQIECAAAECjYAOQN8KBAgQIECAAIHFFKhbYL8+Yde/2pn/oYxP6hCrOtpynXakGdZtwtV5WKWuKJxWPtEs3DvDusV4rcqpTcW/neF112oj6iVAgAABAgQILJuADsBlO6LaQ4AAAQIECAxF4IQpDa1bdtuyq+uNvg24e8tvdbzV7bKT8h/txjJsr9LrzOpt9Oimprpisbb5hqSef3i9RCFAgAABAgQIEJggoANwAozZBAgQIECAAIE5Fxh362+7y/XG37bs6np1u3C3XLU7sRvja3kL8EeyH49Lzkjq6sS65fhVyX8mO5J6ScnNEoUAAQIECBAgQKAjsLEzbpQAAQIECBAgQIBAK9B2CJ6dGbtzW291xK1leWEqf3PykOSI5LeSKyUHJ49J6nmHz0r+JlEIECBAgAABAgQioAPQtwEBAgQIECBAgMA4gXp7cJXLJDXePn+v5q13+V524HlN6o6Wmyf3S/4kuXLylOTzyTsShQABAgQIECAweAG3AA/+WwAAAQIECBAgMAOBenbeopUvd3b4rp3xeRut253rrcB1xd+dOzv3oM64UQIECBAgQIDAoAV0AA768Gs8AQIECBAgMCOBMzvbuWxnfJ5H35edO6fZwT/PcBHuHKmOwNOafT6wGRoQIECAAAECBAYvoANw8N8CAAgQIECAAIEZCHRvn73uDLbXxyZOTiWvbiqqF2u8NJnWCVgvDXlUs/5aDeqlH/tMqbzeXLx/s/zbU9aziAABAgQIECAwKIFpv8QNCkJjCRAgQIAAAQJrKFC309ZVgPXm2mck5yYrSfu23upsqzfbzlv5y+zQ7ZJDkz9MDktelnwxOT2p5+39enKX5HeSf09ekaxV+ftUXG/6rWf7fSI5Ifl5ckBy++RPkyrnJS/fOeYLAQIECBAgQIDA1L/i4iFAgAABAgQIEOhH4Gep5v8kT0xukXwg6ZY7ZuKY7ow5Ga9OvsOTf0nultw4qZdvTCo/nbSgx/nV6fgHTcZVWx2tj0mqk1IhQIAAAQIECBCIgCsAfRsQIECAAAECBGYj8ORs5j+Thyd11dyVkr2SeS8/yg7ePblT8t+TutLu6kldzVgdft9MPpe8J/lgspblt1P5EU2qM/KgpG75/UVyYvKR5MWJ23+DoBAgQIAAAQIECBAgQIAAAQIECBCYF4GV7MgFybZkVmUlG5r1NmfVNtshQIAAAQIECFxEwBWAF+EwQYAAAQIECBAgsI4CdXtvPW+wytlJPeOvr7J3KrpBp7KaVggQIECAAAECBAgQIECAAAECBAgQmIHASrZRV+N1U/P6LIeksm797fi2PjeiLgIECBAgQIDAPArsOY87ZZ8IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwUeD/A+gONrD4PNdjAAAAAElFTkSuQmCC\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9d7f32e1d0>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plt.figure(2)\n",
"\n",
"plt.subplot(3,1,1)\n",
"plt.title('Compressor Air')\n",
"plt.plot(t,Wc_O2,t,Wc_H2O,t,Wc_Ar,t,Wc_N2)\n",
"plt.ylim(0,1)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.legend(['O2','H2O','Ar','N2'], loc='center right', ncol=4, title='Mass Fraction')\n",
"plt.ylabel('[kg/kg]')\n",
"\n",
"plt.subplot(3,1,2)\n",
"plt.plot(t, Wc_w)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.ylabel('[kg/s]')\n",
"plt.legend(['Mass Flow Rate'])\n",
"\n",
"plt.subplot(3,1,3)\n",
"plt.plot(t,Wc_T)\n",
"plt.xlim(0,5)\n",
"plt.ylabel('[K]')\n",
"plt.xlabel('time [s]')\n",
"plt.legend(['Temperature'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 排気ガス (Exhaust Gas)\n",
"\n",
"燃焼室内で燃料ガスと空気が混合して、CH4が完全燃焼して発熱します。\n",
"排ガス (Exhaust Gas) の成分の質量分率、質量流量、温度、圧力を抽出します。排ガスの質量流量は CombustionChamber1 に接続された PressDrop1 の入口の質量流量を使用します。\n",
"0.5 s で燃料の流量が変化するので、排ガスの成分、質量流量、温度も変化します。"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mass Fraction\n",
"0.15126641 0.00490379 0.05654653 0.05133045 0.73595282 \n",
"0.15875311 0.00491294 0.05259591 0.04644949 0.73728856 \n",
"Mass Flow Rate 161.10000000 160.80000075 \n",
"Temperature 1266.89896971 1210.67809888 \n"
]
}
],
"source": [
"Cc_O2 = res['CombustionChamber1.fluegas.X[1]']\n",
"Cc_Ar = res['CombustionChamber1.fluegas.X[2]']\n",
"Cc_H2O = res['CombustionChamber1.fluegas.X[3]']\n",
"Cc_CO2 = res['CombustionChamber1.fluegas.X[4]']\n",
"Cc_N2 = res['CombustionChamber1.fluegas.X[5]']\n",
"Cc_w = res['PressDrop1.w']\n",
"Cc_T = res['CombustionChamber1.fluegas.T']\n",
"Cc_p = res['CombustionChamber1.fluegas.p']\n",
"print('Mass Fraction')\n",
"print(5*'%10.8f ' %(Cc_O2[0], Cc_Ar[0], Cc_H2O[0], Cc_CO2[0], Cc_N2[0]))\n",
"print(5*'%10.8f ' %(Cc_O2[n], Cc_Ar[n], Cc_H2O[n], Cc_CO2[n], Cc_N2[n]))\n",
"print('Mass Flow Rate '+2*'%10.8f ' %(Cc_w[0], Cc_w[n]))\n",
"print('Temperature '+2*'%10.8f ' %(Cc_T[0], Cc_T[n]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"排ガスの質量分率、質量流量、温度をプロットします。"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADwAAAAADIn4SfAABAAElEQVR4AezdB7wU1d3G8YOgIiCgYAfE2FtUrLFiiTXWxMQYY4k9iS0aNUbf4KuJvSRGTV6jokaNMXaNPaLRaOy9FxTsDRUQENj3eYY969y9u3t379297L3zO37+7OzMmTMz31kvy/+eOScECgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII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TOFytOLTZIk/EEAAAQQQQAABBBBAAAEEEEAAAQS6nAAJwOa6ZfvodPYoc0rrab0jXUan39S4/BPV9yO+Wys2zodeCmWmlk5Q/LmwhgUEEEAAAQQQQAABBBBAAAEEEEAAgS4nwCPAXe6W1e2Ev1RL2yh+pLhT8YHCk4OMU1yhcG/EUQoKAggggAACCCCAAAIIIIAAAggggEAXFujRhc+dU+/aAp58xMnGMG7cuDBkiN9SEEAAAQQQQAABBBBAAAEEEECgngLjx48PQ4cOjU16YXx8w2t2BOgBmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgVIAGbwpnPJCCCAAAIIIIAAAggggAACCCCAAALZESABmJ17zZUigAACCCCAAAIIIIAAAggggAACCGRQgARgBm86l4wAAggggAACCCCAAAIIIIAAAgggkB0BEoDZuddcKQIIIIAAAggggAACCCCAAAIIIIBABgV6ZfCaueQmE3jqnnHhvcHTm+ysMnQ6uRA+/+jLMGXSV0kEvacggAACCCCAAAIIIIAAAgh0D4GPJ7zfPS6Eq+iQAAnADvGxcz0Enrj9rTBfvy/r0RRtIIAAAggggAACCCCAAAIIIIBASuDTiV+k3rGYVQEeAc7qnee6EUAAAQQQQAABBBBAAAEEEEAAAQQyIUACMBO3mYtEAAEEEEAAAQQQQAABBBBAAAEEEMiqAI8AZ/XON9F1D11+/jB4vsFNdEbZPJV+880dBg/pF3IaA7BHj2wacNUIIIAAAggggAACCCCAQHcTeO+DeUO4vLtdFddTqwAJwFrFqF93gU33WD4MGTKk7u3SIAIIIIAAAggggAACCCCAAAJZFxgwnpkes/4Z8PXzCDCfAgQQQAABBBBAAAEEEEAAAQQQQAABBLqxAD0Au/HN5dIQmJ0C06ZNCxMnTgyTJk0KXp45c+bsPB2OjQACCCCAAAIIIIAAAgh0SYGePXuG3r17h/79+4e+fftqyCbGbOqSN3I2nzQJwNl8Azg8At1NIKdBBD/66KMkutu1cT0IIIAAAggggAACCCCAQGcLTJ8+PUydOjV89tlnYZ555gnDhg0Lc8zBA52dfR+6+vFIAHb1O8j5I9BkAu+++27yF1P6tPwbKv/WioIAAggggAACCCCAAAIIIFCbwIwZMzRZ46xx/L788svw1ltvhcUXX5yegLUxZr42CcDMfwQAQKB+AlOmTGmR/Bs0aFDSTX3uuefmL6f6MdMSAggggAACCCCAAAIIZEjAwyl5eKX33nsvOBnoJKCHWurXr1+GFLjUjgpkKQE4o6NYVezvlHyWTKsgoUqWBCZMmFC43AUXXDA4AUhBAAEEEEAAAQQQQAABBBBov4Af9/X4fy5vv/128vrFF1+QAEwk+KNagSwlqxgls9pPBfUQaKfA5MmTC3sOHDiwsMwCAggggAACCCCAAAIIIIBAxwTc48/DK/lxYPcCpCBQi0CWEoB2cQ+9Pyk+8Js6lgXV1oF1bI+mEOiSAu6O7tKrVy/G/OuSd5CTRgABBBBAAAEEEEAAgWYVcE9Aj63uSUHiv72a9Vw5r+YTyFoC0HfgXMXzdb4VK6o9EoB1RqU5BBBAAAEEEEAAAQQQQAABBBBAAIGOCzBvdMcNaQEBBBBAAAEEEEAAAQQQQAABBBBAAIGmFchSD8D7dBf8CPCkBtwNtxnbb0DzNIkAAggggAACCCCAAAIIIIAAAggggED7BLKUABzZPqKq9hqrWiOrqkklBBBAAAEEEEAAAQQQQAABBBBAAAEEOlGAR4A7EZtDIYAAAggggAACCCCAAAIIIIAAAggg0NkCJAA7W5zjIYAAAggggAACCCDQiQILL7xw6NGjRzjggAM68agcCgEEEEAAAQSaSYAEYDPdDc4FAQQQQAABBDItMGbMmCRR42SNY9555w2TJ09u0+TLL78MAwYMaLGv28pSGT16dIvrj4blXrPmk6XPAteKAAIIIIAAAq0FSAC2NmENAggggAACCCDQFAITJ04M119/fZvncsMNN4TPP/+8zXpU6D4C66yzTpLw3HLLLbvPRXElCCCAAAIIINAwgSxNAlIOcUa5DW2sn6LtnyleUTykuFTxnIKCAAIIIIAAAgh0WKB3795hypQp4bLLLgu77rprxfZcxyXuU7FyBjaeeOKJYfvtt694pUsssUTF7d1p43vvvdedLodrQQABBBBAAIF2CJAADKFHO9y8yzz5WFiv6yuOUPxFcbBiqoKCAAIIIIAAAgi0W2C77bYLf//738Odd94ZnMDxOG6lygcffBDuuOOOZJOTXldddVWpaplat9hii4WVVlopU9fMxSKAAAIIIIAAApUEeAQ4hOMF5Hg4BfWUli9UnJwPL3udS07huicofq+4WzFd4UTiPoq/KigIIIAAAggggECHBDbffPMk6Tdjxoxw5ZVXlm3L26ZPnx4WWmih8O1vf7tsPTYggAACCCCAAAIIZFeABOCs5N80fQTWUjixt6piNcW+imPy4WWvczyqWFPhpN9hCn/TXkJxl8JJwJ0UDMYiBAoCCCCAAAIItF+gZ8+e4Yc//GHSQHzEt1Rrl17qUUhC8piw92mrPPvss8GPyG6xxRZhyJAhYe655w79+vULSy+9dNhjjz3CQw95ZJPK5Z133glHH310GDFiRDL5yFxzzZUkK1deeeXknD0hR7kxCa+77rqwww47FI7tiU6+8Y1vhA022CAcd9xx4eGH07+TrXwe9dy6yy67JGPqLbfcckmz48ePD0cccURYfvnlEx9PJpK2+fjjj8OFF16YuMc60WGrrbYKF110Ufjqq6+qOkX38PzNb34TPK7fAgsskNyTYcOGJSa+V6+84hFnZpV4nv/973+TFbfffnuryU/iNcR9qp0F2ONN7rjjjsE9KP25GDRoUFhvvfXCaaedVnEymj/96U+Fc/C1OGl9/vnnJ9czcODA0Ldv37DqqquGk08+OXmsPZ4XrwgggAACCCCAQGcKjNTBPA7gM4reiraK63isP++zWaqy17+cX1/+1/SpHTK+OETX796UuXHjxuUo3UPg5Zdfzj3//PM5v1IQQAABBGoXuOeee5K/G/3348UXX5x7/PHHC++VuGvV4HPPPVfY7rreJ/796raKS7r9WK/Uq5J7xbsW3t933325/v37F45Tan+vu+mmmwr7eEG9FHM777xzm/utvvrqLfar9k362r1ca/nBD36QnNuyyy6bu/fee3PzzTdfq3N98MEHC82qx2Wr7cUWa621Vk6PaBf2KbWgRGGuT58+FdvyOcUSz7P4WOn36freL57r/vvvH5tp8Tpp0qTcNttsU/Echg4dmnvmmWda7BffKNlX2NffAZTMLbxPn5eX119//ZxmrY678ooAAgggUKNAe/7N5X9zp34e+9/ilAwKMAZgCIfk7/tpevXEHm0V1zlVcbHiIIV7/rl4/XmKMxXrKCgIIIAAAggggECHBFZbbbVkLDv32nMvQPegSpfYM3DFFVcMrvvUU0+lN7da9qPC7o2lZE/YZJNNgnuKKZkXPI6gkonhD3/4Q3jzzTeT4yyzzDJhr732atHG1KlTg3uguXefe+4deOCBYeONNw4LLrhg0tvN+ypJFq655poW+/mNe4RdffXVyXolgcI+++wTllxyyaR33SeffBJ8jbfeemvw8uwsEyZMCEpUJr3Y3CvPTp5c5emnn05658Vzcy+3ddddN7F07zYb2OeNN94Il1xySbjrrruS3ow//vGPw2233RZ3a/F6wQUXhP322y9ZpyRgsuyemX6c+4svvkju54033hjefvvtwn6nn356OPbYY8OPfvSj5JzcQ8898NLFvfdqKe5pessttyS7KAEbDjvssOSz8dFHH4XLL788+ezpH4+JhZKAyfmVa3/PPfcM7p249957h+9973uJy9ixY5PP1COPPBLuv//+cMoppyQ9Hsu1wXoEEEAAAQQQQKARAv5G5d58I2po3HVnKt4p2mf9/PpJRet521qAHoA1/qanK1Rvz2+jusJ1cY4IIIBAZwmke+jFXmxKliS/tdfjujklnQqnMnPmzJx7Zemv2JwSg8n6dC+4Uj0AP/zww9ynn35aaKN4QQmsnMYRTNpcfPHFk1576Tp33313ss3HLO7hl66nR19zn332WXpVoVfY2muvnfP2ckWP1pbbVHF9+tr12GzSW8091kpFKYN0z7oBAwbk3LuyUmmrt/t5551XsFLSq1VTSorllKhL6iy66KK5F154oVWduKLU0xJ29H1QwjBWK/taqQfgP/7xj8J56tHlkvdGieFCnd13373VcdI9APWodE6J3lZ13MtQSeWkHT2S3OKz3KoyKxBAAAEEygq0599c9ABsnZDI4hrGAAxh/vyN71/DByDWna9ony/y7/3lhoIAAggggAACCHRYwD295phjjuAx6fRoaqG9MWPGBPfK8jbXqaYMHjw4eEy2csVj2Hm8Nxf35nvyySdbVPX4brFsuOGGcbHVa69evZKehekNcV/3mvP2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gG7Cf2lNnz69Ha2xCwIIIIAAAggggAACCCCAQBQYMGBAGDRoUHzLKwJVC2QxAXiHdL6qWqi6inNWV41aCGRDwEnAZZZZJun953Eqpk2bVpitKhsCXCUCCCCAAAIIIIAAAgggUB8BP03Vp0+fMHDgwNC7d+/6NEormRPIWgLQj+gulrm7zAUjMBsE/DiwJwVJTwwyG06DQyKAAAIIIIAAAggggAACCCCQeYEsJQAvyfzdBgABBBBAAAEEEEAAAQQQQAABBBBAIHMCWUoA7pW5u8sFI4AAAggggAACCCCAAAIIIIAAAghkXmCOzAsAgAACCCCAAAIIIIAAAggggAACCCCAQDcWIAHYjW8ul4YAAggggAACCCCAAAIIIIAAAggggAAJQD4DCCCAAAIIIIAAAggggAACCCCAAAIIdGMBEoDd+OZyaQgggAACCCCAAAIIIIAAAggggAACCJAA5DOAAAIIIIAAAggggAACCCCAAAIIIIBANxYgAdiNby6XhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAgh0YwESgN345nJpCCCAAAIIIIAAAggggAACCCCAAAIIkADkM4AAAggggAACCCCAAAIIIIAAAggggEA3FiAB2I1vLpeGAAIIIIAAAggggAACCCCAAAIIIIAACUA+AwgggAACCCCAAAIIIIAAAggggAACCHRjARKA3fjmcmkIIIAAAggggAACCCCAAAIIIIAAAgiQAOQzgAACCCCAAAIIIIAAAggggAACCCCAQDcWIAHYjW8ul4YAAggggAACCCCAAAIIIIAAAggggAAJQD4DCCCAAAIIIIAAAggggAACCCCAAAIIdGMBEoDd+OZyaQgggAACCCCAAAIIIIAAAggggAACCJAA5DOAAAIIIIAAAggggAACCCCAAAIIIIBANxYgAdiNby6XhgACCCCAAAIIIIAAAggggAACCCCAAAlAPgMIIIAAAggggAACCCCAAAIIIIAAAgh0YwESgN345nJpCCCAAAIIIIAAAggggAACCCCAAAIIkADkM4AAAggggAACCCCAAAIIIIAAAggggEA3FujVja+NS0MAgSoFnnjr03Da7S+FZ8Z/FiZ/NSPkcrkq92xctR49enT4POrRRuOukJYRQAABBBBAAAEEEEAAgcYLTP/8o8YfhCM0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OaI33jNzfDVHmTT7R15fPUdz2SNvKI+Z07yz8vkTleOuyOsvy7FTYxmfy2t8PK+PRfELaCxUXbPbBfxcdHsLev6xEvCzMVayrtvNAn4uurn1PPtYCvjZGEtd1+5WAT8X3dpynrvnBV6Qa3hPjjIJ17yM5F9MFNKq7JE3lsfPaXVAY1sMJf5GjvLYVsuv5/1jNUzcL6BGQ1gQqAj4uahgWCVQEfCzUcGwSqAh4OfCV4FAawE/G61dbK23gJ+Lere/2ne4wCb5+T6fI5J99+eYnyOG5b4zx4wcA5U98o4ymTdnoIMq25+X1+PdgzHRx4ONZXx+bg6FAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ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iHcmVnsGRvJZIUCgvYAEYHsfewkQIECAAAECBAgQIECgjcCkSZPSK17xiuKIcohvq8Ojt1aUGCYc5wxWYlhnJHn23nvvNHv27BQTQKy22mppiy22KHqA/e53vxvsEunmm28u3hW3ww47FJOPTJkypUhWbrvttsUzx4QcA72T8Ec/+lF64Qtf2H/vmOjksY99bHra056W3v/+96dLLrlk0PuP5wExmcZRRx2VnvCEJxSTtMyYMaOwe/3rX5+uuuqqlo926aWX9k/Ace6557Y8Zq+99uo/5nOf+1zLY4488sjimPXXXz/19fW1PGZFN2688cZp3XXXLS4zd+7cAS93//33F71NDz/88PSkJz2p+B6sssoqab311kvPeMYzit6D0YuwVdljjz2Kevz73/8udp988sn9dS8nboljWpX58+cX39/ddtuteM74/m644YbFkO8f/vCHrU6xjcCYChgCPKa8Lk6AAAECBAgQIECAAIHeF3j1q1+djj322PSHP/wh/eUvfymSTtVa//Wvf01XXHFFsSmO/eMf/1jdvdx6zHz7zGc+c7ntMQnEtddeW0QkFGMiiE984hPLHRcbfv3rX6d99913uQRfTCIREQnG//u//yuSM3FcWaInYyQ0v//975ebimXcOxJF1113XbrooovSOeecU7yHbpmDOuRD2Lzuda9LDz744DJPVNp94xvfSB/5yEfSe97znmX2R6J0jTXWKMxioo1IvlZLGFx88cX9m+KYt73tbf2fy5Vy5uKnP/3pRcKs3D7ayzKRPHnywKmN5z//+emCCy5Y7tYxg/CFF15YxJe//OV09tlnpy233HK540ayIa71qle9Kt19993LnH7LLbekH//4x0XEc8X3L5LaCoGVITDwT8nKuLt7ECBAgAABAgQIECBAgEDXC2y//fbFu9oiqRa9AD/5yU8uU6eyZ2D0RotjB0sAxlDhVVddNUWSZM899ywSM5GYivcIRoLxS1/6UopeWXGfxz3ucenQQw9d5n6R+Hr5y19eJLKi594b3/jGIqEYPdIeeuih4txIZJ122mnLnBcfTjjhhP7k3+67756i59hmm21WJGruuuuuInEYyb9Y78Ry1llnFe/Hi553kVyKBF302osk2W9/+9siYRrJr/e+970p3rEXNmWJhNpTn/rUIrlZJvHKfbGMXo8LFy7s3xSJ0EiYlom4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ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDF1gwtAPdSSBURWYmq+2beOK8/Jyyahe3cUIECBAgAABAgQIECBAgACBEJiUY70GxVV5+WBj3aJGApNrVFdV7SyBSP5d2lmP5GkIECBAgAABAgQIECBAgEBPC+yca3dZT9dQ5VoKTGy51UYCBAgQIECAAAECBAgQIECAAAECBHpCQA/AnmjGrqxEDPstyiWXXJI22GCD8qMlAQIECBAgQIAAAQIECBAgMEoCt9xyS9pll13Kq/X/LV5usKyHgARgPdq5E2vZ/86/SP7Nnj27E5/RMxEgQIAAAQIECBAgQIAAgV4S6P9bvJcqpS6DCxgCPLiRIwgQIECAAAECBAgQIECAAAECBAh0rYAEYNc2nQcnQIAAAQIECBAgQIAAAQIECBAgMLiABODgRo4gQIAAAQIECBAgQIAAAQIECBAg0LUCEoBd23QenAABAgQIECBAgAABAgQIECBAgMDgAiYBGdzIEWMs8Jeb70l39K02xndx+cEEZq46JW28zozBDrOfAAECBAgQIECAAAECBAgQ6DIBCcAua7BefNzD5lyWJq9xfS9WrevqtO8TN0hfevn2aeLECV337B6YAAECBAgQIECAAAECBAgQaC1gCHBrF1sJ1FLgzD/dkv5+6321rLtKEyBAgAABAgQIECBAgACBXhWQAOzVllUvAiMUuO2+RSM802kECBAgQIAAAQIECBAgQIBAJwoYAtyJrVKzZ5o+ZWJaZcqkmtW6c6q7cPGSznkYT0KAAAECBAgQIECAAAECBAiMuoAE4KiTuuBwBc5/+zPT7Nmzh3ua40dJ4Kmf/GW66e4H/nO1vv+sWiNAgAABAgQIECBAgAABAgS6X0ACsPvbUA0IECBAgAABAgQIEOgwgb6+vnT//fene++9Ny1atCgtWWLURYc1kcch0DUCkyZNStOmTUtrrLFGWnXVVdOECSZt7JrG66AHlQDsoMbwKAQIECBAgAABAgQIdL/A0qVL0w033JAeeKAyyqL7q6UGBAiMk8DDDz+cHnzwwXTPPfek6dOnp0c/+tFp4kRTOoxTc3TtbSUAu7bpPDgBAgQIECBAgAABAp0mED3/mpN/0VsnevAoBAgQGIlA9CCO3y1R4j8sxO+YTTbZRE/AkWDW+BwJwBo3vqoTaCXQl7wEsJWLbQQIECBAgACBoQjEsN+y518k/WbNmpVWW201vXWGgucYAgRaCkSv4gULFqRbb721eJ1A/I6J3zXxu0UhMFQBfUaHKuU4AgQIECBAgAABAgQIDCIQ7/wrSyT/4p1dhuqVIpYECIxEIH6HxO+S+J1Slvvuu69ctSQwJAEJwCExOYhA7wo0vz+20bO8dyusZgQIECBAgACBMRSICT+ixLBfvXPGENqlCdRQIH6nlBOAlD2Na8igyiMUkAAcIZzTCBAgQIAAAQIECBAg0CxQzvYbw3/1/GvW8ZkAgRURiN8p5ftEy981K3I959ZLQAKwXu2ttgSWE2juAbjcATYQIECAAAECBAgQIECAAAECXS0gAdjVzefhCYy+gCHAo2/qigQIECBAgAABAgQIECBAYDwFJADHU9+9CXSAwIQ0oQOewiMQIECAAAECBAgQIECAAAECYyUgAThWsq5LgAABAgQIECBAgAABAgQIECBAoAMEJAA7oBE8AoFOEujrpIfxLAQIECBAgAABAgQIECBAgMAKC0gArjChCxDobgGTgHR3+3l6AgQIECBAgAABAgQIECAwmIAE4GBC9hOomUCfWUBq1uKqS4AAAQIECBDoLoHrr78+Tcj/FXtFo7tq7WkJECCwYgISgCvm52wCBAgQIECAAAECBAgQIEBgjAXuvvvu/qTvF77whTG+m8sT6D2Byb1XJTUiQGA4As1zAHsH4HD0HEuAAAECBAgQILCyBTbaaKN01VVXDXjbvffeO918881pww03TOeee+6Ax9lBgACBOglIANaptdWVAAECBAgQIECAAAECXS6wyiqrpG222WbAWsT+KIMdN+AF7CBAgEAPChgC3IONqkoEhiMQ706pFq8ArGpYJ0CAAAECBAgQIECAAAEC3S8gAdj9bagGBAgQIECAAAECBAgQILCCAj/5yU/Sy1/+8rTJJpuk6dOnp7XWWivtsMMO6eijj0533HHHgFc/8sgji3fTxfFR7rzzzvTe9743bbXVVmnVVVdNG2ywQXrhC1+YLr/88mWucdNNN6V3vOMdacstt0wzZsxI6623XjrwwAPTX//612WOq36Id9+Vk5/EO/Huv//+9LGPfSxtt912afXVVy+eeffdd0/f+MY30lAm91u6dGn6zne+k/bbb78UQ6unTp2a1llnnfSUpzwlfepTn0oLFiyo3n6Z9ahTPMuTnvSkYvu///3v9Na3vrWoz2qrrVbsu/LKK/vPCcMTTzyxMI46h03cL4ZqP//5z0/f+ta30sMPP9x/fHUlbNdee+3+TUcddVS/Q+kR7VCWZqdye/Mynq88//TTT2/eXbTbcOpYXuD2229PH/jAB9LOO++cZs6cWdQzfF/84hens88+uzzMksBKFTAEeKVyuxmBbhDwFsBuaCXPSIAAAQIECBAgMDoCkUh72ctels4777xlLrho0aL0hz/8oYgvf/nL6Qc/+EHac889lzmm+cPVV1+dnvOc56RIhpVl4cKF6YwzzkjnnHNOsdxnn33S73//+/SCF7wgzZs3rzwsPfDAA8U9fvrTn6Zf/OIXaZdddunf12rllltuSS95yUuWSxj+5je/SRHf//73UyS1pk2b1ur0dOONN6b9998/XXHFFcvsX7x4cbr44ouLOP7449OZZ56ZnvjEJy5zTPOHeN5Ibt1z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sDIFTAKyMrXdi0AXCPSl1v+lsAse3SMSIECAAAECBAgQGLLA9ttv33/seeed17/eLSuXXnpp20ct90eSsBz+GyeU9Y7E2M9/PvazUcfQ2Kuvvrp41pe85CVpoOTfQw89lNpN/jGcjgurr756v027pGJMQjIaJXqPlpO8nH/++SMaDjwaz+EaBNoJSAC207GPQA0E2g8cqAGAKhIgQIAAAQIECNRSYK+99iqGn0bljzvuuLRo0aKucjj55JMHfN5IuMUEIFGintXyghe8IJXJtM9+9rNjPtw2hseWQ3rbvfPuu9/9btuJT6ZNm9ZfjQcffLB/vdVK9GwsSznpSfm5ujzllFOqH1doPYYvR5k3b1466aSTVuhaTiYwFgISgGOh6poECBAgQIAAAQIECBAg0NECMdvum9/85uIZ//nPf6bXvOY1qV1iKXqSfeUrX+mYOl144YXpxBNPXO55og6HH354f9LtjW984zLHPP7xj08HHnhgse2iiy5KRx11VNthsjfddFNql2xc5uItPsSMxxtvvHGx57TTTkutht3++c9/Tm9961tbnP2fTXGdcjKOaK92Jd4vWE62Eu8fbDVBR7TlaPaAfMtb3tI/q3LUJdqnXfnFL36RLrnkknaH2EdgVAUkAEeV08UIdJ9A87uDB3hXcPdVzBMTIECAAAECBAgQGETgmGOOSTEpRZSYoTaGcUavuEjeXHnllemCCy4okn4vfelL00YbbVTsG+SSK233TjvtlN7whjcUk05EIuuKK65I3/nOd9Iuu+xSvGcvHuTVr3512n333Zd7phNOOCE99rGPLbZHgmzHHXdMxx9/fNFr8A9/+EP65S9/mb70pS+lfffdN2266abp29/+9nLXGM6GSK5Gueaaa9JTnvKU4noxRDkmIXnve9+bdt111xRDgLfddtu2l41zo0TPvTlz5qS//OUv6dprry3ijjvu6D931VVXLRK6seHiiy9O++yzTzrrrLNS1O3MM89Mr3rVq1IkRnfbbbf+c1Z0JWZdjkRp9K5csGBB2nPPPQv/SHrGJDNR3zPOOCMdffTRaeutty56ZpZDo1f03s4nMBQBk4AMRckxBAgQIECAAAECBAgQINBzAtGr7Gc/+1k69NBDUyRqomfZO97xjgHrucYaawy4b2Xv+Na3vpVe/OIXp29+85tFNN9/7733btlDMI6LSSti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\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9d7f1994d0>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plt.figure(3)\n",
"\n",
"plt.subplot(3,1,1)\n",
"plt.title('Exhaust Gas')\n",
"plt.plot(t,Cc_O2,t,Cc_Ar,t,Cc_H2O,t,Cc_CO2,t,Cc_N2)\n",
"plt.ylim(0,1)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.legend(['O2','Ar','H2O','CO2','N2'], loc='center right', ncol=5, title='Mass Fraction')\n",
"plt.ylabel('[kg/kg]')\n",
"\n",
"plt.subplot(3,1,2)\n",
"plt.plot(t, Cc_w)\n",
"plt.xlim(0,5)\n",
"plt.xticks(color=\"None\")\n",
"plt.ylabel('[kg/s]')\n",
"plt.legend(['Mass Flow Rate'])\n",
"\n",
"plt.subplot(3,1,3)\n",
"plt.plot(t,Cc_T)\n",
"plt.xlim(0,5)\n",
"plt.ylabel('[K]')\n",
"plt.xlabel('time [s]')\n",
"plt.legend(['Temperature'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 燃料ガス、コンプレッサーの空気、排気ガスの圧力\n",
"このモデルは、Compressor Air の質量流量と Fuel Gas の質量流量、バルブ出口の SinkP1の圧力を規定しているので、CombustionChamber1 (燃焼室)の Exhaust Gas の圧力はシミュレーション結果として得られます。Wfuel (燃料源) や Wcompressor (コンプレッサ) の圧力は、接続されている CombustionChamber1 の圧力と等しくなります。 "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADwAAAAADIn4SfAABAAElEQVR4AezdB7gdV3Uo4KPqijFgirGERUyzQw3NEBNEIPQe4BEIIDoPQgs1lCAgjZYHBAgkJoiW0EIxBkJoApsANgQIYFMMmEjYFBt3XGRLb63r2TAenTJX595zztz77+9bd/bsvWfPnn/sfGF55kyvpxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE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BlXHP8X2PREXRtwp4gUR+1f7t4/tNyL6lVtEY659n4jzI/4mIp/yy/2HRjwhIsv3I24V0XxyL/uy5JeM3zxXu/xV5r+O+rcirh3xjIhcU5Z/i3jYXK3/n+zP82bJdbw24rSIm0S8MCINszwp4i1ztd3/LJTN7jO3a1kXw7bl0G3btvkKcDszowgQIECAAAECBAgQIECAwLwEtm/f3lu/fn05Jivby47t8hFYjATgluDLV27bluYaNsWBb2t7cDXupbHdPOCYTEZ+POL6A/rz9eKHRxw7oL803ycq74oor9aW9rLN5N+9Ik4pDQO2udYXRzSvuwzPtf5xxEWloc82E48fiMgnI/uVndH48ojN/TprbQtlU5uydVUCsDWVgQQIECBAgAABAgQIECBAYM8EJAD3zG2pHTWrrwAvpHMm5PIJvudF5NOA+VrsryO+F/H/Im4aMSr5F0N6H63G5jGZ7Ms5cq6cM+fOc4xK/sWQ3ksijor414h8Au6SiHx68VMR+dRfJhGHJf+ie+4JxhyXics8Lo/PeXK+nDfn3xwxqiyUzajz6CdAgAABAgQIECBAgAABAgQIEJiSwKCn0Ka0HKddRgLr4lq9AryMbrhLJUCAAAECBAgQIECAAIHJC3gCcPLms3jG5fAE4Cy6WxMBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIiABOBFmJyFAgAABAgQIECBAgAABAgQIECAwHQEJwOm4OysBAgQIECBAgAABAgQIECBAgACBiQhIAE6E2UkIECBAgAABAgQIECBAgAABAgQITEdAAnA67s5KgAABAgQIECBAgAABAgQIECBAYCICEoATYXYSAgQIECBAgAABAgQIECBAgAABAtMRkACcjruzEiBAgAABAgQIECBAgAABAgQIEJiIgATgRJidhAABAgQIECBAgAABAgQIECBAgMB0BCQAp+PurAQIECBAgAABAgQIECBAgAABAgQmIrAYCcBrxMrvHfGyiE9EnBGxq4otsW1Tcl1HRGyKeFPEiREXR5R5NkZ9VNkcA8r4tts8plk2REPb47c0Dx6w/9Bo/2TE6REXRZwa8c6IIyPaln1j4HMiToj4VcT5ESdHvDriOhFtS47NY/LYCyJyrpzz2RF5DoUAAQIECBAgQIAAAQIECBAgQKDDAqsXYe0/X4A5HxFzbFmAeeY7xffme8A8x+8d498fkQnSejk0djIeFrE54uURw8ph0fmxiBs2Bt0o9jMeF5FzfTxiWLlXdL474sq1QZn0u3UVOc89I34UoRAgQIAAAQIECBAgQIAAAQIECHRQYDESgHWGbbGTT5bdtd7Yor6iNmZH1L8d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OLO3xsIIECBAgAABAgQIECBAgAABAgQIjC8gATi+oRkIECBAgAABAgQIECBAgAABAgQIzKyABODM3hoLI0CAAAECBAgQIECAAAECBAgQIDC+gATg+IZmIECAAAECBAgQIECAAAECBAgQIDCzAhKAM3trLIwAAQIECBAgQIAAAQIECBAgQIDA+AISgOMbmoEAAQIECBAgQIAAAQIECBAgQIDAzApIAM7srbEwAgQIECBAgAABAgQIECBAgAABAuMLSACOb2gGAgQIECBAgAABAgQIECBAgAABAjMrIAE4s7fGwggQIECAAAECBAgQIECAAAECBAiMLyABOL6hGQgQIECAAAECBAgQIECAAAECBAjMrIAE4MzeGgsjQIAAAQIECBAgQIAAAQIECBAgML6ABOD4hmYgQIAAAQIECBAgQIAAAQIECBAgMLMCEoAze2ssjAABAgQIECBAgAABAgQIECBAgMD4AhKA4xuagQABAgQIECBAgAABAgQIECBAgMDMCkgAzuytsTACBAgQIECAAAECBAgQIECAAAEC4wtIAI5vaAYCBAgQIECAAAECBAgQIECAAAECMysgATizt8bCCBAgQIAAAQIECBAgQIAAAQIECIwvIAE4vqEZCBAgQIAAAQIECBAgQIAAAQIECMysgATgzN4aCyNAgAABAgQIECBAgAABAgQIECAwvoAE4PiGZiBAgAABAgQIECBAgAABAgQIECAwswISgDN7ayyMAAECBAgQIECAAAECBAgQIECAwPgCEoDjG5qBAAECBAgQIECAAAECBAgQIECAwMwKSADO7K2xMAIECBAgQIAAAQIECBAgQIAAAQLjC0gAjm9oBgIECBAgQIAAAQIECBAgQIAAAQIzKyABOLO3xsIIECBAgAABAgQIECBAgAABAgQIjC8gATi+oRkIECBAgAABAgQIECBAgAABAgQIzKyABODM3hoLI0CAAAECBAgQIECAAAECBAgQIDC+gATg+IZmIECAAAECBAgQIECAAAECBAgQIDCzAhKAM3trLIwAAQIECBAgQIAAAQIECBAgQIDA+AISgOMbmoEAAQIECBAgQIAAAQIECBAgQIDAzApIAM7srbEwAgQIECBAgAABAgQIECBAgAABAuMLSACOb2gGAgQIECBAgAABAgQIECBAgAABAjMrIAE4s7fGwggQIECAAAECBAgQIECAAAECBAiMLyABOL6hGQgQIECAAAECBAgQIECAAAECBAjMrIAE4MzeGgsjQIAAAQIECBAgQIAAAQIECBAgML6ABOD4hmYgQIAAAQIECBAgQIAAAQIECBAgMLMCEoAze2ssjAABAgQIECBAgAABAgQIECBAgMD4AhKA4xuagQABAgQIECBAgAABAgQIECBAgMDMCkgAzuytsTACBAgQIECAAAECBAgQIECAAAEC4wtIAI5vaAYCBAgQIECAAAECBAgQIECAAAECMysgATizt8bCCBAgQIAAAQIECBAgQIAAAQIECIwvIAE4vqEZCBAgQIAAAQIECBAgQIAAAQIECMysgATgzN4aCyNAgAABAgQIECBAgAABAgQIECAwvoAE4PiGZiBAgAABAgQIECBAgAABAgQIECAwswISgDN7ayyMAAECBAgQIECAAAECBAgQIECAwPgCEoDjG5qBAAECBAgQIECAAAECBAgQIECAwMwKSADO7K2xMAIECBAgQIAAAQIECBAgQIAAAQLjC0gAjm9oBgIECBAgQIAAAQIECBAgQIAAAQIzKyABOLO3xsIIECBAgAABAgQIECBAgAABAgQIjC8gATi+oRkIECBAgAABAgQIECBAgAABAgQIzKyABODM3hoLI0CAAAECBAgQIECAAAECBAgQIDC+gATg+IZmIECAAAECBAgQIECAAAECBAgQIDCzAhKAM3trLIwAAQIECBAgQIAAAQIECBAgQIDA+AISgOMbmoEAAQIECBAgQIAAAQIECBAgQIDAzApIAM7srbEwAgQIECBAgAABAgQIECBAgAABAuMLSACOb2gGAgQIECBAgAABAgQIECBAgAABAjMrIAE4s7fGwggQIECAAAECBAgQIECAAAECBAiML7AYCcBrxLLuHfGyiE9EnBGxq4otsW1Tcl1HRGyKeFPEiREXR5R5Nka9Tdkag8oxo7Zt5vvdGPTmiFMiLoz4ZcQXIp4YsTqibbl7DPxgxPaIvK7c5n62ty15vjxvnj/XkevJdeX60q5tuVoMfGnENyPOiTi3qmdb9ikECBAgQIAAAQIECBAgQIAAAQIdFphP0qrtZf687cAh4x4RfVuG9E+j67Fx0jdG7FU7+d5Rv0MVm2Kbic8zIwaVFdGRCbonNAYcEvsPqOKfYvukiExYDiqZmPtYxG0bAw6L/YxNEU+O+JeI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vdqkB9Xq2b6ptp/VLY39srupVKrtzWv7d4/6htr+KVE/vraf1UdF5FNrGVsjvhdxbkR++faWEU+MODwiyy8inj5X2/3Pjmh6WkQmCPP38PJV2L+KOCEik36Pj/jjiCy5hkyW9Sv59F4m754fcauInOcVEZmky6Td8yJuEZElE4o/mKvt/uft0ZRPLf5+xFMi8nXff444K+I2ES+OyHXmU3tPjShJx6heobww9tLx6hH/FpFrOjYiy70jnjVX6/V+GdsXVXUbAgQIECBAgAABAgQIECBAgACBjgmsWIT1bok5M/nWtgxaQ/P112HzZVJsU2PAlthvs45vxbiHRuSru8NKJvreELF2wKBMCN4r4owB/dmcT1xmsi4TeIPKW6PjCRHlFd1+4w6Kxo9H3LpfZ7RdEvFnEXmuYeW20fnh2p3DoQAAQABJREFUiEwi9iv51N/9I77Sr3PMtnVx/LacY9u2bb1163JXIUCAAAECBAgQIECAAAECBBZSYPv27b3169eXKbOyvezYLh+B1Uv4UvPpum9E3C7iiIh80i1fm7044ucRX434QES+IntZxKiSybQvReTTgHeOuHbEBRH5m3zvjjg64tKIYSWTeo+N+PeITPJlAi+TeZk0PDHiLRGfiBhVcvztIzIp+bCIwyP2izgt4jMRr4v4TsSokom9m0Tk04+Z6NsQkeXHER+JeG3EmREKAQIECBAgQIAAAQIECBAgQIBARwUGPX3X0cux7A4JeAKwQzfLUgkQIECAAAECBAgQIECgmwKeAOzmfVvoVS/lj4AstJX5CBAgQIAAAQIECBAgQIAAAQIECHROQAKwc7fMggkQIECAAAECBAgQIECAAAECBAi0F5AAbG9lJAECBAgQIECAAAECBAgQIECAAIHOCUgAdu6WWTABAgQIECBAgAABAgQIECBAgACB9gISgO2tjCRAgAABAgQIECBAgAABAgQIECDQOQEJwM7dMgsmQIAAAQIECBAgQIAAAQIECBAg0F5AArC9lZEECBAgQIAAAQIECBAgQIAAAQIEOicgAdi5W2bBBAgQIECAAAECBAgQIECAAAECBNoLSAC2tzKSAAECBAgQIECAAAECBAgQIECAQOcEJAA7d8ssmAABAgQIECBAgAABAgQIECBAgEB7AQnA9lZGEiBAgAABAgQIECBAgAABAgQIEOicgARg526ZBRMgQIAAAQIECBAgQIAAAQIECBBoLyAB2N7KSAIECBAgQIAAAQIECBAgQIAAAQKdE5AA7Nwts2ACBAgQIECAAAECBAgQIECAAAEC7QUkANtbGUmAAAECBAgQIECAAAECBAgQIECgcwISgJ27ZRZMgAABAgQIECBAgAABAgQIECBAoL2ABGB7KyMJECBAgAABAgQIECBAgAABAgQIdE5AArBzt8yCCRAgQIAAAQIECBAgQIAAAQIECLQXkABsb2UkAQIECBAgQIAAAQIECBAgQIAAgc4JSAB27pZZMAECBAgQIECAAAECBAgQIECAAIH2AhKA7a2MJECAAAECBAgQIECAAAECBAgQINA5AQnAzt0yCyZAgAABAgQIECBAgAABAgQIECDQXkACsL2VkQQIECBAgAABAgQIECBAgAABAgQ6JyAB2LlbZsEECBAgQIAAAQIECBAgQIAAAQIE2gtIALa3MpIAAQIECBAgQIAAAQIECBAgQIBA5wQkADt3yyyYAAECBAgQIECAAAECBAgQIECAQHsBCcD2VkYSIECAAAECBAgQIECAAAECBAgQ6JyABGDnbpkFEyBAgAABAgQIECBAgAABAgQIEGgvIAHY3spIAgQIECBAgAABAgQIECBAgAABAp0TkADs3C2zYAIECBAgQIAAAQIECBAgQIAAAQLtBSQA21sZSYAAAQIECBAgQIAAAQIECBAgQKBzAhKAnbtlFkyAAAECBAgQIECAAAECBAgQIECgvYAEYHsrIwkQIECAAAECBAgQIECAAAECBAh0TkACsHO3zIIJECBAgAABAgQIECBAgAABAgQItBeQAGxvZSQBAgQIECBAgAABAgQIECBAgACBzglIAHbullkwAQIECBAgQIAAAQIECBAgQIAAgfYCEoDtrYwkQIAAAQIECBAgQIAAAQIECBAg0DkBCcDO3TILJkCAAAECBAgQIECAAAECBAgQINBeQAKwvZWRBAgQIECAAAECBAgQIECAAAECBDonIAHYuVtmwQQIECBAgAABAgQIECBAgAABAgTaC0gAtrcykgABAgQIECBAgAABAgQIECBAgEDnBCQAO3fLLJgAAQIECBAgQIAAAQIECBAgQIBAewEJwPZWRhIgQIAAAQIECBAgQIAAAQIECBDonIAEYOdumQUTIECAAAECBAgQIECAAAECBAgQaC8gAdjeykgCBAgQIECAAAECBAgQIECAAAECnROQAOzcLbNgAgQIECBAgAABAgQIECBAgAABAu0FJADbWxlJgAABAgQIECBAgAABAgQIECBAoHMCEoCdu2UWTIAAAQIECBAgQIAAAQIECBAgQKC9gARgeysjCRAgQIAAAQIECBAgQIAAAQIECHROQAKwc7fMggkQIECAAAECBAgQIECAAAECBAi0F5AAbG9lJAECBAgQIECAAAECBAgQIECAAIHOCUgAdu6WWTABAgQIECBAgAABAgQIECBAgACB9gISgO2tjCRAgAABAgQIECBAgAABAgQIECDQOQEJwM7dMgsmQIAAAQIECBAgQIAAAQIECBAg0F5AArC9lZEECBAgQIAAAQIECBAgQIAAAQIEOicgAdi5W2bBBAgQIECAAAECBAgQIECAAAECBNoLSAC2tzKSAAECBAgQIECAAAECBAgQIECAQOcEJAA7d8ssmAABAgQIECBAgAABAgQIECBAgEB7AQnA9lZGEiBAgAABAgQIECBAgAABAgQIEOicgARg526ZBRMgQIAAAQIECBAgQIAAAQIECBBoLyAB2N7KSAIECBAgQIAAAQIECBAgQIAAAQKdE5AA7Nwts2ACBAgQIECAAAECBAgQIECAAAEC7QUkANtbGUmAAAECBAgQIECAAAECBAgQIECgcwISgJ27ZRZMgAABAgQIECBAgAABAgQIECBAoL2ABGB7KyMJECBAgAABAgQIECBAgAABAgQIdE5AArBzt8yCCRAgQIAAAQIECBAgQIAAAQIECLQXkABsb2UkAQIECBAgQIAAAQIECBAgQIAAgc4JSAB27pZZMAECBAgQIECAAAECBAgQIECAAIH2AhKA7a2MJECAAAECBAgQIECAAAECBAgQINA5AQnAzt0yCyZAgAABAgQIECBAgAABAgQIECDQXmAxEoDXiNPfO+JlEZ+IOCNiVxVbYtum5LqOiNgU8aaIEyMujijzbIx6m3KdGPR/I94b8b2ICyIuitge8ZGIP4lYHTGsbIjOct5R2y3DJqr1PTTqn4w4PSLXc2rEOyOOjGhb9o2Bz4k4IeJXEedHnBzx6oi87rYlx+YxeWz65Fw557Mj8hwKAQIECBAgQIAAAQIECBAgQIBAhwVGJb/25NJ+vicHNY55ROxvabTNdzcTkC+KWNHnwEOiLeO+EX8e8ccR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CHRSQAKwk7fNogksnEC/BODatRKACydsJgIECBAgQIAAAQIECBAgMF0BCcDp+js7gakL9HsFeC8fAZn6fbEAAgQIECBAgAABAgQIECCwUAISgAslaR4CHRXo9wTgmtVrO3o1lk2AAAECBAgQIECAAAECBAg0BSQAmyL2CSwzgct6u38GeO1e+y0zBZdLgAABAgQIECBAgAABAgSWroAE4NK9t66MQCuBnSt2H7bXGk8A7q6ihQABAgQIECBAgAABAgQIdFNAArCb982qCSyYQL9XgNeu8RGQBQM2EQECBAgQIECAAAECBAgQmLKABOCUb4DTE5i2QL8E4F4SgNO+Lc5PgAABAgQIECBAgAABAgQWTEACcMEoTUSgmwL9XgFe6yvA3byZVk2AAAECBAgQIECAAAECBPoISAD2QdFEYDkJ9HsCcOWqVcuJwLUSIECAAAECBAgQIECAAIElLSABuKRvr4sjMFrgsj4fARl9lBEECBAgQIAAAQIECBAgQIBAVwQkALtyp6yTwCIJ7FqkeU1LgAABAgQIECBAgAABAgQIzIaABOBs3AerIDA1gZ09jwBODd+JCRAgQIAAAQIECBAgQIDABAQkACeA7BQEZlmg30dAZnm91kaAAAECBAgQIECAAAECBAjMT0ACcH5eRhNYcgL9PgKy5C7SBREgQIAAAQIECBAgQIAAgWUsIAG4jG++SyeQAhKA/jkgQIAAAQIECBAgQIAAAQJLW0ACcGnfX1dHYKTArhV+A3AkkgEECBAgQIAAAQIECBAgQKDDAhKAHb55lk6AAAECBAj8f/buBN6Sq6wXdgeaISCDN8x0Q4CgDKIXhAgaSCMiKKMIqDjQjCKIoIKg6CUMojJ8oggig5zggAIyBhAQSRBkCDjeyxhMtJswRSBMSQDJ9387tUj17j2c073P2fvsetbv955atdaqVbWe2oeEN1X7ECBAgAABAgQIECBAYJaABOAsIf0ECBAgQIAAAQIECBAgQIAAAQIEtrGABOA2vnkunQABAgQIECBAgAABAgQIECBAgMAsAQnAWUL6CRAgQIAAAQIECBAgQIAAAQIECGxjAQnAbXzzXDoBAgQIECBAgAABAgQIECBAgACBWQISgLOE9BMgQIAAAQIECBAgQIAAAQIECBDYxgISgNv45rl0AgQIECBAgAABAgQIECBAgAABArMEJABn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ruHCDcxxcsbunTC+kn5vTNxwQv8X0/7TiVMm9Lfmu6Xy54n2am1rb9tK/t0lUcnIaeVJ6fytxKR117X+eOL8xKRSicdXJn50woBvpv0piZMm9Lfmedm0+Tay3ZXB++qAffv27di1q3YVAgQIECBAgAABAgQIECBAYJ4C+/fv37F79+42ZVX2tx3b4Qis8ivA7S5WQu7miXr6rv6oxhcSX018JPH7ie9OzEr+ZciO13dj65hK9tUcNVfNWXPXOWYl/zJkxxMTJyT+MlEJsK8lPpOoJ/nul6gk4rTkX7oPPMFY4ypxWcfV8TVPzVfz1vwnJWaVednMOo9+AgQIECBAgAABAgQIECBAgACBBQlMegptQZfjtAMS2JW1egJwQDfcUgkQIECAAAECBAgQIEBg6wU8Abj15st4xiE8AbiM7q6JAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjIAE4GLcnZUAAQIECBAgQIAAAQIECBAgQIDAlghIAG4Js5MQIECAAAECBAgQIECAAAECBAgQWIyABOBi3J2VAAECBAgQIECAAAECBAgQIECAwJYISABuCbOTECBAgAABAgQIECBAgAABAgQIEFiMgATgYtydlQABAgQIECBAgAABAgQIECBAgMCWCEgAbgmzkxAgQIAAAQIECBAgQIAAAQIECBBYjMBmJACvlqXcNfHkxJsS5yQu7GIt242WO+eAVyX2Jy7otrVf7dPK3nS28653uzZhwvUef+qE40ebD3dN/Xl2ZufnE+9IfDZxXuKMxPMTN0mstxyTgU9K/Gvi3MQXu3q1VZ9CgAABAgQIECBAgAABAgQIECCwjQUqiTTv8uk5TXhU5qlk1kNH5rt29n+sixdk+7BEJejmUT4yj0mmzDGvNVVi7g2J7xs51w2yX7E38fDEnyamlVul87WJa44M+u7sVzw4cY/E+xMKAQIECBAgQIAAAQIECBAgQIDANhTYjARgn2Ffdj6U+OF+4zrrT824lvz759Sfnvh4ohJcv5a4eaL66+m330yMltekYT2Jq3qa8IaJbyb+PDGt/HE6nzdlwFem9FXXka6p5rhkoq65Jf+q/sLE57q2sqinMCs5+onEmxPjSiVSX5+4euIbif8vcUqiSj3B+SuJayWq7XsTNZdCgAABAgQIECBAgAABAgQIECCwzQTqibR5l3p19PQu6mnAYxNnJqqcnNhblRnluPRX4nBnopJ4t0ucl2jlcqmclrhlopJXN0pUcnCjpY6r81R5W+KHDtQO/dGeMKy1nXRo97pa5rWmvTnbS7oz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Ex9M3DSx3nJWBl53HYMrQfjgxBemjJ3Xmir5+MbErSacq/7C8S8mym9a+b50viZRScRxpczumXjvuM4jbNuV4/fVHPv27duxa1ftKgQIECBAgAABAgQIECBAgMA8Bfbv379j9+7dbcqq7G87tsMR2LnES62k3oMSlVirJF8luyrxdU7i9MSfJN6UWE+5bwZV8q/KSy/arPtnJTNPTNwmcf1EXUM9YfflRCWw/jFRT+XV04GzyrzWVAbfn3hI4n6JGycunzg78bbEHyT+X2JWqcTezRKPSlSi79hElTMT9b2Kz078d0IhQIAAAQIECBAgQIAAAQIECBDYpgKTnr7bpstx2dtIwBOA2+hmuVQCBAgQIECAAAECBAgQ2J4CngDcnvdt3lddr6QqBAgQIECAAAECBAgQIECAAAECBAisqIAE4IreWMsiQIAAAQIECBAgQIAAAQIECBAgUAISgD4HBAgQIECAAAECBAgQIECAAAECBFZYQAJwhW+upREgQIAAAQIECBAgQIAAAQIECBCQAPQZIECAAAECBAgQIECAAAECBAgQILDCAhKAK3xzLY0AAQIECBAgQIAAAQIECBAgQICABKDPAAECBAgQIECAAAECBAgQIECAAIEVFpAAXOGba2kECBAgQIAAAQIECBAgQIAAAQIEJAB9BggQIECAAAECBAgQIECAAAECBAissIAE4ArfXEsjQIAAAQIECBAgQIAAAQIECBAgIAHoM0CAAAECBAgQIECAAAECBAgQIEBghQUkAFf45loaAQIECBAgQIAAAQIECBAgQIAAAQlAnwECBAgQIECAAAECBAgQIECAAAECKywgAbjCN9fSCBAgQIAAAQIECBAgQIAAAQIECEgA+gwQIECAAAECBAgQIECAAAECBAgQWGEBCcAVvrmWRoAAAQIECBAgQIAAAQIECBAgQEAC0GeAAAECBAgQIECAAAECBAgQIECAwAoLSACu8M21NAIECBAgQIAAAQIECBAgQIAAAQISgD4DBAgQIECAAAECBAgQIECAAAECBFZYQAJwhW+upREgQIAAAQIECBAgQIAAAQIECBCQAPQZIECAAAECBAgQIECAAAECBAgQILDCAhKAK3xzLY0AAQIECBAgQIAAAQIECBAgQICABKDPAAECBAgQIECAAAECBAgQIECAAIEVFpAAXOGba2kECBAgQIAAAQIECBAgQIAAAQIEJAB9BggQIECAAAECBAgQIECAAAECBAissIAE4ArfXEsjQIAAAQIECBAgQIAAAQIECBAgIAHoM0CAAAECBAgQIECAAAECBAgQIEBghQUkAFf45loaAQIECBAgQIAAAQIECBAgQIAAAQlAnwECBAgQIECAAAECBAgQIECAAAECKywgAbjCN9fSCBAgQIAAAQIECBAgQIAAAQIECEgA+gwQIECAAAECBAgQIECAAAECBAgQWGEBCcAVvrmWRoAAAQIECBAgQIAAAQIECBAgQEAC0GeAAAECBAgQIECAAAECBAgQIECAwAoLSACu8M21NAIECBAgQIAAAQIECBAgQIAAAQISgD4DBAgQIECAAAECBAgQIECAAAECBFZYQAJwhW+upREgQIAAAQIECBAgQIAAAQIECBCQAPQZIECAAAECBAgQIECAAAECBAgQILDCAhKAK3xzLY0AAQIECBAgQIAAAQIECBAgQICABKDPAAECBAgQIECAAAECBAgQIECAAIEVFpAAXOGba2kECBAgQIAAAQIECBAgQIAAAQIEJAB9BggQIECAAAECBAgQIECAAAECBAissIAE4ArfXEsjQIAAAQIECBAgQIAAAQIECBAgIAHoM0CAAAECBAgQIECAAAECBAgQIEBghQUkAFf45loaAQIECBAgQG2BcLYAAEAASURBVIAAAQIECBAgQIAAAQlAnwECBAgQIECAAAECBAgQIECAAAECKywgAbjCN9fSCBAgQIAAAQIECBAgQIAAAQIECEgA+gwQIECAAAECBAgQIECAAAECBAgQWGEBCcAVvrmWRoAAAQIECBAgQIAAAQIECBAgQEAC0GeAAAECBAgQIECAAAECBAgQIECAwAoLSACu8M21NAIECBAgQIAAAQIECBAgQIAAAQISgD4DBAgQIECAAAECBAgQIECAAAECBFZYQAJwhW+upREgQIAAAQIECBAgQIAAAQIECBCQAPQZIECAAAECBAgQIECAAAECBAgQILDCAhKAK3xzLY0AAQIECBAgQIAAAQIECBAgQICABKDPAAECBAgQIECAAAECBAgQIECAAIEVFpAAXOGba2kECBAgQIAAAQIECBAgQIAAAQIEJAB9BggQIECAAAECBAgQIECAAAECBAissIAE4ArfXEsjQIAAAQIECBAgQIAAAQIECBAgIAHoM0CAAAECBAgQIECAAAECBAgQIEBghQUkAFf45loaAQIECBAgQIAAAQIECBAgQIAAAQlAnwECBAgQIECAAAECBAgQIECAAAECKywgAbjCN9fSCBAgQIAAAQIECBAgQIAAAQIECEgA+gwQIECAAAECBAgQIECAAAECBAgQWGEBCcAVvrmWRoAAAQIECBAgQIAAAQIECBAgQEAC0GeAAAECBAgQIECAAAECBAgQIECAwAoLSACu8M21NAIECBAgQIAAAQIECBAgQIAAAQISgD4DBAgQIECAAAECBAgQIECAAAECBFZYQAJwhW+upREgQIAAAQIECBAgQIAAAQIECBCQAPQZIECAAAECBAgQIECAAAECBAgQILDCAhKAK3xzLY0AAQIECBAgQIAAAQIECBAgQICABKDPAAECBAgQIECAAAECBAgQIECAAIEVFtiMBODV4nXXxJMTb0qck7iwi7VsN1runANeldifuKDb1n61zyprGdDOPWt77KzJ0n+dxDMTH0p8JfG5xPsSj0lcLrHecpsM/LPEWYnzE59M/G3iJxMbKTX+zYk6vuY5K1Hz3jqx3lLX/dhEraPW8+VEra/WWetVCBAgQIAAAQIECBAgQIAAAQIEtrHAzk249k/Pac6jMs/zEw8dme/a2f+xLl6Q7cMSldzb7HKXnOAvElfqnaiSZ7fq4sHZ/mjiPxLTyv9J5xMT/eTrNbJfcafE/RL3TZyfmFQum45XJCrR2i/XzU5FzXFS4imJaeUG6XxD4jtHBt0o+xW1pprrjQmFAAECBAgQIECAAAECBAgQIEBgGwr0k1Cbcfn7MulbDnPip+a4lvz759R/KnF8t639KtU/K8lV485O3GxGfKIGTijfk/aXJyr5V0/IPSHx/Yk7JF6YqFJJtEqmfVvtTCiVUHtSotw/nnhQotZ0z8TbE1XulnjRgdrkHy9OV0v+1XF1fM1T89W8Nf+TE3W+SaWu85RES/7VOmo9ta5aX62z1luJxu9OKAQIECBAgAABAgQIECBAgAABAttQoJ6ym3epBNfpXdTTgMcmzkxUOTmxtyozynHpr9dQdyben7hd4rxEK/Xk3WmJWya+kain1SrxNVrW0nD/xH8mjk0cbqkk255Enauu5d2JfqlXaJ/eNTwx20q+jZYrp6Ecavtfie9NnJNo5ZKpvDpRCcAqJybecaB28I9qP7Vren229TTk/3T7tblK4gOJ6yQ+n7h+4guJ0XJSGupaq/xa4hkHahf/qNeU6/x1D96e+MHEPMuuTLavJty3b9+OXbtqVyFAgAABAgQIECBAgAABAgTmKbB///4du3fvblNWZX/bsR2OwCU2YamVVKony47kVeBfzvGVeKryyEQ/+VdtX+3aq17jHl2VTSr1iu+ebu4XZzua/KuuZyUqYVmlruVSB2oH/3hIdiv5V+VxiX7yr9oqiffwblv7lVQcVypZV2V0/EWtF81b81f59sSDDtQO/lHX96iuqa67rn+01DprvVVun6iEpUKAAAECBAgQIECAAAECBAgQILDNBDYjAXikBEdlgnt0k3w42/dMmLDaP9L13TPbOm4zSs3dyktaZWT7zey/tGurpNuert7ftHm+mMb6IybjSmXh/67ruGO29Zpuv9T+HbqGt2Y7KWtf89d5qtzros1BP/dkryUjT069rn9cWes1jpun161KgAABAgQIECBAgAABAgQIECCwjALLmAC8XqCu3WGdNgOt9df7o8fOGHu43bftDvxKtvVq7aTSrqX6TxgZdOns13f0Vakn6752oDb+R5vnMumupw/7peao9ipt3EV7B/+s+VvitI4ZfSKxramOmjbP+9Nf664yuqaLWv0kQIAAAQIECBAgQIAAAQIECBBYaoFlTADeuCdWTwBOK/3+/nGjxxyThn9IfCFxQeKTiTcnfjFR3yc4rbR5z8igb0wZOO1abpjj2ivN/XHjpuv3t3O3cf39/rjW39+2/jpvnb9f1jtPrffj3YH9Y/pzqRMgQIAAAQIECBAgQIAAAQIECCyxQEtKLdMl7u5dzKRXXNuQA39EotvpH9f627Zene0/wXaN7Ff8cOLxifsm/jExWi6bhvqjGlVmXUv9wY16Wu7yidFr6e/Pmmfamo5kng/mulpp89T1VlJ0Wqnrqb8CfNVEPX1YCdT1lF0zBpW/QoAAAQIECBAgQIAAAQIECBAgsMkCy5gAvEJvzV/u1cdV2+up1VdJvtFyYRrqVdj6a7n/lPh0opJ6N0s8KFGvx9brxm9J3Dbxz4l+2ci11HEtATh6LRuZZ9qa5j3PLN+2pmZS61pvArCfyGzH2xIgQIAAAQIECBAgQIAAAQIECGyxwDImACtB18q078qrMf1k1NHtoN62/prwuCfc3p32FyaemviNRD2196LE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QIAAAQIECBAgQIAAAQIEhiYgATi0O269BAgQIECAAAECBAgQIECAAAECgxKQABzU7bZYAgQIECBAgAABAgQIECBAgACBoQlIAA7tjlsvAQIECBAgQIAAAQIECBAgQIDAoAQkAAd1uy2WAAECBAgQIECAAAECBAgQIEBgaAISgEO749ZLgAABAgQIECBAgAABAgQIECAwKAEJwEHdboslQIAAAQIECBAgQIAAAQIECBAYmoAE4NDuuPUSIECAAAECBAgQIECAAAECBAgMSkACcFC322IJECBAgAABAgQIECBAgAABAgSGJiABOLQ7br0ECBAgQIAAAQIECBAgQIAAAQKDEpAAHNTttlgCBAgQIECAAAECBAgQIECAAIGhCUgADu2OWy8BAgQIECBAgAABAgQIECBAgMCgBCQAB3W7LZYAAQIECBAgQIAAAQIECBAgQGBoAhKAQ7vj1kuAAAECBAgQIECAAAECBAgQIDAoAQnAQd1uiyVAgAABAgQIECBAgAABAgQIEBiagATg0O649RIgQIAAAQIECBAgQIAAAQIECAxKQAJwULfbYgkQIECAAAECBAgQIECAAAECBIYmIAE4tDtuvQQIECBAgAABAgQIECBAgAABAoMSkAAc1O22WAIECBAgQIAAAQIECBAgQIAAgaEJSAAO7Y5bLwECBAgQIECAAAECBAgQIECAwKAEJAAHdbstlgABAgQIECBAgAABAgQIECBAYGgCEoBDu+PWS4AAAQIECBAgQIAAAQIECBAgMCgBCcBB3W6LJUCAAAECBAgQIECAAAECBAgQGJqABODQ7rj1EiBAgAABAgQIECBAgAABAgQIDEpAAnBQt9tiCRAgQIAAAQIECBAgQIAAAQIEhiYgATi0O269BAgQIECAAAECBAgQIECAAAECgxKQABzU7bZYAgQIECBAgAABAgQIECBAgACBoQlIAA7tjlsvAQIECBAgQIAAAQIECBAgQIDAoAQkAAd1uy2WAAECBAgQIECAAAECBAgQIEBgaAISgEO749ZLgAABAgQIECBAgAABAgQIECAwKAEJwEHdboslQIAAAQIECBAgQIAAAQIECBAYmoAE4NDuuPUSIECAAAECBAgQIECAAAECBAgMSkACcFC322IJECBAgAABAgQIECBAgAABAgSGJiABOLQ7br0ECBAgQIAAAQIECBAgQIAAAQKDEpAAHNTttlgCBAgQIECAAAECBAgQIECAAIGhCUgADu2OWy8BAgQIECBAgAABAgQIECBAgMCgBCQAB3W7LZYAAQIECBAgQIAAAQIECBAgQGBoAhKAQ7vj1kuAAAECBAgQIECAAAECBAgQIDAoAQnAQd1uiyVAgAABAgQIECBAgAABAgQIEBiagATg0O649RIgQIAAAQIECBAgQIAAAQIECAxKQAJwULfbYgkQIECAAAECBAgQIECAAAECBIYmIAE4tDtuvQQIECBAgAABAgQIECBAgAABAoMSkAAc1O22WAIECBAgQIAAAQIECBAgQIAAgaEJSAAO7Y5bLwECBAgQIECAAAECBAgQIECAwKAEJAAHdbstlgABAgQIECBAgAABAgQIECBAYGgCEoBDu+PWS4AAAQIECBAgQIAAAQIECBAgMCgBCcBB3W6LJUCAAAECBAgQIECAAAECBAgQGJqABODQ7rj1EiBAgAABAgQIECBAgAABAgQIDEpAAnBQt9tiCRAgQIAAAQIECBAgQIAAAQIEhiYgATi0O269BAgQIECAAAECBAgQIECAAAECgxKQABzU7bZYAgQIECBAgAABAgQIECBAgACBoQlIAA7tjlsvAQIECBAgQIAAAQIECBAgQIDAoAQkAAd1uy2WAAECBAgQIECAAAECBAgQIEBgaAISgEO749ZLgAABAgQIECBAgAABAgQIECAwKAEJwEHdboslQIAAAQIECBAgQIAAAQIECBAYmoAE4NDuuPUSIECAAAECBAgQIECAAAECBAgMSkACcFC322IJECBAgAABAgQIECBAgAABAgSGJiABOLQ7br0ECBAgQIAAAQIECBAgQIAAAQKDEpAAHNTttlgCBAgQIECAAAECBAgQIECAAIGhCWxGAvBqQbxr4smJNyXOSVzYxVq2Gy13zgGvSuxPXNBta7/aZ5WrZsADEi9N/N/ElxJfS3wq8beJn08cnZhV2vXP2p46a6Ku/0jW1E6xM5W6/nckPps4L3FG4vmJmyTWW47JwCcl/jVxbuKLXb3aqk8hQIAAAQIECBAgQIAAAQIECBDYxgJHbcK1V5JsUjk5HXsndY6017VVMuuhI+393Rdk52GJced8SNr/OHHJxLTysXTeO/FvUwaNm3/c8NPSuGdcR9d2pGtqU1di7g2J72sNI9tKlD488acj7aO7t0rD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CBAgQIAAAQIECBAgQIAAAQIECKywgATgCt9cSyNAgAABAgQIECBAgAABAgQIECAgAegzQIAAAQIECBAgQIAAAQIECBAgQGCFBSQAV/jmWhoBAgQIECBAgAABAgQIECBAgAABCUCfAQIECBAgQIAAAQIECBAgQIAAAQIrLCABuMI319IIECBAgAABAgQIECBAgAABAgQISAD6DBAgQIAAAQIECBAgQIAAAQIECBBYYQEJwBW+uZZGgAABAgQIECBAgAABAgQIECBAQALQZ4AAAQIECBAgQIAAAQIECBAgQIDACgtIAK7wzbU0AgQIECBAgAABAgQIECBAgAABAhKAPgMECBAgQIAAAQIECBAgQIAAAQIEVlhAAnCFb66lESBAgAABAgQIECBAgAABAgQIEJAA9BkgQIAAAQIECBAgQIAAAQIECBAgsMICEoArfHMtjQABAgQIECBAgAABAgQIECBAgIAEoM8AAQIECBAgQIAAAQIECBAgQIAAgRUWkABc4ZtraQQIECBAgAABAgQIECBAgAABAgQkAH0GCBAgQIAAAQIECBAgQIAAAQIECKywgATgCt9cSyNAgAABAgQIECBAgAABAgQIECAgAegzQIAAAQIECBAgQIAAAQIECBAgQGCFBSQAV/jmWhoBAgQIECBAgAABAgQIECBAgAABCUCfAQIECBAgQIAAAQIECBAgQIAAAQIrLCABuMI319IIECBAgAABAgQIECBAgAABAgQISAD6DBAgQIAAAQIECBAgQIAAAQIECBBYYQEJwBW+uZZGgAABAgQIECBAgAABAgQIECBAQALQZ4AAAQIECBAgQIAAAQIECBAgQIDACgtIAK7wzbU0AgQIECBAgAABAgQIECBAgAABAhKAPgMECBAgQIAAAQIECBAgQIAAAQIEVlhAAnCFb66lESBAgAABAgQIECBAgAABAgQIEJAA9BkgQIAAAQIECBAgQIAAAQIECBAgsMICEoArfHMtjQABAgQIECBAgAABAgQIECBAgIAEoM8AAQIECBAgQIAAAQIECBAgQIAAgRUWkABc4ZtraQQIECBAgAABAgQIECBAgAABAgQkAH0GCBAgQIAAAQIECBAgQIAAAQIECKywgATgCt9cSyNAgAABAgQIECBAgAABAgQIECAgAegzQIAAAQIECBAgQIAAAQIECBAgQGCFBSQAV/jmWhoBAgQIECBAgAABAgQIECBAgAABCUCfAQIECBAgQIAAAQIECBAgQIAAAQIrLCABuMI319IIECBAgAABAgQIECBAgAABAgQISAD6DBAgQIAAAQIECBAgQIAAAQIECBBYYQEJwBW+uZZGgAABAgQIECBAgAABAgQIECBAQALQZ4AAAQIECBAgQIAAAQIECBAgQIDACgtIAK7wzbU0AgQIECBAgAABAgQIECBAgAABAhKAPgMECBAgQIAAAQIECBAgQIAAAQIEVlhAAnCFb66lESBAgAABAgQIECBAgAABAgQIEJAA9BkgQIAAAQIECBAgQIAAAQIECBAgsMICEoArfHMtjQABAgQIECBAgAABAgQIECBAgIAEoM8AAQIECBAgQIAAAQIECBAgQIAAgRUWkABc4ZtraQQIECBAgAABAgQIECBAgAABAgQkAH0GCBAgQIAAAQIECBAgQIAAAQIECKywgATgCt9cSyNAgAABAgQIECBAgAABAgQIECAgAegzQIAAAQIECBAgQIAAAQIECBAgQGCFBSQAV/jmWhoBAgQIECBAgAABAgQIECBAgAABCUCfAQIECBAgQIAAAQIECBAgQIAAAQIrLCABuMI319IIECBAgAABAgQIECBAgAABAgQISAD6DBAgQIAAAQIECBAgQIAAAQIECBBYYQEJwBW+uZZGgAABAgQIECBAgAABAgQIECBAQALQZ4AAAQIECBAgQIAAAQIECBAgQIDACgtIAK7wzbU0AgQIECBAgAABAgQIECBAgAABAhKAPgMECBAgQIAAAQIECBAgQIAAAQIEVlhAAnCFb66lESBAgAABAgQIECBAgAABAgQIEJh3AvBqIb1r4smJNyXOSVzYxVq2Gy13zgGvSuxPXNBta7/a11t2ZuDPJ96R+GzivMQZiecnbpJYbzkmA5+U+NfEuYkvdvVqq771lptmYJ27rqGupa6prq2usa51vWWZbNZ7zcYRIECAAAECBAgQIECAAAECBAhsscBRcz5fJfsmlZPTsXdS50h7XVclyR460t7ffUF2HpaYds5KzL0h8X2JcaWSig9P/Om4zl7brVJ/beKavbZ+9ezs3CPx/n7jmPqD0vbcxGXG9FXTexKVQP3v2plQls1mwmXObN6VEftq1L59+3bs2lW7CgECBAgQIECAAAECBAgQIDBPgf379+/YvXt3m7Iq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S99UAb8bm8pr8m0q4Pdim964Zb7sE3Jxe3vxmNRbkqdep+33VX1S+Z10tOP+KfWfSNyy29Z+63ta6pPKJdNR52xjX5n6nRLHJ34x8elE9f1P4kcSk0r9cY/PJGpsJRx/N1HrrKh6S1bWmPqlmlR+NB11rprnU4m6hrqWuqa6tnad/5B6Xfukskw2k65xPe1l1dY8zW09cxlDYFUE/F6syp20jnkL+N2Yt6j5VkHA78Uq3EVr2AwBvxuboWrO7S7g92K738ElvP61XFNL6qxnO2kJ9Wryi2fM9aL0z3qF+SoZ874p81yQvockZpXvy4BPJiatqfpqzKxS56pzTprnvemra55Wls1m2rVO6/M/QNN09A1VwO/FUO+8dc8S8LsxS0j/EAX8XgzxrlvzegT8bqxHyZihCfi9GNod34L1ruUck5Jb49pnXVI9NVffn/eJRCXOalv7057YS/dBpV7t/YVEPVl3TuK8xMcTL0jcNLHeUom5pyT+PfGlLv6tazsm2/WW78rAOnddQ11LXVNd28MSk15DTtchZZlsDrk4DQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWI3CdnPaZiQ8lvpL4XOJ9icckLpdQCAxJ4GpZ7F0TT068KXFO4sIu1rJVCAxR4BZZ9G8k6ndiX+KCxJcTH02sJW6bUAgMSeCKWexPJp6VOC1xRuLcxNcSn0mcmvi1xDEJhQCBiwSenk37d6ra7rmo2U8CgxDof/an1U8dhIZFEiCwEIG75KxfSEz6H6EPp+/6C7kyJyWwGIFJvwvVvraYS3JWAgsVqOTGtN+L1vfSjLv0Qq/UyQlsncAP5VTtsz9t+9mMu9PWXZYzEVhage/JlX090f992bO0V+vCCMxfoP/Zn1Y/df6nNuOyCuxc1gtzXSspUP8gfnminvKrJzl+J/H2xNGJ+q/aD0l8Z+INiVslaoxCYEgC9aRTPRn7w0NatLUSGBG4drd/dravSPxD4r8Sl0zcJvGriRrzs4n695j7JRQCQxCof0bUvzd9IFH1TyYukdiVuHfiXomrJF6XqH+P+reEQmCIAvV78cJE/TOinpCtty0UAkMV+OMs/HlTFl9v5CkECBCYu0D9S2v914f6r3H1f+JGy2PTUP0V/2e00z6BFRV4UtZVrwBfvVvfsdm234O1rs2GwJAETsli75uohN+4UgmOjyTa74nXgccpaVs1gUm/D/113jM77ffib/od6gQGJvDorLd+F+o/qj6tq9f+noRCYCgC7Z8HJw1lwdZJgMDyCNR/iW7/I/T8CZdV/7Xug924+l7AS00Yp5nAKgscm8W135W1VV6otRE4AoFKmrffkz84gnkcSmDVBCrhUb8b9SqwQmCIAruz6C8l6vdgT+KkRPvnRe0rBIYi0D73Jw1lwdY5W6ASLgqBrRCo/yrdyktaZWT7zey/tGv79mz3dHUbAgQIECDQFzi1t3ODXl2VwNAF2qtclx06hPUPVqBedfy2xMmJUxMKAQIECHQCEoA+Clsl0F7Rqn8xre+umVTqy99bOaFVbAkQIECAQE/g0r16/ccjhQCBHTtuHIT/3UHUH1VTCAxNoL4+op4QrzeJ6quFFAIECBDoCUgA9jBUN1Wg/qW0yhmJbxyojf/R/xfWdsz4kVoJECBAYKgCJ/YW3v/nRq9ZlcAgBOoPq90w8SuJtyfadwV6NT4YyqAErpzVts/941L3Gvygbr/FThG4T/rqu5PPS9Tr8R9L1BOyt08oBAgQmLtAvYbSvoOgvtx9VvlyBtT4d88aqJ/ACgocmzW135e1FVyfJRE4UoH6j5fvTbTfk1se6YSOJ7DNBPbmetvnf9z2Gek/aputyeUSOFKBF2SC+n14V6L/+T+pa6++PQmFwFAExv3zYbTt1cG40lBArPOiP43OgcBmC1yhd4JK7s0q9Zrw5RP1/R0KAQIECBDoC/xydo7vGupfXN/f71QnMGCBf8naH5aoBLlCYEgC9bVBD07UW0b1O1BJDoXA0AW+GoDXJd6WqLcl6v+HXzVxYqJ+T45J1Pf0vzZxx8TXEwoBAgSOWKD+Glf7rw0vXcds/9WNr9eFFQJDEzg2C26/L2tDW7z1EpghUP/SWv+CWr8jn05cPaEQGJpAver4XV3cKtufTLwqUb8X9e9O9R1oCoGhCNR3wn4wUZ//p49Z9EldX/XvSSgEhiJQ/6yYVOrfn/4pUb8XFb+UUAgQIDAXgfovDe1/XP5qHTPW/6mr8f++jrGGEFg1gWOzoPb7srZqi7MeAkcgcNMcW1/sXr8f5ydOTCgECFws8LOp1h/F+Z/E3oRCYAgCJ2WR9c+F/0zUG0Sj5aQ0tH+v2jPaaZ/AgAWun7VfkKjfj/peQIUAAQJzEbhsZmn/4D1lHTPW48k13ncArgPLkJUTODYrar8vayu3OgsicHgC18thn0jU70a94vVjCYUAgUMF/jpN9XtS/y717Yd2ayGwUgI3ympaAuPuE1Z2Utrbv1ftmTBGM4GhCtT/N2+/H9caKsKQ1r1zSIu11oUJ1JMa5ySuktg14yrqX1bbf73bN2OsbgIECBBYfYH6F9K/S9S2/iX1gYn67j+FAIFDBeq7nO6bqH+X+pHEXyYUAqsq8MtZWL0C/B+J+ovY9Tr8aKnX5Vv5wVSu0e28Ptv63nGFwJAF6vX5u3QA18727CFjDGHtEoBDuMvLscYP5TJumzguUZ+7eoJjXKn/ktdKHaMQIECAwHAF6j8cvTVRr6lUeWTipQdqfhAgME7gs73G6/bqqgRWUeAy3aLqnxEvW8cCf6s3pp4slwDsgagOUqD/F7MHCTC0RV9iaAu23oUJvLM7c/0X6e+dchUn9vre1aurEiBAgMCwBK6U5b45cZNu2Y/P9rld3YYAgfEC9QRHK/UasEKAAAECBCYJtH/Hqn5P/01S0k6AwIYFjs8R7fsFnj/h6EpIt7/i9fnULzVhnGYCqyxwbBbXflfWVnmh1kZgikC9ylX/4aj9Ljx1ylhdBAhcLPCGVNvvzZ6Lm9UIDFbgpKzc78Rgb7+FTxGoJ2e/lqjfj49PGaeLAAEChyXwjhxV/wPz9cRtxszw2K6/xpw0pl8TgSEIHJtFtn9RXRvCgq2RwIhAfZ9TPfnXfg+ePdJvl8AQBfZm0fVH1aaV+j609ntzZuo7pw3WR2AgAidlne33Ys9A1myZBO4Wgmn/DLh6+v8p0X43fgXZMASmfSiGIWCVWynwqJysXus9OvGWxNMSb+/260t7H5qo8tHEsw7U/CCw+gInZInH9ZZZ33nWSrXvbTvddm1k3y6BVROo73H64W5Rf5/tixP9L3Hvur61qf96Xf/cUAisssBJWVz9u9HfJN6ZqKc16hXfKyRulvjpxA8kqtTvxEMSk75vucYoBAgQILC6As/J0uptuvpnxrsTZyXOS9T/z9iTeFjimESV+meKr1g5QOEHAQLzFrhbJjw30f5rw+j2I+nrJ0PmfX7zEVg2gbVc0OjvwbT9Zbt+10Ng3gLTPv/j+s6a9wWYj8ASCpyVaxr3+R9t25dxd1zC63dJBBYlcFJO3H5P9izqIpyXwBYLnJXztc/9tO0rM+7KW3xtTrdAgZ0LPLdTD1Pg9Vn2dyfqacD6k+O7EvVfqs9IvCLxR4mvJhQCBAgQIECAAIGLBO6QzQ8lbp+4caJe36qnN85PfDrxL4lTEi9P+PeoICgECBAYsMD9s/YTE/W1W/Vdf/Xk3xUTX07Ufyj6x8TJiXo6UCFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4P9v715DbSnLOICfjseyMrQ8hdEHDxkEZmgWFCZ6NLULERRRIF00pBNkH6KIyIoNQiRERNFFi1x4ocj64AeJEiGkKCyTyoq84HTRIkqjTM1L9n9kJl63e629Pay1ztrO74H/ed+5rHdmfmt/kNeZNQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGIbCWy3ykzziueMeOrrnm4dpr3TxrTwYbxm7byTwPYiwCBAgQIECAwCoK7FzFk3JOBAgQIECAAAECBAgQIECAAAECBAjM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IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBV4H9oQxhWAlbEtQAAAABJRU5ErkJggg==\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"Text(0.5,0,u'time [s]')"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plt.figure(4)\n",
"plt.title('Pressure')\n",
"plt.plot(t, Wf_p, t, Wc_p, t, Cc_p)\n",
"plt.ylim(10e5,12e5)\n",
"plt.xlim(0,5)\n",
"plt.xlabel('time [s]')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.17"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
@finback-at
Copy link
Author

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