{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interaktionen" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " const force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", "const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " const cell = handle.cell;\n", "\n", " const id = cell.output_area._bokeh_element_id;\n", " const server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd_clean, {\n", " iopub: {\n", " output: function(msg) {\n", " const id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd_destroy);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " const output_area = handle.output_area;\n", " const output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " const bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " const script_attrs = bk_div.children[0].attributes;\n", " for (let i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " const toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " const events = require('base/js/events');\n", " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " const NB_LOAD_WARNING = {'data': {'text/html':\n", " \"\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"
\\n\"+\n", " \"\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\\\" + JSON.stringify(cb_obj.geometry, undefined, 2);\\n\"}}]]]},\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2830\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2831\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2842\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2844\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2836\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2871\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2865\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2867\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2866\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2PlOIsoj7z/w4BEqPmMaQNVUE80iK1BArK6GPD32T0DOD0SqZUJYQGic5bejuUlAldf5AoJTUEBVgKUPuPlKQLBmcV4nNlVAbN1GDBpkEEAFwHy6DmhWQJpVBQRSdThAd8htPQFQQECurj7poehQQHF8/iI5lj1Aa6DjlxrmTkA7d4T+JvhMQAJlM+q44VBAhramuUQ8VkB8mxxi0iERQB6KzhRHQv0/+YsNc11nREB1Tvic+mNFQHLlWQeyzDVAUzaAvOyoUkDTRsy1zsBWQAOhSfrvdC1AJnfYn2aPLkD2jAvFc01XQNyT8Z4HqlFA4Iz10+mI7z+kRVyCbmdKQBuAwUj8F1JA9LH1ePIeRECbX5arcrYoQJvIMIs6U1BAIDOqEDmIO0BOhGClJ4VYQNa7zY/8g0pA22fuNUEvTkB4HaHzBfcSQHTIJYH2kylAmx7w4JWoN0DxfHwCbZNUQAEAgcjoNUFALxxFXuebQ0D+93tw9q9LQD6AIZV/AVNAs4DSJo1aSkC3IirbXYQwQL2a1vYCV0xAIm8rktUJRUD5in23Ao4zQHWJAjYu3EtA6hp+rMY6S0Bsz+of/WROQFRCDbrl2VNA+EFM3B1VC0AglUdMGxgtQOBws8W/vyhAE+a8SvcdPUB9V2Oe+iFOQISFWCWC/ldAmJijgtwGOUAs02y0zIJQQK0Y5oHdVFRAIU3nlSjPT0Dohwxv3OvkP+NtqoFcd1NA5A8o5JuAQ0Dw2TlatYg3QJLOf8Fg61dAOFpePIoBQkCy1/urSWQ+QNruO2cHtP4/oaeGLRvHRkDYyCiVkhFQQIxGmH52TVVAC5IX0qYYRED/QtGYUd1BQCntwrbKQzVAJurAFi/OM0CWne57xPFRQNzY8yYRTFVAXKFuBNDGQECLiWmysfFWQDCuRp1M2FdAoDn7eIXmQEDEhE3uq2NSQCc785EIgFdA0lUW0uNVJkCTCEXDHrtWQIOaAVtFxk9AI5HG1x2KDkAuPLKjhqZJQBVGGS0iJVZAQIT41fBhWECe1dVbpwpQQAjkMwVPLz1ApKx/dttRM0AUPazTWEtUQChFM5xBRUdAcVtdZHyPPUC9UiqRkG1RQBWI6D3Cf0pAcch0knLbVEB+OWI0zaAkQLduafZaU0BAfCZjtYaUV0D6Gnh1xRxEQMxKCkppKDlABFMVC3UxV0D+GjK9g51NQEiND3eodUVA/hJu8G6kWECdm7vMkONTQKKFvNltbiRA2TPHHGEbREBOj/ON+vBMQMjWGKlXejtAL7yPjY4FRUD+N1YPYo9QQBgreUUDnRVA9LePMjOQVECLhqY2IehVQIXucf/DdENAG44Qm4GjVkBZhXmLGP9AQBfr5X0dS1JA5ZL5oz0JQUDmFS7osQ8mQHtcKcDyqVJAxDgwJcLqMUCgyyVVmuRXQCo8OAozP1JAZZSBMjlOVUClA5Xe61NWQFiQkMjN7lhASK85ktLWTkBt8QI3Bq9IQMBn3v/QAVJAjs+GFImkUkCMuFARaz5EQK+hiukZiVRAAS4kkdAOSkBY5+vvc09EQEYIeNEdYVZAoeuvjoSzCkDw1wBuElJJQBohhAjoQEZAFqKtfIVGV0CIWIlewUM9QPmQBjeMIklAzrpQAXhPUEAFqNFNaMJYQH6xYYDvIjpAYbUcEWnaWEADP1Bf2C5WQBLafm4l/VZAo1gnlgqKVkBHKi/fYFxMQCpcd3FW3jRAZEvMCUIVQUDBwALAKQxIQL+QvRLnxTNAv1RHZ0JySkBcIZ/Xa+EfQO+7sV2AtUxAMZ5Qg9+0SkC7m6Ahr2hPQMeh6fhd0DBAOhtDT+UuVEDbKXeDkPVIQKLJHEr9gldAsa79OYDLMUB/6EO+vSocQMjgUlxXBlJAI3tNOYKQUkDK3hemmF47QBg9Nl5jkFJAiooU8El5T0AHSFZyovFWQNKPwzIj2/I/VeXwAGaiUUDU5Dqo75c+QOkEUc1wjlVAYeSccAFiM0CZ+CwKNK1IQHhuvLIU+zJAtOxNKqsxM0DAcaOLTQ/qP5vfNmIPoVJARLX2mAQFOEDiLhzTWVRKQEDp7O0NL0hAl42rqoIYQ0Die9FUEDlPQO2dfZheeFJAHhiVAG49VkAc0LjjL1k1QKeeFhJQgUVASPOBTNIUTEAgipBRwktSQIKHwqeOwjtAFd23NpCCVEBRtjn+GX1TQM5HbFq+DFhA3yh1wHXXUUBuFqdT7zxJQFf5UrMBSiNADyCNo/DvUUAlQH9HNDRQQNF3iKRuR1NAzox5iB/DS0AT6/ZJSPNLQLoWQfxGlFJAEovMzo/3PkCzCxx8tNNXQAqtgBHLUk5AuJC1GUm3UUAgBx4USvBRQHQtXZO/SChAALmJ2R7fT0C+c6ONKd0xQLnRYGLY7UNADKUT3iDyS0CwgMl5BPhTQP9V6HNrhjxA/W3G4S9oLEBHcSPWBh1XQLEsVMnPY0BArlB+RTrtM0CvtXl4MzxRQIArBmGTRVJAwWQfQMeGUkBmKA7pv8ZJQEhFzbW72QhABJzfUM3DQkDUtSF1oooiQIydJRVSr0hAQTfUpuzKO0DknuEFUcFEQGRkCiRFckRAyBLagcjkIUD1f7D5qh5EQLq2+zunYEJAzJ7ioT5dVEBAP1LPPDvpP6UnSZz2NDxAgaaiGVXLU0AjpN/y7yE1QIBpqY5WOVBAGqTC4LFsQkBBhfykyGYiQPiNfKGsJEBAurqIK0iZRkDmkqK4Fl9OQHkjoah3k0RA46q2AJPAQ0CrJ4XodyFPQGSKKQbBOEZAcTuF9SL5QEB0AmbDr+06QAQvtwqgii5ApYmeDvrBTkDFZe/mWb9YQF5DRAwJJU9Aam8jTGdYVkC9s5VqrxRGQLd8jiH1hVRAYrDgFX5vV0CldXkviPJIQPfmZnCMlExAJr43vYTtOUDU3w7WuV1TQGeFuipXg1BAtmMc+zYsREDLanF7daZOQGzD2p8awiBAKR/F4QUqSkBjsspUvwNVQA8Eofw17VNAhTvINJPLVkCKukElzwJXQKQWXF+bfCpAArrl+DuOVUDtZpjPbARJQF1PGOMVWVZAgZjDU7N4WEAjpjI0KQ80QJyqTDWyokZAwI9FTILn8z8hbwpLeBM8QPhs4LOx9EdATZtMFqmJUUAWtii+tQRYQJ+QuY/H2UNAs2OIG8jLAEACNyBykrFOQNxrkMBaIlBAWOixMZp6I0DRolAy5o0sQPVJaYnZgkdAfQY1UVgZREC7bNNR3/lTQMJ+1IVT9DtAOT71JUw/QkB00yvOSFBGQOcRc/MV20xAsUyDkqlXVUBQi+NEoodCQHHoUknXXVVANiB5YlNeKkAmmwXt1l5TQAeTP1TujkVAVP6hXr8tU0CrZldc/PNJQD+zom32/lJAhGQ63snXWEAxWwtzH2xVQI7n40FCDVFAo7kLeRCYVkAxbvDCvxI8QOl0VqULzVFA4rHxcjIONkBrZBhgfzQsQGkCYsKWMEpAxn/07kaZGUAWvu4hRyshQNgEOS4WGzFAyqrfhSZJSkCsZoUbaJokQHyV1s3kXVFAVE0wTBKxRkBszEc82KcyQCOqczHMRDlAYUwtAFEbMUDqHr7YfZVBQOPjape+TzdAYlqy7Wr3UkCOvQ4DZ0tSQJJRBnz+uR1Afa+JPED+VkB9RlGOuHlUQBoyZs3GAANANPJgh8wZVkCyX3w/IdMzQH2RfCNe8lNAVACP+B2aKkAKG077OIM4QOox1rkKSFNAZud+QLQyVkDXKMNK+g9VQPC389+cVVFA11VLpViwUUAUJ3jj0ntRQIwdoDRGVTVA1OrunIXqUUBsymIA4GNUQFOw24drtFJA7OYu+CtqJ0Cg7DqCHAE0QOHJlYozTTFALMrilL1/UkAh9vHMAAE5QOHid/X5qDBAyivP/QkGSUA6+XFHUO4mQC7r6bLDgDZA3u7/xSnhR0CVlnzcqDZRQA2gjuMPcT9AXX19kS/1QEDldKc8e39XQMFYq6GjkE9AAu9EuKMQQ0AgEXF/79o2QCAuSOnMGx9AKVERZJF/WECQZh3Y6HJCQOGZNRLLhzdAMFUIP85MR0C4g/TjBkJDQAJCGRVRkxpAz6zNq+ltVUDjwVzxrz5XQE+bLtVw8FFACkcGoIjvR0Br4cjOqrBNQKiXHa6CglhA2Xoh3LHVWECtB1hAQgROQHQehNBghBVAEtWwm8qkNUAIdHLOQgssQGRZdB2M7BtA7F3lztVUPEDsdjGfj+YwQCIeJex5LzFAeRtwwSoxN0DopUnBkHZMQOze15oQ7DhAj4fvov5dSEAxkHmiiYEiQDRvTRwV6FNAiuvNClOXUUA96Myr8wVDQOTDOpY8HUFArGbBjYm/VkCj+K8wl4FYQIN0mnvhdjFAkq01Ck9jRUCQRo34Z2pWQJVaxyoWO1ZAFBpuLBE1O0AulPxPML8cQGQof4IcaEZA0pyqTF+aGEBEm5qTl6lXQILPStGYBkNASpSMoDt2T0D8YPHM83IRQNLImVfDbFdAwqr9pciVE0DNx0YrdThVQDkOxiKqajRAMu/tfwGQVUAlZSzRn/QxQKQ2Z0CrHiBA7ziZS978OEAN2k2mG3c7QBZ13JhHyDFAeqz9VimFMEBF+zyVu7dBQFOZjynv+TxA5LpVo31hQEB8cL4abeT6PwT1K8tpfSdA9F6YsopGTUBG9xybw2gyQBnXb/Lc/FFAnSrfP8HPUUAyItPnBTUxQNPk5Vk6HFZAA4dZh/rcSUCSlXmH+xZTQF1iZJZizFFA7jJQST6pLEBrrYPtpLYQQPwR1En8AURAa6CdiWoAJ0ATwEAvLo5AQA+JIz4yFFBAmzGPMjkiTkBPU1GHv31UQILxnsFao1JACnsCvZ/SNkBunVzjnio6QCIGlHUFH1ZARTewZ2UoGkC3DDTL4gIiQGsDqOR4IVJAqag7ZHoJUkBoWk7FaCwsQM4UTzy+cEFAluvvLefROUCTJaTxlv1UQFi5Oou9bzdAsKjzrV/pR0AtcpkcnLwFQITN+QzerFZA1cJifablU0AAtoPWY84wQBzaEhpi+EBAAEvB2aWWTED5U4TcQT0+QGb2IJ8tBkNAE+8GiCiQS0DiMBcLcadRQJEBLINCDEtAUNza3ylWVUD5JN+y15NNQFttI5R7G1hAnGrhin8WQUAalYeVT2JHQO2C/2EszDNAzJfhk4CgIEBzVeAaksYaQBqnW0OxNVNA2xwga8auRECoMc0HTIFLQIkaiNHQCkNAZWZGs1p7UEByuGk2KZxVQNbhm5BzVFNABKPt6rlIUkAN+PIaHtRHQDL+zRzvoUZA3sVJ0lKRV0AkoLkI210sQFQjQ+v9lURAjubrve4TQ0CgwsrrhI5YQBQ1HtFWtUBAOH1b4Wau8T9S0ouHWE9SQMpG2nw6YEVAgvd7U7b3WEBlgWlSKhoqQEE8v4yEIjpAXxtowDRKVkBWFN68hKhAQPTCGQQIW/g/TLCWHe6gUUBr6vXVUZ5GQIb2jp1j1i9AudCcUcXYUkASOjqcQQJRQOjrd5YmSVhA7Y6b+0mOUEDbvJqI3XhSQFOKMfF5IEhALu3dEkr8U0B4QRPNL71EQPlCJ801LEtAEOpBSkE5UEBN9vuq7L9UQF1/ZHY570FASmc/Ka54TkBw5Q+ocRQxQIRXBA7zUFFAIhhR6B1xOkCdfgPgBxBXQAX7zsSR9ElAYASqA2BnLUCv40ehiZNVQCQzrfzbED5AFyZIPGxOVEAEkJ1CAApWQARM+S2VIx5AJP5ltXpkVkAECscNFPMXQOI7rJVjPDNAdLWpMviyVEDLRtmC9+0+QPCApcF3vhlAEJRN9TE4Q0Cz14uCQ+tPQE/rVdxbc1ZAwyWiRf3YREBf9XLzdDhUQHyiv0uiy0BAFOphEoj8VkBPYWY1imVRQEsKHA0Lk1RAOc38GALFMUAujN2B6wE9QPiExRkrIDNAUZ9K7hAoT0ArYwYmAZpYQCo0QNu8vx1AoJhcCeU2UEDgg+T+8sBRQC18gi/szE5AB/Doe0j6WECwboTejm1GQEv6OcJcoFZAT+kGnAFhREDL/Wl+k1hYQEqd+Wr++xVAPoNni7wATkA/L40Z/r5SQHJoWul890RA1Xx/b7qZVUBhhSl6tHFMQPdeuxcUUDJAMp4Mm63JWEBU5aDFuBlTQPWc6Fy8ZUtAQVR3IFPqMkD51Wise9pRQAj3NfxEykpAHm2oecjjVkAdKPBon75LQOBJLg/++zZA2B+1yuXLUEB/Itu8yb5DQEPeEIjBnlJAlvIahbG1NEBpfRP7vaVCQMIv7oD1ITFAvVsaRWFIVECUxKnSi0NLQHwSYax2FCRATWvgv3dxVEBLhUPdiWlDQBrRXIOXVUpAN+xFslOjR0AgYofRvI0qQDvLsnmSBkZAu0l9chZXV0Bj5lqzYg5MQB+SUe0MdldA1ohUd/ebVkBLknd9kjREQHlrqGbphi9A4frwdWE5WEDpgONZt9tSQEMfpTPycUxA8sDbrEy9OEA2KIXqsAQNQLtOdvcwLUtAGwJNNNeHN0D5IgwHeWdRQDz+3pljaFNAqkKRP5RpUEDAS80m7h1VQAmq7EARyTtA5vwttZfHOUAK2DTgDFFRQLoMXExDighAcsDKi91pWECkuoAgK51BQJLaCdeFjFhATXrCd1QPUEDy33n3xDsrQJbzhb0if0hA+IACKTx+FED6rsREhvAyQB1761HuP1BAkxcIleXkK0BqH55fXh9LQNs72calX1FAydpPU7zqMEDQXLnx2Gw9QO6j5nHOr1BAG49VL2xjVUAzQu5TpJFNQNjzWX7OAVhA7yfXi29TLUB58IOuisZBQLTkGTArjVFALFIn0uf4UkD/GfAf2UNUQHErAKKJrlJAeTeHbBt3SEBUpGjIg6kaQA5eEvZU1E1AkQ2MBzEfO0BWzB5xaWlWQGUxyeiHc1BAkElMTpEDLkCrI+hBnKBWQM81MPmUWVZA6x8AGeihS0AeuZ+GLyP0P8zQZp/FH1BAYEGEqLkyVUAzS967xMlMQApzzxz+VPY/7NOBZIOESECXHQjdMDBYQAVAEFiwSTFAcWWujU4NUkAs3XDCVJ8AQP2YT2O0w0tA7lw7wRovDkAVZ8flz1NYQFDADsbeRkhA6ptSdxmTTkD9oXATJ3NKQP6Yk9qWFDxA2uyhyM7GWEC0ZSheLolLQDaX5+sEa1FABMcinU19WEA1i/pX+P9HQCAMT2TQ5U1AXlkx6OXKSECj/mprucc1QD4onEeItzVAeTzvSe4xOkCCSl2Yl7hIQN7ljy6xNUlAgvlbiyj+BkAkUKJv0UYvQGvlRrGLnEhATDdrDdjqA0BAvJrorVdIQJkpKS+nHE9A+gI+uWW5RECpxvWwpBo6QNB+Xg+XZEdArfoyBh3QIkDfAtFGmHZEQCHBrTP47FdAZwT/LEugNkAV1wmFFXFJQM9GByZq4kdAbimPJ4H0RkDU2hk6QMkYQNWl2+nbFVZAuP7kZn8kL0CjcGAhcYMwQOpOtORsI1dAWAWuzhgRVkBdrfDkQ9MnQB0/6TFY0xtA6t8roo+2WEDIIcBOPDhTQOpsCPEkdkJAGQ7MRptrSkABZOaKMaVLQJyL/BuJUklA0Pg8hQnLTkCINOLmqqxXQI6Ll0iRuTtA+92dbDxuUEBaOMedbXpEQIUciPjwqlRAILlXEtJMRkCsYTbL7kUbQHGQe9Z1HDRAMAPeOyygPkDbFm8tY8RCQAH2cpexFlVAdZxcnim8VECPOxYOr0ZUQAJCJbGFqDFAVGvhmF60VkAzdtJd06EVQG69mZaCiv4/yOiYE5qmVEBf374SGkM1QCAZXl7psFRAW0REmmciSkAVcAw6YVpVQMiVSXTYWFBA2VXqXtssPkCBz/UvtJlNQA5ndtbuxz5AEFtkrnlR1j+QQf2TrQ9HQDhK/wBgk0tABvuY1JAYNUCmMuQ3Ytv4Pz/DJGRWmStA2LFQ8xjvUUADyzj5x0hQQJMp5acXXyhAXMH4aX93S0CIqYnNEYkqQHx6XGZppzlAYxwLp/3vU0DQ1LvOAJRWQJODmVi8CElAhgHj3xbFWEBpxEOOHQxIQOnAjVnPW0ZAJJkFVXQ5J0DLOaEUrQJMQBo63EZVZkZAHuZfRrzDQEDz0YyzQrs0QJXpP0DSB1BAHitdtHcDR0AuhPN08b8rQHnNUtQ/llNAO5qjQIZqSEDbCbbFYx9AQCrjapgCoklA2yR9HaAOTEChnfiOypNBQOu018QswzBAneJumRtnUkDESrwlomNYQD8XDKhz7DtACYVKGrVVQkA4UBLT5h1CQI9xehkQs0pADDA695yMKEAaVpri+TVOQPXvZNTHFEhAigADNzQiREBia/S+q9lDQL5y0riGSFFASFznKr75WEDSPEhHnctWQN138DP9zyJA5Sm7a1FfWEDMl/rWNJk7QPtmCi1tkjhAlS1ym4RTUUBaIjMkXfg6QPZtoAG2zwRAnv1DL+ruVkC9ErZmZ4pUQMTP1xpS1/g/bLZn5BZBSUBOeFlD1tlXQOlGne/PLVZAiBXdi85CUEAVRrD+32UoQNDm/2hWGjRABcvU9Fa1TUDqQcy7Um82QM0iih7H0UBAHfTmnlH0VUDdqTFepotIQALUTU5LEUNAaZ8+KXi3UUDjP6n+NzVLQPXS04Sr41ZA747xqkYPT0DA4BuegPQ3QK5Nlh+O7UFAVMtrW/xPCED+0kCoMSxNQLmqhlat+zJAs1bIVWOnVUAirXniOdcnQP2RFeKRUlhAoqacvd3qWEByP8QW7xRJQNYr5QTuUFdADAUybTEhE0CLSpI2YbRIQBLE80j9B1FAUZnmyNhHVEB3T2lcr0ZTQEjiEZYjt1BAGjdV8a/wN0BSXEZ4D+tQQO7Mgao5s1NAYVoTk89fV0DdrTiW7z1EQM7c7VJz4iRA808twHyxV0Ccqtt9TeVRQHSVuBsVvk9AoJPBhi7WVUB1fmpADEhXQDqsO/3Nw0BAsFhl1g6qUEDwqChRjDMpQLU9ZutaCk1AF69PJAo0SUD0ecOpnjtNQBD8ZdnjQz9AbEgwMB0iVUA14APaY1hRQNDIFC84dTFAudQ+pO2cVkDKyIvL1npGQAu+qjJeDVBAZIzjYHzx9j9Yp9w2z49BQPXT2g/slU5AGnHCnP6YSEBJNcr6Oy4iQF4A6Fp2mVJAt1j63z6UWEA+HF8N+01HQJXwP0pFnU9AIiSr6gCeVECTrihofNJIQIpzre8QhTRATGWQws5wMkANbWK1uFdPQBGX8/rWJA1AuBv+L3aHU0BK2UUTq6NEQO1uckXunExA4MK9hO1cP0BgGtbDhUNPQPxfRl0GT1JAEhEf48DMQUDuZQWshURHQEID3U0stU9AVxpJ8BP3O0BdSoQPGURDQLje+Qli9E9APiZgFgcHU0AMYhNcPJJWQA/fTcg26SJA3bvXZoU8N0A4qFoO93wzQDK/4PBSIy5AtwUH6aWSTUAl/dcpqMBBQLKUvT/GgyJAQfRVul/GRUD63n22lnNDQDQjK3EoP0RApNmtVeeQR0BPTZOrlGNSQKagrlqnng5AzeW/q730U0DpLmimuoIyQKcFyif8X0NAmOx4jCxdLEB052mTO/RSQEEC40O09FBA5JLwqvvOVkA94XVNHY0lQD21f1wOAFdAKYf3lfegTUAeSDkUjmUwQCLBevgvNjhA8tBucaEZP0AaKq3l3v07QP10fiMzBA5A6SnKh0D6M0BVbOj9zkhCQIh3GBAIoVBAEjyFmcnwTkDMr5IbU9kfQMZ3oprr2ylAl1C3cKtDU0BP5zW5nRRPQJwzkXGdjFRAtbZklikFL0Dcon7qwiRAQIDoGyQoDz9ARE0Gn52D9j8AUcnTyvs8QKfsi8KHElBAr0JnLNmmQkBjURp5K2cqQGRKg8C3N1JAIoFftjorK0Bq68UZdxVBQLjYgYyBMiBAQ4beseW5U0BHUL7VDYBUQK7n/i6DclhAfYxqyeG4U0BSJNISSuY0QNxfJAg2C0FAIPb9jALkG0Cq14mDkalQQM4Y3Cb4Wk1AhRtNwP4fWEAq9e0TukxYQMr4eOLD3lRA5x4NAQrrN0DZLaOAGiJPQJiQOSZcYT9AXhxIz3qESkCTvE0Y/ZRBQI+8MmEbqVFA+/DZ/gMNV0A5LSVubJ9UQDwkOwTR+kdAm8DGbmzcSkB9k5WEpAdVQJ10TgB44VJAqPAEeQkLO0C4clxeFIAeQLN4+2T57FVAqByQ2dKPU0AmzOPM8VJLQHuJqAFiJ1BAJDwaJQbiHUAVbiAdXpdDQMUs4pmI0UpAfHaA4O3bQkDgmzLhpV7bP7bZuGLuVD5AVBgnPJkdUEAIglWY43EgQKe4UIAZLkBAoQuQjgfzTkCYD6A+sKs/QPiC9NWjXDpAFm2hMy1DVEDfM0jl4XJVQKlL5Zvj+EpAhp3dZ3C2P0Az6KOz8vRYQFI7k9gwV1NANzT6kMymNEC/fZPEZjdJQFV0QnEEZk5AD7SdXBoyN0CAb0D9rsdSQJmIF3IwpAZAeoTIw0xlT0BIf362d5FUQEA7aDDKQUBA5i7FOgInRUDREUQM2xRPQIQCeV1BAeA/ZOt/Tqd36D/Uqr3tGNBMQKJpGCplQVRA6AN1ZTiXNECX8wz7gAVOQFgggN6nX0dA7ES4CtfoOEBOsQHCunktQAIh6gT6RjJAYtMTcgruQ0BHZkMztVNTQCUmtCZtSklAs/W21bCZVUCaz3/mzjtIQJyBA8l6sEpAdAY5vixTT0CWwIQG3c9GQJpbuatwjUFA4DHm5O4sRkDTNhLVFPdVQEjcIaCqAE1A+hiHIzegWEDhAbiSlPlIQLuLKPfjJktARIFeOkt3VUCfOreY4ohJQKifOX+uU0RAK07y5O5HS0AE33KjwbxHQHaL+V+ZezhATBS/2vHDUEAmn6wYY/FTQDcwCkbFiTpAsgE2jSBXOECq6CP9k7NUQORuAwj9IVdA7DjEx0BGLEBJ1xFJCXRAQGDBhLbHklhAEHTUqaUpEEA9vEtyDPNYQNvZS64EXlJAyF86MlpGVEBKp+n7UxUYQJMPxt45ZzJAKQoK8U24RkAHbSoT92dCQH1q0bmI2y9ANSAgXt16VEDxs8LEYKtYQE7oo9ozsPE/+afCaP3tWEDUYozOzdA0QFyqYcLKB1dA1FCXkyn5QUDPPNseWIxDQD8eOSjdajBAtCjpH+RvUkDE8Dvx1BQsQAzrhj6kPxxA9BxXQpBoWECUCtOIp9RTQCySP2SddFVACRfvP8BkOUBMQ7wJSJ8RQCOMYI4svEVA8v4xe6jiSUDuC5ML3pVDQPr09I+S/kJAqGNpiA//MECGBP4RLnomQEqaWB7AcVJAgD1tS5hZpT/itwFiZahEQPv6XLbQT0VAgS6tuGb6T0Bs8kohnhdUQG5JFoZ6ulRAKQIhZJorQUDP5/wK5o9VQG/Q5yuztU5AVkz62ALpRkCmFH7/ywI9QIWE6ClleCZAII/JIR9rtz9USCg662BHQG+cCitLNTFAvHLZcrujQECcs1pbT9NWQIcJjtOYtE1AWaegy93KSEBkSVTlawI3QBV4BzYifDFAXeQ590vxWEBhOGXlSRpKQKyU2+bcU1NAxWow3x4AUECPfJXxaf9IQF/OLk98lkNAHBP8tVpQU0Ae5DGcZoY4QPA9zfTyYdo/+eQDYqOeVkBPA8o5lXtYQGVgElU0VThAcZj/tdZIPkDKrFB+CCFJQAzXzf/DEVdA6jK2/iuMUUAJEEzfi7U3QABRCzWLdE5AGQAX75EXU0BX04IyxW09QPfN0k7Z0jZAMyI1CutBV0AJoRij3uMjQC14IoMt11ZAsP6GPmtqKkDfSk2C7ssvQFjfaHLfvuI/VAVRYfVXPUCK+OHmtJxQQELS3olZJlBA1eE647gnVECQbMOR8rk2QFdyIjdn0UpAfZvL5vNxWEDcJVn5fDFUQMu7VhTzr1NAwb8+YqUPOUDEvgCMhNA3QDxRInuD7TxAAPXhbzSeUUCaDClCZyM5QAydRxH1vkdAmswqiFouRUCO4GfS/DZXQJEz23vZtkNAxXoDAb+RVkDet5vdDipWQErEzyxo0ilAqM1cfgd0R0Ce+n7lGmBRQFmmhbmO9k5AeJJFLLuERECky0n+ArE3QCqAIIvYIiZANpFBq4SCVUCmq3Xj0h1UQK2SEabcTFNAZhgEdEXyU0A4NEtnhpE3QAgBatSIL1JAmn0x7hR8LkDNT7GuahdAQOvC3oIPIE5Ak5jIX3NYMECuK7b9khhFQAcUrYaqVkRALDeQ6l4kFUBoejJRqftFQJaJGLMbIv0/qP+A7Y2gGEDMZUasMp0zQGguXydszUVAlxsWzPeiUUDFoLMZum1VQJ+84Zq8YlVAb+Dy8TgVVECQ+ZU87LM4QLfc/MUdRCBAPaImfc4IVUBwS9mqJmFOQEE0xDqUTlVAtoWKdGLVK0CPVL4cQ8pWQM6/cmAq2SBA6dTi9zyoNUDuNBMM8ShUQEAcT7yFtEVAOOs4TanLVECWJWN9SY9FQIfdf383qFNAJH8nXGc3I0C0YQHjkOI0QJR4LG4yflJAfYkcUEfKUUDidTAoxOBSQP5qNnafjVBAGyekmFQ6SUBsptClMWdRQIRQuMsfGk5AMEKoPcBYPUA52rdHepREQGxR34oKNVFAjGrFJlRUUkAxDJWpHJ5HQLf5KbGzP1ZAmg1He6+uT0CIXjFhcsJMQA1amDq7TVhAgfmZJNClTUBUsIV5rkdIQB86h9znADBAssFCsdnNJ0AYfgSZp+dQQMQt4xt5h0xAMyhPy+yKV0C4rh5nVSJOQAr+vcXlOjBA4CBVdZXlVkCPQhhKGntVQPaTvGZPlExALKLmk+u6SUCvRLaMKF5UQOK5Nm8/MlJAsjxEaLtJWEAj4ltGLeM2QEP2MMuUbjdAWxrxpRnfJEBTidmrwepHQAwMQe2Bt1VAV9mAfIl6I0A5xd8Q1udPQD4NiX+TFklAZW4Bfw5iVUA82Yp/gIkHQN0aJYn14lhACxZc5gwhQEA5cM0zb1VPQABP82r1wDZAdtNd3+/GWECIAo9LRUZFQHQAx7CzfFRAoUVXcy85SkAglctMBhZIQMT2k3lft0pAi5VfUoyxWEDkrKw29NNVQCa2gCia5UVAv10zdNOgS0CJvVTlyqZQQLlP6rQvOkRADi/q/1AjTkB/toCevzVSQJAi50NH9ydA0AWOnzoIQkCvO62B2FRVQGKtfi9M1VZAt+az99gVV0BpY8adtCJOQF3ZqWtZRDhA/t2p2dcGK0AMvV3jf74vQF/SGnQEy1BAYBKCHYlj9T/PLMkvY9dXQARI8Pq+4VVAcnJVTq69Q0BUxXa/7HVYQDI0ePf++09AwbPIyikVOEBpMy1RZllCQH0fZ06yfEZAOKWhsil0MUBc2x8s4OrvP029HfC9EUBABweC+TH/SkAVdRmh1E5OQLm5Xohk80dAneVTHK8KQ0BQRK9ioKtYQPbd23FPr1FAYIprX5qBR0CRci+uMntIQC9Ek/cxwFNAKPEIamawOUBpbq0OqrZSQA0B8Jp2r1VAHjpZx9BlUkCdNKhtEDMxQISHKr/1AEpAa+ibvyqVOkC6opqYhyJRQGvR6ckCTDRAJuEMHX02VkBWCbuunF1OQNXZil+HwRhA8ZCZTB46UECIzoJLXRpNQOfUwzzx2FJAeJEidMVsTEAg8dS1zSLuP4fjpYeBeFZAWBo8cWIMLEARoAJtZIBEQDR5Wia0TBxAEnSNaEyMNUDIVUbv5tVQQG4nhRMbVRtAjN9YyeKaU0DMJ2IMouRTQAjWKV6FAURA5ryhrajZTUBzrq2oSQNLQC7/2mYmEUdAmlZiSGt9S0DewNmfi4pSQMDb7CuAMldA0UHcyp3GUkAqPENqvDAaQJKW9F8tLVFAtbIFLyubVUAlzfqtGXJAQPcuQcRdCSJADBxt0rdkTUCMaOnW4UxWQH/zz8JbD1dAT2ppS56AUEBmVNp0gCU7QBx+X9mNAlZARXI6bSWWNkAwtA/551xJQBcQHbnsoFRAGUPV6VD+UUAqowKSeXVKQEqNoaNctjBAThBbeF7LSkCr6F87EYRUQCVuv0eosFNAzw2zgADGVkAmOfuijzosQDjgdN4vgi9ABk9HP9ZmV0COTkK26jc9QBSYodPzOB1AxALzQtwdU0Cj/HoKUQhDQBeQTkKvBERAeSf3SgTZDEDOsSCGCEhAQNLuzEKUSBhAW7FEXYY0M0CVcj5gV3hWQFbdXokkYFRA2JKuNpqKV0DGrq0P2FNOQEOJNNMTVUpAmlGLr5naR0Ac+dqkTS5VQH13LHp5VFRAFUaEM1QWV0DOkI3RevRXQPJxMI91DDVAHeQzTj5xUkDak4b5n2shQARJBTzC4SpAfu1eOOs8MEAKk2ia5ZNTQPLu8nZEXk1AhGk6Mj5wUkBjyYTl2pAlQCCFGWLlzCFAEKrWpArmwD/M5noGpwJCQLoINNJSK01A/LBRsKUhS0DBXkTudD9YQJY6EMwRX0ZA5tD6Gdo5VEA/HQy+UcVRQMZE6h8te0NAamrMlKBiUECwqjqOMW4OQGACx+OSBTlAhqj1uu6fT0BYXJajT1b2PyLw6c4A5VdAMIdykrK7IUD6WxjwjmFWQOaacoQW50BA22CGDDvGP0ByJgezQ1NCQDqiETPeHlNADha6uuNBOUAunPqPV5tVQKabQk4UbUVAnK1dgDdFWECt9ajRf6RQQG4NV5AZQlVAZWttbK9KUEAmJ+roMhJGQHQsPawLOFRAsuFg6UWuPUAR7/x3q7oxQP0ta0hwmlhAW40Ba2G1UUD4zSPtDlhYQNuV29eIWCdAZ6N58XMMHkCUBLNrpJs1QDCAdVvIKTtAFfqALSW9RkBUbJwmjcRUQBvLDsflkgtAstOtQioMWEAc4b4MDnZSQLvn/h9V8CpAPvrNv49kVEAcilL2R71TQLBGYGaotUBAxo2EKqsDV0Aqx/RMsgxTQHuWitnaulVAqjL/XApAN0AM+2eZsUFSQCfc7K97xVRAVXYytzxWQ0DGpsGM+6s0QH0HxJkIZFRARf/7vqNAQkCCuljpDyU6QOTnktbqS1dABe4HFKe2OUAYyZeZRN82QBhjNDRKZFJA/KstzJ02UkBf5avDEvtTQBG+P9Dx70lA/pBVvHXTMUB95AhjHOdWQKLwEPHn7EFAOW7epkIDVkD6ODgur+4fQPu8PfUmvE9ATApse1vFV0AS8Rom/ptVQHJLS/i0clVApMFNxek8SkB7nfo3hDdQQP9nNdgBQVNAAzgmGmOJUUCxcghBaVhUQORMJE0b7kJATxncr26CVUC7iHnJKklXQFLCkKkufStAIDGGthYhRkCjBjBCQI9QQG/Xefg9aztAbzswHVx5R0BFLhbuEmRAQIBXTZvib1VAtlqrWEesR0CKV3AwxSRKQJgy4NK9yTdAQRIk3z/rQEBU8h7Kn9MxQOLDut838TZAbZ1djyzjSkAUfD00cFY1QOnV35zZ1BBAf+kjIIHvU0BwzbbKZdjrP30TRPzLRlZAYkm2RsJsV0AVPGXbUZ8oQGuqulwgnVFA0lupmqVdUkBlEB5AZzlNQF68z4zBu1hAgUvrjo9eU0BCv0JDr9pVQH3r+GSZC1JA0XPQ91pzVkA6TyeDHCFOQKRM3hNbaElALhV65pmhKEB899iaV5M9QAMzD+lrB1NAlSIhhk7yUkAWq4RssQ5WQKg646n6CStAfLjD151DUkDvmrBeolpWQN35fMCGUDNAHnb+AeNWUUAiSrKPidJIQPYB5Nir6kRAenVuUBLWT0DohsJlTo8UQFTM84IlgVVAcYgVn9InVkA5Ryym2rJUQLv4A2vezFhAmrhpdm8SVUBgWYlO8mBEQPo1C+fjf1ZAhnTtO29++z+dTg9vXDFSQBTNSl+2KVJAT+fa13sJR0AvibAwmzBAQBWCNsawalJAxks1VyuKQ0CsIl5BEPozQLIJmPmPehtATddRZNPlR0BcYE0SsmBXQKc9o66J3VRAYNZTcANgLEDlpy8dqzZAQORB2txbAlRAdO1ntft8T0C4Wq1K7WBUQI4h8Gap4k1AldaNY4vyIEDuOj0hKGU7QKdGENjRL1hAl3gCl1AaVUC+nmoArd5MQLBGEU4WrhBA1siKt1uHVkDki0c7TIfmP3fje5NDD1hAKZpyFcoaEUDgXkV7R7cuQJ6KxBoUyT1AGjEUl1HKV0A51OeVcg9XQJdf9/k6YkxATnNi2B8cQEDne1aoN/NFQOq/eQzhxSdA8h8kUNstP0AgsBpU4LM7QBEeNK5LfkxANDxTXWnITEBYTsOsTEhNQEjvMjvJ9RBAXqbeudi/CkD/YBysgBpLQJaOgrFP6h5ArZ2Nlh6DRUAaCoQJLAs/QCXdl4WH9RxAYE7C9cjkVEBIug9NNQ8pQNPfy75x2FNAbfqlImeXS0BiqBoEWzpPQFRGOGuIoFFAfqa8mYIPS0BjFzi5hJ9DQP7vg5Ci4FZALtRuap4CTEAAqyPgcx1BQNIRjTH47SJAzY1DS26rVkBVadlUblRVQASQaV7llFhAEJ8T39TUSkDHMm7ftLJAQHAY1LQlr1NAuTB+l7KpLEA65ryK1tRQQDrwwrjJMFNAOikbBfePVECdfZZ02qNIQKok6PfIDk1AtJhZCUdPV0AZxmIYY4hHQI+5q8bVYFNAza9Lg0KKQ0AsttUxo6onQO1sq+dDGDdA78Ekz6vXQ0AcNkMbWyNCQPBzgwH8OT5AdMD18YAbV0CI9sTx7M82QHMWR2txN0VA+WL0Cq5iNEByILv9vlk3QL5KFZUKQSZAEg+gd/gOOUB2/2jnwdD1P8rF2DaXHglAVr5RUizGVUChrXi5ZktVQBl1wdbgf1FAYoL3AgV5REAZB9G/NScFQIkGbxdqJSpAVB+dCX07N0AG0z7BMAxAQH3fgLeNwElAhCo6RKzkUUBe5/uJTu9VQPZ814hOlBJAdzQXeK0wV0AoTaSAqdZSQBxVV00a+EpAp+YsANqFIkD8RQLivhjmPzSIbEaYXEpAkOxktfK4S0BZF1pBUNtVQOS+co2f+1VA/dkIGjJWLkA5RmeRLRtXQNAH9NFgXVdAZ5GbB2uwVECdEcxOkehYQK5LehdnGVRA2p3Kjj+nKUBNRDjVpUEPQPW7xbR0WBtAksqxqnGpUED0UAiCfdFYQAS2TCdzz0dAVbl+rQzaVkB1brIwIs1IQBO8eVbW8EpAak+0SPs4P0CdX2MvXRdKQKG3Fp601EZAisP9OR1MG0C8Etwq8jdSQCqn64gxMUVA29u4fDR4SEDjPNtHzY03QBk+QlmRhUJAx0D0MadQLEDGLtgT8x5YQNgrRyT3EiNA46rD6NVVQEDPG1+P5XNCQFsHHVYA2ztAQETmMddVEUAqmsK/1CNRQI1IN6dAmEFAsW+xHERTJEDryItp4gZTQBcwDPvsek1Atna9guZ7TEAI1hWxD8E5QDOwNiBav1VAvRfDQfQMQUCEDc8bOxdQQLjDmAx3SUFAUV9UBXfmUkA5EeEa6plOQAYIwJWT7/0/D//S/2aPPkCICqTJ01dOQE8XubA3VERAVi1ztUK6QkCAOR8/BektQBgRLNI9d1NAbthbkzZ+Q0Ap81XxLz5IQCg+a/wvZ0RAn1T7VMgGJkD7tqp+IlVWQBLHSse+0D5AhQOvAx0VTUDv5EczCO1WQF5Qy2sSTENAjs/q0bNoTEAQes/7w1pYQKoeg2Ig0TZAi8Naik8UTkASZVQjMMRQQNAy2NwrzBNAoGW1sx8KKkAeBpQ9pE5UQNBSUuoVGVRA+fEKUoKmWEDjY6riPGQyQEajGnhctUhAng9i7WgRS0CYo89UqDRYQNTBcLCV4hNAra1F8/jAM0DSwHl3E8EdQBFswkethktAUDEN2/eQRUDioc0kLS9NQGq75K+TLThA1tI1PmuyR0COZxlT3L1CQKs46GSQN0pAoz15oNQQVUBdvqDb0oNSQM56n7hwzi1A6iw6JskzVkDXKigXe9ZVQGRokROlXUZAxyqra+/tVkALx0yfFx9QQBIEGsUvQAhAPQkSQ754SEBLepaMsI5MQFt19Fs5IkhADFgRTTJJV0Dkle1Ys+1YQDtxP3rhaVBAutQ8H9LhV0D2EnLPZiRVQMDbBDdkABRAoTzC0DTiR0CMxm2hFANLQIav05X091FALPWqIO5AL0C6GyzR3QAxQDfagcUXQi9A4cGWJ0CaVkCC8dWEMIU6QIYA+gyHUUNAYDTAupYrREAVD4nxbpxFQAw1iHmtlRpAtoFbLdzwTkCfJUr3/7tJQLqzH60DDlNAntYTsPiNU0BDHTmldKcjQE+RhwewfVNA2eMqZGScU0CenTtmySlGQFZkEk0BikRAW9YdkGP2TUCL7M6a3nstQN73XTWRw1JAnNyim9IuQ0DVZ3vERMtSQEShjcvxIA1ANwVTwo0hR0AZztEbHhJBQJxfJpD9kldAXPhOwkc2N0Affg8hz8VUQM3wU6CKJVdAtM4Ja7wTQkAyshjm9zoeQNTR2RL99UxAjxypxn3iSUDsj9mB5S9OQEvaGrs4MSRAKpLP4vOuSkBbY3nw0DdQQCrEIm55cfg/cp7TN8RST0Bbb11jCKdWQL0Xs973yFZALPF0/Kae4j8wxOlQDgEXQN7Fa9/idSZAeKbgsEQFQkDju10uaD4wQG68lpgF+1VAv0oMagDuUkD6vSxUE9A7QLMO5AbMoz5A2RbndnMjVkBl7UJ6CDJJQDZzTsIHrUJAYASFd4VOUkAYuxILGAcpQPzHZwFnClZAMA26meW4U0BbnGFDgbBMQHQD1KrBKvg/BET8wbI8V0CJDcAzPOJSQH6OPNys31JAm4GtIp/sU0BfTYEfHnVFQHLjtkkeSQVAeyCnRaHPCkBQkg1t829YQEvRMWFOF01AvXKQqQq3PkCQ8qgDuvlRQFxvOeRXnihAKPYt10hgU0DO0SB47907QIVJsdWmuVJAhWq5Xi0aQUBQTR9MGXpMQAnlemo/gk1AYTcMLGCHU0Ci6tjMNrBMQBYfIv/fNydAe+5zaaIDV0AT+PwZ5XdSQHbX5bg9x1VAyBG/tLH7UUDJwiV5XV1UQMyAownKYFhA2ippYE3VUUBx4YyqR5JTQOmScAUjiVFABnw63RCqNkAX74Us+KhPQBi3kVmpNzFAHLJOWJYIU0BGarJzMA9VQPT2Ne5OC01A2OypGaAJUED8M12r8ypVQO8nc2tLqE5Ajx7N98jZTkCT2liWKMVRQIR/Rbo0YRhAVVPylodJUUAktidQ/3JKQPVREGSwnEdAqoM2dhKCSkBYL0n3wqBTQIGGXl7SZjRA/hkX/+cXIkCleOnib09QQCZj/gnMiyhAK1r3R+uJQ0D4SfNS91ctQHqB8KkrojJARSwwToHVUUAU6TazoWIzQEuBCpvwgkhAvaLggHPWNUCSa3Zf4fswQOfVzU4u+1hAMXpCumrgSkCSDNQsc/VQQOdPVFm8KDpABJWXaEf/GkCVwKVQEZNQQDQ8rgPCmkRAxvJZPf/MH0C3gh88+mEyQE8IjwD8uFZAXrLI2mUZVEBhNht8dwQEQCA3hypg8b0/WlGszQPuRUAf0R4bgZNRQKsKviV2UlNA22fxkPP5K0DV1bifAupEQEv7JDCRUFBAZa/JmNEyVEAGkC2UslwLQNSbQGwIelRAWvudIOilOEBbsVcrq/RVQMFXYOC3LlVAAHP/sDydN0Delq4yvmRSQP/EWqabwVBAFG6ewRQXBUAj5/bZoxRQQAudqo52qVJAr5I7086rQECAS2uzX51XQIkqHG7uDDNAekCtSNezWEDGpg4IMN9FQHKrg4MH9j5Ae7yCd8HmNkDvpJkW+3dNQAmZVtJwvzJANnT5+pibUUAQcDhKF1c0QNxE7/VNGzRAgFxqv9mMJECQIPRPtSZGQLs6KEP6P1BAtCL/N4aaVUCAhuCb/cY4QAIsk+miMEpAAwu/sRgpVUDHgNC095JYQMLKJYBG6ldAgph9yUPeTEAbWOIaFmY2QPvLM+T/9k1ARZdmT0kZCkBOC+IHE2L/P94DTmAD7VBA5lUrlOGoNEB696Ih5ylBQNiFIN/551VACWyMjvBJQEC0X5w34A9HQKYVAh9afFBADZGi1DHUWEBc1rKqyJQ2QPsfg19IEC1AyCtZZZ9H+z97Clmi/bRFQGfhHtOaRlFAwGlw3Adg4j8I+uj/1T5TQPPiIPg5FVJAg4TZo6OvTEC/LF2GMfBQQABCMXGouVBALgocaMXjMkDEVEvHudxYQCr3KCbyBVNA4XZd7TwCR0DHC2EKdvZFQJpWX6P6qFhAGHnVdJCm3z+lN2lKnfBBQEYenps25UZASylBtuKPSECbFZMSbkJYQHduKtRqCEJAw8aC166TTEAyF0wb5RxMQP8+HPbSPDxAfXdPSDebWEBcvkEqOv1SQL4p8N7SVgVA0DJmBXU3SUDDX/FPKodYQDp8jiSAS01AeUZj3rX4SECS5AY/uP5GQP7DnEhgVCNAfBpBX+sEVkCVzzyHI5VWQJFYqdPGBlJAcg2HSAT8UkCx5tc3DLRBQOJlP049e1ZADWMXKV43UEBL3u6zjTIqQOJOkFj0QBVAs5ek8ljqWEDE5t8FD302QIRudTaUgztAsG7rx2ihUUA52Pgrvc47QJIrTIeqE/8/RiSfzlEpQEAgf62agyZLQDcToHbgxTVAavOoDfGcRkA0AiG5GNg9QEib/GtAzUVA4LnQuXbePUDv29iB1CVBQM7j7e/T4hZANT9BKlXPO0ATvzF2GNNQQMg2RAVMzzNA4EHC3Z32SUAD17CBHMJYQJhG3ff6AVhARYtgLhD4VUCrryVLPiBBQP05EGMD/09AX4bQK68MJ0C/AHIGUQhJQKJtvJccy0xAAnwe+MMaN0Da81VsZoZYQFOP6J5tXVRAygAuKFekPUBunjoG8oJLQKXui+F5l1JADx1JYWJHMUCR5RYjiPJXQOCBeaPS+C1AKPHCv2UNIUD2v21ZZ/xQQKq/58Nm+x5AYH9oUfp9R0DaPMb7jQxWQA4r39DjYypAh1dFjgD2QUCU9CGXS1IgQFbXKhmPhFRANKx73jnfN0BRqszxp+NFQIQV/eOMPldA/KPv5BIO5T9qZscZNGVLQIZkn/TxME1A9uMwxjMWUEClJ5WSiFxJQKsu/lqvt0hATI0waaAMWEAg1LYZD7c7QJTdrga02lZAZq30oQAYU0B0WVX2VBBYQJmVzxekjTNAEovjhLNOIUBaTx+lLyhKQOy4UeaE7VFAWFhgVK9UVEBRu3JreHFXQA==\"},\"shape\":[2000],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[2000],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2872\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2873\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p2868\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"radius\":{\"type\":\"value\",\"value\":1}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p2869\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1},\"radius\":{\"type\":\"value\",\"value\":1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Circle\",\"id\":\"p2870\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2},\"radius\":{\"type\":\"value\",\"value\":1}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2835\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p2860\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2861\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2853\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2854\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2856\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2855\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2846\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2847\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2849\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2848\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2852\",\"attributes\":{\"axis\":{\"id\":\"p2846\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2859\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2853\"}}}]}},{\"id\":\"p2874\"}]}}]}}],\"callbacks\":{\"type\":\"map\"}}};\n", " const render_items = [{\"docid\":\"4e97556b-5f77-4977-8ae5-b274ae044b20\",\"roots\":{\"p2877\":\"eb581b70-1c6d-474c-8932-24f6a1270ce5\"},\"root_ids\":[\"p2877\"]}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "p2877" } }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "from bokeh import events\n", "from bokeh.layouts import column, row\n", "from bokeh.models import Button, CustomJS, Div\n", "from bokeh.plotting import figure\n", "\n", "\n", "x = np.random.random(size=2000) * 100\n", "y = np.random.random(size=2000) * 100\n", "\n", "p = figure(tools=\"box_select\")\n", "p.scatter(x, y, radius=1, fill_alpha=0.6, line_color=None)\n", "\n", "div = Div(width=400)\n", "button = Button(label=\"Button\")\n", "layout = column(button, row(p, div))\n", "\n", "# Events with no attributes\n", "button.js_on_event(\n", " events.ButtonClick,\n", " CustomJS(\n", " args=dict(div=div),\n", " code=\"\"\"\n", "div.text = \"Button!\";\n", "\"\"\",\n", " ),\n", ")\n", "\n", "p.js_on_event(\n", " events.SelectionGeometry,\n", " CustomJS(\n", " args=dict(div=div),\n", " code=\"\"\"\n", "div.text = \"Selection!
\" + JSON.stringify(cb_obj.geometry, undefined, 2);\n", "\"\"\",\n", " ),\n", ")\n", "\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Zusätzliche Informationen\n", "\n", "Es gibt viele Arten von Interaktionen und Ereignissen, die mit `CustomJS`-Rückrufen verbunden werden können:\n", "\n", "* **Widgets**: - Button, Toggle, Dropdown, TextInput, AutocompleteInput, Select, Multiselect, Slider, (DateRangeSlider), DatePicker,\n", "* **Tools**: - TapTool, BoxSelectTool, HoverTool,\n", "* **Selection**: - ColumnDataSource, AjaxDataSource, BlazeDataSource, ServerDataSource\n", "* **Ranges**: - Range1d, DataRange1d, FactorRange\n", "\n", "Vollständigere Beispiele findet ihr in [JavaScript callbacks](https://docs.bokeh.org/en/latest/docs/user_guide/interaction/js_callbacks.html). " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.11 Kernel", "language": "python", "name": "python311" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }