{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "6826454b", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:13:41.957199Z", "iopub.status.busy": "2026-05-11T22:13:41.957123Z", "iopub.status.idle": "2026-05-11T22:13:41.974095Z", "shell.execute_reply": "2026-05-11T22:13:41.973776Z" }, "tags": [ "remove-input", "remove-output" ] }, "outputs": [], "source": [ "# This cell does not render in the docs because of the tag `remove-input`\n", "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "markdown", "id": "bee6f910", "metadata": {}, "source": [ "# Basic Usage\n", "\n", "## A drop in replacement for UMAP\n", "\n", "In simple cases, Glass Box UMAP can serve as a drop-in replacement for UMAP.\n", "\n", "```diff\n", "- from umap import UMAP\n", "+ from glass_box_umap import GlassBoxUMAP\n", "\n", "- UMAP().fit_transform(X)\n", "+ GlassBoxUMAP().fit_transform(X)\n", "```\n", "\n", "Let's illustrate this with an example. The [UCI Wine](https://archive.ics.uci.edu/dataset/109/wine) dataset contains chemical measurements of wines from a region in Italy, produced using one of three cultivars (grape varieties). The dataset includes 178 wines (observations), each with measurements across 13 different chemical features and a label indicating which cultivar the wine was produced from.\n", "\n", "The dataset can be loaded from [sklearn.datasets](https://scikit-learn.org/stable/api/sklearn.datasets.html)." ] }, { "cell_type": "code", "execution_count": 2, "id": "943e421b", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:13:41.975523Z", "iopub.status.busy": "2026-05-11T22:13:41.975452Z", "iopub.status.idle": "2026-05-11T22:13:42.245984Z", "shell.execute_reply": "2026-05-11T22:13:42.245517Z" } }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesproline
014.231.712.4315.6127.02.803.060.282.295.641.043.921065.0
113.201.782.1411.2100.02.652.760.261.284.381.053.401050.0
213.162.362.6718.6101.02.803.240.302.815.681.033.171185.0
314.371.952.5016.8113.03.853.490.242.187.800.863.451480.0
413.242.592.8721.0118.02.802.690.391.824.321.042.93735.0
..........................................
17313.715.652.4520.595.01.680.610.521.067.700.641.74740.0
17413.403.912.4823.0102.01.800.750.431.417.300.701.56750.0
17513.274.282.2620.0120.01.590.690.431.3510.200.591.56835.0
17613.172.592.3720.0120.01.650.680.531.469.300.601.62840.0
17714.134.102.7424.596.02.050.760.561.359.200.611.60560.0
\n", "

178 rows × 13 columns

\n", "
" ], "text/plain": [ " alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols \\\n", "0 14.23 1.71 2.43 15.6 127.0 2.80 \n", "1 13.20 1.78 2.14 11.2 100.0 2.65 \n", "2 13.16 2.36 2.67 18.6 101.0 2.80 \n", "3 14.37 1.95 2.50 16.8 113.0 3.85 \n", "4 13.24 2.59 2.87 21.0 118.0 2.80 \n", ".. ... ... ... ... ... ... \n", "173 13.71 5.65 2.45 20.5 95.0 1.68 \n", "174 13.40 3.91 2.48 23.0 102.0 1.80 \n", "175 13.27 4.28 2.26 20.0 120.0 1.59 \n", "176 13.17 2.59 2.37 20.0 120.0 1.65 \n", "177 14.13 4.10 2.74 24.5 96.0 2.05 \n", "\n", " flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue \\\n", "0 3.06 0.28 2.29 5.64 1.04 \n", "1 2.76 0.26 1.28 4.38 1.05 \n", "2 3.24 0.30 2.81 5.68 1.03 \n", "3 3.49 0.24 2.18 7.80 0.86 \n", "4 2.69 0.39 1.82 4.32 1.04 \n", ".. ... ... ... ... ... \n", "173 0.61 0.52 1.06 7.70 0.64 \n", "174 0.75 0.43 1.41 7.30 0.70 \n", "175 0.69 0.43 1.35 10.20 0.59 \n", "176 0.68 0.53 1.46 9.30 0.60 \n", "177 0.76 0.56 1.35 9.20 0.61 \n", "\n", " od280/od315_of_diluted_wines proline \n", "0 3.92 1065.0 \n", "1 3.40 1050.0 \n", "2 3.17 1185.0 \n", "3 3.45 1480.0 \n", "4 2.93 735.0 \n", ".. ... ... \n", "173 1.74 740.0 \n", "174 1.56 750.0 \n", "175 1.56 835.0 \n", "176 1.62 840.0 \n", "177 1.60 560.0 \n", "\n", "[178 rows x 13 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from sklearn.datasets import load_wine\n", "\n", "wine, target = load_wine(as_frame=True, return_X_y=True)\n", "wine" ] }, { "cell_type": "markdown", "id": "5350763f", "metadata": {}, "source": [ "The features have different scales and need to be standardized ($\\mu = 0$, $\\sigma = 1$) before fitting UMAP, so that no single feature dominates the distance metric." ] }, { "cell_type": "code", "execution_count": 3, "id": "f44b85d1", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:13:42.247206Z", "iopub.status.busy": "2026-05-11T22:13:42.247100Z", "iopub.status.idle": "2026-05-11T22:13:42.255820Z", "shell.execute_reply": "2026-05-11T22:13:42.255420Z" } }, "outputs": [], "source": [ "import numpy as np\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "scaler = StandardScaler()\n", "X = scaler.fit_transform(wine.values)\n", "\n", "# Make sure mean=0 and std=1 for each feature.\n", "assert np.isclose(X.mean(axis=0), np.zeros(X.shape)).all()\n", "assert np.isclose(X.std(axis=0), np.ones(X.shape)).all()" ] }, { "cell_type": "markdown", "id": "6b4c8560", "metadata": {}, "source": [ "Let's calculate and visualize standard UMAP embeddings using [umap-learn](https://umap-learn.readthedocs.io/en/latest/)." ] }, { "cell_type": "code", "execution_count": 4, "id": "b1bfc52f", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:13:42.256990Z", "iopub.status.busy": "2026-05-11T22:13:42.256920Z", "iopub.status.idle": "2026-05-11T22:13:46.521087Z", "shell.execute_reply": "2026-05-11T22:13:46.520660Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from umap import UMAP\n", "import matplotlib.pyplot as plt\n", "\n", "CULTIVAR_COLORS = [\"#1f77b4\", \"#ff7f0e\", \"#2ca02c\"]\n", "\n", "umap_embedder = UMAP(random_state=100)\n", "umap_embedder.fit(X)\n", "umap_embedding = umap_embedder.transform(X)\n", "\n", "# Sketch up a quick plot\n", "plt.scatter(umap_embedding[:, 0], umap_embedding[:, 1], c=[CULTIVAR_COLORS[t] for t in target])\n", "plt.xlabel(\"UMAP 1\")\n", "plt.ylabel(\"UMAP 2\")\n", "plt.title(\"UCI wine embedding colored by cultivar (UMAP)\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "e2b7b0c7", "metadata": {}, "source": [ "The syntax for Glass Box UMAP is almost the same.\n", "\n", ":::{admonition} GlassBoxUMAP API\n", ":class: api, dropdown\n", "\n", "From the {class}`API docs `:\n", "\n", "```{eval-rst}\n", ".. autoclass:: glass_box_umap.GlassBoxUMAP\n", " :noindex:\n", "```\n", ":::" ] }, { "cell_type": "code", "execution_count": 5, "id": "3ee7fcef", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:13:46.522358Z", "iopub.status.busy": "2026-05-11T22:13:46.522236Z", "iopub.status.idle": "2026-05-11T22:14:01.126937Z", "shell.execute_reply": "2026-05-11T22:14:01.126430Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACI3UlEQVR4nO3dB3hTZfsG8Lu7FGjZe++9NzJFQVygAiIoguLee+89cXxuxAWiIspfRBFlT9my996zhRY687/uN6SkaVbbtE3S+/dd+aTJycnJyck5T573ed83xGKxWCAiIiIS4EILewNEREREfEFBjYiIiAQFBTUiIiISFBTUiIiISFBQUCMiIiJBQUGNiIiIBAUFNSIiIhIUFNSIiIhIUFBQIyIiIkFBQU2QqVWrFm688UYE+3u87LLL8v11du7ciZCQEHz11Vcel+U+53bZ43Ofe+45BDp/PKa4X7l/PenZsyeaNWuGQMLjje+Nx58ns2fPNsvyv/7mjjvuwEUXXZSr5zr7PhU2276eNGlSYW9KUOjUqRMeeeQRn69XQY2Lk+XRo0ed7jCeIHmidJSQkIDnn38eLVu2RIkSJVCsWDGz7KOPPor9+/dn+bLycRERb3300UdeBdf+YseOHfjiiy/wxBNPFPamBC1ep+666y6nj02aNClbsMtrD++LjY3FmTNnsj1ny5Yt5nHe3nrrLafrnTZtmnm8SpUqyMjIcLoMg1HbenirUKECunXrhl9++SXLcrw2/u9//8PBgwfhS+E+XVsRtX37dvTp0we7d+/GoEGDcMsttyAyMhL//fcfxo4daz7MzZs3F8i2bNq0CaGhilX9AU8c4eH6iolvgppy5cply5h1797dHGc83/iT9957D7Vr10avXr0Ke1PEDs9HSUlJ+O233zB48GD7hzB+/HhER0fj7NmzWe53XIZBC7OIM2fONNc9Z1q1aoUHH3zQ/Js/6j/99FNcddVV+Pjjj3HbbbeZ+6+88koTYPHYfuGFF+AruvrlUVpamvmwDh06ZKLi77//HnfeeSdGjx6NDz74wAQ8DHQKSlRUFCIiIgrs9cQ1niAU1GTFE6arX3iSc/wBw+OsoH/I8MLoSmpqqrn4OV40pfBFRUXhwgsvNNcpRxMmTMCll17q8rmJiYmYMmUKHnjgAbRu3dp8xq5UrVoVw4cPNzc2MS1YsADFixfHu+++m7kMj9lrrrkG33zzDXw5r7aCmjz6+eefsXr1ajz55JO44IILsj3OSPTll1/O0Tr/7//+z6TtmOmxfx3exwDKXuPGjTFkyBCX9Q+29nkeVDwYy5cvbw6ugQMH4siRI9le+48//jCpQi5TsmRJc5CvW7fOq+0+efIk7rvvPlSvXt18eerVq4fXX389y0XMVqfC9CZTj3Xq1EFMTAwuvvhi7NmzxxzcL774IqpVq2aa8BjNHz9+3Onr/fXXX+YXAU/qTZo0weTJk3O1TbbluN/i4uJQqlQpjBgxwtznzK+//mqaFvm6/K9jWtVVTY2taXPr1q3mtfg6fL2RI0dmu0jw1/c999xjfp3zc7jiiiuwb98+r+t0GDxwuQYNGpjtrFy5sjl2tm3bluUkxV9Ttn3TsGFD87l4c4KxBetlypQxnx/bx3///XenNQgTJ07EU089ZU50XJZNtbRkyRL069fP7APe36NHD3OcOpo/fz7at29v3kfdunXNr76cWr58Obp06WKOKWYQPvnkk8zHTp8+bY73e++9N9vz9u7di7CwMLz66qtu18/jidmJ5s2bm+3k94zvbdmyZR7rszx9pvxO8zs4Z86czJS+rQncsaaGzRFs3nYWdAwdOhSVKlVCenq6+ZsXKH6/2ZTAz5/7lt892+OOdUnch8wM8bNy16zEz4vN985+xe/atcscy9zfbJa4//77MX36dK/qgnhs8jMsW7as+Rzbtm3rtL5lxowZ5lzM7xf3BY9rx+3lD86mTZua91K6dGm0a9fOXNS9wf3D9XFf8n3w/fDc5einn34y28ht5feYF3h+h22effZZc2H/559/sjzPlunndSU/XHfddeY8b39+W7p0qWl+4mOu8DzH8xK/99dee60537rL6tjjvuK1is2S9lhzxWNi1apV8BUFNXnEAISuv/56+Aq/kPySz507N/O+efPmmS8ATxg2DEo2btxoTjSe3H333eZLwi/S7bffbtKPju2x3377rTnJ8UTAC//TTz+N9evXm+3xVLTIkygvSt999x1uuOEGvP/+++jatSsef/xxE0w5YpTPtCO3ixdWnrD5y44Xvz///NO0t/LLze186KGHsj2fX0AGc5dccom54DAjwi8bT2g53SZexBk88f3zxPPSSy+ZixkDG2eB1NVXX20+H77ugAEDTFBiu3h5g+/z1KlT5vn8Ny90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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from glass_box_umap import GlassBoxUMAP\n", "\n", "gb_umap_embedder = GlassBoxUMAP(random_state=7, epochs=300, quiet=True)\n", "gb_umap_embedder.fit(X)\n", "gb_umap_embedding = gb_umap_embedder.transform(X)\n", "\n", "# Sketch up a quick plot\n", "plt.scatter(gb_umap_embedding[:, 0], gb_umap_embedding[:, 1], c=[CULTIVAR_COLORS[t] for t in target])\n", "plt.xlabel(\"UMAP 1\")\n", "plt.ylabel(\"UMAP 2\")\n", "plt.title(\"UCI wine embedding colored by cultivar (Glass Box UMAP)\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "1f13eb33", "metadata": {}, "source": [ ":::{note}\n", "We don't expect the embeddings to look identical because both algorithms are stochastic. For the sake of visualization, in the above comparion we ran both algorithms several times until their arbitrary orientations qualitatively coincided. For in depth analysis on the comparison between Glass Box UMAP and standard UMAP embeddings, see [Comparison to UMAP](embedding_comparison.ipynb).\n", ":::\n", "\n", "In the next section we'll discuss feature contributions, something unique to Glass Box UMAP." ] }, { "cell_type": "markdown", "id": "5e0a2f5a", "metadata": {}, "source": [ "## Feature contributions reconstruct the embedding\n", "\n", ":::{note}\n", "Here we focus on the practical aspects of feature contributions. For discussion about the underlying theory, see [the methodology page](../resources/methodology.md) and the [Glass Box UMAP publication](https://arcadia-science.github.io/glass-box-umap-notebook-pub/).\n", ":::\n", "\n", "The main feature of Glass Box UMAP is computing feature contributions that attribute how much each feature contributes to each embedding coordinate.\n", "\n", "We can readily calculate them with `GlassBoxUMAP.compute_contributions`:\n", "\n", ":::{admonition} compute_attributions API\n", ":class: api, dropdown\n", "\n", "From the {meth}`API docs `:\n", "\n", "```{eval-rst}\n", ".. automethod:: glass_box_umap.GlassBoxUMAP.compute_contributions\n", " :noindex:\n", "```\n", ":::\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "5a7b0457", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:14:01.128294Z", "iopub.status.busy": "2026-05-11T22:14:01.128204Z", "iopub.status.idle": "2026-05-11T22:14:01.181975Z", "shell.execute_reply": "2026-05-11T22:14:01.181559Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "contributions shape: (178, 2, 13)\n" ] } ], "source": [ "contributions = gb_umap_embedder.compute_contributions(X)\n", "\n", "print(f\"contributions shape: {contributions.shape}\")" ] }, { "cell_type": "markdown", "id": "d08fade5", "metadata": {}, "source": [ "**The shape of the returned array is $(N, D, F)$**, where\n", "\n", "* $N$ is the number of observations\n", "* $D$ is the number of embedding dimensions\n", "* $F$ is the number of features\n", "\n", "Each element in this array represents the *contribution* of a given feature to a given UMAP dimension for a given observation. The contributions are such that **each observation's UMAP embedding is the sum of its feature contributions**. For example, let's consider the x-coordinate of the first datapoint:\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "da40ef8a", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:14:01.183043Z", "iopub.status.busy": "2026-05-11T22:14:01.182977Z", "iopub.status.idle": "2026-05-11T22:14:01.200188Z", "shell.execute_reply": "2026-05-11T22:14:01.199824Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The first datapoint has x-coordinate 2.579\n", "+0.100 is contributed by alcohol\n", "-0.035 is contributed by malic_acid\n", "+0.041 is contributed by ash\n", "+0.037 is contributed by alcalinity_of_ash\n", "+0.405 is contributed by magnesium\n", "+0.181 is contributed by total_phenols\n", "+0.583 is contributed by flavanoids\n", "+0.020 is contributed by nonflavanoid_phenols\n", "+0.007 is contributed by proanthocyanins\n", "-0.052 is contributed by color_intensity\n", "+0.278 is contributed by hue\n", "+0.426 is contributed by od280/od315_of_diluted_wines\n", "+0.589 is contributed by proline\n", "The individual contributions sum to the x-coordinate: True\n" ] } ], "source": [ "x_coord = gb_umap_embedding[0, 0]\n", "print(f\"The first datapoint has x-coordinate {x_coord:.3f}\")\n", "\n", "total = 0\n", "for idx, feature_name in enumerate(wine.columns):\n", " contribution = contributions[0, 0, idx]\n", " print(f\"{contribution:+.3f} is contributed by {feature_name}\")\n", " total += contribution\n", "\n", "print(f\"The individual contributions sum to the x-coordinate: {np.isclose(x_coord, total)}\")" ] }, { "cell_type": "markdown", "id": "b872d4d2", "metadata": {}, "source": [ "As we can see, just two features (flavanoids and proline) drive more than half of the x-positioning for the first datapoint.\n", "\n", "In general, we can verify that the feature contributions reconstruct the embedding by summing the contributions array along the feature dimension (axis 2) and ensuring the result equals the embedding." ] }, { "cell_type": "code", "execution_count": 8, "id": "93914e1e", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:14:01.201361Z", "iopub.status.busy": "2026-05-11T22:14:01.201296Z", "iopub.status.idle": "2026-05-11T22:14:01.264192Z", "shell.execute_reply": "2026-05-11T22:14:01.263791Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reconstruction matches embedding: True\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAAGJCAYAAAC5J7OZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC8e0lEQVR4nOydBXgU19fG37gnBAgkuLtrcYdStEJLgUKhpdRdaPvVaam3/zp16kKBFlrcSnF3d0+ACHHb73nvZMJmszK72fj58ezDZnbk7szOPXPOPfc9HiaTyQRBEARBEARBEAQhH575FwmCIAiCIAiCIAjiMAmCIAiCIAiCINhBRpgEQRAEQRAEQRBsIA6TIAiCIAiCIAiCDcRhEgRBEARBEARBsIE4TIIgCIIgCIIgCDYQh0kQBEEQBEEQBMEG4jAJgiAIgiAIgiDYQBwmQRAEQRAEQRAEG4jDJOTjxRdfhIeHR4k6M8ePH1dtevvtt4u7KYIb4LW8//77C/1crly5Uh2L/zuid+/e6mX5m/v2228LuZWCIJR1nOlPDh06hIEDByIsLExtM3fuXJRkSlt7yzt16tTB7bffnvs3f5O8bps3by6S4/e2sLWlBXGYygnHjh1TD6iNGjVCYGCgejVr1gz33Xcfdu7cWdzNK5UdztChQ61+xk7H0jDqTqinpydOnTqVb5uEhAQEBATYdST27dunPvf390dcXJzVddgJcR39VbFiRXTs2BFff/01srOzXf6+giAUPfqDjP7y9vZG9erV1cPOmTNnytwl+eSTT4o9QFES2jBhwgTs2rULr776Kr7//nt06NABJZmiaG9ycrKyo0aCX+WFvXv3qnNCZ7yksbcEt81VvIu7AULhM3/+fNxyyy3K2I4dOxatW7dWD+779+/H7Nmz8emnnyqHqnbt2nI5Chk/Pz/8/PPPePLJJ/Ms53VwxA8//IDIyEjExsZi1qxZuPPOO62uV6NGDUyfPl29j4mJwXfffYc77rgDBw8exOuvv+6mb1L24f2QkpICHx+f4m6KUM55+eWXUbduXaSmpmL9+vXqgf6///7D7t27VQClrEBnpXLlynmi3+WtDexz1q1bh2effbZIRuFLS3vpML300kvqfWkcnSgsp4TnhOeDQVyjHDhwQD0DFlfbFi9ejNKIOExlnCNHjmD06NHq4W/ZsmWIiorK8/kbb7yhDERh3zyCxnXXXWfVYfrpp58wZMgQ/PHHH1ZPlclkUuuMGTNGObc//vijTYeJaRHjxo3L/XvKlClo3LgxPvroI7zyyiviABhEH80ThOJm8ODBuVF73vd8oGff/ddff+Hmm29GeSQpKQlBQUEoazDIRSpUqFAqzoEz7S2JZGZmquwLX19flGX4DMGACzNZGLgtTnxL6bmWp+Qyzptvvqk61W+++Safs0Q46vTggw+iZs2advfD7fv27YsqVaqom43pfByZspaONmjQIGXQeWMyKjpp0qQ86/zyyy9o3749QkJCEBoaipYtW+J///uf4e/03nvvKQeQ++/Vq5eKslqyfPly9OjRQxkTduQjRoxQKW3m34cPxExVM+e1115Ty//55x8UBnR4tm/frkb3dM6fP6/ay89ssWbNGjW0TeeXr3///RenT582dEymX15zzTXqd6AbN1swzYfXq2rVquo6N2/ePN850ucF/fbbbyqCxBQhXsubbroJ8fHxSEtLw8MPP6x+K8HBwZg4caJaZg06fnTm6JjwN8Hv5UqbCM/HyJEj1TXnsR955BGbx/38889Rv3599Rvq1KkTVq9ebWjOAaPO/E5sE4/F9xEREXj88ceRlZWVZ/tLly7htttuU79x/gaZtrJjxw6ZFyUUGPZtekDMHPYrvA+Zist7ik4WnSpLmNLL+4ORX95THJUeP348Ll68mLtOdHS0Gpnmfcd9MTNh5syZNueW6vcU98c04E2bNuVZl/0c+wIei+vQHrFf1lN22JY9e/Zg1apVuSmI+kiCnprIz+699151f3M/+j1pLbpuay4uR+p5z7NfDA8PR8+ePXMj3vbaoJ839m20l/wODRo0UI6rZboz12O7GLzS731badSWbdYzPZ544gl1fP276d+HkXvaCra9e/fuuQ/9DIbp55/bPPPMM/n6Pz2VnH04fxvs/2h/9TQ3Zjrwb70/3rZtm8vtNdp3p6en4/nnn1fH4/li/83f94oVK3LX4W+E/SyhzdGvDY9vb06M5W/D/Pf6/vvv554vnlNn7h9r8DfA5xj9/LG91157bZ55Qc5eJ44i87fK/dWrV09li+jwnhg1apR636dPn9xzol9LfR+LFi3KvdYzZszI/czaCCpH8RhgrVSpkrJb7BOY0WKOh9l5t2yzvk9HbbN2vYq6v3EFGWEqB+l47NQ7d+5coP3Q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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "reconstructed = contributions.sum(axis=2)\n", "is_equivalent = np.allclose(reconstructed, gb_umap_embedding, atol=1e-5)\n", "\n", "print(f\"Reconstruction matches embedding: {is_equivalent}\")\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 4), sharex=True, sharey=True)\n", "for a, Z, title in zip(ax, [gb_umap_embedding, reconstructed], [\"Glass Box UMAP embedding\", \"Reconstructed from feature contributions\"]):\n", " s = a.scatter(Z[:, 0], Z[:, 1], c=[CULTIVAR_COLORS[t] for t in target])\n", " a.set(xlabel=\"UMAP 1\", ylabel=\"UMAP 2\", title=title)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "130ef4cd", "metadata": {}, "source": [ "## Interpreting contributions\n", "\n", "How best to interpret feature contributions is dataset-dependent and an active area of research. The intention of this section is to provide one lens into how feature contributions can be interpreted, it is not to put forth an authoritative viewpoint on feature contribution interpretability in general.\n", "\n", "We encourage you to creatively explore feature contributions in your own data, as we don't want to prescribe a single workflow. As perspectives in the community converge on clearer analyses, we can include them into the package. Until then, we have introduced an optional plotting utility that allows one to interactively explore feature contributions, though as a final reminder, please explore beyond the capabilities of this tool (and report back what you find!).\n", "\n", "{func}`plot_embedding ` renders the embedding linked to a feature-contribution bar chart.\n", "\n", ":::{admonition} Install the plotting extras\n", ":class: tip dropdown\n", "\n", "`glass_box_umap.plotting` is an optional dependency, that can be installed like so:\n", "\n", "```bash\n", "pip install \"glass-box-umap[plotting]\"\n", "# or\n", "uv pip install \"glass-box-umap[plotting]\"\n", "```\n", ":::" ] }, { "cell_type": "code", "execution_count": 9, "id": "976a8eac", "metadata": { "execution": { "iopub.execute_input": "2026-05-11T22:14:01.265358Z", "iopub.status.busy": "2026-05-11T22:14:01.265263Z", "iopub.status.idle": "2026-05-11T22:14:01.517521Z", "shell.execute_reply": "2026-05-11T22:14:01.517160Z" } }, "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", "\n", "const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " 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", " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", " \"
  • use INLINE resources instead, as so:
  • \\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.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.9.0.min.js\"];\n", " const css_urls = [];\n", "\n", " const inline_js = [ function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", "function(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": "'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\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 \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\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.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.9.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.9.0.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));" }, "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 = {\"6845aeb6-12e5-4f93-afd7-f920f1f891ea\":{\"version\":\"3.9.0\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"p1170\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"p1171\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1169\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"max-width\",\"1100px\"],[\"aspect-ratio\",\"1100 / 720\"],[\"min-height\",\"500px\"],[\"max-height\",\"800px\"]]},\"sizing_mode\":\"stretch_both\",\"children\":[{\"type\":\"object\",\"name\":\"Column\",\"id\":\"p1168\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"background-color\",\"white\"],[\"flex\",\"0 0 60%\"],[\"min-width\",\"0\"]]},\"sizing_mode\":\"stretch_both\",\"children\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1167\",\"attributes\":{\"children\":[{\"type\":\"object\",\"name\":\"Div\",\"id\":\"p1118\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"color\",\"#444444\"],[\"font-size\",\"13px\"],[\"padding-top\",\"8px\"]]},\"text\":\"Color by:\"}},{\"type\":\"object\",\"name\":\"RadioButtonGroup\",\"id\":\"p1119\",\"attributes\":{\"js_property_callbacks\":{\"type\":\"map\",\"entries\":[[\"change:active\",[{\"type\":\"object\",\"name\":\"CustomJS\",\"id\":\"p1123\",\"attributes\":{\"args\":{\"type\":\"map\",\"entries\":[[\"color_modes\",[\"Group\",\"Feature\",\"Top feature\"]],[\"group_glyphs\",[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1085\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1008\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1009\",\"attributes\":{\"js_property_callbacks\":{\"type\":\"map\",\"entries\":[[\"change:indices\",[{\"type\":\"object\",\"name\":\"CustomJS\",\"id\":\"p1165\",\"attributes\":{\"args\":{\"type\":\"map\",\"entries\":[[\"scatter_source\",{\"id\":\"p1008\"}],[\"contrib_sources\",[{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1011\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1012\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1013\"},\"data\":{\"type\":\"map\",\"entries\":[[\"c0\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDSzUcRwHYLQa7SKKLJXNEukaLZKX3/fzx8xwQk1dcnXD8lIpa0Vh6/JOuahZXF5Ox6hkHNGK6tQpc2ZMyYRNXhpnFnIm6Xm21FrihcVJ9PRNQrdSh09ZUmyY56Mp6D39HpqkrgRDeDpnoDzOEXdaykl2GQizlsAj1R1LYwVwSZBBGfoZYvcWBCZVwrvqODIDHGGrO4QbUzxcbTuD9NgImEomwLaDhCmPsM8khoLDGxCNexCmd9Km567gLALgf0uHrJgK9BoZY1g0TqtFBGWvFDF3XZEunURyVifgJEOO3XkowwWwyC+Gw8Y5hEzI0VGfBnOZJVr7R3Hx20kY619BcXoicq8HwSZ+HFcKDLkPpgs02JAIVbML9ASjbEePFbxmC6l9sQtbOwdos5jvGTlTgmZZORUJe5EXL4CHfIH5tgth4JPHzpoLqCck1E1/rBCndCr2NFcfyynBTLJuDO1XEYliwzHYvZ/s+TzmUm9FErM2arJ5QheOiqg1b5VyNWKUKNfIY6WPGZVusKBqDVtXDEEzspMMnFNh3XYYNfNm7LT8GrkOv2SaEzMs84CIvU4No3m11G3XpULq/5fvwRfFwN9LTfzcAIrreO6uC73jWeYURY5+0cwuyYRMwg4yhV82hr/7kP6PvXgmPMZ5Q8WqJ6boC3+e6Md3EggloLRY2u31iiKtR0hpZotgV1+8awiES1QmJpYMuHpeN0r+TMFqfQvX51SBKJUDd3DbTk4jnkNUvB73c20Jy9WPIW9vRFxhPur6uiGKLsWRWTXdLpDRHskAKV7dxFtNNhqrPmD6TC18OzKxSduPxTkOyRHZ8LLrga/WgFvR6nHNHx/CrOs+OPtG1Bg9gCqlE5KVHLwdqoL336eYjlajkaTgKeQoO1SJX3EZELW9AXwq8B9QZfxKyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c1\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMcQAH8Emdcstrh9Pqclo2eVdmuv/v+03mcePajlh2hpJW3pK8ZpVLMXRH7fJo0kPSIaSTEVvzWEKPK9vZEMlKV/5tmEfi87mw2YJW+RriRztQoMvHSdVrPJ5Rg7Sfp2EIcaMydCKXD5iwut3M8c7FPN2lYemROLrPKzjmh5mFudXIL5axZ+40WubMldI63LhZ/A/pI/1ZeGIAxug1XJTkxdgdehytikZVxXomxr3B8cpRHKNxoS+kji19sQxThDFq4ntkXFvFiq5oRn1T01q0G65nvdLdCfXCPrIc+m8hdDhr4b3gEUw9Z7HXcyGma8NZ8msSLzV2okKdzAxVGOwD/jRu0sH7+nDMup0v2NwGzzQrUjTB2Nj1HsHjn4ggwzg2f3DDWZnJooQCnOo+hgM9b4XNbMPVV5MZs+wgvuQeojZjpbD4LGFuSLb4HGDEbFMD5HFZUnnoDYirVig8jNg26hf0W9qQF96K1E/92K+phldxPx5neHBmjhdi3ymhzlUiQq4Xg7JSVztwDz0ddrQP/kTQhQQRkGxA4EsFjl8JRXZgMBaoIsXU9BxYEyj1XvYXWUkj0K2ukUy/9bifKYv4+n8RS1IsEObtIul2JIeae2Hwd+se1PmJQVWkbornZdG78wHbhmoi+i4+lcpTfUVYaqYov2OB02csymYrRcy7YdDGrJEag3VCa/dB3LoUOl9E8G9rKR/mhHNlgMSOvbNYbVWx42MLlnb70KixIcARxfj9VfTdtw+J8m50nnLQ2+SgwW8mNc21/LrCRbXiIW9eKqNzVwv9ajpp3/qHFR4fGJVYxmVNzyiXmtmX3c26oCZuamhirS1I+n7YgY3PbYyfd5C+G7SUnUM425rO6X5WHssr47l+K9e2l3C+ppopo8/wVkkJXWigUuHilRtV/A/t/nF6yAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c2\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMARwHcKVQLv4zqc6rVB6JjFir+32/FKKW22yWtboNa4soJ6WwyOOkPNbMHVeT0JJlvZFm003+aMq1EM5Eig155bkyn8/PVXpG3Alijn0JBp+mYbmEwMk2DbGNQ2h4vYUX74/F8cJ6rPCxIqk3GIOaIal8bJTidl90OmbiAet0Xx2jJKK8TZ5v8GS/6snWbj0H7SY6b6rgUucQvli9BvbSb0j+6Yu9jVraktfhy/e5snBgDqpvGzE6pg+OsiswJ4bSpE2AV8Y4WO6a5UNJC1wNdTAV3UL65HZYPGxQ6vvxY7GBSaoZAxf2YctNi/ymLypN1ZKuWCRYvQhv2wmEHW5B8dQDUAPsUHcmIPWjF4aH/qG98Rw/996g2wRX7Lx2Rx76ObE01h0u1QEIyTkNd/+rNKw1wlt9w6awPyiIIwKDNYzxPoT8pkJ8GkiU1MuLUaBUID3lGIbHHpJd6nUc+eAnxaGFHDPTE++dPVCfNgVBuRbozIp0jbfKjbTNKHO9p1vrMMMeXQtNhgbJQSG6bp0/lR6tLAuPFK8R3WLTVkrc1tFSNcOZ01/pZXtzFRL6FEZOb5GzsVr4uU9C5qkleNvnkOtVtbIx8aVU+OjlVnYYhnd3SbOhXPpTVmOH8SBNZzQYdpkPQ2kdXLwLsLu9GKVtT6QqS0HNzRJZNHukdIS7iRKVJUb9FW7KLWG02kbX9S8Y9ayVDZqrdCxo5rzbhTzQk8PDY4QjMnqh/DqKhuw47g88yY4vE7n5TRFnfb/AJyPjmRlYwwnzrNz28jw1qan0f1bLS+knWbbGzK+Rl/ioy8qpahY73f7icaQnYzzyGTDqGEtqljIg/yDLs4sY/y2TPf9qeN8pl0kp+YwPX8mPe4RRHXm0d+7hO/8CtoY2cdG+PM7XZfOIzzn+B4RSolvIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w3PbSwUcBwH8HFX18NRnq4cLuNK0bUkUnf/748XWmnVbNh6UCrEWSGlDEeGYZ2zne7KxfRw7XZHubRs0ZNrZik1tSNG6dQuhbUmmZD3nzcffx8hdVm20r1vpXTuxBfie/fKYn1/U7rmNa0+8oouX1DQ4+g88pgZpGf+Zhr83kmR7cl0oLuDfKdaiBuvJBd5CAnixohfroVaF8qsY3eYJl9CKauOkUSjRbxhhi1bsJCGz4+IWp6FTnUV6Qc8qW9OFPFzKp0Ub07QhtdKevRkG9XfHUWFtItsAyqqjjfKNMebWfQOI/loYmiiWAzFgwWE58kpyZRC07lSKmi9RRfFvZRZVkWKv+10fjCXUv1MxOPVUfcZPdnGuWRvVNHaUTXtqR5jTpLHjE0OQ9DAg9+fMjQJ3kLLccX28URsjMpmApd5KQJWsvPJ2UCBG1065Epx4lbIP0lw+uRuWM/mIKN2EkUfrkvNNZXItJUgxODN4mbd0T8wCS/BO5Q85SHtSgLESRkIyDWyc6bPTHjGge54meFut+BayxqEZn9kmyfCoBq+gUjRGxYVxEGDXIm6zw7Sr5WH2c/BJpQd9UN3QiSDPIzQGwCTbgg6RyPSvrWyxE1LITyYDI+g6wha3YR/+c1wS1iPcJ1k0Y3inX6E9Cves76eYJRMjUB0dQ+lzS9eQjuQJ36OC10j2BfYDy/rEsoxt4G7fAV8aothStPAeGMLuD+EqChsYPsnnZgdGqiCDOi9qUBL0n18rJ1lBvTAVdSIXU/cUPRIyaqdXUnXFIjSjHVIuS3Bi/BQOIjqET3BIUuzjSkgxPvUadndhho81G6CcqOdDakdsM7QCU9HAfqj6pBnbWQF9TE4tc+Mo79MbKdnGxu3cGTlNXshyOLSnPQllsSuRPCUhyxub5XUXviAOfdwkBlWhP/v+7N4yAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c4\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDSzUcRwHYNXJOOd1RySrVCrRm2V3/X+f75/eiV6mmpcJU+vNLW3SiyTOS1xRdyFdSUpvs1qXQ7YWajrdbMzyUt7bWrTO63VXenmetP7j7F+yCKsuzcKmtq/ssU0HKzaqEOEtYH6aWmlc/Rnu6JJESI2ZzDXFl1MonPCs8SL3I8QJE+E9qBlfBg/DVnR/1kHpuYBbF5zDzseehXeoCoExsbi18h0O1h1BZ76CGX1boQqtZT+1Z9nmD4MsJP4q1sQsxzO7BK5O38JGynZzCqcpZtIHIW40DJNJbOPRI42sz6cec5MqmX2zEsbFWRs1j8LZcKmAxb9RM1GBF3RzWmD+IofH7BdMaFLCW+uHqMwihmh32Ercceo9g3qIh7+oFWPFnbCoS4MwNBDJuyvZMf+P2Bm+AYqCEi7fuZvLk9pTtXkF5l5wIXlwG/rFTbApliKoQw29hSvSsyWsojCAstsSsb/anRxuyHFYew2exjq8znXDWsvVJB7SQCwrg2GkFo3SbqSoU6EbPA7HABkcVx5Cn86A8OkaCHfEw9Jwl1bnRuB2+wM2dmUG9mKCpNMa80X+dE6UjCfuhejXV0L11Rtm/ThWLS3E89d2VCh5gJd/99G8aUsats3CnpsN+MmXQm+rx7TBhf5MgoKee9Dp6Cb0svcs97cXvUzvQNtECz519KF3IBUB0k6Un1hIrbqTtKehEs17e1lf42Wo733gzoUtxreMRdQ11Q7BgWpudH0yPouVDJEMAlM9TNeyUeGmwcNtGWTdKgdHVmygKod6e7TUvUVLabuKaMzZTAlpBdQ1LeAvqPNorzyV2hveUuZCGbmel/DKPD/eKqqE7p+8DpuC7Qh0SGBmhZAvdxbSzC8HviXOmef9vpOt6imN9wgQ4jNFoXf+0CdlJDlezKYo8SuS+bdTVZeW/gMeVlmeyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBfSzUARgHcEXzcuTdTMtLcmqpRtqk3/N9WNykkjCzlpcmRRx11/QmccnrptJZ8855KVJ/uFYSwiUvTYvbahGml8VWiBZ/pOvz6UweoLTKbGiOBOKwTw1utpVRytu7tGQgx6k3tsh/N4en+iIW6zbwTLcla3otOV1Zhz0myfBZ2AwrTSapNxVSjEQfry7vYNFvL2T4iTjSNw+GUnO+P/sEd/KzEFbyl3T6m9mnZlZY0PVjsOcJVL6jaPZ9CY+8CLS5mUBZOoL2M0paLXHleSM9bjTNgfRzITk5WLKFwoFnFe74rVePvOOA2rAPxvu9+J46AcO6YVJeWIH59X8IGI+EU045DZo1IfXzDJK7nsLqcDE6wh3YKEZL+7bo+U10V3CoOh2R9mmckBTFZaebKdFrEoajsQgsmuaO72GIPXuRmlRKpi8uLM33Q4e2js0cCyj2Uwku9VWidjxe2C/PwpwmCO+jDrF2fTZ6xC3c6XKETygUyG4146zV88iwjubdSwW4XF7L8WXFzBkVXCVpxdwVFxYlTwnez1N5VCeFbbkdT7m1IFRfjmBPMc60L9C0uS1VDUgQETnBpYvW1CS7wbWSERpYVkEcUwmLBy/wLmSMVUkqnM3UY7NeT94lS4J/5SQF/ujAn6+vBYmujZxjv5ORcSpu39qBZ13VGHJtEGSyQQqIv8A+jh/JYiYRQ/49uGitRtyvh2idXYP8YC+fNMnkAs02zr2mYJsPG9njvpyj1v1F/+3TZHNOYJF/CNtpZWQUKEXj6grl2pmy4aFhPJTsFeIfhdJY0RJdCunBoiaDo5338IHqnTzt+xP24Q/4mFQLwcSYj4Z4cEHbNwR/q+AEj2W66g6492/nV/MG+LPVBY+DGkgQ6hH3Y43mB4dwKjscKWNrGLiXi0/LK+QtduPSsY38H4TMKcbIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c6\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w3PjU/McRwH8EN1WfIwqeOK6JKepKxI38/7o5t5ysxDKfJQtFDjOkbaESk5w601d2XZsqS6dWWphiItxRaZmfWAyFDR2pKik5+H13/wKjMoGb+L0XIql+9aA2E2AYZ9X5CmewbD3rOwdNxGul00IrWz2M+pSJDmOpalVHLLklx+YjVSrF013D2aSXkkE4VXuuh7rx5Jb0qRrLlEbzdKtFgYyHfUHzvuTIepIQeJ67Jp2FIPm48+rDY3wWV2E3JKViArbhXJT0YgI34XPjj3kXx3Eras/Q5z6VTu/eOB28k59CTcSFfv/4BtWiVcDvqyz+pZ3Ol1nNNrfqHz9RkeHw3lZscLsEsMJ9+6DjF2JpW7yrqhuaajMc8KPCxmnjnQyKkDbis7pOVsvTwJww296B9QcY/zXpSbsmmig+3KA+/U/OqFN7oz3ETB5hQscJyL0NNRQvsjEebKIEr6W8U9IaUctHUZbqW2iXjDORp4epLUHSrK2xQJ1aND4uppR3HsnpF0Nw5TcN15WjjNJKZqH4d5pksiJtwFsWvmUcRIKcva5pCK9lO85S7VJsfw54n+VD8cSa7GUHojtVN0Y7tw8PeGu3uI8NTPEGOrC1AzGowlR/P+37wweTCaj8r/imbtNsDUSm+jusSnjIKwNlUhH3IwkzWwhOZLmbRNlUB0v4KK9HnUF5ZFr5w2kPpFPq0oNtCUDFecCJ7PEaHRnNAjwdJkz99MfRCFAazsFuxmlbBKsZ3f+/ixd38El7TrWCH5s/R1CHpNNQLjZLCXK/hmWitONRACTDJk6m1Q/+sDBc/0EidkfXQv5QqpHG0JE9qF585cLJY/QHL9emzML4fSqOaR/DJ8LHJi93et2FOlh+bnF9pfO46g8kW0veoWLDd1/F6h4LiLWnySD+L5SzvIPIao3yWflo4o8Q8jDrL4yAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c7\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBfUzMARgH8C2HhlmUdNPLH6lrohdx9et+z/dJVGPWzuIPeiN23UzULlNDqfQmvdj0si69qJWIZOp6cTMacaIXp6tFoZ1o3JQMzdvnc8zJBF8PIze8c0BV+F8YAqLRI4vjlukEHpp0xtWCJi6oV3NZ2WVo1nhwUHg0BymG2DxTxlmJyZiyTqeuIi9aJZ1CXoQvd5/9htId7shP28jXuqdhCUigkdlx6CokPFCwhb+0tSi+lJzh72lVFPI0h6JTwjjS7YowuClWXDreiJv75ezRoYTX7RqWvY/iYG9/dszYCm1yDL9+Y8MXzUWc1VlGk7MufPpXCvvYJUOD76ir7ef6GhNCpBns2FyO9DYpPxvehuOdruxieYNDegfuWT8A9WkFjyVkwapPjb7nrRSRtwQekW6s1R7k7WpPUZH6DwcURnTFm+nD3mHkhtryQqI9j5tKoLdkYtRoQPyICrlBGr6yuh2mXiXJmn1Q5TeAj62NuOuth7TmCKzUM6huXMTCbg2O16zm+59ETAbehrI9DhpJDFTzK5DoWEJtvQ30Nv8hRp+Eod7/EYrTEhEboCV7VT/JXDMD9QYJxn1vYI3XVTrQ9hkd8lP0/p6cDBviA3WUh2Wx9aIpexdGW/QYKLyOry9dsKAzw6RLwdG9pbRvbQbNpnchtHIONif2wNLkB6HBFbNjF2CR2PGQmxHllZmQerqLy28sEZMmKrAqQ0e/z9xE6k9rqI5W0c+ZxWze/lhY/HseQXUf6HxPnxjZUYjh8FrRabOBlC4PaO7iTtFHuRLFdbZICj5MObb5GJzKpoluT5yU2GO6X6Af1YQNsj/Cpa4FzE/6sCbKiI9YB5VGINtzt+Bc1CKO3dkN/2QrtA6Wozn1ldBTrYLM+IkmuFDMeZEjvJ2Qk81Obwr+GovI9TYELznBifAfRGGcGcgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c8\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMARwH8CkyWlMpQg/CCl2Oi6n7/76/zVApsUMelV4MQ5hHrCvrRYnuSl3IOFwh16kmHFMSUauxSGw5zbFyLl1N57F1fD7ja5LJXFGClIB53CZZj1qJiQ2n1uC+0wKaktaJHV7++BY1SlcGOoiulZLphYo8Z+kERYtNekJ/jAu6FBxeuZMTrhzA1KpLGK5LJ21rE0SbXYW8uZM4X3KUfXutPFxxjLG2G3a3T3J/fAKZxTk8MSNC6LxcLdRslPGb81c5J2Qlfp9s4nRnsGqRHSuzVkGZdoB0IWYsG2zAF6UvRG71WCiJQPGE2dT17wjOv4ml7g8+2JyrwKWOaMx3n4Adr/I44qYL2v1tlFTvS35bNOykq4Llh5if+HhCKc/nbSvc+HbLIFmXKjF6NZc75Q4oiyzA63tWaVfiVARf34WnpiLOqDBSrIuYG9sD6dW+cK6udKbmmsf4Y+wl2+rLFC0vQmvcM8QsLybZ0WZaeUYLlauVgtJ76fn3HvSFzqQb5t0U3rGfLLUChQTmEtKA0J8mMpaV0tbXZmiOX8SDFjW8DH4Qh1qwV98P+7ohqjeNZTh+RF9cF10vrQSpJmHE3YDh6I3s/VWPBYG3EJZ9g12d7pAsQIyUL+/op+QuAtcb6JDdW44c9eZx2iIqifnESRdE/Ci4nAoX+QltJCBnVyGp3V04S3ZLMC7ZLu3MzKT2z1VCXnww6W++lAaFjdAGh/ekmNxDhty7ZL+hGHUN16hpSh+EobXkOn4ZslJsQnNyG+U3nibNQym+ax9Qq0OqUB2kkk5v9MPf+fZI/ZUB6+EGSlR/gGfeWJLJs4Wv5dOweM50SBK3ItLFQ3Dak4V1m9xg/NEt7fFwxJ5zjtCmzEKoRy/tP9OPyAIR/IcKaYxmDNTdXrigHhBeLLHQ2bmnSTfjoPRiehT+A3+HwNPIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c9\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCywUABgH8C4pW6mdQ2jpYpPXeaSSuu//pWJm6KXmcD03elBKaVdp7tBDNS6xybNpxbXenNIVWg8Nw1UoWrkW1+MSq+T0+v12yZZBv+A0Lli0w/KphmdrxyD+wnxmZQQEjStwQi5g91dbOFVciY+1z+mYXoLVNX3IGe3AxIRRKEc0sDUqkHngNgr3aiEst+aR9XMgHcmGbdY+HNheid7rabAX/UXzwHmq003ldw9r8DXLjstWGTHFXU0v4/1gM19F4VNcuTHwGiqclsM4fprq5A8R8lLGeyKUKFyUwY5iPU49+ocHcke+MjmC07Ceq499QkucGTempyD4tQh9TUU8qq7CQGkUetwOc358KmvjPNnx0yW+7Ksn//cRZN8Vhed3h+h19z04uZQgqaWZVqrDcEMdTJf3W0GRK8T9Hcc5pdyH8xUvcE4p5q23fDknPBamkQ5Sy+bxLPMe6AfLcI/sqf1VMXWMfabNg3+xP0BFmeXr6HHwYdxJCcDCziBUSGZS09tsDP56giSHKoydLKIiq2ZsiKymmnclnPeskvI2u/C2BdmUv9ogrRfEo9ohDAFt92mgR0Qli8vQnaxCg/9cNmkbpb6hM7DbtgM7lK1UXDcM59Kr9L1lGXQyP8rqF6K1xxNBh3RQzbpIOY+eYKNhIndl5pHcYw3SN8agT2OPpWlCmKPcyNAtoTVr/5CqMJrrDTbsnujD36xd2M/zJpkKpFAkn0V0QgVMm4QooKPSDaYGjLtqIPhhzbrcGhiz+vHBrgvmHw/gHxkO/dwMaYJ3DOpsFOh18IZ3Wy79lIhwM9UVVb8nId2imYYt3tA8ZxGKDcEkkHgtueARhJb0WNTvNOJoUCk8OBHT7LbA8oiJQv8dRIbsBHImfMSqQC9paOc6JPUDIYG11Js4FXuVQ6QdL6T/xNNvjsgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c10\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCywUcBwH8DxOGQmjFIcrZFTS5rX+v+//ijjRQ9NYZF4tcgpbiHYVCXWewzxqax4bhXRrwnYtJT0uLVZuebVyE+ZoKSp6fD529iE84trHvdpoLTOYkGCtbTTPGG+CfkoYPXpzll+ps6awjPWU/0dFvcp4Zh/VBvMTV3Cy5yVL9DHl9bJsvqgp5rLsZgQOO/GlfaE8YNaO4qytaFgUhqQOAUrXRPH2vkwMn68j4WQj1L2d5JlbSPMrbhjTyURKgZY//7mGx7wrYqh8gIfr5EyqiKYCtScPf+rNQ7LOYTBJyMIKjKGZ+QZJnzNP7T9D9/1/sdViX1z+egG1soNIT3Ah73sqbPwUy//qbeOVbWbcUDCHU7pS2uPQTxGpBfTPJpdJQxzZsGqOWgWXcH3HZfIw1cXuRUvu2tyJYHE6Ep7OccmRNATRFl4m6kKZZQuvapIzT7kPuWfUYmTsBg93X+ZmG7aQ1ykf5LssYNBxGvlmNYiX6UK20YB92DlCdsnBOBvZAea3DImTCX/G0jDVrUHpTSV6S4yo21xPPDTpLB4takWjXyrGHJ4jcNdb1qOeJP/pi7SYXI3Y13IoZxSYF4l4SnsDft/xxq0GK+xoLMVPbQUm4sqofG4X4nOeILTjGBaEldg3GozkoDOoc6iH7UAzKfkU7ioiyT6kApH65bD3yoHkuxgWA9OkzLuI+T4hNO+auD5Xk2DAgw5tjQBeVyMx6wUlZXeRkW8Sg80mxMi1e5dcOUvQfGbClc3s3PFuGvhiyLXS2xQhugrTajXlzb6kCYNaHPAYh0Kdi6PWAk4tmaTa309B1a8oxUcKXUUmvVJUsa+no1DZ0EQ60e/JuKebbFYC0VZigbolb8SaOECtisFqZw0V/lDBrbie1m/fjSH/ZRKb6pCfpRsFuD+G7PAYglwN6T9UoGyFyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c11\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBfUzMARgH8Cvk5aiut3krI7W8JJG1+D3f54+jqHnPS7WFdGlFkcMiveiSt+vSOpcsjs6at5qW221a5Yre1hLXy2mVl/Kys7DIEfH5tLmcQLnrZYpfkkeavbP4lcRKXl5yNAeGcOBREYckjcF7x1tcC6xE1/xkDgitx/VHVaTwlmDspxGjZi2MijRIu7tRa9FDcc6ApAimb5tKYKr3gl/YAJRZb4Smjg1ISD2P056dWJ4ucP4iDfTVV1Af6sZidR70WhNsS2zZ0FpCPl1e1Lsik3QTWhFa5QfXiR/x9F4FfqWp4d/pRP867bhNlYfZjQU4WDqN2eTAL46XClFyZ/Yp12JXUi1adHrck2dBbHcfvdlWmu7YjgDvRDjdCITdWCEppkxGZEElvugm8UB/Jkv7o4VcHwN5bvtNwX/VEFtKKKd1Dn96LqVj30fW3LkUzB+CnlKXRbfma1sC72yrwZZtsZDYyjDVEIfoO1Kuf5dNqpQj7B4+HcpICWv3XeU3Vl8Orq3EXc8ODJusGCrWU8zfMnx2HIatbA42ajUoEAl4mKrAeuca6Pwvkq50HYU3TuMDZRrsDgGan2XB2KDDspNT8d2wGBUZEZx9NRmvm9ci0cWN5yljeMTYB3lGKPtZNRjoEbFflBITYix4/KQFC1NErJZlQB3mRDPi3qLMpEe6RzXiP9vxIfezUBeFc0XuO0Fel0lbrDZoWjBKDi+NWCleje3nm2E2KxF0uBaiwT6hyHdccO1Jhkq6BzkWJfLNAUie+Z7s6Qc2qxqpVQoMXxgXbka6QLZcTgmeJuHPn0905pYaTVUNNKg1Y3XaXlrbrkFO8Uk8sBHz0rA+7OnLowQXlVAnKYQitRyOHqvgnnSK7EdvIHZ/L8XMPYIo2QtqiHNie1Uxtn6JheNQDaVUpAtZsbfxH0qBt5vIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c12\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zUBRwHcJN80N8XEspjJ9jFAE2ehcf4f7+/8w4FNUklpXQE5PSwA18TcehQORA4nK8NRj5GNEoNNgcB03PIBlN0wHbkKprsBnLKq0JAEXx/PhfM8/E08WM+TyuLbjs2qeaaI6Gm26HZPQ1uO4IR/eYnrL16iVLyQn1yOlOdsOgQmnwNiZVB0C9rhbHnMkwVbbjx0XUoObn8Lr8f9hQ/8Z+ZhkHlAQ8l7OI8w0zUGXSsCTDB+HUeAg5XYvhtHFz0Cj3eNEHzpZabO704UKqwIimGW6ZreM48ilVlrmJzatg3kSE++WHYMlwlpqA+zrXa6Dum4ue4rYz+9xUsmhh6Dv+N5Q3PsbfjJUaUqyj/3I44ix4ben04WV2AxvgC5ugeUmf7i3OOJsmJ9esZl/QjbpVUo9ycS3uqA6E9vjw0uE8e9YdhyQE3OWGtRXisjnedx5G8y50V2WeQOjeWH1yrYL8lhA3N7UzPbIDzpit7VwdD2VcnJT7e/MZzDkO2eXH01ztoHfse3VUe/OFDLQvSznF1SytlQziN7sdQ/F8Ilm0cxfmRAPyysoi67BIu6twe7V/oRLC5Ts0oUFjetASmfl9EaRehNC+buvZBWAOXsrY7mcm2nerLtTYUu4ZxMmU+teZCODJ/h3NWAv+wbJesyk3sHjqtLtavQ3zL/6xMPS9r/Ke4/3WvOvsLAws7LqpB7wawxwoWXYmQkw1NXBm5WHWf8pBGxU2a63UI7KwWR0SgnOoziXGshkbTFX7SrmVXXjdrx9Nl+oMF0vXPCvn2iFX+9D4unw3V886zce4sjeL9nDWYGnKhWpbFCXsfzQaLHCyPlIAiK8PzEzDl6MLI7XUyI9tH2i6MU1FnyLOOZjg/PSkpGZ38yvGInnvuwW2oifWGs/Tekad67Y/HioVn5HGsXoIStbLU7zJ+yw+V9yQDg63IAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}]]}}},{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1126\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1127\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1128\"},\"data\":{\"type\":\"map\",\"entries\":[[\"c0\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCyzUcRwAcLkiq1SbV3dKW3fKHKmudOn/+yYp9EL7O0fNxsVM6NZtRY+hd96PE43MrZdely7qbv6/r2fHudXmkZDLVVtCaW06bS19PhVCV6gL9IMC0RiYxm+AnTAf5o9HwYMXV4h5eJDw9ZRs8Y6GmWAebLPlEPt1/qCc3Q7xKwzEEJoP20VqWHukEQSTFSDNLIW+Yk94WiCGuQAv8CxxAku6DJoNMWCoHYG/e1yJOrEEOr6uIu6n6mBxhgKemdrI4m+bwXh0D9jS5yA7tAaWDDhB7dgj4pLkBq9L8yAtwAdexo1BU6gB9H8yYYCNBGuqEA61nwBdkRB6HHLBHLgfvGbnyZSDGTAzArLio+BdbzQUHVkNOPoeuuQ2SDRx1E0uwvClDij+8JaLCxKA0llFD5TpIbi4jVSrVrcoXMNww5tdVL/5HjamhYPzpZ/cSakMdB3XGU3sJlp8P1J67XYSLrhTyl1dNk+Ujw4whVpnsLEHqeaMN5aH8knYHI/7tWYpbfZ9SK3TOVRD/Wi21ES1PAn6fjJSfpWR+ZH9j7m7rYzpUWkx2Gc5+ajLAP2IJ8z4/tk5ZJVTt4GnzO+3Fs7RK5YbnZJQ5drr0srkXFo9cSPIpVUOJOAV+T4dTgo16h12HpEtXWdZssZFwqhznKnPhIjJOhyGz40h1BLDh9O9/rt0JQbGse0DWZ7whcjGh4jJKQuElXKyY1BHyqv7acO+RZi3UoD2F4UouclifUIfbl1VihkXnqAjrxWbJpPRPWphq3V+CDGkBT/PmtBe/Bjj3PejtKwIP0fIkNdfhTUp8Ri4N59eqLtGN5o1lE2JRstuCbrYqVH/JhnFaUE4UX8L81gBTvSx6HdRjcOdncgXazHurALXczL0mLyMx1JZDBKVY0ClAvXduVjfoEJpdBl2G2NQz7AY356IIY0S5L6cw5bzCvwP+gQLsMgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c1\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCUiTYRgAYNSsqJZlSzExBVN0LDZniM3/f7/SLo2ymnhlkhciQxBnls1gycYm1kpzJvPo0LI1kUgbOv//e81I00qDqLTJFh2KdBq4KRn1PKUyIwxZ74LX2T7QXK2jSt+34Mm9A1//1IDVMAvPcRkKElKgaVsRKXdKyflTXkQ7HkdyS12wIU5NwhIfwveYeYhe2UwSSySMWT0H1Wo3NIUEklHtDPx8qSAfWnzIt7UHaHOaBP4ymUQePQbvFgREUjQMM6E9RMcpyAXfWNIZ6IC0CAU5mH2U1Jv8iVSmpHbJPNcltvCNXAed3RuCk1M1tGR+kEYFXIZbbSIqrggl4VXrSZezH/alFZK5Vhk0VAlJuSOSug96QS13iZ++NQGehctU5f+L1Ryzgc+/u2z0xS8QXWUBP1STrM9NkHR1LViMMvZxew68HQ8lhXX51FWjJu7YJFaUuI9QJp5Nep4Khj0qcI/kMYk7LCB8BVC8Jgoyq/IgODgZTOxLWnnHRgX9HTCxEkjN8XJot+XwvWmPeF7lYPZabjOl+dflgpAMUAUZQelchIRVCn58XAQfi3rZb2Fl7GBDEDxYbmN0n3X08JvaBGmIH693e9MMaTe3ZVcyFZmucWviPHKRj4zeO1bC+ThiiP5EBDUKRgbxy5JdYYCE/UGd7PalRlSp79kNBQPccKmADy/W8PLJi7RsbBM9ElPCZXpW+GpjLNMi3M6fndfyZr/TGOmS4Q/nDexrFGGBvxjP5YZhyvF1eEr/lC7ZFql3VD39PRWP0wNduL5bSQX5yXRachMv6dpxwhWAjuwenDEP4b/M+7ioN2H6lQE0N4ygun0Om0cn8Hp6M+48w+NYeiW+r5jEFuEw7t74BK2uYCap3kpfFOtRtUeJy+qtWKbx0PJV5fhpoxbfZJnRfLIG7a8b0XHoNqbG67DnmQnDjf2Yt3oUxR2t+B9hp58hyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c2\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w3R/U+MARwA8F5WrK7azdlk6zSRlnK6dlPu+X6fwkxv3k/mJVmh0htZ7zldd93lkHUpWi/TtaaMuSahe56vlYRe/FCKJC93mGlSilosPv/CJ9V2BKXr7diDm2fNZhcZoytpB/H2EbCozmOPSMpuabKCwqpBe18Nxgb64qPxFyBUNDEjHp+htd8FJxuMzJTGgVt8ygiSBAHrt68a33vJ2HCbBLYxuIEt2uTLjhf44UlvLbZHemJMqC27aGAPjr4Twy+LO5YfCEOVJ49XEi+jZt0a9tgTGfJBzvz49QpITqhDg5OzPGejGYMP1ePtoWp8/EqBARcU7PVuFe6KDYePJVbGvaoNds8qzQvRa6FzJhSf/S7C0m4/HNA58Hl33sI3+zA88LkPdA2f+HLXGGpcVU17RTb8sYMtUCS7xWfNcNxC9hJk95dhfeVp0rcFY8DKNhLtmsKqUG+MarVlr1YUojn5DH83P4SrjXTiX8/l8cOZalzoLILWbS344Gouk16QRPLX3yErS4B/ivUckxmBK6KmmXrrBZjI9ud7l2mZ8EEtv2y4GI1fndEm47m8xc2WXHKcwGAOgZqgXlgqaQSHMUdonhrFva523A5hNdbVD6FbGg9/5T+54Yu3IW5BhisMRlDfNEGksoMrnBabUwN9sDul/P9VGVSUaeHl7p0kWu6EGw77Y1KzCce0WvwyWImtNVWwdaMe5BM6EPjYczU+X5krfWc46UwpxYguEVraSJfaQUFTtVRXoKamc0YqiE8nRWwYReaLybT6IX/63lFeccSL3kcn0lO1gHoc88ijX0cffoRQX8Y1soCGvJV6moPtNO9zjSa8EildnU1yiYFGTXpKMUWTxfqGr+x3pIiz+XRfmEyNqR40HxBPN+NUpHTYQ7nztSRxPUVNFcmU1hVMEaK11Dl5ghyfx1BLhpK64m6Q6ngKaYURJBVeon94JODkyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9+soWPwUeIz+TLoE/0+TWP+4U0rxpguM/s1vIPwD8wz+8sVg/m1xFPxvFvT+/HZ4/31i6P+EEUj8fbbQ/16iSP79pfz/VTSA/+4/PPyvHjj5CzDE9/EWTPfT6Iz8r+R8/dR95Ps2V7T1fj78/YTPqP5IIaT4ZCII/QLvGPkAeDEDqV04/2ztUP1AOaj8fLRU/qSzbPrb5lz/hXXU/MDqdPCUlrT3Bz3w/5x9LP7N3GL6gZKM+xIlYPxdwWT/3yiY/MeCSP8omuz+W9mg/CounP3V5Zz86o4s/9DuVP5d/nz9LFfc+Og1dP4fwij/3r3i9mLeEvP595T3YIIC9G+b+vWyqg71ChbG96EuPvdloUT2V2Ys7h1DHvPL6hL1ArMW+HsVLvk9Uhz50TEQ9Bb4pvTbDOb6p0Cq+ZJ9xOyQlRz2sdIQ+Ner1vOQIDTzGME2+MDhGvipEBz6cz5I9eybuvZgceDp0oKw9Bu01PpoF6j0E0zc9k7ZMvSOyur22eR0+RRpsvu0iPbzngnq9KiR9PV6HAbt4IxQ7GJ+PvYdqxz1d4yg90f2wvneRDz3XfZC99ZhcPt3iF72IJ7G6nf8uPiixNb7ODxs9qUTJvSaZgT2luyE+f3dMPtx6ir8S6Wk7x1fIvDANmr74iGe+VN6Lvpoxtbx42MG5uzUAvsZ6hb3X8PS9ufURvvS7pr3BvGG+RekzvkRODr70FQE99y+3vGKmnLzTr0G+OgxFvmv6JL7Bzmy+1FKiPVF8kr4zJ1O+YkXyPS/k7TyU77a+bDbVvXOuwb3WSAq+MkQEvlnzcr7GmIa+BOGivRcbj72re5q8IQxSvlAysT0PqLG9cDCNvTjGZr4cs9q93Bc/vhEJcL21WBi+GzBnviAjlL1jdo+9RHzbO+A+J76fxLy+p0VdvtYZ370Tidu7pRJcOxAJmD1tx6s9zcI6vknvsw7IAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c4\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDUyMYQAHcJSk466QzUTnO7YsayXd+/xfpgyJTpkl2e5wOVaMPi9HKVdKqDQ1SiGRVpdOJe/zPm9m6uYj2crWahXzFeZ0Vj5y8/sV6KKobLCULF19hnrotFxLXQlZJnnghuaTsKi6KnhdW4pw4Y1eVIc+EhJU7pzXTjs90TZfECa9oIaJUnHz+2LBqVABl4vZJK9ZLuwpMtH1fw7j6B4TqhxB2Cpj8KvYAp/wNBLV1I76hxbiaEgl95tiqeqElnIhw9zJzOg2p7EC8rZWKYTOGyIbu1bj4uSpRNmZ1DZ0Kpkaz1YgPu0CNYVmoOfbAtXQjE30S9g4N21TOk1X7l0n99Ojo8wojlZfockTyeLRQJugmptGTanuYkCgQjyM6/RUyz8a2WvFz7wsfIhVi1X3COblVpLhl1bM9roqrGnMF2bntHPytU9hjVoJX185X6p5jlq7BOPbUdI92YAQKBBmDCKJ7334Q7Mi0Fzmjz51JGqdE3HHkQvTbmfEe9fAZZUB8VSJVmcLdHMSULQEpLNYj2sJesyUQtB76yoaPhciYHwHzLtKedX2xfiozyd5dhk8AjNIR/UlYv7pym92U8PzdTY02nIY+q2kq8+GRsUiGDwH4Bu3AjHnh0F3OvP1WYsR5PYA2QU8LDI1lj8xo/rxQn4weD8ue2fAVRdJB/8NorLQjGVnM/G3vRK2Vk9YLRJ6prjyx3/H8bscN0AV/TQ1zSSWJT7hdEUu4njMdDbw2YIG+W1uLCxcfOpvJMeSfWC13xUdR5LgZS/BQetp1rUqBQ9iv3LfI7LYs30W1t1gZkl155hhxTuWKmYxvbeTlGFJZzWFepbjJTGNXwzLVfpIKdqF0ui0Anay+bQ4a7mfmKmJpuFfnKQR+YS4Yb5MGjsgk7xHBphNW87ir9uosf8rO//rBwsO3sZqPDJZq6WFGeSv2M2RJvYfmEywEcgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9S+ujPBjB9T3GKqo8e8j5PAwxWL07h/o8kLYPPrO5Qr3zupI+xV/rPrOYqD4NjOQ+SL3pPj7UWL52mPk9qgiBPbAshrxGLNI7QIlTPXe7/L4ceOU9zfutO7daZT6nd+A+PoVmPvcPb76wKjk9BSwEP/VTqLycQZg+5+mFPgiQAD4RYYW+4X4hvgIpjb3T2ki942b0O5Tp9j5q6do+s+8DvpYyLD1M8KA+mCM5Pi+xYby+6FQ+CDD2vAythD4bhxM/AoDoPYc7JT1qAI8+2bCWPpl2sj0FHee8Y2uuvPY1yjzfCZA+Bx3JPZyu7rxT4cI8x8dUv9i1qr6uqCk+G2EwP/gGwb4iDIC9zz6zPpZLaz0ZdHu/rx5DPknPmrz7A1k/cGc3PTJaAT4HHHM/M0whPUuKKT6felC9JjdCPCuyML47HQg+YR9BP7Jcob2qyxC/S5TrPqslTz7sQOa9PHPPvSsEIb7VOSi9IPztvrwFr75VDbO+AViQPs4LBT8pgYI8WNcXPxPMWz50Ots+q392vgnbTj5XjJ898AqePd/vmLsqU9c9u307v6yTRLyeqpC+Z7lFvWg1bD6oUAA+/ouHPo4PkL+8bbm9tKiHvrkMgL5wAjM9m9LiPCzAFL45FES82+42PfvPxb1OliO+FIdfPRihKz3VCO+7TAYWvZi/qL44d/G8s8qcvD9hDb6mH56+ijHNPEGDN77wnu2+KIiGvuzxib6xVeS+ipv/vH1sML5o7cw9Pz7IOc0RC75I6cG+7ralvCDCX72qHw+9ZW6avPnKDDzwY0W7+06Cu/P6cj2h45s8a8Ycvj9cxLwUKYK+ug+vvCQlAL9kSyu+or5WvrSXiDxHTPs9i5HZvnIn6LzWHg05DfIWvo4mij2ONds86l9mvKthfrz29wM9q/EQPlDKnLxY0p+9CL5oPIs2Lr3/m9m9X7pRPQSCV+XIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c6\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf947TpO0Pkrb35HMA+4GbdPZqxRj1P08Q+atQWPjUUBT4LcJI+Usu3PTjB8T5kSB+8a8dQPo4Zmj8zQ38/2FXSvJ+NNj5hdJM9BoljPjjdADxbQKY90JmEvVFwOL3EGdY991d+vfpilz3HfM09caZSvncWM7xwN0M+QsP0Pg0Bhj7QhKY+baxdvSlyXTzVzPW9NgzDO6i4VT0Xshm+jLUbPvGu1D5Y6QS+zh+EujSXHT3R1bw+PY/Lve8SFT+8NO4+zS1YP5OCrD7mCHE/9hfQPnjGnT22Gfo5dbiDOcjZLj9b7p8+N6TWup6kwT18lSC/LXSIv+PD578DN6y+N2IFPSE6hr4YbBk/QYs2Pj1xhj3loqe/iZcPP1bm3b1ozCm7YGLDOtrZnbzKzzM853FLvqv7Db0/gG6/b5qPP9ffHj6H60Y8boLzPALIzjxaQpg8sug0Pm7O+jucBLy7jspVPRIiXr3yq9K84Id1PMGXmjsPYKw8TCP4PQn9G7304Yo/+Q/RvJPHGzwj4LY9cApTP37IJ717o6S8hxAwvam/zLtD8Iu8pE0NvoWe9zqHY+I7FwE6Pd4JND4Idng/grOYvcCi0b6adPu8xmpOPUvVnD2xI2E44nnaOrfVb78sZQw9nbMfPVB0ATxym1s9qVmtPXrKQT2Qni69sPL0PPSnlz3x2D89eV0cvkXOpL5svBO/469uvihzrr6qerC+/undvuDv+b55IYa+8UAAv2ZXGL6iOpK+spLWvnZLQr6GbXW+k2s4viAbC72X5ba+2qk7vtmoa70Eo4q8AnSdvV3NZb32Mya8S4VdPKbbnrulVUW8bPlCvMJOF712Y7s+iP4ePiGEY77DVSm+DSN2vFKEVL6QVxm+7iL6vVdaJL0Rk3q+hI3GvDPwA76hPyi/DsChvuNQAb4jZy++Zb/uvPu3rTwEvxE91Yaju3UFqJjIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c7\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9hdsWPSYVrj8z+Wc9u4XEvc6hXD7uNn8+tdoBPzWISDyODk8/ejtePqHq4z1FJf8+iUUgPzIpXT8JDks/4iWbvDyRdj2dLSw9jTxiPs/wgj4YpQY5uYrEPXRwdj76wTA+J0qDPGD/yz7M/1U9lEgZP9npArvoXhw/eA2bPfTbDD0Raeo+EC8/t90oP7z62gY+jiBEvnAuYT3ipIY/e9UCPxvEl7zv1Sk+ZyGkPSsChD5PKrA+FIqIPGEnpz48Pcw+kzdcPX1duT3QTi4/g5FTPlU3ib0EITG8IFIbPuWgmD0PKO48GFdCPL3JDL4WTEU+9K80PpeF7L2qSBM+B+0HPeGpYzwm4oc+2geqPu2Rw7mYqTg+V0aWPpfAEr30Yti8lGgAP942kD5yNh++YQzYPeQCkT4ZpmY9uRc0P/u+Jb5tf8486W8SPpnTOT6IRju+TsgiPkPixD30byE+N9VsPkF6lL0hhj0+h+UTvc8Vsj1Mhe88U07FPXlaLz34ow09AhSDPfCfhT6nhpQ9Y/cGPlHUQj5uS2U8uz9TPZhilrj8a8m8K4aePQDGFrz6tMQ9DkG8OtrGYjymcuu4y1fQvc1Qnzwiky+9u8mAO616tb3cmqQ8qGh8Pq1zEb5eS7c8j1JJu0UybT5pTN09mFKXvcW/qbv9U9Y8y7SxPPtcBj47RRI+UDwyPby8urttkAa8DKJ4viqSGT2z6CQ+kTqaPYBcgb2CTPy+9hZtucYAx76qatO9Tyjgu5jIjL5Zggy8ZO2sPbsVkL1zSkU8VJoDvs14EL6no1+9zjR+vgJVg736iCE+8y3SPavXtbzwDiK+0hDhuZ2p7b5EdAO/QhSgviQfBb6AmCO9YEOMvqA6JjzLnDa+FGj9vdVOYL6viM+5NE06vu/9srw2/Wy8VTyFuZ2HMr2sbCW9mdxTvuTm87zsk/C8ag09vpniuOLIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c8\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCyzUcRwA8NaFVORsdcPqhjCLTgtH9//+fqmt2U03Oa6zkNWWR2V6KRUVUXrS4+KGHNEwS4tV5/f9oZbuPGZzIWHp2nqaIqGm9Pl8n/UBZfEtbi72ptXvIklz5BeaaxdCzh/vZGW2fSSn3Imvpw9RWtOD2aV38DG/Cgmp9UKIaVJR7rmX0o4bdLo6ibYSFfkVLiGrTBnYUcFJyg5nprziQCtPp9GAzkmaupBBN8kHeGtpPh1dFQf2S3KpPEHOsj5VMfNUBL1ebKDiqK0kQtpOmV8I/Vk7wg0rfElSRDpuVQ/y+xOcpPs580CSAJHbt5FXw+4Y2C3hSXoNeFRLeW5OG+Y2RBD3JbZki0sejS69i3d2zUNmgxgzr+lpeF8NMRnGyUJcvaCs96b+Ul8+WdaPf3ymhaXpR2jUAR0GWz3gCasINSfYkUaNhsSL8qm5oACw2ZvKHm3At9EvyW5cgQGmlUQbZQueQ0WQl6ZGNtTOIVILb/zr4GNiIdGLm5k2rlCo635NGuuHhAFjv8BFKiEmdCnGerqBU+FiHlOFeL5rv/DC8pXc50EYfuw2fzLiw4tlP4zPVQYyq24CCfsC1hEZ6M7GQ9zmMeHzzF/I7oqFHgcvKi+p5OrmMN4TX0Qn36WCVOtKDo5YW9z7reB1pg9lNtepKHM1njtRBCXDT2ny+AyJ7TqFjr1Txp8u7/FBsh+7J9ETx5jjLdZ9dsaaFAIqSx1TWIJQcogpFml7QXP0AqwsaRBqLSdB+SCQyK+UomdDE5875gPPtB78Ymet8A864b3dZdgQZk9El3T4yDWDXVunU+zJknKF+BvyqY18LBVh53Iz+fPhu5ASlcNsCly4ZNcgBuo386ll9qx6bg3fMnEbYzJqFKPDC/BMY4HEMDf+26EDghK7udJUiegYDIJqHBrBma+db2M3gn7gTVMaiMSHW3oqz+F/yr6zbMgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c9\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMARgA8FSESNThZCWSRzW5sl7/7/sjeo1x55GiZeV1PVdJwigXNVmRpMciYtZERJvOfd85Wx1n7KR5ZLnktTgrJW6q8fulDARido4PznJmjHZIEBNifmKE7ys82twAG+8sQWOZA3b5WdB+Swgmtu6jcP/bgpBkgeo9U9HQZ8KBplqUHdqB/v0JlKVIxcIfI+hseQuPateh/0c5jnMuQc+BbFS2HMbrBgV8qvqD28udsKhzmii9XIwCHYCWOh/EtXkQY7IWH7o2ooQC8WVVp3C6+yVkbg0TJUc/QY9xpniiphjrfn3GawWRyLEWoF8P8XuoLcZeO4m9/iOQ7XoA3qSpxMdUjf/SnoI8PFWsXhglBsN4cdlvlRhaaqCgr4F0pmA+FzlVkbtLI6rb9rB3ZjvIi8NQfWg+KcwmGG2y4TzK0Oo/ThBv9ur49m6pmJ8xUWwfFnh7v5GUyyZplZbdbNVdhjd7JdDoVU2uq4spWRPPo5pc6lVG0uPXvsJUmMFds2OoM95G4/UsgtUda3hB1lW2qquE5cf0KFnZAK6JFVq70HpQXbAVawqjwLFfrblyaR37WAWg1N5DOLL0liZuZzdZv1jMDnPmaSsKTgiGZh3ohmpx3sVWSO/5wri6TfgweTyqB70hwq2FPDsc2ZiUx39NGSRrysdgW2sxOKSUDq4HXJGrQNO+4wDPx2GzcgI1JJ/X+Ow1k0wVoL3y/hzvMqdzfuE7XpVfAWVhy+FVnIKnbEtkcayc0lOChLtKFVeEp/Lw7Ebua0rhmPYu9i3R8/HXORzV5wG5LoEPTkUD17wLYI9Kd55bpCJp/V/aELuAM3VnqXNnHoGunuRHZuA3N28Y0h9r7SA/vrs5lr2evOdHTptYdn+EBscU/CDtHhXsl7HhiRdHm1v4udOKkHiNA1up1hPL91LSDTuePqSnRUNu9B+Ytac4yAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c10\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9GovPPho+o7uoxZM8pqAMPkNdFz9FSaU+ds8SvXJnWD8eRAi9JBGcuwzRwz1srPQ7IC4nvpbc/r0C9ZU8VOINP2tQcj+704g/WY2nPt7oFD9Y+WM+IP3xPBVBnLvjBCq+KVr0vV8gOT+ShFe+CYZuPex9mD4q/sq8pnKHPX0bLz4NPRc+x1CvP1tG4j55jnE8Fj2MPgeT8Lv4fcG7s10LP4jWQj4t9G0+jU2yO1/lGz1L2j89q1kiP5YDtjy39Q68H5s1PhdBSj4u4BY8OcchvWNmxD7Yl1w/u59OPoxCnz4gPIS9bnppPXQVxD0X9A09lU7Gu9XhGbwIBxS9hQPgvXgDST15Da69/exYvhvp0L2VJXa+B4j2Pk7pY74wVRi/zfebvDNPOj+fjYk8GQI5PWW5s72aaGO/ZrkBPw/bhzwX/Hm9XXcjvq4LVT0bk8C9IxC7PdNDTrtUd7A8NcpePU9SmzxMlZa8c1WdvGYFWT5s+Ug90nxWPUbKmzyCR8U+AwYgwNX2Hr5oc5y9eLFlvvaCBzw3rlo9UqegPBQGSDmAKAc94dKDPsf9hD7x+OM93Ci8vCTObb3HzUk9tglVPfWOI7zqSZM99u8jPXsHIDutKhk+1lFPvbWzZz5gnfY95snPPMknnz5PAja91GefPCTvWT5ZTII9QOnRu35YMD0ni4a9zCLIPb27jb/i0qe9Bq0zPSC6ML7pVTI+/cGkPZsddbz1+7u6wBcHvnpbnrtSTCm8JyHiPPoGDrx7xJe9XRcEv0iFk73mdzm+Ub3WPZzioT1BAJO+Ks/RvkzFgb5OOuq+3oVpPXE2vL3eKaA94c0yPtuBaj1QDVY8aGdePpvwaT1ThTU8a12FvXHgQr7Ucaw9jAyEvVaGiL36q+I9+tP0vBhumr65vpc9Kf5uPUkgzT3eoUe85Wa0vKDJvr5rutq+jQ4zPI3BdebIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c11\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCyzUcRwAcMXJcKdudlnaStSJMkWI//f7L2W9FM56kR5aKuaZVbR5VDsmNK+FCD2k6FYR4+73pdqIS53XekjX1vU4mYTySvp8Xlp2woaWWm5475/G1hUiPrc+HYzfCGndFym/vVmHvr7T2KPpxbHUIpy0t+cL2rUgtamDsFgTvCK9iTFnfNnMwZ3omL8FtzrMqfRuSfirYTXEdvXCx0/A0k9vQ+uwbi4ko4LVKh1xPEiB/c+GcaYoCe9RKBp6GPLCNZkYZCHHyfhUgvYsrkOZy42OOsHQKhmGWPfAw2e1JHnFwQFtAP0Ic/UyiLlJ5+py4MHpLDS4bMpfTRDxHcl+nPOLKTwimFXRDzleTy/FIU0gvp+9jxY/c9mlVjl2N3ni0Hg3W9V/Eo4XG+Fug5dsoMiYAsNFzcIImVKXVQx5ta+haEBOaoU11IkyYSLYGwrNFMqqKTFNhF6Hs25pys8bLfncyGIy0DuxG4bHVUc1ejbkV0LNTsEsWuLAm4XHMqt3QsqoHCdT+0X84rY9YD7diGsFYzAqrYSGEmvlAhcbeGE8yLQyMWoTvdBnsy0slZyC0gVCtn+lCBwGl2Lk9yQ8k2PITDX+mGIUhvlz81CgkOBX2Xkq3RQBXceM8YvahHZ6d+KhdwL0uGsHyS5jqmqlHdW0LsOxkUdo1daKTmeB8qRLoLz+uUr8vQYr3RToXaZAibYQ4vLno7keeb5Dy3larYW2xF74+rsG7ncV49O+Fmjbdw3TXONRrU6k54EDXLzdE+5xuDMVSKrYteUc+ajHoftWCfP0v03l/YXwu8KRkiOUqhMJC+nDbABEfWtSXdilYAJ5IlJLAXvszkhndhgqNNk0t/083XLT4eqySspy94Mn/racyfqLVH8wk+YGReSeEgcjkkh6K25iJc2PQBvFwOKfnvr25NDfal/yCcpmjdE7VDWyO/QfQOZPksgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c12\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9RRMPvRNSB76xZpg7i871u3cCFryfuDG9aeo2OTca87xddds8bXvqPUvFVLqT9Eu7uLMiPZU3lDxk/sk7IazFvXienD3YCHI9/YayO/MSbD6nLH09DIgIP7MIL71SNNC+865cvncmOzt1pSe+TUokPCJjZL0S5gK9ANpIPSnI/Lz9Ibi9WXFSPBMcAbzLqv+9E00hPiv9+Lyq18o9KGABP0e67D2vWGw/I38PvX7MqD9UnJW9RAO3Pk/EYby80JO9F/oiPVgGDr5z9A294es7vZSbbT0cs2k9/q2XPXoWNb1DZQQ+PAG9PATopL0eYr4+hqjRPq8ORz+4kiU+bSeZvVz4qT3QiRG+wZ40PR1SsD2RX0w/HqH0PK7P8j4LnZW9md41PoW7T71hHwE8rFBGPXfRQj6QjWG+su/Du5D+yT6wWIg9wnDpvZjW5DwOs5m/idP6Pa85Cz5VWBk+m82VvXozXb0F5uA9pakDPvKVhT5UtcM+ZWoqPoessLwkXdU8DAG/PRyD5jwjldS9LWV9PoRc0TorJuM9oAJPPATIaj2cqx49SHMavb0qMDyU/XY+usrlPRh1GL5mMjw+Ld46PJwGMD2BqOC9xjPrvW64X70nPI890cAiPjbMLb+WqUE+B9htPC1sG70W0uo+GIGRP7zq3z42j9+8ClY8vl0tDbyEO8G9GQ44PtUhEz9rznK+3Zn5O8+cn77liA8/bykyvT+JWb/sLsG+bZs5v4pQjr5fQHq+rsTEvUV9lr6nKUm/OyGVvpgkAL8Rt1G/X4j+vjs0hb5tkcC+K10svmKiQL15rQM+C+c5vigD2z5WHxW/DZPEvjtwTr6DoTI9nc7CPdpH8r7xKuG+yJe/vleBr75Smom9K4gzv5zzF74klyO+FVumvcZyTb4rIzy+SXIrvNk6Bb1OFDO/4g/Uvmpks77Ln5m9HY7ZvjqXKtfIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}]]}}},{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1129\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1130\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1131\"},\"data\":{\"type\":\"map\",\"entries\":[[\"c0\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9pEACvrLD7b6FGfq+VvtDv8XWjL76HTe/nz2JvuN+KL5FJMO+/XYgv1m76L5pADm+Bf6evk05NL9ZnyG/9gx/vroCr75wXzq/oJJOv4yeB78tvMO+Awz3vegZgr6J4PO9KE0zvUvXRr6a4Pu+FIfuvWONir5PVyy+9O8Rv73HIr+eF0+9iiImvj8JP75eARY9n5Z7vkhNCb4fO5C+8xzqvioS8b4TI46+J1Lzvoe/7b7J1kS/dEKavpi58r6ZATq//wISv5KMQ7//1he/n0CmvsAkM79mv2u+4yzevs2+676WIQS/rvnmvmyWZ79YA5M+LkYwP7BX9T7Bmx09sClUPa0EID7F6hS/uskrvoNMjDuj6mk/xuV7PqmYdD94dws+6/Vsu9KmzL1hdbs7SPnJPT77hLe2fTY/eZ+BPSvntb1sPAg8TzoVvbLtpz0hYg0/u79nvff8PDyVqoc9lFkMPo0kMD5D5wg+6DSSPuemBj+z+Jg+0oL3PKpXPzzsm5C9Oyp+P9Y2I72c0aK+L1WVvqrJm7zYQcw9JSu5Ojp6Az2ZlDs8QKriPfXirLi4sQQ+I0gLOptinL5GsRK+IGN7PACWKLpCNBY8fm+bvWxLDL0gxYQ8K4wHvNbfNT/9pqi7OK0EvsO6T7+SWNi8hVAHvqtCB74Y6Wq9YAGMvgXMo71Z4Wy9J6LyPa7Jwj5WtPM+WDPwPlzWHz+ABJw/fpuMP6V1mD+Ryb0/jTBbPznh1z9fico/7e+OP/BhnT8DSK4/fPJjP4pGVD8aqzE/N1aFP9hGWT+cBo4+N8EUPrcFhz4k1QA/fypLP7NVdz/IH3U/Tdk+P79zjz9X1uQ+yQomP1cDiz8Dxaw/hjm9P41zOz//Ajg/UPZnP3KAQT+EsYA/yPQWP265RD8yalo/mvqFP/6XPT/a+nI/T0ViP3ybQT+hvoo/guxdP45KZ+XIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c1\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9OBgUvcqTuL1rYkC95snHPejzIDyyAhS+l9kAvvIPzb29fqq+UvCsvUGBAr/oOLG+soe4vsMRBL92Lpa+3Nahvmt1LL01b+29VQ2rvltWyLrPDMm9so4HvkCVG77gIkW+1pcCvm6mrr3UVBM9yOPavRdXVL7I/Sm+8kVlvUZlQb452hO/c7c8vq5CfzuSMai98BBvvQz/b71GuS6+wm9dPf2EizuHRD49B5FcPaoYhj6qiYI+0riNPSfZ672jgrQ9ppWnvi54gr77F4W+Z5o7vqzUTryQb0u+FZCqPaX9x7xa/b88jKzLvWC+Vj3hw+K9/vaBvjhSUb01gbW+S4GlvuAZeb7W6cS8wlRtviIpy73JzUy+106QvfHH1D2SrZs8R4+dvGTf0z1EFkO91967PPZ4oL7UGwm8O6mmvQV7Wb7Omfi9bBTevpYbuz4CqrU97fqZPtFSEb6ANOI+QtXzPhgw8z3GAdU9HdUIPlOmvj2FaOs6D66XvgdkQb6DJJ29Nt+vPNs95L0zQMm9LEQovseucr0mFi+9MkwmPfWNMjxcx368d6QJvaxm4LsGX4087ajtPTQkAzqf/GA+Mj1mPUNRlD6g2tw+7oqAu6mLGr2OycK5JwMLvOLLZj9mowk6vJAOvGuOMLolswM8Ypr2PZaaCLwAx/y8lqzrvLwP6jv9WMi85iHxvXzGuD5zYFc+LBePPvRqbD74B5g+82CJPgviWD716A0+VZV6PoYcmT1OwHQ+NTfOPiT3lj1WFgY+IR0vP3pFND87uak+tSb1PpI5ST+0aSg/JbwJPyA/Qj/h4l4/zZlDP2JyMT93O/c+VOv9PkzWuT7EDVI/EsUQP5U6Dz/nlEa7g8X4PWK2BD8KbKo+oCZzPjOo8j0PzqU+arDmPgxt5D6OXf0+vyMEPyCeFz/ziO8+hnX9PgB9ID/6ES0/FRwfP9NpiXjIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c2\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9ik8wv5IE3b5GKjS+S5NuvpsKFL79j+a9+l3TvrEnGb+G3KC9bD5vvrQYG76N6/K8f3eOvY+HYr2WruC9OuKvvaRTDbwUtJc7vPdyvVb/S77vh/++JNnLvtFoCb9RhIG+tPghvpJJ4r01f8m+TXdpPMEIqr5s6c68K46DvNIjkL1rywW+OymAvhDGNb48XIe+bA7xvao58Tz6QFI7CMZbvixdsr64ADQ9eex9vqKLZL7VbMy+7sN1vg8UFr5tlHq+Uo+MvWNZA77Klay91td4vUz6g760yNm92yqtvrBbX76pqsm+DRGrvUVy373SqF0+Z9FiPyIHRj9DaRA9n/IlvduRvz7kCsk9U5iSvb1gc72PF3c/bhgavh7BhT9PCOm9wkS9vZ2RVL4N5Ew98nQHPqTj2DwGkes9nm5bPiA7ur3oz4m7YGuyvRtPFb0iFxY/YLKyvXcdRjzIAww+5oFgvl24mrz4Svk84zIcPjSBk7yJSgM+2S9mvv9GRLzf9A68qOXHPkO7irwXKMA77bUMvehXejx2GkS7io+JvhcpIj1vCxQ+H7XCvnxxgLyR6L09OBb0veFWaLzMdJS9qzsluuRjUz17QEu9nYCXvcsKmL3V6xe99Kg9vk1YID8u6dK8BGpxPAy2Ez0t3FO9PuCLvbYZlT1DK/09cXwYPWZuyzgIy5C8ziDWuyQCNj9xNAM/0p8vP4IOSz/uoGs/Z6RePwBKNj+Ilw4/gvATPy8Rzj4Rs4I+r7cePgg5+T4N4CU/RH9FPtK1FD+6DTE/u8q9Pg/5LD8jIxs/OjogP0EI4z5EzDQ/ASgnP6QjKT9h2xE/wIkFP03M7z5FCm4+uyeAPgvbyj7AqBY/JTbePhvhAj8LAQE/0an8PgyXGz/XJaA+h9gHP89Sij6o7KI+n0XpPu7G6j5QetI+LjkaPzEQzz6lxQ4/Vb4KPwl9JorIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9eJH+vbU2iL4H8Yy+N2QOv17C2rltdiu/kImlvjiDyb7rYwW/7owbv4B9Xr+kuB+/vSgLv7I6ur5A2RK/vJJQv0k48r65JaG+6oZZv6AGy73SAxS8gm8UvWOPYr60Ahq/2sYsvhJkGb0w26W+uqOZv4pgdr247Om+/+zqvvNElr+o6OS+vjCavhwjIL+p7MS+10kCvu1egr+cPRa/PBEDvABdhrzi/WO/2JBOvg0mdz2TrsS+TOuzvqkAmr7OM6u+jw8Mv0QlP7/qQiS/J84uv0YhvL4230W/K2vDvt+Wr76SRUS+AJg3vwivyr7O5MY9EzK3Pe1s1z7qFO89avBtPrF0zD504Oc9wDVVPtOc9zzrHNS71jzCPHMjar5o8to+czIJP4LLdr6wzSa+6spBPjTuIT5K3d8+l3Q+u6VTiD53cKu8pyTCPIS4FD4sztg+vfe2PhcYNrzMCFE+Aa1PPlR2qj0Ny4895FfyPmYqpz7pjcI+3M4OPu74Xj0HLLq9EpxOPkrAyz0egeY9udSJPqcnGDmqWFo9cByqPoMjAD5PVbw8zYIfPy7wIz7ppNo+w1+BPqh8pz2MJwY+zC4UPjmjdj5t+as+2ympPoIjGD5NZnw9lHnMPmUosj866tI9HQkwPv1NpT6IDEA/tkoBP7zgwT51JMA+zX3YPvCS1T6ASQI/hOysPn4I3D2JagM+7hhxPsReyj38hBc+W9OZPcK77Dx5vWU+kUmIPkD1QT5rZYE+WT3AvYUvkT4R74c+wiapvSGhgL0dveM+JkoFPpJP/T1xBtI958P3PepuSj5o8+I+EhqfPbikCD6SQME8rFVSPhycEL6Kc5U9WVHZPea1oT7gYM09Pdh5PgS/eD1M+w8+B26GPu+ULj0ANHA9qduRu3UQ4T170rk+oBKiPo71pj04Vsw7Umo0u/oNO72M9Me9+LUvPha85ujIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c4\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBCUiTURwA8HK5tLI224iV4mxYFuvyKNj2/i+pqeUysLCDCCtxrGtaEcNh4AVl6UaChgpd5vGZutQv0X3vqdOOFZpU0xJ1onhsVmZlFJrr98vY3M21C76hl24nSRZPkLSwIlQwnUk9n41cfnOYIqayodXYGIgSOq4ThrQrx7WPyeXRg9xMVy8Z6SqlQ+4Qup31pWzQKyq9km3t54aVt/mVKCZ0Hs26/qElXp2o3DCFTg8sRcJYP7iZb1Z5eKzSyXYRa95tKvWEgLPiHFf1wYxSRN7cCm0U6nfXoFmFBjZEhFvnjxcRh28MJK6TkxybP4yeSVRKpks43iOsem9QkmUmGZ34U04Z6X3im6ogh/kyWh0gp5zPFnT86gnS7UomA2o51WmE9G3/ExLYy9BjYiHYN4nJzHitSvdgDS2Pi4S+Q3NWHrNfta+nh4YVXFQFHlBTgboJpe5MQfNVfrDzPILJjRh5PyxTNvWYqCRxAj1dJcKzcinkJQSBMMsItppS0vVagu3RmdBguQWVG6tRLsvCHokBOu/yUOwCIpZFN1mpew5zfknAnG1A8aXvaIVDAF/M4egZ8wMEXhGQU+9GY50uWOjwoIx7TmTyDCK6nQ+F37cS83o9VDxogqRrBRAwHIlFoxWEYxPAtcMXJh1pEIzrIYr9BXWRH+mO5f54Or0QTvozRG2aAYXxIjigDFriS0D/Jg5WNGJYlDFwZH0mFI/cIbu7VaqXGj3Snu2zSowsWvKlGvKWnqC7WoVcg4gPnjYxsbiekrESKaz5OUjyR/bRwcJokN2wkabcbO5v7k1YOJoKQ4GN0HxoFrad0uAOwxhMKS0QfnIKPn1vAwuPgbXSVqitKcMDdXcxNk9A35vVEGJvQy9+31JZBLtxyd4LEJ0iw+lpGOfUBWNTpQ9u0Z1BjtCvYPu5DofaS+HYgWKwRVyCD916qNZmwX/W0msayAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDUzMYRwH8GU0rjctbL16W52Itk5EPc8v8tKWyEsUldo6o9bLUM1y0bjIy4UOXTnLYqJoy6nQ8/1nukqUkKy85BTRLoRCeft8fGffE2coHnHyZXi36zzccjazKJNa1P8MQvsVG/TKqtA6mo8fYW1IMxtwVnEdJ86n8DdzVqJLPhGexjSRmJnLjoZ+EbVP+uAZPgH3uZU0uN4O3bpK+KcexSZLwcr+9Itm9RVUaIoDmuUq5LXuhJNLI76Nz+Wes2R844EBUWL1EJ/1+aJF34GnnQdh3xQPi++RYpVqEPodDlJBvwcMpnQc7PTHFu1xbB3bhD6XFYhIuiWM3+5j6ZQWrN0ZhDOr89ikykvoOmRCUn8sYtzU0Lg7SaPlLaJu5keSmk5TlaMCbYnTpeeVS6isLZrln8tG9ddNWN5RQ8dci0X33wQ2wTNE8sucLqmLbJFRGi5lNUWLV50psNMWco81n+70Zi7mwVoHFJZnIX5yGrcd1VHgoFxKfOQG7xoZHTi3mSvjIikj/DD3nXuaYmoOkXWfliImByDdshohzobaC75+UsXJKnHxWCuGChN4ucM/sf2BPYzcINDuwJId5QgLaaC3uVYM0l66/f4Gaz8Si1ydBi8asjGwUEcWpUW8JKiL44k71bsqofHvED6qMq6yuRYw/FIncixTWX6/F4+ZPwOmYD3GvCkIeGa6xaKilHRV08bybLZz5+ZKvHaehfr0MgxLZuz/VE0ev3bTVUsnmleRQC/0tmQoTqGpGOY78raxHsUi2me1gBYExgujdhu/kzjAmIU1NfJmPil5Xq1SFiZGzI8F2dUh9OYe2jVOQUeGphEfMXPvy0WkCr3L53r95sZAL4r88pLHOp6iDe5mliHnvEftThHyHubz0I0fFhfYZVkJAhVDbOW6Wp5csI6vLh3hKcocPs7jA3vQO4OW+dnSf7iQQqDIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c6\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf96osbv6Mnnz7xZIq/klsLvl8AOL7v1nq+QRG+vqlBYD7RVU2+DWZCvk+/r76KKY0886dzvpl8I79Gkw6/hXSMPQ4Cmr4rVYG9Eq4DvsX72L3FcIK+FY2kvqTTU72FX4c9fND+vFagHL4a1Ms9IZJGPl1ohL25S6C+u4nuvsYxjb5ddEe+1jsyPnFpPD1qLSK+BUxdPtXlzD0g7zA+HH3mvnMtvr78IsA962eQvc2Gfb0Tz56+1OKmPk83qb4e+LO+b3Prvmjqtb7iY7a+/SAav1NBg75/Y0G9qLfXvCAsL7/3eZm+i4V7vTY+pr57MNE+sV+IP3iR1j/IuiM/N4T+PRywuz7yA3K+/2QFPouySDuto84/N70DvzKPAD7erRe8XlBwPpjQHL7FNOa7/KraPVb22LxSJYQ/P1Urv0Lxtj1ayrO82L9tPd2vZr1CNRK9vkHevZkASjyMgtO7Y6xRvZlqrrwcL3q91ZUsvKXWeDsj3bm8SgitPZLUADzq5Dy/5lrkPIzvYz1OpU08VdI/vnTXKDzEZES9sa1qvEac1r2Q5aK8cQ26Pd15MzwE8La70oaZPgD60rzqPy0/E0QVvjrHPD/zLKq7iyRQvr88gD2/Vdm8jpmRu2NAUT/Cx5k9b8GRPTv+gr08RXe8M/m4u0QDaT2sn0a9Bz8jPeUtFjxfJFM9wADTO52OCj+Jghw/qRPgPvaq0j599pU+hSEIPzubDT8sqtc+DCkvP/XmJz8JWT4/sNdjPx8SJz+jUs8+F+6ZPrUm9z015fI+tWuzPqxdND690/496TvVPX6Wwj1XYog6E1blvaAblD1lIvc8voK+PPshkT4uvUa9bJD7PbV3gD7p6z0/A2yoPgjRCj9C0rs+pBlzPmkP2z39T9o+flsIPWDWoj4FIjs/GtAAPzIDTD6LNdw+oXoDPkYt7D2tf4U9w94bPh+IWSfIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c7\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9bEnWvgSJcr92dA2+HYT5vj4lgbzm91i/KldHvxBhHr5pu4O/SOhhv6k6ib7R4dq+p5sYv16fsb+yUl+/Qatzvo5XgjxKyOU7rOvEvjDMJL+5ffO+ZR4Gvs8dIb++Nta+dPVjPUdyJL6W6wO/kcy+vinPn7tzVka/YKQpPOjXZb10ZyG/RQidORVd5jvrn5g+dqIvv9r5SL5ntiu/Wfcxv4ofN7+nDoC95YFdv9/0AL/F8Ie/882SvShfCL9tEWO/78ltvmnT8L6uI7m/POS7vkTQgL8+j5e+EbUUv98qMj4bjSO/2NjdvgyhFL8sJba+ePU1v6rAar7tQTS+xSKivSbHBb7ZwBa/k+VPv1xMKzyDNO6+uN2VvpJa2T165dE+jz2QPt4IBD/qAnI+v4tuvmHRjb4GhV++p4Qjv7n+oD4RcjW9S6PFvZszuT6N5ok+h8iqvoVXTr7rEdw+vivrPtKxZz6WwQo/a0I5vnWDqj75uGA+LeVGvtn2Bb6WBHu9dahHvYZijb4meDm++0+5vj3+DL4PjZi9DP6uPSbMgToaYgI+W4umPsoUob0eh+c+yiR3vX+4LT02SWU6hsh7Phq0kDt/tUU+HKq9PqJopD55fx4+E/K/PuTASb4MII69EPCAPXeijj7LNew+DUpDPuGTMz77biE+C2iKPkwoED+WJMc+hrCAPs10CbwSTqk5w+wxPqmqpr04pJi+kmbivZrbLz2fyjM+CuyeObfhjj4DUTg9t7W/vBOVAb3qF5A8ZpBRvW2XgD293yQ7BKhYPdoF8zxDnCE8MFHNPSFeULzZJ2m9lR3WvckIIj136MQ9tcpnOUG+Hz5lruw+tYqLPoW/nz2Prq48555PPiA4lzxY+rg9CnT4PLmjTD7LDcg4bO4HPs6B5b1Qwhk8CyskOIpuHjwT2mc8FhiRvb+vmTyH0gg9b7uau/lMsZ/IAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c8\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9/LYZPdxPDb0NUOu9izb6vDzhIr61Crc9OuIJPe5O3byPcKs9Que2PVCMq7t02qU6Y1zYPFz7dDsopiA7kR/PPs+mBL24OUa7dOP3PXAxiT44W2s8bmiLvfuFYDnX36q9Zqd0vmBox7640OQ9DmktvWre9zwepi48NrUMvvx3sLvLEOW7ei49PjGylbtc+Qa9GDbIvRbLOz5IPIq+4R7QPXuTFjvjT0I+dS7tOvlHjr1m77I++8hgPdWQnLtvlEE+pTlQvBjFATz+NYc+IliCPdOp5jyuNH0+AcH4vb+1crxU8ZA8o5DfPqFYkD0ajgO/yKUavle0Wr9fHA6/es9ZvbNnjz7W/OC+0PvePZzNib5ugva7P4WHvb/gtL0Z5+a+iGa1vZ+LYr4FS8Q6B5wvv6akBbwliq++w6DWvYYW9rykEI++l6h6vT3qRL0VTEC96/g8voXf8b2ukd29vWbtvf5T67x5FlC9qjRqvUGSAj3YhFi9I7IKvim2ir3+yJK9B+J0PabLmL516fY9q1CtOrhG8L5LwKe+Fe6gPXyqAb+28tu+j1+2vXb+pb4hDoa9K2ncvpgrB78ZNTS+f7aKvqh7Jr8M0IG9YOGpvY1s1r0xDKu+rSsPvUhpnb8Hth6/Gk93O6a6er+1FPS+JPs2PWdqJLxM4xa+pMSMPYXf9b6nhaa8u69hu7KWL73ughG6F2EQPAf7CbuZCoO9/KeqvTfB1z33zYK9Uz5mvm78sbysE5A+2o/2vFNRrT1vfb287z13O2N14TteEwC+RvdVvTmbqjo8Lgs5cetPPZbsaD1fmTa+9/YePLukJr6xfGG8RqMLOzNImDsPm9y9reLivb/Qg7sQj08+5ksAPm2Kibvmblq9rGC2vf/pMD2fsVG9KeVdPj9GGb5ea1y9JWpVvXuUbT0zpoo8DFukuYT/Cj21bI842zdEvjjNLPjIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c9\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMcRwA8FZdRUjaWmgap0TF6ibS7/clj5LOM49pEnn2QFZEVHdFuRJSHd1iLleZiatxqvv/vv8om2wJl444vTTnFb3W9eTz+ZMaytjWPUgt5mOhQMJHLTTD62tc+OYmP1QsqmPhT024rpLwwisXMd6gpvoYTwxr0GGVqh7fR2/DG1aW6LTlJ+sVVeCagiwsT5DizUQjS/ruiY3jfUxyci7eKSvkajSf8ZvNATZWJEWVRQmGHRXi3fvVmD7sxIqlQ9y1eB/Seew5TlHuYs9WH2ed+WnsqrkWhW6PsX/8CHZHbuZ7J9/C0N4IHGudzktKg/l6D+CJeQdm2OswMU+Mo3FWKCpw4QO0AhR/EKF/sQq9pdb8qi3NqI4W879j2sn9C2ruUOc/6pZcRX9kOKLt3m2QZkrgRrd3cST2HUkxL2KPZpyhAaIBUL0yYJvOC9QDBIf2GzBG3krjzipWJKp5kLvJqH11H9u02dXfR+5LJiTITtl2Q1B6HmfXLiVpFufwr6mJ6TXeuC7Xgdk7e+POnge4JzCbFr0TkI8bf3BhIwJtibISbOreakdOa7HSwYvqhamkXqWkplYlfa3mqGywhzP45WO7IRBndRVQ+VAWiVikozUJmSB+6EGnLbCD2NOldInMFkTdk4gX95VlBj1h1wdlMPIpnAUXy6GLxTHb2plk+fcKprm3njGdNWhD0unntjoux+TMDk/xpf3KFqjVj8OtOuHKy3E9YPy9guk3LsNMFgKJOyJB82CY5vR6cdKObLj3LR4cmzrAPeISGAdb6eKps6FsQy7smBYIOqfzpOr2G3rI2h2gMZYak43EP1zBlrprtMakLzRlXyEtP55PhaO7uXnJlST75ZwasdGbykYEXGOsJSgcouDXRAA8flFED0Yp6NulnnCiIRSa83NB6uLKVUmcwaZlGZRKs+lafzMa8SGd9dtJ6H82lS4uyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c10\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wHIAjf9+I81v3SxmLsrxrm8i20PvqBHJb/Bh928s6sdPUL5yb7+RJY8Vx0MPbyp5LwWR0G8j+KXPmEkYT777oa8BAHPvVCphr4cyaS+rnENvQ55lr59dky/vx/RvAbZFr3O0AM+sxlZPXcO9b5Hf/g9y3FHPe3i+r3pka89Qes9vEhbjDyCjkS+CkWgv3eqd75StBS8oIljvtPrfLw2ZF89k7bsvgw6Mr/Fytc8Zb4BvCcFB74ZuvG+k184vjdrWL3Szu68yBWRvd/XEr5dRko+sCpWPPHw171BJVS+ZZ0avwz6875msem+Z+MJPHzYY7yyDmk9/sFyvBCscTua7uA9zhtlPpkVH70zUcE9tcwLP+oHrz6XYuW7xJnkv6GQpD14asE9d9+3Ptgbjb+isWq7ETpiO1LJkz6k4iI/AYjuv11GCr1Piy4+T8TgPn6d5j7ZTJE+ff61PUWN9zsbrNU9P7FEPvsXsD5eFvc+ghAOP2w61z2lV+M+27S7PumZ5zyFuwDAwAJYP5MomT4YPGQ+EbGiPpzYxDx45Mc91M9vPfFtmD70x4s+we1xPqLFEj9EcJk++ik3PtmVDD62bI6+iYeSPgnyj72Jqh4+R23BPoesUj6x5X8+ADFGvuYIC73C9pU+/JugPbNipr5fpPm8XvuTPpZkQj50Jnw+utdAPhl11z2fZXM+cfLzPfIuLD8ayIY9m7jdu82QAT7bKXi+AXFkvYLrtT3gFWo8HWqHPcEQsbutl7E7zbQUO+nvbbv5vlQ9z3sePqAo/DwEPjw+QWgZvF9bcT2O9Lc94i8MPm9AOj10CX0+dN+qPGZE+Ty0IXg9eV8aPj6ZpbzuLlQ8W+B1Or2Oar1IKtS9okKBvdRjVD2+9fE9IscsPhYuFb66SkM+2gCNvU87hT7aKOm80LUlPjEXij35C+48Pg8WvQKROb2KmFK9x6gBPSNTYeDIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c11\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBfSyUcRwAcKVToreLo6tYLjTFH4rUPb/v08SNhlR2LG9Xw3LZ6GhZEZXLa5GY1c6pUKe6nN7o7vl9T5qXxG1Oy8nS2M1ZK2a1Vnr9fMqGZLjjazm97neV8qsyUPHPRLM7JXjszDvUTGRifSeQJW5CLOAH4cgyPyMKDTiRZzOMrJPQsgsJaDOpUbfGDa3ybszZ8xxtfUr06dYx7Y51qDZ7wK83/fgyyovTfw1Bvy4pugacxqrJdcZDy0X4QytB7yu1uHQsluavbMUL1mk8/OoGrX7hQmm2mPY81eL6M84YpatFF5dHaJ6Lw10ZfKoOHcPEt+VYGtFIHZv1jOpyI1U0F3AL/So8PdOER4ZLcY8lBK9bXTC+RECHswaoKLARFZ9XozZaAEneYprjMMRFej2ANukSVmaWsgG1CZwxPIIkdlbS+nB7KMwoJzMmoTHJgOJvC/fFTzz2s1OfFXT0PSMeEQYb2z1kcNRdBqeupcGOWQkMpO5kVT18EpGyndWk/iE+353ZLk0Ve3bQCPGTOuiLY8EuegE059xI6O97sDf4C/QVDxG9qQS0q2WczXoR/McNUMnLIbxDjkTuwWNNKVvBSS4GbpsQ5hdPQoUtkOQpb5Hk3Fh2PuwEDPasAdUWPjvyI5J1yhqFfOYA6x7UAL7+32BQnIlq15swNd1E6l7PwVx+AVQUjXMSn1rI/fiBCBacgNTw2DtRcuALDKCUthg0rUA7uHoq8Gyns+VZ6LnJE5VuSqTpa7Hrbg3kjv3e+zfmMWct8IL0sRhgK+IARDy0VGrI8VXPofBAMRWIW4iJecikjToQy76fXG9HBJe4WUWCn4kwWVBEWId48LVbxvl8GqbUcQXR96kx7PY1eKEPoz2Lci7HeRVkRh2EsEuTpNpcwrUNSYFRnCD+XjJcKtxNdfY6EGrNxCIaJr2p50mDZSMT3bCB+Q/11k8RyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c12\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBC0zMcRwA8EuuKBwSHe5QjJV0yDzu9/3+aKYUqTbbaV0Xta4tr8oznFykKCIqyqlUlGRURvf//vUWLW9NDSm1WQ1NHjnE53Np0gz1GGUcDa8LuvvjwQAbPrYIuo4LkBMlgebJFsExOAturzmDWww/WZ3nTiaOK2cvVxeBqWYusEovoUY2Q3jUcIUyb5ZDWeo7iG+vhYm+19BngxPkO5yAxJ5ECr0vJf9P2TQ+Ppz2VUvpYXcmnM8erJ5lskXX7e2CX4OzKM+Ri8w7DJZaOulOj1yc12ek5To1ouQZtJrekn7kM6bZZsQq2XusikyH7EBPOOi8FhWbP4MZbJH3t4Bm9AeQdr2BCSdjqD3vFBwsNbLo04XgoDXA/c4EPKLdJHYk3aNUdZ04vb+ffh1IMBdt3SFU7NGg9bIWmK2TYse0f6K7ygpiVXninjde0HH2E/te5ARN7g6o0m8gxSYXOlysx7QoD0yfn0QxhlgqWHqWtsZZ0yM74H8UFaAK3y+4losrDAMJdEfix1amNUIL1lBQdS/VuuVRQH0ghPnuoIU99qCMzyB/n29Cm/UhjChQirt9V5lLn/iwY00ZLML1L3yJvLwi1TSHhSTL6HX6XOrUlQnqwQAw7fpK1Zel7LlHIXi3jRKb7Aoh3206OIEG1m+0EW2dbLjL6TxoOK4UbKKt4MarMjhiJRFlhmDRqDhqLkkHcOw9wXo9jDTJcQk9XfBYlISdw+d1peaswb+olV2llN9e7KJfEpdWjuZBVvZ8SvFGHBEdihHfR6BSlY9Td1rwlv8Qyi19OPTRk1doQ3nWw71o33QeIy+kwFAiZ8OFw+qqZBcs6bJQzFgN/9cn50Gty9DtVDcrzkWIynDmjbvaUBuXiYuNzajvSQHSenPLvHp0z32B1zN1kDytAMPEYAxpXMtcbyuAueu4Rj+TBxhH8W8DieyP1J7/BwoQ/2jIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}]]}}}]],[\"bar_source\",{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1132\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1133\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1134\"},\"data\":{\"type\":\"map\",\"entries\":[[\"feature\",[\"malic_acid\",\"alcohol\",\"magnesium\",\"total_phenols\",\"ash\",\"alcalinity_of_ash\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"color_intensity\",\"proline\",\"od280/od315_of_diluted_wines\",\"hue\",\"flavanoids\"]],[\"mean\",[0.27553555369377136,0.3086436092853546,0.3142036199569702,0.3160342872142792,0.31702661514282227,0.346561998128891,0.3517664670944214,0.43439406156539917,0.46775054931640625,0.5021065473556519,0.5172217488288879,0.5620242357254028,0.866094708442688]]]}}}],[\"bar_range\",{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1135\",\"attributes\":{\"factors\":[\"malic_acid\",\"alcohol\",\"magnesium\",\"total_phenols\",\"ash\",\"alcalinity_of_ash\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"color_intensity\",\"proline\",\"od280/od315_of_diluted_wines\",\"hue\",\"flavanoids\"]}}],[\"heading_div\",{\"type\":\"object\",\"name\":\"Div\",\"id\":\"p1163\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"color\",\"#444444\"],[\"font-size\",\"13px\"]]},\"text\":\"Mean contribution \\u2014 L2\"}}],[\"view_widget\",{\"type\":\"object\",\"name\":\"RadioButtonGroup\",\"id\":\"p1164\",\"attributes\":{\"js_property_callbacks\":{\"type\":\"map\",\"entries\":[[\"change:active\",[{\"id\":\"p1165\"}]]]},\"labels\":[\"L2\",\"normed L2\",\"Dim 1\",\"Dim 2\"],\"active\":0}}],[\"feature_names\",[\"flavanoids\",\"hue\",\"od280/od315_of_diluted_wines\",\"proline\",\"color_intensity\",\"nonflavanoid_phenols\",\"proanthocyanins\",\"alcalinity_of_ash\",\"ash\",\"total_phenols\",\"magnesium\",\"alcohol\",\"malic_acid\"]],[\"n_kept\",13],[\"n_samples\",178],[\"display_k\",13],[\"view_labels\",[\"L2\",\"normed L2\",\"Dim 1\",\"Dim 2\"]],[\"normed_l2_cache\",{\"type\":\"map\",\"entries\":[[\"data\",null]]}]]},\"code\":\"const view = view_widget.active;\\n\\nlet active_data;\\nif (view === 0) {\\n active_data = contrib_sources[0].data;\\n} else if (view === 1) {\\n if (!normed_l2_cache.data) {\\n const src = contrib_sources[0].data;\\n const totals = new Float64Array(n_samples);\\n for (let k = 0; k < n_kept; k++) {\\n const col = src[\\\"c\\\" + k];\\n for (let i = 0; i < n_samples; i++) {\\n totals[i] += col[i];\\n }\\n }\\n for (let i = 0; i < n_samples; i++) {\\n if (totals[i] < 1e-12) totals[i] = 1.0;\\n }\\n const cache = {};\\n for (let k = 0; k < n_kept; k++) {\\n const s = src[\\\"c\\\" + k];\\n const dst = new Float64Array(n_samples);\\n for (let i = 0; i < n_samples; i++) {\\n dst[i] = s[i] / totals[i];\\n }\\n cache[\\\"c\\\" + k] = dst;\\n }\\n normed_l2_cache.data = cache;\\n }\\n active_data = normed_l2_cache.data;\\n} else if (view === 2) {\\n active_data = contrib_sources[1].data;\\n} else {\\n active_data = contrib_sources[2].data;\\n}\\n\\nconst sel = scatter_source.selected.indices;\\nconst indices = sel.length\\n ? sel\\n : Array.from({length: n_samples}, (_, i) => i);\\nconst n = indices.length;\\n\\nconst means = new Float64Array(n_kept);\\nfor (let k = 0; k < n_kept; k++) {\\n const col = active_data[\\\"c\\\" + k];\\n let s = 0.0;\\n for (let j = 0; j < n; j++) {\\n s += col[indices[j]];\\n }\\n means[k] = s / n;\\n}\\n\\nconst scored = new Array(n_kept);\\nfor (let k = 0; k < n_kept; k++) {\\n scored[k] = { idx: k, score: Math.abs(means[k]) };\\n}\\nscored.sort((a, b) => b.score - a.score);\\nconst top = scored.slice(0, display_k).reverse();\\n\\nconst feat = top.map(t => feature_names[t.idx]);\\nconst vals = top.map(t => means[t.idx]);\\nbar_source.data = { feature: feat, mean: vals };\\nbar_range.factors = feat;\\n\\nheading_div.text = `Mean contribution \\u2014 ${view_labels[view]}`;\\n\"}}]]]},\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1010\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBfVDLARgHcC7npVXuUhaL5v2tI0kuN7/nO8rbETdJkeS1ZM11FFkXra5Ntoy2EcOodilkYXr9ecjLdQ5/pHAIfzhOyMuZ6Lx8PobACTAZE9B28zBG2IqhOVSGc8qjyA7dBe9PDtwzp+P7yxQsLjFDl7kb2nH7kdijR1ufCV2bKtGbVYFIXQX2Ka0oSYzCl6VyOEJVMPqoERm7DymJRfhWdBqpqoM4t3M9fgy3Y7tsE37+OwW5ohQ9zTko1lZA8t0Ke2wOBnrboZ6Yj9ey+RjtmoFhmICguhhcClLjrSQCF+dOwrJWJVJ3JSD73kpkHTGiqd4MzyANLA495FMPotVRiZZbU7EqWY9/GTOxwnoKpb8M2OIJEywyKWcdD+WMldWCz8wndGJWTYvOMxHJGZdJdA2jTh7FEp0XtmyIZqMpH305kXThWRku3/xAAR6VoN7xQrCUSXnKuAH4mPmckr9uJrvrGond4cK2oQauD+6lh74lVCe709zo3iPcyJwjyJ+mCO2LqsQx4mrxeesvsVsjktex+3QsPRiNEXHsmGagH7Nfk3ZeO01/FEKqW8eFIr+ztPFKIC3NHU9JTpfYGSuhGmWL6F9B5O8cjAU+76gwzUByBCg6pDbh9h6iqyP6C9bH/uT7ezYJ5r0cN3Ihrd37juJ7T6JDU0sJfz/Tae1XClUYaYXETo50JfneXUfXbQfoWpiWNWP1bHhfzGkBJbzVE8PeQTt58hwT214dZvU3HfeEF7BpTB43mAt4SXMer/mo57D0Uj45rYjvbLRw1ZtytnVd4aqIcs4+U84ZGyr5xujz7DQ0smd5Pkt7nPxA7eZV8eX8t6OJ/+Q1cbGimnOj81gu0/EARSEXplzlKC8LP6118/j9tXy7zc3vh9SwW1nArign92trZL+Qs9w+9CLPVdVwxJ86TlI18H9DiAVlyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDUzMcRwH4Iv0Ju0iOtKtt6u0Y6Supvx/H2lXmmqprrlRXNHLhLzk1tIJXeUQh8K0FSZaGhsr0v/3DZnajYhdZaGmLeZlpVHy9jxdztE0SyajgrEwKqg9QL9vtfFSSz41jAmk7LCjFfo4kjzSkCu20AB5UZN5GcGaSemJu8gvYA790tuT8dskb27IpjC5gi6tXEtZ/D7/qnejamcL36+/xzWFbbzX0YFeeNrR25MP+bkTYdTwdwH5ZqVTfZ0jRRomeHSXlV9+NMxTPlr4qg19POv5H/4xLpzkTrE0kTDI60yZZN96h3cEq+i5ZJR3zU4kdaeGDm2IpDNT2ZRq2ELd11fROSok3WEnclUJRCWMFg7FU8kHV9Ls3ktGF6uY2xmD/o4E6At6xPV7zorFejlw8Lyom5wW/V/OaLd1j8dyqSdJDM54pqvhtvka1hvzhI9Ev2oPbCKxyfRabDK7IinZm+TBpazthaPoJPUUix+7wexQhdqpQNa4MUVUt8hQPjYPNQ/mor3GCYqZcqjGPTAeKkeZ3Q3B8dXe9qLrETSO72y1wSyOet8WE8ptWEHqTP7F4i5aU66x6oxB4WHVJkGWuggeOyeFjFp3/AjxYae9pwXlsgimLCpiCWe98CdIij6bT+xq7ByMTr0XGuP0bHNUOib+BTGzLI0155ziN5MszMYvhi0vFVhISTXbaKxnP786oDu9h/3NeMK0Kje861ageqsfeqb8kbdkE4asmdjxuxLa8Croth9Bb4UJVxorYJTGYTjIhIvDxxCVpkT4YjWO1xzFSH0ZQlry0NkfgOndXtAmKdAWEwht7DZcm58Mpaoc4wP7cPdDKSRSLRT+2/E0+TDMI0aM2JqQWxgNF5dMxOZUQvEmCj3uufAxrIEkYilsHdZB7bsLhhs68NYKXCjX4HNZKOo0auSlZeM/f9f9z8gCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/w3DB1cOAAAAwK8ioUhoUEaI0rLb9qa0kygjMopU9ojICEVG0lARReQfunvvAoFAIMhgQ5zhTEOdZZizneNcw41wnvONdIFRLnSRi402xljjXOJS401wmctd4UoTXeVq15jkWteZbIrrTTXNdDPMdIMb3eRmt7jVbWaZbY655plvgdvd4U53uds97nWf+z3gQQ952CMetdAij1lsiaWWWW6FlVZ53GpPWONJT1lrnac941nPWe95L9jgRS952Ss22uRVr9nsdVtstc0b3vSWt73jXe953wc+tN1HPrbDJz6102c+94Uv7fKVr31jtz2+9Z29vveDH/1kn5/t94sDDjrksF8dcdQxv/ndcX/40wkn/eVvp/zjX6f9538GvL15yAIAAA==\"},\"shape\":[178],\"dtype\":\"int32\",\"order\":\"little\"}],[\"color_value\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/wXBDSzUcRwHYLQa7SKKLJXNEukaLZKX3/fzx8xwQk1dcnXD8lIpa0Vh6/JOuahZXF5Ox6hkHNGK6tQpc2ZMyYRNXhpnFnIm6Xm21FrihcVJ9PRNQrdSh09ZUmyY56Mp6D39HpqkrgRDeDpnoDzOEXdaykl2GQizlsAj1R1LYwVwSZBBGfoZYvcWBCZVwrvqODIDHGGrO4QbUzxcbTuD9NgImEomwLaDhCmPsM8khoLDGxCNexCmd9Km567gLALgf0uHrJgK9BoZY1g0TqtFBGWvFDF3XZEunURyVifgJEOO3XkowwWwyC+Gw8Y5hEzI0VGfBnOZJVr7R3Hx20kY619BcXoicq8HwSZ+HFcKDLkPpgs02JAIVbML9ASjbEePFbxmC6l9sQtbOwdos5jvGTlTgmZZORUJe5EXL4CHfIH5tgth4JPHzpoLqCck1E1/rBCndCr2NFcfyynBTLJuDO1XEYliwzHYvZ/s+TzmUm9FErM2arJ5QheOiqg1b5VyNWKUKNfIY6WPGZVusKBqDVtXDEEzspMMnFNh3XYYNfNm7LT8GrkOv2SaEzMs84CIvU4No3m11G3XpULq/5fvwRfFwN9LTfzcAIrreO6uC73jWeYURY5+0cwuyYRMwg4yhV82hr/7kP6PvXgmPMZ5Q8WqJ6boC3+e6Md3EggloLRY2u31iiKtR0hpZotgV1+8awiES1QmJpYMuHpeN0r+TMFqfQvX51SBKJUDd3DbTk4jnkNUvB73c20Jy9WPIW9vRFxhPur6uiGKLsWRWTXdLpDRHskAKV7dxFtNNhqrPmD6TC18OzKxSduPxTkOyRHZ8LLrga/WgFvR6nHNHx/CrOs+OPtG1Bg9gCqlE5KVHLwdqoL336eYjlajkaTgKeQoO1SJX3EZELW9AXwq8B9QZfxKyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"top_feature_group\",{\"type\":\"ndarray\",\"array\":[\"magnesium\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"ash\",\"proline\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"proline\",\"proline\",\"flavanoids\",\"flavanoids\",\"proline\",\"flavanoids\",\"magnesium\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"ash\",\"ash\",\"flavanoids\",\"proline\",\"flavanoids\",\"proline\",\"flavanoids\",\"proline\",\"hue\",\"magnesium\",\"ash\",\"flavanoids\",\"ash\",\"proline\",\"alcalinity_of_ash\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"proline\",\"proline\",\"flavanoids\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"proline\",\"flavanoids\",\"proline\",\"proline\",\"proline\",\"total_phenols\",\"flavanoids\",\"flavanoids\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"proanthocyanins\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"hue\",\"flavanoids\",\"alcalinity_of_ash\",\"magnesium\",\"proanthocyanins\",\"magnesium\",\"od280/od315_of_diluted_wines\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"magnesium\",\"nonflavanoid_phenols\",\"ash\",\"alcalinity_of_ash\",\"proanthocyanins\",\"magnesium\",\"color_intensity\",\"ash\",\"nonflavanoid_phenols\",\"alcohol\",\"malic_acid\",\"alcohol\",\"color_intensity\",\"alcohol\",\"alcohol\",\"nonflavanoid_phenols\",\"alcalinity_of_ash\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"color_intensity\",\"nonflavanoid_phenols\",\"magnesium\",\"magnesium\",\"alcalinity_of_ash\",\"flavanoids\",\"proanthocyanins\",\"ash\",\"ash\",\"color_intensity\",\"ash\",\"ash\",\"nonflavanoid_phenols\",\"magnesium\",\"nonflavanoid_phenols\",\"ash\",\"flavanoids\",\"proanthocyanins\",\"color_intensity\",\"nonflavanoid_phenols\",\"alcohol\",\"nonflavanoid_phenols\",\"alcohol\",\"color_intensity\",\"color_intensity\",\"proline\",\"ash\",\"flavanoids\",\"flavanoids\",\"proline\",\"malic_acid\",\"malic_acid\",\"color_intensity\",\"flavanoids\",\"nonflavanoid_phenols\",\"color_intensity\",\"color_intensity\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"hue\",\"hue\",\"od280/od315_of_diluted_wines\",\"flavanoids\",\"hue\",\"hue\",\"hue\",\"color_intensity\",\"hue\",\"color_intensity\",\"hue\",\"flavanoids\",\"hue\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"hue\",\"flavanoids\",\"flavanoids\",\"hue\",\"color_intensity\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"color_intensity\",\"color_intensity\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"flavanoids\",\"od280/od315_of_diluted_wines\",\"hue\",\"hue\",\"color_intensity\"],\"shape\":[178],\"dtype\":\"object\",\"order\":\"little\"}],[\"top_feature_name\",{\"type\":\"ndarray\",\"array\":[\"magnesium\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"ash\",\"proline\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"proline\",\"proline\",\"flavanoids\",\"flavanoids\",\"proline\",\"flavanoids\",\"magnesium\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"ash\",\"ash\",\"flavanoids\",\"proline\",\"flavanoids\",\"proline\",\"flavanoids\",\"proline\",\"hue\",\"magnesium\",\"ash\",\"flavanoids\",\"ash\",\"proline\",\"alcalinity_of_ash\",\"alcalinity_of_ash\",\"flavanoids\",\"proline\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"proline\",\"proline\",\"flavanoids\",\"proline\",\"proline\",\"alcalinity_of_ash\",\"proline\",\"flavanoids\",\"proline\",\"proline\",\"proline\",\"total_phenols\",\"flavanoids\",\"flavanoids\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"proanthocyanins\",\"proanthocyanins\",\"nonflavanoid_phenols\",\"hue\",\"flavanoids\",\"alcalinity_of_ash\",\"magnesium\",\"proanthocyanins\",\"magnesium\",\"od280/od315_of_diluted_wines\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"magnesium\",\"nonflavanoid_phenols\",\"ash\",\"alcalinity_of_ash\",\"proanthocyanins\",\"magnesium\",\"color_intensity\",\"ash\",\"nonflavanoid_phenols\",\"alcohol\",\"malic_acid\",\"alcohol\",\"color_intensity\",\"alcohol\",\"alcohol\",\"nonflavanoid_phenols\",\"alcalinity_of_ash\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"nonflavanoid_phenols\",\"color_intensity\",\"nonflavanoid_phenols\",\"magnesium\",\"magnesium\",\"alcalinity_of_ash\",\"flavanoids\",\"proanthocyanins\",\"ash\",\"ash\",\"color_intensity\",\"ash\",\"ash\",\"nonflavanoid_phenols\",\"magnesium\",\"nonflavanoid_phenols\",\"ash\",\"flavanoids\",\"proanthocyanins\",\"color_intensity\",\"nonflavanoid_phenols\",\"alcohol\",\"nonflavanoid_phenols\",\"alcohol\",\"color_intensity\",\"color_intensity\",\"proline\",\"ash\",\"flavanoids\",\"flavanoids\",\"proline\",\"malic_acid\",\"malic_acid\",\"color_intensity\",\"flavanoids\",\"nonflavanoid_phenols\",\"color_intensity\",\"color_intensity\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"od280/od315_of_diluted_wines\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"flavanoids\",\"hue\",\"hue\",\"od280/od315_of_diluted_wines\",\"flavanoids\",\"hue\",\"hue\",\"hue\",\"color_intensity\",\"hue\",\"color_intensity\",\"hue\",\"flavanoids\",\"hue\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"hue\",\"flavanoids\",\"flavanoids\",\"hue\",\"color_intensity\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"color_intensity\",\"color_intensity\",\"flavanoids\",\"color_intensity\",\"color_intensity\",\"flavanoids\",\"od280/od315_of_diluted_wines\",\"hue\",\"hue\",\"color_intensity\"],\"shape\":[178],\"dtype\":\"object\",\"order\":\"little\"}],[\"sample_rank\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/43RVw7DMAwDUHel8/7nrV5iFoK/KoCgJqU42xjjXmCnwm0yH3qt5+Ifk0cvfys8GugBM7PytRJm0pP99vbdc/Q337Vy55oTf9rgs/xLAce3n9nlDvl8g14QY7fpS8955tRehfdkeTGomYkWVo8u7Xwn3bxXtMXrDZXab4hO9mA58O15U/1i94E6yy3i/s/4/5r3g8wkxnQ708x7587EqeW21MPq3bcvu+S/UmdXCsgCAAA=\"},\"shape\":[178],\"dtype\":\"int32\",\"order\":\"little\"}],[\"top_data_value\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/x2SfyzUcRjHRZqhRCR3dort2lo/TCy18XxyhcaNGWra/JgwV9LvdWVIHGbOr4g7Zp1q57r8yM9Knq8d7qrF6SYuu878yCRKfqZQ9/3j2fPseZ693u/tebRri2DOc6LKysQgTbQjQcUzwAu0ItPROqjl6UHtrsFu00L4KmCSi1wtxIunwbqYSUVau5Cp7El42yEEDrsBxAe9ibEoHfZszMDNY4+Bs7kGDxjtsDgUC+dkfiTGhgcHzo6Aj+oqlOp5UKivhN48R2JhVQHcpZ2EWZMJnhE3YCVHBz6rReCeX4GixXlMMZHQ+z9bukESxwCXVD5kKbPBT3YP/HV1YHUyDZLYA+AWYUYdctVAydAIBJkYEUM/3a4cgh6+BDFXBG3DH2EzwIRK8DcnOW+0eNimC41II1ZwzUl+rhPs6pHjfJwCDTvJ4fEkc18BelVX4gTfC2cTXUmA8w9c/6bGsDAB8l8X4Ic5ZxKsyMWOlGcoZYTglsIifGJdD4KMNny4IcDB6Uw8kj+I7NbrUKeqApFjDXy6K4TJjVEo3foIu0d70H8sj2z/5UAMTOFeHbxoMiMOs0xK6PsZY3bcQZZkHAOHm/E35UCuXGqkWUkFSrw1dwEuW0QRKqQWpdVL0Jz2B0OLLeH+OybFt5fjGaOn+L2/nPb2N5MDyaanSKRMjMbrvuRE7xiEp6TSNzV4GXguQVtGDt5emMOGa0MoCxija0vvV+ixXI+aaBXulrfhsL2SzuNZ3XTMLnRh6moV+kjlyO9Q4f72KXSFRmxQT2BCqRZZEX3oucwigywFvvewJ4oVDbIHmuiZgc36cp7YcY4Ty6N6NFZ30OzQfjGKotbAoEnVMAnL5P9fJCvBraQTdH092GKxjZzOMCLM2Fa0demkNQzawWGT8A/G55bKyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"picker_data_value\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2RbUgTYBDHZaIrKQjRklSMzIkQolGy0j231EAqsy9WSFLZBBVTLDMkkU3U8GUm2tRmZZlG5ebK0oXO5ygNLXw3c1GzmRBFVoYjJbeIez704eEejv/d7+5/y/ml4D8eDQ0NzeBj7gPVZBgk2DpBpnSy6IAVJk/Jh0GPWsiea4d55ygjrTFrBoZcY6A+mQavLDUQJ3sEkbEOkOjV0NtYB17dA6zlXgqkhphYz35fyIFQOOOdBXcUISx2OA9MOj2r/XgDTGE6wYvoiIL1XW5ALNISp3ElAFyfNFDk3ipyS92D0Jq+FYKLC0FbESQ4NGfBDxWsBb+A8rwWCF8sgPrZ9+AsjYOq16dAuqwU+uZEPZitUyC90oehGXl4PiwIv65d5HNNFdCqvcqpX7e9HrJ7lyxuudH4rU6JP7s0+LQkGZ5di+U6eSrYDQuKcJ9FXhKl3Od7KArnD8u5Y8YD1LvPMZo9bukzPz4yz4+M7mUd1eZ+WXon15TOcoqUH5euw5GEBGxP8sYHi2mM6o4VXWJ2bRkeXf3FarbZxPwO4ybG3Hei1dWuQL9h7mmw99MMxDVnVvJpdUQM7TxTtRGoXuQv37JIPMsZ1Wbf/8D/WAoVxKJ68iLXI165K3BcQXvSjSjSTafaTjBzvJWRB6Q3/k0S/lzfnowbWC/u+W3C6dPDuNlgRuuWIREXygbF+778HItXb+KFytvo9ONY6/sOI+AxZgbcxdTEHUhe0R7kpTZQL/rJJp/8/3vZ5Bj5Ngct1TUombCI3genHqJSZRRMyhO/7k0TTmRUoG3sJX6JGRAa/7M9qEpvwwP+BqEn5j+dLnAKyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"group\",{\"type\":\"ndarray\",\"array\":[\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"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\",\"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\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"shape\":[178],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1080\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"GroupFilter\",\"id\":\"p1079\",\"attributes\":{\"column_name\":\"group\",\"group\":\"0\"}}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1082\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.6},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.6}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1083\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1084\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1094\",\"attributes\":{\"data_source\":{\"id\":\"p1008\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1089\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"GroupFilter\",\"id\":\"p1088\",\"attributes\":{\"column_name\":\"group\",\"group\":\"1\"}}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1091\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.6},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.6}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1092\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1093\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7f0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1103\",\"attributes\":{\"data_source\":{\"id\":\"p1008\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1098\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"GroupFilter\",\"id\":\"p1097\",\"attributes\":{\"column_name\":\"group\",\"group\":\"2\"}}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1100\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.6},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.6}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1101\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1102\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ca02c\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}]],[\"top_other_glyph\",{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1066\",\"attributes\":{\"visible\":false,\"data_source\":{\"id\":\"p1008\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1061\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"GroupFilter\",\"id\":\"p1060\",\"attributes\":{\"column_name\":\"top_feature_group\",\"group\":\"(other)\"}}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1063\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.5},\"fill_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.5},\"hatch_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.5}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1064\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1065\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#cccccc\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],[\"top_named_glyph\",{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1076\",\"attributes\":{\"visible\":false,\"data_source\":{\"id\":\"p1008\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1070\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"CustomJSFilter\",\"id\":\"p1069\",\"attributes\":{\"code\":\"const tfg = source.data[\\\"top_feature_group\\\"];\\nconst out = new Array(tfg.length);\\nfor (let i = 0; i < tfg.length; i++) out[i] = tfg[i] !== \\\"(other)\\\";\\nreturn out;\\n\"}}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1073\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1072\",\"attributes\":{\"palette\":[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\",\"#3a0183\",\"#004301\",\"#0fffa9\",\"#cccccc\"],\"factors\":[\"flavanoids\",\"proline\",\"color_intensity\",\"nonflavanoid_phenols\",\"hue\",\"ash\",\"magnesium\",\"alcalinity_of_ash\",\"od280/od315_of_diluted_wines\",\"proanthocyanins\",\"alcohol\",\"malic_acid\",\"total_phenols\",\"(other)\"]}}},\"line_alpha\":{\"type\":\"value\",\"value\":0.6},\"fill_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"hatch_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.6}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1074\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1075\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"field\",\"field\":\"top_feature_group\",\"transform\":{\"id\":\"p1072\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],[\"gradient_glyph\",{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1110\",\"attributes\":{\"visible\":false,\"data_source\":{\"id\":\"p1008\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1111\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1112\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1107\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"type\":\"object\",\"name\":\"LinearColorMapper\",\"id\":\"p1106\",\"attributes\":{\"palette\":[\"#440154\",\"#440255\",\"#440357\",\"#450558\",\"#45065A\",\"#45085B\",\"#46095C\",\"#460B5E\",\"#460C5F\",\"#460E61\",\"#470F62\",\"#471163\",\"#471265\",\"#471466\",\"#471567\",\"#471669\",\"#47186A\",\"#48196B\",\"#481A6C\",\"#481C6E\",\"#481D6F\",\"#481E70\",\"#482071\",\"#482172\",\"#482273\",\"#482374\",\"#472575\",\"#472676\",\"#472777\",\"#472878\",\"#472A79\",\"#472B7A\",\"#472C7B\",\"#462D7C\",\"#462F7C\",\"#46307D\",\"#46317E\",\"#45327F\",\"#45347F\",\"#453580\",\"#453681\",\"#443781\",\"#443982\",\"#433A83\",\"#433B83\",\"#433C84\",\"#423D84\",\"#423E85\",\"#424085\",\"#414186\",\"#414286\",\"#404387\",\"#404487\",\"#3F4587\",\"#3F4788\",\"#3E4888\",\"#3E4989\",\"#3D4A89\",\"#3D4B89\",\"#3D4C89\",\"#3C4D8A\",\"#3C4E8A\",\"#3B508A\",\"#3B518A\",\"#3A528B\",\"#3A538B\",\"#39548B\",\"#39558B\",\"#38568B\",\"#38578C\",\"#37588C\",\"#37598C\",\"#365A8C\",\"#365B8C\",\"#355C8C\",\"#355D8C\",\"#345E8D\",\"#345F8D\",\"#33608D\",\"#33618D\",\"#32628D\",\"#32638D\",\"#31648D\",\"#31658D\",\"#31668D\",\"#30678D\",\"#30688D\",\"#2F698D\",\"#2F6A8D\",\"#2E6B8E\",\"#2E6C8E\",\"#2E6D8E\",\"#2D6E8E\",\"#2D6F8E\",\"#2C708E\",\"#2C718E\",\"#2C728E\",\"#2B738E\",\"#2B748E\",\"#2A758E\",\"#2A768E\",\"#2A778E\",\"#29788E\",\"#29798E\",\"#287A8E\",\"#287A8E\",\"#287B8E\",\"#277C8E\",\"#277D8E\",\"#277E8E\",\"#267F8E\",\"#26808E\",\"#26818E\",\"#25828E\",\"#25838D\",\"#24848D\",\"#24858D\",\"#24868D\",\"#23878D\",\"#23888D\",\"#23898D\",\"#22898D\",\"#228A8D\",\"#228B8D\",\"#218C8D\",\"#218D8C\",\"#218E8C\",\"#208F8C\",\"#20908C\",\"#20918C\",\"#1F928C\",\"#1F938B\",\"#1F948B\",\"#1F958B\",\"#1F968B\",\"#1E978A\",\"#1E988A\",\"#1E998A\",\"#1E998A\",\"#1E9A89\",\"#1E9B89\",\"#1E9C89\",\"#1E9D88\",\"#1E9E88\",\"#1E9F88\",\"#1EA087\",\"#1FA187\",\"#1FA286\",\"#1FA386\",\"#20A485\",\"#20A585\",\"#21A685\",\"#21A784\",\"#22A784\",\"#23A883\",\"#23A982\",\"#24AA82\",\"#25AB81\",\"#26AC81\",\"#27AD80\",\"#28AE7F\",\"#29AF7F\",\"#2AB07E\",\"#2BB17D\",\"#2CB17D\",\"#2EB27C\",\"#2FB37B\",\"#30B47A\",\"#32B57A\",\"#33B679\",\"#35B778\",\"#36B877\",\"#38B976\",\"#39B976\",\"#3BBA75\",\"#3DBB74\",\"#3EBC73\",\"#40BD72\",\"#42BE71\",\"#44BE70\",\"#45BF6F\",\"#47C06E\",\"#49C16D\",\"#4BC26C\",\"#4DC26B\",\"#4FC369\",\"#51C468\",\"#53C567\",\"#55C666\",\"#57C665\",\"#59C764\",\"#5BC862\",\"#5EC961\",\"#60C960\",\"#62CA5F\",\"#64CB5D\",\"#67CC5C\",\"#69CC5B\",\"#6BCD59\",\"#6DCE58\",\"#70CE56\",\"#72CF55\",\"#74D054\",\"#77D052\",\"#79D151\",\"#7CD24F\",\"#7ED24E\",\"#81D34C\",\"#83D34B\",\"#86D449\",\"#88D547\",\"#8BD546\",\"#8DD644\",\"#90D643\",\"#92D741\",\"#95D73F\",\"#97D83E\",\"#9AD83C\",\"#9DD93A\",\"#9FD938\",\"#A2DA37\",\"#A5DA35\",\"#A7DB33\",\"#AADB32\",\"#ADDC30\",\"#AFDC2E\",\"#B2DD2C\",\"#B5DD2B\",\"#B7DD29\",\"#BADE27\",\"#BDDE26\",\"#BFDF24\",\"#C2DF22\",\"#C5DF21\",\"#C7E01F\",\"#CAE01E\",\"#CDE01D\",\"#CFE11C\",\"#D2E11B\",\"#D4E11A\",\"#D7E219\",\"#DAE218\",\"#DCE218\",\"#DFE318\",\"#E1E318\",\"#E4E318\",\"#E7E419\",\"#E9E419\",\"#ECE41A\",\"#EEE51B\",\"#F1E51C\",\"#F3E51E\",\"#F6E61F\",\"#F8E621\",\"#FAE622\",\"#FDE724\"],\"low\":0.0001996189239434898,\"high\":2.8491616249084473}}},\"line_alpha\":{\"type\":\"value\",\"value\":0.6},\"fill_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.6},\"hatch_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.6}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1108\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1109\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"field\",\"field\":\"color_value\",\"transform\":{\"id\":\"p1106\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],[\"color_bar\",{\"type\":\"object\",\"name\":\"ColorBar\",\"id\":\"p1113\",\"attributes\":{\"visible\":false,\"location\":[0,0],\"major_label_policy\":{\"type\":\"object\",\"name\":\"NoOverlap\",\"id\":\"p1114\"},\"color_mapper\":{\"id\":\"p1106\"}}}],[\"feature_picker\",{\"type\":\"object\",\"name\":\"AutocompleteInput\",\"id\":\"p1121\",\"attributes\":{\"js_property_callbacks\":{\"type\":\"map\",\"entries\":[[\"change:value\",[{\"type\":\"object\",\"name\":\"CustomJS\",\"id\":\"p1124\",\"attributes\":{\"args\":{\"type\":\"map\",\"entries\":[[\"scatter_source\",{\"id\":\"p1008\"}],[\"reduced_source\",{\"id\":\"p1011\"}],[\"values_source\",{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1014\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1015\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1016\"},\"data\":{\"type\":\"map\",\"entries\":[[\"c0\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2RbUgTYBDHZaIrKQjRklSMzIkQolGy0j231EAqsy9WSFLZBBVTLDMkkU3U8GUm2tRmZZlG5ebK0oXO5ygNLXw3c1GzmRBFVoYjJbeIez704eEejv/d7+5/y/ml4D8eDQ0NzeBj7gPVZBgk2DpBpnSy6IAVJk/Jh0GPWsiea4d55ygjrTFrBoZcY6A+mQavLDUQJ3sEkbEOkOjV0NtYB17dA6zlXgqkhphYz35fyIFQOOOdBXcUISx2OA9MOj2r/XgDTGE6wYvoiIL1XW5ALNISp3ElAFyfNFDk3ipyS92D0Jq+FYKLC0FbESQ4NGfBDxWsBb+A8rwWCF8sgPrZ9+AsjYOq16dAuqwU+uZEPZitUyC90oehGXl4PiwIv65d5HNNFdCqvcqpX7e9HrJ7lyxuudH4rU6JP7s0+LQkGZ5di+U6eSrYDQuKcJ9FXhKl3Od7KArnD8u5Y8YD1LvPMZo9bukzPz4yz4+M7mUd1eZ+WXon15TOcoqUH5euw5GEBGxP8sYHi2mM6o4VXWJ2bRkeXf3FarbZxPwO4ybG3Hei1dWuQL9h7mmw99MMxDVnVvJpdUQM7TxTtRGoXuQv37JIPMsZ1Wbf/8D/WAoVxKJ68iLXI165K3BcQXvSjSjSTafaTjBzvJWRB6Q3/k0S/lzfnowbWC/u+W3C6dPDuNlgRuuWIREXygbF+778HItXb+KFytvo9ONY6/sOI+AxZgbcxdTEHUhe0R7kpTZQL/rJJp/8/3vZ5Bj5Ngct1TUombCI3genHqJSZRRMyhO/7k0TTmRUoG3sJX6JGRAa/7M9qEpvwwP+BqEn5j+dLnAKyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c1\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zWRS0iUURTHKZkgFRLzQQVDlIJoCyVQGsZ7piSCiWmhTYmkFS3GhahFBdNGnBAqWhTZQywjFceFoYUSifOdQoVevlCRgtKiEoQoF1aCYPwuzeJyz3fu/3XOF6h7bua/TZjBv+1m4+IHJ/D/Oydy3Zw78d2869wsuZk1JujvlJODtTJWUi7U7sIrUrJ7QFzTa8Yztl+StrRIwvEib/pCmqAVPZYn1Ms3C4X3bMlx0ISLR/hexL7Do1e1Y6ftxzndK2HxX77rzHxyxfx7gs7H1cdO16ntyl1XP2Jz0scfD05fT5vNGve78PBNcf/r+zEwaDEnXvTxDZ29JS2BRB9Z4hpkZC7NCjnVKV8stmBtVBa8qQYOWOZkN9RPDv+QjIYzAmbrUoJGUr0K7lLRlMB35YrBnz3iD5cdwuEwH3jm2fV5g6+tqdfW++bylezU/Bd0mJ0ajeh6tT5LbnTgsrv1jt+xlSNlPvTIltR8Q+mhw83+PRcbFB4avQV3NHjtdDF7IXPVSKX+8pzXB4lRfRs4ZHFxPHv/2ZqtYNOvlira1Oz/QHePhode6fCfaQ3WLmnf5FcN3X6v7opx3Zay6cWse1iT987bd3C8rdY8sjeHN+bhnx6daLXa+DdXLjsvy5tsJvDkAp/fGNPFg08tDg808fgH8E3idcgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c2\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/x1RbUiTURT+0SosiUopW8OULFFZpSVD1HswYZofocOyUH9EMWyDaloy2pAVjeloDq00WWL15vxo4qIY0/A9YWBYKpKVKVS2xCVZTGUJmhXn/rg8h/PxPOc890HNPFw318Hn6WPQbm+CqKRZ1lTsYhe39gA9iheFTl4X2hqZ3DTGGvYkMFd5KFhDBthaZ1n68XhdP9UScyygqB+EK4pHkPlvBW5LvXDy8hR87C2CuGAJ7F45x0gr84sb8pO2MJpPGe3jXIQFcgf0X6pkZ7aHidusvvScDU6Y9FuB6oMVjzmWGszw7NM1GH9xh+OH0Gx2tP4QVD+fYOt31cIbrYbfQJrOjJ2ww2QEpayN69yItmMQurDJ40Xb2RKRciHrNuGk+qtoqc6HmD/34LWxCrO9+4B6kzOVfJ+R5vuQpkmF37Z4zK5iIjokYk3ClEi5W8MKmNkIEOiQMbP9NC6ciAOaiyz6K5qKT/H9CEcilkXyKtWQhRd8egifWWXv5sbTqO9IYwojb4LTLYzyFNPdbwv0oiOjG6if/N/cahXXhDB+o0pjZ7SbpDaa73JQVsg9JE+II2soEZeNkdDtuQl1SwN8T/Lp/FwvyNp13BPiJw76P/3SL3RXTGBXrg8pTpG/Qq25D6PqFzHvoRPJj/zAfiStH/N5It3xLSIXD8jLMErXgbFePx6etaA05ymPhZifaC0f5TFxfV9A9DQPo87Vg6vqVhwTtPi+tJFrEHdAnYyqIQfnIgzfK3KUYwNWSq+iW2VDpeEJChIBY++28Do90nvp9+B/pzGSWcgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c3\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z1Ra0iTYRSOAmuuNKNlXsCpJCkJAxktcN/5tFAHiWU/ZFY2Y2mtQishokDH0KGiKc4pTDFS0YzyUo5Iv/dAxfLXamgOCRvZKhZ2b7LStM4L9ePAy3PO+1zOyR0yQ1TsZdhrG4PBMwrRlRgnmQ5GigHDPNwy+aAt7BKvd3Vx4tn8OShzBGCloA9KopLF99a3QNjq7i5w7BHE5mCPgB+82pkxu7bdZwJHazEQZq+xCs4BJ6QVvYRxuQyoR29XY7yYqMqB0aALHvubICNhC1wLmxOyQ60Q018CnmCa9pAvXqB56muSitmV9NdC7VMr5P71fTM+GyKzquF8iod7SldNw1L3fSjYsE4kvEbRCSkLaljc94LrGUMaJI5C2UVc38HYLqjFeakHnw8Y2M++XDyZkIWL0UmZ3ysmJfODKaGvsB6/xhiQdHzuBUG/YsZPgy14IkfH5zIry9GlRDxcNysR3xu5FkmD+F/p81E2sYPrrUkuVmzT/8dtmQ/xqKcXFcuxQD3i3XaniYX/aMDhri8S/Rv3XEV/nhXtmirmlY9wb48ijqD/wCjnpBl96DamRvuZeXs1llracKSxgesS9+KzTuyNUSDxz7pPYcmQA5VN7bymj9sxsHQDk1eNeDq8H6siNvF9lHtUWHFsJ36r+cw2L3ezPE0qe2IcligXzXx0rzHq0Y0p5zmLEuv3j/D7klfSon+E044oc5naghmVJrZRd5e5p5olwujGlPe3383+3eSCeiuf+yX3coy0tTM6Rnsmb5S/aKKU78k5fW+S8LaB60KLu0Mgz38AxkOV4cgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c4\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2SbUiTURTHhzPTVlLhS+UchOVgmpgoJvbc86RkWUHa0rCZki9pQhkm6LIipk0FLfMldWjkHEblCxSa1HaPmFBpltaIChMqtTSskFqmvXGeD3275577O//zP+e6vj3HwoMu8zlrOfMYrQfPwlY+rIuEcvkN4U1i5r253CJhMCsXBoVGpnw1bBWWnWC+J70ZDy2F29GF8OTDL1aAGvBqewQZxbVbndYUs2+hBVwfr8DIlz95gFaDkZ1+WGqZsMXkfOeUszer+JTmAvOb3w0l712Q6j1TcE58xvQu/nn+Fj+U4YUUO47Msr/adr5o3cACmkzcOUxmvapuEbJWVNhc+qcY6S/02uFp8DGg3vS1yTBkdIPq9C6W9FsO3WmrgTWNMJgUQe/djplOMUheqL+UDiNX5B1F0ly794Vg06t5rGc8finJR3VqCsrtEZjtWIVF/gLuv7YHiaG3uoTz6NYcjnH3y9HYWol1TIZjcEXySFz9HyNCdhV6rCvDw+6nUNl7B+cDa3BbwXqpbp1zC6ZG7JTyxJ9ZPI40l5yeBpztipJY4mJlbVhWmYPmKoOkRzk6kz4xffuuSz11LddJcchYJ5JH4uh9cvCopEP+H09Y/veTePosii0/eOPHdBztMEv3ps12TnugvdCeJxs2sU++abD04RKkmO7VN/Nt5J/m7P+8iUf1XeKmkk5IOzDDaR/ThosgbLwLodlfwaIcgC0OlUg1hsK8xWBeAcaDzaAZeQ30d1TjOtEzOkIkxuDaw7RBWSymfkAwpS5AniMQ+lp9RJV8peiT+wBCajh08GjWrXARtxtkonlHtfT33iW5i/3jMxCXMAn/ANItFKjIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c5\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zWSO0gDQRCGrYNWKkSxWUGxu8IINnd7doJgESx9YaHio7KSlIKlRcqgOUSQFGdhYyPuiq/KRkRB0gSMhYWcjYggxnwDUxx7Ozfzzf//iXkZ8bX+oi8ELRfMlnw+XI2CYsFxTz+e3Nx4j69Pl+Whj/tMudNy0lNd23HdiwfRUJq6m8ath7F+vuyb26H0mzZ/qXfBwqT2vbkbKgemec2i59Ke8KjTxztzSXYsd+Zgs4M6e6mFyb7UdDc83vHAN+Zh4qMjPhXmymQu/t04sfRRqz+OWdUE03dd2feHpuiEoXumBjPRgj/8T1SvLzjRwg4yyH22LBqo8Y3a8NmWxWNl4Mji8+2vYclH/bALv3DRotmwCw3o/Lnsi3mHhTftp7eWfAmffeyQ37E9y13nyV+14ok6HLSgkXnqaNCs4WpWnPSSGw/zeIGr/wc43PHAfnKAh0ZyYY4TD8rVTGCxD0bl8E6y0vzQiSbNMj9qxCffeeCa+Xv7D9oNUqnIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c6\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zVSXUhTYRge6sWaEDUNZjHqXBTkhZlBF8b5vhNWSwVXVFo52cChlLRCsOhnEKEWplRDC2u26BjFitKECNr53i1SmD9ElKKji/SiH29GLJh1Auv5wIuPl/O+z/O87/O+x5IM85nWfHo5YtUeOdv5QvsUU2zF3NdZwkPfHIToCXxnG5aGuMtcZ/i73zFg73cUafrcSQFsOtLMUk0/2ZpfWfXQMb/kmpPbGerIfQ0X8Mj4JVG+flakh+8w1KGnr1U4+Mh36a8MaMSU92Kq4apgW8fEtK+eDyw/5s+y+0TWqJD69zJ75Fyj9Z3cXXVW6gDnXizQLP+91Hn/MMvnjcw/e0DNRuMcePBSpyv5cnVufHVLXvyaMUcl9gQBa/ZeJPC/dN3lMcc5AqZ3foJj9pX6Qs9mXmT/pFrf7iXkz7+5QY2OXA3zV9feFKeiD9gofyrQM6ZGJXcnNRiv7fPSc6LUEErpkFpc060CE8nZIT3fblY14MCHFvYKHdTK/poiWdMv4B0RXDzM2qYneSDfq7k9WygYbiXsC7M7zV38SkfKaCtcpWYGo9KfLzjDEDPPjzDUsSfooyducWLQJmfp/32LwMH72PSEsGPkDnqHqWKbh2oDESpTXlC6L0aVu6fJf+YHDVgvk4tV0dELOTSxf5L6FnXJQw7xcEshwR/6w1coETLwjbottsRxL8yNHseDPbIf7rGy53J+nfBf5I3UyXuh74dGJ7FNAXK5Hso9YdeI/wAW4WOUyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c7\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/02QQUiTYRjHmWDootwIpdqhlJRQojXEYsPv/S4dbJJe5qFEuriiGEg4Oi0waJRSh0kwR9FJL5oEOVCY3/NdbIMu4mAdvIQyRQ+6VczIi/1e+KDDw/u87////J7nfULZd+J+fMk+m35ttXQNyNjornG5eVb+XMnJxLxX1ruLEokkJfa9rHVyb8pnt7s9dviJX476fQZxEIwKdeiwjidH5H24TuuD6aIaTryQG9+UhN7u5fAcuh6qu1s/V2EkXflg1X/eqr3MGN1vZnQvzszvqny9k5Dk54h1bm1Bxu9f0IxcpceCQaBFT7dK4F6Dnod5Dd8t+bEfE3jFTFyYu3FzSGrVTpsa7vSgJ/HqWUnze266euGjezum9NzTVz+pie0+k704Pamtjy9JaTmpqGcGfPwJjch7n6szDX/Vo41WtVj4oH4dpa1AylT27RXD8VAbb7uo4KLzzh/J6cde+AN1eOFzslM0POScaLDmZgs6h+l4vzRdM2sfT5noeAly3p8+sBV8esPiH2j/z8Ee6Ifm9MxWZhR+Z1Zy6pzAC/f6+o7+Ozp3OOWQx4TJnA4PzdkR7+wWL/Ph1Xv+d4fDTtDJCTwnCrXbEMgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c8\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zWSXUiTURjHG0TUjVlXyShyJESSBTWC2M6zIrQsWDHoQ+pq2E0OhMAVWd6MPogSJUxqJC1eCBcrbBcFdp5lyCC68CP6GERGUqCNbgRpUdbvwC4O533POf+P5/88TUMJ07cY0+zfG3Jx8peJ9s/Lx3DasBbex2VmdpcmM3m7uXLOeuubbHYsYKJvHocHPh8IL1+ZlltxT1I7EhKKvzX1NUE5On/f+h+k5OemV6MzQ6sFjuPDLRHeoPNu8rXc61qrYHnD4hsM3ItXP0nfSKNMt5/X6L4V8v16zI7kTuv0xiMS3NlrOX92+ZpBh/Oph5Uw/u6OD2q8u03K2/ebs4/65XltyVYWcgbf/FNbe/JMAVxjfUb/zE1oZ2SPdv5eJ/iuK/sLnOHH211bwCOZlIo/LLzwcB8cqCtULi1Z78uY0x7tzuq2Kb/zSj57x1scBt/UXPXAHd4GTxRtjX+V4gNcg+bk0Ie8Uhea+LjZXFJwGzJflTvqo1Ywid6iy24iv6T0Jn3BF6E2FnypLU9UtzY4HN7QDPlaIyfXDEsgdkrpHTiybO566eqil/ijHhYZkB98y44FxJvrETjpJdo9B5Mv6Ds7b3zpViUTZgAu8NWZKHc8dTNBfWg4rf988LDzjwa5wYcfMqpmHmq7LVdmv7ls4UGD2WTnnblzOESG/wBUUdQAyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c9\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/x1SbUiTYRR1WVLQkuVHrekMhSFDC0ZIhHvuCiss4XUYhQhK7Ef2RVArRqnQB01DYq5sIvY5wkBNaQ6R8r1KgiwrKqYZ6KIgsPVDGGRYBHXuj4fn3ueec++55329WzT6FjSR9/89d67Ahbs/NUV9uU8Ub/2tkNt97bTKfZ1smXk63mLZjylufksrPR7hoYb8RI6NKoIBCl0uVxftBnI9DakDkXE1WL9OsCXmEgUs5gGXPXKMDMkqedtuHXaCj/67i1oUsMCsPzxIyDvmXtIrn1F46IUcOpZCu6jyxxm6X7lNcKf8hS5g0CezvpW00Khwanu+UtYeAz/LjenuyBe91/RAT1h/UXqpjaEBO55dCOnQe7qzjO/m/2Toyt9vZ+ymriRo+Wo7ewJGnlo8yYsbC3mysU70w5cXlpQ+oV1jxDjFVTUcSZgFjzy94yZPHxrg4qHnDJ0N/bfFY7xHLe/Vys4/stebvpkx4JLaJ4U6uA53E6M3uKuX4s54cxntaI4SeL7uBobPwM/u9SvsCC3zx1vlbinwCRZ9OivWiOfwBj3Wnvfrj5qWx+DFpYyHfGvza66bT/LfPK9wv1+4ITONDo0RHz1S5Kz53M0b7ozwvg9dgkG9LSvM1oWMcfC6JnM4rS0qmHBpr+ye2nRQ4uCwhxHDO/w30OGoTisPx5TsZwmPcvXHCR5wvBMN4GAOdpqpnZU6vMBBH9O9gPDwTf8B0ywVesgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c10\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/z2STShEURTHSz6Sj4iYScQsLFAsJd59FiSlGDElIwtDI42PRMpGSUk2UmOyGItRGoRirOZdZWODbHzFJFsRIpHP322exe3dd87//P//c+65+HgRkcB8ZcXrdtVao0dkWwKixNEudiamDEeqFO7cGuPY8xG2J4a10HDQcGZUS2d+rvR32jRw3vSQOC2YFkWDmcKbNycs33eCHHzg4VmIvRS7bc/Gbs+RERyNUdzk7Z83WlOWT2t4TdOLu8qVD77ocXxvX8KRsyiuraUS/FJtr0b9qrP+X4MY2leFSRJ+cvihD/zwxQ+YSHKz4kEHbEe8S6KP1pNrX3LQ72/t1uGN/IxIMPfuMp06ZkGMvg8fbCrGP4fajfFJ5cFb0xLGM3oDY7PyfTlub7N/ReEG+rZUHM262xk95dmqU0eMozSiefDk4KIOLrNP5gBO+YzqKJ6/GnoFj3dmfZa5rmZA7nHIrzi5w6Vq/7CWpANhzoJ3MXvhveEAR7/cieGTemYBt+oryskenSecqD3iDegVn+yAWUuMO7z0gibHnBvvSI69M/cRfnaPvUKT3ePg6RdM/gSGyAIAAA==\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c11\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/x1Sa0gTUBTOhhQimiWZDcWlUpQzS2sW7J6lheUUDEvMHmqPmZmUmKtWQ2tTWZKpKesBkmRbRZauxyDcPRZilo3KpY0NK9uirB9BL4pU4twfl8M9r+8753wfix/DtuST7PqlTeyu0Q2BGjNru+oAdtsLT2qsEHlljip/vB7GXF2wf6ob7H8PgiQ7SHUs0gMrZ2VAVqUTZsca4EVILziSMkXNNYvN0ZBbBPeNjC/6GgUS73Hl5vW/2Zl8B4vWmqBH3gEdFg2cUCjgy2gepMUehq5wGQRfiIBdtm5G+cl1d5Qxzj7Y508CqAoAf1CD4EaxglQEwj+U0ih41da3CgzikdZ4CpxZlZDwslTUUo8jgXY2X78H1pVlYHnYFlw2z88Lu3LFP3SrAckObQ9iZH2do+y7RIcX7UVIc5sfLYRz/rzedFMnlv5xYceNcGXdabvoY43hXL66HXW6Hh7Q1IzEgWITka/4yIQRl58dwZ+yN0gxepTrqOzn1LtG7cHhocU4quoVWIRNlvKMhVP8w6ccDLv1EC3xUjRdVuDAznKBU+LR4ob3XnSbf6B0MgJtS/rxXvU/UWd4Ju2jGsoP9jYLbu0Jv1A26BM+4req34YDcedxuiIFiw+gwI3wmdH0dgVPalnANVEVnOYiXOJBuE3D4Uh7GF+q5nTbULWPrWFxYB1LB4qTdug+O1Lj+YPpp6xheFBJd3+XUstpr9/mNjP3zEB8rcpjTrsRPkcn4u4Bl7j389ZMrJpRILSiMGQ78rVaoY0yaQisPbqXk0ZKzJNML9eLmapz7EDaIt/GwpuMeia22OA/o1Oj7sgCAAA=\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}],[\"c12\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAA/zVSbUzNYRSfS1aKq8a1drtqSXVlwipL/f/nj+oO0dULKimi0CK9bGhYyzClNLPpFjdyK72sl2u9bPUchWY3ttBUbJXSlpr0/1B9sMR5Nh/Ong/nnN/5vTyGX0p0Mi8yj591gZuKGlmB51nRLX0ZDkR9ZtP7vFillQu6Vp/ELkdXFmUJQqsjtryoH/tDZlMxyMzqrajJ9ULlVW+QD7ni681VcH76C/vop0Wa0ZfkssGNCgwrX4nr8t+y7D4V4jYJ7VPV6N06wYZC/VHOmeN4dO9Ym4b385cwMPzjF/OmFurc3rOkr+1AOLqXr6DJ9h4QjsPpIvafE+1dYMv5jW4XR85zPMABF+OrWI9Oj6svlmHbqgLsj0tApeky7i29g771+1GTkoMrkh6ieelNPnOmJRdvTbpj5rjAORLWsE8h7un4wCpsTNiX9UeMajKgZUcDxHY85RoJy2RfDz3eFXhloITv016W1TXWujuZ6yQ80ho+Oip+2mJk2uIATBsKYSdGIlGbU4Tq+wDry1NY6twpjJ7pFcgv0jCSGCTSS9rGMtJ4Ht91T6DGq1bIkx+JCyktOH8pmvMtU+n47ebwbKAKtTknkP+/C2dAsRAi7eweBcqSeATXCYzyWlP2DQiz31cFlZ2d7U4ZeRAjZ2ND+Jigka2lsQg/ifye0yvBvXFQtHtwQCSuPR4qaSauEZLxLmRGqKUwo0LyeB4GAdVmeLbWB2aPFouUxUR6HBDvfHmDlC6/A0WyM8+O/PE11kDHrkiwLjgMoVPXwb+5S5y9MQEH60th9nYqJM7Hi4F2Col2HgcFC9uNzuLkcVFK6H0BlohhoP/qabLAX7eP5wLIAgAA\"},\"shape\":[178],\"dtype\":\"float32\",\"order\":\"little\"}]]}}}],[\"mapper\",{\"id\":\"p1106\"}],[\"feature_names\",[\"flavanoids\",\"hue\",\"od280/od315_of_diluted_wines\",\"proline\",\"color_intensity\",\"nonflavanoid_phenols\",\"proanthocyanins\",\"alcalinity_of_ash\",\"ash\",\"total_phenols\",\"magnesium\",\"alcohol\",\"malic_acid\"]],[\"degenerate_eps\",1e-12],[\"degenerate_frac\",0.05],[\"degenerate_min_span\",1e-06]]},\"code\":\"const idx = feature_names.indexOf(cb_obj.value);\\nif (idx < 0) { return; }\\nconst col = reduced_source.data[\\\"c\\\" + idx];\\nconst copy = new Float64Array(col.length);\\nlet lo = Infinity, hi = -Infinity;\\nfor (let i = 0; i < col.length; i++) {\\n const v = col[i];\\n copy[i] = v;\\n if (v < lo) lo = v;\\n if (v > hi) hi = v;\\n}\\nif (hi - lo < degenerate_eps) {\\n const mid = (lo + hi) / 2;\\n const span = Math.max(Math.abs(mid) * degenerate_frac, degenerate_min_span);\\n lo = mid - span;\\n hi = mid + span;\\n}\\nscatter_source.data[\\\"color_value\\\"] = copy;\\nif (values_source !== null) {\\n const vcol = values_source.data[\\\"c\\\" + idx];\\n const vcopy = new Float64Array(vcol.length);\\n for (let i = 0; i < vcol.length; i++) vcopy[i] = vcol[i];\\n scatter_source.data[\\\"picker_data_value\\\"] = vcopy;\\n}\\nscatter_source.change.emit();\\nmapper.low = lo;\\nmapper.high = hi;\\n\"}}]]]},\"styles\":{\"type\":\"map\",\"entries\":[[\"color\",\"#444444\"]]},\"stylesheets\":[{\"type\":\"object\",\"name\":\"InlineStyleSheet\",\"id\":\"p1120\",\"attributes\":{\"css\":\".bk-input { color: #444444; }\"}}],\"visible\":false,\"width\":260,\"title\":\"Search for feature\",\"value\":\"flavanoids\",\"placeholder\":\"start typing\\u2026\",\"completions\":[\"flavanoids\",\"hue\",\"od280/od315_of_diluted_wines\",\"proline\",\"color_intensity\",\"nonflavanoid_phenols\",\"proanthocyanins\",\"alcalinity_of_ash\",\"ash\",\"total_phenols\",\"magnesium\",\"alcohol\",\"malic_acid\"],\"max_completions\":15,\"min_characters\":0,\"case_sensitive\":false,\"search_strategy\":\"includes\"}}],[\"top_n_slider\",{\"type\":\"object\",\"name\":\"Slider\",\"id\":\"p1122\",\"attributes\":{\"js_property_callbacks\":{\"type\":\"map\",\"entries\":[[\"change:value\",[{\"type\":\"object\",\"name\":\"CustomJS\",\"id\":\"p1125\",\"attributes\":{\"args\":{\"type\":\"map\",\"entries\":[[\"scatter_source\",{\"id\":\"p1008\"}],[\"names_by_rank\",[\"flavanoids\",\"proline\",\"color_intensity\",\"nonflavanoid_phenols\",\"hue\",\"ash\",\"magnesium\",\"alcalinity_of_ash\",\"od280/od315_of_diluted_wines\",\"proanthocyanins\",\"alcohol\",\"malic_acid\",\"total_phenols\"]]]},\"code\":\"const t = cb_obj.value;\\nconst tfg = scatter_source.data[\\\"top_feature_group\\\"];\\nconst ranks = scatter_source.data[\\\"sample_rank\\\"];\\nconst n = ranks.length;\\nfor (let i = 0; i < n; i++) {\\n tfg[i] = ranks[i] < t ? names_by_rank[ranks[i]] : \\\"(other)\\\";\\n}\\nscatter_source.change.emit();\\n\"}}]]]},\"styles\":{\"type\":\"map\",\"entries\":[[\"color\",\"#444444\"]]},\"visible\":false,\"width\":260,\"title\":\"Top features\",\"start\":1,\"end\":13,\"value\":13}}]]},\"code\":\"const mode = color_modes[cb_obj.active];\\nconst is_group = (mode === \\\"Group\\\");\\nconst is_feature = (mode === \\\"Feature\\\");\\nconst is_top = (mode === \\\"Top feature\\\");\\nfor (const g of group_glyphs) g.visible = is_group;\\ntop_other_glyph.visible = is_top;\\ntop_named_glyph.visible = is_top;\\ngradient_glyph.visible = is_feature;\\ncolor_bar.visible = is_feature;\\nfeature_picker.visible = is_feature;\\ntop_n_slider.visible = is_top;\\n\"}}]]]},\"labels\":[\"Group\",\"Feature\",\"Top feature\"],\"active\":0}}]}},{\"id\":\"p1121\"},{\"id\":\"p1122\"},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1017\",\"attributes\":{\"sizing_mode\":\"stretch_both\",\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1018\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1019\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1027\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1028\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1020\",\"attributes\":{\"text\":\"Embedding \\u2014 lasso or box-select to filter\"}},\"renderers\":[{\"id\":\"p1066\"},{\"id\":\"p1076\"},{\"id\":\"p1085\"},{\"id\":\"p1094\"},{\"id\":\"p1103\"},{\"id\":\"p1110\"}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1026\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1039\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1040\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1041\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1042\",\"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\":\"p1048\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1047\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1049\"},{\"type\":\"object\",\"name\":\"LassoSelectTool\",\"id\":\"p1050\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"PolyAnnotation\",\"id\":\"p1051\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"xs\":[],\"ys\":[],\"editable\":true,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1052\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1053\",\"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\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1059\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1058\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1115\",\"attributes\":{\"renderers\":[{\"id\":\"p1110\"}],\"tooltips\":\"
index: @index  ·  group: @group  ·  value: @picker_data_value{0.000}
\",\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1116\",\"attributes\":{\"renderers\":[{\"id\":\"p1076\"},{\"id\":\"p1066\"}],\"tooltips\":\"
index: @index  ·  group: @group  ·  value: @top_data_value{0.000}  ·  feature: @top_feature_name
\",\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1117\",\"attributes\":{\"renderers\":[{\"id\":\"p1085\"},{\"id\":\"p1094\"},{\"id\":\"p1103\"}],\"tooltips\":\"
index: @index  ·  group: @group
\",\"sort_by\":null}}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1034\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1035\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1036\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1037\"}}}],\"right\":[{\"id\":\"p1113\"}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1029\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1030\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1031\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1032\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1033\",\"attributes\":{\"axis\":{\"id\":\"p1029\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1038\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1034\"}}}],\"output_backend\":\"webgl\"}}]}},{\"type\":\"object\",\"name\":\"Column\",\"id\":\"p1166\",\"attributes\":{\"styles\":{\"type\":\"map\",\"entries\":[[\"background-color\",\"white\"],[\"flex\",\"0 0 40%\"],[\"min-width\",\"0\"]]},\"sizing_mode\":\"stretch_both\",\"children\":[{\"id\":\"p1164\"},{\"id\":\"p1163\"},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1136\",\"attributes\":{\"sizing_mode\":\"stretch_both\",\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1138\"},\"y_range\":{\"id\":\"p1135\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1145\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1146\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1143\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1160\",\"attributes\":{\"data_source\":{\"id\":\"p1132\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1161\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1162\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1157\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"feature\"},\"height\":{\"type\":\"value\",\"value\":0.8},\"right\":{\"type\":\"field\",\"field\":\"mean\"},\"line_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#756bb1\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1158\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"feature\"},\"height\":{\"type\":\"value\",\"value\":0.8},\"right\":{\"type\":\"field\",\"field\":\"mean\"},\"line_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1159\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"feature\"},\"height\":{\"type\":\"value\",\"value\":0.8},\"right\":{\"type\":\"field\",\"field\":\"mean\"},\"line_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#756bb1\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1144\"},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1152\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1153\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1154\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1155\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1147\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1148\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1149\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1150\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1151\",\"attributes\":{\"axis\":{\"id\":\"p1147\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1156\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1152\"}}}]}}]}}]}}]}};\n", " const render_items = [{\"docid\":\"6845aeb6-12e5-4f93-afd7-f920f1f891ea\",\"roots\":{\"p1169\":\"bcb610ac-542d-4834-8b08-7e757dc51128\"},\"root_ids\":[\"p1169\"]}];\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": "p1169" } }, "output_type": "display_data" } ], "source": [ "from glass_box_umap.plotting import (\n", " output_notebook,\n", " plot_embedding,\n", " show,\n", ")\n", "\n", "output_notebook(hide_banner=True)\n", "\n", "show(\n", " plot_embedding(\n", " Z=gb_umap_embedding,\n", " contributions=contributions,\n", " group_names=target,\n", " feature_names=wine.columns,\n", " feature_values=X,\n", " )\n", ")" ] }, { "cell_type": "markdown", "id": "4b8b797b", "metadata": {}, "source": [ "Two toggles drive what you see:\n", "\n", "- Color by *(above the scatter)*:\n", " * `Group` colors points by labels you supply (here, cultivar)\n", " * `Feature` paints a gradient over the L2-reduced contribution of a single feature picked from an autocomplete\n", " * `Top feature` colors each point by whichever feature contributes most at that point\n", "\n", "- View *(above the bar chart)*:\n", " * `L2` is the magnitude of each feature's contribution to embedding position (always non-negative)\n", " * `normed L2` is the same, however contributions are normalized per-sample such that they always sum to 1\n", " * `Dim 1` and `Dim 2` are the signed contributions to the corresponding embedding axis.\n", "\n", "You can use the \"Lasso\" or \"box-select\" tools to restrict the bars to a custom cohort. With nothing selected, the bars summarize all samples.\n", "\n", "---\n", "\n", "Here are a few observations:\n", "\n", "1. **Proline holds cultivar 0 together.** Switch *Color by* to **Top feature** and the bottom-right cluster lights up as proline. Lasso it and look at **normed L2**: proline accounts for ~17% of the average sample's reconstruction there, compared to ~8% and ~4% for cultivars 1 and 2.\n", "\n", "2. **Flavanoids is a polarity feature: same magnitude, opposite sign at the two ends.** It has the largest mean L2 globally, but switching the bar chart to **Dim 1** and lassoing each cluster shows it flips sign. Strongly positive (push right) inside cultivar 0 and strongly negative (push left) inside cultivar 2. Switching *Color by* to **Feature**, selecting flavanoids, and hovering over datapoints in cultivars 0 and 2 reveal that the standard-normalized flavanoid values (i.e., values in `X` -- not `contributions`) are negative (below average) for cultivar 2 and positive (above average) for cultivar 0.\n", "\n", "3. **Color intensity is uniquely prominent in cultivar 2**. Interestingly, members of cultivar 1 that leak towards the cultivar 2 cluster have upweighted color intensity contributions, further evidencing that color intensity is a unifying feature of the cultivar 2 cluster.\n", "\n", "4. **Ash drives sub-clustering in cultivar 0**. Color by ash and notice the rightmost members of cultivar 0 light up. Lasso these points and see that ash is the dominant contributor of these points. This is despite the fact that proline and flavanoids are the dominant contributors of cultivar 0 as a whole. This suggests that features that separate a cluster from the others are not always the features that define local positioning of points within.\n", "\n", "## Conclusion\n", "\n", "`GlassBoxUMAP` behaves like any other UMAP implementation for fitting and transforming, and adds `compute_contributions`: a per-feature attribution that sums exactly to the embedding. `contributions` is just a NumPy array, safe to plug into any downstream analysis. The interactive plot used in this guide is one starting point.\n", "\n", "From here, [Saving & Loading](saving_and_loading.ipynb) covers persisting fitted models to disk, and [Embedding Comparison](embedding_comparison.ipynb) compares Glass Box UMAP against standard UMAP on a variety of datasets." ] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "glass-box-umap (3.13.1)", "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.1" } }, "nbformat": 4, "nbformat_minor": 5 }