{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Designing networks\n", "\n", "Having actors and locations as agents makes the life of an agent-based modeler much easier.\n", "Managing the relationships between interacting entities in agent-based models is now very convenient.\n", "However, it is still very tedious to connect a large number of actors through a specific network structure.\n", "This is where the real magic of Pop2net comes into play.\n", "\n", "Pop2net enables you to design a specific network structure by the definition of a special kind of class: the `LocationDesigner`.\n", "A `LocationDesigner` can be considered as an *interface* with a special syntax to create a certain number of location instances that connect specific actors in a specific way.\n", "The assignment of actors to locations by the definition of a `LocationDesigner` is primarely done through actor attributes.\n", "Hence, **the creation of networks using pop2net makes the most sense when actors have informative attributes.**\n", "However, even when the actors in your simulation do not have any attributes the `LocationDesigner` class makes it easy to quickly connect actors in a certain way, for instance using classic network models.\n", "\n", "The creation of the network based on what is defined in a `LocationDesigner` is managed by the `Creator` class.\n", "The `Creator` *reads* the definition of a `LocationDesigner` and translates it into a certain number of certain location instances and then assigns the actors to the corresponding location instances." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Creator class\n", "\n", "In order to *design* a specific network in Pop2net, the first thing we need is an instance of the `Creator` class.\n", "The purpose of the `Creator` is to generate actors and locations as well as to connect actors and locations.\n", "Hence, the first step after creating an `Environment` is the creation of an instance of `Creator`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pop2net as p2n\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbsphinx": "hidden" }, "outputs": [], "source": [ "# this is a hidden cell which sets seeds for consistent outputs\n", "\n", "import random\n", "\n", "import numpy as np\n", "\n", "random.seed(0)\n", "np.random.seed(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating Actors\n", "\n", "Although the main task of Pop2net and the `Creator` class is connecting existing actors via the definition of `LocationDesigner`s, the `Creator` can also generate actors for you.\n", "A special feature of the `Creator` class is that it has some convenient methods to create actors based on micro-level data.\n", "This makes it easy to create *empirical* actors from survey data, for instance.\n", "\n", "Important to know is that while the generation of locations highly depents on the actors and their attributes, the generation of actors is independent from the generation of locations and their connection.\n", "This may be different from classic network generators in which you generate nodes and edges in one step.\n", "\n", "
\n", "Tip: You do not have to generate your actor population using Pop2net or the Creator class. If you plan to create your actors in your own way and just want to connect your actors using Pop2net and the Creator class, you can skip this subsection! However, to connect actors using Pop2net, they must inherit from the Pop2net actor class and must be added to the environment.\n", "
\n", "\n", "The simplest way to generate actors using a `creator` is by using the method `creator.create_actors()` and define the desired number of actors by setting a certain `n`:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [10 actors]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "creator.create_actors(n=10)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [10 actors]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is not very impressive.\n", "We could have done the same using a simple for-loop.\n", "Let's reset everything by removing those actors from the environment:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "env.remove_actors(env.actors)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [ ]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's have a look at an example for what Pop2net was originally designed:\n", "The creation of a population of actors based on survey data and their flexible connection via locations.\n", "For the following example, we assume that we want to create a network model for schools and have access to a sample of individual data collected in a school.\n", "This is our example data:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statusgendergradehoursfriend_group
0pupilm3.0514
1teachermNaN60
2pupilw2.0412
3pupilm2.0411
4pupilm3.056
\n", "
" ], "text/plain": [ " status gender grade hours friend_group\n", "0 pupil m 3.0 5 14\n", "1 teacher m NaN 6 0\n", "2 pupil w 2.0 4 12\n", "3 pupil m 2.0 4 11\n", "4 pupil m 3.0 5 6" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "np.random.seed(0)\n", "\n", "df_school = (\n", " pd.read_csv(\"example_school_data.csv\", sep=\";\")\n", " .sample(frac=1, replace=False)\n", " .reset_index(drop=True)\n", ")\n", "\n", "df_school.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statusgendergradehoursfriend_group
37teacherwNaN90
38pupilw3.055
39social_workerwNaN60
40pupilw1.042
41pupilm1.041
\n", "
" ], "text/plain": [ " status gender grade hours friend_group\n", "37 teacher w NaN 9 0\n", "38 pupil w 3.0 5 5\n", "39 social_worker w NaN 6 0\n", "40 pupil w 1.0 4 2\n", "41 pupil m 1.0 4 1" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_school.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create actors from this dataset, we can simply use the method `creator.create_actors()`.\n", "This method creates one actor object for each row in the given dataset.\n", "Each column is translated into an actor attribute with the corresponding value." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [42 actors]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "creator.create_actors(df=df_school)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The created actors are added to the environment's network and thus appear in `env.actors`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [42 actors]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's also take a look at the network graph to better understand that the actors are now in the graph of the environment, but not yet connected to each other:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"9258f95c-9255-49c6-9a71-b062bc28e907\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1001\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1002\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1003\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1010\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1011\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1008\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1033\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1050\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HEovD/Y91T+p8A8erersvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AtddpztW4b+Y01E9+ADovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"midmFkqU3j9+1oTs+3Ppvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TRdwNR7n7r+elvY8373Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z+ilctmN6r/53ZSAQ5Lhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xlpz6bOS5L8l8T7ntPnnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TUnxgSmP6L8ric8rM6rdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"io/Vu48O5D/ouLVh6oPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4pDhqVSY7T8svUyDh5DUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P6/C+4pP7L+/JVlKYVDWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jkzoz7M47D/AQr7LRInGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9XstrfqV3L81T+JODHXsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dLl71vNrtT8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0rUtb5+j5D+iDxsuvWTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ICwLs8kj7z/3VQTEvJ6cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eiRwbvr25r+w6XqJDHnfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w6Kn6SBCz7+CN6m9ISDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VPAuW8d2yj9ZJzutYDPpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P+QovcSd3j/F7nfZ7HzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lz0LQJfswT8/lMowWyTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ATZeqLVoxD9Lf5x9VIjsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qdceRttg6T8UdoTnHMrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tVfnnV+cpL//kgPtsOzuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qDUXqkmCzr92Z/+63Y7uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cjk9xB5w2r8S44LvIoztPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1em71c7a7L8D/gJTY/Wvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hvyRO0es4j9Abi04eJvoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kHS/U39L7D897gH81G3Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GVR7jbBht7+LJcswR+/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OsxORO/dz7/NTU7hrqTuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PX2ico626D/zCnkFwk/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iwXg5fFT5r9oVJbB+1fnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w6XpPFdb6j8tTAlsDEndPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OZMy3avi7D+jEXdTqw/Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5lBbZNrF67+Fl9NvmH3NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vN9s4YWh7r+ugbZncX21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fATmZ8du7b/zZuVpk/TVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zKwYyUDU5z/6/wGJkQ7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hlPHJSK65r85A/XOJXrjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZQrEGDky378WUDAVm3fpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nAwOZlRf1D/VTveFgJrtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"urOJx7ac6z+2WmZy0im1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1038\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1035\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1036\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1037\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],[\"index\",[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1039\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1040\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1051\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1045\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1042\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1043\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1044\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]],[\"start_display\",[]],[\"end_display\",[]],[\"index_display\",[]],[\"type_display\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1046\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1047\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1041\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1048\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1049\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1009\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1022\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1023\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1029\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1028\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1030\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1031\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1032\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1052\",\"attributes\":{\"renderers\":[{\"id\":\"p1045\"},{\"id\":\"p1038\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1017\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1018\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1019\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1020\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1012\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1013\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1014\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1015\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1016\",\"attributes\":{\"axis\":{\"id\":\"p1012\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1021\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1017\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"9258f95c-9255-49c6-9a71-b062bc28e907\",\"roots\":{\"p1001\":\"cd64e377-9ce7-4b10-90fa-5e028ac78f05\"},\"root_ids\":[\"p1001\"],\"notebook_comms_target\":\"p1053\"}];\n void 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": "p1001" } }, "output_type": "display_data" } ], "source": [ "inspector = p2n.NetworkInspector(env)\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have look at the attributes of the first actor.\n", "We can see that each cell of the first row of the given data was translated in an actor attribute with the name of the corresponding column.\n", "That was done for each row of the given data." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'env': ,\n", " 'id_p2n': 10,\n", " 'model': None,\n", " 'type': 'Actor',\n", " 'status': 'pupil',\n", " 'gender': 'm',\n", " 'grade': 3.0,\n", " 'hours': 5,\n", " 'friend_group': 14}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vars(env.actors[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we do not insert an actor class via the parameter `actor_class`, the default actor class of Pop2net is used to create the actor instances, but we could also use our own actor class (that inherits from `p2n.Actor`):" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [42 actors]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class MyActor(p2n.Actor):\n", " pass\n", "\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "actors = creator.create_actors(\n", " df=df_school,\n", " actor_class=MyActor,\n", ")\n", "actors" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "__main__.MyActor" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(actors[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For now, this is enough information on how to create actors based on micro-level data using Pop2net.\n", "\n", "
\n", "Tip: More useful options for the generation of actors based on micro-level data can be found in chapter [From survey participants to agents](https://mariuzka.github.io/pop2net/Introduction/actors_from_surveys.html).\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The LocationDesigner\n", "\n", "To generate locations using the `Creator` class, we have to use it in combination with the `LocationDesigner` class.\n", "The `LocationDesigner` can be considered as an interface to controll the automatic generation of locations and assignment of actors to the locations by the `creator`.\n", "\n", "The `LocationDesigner` class has various attributes and methods which can be customized by the user to specify which kind of locations are created and how the actors are assigned to which location instances.\n", "The attributes and methods of the `LocationDesigner` are *read* by the `Creator` and then translated into the bipartite network of actors and locations.\n", "Here is an overview of the attributes and methods of the `LocationDesigner` class:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations # noqa: F404\n", "\n", "\n", "class MyLocation(p2n.LocationDesigner):\n", " n_actors: int | None = None\n", " overcrowding: bool | None = None\n", " only_exact_n_actors: bool = False\n", " n_locations: int | None = None\n", " recycle: bool = True\n", "\n", " def filter(self, actor: p2n.Actor) -> bool:\n", " \"\"\"Assigns only actors with certain attributes to this location.\"\"\"\n", " return True\n", "\n", " def split(self, actor: p2n.Actor) -> str | float | str | list | None:\n", " \"\"\"Creates separated locations for each value of an agent-attribute.\"\"\"\n", " return None\n", "\n", " def bridge(self, actor: p2n.Actor) -> float | str | list | None:\n", " \"\"\"Create locations with one actor for each unique value returned.\"\"\"\n", " return None\n", "\n", " def stick_together(self, actor: p2n.Actor) -> str | float:\n", " \"\"\"Ensures that actors with a shared value on an attribute are assigned to the same\n", " location instance.\"\"\"\n", " return actor.id_p2n\n", "\n", " def weight(self, actor: p2n.Actor) -> float:\n", " \"\"\"Defines the edge weight between the actor and the location instance.\"\"\"\n", " return 1\n", "\n", " def nest(self) -> str | None:\n", " \"\"\"Ensures that the actors assigned to the same instance of this location class\n", " are also assigned to the same instance of the returned location class.\"\"\"\n", " return None\n", "\n", " def melt(self) -> list[p2n.Location] | tuple[p2n.Location]:\n", " \"\"\"Merges the actors assigned to the instances of the returned location classes\n", " into one instance of this location class.\"\"\"\n", " return []\n", "\n", " def project_weights(self, actor1: p2n.Actor, actor2: p2n.Actor) -> float:\n", " \"\"\"Calculates the edge weight between two actors that are assigned to the same location\n", " instance.\"\"\"\n", " return min([self.get_weight(actor1), self.get_weight(actor2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating locations (and assigning actors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We start by just using the default class of `LocationDesigner` without defining any further attributes or methods.\n", "Every location class defined by the user must inherit - directly or indirectly - from `p2n.LocationDesigner`.\n", "We call our first location `ClassRoom`." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we use the `creator.create_locations()` to create the location instances and - and this is important - to assign the actors, which are already in the environment, to the location instances:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [1 location]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "creator.create_locations(location_designers=[ClassRoom])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [1 location]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`creator.create_locations()` has not only created the location instances with respect to the given actor population, but has also assigned the actors to the location according to the rules specified by the location classes.\n", "We can check this by looking at the bipartite network:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"aa3ab0ea-d315-4962-9621-0e6b95ee02c3\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1096\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1097\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1098\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1105\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1106\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1103\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1128\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1145\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UsIjYelA6D82+Auu497evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M9Pon2S+3D9snqsR20qyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5ecJCWoP3j/V5R8LaRnsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kcb4TAiux79wPxrOiNHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"avfibWlZtj+sVbu6pUzvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x1224ujDpT/ifaLDRHvdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XtLYYp+j2L/semEtLyrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p1WDjDnIyb9bYZWJTlDZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8chS8NYS3D/LoJwtcyHivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YiDjje99sb9W305qnITmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fKr7enln5j+8hSETu+Pmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tMFkNRQm7b9K5CotY7/Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LQaP1ErXwj/775SUr6Tvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ws1/wd3D7j+CaZu07JC7vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LeVGkcXH479T3AUdY7Povw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PPa2+Ejh5r+U7NSCm9nmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RbL/D77R6r8a0FPZ/h/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sgbl2HWmub+wwNar77/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"taJS1DOw3r8zH0CSB3/Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gy3Ah2+65j/2mE/+2p3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L+l2PQlibCcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+HmGAm5R478O6qr7qZLePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A8+M6P7q5z/ZqEyDeMSBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ztYdugrS678/XQcudAjhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FcPhWOog7z8B6qnKeJbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cJGUerXLwb/4LfNwUqnvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FMlPVgum2L8jiIlUWC7svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ixh5PNal3L/RtPdbY4jsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WgrrvDLC7D9n0RcxOGjcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7v+nJRR44b8lYAC/xEjFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yT3lMJXm1r8NEddTuA7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UyZWhxoF6L/kPOR2OKajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"82CiE+KX4T+B7qqZNaDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aXpt0o/L1T8LhIJTvFTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jfZZTNvy5D9OE+HTyQPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qw7cFgKK7r8Hlnu9KXLNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aSxqpQu+7T/UEIqRuuLVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eVgW6b7x1z9acMU9PtztPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iV+toT/eyz+p7qQbANfmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2oKAzt29zD/CWNVDqPznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sfm90zVz5L87pOdQb4ffvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zTnWmJ+B4D/rGHs6NiXSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qAGuu3Q9cj+MMiOTvccmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1133\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1130\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1131\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1132\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1134\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1135\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1147\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1140\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1137\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1138\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1139\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]],[\"end\",[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1141\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1142\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1146\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1143\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1144\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1104\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1117\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1118\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1124\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1123\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1125\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1126\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1127\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1148\",\"attributes\":{\"renderers\":[{\"id\":\"p1140\"},{\"id\":\"p1133\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1112\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1113\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1114\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1115\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1107\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1108\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1109\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1110\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1111\",\"attributes\":{\"axis\":{\"id\":\"p1107\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1116\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1112\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"aa3ab0ea-d315-4962-9621-0e6b95ee02c3\",\"roots\":{\"p1096\":\"ba61c778-6dbc-436f-9d3a-d1e0b96e4b34\"},\"root_ids\":[\"p1096\"],\"notebook_comms_target\":\"p1149\"}];\n void 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": "p1096" } }, "output_type": "display_data" } ], "source": [ "inspector = p2n.NetworkInspector(env)\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The node in the center of the graph is the location.\n", "All other nodes are actors.\n", "This means that if we use the default location class without further customization, only one location instance is created to which all actors are connected.\n", "Since each actor is assigned to this one location instance, the result is a fully connected actor graph:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"812761dc-bdd5-47f2-b4dc-0035cbf4d897\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1193\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1194\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1195\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1202\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1203\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1200\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1225\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1242\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0r4V803B778B2UHxlRnHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xaYb8RZqsL+QeMU/g3DSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qnofS+HSvL/iuuIrc+7mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XSBFs/rX4T8xcnhavWucPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c8SX6ilD77+7kdlHVnPSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YwDMHo3r2j8bUxeFrfbZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hq1QUnSSvr+rxldw/FLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CdgGkchB2b+X6lkIXy7Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lYHEZVdR2z812iIwzvznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/z0iETop7T+oJGHGrh7gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fZR6vxGc3b+1+1wVxPfuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4S+/J2g75j8rkkX7q5jVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HqFHKRAY0D9c3KE746Tuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WVpa72pHxD9knmLn4PndPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NavB3bMjsb+ba2ufvMGyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gm/R2tja4j+rKPZ3nfzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SKFZigpP5D+QPF020BjUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iFCUo9557z/SDNbd/O/EPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ME6On5y0z+BxXN2onDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pFbf1wwt5j8rUyB+OyXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P0iE7ggV2L9f2AYtoqzVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EvHdsLsc6z+NumxaPpKsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oYp7+wfs3z98FKXcuUPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UoK73my7xj9LLz/yGpbkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RHhl7/667b91ZDXcj7ffPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Mwgvw8j1b/h/mdrS9ntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"REnvRRk70j8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BwBvYi41179UIy8VLSjnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TJHrBeQi479tmTgXEfXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yEbPH55D7z9sH70t5PPRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iHDgudtP6b8OPSwZury3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R31RvSmk678loFDjT+Livw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+CJoTdzwv786YC/TL2rgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Mpb71bN5L8jadSBXWKzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M8WD46Ey6z/tStkR80vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fcLDHgl3uD8hFEV5nIzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a/cPODf85L8HbXb9WOrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H+T+I3fW1r/E3IpqTCDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NyZkLsmnzT9nk9ScirJ0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6MWbqL675L/Lo2PoavDbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Oxum72CS5b+2LGfZvSfYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yUPRVBFeo7+WB00rbGTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1230\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1227\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1228\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1229\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1231\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1232\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1244\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1237\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1234\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1235\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1236\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,39,39,40]],[\"end\",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,28,29,30,31,32,33,34,35,36,37,38,39,40,41,29,30,31,32,33,34,35,36,37,38,39,40,41,30,31,32,33,34,35,36,37,38,39,40,41,31,32,33,34,35,36,37,38,39,40,41,32,33,34,35,36,37,38,39,40,41,33,34,35,36,37,38,39,40,41,34,35,36,37,38,39,40,41,35,36,37,38,39,40,41,36,37,38,39,40,41,37,38,39,40,41,38,39,40,41,39,40,41,40,41,41]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1238\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1239\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1243\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1240\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1241\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1201\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1214\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1215\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1221\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1220\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1222\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1223\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1224\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1245\",\"attributes\":{\"renderers\":[{\"id\":\"p1237\"},{\"id\":\"p1230\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1209\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1210\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1211\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1212\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1204\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1205\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1206\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1207\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1208\",\"attributes\":{\"axis\":{\"id\":\"p1204\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1213\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1209\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"812761dc-bdd5-47f2-b4dc-0035cbf4d897\",\"roots\":{\"p1193\":\"b8205cc8-6c8c-47e1-aa66-04319611b7a3\"},\"root_ids\":[\"p1193\"],\"notebook_comms_target\":\"p1246\"}];\n void 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": "p1193" } }, "output_type": "display_data" } ], "source": [ "inspector.plot_actor_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating actors and locations in one step" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before diving into all the details of the definition of location classes, let's simplify the process of generating actors and locations.\n", "The method `create()` combines `create_actors()` and `create_locations()` into one simple method.\n", "However, note that `create()` always creates the actors based on a given dataset.\n", "If you already have a population of actors, use `create_locations()` instead. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "# Let the Creator create actors and locations\n", "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The method `create()` also has the convenient argument `clear`.\n", "Set this to `True` if you want to remove all existing actors and locations from the environment before adding new ones to the environment.\n", "This way you do not have to create new instances of `Environment`, `Creator` and `Inspector` if you want to create a completely new network.\n", "In the following, we first run `create()` with `clear` explicitly set to `False` and then with `clear` set to `True`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `clear` is `False` (which is the default value) the new actors and locations are added to the environment without removing the existing ones:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "actors: 84 locations: 2\n" ] } ], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", " clear=False,\n", ")\n", "print(\"actors:\", len(env.actors), \"locations:\", len(env.locations))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `clear` is `True` only the new actors and locations remain in the environment:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "actors: 42 locations: 1\n" ] } ], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", " clear=True,\n", ")\n", "print(\"actors:\", len(env.actors), \"locations:\", len(env.locations))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The keyword `clear` is also available in `create_actors()` and `create_locations()`, where it removes either all existing actors or all existing locations from the environment." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setting the location size\n", "\n", "In the next step, we specify the number of people in one classroom.\n", "In this example, we assume tiny classrooms of four actors.\n", "To set the number of actors per location, we need to set the class attribute `n_actors` to the desired value." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use the modified `ClassRoom` to create the network:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"a81c93f4-00f3-4030-8b2b-85178f9137b4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1289\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1290\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1291\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1298\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1299\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1296\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1321\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1338\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9jLgH/Jd5z/Qs/rdVlHdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4rSiw+3V6z+oVq5PNtLaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RCqForHR6j9SnQhTuY7ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PxRdvcWZ6T86ph0O5wbWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R1pyQHD/4L+UD+qsm4/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NiZT+bFE4L9ZXIXKDKHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0zfR7eGe3L+di8YatlTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K6to9kIF3L+4rSj14xvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s0kBOa6twb+2u5XNDbbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mTqSKCk3tr9VKaGHWHfrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zMLbTF/qyr/r8m0BaXTqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5kPFEVVPxb/z3ZmwSX7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3nspB5Nr6D8g79C+ETnnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0j6qkEVN5z9Eku0KqhDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YWOTmNg85D/q/ccry6Tmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vBSdddfV5z9yKj/1jf/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D5PbHQ+42T8WFNUjifLqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kaz8FN5v1T9tZbaZXGXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"21WIOrZ02T9yHNEmRLTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lNu8cNQE0z/fq8ROb1HmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oNfcofxc678gg0ap617Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rzca/Jgw7L9gqBiiF3LOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BLEqEfiV6r/56EyZzujWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rYMjasEz6L9rTz6gsqjTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DcL/XfSN4L/5Rd4GgBDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m/DewFgN5b8NzDMhoLzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2xWkc6Su47+Ltiw/1HTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iFUtf55z4b9j1VAtwoDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OQpOEGRl5z/BPFZlGP3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NZPt1aFE6z+v3qfQe5DPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PJi+LE3Q6z+7mIYw4abAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oq6QaV/u7D+zYYo/nRbJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PJeeM7jD679A5OJB8q/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QV6oGQHG679wJl2KzVfQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xxRArwcl7r9hEgH70jPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m6RCFBWj6L/3aJ55s2jTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ur0jhzU/sT9E5umS5Qrvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HeC8Jm8IwD9hwJIuwBfrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ZSkprgdyD+s+wSZwJ/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2iJ3Wwzavz8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WJTlLGOM5j/Mc5UMH6nXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oO3bfRWT2L81QRVeftnnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3s5b+FEE6T/MrHAuDE7aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z87inNIo3b8US/5U3qbovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vLKbMMmzw7//P93IONPrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uu/V4WZg5j8TdJcr1WDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wDwGnCQg1j+aJqc7CNvoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WEFxOJ0W6r8xNgEzC3rSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fQLIUFGl4r/JeEHgKunkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WQC11ug76j/ABkUnpCjHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rOvwBO9r678QYD8bXXDUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T+A6p0+JwD++A5p0s9jtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1326\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1323\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1324\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1325\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1327\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1328\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1340\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1333\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1330\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1331\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1332\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],[\"end\",[171,171,171,171,172,172,172,172,173,173,173,173,174,174,174,174,175,175,175,175,176,176,176,176,177,177,177,177,178,178,178,178,179,179,179,179,180,180,180,180,171,172]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1334\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1335\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1339\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1336\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1337\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1297\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1310\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1311\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1317\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1316\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1318\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1319\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1320\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1341\",\"attributes\":{\"renderers\":[{\"id\":\"p1333\"},{\"id\":\"p1326\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1305\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1306\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1307\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1308\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1300\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1301\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1302\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1303\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1304\",\"attributes\":{\"axis\":{\"id\":\"p1300\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1309\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1305\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"a81c93f4-00f3-4030-8b2b-85178f9137b4\",\"roots\":{\"p1289\":\"c887d2fe-25df-4bd7-9dbc-588c1f0e4ab6\"},\"root_ids\":[\"p1289\"],\"notebook_comms_target\":\"p1342\"}];\n void 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": "p1289" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"1e58c21d-0fd0-4686-a6ee-28f50402fcc5\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1395\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1396\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1397\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1404\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1405\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1402\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1427\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1444\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bWMYuGJ84j/gUfC31zraPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zw1Yof4Y4j/laeJyTU7XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O0c5z6Qm4T8j9O1R5pHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/qIXdDMS4D8nHFuG46nZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/mnTP1yFxD924TzMOuTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"okLXuTpRwj8NeTpmm1Xtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E6nM/bXIvT9sjAPhElTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nN92oT3byD92qfA85Xztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nJk9RrP667/wp0dz+1XWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Cx+Ffp47b853n03CKLZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lco+aDgb77+8Ona7WZPYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ffJkPYkz7r+KYu2nj6jVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SuCqDNeo378bEWCMJ9W+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"43QJc4sR3b/M0g7wpIm2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aTALz2r84L+Wkhk4FiG0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WV30s5YH37+Nx64fVD6nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uvtDppRW1L83GpCaONHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Hx6ZGJhs0r9xpOOe/ZfsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tkEOL11Q1b+JysEwn63sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jgn4o6PN0L956xGRv7rtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vqS7Tm4r6b/3isMley7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k2xFiCIK7L9oBxEe5vTiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EeabHbeI678yzdwTmV7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ajwwJt1h6r/DufF6SSTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dQyUjA/Q2z/////////vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ykqtCRBK2D/KWUp6wXDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tR+fEbKt2z/Dye700SfuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6qSlQPN72D8hAuRTT7jvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZRBtgB4h7T+v9fFVSbS2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v0z/gb2Q7z9qLhpdi9Csvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Sotkfvf7j9MHxTI+PG6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yn/VYba87T/IiElTDCCkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OOT76ryZ2b/4tbb7AxPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R0BZVAtr3r/uP2Zf1dbnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D3qwVuj42792euiyggrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oMzp4AH03L9prOSys43pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dLuMopKh6T/cyy+rrCvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"om6wOE6A6T+cq2FU9d/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KBOy4Jm05z/8XAfLR1Llvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pe9x3uid5z9g0KRr+4bjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"njJHB9eq4D9shjdTnf/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xIFf6+uXxj94dk7HV3/uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1432\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1429\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1430\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1431\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1433\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1434\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1446\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1439\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1436\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1437\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1438\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[129,129,129,129,130,130,130,131,131,132,133,133,133,133,134,134,134,135,135,136,137,137,137,138,138,139,141,141,141,142,142,143,145,145,145,146,146,147,149,149,149,150,150,151,153,153,153,154,154,155,157,157,157,158,158,159,161,161,161,162,162,163,165,165,165,166,166,167]],[\"end\",[130,131,132,169,131,132,169,132,169,169,134,135,136,170,135,136,170,136,170,170,138,139,140,139,140,140,144,142,143,144,143,144,146,147,148,147,148,148,152,150,151,152,151,152,154,155,156,155,156,156,160,158,159,160,159,160,162,163,164,163,164,164,168,166,167,168,167,168]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1440\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1441\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1445\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1442\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1443\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1403\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1416\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1417\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1423\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1422\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1424\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1425\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1426\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1447\",\"attributes\":{\"renderers\":[{\"id\":\"p1439\"},{\"id\":\"p1432\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1411\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1412\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1413\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1414\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1406\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1407\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1408\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1409\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1410\",\"attributes\":{\"axis\":{\"id\":\"p1406\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1415\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1411\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"1e58c21d-0fd0-4686-a6ee-28f50402fcc5\",\"roots\":{\"p1395\":\"c3b0d9d2-3283-4de3-b593-6549e04fe8bb\"},\"root_ids\":[\"p1395\"],\"notebook_comms_target\":\"p1448\"}];\n void 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": "p1395" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The network diagrams above now show multiple clusters.\n", "Each cluster represents one classroom.\n", "If we set a specific size for a location, the Creator creates as many location instances with that size as needed.\n", "The actors are then assigned randomly to one of these location instances.\n", "As you can see, some classrooms have more than four members because the number of actors assigned to classrooms cannot be divided exactly by the desired number of four.\n", "\n", "The `overcrowding` attribute determines how the number of required locations is rounded.\n", "By default, `overcrowding` is set to `None` which means that the number of required locations is either rounded up or rounded down using `round`.\n", "Below we change `overcrowding` to `False` to create one more location instance to avoid *overcrowding* the classrooms." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"e95c5a44-f109-4a9d-9be0-42af3d77dda6\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1491\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1492\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1493\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1500\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1501\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1498\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1523\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1540\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ufGM6Z+Y6L9wzzQbZlG9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jKy/LJE97r9ktWSIE9XCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ONvHlSs267/lJ/ovLdqnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jzvdmc197r/Q6BILgre0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZuYkYwS+xj92hujSyWDqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k9sW9OHbzD+ce6qNNSTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ap/X/BNB0j82CGddmPHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tBDhobgy1D86VCOSl4HqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JqPHluCBkD8n5pmwlm3JPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JY7Dnpaum7+73CVnbI2xPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+ZaPhBFWrj/zZn7Y2j+9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r4XFjVPNsb+4WPq2i7HEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E/4m9gpZ6D+fmZJ+3abhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c/4cau/25D97ZMCuPtnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WwoMYKEW5D9QUG9R6KTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CEFOTvTV5j94S2ZD2CLcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/fNGicKg5z+egoaY+mTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PNc7dJt+5T9Br2Yn1z7kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ff+eAvbA6D/AKkG+zczivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KqmJdbb65z9AA+EWR83gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C6iNfwsJ7z+DNEkem817vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W306rjRv6T8ZoKZfq4mgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qkN+CMAB7D9aa4enqDG4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I1tygyh77z+yBf9devutPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rwxzGVSmzT92g03UG3Psvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3MgQASSyyj8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uFYCTRWCzz841j/kJXLrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AUQJtcVKwD9tZBPQIkXtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3cCZjFCx4r8QyduDlQ3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YwGBUaax4b+yZnJ9z5/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3LHvY8M24b9+qeAmrYHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u1YIx/mJ3b9llcxh+srpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fk2gK4Ti1b+DBHm9yRDevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dCFWFiDn3r86q/jzFt7dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QmQmbHOk278USsbqf1DZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"INCL2qRx2r99N28CFtbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"es/XN9w85r8aHz5agAPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x1ytCtk94r8kZ3dYu2fjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0FL21swQ4r9xid1L9d/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rHhfgrGh5L+iVZOGPY3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AbaSbSub4r/ySchj5iXtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nIDEvJRx4L8rXXwLfrXtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h7/nUI3j678p1yPBox+7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gSaGsKsRzz/OI0fOM4HqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Vkhzf8Fer/OBHTnXSLBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4elFAVId5j9bs/stsRbgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pEWMdFAl5j9gJd2/zxLivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hxW6IpLH7D/6YSl42OWiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OpN8eZ8ByT9/Km3nslvtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p+0wnYh64L9+5hH6oj7ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zVWQDfAd2r+GnkzZs0jdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OLcQlRqX47+PoYtDHbnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8VocROjM4L8BNUVAS1HrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1528\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1525\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1526\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1527\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1529\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1530\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1542\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1535\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1532\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1533\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1534\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],[\"end\",[223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1536\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1537\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1541\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1538\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1539\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1499\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1512\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1513\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1519\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1518\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1520\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1521\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1522\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1543\",\"attributes\":{\"renderers\":[{\"id\":\"p1535\"},{\"id\":\"p1528\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1507\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1508\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1509\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1510\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1502\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1503\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1504\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1505\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1506\",\"attributes\":{\"axis\":{\"id\":\"p1502\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1511\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1507\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"e95c5a44-f109-4a9d-9be0-42af3d77dda6\",\"roots\":{\"p1491\":\"cfa0a0e8-8703-4890-9e2c-c2cff2406aee\"},\"root_ids\":[\"p1491\"],\"notebook_comms_target\":\"p1544\"}];\n void 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": "p1491" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " overcrowding = False\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot above shows that there is now is no class room that has more than 4 members.\n", "However, now there is a class room which only has two members.\n", "We could also set `overcrowding` to `True` to always round down the number of necessary location instances.\n", "\n", "If we do not want locations that are either overcrowded or undercrowded but only locations that have exactly the size we defined, we could use the attribute `only_exact_n_actors` to `True`:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"c747d039-1d8c-46db-8fbd-7181d6e12483\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1598\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1599\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1600\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1607\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1608\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1605\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1630\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1647\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"19gf6eFtxr/Fp4PG1wvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xtrv9b5T078qqmRIbqzlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mrj6dZ2zz7/mDF9sSynnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SYbX06Nw0L8O7VEbtLvivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cX/l8+pO0L/xTSF1yZTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b0ZUKHYhxr/+2cKgUDXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NcLylKKwzr/1hADZ/uXoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/S4CJ9JG079V3ysIm43qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WCzP68RG5L+Vcy8ScHfiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/gYb1kvN5L+Bn37nlFjdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"65KM3G/V5b9aXKpNRijhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iKonc0234L8u5FEShLrcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1ncUm+Ec7T9Wz8txkzDHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j7kKuE975z+tAV0qspO7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"54mSs9kN7T+E9Mkycve9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"io8S6wKu6j/w/gflgaTKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t2sp8ZSV1j/nUX83ABnrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cGImGE4S1D/TYjRimxftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SF1eSaKezz9nc2mGUezqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CTz6Sv8HzD9No8J3rnrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uR488nPU4z+cjueSB7LqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PbTH0C5w0L/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pMUaSPYa7T9fib0Obybcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wy/UMK4F7T/O08qUpRLYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nvgx0qSx5z+JaQUmfZfVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vgQrUZxU6z+Scy0E3gnevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m2uwW8aa6b88najEvt7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4svvRA4x5r/3Xyg3TQzgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oPlWdehl6r+W6BAq3efdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YA/cKDUI5b9i/RoezEPavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZMkbkq1v5r9L0jPaFViEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RVkGU6+t5r9bb8j/O0utPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OZxMuKSj4r9g5CzvE0GHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TBS9dGhy479QQyJ8viK1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qi5osrNKxD8qLW1dOJbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XklDzcOpvT9ZCu10oensvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uzJ/YMhgrz9cdoCcZEjtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iR7MaVdoqj83RVfeVbTnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"USH9OdLZ1j+jpDz/PHOnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T/jLofeU2j+ddTvon9WZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gxY+z6su0j947pRaXYOSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A4dylglS1j/hnTYHGX+2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CPCEuuy66j+9k3fiFlDZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mgKKTI7K57+ewubLzuPdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kauZHohR5L9Nh2Vp9wmbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T8rGAJJgtj/LjuILHM7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YxqIFL5Q1j+VELwUayaVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rxOo4HF4zr9lTx+Q4Krkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QzJ5Ix1zzr+Jiz6gVObqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qrzQqvFl478AAX1TfBTgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"92OeEbet6j+ocZng4lvCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pb9+LqxN0j96PJUaM6rrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1635\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1632\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1633\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1634\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1636\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1637\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1649\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1642\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1639\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1640\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1641\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],[\"end\",[281,281,281,281,282,282,282,282,283,283,283,283,284,284,284,284,285,285,285,285,276,276,276,276,277,277,277,277,278,278,278,278,279,279,279,279,280,280,280,280]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1643\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1644\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1648\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1645\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1646\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1606\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1619\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1620\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1626\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1625\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1627\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1628\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1629\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1650\",\"attributes\":{\"renderers\":[{\"id\":\"p1642\"},{\"id\":\"p1635\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1614\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1615\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1616\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1617\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1609\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1610\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1611\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1612\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1613\",\"attributes\":{\"axis\":{\"id\":\"p1609\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1618\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1614\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"c747d039-1d8c-46db-8fbd-7181d6e12483\",\"roots\":{\"p1598\":\"edfefabe-afda-497e-84a6-ef7ca0852eff\"},\"root_ids\":[\"p1598\"],\"notebook_comms_target\":\"p1651\"}];\n void 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": "p1598" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " only_exact_n_actors = True\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a consequence, two actors are not assigned to any location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining the number of locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The attribute `n_actors` implicitly changes the number of the created locations.\n", "Using the attribute `n_locations`, you can also set the number of locations explicitly:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"389b006c-c0e0-4a9d-8843-1c95ce643b8f\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1704\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1705\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1706\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1713\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1714\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1711\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1736\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1753\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wlWhfq9f3L9SMZ7b94PPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sw6WUyHp2b9zEVTQlrPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PyBa7lDE4L96/L78rXPSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FPnBjty23793XoPq9HvXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r72JSk8u2D++ikVWicPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uICQGX9X1z/QetzNBO7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yuHDEkHq0j8VdbeJWsziPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qp9e2bwt2z/aai8esTvjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mf39aZf34T/AQMc/KkHVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o7cqpXJH4z9hJCv0z7bQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"muFUuxP/4D89x/185k3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nfH3G3tq3j9KJnM0uJ3Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SRni6DP6079o/+aE41rsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"McVxWBOH078DHDYiA5vpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vcyRhrMZyb+WFudSuDHrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[301,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L/Yx0hUZ0L8EBMxBXUHtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[302,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T7+WSbFD5z9OGUFNzDjnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[303,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wnVnalOW5z/z/ZczGe7jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[304,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rbdOe6QV6z8d93Q3qrrUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nPCx2AmB5L8lT/9KCuznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3cGLarPM5b/CdexjcXThvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W7/8FDzd7L/nMdhDjlrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x08b4NnH6b9mGrTuiErkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rbHJumNT4T9nTqa39bjovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZLqEP88L7z8ZcmZnlNO/Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3+MwBIhzL9J35ZC/8TrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kPqkGmxN7b870PxN1He9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mq0T/V236r+4bqvyqTPhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GeR5KcMduz+aJJCMBqLuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RlGOUU9J7j+nSQVrZrq9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qSxRwf30678KDJ52XKTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5xoJAujh6T8sBTosWtjcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a+Cl7Yxv0T/rRhrTidzsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ByY/ygjdwj8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p+/iT9i12D90ZXwIHmDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jzogH2Pv3D+9HV43XyLsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j1q/ghgf678hWoFVxATIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"URW+4h/n7T832euEoXfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lvwyIFXZ77+K+YFJnH2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0KRKHZe74r/dLjxo4fDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4zGxolPSir+5JcBqrYXsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Du1rov8M3L+9VILZwXjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Isdqw9y3b+35jjFVqrTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZAVph3X41j/dl9YiR6riPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TqMGGU0d4T9dKMPb8TLRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ITYUBMZt0L9I5AXapcPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1741\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1738\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1739\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1740\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1742\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1743\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1755\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1748\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1745\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1746\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1747\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301]],[\"end\",[328,328,328,328,329,329,329,329,330,330,330,330,331,331,331,331]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1749\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1750\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1754\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1751\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1752\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1712\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1725\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1726\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1732\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1731\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1733\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1734\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1735\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1756\",\"attributes\":{\"renderers\":[{\"id\":\"p1748\"},{\"id\":\"p1741\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1720\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1721\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1722\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1723\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1715\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1716\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1717\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1718\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1719\",\"attributes\":{\"axis\":{\"id\":\"p1715\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1724\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1720\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"389b006c-c0e0-4a9d-8843-1c95ce643b8f\",\"roots\":{\"p1704\":\"c219f007-6acd-4a9b-8e41-21338c3f5da1\"},\"root_ids\":[\"p1704\"],\"notebook_comms_target\":\"p1757\"}];\n void 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": "p1704" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " n_locations = 4\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While in the example above four classrooms with the defined size of `n_actors = 4` are created, in the example below `n_actors` is not set explicitly:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"4862b093-bc53-40d9-a9c1-1fcd1879c83e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1804\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1805\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1806\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1813\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1814\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1811\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1836\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1853\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HkGJzh5P6z9rDU6wqrvnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XhsTM6ny7T+Di+9JUWDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I+mlxLmO6j/A0nB42IrfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q3zlRqV15z9RSlGK0bblPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9KeLq50d6T+uigPQq03nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ByeJt7uL6D+spmcSXSfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AHlFwvSP7T/OIqp7ZlvnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"10kUrRxy7j/tNmnrSsXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kOT07MIt5z+Hh7mltFfjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WMEHjYxH7z+zIkNmQtbjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oL7drxzG2T8nqIRL9frjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWmyuwy64T+uSagziVfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j8MNLAS41T/QsBOaGmjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/1HK7Dob4D+j9GK2XQzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D0PaUbvG1D+aGaoyPZ3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[347,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8wXY9RL54D9a86Jh0DTlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[348,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xLGOyxd14T+uz8/tK3vpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[349,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zmDwpGU93D+unn/wwpXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[350,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"alioPJZd3j/rlaB4Y7njvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[351,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e/tZPKti0z8xNqeszGXnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[352,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pMW0kFDw6b9XS50dMrTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[353,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HfqBFig17r+dcCTCi+Pqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[354,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Shy70Og7b8rECStQQrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[355,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gcc7HhiD6b9D7mBvHeTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[356,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gJQ45jYa6L/Ixbmqkifqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[357,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ijC+Z0y7L8Nz9+ysNXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[358,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CUJXcZtv779xpSP7fObovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[359,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9QAvdrzD7r80E44AT2rlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[360,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"djgpDaKm579d4ykE32nnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[361,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZtEL5UIm7L/yVbaWHSTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[362,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b6rVGilV4L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[363,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bC54A10b37/0TGy0EjDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[364,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9lFP1bCd4r8V9Otg8KzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[365,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TlDR+QwD5b8bqpvflYrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[366,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L0SrsGOC5L8Ey7umNUTqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[367,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P8PKxi6H2r9iP7RN6efsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[368,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QuTAgzFz3L+qXvLc1LLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[369,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WgpTnh03L9+TU5MA63qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[370,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GTLLYCeI4r/EEvoGzNTvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[371,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I401heNO5L8vTrIwoJ/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[372,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/NfBNW3i7D9QRDHG8zTgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[373,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YU2tNyEV2D/Gz1JXfCjrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[374,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qz5o4ZvI6j+Xy51OL53jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[375,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cRQODNJG2z99YL1jElznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[376,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/o3hAUwK67//Y9LJb9Pnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[377,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cDklY/Xv4L+cH3pnQO3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1841\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1838\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1839\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1840\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1842\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1843\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1855\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1848\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1845\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1846\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1847\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373]],[\"end\",[374,374,374,374,374,374,374,374,374,374,375,375,375,375,375,375,375,375,375,375,376,376,376,376,376,376,376,376,376,376,377,377,377,377,377,377,377,377,377,377,374,375]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1849\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1850\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1854\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1851\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1852\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1812\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1825\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1826\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1832\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1831\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1833\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1834\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1835\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1856\",\"attributes\":{\"renderers\":[{\"id\":\"p1848\"},{\"id\":\"p1841\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1820\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1821\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1822\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1823\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1815\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1816\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1817\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1818\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1819\",\"attributes\":{\"axis\":{\"id\":\"p1815\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1824\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1820\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"4862b093-bc53-40d9-a9c1-1fcd1879c83e\",\"roots\":{\"p1804\":\"a56c17b6-16e4-4778-b0f6-2ad95894e8f5\"},\"root_ids\":[\"p1804\"],\"notebook_comms_target\":\"p1857\"}];\n void 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": "p1804" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_locations = 4\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying location visitors\n", "\n", "The classrooms above are made of all actors.\n", "But in many cases we want specific locations to be exclusively accessible to certain actors.\n", "For this scenario the method `filter()` exists.\n", "If this method returns `True`, an actor gets assigned to an instance of this location class.\n", "The most common way to use this method is to specify a condition that requires a certain actor attribute to contain a certain value.\n", "\n", "In this example we want classrooms to be only accessible for pupils." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"4c08e38d-616a-4c13-a7af-4f0948bb6314\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1904\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1905\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1906\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1913\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1914\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1911\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1936\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1953\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[378,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kh/MeHmH6b+gr0YSW56UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[379,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EIkd4rwksT8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[380,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7xO6rG5Q1j/Yql9A6mXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[381,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HN2BzTcg3j+im7iM7ujpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[382,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9CJsUt2g2z94pbZJjmnmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[383,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FkhBFuMw2j/0QlMR60Prvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[384,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2lQgxj+U3b9Mz7Md0EXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[385,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SFHIiwxC4b+it3rVpznoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[386,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wtlXOmdt77+FWSptugXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[387,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ElsPMccG4r/uBmsmb8PjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[388,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OYLl1a43478w+0Y4KibnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[389,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lM8BK1xyzD9eLM5PVcOpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[390,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TxY8Z8OT4j/pBbeGq8TuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[391,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hFxFhJP6wj+nMV1uy7yxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[392,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VKyOVk/p7r943COpNs+/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[393,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pGdydYdA4791fOlDr7Xtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[394,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3xGzCLnLvz/2hWmCltCgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[395,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ruF2d678zj8VYgMmoIimvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[396,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GNVxyWtA7z9bItJQAezYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[397,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jr+jwDGkzL+aq4hFyLHuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[398,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"01uPrA0F5z/L73FL0NDbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[399,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vUQduc6t5z9C7CnhYaLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[400,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uMHX7zlJ6T/ac623MvLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[401,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4zyasMYu7r+lEeQXjf/ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[402,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wv+8xPBZ5D80cvUgKnXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[403,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IsNu6jjq6T/yPbXklW7Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[404,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LftcsL4Q7D/EWBo6YV3Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[405,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vu1bws+T7z/rXkJO2MDFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[406,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m9iqZoCO7z8/VjMVd7HOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[407,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bnZxDhDM47/cQsW1qr7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[408,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c9NQDy62479ONaB8zObfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[409,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"psr84Bcc4b/OAOhkjzrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[410,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TOOAfUi137+TrLXqKzjfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[411,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bxeu4YIXqr8Q/QahTtHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[412,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nmCNXuIoqL/NZ/OJDGbuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[413,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y7NUMVLosT9ZMZAML/vtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[414,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5tI9fdtRkT/AsweLiXjvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[415,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gV8Dn1dw6z8QP4OPfyrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[416,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y+/mZNMd6r8UBr25H6S8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[417,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y9Q9DRuv4r98CYGLlMHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[418,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g95yc4gZ578gizuAQQLBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[419,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7jga8Hsy579LKlcJLnaOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[420,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KeY0/ZX64L/S7w6ae5DlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[421,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r9YwbxEwxz+fL2+vRj1+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[422,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G7ue5lHc5j84QU9ujx7gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[423,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Dl2QksQ7T8DYDnbnGjJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[424,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OdD6zeO54b8ONqQEHf/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[425,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z7MkXhqycD/ZuuSN5pnsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[426,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iszKkm0T6L8SIYyUMHWyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[427,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LYHfMdMX2j+qKTFn3oXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1941\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1938\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1939\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1940\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1942\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1943\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1955\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1948\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1945\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1946\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1947\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[378,380,381,382,383,384,385,387,388,389,391,394,395,398,399,400,402,403,404,405,406,407,408,409,410,411,412,413,414,416,418,419]],[\"end\",[426,427,427,427,427,420,420,420,420,421,421,421,421,422,422,422,422,423,423,423,423,424,424,424,424,425,425,425,425,426,426,426]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1949\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1950\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1954\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1951\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1952\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1912\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1925\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1926\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1932\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1931\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1933\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1934\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1935\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1956\",\"attributes\":{\"renderers\":[{\"id\":\"p1948\"},{\"id\":\"p1941\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1920\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1921\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1922\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1923\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1915\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1916\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1917\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1918\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1919\",\"attributes\":{\"axis\":{\"id\":\"p1915\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1924\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1920\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"4c08e38d-616a-4c13-a7af-4f0948bb6314\",\"roots\":{\"p1904\":\"f51bf739-9f3b-4c3e-8287-d977b8b243df\"},\"root_ids\":[\"p1904\"],\"notebook_comms_target\":\"p1957\"}];\n void 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": "p1904" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now classrooms consist only of pupils, while all other actors do not belong to any location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building separated locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently, classrooms are not separated by grade.\n", "To seperate actors by grade, we could define one location class for each grade and use `filter()` to assign only actors with a specific grade value to a specific location.\n", "\n", "A more convenient way to do it is to use the method `split()`.\n", "For each actor, the method `split()` returns one value.\n", "For each unique value, seperated location instances are created.\n", "In this case, the method `split()` returns the attribute `grade` for each actors.\n", "Thus, the Creator builds seperate classroom instances for each unique value of the actor attribute `grade`." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"50c2032a-a5a4-4eac-953f-15460aa1b15c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2008\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2009\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2010\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2017\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2018\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2015\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2040\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2057\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[428,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M4Q8KuN22T8PYP8lDW7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[429,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BJ1ygMQx7z8n5s8tdETKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[430,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/VxFt8iL0D/kfSoy9uvfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[431,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IhnlRSOD1T+pA/cEOfriPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[432,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xrs28mXr2z/y3M+Snvrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[433,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"na0SrVNG0j+ANsqEInjkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[434,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3HZUxC01T+h0pRRDAPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[435,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VdaRZuUb2b9R6D8KXTThvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[436,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vWEC6UGcl78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[437,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NSb6KOpg379HR/s8+mrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[438,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SHH0dOp82L/iOzkzOLnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[439,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F14rZub95r+RLjH5OvjMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[440,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sDUCEi0t6T+uWWdeuODMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[441,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kXH75DnD6b8YwiKakArVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[442,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L2KxzRaK6L97TTwNFZzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[443,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6hkXo5f65j+OE+Rqvwzkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[444,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rv3dibsh4T+XiaKP2JzGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[445,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"umjGeOaR578kUHrodoPTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[446,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3sjDwjSe5z9NIvzij0XnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[447,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QbiBIYc+o79IDLUTo2/vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[448,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HBlMRf3p1T+JmXu+y7Xlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[449,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8iJdKj4I6b9voTWsal/HPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[450,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SRXjb5m14T9wVjsiO6jYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[451,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rx8J52H347+pGRfAY+DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[452,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SEdxn/W95b+o/PqDYx/MPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[453,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YXIpwxfM6r9J2NbB/lfPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[454,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9SpTeZ2a6b9UXy0udgfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[455,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EV6iU2Bw5D9LsDrKQjTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[456,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lfdhj6rs4z9MAN3BzNHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[457,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M+MjvkBjy7+0z01ILWblPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[458,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t5RZrEBN4T+7mTF7KcPSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[459,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7KyJ9PSC5T/hYr/iG/fFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[460,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7DAeq7Ko4j8TUKgcDOO6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[461,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PhLslMWW5D/uyiYuDB7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[462,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yWC/eeH1yj/LZSxxdSHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[463,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FMzT6CFi07+sVULNq4joPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[464,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yN9t3uGCz78L6ehmSLnpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[465,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hGDjHJNw0T8YcIJA/1XtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[466,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zRmZXzdl3b/W+ap4Donlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[467,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OOvGsyYpjr/EszVZBUnrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[468,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cKb+P/ai078lBis+H1DmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[469,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5AuCLkef678uxsYjypbRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[470,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5SqipT/K1z+BH5DSFPvnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[471,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1CqCJJlF278waDeQB1Tjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[472,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"txd/tgyt4j/+0ZdHLj7Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[473,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SVUp4Xlq0T/B8ewQqiHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[474,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hMkQJvFV0L9+lxQ3M1TnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[475,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sw59EQgg6b+dohSL0m7Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[476,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LkXLyKxW6L8szvmRfHLOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[477,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yVkc6mMW4z+qZlpDxSXFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2045\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2042\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2043\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2044\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"grade\",[3.0,{\"type\":\"number\",\"value\":\"nan\"},2.0,2.0,3.0,2.0,3.0,3.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,3.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},4.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},3.0,4.0,2.0,{\"type\":\"number\",\"value\":\"nan\"},4.0,4.0,4.0,2.0,4.0,1.0,2.0,4.0,4.0,2.0,2.0,1.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,1.0,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#ffbb78\",\"#f7b6d2\",\"#ff7f0e\",\"#ff7f0e\",\"#ffbb78\",\"#ff7f0e\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#ffbb78\",\"#ffbb78\",\"#1f77b4\",\"#c5b0d5\",\"#1f77b4\",\"#e377c2\",\"#8c564b\",\"#2ca02c\",\"#1f77b4\",\"#98df8a\",\"#9467bd\",\"#ffbb78\",\"#2ca02c\",\"#ff7f0e\",\"#c49c94\",\"#2ca02c\",\"#2ca02c\",\"#2ca02c\",\"#ff7f0e\",\"#2ca02c\",\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#2ca02c\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff9896\",\"#ffbb78\",\"#d62728\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"grade_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2046\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2047\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2059\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2052\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2049\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2050\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2051\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[428,430,431,432,433,434,435,437,438,439,441,444,445,448,449,450,452,453,454,455,456,457,458,459,460,461,462,463,464,466,468,469]],[\"end\",[470,473,473,470,473,470,471,471,471,475,475,477,475,470,476,472,476,476,476,472,477,474,472,477,477,472,473,474,474,471,474,475]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"grade_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2053\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2054\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2058\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2055\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2056\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2016\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2029\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2030\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2036\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2035\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2037\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2038\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2039\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2060\",\"attributes\":{\"renderers\":[{\"id\":\"p2052\"},{\"id\":\"p2045\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
grade:@grade
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2024\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2025\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2026\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2027\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2019\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2020\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2021\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2022\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2023\",\"attributes\":{\"axis\":{\"id\":\"p2019\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2028\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2024\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"50c2032a-a5a4-4eac-953f-15460aa1b15c\",\"roots\":{\"p2008\":\"f3174592-03d4-4899-a3c0-8979bb60245c\"},\"root_ids\":[\"p2008\"],\"notebook_comms_target\":\"p2061\"}];\n void 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": "p2008" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6cc7b886-8a3c-4bff-85d6-be53fdd41c84\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2112\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2113\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2114\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2121\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2122\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2119\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2144\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2161\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[428,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pxAq+Dnkob+SXJPWpMXHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[429,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fg+mkTcU7b9rynj+V0rcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[430,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s7kRjbzv5L8Hs6ce2+60vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[431,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"84uKfbRy5b+hHz5ew7SWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[432,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c2B/W8bLor8tOqYFIy3CPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[433,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cbyC1RJW5L/lHaLOA7Smvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[434,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TR7NNE0RfT9acjOl9dnBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[435,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UfianvMH4z+MbATKxt7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[436,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l8UvujpX7b/6meqIWeytvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[437,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+3u7NgLH4j+dQe0EgNrgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[438,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rVXDjboN5D+K6o7N4urhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[439,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ufYKoPFT2L9uYSNCiOfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[440,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+4H+Ixc5XIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[441,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lgptE+X22b8AC5X1chvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[442,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C/OjehVz7D/o5FVJq4Pivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[443,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3+ixMmWR67+t2jLJ0PLavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[444,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qa4eNPQu47+yX7xCVkbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[445,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3Vx55gh0179V6B50Kqbhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[446,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o9e/uHh40b98HuyMcNzqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[447,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bcrrIaS24T8E9pXKPBjqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[448,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ODdB+Jv5gz9Cz0N3X5fHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[449,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y041hCIfpb/8Y5Ly5YTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[450,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5TBCiMz3wj/BMC9QlJTovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[451,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QPBtfAko0j8U5/mRup7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[452,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i8cp5KQmsb9LGJN0+w3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[453,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aNrTS7QVsr+thei18pTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[454,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8ue4VILluL8xkeg1e3XrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[455,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XCK5UcWftj8qMpLnYk/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[456,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rL7DWKuG5L+u+yOor5vkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[457,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FSMrx5pV5j9gMpmoIsLgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[458,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1kVWMkFzvT9pns4nrobpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[459,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AKUA/7m+5L9fCyBmSkLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[460,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PiMkmT8j4789JJMBSrLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[461,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3wwjW+Qgvz9nNhzNpF/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[462,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yjenHOtf5r8EDNw5/qSuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[463,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8n5oteJq5T+nR/T96/7evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[464,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ogz12PBG5D/k2smHv0bgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[465,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2GYJpWFc6j/Pf4l+0yvIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[466,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ROVLEFEJ4j/cl4QQkAviPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[467,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rPg9hEe07j8Dc5db9qO+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[468,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+mjnZ6UR5T9NdyIVBnLhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[469,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7qDFqnkk278liDymQZPivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2149\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2146\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2147\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2148\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"grade\",[3.0,{\"type\":\"number\",\"value\":\"nan\"},2.0,2.0,3.0,2.0,3.0,3.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,3.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},4.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},3.0,4.0,2.0,{\"type\":\"number\",\"value\":\"nan\"},4.0,4.0,4.0,2.0,4.0,1.0,2.0,4.0,4.0,2.0,2.0,1.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,1.0]],[\"index\",[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#ffbb78\",\"#f7b6d2\",\"#ff7f0e\",\"#ff7f0e\",\"#ffbb78\",\"#ff7f0e\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#ffbb78\",\"#ffbb78\",\"#1f77b4\",\"#c5b0d5\",\"#1f77b4\",\"#e377c2\",\"#8c564b\",\"#2ca02c\",\"#1f77b4\",\"#98df8a\",\"#9467bd\",\"#ffbb78\",\"#2ca02c\",\"#ff7f0e\",\"#c49c94\",\"#2ca02c\",\"#2ca02c\",\"#2ca02c\",\"#ff7f0e\",\"#2ca02c\",\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#2ca02c\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff9896\",\"#ffbb78\",\"#d62728\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"grade_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2150\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2151\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2163\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2156\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2153\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2154\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2155\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[428,428,428,430,430,430,431,431,432,432,433,434,435,435,435,437,437,438,439,439,439,441,441,444,444,444,445,449,449,449,450,450,450,452,452,453,455,455,456,456,457,457,457,458,459,463,463,464]],[\"end\",[448,434,432,433,462,431,433,462,448,434,462,448,466,437,438,466,438,466,441,445,469,445,469,456,459,460,469,452,453,454,458,461,455,453,454,454,458,461,459,460,464,468,463,461,460,464,468,468]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"grade_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2157\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2158\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2162\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2159\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2160\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2120\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2133\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2134\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2140\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2139\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2141\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2142\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2143\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2164\",\"attributes\":{\"renderers\":[{\"id\":\"p2156\"},{\"id\":\"p2149\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
grade:@grade
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2128\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2129\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2130\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2131\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2123\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2124\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2125\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2126\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2127\",\"attributes\":{\"axis\":{\"id\":\"p2123\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2132\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2128\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6cc7b886-8a3c-4bff-85d6-be53fdd41c84\",\"roots\":{\"p2112\":\"b999473f-6762-46da-b39a-137a9428daf4\"},\"root_ids\":[\"p2112\"],\"notebook_comms_target\":\"p2165\"}];\n void 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": "p2112" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"grade\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Keeping actors together\n", "\n", "In the following plot the nodes are colored by their attribute `friend_group`.\n", "It shows that the members of friend groups are distributed over different classrooms." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"335df515-e4a5-48af-b39d-58404f340042\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2208\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2209\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2210\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2217\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2218\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2215\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2240\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2257\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y1DZnM3M5D/k2YdktGncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g5i4bBR86T/uFj6u9k/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3hV7MV4g6r9svUZjkfHQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OOEP6HL36b91Cgh9IcjCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gMmas6SM4b9W8izHrcTbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CivRq21F5r+a72Ru0X/Ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hoeSd8mO5b8OwoCBwcLaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0NqVy9YU47+rwSJYsPfVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9rwNM1QR1r+WH0aIjdXuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RfVERTsZ5D+pTdUNEFbXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lHLNuBH76D86lzaJaVfaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dYq63EYbxz/HNJmcZLXlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CE6YqlKs6L/JVXg3Q0bevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Oh53v+Q50D9Kg+UMgDjqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+S5T2mjOCYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NVBcSr0mv7/b3Tmhb/3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z++m9KElfr9UDCkFHujsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y7z053iMyj9oeDbGvJHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pE6ZB6pO5T/rfWYZYpLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qeTcKmuX5T9j8CBe53bnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PtVC8oxk6D+hm9AKmEDePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4ZaqEjvLjj+V5rNiUNvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Luut+htC5z/GK+dPK2TJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hR2wjaas7r+j3/oBmI/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gte3RJ/0tz+l3xokm4Hqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"koc77eyLrz++pTwN+cHtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"erjgTp8g0r+6n7KjFBCgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mc/+n1b25D90qdNpak7Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"irERf5ES1b/7wQ/jLWLDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TnL4m2tWwz983nIDo8jqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kUvnDmtE5z/KwMbTFdvQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bCQ0hMT71r8CcrCMj4uxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F1YQm8bMz78m1IMlMarAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oUXA6dSP4j+6eTL4LyTHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kVWkZmU567+KHDU1Cp3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CCP0Kxwzxz8yRWykqaKjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wwx5ASXH0D9ookxwCfywPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dNz04sBl779Fho9mZxTOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HTQOZWa6479Wj73snBvePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2xjo1L7A4b+Kf/fSrF/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ei9Z4Kq/zj9lQIjWS2jDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AYGiVAnZwz85bG9n6nDBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[520,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v4FUR29Y479pgxFDlgTaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[521,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ywx+QcyN5j/mHh2ekafaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[522,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"olL7aQjd6L8paDmJPuvJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[523,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EOl5fA8W5T/7Pt+oH2TMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[524,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SSno8TE5yj8Uv1InQbq4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[525,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uNsLtQP6yD/oEkN0ivToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[526,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"meDFZQ7qoj/cIFw2i0jrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[527,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LGH4hC8d079lF9fuJF+3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2245\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2242\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2243\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2244\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2246\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2247\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2259\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2252\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2249\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2250\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2251\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,480,481,482,483,484,485,487,488,489,491,494,495,498,499,500,502,503,504,505,506,507,508,509,510,511,512,513,514,516,518,519]],[\"end\",[521,522,522,520,522,520,520,521,521,525,525,526,525,521,526,523,526,526,527,523,527,525,523,527,527,523,522,524,524,520,524,524]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2253\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2254\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2258\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2255\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2256\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2216\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2229\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2230\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2236\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2235\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2237\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2238\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2239\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2260\",\"attributes\":{\"renderers\":[{\"id\":\"p2252\"},{\"id\":\"p2245\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
friend_group:@friend_group
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2224\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2225\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2226\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2227\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2219\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2220\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2221\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2222\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2223\",\"attributes\":{\"axis\":{\"id\":\"p2219\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2228\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2224\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"335df515-e4a5-48af-b39d-58404f340042\",\"roots\":{\"p2208\":\"cdd6505f-b821-45e8-8da5-356070531589\"},\"root_ids\":[\"p2208\"],\"notebook_comms_target\":\"p2261\"}];\n void 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": "p2208" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6de09063-de84-494e-a020-c18b5d1cb072\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2312\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2313\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2314\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2321\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2322\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2319\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2344\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2361\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PdnUyHWly793bM46zmPjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"COrwo04i7r8ftBV2Vi3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3rVuG+Ou1T+vtxgA+VfkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FCr4pd141D8YahPlmU3iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1mL5ejXU5j/koyU/J0HTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"coyMSd6/1j9ia0hTruniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VI4xB/RB5T9agl+L9eDTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PGLNsAV75z+/bEHvMcrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u7PdGD7B7z/G4ledibLGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kWyFzLrHx79MAuprK6Dhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kLflXyHmzL/nu90mT+bhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"spA9iv81xr/JdVDDfRLkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W/pnlWJPsj8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pOlaALsVzL8HM5fIp7jiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nr9Vy4LQ4T/l67JZHVbpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j2jtY5Xc4r/Mkfaj/IrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Je3yHp/t6L/LF1i2BXbEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nv4qSKH1y790DxL0ekPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LQ0B3Fkn07+eNVa/7Ajuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0H+9SEc/2b+/jihvWvjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RknAfNPmxb/HbJ9RmNrivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kEUJgA7A6L+lypsJnuLLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HN3pVBHN1D8q6QncJ/fovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"77nkOJI26D+7L0NoSzTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1sOucz716b/CX4hRv5bIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"11238KCn57+BIFS77rfHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lf3kaoQx6L8hT5HHIJ7Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UEwZpIwc1D9eno9oOHvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qEnHicZG5r/sYIAa8O7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"20lMLtGixr/DFOmTmbziPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a4+UBYs00j/sX7yjGGvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Glhbmr3S579BuQjzyFHavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"boFyFrTz5r/nlAQpz4nWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fpL1fr9v0T+H5USruc7pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M4QErKj50j/wwpNNg2TjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"svivfiN85z9UbwA8hXDQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+DJdaL2O5z8TViCSxDDLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ddTyudya5r+6Tw0pjHXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pDM5kpce5j/4nPVz0ZzWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QAhzHfcfa7+1voAmLzzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A/LaWV815j+4j+v8AZvKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VejMADH/5T8oCSdLnxDQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2349\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2346\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2347\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2348\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2350\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2351\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2363\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2356\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2353\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2354\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2355\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,478,478,480,480,480,481,481,482,482,482,483,484,484,485,487,487,488,489,489,489,491,491,494,494,494,495,499,499,500,500,500,502,504,504,504,505,505,506,506,508,509,513,513,513,514,514,518]],[\"end\",[488,498,487,481,483,512,483,512,516,484,485,512,516,485,516,488,498,498,491,507,495,507,495,503,499,502,507,503,502,505,508,511,503,506,509,510,508,511,509,510,511,510,514,518,519,518,519,519]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2357\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2358\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2362\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2359\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2360\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2320\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2333\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2334\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2340\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2339\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2341\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2342\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2343\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2364\",\"attributes\":{\"renderers\":[{\"id\":\"p2356\"},{\"id\":\"p2349\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
friend_group:@friend_group
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2328\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2329\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2330\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2331\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2323\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2324\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2325\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2326\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2327\",\"attributes\":{\"axis\":{\"id\":\"p2323\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2332\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2328\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6de09063-de84-494e-a020-c18b5d1cb072\",\"roots\":{\"p2312\":\"da600f91-dc1a-4a11-8b05-58ecf180203a\"},\"root_ids\":[\"p2312\"],\"notebook_comms_target\":\"p2365\"}];\n void 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": "p2312" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"friend_group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although this is a very realistic situation, in this example, we want that all friend group members are always in the same class.\n", "To implement that, we use the location method `stick_together()`:\n", "For each actor, the method `stick_together()` returns a specific value.\n", "Actors with the same return value are sticked together." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"a80a8af9-90ca-4119-be3a-022e8a25bb6f\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2408\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2409\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2410\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2417\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2418\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2415\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2440\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2457\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ltw28Vdb7b8riFbuy2jKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nW1ZWOeEcD8kEP/KQlbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JBFrMO6f0z+G2E6rHeXgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fM7QGXQx1z95xbu9UiHfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dFy9e2v11z+Aa0JMK2rlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OyeKEHaK1j+cDn0+BYvivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lzNIdn3I1j/cEJa7G4boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1nN5kyRb2T+H3TcXwB/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rWnHWD1+0T+xNLG07v3vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y12HeQ3i7b9Oh5HCEZ/Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KBj8BvyU6b9XrSFXIkvEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6h/mO5Mfw79fowqqPBnivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q0VJibKmq78BXOnTpX/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/f2EPb2OxL/J7SRc90rkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ik6sA2qf5T+R2dQl3KDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vgJKVdad7T9RAp9mUxvdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+FYrRCAY6L+D/7W2KgniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PvoAAxvUtL+QEZduoc3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lRYF9Vmo5D+t/AStRI/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3r3+osLIxj8wQhtoQvbtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IDuFK11c678K7C4cZ/HAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D6Plb0m95b90pefJcurhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uPvg28sGy7/EK5wTV9jDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8voxoMf9y7+IPJLAicrvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"27ILGM485r91/3UzuJ7fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vU2H8p2357+b4sGAVo3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uEn36p6V5D9DV9Hyno/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z0hChfPVxr/V1RGV/mzLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L140LNXM5D+0vzYZmkndvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FyIb8pjgu783qZ3CbKnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/ZC9lTIZ0b9LDqSDUIPIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6YNkHNP05z/SXQKrW9ffvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E1yxfXSS5j9lZtOWgL3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JucRXqBEzr+RMXuk3v7OPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v2ZcMjYy2T+HsYkogarhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eJyt9g9umT/9Mv/i1dTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KL2p/Y0LpL/SzUjkVdLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NlwOEi01xr92xHTXkfjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M/OVwhjA1D/AKpcICcHkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4HWjPPVo47++c+R+/ObsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BW4L+Na2p78BsFLmKQDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bnU5ZP4Thj+rlFGRW1DnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[520,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BbhE8vLj1j95PbAV4K3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[521,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"apuQ52HW67812ithp9PFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[522,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d0zWnbpe1j8o/lhwRurgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[523,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3guE1to5zL9x6GvOhXfJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[524,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z3WppgSLhL9HC++C/63lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[525,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2a8W5xtqv7+4uwtmnjXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[526,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pacYBhy05r+tAnFjb9bgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[527,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NLRahiLx5T+h00Jkpwbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[528,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6PYSrbvQ079YHkyKmfboPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[529,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D8NZcQcRqe2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[530,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z6NUMctB5L+GxP8tAf3Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[531,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"49Ir8ku15b9c09hnv8LWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[532,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7L1wUXKw0b8qbtoFT8DmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[533,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JUFnSjZv5L/CoJbSCZ7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[534,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"THG0yqVz4r9pSJIUtKfmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[535,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dPCGDOz/079u7MtXo6vlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[536,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PLs+DjjL3j+dnbPz88nsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[537,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUjd1jT41r+m7eemne3oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[538,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vGDKgf2g4b+KO3MQRbDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[539,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0fuWEOuN5z9ocKHYhVjCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[540,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TmxJiKrn4D+eKvk4wVPtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[541,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BHxh8Dyo6r9+Z18JLKG4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[542,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ni2w6tEh57/kdJhPTPzlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[543,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fvSI0GwN679zPTgRAKbmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[544,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CmzNO9nktz8rgKF98B7tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[545,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n/tWYhPJ6T+iIUGvt1HLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[546,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ChtEmOAU6T+d3QEKuRfjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[547,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZMJv2WI25z8MXMBb34zgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[548,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QPrfU/iS37/t3mr5mbvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[549,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WhbTkmDV4D9Nj7F0sWzbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[550,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yT6NpHgE5j9loeuyshnBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[551,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0y60elh61r+oy3vz5hztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[552,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vtQe2fSSrz89PobZ6iHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[553,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ExnhXGy/4j89aCJwRl/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[554,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/xDeT7ISqT9PeAPgbHrsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[555,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pByFomzy6D8iksUJFYC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[556,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vdAH5Y4jwD+fnS2XXhvsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[557,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kN0qyYPs6L/LlFO9NjXBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[558,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XU6ykkqu4r82uEGptFbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[559,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wuMuo4L94z/C2DTInlrfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[560,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kA4FnHaM4z8gUtkj6PzbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[561,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oEgIzKgJ6j+FoNKHjGfDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[562,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zwkidhRZ6T8n5VKI+gnIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[563,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dkoT+80y5j9Z4jBoARTGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[564,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0g3TVHU76j9Oem3EPxvGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[565,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MYIgehs577/2UEXgohXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[566,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rweTpgsK37+zpDWGHvvjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[567,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1yT700XG7z+1oqZtjDHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[568,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qknNBsg86r/1mtJCej/HPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[569,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lSLnW0ZC7L8Vo5tLNzXDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[570,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vGC2/9DI4L8y+J2g19zlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[571,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"glMc1lZS1L+OUNdWqHPnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[572,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6HzxH00s6D+7uZzef9/Cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[573,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M+QuJTL547/bjuI/9bHVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[574,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bbZ9VMZF6r/Spw2vAanBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[575,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rQpL61te6D9HBPZE8OPGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[576,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u1eXmCRb4j9IG3jk83/dPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[577,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e6nMzBartD+KwenNiXvrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2445\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2442\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2443\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2444\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null,14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2446\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2447\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2459\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2452\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2449\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2450\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2451\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,480,481,482,483,484,485,487,488,489,491,494,495,498,499,500,502,503,504,505,506,507,508,509,510,511,512,513,514,516,518,519,528,530,531,532,533,534,535,537,538,539,541,544,545,548,549,550,552,553,554,555,556,557,558,559,560,561,562,563,564,566,568,569]],[\"end\",[521,522,522,520,522,520,520,521,521,525,525,526,525,521,526,523,526,526,527,523,527,525,523,527,527,523,522,524,524,520,524,524,571,573,573,571,573,570,571,571,570,575,574,577,575,570,576,572,577,576,577,572,577,574,573,576,576,572,572,575,575,570,574,574]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2453\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2454\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2458\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2455\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2456\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2416\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2429\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2430\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2436\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2435\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2437\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2438\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2439\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2460\",\"attributes\":{\"renderers\":[{\"id\":\"p2452\"},{\"id\":\"p2445\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
friend_group:@friend_group
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2424\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2425\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2426\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2427\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2419\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2420\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2421\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2422\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2423\",\"attributes\":{\"axis\":{\"id\":\"p2419\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2428\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2424\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"a80a8af9-90ca-4119-be3a-022e8a25bb6f\",\"roots\":{\"p2408\":\"d64ce0e6-a564-4f19-aed9-e6812e6c39e3\"},\"root_ids\":[\"p2408\"],\"notebook_comms_target\":\"p2461\"}];\n void 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": "p2408" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"8a746945-1929-40e5-b9c0-a602335ef3ad\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2562\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2563\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2564\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2571\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2572\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2569\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2594\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2611\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yCeB3vIWzj8spd+86p3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Srt4fm45z+rl6fwEAPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J8aeIEg51j+CtIh5Ng7nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AyFtZZel1D8sxDYpEVzmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ucBq8Z5m4796Sbth2iLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nQc9Gac+1z+/YDihIT/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5cyA57995L9NYCsnqVzkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q3QZnfeN47+hFTkv6DPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o3zkxKEE7b9ofawthRfaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f91BgRTNyj+4ESdXiLznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fnJL1krEzj8pDC/+R6nnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7YR4T1/zrj9N+emJ2Nfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ztUZQZVb3j+Q21gwE9PsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c3h80qFzpD/a4/7SuEPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wFACdX9v6b8OkaKsjU/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Iau/0VoFpT/qGgU33/3vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sn6CEG3K6L//H81i9RGYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RJ29kQcXtT+IAYwQNybqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fK/TApND7j8aOXuJGRbUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NCsugclC7T/MJpy8iJ3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6SkbB1hPyj9nvB89RtPmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q/K1T0YV6r+HFDJEYy6TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EGVGl71K4L82YO7Y72rivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"02lAByvI4z9uFdt8qZHnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VMHp1WNS6b9Z7OCI20emPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mq+spmIs6b86y3Y4kNtEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vLUa5EpU6b91ARg001bXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RFLPawZv4b/Uis510xfjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZiYABuHi6b8hoeMlbczVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ogl1oAk1rT87Oy7ZyPvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2j2ABN+a4b8/hSJsewPivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yfmS939b6L8jX64IXAHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ip67yWIC6b8/3l74upzUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l7fsZGPa4L/vQ/UVAcDhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iXp1uteA1T+vrH4QLnflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfZZXPfd4T+3sRQqn9ncvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S5ILp8c94j+vRLILonrfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WxC2ZKvv5D9wDu/my/bhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P5hrw1Bx5L8KbZKeZWnlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DRdUkR5n6j+pknuxTsPePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VpKso/th4T9OXvfXrvDdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HpQmN0TZ4D9nXVJfpOvevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[528,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HvK0TZ8Q578nxxTGPtXQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[529,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WD4mTecs6r81lUDVjaPkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[530,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aOoWxKC76j+lgxveiXDCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[531,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V7B6ZXzQ6z++BRWUZwLFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[532,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XebGEpuF5r+1XzxEhGjSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[533,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nMmL+sgJ6z9HSmkHbpDHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[534,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pJduwtpg0r+k2dEjO2Hovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[535,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CF/TqEi7578k+BKUQkfTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[536,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jN3FofC+6j8Q2AIfjz3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[537,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z5tyZMjT57/x2GAQo1nRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[538,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CvRkjtaA0L+XmB43kSzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[539,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5uVVZPyB5z/L4bGt+iPBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[540,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Dr22z895j+Nh3VoH2Xpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[541,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EvyD07FUhr87cUzsQ0DYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[542,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9psat4kvyb9J0Iwe7Hjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[543,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5vlOW5kp7z9vrCMLRyXIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[544,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I1Cjdqd9zL/n/pfdpaToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[545,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G10Yheq65j/231UOUrHCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[546,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7a15uIYa3j9cdGyaWujpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[547,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L8kuesdRkyzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[548,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x8YzrG6Q0r8p9ppdqmTnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[549,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AY120h2v0D93eU9tdQKjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[550,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1gAaICjCvb9ZHxr01kyyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[551,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FE5qqVQDzD/+N5+lba7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[552,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7CWw/Mzvz794pU7k9UXoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[553,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I6oLPFdGzz+phKW2meWvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[554,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lQg81cfq0L/kTTh3pProPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[555,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/VZ3KRP/wL+jENaQXzSnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[556,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3t+zRdmozr/yN6QTVaXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[557,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LE6DLowsLz+UoVTnRH3VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[558,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RlNKNuAs6j9KwrIGQH/FPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[559,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8VgI/+Ut0T9q07xobXe0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[560,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PyZFtUFl0j8k6MtLrEGsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[561,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YoXVOqAmwr+bSj4Hhmi2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[562,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z7swcGpGxL9QYs96eoKvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[563,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CHqYZMXu5j+1/MPQDzbGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[564,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M2t4CMX+5z98qCtVLP7Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[565,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XhT9JE3Auz+kK1bBtqzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[566,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mcCvyQih0L+vvgAlnwbnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[567,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sON4+IFB1r/rFRl/StXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[568,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2TCTGMZXkD+AKeqCow7XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[569,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MgLcIVRrmr++bDv0tFnWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2599\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2596\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2597\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2598\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2600\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2601\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2613\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2606\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2603\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2604\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2605\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,478,478,480,480,480,481,481,482,482,482,483,484,484,485,487,487,488,489,489,489,491,491,494,494,494,495,499,499,500,500,500,502,504,504,504,505,505,506,506,508,509,513,513,513,514,514,518,528,528,528,530,530,530,531,531,532,532,533,534,534,534,535,538,538,539,539,539,541,541,541,544,544,544,545,545,548,549,549,549,550,550,550,552,552,553,553,554,555,555,557,557,559,561,563,568]],[\"end\",[488,498,487,481,483,512,483,512,516,484,485,512,516,485,516,488,498,498,491,507,495,507,495,503,499,502,507,503,502,505,508,511,503,506,509,510,508,511,509,510,511,510,514,518,519,518,519,519,537,532,535,531,533,558,533,558,537,535,558,538,548,566,537,548,566,545,564,563,568,569,557,554,552,556,564,563,566,560,553,559,561,562,555,554,556,560,559,556,561,562,568,569,560,562,564,569]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2607\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2608\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2612\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2609\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2610\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2570\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2583\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2584\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2590\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2589\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2591\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2592\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2593\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2614\",\"attributes\":{\"renderers\":[{\"id\":\"p2606\"},{\"id\":\"p2599\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
friend_group:@friend_group
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2578\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2579\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2580\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2581\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2573\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2574\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2575\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2576\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2577\",\"attributes\":{\"axis\":{\"id\":\"p2573\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2582\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2578\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"8a746945-1929-40e5-b9c0-a602335ef3ad\",\"roots\":{\"p2562\":\"d6e28412-f2bf-4364-a392-582aca6a88b7\"},\"root_ids\":[\"p2562\"],\"notebook_comms_target\":\"p2615\"}];\n void 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": "p2562" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom])\n", "\n", "inspector.plot_networks(actor_color=\"friend_group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Edge weights\n", "\n", "Until now, all edges between nodes have a weight of `1`.\n", "The location method `weight()` can be used to set different weights.\n", "In the following, we set the weight of all edges generated by a classroom to `5`.\n", "This number could, for instance, represent that actors are together in classrooms for five hours." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"43abf656-7a4f-4519-ad4e-1aba8bf4c8c6\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2700\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2701\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2702\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2709\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2710\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2707\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2732\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2749\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[578,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WxwGkH5hkz+AKVhHr9SBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[579,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uuv+AZjZ0z9/wLNeD9TqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[580,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VFvnPscp2z/0nfL0bgXcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[581,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bbWHiLfQ3T+30hUbu/7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[582,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NX6N79N/sT8fQZkYLr6IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[583,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z/tWK1TY3z+oDZoqJZrbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[584,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IehQm3Nj1z8PF8N2gRjEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[585,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jZ0ymKyTpj/2kgGuXR2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[586,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w9Da4cvv7T9x5P1N/WXJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[587,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JR2xSWqftj/5f5w8p26jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[588,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IS65/iaK1T9K7SYCwDXLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[589,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FQP1N7Ims78EGerVsAnmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[590,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mHU8+c385r9oeQWg7VnnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[591,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"InZndIlI5j8KWzlJ1/nPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[592,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WuzzWgmA7L/TPXjw9VvePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[593,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aEnXiRfF678WVdg/ZFDZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[594,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Op4vM8/F4b/w3PxFK4jKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[595,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O0YX8inAvb/UCaV2jxTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[596,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6qznYy5Cu78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[597,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ASnnRHR20z9AXFru7rntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[598,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tx2t6Ujk2T8QoOKp3snHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[599,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NVMJjzQr1b/LTbJjjRGOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[600,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YlYb6BVQsr/ID+sScKrgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[601,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+MWogJO/7r9pLG6lDlG3Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[602,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HqRTR6HV4L8PcZEYJ/XQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[603,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GqlT/pYk1b90yyv46c6gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[604,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c2hYEWVv4r/glmYPkLzRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[605,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EPg6Qrj8wL+QJDzQezPgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[606,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KLjUoFYH47+5dgv9+HbOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[607,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qNRrrgN35T+sAYY4TOfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[608,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GH/mREof3j9VZT6VHrTdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[609,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CF/2HG7/0b+qpOT47oOjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[610,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B58Yxin40b/CG7m9k3OXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[611,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MAH23kdswb/v9vYgvNHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[612,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XuSOUyL9t78478q3sSzivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[613,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OtK3c2zVq78y0A7k73DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[614,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vKkmpQ/Mvb/3b76gmK3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[615,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B590MDOI5b+EdvC+9Tflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[616,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF0M04GN2D+k+mWry0nNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[617,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cBFZuLhylD9hPpc6Y5vsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[618,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sZCrOoMS5z8axPqV7GPUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[619,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dFQc7QCP5z+WC7Xtnd/RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[620,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bmK06MN81z/D75eXkqrIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[621,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oTjSksO/qz+ZDVTsS76Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[622,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vzfJHmUfu78hngM9HvXgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[623,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VTFpUcJJ3T8dPnY/lTHbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[624,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iyAWMDlE5j/B6ilWCUbSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[625,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2d9/CSaxtr+GFOn3SMbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[626,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uK9GiR81079bqxaF1bR9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[627,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/ttIrcu84b9PWtIaeRnPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2737\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2734\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2735\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2736\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2738\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2739\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2751\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2744\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2741\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2742\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2743\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]],[\"start\",[578,580,581,582,583,584,585,587,588,589,591,594,595,598,599,600,602,603,604,605,606,607,608,609,610,611,612,613,614,616,618,619]],[\"end\",[621,623,623,621,623,620,621,621,620,625,624,627,625,620,626,622,627,626,627,622,627,624,623,626,626,622,622,625,625,620,624,624]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2745\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2746\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2750\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2747\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2748\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2708\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2721\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2722\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2728\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2727\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2729\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2730\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2731\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2752\",\"attributes\":{\"renderers\":[{\"id\":\"p2744\"},{\"id\":\"p2737\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2716\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2717\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2718\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2719\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2711\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2712\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2713\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2714\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2715\",\"attributes\":{\"axis\":{\"id\":\"p2711\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2720\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2716\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"43abf656-7a4f-4519-ad4e-1aba8bf4c8c6\",\"roots\":{\"p2700\":\"f042b899-d6d3-4de4-83b3-43ad8e04a8c8\"},\"root_ids\":[\"p2700\"],\"notebook_comms_target\":\"p2753\"}];\n void 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": "p2700" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"5f89faa0-e0af-4025-86b7-c9adbce8665b\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2804\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2805\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2806\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2813\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2814\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2811\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2836\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2853\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[578,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dOSaOyjOvz8WA7znT2nEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[579,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"trZQyBZD6r8eVBxuM2XUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[580,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mWkz0Yv53T9B3QaCvHygPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[581,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ijYzglsq4D8rZWE1aH+kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[582,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"irdqOQxSwD/OspfTxKrHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[583,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ji3z5rw33z/3xz6giT+TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[584,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rr8UtoBws78RyePoINCyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[585,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"elL9S25FuT91nA72SbrEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[586,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bvSD2BU45D+VGgVoRk3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[587,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9LYDdIQiuj+wrTHxt/zHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[588,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PH99mZoNrL+O3GW8spmuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[589,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VaIUQjRCsD/HRNLAcoHhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[590,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h/YcRniU5D/PVVr1ie3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[591,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D+wVXrn7wz8hoIK1T2bRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[592,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L8I/4I0bPetPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[593,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4yxXBL7C7D/jAznj6LzOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[594,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+ELOVY381L9i3Im6QWXbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[595,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9GxtHpKkoz955QszO7DgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[596,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QyQFnNqGwz8Vvy/RL03vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[597,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KuuUKuXe57+vFHjcMl3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[598,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o6hBz4YPt78vehIWeeuqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[599,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XIzvxVRdrb+eUw9pWLfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[600,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+ofG+HoN2b/LEEbZ5RfBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[601,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pztNUMis2D9cE7YiPhnoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[602,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aVeJLpbJ1b8SzoN13zvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[603,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uW5OQi7Mo78+FPhf9mLjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[604,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FTBXL22T1r/vWEN42traPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[605,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jlQk1I3g17+KXtd8uuDCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[606,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zUIW/RZq1L9kUaD5S//ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[607,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xxvAlTKtxj/ay8UAAjvSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[608,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gr1543ix3j+qm1y7plarPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[609,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cokvz1AOlr/aUv4leJjivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[610,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W0/WJSxApb9qVoUyfTXivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[611,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4CZYHOxl2L+O7e/5wJrFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[612,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RRVGb9sF2r+dEk9qvCHEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[613,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MDM3XEhpoz8msW8puHfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[614,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WqRnfMpPsD+Ncs8TpKngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[615,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jUFgFBQD7b+PaNnJkT3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[616,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3NLBegt8sb/dXN2C2XWjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[617,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TsWCBlfB6z8zadHISOncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[618,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jYBR0jXVxD+i+rl8PpPTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[619,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8USqnTsjwj+T/w5chb/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2841\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2838\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2839\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2840\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2842\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2843\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2855\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2848\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2845\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2846\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2847\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]],[\"start\",[578,578,578,580,580,580,581,581,582,582,583,584,584,584,585,588,588,589,589,589,591,591,591,594,594,594,595,595,598,599,599,599,600,600,600,602,602,603,603,604,605,605,607,607,609,611,613,618]],[\"end\",[585,587,582,608,581,583,608,583,585,587,608,616,588,598,587,616,598,613,595,614,618,619,607,604,602,606,613,614,616,609,610,603,611,612,605,604,606,609,610,606,611,612,618,619,610,612,614,619]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2849\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2850\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2854\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2851\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2852\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2812\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2825\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2826\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2832\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2831\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2833\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2834\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2835\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2856\",\"attributes\":{\"renderers\":[{\"id\":\"p2848\"},{\"id\":\"p2841\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2820\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2821\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2822\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2823\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2815\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2816\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2817\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2818\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2819\",\"attributes\":{\"axis\":{\"id\":\"p2815\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2824\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2820\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"5f89faa0-e0af-4025-86b7-c9adbce8665b\",\"roots\":{\"p2804\":\"a10a2a7c-f618-48b6-9d5e-1fd43cab14d8\"},\"root_ids\":[\"p2804\"],\"notebook_comms_target\":\"p2857\"}];\n void 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": "p2804" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return 5\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To implement individual weights between an actor and a location, we could also let `weight()` return an actor attribute. \n", "In this case we use the actor attribute `actor.hours`:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6bd671c4-ab3e-4727-8f5f-c206262305ae\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2900\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2901\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2902\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2909\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2910\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2907\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2932\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2949\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[628,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R7d7xldu1D8yfQIo7mDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[629,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tw30h66y678rX4abMn/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[630,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m2EY+M1D5b8stDWMtZzAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[631,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tBrvnSUT57/XdJQCi6TAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[632,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z7RvjXl30T/PUcppP1DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[633,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s727TmW05b8MeGQAiEeuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[634,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QuUFcQfkpD94X1HCmheIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[635,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tRaU+7xk1D/VmrEJDh7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[636,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1Oeh3MyY4T/wEURTJ4nqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[637,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uterkwMM0D+cety5X9jiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[638,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dQdJ1755qj82HLQ+322wPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[639,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8v+8I3MC1b/tZwsVSBfkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[640,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mP4E49iz779ZTRON0zPJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[641,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9BBrDSXwyj9U1KqjTwPRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[642,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bKvrZF+k7T9i6MTnm2vYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[643,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qIisWwAq6j9ALqHs+d/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[644,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mU5F4Mkc2L8lemavoibjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[645,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6IyYOfds1b/RgFlVw/jlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[646,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8ZRkr6MVsb8q0BcHrVvvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[647,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i1f+NBxt2j8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[648,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PCWcs6Z8vD9Ggz1H0EymPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[649,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"De4MeKHJur+sIaWN0nDQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[650,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UD+RYWwQ5j9Un2GfwGzLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[651,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xK8zd/Q457+7xP3Rdl3WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[652,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KOgdLPJA2r9JfIuaFkLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[653,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b/a6MtYrur+RqxOdyqbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[654,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQ+slFrk2L/L0fImC9vgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[655,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wkjdo0CC5T+b6NveQJfQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[656,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ues61Iqh1b/vK2wnQwDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[657,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ArdtXVNewj+3zhyWCTHTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[658,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9GuYOXF/57/WPQWRyAy1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[659,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UvzyxggFpr/Ahn/gXv3Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[660,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pIOvenfPrL8YCKwD5vzTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[661,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yUeI1xqA5D8xzKTtkV3Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[662,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lyLLMkyl4z9T7Ob/zxDQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[663,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aOSsWi+H0L/V4NCif+rkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[664,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ebd7Tzqa0r9PdfJJ5nbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[665,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fKtsZ2ZJzz+bZBuK2Ezqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[666,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MOySCxuDuD9T6YeRU0Nxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[667,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MVMVKs0j7j+mHa9jmQPbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[668,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RboK5tP5zD++VEzQBkfUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[669,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eYAk0xOWxj/qX5gEDtTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[670,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u4jpwlXYsj+1Sl3g9sSePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[671,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4owugmNb0j/+TI1+3w/jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[672,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7y8IyO+U5D8zRy6vtInMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[673,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z54B6soO5r/luz5F/Da5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[674,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eGG6fDOgxz9gEhHg+hvTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[675,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z7/aPUga078tV78/pfjkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[676,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pRUOiX1ds7/So2jEh9XRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[677,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S994tTLf178qw9SiwN3hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2937\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2934\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2935\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2936\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2938\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2939\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2951\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2944\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2941\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2942\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2943\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,4,4,5,4,5,5,5,5,4,4,6,4,5,6,4,6,6,6,4,6,4,4,6,6,4,4,4,4,5,4,4]],[\"start\",[628,630,631,632,633,634,635,637,638,639,641,644,645,648,649,650,652,653,654,655,656,657,658,659,660,661,662,663,664,666,668,669]],[\"end\",[671,673,673,671,673,670,671,671,670,675,674,677,675,670,676,672,677,676,677,672,677,674,673,676,676,672,672,675,675,670,674,674]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.6666666666666666,1.0,0.3333333333333333,1.0,1.0,1.0,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2945\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2946\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2950\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2947\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2948\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2908\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2921\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2922\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2928\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2927\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2929\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2930\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2931\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2952\",\"attributes\":{\"renderers\":[{\"id\":\"p2944\"},{\"id\":\"p2937\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2916\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2917\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2918\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2919\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2911\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2912\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2913\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2914\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2915\",\"attributes\":{\"axis\":{\"id\":\"p2911\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2920\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2916\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6bd671c4-ab3e-4727-8f5f-c206262305ae\",\"roots\":{\"p2900\":\"dd08ae22-9e4a-49bb-8b0c-fd77a839f020\"},\"root_ids\":[\"p2900\"],\"notebook_comms_target\":\"p2953\"}];\n void 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": "p2900" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"948699d9-7a8a-4105-8457-f03b90ea97ac\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3004\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3005\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3006\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3013\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3014\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3011\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3036\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3053\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[628,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fg7L4KKvZj+AwC8NgAqEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[629,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wa89Egfq7T9qc2SIwyLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[630,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AuSsxtzw2L83hOPiWMXkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[631,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RhytKhWr2r94YkzeGwrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[632,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PKCqM53gl7+JkblEJt9cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[633,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k2Rfa1CC2L9OKmhti6TlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[634,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lRoYjzFE0D8TcYjAQV7Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[635,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xsl7zCsBgL+8M6C2ITeiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[636,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zlPy0F6e5D/nEFwKYzTmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[637,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hqp7TlCtn7/B5Sc5krOZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[638,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GCWpmPSKzT8yG170O37Lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[639,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rfdFHhnf0D+FGklm50HPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[640,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f8Esv8HG67/3rELcm2jbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[641,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2cb7sIpu0b+UHyYfKNjTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[642,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/N3g5ivH3r87+rTPfEvpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[643,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HDNZvV4C6r/4Al0SCYjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[644,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCCzPQMP5D9nFWK0XvjPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[645,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x3L+LjTD0j876+8KOI/PPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[646,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9zzhRCEq7j//LlU9olrivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[647,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZqLC/dyV4b/5eTtlWYPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[648,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/gv8tWAxzj9ezi04/IvOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[649,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+eaa8vTYpz+AMz2JGcDgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[650,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YT20QMVa1L8cGLduE6PTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[651,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1tx8nNU9uz8FUbeqQQjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[652,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KCsjmLAt4z/PyuhJ8krQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[653,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ha3wbQe6rz/NRxU2oF7hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[654,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TTzeus7B4z8ywOLHzMHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[655,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7/cydy7I1L/9dpL3U9LRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[656,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ESBCqXYL4z8gMx8nWprNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[657,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rlcUHcB+z78XjlbbWqrUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[658,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ugWB3whj2r/jJ2SHuAXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[659,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w1DtxqrlpT9TK1zM8Obhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[660,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fAsW1rbgmz8UhPaslzzhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[661,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mTJscqp/0r9pOWyZFwvTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[662,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"doHnrx8g07+6RcAtqFzRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[663,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uM5DVBG00j/h6BteNqXLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[664,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NOP2Gyby0D8AGisxq7jLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[665,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t0p+TUI4yD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[666,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mlQktrng0D8DVv36Dt7Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[667,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8H63r/117b8GVCEfuum7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[668,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H5UQx/fkzb8ekbSX4SLTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[669,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b4YjaTd80L/H1F892y7SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3041\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3038\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3039\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3040\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3042\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3043\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3055\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3048\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3045\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3046\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3047\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,4,4,4,4,4,5,5,4,5,5,5,5,5,5,4,4,4,4,4,4,6,6,6,4,4,5,6,6,6,4,4,4,6,6,6,6,6,4,4,4,4,6,4,4,4]],[\"start\",[628,628,628,630,630,630,631,631,632,632,633,634,634,634,635,638,638,639,639,639,641,641,641,644,644,644,645,645,648,649,649,649,650,650,650,652,652,653,653,654,655,655,657,657,659,661,663,668]],[\"end\",[632,635,637,633,658,631,633,658,635,637,658,648,666,638,637,648,666,664,663,645,657,668,669,656,652,654,664,663,666,659,660,653,661,662,655,656,654,659,660,656,661,662,668,669,660,662,664,669]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.6666666666666666,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3049\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3050\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3054\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3051\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3052\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3012\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3025\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3026\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3032\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3031\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3033\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3034\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3035\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3056\",\"attributes\":{\"renderers\":[{\"id\":\"p3048\"},{\"id\":\"p3041\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3020\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3021\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3022\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3023\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3015\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3016\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3017\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3018\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3019\",\"attributes\":{\"axis\":{\"id\":\"p3015\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3024\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3020\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"948699d9-7a8a-4105-8457-f03b90ea97ac\",\"roots\":{\"p3004\":\"df65811d-02bf-4a53-b2e1-5a8934743520\"},\"root_ids\":[\"p3004\"],\"notebook_comms_target\":\"p3057\"}];\n void 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": "p3004" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the value returned by `location.weight()` refers to the weight between the actor and the location, all the weights between the actors and the locations must be somehow combined when determining the weight between actors (aka graph projection).\n", "The location method `project_weights()` defines how those weights are combined.\n", "By default, `project_weights()` returns the smallest weight of the two to be combined.\n", "The code cell below shows how `project_weights()` combines the two weights by default.\n", "In this example, we keep this way of combining the weights, but this method could be easily rewritten." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", " def project_weights(self, agent1, agent2) -> float:\n", " return min([self.get_weight(agent1), self.get_weight(agent2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we use the method `location.get_weight()` to access the weight between the actor and the location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bringing together different actors\n", "\n", "So far, we are able to connect actors who share a certain attribut value.\n", "But what if we want to explicitly connect actors who have different values on a certain attribute?\n", "One solution could be to simply give those actors we want to be in the same location the same value on a certain attribute and then define a location class that brings together these actors. Besides this, Pop2net offers two more convinient solutions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The quick way: bridge()\n", "\n", "With the `bridge()` method, we can quickly connect actors that have different values on an attribute.\n", "The `bridge()` method instructs the creator to create location instances that only connect actors with different values for an attribute (or more precisely: location instances that connect actors for which `bridge()` has returned different values).\n", "That sounds complicated.\n", "Let's look at an example.\n", "\n", "Let's define a location `PupilsAndTeachers` that connects teachers and pupils.\n", "Since pupils and teachers differ in their `actor.status` attribute, we can use this attribute to bring them together.\n", "To make it clearer, we first create only one location by setting `n_locations` to `1`:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7962317a-6de2-4dcb-a589-5754e69a205c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3100\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3101\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3102\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3109\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3110\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3107\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3132\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3149\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[678,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zPj59LX+579WBvIDn93jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[679,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cVaccZtT57+23o52TknnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[680,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"luAvOuI30D/ett7VJ7ruvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[681,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GUKfwfBH6D8DI0tIO37kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[682,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UUCTCWH+7b+xH3hxRQLXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[683,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UhlJ39X+778z6nZpOUXMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[684,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MwPUZE5l3L8fZgFkaXPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[685,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XBnvz1Xg7j+eQd7kMKeXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[686,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1khpUHqd6r9DYBqNM2rWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[687,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ETQiMVy34z/UAGclcB/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[688,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+V9o2Qww7D9ryTIOXVDaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[689,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DBuJxzI85j8gZx5OdDjiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[690,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G9opYsGC6b9vxfimg3vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[691,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pp0D2UOLyr8c7Ntaopzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[692,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wtdUb0e45L+g9H03oCTlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[693,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QUPq9ESx7j++12h8waLAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[694,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bY/1F/Al5T/hzm1V8g/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[695,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MQM6iXjE7D/apkTwSMfcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[696,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"26Cf6etN5z9EDNQrdEHgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[697,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gRLLRKMw7D8wRBwGURnSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[698,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+m+VCl/ttz+tYrBvrijuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[699,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"spedzdlc1L+t53vlMPrrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[700,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+FJ5aBwns79n7pSAndPrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[701,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rFLROmet1z8guehQRwzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[702,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+9esJW693L+QNbsKOEDuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[703,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4V0Fx/N057/cN5/Dcivnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[704,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N7uMZEZe4D/BcLRMAR7pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[705,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EvLt3n5jsL+Z/xEVi1Xvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[706,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JXTerd/u4r8YcBH6WgDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[707,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Efp9OnX76j+KDydlVL7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[708,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q/owfTpJwL8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[709,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P+kqOX4wzj8pKdqu2PjsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[710,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0mDagL6xtz9uvB3cMArvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[711,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G6sit9267z8b49rcuG3Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[712,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6IZ571ct77/9CYRezGSovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[713,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2vViD49h4D92vBSdH6rsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[714,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kNRo9JEV7z/hyNfa7hbSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[715,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k1l2wkA77b/kz3yVqSO9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[716,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/HxehwBF7b8LojLxfuvIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[717,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DqNtI1Yu2D8wupL4OF3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[718,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Dx6wMY500r8DgWhClfTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[719,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5AMk0R9x6b9NH6IVWIzbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[720,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RLD9WY+w5r9m6Wykg2XlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3137\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3134\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3135\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3136\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\"]],[\"index\",[678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3138\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3139\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3151\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3144\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3141\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3142\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3143\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1]],[\"start\",[678,679,692]],[\"end\",[720,720,720]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0]],[\"start_display\",[1,1,1]],[\"end_display\",[1,1,1]],[\"weight_display\",[1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3145\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3146\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3150\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3147\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3148\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3108\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3121\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3122\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3128\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3127\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3129\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3130\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3131\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3152\",\"attributes\":{\"renderers\":[{\"id\":\"p3144\"},{\"id\":\"p3137\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3116\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3117\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3118\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3119\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3111\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3112\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3113\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3114\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3115\",\"attributes\":{\"axis\":{\"id\":\"p3111\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3120\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3116\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7962317a-6de2-4dcb-a589-5754e69a205c\",\"roots\":{\"p3100\":\"d3e5ca86-f7d5-4c0c-86a1-b94a4496eb6e\"},\"root_ids\":[\"p3100\"],\"notebook_comms_target\":\"p3153\"}];\n void 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": "p3100" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"13002a45-3264-41c3-970e-3c36b2598e90\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3197\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3198\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3199\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3206\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3207\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3204\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3229\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3246\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[678,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yly/fayFzT/d5vE0VwSuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[679,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5/dkUOw6zD/a0Ns4rJ2Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[680,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3VlObe285b+SkR/7WMXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[681,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DWdgVVn26b/B7rF476/dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[682,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J/B4FMvr0T9sgE4E86Luvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[683,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"70/jBW4orb/SnTZggRTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[684,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QlsDoQnT6z967PZp3M/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[685,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JvIF0YnL5b+bcKGy9InnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[686,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KnlHDDXF7b/A+TsGMy++Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[687,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jruQyaEh7r9zsMd8iKeovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[688,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/f2bcQckuBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[689,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L9xMEzOq7z/apcBZj0jLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[690,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WQlY3zjQzT8nVd9uPBDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[691,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QJe4c30p4L/sgXa7ThrrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[692,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B5Kh4k4vxz/AYkFz+LWlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[693,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NS9EFhLV7b9X4/fqo33Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[694,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g63YCIWe27+4hxl1Rivtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[695,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"daDLjlYJ7T9or6bbIWbXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[696,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gwit+jgW6D+qw/6mPE3lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[697,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j28n3AQo1r/FSN/8jW3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[698,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hD5gZ5Ka67+0rAD7snPePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[699,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YPLqtPfv67//XXTRiX7RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[700,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mqMT+4vv1z/N83WVzsrqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[701,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l+T4s2Ve7j9a94RRanfGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[702,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4qFYIgTd5j9pfdAckjjiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[703,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"efhbgpuM4j89OFZxGanlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[704,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"urtz6BzAsT9DF+QxzvvuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[705,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CdcrX+I15r8Grpapx2fjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[706,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NYa/bQ/+5r8MEKf29LjZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[707,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ROqmdgFE4D+RwNTDvZDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[708,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2SVRrvtTzz9D8KUZsePtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[709,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A6WalO/uz7/9hzRu3pjvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[710,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jyuh/ifU679qvOpZJznJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[711,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xy1Dd6irvr+roJnZjkfsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[712,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PvteJ5nz4D/gQ9GjhX3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[713,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o7A9jeo84b9+jrsCOEnpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[714,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gjzfbIj3nz/v3hGCQMfvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[715,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zCX93oCn7D+h/qmLNybhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[716,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0TTyjc167T+cZXTggd3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[717,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8SMKx3yk5793NIUGAhDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[718,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nhYoJndc5j8IrAe2GunnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[719,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XZ9SI5WZyb/gZq+fK3juPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3234\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3231\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3232\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3233\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3235\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3236\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3248\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3241\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3238\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3239\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3240\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1]],[\"start\",[678,678,679]],[\"end\",[692,679,692]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0]],[\"start_display\",[1,1,1]],[\"end_display\",[1,1,1]],[\"weight_display\",[1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3242\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3243\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3247\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3244\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3245\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3205\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3218\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3219\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3225\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3224\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3226\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3227\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3228\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3249\",\"attributes\":{\"renderers\":[{\"id\":\"p3241\"},{\"id\":\"p3234\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3213\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3214\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3215\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3216\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3208\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3209\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3210\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3211\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3212\",\"attributes\":{\"axis\":{\"id\":\"p3208\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3217\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3213\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"13002a45-3264-41c3-970e-3c36b2598e90\",\"roots\":{\"p3197\":\"e3abc8c8-e5a7-4711-8389-def8cfb0dd79\"},\"root_ids\":[\"p3197\"],\"notebook_comms_target\":\"p3250\"}];\n void 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": "p3197" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that there is one location instance of type `PupilsAndTeachers` that connects three actors that have different values on `actor.status`, including social workers.\n", "As we only want teachers and pupils in that location, we add a filter statement:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"4cb4d9b9-89b1-4255-ad54-892ed7ac56d7\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3293\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3294\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3295\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3302\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3303\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3300\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3325\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3342\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[721,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"chQrdcQazz8dZQPOQsSvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[722,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cqQHm0CY7j8VYcaZOq21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[723,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p0kSKwV95r8Ru/ly+4zgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[724,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cPDBnUYR7j8OcLQtSb7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[725,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qlVdamiczL/6T4tunIrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[726,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HAJWNFAY7L+SpSNF7Ne8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[727,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Et/JSqc47/xzIpBXa/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[728,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hz+2L6+qzj85kP7E4WTuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[729,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UpTpyuFYu7+iR9Kcn7fvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[730,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i2/qebNd4795jhbpjgbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[731,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5MT1uQmq2L/owCNEj+ftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[732,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cTtTdNuw4T/04V720+7pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[733,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fgxZ0oVv7z/y3SuZgVvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[734,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RgEXr5+q2j8XBasEJQfuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[735,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qd3q1P2v6z9rMNm3X2DFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[736,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0rF9qEkNzz+loKiep2HHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[737,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x4Kh+Zww4r+ykkzb8XTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[738,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UKGW9f49vL/na8/6Y8jrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[739,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y28p3HjQ67890KPZKoncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[740,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K8Kfwu967T/yacJLXEncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[741,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uAI3uRKbsj9yr7lBmPrvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[742,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"32Re5PKP4z+SFUsgKs/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[743,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6jbdt0mR5r9xiv7aYyjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[744,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wvzNqQV46T83fbd28NXiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[745,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nc83utl06T/Gv8I8cpXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[746,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y02uCAjz7L+fxoHprtPEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[747,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YU191V5f7z/5nKPjN3/Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[748,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0G8MEjzw0D9iDbHEBarsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[749,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4IwrztwT678DN1nW9qjbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[750,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ezja5Uwc67+zRI5ZNiLkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[751,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"19uy+Xj90r+octGcy/zsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[752,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"euIHpMTX3L/YCjM2okzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[753,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BaA3gy3U5L/wAMCE4OzmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[754,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5j/8Mtkv7b/pUaZCRuvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[755,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xjmG/i7cuz9nQNB25+Luvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[756,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PeDtNJnm4T/Q1Pu+UjHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[757,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4OfKdbN/5z+z93ACQ7XoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[758,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xqimljJ66T+iUDw+Us3fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[759,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bahEt5c877/mSwrGQMXRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[760,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IihJEdRH2j8e9PTct7DtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[761,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MIisJmqB77+COiNEEmmbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[762,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bSL92XB6t78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[763,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AdEttfukzj+bJ0Giij6/Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3330\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3327\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3328\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3329\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\"]],[\"index\",[721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3331\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3332\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3344\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3337\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3334\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3335\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3336\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1]],[\"start\",[721,736]],[\"end\",[763,763]],[\"_color\",[\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0]],[\"_size\",[1.0,1.0]],[\"start_display\",[1,1]],[\"end_display\",[1,1]],[\"weight_display\",[1,1]],[\"index_display\",[\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3338\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3339\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3343\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3340\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3341\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3301\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3314\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3315\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3321\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3320\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3322\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3323\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3324\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3345\",\"attributes\":{\"renderers\":[{\"id\":\"p3337\"},{\"id\":\"p3330\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3309\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3310\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3311\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3312\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3304\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3305\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3306\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3307\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3308\",\"attributes\":{\"axis\":{\"id\":\"p3304\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3313\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3309\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"4cb4d9b9-89b1-4255-ad54-892ed7ac56d7\",\"roots\":{\"p3293\":\"efec52c5-6dac-4342-ac1d-3c0837e1f437\"},\"root_ids\":[\"p3293\"],\"notebook_comms_target\":\"p3346\"}];\n void 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": "p3293" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"15040c10-694d-4365-a498-feb04e443a16\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3390\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3391\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3392\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3399\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3400\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3397\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3422\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3439\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[721,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lzNKqr4qqL9RsQ0eksvqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[722,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YA49xxVI5r9p3kbepxDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[723,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GcMRtwN22z/qeyEDDdvpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[724,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bIWMiHXV7L8o3cvISwS5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[725,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xo4i3oSh5D89+QO/fqvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[726,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZfApwPYE1794KNOId5rtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[727,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BhM4JTqn4T8ccFAY+c7rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[728,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vSNu8+ya6r9bzGOdXE/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[729,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Aorzg/Id57+tKSHS22fivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[730,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iBpDmlai7T9MwkWC3iHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[731,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FNaL6r07T+LUZvs2Xy6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[732,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LrVJl+lSxr9XQRdUeVvuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[733,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iDETFDTx5z8cclqvLtHfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[734,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cmen2Psc6j8+tgBsivnjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[735,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vWxgGcah7D+jjOUyZOzIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[736,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"np5caV1opb/nZGm02GDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[737,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n8LIlFNB1T/QK0dU7Fbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[738,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tw4LUDSDuT+qQwSpc6PvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[739,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"827bhnn/5D+c9o//gF/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[740,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f2p2K0dh6j+uHLLV2n/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[741,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fHO81bXc6z+0h98nVxrZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[742,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7ZOW6uz7yr8a4zar8+TuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[743,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1mHXOatb5z8sgygHZVDhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[744,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1GeSq55ah7/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[745,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B0QMQGzU7L+wPUC4pz3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[746,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i64RLpC54L9IsCgP3nzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[747,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DeVNK1rP7r8iXONcq66ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[748,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S01evm6l7r8MCv0ViZLVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[749,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+7vgVHrU67/3VUmrex7VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[750,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CqKqhJXg7j9dzFLbeXOsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[751,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8VdXxI7s4D/DglpZz1novw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[752,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fVmr5M951r+mkvj5feHnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[753,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V5Rx6g1n0z+Maq7Lg5zovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[754,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nlqqZkMz4b9WVRlmzjzqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[755,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zr7y0reL5r8cpJsnRFnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[756,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YnrcUY6BwT9Vtehi0PTtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[757,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"76IZUfbp5L/KhGBk6ujnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[758,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p1BG+MC3179KkVAXvy3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[759,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vHM3L7EB7z9oaVVeEobQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[760,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GlPrX5Pe7r8I4xXPXZDTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[761,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tQS1rKPZ0T/xoYNxGDjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[762,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nHnEk7Yp67/DnutNNL3evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3427\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3424\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3425\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3426\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3428\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3429\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3441\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3434\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3431\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3432\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3433\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1]],[\"start\",[721]],[\"end\",[736]],[\"_color\",[\"#440154\"]],[\"_alpha\",[1.0]],[\"_size\",[1.0]],[\"start_display\",[1]],[\"end_display\",[1]],[\"weight_display\",[1]],[\"index_display\",[\"none\"]],[\"type_display\",[\"none\"]],[\"status_display\",[\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3435\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3436\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3440\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3437\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3438\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3398\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3411\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3412\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3418\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3417\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3419\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3420\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3421\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3442\",\"attributes\":{\"renderers\":[{\"id\":\"p3434\"},{\"id\":\"p3427\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3406\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3407\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3408\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3409\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3401\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3402\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3403\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3404\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3405\",\"attributes\":{\"axis\":{\"id\":\"p3401\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3410\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3406\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"15040c10-694d-4365-a498-feb04e443a16\",\"roots\":{\"p3390\":\"f7a1ae37-41db-44bd-b8d4-8a0f7909d55d\"},\"root_ids\":[\"p3390\"],\"notebook_comms_target\":\"p3443\"}];\n void 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": "p3390" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we do not only want to have one of that location, let's remove the specifiction of `n_locations`:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"d607edba-6d25-4063-b199-bd081a14d216\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3486\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3487\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3488\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3495\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3496\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3493\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3518\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3535\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[764,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i3BclPdP6D8GZorubZfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[765,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cYiwJlJEur+gw2gs0EWVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[766,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xLZQAGKTzL84bw+Qe0zhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[767,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iZShbLWLe79J4OfVIuXIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[768,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P0z0c3iQ5b+MjQBoH1Tlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[769,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RfKmV7Km4L9sUr8MUY3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[770,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pl+kU0b3wD/O9vx65r7evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[771,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z6Zl0bCd4T+qdJk8GavRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[772,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mI68VW3E4799/u6Jm7XjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[773,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iKLRCneZuT++HKX905TlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[774,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gSyUEfWO4z+/8GZVhqzVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[775,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w4v/Xcso179x8jzYlTDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[776,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IfJR11nDwj8D0mjZVF7Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[777,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YCfkOLKNxb8Uhz6wBHPAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[778,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YT6MHjIm5T/jeAhB+R7rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[779,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DlNAJISP5T++HZvNIPzIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[780,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vHERRq8h2L+wPUlw8BzUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[781,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NCQWHJt04b93x00I9KnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[782,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bz4fZ589zj+dHUZSJ3zmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[783,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i/MVS4cu4z9yfm9Xkc7fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[784,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZIDSytMZ0j/iSekg8S/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[785,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JE1Fn9qr6j/cH/nLNGrDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[786,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DXk/jR+hyD8XoHqGmZDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[787,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o9kgRwil07/C1kZ2WhjZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[788,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q3Ur/zJw4T8xqO7sFTXkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[789,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"06xTT++23b/x1MQv21nVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[790,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uw/byOGXlz84eDm7g06nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[791,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yiDs2UHZ6L/T2O7MOGHjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[792,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MOcJQD98579+GieeCBXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[793,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d7prkBeGxT+7bRs6xoHAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[794,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4sK/tKob6j/g/DoCzQfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[795,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qa+1QcGM1T/dAmdmjyXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[796,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lu7TQ0oJ3z9F6muPRV/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[797,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9bQkrlPV0b/JgS37+x/Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[798,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hxKaI1WD0L/kNFIcy46TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[799,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"imTc/U/F6b8+4LkkfrLfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[800,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WCU0vPjr6L8ed/P+YNTiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[801,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P8e6vLeX478GJhV39F/fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[802,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0FzjBEXYoj905we6k+favw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[803,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d5fQIpuP4L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[804,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SaSTRmX24j+Jo5+BaAO1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[805,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kiLllQl51j9BnDyHIfLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[806,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xXgvtt125L9OqiXwXtzivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[807,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"31pvKxzH4b/kvfzulqzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[808,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KrlmsAkywT8ynq62d93Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[809,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qxouCQdX4z/LLBQjbabOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[810,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rJ24HTe+xD/qkhvlRN3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[811,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qih+U+EP4z9eU8let+bZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[812,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r9t//e2j1b/dxWtkQVbfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[813,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q3uUMdqWwb/HpOiPPnSwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[814,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F3/6Q3Gn3r8+i0pLJkvZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[815,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lex0VxDe4b+vn5Or4DPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[816,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9yXukrjJzD+3q7Ec8tbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[817,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z/AmXB1f6D9pdOVP7YjFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[818,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QHw6Ahkbyz9nOeFRI17pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[819,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2Agj52Os4j9ElZHSV2vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[820,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Um4KupYD2b8biRODoBfXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[821,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uUgt6TNaob/9UwwnGA2QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[822,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Piv4yMh/5r8a/+q0xr3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[823,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T90O5W3R5b9pG4bZMqLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[824,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0ico4/mNxD9SkEZAJXXLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[825,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BpIP+a/f5z+OE3vYGk3QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[826,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lzwZKPLf0j/Jli6ZQAnpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[827,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7d7skjE64T9T4PcEfybhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[828,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MakWWdo50r/+AfSESiHSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[829,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kK1Cx640yL9qXerRd8B6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[830,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X6m4DTMF57/ayjbcQjHfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[831,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zlg0VsB+5r9SYsgS8NLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[832,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tdg7SHlnsz9vrOXhviTXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[833,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RSEHvZY55D+tcNO+DNnAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[834,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lw9IMsYd0z9Ns5ED3g/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[835,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ttn7eh485j88F+HFrXjhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[836,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RtZkD2lb0L+UWNM+nCnevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[837,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nnh7rRHbq79NBPWpOWi8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3523\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3520\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3521\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3522\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\"]],[\"index\",[764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3524\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3525\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3537\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3530\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3527\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3528\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3529\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[764,765,765,765,765,766,767,768,769,770,771,772,772,772,772,773,774,775,776,776,776,776,777,779,779,779,779,780,781,782,782,782,782,783,783,783,783,784,785,786,787,787,787,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,801,801,801,802,804,805]],[\"end\",[835,813,821,829,837,836,837,806,807,808,809,807,815,823,831,810,811,812,808,816,824,832,813,809,817,825,833,814,815,810,818,826,834,811,819,827,835,816,817,818,812,820,828,836,819,820,821,822,823,824,825,826,827,828,829,830,831,806,814,822,830,832,833,834]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3531\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3532\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3536\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3533\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3534\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3494\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3507\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3508\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3514\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3513\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3515\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3516\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3517\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3538\",\"attributes\":{\"renderers\":[{\"id\":\"p3530\"},{\"id\":\"p3523\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3502\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3503\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3504\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3505\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3497\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3498\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3499\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3500\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3501\",\"attributes\":{\"axis\":{\"id\":\"p3497\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3506\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3502\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"d607edba-6d25-4063-b199-bd081a14d216\",\"roots\":{\"p3486\":\"fa16421c-6182-4c44-a60a-bb627787f16a\"},\"root_ids\":[\"p3486\"],\"notebook_comms_target\":\"p3539\"}];\n void 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": "p3486" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"794099f0-5feb-4532-b5b9-b64f66d6fb14\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3614\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3615\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3616\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3623\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3624\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3621\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3646\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3663\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[764,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s4LgSVMCzD8Pdi8mDR3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[765,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mA6fkjRQ6D/YMatqkKTPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[766,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i+nSlHqs1j9VIrsy6bXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[767,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0PygdAVH6j++W4nZna7LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[768,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XF63qrhf7L9y0B3G+S7Mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[769,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DEC7yyRg4r88c88MsarSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[770,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EO6HS99Q0r/zRJK7u53kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[771,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FHBL3PY54j8OB8CZZd7Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[772,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iB19Mpjv5L8RrLeobujUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[773,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LPLTe+rP1b+MWhkcQdPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[774,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"so7brbAH1j+WxCangbvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[775,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SlAMcO1I1z//vfJdLMzmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[776,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"atYNCspf0r80zWpcrATnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[777,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bpT3/e/b5z+zb1YWcoLHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[778,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f558Vh6w5b/5m+sug63hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[779,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v6YkE6Hw4T//n1C8x1jRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[780,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y6h24H6D5r+LESLLxZ/Gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[781,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ft02kNXL5b+yvptEUYvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[782,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TR9AtlYx1L+pckgJoi3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[783,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZyCRHWkF0j+e0/D1LzLlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[784,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9OtrSa1/0b9nfj1dSCjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[785,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iU283jPR3z/vaAcQpN7Pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[786,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"90dBFQ272L+fajEHKx/qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[787,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dp2FeDyb2T+vuc4zcwfpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[788,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LXCmQ4tp0T9C73cBvGDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[789,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dy3Np9oZ3D+JXrZwwHXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[790,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FFXWFGbe6T9YsolDf47TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[791,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q7T9G/K76r9vITbkwSrRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[792,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b0Uw7CX/5b8lKockPlHRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[793,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H+pdw1iB1r8dDJBr8kfoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[794,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KXvE9ksd4z/1AayGUH7Lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[795,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LcvznrlP0b9BG2ESjfHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[796,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NWC5UN/q0T9RjZe5H9Pnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[797,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PqkXKr7c3T8HZijxBZDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[798,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z28dZBEk5j9gBqt5rjXRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[799,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QYA+QpF76791n4M2hbbDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[800,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iKkJ5+KG57+Obyacd4bWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[801,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vE+aR5ms6b/w2R4ZobDJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[802,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N5tMUqchzL/LJ0PIvfLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[803,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D82yG+1NVLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[804,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jcw6TCZs5D/0TdNoHTTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[805,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fYzUz88N0r/WkQnZPiXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3651\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3648\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3649\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3650\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3652\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3653\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3665\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3658\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3655\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3656\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3657\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[764,765,765,765,765,766,768,769,770,771,772,772,772,773,774,775,776,776,776,779,779,779,780,782,782,782,783,783,787,787,791,799]],[\"end\",[783,777,790,798,767,787,801,772,776,779,800,781,792,782,783,787,802,784,793,804,785,794,801,805,786,795,796,788,789,797,801,801]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3659\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3660\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3664\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3661\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3662\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3622\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3635\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3636\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3642\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3641\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3643\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3644\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3645\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3666\",\"attributes\":{\"renderers\":[{\"id\":\"p3658\"},{\"id\":\"p3651\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3630\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3631\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3632\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3633\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3625\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3626\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3627\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3628\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3629\",\"attributes\":{\"axis\":{\"id\":\"p3625\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3634\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3630\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"794099f0-5feb-4532-b5b9-b64f66d6fb14\",\"roots\":{\"p3614\":\"c303ba97-2729-44fd-993f-77672c43d070\"},\"root_ids\":[\"p3614\"],\"notebook_comms_target\":\"p3667\"}];\n void 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": "p3614" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What happened?\n", "If you take a closer look, you can see that there is still one location for one edge between one teacher and one pupil.\n", "However, teachers are assigned to more than one location of this type.\n", "This is because the LocationDesigner attribute `recycle` is set to `True` by default.\n", "If `recycle` is `True` the creator builds as many locations as needed to assign every actor at least to one instance of the corresponding location type.\n", "That means that the actors with the most frequent value returned by `bridge()` determine the number of the location instances to build.\n", "Therefore it can be that actors from the other groups are assigned multiple times so that everybody has a partner.\n", "\n", "To turn this behavior off, set `recycle` to `False`.\n", "As a result, nobody will be assigned multiple times and the actors with the least frequent value determine the number of locations of this type.\n", "In the following, we set `recycle` ot `False` and thus only get 8 location instances of this type, as there are only 8 teachers." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"1481428c-2630-4384-93e5-8f23f9035fb5\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3710\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3711\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3712\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3719\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3720\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3717\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3742\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3759\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[838,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cs+VT22tub92gegQXoDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[839,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fWWDYPFicL8BWfjRSkXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[840,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9u8UmheM6b/h1zFei5/jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[841,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TUANT8Mc1D+KMVzkA9LNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[842,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4NNuoGaQ67+S/I6vUHraPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[843,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y0lA9UEI3T8hqqygkRbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[844,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1F8gEMXY6T+8YYMcCxPZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[845,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mMA9CEuoyL++8F7N4KibPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[846,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3ECpZuQV2j9OewNabAfHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[847,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZgBLExfo6r/uujICW8XHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[848,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uJpStz7V6z9NbuH0xXK8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[849,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+XLKXuHi4L9vigheXrrmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[850,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bO9/nGMh6L8y4r7RRpnaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[851,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQ7sZC8y57/0mUJVHnbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[852,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PM+U5PLI4T/ndUaAjLfpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[853,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z4SpYBdC2T/ge2+Rc8Xovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[854,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hmeHgRRd1D9X+zmxTjTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[855,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AzJiWZ7Wzb9XO1Xw6f7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[856,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ccbarDwD5j9KiJ4WS5/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[857,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1My86eQyxL/Y3DfnBl/APw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[858,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"baOUfYxh6D8K5WGT97exPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[859,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L0+tKN6tzb/M3vUuLUvpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[860,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uAI0a5TJ07+F4bQkJyPtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[861,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RrRDea9b7b9kQ0b58kzQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[862,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lxr7DrH24z9rjsM8RVDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[863,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eZ9VACuh479oHY+ACjzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[864,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3lqT9WJ07j++/QuIPCnRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[865,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kuorG8deuz8mySBT/8nvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[866,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LOX8zkIX7D+OwfqjrSbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[867,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ihvr3P5n4b9Z4x+XTGjrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[868,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y5INgKq05j/z8YNU70/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[869,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XfWx56Q1xD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[870,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yb58lA1W7b+y+gYZHYOgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[871,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vgHkRcSv7L9rJuMoVbXHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[872,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e9r9ELex6j/EKYZs6XPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[873,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0mBnRkJ25z/8PDvy8y/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[874,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CtC4Civktb9n8DFPMnjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[875,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nEdijK0q6r9uFJOVLx/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[876,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9yydoQMz3L8HHqKOs3/rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[877,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"clde7E+oyz/uhKDzewHmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[878,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Du6oZyjp7z9zuUxNqNbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[879,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gzRdgXud1z9LnaKibGLsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[880,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"faFWt/KgrL+BU2FDwonrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[881,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5/fhWVF66L/iNnXovcHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[882,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zq2KFF611j+O4WxpxUDJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[883,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UKgedqb66b8cghhmeWnbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[884,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IXdMx/ow2j+sJZHELArnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[885,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gmwxZ5rJ5z+Iyv+hGl/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[886,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TjPZxhHYxL9pApoBh7eyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[887,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"glb4cyqR7L9UnAEJNfrKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3747\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3744\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3745\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3746\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\"]],[\"index\",[838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3748\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3749\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3761\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3754\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3751\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3752\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3753\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[838,839,840,841,842,843,844,845,846,847,850,853,856,857,861,875]],[\"end\",[880,880,881,882,883,884,885,886,882,887,883,884,885,886,887,881]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3755\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3756\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3760\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3757\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3758\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3718\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3731\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3732\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3738\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3737\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3739\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3740\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3741\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3762\",\"attributes\":{\"renderers\":[{\"id\":\"p3754\"},{\"id\":\"p3747\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3726\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3727\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3728\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3729\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3721\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3722\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3723\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3724\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3725\",\"attributes\":{\"axis\":{\"id\":\"p3721\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3730\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3726\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"1481428c-2630-4384-93e5-8f23f9035fb5\",\"roots\":{\"p3710\":\"ca645d62-a2d7-4e25-92b4-64995da4f184\"},\"root_ids\":[\"p3710\"],\"notebook_comms_target\":\"p3763\"}];\n void 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": "p3710" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"f6f9fc39-8bac-4c23-9225-9395a7d3eb54\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3814\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3815\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3816\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3823\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3824\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3821\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3846\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3863\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[838,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mx877d9V2L+63IsotFzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[839,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"krC4WhgG2786FZRf1XToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[840,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E5gfxb/W6L/uLQXdLhLMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[841,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QtpUWneO5r9lqk/+UQHmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[842,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6sWc8csQ6j+YpWpeUbnkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[843,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qO53aLzcmr+6zfBlL2zsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[844,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GW7D2KB53T+TIbaBJ0Ckvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[845,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OC7DvnMI2j/RdbrHESPmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[846,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqcCru6w5r/WvC2PLG3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[847,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QjxodE5ZzT/j/A84IHbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[848,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"48e+cIYn4r8x/E4f18Dsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[849,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YdmckJ0/vD/wOB/PcxDtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[850,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vM00/QSw6D+lR6krZZ3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[851,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E5TwtGDw5L/4IjKUP33nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[852,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BOBANJ2F2b/ONXt3irnrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[853,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oowdnlZOn7/VpPrRB1buPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[854,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L9tENmFF67+LqexE233gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[855,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2I6US32I779acW7Jom/Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[856,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bFhBNIKE2z+TPz1VmX+0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[857,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LEUa314+1z9+fKmJVUHlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[858,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4w/LqQvU0D/VvLtJ76nvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[859,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jQ+wuj115b+PydNCol7cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[860,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U6ufX1B27T8zE8kL5RTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[861,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4UZ8/YV/yT+gBpA71iHlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[862,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c4ucP0mi5j+kZrADjITjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[863,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gk/iMra/s7+iRgVv0ZTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[864,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L/Wv+D5wtuePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[865,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vYwUy2sQ1j/g+vjqieTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[866,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZXWvC4hy6T+xmajL1ILmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[867,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EA53ulNK6T9Jft4rrnPYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[868,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fZse/kYp7r+z88zC35zdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[869,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OVzsjkdZ67+WZNHhsCnCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[870,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uCXK31cT3D80dSY+qKHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[871,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xu69HCgP4T9jJHCSharrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[872,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3eYjDZRJ6T+1NCM6fJrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[873,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cv7cqYQD7z8HvPo397LBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[874,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wnaoO6Mg6r/yAyghUV/ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[875,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yC6Yg7s4578f/G8yDUfMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[876,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FOGIiWa07j87M9ycV+axvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[877,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cg+atB822r8iFQ2advjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[878,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"evfWxtsa7j+IyFQS+vTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[879,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h0fHTlHwzb8L9BZEBWPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3851\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3848\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3849\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3850\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3852\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3853\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3865\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3858\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3855\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3856\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3857\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1]],[\"start\",[838,840,841,842,843,844,845,847]],[\"end\",[839,875,846,850,853,856,857,861]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3859\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3860\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3864\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3861\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3862\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3822\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3835\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3836\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3842\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3841\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3843\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3844\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3845\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3866\",\"attributes\":{\"renderers\":[{\"id\":\"p3858\"},{\"id\":\"p3851\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3830\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3831\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3832\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3833\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3825\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3826\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3827\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3828\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3829\",\"attributes\":{\"axis\":{\"id\":\"p3825\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3834\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3830\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"f6f9fc39-8bac-4c23-9225-9395a7d3eb54\",\"roots\":{\"p3814\":\"a2c13eea-e75c-44b4-8c16-49b3f35b330c\"},\"root_ids\":[\"p3814\"],\"notebook_comms_target\":\"p3867\"}];\n void 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": "p3814" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " recycle = False\n", "\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The detailed way: melt()\n", "\n", "The method `bridge()` is a quick way to bring together different actors.\n", "However, it is limited.\n", "To have more controll over the composition of actors that are assigned to a location, we have to *melt* different locations together.\n", "To do this, we have to define at least three location classes: Two or more locations that are the components that get melted into one location and one location that melts those components together.\n", "\n", "Assume we want to create classrooms that consist of one teacher and four pupils.\n", "To create such a location, we first define a `MeltLocationDesigner` (`TeachersInClassRoom`) that consists of only one teacher.\n", "Then we define a `MeltLocationDesigner` (`PupilsInClassRoom`) that consists of four pupils.\n", "Finally, we define a location (`ClassRoom`) that uses the method `melt()` to melt the two previously defined locations into one location.\n", "The method `melt()` must return a tuple or list of at least two location classes that shall be melted into one." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# a location for teachers\n", "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "# a location for pupils\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", "\n", "# a location for teachers and pupils\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return TeachersInClassRoom, PupilsInClassRoom" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"a9ec1627-85cc-4ffb-a930-cff4693b871c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3910\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3911\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3912\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3919\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3920\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3917\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3942\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3959\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[888,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BOlg5g0V1L+orQMmWBznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[889,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+3WV3heU1r/WVciSQWjmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[890,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mXwVWdit3b/AXteBPQ3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[891,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ga+/puHJ2L/B4z3TQGTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[892,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ObDgfVMJ2L/y5yCFWgDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[893,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V9pXFwfE278yq+/vHZbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[894,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BW8dKM1v2b94KVYukCjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[895,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Q0xUTqv3r+Cjsu0ddzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[896,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hqeBnV/z6D9mSOal49vTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[897,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ls+tgnSq5T+4X/q/iF/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[898,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"metKE1YW6j8Sz5GjJ2fYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[899,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"95Y2kDj56D90GYft++Hbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[900,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6DBCfJEt4b+8N7UoJ2asvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[901,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/GRUbDkL5z9nZ5KpkNbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[902,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IAPSUqcf6T/c/K02rfrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[903,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zh8NJ/pD779jVv7tmp+tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[904,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2QlLnt+03L9SWlsEGXKmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[905,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NrVLvGAA2r+6x7HQoTmgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[906,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IkPSq4rb0j/XS0ErQpXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[907,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HfWxGqIgyj/DuNLVho/pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[908,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eH3XwGO73b/pCmszXGq3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[909,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rknNqwvO4L8f9jBdZ6KZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[910,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3i1Il14b778Nxl0q75ipvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[911,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+Lp5bi/a4z9JRpujGRzcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[912,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UzFMnOVp7b/8SdwbD260Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[913,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eJwM6Brc6r8+6uh64hp8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[914,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"////////779qDsRoQ3NOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[915,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jM85x/B7xT+654JXvEjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[916,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uMIf8fdSyz9YigRAUInqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[917,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YN80k+payz9mmhLpJm3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[918,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e1XHGX/y0T9sT52emd3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[919,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bnk782zJwj+JKoQaq1jovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[920,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mAryS1iK0D+M4FH1M53ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[921,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"81NFAhiR0D/O51C8l/Dlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[922,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h/Y9dlG+xT9ypm9P0mTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[923,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vz6Ln/eD5j9al6V7PcnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[924,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wLgoOceQ6D9Tm0hs0HjhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[925,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BPRwJ7I+1b8/1YdeZA3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[926,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u3P06MhW6T8etENJPoPfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[927,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ket/vlTA7j/mHmTFgjajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[928,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DFI7AN4f6D9ru5QMesbbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[929,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"avIA6oFn27/XjbeB5IPpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[930,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v/K7Mnmi5z+boo22fXnXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[931,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hOy8TJk43r8obfeE4x+Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[932,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o60N33te7b9E9tk4OciFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[933,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kWEoFVvqzT8Lagcqb4boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[934,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HjpYKouhyT/7N/4F8dzmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[935,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KWdud7Kt5j/M0sIO+QvfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[936,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+LsT83Q22b+9x5LPgPbmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[937,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fYmSfywj2r+yd4Msievnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3947\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3944\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3945\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3946\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3948\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3949\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3961\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3954\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3951\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3952\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3953\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,928,929]],[\"end\",[936,936,936,936,937,937,937,937,930,930,930,930,931,930,932,931,931,933,934,931,931,932,935,932,932,932,933,933,933,933,934,934,934,934,935,935,937,935,935,936]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3955\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3956\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3960\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3957\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3958\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3918\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3931\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3932\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3938\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3937\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3939\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3940\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3941\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3962\",\"attributes\":{\"renderers\":[{\"id\":\"p3954\"},{\"id\":\"p3947\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3926\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3927\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3928\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3929\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3921\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3922\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3923\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3924\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3925\",\"attributes\":{\"axis\":{\"id\":\"p3921\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3930\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3926\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"a9ec1627-85cc-4ffb-a930-cff4693b871c\",\"roots\":{\"p3910\":\"dd561507-3410-41db-8ff4-7d029145e3fe\"},\"root_ids\":[\"p3910\"],\"notebook_comms_target\":\"p3963\"}];\n void 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": "p3910" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"0fdcebb3-64b7-4bd7-ad21-36730fa2687b\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4014\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4015\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4016\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4023\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4024\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4021\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4046\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4063\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[888,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Ogvvhiuwz8thQocSE/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[889,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XQuXjQiOyj9kCFlZuqntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[890,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yS0yxfQLzD8zX30r8jzsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[891,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DBw5SApKxT84KG4TSWDtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[892,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eD3nz2A07T/+APBGI/zNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[893,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8jtHGYk07T/0ZoFnP8/IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[894,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EKD9q4KR7j9b7NPZ23XIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[895,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sAbC/o5n7z9XSDEtBGjNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[896,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"npVdng953z+Zt+bQyVfXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[897,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OjZ+IxjP4D/afHvrzMbVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[898,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pFwsC2w+3T+pa+O/IPnVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[899,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1xpBGHA64D9wJAhmHTrTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[900,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kxsQKfBd47958Cla2He0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[901,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hJ93wVH93T9RJLJ5nILTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[902,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+K4BjtKWPWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[903,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h153QDb4dz+Tdqa5wf3UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[904,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qLDIsAZC4r9yTMKTbd26vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[905,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"84mmXWO64r8ANwkn9Y6lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[906,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wGv9MEez4r/5eApJbYrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[907,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1WY40n7a1D9zIwCafGvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[908,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j4tgIdxv4b8XJ/TnHf2mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[909,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D9o4yxkn4b+FmcjNZrS1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[910,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"koNIEqE0or9I9kTAfGTYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[911,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kwvmPBd2678WIxWbRY/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[912,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rdPPYXXerb81+kbClyzWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[913,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v68n6rCVbz9274HYUabXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[914,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DjgH+6TAoL9PSK/S4jTUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[915,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmL3+o7J4b9LQb4Yl4Dpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[916,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CDndOsyL4L+3VTBCKuDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[917,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmcBI23o4L/9L5NuPbjnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[918,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0wDH+GoY4r/k24rDzVfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[919,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ud5GD7VM0z/hTOf5pa7tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[920,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TSPQlbLv1j9+ey6x+BrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[921,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UPX6mojU0j8YTwNUQ/brPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[922,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bEtJAXVB1j+sN2dc297tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[923,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DAUrxWwn7b8nAga8gtXcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[924,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cBqLYrfa7L/rkX6w3m3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[925,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r8Jv5oQT7j+CzT4T9jfQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[926,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N5Ua7WYN7L/jca4s7GXbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[927,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QkaCl4xk479SJeYRPk/vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[928,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aq6reEcp67/3B9JTpjbdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[929,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bIepWTTexz+Ah8n+KXXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4051\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4048\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4049\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4050\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4052\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4053\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4065\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4058\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4055\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4056\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4057\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[888,888,888,888,889,889,889,890,890,891,892,892,892,892,893,893,893,894,894,895,896,896,896,896,897,897,897,898,898,899,900,900,900,900,903,903,903,903,904,904,904,905,905,906,906,906,906,907,907,907,907,908,910,910,910,911,911,911,911,912,912,913,915,915,915,916,916,917,919,919,919,920,920,921,923,923,923,924,924,926]],[\"end\",[929,889,890,891,929,890,891,929,891,929,925,893,894,895,925,894,895,925,895,925,897,898,899,901,898,899,901,899,901,901,904,905,908,909,910,912,913,914,905,908,909,908,909,915,916,917,918,919,920,921,922,909,912,913,914,928,923,924,926,913,914,914,916,917,918,917,918,918,920,921,922,921,922,922,928,924,926,928,926,928]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4059\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4060\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4064\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4061\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4062\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4022\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4035\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4036\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4042\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4041\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4043\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4044\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4045\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4066\",\"attributes\":{\"renderers\":[{\"id\":\"p4058\"},{\"id\":\"p4051\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4030\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4031\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4032\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4033\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4025\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4026\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4027\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4028\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4029\",\"attributes\":{\"axis\":{\"id\":\"p4025\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4034\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4030\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"0fdcebb3-64b7-4bd7-ad21-36730fa2687b\",\"roots\":{\"p4014\":\"e7194302-f3be-4d0d-83e3-25caf0f1d335\"},\"root_ids\":[\"p4014\"],\"notebook_comms_target\":\"p4067\"}];\n void 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": "p4014" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we bring back all other settings we made so far:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return TeachersInClassRoom, PupilsInClassRoom\n", "\n", " def weight(self, actor):\n", " return actor.hours" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"637bf561-94d2-427d-9eff-3cb4e9d7cd2a\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4110\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4111\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4112\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4119\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4120\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4117\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4142\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4159\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[938,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w39mi/Awx7+6xw0Yj3Ttvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[939,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"88wrJCMexL/wZxfWjcDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[940,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TReI0nMfsj+qIntSlSG1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[941,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BraU0Lk1vz9jFfY6ImCoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[942,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tGOMOAyywr/hCpI6f73uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[943,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sQ5AzxzzoD9EtmUpL3iVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[944,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k57YCLP73b/j1O8/OG3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[945,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wvb9645Ttb8EgM3fVl/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[946,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"izSktrq5tz9MQwAIqaxwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[947,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EjrbFgSiuL/6oCTJkEXuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[948,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qBwddaFJ4L8HQnHV+SDAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[949,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1NhLR+MU0b8iTv9H2oPlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[950,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O+o/i+Lx6T/fChKp6iXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[951,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gsSHf+dT6j9ZKiKNSo/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[952,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ihm+5tgl6T8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[953,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RoPhh6LsyL+kTOcrXFTlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[954,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UQedb/rv6b/Tod1nP+rDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[955,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"07fjmNsQxb8lBaJFmQznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[956,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lp6Eoz4L0D/gBHbOZv/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[957,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EA3p0Vic6r+VaRRvz2XOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[958,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TfhsOklq379kLaSZI86xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[959,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E09upvU9zT8XS5puO3nWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[960,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2vczPfr53T96ZOLg7a7lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[961,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TPSfkjW32784ajN1lzuxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[962,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9A74fsE76b9dbigIts7NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[963,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sg3ZdbCq0z+5vMPwOKTSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[964,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DDDFFK0M7L+86vPdMivMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[965,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jw/dyO5E4j9DEZqC22nmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[966,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z2sOYN6967/JRw6/L/vFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[967,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9WNDnqR56D8lP9144QHkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[968,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qoDbP/bVjj8OOyB9EbGmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[969,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0msN0Bpz1D8id63KRDbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[970,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCcgr5u/0T+yVJ9iLCDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[971,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MnBJFI6Q4D+4M33W1wfnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[972,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TVAORY5u4j9u5U0Z4YHkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[973,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WnVmvSbQ0L+JeZStcG/nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[974,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"frfoMxZ5y79Ubv2ig0voPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[975,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R2MrtS954D88LfaTQPLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[976,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9+sMrj982r91rwFIaVjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[977,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lOJpHsrk6L84N4PqfVDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[978,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aIS/grmh6D9QW+uX3Wfgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[979,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A/k63Z7y5j9pTw2Nrs/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[980,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vMx2vq8N3b+R+UTSOU67vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[981,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wgbnnpOYwL+bVIGyDt3svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[982,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MtcDgX2h4D9f9H7EaB3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[983,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a7ZdbgMusT/rflGQFjKZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[984,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OvGbc9xp6D93at30Ghfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[985,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uaFYHSWoy7/fGH7IhjXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[986,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GdxTtRhV0T8WB1qu8tfUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[987,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1kjbfsZL6r9JStC5bKbJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4147\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4144\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4145\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4146\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4148\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4149\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4161\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4154\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4151\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4152\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4153\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,6,4,4,5,4,5,5,9,5,5,4,5,4,9,6,4,11,10,5,6,4,6,6,6,6,4,6,4,4,6,6,4,4,4,4,9,5,4,4]],[\"start\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,978,979]],[\"end\",[981,981,983,983,981,983,980,981,983,981,980,985,984,984,985,987,985,986,987,980,986,982,980,987,986,987,982,987,984,983,986,986,982,982,985,985,982,980,984,984]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.3333333333333333,0.5,0.16666666666666666,0.16666666666666666,0.3333333333333333,0.16666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.16666666666666666,0.3333333333333333,0.16666666666666666,0.6666666666666666,0.5,0.16666666666666666,0.9999999999999999,0.8333333333333333,0.3333333333333333,0.5,0.16666666666666666,0.5,0.5,0.5,0.5,0.16666666666666666,0.5,0.16666666666666666,0.16666666666666666,0.5,0.5,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.6666666666666666,0.3333333333333333,0.16666666666666666,0.16666666666666666]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4155\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4156\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4160\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4157\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4158\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4118\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4131\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4132\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4138\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4137\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4139\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4140\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4141\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4162\",\"attributes\":{\"renderers\":[{\"id\":\"p4154\"},{\"id\":\"p4147\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4126\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4127\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4128\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4129\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4121\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4122\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4123\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4124\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4125\",\"attributes\":{\"axis\":{\"id\":\"p4121\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4130\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4126\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"637bf561-94d2-427d-9eff-3cb4e9d7cd2a\",\"roots\":{\"p4110\":\"f48d8800-aa7b-45e8-8383-1bea064b7d7c\"},\"root_ids\":[\"p4110\"],\"notebook_comms_target\":\"p4163\"}];\n void 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": "p4110" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"41cf29f4-2b0b-46b1-9c6d-0d36ce701fe0\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4214\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4215\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4216\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4223\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4224\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4221\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4246\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4263\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[938,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bPdoTUIfu78OCdgdZXvXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[939,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jQEi0lcys7/nqtx2l7LYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[940,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/5CQobWJwT8Y11dlzITiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[941,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6W9w985LwT8mpIEzqyfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[942,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"91IiDF7Hsb8LlmY1CVLXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[943,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3iZGhoEFvT8ctI5BQSfiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[944,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oUH82stCvD/Y0AtKe3vBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[945,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bGNHP+Qeub/XzR9D0fHYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[946,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hOtWD4SvvD+SUD7nCWXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[947,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tPUmVAHXtr+ghkjh/qTWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[948,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l+aEi+rSsj/15fRkawDCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[949,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sMwKKFDiqT+aZlp5Tl3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[950,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6WE6ySai1r+OYr2DIP6Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[951,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZI9iKAjZ17/oK8a208KGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[952,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nKGNg4uE6z9ARiAf5Y/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[953,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b0cq13pOoj+H5Pmb/GHnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[954,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sk87khxc4L898rTaIk7LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[955,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gmPr23mJnz8U6pwOx3/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[956,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RY9ZfcX+3z9Z3DKfFUCKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[957,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fkht/kUX4L91f9A4uSXQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[958,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9F6QNkh8tz8WTM+a16bCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[959,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VVZ8gkIU3z9VUgc1Otqmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[960,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AOQ8YFMRoj/m5Lkh1tHAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[961,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MyYHp6B5tD8ugZvWctm9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[962,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eWcJVcgU378HhzF3ADPNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[963,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gTUdYTog3j/iPg0jjj+evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[964,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QwScrBrM4L/JvuJESz/OPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[965,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U6wThTi0eD8Pq/AdHqjCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[966,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mmte/5ke4L9BNzLGRbrNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[967,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OuNsI3I71r8U+snHkumCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[968,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rbn+j3gTwz9CtNhZEb3hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[969,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"94cC6NUW4D8dUxqB8UChvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[970,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AVeqpJam3j9GO1jtxX+Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[971,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qf+cKjZqqj8Mv9fftHPDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[972,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qoZQPM8yoT+DHjPxpf3FPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[973,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kKQJZW1wkD+J3axVqwDmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[974,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dfunbGgOgz9YMdyt7vbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[975,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pcoJwXbBlT+R3X4D0c7DPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[976,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y0D1AuJruj91tY9md2e9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[977,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SmEUWQM2iD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[978,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TmklO/V21b9HFEGG4Qegvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[979,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SdRQM4Yi1b+1A8jJHzJ2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4251\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4248\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4249\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4250\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4252\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4253\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4265\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4258\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4255\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4256\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4257\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,4,4,4,4,4,4,4,5,5,4,4,5,5,5,5,5,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,4,4,6,6,6,6,6,6,6,5,5,6,6,6,4,4,4,4,5,6,6,6,6,6,4,4,4,4,4,6,4,4,4,4,4]],[\"start\",[938,938,938,938,939,939,939,940,940,940,940,941,941,941,942,942,943,943,944,944,944,944,945,946,948,948,948,949,949,949,949,950,950,950,950,951,951,951,953,953,953,954,954,954,954,955,955,956,956,956,956,957,957,957,958,958,959,959,959,960,960,960,960,961,962,962,963,963,964,965,965,965,967,967,969,971,971,972,973,978]],[\"end\",[939,942,945,947,942,945,947,968,941,943,946,968,943,946,945,947,968,946,961,976,948,958,947,968,961,976,958,973,974,953,955,967,978,979,951,967,978,979,973,974,955,962,964,966,957,973,974,963,969,970,959,962,964,966,961,976,963,969,970,965,971,972,975,976,964,966,969,970,966,971,972,975,978,979,970,972,975,975,974,979]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666666666666666,0.6666666666666666,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,1.0,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4259\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4260\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4264\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4261\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4262\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4222\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4235\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4236\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4242\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4241\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4243\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4244\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4245\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4266\",\"attributes\":{\"renderers\":[{\"id\":\"p4258\"},{\"id\":\"p4251\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4230\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4231\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4232\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4233\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4225\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4226\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4227\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4228\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4229\",\"attributes\":{\"axis\":{\"id\":\"p4225\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4234\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4230\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"41cf29f4-2b0b-46b1-9c6d-0d36ce701fe0\",\"roots\":{\"p4214\":\"e9e4a8ca-d012-480e-bce6-ebdaf5540a5f\"},\"root_ids\":[\"p4214\"],\"notebook_comms_target\":\"p4267\"}];\n void 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": "p4214" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More than one location\n", "\n", "The melting of locations combines different locations into one location, but does not create multiple different location classes.\n", "If we want to generate multiple different location types, we have to simply feed more than one location class into the `Creator`.\n", "\n", "In the following, we introduce a `School` as a second type of location.\n", "(In order to keep the code clean, we skip the melting of locations temporarely.)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"08cf319b-c5a8-41af-8abc-fc337b89164f\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4310\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4311\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4312\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4319\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4320\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4317\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4342\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4359\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[988,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n9sMXgzrzb8WspGjxHHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[989,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rR+KQg7a6L/ospRd2sPhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[990,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQYeAzZ20L/tsk6kExx9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[991,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FJ9XFVXQyL91uZ65Ydizvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[992,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DX8y77bK0b96aHTQpxXgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[993,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NX6I0ipwxr9UTrOU9A6pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[994,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6kxX4Pzs3r8NXJueSavTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[995,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0I00U2Gjvr+bUSH73+zYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[996,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmInaMPt478J7mD12WXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[997,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qhVuzsHP079+pmz1lW7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[998,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QCABTRRm4r9SyT+ad07Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[999,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+XaQb7Df4b/4O9Sso7zHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1000,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CEbcVZP/779N4cUj/8rQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1001,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T56EHruB4r+qXmuJW6LbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1002,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L+oqhZ50BPAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1003,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LiblAtZK7D9SMuvOreOwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1004,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7nrIwgjb1z/AhSGpqxLUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1005,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fQka6WS7s7+mvpl4mE/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1006,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3pPffcF+5z+VZRnJfTKsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1007,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kF6vKoTr7D/qgBTlcD+uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1008,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S4BMaT/3ur+bx2LOz33cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1009,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"STvaC/G76z+IUbh/x8zZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1010,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vqGtb48d4T9BiOOZhtzgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1011,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3r0bJXK16D9+YH5o2SPBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1012,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dfLuFV9l4T+/a2i44k/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1013,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xvcHAe/N6j86F8bwdPXUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1014,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"77qVxLmv4j8pt1adYFvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1015,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4HUPZWz23j8L12sxgT3jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1016,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j/APqCv13T+TUpabMVXQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1017,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zkB5u4cDw79IWY7UkcXIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1018,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iYh17gmSwz/7UdiUK2DEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1019,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p339DxW17j8WYDdCQWjNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1020,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qKbLkJvf6z+eY7c3kprPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1021,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xp6RhI0O5D+K0EVLzlrgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1022,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gFhksx0L5j8BMZsh0F3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1023,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IkwQR9N8vb8hPp+cLZnLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1024,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uf+BQFmd4L/nFHfDAd6+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1025,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rJtiFC517b+RiPEAC0baPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1026,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eNI5iZGZ4L+O9F7cm3bYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1027,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YmZO0yfD7r/ZcsjalIJ/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1028,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VIgfMNLt5L80cQmoitvXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1029,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OwbnHz035b/NPxbHiw/SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1030,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VMmOvY1+2L8oX1emyhzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1031,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EyNsmpE7w7+wbbbl397gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1032,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R0+EwBEs4z+iQfbiY+/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1033,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qPugjt/fq7+nsnwiqnSzvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1034,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TP5Qi78N3r/ozMawg/LTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1035,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pD5/R2t81b/8kCg/giLNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1036,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ku2vdXeh7j8b0L+CQ2PVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1037,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BVHI/z2M3j92nUcOaXLYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1038,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"77YfE/qf4b+vU4qgTxTEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1039,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0eqw2OwQ3j9J1JbZMGrCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4347\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4344\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4345\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4346\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"index\",[988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4348\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4349\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4361\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4354\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4351\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4352\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4353\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4,1]],[\"start\",[988,988,989,990,990,991,991,992,992,993,993,994,994,995,995,996,997,997,998,998,999,999,1000,1001,1001,1002,1003,1004,1004,1005,1005,1006,1007,1008,1008,1009,1009,1010,1010,1011,1012,1012,1013,1013,1014,1014,1015,1015,1016,1016,1017,1017,1018,1018,1019,1019,1020,1020,1021,1021,1022,1022,1023,1023,1024,1024,1025,1026,1026,1027,1028,1028,1029,1029]],[\"end\",[1031,1038,1038,1033,1038,1033,1038,1031,1038,1033,1038,1030,1038,1031,1038,1038,1031,1038,1030,1038,1035,1038,1038,1034,1038,1038,1039,1037,1039,1035,1039,1039,1039,1030,1039,1036,1039,1032,1039,1039,1037,1039,1036,1039,1037,1039,1032,1039,1037,1039,1034,1039,1033,1039,1036,1039,1036,1039,1032,1039,1032,1039,1035,1039,1035,1038,1038,1030,1038,1038,1034,1038,1034,1038]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4355\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4356\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4360\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4357\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4358\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4318\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4331\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4332\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4338\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4337\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4339\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4340\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4341\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4362\",\"attributes\":{\"renderers\":[{\"id\":\"p4354\"},{\"id\":\"p4347\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4326\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4327\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4328\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4329\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4321\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4322\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4323\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4324\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4325\",\"attributes\":{\"axis\":{\"id\":\"p4321\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4330\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4326\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"08cf319b-c5a8-41af-8abc-fc337b89164f\",\"roots\":{\"p4310\":\"d83647cf-8d95-42d4-aa20-68662ca4ab1c\"},\"root_ids\":[\"p4310\"],\"notebook_comms_target\":\"p4363\"}];\n void 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": "p4310" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"ca8d6181-f349-4f38-84b3-e8115e6d9f23\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4416\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4417\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4418\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4425\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4426\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4423\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4448\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4465\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[988,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DFJex5Gf1b878X1/zEjoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[989,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"egKerx8FzD9FusqXzuXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[990,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6yCY4x8SzT/GYr4XeyLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[991,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y1f13qijxj+gIcmBkVfePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[992,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LjlAfzM2yb/6YXvhFZ/pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[993,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3uq188pLuj+e4mHi+vzhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[994,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Siyge5uLy79JWjWG3FfYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[995,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bAh7By+k1r84uuKOLOzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[996,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UmbZNJdpuT97v8zMFxjqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[997,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b63HEfBCz78/8Fr4NUHtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[998,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y+AP62pd1r/ZEVFKnVrgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[999,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oXlNTcimuT9NYH/2bunSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1000,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GuHA13EGlb9KknC6rqjvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1001,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ec7IPqpD0r9XqRyvZ4nbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1002,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B5VTR+c9w78AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1003,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wjBOZUKb0z8HUcievdrrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1004,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5Dol+tmiv79iExigMVznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1005,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Dwp1qRGWqz/+cS8p+JPWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1006,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KokigIQz0z/U5ATZO1Livw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1007,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WWhjmeDO2D8fQ1KqOGbpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1008,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"69OyAnvTw7+ha0N1O1nHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1009,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7rzv9h3cwr+ihmfS6Vftvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1010,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9q6Q75tnzj+SryYDiVTmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1011,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H0LoiqYF2T/LNOu3nCflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1012,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FkIrUQ6bzb/uEmqYya7nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1013,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"piLCQlmmqb9whViiP0brvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1014,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"spUoZYukpb+SICTlBfvjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1015,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QxtMZ+izuD+uJ6ejgYPmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1016,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pCGFF8GRxr+5Ef+wpsbjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1017,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XWMAhFdIpL9EKfwCx/DKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1018,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+MTcJg5Sxz8dDjDh38HFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1019,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+goreMn/rT8cAyHRpqnuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1020,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"raCkCgCxpL9iG9LMH5Pvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1021,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7vSzcR4Yyj/0Q07YijLuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1022,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ps4p8VySwz+ZkFa2v43qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1023,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0dKlyo4Oxj/7AiCstdfVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1024,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mv6LDj+0jb/DppTwv+/QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1025,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2w9XcOevpb8Cp0P/7q3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1026,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vnLeQMjayr+vYjbTQJrgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1027,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1VQXZbgJuj/YciOqWuHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1028,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JHgu7E6osL88DaKIrQ7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1029,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9s6Pg8UItL9u/aOjx3jbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4453\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4450\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4451\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4452\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4454\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4455\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4467\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4460\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4457\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4458\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4459\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,6,1,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,5,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,6,1,1,1,1,1,1,6,1,1,1,1,5,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,7,1,7,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,7,7,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,7,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,5,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5]],[\"start\",[988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,995,995,995,995,995,995,995,995,995,995,995,995,995,996,996,996,996,996,996,996,996,996,996,996,996,997,997,997,997,997,997,997,997,997,997,997,998,998,998,998,998,998,998,998,998,998,998,999,999,999,999,999,999,999,999,999,999,999,1000,1000,1000,1000,1000,1000,1000,1000,1001,1001,1001,1001,1001,1001,1001,1001,1002,1002,1002,1002,1002,1002,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1014,1014,1014,1014,1014,1014,1014,1014,1014,1015,1015,1015,1015,1015,1015,1015,1015,1016,1016,1016,1016,1016,1016,1016,1017,1017,1017,1017,1017,1017,1017,1017,1018,1018,1018,1018,1018,1019,1019,1019,1019,1020,1020,1020,1021,1021,1022,1023,1024,1024,1024,1024,1024,1025,1025,1025,1025,1026,1026,1026,1027,1027,1028]],[\"end\",[1024,1025,1026,1027,1028,1029,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,991,992,993,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,992,993,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,995,996,997,998,999,1000,1001,1002,1008,1024,1025,1026,1027,1028,1029,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,999,1000,1001,1002,1008,1024,1025,1026,1027,1028,1029,1000,1001,1002,1005,1023,1024,1025,1026,1027,1028,1029,1001,1002,1024,1025,1026,1027,1028,1029,1002,1017,1024,1025,1026,1027,1028,1029,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1026,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1015,1016,1017,1018,1019,1020,1021,1022,1023,1016,1017,1018,1019,1020,1021,1022,1023,1017,1018,1019,1020,1021,1022,1023,1028,1029,1018,1019,1020,1021,1022,1023,1019,1020,1021,1022,1023,1020,1021,1022,1023,1021,1022,1023,1022,1023,1023,1024,1025,1026,1027,1028,1029,1026,1027,1028,1029,1027,1028,1029,1028,1029,1029]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,1.0,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,1.0,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4461\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4462\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4466\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4463\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4464\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4424\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4437\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4438\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4444\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4443\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4445\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4446\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4447\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4468\",\"attributes\":{\"renderers\":[{\"id\":\"p4460\"},{\"id\":\"p4453\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4432\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4433\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4434\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4435\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4427\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4428\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4429\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4430\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4431\",\"attributes\":{\"axis\":{\"id\":\"p4427\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4436\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4432\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"ca8d6181-f349-4f38-84b3-e8115e6d9f23\",\"roots\":{\"p4416\":\"a2edc221-cd1e-423a-a0b0-c974943bd731\"},\"root_ids\":[\"p4416\"],\"notebook_comms_target\":\"p4469\"}];\n void 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": "p4416" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nesting locations\n", "The plot above shows two big clusters.\n", "Each of those clusters represents one school.\n", "The plot above also shows something unrealistic: The schools are connected because members of one class are not always in the same school.\n", "\n", "### Nesting locations using `stick_together()`\n", "We can use the `School`-method `stick_together()` to fix this issue.\n", "This works because whenever an actor is assigned to a location instance, the actor gets a new attribute named after the location class.\n", "This new attribute is set to a location instance identifier value." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"0092fa17-26e4-47c5-939b-c7a66cfe6eb4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4512\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4513\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4514\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4521\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4522\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4519\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4544\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4561\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1040,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ql5egqpM0j8gLk7xkD7sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1041,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q/i4mtAE57/fCFCp9STqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1042,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MkSAsNZi3r9G8pVrMcDgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1043,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ondQ+Fw24b8UOSeijSXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1044,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YjK/PrUM0T8H283raevnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1045,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/ygCmalP3L83tM7j9ajevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1046,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JW2ndjcOxD+w7T5c+nDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1047,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1f6jXdF5yT8ygy9Htb/qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1048,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2MjCNhK05L98YYFnU+7tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1049,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0wp2TtBj1D8cBb4T4E3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1050,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MIfT5thJyD/7cIyb/ErhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1051,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LGHZNrV15j93OwAXNeDnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1052,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wg0GBMA81L/eG6PnRf3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1053,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8lsRyL0Q4r8VjAHWqNbovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1054,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OybK80s10799w9JsdcLtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1055,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6/DyuB+64D9MbGZVadPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1056,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xLOoUl31yr/mLHEhSFXkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1057,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WzEFCsXq5D8KvzfEx+PmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1058,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WQlMcRkr178N3LBBdIHvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1059,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"25Jtwe4i4L8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1060,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hV6geiJtyj92o/+QdGfkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1061,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y8lu9oa23D/XPoXZp7nZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1062,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z50VWnEm4T/ptN4kHBTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1063,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UKgiJvUL3L9FfZHt+23vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1064,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y7nuQK2Yzr++WTiNj8Llvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1065,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gFkAEmxS3j+OME1UE3ncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1066,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MPxP3QFezb/BlTDbQL7nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1067,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uKsNidTx3D+y2sUWr6nuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1068,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GEm0k0p5x7+gPyFPUZrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1069,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gQ908m4H5r+0YNk8v3Lnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1070,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NC1SQB3X4r9EFFmc0Sjgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1071,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F1kUeOz/4D/f2ir0RrXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1072,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IaabdRd+4j/UW6mfdgXcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1073,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eGzxBVic3j9Q0zcUWO3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1074,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9+2+f+e74j9KOs+s5BztPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1075,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SJAfezUO5T/ySyeX0erkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1076,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z2Zph7ln5j86uGsfhH3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1077,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F/sF4hBv4r+N/Ryockfvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1078,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6u/k81mwzD+jT7BbjZfiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1079,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Aqf3whdO57+e1TICv+Xkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1080,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NgVPCScd5L+9MF7q9Mnpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1081,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gHOsNBCn478DM1uHiAnlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1082,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ERUlfldzwT/Zyw2GAPriPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1083,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YkyLV/oqzz/vwSKjijrqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1084,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oaEfMO/s4D/7jvgQBd/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1085,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+eq1Yaaw4L91KNxjQ6bcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1086,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AINJ/Rvx479+NjtPZiznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1087,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kmO1whCC5z9n6NBuX5DlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1088,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zwgVp0Ks4D/fwwXioaHYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1089,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CFlMtFn7xL9XrRlEdCnmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1090,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a4UZQRVi3b8JvK+no7Xnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1091,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GWkkpMWD2z8cSycq15jlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4549\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4546\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4547\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4548\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"index\",[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4550\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4551\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4563\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4556\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4553\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4554\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4555\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4,1]],[\"start\",[1040,1040,1041,1042,1042,1043,1043,1044,1044,1045,1045,1046,1046,1047,1047,1048,1049,1049,1050,1050,1051,1051,1052,1053,1053,1054,1055,1056,1056,1057,1057,1058,1059,1060,1060,1061,1061,1062,1062,1063,1064,1064,1065,1065,1066,1066,1067,1067,1068,1068,1069,1069,1070,1070,1071,1071,1072,1072,1073,1073,1074,1074,1075,1075,1076,1076,1077,1078,1078,1079,1080,1080,1081,1081]],[\"end\",[1083,1091,1090,1085,1090,1085,1090,1083,1091,1085,1090,1082,1091,1083,1091,1090,1083,1091,1082,1091,1087,1091,1090,1086,1090,1090,1091,1089,1090,1087,1091,1090,1090,1082,1091,1088,1091,1084,1091,1090,1089,1090,1088,1091,1089,1090,1084,1091,1089,1090,1086,1090,1085,1090,1088,1091,1088,1091,1084,1091,1084,1091,1087,1091,1087,1091,1090,1082,1091,1090,1086,1090,1086,1090]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4557\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4558\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4562\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4559\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4560\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4520\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4533\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4534\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4540\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4539\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4541\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4542\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4543\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4564\",\"attributes\":{\"renderers\":[{\"id\":\"p4556\"},{\"id\":\"p4549\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4528\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4529\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4530\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4531\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4523\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4524\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4525\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4526\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4527\",\"attributes\":{\"axis\":{\"id\":\"p4523\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4532\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4528\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"0092fa17-26e4-47c5-939b-c7a66cfe6eb4\",\"roots\":{\"p4512\":\"d641de1b-dd5e-435a-841a-ca2cb10ecdd2\"},\"root_ids\":[\"p4512\"],\"notebook_comms_target\":\"p4565\"}];\n void 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": "p4512" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"562c286d-bc0c-4af8-9fa3-69d63cb0181a\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4618\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4619\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4620\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4627\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4628\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4625\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4650\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4667\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1040,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GzwcCsgj5b8cfZeoVaXgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1041,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sDRB/sIc6T/iD7b2bGbWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1042,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KXhO1rfB5z/DUAJTIMzjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1043,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vc8QC6365T8+VJL1oA3iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1044,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yg2+g4ZR5r9HGp+veH/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1045,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lM14f5mw6T8bWKab3JvjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1046,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pD/xmLGm679ewTA/GffXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1047,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NThTrRaI5b+1Y2dpUqHdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1048,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dI+OcW0U6j8pDKGKBgDTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1049,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5V3tmJWS57+0x7tJs/bgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1050,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W8LX7IV76b9Ot+pVQOLTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1051,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lPFDlRw16L8g+zPENnHXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1052,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/KWZ5QIHvfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1053,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S8jESXOh7j+7WjmY4WbbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1054,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1E+jnxYl7T/7rb8I89biPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1055,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vp314be86L+9w4jLAiPkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1056,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"63Kk2Wxp5j+YU50vSxHXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1057,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OWkXGZY76r9JFuSKeC/cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1058,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Oyc9U5m6j/qMVgcNvngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1059,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YTN3ton76z+PTSgTDn7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1060,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZJnMHzKH67+QtUrh24fTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1061,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Ug69yKp779gMjXlQEfcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1062,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hk0uCQoM7r+dZHYpdSXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1063,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fUTtnrK67j8xhzBLq5vhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1064,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rFJQrh4r5j/3ZMUx8U7ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1065,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5W/L6k5f779goRrqVVTgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1066,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dxJ6d/3T5D/FU6m/wZ7aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1067,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VRHCFOEQ7L8CJeVP8m/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1068,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XJoshFBR5z+gHIovPr3aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1069,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yRD0gTMj7D+dXK3W8/TYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1070,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0FgDS/vb5z/+jArHwkvhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1071,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iPyTIGXm7b/mK985UJTavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1072,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U3bKB8587b8xCorlM1Lfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1073,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jBJaTx+B6r/KuI680o7hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1074,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u0XHoMY4678J5shay07kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1075,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VVOr44Bq5r9DgZJkGdTYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1076,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7jyUhdc+6L+UTlc3crzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1077,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YDB1wibA7D+IX0EIJGjfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1078,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2y1QXYFr7b++JHjovWLVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1079,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Feo4P90c6j+fO5BaZGPcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1080,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U1a9H+nt7D/sJ7C+GCDVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1081,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DXL3ceW47j/7Qhd4OJTXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4655\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4652\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4653\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4654\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4656\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4657\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4669\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4662\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4659\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4660\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4661\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[6,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,6,1,1,1,6,1,1,1,1,1,1,1,1,1,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,6,1,5,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,7,1,7,7,1,1,1,1,1,1,5,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,1,1,1,1,1,1,7,7,1,1,1,1,1,7,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,1,1,1,1,5]],[\"start\",[1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1062,1062,1062,1062,1062,1062,1062,1062,1062,1063,1063,1063,1063,1063,1063,1063,1063,1063,1064,1064,1064,1064,1064,1064,1064,1064,1065,1065,1065,1065,1065,1065,1065,1065,1066,1066,1066,1066,1066,1066,1066,1067,1067,1067,1067,1067,1067,1067,1068,1068,1068,1068,1068,1068,1069,1069,1069,1069,1069,1070,1070,1070,1070,1071,1071,1071,1071,1071,1071,1072,1072,1072,1072,1072,1073,1073,1073,1073,1074,1074,1074,1075,1075,1076,1077,1077,1077,1079,1079,1080]],[\"end\",[1044,1046,1047,1049,1050,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1042,1043,1045,1048,1052,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1043,1045,1048,1052,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1045,1048,1052,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1046,1047,1049,1050,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1048,1052,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1047,1049,1050,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1049,1050,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1052,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1050,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1051,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1055,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1053,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1054,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1056,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1057,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1058,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1060,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1059,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1063,1064,1066,1068,1069,1070,1077,1079,1080,1081,1061,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1062,1065,1067,1071,1072,1073,1074,1075,1076,1078,1065,1067,1071,1072,1073,1074,1075,1076,1078,1064,1066,1068,1069,1070,1077,1079,1080,1081,1066,1068,1069,1070,1077,1079,1080,1081,1067,1071,1072,1073,1074,1075,1076,1078,1068,1069,1070,1077,1079,1080,1081,1071,1072,1073,1074,1075,1076,1078,1069,1070,1077,1079,1080,1081,1070,1077,1079,1080,1081,1077,1079,1080,1081,1072,1073,1074,1075,1076,1078,1073,1074,1075,1076,1078,1074,1075,1076,1078,1075,1076,1078,1076,1078,1078,1079,1080,1081,1080,1081,1081]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,1.0,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4663\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4664\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4668\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4665\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4666\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4626\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4639\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4640\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4646\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4645\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4647\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4648\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4649\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4670\",\"attributes\":{\"renderers\":[{\"id\":\"p4662\"},{\"id\":\"p4655\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4634\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4635\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4636\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4637\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4629\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4630\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4631\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4632\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4633\",\"attributes\":{\"axis\":{\"id\":\"p4629\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4638\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4634\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"562c286d-bc0c-4af8-9fa3-69d63cb0181a\",\"roots\":{\"p4618\":\"d1102716-efc5-4c14-96e2-d3cd57e728fc\"},\"root_ids\":[\"p4618\"],\"notebook_comms_target\":\"p4671\"}];\n void 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": "p4618" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that it is very important that the actors get assigned to classrooms before getting assigned to schools.\n", "This means that the order of the creation of the locations is important and, hence, the order of the location classes given to the `location_designers` argument.\n", "\n", "If we build schools before classrooms, the above method does not work the way intended:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"e4bcb708-bdc7-4aaa-80fe-77a3500586bb\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4714\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4715\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4716\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4723\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4724\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4721\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4746\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4763\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1092,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Em5lGZb5r+7PVLG1bbPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1093,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6kVCd8Ie5r9NuEKUu7/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1094,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j/Aae5Hv6L+2XtfRLc7Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1095,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Dd6/GJBP6b9lU99w/w6yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1096,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wtq80ZhX4r86zxYeyJPDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1097,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8JDKpT4I0r/Qyt6aeIicPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1098,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YhD8hy4kqD9xmOhzKOLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1099,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DFkVyzvi5b/yRnZowOLEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SRasfANE6b/eqKH4Cvfkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XZ5DojGs0L8gpt7kKSPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BdrcYn6rsz9yfKfLdDzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4sDSI9Ph5T+WZt1nKzfXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mI9KdsPa7z/9RHiuvrzQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ihf7Fn3M2T+kPo/4QpXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vOcXeDX+6j/8tE0839bjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"////////77+aCpdoRUfSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LOY0Kx7bfD9UKRIP7/XRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QVFbwo1d6D+KnVhj/uXEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JP2H1S674b+lwXImM1vpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l3feAKOx5j+5xUW4E1HnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+0dt5K7w0r/KL1JfcEXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vu64Uc9Z0j/MN6zS+3zYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uIii0cw26j9dZICET93Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Hfz42il37r+MDPrbfW3cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqenlhXP1r9Icfof+i7hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"36g/EvgYkj/B9pV4EdPlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j/QKzYIi0r/KtIyuEcnhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n9amo2H86D8T3NzEudu4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B6WkUMI+zb+HasoiNwfkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kK9y0FIZMz++sag+j6nSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UWhOGlna5r/GxUM10ZzQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FRAiWdwPmD8Xvus/e97ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VACvKQoA2D/2ou/c2HTbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MfVXJ+a01T9UKj++GbzSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Du1TIZq85T+/qbOnHyDBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rbd09jzf0D+eYxTv/RefPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E4mONUc06D8g3TnvRb3RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1ll+omhM7j/YcR1HkEXePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x5svgPqBnD9wYeWjT/XiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mFu/oehH7L/3zZT+2A7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YXwlZcyw2j8blxz2A+XkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jBCao9yZ1D/y4OvFrBjmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQyBQGM72j9/bD9NE6HPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rp33+yvp2r/gY4LdGsnQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7sfmY2Vwvb+vulChTorlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qECrxjdY4b+YAvZIkSrTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ip0J29c95T8R9EFi8mDRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FobuG+dY478QumcWg9u3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cpFBzXeNzT+4zjGF5gDhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a+M5tuSt4j/pxjH6MwDIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EjnovfEWyj/MVhhmW1rivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14ZG4pp4xr8If/KWDW3evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4751\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4748\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4749\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4750\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4752\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4753\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4765\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4758\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4755\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4756\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4757\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4]],[\"start\",[1092,1092,1093,1094,1094,1095,1095,1096,1096,1097,1097,1098,1098,1099,1099,1100,1101,1101,1102,1102,1103,1103,1104,1105,1105,1106,1107,1108,1108,1109,1109,1110,1111,1112,1112,1113,1113,1114,1114,1115,1116,1116,1117,1117,1118,1118,1119,1119,1120,1120,1121,1121,1122,1122,1123,1123,1124,1124,1125,1125,1126,1126,1127,1127,1128,1128,1129,1130,1130,1131,1132,1132,1133,1133]],[\"end\",[1135,1137,1135,1135,1139,1135,1139,1135,1137,1134,1139,1134,1136,1135,1137,1135,1134,1137,1134,1136,1134,1141,1134,1134,1140,1134,1135,1134,1143,1134,1141,1135,1134,1135,1136,1134,1142,1134,1138,1135,1135,1143,1135,1142,1135,1143,1134,1138,1135,1143,1135,1140,1135,1139,1135,1142,1134,1142,1135,1138,1134,1138,1135,1141,1134,1141,1134,1134,1136,1135,1134,1140,1134,1140]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4759\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4760\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4764\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4761\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4762\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4722\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4735\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4736\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4742\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4741\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4743\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4744\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4745\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4766\",\"attributes\":{\"renderers\":[{\"id\":\"p4758\"},{\"id\":\"p4751\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4730\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4731\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4732\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4733\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4725\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4726\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4727\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4728\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4729\",\"attributes\":{\"axis\":{\"id\":\"p4725\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4734\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4730\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"e4bcb708-bdc7-4aaa-80fe-77a3500586bb\",\"roots\":{\"p4714\":\"f4311619-fe95-4982-8063-98856acd74f9\"},\"root_ids\":[\"p4714\"],\"notebook_comms_target\":\"p4767\"}];\n void 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": "p4714" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"dff6ddab-9f2b-4b90-b886-c2385c0e2f9b\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4820\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4821\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4822\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4829\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4830\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4827\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4852\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4869\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1092,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"np2Gt9lB3j/vVeLPkwjYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1093,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X9UGxQqN4D8H0Euc6YfpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1094,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mN2D0ZSgMD+rm8z9P7jlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1095,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2vS6skWTyb+A5vXIc5/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1096,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T49i1XKT1T9gM9nNHEPYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1097,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EkR/tr2ex79/qmf/oPuyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1098,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q5AZ2CNU4L9dEu5tKsvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1099,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LR7dTX7HyD8yVHEsZ8PaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FNAZB0GJ1z8Dy5I5tYfrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s7WA+AoxyD9mrs2fiKfMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8lu8FvYt2b+VfGrJR/vbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pecD6g/ZwT85gf7fhaLgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dgpkXlWNxb8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rb8tFGFnwT9SIkZMAezmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OLjsfYF33L+TNMkpSGLrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EgbDpz33ub9Ffpjg/kXtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8TcOaP+8wz8cmWbYQU22vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XGyirSo1gL9CcA1Lk+vlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9JnKgoXo0T+eVSe5YX/vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a+SBf8lW1L/MJIOHpJvuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YJML1Kz90L+AkK/ljpzGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dzgTE0y50L/vUH96IBnLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F2FtiLNm1r+J5xidR5Dkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wYJ+Nlukoj8sny3hTDPvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FUpLIgDkyj+xKohL9cviPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vqZ9C7qe0L92L3U8PbfZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5cFgeesC1j+jqlo/n+niPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Yt4GiMYyb+T1QBUuh/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sbTqsVy/3T9nAtxz+4rgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+faf5GTP1z8PNni6h12uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F7rjStQUur/Gjr6tS6PiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6iFf9kSUwb+tL2sokinXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z4wgawea2b9/p3lE0zjGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b3Q0cBY1pr+5XXISc5rBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GhPFJJcyyr9MyAqn8tTfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TJgweHL4xz+LFaWkfm2+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mXYuNOuhir/yoF2vEWjfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NziuaUkQcb+nzZ07PVnvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sQexU5DS4L8l4mKd5NHavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zGeufqq1xD/JwoMFsqrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4YBajOP60T9Q4QLZUJPivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"21HIh9iSzz+Kt83BdBvnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4857\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4854\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4855\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4856\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4858\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4859\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4871\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4864\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4861\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4862\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4863\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,6,6,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,4,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,6,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,6,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,6,1,1,1,1,1,1,5,1,1,1,1,1,1,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,6,1,6,7,1,1,1,1,1,1,5,1,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,1,1,1,1,1,1,1,1,1,7,6,1,1,1,7,1,1,1,1,1,1,1,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,6,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,5]],[\"start\",[1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1112,1112,1112,1112,1112,1112,1112,1112,1112,1112,1112,1112,1113,1113,1113,1113,1113,1113,1113,1113,1113,1113,1113,1114,1114,1114,1114,1114,1114,1114,1114,1114,1115,1115,1115,1115,1115,1115,1115,1115,1115,1115,1116,1116,1116,1116,1116,1116,1116,1116,1116,1117,1117,1117,1117,1117,1117,1117,1117,1117,1118,1118,1118,1118,1118,1118,1118,1119,1119,1119,1119,1119,1119,1119,1119,1120,1120,1120,1120,1120,1120,1121,1121,1121,1121,1121,1121,1121,1122,1122,1122,1122,1123,1123,1123,1123,1124,1124,1124,1124,1124,1124,1125,1125,1125,1126,1126,1126,1126,1126,1127,1127,1128,1128,1128,1128,1129,1129,1129,1130,1130,1132]],[\"end\",[1093,1094,1095,1096,1099,1100,1101,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1094,1095,1096,1099,1100,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1095,1096,1097,1099,1100,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1096,1097,1099,1100,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1099,1100,1101,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1098,1101,1102,1103,1104,1105,1106,1108,1109,1111,1113,1114,1119,1122,1124,1126,1128,1129,1130,1132,1133,1101,1102,1103,1104,1105,1106,1108,1109,1111,1112,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1100,1101,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1107,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1102,1103,1104,1105,1106,1108,1109,1111,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1103,1104,1105,1106,1108,1109,1111,1112,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1104,1105,1106,1108,1109,1111,1113,1114,1119,1124,1126,1127,1128,1129,1130,1132,1133,1105,1106,1108,1109,1111,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1106,1108,1109,1111,1113,1114,1119,1121,1124,1126,1128,1129,1130,1132,1133,1108,1109,1111,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1110,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1109,1111,1113,1114,1116,1118,1119,1120,1124,1126,1128,1129,1130,1132,1133,1111,1113,1114,1119,1124,1126,1127,1128,1129,1130,1132,1133,1112,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1113,1114,1119,1124,1126,1128,1129,1130,1132,1133,1115,1116,1117,1118,1120,1121,1122,1123,1125,1127,1130,1131,1114,1117,1119,1123,1124,1126,1128,1129,1130,1132,1133,1119,1124,1125,1126,1128,1129,1130,1132,1133,1116,1117,1118,1120,1121,1122,1123,1125,1127,1131,1117,1118,1120,1121,1122,1123,1125,1127,1131,1118,1120,1121,1122,1123,1124,1125,1127,1131,1120,1121,1122,1123,1125,1127,1131,1124,1125,1126,1128,1129,1130,1132,1133,1121,1122,1123,1125,1127,1131,1122,1123,1125,1127,1131,1132,1133,1123,1125,1127,1131,1124,1125,1127,1131,1126,1128,1129,1130,1132,1133,1126,1127,1131,1128,1129,1130,1132,1133,1128,1131,1129,1130,1132,1133,1130,1132,1133,1132,1133,1133]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.2,0.8,0.8,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.8,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.8,0.2,0.8,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.8,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4865\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4866\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4870\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4867\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4868\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4828\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4841\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4842\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4848\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4847\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4849\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4850\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4851\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4872\",\"attributes\":{\"renderers\":[{\"id\":\"p4864\"},{\"id\":\"p4857\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4836\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4837\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4838\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4839\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4831\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4832\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4833\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4834\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4835\",\"attributes\":{\"axis\":{\"id\":\"p4831\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4840\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4836\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"dff6ddab-9f2b-4b90-b886-c2385c0e2f9b\",\"roots\":{\"p4820\":\"bf00d2a0-7e87-4f1c-a01d-0f4450403c48\"},\"root_ids\":[\"p4820\"],\"notebook_comms_target\":\"p4873\"}];\n void 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": "p4820" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we saw, the method `stick_together()` can be used to nest locations into other locations.\n", "However, this approach is limited because we can only specify one location class as the return value of `stick_together()`.\n", "\n", "### Nesting locations using `nest()`\n", "\n", "Another way to nest locations into other locations is to use the location method `nest()`.\n", "The method `nest()` can return `None` or a location label.\n", "If `nest()` returns a location label, the location is nested into the corresponding location type.\n", "For instance, to nest classrooms within schools, we must define the method `nest()` for the location `ClassRoom` and let this method return `\"School\"`.\n", "Again, the order of location creation plays a crucial role: The level-1 location must always be created after the level-2 location." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", " def nest(self):\n", " return \"School\"\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"0e4c9e09-7155-4886-a80c-f3914d2e40b5\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4916\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4917\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4918\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4925\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4926\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4923\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4948\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4965\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4PrR0VFq4T8xVx3sBGSyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PCwCJxCd6z/d9/tOgPq8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QktL7gk25T+2A/pXWabHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LJZs/1dj7j+icPDWoym0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bq1qg/w/5D/zfZ7uQB6Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gd+D2lWn7z8ao0y/yp6hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RB+uu4Dm4z92ovHyIJ+dPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x//tSRMf4j/mBt4J04ijPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7txYQUTM778tDReMmCDBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z3n4l5QE6L9WKzd+vka8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3r2y7CML5r8F7nJqQae7vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qXBU8Npk4b+KSelGOO+wPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l2yujkRL7L8dM93DSD7QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N/wYz20m4r8mvt4wAPjEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0KE4MXK07b/tq/7NTnC4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xgxPyYlA7r9Y9rINLJrKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0meUkGpq47/5MgRQBPrDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iPj6nq2J4r+KaxZlkiC8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AlK2p84s578DUJxDRarKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CBzRSPPs6b+N2LLKPo/QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b5er8z586b9fBmIYYWnDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"icZhzWM7678k4TzJgta7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N0U/gC+Q5r8Hg49v5qvUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L/Qkv2PAB1fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RPnLGBz15L9fpfJ/tfrGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1C7FSKWE7b+hACwDrC+2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dOgtyAkx67/LnfdZGj9fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nba4FXLc5L8NXOzEe4LTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"koyuBG0+7b+ODTukcAKIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qtA0kP4v5z+JB5iNzKvTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a2Nop82N4z8aMGPhCcXEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"18mpxLHx7T81DIPK6sHNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XpWWJHTw7j8q8xLKfAPIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EmAWoYEc7j/FPYzD1weWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OEhYQcW47T+nNYyksTCfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kg11xnwO6D87tEc65SbRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p7e9lPi04z+fsL121AvQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T3N35Xak6T/o4amFK4PAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HOUXNrkX4z+eUSKSyZmyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2XL5U61m6z8Yd/QhMi/Gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vsrhutoL5T/HbHC/f1nMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d7MI4mi+5j+Tr4/FZfXNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7VnOAug26L/UG0QvqiCxPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vVkYu4gz6D+NYej/NByvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aKgCK8zv4T9btVmOlheOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"veE+iyPa7z8APxVUY2igPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H27Ilpf94j+kAtxy7ljPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tUuwAYxz579ka5+8NOLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PTfRy8sg4L+fZQgyH0DAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X4/tWsQE7L8y0IUu8VyrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qekqd9VQ479vPrqXO6jNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f+GX1X7t5L8j86T/rhHZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8kUIfSJX5T88rxaWQMnSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgP+8YjL7z8Vt3Ip/PjPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4953\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4950\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4951\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4952\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4954\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4955\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4967\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4960\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4957\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4958\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4959\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4]],[\"start\",[1144,1144,1145,1146,1146,1147,1147,1148,1148,1149,1149,1150,1150,1151,1151,1152,1153,1153,1154,1154,1155,1155,1156,1157,1157,1158,1159,1160,1160,1161,1161,1162,1163,1164,1164,1165,1165,1166,1166,1167,1168,1168,1169,1169,1170,1170,1171,1171,1172,1172,1173,1173,1174,1174,1175,1175,1176,1176,1177,1177,1178,1178,1179,1179,1180,1180,1181,1182,1182,1183,1184,1184,1185,1185]],[\"end\",[1187,1188,1187,1187,1190,1187,1189,1187,1188,1187,1189,1187,1188,1187,1188,1186,1186,1191,1186,1191,1186,1192,1186,1186,1192,1186,1186,1186,1194,1186,1192,1186,1186,1186,1191,1186,1193,1186,1195,1186,1186,1194,1186,1193,1186,1193,1186,1195,1186,1193,1187,1196,1187,1190,1187,1197,1187,1197,1187,1189,1187,1189,1187,1196,1187,1196,1187,1187,1188,1187,1187,1196,1187,1196]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4961\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4962\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4966\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4963\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4964\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4924\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4937\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4938\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4944\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4943\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4945\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4946\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4947\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4968\",\"attributes\":{\"renderers\":[{\"id\":\"p4960\"},{\"id\":\"p4953\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4932\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4933\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4934\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4935\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4927\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4928\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4929\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4930\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4931\",\"attributes\":{\"axis\":{\"id\":\"p4927\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4936\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4932\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"0e4c9e09-7155-4886-a80c-f3914d2e40b5\",\"roots\":{\"p4916\":\"d48ba6ca-4fd2-42a9-b83a-c44a79c94563\"},\"root_ids\":[\"p4916\"],\"notebook_comms_target\":\"p4969\"}];\n void 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": "p4916" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b84b8a3c-ba92-47db-bcf5-e811c4c18387\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5024\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5025\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5026\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5033\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5034\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5031\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5056\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5073\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JU9rnvB8yL9TkRHu9frsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8gFrJSiz27+BLLbDBiPuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fX42P0ayz79JK0fFk4DvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TQ4O9rbm2L8Ci7dblgrqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bOTb5ytSzr8pXWOteZjrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tJOC+y3f3L+65BdLKPfoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NyT7X57v079rCOOZjCTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K+usnkg30r/eZPektvzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oKz1b7/T0T+gosJFo9Dsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UJzKYQ460D9vFlDsJ3/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XNN6gbq6yj8udsJTlDDuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RxpYGSb2wz95hwDDu7Dpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"78DTYLTQ2D+y2LYz1YHvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UVufdzz/yz8Fg1c7WXXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OZRN0b2zxz+FuZiyEF3nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iy0kYMj71T9jmpkWu7jlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QxBGATASzT+qbgHqUpTovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wJ2ZfKztwz/3zqAbfvLrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qHEUmAvm1j9qQn8MV37nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uYHVT9Ih2z/D4juP3ebmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vt16YCXi0z/LDO3iHiHvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+sRyWoQ72z/I9HwP9Nrrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HbsWQk+Q3j++HN4MvtDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/tw/C17D0D+Sis7o1szlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y/NHJu0u0j8bDpTYdwfovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dch070fI1z94uCUNGCLqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dYydYT0a1j/aw8784+frvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tdTEGjf93D/gQeqdKOvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z8BwOS3A2T+4N20SlGbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Z91JD6BzL8lswmnwErnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zcmUGLYV17/L1W85wGPuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CFchViJB1r8ayjeOozPnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jic0X0nq1b/+TtxbJWrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ekIkWAUn3r+QuB0E5ZvqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EtSxbX0127+NW1VVlOLrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OcPhT9V1yr+jKlyKwQXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mlM9BYFfxr+Xond1XrvnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DVa+7Dwg27/EMsPnOijnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"llLMiXjE0L/DJuGmT6jtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MPW28SQT1b8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3Afx3kQI0b/00Ej7BdDmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WjlM3vxUw7+mpIzlc6DpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5061\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5058\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5059\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5060\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5062\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5063\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5075\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5068\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5065\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5066\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5067\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,6,6,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,7,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,7,1,7,1,1,1,1,1,1,5,5,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,5,5,1,1,1,5,5,1,1,1,1,1,1,1,1,1,5]],[\"start\",[1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1162,1162,1162,1162,1162,1162,1162,1162,1162,1162,1163,1163,1163,1163,1163,1163,1163,1163,1163,1164,1164,1164,1164,1164,1164,1164,1164,1165,1165,1165,1165,1165,1165,1165,1166,1166,1166,1166,1166,1166,1167,1167,1167,1167,1167,1168,1168,1168,1168,1169,1169,1169,1170,1170,1171,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1174,1174,1174,1174,1174,1174,1174,1174,1174,1174,1174,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1176,1176,1176,1176,1176,1176,1176,1176,1176,1177,1177,1177,1177,1177,1177,1177,1177,1178,1178,1178,1178,1178,1178,1178,1179,1179,1179,1179,1179,1179,1180,1180,1180,1180,1180,1181,1181,1181,1181,1182,1182,1182,1183,1183,1184]],[\"end\",[1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1145,1146,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1146,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1164,1165,1166,1167,1168,1169,1170,1171,1172,1165,1166,1167,1168,1169,1170,1171,1172,1166,1167,1168,1169,1170,1171,1172,1167,1168,1169,1170,1171,1172,1168,1169,1170,1171,1172,1169,1170,1171,1172,1170,1171,1172,1171,1172,1172,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1177,1178,1179,1180,1181,1182,1183,1184,1185,1178,1179,1180,1181,1182,1183,1184,1185,1179,1180,1181,1182,1183,1184,1185,1180,1181,1182,1183,1184,1185,1181,1182,1183,1184,1185,1182,1183,1184,1185,1183,1184,1185,1184,1185,1185]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,1.0,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5069\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5070\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5074\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5071\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5072\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5032\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5045\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5046\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5052\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5051\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5053\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5054\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5055\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5076\",\"attributes\":{\"renderers\":[{\"id\":\"p5068\"},{\"id\":\"p5061\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5040\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5041\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5042\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5043\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5035\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5036\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5037\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5038\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5039\",\"attributes\":{\"axis\":{\"id\":\"p5035\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5044\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5040\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"b84b8a3c-ba92-47db-bcf5-e811c4c18387\",\"roots\":{\"p5024\":\"ffccccb4-8a60-4539-b496-96fb1376ab1b\"},\"root_ids\":[\"p5024\"],\"notebook_comms_target\":\"p5077\"}];\n void 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": "p5024" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`nest()` allows us to nest as many locations in as many levels as we want.\n", "However, `nest()` has one disadvantage: Because the actors are first grouped into the level-2 location and then into the level-1 location, specific compositions defined at level 1 are not considered when grouping the actors into the level-2 locations.\n", "\n", "The following example demonstrates that:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", " def nest(self):\n", " return \"School\"\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"44ca7b95-46ba-46ad-ab80-8cde4e336533\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5120\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5121\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5122\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5129\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5130\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5127\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5152\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5169\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1ZyqxFNi4T/SHYEkErzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3qCTy4v3z/SIx7cf0vQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9aPnSyPq4j9g0DvI5NrAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3MD1PuVS4D/n5lsPEM/DPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pi4+yX+65D+y+rV5UdPkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uIJUhHPC4z/uKZN3ox7MPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7zoUhUrM4T+/Qjn8mEjivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"145bijj05L8RYi08utjOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aU0Ripg+xL9PSuZ2QfXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"azW2y/ym5b+E44AiBrXUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EDqK8Q8q6L92O0TxIxXVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OM/dSYAZyr8dTJ7/8hXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JsQMpAP85b9F4VN5YdvPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aswI5Dcqqb+oiV6uOT/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hpNaeN2F3b+O8TPdY3fqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V9wKRklH5D/UuzWLyu/fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4MUi1zKx5L/EeJ8tAprTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6VIIPUE7tb8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kxOxsDzr4T9sXHMaYLfmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ej3sWNZz578ok1TIYwXJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0xDCd0pi5T+C7NZ8Ljbjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WaWJwWxzu7+OXYqGLZPIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Ht4FIPnzj9J5T3Wy46pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2z/GcrrnwL84/WQqSHHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"caza9XE1xr/Bx09aIfrDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yV4EI/fHxb8uuhhIL465vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o2ry6iMnwb8hAZQECSeqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jTwUlXHC0D9azH5cnbaJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H5JCbpDbir9zeTlRzmHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mquT70Bi1r/9rA2Zyf/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tKadEx60xz/QHuBp2721Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rh5HZZKqrz9M261p+f3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sMQcEEAmqT//4tcBvj/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M132OqYuzT9Zn9TlUpSzvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mRktUL+Qvj+xU8Yj6m2zPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OjdyN99y07/ZdZ3owTLtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HEFvK940zb8dfSiNPT/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m6KE/Evvoj9YdIj74Sy1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DExKRtX3or/F+EQvTMmtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L7kBzr0F2j9t4zOR7O7tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IK/JE3uV1r+MTnYp6XDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uZ70e82M0b/El2tzrZ3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BIRg+tfijD+KRrAb2rjWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GDWmGwV4nb8WgtgHiBnaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K0752OAd4z8UuBvYir3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A3vNoJ2O57831jqBCGHQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2OvccaDq4T8GpJQ2P5rNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7AfRAhjjwL/Jg2ePcfjtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x4UvxX8i579WIYr4rh/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wdGUxDgQ5D/DgxrFih7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wYUgxaIotb/APeBRZlfAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nIozC/WQkr8mpQ16vcTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iqBmOqn/wz/LNTP5cMaXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K5ymj0qA0L9qbNaGL3zqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pq3uhasZaD9kANKdh1+evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5157\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5154\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5155\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5156\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"index\",[1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5158\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5159\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5171\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5164\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5161\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5162\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5163\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,50,50,1,60,1,40,1,40,1,50,50,1,40,1,50,50,1,50,1,90,1,50,1,50,1,40,1,50,1,40,1,1,90,1,60,1,40,1,110,1,100,1,50,50,1,60,1,40,1,60,60,1,60,1,60,1,60,1,40,1,60,1,40,1,40,1,60,1,60,1,40,1,40,1,40,1,40,1,90,90,90,1,50,1,1,40,1,40]],[\"start\",[1198,1198,1198,1199,1199,1200,1200,1201,1201,1202,1202,1202,1203,1203,1204,1204,1204,1205,1205,1206,1206,1207,1207,1208,1208,1209,1209,1210,1210,1211,1211,1212,1213,1213,1214,1214,1215,1215,1216,1216,1217,1217,1218,1218,1218,1219,1219,1220,1220,1221,1221,1221,1222,1222,1223,1223,1224,1224,1225,1225,1226,1226,1227,1227,1228,1228,1229,1229,1230,1230,1231,1231,1232,1232,1233,1233,1234,1234,1235,1235,1235,1235,1236,1236,1237,1238,1238,1239,1239]],[\"end\",[1240,1242,1247,1240,1244,1240,1244,1240,1244,1240,1242,1247,1240,1244,1240,1242,1247,1240,1243,1240,1245,1240,1243,1240,1243,1240,1245,1240,1246,1240,1245,1240,1240,1247,1240,1246,1240,1245,1240,1242,1240,1243,1240,1242,1247,1241,1248,1241,1250,1241,1249,1251,1241,1248,1241,1248,1241,1248,1241,1250,1241,1249,1241,1251,1241,1250,1241,1249,1241,1249,1241,1250,1241,1250,1241,1251,1241,1251,1241,1248,1250,1252,1241,1252,1241,1241,1251,1241,1251]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.7142857142857142,0.7142857142857142,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5165\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5166\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5170\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5167\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5168\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5128\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5141\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5142\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5148\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5147\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5149\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5150\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5151\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5172\",\"attributes\":{\"renderers\":[{\"id\":\"p5164\"},{\"id\":\"p5157\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5136\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5137\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5138\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5139\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5131\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5132\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5133\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5134\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5135\",\"attributes\":{\"axis\":{\"id\":\"p5131\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5140\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5136\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"44ca7b95-46ba-46ad-ab80-8cde4e336533\",\"roots\":{\"p5120\":\"eecfeac4-d5e7-4883-ba20-aeb5daa96ac2\"},\"root_ids\":[\"p5120\"],\"notebook_comms_target\":\"p5173\"}];\n void 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": "p5120" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b51478f4-2e21-457f-84a8-8e623f48add4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5229\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5230\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5231\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5238\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5239\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5236\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5261\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5278\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6/p4NHb75D8lv2pahHKpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yEoRFd3g7j+marD02ld7vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MawB9Tlz7T+63vxvqeKNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fNrpDAle7j+3XP0OmOOsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1KZfdhJ+5D88JUUJpSZ+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yvHLofqm7D91azngqmqnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sLD/pyJD4z94SaFNTA2Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1sQj7cp66T9+caDcwUTJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VOdcC0/S6T/ztVobt26uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GsBlKEjo6D90Kp5MuKTPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f939+V7k5z8xfcao0VfHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QaCfu0956z9uQOaH0OG3Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9w6Ld8uS7T/fxsdjDrfIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Qz5+CVb6j9wpWZyubXAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/nqdNczznBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W+cDT+vk4z/xAM02zPy4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UnNJst6e7D8HkKpP193Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vnm+7gfI6D9FHLjlfzK7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yKyoi2Q95j/E5IXyXySQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nhRBtcRT5z+3Lqr5kgDOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7mKfUwXy4z/xoCyqae+rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vDsjkV1P7b8FaybiQNDJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y4XiBxrg6L+4Nk1blAjKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GK41C+Dh5r9eGrzEXyCjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+hBb/Gxy7L+aJCW4B/TGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2HpuZznT7b+ehu911KjDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iFnPjAm17L9sciaOS3bAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3vdW6Y536L/nIK1RQYfDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZoIeVlGj5b+m7MFUVxWUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hpJjmRwG6L87hh1Ov0C9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DMlEl34W6L/phKL9DefNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zFX0PShb5L+J5ylhc4GfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gDJvCHRp5L/yFWlSG+mWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IthIM2LK5r80gbuVDPbJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CU4oqbU557/9zPciMVbEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DtqBF/0V6L84ADsh4bewvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LfDkN1R/6b/JMJd3xp60vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tvC9NZjD6r/LVShJepnEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8GvXHC0w7b95YMGjX4ywPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQWXL4Hq77+ZcrDkh/qYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vADUdrEo6r+Q8l2DoJKpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pw4QZ0i96b8vG76jX2G9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5266\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5263\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5264\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5265\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5267\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5268\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5280\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5273\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5270\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5271\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5272\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,101,1,101,1,1,1,1,1,1,1,1,51,1,1,51,1,101,41,41,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,101,1,1,1,1,1,1,1,1,51,1,1,51,1,101,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,51,1,101,1,51,51,1,1,1,1,1,1,1,1,51,1,1,1,41,1,41,1,1,1,41,1,1,1,51,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,51,1,1,41,1,1,1,41,1,1,1,1,1,1,51,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,51,1,1,1,61,61,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,1,41,1,1,41,1,1,41,41,1,1,41,1,1,1,1,1,1,1,1,61,41,1,61,61,1,1,41,41,1,1,1,41,41,61,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,41,1,1,41,41,1,1,41,1,1,1,1,1,1,61,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,41,1,1,1,41,41,1,1,41,41,1,1,41,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,41,1,1,1,1,1,1,41,1,1,1,1,41,1,1,1,41,41,1,1,1,41,41,51,1,1,1,1,1,1,1,1,41]],[\"start\",[1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1209,1209,1209,1209,1209,1209,1209,1209,1209,1210,1210,1210,1210,1210,1210,1210,1210,1211,1211,1211,1211,1211,1211,1211,1212,1212,1212,1212,1212,1212,1213,1213,1213,1213,1213,1214,1214,1214,1214,1215,1215,1215,1216,1216,1217,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1230,1230,1230,1230,1230,1230,1230,1230,1230,1231,1231,1231,1231,1231,1231,1231,1231,1232,1232,1232,1232,1232,1232,1232,1233,1233,1233,1233,1233,1233,1234,1234,1234,1234,1234,1235,1235,1235,1235,1236,1236,1236,1237,1237,1238]],[\"end\",[1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1210,1211,1212,1213,1214,1215,1216,1217,1218,1211,1212,1213,1214,1215,1216,1217,1218,1212,1213,1214,1215,1216,1217,1218,1213,1214,1215,1216,1217,1218,1214,1215,1216,1217,1218,1215,1216,1217,1218,1216,1217,1218,1217,1218,1218,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1231,1232,1233,1234,1235,1236,1237,1238,1239,1232,1233,1234,1235,1236,1237,1238,1239,1233,1234,1235,1236,1237,1238,1239,1234,1235,1236,1237,1238,1239,1235,1236,1237,1238,1239,1236,1237,1238,1239,1237,1238,1239,1238,1239,1239]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.4,0.4,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.4,0.2,0.4,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.4,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.8,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.4,0.2,0.8,0.8,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5274\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5275\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5279\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5276\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5277\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5237\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5250\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5251\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5257\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5256\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5258\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5259\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5260\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5281\",\"attributes\":{\"renderers\":[{\"id\":\"p5273\"},{\"id\":\"p5266\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5245\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5246\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5247\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5248\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5240\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5241\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5242\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5243\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5244\",\"attributes\":{\"axis\":{\"id\":\"p5240\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5249\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5245\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"b51478f4-2e21-457f-84a8-8e623f48add4\",\"roots\":{\"p5229\":\"e9232534-d618-4581-a5ba-dde2cf4e9a00\"},\"root_ids\":[\"p5229\"],\"notebook_comms_target\":\"p5282\"}];\n void 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": "p5229" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "inspector.plot_networks(location_color=\"label\", actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see in the graph above, the compositions defined by `ClassRoom` are not always met.\n", "That is due to the fact that the actors are first assigned to the schools independently of the settings defined by `ClassRoom`.\n", "When the classrooms are built, there are not always the *necessary* actors in each school needed to meet the composition defined in `ClassRoom`.\n", "This might not always be a problem.\n", "However, if we want to ensure that classrooms always have the defined composition of actors, they have to be created before the schools are created and, thus, we have to use the method `stick_together()` to nest classrooms into schools:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"39023269-fe49-4839-b660-213b13d64785\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5325\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5326\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5327\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5334\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5335\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5332\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5357\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5374\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6cVpFE1EtL+JyBXLK4DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lJbSs0mWx79sl/Y5sU7lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1NzH0o5U57/ODPHENcXgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ffn+z1LW6L83tYwn6cPbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mfMqzFWIv79StRuNE/voPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yhb67JNX679n8WJlAJ/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DtLhQPe6zL+348gg+Wnhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kSpinQ0ywr/7m9VhQRnlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IIIlW12jpz+/D67WYhPevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k10GfitWlb88c7t4sU/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cF1owZqmxL8286vxYevgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1cVlCVpZ7D+ZfAW1GgHFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OIAvUuDw6L8Zm/vybT7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+P1w17Hx4r8irx94+hjTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"drIjupBh6j/k4Ki7wBXlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d5rW2aoT5L9zsSV98pjMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AyRsagK72T+YHqTs1J/BPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0kvvqe9H7D+/ZeL5n86nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nStvdB7l7T9TuNvfgxjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TYRIWloMzT/vPJZZPqPVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mq3HwDdUvL+jDZkc+i7jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pnP065QD1T9VPowJY3zTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4lFw2Fnqgb+mPl6ljIXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DgInGY4t3T/yNh7LP4rFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YU3k5Jmd2T+KxayCgHHRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wdp2J1b00T+lAiidjC/Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CFzMpOKA3j/UNm1ezLfNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/97YghSJZr9g/maWh6/avw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uE+8mMLP1T8UK6HPQzTJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T3YlblN34L8ZNFvSiRvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIVJEBju679R7V5cfZngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G7lJbvNpyj/QIu5yl1XPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7q9N7g/k0z+JIt08B4LXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"77C2v/zZm79q1j//pF7evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A1YHCGYKuz/Fywadaszdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cnhwwTwY7z/VmKHXccSYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"////////7z+QJ+UAsenDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jYPnVX36wb/rJ9gfcSPnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ErndiHykvr8CEJhb3j3lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5fh6YKiF67/1h6E9sdW2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M9nCVODJ4b/Bdyg56OfBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dkJmprXT5L/DrAHJLeTDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CahDG9WLx7/cXLCh1U3jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cr9QumM4tr+dG0NkDOrmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jhfhxbjKqz+am/PRzqLgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bDO4LuPk6b/VQhTERzDgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W0OZiiGF4r9e7qvX/cHLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2dma1Rwp7j+UUmqqz0a3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1301,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hV4VtYZ90D9+5U10JfTSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1302,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SGu1YsqO2T8ibSEgoMfKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1303,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QOk5P3Rd2j8pp9V5Y7jPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1304,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sTa6tgEd1b+6roIfLsPFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5362\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5359\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5360\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5361\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"index\",[1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5363\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5364\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5376\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5369\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5366\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5367\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5368\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[50,1,60,1,40,1,40,1,50,1,40,1,50,1,50,1,90,1,50,1,50,1,40,1,50,1,40,1,1,90,1,60,1,40,1,110,1,100,1,50,1,60,1,40,1,60,1,60,1,60,1,60,1,40,1,60,1,40,1,40,1,60,1,60,1,40,1,40,1,40,1,40,1,90,1,50,1,1,40,1,40,1]],[\"start\",[1253,1253,1254,1254,1255,1255,1256,1256,1257,1257,1258,1258,1259,1259,1260,1260,1261,1261,1262,1262,1263,1263,1264,1264,1265,1265,1266,1266,1267,1268,1268,1269,1269,1270,1270,1271,1271,1272,1272,1273,1273,1274,1274,1275,1275,1276,1276,1277,1277,1278,1278,1279,1279,1280,1280,1281,1281,1282,1282,1283,1283,1284,1284,1285,1285,1286,1286,1287,1287,1288,1288,1289,1289,1290,1290,1291,1291,1292,1293,1293,1294,1294]],[\"end\",[1296,1304,1295,1303,1298,1304,1298,1304,1296,1304,1298,1304,1295,1303,1296,1304,1297,1304,1296,1304,1295,1303,1300,1303,1298,1304,1299,1304,1303,1299,1304,1302,1303,1300,1303,1300,1303,1301,1303,1295,1303,1301,1303,1297,1304,1302,1303,1302,1303,1301,1303,1302,1303,1297,1304,1302,1303,1299,1304,1298,1304,1301,1303,1301,1303,1297,1304,1297,1304,1300,1303,1300,1303,1296,1304,1295,1303,1304,1299,1304,1299,1304]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5370\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5371\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5375\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5372\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5373\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5333\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5346\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5347\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5353\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5352\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5354\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5355\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5356\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5377\",\"attributes\":{\"renderers\":[{\"id\":\"p5369\"},{\"id\":\"p5362\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5341\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5342\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5343\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5344\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5336\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5337\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5338\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5339\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5340\",\"attributes\":{\"axis\":{\"id\":\"p5336\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5345\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5341\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"39023269-fe49-4839-b660-213b13d64785\",\"roots\":{\"p5325\":\"f9f59cd5-e3e2-4ac4-9022-6d3bec7f1bc6\"},\"root_ids\":[\"p5325\"],\"notebook_comms_target\":\"p5378\"}];\n void 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": "p5325" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"34110149-5825-4cdb-a3cb-51d4c0f83e02\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5431\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5432\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5433\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5440\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5441\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5438\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5463\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5480\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4p+IRc0W6T8EUuD/8eCvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rE1HHt6I57/3FNY5wXajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gBU2X0Na5T+AUYuUhWPMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cvl6Cigy4z9weCgNZ3vSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dZvWoz1A5j/8+AxZqFeuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ukmam5v45D9OBuBz5e3QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WzHqPFaY6L86QtfnbV+0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2hWZOX0J5z/4HBPjslONPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AUBEMmp17j+rtY6piQHJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k9IzLFio6D/yDSpsM7qOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NosUiK4l6r8F9u4Rj/qwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BG3s4m3p57/mnfvI2gbbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bzD2s1NZ4z/TKipue5nMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dZBuH8qS6D8tIMsBBC/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ht5xPMvg779/UCwpW9e3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qcRhQ0736T/XmR9mxWHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bm5ALpUD47+807WAYW/Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ud2fRQlF6b+YvC6fS2HWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZJt+ssGO6b8xsY+EIi3bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MHGfcU0L778ZcevrE3nKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ooRyuVu36L97aU1pD1Brvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dN+SCcBF7b+GdQ529j7Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HP1vAVsW7j+qPZSIVlW3Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ydQvJR/G5L/Gz/hoFFvOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pQkN8EBJ5b9cLh08Kj7Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TMpBjEG477/v8AIMrzXQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eRq9oKQg5L+qNP8S9QrFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E59+aHkS7j+ZICKm9ALBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bJPBdpBb479FesEWcczPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QhuaL5246j8ECeEV6iPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nGlx/pPy5D8ygoW/qc/TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"drarlE2k7b9UxI5zng/Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lBbSmC9p7r/b/fKNsSzSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QvrVZBr47D9+/fANEHXFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UurYvFzl7z+AQMOvxnPDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mly8IyWn579XGkRCvr3Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZefC/Qm96r9NF2RusfDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IJuQr5OP5z8sydSllFq2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UJG67FAh6r+RmNl64YaRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D9WhdoPzqDUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R4zvztP96T9jHBRqnyXYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TpuxfBei6z/jEtrh6GbYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5468\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5465\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5466\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5467\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5469\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5470\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5482\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5475\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5472\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5473\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5474\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,51,1,1,1,1,1,51,1,51,1,51,1,1,1,1,1,1,1,1,1,51,51,51,1,1,1,1,1,1,51,1,1,1,1,1,1,1,41,1,1,1,1,1,1,41,1,41,1,1,1,41,1,1,1,1,1,41,1,1,1,1,1,1,1,41,1,1,1,41,1,1,1,1,1,1,1,1,51,1,1,1,1,51,1,51,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,51,51,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,51,1,1,1,1,41,1,1,41,41,1,1,1,1,1,1,1,1,41,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,41,41,1,1,1,41,41,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,41,41,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,41,41,1,61,1,1,1,1,1,1,1,1,1,1,61,61,1,61,1,1,1,41,41,1,41,1,1,1,1,1,1,1,1,1,1,41,41,1,1,1,1,1,1,1,1,1,61,61,1,1,1,1,61,1,1,61,1,1,1,1,1,1,51,1,1,1,1,1,1,61,61,1,1,1,1,1,61,1,41,1,1,41,41,1,1,1,1,61,1,1,1,1,1,61,1,61,61,1,1,1,1,1,1,61,1,61,61,1,1,1,1,61,1,1,1,1,1,1,1,41,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,41,1,1,1,1,1,1,61,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,41]],[\"start\",[1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1272,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1274,1274,1274,1274,1274,1274,1274,1274,1274,1274,1275,1275,1275,1275,1275,1275,1275,1275,1275,1276,1276,1276,1276,1276,1276,1276,1276,1276,1277,1277,1277,1277,1277,1277,1277,1277,1278,1278,1278,1278,1278,1278,1278,1279,1279,1279,1279,1279,1279,1280,1280,1280,1280,1280,1280,1280,1280,1281,1281,1281,1281,1281,1282,1282,1282,1282,1282,1282,1282,1283,1283,1283,1283,1283,1283,1284,1284,1284,1284,1285,1285,1285,1286,1286,1286,1286,1286,1287,1287,1287,1287,1288,1288,1289,1290,1290,1290,1292,1292,1293]],[\"end\",[1280,1282,1283,1286,1287,1290,1292,1293,1294,1255,1256,1257,1258,1260,1261,1262,1265,1266,1268,1275,1281,1284,1285,1288,1289,1291,1259,1263,1264,1267,1269,1270,1271,1272,1273,1274,1276,1277,1278,1279,1280,1282,1283,1286,1287,1290,1292,1293,1294,1256,1257,1258,1260,1261,1262,1265,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1257,1258,1260,1261,1262,1265,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1258,1260,1261,1262,1265,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1260,1261,1262,1265,1266,1268,1275,1281,1284,1285,1288,1289,1291,1263,1264,1267,1269,1270,1271,1272,1273,1274,1276,1277,1278,1279,1280,1282,1283,1286,1287,1290,1292,1293,1294,1261,1262,1265,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1262,1265,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1265,1266,1268,1275,1281,1284,1285,1288,1289,1291,1264,1267,1269,1270,1271,1272,1273,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1267,1269,1270,1271,1272,1273,1274,1276,1277,1278,1279,1280,1282,1283,1286,1287,1290,1292,1293,1294,1266,1268,1275,1280,1282,1283,1286,1287,1290,1292,1293,1294,1268,1275,1281,1284,1285,1288,1289,1291,1269,1270,1271,1272,1273,1274,1276,1277,1278,1279,1280,1282,1283,1286,1287,1290,1292,1293,1294,1275,1281,1284,1285,1288,1289,1291,1270,1271,1272,1273,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1271,1272,1273,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1272,1273,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1273,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1274,1276,1277,1278,1279,1281,1284,1285,1288,1289,1291,1276,1277,1278,1279,1280,1282,1283,1286,1287,1290,1292,1293,1294,1281,1284,1285,1288,1289,1291,1277,1278,1279,1281,1284,1285,1288,1289,1291,1278,1279,1281,1284,1285,1288,1289,1291,1279,1281,1284,1285,1288,1289,1291,1282,1283,1286,1287,1290,1292,1293,1294,1284,1285,1288,1289,1291,1283,1286,1287,1290,1292,1293,1294,1286,1287,1290,1292,1293,1294,1285,1288,1289,1291,1288,1289,1291,1287,1290,1292,1293,1294,1290,1292,1293,1294,1289,1291,1291,1292,1293,1294,1293,1294,1294]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,1.0,0.25,0.25,0.25,0.5,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,1.0,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5476\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5477\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5481\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5478\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5479\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5439\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5452\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5453\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5459\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5458\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5460\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5461\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5462\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5483\",\"attributes\":{\"renderers\":[{\"id\":\"p5475\"},{\"id\":\"p5468\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5447\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5448\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5449\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5450\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5442\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5443\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5444\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5445\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5446\",\"attributes\":{\"axis\":{\"id\":\"p5442\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5451\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5447\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"34110149-5825-4cdb-a3cb-51d4c0f83e02\",\"roots\":{\"p5431\":\"adda7871-a79f-4564-b36e-5e9802865591\"},\"root_ids\":[\"p5431\"],\"notebook_comms_target\":\"p5484\"}];\n void 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": "p5431" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is also possible to combine both nesting techniques.\n", "We could first nest the class `ClassRoom` into `School` using `stick_together()` in order to get the composition wanted for `ClassRoom` and then use `nest()` to nest further locations into `School`, as it is done in the next example:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom\n", "\n", "\n", "class SoccerTeam(p2n.LocationDesigner):\n", " n_actors = 11\n", "\n", " def nest(self):\n", " return \"School\"" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[\n", " ClassRoom, # nested into School using `stick_together()`\n", " School,\n", " SoccerTeam, # nested into School using `nest()`\n", " ],\n", " clear=True,\n", ")" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"67cd69c1-a2f1-47c1-b991-f32ca362397c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5527\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5528\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5529\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5536\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5537\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5534\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5559\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5576\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"byzOy5XF479hACFTlWDHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9gdK9xF+1z8r1pBlo7bLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kbrVw5I9u7+gr91tjQLUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G2vvKEEVzr8NiLs8Az3Tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ENVoX7sV4b+frDbJDWvCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SjuoIVRKy7+SIfC+9DfXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P5LAvVFAqb+giH5qVnTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7C9UqSsy4b+R6IxOOJq2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A/76Ucd8tr8lk2BFR+7RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+nrJEj9K4r/XC7h5YETGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FhRIVtVUvr8Ymf6B7xTZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0wczNosq4D/pkxIBFcbiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M4v5yft35L/XmzsEiWXBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EaH5xeQgtD9qWMdZ+M3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K/eYOBOc4j8LQCJIZhHXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"brYcHAWU1b8yIwXWIVHmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"niXItl6Yrz/q26cOnCroPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c94ojuZh4D+0e5kaEcPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HdOZ9xVRxr+Ao9g2ilbRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4DQrrZiKwT/OoX+Qwsbivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aclHKNJgxL8uBvgPff/VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5MAerMi80z8LSKPUcZjHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rw/0Oili1b9CGnYHQnXqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AFoBrOJr4j8z5mkxjtjfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uFru7UiamT9jYeft7HDqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R6LgLHRV0T/XSEtgBurRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vZTNV13swD8OgvQg92PrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tvyz73Iv2L9ZPlClCRnpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YzeqpAtWwT8lAyAyl5fpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a+Us6NAtuT9oqrDA03zlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lERQjBivv7+LKylySTLZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r5kCzbbC1D9Md3PcqMzTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p44BWiO81z9PdUrcWF7SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sjbzqyLP0b/uEz/LRqnpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tCHCtwaCz785F5jeTbfovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qPs1kTbM4T8AG/Z0HxvkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wGoNSUyC4z9PwOK0C1LjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kXwoaNsutD9MPvS6gHfrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gih5GE0xsb9mFMI+JVzZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tvmmLfNtyb8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tFwenupzyT8Nqo/D1P7kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lMGXOtJPwz/ZdKxrkxnmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1347,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v6YPyhZQvb/kfX1VaW/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1348,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eCgbBXTe4r/jx8Zf9n27vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1349,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mqnpKboL1L/eqIfr5Arovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1350,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IsYDFf3DxL+3SGyiORPUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1351,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kfoviv+Owz9rEivpl7zjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1352,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+7WszKYc4j9+Ja4upq7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1353,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z8flAWiI1D+rPxJm8jLPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1354,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i41MHJ9BtD9ab4WtHhzqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1355,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3lLIq2HAzD8QWArb/17gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1356,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BVKEDyqK0L83foHs5Prfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1357,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Aax/mP/Z2L/cHS/1NS3Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1358,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qmj+0XZPsb83HoUhZBHpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1359,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WFaYWImuyz8gZMtWu27bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1360,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y+ULswfV0D/8Hph1wdnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5564\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5561\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5562\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5563\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\",\"SoccerTeam\",\"SoccerTeam\",\"SoccerTeam\",\"SoccerTeam\"]],[\"index\",[1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#aec7e8\",\"#aec7e8\",\"#ff7f0e\",\"#ff7f0e\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5565\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5566\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5578\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5571\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5568\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5569\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5570\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[50,1,1,60,1,1,40,1,1,40,1,1,50,1,1,40,1,1,50,1,1,50,1,1,90,1,1,50,1,1,50,1,1,40,1,1,50,1,1,40,1,1,1,1,90,1,1,60,1,1,40,1,1,110,1,1,100,1,1,50,1,1,60,1,1,40,1,1,60,1,1,60,1,1,60,1,1,60,1,1,40,1,1,60,1,1,40,1,1,40,1,1,60,1,1,60,1,1,40,1,1,40,1,1,40,1,1,40,1,1,90,1,1,50,1,1,1,1,40,1,1,40,1,1]],[\"start\",[1305,1305,1305,1306,1306,1306,1307,1307,1307,1308,1308,1308,1309,1309,1309,1310,1310,1310,1311,1311,1311,1312,1312,1312,1313,1313,1313,1314,1314,1314,1315,1315,1315,1316,1316,1316,1317,1317,1317,1318,1318,1318,1319,1319,1320,1320,1320,1321,1321,1321,1322,1322,1322,1323,1323,1323,1324,1324,1324,1325,1325,1325,1326,1326,1326,1327,1327,1327,1328,1328,1328,1329,1329,1329,1330,1330,1330,1331,1331,1331,1332,1332,1332,1333,1333,1333,1334,1334,1334,1335,1335,1335,1336,1336,1336,1337,1337,1337,1338,1338,1338,1339,1339,1339,1340,1340,1340,1341,1341,1341,1342,1342,1342,1343,1343,1343,1344,1344,1345,1345,1345,1346,1346,1346]],[\"end\",[1348,1356,1357,1353,1355,1359,1350,1356,1357,1350,1356,1357,1348,1356,1357,1350,1356,1357,1347,1355,1359,1348,1356,1357,1347,1355,1359,1348,1356,1357,1347,1355,1359,1352,1355,1359,1348,1356,1357,1351,1356,1357,1355,1359,1349,1356,1357,1354,1355,1359,1352,1355,1359,1350,1356,1357,1351,1356,1358,1347,1355,1359,1353,1355,1359,1349,1356,1358,1352,1355,1359,1354,1355,1360,1353,1355,1360,1354,1355,1360,1349,1356,1358,1354,1355,1360,1351,1356,1358,1350,1356,1358,1353,1355,1360,1353,1355,1360,1349,1356,1358,1349,1356,1358,1352,1355,1360,1352,1355,1360,1354,1355,1360,1347,1355,1360,1356,1358,1351,1356,1358,1351,1356,1358]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.42857142857142855,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.14285714285714285,0.857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5572\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5573\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5577\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5574\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5575\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5535\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5548\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5549\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5555\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5554\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5556\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5557\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5558\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5579\",\"attributes\":{\"renderers\":[{\"id\":\"p5571\"},{\"id\":\"p5564\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5543\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5544\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5545\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5546\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5538\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5539\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5540\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5541\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5542\",\"attributes\":{\"axis\":{\"id\":\"p5538\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5547\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5543\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"67cd69c1-a2f1-47c1-b991-f32ca362397c\",\"roots\":{\"p5527\":\"b08699b1-4d6c-46b7-9de0-fd9b61711bd1\"},\"root_ids\":[\"p5527\"],\"notebook_comms_target\":\"p5580\"}];\n void 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": "p5527" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"a4ac215a-a937-471b-95f8-8f7b7088ad53\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5637\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5638\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5639\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5646\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5647\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5644\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5669\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5686\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5W0UtkYH3T/8CNRvf+TnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tNVZHvhd5r9VISBANR/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"51+xf//I4T+OeCxCI/brPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8cmzQoDQ3z+3IVpP2YXsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RmeRzG3l3j+OEuFditTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qupdn/504D+Uvuhy9lvuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iTZRTyiX2r9LVtF03Qfqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ctf8K8pC3T+x0U5VbTXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8l3o7e2z3r9n7GDTNkPpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D0FPj/Qx2T+lvs4VqkbnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QGMBPQjU3b/p59YgCO7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jVBB0CUq67+p/kX7sLHnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aZOx78Mg2j/sD84OqhnlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wEUap71b5D8+gLZHZyrjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bjJgrA9f578AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lRu6sXhP5z8pKr9Upj/pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vJPAWQ5F4r8OL02Gibzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kc8Y+Pth6r+K3QI50dTlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SHQx4mdx4j8dG0xWTG/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O1UZvBSW5z/jAf9cxtPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YTXNm4Mz3L8jWp58Wnrsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/1Tf3J6e5L+InYvbbTnsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nxGleUM56z/NNlXyqJzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MRBYNSAl6b858ZwgsF3nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lWUfmkZo478/opdAXA7hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+ffpeVkq5L86KjwAoQHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LRxOu39K4r+sc5TZ9/Dhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s7V20b/g6D/WSxgiwMPnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jkjnh+xn4L/uai9BPOLivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Hnd4Nabj5j/WugKvhebjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9EEmn37H4z+bdAdLYZ7sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l0Z9yxia5b/sc+misA7pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nNftq6a/5r9N/kxbtl3qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cw1drv9+6j9o33o1X6jmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZiyKdGis6T9uPiQo4NDpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tbldc7mh6L/ZFjr4dozkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FvxfcpPd6r8eDlfh/Arkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aOM+WJp84L93CZYRU93gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ty9fB51K4L+7X/BNb/Lrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/q0crRIi6j9KvaGqH7/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VrSaQ0FB5T9mCK/iVTPhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N6liHKdy5z9VejPawD7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5674\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5671\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5672\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5673\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5675\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5676\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5688\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5681\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5678\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5679\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5680\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[2,2,52,2,52,52,52,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,62,2,1,61,1,1,61,61,1,1,1,1,42,2,42,2,2,2,2,2,42,1,1,1,1,41,1,1,1,1,1,2,42,2,2,2,2,2,42,1,1,1,1,41,1,1,1,1,1,2,52,52,52,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,42,1,1,1,1,41,1,1,1,1,1,52,52,2,2,2,2,52,2,2,1,1,1,1,1,1,1,1,1,51,52,52,2,2,2,1,1,1,1,1,1,1,1,1,1,52,2,2,2,2,52,2,2,1,1,1,1,1,1,1,1,1,51,52,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,52,2,2,1,1,1,1,1,1,1,1,1,51,2,2,42,2,2,42,1,1,1,1,1,1,41,41,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,41,1,1,41,1,1,1,1,41,41,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,1,41,41,1,1,41,41,1,1,1,2,2,2,2,61,1,61,61,1,1,1,1,61,1,2,2,42,1,1,1,1,1,1,41,41,1,1,1,1,1,1,41,1,1,1,1,1,2,2,42,2,2,2,2,42,42,2,2,1,1,1,1,1,1,1,1,1,51,2,1,61,1,1,61,61,1,1,1,1,42,2,2,42,42,2,2,2,1,1,1,1,1,1,41,41,1,1,2,62,62,2,2,2,2,62,2,2,2,62,62,2,2,2,2,62,2,2,2,2,62,2,2,2,42,42,2,2,2,2,2,2,2,62,2,2,2,2,2,42,42,2,2,2,2,2,62,2,2,2,2,2,2,2,2,42,2,2,2,2,2,2,42,2,2,2,2,2,2,2,42]],[\"start\",[1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1322,1322,1322,1322,1322,1322,1322,1322,1322,1322,1322,1322,1322,1323,1323,1323,1323,1323,1323,1323,1323,1323,1323,1324,1324,1324,1324,1324,1324,1324,1324,1324,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1326,1326,1326,1326,1326,1326,1326,1326,1326,1326,1326,1327,1327,1327,1327,1327,1327,1327,1327,1328,1328,1328,1328,1328,1328,1328,1328,1328,1328,1329,1329,1329,1329,1329,1329,1329,1329,1329,1330,1330,1330,1330,1330,1330,1330,1330,1331,1331,1331,1331,1331,1331,1331,1332,1332,1332,1332,1332,1332,1332,1333,1333,1333,1333,1333,1333,1334,1334,1334,1334,1334,1334,1335,1335,1335,1335,1335,1336,1336,1336,1336,1336,1337,1337,1337,1337,1338,1338,1338,1338,1339,1339,1339,1340,1340,1340,1341,1341,1342,1344,1344,1345]],[\"end\",[1307,1308,1309,1310,1312,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1311,1313,1315,1316,1319,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1308,1309,1310,1312,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1309,1310,1312,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1310,1312,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1312,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1313,1315,1316,1319,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1314,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1315,1316,1319,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1317,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1316,1319,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1319,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1318,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1320,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1321,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1323,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1322,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1325,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1324,1327,1332,1334,1335,1338,1339,1344,1345,1346,1327,1332,1334,1335,1338,1339,1344,1345,1346,1326,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1328,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1332,1334,1335,1338,1339,1344,1345,1346,1329,1330,1331,1333,1336,1337,1340,1341,1342,1343,1330,1331,1333,1336,1337,1340,1341,1342,1343,1331,1333,1336,1337,1340,1341,1342,1343,1333,1336,1337,1340,1341,1342,1343,1334,1335,1338,1339,1344,1345,1346,1336,1337,1340,1341,1342,1343,1335,1338,1339,1344,1345,1346,1338,1339,1344,1345,1346,1337,1340,1341,1342,1343,1340,1341,1342,1343,1339,1344,1345,1346,1344,1345,1346,1341,1342,1343,1342,1343,1343,1345,1346,1346]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.75,0.25,0.75,0.75,0.75,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.125,0.875,0.125,0.125,0.875,0.875,0.125,0.125,0.125,0.125,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.25,0.75,0.75,0.75,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.5,0.125,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.75,0.75,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.75,0.75,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.75,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.75,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.25,0.25,0.5,0.25,0.25,0.5,0.125,0.125,0.125,0.125,0.125,0.125,0.375,0.375,0.125,0.125,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.375,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.375,0.375,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.125,0.375,0.375,0.125,0.125,0.375,0.375,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.875,0.125,0.875,0.875,0.125,0.125,0.125,0.125,0.875,0.125,0.25,0.25,0.5,0.125,0.125,0.125,0.125,0.125,0.125,0.375,0.375,0.125,0.125,0.125,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.25,0.125,0.875,0.125,0.125,0.875,0.875,0.125,0.125,0.125,0.125,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.375,0.375,0.125,0.125,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5682\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5683\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5687\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5684\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5685\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5645\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5658\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5659\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5665\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5664\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5666\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5667\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5668\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5689\",\"attributes\":{\"renderers\":[{\"id\":\"p5681\"},{\"id\":\"p5674\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5653\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5654\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5655\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5656\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5648\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5649\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5650\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5651\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5652\",\"attributes\":{\"axis\":{\"id\":\"p5648\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5657\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5653\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"a4ac215a-a937-471b-95f8-8f7b7088ad53\",\"roots\":{\"p5637\":\"ecd80884-1507-427b-a774-aa27b1503eae\"},\"root_ids\":[\"p5637\"],\"notebook_comms_target\":\"p5690\"}];\n void 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": "p5637" } }, "output_type": "display_data" } ], "source": [ "inspector.plot_networks(location_color=\"label\", actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This way we can nest multiple locations into one level-2 location and at the same time ensure that the composition of actors defined in `ClassRoom` is met in each school.\n", "The order of the locations plays a crucial role:\n", "1. The classrooms with the desired compositions are created\n", "2. The schools are created keeping together whole classrooms\n", "3. Soccer teams are created within the schools" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Integrating networkx graphs\n", "\n", "One great features of Pop2net is that we do not have to forego classic network models because networkX graph (generators) are easily integrateble.\n", "To build a network component based on a networkX graph or networkX graph generator, we only have to set the LocationDesigner class attribute `nxgraph` to the desired graph (generator).\n", "\n", "In the following example, we define a location class that creates a small world network from a networkx graph generator:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"8052d016-fbbe-4d2e-844b-6622982304e6\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5733\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5734\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5735\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5742\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5743\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5740\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5765\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5782\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s4I358UowD+19BLsyZ/VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qwdmRGSblr/vxHcAQ8/TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WJVKCc7myL/1pTOWZYjVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JyfP3WGp1L8NGJicUgnRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U5S9MMRF379OtcCQ/2PWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ErPPXVXH3L9lokUDV/TUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9QcGGPy+4b+AhjnL1xbiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/4Y34qov3b9Q6l45J2flPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cd0IKKJ52L9aRgD8O3DpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/sW5587+zb8X4NoLoXzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"95IZzJ25tb9kTj7kCoDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I7X+8mnlrD80a2QOptjuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IFnNO7UWyj/hN5j/PXzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BJieDOC7zz/+w4PH60PoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aqTD+cK10z+aoGjErg7jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F+WHE9hpzj+fP5dqaIbZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F/h1XGzOzT/NeaUsejrHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aSognuvbxD+gB2zXtR6ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jXYImRNIyj9vB4t8LufRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zji8s/ukyD/scuTOGU7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MT8Msoej1T/l4mPSxHDlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rjy/B9au2T9MNBWRHpHlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tC17EUOE4T8ttKgyRu3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bIFn+QTw4T/CrZ8um/jgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IlgAviC72D+7hKjxicjfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pmwn5NGwzT+Klw87GYrTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q9MBi+mfmr/gW2r1GCXRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fv1x/Ptbyb8wYy20xemwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DGSCV2RO3r9kL7rxGubBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TTsrALFx6b9lXu3KbG2zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rc3zticU6r9VR3q8gYvCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kTFgRp357L+coGFXcKbOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vZS4yngg6b/YmohvH8XWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b77n4BfN5L9y4TvpmUfZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R4CmNAAj3b8tj02zKUHfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XzZTfvSwzr+N7J1pR1/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gAEOjTrFlL/DXF2PGpHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AUo9mjqnxT+O0lxe01/evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gHlaeq072T/aEX5s3wXcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0qKvM5CA4T9chzTBR6HTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hjZ43rrt4T9N3ux/FenJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"486tad/73z+gNc3NSWbCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J3TsbAiP1j+vRh8K0gnUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nEo3atU80D83pDQi0zfPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QesSTo0TuD+5QHCXYmvVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IhtBcfEdyj82mgYMDLnOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2FpSsIn9tT8hs/oNT0/Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PQnKL6dq1T9kzmHpOGuQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DfnSbpG90z/rxyMRaR3DPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NskXsg7T0j9twOm7S9vQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dyLONtZ75D9OsOEgcYDNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nsd644Mmzj9SXFUfyVLUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LdMMNIJL1b8pyac4TzXsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TOfo2m3x1z874qXzXQfZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3L+A5a2Z1D8bhPYvlGrmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PbLKeQ+pyj9fCx1OL0DWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bhvXfo/iwz88OU+SdonvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+j7wQ0Vg0L9/LDE0K13Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9YQT2fGksD+PUHsReJ/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HjGmxKTRwT9qgT/zJNfSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n6a6RfhP1r8S/mvkdhTpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6bdfNqmc7b+wHWwMvILFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ixoG9WLFzD/B3zGuGb+uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7euK6Zto2D9F42pTQ17ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[64,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OSdyvmcX4z8Ta1vBaa3Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[65,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g5Oc75IBxT8V1aU8bzrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[66,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xxcqVsXp5L9+hixW7ffBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[67,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/pRCbVt54b8oWAdHzXPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[68,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fkVbxAhN4r+8SjEvVBTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[69,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1nZZapJ/yD8Mkbti/+bGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[70,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kYwENboskb8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[71,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hbXQ+T5I1T9JOQZhezPavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[72,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FQ/7dnN94D/BlscIQwrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[73,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a67kfGCi3D/x9vXlbkbKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[74,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5ZnV0N8BwT+m/zJLYBvWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[75,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zq4u5uGV0T9hOqge647rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[76,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OzNzfyzN7L9K+RPoxIHAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[77,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JzN9rvzk4L/1BULZ2qbcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[78,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SzfLGDoGxj+Mg9tplA7bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[79,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TDrCOmY+6L9+RAl6OtDavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[80,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GZqfJvHgxD/nF8ivAyTSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[81,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hG7uUogy0T/VROrxe4/fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[82,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jpJZ9cxpz7/WlVI2KBXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[83,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"byK2Gy/asT96kTTjbTfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[84,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S8GPZiaewT+7VoUNmIjTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[85,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bQzoQU3P3z+5zx65Bz7ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[86,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b1W2ipvX679jUikFm+2xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[87,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VY75NblNqT/bivXU/nLXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[88,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N5/DNZuM3z9U6uw7B/Pjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[89,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O0jmqtiB2j861nsuc77Ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[90,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CRzEvqHLxb9O75oo4H7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[91,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wtwj44lU1r/tMT03BPTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[92,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O+gp3XWuzj9YIs8OFLvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[93,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"85Ra29LTiz/1QA3/bknHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[94,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EkxFkSBH0z862kSC3qLfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[95,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r9ulzFrbwL/v8ldJVyTGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[96,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sG0Xb2FR1r8RdWG/hNi5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[97,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XznGJrmZ1D/Ct9xiwC/Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[98,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s7zuTFe40j8hR17Oup++vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[99,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OnsWssmB4r8QxcEwuZPevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L363iNWE5L8/DcU3nwi4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"35t5ORUY2T+5A6B6oBa5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3S2UZYwbyD8pAFniW/LYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yo1dEHjWob86sJQd9nzWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+VAxzc9C2D8Z5+rJMlLGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u7dbOuseyz+f84CUP4qmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0hsSUjBn1b/Uu8u3qT7APw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lk/PXJhut7+ZIrz/MHnuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wsed8ek45L9NRh41voTbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UNfI9lYq2D/6UQS/PCXOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hfrexWTS4b8XG9/y2brkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"puVLWNvs4D9NqABHlIfZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hwe2JzB7p78kdq+GGxTdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"APvMsfCb2D9lQuRhKWTgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3k75R72i37+sQ86cCjrmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t4x6mGbI7L+/oPWIU13Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ddNDJHIL3b+tVK6QIZ7Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I+eOrQOdzj90FlVG87HQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aGhwbuiv3b+UX9kIJaPoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tPBP/nj43b/JLQvhHS/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2fv5BgHduT9wuXcFX4DRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4yXtMPjp1r8STiDnueXdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cP7HEVYe2r+d7+2onZDSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4GxCzO+lzz8nYQjac3zTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QdCLjdhaqT8Ojec6FrLOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jJhWSMUuzz95WCyHR+HVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dR5A8TRF0j/0gkGwTmrZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NSyksqXO4z8l4121V8nkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YgSKJyri6r9FXkcvCSrQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xIeFHRcazr9hViai8HzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gehreBChyT8BCtEIPmjgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LMokrTBIyj+giwwXBk6PPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/L7DNZ9J1z8G8A+W+HXDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9aXhV5gVxz/Qk01hfM2zPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pgTu18zX3D9E8V9nyRHovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4foJQiDA0b9EqX861sDUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FkjP7nJV2z/yL0x0OVjavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mrPSf2P60j/LS2nK72TgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gX/1HBYYxT+fAFLJJ1bEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hrcvxJBVxr8XqbesXYvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TRloYTde4D89J0opvYnhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lc2oQ/b7zz8IiKSY6OXiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mjvnEyKs6b8eYokJEgrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6XBZI1vcvL84wjS3a7/VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwmMsIJh0j+0QIOv+Fjkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PJR75Ggp0j/ms2dKXEzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2KlseI/Ztr8YVw44nRrRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hQbaOrehwD9tB9ZeNd/Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LnCClXM74j9s74VznAy4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kifCshdO3L8T1Y9Gbp3RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5770\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5767\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5768\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5769\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5771\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5772\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5784\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5777\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5774\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5775\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5776\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49]],[\"end\",[87,103,117,125,59,87,139,143,91,103,135,143,122,135,139,149,67,68,91,149,67,77,106,119,122,68,77,110,114,60,110,118,119,52,114,118,129,52,60,90,107,58,70,90,129,56,65,70,107,56,58,75,145,54,65,75,141,54,126,137,145,69,123,137,141,105,123,126,133,69,80,133,138,78,81,105,138,78,80,92,144,63,81,92,134,63,85,113,144,85,88,127,134,127,136,140,71,88,102,140,71,93,120,136,57,95,102,120,93,95,96,106,57,66,96,100,76,86,100,61,66,86,128,61,76,115,142,79,108,115,128,79,99,116,142,82,99,108,121,112,116,121,146,82,83,130,53,83,94,112,72,94,111,130,50,53,64,111,50,72,73,148,64,89,104,148,55,73,89,97,113,51,84,97,104,55,74,84,124,51,74,98,147,62,124,131,146,147,62,98,101,132,101,109,117,131,59,109,125,132]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5778\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5779\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5783\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5780\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5781\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5741\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5754\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5755\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5761\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5760\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5762\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5763\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5764\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5785\",\"attributes\":{\"renderers\":[{\"id\":\"p5777\"},{\"id\":\"p5770\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5749\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5750\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5751\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5752\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5744\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5745\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5746\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5747\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5748\",\"attributes\":{\"axis\":{\"id\":\"p5744\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5753\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5749\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"8052d016-fbbe-4d2e-844b-6622982304e6\",\"roots\":{\"p5733\":\"abb4ee0e-9d03-4095-abb6-a400d353cc16\"},\"root_ids\":[\"p5733\"],\"notebook_comms_target\":\"p5786\"}];\n void 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": "p5733" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7d643e43-d000-4e37-8761-b6c44f5fdeaf\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5937\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5938\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5939\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5946\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5947\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5944\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5969\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5986\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dDqv5ehG4z81yWLgOFvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pz+1HtDA3z/aH5xya2vtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xsp7D8Mt1z/dOqhbcmXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F+tYwSdSyD/sX1zAqZnuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TOrw0OrzsT/yOhU2QPbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xqPsfXkzxL+yRrY04Ynpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ye1QRZpKqr/5GBNiImfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nVsWxlsAwL+AGdRvl6Xivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zcH1uAzMtr+PTFvywRzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"po2tuSAuvb+Mt0DPoX3Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aKi+Xdk2u7859Qtb6Ni3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rYbuOotgvr/kM/qdBWO2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3yjIhsg3wL/AGjlJq0bSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RNz1fIaUwr++7+JnTIPdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+0SALwfuwb80UZMidlzkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"USjcKKL6wL9jU5Hl/FXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ugC7UGnvxb/7hJ2EI03tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XaIH4EiHzL8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6r+pfwTb1L/80SUI+dvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D+SzP45xzL/WAsFlWyvpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3HzNrXRG078v/eYg//3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b9QP92FamL8V+itttVzgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"us/WdjuZ2b/5p0gGH87SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DjJTGkmx4r8YR2oen5+YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XGp1gxEZ479ZjVVOAuayvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zAsskTha5L/MeZwFRB7Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DJidzQxg5r/RKMtCAC7Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QNVoPK6s4b/8gX4RBTvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ROoURQBE6r8bjZoP+NPUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"urYrEi9c7b8h2EXhzfC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ORS2U0Re6b++uLvfQI2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X0ERj/Cx5b/hFayLxvGoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wFG5qhzo37+NBR/HXUu6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GMAcKhmZ0r8bZhDUtq21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i8+MWa2Dvr/icfkKKwjHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L25oSjcdxD8IhELgP6qyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tl9cSFAoyD812oRHKX3XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b/C5Qxbq1j8Gxc84gyHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MtShE7kp3D/74s1X/2LgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pXMU0j944j8/Chij4BjgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tHelSubz5D8ypyKY2lrhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k+RBfadC5z/mfWTwZobaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/tokK4S03z8+QVL+OxbXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"II8boJzK5z+7sF2LE6rJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"scVct09W5T8gCgA6gf+zPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rdM5uydo6D9FLlCgfte2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ld8pEoAC4j/Yuca9LXbGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mb81Oiij5z/h093kg2rYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dPJ5rTSI5T+AA+YS9a7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1CyuwIsx5j8+2IhuAx3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5974\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5971\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5972\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5973\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5975\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5976\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5988\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5981\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5978\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5979\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5980\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,1,1,1,2,2,3,3,4,4,5,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48]],[\"end\",[1,2,48,49,2,3,49,3,4,4,5,5,6,6,7,27,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,42,22,23,24,24,25,25,26,26,27,27,28,28,29,30,30,31,32,31,32,33,33,34,34,35,35,36,37,46,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5982\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5983\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5987\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5984\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5985\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5945\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5958\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5959\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5965\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5964\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5966\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5967\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5968\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5989\",\"attributes\":{\"renderers\":[{\"id\":\"p5981\"},{\"id\":\"p5974\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5953\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5954\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5955\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5956\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5948\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5949\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5950\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5951\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5952\",\"attributes\":{\"axis\":{\"id\":\"p5948\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5957\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5953\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7d643e43-d000-4e37-8761-b6c44f5fdeaf\",\"roots\":{\"p5937\":\"e1fab8a2-355d-4eb1-a5f6-4f957c796308\"},\"root_ids\":[\"p5937\"],\"notebook_comms_target\":\"p5990\"}];\n void 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": "p5937" } }, "output_type": "display_data" } ], "source": [ "import networkx as nx\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "N_ACTORS = 50\n", "\n", "\n", "class SmallWorld(p2n.LocationDesigner):\n", " nxgraph = nx.watts_strogatz_graph(n=N_ACTORS, k=4, p=0.05)\n", "\n", "\n", "creator.create_actors(n=N_ACTORS)\n", "creator.create_locations(\n", " location_designers=[\n", " SmallWorld,\n", " ],\n", ")\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see in the bipartite network graph, networkX graphs are translated into a pop2net graph by creating one location instance for each bilateral relation between nodes.\n", "Thus, actors are assigned to multiple instances of the `SmallWorld` location class:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SmallWorld\n", "SmallWorld\n", "SmallWorld\n", "SmallWorld\n" ] } ], "source": [ "actor = env.actors[0]\n", "\n", "for location in actor.locations:\n", " print(location.label)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get all neighbors that are connected to an actor via the small world graph we could do the following:" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EntityList [4 actors]" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "actor.neighbors(location_labels=[\"SmallWorld\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When building locations based on networkX graphs we still retain the flexibility of Pop2net and its LocationDesigners.\n", "For instance, we could create seperated small worlds for each group of actors or layer multiple network structures by defining multiple location classes:" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"575db2c0-5838-4e47-a428-2e959893f58f\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6041\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6042\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6043\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6050\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6051\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6048\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6073\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6090\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XWgF+H8hhT8FXrPJN5rNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I0neiGim1L/0zT6hlNfePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgoADoEUpr8pj3jofTzPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8mpRBwQc378b4VWMvE3kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CR50/rHZzL9uUAY1YSjSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YEz17d+h1r+p1MUHAKrmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"35n7mNhY17+LzSph7lDJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OQ27Pbdi1L/OPDEtQLPjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mq/CIZDb4L8HlrlJd4/EPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5WJ/fVmow787KZeQWhXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a3mjEMyw47+yonjVYfuVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zlj4bhFUrr9FjUnDJ6TePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4DPOvHt25r9wbW1S4vq3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lvhvpUa9vD+2CZSzSdHdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LnfLYUeq5b9jfachH3XQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FFl/xTdHzz9DDoIk7I3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iC52M2xv5L9+R5qOON/Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1YdKv9oD2D+H90GLIhvdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"51B7p0244b/HHw1xsEbhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7uKPbXGI4D+twT5BA17hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RbTW8bwY179aU3l2i3/jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yLqPKZ9w4D8rNor0xzPXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mqMcm6GV1b/EDwrAMMPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9gNIDOCL5z+oYte7NEbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hYxv93zryb9kJBQdC0/qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sj/pzian5z9tmtrnIKzfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z0hM+C4VuL/BH7PN/bjtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zIDki5YR5T8BRjavHC7fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8TyXdfWqqj8uQFUXNKjsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bt77kl+W5T8unWGrT7LUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+sqqvSxOwz/OqZEhlKzuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VG6LGSmV4j/69/4BbxbOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uTQ21Txovz9OzDxDYwLtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"47GZ/2JX4T/hQOFngmbAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nLp2wL98xz+5qHPzg9bpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCyhAT6I2T9jixFI+H+rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gq8skOuElD9femeg6J/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oUp/p9Xh0T/yDRhea2G8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k76VXr8Vzj8TkYqxQL3jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T+FLrnMktz95f/koW2Nuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FAdi5pY40D/mtMJxXg3gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fI3s6esksL98hxx+7meoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vyW0m1ig1T/B6fcsS6TYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tdCQMtMRy78LkWbYMUOsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g07LlLpv1T/Uus11r+HOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+UusAapj1r8A8LE1ACrFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6iJU87FSzz+Hcf21B/m1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"013565WM2b+G9wkOuffRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0r2ZiQ9Kyj+TSZ1RIQiuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h8z0AZCJ37+ld9st2+7aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sHwBDgtQur9aSRrPwDDRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oLPxj+oI4L+2VztXV068Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jBueCT1z5r9wzgrNsguRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ygNbvZNMwD9JSOLg1eDkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0LZVr+dB5L+pt2I8Phffvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"THiPhuM+xT8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M1M5DSqxsD8EVw2sfazpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JxMHQr1ulr/SSSndKrvuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FfVkb1AgzT/xEqdbfBnnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"71ZL/o9Muz+UJW+hlGDuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ijBKaVQH1D/MOwTvqYzFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SFxq2Xe70r++XM2uYNPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JL/bYQI9wT9v+nPiib/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LBzcNuER3b9HkUTO4zflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+80u2lRE4L9ghzb8+hfgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HjdE2JnT0r8JNxXj9THnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ieHOCSAL0z/dckNZns3Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hmwqFmja47+dWP0FB4/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YMhB7imK2D9OWYOyFbDUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vzVraaKhwT9vLKErLCm0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q3Et8IBJkz8hESk0CUPSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HUFNp6Sg0j/nZF2YlFu3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0xTG5RuS57/BVND9+w3Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WODOeXdPxb/8Fp4tTw/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"54QCOl3qwz8udVCbmpfrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x4+qj4Ft0z9ILvzKFzDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bXKoQXVMuD/qITdAkrDFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F/tU6PKK07/QT4UO7dXQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Liww01JH1T/dl3Q1FMPdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J9Y8YPNDxD8YwfG3VTrtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PuiZi7tYuT/wweugsgXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SorOvKfxy7+rIE/6ZX3rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1CXdCW5O5r9KV7l/7gXPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vyq7V1BS3r9Q08JO7Azjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SUtCHcHWyb+thNluHiHNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rg0Anfrh179v/rL10qPPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DnByPW7J0D+thAjLgfuTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t+tMWYgH0j+c0lSTWJXivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mtk7L481oD8KusyHXfruvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TEQEpW2Yvz8Qgd6ezRnEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F0NkwyeI479DNiQlnou8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FOdDGCFl5L9/wWu0dAuoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2qKnDMJEvr+WniZvxHzTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IXZ296gwyz9npIAX8bLsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LRoAqBqY5r9x0I5qvX3Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3FooJbGu0z96FlqJC2Pgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5sTdqRQi5b/snijTd6e9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+pFco+4Ns78tsu1KFZPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IHf6a85pxr+SDvhKpZfkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VNsuuLvh3b//1dQrvIbJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y4VPNUfP1r9KJ+RYrnnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P5AB4JeUyb+qxucSFSrhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yvzyicwxmD9ziTp1Y6ncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cg6IBN4qyD9b9B+S4SmjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EXw+L+dY3T+hs5UXYCfgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kIE66NWJ4j+hy4tFUkLEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"usV8geTF2j+ZHdNG5oe9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QAjZSh135T8kMHmjNr3aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ML2E4mdRzz8z45AkuQKBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o/P1i18z5D9it2rSOR3LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KibEXSDL2r+qJ0iu/u7KPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u0q/Z+Nm6T91V0TpNa/iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ci5/dsG0uj+Z0uRiHCuyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o/P/Gzkx5D+ct7KFZHDjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kegoUpKT3T+WD4FhtkvbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bGYNCp5V5D+ijN48EoHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KBwxOdj/07+vzDkMP2rEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mTo9E0Kg2D9N0a67XvLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/9x9Xj5z079hS0+6BeK0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oB1yK98m2L9ymS4TUi3ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ipGLvfnS2r/7Yo7OHEPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7P84hg5m3L+NUFOiE6PSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZrXrlVgzxz/BElgdAG/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6I4fYguC5j8mPuYxsFLhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0VvLKNLJ3z+DxlBUD9esPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Nhrjqw9y7+00vsIQ+O4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PlPow+/z4L8SJlVHPzHhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pOkoBXoM2L+lAHSMAKXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x/Fbtsj6wr/mYR/SkFeRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZNc6HZ8f5T/s67UsNtvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JPsBOcuC1j+mQSHL6GCzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t5IGvHf65j/GKn9DnaLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XdjactnKzz8ZfnPdD9jcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uOqBy65T4T9jUdgG5VPdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QxmyrHr62r+7qJKybx/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GNmqUWS9z7/eKC9suPrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rfd7voj83r9dufVvdnvWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DS5atw0Oaz8FgLpp7XeHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"86bqUFOO4z/pdTQS40fXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BWOcpc9627+TvgLr3avePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+Xk4q4vVu7+ZjflMmobhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hhcShmz/lL+sMlg4T/zgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M3tOLLEi3b/ZX1z2eyLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7E1CzuES4D+jBgbMZ3zBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"REPBHayc1D/UuNsWXWffPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iLpkvRApsb/Pa+FXoRVnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wMZujZUBtz+XYqcZayrePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W7KWhdhA5z9GIlgNXiLaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y2A9K1bV2T+6lvOUdFvOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jlo91j41z79rPG3KTM7jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"icX40KJkw785B4+lJ5rXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6078\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6075\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6076\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6077\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"Bridge\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"group\",[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"index\",[150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6079\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6080\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6092\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6085\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6082\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6083\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6084\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[150,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,154,154,154,154,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,162,162,162,162,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,167,167,167,167,168,168,168,168,169,169,169,169,170,170,170,170,171,171,171,171,172,172,172,173,173,173,174,174,174,174,175,175,175,175,176,176,176,176,177,177,177,177,178,178,178,178,179,179,179,179,180,180,180,180,181,181,181,181,182,182,182,182,183,183,183,183,184,184,184,184,185,185,185,185,186,186,186,186,186,187,187,187,187,187,188,188,188,188,189,189,189,189,190,190,190,190,191,191,191,191,192,192,192,192,193,193,193,193,194,194,194,194,195,195,195,195,196,196,196,196,197,197,197,197,198,198,198,198,199,199,199,199]],[\"end\",[200,219,220,239,300,250,269,270,289,300,220,226,234,242,270,276,284,292,200,227,235,242,250,277,285,292,201,227,234,249,251,277,284,299,235,240,241,249,285,290,291,299,201,202,240,246,251,252,290,296,202,222,232,241,252,272,282,291,217,222,244,246,267,272,294,296,204,214,232,244,254,264,282,294,204,213,217,233,254,263,267,283,214,215,233,248,264,265,283,298,211,213,231,261,263,281,211,215,223,247,261,265,273,297,207,223,231,238,257,273,281,288,207,209,229,247,257,259,279,297,205,229,238,243,255,279,288,293,205,206,209,224,255,256,259,274,208,224,230,243,258,274,280,293,203,206,212,230,248,253,256,262,280,298,203,208,237,245,253,258,287,295,212,225,228,237,262,275,278,287,216,218,228,245,266,268,278,295,210,218,221,225,260,268,271,275,210,216,219,236,260,266,269,286,221,226,236,239,271,276,286,289]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6086\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6087\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6091\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6088\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6089\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6049\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6062\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6063\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6069\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6068\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6070\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6071\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6072\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6093\",\"attributes\":{\"renderers\":[{\"id\":\"p6085\"},{\"id\":\"p6078\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
group:@group
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6057\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6058\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6059\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6060\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6052\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6053\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6054\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6055\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6056\",\"attributes\":{\"axis\":{\"id\":\"p6052\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6061\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6057\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"575db2c0-5838-4e47-a428-2e959893f58f\",\"roots\":{\"p6041\":\"f09db4f2-4cd5-424a-9522-187c77055675\"},\"root_ids\":[\"p6041\"],\"notebook_comms_target\":\"p6094\"}];\n void 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": "p6041" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"69c53e1e-7fe8-44e9-916b-78f719dbb1cd\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6246\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6247\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6248\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6255\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6256\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6253\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6278\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6295\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"urWTGBeY2L/GbR61Z3LePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VjhX/Qez2b9SYkfF2w/kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DpYTrlAt3r+vIVnRVnfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J++aZmc84L8XhNvE0dThPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lxsjTV1J3L9DDYlZLL3NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J7Us/mee479oFDjV8enaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mEqZfoeM2b9cqrLH4bO6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iO1DQXpa5r8F2Nj/rWrRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8MAjMcSe07/HJ/XccjlmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g3mdjroi6L8W6stdyUS8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RTO32BEuyL93nsZpuG+4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z2W0/kl66L9kNhyK0zCuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DRL1P3gPrL999wl6gBbDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CCWxmL+z57+hAUucKUjLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zzEffJhauj+1j/bo1BPOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vt9FvzQe5r/ZO/oKSufXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OXX+9I460T/hSf3kezfJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RN2Vwn084r8s1235S4Pdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hWmP4wSl3D/ccP0BDZ/Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tKB9RzcP37/tpo1IDK/jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XRrEyHIr4j8HEhectgC5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g2KCjP9Z0b9qekm3mLDgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LwdCc1NZ6D+2zI6660LSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s5Vnm9B50r++HDrXG+Xqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gSAW63vd6j8Zv3HD3abFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qaflIO15w7/Tsx3CBfjovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u1KcvFsW7z9Zz90E79fEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OUwJo2whp7+Y3PDolKfrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+4qhcdQ3Wkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"90BU97gdrz/sPq+DGrzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XTgtvQcF7z/HWXpAan6yPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SPqBy9ppwD/feC1LI3Hlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5heImyq+6z+xmxqq0WTCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IW13T+7wuz9Q2IdL7gLhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VTKojW6/6D+rF3mmjofQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tbCpWLkSxD+ryom7FXvXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7hfMAfJV4z/1Hs0mkbDLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8G49ETbYlj+BPLlaSY7Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m7qW4tsm4D90QDRdmkjZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l9XnDNu0vz+1+YganUaOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2xEGEhc21T/B49EvbUXaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fAw35QQwsz9LZo6iTXPEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eb/Ek3O2xz/baEyx2QvgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k2tXprw4tz/aIi5mt3HWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PY2zJjPeiD8FRcFh0TbfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iDifydhDgT+RNuOUxLDgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"arolCCsCv78D3vtCtknhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MLeTgjQIu79K8H/RUf/jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BugKr6GA0b9Bwc+9NhngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JcL/ZOUM0L9KaDs7S5/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6283\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6280\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6281\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6282\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"group\",[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]],[\"index\",[150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6284\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6285\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6297\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6290\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6287\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6288\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6289\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[150,150,150,150,150,151,151,151,151,152,152,152,153,153,153,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,174,174,175,175,176,176,177,177,178,178,179,179,180,180,181,181,182,182,183,183,184,184,185,185,186,186,187,187,188,188,189,189,190,190,191,191,192,192,193,193,194,194,195,195,196,197]],[\"end\",[196,198,151,152,154,197,199,153,155,198,154,156,199,155,157,156,158,157,159,160,158,161,159,160,162,161,163,162,164,163,165,164,166,165,167,166,168,167,169,168,170,169,171,170,172,171,173,174,186,175,187,174,176,177,175,176,178,177,179,178,180,179,181,180,182,181,183,182,184,183,185,184,186,185,187,186,188,187,189,188,190,189,191,192,190,193,191,192,194,193,195,194,196,195,197,196,198,197,199,198,199]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6291\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6292\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6296\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6293\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6294\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6254\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6267\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6268\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6274\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6273\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6275\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6276\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6277\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6298\",\"attributes\":{\"renderers\":[{\"id\":\"p6290\"},{\"id\":\"p6283\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
group:@group
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6262\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6263\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6264\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6265\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6257\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6258\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6259\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6260\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6261\",\"attributes\":{\"axis\":{\"id\":\"p6257\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6266\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6262\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"69c53e1e-7fe8-44e9-916b-78f719dbb1cd\",\"roots\":{\"p6246\":\"b2bac353-20f8-42c2-b7be-c485c7161a3d\"},\"root_ids\":[\"p6246\"],\"notebook_comms_target\":\"p6299\"}];\n void 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": "p6246" } }, "output_type": "display_data" } ], "source": [ "N_ACTORS = 50\n", "N_GROUPS = 2\n", "\n", "\n", "class SmallWorld(p2n.LocationDesigner):\n", " nxgraph = nx.watts_strogatz_graph(n=int(N_ACTORS / N_GROUPS), k=4, p=0.05)\n", "\n", " def split(self, actor):\n", " return actor.group\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.group\n", "\n", "\n", "creator.create_actors(n=N_ACTORS, clear=True)\n", "\n", "for i, actor in enumerate(env.actors):\n", " actor.group = i % N_GROUPS\n", "\n", "creator.create_locations(\n", " location_designers=[\n", " SmallWorld,\n", " Bridge,\n", " ],\n", " clear=True,\n", ")\n", "inspector.plot_networks(actor_color=\"group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Magic actor attributes\n", "\n", "When creating locations with the Creator class, the Creator temporarily sets certain actor attributes that provide information about the specific location to which the actor has been assigned and the position of the actor within this location.\n", "These temporary actor attributes can be used to address specific actors when defining a second location type.\n", "Each of the temporary actor attributes begins with the name of the location label.\n", "\n", "The following list shows all magic actor attributes:\n", "\n", "- `actor.LOCATIONLABEL`: An identifier of the location the actor was assigned to.\n", "- `actor.LOCATIONLABEL_assigned`: A bool which is `True` if the actor was assigned to this location class.\n", "- `actor.LOCATIONLABEL_id`: An identifier of the sub-location instance.\n", "- `actor.LOCATIONLABEL_position`: An identifier of the agent's *position* within the location. The *first* actor gets a `0`.\n", "- `actor.LOCATIONLABEL_head`: A bool which is `True` if the actor is the first actor within the location.\n", "- `actor.LOCATIONLABEL_tail`: A bool which is `True` if the actor is the last actor within the location.\n", "\n", "In the following example, we first create 3 simple clusters by defining the 'Cluster' location class.\n", "In the next step we select an actor from each cluster and connect them to the location class `Bridge`.\n", "To select only one actor from each cluster, we filter by the magic actor attribute `actor.Cluster_head` that was set when the clusters were created.\n", "This way, only the *first* actor of each cluster is assigned to the `Bridge` location." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7d408fbd-4847-4a58-9d44-329963732e5a\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6350\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6351\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6352\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6359\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6360\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6357\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6382\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6399\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"skVnqUrn1z8JpRCQlqe2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"39qUp2Rm7z+CwwmnBG7Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VU/y1A4B6D/bIDyk2ul4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CRAfv/B87j+W7lelD0Gqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"apXEL1nA6z9L0o8oznR5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dEeGMIzi7j891K1TqiHCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"esgpVgXY6j9XuXdDl47Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/rDpI1Ro5z/rXz/suV3Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n25kCNOD7T+tcvYq62zTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zrk30xy65D+ZZ3bXRCrLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7dGlYTgw079wjorGsE7Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YwIcl1CL57+/b6dB/VDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hem9AthE479WKj9ifHrevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uL2lu6Bn57+Uz396jjTgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"42/6hQGU379SvXYgklrpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ioF8PHgb6b+fyrErZkDmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IrrSM3Gr5L9BeaAQkO/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+h6zoEw9479Z9AjaCOPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FLNWw7Ya3L8/vLf37rnlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WImgti436b/uSL+qFwrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ay4b9wd7ub9h7y8X7CLYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PgcZVBVB0L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3z5io0Qx0b9NVuWB7PvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D93Q19dkrr9jANjISmruPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Kq2Sgyr1784C0LJiqDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQuaPCYEw7+P3JqGv5DvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v5yA7dUygL/efxEwIo3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xT9MCXip17+VxyW0deDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c5enJRtX0r9YPgEdjKLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WcndCmn5ob/Q4SviaqLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+DJLQB+k6D9shMQbGrTEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jFT9zCq34r86umC6bLXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qsrd9YP0xr9D5Q9iWO/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zbjgodMJkL801JdTHmqOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6387\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6384\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6385\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6386\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Cluster\",\"Cluster\",\"Cluster\",\"Bridge\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6388\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6389\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6401\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6394\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6391\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6392\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6393\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,1,2,3,4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,18,19,20,20,21,22,23,24,25,26,27,28,29]],[\"end\",[30,33,30,30,30,30,30,30,30,30,30,31,33,31,31,31,31,31,31,31,31,31,32,33,32,32,32,32,32,32,32,32,32]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6395\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6396\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6400\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6397\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6398\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6358\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6371\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6372\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6378\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6377\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6379\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6380\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6381\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6402\",\"attributes\":{\"renderers\":[{\"id\":\"p6394\"},{\"id\":\"p6387\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6366\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6367\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6368\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6369\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6361\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6362\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6363\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6364\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6365\",\"attributes\":{\"axis\":{\"id\":\"p6361\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6370\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6366\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7d408fbd-4847-4a58-9d44-329963732e5a\",\"roots\":{\"p6350\":\"fd0367e7-bce3-4234-bced-b691ac2327ba\"},\"root_ids\":[\"p6350\"],\"notebook_comms_target\":\"p6403\"}];\n void 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": "p6350" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6598072b-e581-407f-ad03-6af2f6335b58\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6438\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6439\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6440\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6447\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6448\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6445\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6470\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6487\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CqRIB3TtxL8gOYBNY6Tfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wLOC21JI0L+qfDH/otbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VyFoAp4Hw7/mWs+f/z7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VICGKBgC2L+62PitPeDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tzaie5PO3b8raGdQ4rbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"35SYF9/L0L8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9zaeTdcDxL+IMcSBGSjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hwvk7RyR2L/FJBa6M6Hnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rKfCOplL2L8AHVltuD/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MLOCR3LB0L8SxxJDEsDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SdfEw22W3z9qCpSHEgu+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/U10LwbU7z/t+cVPhwHGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ECiFKJOi7z+v/mZ0TBnSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D033F5gU6j82TaKJVITYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O5pp1Ich6j/9UAl9cWCzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dREyNZmt7T+520LAik20Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tfvT97kL7T8k78WIzUbWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vkFhWBYF7D9rxyUh0IjKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"azOsbtz/5z9tAtdKPsbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hZHHanXs5z/Sc8vFI/LSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IHsRiv9w1L9Zf6Xvz+XWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ggGLY/St5b8k8Ty4BR3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PpmT6aE84r9RU4l0ECXkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ALbVy1m/3r9OY7kst8boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kU+Zm00N2794dkD0qePlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6lP/UbIp3b+Nkabul2DiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GXQNSNHU5r9mlWW7T9jjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KTHJB5an5b/jWt39qaLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/tYRSrEZ4r/GnbTz4drfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f2nGopKu4r+hsTbbGanoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6475\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6472\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6473\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6474\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6476\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6477\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6489\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6482\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6479\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6480\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6481\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,7,7,8,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,17,17,18,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,23,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,27,27,28]],[\"end\",[1,2,3,4,5,6,7,8,9,10,20,2,3,4,5,6,7,8,9,3,4,5,6,7,8,9,4,5,6,7,8,9,5,6,7,8,9,6,7,8,9,7,8,9,8,9,9,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,13,14,15,16,17,18,19,14,15,16,17,18,19,15,16,17,18,19,16,17,18,19,17,18,19,18,19,19,21,22,23,24,25,26,27,28,29,22,23,24,25,26,27,28,29,23,24,25,26,27,28,29,24,25,26,27,28,29,25,26,27,28,29,26,27,28,29,27,28,29,28,29,29]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6483\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6484\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6488\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6485\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6486\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6446\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6459\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6460\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6466\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6465\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6467\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6468\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6469\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6490\",\"attributes\":{\"renderers\":[{\"id\":\"p6482\"},{\"id\":\"p6475\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6454\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6455\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6456\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6457\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6449\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6450\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6451\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6452\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6453\",\"attributes\":{\"axis\":{\"id\":\"p6449\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6458\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6454\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6598072b-e581-407f-ad03-6af2f6335b58\",\"roots\":{\"p6438\":\"eec71c5f-7480-431a-a2d3-22c4ea8190fa\"},\"root_ids\":[\"p6438\"],\"notebook_comms_target\":\"p6491\"}];\n void 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": "p6438" } }, "output_type": "display_data" } ], "source": [ "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "\n", "class Cluster(p2n.LocationDesigner):\n", " n_locations = 3\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.Cluster_head\n", "\n", "\n", "creator.create_actors(n=30)\n", "creator.create_locations(\n", " location_designers=[\n", " Cluster,\n", " Bridge,\n", " ],\n", ")\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the creator builds one location class after another, it is very important that the order of the location classes provided to the creator is correct.\n", "In the following, the connection of the clusters fails due to an incorrect order of the location classes provided to the creator." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"34a4968d-6773-4d32-aca3-a75c8470c069\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6522\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6523\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6524\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6531\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6532\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6529\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6554\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6571\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IrfQqYzutz/zQJhUUg7vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h2rTbaFkwT+F8fhd4EXtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rUK5jAZhoD8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IN4cJhqjd7/o0j8vqGnovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5XoNbXKItT9vAy3zr7Povw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UpnIukOvtL+W6p6Iieztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aClk1i/Ns78JjMlOnsfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GUBazaQGu7+rAvk3LNXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lbA5vDJDwT9lFsnAUPLqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"86hq8ZT2ob8xO2ez65/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qswAhTD+3r8keggbmSjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J/qfhnn8179G0u9Ozq/iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W5uJkCAD479RKHbPuvniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"utQQvmPI4L/djsIlPyLhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YYlZSPKR4b+2oUFnBZjoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ovIUV4NK3b/p7yMP3gHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m8c9WlRk2L9dyFXWrgLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E5UIRwe62r/YoJqeqjToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mrQu+sRM478x7TdGQFTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pvtL0tDE47/IMTq0DyrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qQdwCS7Z3j8MoNBtWInVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ayAlSuk81z9/Kt2qTGvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XLQ0OMKZ2j9+fKDksB+8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KBja8Ckb2j8YEIB0IWHUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9sSUsjqX1z833oaj3mPGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eLQxw1AL4z+TRxrEZZ/IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xHUA+FSg4T91oaA2YSLUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pbzxJld/3z+12DVwN8m4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FyyBXRcC4z+/APhZgbPQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7YfFsLfn4T/AdGvJPcDAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[64,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lx2YYxCwlD8pvEqW4rPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[65,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pTUVyTBG379cObVARv7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[66,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ijGrFq3w3T/KJawN3WvLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6559\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6556\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6557\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6558\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Cluster\",\"Cluster\",\"Cluster\"]],[\"index\",[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6560\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6561\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6573\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6566\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6563\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6564\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6565\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]],[\"end\",[64,64,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,66,66,66,66,66,66,66,66,66,66]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6567\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6568\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6572\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6569\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6570\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6530\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6543\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6544\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6550\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6549\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6551\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6552\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6553\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6574\",\"attributes\":{\"renderers\":[{\"id\":\"p6566\"},{\"id\":\"p6559\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
label:@label
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6538\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6539\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6540\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6541\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6533\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6534\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6535\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6536\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6537\",\"attributes\":{\"axis\":{\"id\":\"p6533\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6542\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6538\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"34a4968d-6773-4d32-aca3-a75c8470c069\",\"roots\":{\"p6522\":\"b0e43ad6-1fe2-4eb5-858e-0bfc48192107\"},\"root_ids\":[\"p6522\"],\"notebook_comms_target\":\"p6575\"}];\n void 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": "p6522" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(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\nconst 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\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\n // Clean up Bokeh references\n if (id != null) {\n drop(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 drop(id)\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 \"

\\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 \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6b6461cf-688f-42f0-b15b-9010d22615de\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6609\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6610\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6611\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6618\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6619\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6616\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6641\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6658\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w7jkT/Tr579HGtVNSvvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eQy1Grvy578JJ7QfneHhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sLCUhi+O679FLhZ8t0/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nyoQ25oY57+iOdEsiyHdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/KcaUePW5r9zTEvkS0bgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hdAMor+F6b97Plm761vhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rkkCQQTP6b+lIuDdu1fZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"klBIs7m+6b8oztYghkrePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SHbf6wJf679HbimGXobhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2wAF+R8a7L87S3oXIy/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W1GcyDBDkz+Z8Rat8P/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kWv1ImCHYb9kElcQZn7uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QMnPxZkcw78xGOik/6Hsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yEcutizssr9ESc53Jq/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xbgPMUuUwr9DTf50+4juvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q5/HZe8Xib/hySiTunbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t6w7qGPEub/X3eOFyeXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5vpj/GMXsL/eDQnN+t7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WYdY2b71vb+BYMG9mh/rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BdGVQNCjo78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v38gTiNf6T/4p/kg7v3YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uSAI8eyU7T+Nb3+UI4HfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ew40NL5l7j9RXiYzUebbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fd0SOxiK7T/QXNpFm6/XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PvCiMPHg6D/dx6wWDKzcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"prohihjr6j/PabxuKVTWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xMObJ+vJ6T/v90Oi+SXgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ult/SwgF7D/b3qb8DZ7ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RJvyQeV56z/u9CWtz3LdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HHYOui7K6z+G5eRVY9HgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6646\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6643\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6644\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6645\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6647\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6648\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6660\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6653\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6650\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6651\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6652\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,37,37,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,41,41,42,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,49,49,49,49,50,50,50,51,51,52,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,57,57,57,57,57,57,58,58,58,58,58,59,59,59,59,60,60,60,61,61,62]],[\"end\",[35,36,37,38,39,40,41,42,43,36,37,38,39,40,41,42,43,37,38,39,40,41,42,43,38,39,40,41,42,43,39,40,41,42,43,40,41,42,43,41,42,43,42,43,43,45,46,47,48,49,50,51,52,53,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,48,49,50,51,52,53,49,50,51,52,53,50,51,52,53,51,52,53,52,53,53,55,56,57,58,59,60,61,62,63,56,57,58,59,60,61,62,63,57,58,59,60,61,62,63,58,59,60,61,62,63,59,60,61,62,63,60,61,62,63,61,62,63,62,63,63]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6654\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6655\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6659\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6656\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6657\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6617\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6630\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6631\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6637\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6636\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6638\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6639\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6640\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6661\",\"attributes\":{\"renderers\":[{\"id\":\"p6653\"},{\"id\":\"p6646\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6625\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6626\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6627\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6628\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6620\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6621\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6622\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6623\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6624\",\"attributes\":{\"axis\":{\"id\":\"p6620\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6629\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6625\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6b6461cf-688f-42f0-b15b-9010d22615de\",\"roots\":{\"p6609\":\"e6cc4ba9-bc7e-4f65-9267-a1a80c787b1a\"},\"root_ids\":[\"p6609\"],\"notebook_comms_target\":\"p6662\"}];\n void 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": "p6609" } }, "output_type": "display_data" } ], "source": [ "class Cluster(p2n.LocationDesigner):\n", " n_locations = 3\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.Cluster_head\n", "\n", "\n", "creator.create_actors(n=30, clear=True)\n", "creator.create_locations(\n", " location_designers=[\n", " Bridge,\n", " Cluster,\n", " ],\n", " clear=True,\n", ")\n", "\n", "inspector.plot_networks()" ] } ], "metadata": { "kernelspec": { "display_name": "pop2net-WsTmNBcN-py3.13", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" } }, "nbformat": 4, "nbformat_minor": 2 }