M2_gene_expression.ipynb 2.98 MB
Newer Older
FAGES Francois's avatar
FAGES Francois committed
1
2
3
4
5
6
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
7
    "# CRN models of gene expression\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
8
    "Modal INF473L Ecole Polytechnique\n",
9
    "\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
10
11
12
13
14
15
16
17
18
19
20
    "F. Fages, Feb. 2020\n",
    "\n",
    "<img src=\"gene.png\" alt=\"gene.png\" style=\"width: 400px;\"/>\n",
    "\n",
    "# Part I: Basal expression\n",
    "\n",
    "* Transcription: gene + RNApolymerase => geneRNApolymerase => gene + RNApolymerase + RNAnucleus\n",
    "<img src=\"transcription.png\" alt=\"transcription.png\" style=\"width: 500px;\"/>\n",
    "* Translocation: RNAnucleus => RNAcytoplasm\n",
    "* Translation: RNAcytoplasm + ribosome => RNAcytoplasmRibosome => ribosome + protein \n",
    "<img src=\"translation.png\" alt=\"translation.png\" style=\"width: 500px;\"/>"
FAGES Francois's avatar
FAGES Francois committed
21
22
23
24
25
26
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
27
    "### Reaction-based modeling\n",
Sylvain Soliman's avatar
Sylvain Soliman committed
28
    "* chemical reaction structure: `reactants => products`\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
29
    "* rate function: mass action law kinetics `MA(k)`, Michaelis-Menten kinetics `MM(v,k)`, any mathematical expression over the reactants"
FAGES Francois's avatar
FAGES Francois committed
30
31
32
33
34
35
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
Sylvain Soliman's avatar
Sylvain Soliman committed
36
37
38
39
40
   "outputs": [
    {
     "data": {
      "text/plain": [
       "From inherited 'initial':\r\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
41
42
43
44
45
       "[0] function MA(k)=k*product(S*M in [reactants],M^S)\r\n",
       "[1] function MAI(k)=k*product(S*M in [reactants],M^S)/(1+sum(M in [inhibitors],M))\r\n",
       "[2] function MM(Vm, Km)=Vm*single_reactant/(Km+single_reactant)\r\n",
       "[3] function Hill(Vm, Km, n)=Vm*single_reactant^n/(Km^n+single_reactant^n)\r\n",
       "[4] function HillI(Vm, Km, n)=Vm*single_reactant^n/(Km^n+single_reactant^n+sum(M in [inhibitors],M^n))\r\n"
Sylvain Soliman's avatar
Sylvain Soliman committed
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list_functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
FAGES Francois's avatar
FAGES Francois committed
61
62
63
64
65
66
67
   "outputs": [],
   "source": [
    "MA(k1) for gene + RNApolymerase => geneRNApolymerase."
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
68
   "execution_count": 3,
FAGES Francois's avatar
FAGES Francois committed
69
70
71
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
72
    "MA(k2) for geneRNApolymerase => gene + RNApolymerase."
FAGES Francois's avatar
FAGES Francois committed
73
74
75
76
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
77
   "execution_count": 4,
FAGES Francois's avatar
FAGES Francois committed
78
79
80
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
81
    "MA(k3) for geneRNApolymerase => RNAnucleus + geneRNApolymerase."
FAGES Francois's avatar
FAGES Francois committed
82
83
84
85
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
86
   "execution_count": 5,
FAGES Francois's avatar
FAGES Francois committed
87
88
89
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
90
    "MA(k4) for RNAnucleus => RNAcytoplasm."
FAGES Francois's avatar
FAGES Francois committed
91
92
93
94
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
95
   "execution_count": 6,
FAGES Francois's avatar
FAGES Francois committed
96
97
98
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
99
    "MA(k5) for RNAcytoplasm + ribosome => RNAcytoplasmRibosome."
FAGES Francois's avatar
FAGES Francois committed
100
101
102
103
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
104
   "execution_count": 7,
FAGES Francois's avatar
FAGES Francois committed
105
106
107
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
108
    "MA(k6) for RNAcytoplasmRibosome => protein + ribosome."
FAGES Francois's avatar
FAGES Francois committed
109
110
111
112
   ]
  },
  {
   "cell_type": "code",
Sylvain Soliman's avatar
Sylvain Soliman committed
113
   "execution_count": 8,
FAGES Francois's avatar
FAGES Francois committed
114
115
116
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
M2    
FAGES Francois committed
117
118
119
120
121
122
123
124
125
126
    "MA(k7) for protein => _."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "parameter(k1=1, k2=1, k3=1, k4=1, k5=1, k6=1, k7=1)."
FAGES Francois's avatar
FAGES Francois committed
127
128
129
130
131
132
133
134
135
136
137
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initial state"
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
138
   "execution_count": 10,
FAGES Francois's avatar
FAGES Francois committed
139
140
141
   "metadata": {},
   "outputs": [],
   "source": [
Sylvain Soliman's avatar
Sylvain Soliman committed
142
143
144
    "present(gene, nbgene).\n",
    "present(RNApolymerase, nbRNApolymerase).\n",
    "present(ribosome, nbribosome)."
FAGES Francois's avatar
FAGES Francois committed
145
146
147
148
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
149
   "execution_count": 11,
FAGES Francois's avatar
FAGES Francois committed
150
151
152
   "metadata": {},
   "outputs": [],
   "source": [
FAGES Francois's avatar
Modal2    
FAGES Francois committed
153
    "parameter(nbgene=1, nbRNApolymerase=10, nbribosome=10)."
FAGES Francois's avatar
FAGES Francois committed
154
155
156
157
158
159
160
161
162
163
164
165
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Chemical reaction network (CRN)\n",
    "* hypergraph represented by a bipartite species-reactions graph"
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
166
   "execution_count": 12,
FAGES Francois's avatar
FAGES Francois committed
167
168
169
170
   "metadata": {},
   "outputs": [
    {
     "data": {
FAGES Francois's avatar
M2    
FAGES Francois committed
171
      "image/png": "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ewOpNbuTBlvrpRmiNGBbL11brQyasUndltTaoKltdV11x1JQo7EXN910k/uaO+38jAACCCCAAAIIIIAAAoUWiDyYCHZpVe610rUq/Hqpkq9F5fS+AgEFBV6QoC5ICh68WZd0TgUVeing8IIOBSLqbqW1JzR4W1PEarpZtYgMGTLEul9Zvbp58+buuGDp4n0EEEAAAQQQQAABBBCIqkBO1PskaR0IvdQFKprb6tWrbeHChW4FbQUX6nalVbg1A5QWw7vzzjvtz3/+czQvybkQQAABBBBAAAEEEEAgHwG3AnY+n/vmI7U8aMC0FpbT9tWvftW1SKhVY9uVsRwaGM6GAAIIIIAAAggggAAC8RNImmBCJL1793bdpBYvXuy6O/3kJz9x4yK0GJ5aKzTgmg0BBBBAAAEEEEAAAQTiI3B1Bez4XK7wV9EYjOeee87uvvtu1xqhRfZ69OjhBoG///771rNnT2vRokXhL8QZEEAAAQQQQAABBBBAID+B6A/Azu9q0fpMq2m/+eabNmbMGDdrlHdeTQn7+uuvu5W7e/XqxYBsD4avCCCAAAIIIIAAAghEXyA5gwk5rFixwj799FMbPXq0m/XJs9FMURpXodmjRowY4QaDe5/xFQEEEEAAAQQQQAABBKImkLzBhAi8wdiDBg26TkQzP3322Wc2fPhwt2jddTvwBgIIIIAAAggggAACCBRGICepBmDnzuldd91lBw4csE8++ST3R9alSxfr37+/6/b0+eefX/c5byCAAAIIIIAAAggggEDhBJI6mNCidurKtGjRItuxY8d1EppK9uGHHzbN/jRz5ky3ON51O/EGAggggAACCCCAAAIIRCSQdLM55ZXL7du3uy5PY8eOtdKlS1+3izeOQitxq9tTXvtcdxBvIIAAAggggAACCCCAQH4Cyd3NyctZ7dq1rU2bNm6GJy1il3srVqyYa8GoW7eujRs3znbv3p17F35GAAEEEEAAAQQQQACBMAWSuptTYF47derkWhxmzZoV+PY133fu3NmNo3jjjTeMcRTX0PADAggggAACCCCAAAJhC6RMMKGcDx482LZu3WqrVq0KClG/fn175JFHbMmSJTZt2jTGUQSV4gMEEEAAAQQQQAABBPIXSKlgQt2Z7r33XpszZ47t27cvaM5vvPFGt+CdVtOeMGGCnTx5Mui+fIAAAggggAACCCCA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VyX+73//u5suVmMX3nvvPTt37lycrn7tZRRMPProo7Znzx575ZVX3Ird1+7BTwgggAACCCCAAAIIFCzAAOyCjSLaY9u2baZxCrm3w4cP2/jx42327Nn2+9//PmatExpkra5VBW3z5s0ztZrcc889VrVq1YJ253MEEEAAAQQQQAABBDwBBmB7EtH8qvUdXnrpJWvZsmXQ027cuNEqVqzoFpcLulMhPvjss8/s29/+dkgBRXZ2tk2fPt369OljakFhQwABBBBAAAEEEEAgBIEcxkyEoBTuLpoKVhXzRI5H0IBrTQkbyta4cWMX1Gi17n379rlB2jqeDQEEEEAAAQQQQACB/AQYM5GfThp9pnEUY8eOtf3799urr74aciCSRkRkFQEEEEAAAQQQQCCXAMFELpB0/lHjLO677z6rXr26Pffcc66VIp09yDsCCCCAAAIIIIBA/gIEE/n7pOWnWouid+/eroVi9erVaWlAphFAAAEEEEAAAQQKFmDMRMFGablHo0aNro6j0NoYWvCOcRRpeSuQaQQQQAABBBBAIKgALRNBaRL/wbPPPmsXLlwImhBNPavF5z799NOg+xTmg8qVK7txFIcOHXKrZp8+fbowp+NYBBBAAAEEEEAAgRQTIJiIU4FqhqcDBw64qx05csR9VTCwa9euqynQ5xcvXrQ///nPtn79ehsyZIhpgTttWp9Cmyr0x44ds6NHj9qkSZOsaNGipqldtV5ELLbixYu7cRQ333yzjRs37uoK3rG4FudEAAEEEEAAAQQQSC4BujnFobwUAKib0PDhw618+fJuYLOCBHUbat++vU2bNs0yMzNNXYtmzZplGzZssNatW9sPfvADt8Ddb3/7W+vUqZMtXLjQHdu8eXNbtWqV1axZ00aOHOkCDC2CF8upaLt27WpZWVn22muvuby0aNEiDnJcAgEEEEAAAQQQQMDPArRMxKF0SpUq5RaD+9GPfuRWvh41apQLArSonVogtm/f7loWFDBoH03TqrUf6tSp47o5KbgYOHCgbdq0yerWreu+V7Lr1avnpnBVq4cWwIv11rBhQ3vooYfsww8/tJkzZ+a5wnes08D5EUAAAQQQQAABBPwjQDARh7I4deqUCwRycnJci8OTTz5pWiVbT/nPnTvnWhkUWIwZM8bmzJnjpmbVZ1u3brVt27a5QEQLyt15552mcyi4UGCh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SZMmufXr10c4Q7tFQAREIBgEJCaC0Q9qhQiIgAiIgAiUEWjYsKEbOHCghYvds2dP2X5tiIAIiEDQCEhMBK1H1B4REAEREAER2E+gW7duLj8/37377rviIQIiIAKBJSAxEdiuUcNEQAREQARynQDhYouLi93SpUtzHYWeXwREIKAEJCYC2jFqlgiIgAiIgAgcdNBB7qyzzrLoTtu2bRMQERABEQgcAYmJwHWJGiQCIiACIiAC/yVQUFDgevfu7V5//fX/7tSWCIiACASEgMREQDpCzRABERABERCBSAROOOEE980337jhw4e7QYMGudLS0kinar8IiIAIpJSAxERKcetmIiACIiACIlA1Al999ZW766673JgxY9zo0aOrVomuEgEREIEEE5CYSDBQVScCIiACIiACySBw//33u8WLF1vV77zzjtu3b18ybqM6RUAERCAmAhITMeHSySIgAiIgAiKQHgLjx493119/vTv00ENNVKxcuTI9DdFdRUAERCCEgMRECAxtioAIiIAIiEBQCTRv3tw99NBD7rHHHnPVqlVzn332WVCbqnaJgAjkEIFq+6dJNU+aQx2uRxUBERABEQg2gUceecSR9bpu3boRG7pmzRq3a9cu17p164jnVPXAjh07TKzceOONVa0iZdfB6csvv3SEzaXd27dvdzt37rQFHxO24bR7927H56+//tq2cWan1KxZ09WoUcPWbCPSQheOcQ+GSn7hOuphPwt17d271+o4+OCDHeF8WR9yyCG2rl27tqtVq5arU6eO7WNN37LUq1fPjlGnighkKIGSmhnacDVbBERABERABLKSQPXq1d0Pf/hD17Bhw7Q835YtWyxqVFpuXu6mDNI3b97sNm7c6L744gvbpn1bt241EYFIwOyLgbsfoPtBetOmTW0/A3mOM8j3A30G+4kuXqiErr2wQdAgZjZs2GCCB+HDMZ6FUr9+fdegQQN7FvqdpVGjRq5JkyYmSBLdVtUnAokkIDGRSJqqSwREQAREQAREoEoEmF1gxmX16tVu/fr1bt26dTbYbty4sQ2uGWAzuG7fvr290WfwjUgISvFiJdb2IIiYXWHxgmnhwoW2jfhgZiMvL881a9bMHXbYYbbAREUEgkJAYiIoPaF2iIAIiIAIiEAOEeCt/NKlSy1nRklJiZkR5efn22C5a9eurl+/fo5BMzM12VyY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"
FAGES Francois's avatar
FAGES Francois committed
172
173
174
175
176
177
178
179
180
181
182
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw_reactions."
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
183
   "execution_count": 13,
FAGES Francois's avatar
FAGES Francois committed
184
185
186
187
188
189
190
191
192
193
194
195
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RNApolymerase+geneRNApolymerase\r\n",
       "RNAcytoplasmRibosome+ribosome\r\n",
       "gene+geneRNApolymerase\r\n",
       "RNAcytoplasmRibosome+gene+ribosome\r\n",
       "4 complex invariant(s)\r\n"
      ]
     },
FAGES Francois's avatar
M2    
FAGES Francois committed
196
     "execution_count": 13,
FAGES Francois's avatar
FAGES Francois committed
197
198
199
200
201
202
203
204
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "search_conservations."
   ]
  },
FAGES Francois's avatar
Modal2    
FAGES Francois committed
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Question 1) explain and interpret those 4 invariants\n",
    "Your answer:\n",
    "\n",
    "* \n",
    "\n",
    "* \n",
    "\n",
    "* \n",
    "\n",
    "* \n",
    "\n"
   ]
  },
FAGES Francois's avatar
FAGES Francois committed
222
223
224
225
226
227
228
229
230
231
232
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Influence graph\n",
    "* positive and negative influences between molecular species\n",
    "* abstraction of the reaction hypergraph"
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
233
   "execution_count": 14,
FAGES Francois's avatar
FAGES Francois committed
234
235
236
237
   "metadata": {},
   "outputs": [
    {
     "data": {
238
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAIcCAYAAABrUjh1AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAADFqADAAQAAAABAAACHAAAAADx31eSAABAAElEQVR4AeydB3wU1f7FT2ghoYbeey8CCgoWOhawd8WCHRDEguJTEQRBAUU6gljALujz/VVQFATpoBSR3nvvNZTs/567b/KWJBuS7Ca7k5zrZ9zdKXfufGeAe+bXIjymQU0EREAEREAEREAEREAEREAE0k5gQra0H6sjRUAEREAEREAEREAEREAERMBLQMJCT4IIiIAIiIAIiIAIiIAIiEDABCQsAkaoDkRABERABERABERABERABCQs9AyIgAiIgAiIgAiIgAiIgAgETEDCImCE6kAEREAEREAEREAEREAEREDCQs+ACIiACIiACIiACIiACIhAwAQkLAJGqA5EQAREQAREQAREQAREQAQkLPQMiIAIiIAIiIAIiIAIiIAIBExAwiJghOpABERABERABERABERABERAwkLPgAiIgAiIgAiIgAiIgAiIQMAEJCwCRqgOREAEREAEREAEREAEREAEJCz0DIiACIiACIiACIiACIiACARMQMIiYITqQAREQAREQAREQAREQAREQMJCz4AIiIAIiIAIiIAIiIAIiEDABCQsAkaoDkRABERABERABERABERABCQs9AyIgAiIgAiIgAiIgAiIgAgETEDCImCE6kAEREAEREAEREAEREAEREDCQs+ACIiACIiACIiACIiACIhAwAQkLAJGqA5EQAREQAREQAREQAREQAQkLPQMiIAIiIAIiIAIiIAIiIAIBExAwiJghOpABERABERABERABERABERAwkLPgAiIgAiIgAiIgAiIgAiIQMAEJCwCRqgOREAEREAEREAEREAEREAEJCz0DIiACIiACIiACIiACIiACARMQMIiYITqQAREQAREQAREQAREQAREQMJCz4AIiIAIiIAIiIAIiIAIiEDABCQsAkaoDkRABERABERABERABERABCQs9AyIgAiIgAiIgAiIgAiIgAgETEDCImCE6kAEREAEREAEREAEREAEREDCQs+ACIiACIiACIiACIiACIhAwAQkLAJGqA5EQAREQAREQAREQAREQAQkLPQMiIAIiIAIiIAIiIAIiIAIBExAwiJghOpABERABERABERABERABERAwkLPgAiIgAiIgAiIgAiIgAiIQMAEJCwCRqgOREAEREAEREAEREAEREAEJCz0DIiACIiACIiACIiACIiACARMQMIiYITqQAREQAREQAREQAREQAREQMJCz4AIiIAIiIAIiIAIiIAIiEDABCQsAkaoDkRABERABERABERABERABCQs9AyIgAiIgAiIgAiIgAiIgAgETEDCImCE6kAEREAEREAEREAEREAEREDCQs+ACIiACIiACIiACIiACIhAwAQkLAJGqA5EQAREQAREQAREQAREQAQkLPQMiIAIiIAIiIAIiIAIiIAIBExAwiJghOpABERABERABERABERABERAwkLPgAiIgAiIgAiIgAiIgAiIQMAEJCwCRqgOREAEREAEREAEREAEREAEJCz0DIiACIiACIiACIiACIiACARMQMIiYITqQAREQAREQAREQAREQAREQMJCz4AIiIAIiIAIiIAIiIAIiEDABCQsAkaoDkRABERABERABERABERABCQs9AyIgAiIgAiIgAiIgAiIgAgETEDCImCE6kAEREAEREAEREAEREAEREDCQs+ACIiACIiACIiACIiACIhAwAQkLAJGqA5EQAREQAREQAREQAREQAQkLPQMiIAIiIAIiIAIiIAIiIAIBExAwiJghOpABERABERABERABERABERAwkLPgAiIgAiIgAiIgAiIgAiIQMAEcgTcQyg7OHoU2LMHOHQIOHIEOHbMu5w+DZw5A5w/D5w75/3Mnh1wlty5gehoIE8eIF8+oGBBoHBhoEgR7+9QXpPOLQIiIAIiIAIiIAIiIAIuJOAOYXHwILB8ObBhA7BxI7BpE7BrF5DDDL9ECaBoUa9IyJ8fyJvXu1AwcDuXXLn+JzQoNs6eBShK2MepU8DevQDPwSUuDihTBihbFqhaFahWDahVy9unC2+whiwCIiACIiACIiACIiACGUEgwmNaRpwoVeeglWHBAmDWLGDJEuDwYeDSS4EKFYBKlbwT/uLFgaioVHWbop0pOLZvB3bsAFavBtasAdau9QqYhg2Bpk2BevWAiIgUdaedREAEREAEREAEREAERCALEJgQXsKCFolJk4Bp04AqVYDWrb2T+MqVQ3svaMVYtQpYvBj4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V7+BItHGfeq/rWpMVXx+4+eIiVRRQIeJPkVABERABERABERABLIWgcwjLJJzg0rqnppgbusKRStHMq1M3jIY2nIoBi4aiMV7F9s921Zsi0uKXmK/1yhcAy80fAH95vXDsbPHkulJm0RABERABERABERABEQg8xLIusKC9/Tyy73uUxe5v3R9euuat/DqrFfxz/5/EGH+69m4J/JH5sfPd/yMx+s+jvrF6qPj1I44cPrARXrTZhEQAREQAREQAREQARHIfAQyh7BghidT78JmdkrNPWrcOEXCgl3WLVIXfa/uix5/9MDGIxvRvGxzHOl6BOXzl7dnfLr+02hbqS06/toRO47vSM0otK8IiIAIiIAIiIAIiIAIuJ5A5hAW8+YBV12V+pthitshTx5vpqgUHN2weEO82OhFdJveDduObUt0RPua7dGhdgcrLjYcMfEbaiIgAiIgAiIgAiIgAiKQRQhkDmGxaBHQsGHabtkVVwDz56f4WFoqOtfvjK7TumL3yd2JjmtXqR2eb/i83b7iwIpE27VCBERABERABERABERABDIjgcwhLBaboOrLLkvb/aGwWLgwVcfeUPEGWxCvy29dcPD0wUTHtijbAr2v7I2XZr6ERbuN6FETAREQAREQAREQAREQgUxOwP3CYuNGIG9eoGjRtN2qSy8F/vkHiI1N1fF3VL0Dt1W9zVomjp45mujYy0tcjoHNBuL1Oa9j5nZT7VtNBERABERABERABERABDIxAfcLi0CsFbyx0dFAzZoA62CksjGmolnZZnhm+jM4cfZEoqNrF66N4a2GY9CiQZi8aXKi7VohAiIgAiIgAiIgAiIgApmFgPuFxV9/AbQ6BNIuMTUplixJUw9PXvKkTTX73O/P4fT504n6qFKwCt5v8z7GLhuLSWsnJdquFSIgAiIgAiIgAiIgAiKQGQi4X1gEarHgXaxfH1i6NM3389lLn0WlgpWsZeJs3NlE/bDI3thrvcLi438+TrRdK0RABERABERABERABETA7QTcLSzWrQNiYoDChQO7D3XqAKtXA+fOpbmfHpf3QJwnzta5OOdJ3E+x6GIYc+0Y/L7td4xYMiLN59GBIiACIiACIiACIiACIhCOBNwtLOgGldZsUL53g3EW5U2hu1WrfNem6rutxt2kJ3LnyI3XZr+G857ziY4vkKsARrYeiaX7lmLCygnwmP/UREAEREAEREAEREAERCAzEHC3sGDAdTCEBe9kvXppCuD2fQiyIRvevPpNa7mYsGKC76b47/ly5sOIViPw5+4/8cbcN5IUIPE764sIiIAIiIAIiIAIiIAIuISAu4XF8uVArVrBQU1hEUCchTMIiot+V/fDkr1L8Ob8N53VF3zmzp4bg1sMxvGzx/HKrFeQVFzGBQfohwiIgAiIgAiIgAiIgAiEOQH3Cou9ewGPcSUqUSI4iINgsXAGkjNbTgxqNgg7ju/AgIUDnNUXfOaIyIEBTQeA+3af2R1n4s5csF0/REAEREAEREAEREAERMBNBNwrLFjUrnbt4LEuVAgoUABgwb0gtMjskRjSYgg2HN6AvvP7Jtlj9ojs6Ht1XxSPLg5mizp57mSS+2mlCIiACIiACIiACIiACIQ7AfcKixUrgisseKdotVi5Mmj3zIqLlkOw8fBGjFw6Msl+GfT9yhWv4NS5U+j8W2ckVcU7yQO1UgREQAREQAREQAREQATCiIB7hQUFQDAtFrwp1aoFlBkqqfsanSMaw1oNw+crP0ec+c9fYy2MJqWaoOOvHXEo9pC/3bReBERABERABERABERABMKSgDuFxXmTynXNGqBmzeBCrVHDW88iuL2CmaCm3DkFD/z0AMavGO+396cueQo3VLzBios9J/f43U8bREAEREAEREAEREAERCDcCLhTWGzYAJQqBbD+RDAbLRbsm8IlyI01LEa1HoUpm6bgy9Vf+u39wVoP4u7qd6PTr51s8LffHbVBBERABERABERABERABMKIgDuFBd2g6tYNPsbISKB06aAFcCccYMHIgrZA3rdrv8XXa75OuDn+9x1V78AjdR5Bp986YcvRLfHr9UUEREAEREAEREAEREAEwpWAO4UF3aCqVEkfptWrp4s7lDPYwrkLY3Sb0fh69df4bt13zupEnzdVvgldGnRBl2ldsP7w+kTbtUIEREAEREAEREAEREAEwomAO4XFejPRTk9hQeGSjq1oVFG83+Z9fL7qc/yw4Qe/Z7q2/LXo3qg7npn+DFYeCF62Kr8n1AYREAEREAEREAEREAERSCMBdwoLxkGkl7BgAHc6Cwveq2LRxTC81XB8uPxD/LTxJ7+3r1mZZni9yet4YcYLWLZvmd/9tEEEREAEREAEREAEREAEQknAfcJi504gf34gT5704UZhwSJ5rOqdzq1UnlIY0XoExvw9Bj9v/tnv2RqXbIx+1/TDy3+8jD/3/Ol3P20QAREQAREQAREQAREQgVARcJ+wSE9rBe8CA7hjYoDt2zPknpTJWwYjWo3AqKWjMHXLVL/nvLTYpRjYbCB6zu6JOTvn+N1PG0RABERABERABERABEQgFATcJywYX1G5cvqyqlAB2Lw5fc/h03u5fOUwvOVwjFgyAr9v+91ny4Vf6xapiyGmkvfbC97GjG0zLtyoXyIgAiIgAiIgAiIgAiIQQgLuExa0WGQyYcH7Xz5/eQxtMRTvLHonWXFRPaY6hrY0+/35TrIWjhA+Uzq1CIiACIiACIiACIhAFiTgPmGRnhmhnAcggy0WzmkrFqiIYa2GWXExc/tMZ3Wiz0oFKmFkq5EYvng4ftz4Y6LtWiECIiACIiACIiACIiACGU3AXcLi3Dlgzx6gUqX05RQiYcGLqlygsrVIDFg4ALN2zPJ7nbRwsB7GuL/H4d/r/+13P20QAREQAREQAREQAREQgYwg4C5hsWOHydNaLP25VKwIbNqU/ufxc4YqBatgSIsheGvBW8kGajPw+/1r38dnKz/DV6u/8tObVouACIiACIiACIiACIhA+hNwl7BgpqYyZdKfClPZctm7N/3P5ecM1WKq4b0W76Hf/H6Yu3Oun72AEtElbLG9b9d9i/ErxvvdTxtEQAREQAREQAREQAREID0JSFj4oxtCdyhnSAzUfrf5u+g7ry/m75rvrE70yUreY68di182/4IPln+QaLtWiIAIiIAIiIAIiIAIiEB6E5Cw8EeY7lDbtvnbmmHraxaqacXFG3PfwMLdC/2eNyYyxsZczNo+C4P/Gux3P20QAREQAREQAREQAREQgfQgIGHhj2rx4gCrfIdBq1W4Vry4+GvPX35HVCBXAYxsPRIr9q/AkMVD/O6nDSIgAiIgAiIgAiIgAiIQbALuEhYM3i5dOtgMku6vZElg9+6kt4VgLcXFgKYD8Nrs17Bo9yK/I8iXMx+GtxqOf/b/g0GLBvndTxtEQAREQAREQAREQAREIJgE3CMszp/3pprNKGFRogSwa1cwWQfcV50idTCo2SC8Puf1ZMVFdI5oW8l7w+EN6L+gPzzmPzUREAEREAEREAEREAERSE8C7hEWtB4UKQJkz56ePP7Xd5hZLJyBUVwMbDbQios/9/zprE70GZUjytbD2Hl8pw3+jkNcon20QgREQAREQAREQAREQASCRcA9woKpXzPKWkG6MTHAiRNAbGywWAetn7pF6lpx0XN2TyQnLiKzR2Jwi8E4ePoges/pjfMeY/VREwEREAEREAEREAEREIF0IOAuYVGoUDogSKbLMLVacMQpFRe5suWy7lMnz51Ezzk9JS6Sud3aJAIiIAIiIAIiIAIikHYC7hEW+/d7XaHSfq2pPzIM4yx8L4LiYkCzAaDl4ocNP/huuuB7zmw5beD3+bjzePmPlyUuLqCjHyIgAiIgAiIgAiIgAsEg4B5hsW9fxgsLul6FUWaopG74JUUuwTvN38HN/74Zf2z/I6ld7LrsEdnR/5r+oHvUmGVjcCbujN99tUEEREAEREAEREAEREAEUkvAPcKCFouiRVN7fYHtX7gwQEET5q124drY1XkX3lrwFpKrc0Fx0efqPth3ah9enPkiYs+HX/xImKPW8ERABERABERABERABPwQcI+w4AQ/o4UFA7gPH/aDLrxWl4guYd2iWOciuYDubMiGXk16oUhUEbww4wWJi/C6jRqNCIiACIiACIiACLiWgHuERShiLCgsDh1yzc2lW5QTc5GcuOAFvdb4NZTMWxLP/v4sTp075Zpr1EBFQAREQAREQAREQATCk4CERXL3xWXCgpdCccE6FwzoTq5CdwQi8OoVr6JC/gpWXDBrlJoIiIAIiIAIiIAIiIAIpJWAO4TF0aNAnjxArlxpvc60HUdhcfBg2o4N4VFOKlpW6F64e2GyI+lxeQ9UjamKbtO74cRZU7dDTQREQAREQAREQAREQATSQMBdwiINFxjQIQULuibGIuF1UlwMajYIveb0uqi46N6wO2oXqY2u07vi2NljCbvSbxEQAREQAREQAREQARG4KAF3CItjZrKbL99FLyboO+TPD5wy8Qfn3Vmxuk6ROjYVbUrExbOXPosGxRqg6zSJi6A/R+pQBERABERABERABLIAAXcIi+PHQyMs+AAUKOCqAO6EzyxT0bLORZ95fTB/1/yEmy/43bVBV1xR8gpMWjMJR84cuWCbfoiACIiACIiACIiACIhAcgTcISxCZbEgOdaycEnKWX832oqLZu/gjblvYN6uef52s+s71etkK3N3/rUzDse6I9VushekjSIgAiIgAiIgAiIgAhlCQMLiYphz5wZOuj9jUo1CNTC4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SFiEgqquKQIiIAJRROC02qehd+veuGviXdiYtjGKeq6uioAIiIAIeImAhIWXnob6IgIiIAIRInBOg3NsCto7J96JbRnbItQL3VYEREAERCCaCUhYRPPTU99FQAREIIgELmt2Gc5rdB76Tu4LVupWEwEREAEREIGCEJCwKAgtHSsCIiACMU6g17G9cEK1E3DP5HuQcSAjxker4YmACIiACASTgIRFMGnqWiIgAiIQAwTubnM3apetjYHfDcSBrAMxMCINQQREQAREIBwEJCzCQVn3EAEREIEoIzDolEFIKpZk61xkISvKeq/uioAIiIAIRIKAhEUkqOueIiACIuBxAsVQzNa42J6xHU/+8KTHe6vuiYAIiIAIeIGAhIUXnoL6IAIiIAIeJECLxYguI2zxvBd+fsGDPVSXREAEREAEvERAwsJLT0N9EQEREAGPEUgpnoKnT38a09dOx1uL3vJY79QdERABERABLxGQsPDS01BfREAERMCDBMomlcXzZz6Pz5Z9hk+WfeLBHqpLIiACIiACXiAgYeGFp6A+iIAIiIDHCVRIroBnTn8GY38di29WfePx3qp7IiACIiACkSAgYREJ6rqnCIiACEQhgZqla1px8fRPT2PGuhlROAJ1WQREQAREIJQEJCxCSVfXFgEREIEYI9CgXAOM7DoSQ2cOxc+bfo6x0Wk4IiACIiACRSEgYVEUejpXBERABOKQQItKLfDYaY9h4LSBNmNUHCLQkEVABERABPIgIGGRBxTtEgEREAERODKBNtXagEX0+k7pi1U7Vx35YH0rAiIgAiIQFwQkLOLiMWuQIiACIhB8Ap1qd8Kdre+04iI1LTX4N9AVRUAEREAEooqAhEVUPS51VgREQAS8RaB7g+64usXVuGPiHdiWsc1bnVNvREAEREAEwkpAwiKsuHUzERABEYg9Apc2vRTnNTwPfSb1we59u2NvgBqRCIiACIhAvghIWOQLkw4SAREQARE4EoEbWt2AttXb4t4p9yLjQMaRDtV3IiACIiACMUpAwiJGH6yGJQIiIALhJtCnTR/UK1cPA6YNwP6s/eG+ve4nAiIgAiIQYQISFhF+ALq9CIiACMQSgYEnD0RKYgoenv4wsswfNREQAREQgfghIGERP89aIxUBERCBkBMohmIY2mkodmXuwvDZw0N+P91ABERABETAOwQkLLzzLNQT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Y2YkFplr3bo1mjVrZvcxiJm1Ltguv/xyf4zBr7/+agvnsWheuBqzN3366acYMGBAxGNI2IcJEyaAKWuTkpLChUD3EQERiB0CsljEzrPUSERABEQg+ggMHToULoi4ML0vV64cUlNTcfXVV9sCeBQHrEbtxAYzSD3zzDM444wz7HG8BwvJPfLII7aQXLFihwz3gwcPxgsvvFCYbthzWJyvoO/qWCX84Ycfxr59+wp932CdOHz4cGsteuWVV4J1SV1HBEQgzggc+j9qnA1cwxUBERABEYgsAVaRZn2KW265pUgdYZ0GCgTWauBbdwZ+jx071l6TxeFYMK9ixYpgDAEn8BQj7du3R9euXf33XblyJVj/gcKCWalyt23btuHgwYN2N6/hhABT4nKbMSIXXHBBDlcipnrdv39/jkvt3r3bZmRKS0uz+1nELiEhIccx69aty/E5PT3diiJ3Ld6P96ULmWs8JhjtjTfewPjx420fg3E9XUMERCC+CEhYxNfz1mhFQAREwDME+IafLkrBbAsXLsSyZctyiAamqWWKVX53zz332NvR1SfQWsFMVB988IGtj/Huu+/6u0RBMWTIEHz44Ye2qjeDnc8++2ycdtppdmLPLFZXXnmlrRFBYTJmzBg7KR80aBBeffVV9O7dG08++SRYLbx79+7o2LEjLr30UjRo0ACfffaZ/z7coOhgETu6b1100UVWrNAt6f7778fo0aNtkDXrUdSuXRu33XabFVIURxwT+9OnT58c1yvMBwoxWnzIUE0EREAECkogsaAn6HgREAEREAERCAYBTu7dm/+iXo9v82mx+O6772z9i0suuSTHJRs1agQKhnPOOcdaNAK/5Nt+xmEwBoMBzJzE0z2L7a233rIioFevXihfvrytXM3veS9aGlatWoWHHnrIWkV4PGNF5s6d6xcyvDZjNq699lqb0pUxJRQxvMZzzz1nrRw8j43HdunSxfbxqaeewpw5c2yV8VmzZuGrr77C0qVLbWG7lJQU3H777dali9vvvPMO6FLGCuR0+ypqI8vERE0PispR54tAPBKQxSIen7rGLAIiIAIeIEBrBatCB0NccCL8v//9D8ccc4y1LuQ1vDPPPNNaD/i2f968ef5DODGn2xLf+K9Zswas8TBt2jT7/SeffIIqVarYbQZ68/onnniidaViLMKCBQvsZx7gXJpYhM4F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"
FAGES Francois's avatar
FAGES Francois committed
239
240
241
242
243
244
245
246
247
248
249
250
251
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw_influences."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
FAGES Francois's avatar
Modal2    
FAGES Francois committed
252
    "### Differential semantics\n",
FAGES Francois's avatar
FAGES Francois committed
253
254
255
256
257
    "* interpretration by Ordinary Differential Equation (ODE)"
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
258
   "execution_count": 15,
FAGES Francois's avatar
FAGES Francois committed
259
260
261
262
263
264
265
266
267
268
269
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\begin{align*}\n",
       "{protein}_0 &= 0\\\\\n",
       "{ribosome}_0 &= 10\\\\\n",
       "{RNAcytoplasmRibosome}_0 &= 0\\\\\n",
       "{RNAcytoplasm}_0 &= 0\\\\\n",
       "{RNAnucleus}_0 &= 0\\\\\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
270
       "{RNApolymerase}_0 &= 10\\\\\n",
FAGES Francois's avatar
FAGES Francois committed
271
272
273
274
275
276
277
278
       "{gene}_0 &= 1\\\\\n",
       "{geneRNApolymerase}_0 &= 0\\\\\n",
       "k1 &= 1\\\\\n",
       "k2 &= 1\\\\\n",
       "k3 &= 1\\\\\n",
       "k4 &= 1\\\\\n",
       "k5 &= 1\\\\\n",
       "k6 &= 1\\\\\n",
FAGES Francois's avatar
M2    
FAGES Francois committed
279
       "k7 &= 1\\\\\n",
FAGES Francois's avatar
FAGES Francois committed
280
       "nbgene &= 1\\\\\n",
FAGES Francois's avatar
Modal2    
FAGES Francois committed
281
       "nbRNApolymerase &= 10\\\\\n",
FAGES Francois's avatar
FAGES Francois committed
282
       "nbribosome &= 10\\\\\n",
FAGES Francois's avatar
M2    
FAGES Francois committed
283
284
285
286
287
       "\\frac{dprotein}{dt} &= k6*RNAcytoplasmRibosome-k7*protein\\\\\n",
       "\\frac{dribosome}{dt} &= k6*RNAcytoplasmRibosome-k5*RNAcytoplasm*ribosome\\\\\n",
       "\\frac{dRNAcytoplasmRibosome}{dt} &= k5*RNAcytoplasm*ribosome-k6*RNAcytoplasmRibosome\\\\\n",
       "\\frac{dRNAcytoplasm}{dt} &= k4*RNAnucleus-k5*RNAcytoplasm*ribosome\\\\\n",
       "\\frac{dRNAnucleus}{dt} &= k3*geneRNApolymerase-k4*RNAnucleus\\\\\n",
FAGES Francois's avatar
FAGES Francois committed
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
       "\\frac{dRNApolymerase}{dt} &= k2*geneRNApolymerase-k1*gene*RNApolymerase\\\\\n",
       "\\frac{dgene}{dt} &= k2*geneRNApolymerase-k1*gene*RNApolymerase\\\\\n",
       "\\frac{dgeneRNApolymerase}{dt} &= k1*gene*RNApolymerase-k2*geneRNApolymerase\\\\\n",
       "\\end{align*}\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "list_ode."
   ]
  },
  {
   "cell_type": "code",
FAGES Francois's avatar
M2    
FAGES Francois committed
304
   "execution_count": 16,
FAGES Francois's avatar
FAGES Francois committed
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var 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",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var 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",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"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, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var 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",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[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",
       "    var events = require('base/js/events');\n",
       "    var 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",
       "\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",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\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",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(null);\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\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() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };\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",
       "  \n",
       "  var js_urls = [];\n",
       "  var css_urls = [];\n",
       "  \n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      /* BEGIN bokeh.min.js */\n",
       "      /*!\n",
       "       * Copyright (c) 2012 - 2019, Anaconda, Inc., and Bokeh Contributors\n",
       "       * All rights reserved.\n",
       "       * \n",
       "       * Redistribution and use in source and binary forms, with or without modification,\n",
       "       * are permitted provided that the following conditions are met:\n",
       "       * \n",
       "       * Redistributions of source code must retain the above copyright notice,\n",
       "       * this list of conditions and the following disclaimer.\n",
       "       * \n",
       "       * Redistributions in binary form must reproduce the above copyright notice,\n",
       "       * this list of conditions and the following disclaimer in the documentation\n",
       "       * and/or other materials provided with the distribution.\n",
       "       * \n",
       "       * Neither the name of Anaconda nor the names of any contributors\n",
       "       * may be used to endorse or promote products derived from this software\n",
       "       * without specific prior written permission.\n",
       "       * \n",
       "       * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n",
       "       * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n",
       "       * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n",
       "       * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n",
       "       * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n",
       "       * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n",
       "       * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n",
       "       * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n",
       "       * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n",
       "       * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n",
       "       * THE POSSIBILITY OF SUCH DAMAGE.\n",
       "      */\n",
       "      (function(root, factory) {\n",
       "        root[\"Bokeh\"] = factory();\n",
       "      })(this, function() {\n",
       "        var define;\n",
       "        var parent_require = typeof require === \"function\" && require\n",
       "        return (function(modules, entry, aliases, externals) {\n",
       "          if (aliases === undefined) aliases = {};\n",
       "          if (externals === undefined) externals = {};\n",
       "\n",
       "          var cache = {};\n",
       "\n",
       "          var normalize = function(name) {\n",
       "            if (typeof name === \"number\")\n",
       "              return name;\n",
       "\n",
       "            if (name === \"bokehjs\")\n",
       "              return entry;\n",
       "\n",
       "            var prefix = \"@bokehjs/\"\n",
       "            if (name.slice(0, prefix.length) === prefix)\n",
       "              name = name.slice(prefix.length)\n",
       "\n",
       "            var alias = aliases[name]\n",
       "            if (alias != null)\n",
       "              return alias;\n",
       "\n",
       "            var trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n",
       "            var index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n",
       "            if (index != null)\n",
       "              return index;\n",
       "\n",
       "            return name;\n",
       "          }\n",
       "\n",
       "          var require = function(name) {\n",
       "            var mod = cache[name];\n",
       "            if (!mod) {\n",
       "              var id = normalize(name);\n",
       "\n",
       "              mod = cache[id];\n",
       "              if (!mod) {\n",
       "                if (!modules[id]) {\n",
       "                  if (parent_require && externals[id]) {\n",
       "                    try {\n",
       "                      mod = {exports: parent_require(id)};\n",
       "                      cache[id] = cache[name] = mod;\n",
       "                      return mod.exports;\n",
       "                    } catch (e) {}\n",
       "                  }\n",
       "\n",
       "                  var err = new Error(\"Cannot find module '\" + name + \"'\");\n",
       "                  err.code = 'MODULE_NOT_FOUND';\n",
       "                  throw err;\n",
       "                }\n",
       "\n",
       "                mod = {exports: {}};\n",
       "                cache[id] = cache[name] = mod;\n",
       "                modules[id].call(mod.exports, require, mod, mod.exports);\n",
       "              } else\n",
       "                cache[name] = mod;\n",
       "            }\n",
       "\n",
       "            return mod.exports;\n",
       "          }\n",
       "\n",
       "          var main = require(entry);\n",
       "          main.require = require;\n",
       "\n",
       "          main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n",
       "            if (plugin_aliases === undefined) plugin_aliases = {};\n",
       "            if (plugin_externals === undefined) plugin_externals = {};\n",
       "\n",
       "            for (var name in plugin_modules) {\n",
       "              modules[name] = plugin_modules[name];\n",
       "            }\n",
       "\n",
       "            for (var name in plugin_aliases) {\n",
       "              aliases[name] = plugin_aliases[name];\n",
       "            }\n",
       "\n",
       "            for (var name in plugin_externals) {\n",
       "              externals[name] = plugin_externals[name];\n",
       "            }\n",
       "\n",
       "            var plugin = require(plugin_entry);\n",
       "\n",
       "            for (var name in plugin) {\n",
       "              main[name] = plugin[name];\n",
       "            }\n",
       "\n",
       "            return plugin;\n",
       "          }\n",
       "\n",
       "          return main;\n",
       "        })\n",
       "      ([\n",
       "      function _(n,o,r){n(1),function(n){for(var o in n)r.hasOwnProperty(o)||(r[o]=n[o])}(n(102))},\n",
       "      function _(n,c,f){n(2),n(11),n(14),n(21),n(49),n(52),n(87),n(94),n(100)},\n",
       "      function _(e,n,a){e(3)()||Object.defineProperty(Object,\"assign\",{value:e(4),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(r,t,o){t.exports=function(){var r,t=Object.assign;return\"function\"==typeof t&&(t(r={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),r.foo+r.bar+r.trzy===\"razdwatrzy\")}},\n",
       "      function _(t,r,n){var o=t(5),c=t(10),a=Math.max;r.exports=function(t,r){var n,f,h,i=a(arguments.length,2);for(t=Object(c(t)),h=function(o){try{t[o]=r[o]}catch(t){n||(n=t)}},f=1;f<i;++f)r=arguments[f],o(r).forEach(h);if(void 0!==n)throw n;return t}},\n",
       "      function _(e,t,c){t.exports=e(6)()?Object.keys:e(7)},\n",
       "      function _(t,r,e){r.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},\n",
       "      function _(t,e,n){var c=t(8),r=Object.keys;e.exports=function(t){return r(c(t)?Object(t):t)}},\n",
       "      function _(n,r,t){var u=n(9)();r.exports=function(n){return n!==u&&null!==n}},\n",
       "      function _(n,o,t){o.exports=function(){}},\n",
       "      function _(n,r,e){var o=n(8);r.exports=function(n){if(!o(n))throw new TypeError(\"Cannot use null or undefined\");return n}},\n",
       "      function _(e,r,n){e(12)()||Object.defineProperty(Number,\"isInteger\",{value:e(13),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(n,t,e){t.exports=function(){var n=Number.isInteger;return\"function\"==typeof n&&(!n(\"23\")&&n(34)&&!n(32.34))}},\n",
       "      function _(n,t,e){t.exports=function(n){return\"number\"==typeof n&&n%1==0}},\n",
       "      function _(e,r,t){e(15)()||Object.defineProperty(String.prototype,\"repeat\",{value:e(16),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(o,f,t){f.exports=function(){return\"function\"==typeof\"foo\".repeat&&\"foofoo\"===\"foo\".repeat(2)}},\n",
       "      function _(r,n,t){var o=r(10),e=r(17);n.exports=function(r){var n,t=String(o(this));if((r=e(r))<0)throw new RangeError(\"Count must be >= 0\");if(!isFinite(r))throw new RangeError(\"Count must be < ∞\");for(n=\"\";r;)r%2&&(n+=t),r>1&&(t+=t),r>>=1;return n}},\n",
       "      function _(t,i,n){var r=t(18),a=Math.abs,o=Math.floor;i.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?r(t)*o(a(t)):t}},\n",
       "      function _(n,t,i){t.exports=n(19)()?Math.sign:n(20)},\n",
       "      function _(n,t,o){t.exports=function(){var n=Math.sign;return\"function\"==typeof n&&(1===n(10)&&-1===n(-20))}},\n",
       "      function _(n,r,t){r.exports=function(n){return n=Number(n),isNaN(n)||0===n?n:n>0?1:-1}},\n",
       "      function _(e,r,a){e(22)()||Object.defineProperty(Array,\"from\",{value:e(23),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(n,o,r){o.exports=function(){var n,o,r=Array.from;return\"function\"==typeof r&&(o=r(n=[\"raz\",\"dwa\"]),Boolean(o&&o!==n&&\"dwa\"===o[1]))}},\n",
       "      function _(e,l,r){var n=e(24).iterator,t=e(44),a=e(45),i=e(46),u=e(47),o=e(10),f=e(8),c=e(48),v=Array.isArray,h=Function.prototype.call,y={configurable:!0,enumerable:!0,writable:!0,value:null},s=Object.defineProperty;l.exports=function(e){var l,r,A,g,p,w,b,d,x,j,O=arguments[1],m=arguments[2];if(e=Object(o(e)),f(O)&&u(O),this&&this!==Array&&a(this))l=this;else{if(!O){if(t(e))return 1!==(p=e.length)?Array.apply(null,e):((g=new Array(1))[0]=e[0],g);if(v(e)){for(g=new Array(p=e.length),r=0;r<p;++r)g[r]=e[r];return g}}g=[]}if(!v(e))if(void 0!==(x=e[n])){for(b=u(x).call(e),l&&(g=new l),d=b.next(),r=0;!d.done;)j=O?h.call(O,m,d.value,r):d.value,l?(y.value=j,s(g,r,y)):g[r]=j,d=b.next(),++r;p=r}else if(c(e)){for(p=e.length,l&&(g=new l),r=0,A=0;r<p;++r)j=e[r],r+1<p&&(w=j.charCodeAt(0))>=55296&&w<=56319&&(j+=e[++r]),j=O?h.call(O,m,j,A):j,l?(y.value=j,s(g,A,y)):g[A]=j,++A;p=A}if(void 0===p)for(p=i(e.length),l&&(g=new l(p)),r=0;r<p;++r)j=O?h.call(O,m,e[r],r):e[r],l?(y.value=j,s(g,r,y)):g[r]=j;return l&&(y.value=null,g.length=p),g}},\n",
       "      function _(o,n,t){n.exports=o(25)()?o(26).Symbol:o(27)},\n",
       "      function _(t,o,r){var e=t(26),n={object:!0,symbol:!0};o.exports=function(){var t,o=e.Symbol;if(\"function\"!=typeof o)return!1;t=o(\"test symbol\");try{String(t)}catch(t){return!1}return!!n[typeof o.iterator]&&(!!n[typeof o.toPrimitive]&&!!n[typeof o.toStringTag])}},\n",
       "      function _(t,e,o){e.exports=function(){if(this)return this;Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0});try{return __global__}finally{delete Object.prototype.__global__}}()},\n",
       "      function _(t,o,r){var n,e,i,c=t(28),p=t(39),y=t(26).Symbol,s=t(41),u=t(42),f=t(43),_=Object.create,a=Object.defineProperties,S=Object.defineProperty;if(\"function\"==typeof y)try{String(y()),i=!0}catch(t){}else y=null;e=function(t){if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return n(t)},o.exports=n=function t(o){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return i?y(o):(r=_(e.prototype),o=void 0===o?\"\":String(o),a(r,{__description__:c(\"\",o),__name__:c(\"\",s(o))}))},u(n),f(n),a(e.prototype,{constructor:c(n),toString:c(\"\",function(){return this.__name__})}),a(n.prototype,{toString:c(function(){return\"Symbol (\"+p(this).__description__+\")\"}),valueOf:c(function(){return p(this)})}),S(n.prototype,n.toPrimitive,c(\"\",function(){var t=p(this);return\"symbol\"==typeof t?t:t.toString()})),S(n.prototype,n.toStringTag,c(\"c\",\"Symbol\")),S(e.prototype,n.toStringTag,c(\"c\",n.prototype[n.toStringTag])),S(e.prototype,n.toPrimitive,c(\"c\",n.prototype[n.toPrimitive]))},\n",
       "      function _(l,e,n){var r=l(29),a=l(30),t=l(34),c=l(35),i=l(36);(e.exports=function(l,e){var n,a,o,u,v;return arguments.length<2||\"string\"!=typeof l?(u=e,e=l,l=null):u=arguments[2],r(l)?(n=i.call(l,\"c\"),a=i.call(l,\"e\"),o=i.call(l,\"w\")):(n=o=!0,a=!1),v={value:e,configurable:n,enumerable:a,writable:o},u?t(c(u),v):v}).gs=function(l,e,n){var o,u,v,f;return\"string\"!=typeof l?(v=n,n=e,e=l,l=null):v=arguments[3],r(e)?a(e)?r(n)?a(n)||(v=n,n=void 0):n=void 0:(v=e,e=n=void 0):e=void 0,r(l)?(o=i.call(l,\"c\"),u=i.call(l,\"e\")):(o=!0,u=!1),f={get:e,set:n,configurable:o,enumerable:u},v?t(c(v),f):f}},\n",
       "      function _(n,t,u){t.exports=function(n){return null!=n}},\n",
       "      function _(t,n,o){var r=t(31),s=/^\\s*class[\\s{\\/}]/,c=Function.prototype.toString;n.exports=function(t){return!!r(t)&&!s.test(c.call(t))}},\n",
       "      function _(t,n,r){var e=t(32);n.exports=function(t){if(\"function\"!=typeof t)return!1;if(!hasOwnProperty.call(t,\"length\"))return!1;try{if(\"number\"!=typeof t.length)return!1;if(\"function\"!=typeof t.call)return!1;if(\"function\"!=typeof t.apply)return!1}catch(t){return!1}return!e(t)}},\n",
       "      function _(r,t,n){var o=r(33);t.exports=function(r){if(!o(r))return!1;try{return!!r.constructor&&r.constructor.prototype===r}catch(r){return!1}}},\n",
       "      function _(n,t,e){var o=n(29),r={object:!0,function:!0,undefined:!0};t.exports=function(n){return!!o(n)&&hasOwnProperty.call(r,typeof n)}},\n",
       "      function _(n,s,t){s.exports=n(3)()?Object.assign:n(4)},\n",
       "      function _(r,n,t){var c=r(8),o=Array.prototype.forEach,a=Object.create;n.exports=function(r){var n=a(null);return o.call(arguments,function(r){c(r)&&function(r,n){var t;for(t in r)n[t]=r[t]}(Object(r),n)}),n}},\n",
       "      function _(t,n,o){n.exports=t(37)()?String.prototype.contains:t(38)},\n",
       "      function _(n,o,t){var a=\"razdwatrzy\";o.exports=function(){return\"function\"==typeof a.contains&&(!0===a.contains(\"dwa\")&&!1===a.contains(\"foo\"))}},\n",
       "      function _(t,n,r){var i=String.prototype.indexOf;n.exports=function(t){return i.call(this,t,arguments[1])>-1}},\n",
       "      function _(r,n,o){var t=r(40);n.exports=function(r){if(!t(r))throw new TypeError(r+\" is not a symbol\");return r}},\n",
       "      function _(o,t,n){t.exports=function(o){return!!o&&(\"symbol\"==typeof o||!!o.constructor&&(\"Symbol\"===o.constructor.name&&\"Symbol\"===o[o.constructor.toStringTag]))}},\n",
       "      function _(t,e,n){var r=t(28),o=Object.create,c=Object.defineProperty,u=Object.prototype,f=o(null);e.exports=function(t){for(var e,n,o=0;f[t+(o||\"\")];)++o;return f[t+=o||\"\"]=!0,c(u,e=\"@@\"+t,r.gs(null,function(t){n||(n=!0,c(this,e,r(t)),n=!1)})),e}},\n",
       "      function _(e,t,a){var s=e(28),i=e(26).Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:s(\"\",i&&i.hasInstance||e(\"hasInstance\")),isConcatSpreadable:s(\"\",i&&i.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:s(\"\",i&&i.iterator||e(\"iterator\")),match:s(\"\",i&&i.match||e(\"match\")),replace:s(\"\",i&&i.replace||e(\"replace\")),search:s(\"\",i&&i.search||e(\"search\")),species:s(\"\",i&&i.species||e(\"species\")),split:s(\"\",i&&i.split||e(\"split\")),toPrimitive:s(\"\",i&&i.toPrimitive||e(\"toPrimitive\")),toStringTag:s(\"\",i&&i.toStringTag||e(\"toStringTag\")),unscopables:s(\"\",i&&i.unscopables||e(\"unscopables\"))})}},\n",
       "      function _(r,n,e){var t=r(28),i=r(39),o=Object.create(null);n.exports=function(r){return Object.defineProperties(r,{for:t(function(n){return o[n]?o[n]:o[n]=r(String(n))}),keyFor:t(function(r){var n;for(n in i(r),o)if(o[n]===r)return n})})}},\n",
       "      function _(t,n,r){var o=Object.prototype.toString,c=o.call(function(){return arguments}());n.exports=function(t){return o.call(t)===c}},\n",
       "      function _(t,o,n){var e=Object.prototype.toString,c=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);o.exports=function(t){return\"function\"==typeof t&&c(e.call(t))}},\n",
       "      function _(n,t,r){var a=n(17),o=Math.max;t.exports=function(n){return o(0,a(n))}},\n",
       "      function _(n,o,t){o.exports=function(n){if(\"function\"!=typeof n)throw new TypeError(n+\" is not a function\");return n}},\n",
       "      function _(t,n,o){var e=Object.prototype.toString,r=e.call(\"\");n.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},\n",
       "      function _(e,a,l){e(50)()||Object.defineProperty(Math,\"log10\",{value:e(51),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(n,t,o){t.exports=function(){var n=Math.log10;return\"function\"==typeof n&&.3010299956639812===n(2)}},\n",
       "      function _(N,a,t){var n=Math.log,r=Math.LOG10E;a.exports=function(N){return isNaN(N)?NaN:(N=Number(N))<0?NaN:0===N?-1/0:1===N?0:N===1/0?1/0:n(N)*r}},\n",
       "      function _(e,n,r){e(53)()||Object.defineProperty(e(26),\"Set\",{value:e(54),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(t,e,n){e.exports=function(){var t,e;return\"function\"==typeof Set&&(t=new Set([\"raz\",\"dwa\",\"trzy\"]),\"[object Set]\"===String(t)&&(3===t.size&&(\"function\"==typeof t.add&&(\"function\"==typeof t.clear&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.entries&&(\"function\"==typeof t.forEach&&(\"function\"==typeof t.has&&(\"function\"==typeof t.keys&&(\"function\"==typeof t.values&&(!1===(e=t.values().next()).done&&\"raz\"===e.value)))))))))))}},\n",
       "      function _(t,e,n){var r,i,s,o=t(55),a=t(56),_=t(60),c=t(47),u=t(28),h=t(65),l=t(24),f=t(66),p=t(68),y=t(85),v=t(86),d=Function.prototype.call,D=Object.defineProperty,g=Object.getPrototypeOf;v&&(s=Set),e.exports=r=function(){var t,e=arguments[0];if(!(this instanceof r))throw new TypeError(\"Constructor requires 'new'\");return t=v&&_?_(new s,g(this)):this,null!=e&&f(e),D(t,\"__setData__\",u(\"c\",[])),e?(p(e,function(t){-1===a.call(this,t)&&this.push(t)},t.__setData__),t):t},v&&(_&&_(r,s),r.prototype=Object.create(s.prototype,{constructor:u(r)})),h(Object.defineProperties(r.prototype,{add:u(function(t){return this.has(t)?this:(this.emit(\"_add\",this.__setData__.push(t)-1,t),this)}),clear:u(function(){this.__setData__.length&&(o.call(this.__setData__),this.emit(\"_clear\"))}),delete:u(function(t){var e=a.call(this.__setData__,t);return-1!==e&&(this.__setData__.splice(e,1),this.emit(\"_delete\",e,t),!0)}),entries:u(function(){return new y(this,\"key+value\")}),forEach:u(function(t){var e,n,r,i=arguments[1];for(c(t),n=(e=this.values())._next();void 0!==n;)r=e._resolve(n),d.call(t,i,r,r,this),n=e._next()}),has:u(function(t){return-1!==a.call(this.__setData__,t)}),keys:u(i=function(){return this.values()}),size:u.gs(function(){return this.__setData__.length}),values:u(function(){return new y(this)}),toString:u(function(){return\"[object Set]\"})})),D(r.prototype,l.iterator,u(i)),D(r.prototype,l.toStringTag,u(\"c\",\"Set\"))},\n",
       "      function _(t,n,i){var r=t(10);n.exports=function(){return r(this).length=0,this}},\n",
       "      function _(t,r,e){var i=t(57),n=t(46),o=t(10),a=Array.prototype.indexOf,h=Object.prototype.hasOwnProperty,s=Math.abs,p=Math.floor;r.exports=function(t){var r,e,f,l;if(!i(t))return a.apply(this,arguments);for(e=n(o(this).length),f=arguments[1],r=f=isNaN(f)?0:f>=0?p(f):n(this.length)-p(s(f));r<e;++r)if(h.call(this,r)&&(l=this[r],i(l)))return r;return-1}},\n",
       "      function _(N,e,i){e.exports=N(58)()?Number.isNaN:N(59)},\n",
       "      function _(n,t,o){t.exports=function(){var n=Number.isNaN;return\"function\"==typeof n&&(!n({})&&n(NaN)&&!n(34))}},\n",
       "      function _(n,t,o){t.exports=function(n){return n!=n}},\n",
       "      function _(t,e,o){e.exports=t(61)()?Object.setPrototypeOf:t(62)},\n",
       "      function _(t,e,o){var n=Object.create,r=Object.getPrototypeOf,c={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&r(t(e(null),c))===c}},\n",
       "      function _(e,t,l){var r,o,n,_,u=e(63),c=e(10),i=Object.prototype.isPrototypeOf,p=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};r=function(e,t){if(c(e),null===t||u(t))return e;throw new TypeError(\"Prototype must be null or an object\")},t.exports=(o=function(){var e,t=Object.create(null),l={},r=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(r){try{(e=r.set).call(t,l)}catch(e){}if(Object.getPrototypeOf(t)===l)return{set:e,level:2}}return t.__proto__=l,Object.getPrototypeOf(t)===l?{level:2}:((t={}).__proto__=l,Object.getPrototypeOf(t)===l&&{level:1})}())?(2===o.level?o.set?(_=o.set,n=function(e,t){return _.call(r(e,t),t),e}):n=function(e,t){return r(e,t).__proto__=t,e}:n=function e(t,l){var o;return r(t,l),(o=i.call(e.nullPolyfill,t))&&delete e.nullPolyfill.__proto__,null===l&&(l=e.nullPolyfill),t.__proto__=l,o&&p(e.nullPolyfill,\"__proto__\",f),t},Object.defineProperty(n,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:o.level})):null,e(64)},\n",
       "      function _(n,t,o){var c=n(8),e={function:!0,object:!0};t.exports=function(n){return c(n)&&e[typeof n]||!1}},\n",
       "      function _(e,r,l){var t,n,o,a,i=Object.create;e(61)()||(t=e(62)),r.exports=t?1!==t.level?i:(n={},o={},a={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(e){o[e]=\"__proto__\"!==e?a:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(n,o),Object.defineProperty(t,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:n}),function(e,r){return i(null===e?n:e,r)}):i},\n",
       "      function _(e,t,n){var i,l,r,c,_,o,s,a=e(28),h=e(47),f=Function.prototype.apply,u=Function.prototype.call,p=Object.create,b=Object.defineProperty,y=Object.defineProperties,O=Object.prototype.hasOwnProperty,j={configurable:!0,enumerable:!1,writable:!0};l=function(e,t){var n,l;return h(t),l=this,i.call(this,e,n=function(){r.call(l,e,n),f.call(t,this,arguments)}),n.__eeOnceListener__=t,this},_={on:i=function(e,t){var n;return h(t),O.call(this,\"__ee__\")?n=this.__ee__:(n=j.value=p(null),b(this,\"__ee__\",j),j.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:l,off:r=function(e,t){var n,i,l,r;if(h(t),!O.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[e])return this;if(\"object\"==typeof(i=n[e]))for(r=0;l=i[r];++r)l!==t&&l.__eeOnceListener__!==t||(2===i.length?n[e]=i[r?0:1]:i.splice(r,1));else i!==t&&i.__eeOnceListener__!==t||delete n[e];return this},emit:c=function(e){var t,n,i,l,r;if(O.call(this,\"__ee__\")&&(l=this.__ee__[e]))if(\"object\"==typeof l){for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];for(l=l.slice(),t=0;i=l[t];++t)f.call(i,this,r)}else switch(arguments.length){case 1:u.call(l,this);break;case 2:u.call(l,this,arguments[1]);break;case 3:u.call(l,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];f.call(l,this,r)}}},o={on:a(i),once:a(l),off:a(r),emit:a(c)},s=y({},o),t.exports=n=function(e){return null==e?p(s):y(Object(e),o)},n.methods=_},\n",
       "      function _(r,n,t){var e=r(67);n.exports=function(r){if(!e(r))throw new TypeError(r+\" is not iterable\");return r}},\n",
       "      function _(r,t,n){var o=r(44),i=r(8),a=r(48),e=r(24).iterator,f=Array.isArray;t.exports=function(r){return!!i(r)&&(!!f(r)||(!!a(r)||(!!o(r)||\"function\"==typeof r[e])))}},\n",
       "      function _(r,n,t){var a=r(44),e=r(47),o=r(48),l=r(69),c=Array.isArray,i=Function.prototype.call,f=Array.prototype.some;n.exports=function(r,n){var t,u,s,y,p,A,g,v,x=arguments[2];if(c(r)||a(r)?t=\"array\":o(r)?t=\"string\":r=l(r),e(n),s=function(){y=!0},\"array\"!==t)if(\"string\"!==t)for(u=r.next();!u.done;){if(i.call(n,x,u.value,s),y)return;u=r.next()}else for(A=r.length,p=0;p<A&&(g=r[p],p+1<A&&(v=g.charCodeAt(0))>=55296&&v<=56319&&(g+=r[++p]),i.call(n,x,g,s),!y);++p);else f.call(r,function(r){return i.call(n,x,r,s),y})}},\n",
       "      function _(n,t,e){var o=n(44),r=n(48),f=n(70),i=n(84),u=n(66),c=n(24).iterator;t.exports=function(n){return\"function\"==typeof u(n)[c]?n[c]():o(n)?new f(n):r(n)?new i(n):new f(n)}},\n",
       "      function _(t,e,r){var o,_=t(60),i=t(36),n=t(28),l=t(24),a=t(71),s=Object.defineProperty;o=e.exports=function(t,e){if(!(this instanceof o))throw new TypeError(\"Constructor requires 'new'\");a.call(this,t),e=e?i.call(e,\"key+value\")?\"key+value\":i.call(e,\"key\")?\"key\":\"value\":\"value\",s(this,\"__kind__\",n(\"\",e))},_&&_(o,a),delete o.prototype.constructor,o.prototype=Object.create(a.prototype,{_resolve:n(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),s(o.prototype,l.toStringTag,n(\"c\",\"Array Iterator\"))},\n",
       "      function _(_,t,e){var n,i=_(55),o=_(34),s=_(47),r=_(10),h=_(28),d=_(72),c=_(24),u=Object.defineProperty,l=Object.defineProperties;t.exports=n=function(_,t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l(this,{__list__:h(\"w\",r(_)),__context__:h(\"w\",t),__nextIndex__:h(\"w\",0)}),t&&(s(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))},delete n.prototype.constructor,l(n.prototype,o({_next:h(function(){var _;if(this.__list__)return this.__redo__&&void 0!==(_=this.__redo__.shift())?_:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:h(function(){return this._createResult(this._next())}),_createResult:h(function(_){return void 0===_?{done:!0,value:void 0}:{done:!1,value:this._resolve(_)}}),_resolve:h(function(_){return this.__list__[_]}),_unBind:h(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:h(function(){return\"[object \"+(this[c.toStringTag]||\"Object\")+\"]\"})},d({_onAdd:h(function(_){_>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(t,e){t>=_&&(this.__redo__[e]=++t)},this),this.__redo__.push(_)):u(this,\"__redo__\",h(\"c\",[_])))}),_onDelete:h(function(_){var t;_>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(_))&&this.__redo__.splice(t,1),this.__redo__.forEach(function(t,e){t>_&&(this.__redo__[e]=--t)},this)))}),_onClear:h(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),u(n.prototype,c.iterator,h(function(){return this}))},\n",
       "      function _(e,t,n){var r,o=e(29),i=e(73),l=e(78),u=e(79),s=e(35),v=e(81),a=Function.prototype.bind,c=Object.defineProperty,f=Object.prototype.hasOwnProperty;r=function(e,t,n){var r,o=i(t)&&l(t.value);return delete(r=u(t)).writable,delete r.value,r.get=function(){return!n.overwriteDefinition&&f.call(this,e)?o:(t.value=a.call(o,n.resolveContext?n.resolveContext(this):this),c(this,e,t),this[e])},r},t.exports=function(e){var t=s(arguments[1]);return o(t.resolveContext)&&l(t.resolveContext),v(e,function(e,n){return r(n,e,t)})}},\n",
       "      function _(n,t,o){var r=n(74),u=n(29);t.exports=function(n){return u(n)?n:r(n,\"Cannot use %v\",arguments[1])}},\n",
       "      function _(r,e,n){var t=r(29),i=r(33),o=r(75),f=r(76),u=function(r,e){return r.replace(\"%v\",f(e))};e.exports=function(r,e,n){if(!i(n))throw new TypeError(u(e,r));if(!t(r)){if(\"default\"in n)return n.default;if(n.isOptional)return null}var f=o(n.errorMessage);throw t(f)||(f=e),new TypeError(u(f,r))}},\n",
       "      function _(t,n,r){var u=t(29),e=t(33),i=Object.prototype.toString;n.exports=function(t){if(!u(t))return null;if(e(t)){var n=t.toString;if(\"function\"!=typeof n)return null;if(n===i)return null}try{return\"\"+t}catch(t){return null}}},\n",
       "      function _(r,e,n){var t=r(77),u=/[\\n\\r\\u2028\\u2029]/g;e.exports=function(r){var e=t(r);return null===e?\"<Non-coercible to string value>\":(e.length>100&&(e=e.slice(0,99)+\"…\"),e=e.replace(u,function(r){switch(r){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}))}},\n",
       "      function _(t,r,n){r.exports=function(t){try{return t.toString()}catch(r){try{return String(t)}catch(t){return null}}}},\n",
       "      function _(n,t,i){var o=n(74),r=n(30);t.exports=function(n){return r(n)?n:o(n,\"%v is not a plain function\",arguments[1])}},\n",
       "      function _(n,r,t){var e=n(80),u=n(34),c=n(10);r.exports=function(n){var r=Object(c(n)),t=arguments[1],i=Object(arguments[2]);if(r!==n&&!t)return r;var f={};return t?e(t,function(r){(i.ensure||r in n)&&(f[r]=n[r])}):u(f,n),f}},\n",
       "      function _(r,o,f){o.exports=r(22)()?Array.from:r(23)},\n",
       "      function _(n,t,o){var c=n(47),r=n(82),u=Function.prototype.call;t.exports=function(n,t){var o={},a=arguments[2];return c(t),r(n,function(n,c,r,i){o[c]=u.call(t,a,n,c,r,i)}),o}},\n",
       "      function _(o,c,f){c.exports=o(83)(\"forEach\")},\n",
       "      function _(t,n,o){var c=t(47),e=t(10),r=Function.prototype.bind,u=Function.prototype.call,l=Object.keys,p=Object.prototype.propertyIsEnumerable;n.exports=function(t,n){return function(o,i){var a,f=arguments[2],y=arguments[3];return o=Object(e(o)),c(i),a=l(o),y&&a.sort(\"function\"==typeof y?r.call(y,o):void 0),\"function\"!=typeof t&&(t=a[t]),u.call(t,a,function(t,c){return p.call(o,t)?u.call(i,f,o[t],t,o,c):n})}}},\n",
       "      function _(t,_,e){var n,r=t(60),i=t(28),o=t(24),s=t(71),h=Object.defineProperty;n=_.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),h(this,\"__length__\",i(\"\",t.length))},r&&r(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:i(function(t){var _,e=this.__list__[t];return this.__nextIndex__===this.__length__?e:(_=e.charCodeAt(0))>=55296&&_<=56319?e+this.__list__[this.__nextIndex__++]:e})}),h(n.prototype,o.toStringTag,i(\"c\",\"String Iterator\"))},\n",
       "      function _(t,e,_){var r,i=t(60),o=t(36),n=t(28),s=t(71),a=t(24).toStringTag,c=Object.defineProperty;r=e.exports=function(t,e){if(!(this instanceof r))return new r(t,e);s.call(this,t.__setData__,t),e=e&&o.call(e,\"key+value\")?\"key+value\":\"value\",c(this,\"__kind__\",n(\"\",e))},i&&i(r,s),r.prototype=Object.create(s.prototype,{constructor:n(r),_resolve:n(function(t){return\"value\"===this.__kind__?this.__list__[t]:[this.__list__[t],this.__list__[t]]}),toString:n(function(){return\"[object Set Iterator]\"})}),c(r.prototype,a,n(\"c\",\"Set Iterator\"))},\n",
       "      function _(t,e,o){e.exports=\"undefined\"!=typeof Set&&\"[object Set]\"===Object.prototype.toString.call(Set.prototype)},\n",
       "      function _(e,a,n){e(88)()||Object.defineProperty(e(26),\"Map\",{value:e(89),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(t,e,n){e.exports=function(){var t,e;if(\"function\"!=typeof Map)return!1;try{t=new Map([[\"raz\",\"one\"],[\"dwa\",\"two\"],[\"trzy\",\"three\"]])}catch(t){return!1}return\"[object Map]\"===String(t)&&(3===t.size&&(\"function\"==typeof t.clear&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.entries&&(\"function\"==typeof t.forEach&&(\"function\"==typeof t.get&&(\"function\"==typeof t.has&&(\"function\"==typeof t.keys&&(\"function\"==typeof t.set&&(\"function\"==typeof t.values&&(!1===(e=t.entries().next()).done&&(!!e.value&&(\"raz\"===e.value[0]&&\"one\"===e.value[1])))))))))))))}},\n",
       "      function _(t,e,a){var _,n=t(55),i=t(56),r=t(60),s=t(47),o=t(10),p=t(28),c=t(65),u=t(24),l=t(66),h=t(68),f=t(90),y=t(93),m=Function.prototype.call,D=Object.defineProperties,v=Object.getPrototypeOf;e.exports=_=function(){var t,e,a,n=arguments[0];if(!(this instanceof _))throw new TypeError(\"Constructor requires 'new'\");return a=y&&r&&Map!==_?r(new Map,v(this)):this,null!=n&&l(n),D(a,{__mapKeysData__:p(\"c\",t=[]),__mapValuesData__:p(\"c\",e=[])}),n?(h(n,function(a){var _=o(a)[0];a=a[1],-1===i.call(t,_)&&(t.push(_),e.push(a))},a),a):a},y&&(r&&r(_,Map),_.prototype=Object.create(Map.prototype,{constructor:p(_)})),c(D(_.prototype,{clear:p(function(){this.__mapKeysData__.length&&(n.call(this.__mapKeysData__),n.call(this.__mapValuesData__),this.emit(\"_clear\"))}),delete:p(function(t){var e=i.call(this.__mapKeysData__,t);return-1!==e&&(this.__mapKeysData__.splice(e,1),this.__mapValuesData__.splice(e,1),this.emit(\"_delete\",e,t),!0)}),entries:p(function(){return new f(this,\"key+value\")}),forEach:p(function(t){var e,a,_=arguments[1];for(s(t),a=(e=this.entries())._next();void 0!==a;)m.call(t,_,this.__mapValuesData__[a],this.__mapKeysData__[a],this),a=e._next()}),get:p(function(t){var e=i.call(this.__mapKeysData__,t);if(-1!==e)return this.__mapValuesData__[e]}),has:p(function(t){return-1!==i.call(this.__mapKeysData__,t)}),keys:p(function(){return new f(this,\"key\")}),set:p(function(t,e){var a,_=i.call(this.__mapKeysData__,t);return-1===_&&(_=this.__mapKeysData__.push(t)-1,a=!0),this.__mapValuesData__[_]=e,a&&this.emit(\"_add\",_,t),this}),size:p.gs(function(){return this.__mapKeysData__.length}),values:p(function(){return new f(this,\"value\")}),toString:p(function(){return\"[object Map]\"})})),Object.defineProperty(_.prototype,u.iterator,p(function(){return this.entries()})),Object.defineProperty(_.prototype,u.toStringTag,p(\"c\",\"Map\"))},\n",
       "      function _(t,_,e){var i,n=t(60),r=t(28),o=t(71),s=t(24).toStringTag,a=t(91),u=Object.defineProperties,c=o.prototype._unBind;i=_.exports=function(t,_){if(!(this instanceof i))return new i(t,_);o.call(this,t.__mapKeysData__,t),_&&a[_]||(_=\"key+value\"),u(this,{__kind__:r(\"\",_),__values__:r(\"w\",t.__mapValuesData__)})},n&&n(i,o),i.prototype=Object.create(o.prototype,{constructor:r(i),_resolve:r(function(t){return\"value\"===this.__kind__?this.__values__[t]:\"key\"===this.__kind__?this.__list__[t]:[this.__list__[t],this.__values__[t]]}),_unBind:r(function(){this.__values__=null,c.call(this)}),toString:r(function(){return\"[object Map Iterator]\"})}),Object.defineProperty(i.prototype,s,r(\"c\",\"Map Iterator\"))},\n",
       "      function _(e,u,a){u.exports=e(92)(\"key\",\"value\",\"key+value\")},\n",
       "      function _(r,t,n){var c=Array.prototype.forEach,o=Object.create;t.exports=function(r){var t=o(null);return c.call(arguments,function(r){t[r]=!0}),t}},\n",
       "      function _(t,e,o){e.exports=\"undefined\"!=typeof Map&&\"[object Map]\"===Object.prototype.toString.call(new Map)},\n",
       "      function _(e,a,n){e(95)()||Object.defineProperty(e(26),\"WeakMap\",{value:e(96),configurable:!0,enumerable:!1,writable:!0})},\n",
       "      function _(t,e,n){e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},\n",
       "      function _(t,e,a){var r,n=t(8),o=t(60),p=t(97),_=t(10),i=t(98),c=t(28),s=t(69),u=t(68),f=t(24).toStringTag,k=t(99),M=Array.isArray,h=Object.defineProperty,w=Object.prototype.hasOwnProperty,y=Object.getPrototypeOf;e.exports=r=function(){var t,e=arguments[0];if(!(this instanceof r))throw new TypeError(\"Constructor requires 'new'\");return t=k&&o&&WeakMap!==r?o(new WeakMap,y(this)):this,n(e)&&(M(e)||(e=s(e))),h(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+i())),e?(u(e,function(e){_(e),t.set(e[0],e[1])}),t):t},k&&(o&&o(r,WeakMap),r.prototype=Object.create(WeakMap.prototype,{constructor:c(r)})),Object.defineProperties(r.prototype,{delete:c(function(t){return!!w.call(p(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:c(function(t){if(w.call(p(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:c(function(t){return w.call(p(t),this.__weakMapData__)}),set:c(function(t,e){return h(p(t),this.__weakMapData__,c(\"c\",e)),this}),toString:c(function(){return\"[object WeakMap]\"})}),h(r.prototype,f,c(\"c\",\"WeakMap\"))},\n",
       "      function _(n,r,t){var o=n(63);r.exports=function(n){if(!o(n))throw new TypeError(n+\" is not an Object\");return n}},\n",
       "      function _(t,n,r){var e=Object.create(null),o=Math.random;n.exports=function(){var t;do{t=o().toString(36).slice(2)}while(e[t]);return t}},\n",
       "      function _(t,e,o){e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},\n",
       "      function _(l,o,f){o.exports=l(101).polyfill()},\n",
       "      function _(t,e,r){\n",
       "      /*!\n",
       "           * @overview es6-promise - a tiny implementation of Promises/A+.\n",
       "           * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n",
       "           * @license   Licensed under MIT license\n",
       "           *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n",
       "           * @version   v4.2.6+9869a4bc\n",
       "           */\n",
       "      !function(t,n){\"object\"==typeof r&&void 0!==e?e.exports=n():\"function\"==typeof define&&define.amd?define(n):t.ES6Promise=n()}(this,function(){\"use strict\";function e(t){return\"function\"==typeof t}var r=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},n=0,o=void 0,i=void 0,s=function(t,e){v[n]=t,v[n+1]=e,2===(n+=2)&&(i?i(p):b())};var u=\"undefined\"!=typeof window?window:void 0,c=u||{},a=c.MutationObserver||c.WebKitMutationObserver,f=\"undefined\"==typeof self&&\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),l=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function h(){var t=setTimeout;return function(){return t(p,1)}}var v=new Array(1e3);function p(){for(var t=0;t<n;t+=2){(0,v[t])(v[t+1]),v[t]=void 0,v[t+1]=void 0}n=0}var _,d,y,m,b=void 0;function w(t,e){var r=this,n=new this.constructor(j);void 0===n[A]&&L(n);var o=r._state;if(o){var i=arguments[o-1];s(function(){return D(o,n,i,r._result)})}else k(r,n,t,e);return n}function g(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(j);return O(e,t),e}f?b=function(){return process.nextTick(p)}:a?(d=0,y=new a(p),m=document.createTextNode(\"\"),y.observe(m,{characterData:!0}),b=function(){m.data=d=++d%2}):l?((_=new MessageChannel).port1.onmessage=p,b=function(){return _.port2.postMessage(0)}):b=void 0===u&&\"function\"==typeof t?function(){try{var t=Function(\"return this\")().require(\"vertx\");return void 0!==(o=t.runOnLoop||t.runOnContext)?function(){o(p)}:h()}catch(t){return h()}}():h();var A=Math.random().toString(36).substring(2);function j(){}var S=void 0,E=1,T=2,M={error:null};function P(t){try{return t.then}catch(t){return M.error=t,M}}function C(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===g?function(t,e){e._state===E?F(t,e._result):e._state===T?Y(t,e._result):k(e,void 0,function(e){return O(t,e)},function(e){return Y(t,e)})}(t,r):n===M?(Y(t,M.error),M.error=null):void 0===n?F(t,r):e(n)?function(t,e,r){s(function(t){var n=!1,o=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?O(t,r):F(t,r))},function(e){n||(n=!0,Y(t,e))},t._label);!n&&o&&(n=!0,Y(t,o))},t)}(t,r,n):F(t,r)}function O(t,e){var r,n;t===e?Y(t,new TypeError(\"You cannot resolve a promise with itself\")):(n=typeof(r=e),null===r||\"object\"!==n&&\"function\"!==n?F(t,e):C(t,e,P(e)))}function x(t){t._onerror&&t._onerror(t._result),q(t)}function F(t,e){t._state===S&&(t._result=e,t._state=E,0!==t._subscribers.length&&s(q,t))}function Y(t,e){t._state===S&&(t._state=T,t._result=e,s(x,t))}function k(t,e,r,n){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+E]=r,o[i+T]=n,0===i&&t._state&&s(q,t)}function q(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)n=e[s],o=e[s+r],n?D(r,n,o,i):o(i);t._subscribers.length=0}}function D(t,r,n,o){var i=e(n),s=void 0,u=void 0,c=void 0,a=void 0;if(i){if((s=function(t,e){try{return t(e)}catch(t){return M.error=t,M}}(n,o))===M?(a=!0,u=s.error,s.error=null):c=!0,r===s)return void Y(r,new TypeError(\"A promises callback cannot return that same promise.\"))}else s=o,c=!0;r._state!==S||(i&&c?O(r,s):a?Y(r,u):t===E?F(r,s):t===T&&Y(r,s))}var K=0;function L(t){t[A]=K++,t._state=void 0,t._result=void 0,t._subscribers=[]}var N=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(j),this.promise[A]||L(this.promise),r(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?F(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&F(this.promise,this._result))):Y(this.promise,new Error(\"Array Methods must be provided an Array\"))}return t.prototype._enumerate=function(t){for(var e=0;this._state===S&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===g){var o=P(t);if(o===w&&t._state!==S)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof o)this._remaining--,this._result[e]=t;else if(r===U){var i=new r(j);C(i,t,o),this._willSettleAt(i,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},t.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===S&&(this._remaining--,t===T?Y(n,r):this._result[e]=r),0===this._remaining&&F(n,this._result)},t.prototype._willSettleAt=function(t,e){var r=this;k(t,void 0,function(t){return r._settledAt(E,e,t)},function(t){return r._settledAt(T,e,t)})},t}();var U=function(){function t(e){this[A]=K++,this._result=this._state=void 0,this._subscribers=[],j!==e&&(\"function\"!=typeof e&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof t?function(t,e){try{e(function(e){O(t,e)},function(e){Y(t,e)})}catch(e){Y(t,e)}}(this,e):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return e(t)?this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):this.then(t,t)},t}();return U.prototype.then=w,U.all=function(t){return new N(this,t).promise},U.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var o=t.length,i=0;i<o;i++)e.resolve(t[i]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},U.resolve=g,U.reject=function(t){var e=new this(j);return Y(e,t),e},U._setScheduler=function(t){i=t},U._setAsap=function(t){s=t},U._asap=s,U.polyfill=function(){var t=void 0;if(\"undefined\"!=typeof global)t=global;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=U},U.Promise=U,U})},\n",
       "      function _(n,o,r){!function(n){for(var o in n)r.hasOwnProperty(o)||(r[o]=n[o])}(n(103))},\n",
       "      function _(e,r,s){var o=e(104);s.version=o.version;var v=e(105);s.embed=v;var l=e(105);s.index=l.index;var a=e(450);s.protocol=a;var t=e(451);s._testing=t;var n=e(167);s.logger=n.logger,s.set_log_level=n.set_log_level;var g=e(128);s.settings=g.settings;var i=e(108);s.Models=i.Models;var d=e(106);s.documents=d.documents;var _=e(452);s.safely=_.safely},\n",
       "      function _(n,i,o){o.version=\"1.4.0\"},\n",
       "      function _(e,o,n){var r=e(106),d=e(167),t=e(119),s=e(127),i=e(109),_=e(441),u=e(443),l=e(442),a=e(441);n.add_document_standalone=a.add_document_standalone,n.index=a.index;var c=e(443);n.add_document_from_session=c.add_document_from_session;var m=e(448);n.embed_items_notebook=m.embed_items_notebook,n.kernels=m.kernels;var f=e(442);function v(e,o,n,t){i.isString(e)&&(e=JSON.parse(s.unescape(e)));var a={};for(var c in e){var m=e[c];a[c]=r.Document.from_json(m)}for(var f=0,v=o;f<v.length;f++){var g=v[f],O=l._resolve_element(g),b=l._resolve_root_elements(g);if(null!=g.docid)_.add_document_standalone(a[g.docid],O,b,g.use_for_title);else{if(null==g.sessionid)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'sessionid' was expected.\");var h=u._get_ws_url(n,t);d.logger.debug(\"embed: computed ws url: \"+h),u.add_document_from_session(h,g.sessionid,O,b,g.use_for_title).then(function(){console.log(\"Bokeh items were rendered successfully\")},function(e){console.log(\"Error rendering Bokeh items:\",e)})}}}n.BOKEH_ROOT=f.BOKEH_ROOT,n.embed_item=function(e,o){var n,r={},d=s.uuid4();r[d]=e.doc,null==o&&(o=e.target_id);var i=document.getElementById(o);null!=i&&i.classList.add(l.BOKEH_ROOT);var _={roots:((n={})[e.root_id]=o,n),docid:d};t.defer(function(){return v(r,[_])})},n.embed_items=function(e,o,n,r){t.defer(function(){return v(e,o,n,r)})}},\n",
       "      function _(n,o,r){function f(n){for(var o in n)r.hasOwnProperty(o)||(r[o]=n[o])}f(n(107)),f(n(199))},\n",
       "      function _(e,t,n){var o=e(108),r=e(104),i=e(167),s=e(376),a=e(115),_=e(116),l=e(126),c=e(196),u=e(117),d=e(110),h=e(125),f=e(118),v=e(109),m=e(339),p=e(170),g=e(166),y=e(199),w=function(){function e(e){this.document=e,this.session=null,this.subscribed_models=new u.Set}return e.prototype.send_event=function(e){null!=this.session&&this.session.send_event(e)},e.prototype.trigger=function(e){for(var t=0,n=this.subscribed_models.values;t<n.length;t++){var o=n[t];if(null==e.origin||e.origin.id===o){var r=this.document._all_models[o];null!=r&&r instanceof g.Model&&r._process_event(e)}}},e}();n.EventManager=w,w.__name__=\"EventManager\",n.documents=[],n.DEFAULT_TITLE=\"Bokeh Application\";var b=function(){function e(){n.documents.push(this),this._init_timestamp=Date.now(),this._title=n.DEFAULT_TITLE,this._roots=[],this._all_models={},this._all_models_by_name=new u.MultiDict,this._all_models_freeze_count=0,this._callbacks=[],this.event_manager=new w(this),this.idle=new _.Signal0(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}return Object.defineProperty(e.prototype,\"layoutables\",{get:function(){return this._roots.filter(function(e){return e instanceof m.LayoutDOM})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_idle\",{get:function(){for(var e=0,t=this.layoutables;e<t.length;e++){var n=t[e];if(!this._idle_roots.has(n))return!1}return!0},enumerable:!0,configurable:!0}),e.prototype.notify_idle=function(e){this._idle_roots.set(e,!0),this.is_idle&&(i.logger.info(\"document idle at \"+(Date.now()-this._init_timestamp)+\" ms\"),this.idle.emit())},e.prototype.clear=function(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}},e.prototype.interactive_start=function(e){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new s.LODStart)),this._interactive_timestamp=Date.now()},e.prototype.interactive_stop=function(e){null!=this._interactive_plot&&this._interactive_plot.id===e.id&&this._interactive_plot.trigger_event(new s.LODEnd),this._interactive_plot=null,this._interactive_timestamp=null},e.prototype.interactive_duration=function(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp},e.prototype.destructively_move=function(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();var t=d.copy(this._roots);this.clear();for(var n=0,o=t;n<o.length;n++){if(null!=(s=o[n]).document)throw new Error(\"Somehow we didn't detach \"+s)}if(0!==Object.keys(this._all_models).length)throw new Error(\"this._all_models still had stuff in it: \"+this._all_models);for(var r=0,i=t;r<i.length;r++){var s=i[r];e.add_root(s)}e.set_title(this._title)},e.prototype._push_all_models_freeze=function(){this._all_models_freeze_count+=1},e.prototype._pop_all_models_freeze=function(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()},e.prototype._invalidate_all_models=function(){i.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()},e.prototype._recompute_all_models=function(){for(var e=new u.Set,t=0,n=this._roots;t<n.length;t++){var o=n[t];e=e.union(o.references())}for(var r=new u.Set(h.values(this._all_models)),i=r.diff(e),s=e.diff(r),a={},_=0,l=e.values;_<l.length;_++){var c=l[_];a[c.id]=c}for(var d=0,f=i.values;d<f.length;d++){var v=f[d];v.detach_document(),v instanceof g.Model&&null!=v.name&&this._all_models_by_name.remove_value(v.name,v)}for(var m=0,p=s.values;m<p.length;m++){var y=p[m];y.attach_document(this),y instanceof g.Model&&null!=y.name&&this._all_models_by_name.add_value(y.name,y)}this._all_models=a},e.prototype.roots=function(){return this._roots},e.prototype.add_root=function(e,t){if(i.logger.debug(\"Adding root: \"+e),!d.includes(this._roots,e)){this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new y.RootAddedEvent(this,e,t))}},e.prototype.remove_root=function(e,t){var n=this._roots.indexOf(e);if(!(n<0)){this._push_all_models_freeze();try{this._roots.splice(n,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new y.RootRemovedEvent(this,e,t))}},e.prototype.title=function(){return this._title},e.prototype.set_title=function(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new y.TitleChangedEvent(this,e,t)))},e.prototype.get_model_by_id=function(e){return e in this._all_models?this._all_models[e]:null},e.prototype.get_model_by_name=function(e){return this._all_models_by_name.get_one(e,\"Multiple models are named '\"+e+\"'\")},e.prototype.on_change=function(e){d.includes(this._callbacks,e)||this._callbacks.push(e)},e.prototype.remove_on_change=function(e){var t=this._callbacks.indexOf(e);t>=0&&this._callbacks.splice(t,1)},e.prototype._trigger_on_change=function(e){for(var t=0,n=this._callbacks;t<n.length;t++){(0,n[t])(e)}},e.prototype._notify_change=function(e,t,n,o,r){\"name\"===t&&(this._all_models_by_name.remove_value(n,e),null!=o&&this._all_models_by_name.add_value(o,e));var i=null!=r?r.setter_id:void 0,s=null!=r?r.hint:void 0;this._trigger_on_change(new y.ModelChangedEvent(this,e,t,n,o,i,s))},e._references_json=function(e,t){void 0===t&&(t=!0);for(var n=[],o=0,r=e;o<r.length;o++){var i=r[o],s=i.ref();s.attributes=i.attributes_as_json(t),delete s.attributes.id,n.push(s)}return n},e._instantiate_object=function(e,t,n){var r=Object.assign(Object.assign({},n),{id:e,__deferred__:!0});return new(o.Models(t))(r)},e._instantiate_references_json=function(t,n){for(var o={},r=0,i=t;r<i.length;r++){var s=i[r],a=s.id,_=s.type,l=s.attributes||{},c=void 0;a in n?c=n[a]:(c=e._instantiate_object(a,_,l),null!=s.subtype&&c.set_subtype(s.subtype)),o[c.id]=c}return o},e._resolve_refs=function(e,t,n){function o(e){if(l.is_ref(e)){if(e.id in t)return t[e.id];if(e.id in n)return n[e.id];throw new Error(\"reference \"+JSON.stringify(e)+\" isn't known (not in Document?)\")}return v.isArray(e)?function(e){for(var t=[],n=0,r=e;n<r.length;n++){var i=r[n];t.push(o(i))}return t}(e):v.isPlainObject(e)?function(e){var t={};for(var n in e){var r=e[n];t[n]=o(r)}return t}(e):e}return o(e)},e._initialize_references_json=function(t,n,o){for(var r={},i=0,s=t;i<s.length;i++){var _=s[i],l=_.id,c=_.attributes,u=!(l in n),d=u?o[l]:n[l],h=e._resolve_refs(c,n,o);r[d.id]=[d,h,u]}function f(e,t){var n={};function o(r){if(r instanceof a.HasProps){if(!(r.id in n)&&r.id in e){n[r.id]=!0;var i=e[r.id],s=i[1],_=i[2];for(var l in s){o(s[l])}t(r,s,_)}}else if(v.isArray(r))for(var c=0,u=r;c<u.length;c++){o(u[c])}else if(v.isPlainObject(r))for(var d in r){o(r[d])}}for(var r in e){o(e[r][0])}}f(r,function(e,t,n){n&&e.setv(t,{silent:!0})}),f(r,function(e,t,n){n&&e.finalize()})},e._event_for_attribute_change=function(e,t,n,o,r){if(o.get_model_by_id(e.id).attribute_is_serializable(t)){var i={kind:\"ModelChanged\",model:{id:e.id,type:e.type},attr:t,new:n};return a.HasProps._json_record_references(o,n,r,!0),i}return null},e._events_to_sync_objects=function(t,n,o,r){for(var s=Object.keys(t.attributes),a=Object.keys(n.attributes),_=d.difference(s,a),l=d.difference(a,s),c=d.intersection(s,a),u=[],h=0,v=_;h<v.length;h++){var m=v[h];i.logger.warn(\"Server sent key \"+m+\" but we don't seem to have it in our JSON\")}for(var p=0,g=l;p<g.length;p++){m=g[p];var y=n.attributes[m];u.push(e._event_for_attribute_change(t,m,y,o,r))}for(var w=0,b=c;w<b.length;w++){m=b[w];var j=t.attributes[m];y=n.attributes[m];null==j&&null==y||(null==j||null==y?u.push(e._event_for_attribute_change(t,m,y,o,r)):f.isEqual(j,y)||u.push(e._event_for_attribute_change(t,m,y,o,r)))}return u.filter(function(e){return null!=e})},e._compute_patch_since_json=function(t,n){var o=n.to_json(!1);function r(e){for(var t={},n=0,o=e.roots.references;n<o.length;n++){var r=o[n];t[r.id]=r}return t}for(var i=r(t),s={},a=[],_=0,l=t.roots.root_ids;_<l.length;_++){s[p=l[_]]=i[p],a.push(p)}for(var c=r(o),u={},f=[],v=0,m=o.roots.root_ids;v<m.length;v++){var p;u[p=m[v]]=c[p],f.push(p)}if(a.sort(),f.sort(),d.difference(a,f).length>0||d.difference(f,a).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");var g={},y=[];for(var w in n._all_models)if(w in i){var b=e._events_to_sync_objects(i[w],c[w],n,g);y=y.concat(b)}return{references:e._references_json(h.values(g),!1),events:y}},e.prototype.to_json_string=function(e){return void 0===e&&(e=!0),JSON.stringify(this.to_json(e))},e.prototype.to_json=function(t){void 0===t&&(t=!0);var n=this._roots.map(function(e){return e.id}),o=h.values(this._all_models);return{version:r.version,title:this._title,roots:{root_ids:n,references:e._references_json(o,t)}}},e.from_json_string=function(t){var n=JSON.parse(t);return e.from_json(n)},e.from_json=function(t){i.logger.debug(\"Creating Document from JSON\");var n=t.version,o=-1!==n.indexOf(\"+\")||-1!==n.indexOf(\"-\"),s=\"Library versions: JS (\"+r.version+\") / Python (\"+n+\")\";o||r.version===n?i.logger.debug(s):(i.logger.warn(\"JS/Python version mismatch\"),i.logger.warn(s));var a=t.roots,_=a.root_ids,l=a.references,c=e._instantiate_references_json(l,{});e._initialize_references_json(l,{},c);for(var u=new e,d=0,h=_;d<h.length;d++){var f=h[d];u.add_root(c[f])}return u.set_title(t.title),u},e.prototype.replace_with_json=function(t){e.from_json(t).destructively_move(this)},e.prototype.create_json_patch_string=function(e){return JSON.stringify(this.create_json_patch(e))},e.prototype.create_json_patch=function(t){for(var n={},o=[],r=0,s=t;r<s.length;r++){var a=s[r];if(a.document!==this)throw i.logger.warn(\"Cannot create a patch using events from a different document, event had \",a.document,\" we are \",this),new Error(\"Cannot create a patch using events from a different document\");o.push(a.json(n))}return{events:o,references:e._references_json(h.values(n))}},e.prototype.apply_json_patch=function(t,n,o){var r;void 0===n&&(n=[]);for(var s=t.references,a=t.events,_=e._instantiate_references_json(s,this._all_models),l=0,u=a;l<u.length;l++){switch((w=u[l]).kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":var d=w.model.id;if(d in this._all_models)_[d]=this._all_models[d];else if(!(d in _))throw i.logger.warn(\"Got an event for unknown model \",w.model),new Error(\"event model wasn't known\")}}var h={},f={};for(var v in _){var m=_[v];v in this._all_models?h[v]=m:f[v]=m}e._initialize_references_json(s,h,f);for(var g=0,y=a;g<y.length;g++){var w;switch((w=y[g]).kind){case\"ModelChanged\":var b=w.model.id;if(!(b in this._all_models))throw new Error(\"Cannot apply patch to \"+b+\" which is not in the document\");var j=this._all_models[b],k=w.attr,E=w.model.type;if(\"data\"===k&&\"ColumnDataSource\"===E){var C=c.decode_column_data(w.new,n),O=C[0],S=C[1];j.setv({_shapes:S,data:O},{setter_id:o})}else{m=e._resolve_refs(w.new,h,f);j.setv(((r={})[k]=m,r),{setter_id:o})}break;case\"ColumnDataChanged\":if(!((J=w.column_source.id)in this._all_models))throw new Error(\"Cannot stream to \"+J+\" which is not in the document\");var D=this._all_models[J],z=c.decode_column_data(w.new,n);O=z[0],S=z[1];if(null!=w.cols){for(var M in D.data)M in O||(O[M]=D.data[M]);for(var M in D._shapes)M in S||(S[M]=D._shapes[M])}D.setv({_shapes:S,data:O},{setter_id:o,check_eq:!1});break;case\"ColumnsStreamed\":if(!((J=w.column_source.id)in this._all_models))throw new Error(\"Cannot stream to \"+J+\" which is not in the document\");if(!((D=this._all_models[J])instanceof p.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");O=w.data;var A=w.rollover;D.stream(O,A,o);break;case\"ColumnsPatched\":var J;if(!((J=w.column_source.id)in this._all_models))throw new Error(\"Cannot patch \"+J+\" which is not in the document\");if(!((D=this._all_models[J])instanceof p.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");var P=w.patches;D.patch(P,o);break;case\"RootAdded\":var R=_[w.model.id];this.add_root(R,o);break;case\"RootRemoved\":R=_[w.model.id];this.remove_root(R,o);break;case\"TitleChanged\":this.set_title(w.title,o);break;default:throw new Error(\"Unknown patch event \"+JSON.stringify(w))}}},e}();n.Document=b,b.__name__=\"Document\"},\n",
       "      function _(e,r,o){var s=e(109),i=e(115);o.overrides={};var t=new Map;o.Models=function(e){var r=o.overrides[e]||t.get(e);if(null==r)throw new Error(\"Model '\"+e+\"' does not exist. This could be due to a widget or a custom model not being registered before first usage.\");return r},o.Models.register=function(e,r){o.overrides[e]=r},o.Models.unregister=function(e){delete o.overrides[e]},o.Models.register_models=function(e,r,o){var n;if(void 0===r&&(r=!1),null!=e)for(var d in e){var l=e[d];if(n=l,s.isObject(n)&&n.prototype instanceof i.HasProps){var a=l.__qualified__;r||!t.has(a)?t.set(a,l):null!=o?o(a):console.warn(\"Model '\"+a+\"' was already registered\")}}},o.register_models=o.Models.register_models,o.Models.registered_names=function(){return Array.from(t.keys())};var n=e(129);o.register_models(n)},\n",
       "      function _(n,r,t){var e=n(110),i=Object.prototype.toString;function o(n){return\"[object Number]\"===i.call(n)}function u(n){var r=typeof n;return\"function\"===r||\"object\"===r&&!!n}t.isBoolean=function(n){return!0===n||!1===n||\"[object Boolean]\"===i.call(n)},t.isNumber=o,t.isInteger=function(n){return o(n)&&isFinite(n)&&Math.floor(n)===n},t.isString=function(n){return\"[object String]\"===i.call(n)},t.isStrictNaN=function(n){return o(n)&&n!==+n},t.isFunction=function(n){return\"[object Function]\"===i.call(n)},t.isArray=function(n){return Array.isArray(n)},t.isArrayOf=function(n,r){return e.every(n,r)},t.isArrayableOf=function(n,r){for(var t=0,e=n.length;t<e;t++)if(!r(n[t]))return!1;return!0},t.isTypedArray=function(n){return null!=n&&n.buffer instanceof ArrayBuffer},t.isObject=u,t.isPlainObject=function(n){return u(n)&&(null==n.constructor||n.constructor===Object)}},\n",
       "      function _(n,r,e){var t=n(111),u=n(112),i=n(114);e.map=i.map,e.reduce=i.reduce,e.min=i.min,e.min_by=i.min_by,e.max=i.max,e.max_by=i.max_by,e.sum=i.sum,e.cumsum=i.cumsum,e.every=i.every,e.some=i.some,e.find=i.find,e.find_last=i.find_last,e.find_index=i.find_index,e.find_last_index=i.find_last_index,e.sorted_index=i.sorted_index;var a=Array.prototype.slice;function o(n){return a.call(n)}function f(n){return[].concat.apply([],n)}function c(n,r){return-1!==n.indexOf(r)}function l(n,r,e){void 0===e&&(e=1),u.assert(e>0,\"'step' must be a positive number\"),null==r&&(r=n,n=0);for(var t=n<=r?e:-e,i=(0,Math.max)((0,Math.ceil)((0,Math.abs)(r-n)/e),0),a=Array(i),o=0;o<i;o++,n+=t)a[o]=n;return a}function v(n){for(var r=[],e=0,t=n;e<t.length;e++){var u=t[e];c(r,u)||r.push(u)}return r}e.head=function(n){return n[0]},e.tail=function(n){return n[n.length-1]},e.last=function(n){return n[n.length-1]},e.copy=o,e.concat=f,e.includes=c,e.contains=c,e.nth=function(n,r){return n[r>=0?r:n.length+r]},e.zip=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];if(0==n.length)return[];for(var e=i.min(n.map(function(n){return n.length})),t=n.length,u=new Array(e),a=0;a<e;a++){u[a]=new Array(t);for(var o=0;o<t;o++)u[a][o]=n[o][a]}return u},e.unzip=function(n){for(var r=n.length,e=i.min(n.map(function(n){return n.length})),t=Array(e),u=0;u<e;u++)t[u]=new Array(r);for(var a=0;a<r;a++)for(u=0;u<e;u++)t[u][a]=n[a][u];return t},e.range=l,e.linspace=function(n,r,e){void 0===e&&(e=100);for(var t=(r-n)/(e-1),u=new Array(e),i=0;i<e;i++)u[i]=n+t*i;return u},e.transpose=function(n){for(var r=n.length,e=n[0].length,t=[],u=0;u<e;u++){t[u]=[];for(var i=0;i<r;i++)t[u][i]=n[i][u]}return t},e.argmin=function(n){return i.min_by(l(n.length),function(r){return n[r]})},e.argmax=function(n){return i.max_by(l(n.length),function(r){return n[r]})},e.sort_by=function(n,r){var e=n.map(function(n,e){return{value:n,index:e,key:r(n)}});return e.sort(function(n,r){var e=n.key,t=r.key;if(e!==t){if(e>t||void 0===e)return 1;if(e<t||void 0===t)return-1}return n.index-r.index}),e.map(function(n){return n.value})},e.uniq=v,e.uniq_by=function(n,r){for(var e=[],t=[],u=0,i=n;u<i.length;u++){var a=i[u],o=r(a);c(t,o)||(t.push(o),e.push(a))}return e},e.union=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return v(f(n))},e.intersection=function(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];var t=[];n:for(var u=0,i=n;u<i.length;u++){var a=i[u];if(!c(t,a)){for(var o=0,f=r;o<f.length;o++)if(!c(f[o],a))continue n;t.push(a)}}return t},e.difference=function(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];var t=f(r);return n.filter(function(n){return!c(t,n)})},e.remove_at=function(n,r){var e=o(n);return e.splice(r,1),e},e.remove_by=function(n,r){for(var e=0;e<n.length;)r(n[e])?n.splice(e,1):e++},e.shuffle=function(n){for(var r=n.length,e=new Array(r),u=0;u<r;u++){var i=t.randomIn(0,u);i!==u&&(e[u]=e[i]),e[i]=n[u]}return e},e.pairwise=function(n,r){for(var e=n.length,t=new Array(e-1),u=0;u<e-1;u++)t[u]=r(n[u],n[u+1]);return t},e.reversed=function(n){for(var r=n.length,e=new Array(r),t=0;t<r;t++)e[r-t-1]=n[t];return e},e.repeat=function(n,r){for(var e=new Array(r),t=0;t<r;t++)e[t]=n;return e}},\n",
       "      function _(n,r,t){function a(n){if(0==n)return 0;for(;n<=0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;return n}function o(n,r){return a(n-r)}function u(){return Math.random()}t.angle_norm=a,t.angle_dist=o,t.angle_between=function(n,r,t,u){var e=o(r,t);if(0==e)return!1;if(e==2*Math.PI)return!0;var f=a(n),i=o(r,f)<=e&&o(f,t)<=e;return 0==u?i:!i},t.random=u,t.randomIn=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},t.atan2=function(n,r){return Math.atan2(r[1]-n[1],r[0]-n[0])},t.rnorm=function(n,r){for(var t,a;t=u(),a=(2*(a=u())-1)*Math.sqrt(1/Math.E*2),!(-4*t*t*Math.log(t)>=a*a););var o=a/t;return o=n+r*o},t.clamp=function(n,r,t){return n>t?t:n<r?r:n}},\n",
       "      function _(r,n,t){var e=r(113),i=function(r){function n(){return null!==r&&r.apply(this,arguments)||this}return e.__extends(n,r),n}(Error);t.AssertionError=i,i.__name__=\"AssertionError\",t.assert=function(r,n){if(!(!0===r||!1!==r&&r()))throw new i(n||\"Assertion failed\")}},\n",
       "      function _(t,e,n){\n",
       "      /*! *****************************************************************************\n",
       "          Copyright (c) Microsoft Corporation. All rights reserved.\n",
       "          Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n",
       "          this file except in compliance with the License. You may obtain a copy of the\n",
       "          License at http://www.apache.org/licenses/LICENSE-2.0\n",
       "          \n",
       "          THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n",
       "          KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n",
       "          WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n",
       "          MERCHANTABLITY OR NON-INFRINGEMENT.\n",
       "          \n",
       "          See the Apache Version 2.0 License for specific language governing permissions\n",
       "          and limitations under the License.\n",
       "          ***************************************************************************** */\n",
       "      var r,o,a,c,u,i,f,l,s,y,p,_,b,h,v,d,w,m,O,j;!function(t){var n=\"object\"==typeof global?global:\"object\"==typeof self?self:\"object\"==typeof this?this:{};function r(t,e){return t!==n&&(\"function\"==typeof Object.create?Object.defineProperty(t,\"__esModule\",{value:!0}):t.__esModule=!0),function(n,r){return t[n]=e?e(n,r):r}}\"function\"==typeof define&&define.amd?define(\"tslib\",[\"exports\"],function(e){t(r(n,r(e)))}):\"object\"==typeof e&&\"object\"==typeof e.exports?t(r(n,r(e.exports))):t(r(n))}(function(t){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};r=function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)},o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},a=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n},c=function(t,e,n,r){var o,a=arguments.length,c=a<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)c=Reflect.decorate(t,e,n,r);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(c=(a<3?o(c):a>3?o(e,n,c):o(e,n))||c);return a>3&&c&&Object.defineProperty(e,n,c),c},u=function(t,e){return function(n,r){e(n,r,t)}},i=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},f=function(t,e,n,r){return new(n||(n=Promise))(function(o,a){function c(t){try{i(r.next(t))}catch(t){a(t)}}function u(t){try{i(r.throw(t))}catch(t){a(t)}}function i(t){t.done?o(t.value):new n(function(e){e(t.value)}).then(c,u)}i((r=r.apply(t,e||[])).next())})},l=function(t,e){var n,r,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(n)throw new TypeError(\"Generator is already executing.\");for(;c;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,r=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=e.call(t,c)}catch(t){a=[6,t],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},s=function(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])},y=function(t){var e=\"function\"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},p=function(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(r=a.next()).done;)c.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return c},_=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t},b=function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var a=arguments[e],c=0,u=a.length;c<u;c++,o++)r[o]=a[c];return r},h=function(t){return this instanceof h?(this.v=t,this):new h(t)},v=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,o=n.apply(t,e||[]),a=[];return r={},c(\"next\"),c(\"throw\"),c(\"return\"),r[Symbol.asyncIterator]=function(){return this},r;function c(t){o[t]&&(r[t]=function(e){return new Promise(function(n,r){a.push([t,e,n,r])>1||u(t,e)})})}function u(t,e){try{(n=o[t](e)).value instanceof h?Promise.resolve(n.value.v).then(i,f):l(a[0][2],n)}catch(t){l(a[0][3],t)}var n}function i(t){u(\"next\",t)}function f(t){u(\"throw\",t)}function l(t,e){t(e),a.shift(),a.length&&u(a[0][0],a[0][1])}},d=function(t){var e,n;return e={},r(\"next\"),r(\"throw\",function(t){throw t}),r(\"return\"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:h(t[r](e)),done:\"return\"===r}:o?o(e):e}:o}},w=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=y(t),e={},r(\"next\"),r(\"throw\"),r(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise(function(r,o){(function(t,e,n,r){Promise.resolve(r).then(function(e){t({value:e,done:n})},e)})(r,o,(e=t[n](e)).done,e.value)})}}},m=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t},O=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e},j=function(t){return t&&t.__esModule?t:{default:t}},t(\"__extends\",r),t(\"__assign\",o),t(\"__rest\",a),t(\"__decorate\",c),t(\"__param\",u),t(\"__metadata\",i),t(\"__awaiter\",f),t(\"__generator\",l),t(\"__exportStar\",s),t(\"__values\",y),t(\"__read\",p),t(\"__spread\",_),t(\"__spreadArrays\",b),t(\"__await\",h),t(\"__asyncGenerator\",v),t(\"__asyncDelegator\",d),t(\"__asyncValues\",w),t(\"__makeTemplateObject\",m),t(\"__importStar\",O),t(\"__importDefault\",j)})},\n",
       "      function _(n,r,t){function e(n,r,t){for(var e=[],o=3;o<arguments.length;o++)e[o-3]=arguments[o];var u=n.length;r<0&&(r+=u),r<0?r=0:r>u&&(r=u),null==t||t>u-r?t=u-r:t<0&&(t=0);for(var i=u-t+e.length,f=new n.constructor(i),a=0;a<r;a++)f[a]=n[a];for(var c=0,l=e;c<l.length;c++){var v=l[c];f[a++]=v}for(var h=r+t;h<u;h++)f[a++]=n[h];return f}function o(n,r){return e(n,r,n.length-r)}function u(n,r,t){var e,o,u=n.length;if(void 0===t&&0==u)throw new Error(\"can't reduce an empty array without an initial value\");for(void 0===t?(e=n[0],o=1):(e=t,o=0);o<u;o++)e=r(e,n[o],o,n);return e}function i(n){return function(r,t){for(var e=r.length,o=n>0?0:e-1;o>=0&&o<e;o+=n)if(t(r[o]))return o;return-1}}t.splice=e,t.head=o,t.insert=function(n,r,t){return e(n,t,0,r)},t.append=function(n,r){return e(n,n.length,0,r)},t.prepend=function(n,r){return e(n,0,0,r)},t.indexOf=function(n,r){for(var t=0,e=n.length;t<e;t++)if(n[t]===r)return t;return-1},t.map=function(n,r){for(var t=n.length,e=new n.constructor(t),o=0;o<t;o++)e[o]=r(n[o],o,n);return e},t.filter=function(n,r){for(var t=n.length,e=new n.constructor(t),u=0,i=0;i<t;i++){var f=n[i];r(f,i,n)&&(e[u++]=f)}return o(e,u)},t.reduce=u,t.min=function(n){for(var r,t=1/0,e=0,o=n.length;e<o;e++)(r=n[e])<t&&(t=r);return t},t.min_by=function(n,r){if(0==n.length)throw new Error(\"min_by() called with an empty array\");for(var t=n[0],e=r(t),o=1,u=n.length;o<u;o++){var i=n[o],f=r(i);f<e&&(t=i,e=f)}return t},t.max=function(n){for(var r,t=-1/0,e=0,o=n.length;e<o;e++)(r=n[e])>t&&(t=r);return t},t.max_by=function(n,r){if(0==n.length)throw new Error(\"max_by() called with an empty array\");for(var t=n[0],e=r(t),o=1,u=n.length;o<u;o++){var i=n[o],f=r(i);f>e&&(t=i,e=f)}return t},t.sum=function(n){for(var r=0,t=0,e=n.length;t<e;t++)r+=n[t];return r},t.cumsum=function(n){var r=new n.constructor(n.length);return u(n,function(n,t,e){return r[e]=n+t},0),r},t.every=function(n,r){for(var t=0,e=n.length;t<e;t++)if(!r(n[t]))return!1;return!0},t.some=function(n,r){for(var t=0,e=n.length;t<e;t++)if(r(n[t]))return!0;return!1},t.index_of=function(n,r){for(var t=0,e=n.length;t<e;t++)if(n[t]===r)return t;return-1},t.find_index=i(1),t.find_last_index=i(-1),t.find=function(n,r){var e=t.find_index(n,r);return-1==e?void 0:n[e]},t.find_last=function(n,r){var e=t.find_last_index(n,r);return-1==e?void 0:n[e]},t.sorted_index=function(n,r){for(var t=0,e=n.length;t<e;){var o=Math.floor((t+e)/2);n[o]<r?t=o+1:e=o}return t}},\n",
       "      function _(e,t,r){var i=e(113),n=e(116),o=e(120),s=e(126),a=e(121),f=e(127),p=e(110),u=e(125),c=e(109),_=e(118),l=function(e){function t(t){void 0===t&&(t={});var r=e.call(this)||this;for(var i in r._subtype=void 0,r.document=null,r.destroyed=new n.Signal0(r,\"destroyed\"),r.change=new n.Signal0(r,\"change\"),r.transformchange=new n.Signal0(r,\"transformchange\"),r.attributes={},r.properties={},r._set_after_defaults={},r._pending=!1,r._changing=!1,r.props){var o=r.props[i],s=o.type,a=o.default_value;if(null==s)throw new Error(\"undefined property type for \"+r.type+\".\"+i);r.properties[i]=new s(r,i,a)}null==t.id&&r.setv({id:f.uniqueId()},{silent:!0});var p=t.__deferred__||!1;return p&&delete(t=u.clone(t)).__deferred__,r.setv(t,{silent:!0}),p||r.finalize(),r}return i.__extends(t,e),Object.defineProperty(t.prototype,\"type\",{get:function(){return this.constructor.__qualified__},set:function(e){console.warn(\"prototype.type = 'ModelName' is deprecated, use static __name__ instead\"),this.constructor.__name__=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,\"__qualified__\",{get:function(){var e=this.__module__,t=this.__name__;return null!=e?e+\".\"+t:t},enumerable:!0,configurable:!0}),t.init_HasProps=function(){this.prototype.props={},this.prototype.mixins=[],this.define({id:[a.Any]})},t._fix_default=function(e,t){return void 0===e?void 0:c.isFunction(e)?e:c.isObject(e)?c.isArray(e)?function(){return p.copy(e)}:function(){return u.clone(e)}:function(){return e}},t.define=function(e){var t=function(t){var i=e[t];if(null!=r.prototype.props[t])throw new Error(\"attempted to redefine property '\"+r.prototype.type+\".\"+t+\"'\");if(null!=r.prototype[t])throw new Error(\"attempted to redefine attribute '\"+r.prototype.type+\".\"+t+\"'\");Object.defineProperty(r.prototype,t,{get:function(){return this.getv(t)},set:function(e){var r;return this.setv(((r={})[t]=e,r)),this},configurable:!1,enumerable:!0});var n=i[0],o=i[1],s=i[2],a={type:n,default_value:r._fix_default(o,t),internal:s||!1},f=u.clone(r.prototype.props);f[t]=a,r.prototype.props=f},r=this;for(var i in e)t(i)},t.internal=function(e){var t={};for(var r in e){var i=e[r],n=i[0],o=i[1];t[r]=[n,o,!0]}this.define(t)},t.mixin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.define(o.create(e));var r=this.prototype.mixins.concat(e);this.prototype.mixins=r},t.mixins=function(e){this.mixin.apply(this,e)},t.override=function(e){for(var t in e){var r=this._fix_default(e[t],t),i=this.prototype.props[t];if(null==i)throw new Error(\"attempted to override nonexistent '\"+this.prototype.type+\".\"+t+\"'\");var n=u.clone(this.prototype.props);n[t]=Object.assign(Object.assign({},i),{default_value:r}),this.prototype.props=n}},t.prototype.toString=function(){return this.type+\"(\"+this.id+\")\"},t.prototype.finalize=function(){var e=this;for(var t in this.properties){var r=this.properties[t];r.update(),null!=r.spec.transform&&this.connect(r.spec.transform.change,function(){return e.transformchange.emit()})}this.initialize(),this.connect_signals()},t.prototype.initialize=function(){},t.prototype.connect_signals=function(){},t.prototype.disconnect_signals=function(){n.Signal.disconnectReceiver(this)},t.prototype.destroy=function(){this.disconnect_signals(),this.destroyed.emit()},t.prototype.clone=function(){return new this.constructor(this.attributes)},t.prototype._setv=function(e,t){var r=t.check_eq,i=t.silent,n=[],o=this._changing;this._changing=!0;var s=this.attributes;for(var a in e){var f=e[a];!1!==r&&_.isEqual(s[a],f)||n.push(a),s[a]=f}if(!i){n.length>0&&(this._pending=!0);for(var p=0;p<n.length;p++)this.properties[n[p]].change.emit()}if(!o){if(!i&&!t.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}},t.prototype.setv=function(e,t){for(var r in void 0===t&&(t={}),e)if(e.hasOwnProperty(r)){var i=r;if(null==this.props[i])throw new Error(\"property \"+this.type+\".\"+i+\" wasn't declared\");null!=t&&t.defaults||(this._set_after_defaults[r]=!0)}if(!u.isEmpty(e)){var n={};for(var r in e)n[r]=this.getv(r);this._setv(e,t);var o=t.silent;if(null==o||!o)for(var r in e)this._tell_document_about_change(r,n[r],this.getv(r),t)}},t.prototype.getv=function(e){if(null==this.props[e])throw new Error(\"property \"+this.type+\".\"+e+\" wasn't declared\");return this.attributes[e]},t.prototype.ref=function(){return s.create_ref(this)},t.prototype.set_subtype=function(e){this._subtype=e},t.prototype.attribute_is_serializable=function(e){var t=this.props[e];if(null==t)throw new Error(this.type+\".attribute_is_serializable('\"+e+\"'): \"+e+\" wasn't declared\");return!t.internal},t.prototype.serializable_attributes=function(){var e={};for(var t in this.attributes){var r=this.attributes[t];this.attribute_is_serializable(t)&&(e[t]=r)}return e},t._value_to_json=function(e,r,i){if(r instanceof t)return r.ref();if(c.isArray(r)){for(var n=[],o=0;o<r.length;o++){var s=r[o];n.push(t._value_to_json(o.toString(),s,r))}return n}if(c.isPlainObject(r)){var a={};for(var f in r)r.hasOwnProperty(f)&&(a[f]=t._value_to_json(f,r[f],r));return a}return r},t.prototype.attributes_as_json=function(e,r){void 0===e&&(e=!0),void 0===r&&(r=t._value_to_json);var i=this.serializable_attributes(),n={};for(var o in i)if(i.hasOwnProperty(o)){var s=i[o];e?n[o]=s:o in this._set_after_defaults&&(n[o]=s)}return r(\"attributes\",n,this)},t._json_record_references=function(e,r,i,n){if(null==r);else if(s.is_ref(r)){if(!(r.id in i)){var o=e.get_model_by_id(r.id);t._value_record_references(o,i,n)}}else if(c.isArray(r))for(var a=0,f=r;a<f.length;a++){var p=f[a];t._json_record_references(e,p,i,n)}else if(c.isPlainObject(r))for(var u in r)if(r.hasOwnProperty(u)){p=r[u];t._json_record_references(e,p,i,n)}},t._value_record_references=function(e,r,i){if(null==e);else if(e instanceof t){if(!(e.id in r)&&(r[e.id]=e,i))for(var n=0,o=e._immediate_references();n<o.length;n++){var s=o[n];t._value_record_references(s,r,!0)}}else if(e.buffer instanceof ArrayBuffer);else if(c.isArray(e))for(var a=0,f=e;a<f.length;a++){var p=f[a];t._value_record_references(p,r,i)}else if(c.isPlainObject(e))for(var u in e)if(e.hasOwnProperty(u)){p=e[u];t._value_record_references(p,r,i)}},t.prototype._immediate_references=function(){var e={},r=this.serializable_attributes();for(var i in r){var n=r[i];t._value_record_references(n,e,!1)}return u.values(e)},t.prototype.references=function(){var e={};return t._value_record_references(this,e,!0),u.values(e)},t.prototype._doc_attached=function(){},t.prototype.attach_document=function(e){if(null!=this.document&&this.document!=e)throw new Error(\"models must be owned by only a single document\");this.document=e,this._doc_attached()},t.prototype.detach_document=function(){this.document=null},t.prototype._tell_document_about_change=function(e,r,i,n){if(this.attribute_is_serializable(e)&&null!=this.document){var o={};t._value_record_references(i,o,!1);var s={};t._value_record_references(r,s,!1);var a=!1;for(var f in o)if(!(f in s)){a=!0;break}if(!a)for(var p in s)if(!(p in o)){a=!0;break}a&&this.document._invalidate_all_models(),this.document._notify_change(this,e,r,i,n)}},t.prototype.materialize_dataspecs=function(e){var t={};for(var r in this.properties){var i=this.properties[r];if(i instanceof a.VectorSpec&&(!i.optional||null!=i.spec.value||r in this._set_after_defaults)){var n=i.array(e);t[\"_\"+r]=n,null!=i.spec.field&&i.spec.field in e._shapes&&(t[\"_\"+r+\"_shape\"]=e._shapes[i.spec.field]),i instanceof a.DistanceSpec&&(t[\"max_\"+r]=p.max(n))}}return t},t}(n.Signalable());r.HasProps=l,l.init_HasProps()},\n",
       "      function _(n,t,e){var i=n(113),r=n(117),l=n(119),o=n(110),u=function(){function n(n,t){this.sender=n,this.name=t}return n.prototype.connect=function(n,t){void 0===t&&(t=null),a.has(this.sender)||a.set(this.sender,[]);var e=a.get(this.sender);if(null!=f(e,this,n,t))return!1;var i=t||n;s.has(i)||s.set(i,[]);var r=s.get(i),l={signal:this,slot:n,context:t};return e.push(l),r.push(l),!0},n.prototype.disconnect=function(n,t){void 0===t&&(t=null);var e=a.get(this.sender);if(null==e||0===e.length)return!1;var i=f(e,this,n,t);if(null==i)return!1;var r=t||n,l=s.get(r);return i.signal=null,h(e),h(l),!0},n.prototype.emit=function(n){for(var t=0,e=a.get(this.sender)||[];t<e.length;t++){var i=e[t],r=i.signal,l=i.slot,o=i.context;r===this&&l.call(o,n,this.sender)}},n}();e.Signal=u,u.__name__=\"Signal\";var c=function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return i.__extends(t,n),t.prototype.emit=function(){n.prototype.emit.call(this,void 0)},t}(u);e.Signal0=c,c.__name__=\"Signal0\",function(n){n.disconnectBetween=function(n,t){var e=a.get(n);if(null!=e&&0!==e.length){var i=s.get(t);if(null!=i&&0!==i.length){for(var r=0,l=i;r<l.length;r++){var o=l[r];if(null==o.signal)return;o.signal.sender===n&&(o.signal=null)}h(e),h(i)}}},n.disconnectSender=function(n){var t=a.get(n);if(null!=t&&0!==t.length){for(var e=0,i=t;e<i.length;e++){var r=i[e];if(null==r.signal)return;var l=r.context||r.slot;r.signal=null,h(s.get(l))}h(t)}},n.disconnectReceiver=function(n){var t=s.get(n);if(null!=t&&0!==t.length){for(var e=0,i=t;e<i.length;e++){var r=i[e];if(null==r.signal)return;var l=r.signal.sender;r.signal=null,h(a.get(l))}h(t)}},n.disconnectAll=function(n){var t=a.get(n);if(null!=t&&0!==t.length){for(var e=0,i=t;e<i.length;e++)i[e].signal=null;h(t)}var r=s.get(n);if(null!=r&&0!==r.length){for(var l=0,o=r;l<o.length;l++)o[l].signal=null;h(r)}}}(u=e.Signal||(e.Signal={})),e.Signalable=function(n){return null!=n?function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return i.__extends(t,n),t.prototype.connect=function(n,t){return n.connect(t,this)},t.prototype.disconnect=function(n,t){return n.disconnect(t,this)},t}(n):function(){function n(){}return n.prototype.connect=function(n,t){return n.connect(t,this)},n.prototype.disconnect=function(n,t){return n.disconnect(t,this)},n}()},function(n){n.connect=function(n,t){return n.connect(t,this)},n.disconnect=function(n,t){return n.disconnect(t,this)}}(e._Signalable||(e._Signalable={}));var a=new WeakMap,s=new WeakMap;function f(n,t,e,i){return o.find(n,function(n){return n.signal===t&&n.slot===e&&n.context===i})}var g=new r.Set;function h(n){0===g.size&&l.defer(v),g.add(n)}function v(){g.forEach(function(n){o.remove_by(n,function(n){return null==n.signal})}),g.clear()}},\n",
       "      function _(t,n,e){var r=t(110),i=t(118),o=t(109),s=function(){function t(){this._dict={}}return t.prototype._existing=function(t){return t in this._dict?this._dict[t]:null},t.prototype.add_value=function(t,n){var e=this._existing(t);null==e?this._dict[t]=n:o.isArray(e)?e.push(n):this._dict[t]=[e,n]},t.prototype.remove_value=function(t,n){var e=this._existing(t);if(o.isArray(e)){var s=r.difference(e,[n]);s.length>0?this._dict[t]=s:delete this._dict[t]}else i.isEqual(e,n)&&delete this._dict[t]},t.prototype.get_one=function(t,n){var e=this._existing(t);if(o.isArray(e)){if(1===e.length)return e[0];throw new Error(n)}return e},t}();e.MultiDict=s,s.__name__=\"MultiDict\";var a=function(){function t(n){if(null==n)this._values=[];else if(n instanceof t)this._values=r.copy(n._values);else{this._values=[];for(var e=0,i=n;e<i.length;e++){var o=i[e];this.add(o)}}}return Object.defineProperty(t.prototype,\"values\",{get:function(){return r.copy(this._values).sort()},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return\"Set([\"+this.values.join(\",\")+\"])\"},Object.defineProperty(t.prototype,\"size\",{get:function(){return this._values.length},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return-1!==this._values.indexOf(t)},t.prototype.add=function(t){this.has(t)||this._values.push(t)},t.prototype.remove=function(t){var n=this._values.indexOf(t);-1!==n&&this._values.splice(n,1)},t.prototype.toggle=function(t){var n=this._values.indexOf(t);-1===n?this._values.push(t):this._values.splice(n,1)},t.prototype.clear=function(){this._values=[]},t.prototype.union=function(n){return n=new t(n),new t(this._values.concat(n._values))},t.prototype.intersect=function(n){n=new t(n);for(var e=new t,r=0,i=n._values;r<i.length;r++){var o=i[r];this.has(o)&&n.has(o)&&e.add(o)}return e},t.prototype.diff=function(n){n=new t(n);for(var e=new t,r=0,i=this._values;r<i.length;r++){var o=i[r];n.has(o)||e.add(o)}return e},t.prototype.forEach=function(t,n){for(var e=0,r=this._values;e<r.length;e++){var i=r[e];t.call(n||this,i,i,this)}},t}();e.Set=a,a.__name__=\"Set\";var u=function(){function t(t,n,e){this.nrows=t,this.ncols=n,this._matrix=new Array(t);for(var r=0;r<t;r++){this._matrix[r]=new Array(n);for(var i=0;i<n;i++)this._matrix[r][i]=e(r,i)}}return t.prototype.at=function(t,n){return this._matrix[t][n]},t.prototype.map=function(n){var e=this;return new t(this.nrows,this.ncols,function(t,r){return n(e.at(t,r),t,r)})},t.prototype.apply=function(n){var e=this,r=t.from(n),i=this.nrows,o=this.ncols;if(i==r.nrows&&o==r.ncols)return new t(i,o,function(t,n){return r.at(t,n)(e.at(t,n),t,n)});throw new Error(\"dimensions don't match\")},t.prototype.to_sparse=function(){for(var t=[],n=0;n<this.nrows;n++)for(var e=0;e<this.ncols;e++){var r=this._matrix[n][e];t.push([r,n,e])}return t},t.from=function(n){return n instanceof t?n:new t(n.length,r.min(n.map(function(t){return t.length})),function(t,e){return n[t][e]})},t}();e.Matrix=u,u.__name__=\"Matrix\"},\n",
       "      function _(t,r,e){var n=t(109),o=Object.prototype.toString;e.isEqual=function(t,r){return function t(r,e,c,u){if(r===e)return 0!==r||1/r==1/e;if(null==r||null==e)return r===e;var i=o.call(r);if(i!==o.call(e))return!1;switch(i){case\"[object RegExp]\":case\"[object String]\":return\"\"+r==\"\"+e;case\"[object Number]\":return+r!=+r?+e!=+e:0==+r?1/+r==1/e:+r==+e;case\"[object Date]\":case\"[object Boolean]\":return+r==+e}var f=\"[object Array]\"===i;if(!f){if(\"object\"!=typeof r||\"object\"!=typeof e)return!1;var s=r.constructor,a=e.constructor;if(s!==a&&!(n.isFunction(s)&&s instanceof s&&n.isFunction(a)&&a instanceof a)&&\"constructor\"in r&&\"constructor\"in e)return!1}u=u||[];for(var l=(c=c||[]).length;l--;)if(c[l]===r)return u[l]===e;if(c.push(r),u.push(e),f){if((l=r.length)!==e.length)return!1;for(;l--;)if(!t(r[l],e[l],c,u))return!1}else{var b=Object.keys(r),p=void 0;if(l=b.length,Object.keys(e).length!==l)return!1;for(;l--;)if(p=b[l],!e.hasOwnProperty(p)||!t(r[p],e[p],c,u))return!1}return c.pop(),u.pop(),!0}(t,r)}},\n",
       "      function _(n,t,e){e.delay=function(n,t){return setTimeout(n,t)};var r=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;e.defer=function(n){return r(n)},e.throttle=function(n,t,e){var r,u,i;void 0===e&&(e={});var a=null,o=0,l=function(){o=!1===e.leading?0:Date.now(),a=null,i=n.apply(r,u),a||(r=u=null)};return function(){var c=Date.now();o||!1!==e.leading||(o=c);var f=t-(c-o);return r=this,u=arguments,f<=0||f>t?(a&&(clearTimeout(a),a=null),o=c,i=n.apply(r,u),a||(r=u=null)):a||!1===e.trailing||(a=setTimeout(l,f)),i}},e.once=function(n){var t,e=!1;return function(){return e||(e=!0,t=n()),t}}},\n",
       "      function _(e,t,n){var r=e(121),a=e(125);function l(e,t){var n={};for(var r in e){var a=e[r];n[t+r]=a}return n}var i={line_color:[r.ColorSpec,\"black\"],line_width:[r.NumberSpec,1],line_alpha:[r.NumberSpec,1],line_join:[r.LineJoin,\"bevel\"],line_cap:[r.LineCap,\"butt\"],line_dash:[r.Array,[]],line_dash_offset:[r.Number,0]};n.line=function(e){return void 0===e&&(e=\"\"),l(i,e)};var o={fill_color:[r.ColorSpec,\"gray\"],fill_alpha:[r.NumberSpec,1]};n.fill=function(e){return void 0===e&&(e=\"\"),l(o,e)};var c={hatch_color:[r.ColorSpec,\"black\"],hatch_alpha:[r.NumberSpec,1],hatch_scale:[r.NumberSpec,12],hatch_pattern:[r.StringSpec,null],hatch_weight:[r.NumberSpec,1],hatch_extra:[r.Any,{}]};n.hatch=function(e){return void 0===e&&(e=\"\"),l(c,e)};var h={text_font:[r.Font,\"helvetica\"],text_font_size:[r.FontSizeSpec,\"12pt\"],text_font_style:[r.FontStyle,\"normal\"],text_color:[r.ColorSpec,\"#444444\"],text_alpha:[r.NumberSpec,1],text_align:[r.TextAlign,\"left\"],text_baseline:[r.TextBaseline,\"bottom\"],text_line_height:[r.Number,1.2]};n.text=function(e){return void 0===e&&(e=\"\"),l(h,e)},n.create=function(e){for(var t={},r=0,l=e;r<l.length;r++){var i=l[r].split(\":\"),o=i[0],c=i[1],h=void 0;switch(o){case\"line\":h=n.line;break;case\"fill\":h=n.fill;break;case\"hatch\":h=n.hatch;break;case\"text\":h=n.text;break;default:throw new Error(\"Unknown property mixin kind '\"+o+\"'\")}a.extend(t,h(c))}return t}},\n",
       "      function _(t,n,e){var i=t(113),r=t(116),o=t(122),u=t(110),a=t(114),l=t(123),s=t(109);function c(t){try{return JSON.stringify(t)}catch(n){return t.toString()}}function p(t){return s.isPlainObject(t)&&(void 0===t.value?0:1)+(void 0===t.field?0:1)+(void 0===t.expr?0:1)==1}r.Signal,e.isSpec=p;var _=function(t){function n(n,e,i){var o=t.call(this)||this;return o.obj=n,o.attr=e,o.default_value=i,o.optional=!1,o.change=new r.Signal0(o.obj,\"change\"),o._init(),o.connect(o.change,function(){return o._init()}),o}return i.__extends(n,t),n.prototype.update=function(){this._init()},n.prototype.init=function(){},n.prototype.transform=function(t){return t},n.prototype.validate=function(t){if(!this.valid(t))throw new Error(this.obj.type+\".\"+this.attr+\" given invalid value: \"+c(t))},n.prototype.valid=function(t){return!0},n.prototype.value=function(t){if(void 0===t&&(t=!0),void 0===this.spec.value)throw new Error(\"attempted to retrieve property value for property without value specification\");var n=this.transform([this.spec.value])[0];return null!=this.spec.transform&&t&&(n=this.spec.transform.compute(n)),n},n.prototype._init=function(){var t,n=this.obj,e=this.attr,i=n.getv(e);if(void 0===i){var r=this.default_value;i=void 0!==r?r(n):null,n.setv(((t={})[e]=i,t),{silent:!0,defaults:!0})}s.isArray(i)?this.spec={value:i}:p(i)?this.spec=i:this.spec={value:i},null!=this.spec.value&&this.validate(this.spec.value),this.init()},n.prototype.toString=function(){return\"Prop(\"+this.obj+\".\"+this.attr+\", spec: \"+c(this.spec)+\")\"},n}(r.Signalable());e.Property=_,_.__name__=\"Property\";var f=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(_);e.Any=f,f.__name__=\"Any\";var h=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isArray(t)||t instanceof Float64Array},n}(_);e.Array=h,h.__name__=\"Array\";var d=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isBoolean(t)},n}(_);e.Boolean=d,d.__name__=\"Boolean\";var y=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isString(t)&&l.is_color(t)},n}(_);e.Color=y,y.__name__=\"Color\";var v=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(_);e.Instance=v,v.__name__=\"Instance\";var m=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isNumber(t)},n}(_);e.Number=m,m.__name__=\"Number\";var S=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isNumber(t)&&(0|t)==t},n}(m);e.Int=S,S.__name__=\"Int\";var g=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(m);e.Angle=g,g.__name__=\"Angle\";var x=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isNumber(t)&&0<=t&&t<=1},n}(m);e.Percent=x,x.__name__=\"Percent\";var b=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isString(t)},n}(_);e.String=b,b.__name__=\"String\";var P=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(b);e.FontSize=P,P.__name__=\"FontSize\";var L=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(b);e.Font=L,L.__name__=\"Font\";var T=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.valid=function(t){return s.isString(t)&&u.includes(this.enum_values,t)},n}(_);function A(t){return function(n){function e(){return null!==n&&n.apply(this,arguments)||this}return i.__extends(e,n),Object.defineProperty(e.prototype,\"enum_values\",{get:function(){return t},enumerable:!0,configurable:!0}),e}(T)}e.EnumProperty=T,T.__name__=\"EnumProperty\",e.Enum=A;var O=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),Object.defineProperty(n.prototype,\"enum_values\",{get:function(){return o.Direction},enumerable:!0,configurable:!0}),n.prototype.transform=function(t){for(var n=new Uint8Array(t.length),e=0;e<t.length;e++)switch(t[e]){case\"clock\":n[e]=0;break;case\"anticlock\":n[e]=1}return n},n}(T);e.Direction=O,O.__name__=\"Direction\",e.Anchor=A(o.Anchor),e.AngleUnits=A(o.AngleUnits),e.BoxOrigin=A(o.BoxOrigin),e.ButtonType=A(o.ButtonType),e.Dimension=A(o.Dimension),e.Dimensions=A(o.Dimensions),e.Distribution=A(o.Distribution),e.FontStyle=A(o.FontStyle),e.HatchPatternType=A(o.HatchPatternType),e.HTTPMethod=A(o.HTTPMethod),e.HexTileOrientation=A(o.HexTileOrientation),e.HoverMode=A(o.HoverMode),e.LatLon=A(o.LatLon),e.LegendClickPolicy=A(o.LegendClickPolicy),e.LegendLocation=A(o.LegendLocation),e.LineCap=A(o.LineCap),e.LineJoin=A(o.LineJoin),e.LinePolicy=A(o.LinePolicy),e.Location=A(o.Location),e.Logo=A(o.Logo),e.MarkerType=A(o.MarkerType),e.Orientation=A(o.Orientation),e.OutputBackend=A(o.OutputBackend),e.PaddingUnits=A(o.PaddingUnits),e.Place=A(o.Place),e.PointPolicy=A(o.PointPolicy),e.RadiusDimension=A(o.RadiusDimension),e.RenderLevel=A(o.RenderLevel),e.RenderMode=A(o.RenderMode),e.ResetPolicy=A(o.ResetPolicy),e.RoundingFunction=A(o.RoundingFunction),e.Side=A(o.Side),e.SizingMode=A(o.SizingMode),e.SliderCallbackPolicy=A(o.SliderCallbackPolicy),e.Sort=A(o.Sort),e.SpatialUnits=A(o.SpatialUnits),e.StartEnd=A(o.StartEnd),e.StepMode=A(o.StepMode),e.TapBehavior=A(o.TapBehavior),e.TextAlign=A(o.TextAlign),e.TextBaseline=A(o.TextBaseline),e.TextureRepetition=A(o.TextureRepetition),e.TickLabelOrientation=A(o.TickLabelOrientation),e.TooltipAttachment=A(o.TooltipAttachment),e.UpdateMode=A(o.UpdateMode),e.VerticalAlign=A(o.VerticalAlign);var M=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(_);e.ScalarSpec=M,M.__name__=\"ScalarSpec\";var k=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.array=function(t){var n;if(null!=this.spec.field){if(null==(n=this.transform(t.get_column(this.spec.field))))throw new Error(\"attempted to retrieve property array for nonexistent field '\"+this.spec.field+\"'\")}else if(null!=this.spec.expr)n=this.transform(this.spec.expr.v_compute(t));else{var e=t.get_length();null==e&&(e=1);var i=this.value(!1);n=u.repeat(i,e)}return null!=this.spec.transform&&(n=this.spec.transform.v_compute(n)),n},n}(_);e.VectorSpec=k,k.__name__=\"VectorSpec\";var B=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(k);e.DataSpec=B,B.__name__=\"DataSpec\";var D=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n.prototype.init=function(){null==this.spec.units&&(this.spec.units=this.default_units);var t=this.spec.units;if(!u.includes(this.valid_units,t))throw new Error(\"units must be one of \"+this.valid_units.join(\", \")+\"; got: \"+t)},Object.defineProperty(n.prototype,\"units\",{get:function(){return this.spec.units},set:function(t){this.spec.units=t},enumerable:!0,configurable:!0}),n}(k);e.UnitsSpec=D,D.__name__=\"UnitsSpec\";var j=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),Object.defineProperty(n.prototype,\"default_units\",{get:function(){return\"rad\"},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"valid_units\",{get:function(){return o.AngleUnits},enumerable:!0,configurable:!0}),n.prototype.transform=function(n){return\"deg\"==this.spec.units&&(n=a.map(n,function(t){return t*Math.PI/180})),n=a.map(n,function(t){return-t}),t.prototype.transform.call(this,n)},n}(D);e.AngleSpec=j,j.__name__=\"AngleSpec\";var C=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.BooleanSpec=C,C.__name__=\"BooleanSpec\";var U=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.ColorSpec=U,U.__name__=\"ColorSpec\";var w=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.CoordinateSpec=w,w.__name__=\"CoordinateSpec\";var R=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.CoordinateSeqSpec=R,R.__name__=\"CoordinateSeqSpec\";var F=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),Object.defineProperty(n.prototype,\"default_units\",{get:function(){return\"data\"},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"valid_units\",{get:function(){return o.SpatialUnits},enumerable:!0,configurable:!0}),n}(D);e.DistanceSpec=F,F.__name__=\"DistanceSpec\";var N=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.FontSizeSpec=N,N.__name__=\"FontSizeSpec\";var E=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.MarkerSpec=E,E.__name__=\"MarkerSpec\";var H=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.NumberSpec=H,H.__name__=\"NumberSpec\";var z=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.StringSpec=z,z.__name__=\"StringSpec\";var I=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(n,t),n}(B);e.NullStringSpec=I,I.__name__=\"NullStringSpec\"},\n",
       "      function _(e,t,n){n.Align=[\"start\",\"center\",\"end\"],n.Anchor=[\"top_left\",\"top_center\",\"top_right\",\"center_left\",\"center\",\"center_right\",\"bottom_left\",\"bottom_center\",\"bottom_right\"],n.AngleUnits=[\"deg\",\"rad\"],n.BoxOrigin=[\"corner\",\"center\"],n.ButtonType=[\"default\",\"primary\",\"success\",\"warning\",\"danger\"],n.Dimension=[\"width\",\"height\"],n.Dimensions=[\"width\",\"height\",\"both\"],n.Direction=[\"clock\",\"anticlock\"],n.Distribution=[\"uniform\",\"normal\"],n.FontStyle=[\"normal\",\"italic\",\"bold\",\"bold italic\"],n.HatchPatternType=[\"blank\",\"dot\",\"ring\",\"horizontal_line\",\"vertical_line\",\"cross\",\"horizontal_dash\",\"vertical_dash\",\"spiral\",\"right_diagonal_line\",\"left_diagonal_line\",\"diagonal_cross\",\"right_diagonal_dash\",\"left_diagonal_dash\",\"horizontal_wave\",\"vertical_wave\",\"criss_cross\",\" \",\".\",\"o\",\"-\",\"|\",\"+\",'\"',\":\",\"@\",\"/\",\"\\\\\",\"x\",\",\",\"`\",\"v\",\">\",\"*\"],n.HTTPMethod=[\"POST\",\"GET\"],n.HexTileOrientation=[\"pointytop\",\"flattop\"],n.HoverMode=[\"mouse\",\"hline\",\"vline\"],n.LatLon=[\"lat\",\"lon\"],n.LegendClickPolicy=[\"none\",\"hide\",\"mute\"],n.LegendLocation=n.Anchor,n.LineCap=[\"butt\",\"round\",\"square\"],n.LineJoin=[\"miter\",\"round\",\"bevel\"],n.LinePolicy=[\"prev\",\"next\",\"nearest\",\"interp\",\"none\"],n.Location=[\"above\",\"below\",\"left\",\"right\"],n.Logo=[\"normal\",\"grey\"],n.MarkerType=[\"asterisk\",\"circle\",\"circle_cross\",\"circle_x\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"hex\",\"inverted_triangle\",\"square\",\"square_cross\",\"square_x\",\"triangle\",\"x\"],n.Orientation=[\"vertical\",\"horizontal\"],n.OutputBackend=[\"canvas\",\"svg\",\"webgl\"],n.PaddingUnits=[\"percent\",\"absolute\"],n.Place=[\"above\",\"below\",\"left\",\"right\",\"center\"],n.PointPolicy=[\"snap_to_data\",\"follow_mouse\",\"none\"],n.RadiusDimension=[\"x\",\"y\",\"max\",\"min\"],n.RenderLevel=[\"image\",\"underlay\",\"glyph\",\"annotation\",\"overlay\"],n.RenderMode=[\"canvas\",\"css\"],n.ResetPolicy=[\"standard\",\"event_only\"],n.RoundingFunction=[\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"],n.Side=[\"above\",\"below\",\"left\",\"right\"],n.SizingMode=[\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"],n.SliderCallbackPolicy=[\"continuous\",\"throttle\",\"mouseup\"],n.Sort=[\"ascending\",\"descending\"],n.SpatialUnits=[\"screen\",\"data\"],n.StartEnd=[\"start\",\"end\"],n.StepMode=[\"after\",\"before\",\"center\"],n.TapBehavior=[\"select\",\"inspect\"],n.TextAlign=[\"left\",\"right\",\"center\"],n.TextBaseline=[\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"],n.TextureRepetition=[\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"],n.TickLabelOrientation=[\"vertical\",\"horizontal\",\"parallel\",\"normal\"],n.TooltipAttachment=[\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"],n.UpdateMode=[\"replace\",\"append\"],n.VerticalAlign=[\"top\",\"middle\",\"bottom\"]},\n",
       "      function _(r,e,t){var n=r(124),a=r(110);function o(r){var e=Number(r).toString(16);return 1==e.length?\"0\"+e:e}function l(r){if(0==(r+=\"\").indexOf(\"#\"))return r;if(n.is_svg_color(r))return n.svg_colors[r];if(0==r.indexOf(\"rgb\")){var e=r.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\"),t=e.slice(0,3).map(o).join(\"\");return 4==e.length&&(t+=o(Math.floor(255*parseFloat(e[3])))),\"#\"+t.slice(0,8)}return r}function i(r){var e;switch(r.substring(0,4)){case\"rgba\":e={start:\"rgba(\",len:4,alpha:!0};break;case\"rgb(\":e={start:\"rgb(\",len:3,alpha:!1};break;default:return!1}if(new RegExp(\".*?(\\\\.).*(,)\").test(r))throw new Error(\"color expects integers for rgb in rgb/rgba tuple, received \"+r);var t=r.replace(e.start,\"\").replace(\")\",\"\").split(\",\").map(parseFloat);if(t.length!=e.len)throw new Error(\"color expects rgba \"+e.len+\"-tuple, received \"+r);if(e.alpha&&!(0<=t[3]&&t[3]<=1))throw new Error(\"color expects rgba 4-tuple to have alpha value between 0 and 1\");if(a.includes(t.slice(0,3).map(function(r){return 0<=r&&r<=255}),!1))throw new Error(\"color expects rgb to have value between 0 and 255\");return!0}t.is_color=function(r){return n.is_svg_color(r.toLowerCase())||\"#\"==r.substring(0,1)||i(r)},t.rgb2hex=function(r,e,t){return\"#\"+o(255&r)+o(255&e)+o(255&t)},t.color2hex=l,t.color2rgba=function(r,e){if(void 0===e&&(e=1),!r)return[0,0,0,0];var t=l(r);(t=t.replace(/ |#/g,\"\")).length<=4&&(t=t.replace(/(.)/g,\"$1$1\"));for(var n=t.match(/../g).map(function(r){return parseInt(r,16)/255});n.length<3;)n.push(0);return n.length<4&&n.push(e),n.slice(0,4)},t.valid_rgb=i},\n",
       "      function _(F,e,r){r.svg_colors={indianred:\"#CD5C5C\",lightcoral:\"#F08080\",salmon:\"#FA8072\",darksalmon:\"#E9967A\",lightsalmon:\"#FFA07A\",crimson:\"#DC143C\",red:\"#FF0000\",firebrick:\"#B22222\",darkred:\"#8B0000\",pink:\"#FFC0CB\",lightpink:\"#FFB6C1\",hotpink:\"#FF69B4\",deeppink:\"#FF1493\",mediumvioletred:\"#C71585\",palevioletred:\"#DB7093\",coral:\"#FF7F50\",tomato:\"#FF6347\",orangered:\"#FF4500\",darkorange:\"#FF8C00\",orange:\"#FFA500\",gold:\"#FFD700\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",lemonchiffon:\"#FFFACD\",lightgoldenrodyellow:\"#FAFAD2\",papayawhip:\"#FFEFD5\",moccasin:\"#FFE4B5\",peachpuff:\"#FFDAB9\",palegoldenrod:\"#EEE8AA\",khaki:\"#F0E68C\",darkkhaki:\"#BDB76B\",lavender:\"#E6E6FA\",thistle:\"#D8BFD8\",plum:\"#DDA0DD\",violet:\"#EE82EE\",orchid:\"#DA70D6\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",blueviolet:\"#8A2BE2\",darkviolet:\"#9400D3\",darkorchid:\"#9932CC\",darkmagenta:\"#8B008B\",purple:\"#800080\",indigo:\"#4B0082\",slateblue:\"#6A5ACD\",darkslateblue:\"#483D8B\",mediumslateblue:\"#7B68EE\",greenyellow:\"#ADFF2F\",chartreuse:\"#7FFF00\",lawngreen:\"#7CFC00\",lime:\"#00FF00\",limegreen:\"#32CD32\",palegreen:\"#98FB98\",lightgreen:\"#90EE90\",mediumspringgreen:\"#00FA9A\",springgreen:\"#00FF7F\",mediumseagreen:\"#3CB371\",seagreen:\"#2E8B57\",forestgreen:\"#228B22\",green:\"#008000\",darkgreen:\"#006400\",yellowgreen:\"#9ACD32\",olivedrab:\"#6B8E23\",olive:\"#808000\",darkolivegreen:\"#556B2F\",mediumaquamarine:\"#66CDAA\",darkseagreen:\"#8FBC8F\",lightseagreen:\"#20B2AA\",darkcyan:\"#008B8B\",teal:\"#008080\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",lightcyan:\"#E0FFFF\",paleturquoise:\"#AFEEEE\",aquamarine:\"#7FFFD4\",turquoise:\"#40E0D0\",mediumturquoise:\"#48D1CC\",darkturquoise:\"#00CED1\",cadetblue:\"#5F9EA0\",steelblue:\"#4682B4\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",lightblue:\"#ADD8E6\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",deepskyblue:\"#00BFFF\",dodgerblue:\"#1E90FF\",cornflowerblue:\"#6495ED\",royalblue:\"#4169E1\",blue:\"#0000FF\",mediumblue:\"#0000CD\",darkblue:\"#00008B\",navy:\"#000080\",midnightblue:\"#191970\",cornsilk:\"#FFF8DC\",blanchedalmond:\"#FFEBCD\",bisque:\"#FFE4C4\",navajowhite:\"#FFDEAD\",wheat:\"#F5DEB3\",burlywood:\"#DEB887\",tan:\"#D2B48C\",rosybrown:\"#BC8F8F\",sandybrown:\"#F4A460\",goldenrod:\"#DAA520\",darkgoldenrod:\"#B8860B\",peru:\"#CD853F\",chocolate:\"#D2691E\",saddlebrown:\"#8B4513\",sienna:\"#A0522D\",brown:\"#A52A2A\",maroon:\"#800000\",white:\"#FFFFFF\",snow:\"#FFFAFA\",honeydew:\"#F0FFF0\",mintcream:\"#F5FFFA\",azure:\"#F0FFFF\",aliceblue:\"#F0F8FF\",ghostwhite:\"#F8F8FF\",whitesmoke:\"#F5F5F5\",seashell:\"#FFF5EE\",beige:\"#F5F5DC\",oldlace:\"#FDF5E6\",floralwhite:\"#FFFAF0\",ivory:\"#FFFFF0\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lavenderblush:\"#FFF0F5\",mistyrose:\"#FFE4E1\",gainsboro:\"#DCDCDC\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",silver:\"#C0C0C0\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",gray:\"#808080\",grey:\"#808080\",dimgray:\"#696969\",dimgrey:\"#696969\",lightslategray:\"#778899\",lightslategrey:\"#778899\",slategray:\"#708090\",slategrey:\"#708090\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",black:\"#000000\"},r.is_svg_color=function(F){return F in r.svg_colors}},\n",
       "      function _(e,n,t){var r=e(113),c=e(110);function o(e,n){return r.__assign(e,n)}function u(e){return Object.keys(e).length}t.keys=Object.keys,t.values=function(e){for(var n=Object.keys(e),t=n.length,r=new Array(t),c=0;c<t;c++)r[c]=e[n[c]];return r},t.extend=o,t.clone=function(e){return o({},e)},t.merge=function(e,n){for(var t=Object.create(Object.prototype),r=0,o=c.concat([Object.keys(e),Object.keys(n)]);r<o.length;r++){var u=o[r],s=e.hasOwnProperty(u)?e[u]:[],a=n.hasOwnProperty(u)?n[u]:[];t[u]=c.union(s,a)}return t},t.size=u,t.isEmpty=function(e){return 0===u(e)}},\n",
       "      function _(e,t,r){var n=e(109);r.create_ref=function(e){var t={type:e.type,id:e.id};return null!=e._subtype&&(t.subtype=e._subtype),t},r.is_ref=function(e){if(n.isObject(e)){var t=Object.keys(e).sort();if(2==t.length)return\"id\"==t[0]&&\"type\"==t[1];if(3==t.length)return\"id\"==t[0]&&\"subtype\"==t[1]&&\"type\"==t[2]}return!1}},\n",
       "      function _(r,t,e){var n=r(128);function u(){for(var r=new Array(32),t=0;t<32;t++)r[t]=\"0123456789ABCDEF\".substr(Math.floor(16*Math.random()),1);return r[12]=\"4\",r[16]=\"0123456789ABCDEF\".substr(3&r[16].charCodeAt(0)|8,1),r.join(\"\")}e.startsWith=function(r,t,e){return void 0===e&&(e=0),r.substr(e,t.length)==t},e.uuid4=u;var a=1e3;e.uniqueId=function(r){var t=n.settings.dev?\"j\"+a++:u();return null!=r?r+\"-\"+t:t},e.escape=function(r){return r.replace(/(?:[&<>\"'`])/g,function(r){switch(r){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&#x27;\";case\"`\":return\"&#x60;\";default:return r}})},e.unescape=function(r){return r.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,function(r,t){switch(t){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return t}})},e.use_strict=function(r){return\"'use strict';\\n\"+r}},\n",
       "      function _(e,t,n){var i=function(){function e(){this._dev=!1}return Object.defineProperty(e.prototype,\"dev\",{get:function(){return this._dev},set:function(e){this._dev=e},enumerable:!0,configurable:!0}),e}();n.Settings=i,i.__name__=\"Settings\",n.settings=new i},\n",
       "      function _(n,o,r){function f(n){for(var o in n)r.hasOwnProperty(o)||(r[o]=n[o])}f(n(130)),f(n(242)),f(n(269)),f(n(273)),f(n(288)),f(n(292)),f(n(298)),f(n(302)),f(n(332)),f(n(335)),f(n(337)),f(n(350)),f(n(217)),f(n(356)),f(n(360)),f(n(383)),f(n(384)),f(n(385)),f(n(386)),f(n(387)),f(n(393)),f(n(395)),f(n(405)),f(n(409))},\n",
       "      function _(a,e,o){var r=a(131);o.Annotation=r.Annotation;var n=a(168);o.Arrow=n.Arrow;var t=a(169);o.ArrowHead=t.ArrowHead;var v=a(169);o.OpenHead=v.OpenHead;var l=a(169);o.NormalHead=l.NormalHead;var d=a(169);o.TeeHead=d.TeeHead;var i=a(169);o.VeeHead=i.VeeHead;var A=a(200);o.Band=A.Band;var H=a(201);o.BoxAnnotation=H.BoxAnnotation;var T=a(203);o.ColorBar=T.ColorBar;var p=a(227);o.Label=p.Label;var L=a(229);o.LabelSet=L.LabelSet;var b=a(230);o.Legend=b.Legend;var B=a(231);o.LegendItem=B.LegendItem;var S=a(233);o.PolyAnnotation=S.PolyAnnotation;var g=a(234);o.Slope=g.Slope;var m=a(235);o.Span=m.Span;var w=a(228);o.TextAnnotation=w.TextAnnotation;var x=a(236);o.Title=x.Title;var P=a(237);o.ToolbarPanel=P.ToolbarPanel;var h=a(238);o.Tooltip=h.Tooltip;var k=a(241);o.Whisker=k.Whisker},\n",
       "      function _(t,e,n){var i=t(113),o=t(132),r=t(125),s=t(160),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),Object.defineProperty(e.prototype,\"panel\",{get:function(){return this.layout},enumerable:!0,configurable:!0}),e.prototype.get_size=function(){if(this.model.visible){var t=this._get_size(),e=t.width,n=t.height;return{width:Math.round(e),height:Math.round(n)}}return{width:0,height:0}},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this);var n=this.model.properties;this.on_change(n.visible,function(){return e.plot_view.request_layout()})},e.prototype._get_size=function(){throw new Error(\"not implemented\")},Object.defineProperty(e.prototype,\"ctx\",{get:function(){return this.plot_view.canvas_view.ctx},enumerable:!0,configurable:!0}),e.prototype.set_data=function(t){var e,n,i=this.model.materialize_dataspecs(t);if(r.extend(this,i),this.plot_model.use_map){null!=this._x&&(e=o.project_xy(this._x,this._y),this._x=e[0],this._y=e[1]),null!=this._xs&&(n=o.project_xsys(this._xs,this._ys),this._xs=n[0],this._ys=n[1])}},Object.defineProperty(e.prototype,\"needs_clip\",{get:function(){return null==this.layout},enumerable:!0,configurable:!0}),e.prototype.serializable_state=function(){var e=t.prototype.serializable_state.call(this);return null==this.layout?e:Object.assign(Object.assign({},e),{bbox:this.layout.bbox.box})},e}(s.RendererView);n.AnnotationView=a,a.__name__=\"AnnotationView\";var l=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.init_Annotation=function(){this.override({level:\"annotation\"})},e}(s.Renderer);n.Annotation=l,l.__name__=\"Annotation\",l.init_Annotation()},\n",
       "      function _(r,n,t){var a=r(133),e=r(134),o=new e(\"GOOGLE\"),c=new e(\"WGS84\");t.wgs84_mercator=a(c,o);var i={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},u={lon:[-180,180],lat:[-85.06,85.06]};function l(r,n){for(var a=Math.min(r.length,n.length),e=new Array(a),o=new Array(a),c=0;c<a;c++){var i=t.wgs84_mercator.forward([r[c],n[c]]),u=i[0],l=i[1];e[c]=u,o[c]=l}return[e,o]}t.clip_mercator=function(r,n,t){var a=i[t],e=a[0],o=a[1];return[Math.max(r,e),Math.min(n,o)]},t.in_bounds=function(r,n){return r>u[n][0]&&r<u[n][1]},t.project_xy=l,t.project_xsys=function(r,n){for(var t=Math.min(r.length,n.length),a=new Array(t),e=new Array(t),o=0;o<t;o++){var c=l(r[o],n[o]),i=c[0],u=c[1];a[o]=i,e[o]=u}return[a,e]}},\n",
       "      function _(r,n,o){var t=r(134),i=r(155),u=t(\"WGS84\");function e(r,n,o){var t;return Array.isArray(o)?(t=i(r,n,o),3===o.length?[t.x,t.y,t.z]:[t.x,t.y]):i(r,n,o)}function a(r){return r instanceof t?r:r.oProj?r.oProj:t(r)}n.exports=function(r,n,o){r=a(r);var t,i=!1;return void 0===n?(n=r,r=u,i=!0):(void 0!==n.x||Array.isArray(n))&&(o=n,n=r,r=u,i=!0),n=a(n),o?e(r,n,o):(t={forward:function(o){return e(r,n,o)},inverse:function(o){return e(n,r,o)}},i&&(t.oProj=n),t)}},\n",
       "      function _(e,t,s){var a=e(135),i=e(142),r=e(143),o=e(151),n=e(153),p=e(154);function u(e,t){if(!(this instanceof u))return new u(e);t=t||function(e){if(e)throw e};var s=a(e);if(\"object\"==typeof s){var r=u.projections.get(s.projName);if(r){if(s.datumCode&&\"none\"!==s.datumCode){var h=n[s.datumCode];h&&(s.datum_params=h.towgs84?h.towgs84.split(\",\"):null,s.ellps=h.ellipse,s.datumName=h.datumName?h.datumName:s.datumCode)}s.k0=s.k0||1,s.axis=s.axis||\"enu\";var m=o.sphere(s.a,s.b,s.rf,s.ellps,s.sphere),d=o.eccentricity(m.a,m.b,m.rf,s.R_A),f=s.datum||p(s.datumCode,s.datum_params,m.a,m.b,d.es,d.ep2);i(this,s),i(this,r),this.a=m.a,this.b=m.b,this.rf=m.rf,this.sphere=m.sphere,this.es=d.es,this.e=d.e,this.ep2=d.ep2,this.datum=f,this.init(),t(null,this)}else t(e)}else t(e)}u.projections=r,u.projections.start(),t.exports=u},\n",
       "      function _(n,r,t){var u=n(136),i=n(141),o=n(138);var e=[\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\"];r.exports=function(n){return function(n){return\"string\"==typeof n}(n)?function(n){return n in u}(n)?u[n]:function(n){return e.some(function(r){return n.indexOf(r)>-1})}(n)?i(n):function(n){return\"+\"===n[0]}(n)?o(n):void 0:n}},\n",
       "      function _(r,n,i){var t=r(137),e=r(138),a=r(141);function f(r){var n=this;if(2===arguments.length){var i=arguments[1];\"string\"==typeof i?\"+\"===i.charAt(0)?f[r]=e(arguments[1]):f[r]=a(arguments[1]):f[r]=i}else if(1===arguments.length){if(Array.isArray(r))return r.map(function(r){Array.isArray(r)?f.apply(n,r):f(r)});if(\"string\"==typeof r){if(r in f)return f[r]}else\"EPSG\"in r?f[\"EPSG:\"+r.EPSG]=r:\"ESRI\"in r?f[\"ESRI:\"+r.ESRI]=r:\"IAU2000\"in r?f[\"IAU2000:\"+r.IAU2000]=r:console.log(r);return}}t(f),n.exports=f},\n",
       "      function _(t,l,G){l.exports=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},\n",
       "      function _(n,t,o){var a=.017453292519943295,u=n(139),e=n(140);t.exports=function(n){var t,o,r,i={},f=n.split(\"+\").map(function(n){return n.trim()}).filter(function(n){return n}).reduce(function(n,t){var o=t.split(\"=\");return o.push(!0),n[o[0].toLowerCase()]=o[1],n},{}),s={proj:\"projName\",datum:\"datumCode\",rf:function(n){i.rf=parseFloat(n)},lat_0:function(n){i.lat0=n*a},lat_1:function(n){i.lat1=n*a},lat_2:function(n){i.lat2=n*a},lat_ts:function(n){i.lat_ts=n*a},lon_0:function(n){i.long0=n*a},lon_1:function(n){i.long1=n*a},lon_2:function(n){i.long2=n*a},alpha:function(n){i.alpha=parseFloat(n)*a},lonc:function(n){i.longc=n*a},x_0:function(n){i.x0=parseFloat(n)},y_0:function(n){i.y0=parseFloat(n)},k_0:function(n){i.k0=parseFloat(n)},k:function(n){i.k0=parseFloat(n)},a:function(n){i.a=parseFloat(n)},b:function(n){i.b=parseFloat(n)},r_a:function(){i.R_A=!0},zone:function(n){i.zone=parseInt(n,10)},south:function(){i.utmSouth=!0},towgs84:function(n){i.datum_params=n.split(\",\").map(function(n){return parseFloat(n)})},to_meter:function(n){i.to_meter=parseFloat(n)},units:function(n){i.units=n,e[n]&&(i.to_meter=e[n].to_meter)},from_greenwich:function(n){i.from_greenwich=n*a},pm:function(n){i.from_greenwich=(u[n]?u[n]:parseFloat(n))*a},nadgrids:function(n){\"@null\"===n?i.datumCode=\"none\":i.nadgrids=n},axis:function(n){3===n.length&&-1!==\"ewnsud\".indexOf(n.substr(0,1))&&-1!==\"ewnsud\".indexOf(n.substr(1,1))&&-1!==\"ewnsud\".indexOf(n.substr(2,1))&&(i.axis=n)}};for(t in f)o=f[t],t in s?\"function\"==typeof(r=s[t])?r(o):i[r]=o:i[t]=o;return\"string\"==typeof i.datumCode&&\"WGS84\"!==i.datumCode&&(i.datumCode=i.datumCode.toLowerCase()),i}},\n",
       "      function _(o,r,s){s.greenwich=0,s.lisbon=-9.131906111111,s.paris=2.337229166667,s.bogota=-74.080916666667,s.madrid=-3.687938888889,s.rome=12.452333333333,s.bern=7.439583333333,s.jakarta=106.807719444444,s.ferro=-17.666666666667,s.brussels=4.367975,s.stockholm=18.058277777778,s.athens=23.7163375,s.oslo=10.722916666667},\n",
       "      function _(t,e,f){f.ft={to_meter:.3048},f[\"us-ft\"]={to_meter:1200/3937}},\n",
       "      function _(e,a,t){var r=.017453292519943295,n=e(142);function o(e,a,t){e[a]=t.map(function(e){var a={};return l(e,a),a}).reduce(function(e,a){return n(e,a)},{})}function l(e,a){var t;Array.isArray(e)?(\"PARAMETER\"===(t=e.shift())&&(t=e.shift()),1===e.length?Array.isArray(e[0])?(a[t]={},l(e[0],a[t])):a[t]=e[0]:e.length?\"TOWGS84\"===t?a[t]=e:(a[t]={},[\"UNIT\",\"PRIMEM\",\"VERT_DATUM\"].indexOf(t)>-1?(a[t]={name:e[0].toLowerCase(),convert:e[1]},3===e.length&&(a[t].auth=e[2])):\"SPHEROID\"===t?(a[t]={name:e[0],a:e[1],rf:e[2]},4===e.length&&(a[t].auth=e[3])):[\"GEOGCS\",\"GEOCCS\",\"DATUM\",\"VERT_CS\",\"COMPD_CS\",\"LOCAL_CS\",\"FITTED_CS\",\"LOCAL_DATUM\"].indexOf(t)>-1?(e[0]=[\"name\",e[0]],o(a,t,e)):e.every(function(e){return Array.isArray(e)})?o(a,t,e):l(e,a[t])):a[t]=!0):a[e]=!0}function i(e){return e*r}a.exports=function(e,a){var t=JSON.parse((\",\"+e).replace(/\\s*\\,\\s*([A-Z_0-9]+?)(\\[)/g,',[\"$1\",').slice(1).replace(/\\s*\\,\\s*([A-Z_0-9]+?)\\]/g,',\"$1\"]').replace(/,\\[\"VERTCS\".+/,\"\")),r=t.shift(),o=t.shift();t.unshift([\"name\",o]),t.unshift([\"type\",r]),t.unshift(\"output\");var _={};return l(t,_),function(e){function a(a){var t=e.to_meter||1;return parseFloat(a,10)*t}\"GEOGCS\"===e.type?e.projName=\"longlat\":\"LOCAL_CS\"===e.type?(e.projName=\"identity\",e.local=!0):\"object\"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),\"metre\"===e.units&&(e.units=\"meter\"),e.UNIT.convert&&(\"GEOGCS\"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=parseFloat(e.UNIT.convert,10)*e.DATUM.SPHEROID.a):e.to_meter=parseFloat(e.UNIT.convert,10))),e.GEOGCS&&(e.GEOGCS.DATUM?e.datumCode=e.GEOGCS.DATUM.name.toLowerCase():e.datumCode=e.GEOGCS.name.toLowerCase(),\"d_\"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),\"new_zealand_geodetic_datum_1949\"!==e.datumCode&&\"new_zealand_1949\"!==e.datumCode||(e.datumCode=\"nzgd49\"),\"wgs_1984\"===e.datumCode&&(\"Mercator_Auxiliary_Sphere\"===e.PROJECTION&&(e.sphere=!0),e.datumCode=\"wgs84\"),\"_ferro\"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),\"_jakarta\"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf(\"belge\")&&(e.datumCode=\"rnb72\"),e.GEOGCS.DATUM&&e.GEOGCS.DATUM.SPHEROID&&(e.ellps=e.GEOGCS.DATUM.SPHEROID.name.replace(\"_19\",\"\").replace(/[Cc]larke\\_18/,\"clrk\"),\"international\"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps=\"intl\"),e.a=e.GEOGCS.DATUM.SPHEROID.a,e.rf=parseFloat(e.GEOGCS.DATUM.SPHEROID.rf,10)),~e.datumCode.indexOf(\"osgb_1936\")&&(e.datumCode=\"osgb36\")),e.b&&!isFinite(e.b)&&(e.b=e.a),[[\"standard_parallel_1\",\"Standard_Parallel_1\"],[\"standard_parallel_2\",\"Standard_Parallel_2\"],[\"false_easting\",\"False_Easting\"],[\"false_northing\",\"False_Northing\"],[\"central_meridian\",\"Central_Meridian\"],[\"latitude_of_origin\",\"Latitude_Of_Origin\"],[\"latitude_of_origin\",\"Central_Parallel\"],[\"scale_factor\",\"Scale_Factor\"],[\"k0\",\"scale_factor\"],[\"latitude_of_center\",\"Latitude_of_center\"],[\"lat0\",\"latitude_of_center\",i],[\"longitude_of_center\",\"Longitude_Of_Center\"],[\"longc\",\"longitude_of_center\",i],[\"x0\",\"false_easting\",a],[\"y0\",\"false_northing\",a],[\"long0\",\"central_meridian\",i],[\"lat0\",\"latitude_of_origin\",i],[\"lat0\",\"standard_parallel_1\",i],[\"lat1\",\"standard_parallel_1\",i],[\"lat2\",\"standard_parallel_2\",i],[\"alpha\",\"azimuth\",i],[\"srsCode\",\"name\"]].forEach(function(a){return t=e,n=(r=a)[0],o=r[1],void(!(n in t)&&o in t&&(t[n]=t[o],3===r.length&&(t[n]=r[2](t[n]))));var t,r,n,o}),e.long0||!e.longc||\"Albers_Conic_Equal_Area\"!==e.projName&&\"Lambert_Azimuthal_Equal_Area\"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||\"Stereographic_South_Pole\"!==e.projName&&\"Polar Stereographic (variant B)\"!==e.projName||(e.lat0=i(e.lat1>0?90:-90),e.lat_ts=e.lat1)}(_.output),n(a,_.output)}},\n",
       "      function _(n,r,i){r.exports=function(n,r){var i,o;if(n=n||{},!r)return n;for(o in r)void 0!==(i=r[o])&&(n[o]=i);return n}},\n",
       "      function _(n,o,t){var r=[n(144),n(150)],e={},a=[];function i(n,o){var t=a.length;return n.names?(a[t]=n,n.names.forEach(function(n){e[n.toLowerCase()]=t}),this):(console.log(o),!0)}t.add=i,t.get=function(n){if(!n)return!1;var o=n.toLowerCase();return void 0!==e[o]&&a[e[o]]?a[e[o]]:void 0},t.start=function(){r.forEach(i)}},\n",
       "      function _(t,s,i){var h=t(145),a=Math.PI/2,e=57.29577951308232,r=t(146),n=Math.PI/4,l=t(148),o=t(149);i.init=function(){var t=this.b/this.a;this.es=1-t*t,\"x0\"in this||(this.x0=0),\"y0\"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=h(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},i.forward=function(t){var s,i,h=t.x,o=t.y;if(o*e>90&&o*e<-90&&h*e>180&&h*e<-180)return null;if(Math.abs(Math.abs(o)-a)<=1e-10)return null;if(this.sphere)s=this.x0+this.a*this.k0*r(h-this.long0),i=this.y0+this.a*this.k0*Math.log(Math.tan(n+.5*o));else{var M=Math.sin(o),u=l(this.e,o,M);s=this.x0+this.a*this.k0*r(h-this.long0),i=this.y0-this.a*this.k0*Math.log(u)}return t.x=s,t.y=i,t},i.inverse=function(t){var s,i,h=t.x-this.x0,e=t.y-this.y0;if(this.sphere)i=a-2*Math.atan(Math.exp(-e/(this.a*this.k0)));else{var n=Math.exp(-e/(this.a*this.k0));if(-9999===(i=o(this.e,n)))return null}return s=r(this.long0+h/(this.a*this.k0)),t.x=s,t.y=i,t},i.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"]},\n",
       "      function _(t,n,r){n.exports=function(t,n,r){var o=t*n;return r/Math.sqrt(1-o*o)}},\n",
       "      function _(t,n,a){var r=2*Math.PI,o=t(147);n.exports=function(t){return Math.abs(t)<=3.14159265359?t:t-o(t)*r}},\n",
       "      function _(n,t,o){t.exports=function(n){return n<0?-1:1}},\n",
       "      function _(t,a,n){var r=Math.PI/2;a.exports=function(t,a,n){var o=t*n,h=.5*t;return o=Math.pow((1-o)/(1+o),h),Math.tan(.5*(r-a))/o}},\n",
       "      function _(a,t,n){var r=Math.PI/2;t.exports=function(a,t){for(var n,h,M=.5*a,o=r-2*Math.atan(t),e=0;e<=15;e++)if(n=a*Math.sin(o),o+=h=r-2*Math.atan(t*Math.pow((1-n)/(1+n),M))-o,Math.abs(h)<=1e-10)return o;return-9999}},\n",
       "      function _(n,i,t){function e(n){return n}t.init=function(){},t.forward=e,t.inverse=e,t.names=[\"longlat\",\"identity\"]},\n",
       "      function _(r,e,t){var n=r(152);t.eccentricity=function(r,e,t,n){var a=r*r,c=e*e,f=(a-c)/a,i=0;return n?(a=(r*=1-f*(.16666666666666666+f*(.04722222222222222+.022156084656084655*f)))*r,f=0):i=Math.sqrt(f),{es:f,e:i,ep2:(a-c)/c}},t.sphere=function(r,e,t,a,c){if(!r){var f=n[a];f||(f=n.WGS84),r=f.a,e=f.b,t=f.rf}return t&&!e&&(e=(1-1/t)*r),(0===t||Math.abs(r-e)<1e-10)&&(c=!0,e=r),{a:r,b:e,rf:t,sphere:c}}},\n",
       "      function _(e,a,l){l.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"},l.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"},l.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"},l.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"},l.airy={a:6377563.396,b:6356256.91,ellipseName:\"Airy 1830\"},l.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"},l.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"},l.mod_airy={a:6377340.189,b:6356034.446,ellipseName:\"Modified Airy\"},l.andrae={a:6377104.43,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"},l.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"},l.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"},l.bessel={a:6377397.155,rf:299.1528128,ellipseName:\"Bessel 1841\"},l.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"},l.clrk66={a:6378206.4,b:6356583.8,ellipseName:\"Clarke 1866\"},l.clrk80={a:6378249.145,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"},l.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:\"Clarke 1858\"},l.CPM={a:6375738.7,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"},l.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"},l.engelis={a:6378136.05,rf:298.2566,ellipseName:\"Engelis 1985\"},l.evrst30={a:6377276.345,rf:300.8017,ellipseName:\"Everest 1830\"},l.evrst48={a:6377304.063,rf:300.8017,ellipseName:\"Everest 1948\"},l.evrst56={a:6377301.243,rf:300.8017,ellipseName:\"Everest 1956\"},l.evrst69={a:6377295.664,rf:300.8017,ellipseName:\"Everest 1969\"},l.evrstSS={a:6377298.556,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"},l.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"},l.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"},l.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"},l.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"},l.hough={a:6378270,rf:297,ellipseName:\"Hough\"},l.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"},l.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"},l.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"},l.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"},l.new_intl={a:6378157.5,b:6356772.2,ellipseName:\"New International 1967\"},l.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"},l.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"},l.SEasia={a:6378155,b:6356773.3205,ellipseName:\"Southeast Asia\"},l.walbeck={a:6376896,b:6355834.8467,ellipseName:\"Walbeck\"},l.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"},l.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"},l.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"},l.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"},l.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"}},\n",
       "      function _(e,a,s){s.wgs84={towgs84:\"0,0,0\",ellipse:\"WGS84\",datumName:\"WGS84\"},s.ch1903={towgs84:\"674.374,15.056,405.346\",ellipse:\"bessel\",datumName:\"swiss\"},s.ggrs87={towgs84:\"-199.87,74.79,246.62\",ellipse:\"GRS80\",datumName:\"Greek_Geodetic_Reference_System_1987\"},s.nad83={towgs84:\"0,0,0\",ellipse:\"GRS80\",datumName:\"North_American_Datum_1983\"},s.nad27={nadgrids:\"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",ellipse:\"clrk66\",datumName:\"North_American_Datum_1927\"},s.potsdam={towgs84:\"606.0,23.0,413.0\",ellipse:\"bessel\",datumName:\"Potsdam Rauenberg 1950 DHDN\"},s.carthage={towgs84:\"-263.0,6.0,431.0\",ellipse:\"clark80\",datumName:\"Carthage 1934 Tunisia\"},s.hermannskogel={towgs84:\"653.0,-212.0,449.0\",ellipse:\"bessel\",datumName:\"Hermannskogel\"},s.ire65={towgs84:\"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",ellipse:\"mod_airy\",datumName:\"Ireland 1965\"},s.rassadiran={towgs84:\"-133.63,-157.5,-158.62\",ellipse:\"intl\",datumName:\"Rassadiran\"},s.nzgd49={towgs84:\"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",ellipse:\"intl\",datumName:\"New Zealand Geodetic Datum 1949\"},s.osgb36={towgs84:\"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",ellipse:\"airy\",datumName:\"Airy 1830\"},s.s_jtsk={towgs84:\"589,76,480\",ellipse:\"bessel\",datumName:\"S-JTSK (Ferro)\"},s.beduaram={towgs84:\"-106,-87,188\",ellipse:\"clrk80\",datumName:\"Beduaram\"},s.gunung_segara={towgs84:\"-403,684,41\",ellipse:\"bessel\",datumName:\"Gunung Segara Jakarta\"},s.rnb72={towgs84:\"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",ellipse:\"intl\",datumName:\"Reseau National Belge 1972\"}},\n",
       "      function _(a,m,t){var p=1,u=2,r=4,_=5,d=484813681109536e-20;m.exports=function(a,m,t,s,e,n){var o={};return o.datum_type=r,a&&\"none\"===a&&(o.datum_type=_),m&&(o.datum_params=m.map(parseFloat),0===o.datum_params[0]&&0===o.datum_params[1]&&0===o.datum_params[2]||(o.datum_type=p),o.datum_params.length>3&&(0===o.datum_params[3]&&0===o.datum_params[4]&&0===o.datum_params[5]&&0===o.datum_params[6]||(o.datum_type=u,o.datum_params[3]*=d,o.datum_params[4]*=d,o.datum_params[5]*=d,o.datum_params[6]=o.datum_params[6]/1e6+1))),o.a=t,o.b=s,o.es=e,o.ep2=n,o}},\n",
       "      function _(t,e,r){var m=.017453292519943295,a=57.29577951308232,o=1,u=2,n=t(156),d=t(158),y=t(134),_=t(159);e.exports=function t(e,r,x){var i;return Array.isArray(x)&&(x=_(x)),e.datum&&r.datum&&function(t,e){return(t.datum.datum_type===o||t.datum.datum_type===u)&&\"WGS84\"!==e.datumCode||(e.datum.datum_type===o||e.datum.datum_type===u)&&\"WGS84\"!==t.datumCode}(e,r)&&(x=t(e,i=new y(\"WGS84\"),x),e=i),\"enu\"!==e.axis&&(x=d(e,!1,x)),\"longlat\"===e.projName?x={x:x.x*m,y:x.y*m}:(e.to_meter&&(x={x:x.x*e.to_meter,y:x.y*e.to_meter}),x=e.inverse(x)),e.from_greenwich&&(x.x+=e.from_greenwich),x=n(e.datum,r.datum,x),r.from_greenwich&&(x={x:x.x-r.grom_greenwich,y:x.y}),\"longlat\"===r.projName?x={x:x.x*a,y:x.y*a}:(x=r.forward(x),r.to_meter&&(x={x:x.x/r.to_meter,y:x.y/r.to_meter})),\"enu\"!==r.axis?d(r,!0,x):x}},\n",
       "      function _(t,e,a){var u=1,m=2,o=t(157);function c(t){return t===u||t===m}e.exports=function(t,e,a){return o.compareDatums(t,e)?a:5===t.datum_type||5===e.datum_type?a:t.es!==e.es||t.a!==e.a||c(t.datum_type)||c(e.datum_type)?(a=o.geodeticToGeocentric(a,t.es,t.a),c(t.datum_type)&&(a=o.geocentricToWgs84(a,t.datum_type,t.datum_params)),c(e.datum_type)&&(a=o.geocentricFromWgs84(a,e.datum_type,e.datum_params)),o.geocentricToGeodetic(a,e.es,e.a,e.b)):a}},\n",
       "      function _(a,t,r){var m=Math.PI/2;r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(this.es-t.es)>5e-11)&&(1===a.datum_type?this.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:2!==a.datum_type||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var s,u,e,n,d=a.x,i=a.y,p=a.z?a.z:0;if(i<-m&&i>-1.001*m)i=-m;else if(i>m&&i<1.001*m)i=m;else if(i<-m||i>m)return null;return d>Math.PI&&(d-=2*Math.PI),u=Math.sin(i),n=Math.cos(i),e=u*u,{x:((s=r/Math.sqrt(1-t*e))+p)*n*Math.cos(d),y:(s+p)*n*Math.sin(d),z:(s*(1-t)+p)*u}},r.geocentricToGeodetic=function(a,t,r,s){var u,e,n,d,i,p,_,h,o,y,c,z,M,x,f,g=a.x,l=a.y,q=a.z?a.z:0;if(u=Math.sqrt(g*g+l*l),e=Math.sqrt(g*g+l*l+q*q),u/r<1e-12){if(x=0,e/r<1e-12)return m,f=-s,{x:a.x,y:a.y,z:a.z}}else x=Math.atan2(l,g);n=q/e,h=(d=u/e)*(1-t)*(i=1/Math.sqrt(1-t*(2-t)*d*d)),o=n*i,M=0;do{M++,p=t*(_=r/Math.sqrt(1-t*o*o))/(_+(f=u*h+q*o-_*(1-t*o*o))),z=(c=n*(i=1/Math.sqrt(1-p*(2-p)*d*d)))*h-(y=d*(1-p)*i)*o,h=y,o=c}while(z*z>1e-24&&M<30);return{x:x,y:Math.atan(c/Math.abs(y)),z:f}},r.geocentricToWgs84=function(a,t,r){if(1===t)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(2===t){var m=r[0],s=r[1],u=r[2],e=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-e*a.z)+s,z:i*(-n*a.x+e*a.y+a.z)+u}}},r.geocentricFromWgs84=function(a,t,r){if(1===t)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(2===t){var m=r[0],s=r[1],u=r[2],e=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,_=(a.y-s)/i,h=(a.z-u)/i;return{x:p+d*_-n*h,y:-d*p+_+e*h,z:n*p-e*_+h}}}},\n",
       "      function _(e,a,r){a.exports=function(e,a,r){var s,c,i,n=r.x,o=r.y,t=r.z||0,u={};for(i=0;i<3;i++)if(!a||2!==i||void 0!==r.z)switch(0===i?(s=n,c=\"x\"):1===i?(s=o,c=\"y\"):(s=t,c=\"z\"),e.axis[i]){case\"e\":u[c]=s;break;case\"w\":u[c]=-s;break;case\"n\":u[c]=s;break;case\"s\":u[c]=-s;break;case\"u\":void 0!==r[c]&&(u.z=s);break;case\"d\":void 0!==r[c]&&(u.z=-s);break;default:return null}return u}},\n",
       "      function _(n,t,e){t.exports=function(n){var t={x:n[0],y:n[1]};return n.length>2&&(t.z=n[2]),n.length>3&&(t.m=n[3]),t}},\n",
       "      function _(e,t,n){var i=e(113),r=e(161),o=e(165),l=e(121),u=e(166),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.visuals=new o.Visuals(this.model),this._has_finished=!0},Object.defineProperty(t.prototype,\"plot_view\",{get:function(){return this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"plot_model\",{get:function(){return this.parent.model},enumerable:!0,configurable:!0}),t.prototype.request_render=function(){this.plot_view.request_render()},t.prototype.map_to_screen=function(e,t){return this.plot_view.map_to_screen(e,t,this.model.x_range_name,this.model.y_range_name)},Object.defineProperty(t.prototype,\"needs_clip\",{get:function(){return!1},enumerable:!0,configurable:!0}),t.prototype.notify_finished=function(){this.plot_view.notify_finished()},Object.defineProperty(t.prototype,\"has_webgl\",{get:function(){return!1},enumerable:!0,configurable:!0}),t}(r.DOMView);n.RendererView=_,_.__name__=\"RendererView\";var p=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.init_Renderer=function(){this.define({level:[l.RenderLevel],visible:[l.Boolean,!0]})},t}(u.Model);n.Renderer=p,p.__name__=\"Renderer\",p.init_Renderer()},\n",
       "      function _(e,t,n){var i=e(113),r=e(162),o=e(163),s=e(164),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this._has_finished=!1,this.el=this._createElement()},t.prototype.remove=function(){o.removeElement(this.el),e.prototype.remove.call(this)},t.prototype.css_classes=function(){return[]},t.prototype.cursor=function(e,t){return null},t.prototype.render=function(){},t.prototype.renderTo=function(e){e.appendChild(this.el),this.render()},t.prototype.has_finished=function(){return this._has_finished},Object.defineProperty(t.prototype,\"_root_element\",{get:function(){return o.parent(this.el,\".\"+s.bk_root)||document.body},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"is_idle\",{get:function(){return this.has_finished()},enumerable:!0,configurable:!0}),t.prototype._createElement=function(){return o.createElement(this.tagName,{class:this.css_classes()})},t}(r.View);n.DOMView=p,p.__name__=\"DOMView\",p.prototype.tagName=\"div\"},\n",
       "      function _(t,e,n){var o=t(113),i=t(116),r=t(109),a=t(127),s=function(t){function e(e){var n=t.call(this)||this;if(n.removed=new i.Signal0(n,\"removed\"),null==e.model)throw new Error(\"model of a view wasn't configured\");return n.model=e.model,n._parent=e.parent,n.id=e.id||a.uniqueId(),n.initialize(),!1!==e.connect_signals&&n.connect_signals(),n}return o.__extends(e,t),e.prototype.initialize=function(){},e.prototype.remove=function(){this._parent=void 0,this.disconnect_signals(),this.removed.emit()},e.prototype.toString=function(){return this.model.type+\"View(\"+this.id+\")\"},e.prototype.serializable_state=function(){return{type:this.model.type}},Object.defineProperty(e.prototype,\"parent\",{get:function(){if(void 0!==this._parent)return this._parent;throw new Error(\"parent of a view wasn't configured\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_root\",{get:function(){return null===this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"root\",{get:function(){return this.is_root?this:this.parent.root},enumerable:!0,configurable:!0}),e.prototype.assert_root=function(){if(!this.is_root)throw new Error(this.toString()+\" is not a root layout\")},e.prototype.connect_signals=function(){},e.prototype.disconnect_signals=function(){i.Signal.disconnectReceiver(this)},e.prototype.on_change=function(t,e){for(var n=0,o=r.isArray(t)?t:[t];n<o.length;n++){var i=o[n];this.connect(i.change,e)}},e}(i.Signalable());n.View=s,s.__name__=\"View\"},\n",
       "      function _(t,e,n){var i=t(113),r=t(109),o=function(t){return function(e){void 0===e&&(e={});for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var o=document.createElement(t);for(var l in o.classList.add(\"bk\"),e){var a=e[l];if(null!=a&&(!r.isBoolean(a)||a))if(\"class\"===l&&(r.isString(a)&&(a=a.split(/\\s+/)),r.isArray(a)))for(var s=0,h=a;s<h.length;s++){var c=h[s];null!=c&&o.classList.add(c)}else if(\"style\"===l&&r.isPlainObject(a))for(var u in a)o.style[u]=a[u];else if(\"data\"===l&&r.isPlainObject(a))for(var p in a)o.dataset[p]=a[p];else o.setAttribute(l,a)}function d(t){if(t instanceof HTMLElement)o.appendChild(t);else if(r.isString(t))o.appendChild(document.createTextNode(t));else if(null!=t&&!1!==t)throw new Error(\"expected an HTMLElement, string, false or null, got \"+JSON.stringify(t))}for(var f=0,g=n;f<g.length;f++){var y=g[f];if(r.isArray(y))for(var v=0,m=y;v<m.length;v++){d(m[v])}else d(y)}return o}};function l(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=t.firstChild,r=0,o=e;r<o.length;r++){var l=o[r];t.insertBefore(l,i)}}function a(t,e){var n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector).call(t,e)}function s(t){return parseFloat(t)||0}function h(t){var e=getComputedStyle(t);return{border:{top:s(e.borderTopWidth),bottom:s(e.borderBottomWidth),left:s(e.borderLeftWidth),right:s(e.borderRightWidth)},margin:{top:s(e.marginTop),bottom:s(e.marginBottom),left:s(e.marginLeft),right:s(e.marginRight)},padding:{top:s(e.paddingTop),bottom:s(e.paddingBottom),left:s(e.paddingLeft),right:s(e.paddingRight)}}}function c(t){var e=t.getBoundingClientRect();return{width:Math.ceil(e.width),height:Math.ceil(e.height)}}function u(t){return Array.from(t.children)}n.createElement=function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return o(t).apply(void 0,i.__spreadArrays([e],n))},n.div=o(\"div\"),n.span=o(\"span\"),n.canvas=o(\"canvas\"),n.link=o(\"link\"),n.style=o(\"style\"),n.a=o(\"a\"),n.p=o(\"p\"),n.i=o(\"i\"),n.pre=o(\"pre\"),n.button=o(\"button\"),n.label=o(\"label\"),n.input=o(\"input\"),n.select=o(\"select\"),n.option=o(\"option\"),n.optgroup=o(\"optgroup\"),n.textarea=o(\"textarea\"),n.nbsp=function(){return document.createTextNode(\" \")},n.removeElement=function(t){var e=t.parentNode;null!=e&&e.removeChild(t)},n.replaceWith=function(t,e){var n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=l,n.empty=function(t){for(var e;e=t.firstChild;)t.removeChild(e)},n.display=function(t){t.style.display=\"\"},n.undisplay=function(t){t.style.display=\"none\"},n.show=function(t){t.style.visibility=\"\"},n.hide=function(t){t.style.visibility=\"hidden\"},n.offset=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=a,n.parent=function(t,e){for(var n=t;n=n.parentElement;)if(a(n,e))return n;return null},n.extents=h,n.size=c,n.scroll_size=function(t){return{width:Math.ceil(t.scrollWidth),height:Math.ceil(t.scrollHeight)}},n.outer_size=function(t){var e=h(t).margin,n=e.left,i=e.right,r=e.top,o=e.bottom,l=c(t),a=l.width,s=l.height;return{width:Math.ceil(a+n+i),height:Math.ceil(s+r+o)}},n.content_size=function(t){for(var e=t.getBoundingClientRect(),n=e.left,i=e.top,r=h(t).padding,o=0,l=0,a=0,s=u(t);a<s.length;a++){var c=s[a].getBoundingClientRect();o=Math.max(o,Math.ceil(c.left-n-r.left+c.width)),l=Math.max(l,Math.ceil(c.top-i-r.top+c.height))}return{width:o,height:l}},n.position=function(t,e,n){var i=t.style;if(i.left=e.x+\"px\",i.top=e.y+\"px\",i.width=e.width+\"px\",i.height=e.height+\"px\",null==n)i.margin=\"\";else{var r=n.top,o=n.right,l=n.bottom,a=n.left;i.margin=r+\"px \"+o+\"px \"+l+\"px \"+a+\"px\"}},n.children=u;var p=function(){function t(t){this.el=t,this.classList=t.classList}return Object.defineProperty(t.prototype,\"values\",{get:function(){for(var t=[],e=0;e<this.classList.length;e++){var n=this.classList.item(e);null!=n&&t.push(n)}return t},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this.classList.contains(t)},t.prototype.add=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=0,i=t;n<i.length;n++){var r=i[n];this.classList.add(r)}return this},t.prototype.remove=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=0,i=t;n<i.length;n++){var r=i[n];this.classList.remove(r)}return this},t.prototype.clear=function(){for(var t=0,e=this.values;t<e.length;t++){var n=e[t];\"bk\"!=n&&this.classList.remove(n)}return this},t.prototype.toggle=function(t,e){return(null!=e?e:!this.has(t))?this.add(t):this.remove(t),this},t}();function d(t,e,n){var i=t.style,r=i.width,o=i.height,l=i.position,a=i.display;t.style.position=\"absolute\",t.style.display=\"\",t.style.width=null!=e.width&&e.width!=1/0?e.width+\"px\":\"auto\",t.style.height=null!=e.height&&e.height!=1/0?e.height+\"px\":\"auto\";try{return n()}finally{t.style.position=l,t.style.display=a,t.style.width=r,t.style.height=o}}n.ClassList=p,p.__name__=\"ClassList\",n.classes=function(t){return new p(t)},function(t){t[t.Backspace=8]=\"Backspace\",t[t.Tab=9]=\"Tab\",t[t.Enter=13]=\"Enter\",t[t.Esc=27]=\"Esc\",t[t.PageUp=33]=\"PageUp\",t[t.PageDown=34]=\"PageDown\",t[t.Left=37]=\"Left\",t[t.Up=38]=\"Up\",t[t.Right=39]=\"Right\",t[t.Down=40]=\"Down\",t[t.Delete=46]=\"Delete\"}(n.Keys||(n.Keys={})),n.undisplayed=function(t,e){var n=t.style.display;t.style.display=\"none\";try{return e()}finally{t.style.display=n}},n.unsized=function(t,e){return d(t,{},e)},n.sized=d;var f=function(){function t(){this.style=n.style({type:\"text/css\"}),l(document.head,this.style)}return t.prototype.append=function(t){this.style.appendChild(document.createTextNode(t))},t}();n.StyleSheet=f,f.__name__=\"StyleSheet\",n.styles=new f},\n",
       "      function _(n,o,i){n(163).styles.append(\".bk-root {\\n  position: relative;\\n  width: auto;\\n  height: auto;\\n  z-index: 0;\\n  box-sizing: border-box;\\n  font-family: Helvetica, Arial, sans-serif;\\n  font-size: 10pt;\\n}\\n.bk-root .bk,\\n.bk-root .bk:before,\\n.bk-root .bk:after {\\n  box-sizing: inherit;\\n  margin: 0;\\n  border: 0;\\n  padding: 0;\\n  background-image: none;\\n  font-family: inherit;\\n  font-size: 100%;\\n  line-height: 1.42857143;\\n}\\n.bk-root pre.bk {\\n  font-family: Courier, monospace;\\n}\\n\"),i.bk_root=\"bk-root\"},\n",
       "      function _(e,t,a){var i=e(113),l=e(120),c=e(123);function o(e,t,a){e.moveTo(0,a+.5),e.lineTo(t,a+.5),e.stroke()}function s(e,t,a){e.moveTo(a+.5,0),e.lineTo(a+.5,t),e.stroke()}function h(e,t){e.moveTo(0,t),e.lineTo(t,0),e.stroke(),e.moveTo(0,0),e.lineTo(t,t),e.stroke()}function n(e,t,a,i){var l=a,c=l/2,n=c/2,r=function(e){var t=document.createElement(\"canvas\");return t.width=e,t.height=e,t}(a),_=r.getContext(\"2d\");switch(_.strokeStyle=t,_.lineCap=\"square\",_.fillStyle=t,_.lineWidth=i,e){case\" \":case\"blank\":break;case\".\":case\"dot\":_.arc(c,c,c/2,0,2*Math.PI,!0),_.fill();break;case\"o\":case\"ring\":_.arc(c,c,c/2,0,2*Math.PI,!0),_.stroke();break;case\"-\":case\"horizontal_line\":o(_,l,c);break;case\"|\":case\"vertical_line\":s(_,l,c);break;case\"+\":case\"cross\":o(_,l,c),s(_,l,c);break;case'\"':case\"horizontal_dash\":o(_,c,c);break;case\":\":case\"vertical_dash\":s(_,c,c);break;case\"@\":case\"spiral\":var p=l/30;_.moveTo(c,c);for(var u=0;u<360;u++){var f=.1*u,v=c+p*f*Math.cos(f),y=c+p*f*Math.sin(f);_.lineTo(v,y)}_.stroke();break;case\"/\":case\"right_diagonal_line\":_.moveTo(.5-n,l),_.lineTo(n+.5,0),_.stroke(),_.moveTo(n+.5,l),_.lineTo(3*n+.5,0),_.stroke(),_.moveTo(3*n+.5,l),_.lineTo(5*n+.5,0),_.stroke(),_.stroke();break;case\"\\\\\":case\"left_diagonal_line\":_.moveTo(n+.5,l),_.lineTo(.5-n,0),_.stroke(),_.moveTo(3*n+.5,l),_.lineTo(n+.5,0),_.stroke(),_.moveTo(5*n+.5,l),_.lineTo(3*n+.5,0),_.stroke(),_.stroke();break;case\"x\":case\"diagonal_cross\":h(_,l);break;case\",\":case\"right_diagonal_dash\":_.moveTo(n+.5,3*n+.5),_.lineTo(3*n+.5,n+.5),_.stroke();break;case\"`\":case\"left_diagonal_dash\":_.moveTo(n+.5,n+.5),_.lineTo(3*n+.5,3*n+.5),_.stroke();break;case\"v\":case\"horizontal_wave\":_.moveTo(0,n),_.lineTo(c,3*n),_.lineTo(l,n),_.stroke();break;case\">\":case\"vertical_wave\":_.moveTo(n,0),_.lineTo(3*n,c),_.lineTo(n,l),_.stroke();break;case\"*\":case\"criss_cross\":h(_,l),o(_,l,c),s(_,l,c)}return r}var r=function(){function e(e,t){void 0===t&&(t=\"\"),this.obj=e,this.prefix=t,this.cache={};for(var a=0,i=this.attrs;a<i.length;a++){var l=i[a];this[l]=e.properties[t+l]}}return e.prototype.warm_cache=function(e){for(var t=0,a=this.attrs;t<a.length;t++){var i=a[t],l=this.obj.properties[this.prefix+i];if(void 0!==l.spec.value)this.cache[i]=l.spec.value;else{if(null==e)throw new Error(\"source is required with a vectorized visual property\");this.cache[i+\"_array\"]=l.array(e)}}},e.prototype.cache_select=function(e,t){var a,i=this.obj.properties[this.prefix+e];return void 0!==i.spec.value?this.cache[e]=a=i.spec.value:this.cache[e]=a=this.cache[e+\"_array\"][t],a},e.prototype.set_vectorize=function(e,t){null!=this.all_indices?this._set_vectorize(e,this.all_indices[t]):this._set_vectorize(e,t)},e}();a.ContextProperties=r,r.__name__=\"ContextProperties\";var _=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.set_value=function(e){e.strokeStyle=this.line_color.value(),e.globalAlpha=this.line_alpha.value(),e.lineWidth=this.line_width.value(),e.lineJoin=this.line_join.value(),e.lineCap=this.line_cap.value(),e.setLineDash(this.line_dash.value()),e.setLineDashOffset(this.line_dash_offset.value())},Object.defineProperty(t.prototype,\"doit\",{get:function(){return!(null===this.line_color.spec.value||0==this.line_alpha.spec.value||0==this.line_width.spec.value)},enumerable:!0,configurable:!0}),t.prototype._set_vectorize=function(e,t){this.cache_select(\"line_color\",t),e.strokeStyle!==this.cache.line_color&&(e.strokeStyle=this.cache.line_color),this.cache_select(\"line_alpha\",t),e.globalAlpha!==this.cache.line_alpha&&(e.globalAlpha=this.cache.line_alpha),this.cache_select(\"line_width\",t),e.lineWidth!==this.cache.line_width&&(e.lineWidth=this.cache.line_width),this.cache_select(\"line_join\",t),e.lineJoin!==this.cache.line_join&&(e.lineJoin=this.cache.line_join),this.cache_select(\"line_cap\",t),e.lineCap!==this.cache.line_cap&&(e.lineCap=this.cache.line_cap),this.cache_select(\"line_dash\",t),e.getLineDash()!==this.cache.line_dash&&e.setLineDash(this.cache.line_dash),this.cache_select(\"line_dash_offset\",t),e.getLineDashOffset()!==this.cache.line_dash_offset&&e.setLineDashOffset(this.cache.line_dash_offset)},t.prototype.color_value=function(){var e=c.color2rgba(this.line_color.value(),this.line_alpha.value());return\"rgba(\"+255*e[0]+\",\"+255*e[1]+\",\"+255*e[2]+\",\"+e[3]+\")\"},t}(r);a.Line=_,_.__name__=\"Line\",_.prototype.attrs=Object.keys(l.line());var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.set_value=function(e){e.fillStyle=this.fill_color.value(),e.globalAlpha=this.fill_alpha.value()},Object.defineProperty(t.prototype,\"doit\",{get:function(){return!(null===this.fill_color.spec.value||0==this.fill_alpha.spec.value)},enumerable:!0,configurable:!0}),t.prototype._set_vectorize=function(e,t){this.cache_select(\"fill_color\",t),e.fillStyle!==this.cache.fill_color&&(e.fillStyle=this.cache.fill_color),this.cache_select(\"fill_alpha\",t),e.globalAlpha!==this.cache.fill_alpha&&(e.globalAlpha=this.cache.fill_alpha)},t.prototype.color_value=function(){var e=c.color2rgba(this.fill_color.value(),this.fill_alpha.value());return\"rgba(\"+255*e[0]+\",\"+255*e[1]+\",\"+255*e[2]+\",\"+e[3]+\")\"},t}(r);a.Fill=p,p.__name__=\"Fill\",p.prototype.attrs=Object.keys(l.fill());var u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.cache_select=function(t,a){var i;if(\"pattern\"==t){this.cache_select(\"hatch_color\",a),this.cache_select(\"hatch_scale\",a),this.cache_select(\"hatch_pattern\",a),this.cache_select(\"hatch_weight\",a);var l=this.cache,c=l.hatch_color,o=l.hatch_scale,s=l.hatch_pattern,h=l.hatch_weight,r=l.hatch_extra;if(null!=r&&r.hasOwnProperty(s)){var _=r[s];this.cache.pattern=_.get_pattern(c,o,h)}else this.cache.pattern=function(e){var t=n(s,c,o,h);return e.createPattern(t,\"repeat\")}}else i=e.prototype.cache_select.call(this,t,a);return i},t.prototype._try_defer=function(e){var t=this.cache,a=t.hatch_pattern,i=t.hatch_extra;null!=i&&i.hasOwnProperty(a)&&i[a].onload(e)},Object.defineProperty(t.prototype,\"doit\",{get:function(){return!(null===this.hatch_color.spec.value||0==this.hatch_alpha.spec.value||\" \"==this.hatch_pattern.spec.value||\"blank\"==this.hatch_pattern.spec.value||null===this.hatch_pattern.spec.value)},enumerable:!0,configurable:!0}),t.prototype.doit2=function(e,t,a,i){this.doit&&(this.cache_select(\"pattern\",t),null==this.cache.pattern(e)?this._try_defer(i):(this.set_vectorize(e,t),a()))},t.prototype._set_vectorize=function(e,t){this.cache_select(\"pattern\",t),e.fillStyle=this.cache.pattern(e),this.cache_select(\"hatch_alpha\",t),e.globalAlpha!==this.cache.hatch_alpha&&(e.globalAlpha=this.cache.hatch_alpha)},t.prototype.color_value=function(){var e=c.color2rgba(this.hatch_color.value(),this.hatch_alpha.value());return\"rgba(\"+255*e[0]+\",\"+255*e[1]+\",\"+255*e[2]+\",\"+e[3]+\")\"},t}(r);a.Hatch=u,u.__name__=\"Hatch\",u.prototype.attrs=Object.keys(l.hatch());var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.cache_select=function(t,a){var i;if(\"font\"==t){e.prototype.cache_select.call(this,\"text_font_style\",a),e.prototype.cache_select.call(this,\"text_font_size\",a),e.prototype.cache_select.call(this,\"text_font\",a);var l=this.cache,c=l.text_font_style,o=l.text_font_size,s=l.text_font;this.cache.font=i=c+\" \"+o+\" \"+s}else i=e.prototype.cache_select.call(this,t,a);return i},t.prototype.font_value=function(){var e=this.text_font.value(),t=this.text_font_size.value();return this.text_font_style.value()+\" \"+t+\" \"+e},t.prototype.color_value=function(){var e=c.color2rgba(this.text_color.value(),this.text_alpha.value());return\"rgba(\"+255*e[0]+\",\"+255*e[1]+\",\"+255*e[2]+\",\"+e[3]+\")\"},t.prototype.set_value=function(e){e.font=this.font_value(),e.fillStyle=this.text_color.value(),e.globalAlpha=this.text_alpha.value(),e.textAlign=this.text_align.value(),e.textBaseline=this.text_baseline.value()},Object.defineProperty(t.prototype,\"doit\",{get:function(){return!(null===this.text_color.spec.value||0==this.text_alpha.spec.value)},enumerable:!0,configurable:!0}),t.prototype._set_vectorize=function(e,t){this.cache_select(\"font\",t),e.font!==this.cache.font&&(e.font=this.cache.font),this.cache_select(\"text_color\",t),e.fillStyle!==this.cache.text_color&&(e.fillStyle=this.cache.text_color),this.cache_select(\"text_alpha\",t),e.globalAlpha!==this.cache.text_alpha&&(e.globalAlpha=this.cache.text_alpha),this.cache_select(\"text_align\",t),e.textAlign!==this.cache.text_align&&(e.textAlign=this.cache.text_align),this.cache_select(\"text_baseline\",t),e.textBaseline!==this.cache.text_baseline&&(e.textBaseline=this.cache.text_baseline)},t}(r);a.Text=f,f.__name__=\"Text\",f.prototype.attrs=Object.keys(l.text());var v=function(){function e(e){for(var t=0,a=e.mixins;t<a.length;t++){var i=a[t].split(\":\"),l=i[0],c=i[1],o=void 0===c?\"\":c,s=void 0;switch(l){case\"line\":s=_;break;case\"fill\":s=p;break;case\"hatch\":s=u;break;case\"text\":s=f;break;default:throw new Error(\"unknown visual: \"+l)}this[o+l]=new s(e,o)}}return e.prototype.warm_cache=function(e){for(var t in this)if(this.hasOwnProperty(t)){var a=this[t];a instanceof r&&a.warm_cache(e)}},e.prototype.set_all_indices=function(e){for(var t in this)if(this.hasOwnProperty(t)){var a=this[t];a instanceof r&&(a.all_indices=e)}},e}();a.Visuals=v,v.__name__=\"Visuals\"},\n",
       "      function _(t,e,n){var r=t(113),s=t(115),c=t(121),i=t(109),o=t(125),a=t(167),l=function(t){function e(e){return t.call(this,e)||this}return r.__extends(e,t),e.init_Model=function(){this.define({tags:[c.Array,[]],name:[c.String],js_property_callbacks:[c.Any,{}],js_event_callbacks:[c.Any,{}],subscribed_events:[c.Array,[]]})},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this._update_property_callbacks(),this.connect(this.properties.js_property_callbacks.change,function(){return e._update_property_callbacks()}),this.connect(this.properties.js_event_callbacks.change,function(){return e._update_event_callbacks()}),this.connect(this.properties.subscribed_events.change,function(){return e._update_event_callbacks()})},e.prototype._process_event=function(t){for(var e=0,n=this.js_event_callbacks[t.event_name]||[];e<n.length;e++){n[e].execute(t)}null!=this.document&&this.subscribed_events.some(function(e){return e==t.event_name})&&this.document.event_manager.send_event(t)},e.prototype.trigger_event=function(t){null!=this.document&&(t.origin=this,this.document.event_manager.trigger(t))},e.prototype._update_event_callbacks=function(){null!=this.document?this.document.event_manager.subscribed_models.add(this.id):a.logger.warn(\"WARNING: Document not defined for updating event callbacks\")},e.prototype._update_property_callbacks=function(){var t=this,e=function(e){var n=e.split(\":\"),r=n[0],s=n[1],c=void 0===s?null:s;return null!=c?t.properties[c][r]:t[r]};for(var n in this._js_callbacks)for(var r=this._js_callbacks[n],s=e(n),c=0,i=r;c<i.length;c++){var o=i[c];this.disconnect(s,o)}for(var n in this._js_callbacks={},this.js_property_callbacks){var a=(r=this.js_property_callbacks[n]).map(function(e){return function(){return e.execute(t)}});this._js_callbacks[n]=a;s=e(n);for(var l=0,_=a;l<_.length;l++){o=_[l];this.connect(s,o)}}},e.prototype._doc_attached=function(){o.isEmpty(this.js_event_callbacks)&&o.isEmpty(this.subscribed_events)||this._update_event_callbacks()},e.prototype.select=function(t){if(i.isString(t))return this.references().filter(function(n){return n instanceof e&&n.name===t});if(t.prototype instanceof s.HasProps)return this.references().filter(function(e){return e instanceof t});throw new Error(\"invalid selector\")},e.prototype.select_one=function(t){var e=this.select(t);switch(e.length){case 0:return null;case 1:return e[0];default:throw new Error(\"found more than one object matching given selector\")}},e}(s.HasProps);n.Model=l,l.__name__=\"Model\",l.init_Model()},\n",
       "      function _(e,l,o){var n=e(109),t={},r=function(){return function(e,l){this.name=e,this.level=l}}();o.LogLevel=r,r.__name__=\"LogLevel\";var g=function(){function e(l,o){void 0===o&&(o=e.INFO),this._name=l,this.set_level(o)}return Object.defineProperty(e,\"levels\",{get:function(){return Object.keys(e.log_levels)},enumerable:!0,configurable:!0}),e.get=function(l,o){if(void 0===o&&(o=e.INFO),l.length>0){var n=t[l];return null==n&&(t[l]=n=new e(l,o)),n}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")},Object.defineProperty(e.prototype,\"level\",{get:function(){return this.get_level()},enumerable:!0,configurable:!0}),e.prototype.get_level=function(){return this._log_level},e.prototype.set_level=function(l){if(l instanceof r)this._log_level=l;else{if(!n.isString(l)||null==e.log_levels[l])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=e.log_levels[l]}var o=\"[\"+this._name+\"]\";for(var t in e.log_levels){e.log_levels[t].level<this._log_level.level||this._log_level.level===e.OFF.level?this[t]=function(){}:this[t]=i(t,o)}},e.prototype.trace=function(){for(var e=[],l=0;l<arguments.length;l++)e[l]=arguments[l]},e.prototype.debug=function(){for(var e=[],l=0;l<arguments.length;l++)e[l]=arguments[l]},e.prototype.info=function(){for(var e=[],l=0;l<arguments.length;l++)e[l]=arguments[l]},e.prototype.warn=function(){for(var e=[],l=0;l<arguments.length;l++)e[l]=arguments[l]},e.prototype.error=function(){for(var e=[],l=0;l<arguments.length;l++)e[l]=arguments[l]},e}();function i(e,l){return null!=console[e]?console[e].bind(console,l):null!=console.log?console.log.bind(console,l):function(){}}o.Logger=g,g.__name__=\"Logger\",g.TRACE=new r(\"trace\",0),g.DEBUG=new r(\"debug\",1),g.INFO=new r(\"info\",2),g.WARN=new r(\"warn\",6),g.ERROR=new r(\"error\",7),g.FATAL=new r(\"fatal\",8),g.OFF=new r(\"off\",9),g.log_levels={trace:g.TRACE,debug:g.DEBUG,info:g.INFO,warn:g.WARN,error:g.ERROR,fatal:g.FATAL,off:g.OFF},o.logger=g.get(\"bokeh\"),o.set_log_level=function(e){null==g.log_levels[e]?(console.log(\"[bokeh] unrecognized logging level '\"+e+\"' passed to Bokeh.set_log_level(), ignoring\"),console.log(\"[bokeh] valid log levels are: \"+g.levels.join(\", \"))):(console.log(\"[bokeh] setting log level to: '\"+e+\"'\"),o.logger.set_level(e))}},\n",
       "      function _(t,e,i){var n=t(113),s=t(131),r=t(169),a=t(170),o=t(121),_=t(111),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),null==this.model.source&&(this.model.source=new a.ColumnDataSource),this.set_data(this.model.source)},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.set_data(e.model.source)}),this.connect(this.model.source.streaming,function(){return e.set_data(e.model.source)}),this.connect(this.model.source.patching,function(){return e.set_data(e.model.source)})},e.prototype.set_data=function(e){t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,i,n,s=this.plot_view.frame;return\"data\"==this.model.start_units?(t=s.xscales[this.model.x_range_name].v_compute(this._x_start),e=s.yscales[this.model.y_range_name].v_compute(this._y_start)):(t=s.xview.v_compute(this._x_start),e=s.yview.v_compute(this._y_start)),\"data\"==this.model.end_units?(i=s.xscales[this.model.x_range_name].v_compute(this._x_end),n=s.yscales[this.model.y_range_name].v_compute(this._y_end)):(i=s.xview.v_compute(this._x_end),n=s.yview.v_compute(this._y_end)),[[t,e],[i,n]]},e.prototype.render=function(){if(this.model.visible){var t=this.plot_view.canvas_view.ctx;t.save();var e=this._map_data(),i=e[0],n=e[1];null!=this.model.end&&this._arrow_head(t,\"render\",this.model.end,i,n),null!=this.model.start&&this._arrow_head(t,\"render\",this.model.start,n,i),t.beginPath();var s=this.plot_view.layout.bbox,r=s.x,a=s.y,o=s.width,_=s.height;t.rect(r,a,o,_),null!=this.model.end&&this._arrow_head(t,\"clip\",this.model.end,i,n),null!=this.model.start&&this._arrow_head(t,\"clip\",this.model.start,n,i),t.closePath(),t.clip(),this._arrow_body(t,i,n),t.restore()}},e.prototype._arrow_head=function(t,e,i,n,s){for(var r=0,a=this._x_start.length;r<a;r++){var o=Math.PI/2+_.atan2([n[0][r],n[1][r]],[s[0][r],s[1][r]]);t.save(),t.translate(s[0][r],s[1][r]),t.rotate(o),\"render\"==e?i.render(t,r):\"clip\"==e&&i.clip(t,r),t.restore()}},e.prototype._arrow_body=function(t,e,i){if(this.visuals.line.doit)for(var n=0,s=this._x_start.length;n<s;n++)this.visuals.line.set_vectorize(t,n),t.beginPath(),t.moveTo(e[0][n],e[1][n]),t.lineTo(i[0][n],i[1][n]),t.stroke()},e}(s.AnnotationView);i.ArrowView=l,l.__name__=\"ArrowView\";var h=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_Arrow=function(){this.prototype.default_view=l,this.mixins([\"line\"]),this.define({x_start:[o.NumberSpec],y_start:[o.NumberSpec],start_units:[o.SpatialUnits,\"data\"],start:[o.Instance,null],x_end:[o.NumberSpec],y_end:[o.NumberSpec],end_units:[o.SpatialUnits,\"data\"],end:[o.Instance,function(){return new r.OpenHead({})}],source:[o.Instance],x_range_name:[o.String,\"default\"],y_range_name:[o.String,\"default\"]})},e}(s.Annotation);i.Arrow=h,h.__name__=\"Arrow\",h.init_Arrow()},\n",
       "      function _(i,e,t){var s=i(113),n=i(131),o=i(165),l=i(121),h=function(i){function e(e){return i.call(this,e)||this}return s.__extends(e,i),e.init_ArrowHead=function(){this.define({size:[l.Number,25]})},e.prototype.initialize=function(){i.prototype.initialize.call(this),this.visuals=new o.Visuals(this)},e}(n.Annotation);t.ArrowHead=h,h.__name__=\"ArrowHead\",h.init_ArrowHead();var r=function(i){function e(e){return i.call(this,e)||this}return s.__extends(e,i),e.init_OpenHead=function(){this.mixins([\"line\"])},e.prototype.clip=function(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,0),i.lineTo(.5*this.size,this.size)},e.prototype.render=function(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.stroke())},e}(h);t.OpenHead=r,r.__name__=\"OpenHead\",r.init_OpenHead();var a=function(i){function e(e){return i.call(this,e)||this}return s.__extends(e,i),e.init_NormalHead=function(){this.mixins([\"line\",\"fill\"]),this.override({fill_color:\"black\"})},e.prototype.clip=function(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(.5*this.size,this.size)},e.prototype.render=function(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._normal(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._normal(i,e),i.stroke())},e.prototype._normal=function(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.closePath()},e}(h);t.NormalHead=a,a.__name__=\"NormalHead\",a.init_NormalHead();var _=function(i){function e(e){return i.call(this,e)||this}return s.__extends(e,i),e.init_VeeHead=function(){this.mixins([\"line\",\"fill\"]),this.override({fill_color:\"black\"})},e.prototype.clip=function(i,e){this.visuals.line.set_vectorize(i,e),i.moveTo(.5*this.size,this.size),i.lineTo(.5*this.size,-2),i.lineTo(-.5*this.size,-2),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.lineTo(.5*this.size,this.size)},e.prototype.render=function(i,e){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(i,e),this._vee(i,e),i.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),this._vee(i,e),i.stroke())},e.prototype._vee=function(i,e){i.beginPath(),i.moveTo(.5*this.size,this.size),i.lineTo(0,0),i.lineTo(-.5*this.size,this.size),i.lineTo(0,.5*this.size),i.closePath()},e}(h);t.VeeHead=_,_.__name__=\"VeeHead\",_.init_VeeHead();var u=function(i){function e(e){return i.call(this,e)||this}return s.__extends(e,i),e.init_TeeHead=function(){this.mixins([\"line\"])},e.prototype.render=function(i,e){this.visuals.line.doit&&(this.visuals.line.set_vectorize(i,e),i.beginPath(),i.moveTo(.5*this.size,0),i.lineTo(-.5*this.size,0),i.stroke())},e.prototype.clip=function(i,e){},e}(h);t.TeeHead=u,u.__name__=\"TeeHead\",u.init_TeeHead()},\n",
       "      function _(t,n,e){var a=t(113),i=t(171),r=t(115),o=t(121),s=t(117),u=t(196),l=t(109),h=t(198),c=t(125),d=t(199);function _(t,n,e){if(l.isArray(t)){var a=t.concat(n);return null!=e&&a.length>e?a.slice(-e):a}if(l.isTypedArray(t)){var i=t.length+n.length;if(null!=e&&i>e){var r=i-e,o=t.length;a=void 0;t.length<e?(a=new t.constructor(e)).set(t,0):a=t;for(var s=r,u=o;s<u;s++)a[s-r]=a[s];for(s=0,u=n.length;s<u;s++)a[s+(o-r)]=n[s];return a}var c=new t.constructor(n);return h.concat(t,c)}throw new Error(\"unsupported array types\")}function v(t,n){var e,a,i;return l.isNumber(t)?(e=t,i=t+1,a=1):(e=null!=t.start?t.start:0,i=null!=t.stop?t.stop:n,a=null!=t.step?t.step:1),[e,i,a]}function f(t,n,e){for(var a=new s.Set,i=!1,r=0,o=n;r<o.length;r++){var u=o[r],h=u[0],c=u[1],d=void 0,_=void 0,f=void 0,m=void 0;if(l.isArray(h)){var p=h[0];a.add(p),_=e[p],d=t[p],m=c,2===h.length?(_=[1,_[0]],f=[h[0],0,h[1]]):f=h}else l.isNumber(h)?(m=[c],a.add(h)):(m=c,i=!0),f=[0,0,h],_=[1,t.length],d=t;var y=0,g=v(f[1],_[0]),w=g[0],S=g[1],b=g[2],C=v(f[2],_[1]),j=C[0],D=C[1],A=C[2];for(p=w;p<S;p+=b)for(var z=j;z<D;z+=A)i&&a.add(z),d[p*_[1]+z]=m[y],y++}return a}e.stream_to_column=_,e.slice=v,e.patch_to_column=f;var m=function(t){function n(n){return t.call(this,n)||this}return a.__extends(n,t),n.init_ColumnDataSource=function(){this.define({data:[o.Any,{}]})},n.prototype.initialize=function(){var n;t.prototype.initialize.call(this),n=u.decode_column_data(this.data),this.data=n[0],this._shapes=n[1]},n.prototype.attributes_as_json=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=n._value_to_json);for(var a={},i=this.serializable_attributes(),r=0,o=c.keys(i);r<o.length;r++){var s=o[r],l=i[s];\"data\"===s&&(l=u.encode_column_data(l,this._shapes)),t?a[s]=l:s in this._set_after_defaults&&(a[s]=l)}return e(\"attributes\",a,this)},n._value_to_json=function(t,n,e){return l.isPlainObject(n)&&\"data\"===t?u.encode_column_data(n,e._shapes):r.HasProps._value_to_json(t,n,e)},n.prototype.stream=function(t,n,e){var a=this.data;for(var i in t)a[i]=_(a[i],t[i],n);if(this.setv({data:a},{silent:!0}),this.streaming.emit(),null!=this.document){var r=new d.ColumnsStreamedEvent(this.document,this.ref(),t,n);this.document._notify_change(this,\"data\",null,null,{setter_id:e,hint:r})}},n.prototype.patch=function(t,n){var e=this.data,a=new s.Set;for(var i in t){var r=t[i];a=a.union(f(e[i],r,this._shapes[i]))}if(this.setv({data:e},{silent:!0}),this.patching.emit(a.values),null!=this.document){var o=new d.ColumnsPatchedEvent(this.document,this.ref(),t);this.document._notify_change(this,\"data\",null,null,{setter_id:n,hint:o})}},n}(i.ColumnarDataSource);e.ColumnDataSource=m,m.__name__=\"ColumnDataSource\",m.init_ColumnDataSource()},\n",
       "      function _(t,n,e){var r=t(113),i=t(172),a=t(116),o=t(167),s=t(174),u=t(121),c=t(109),l=t(110),h=t(125),g=t(173),p=t(195),f=function(t){function n(n){return t.call(this,n)||this}return r.__extends(n,t),n.prototype.get_array=function(t){var n=this.data[t];return null==n?this.data[t]=n=[]:c.isArray(n)||(this.data[t]=n=Array.from(n)),n},n.init_ColumnarDataSource=function(){this.define({selection_policy:[u.Instance,function(){return new p.UnionRenderers}]}),this.internal({selection_manager:[u.Instance,function(t){return new s.SelectionManager({source:t})}],inspected:[u.Instance,function(){return new g.Selection}],_shapes:[u.Any,{}]})},n.prototype.initialize=function(){t.prototype.initialize.call(this),this._select=new a.Signal0(this,\"select\"),this.inspect=new a.Signal(this,\"inspect\"),this.streaming=new a.Signal0(this,\"streaming\"),this.patching=new a.Signal(this,\"patching\")},n.prototype.get_column=function(t){var n=this.data[t];return null!=n?n:null},n.prototype.columns=function(){return h.keys(this.data)},n.prototype.get_length=function(t){void 0===t&&(t=!0);var n=l.uniq(h.values(this.data).map(function(t){return t.length}));switch(n.length){case 0:return null;case 1:return n[0];default:var e=\"data source has columns of inconsistent lengths\";if(t)return o.logger.warn(e),n.sort()[0];throw new Error(e)}},n.prototype.get_indices=function(){var t=this.get_length();return l.range(0,null!=t?t:1)},n.prototype.clear=function(){for(var t={},n=0,e=this.columns();n<e.length;n++){var r=e[n];t[r]=new this.data[r].constructor(0)}this.data=t},n}(i.DataSource);e.ColumnarDataSource=f,f.__name__=\"ColumnarDataSource\",f.init_ColumnarDataSource()},\n",
       "      function _(n,t,e){var c=n(113),a=n(166),i=n(173),o=n(121),l=function(n){function t(t){return n.call(this,t)||this}return c.__extends(t,n),t.init_DataSource=function(){this.define({selected:[o.Instance,function(){return new i.Selection}],callback:[o.Any]})},t.prototype.connect_signals=function(){var t=this;n.prototype.connect_signals.call(this),this.connect(this.selected.change,function(){null!=t.callback&&t.callback.execute(t)})},t}(a.Model);e.DataSource=l,l.__name__=\"DataSource\",l.init_DataSource()},\n",
       "      function _(i,e,t){var n=i(113),s=i(166),c=i(121),l=i(110),h=i(125),d=function(i){function e(e){return i.call(this,e)||this}return n.__extends(e,i),e.init_Selection=function(){this.define({indices:[c.Array,[]],line_indices:[c.Array,[]],multiline_indices:[c.Any,{}]}),this.internal({final:[c.Boolean],selected_glyphs:[c.Array,[]],get_view:[c.Any],image_indices:[c.Array,[]]})},e.prototype.initialize=function(){var e=this;i.prototype.initialize.call(this),this[\"0d\"]={glyph:null,indices:[],flag:!1,get_view:function(){return null}},this[\"1d\"]={indices:this.indices},this[\"2d\"]={indices:{}},this.get_view=function(){return null},this.connect(this.properties.indices.change,function(){return e[\"1d\"].indices=e.indices}),this.connect(this.properties.line_indices.change,function(){e[\"0d\"].indices=e.line_indices,e[\"0d\"].flag=0!=e.line_indices.length}),this.connect(this.properties.selected_glyphs.change,function(){return e[\"0d\"].glyph=e.selected_glyph}),this.connect(this.properties.get_view.change,function(){return e[\"0d\"].get_view=e.get_view}),this.connect(this.properties.multiline_indices.change,function(){return e[\"2d\"].indices=e.multiline_indices})},Object.defineProperty(e.prototype,\"selected_glyph\",{get:function(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null},enumerable:!0,configurable:!0}),e.prototype.add_to_selected_glyphs=function(i){this.selected_glyphs.push(i)},e.prototype.update=function(i,e,t){this.final=e,t?this.update_through_union(i):(this.indices=i.indices,this.line_indices=i.line_indices,this.selected_glyphs=i.selected_glyphs,this.get_view=i.get_view,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices)},e.prototype.clear=function(){this.final=!0,this.indices=[],this.line_indices=[],this.multiline_indices={},this.get_view=function(){return null},this.selected_glyphs=[]},e.prototype.is_empty=function(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length},e.prototype.update_through_union=function(i){this.indices=l.union(i.indices,this.indices),this.selected_glyphs=l.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=l.union(i.line_indices,this.line_indices),this.get_view()||(this.get_view=i.get_view),this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)},e.prototype.update_through_intersection=function(i){this.indices=l.intersection(i.indices,this.indices),this.selected_glyphs=l.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=l.union(i.line_indices,this.line_indices),this.get_view()||(this.get_view=i.get_view),this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)},e}(s.Model);t.Selection=d,d.__name__=\"Selection\",d.init_Selection()},\n",
       "      function _(e,t,i){var n=e(113),o=e(115),r=e(173),s=e(175),c=e(192),l=e(121),p=function(e){function t(t){var i=e.call(this,t)||this;return i.inspectors={},i}return n.__extends(t,e),t.init_SelectionManager=function(){this.internal({source:[l.Any]})},t.prototype.select=function(e,t,i,n){void 0===n&&(n=!1);for(var o=[],r=[],l=0,p=e;l<p.length;l++){(u=p[l])instanceof s.GlyphRendererView?o.push(u):u instanceof c.GraphRendererView&&r.push(u)}for(var a=!1,_=0,h=r;_<h.length;_++){var u,d=(u=h[_]).model.selection_policy.hit_test(t,u);a=a||u.model.selection_policy.do_selection(d,u.model,i,n)}if(o.length>0){d=this.source.selection_policy.hit_test(t,o);a=a||this.source.selection_policy.do_selection(d,this.source,i,n)}return a},t.prototype.inspect=function(e,t){var i=!1;if(e instanceof s.GlyphRendererView){if(null!=(o=e.hit_test(t))){i=!o.is_empty();var n=this.get_or_create_inspector(e.model);n.update(o,!0,!1),this.source.setv({inspected:n},{silent:!0}),this.source.inspect.emit([e,{geometry:t}])}}else if(e instanceof c.GraphRendererView){var o=e.model.inspection_policy.hit_test(t,e);i=i||e.model.inspection_policy.do_inspection(o,t,e,!1,!1)}return i},t.prototype.clear=function(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()},t.prototype.get_or_create_inspector=function(e){return null==this.inspectors[e.id]&&(this.inspectors[e.id]=new r.Selection),this.inspectors[e.id]},t}(o.HasProps);i.SelectionManager=p,p.__name__=\"SelectionManager\",p.init_SelectionManager()},\n",
       "      function _(e,t,i){var n=e(113),l=e(176),s=e(177),h=e(187),r=e(188),o=e(190),a=e(191),d=e(167),c=e(121),_=e(114),p=e(110),u=e(125),g=e(184),y={fill:{},line:{}},m={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},v={fill:{fill_alpha:.2},line:{}},f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this);var t=this.model.glyph,i=p.includes(t.mixins,\"fill\"),n=p.includes(t.mixins,\"line\"),l=u.clone(t.attributes);function s(e){var s=u.clone(l);return i&&u.extend(s,e.fill),n&&u.extend(s,e.line),new t.constructor(s)}delete l.id,this.glyph=this.build_glyph_view(t);var h=this.model.selection_glyph;null==h?h=s({fill:{},line:{}}):\"auto\"===h&&(h=s(y)),this.selection_glyph=this.build_glyph_view(h);var r=this.model.nonselection_glyph;null==r?r=s({fill:{},line:{}}):\"auto\"===r&&(r=s(v)),this.nonselection_glyph=this.build_glyph_view(r);var o=this.model.hover_glyph;null!=o&&(this.hover_glyph=this.build_glyph_view(o));var a=this.model.muted_glyph;null!=a&&(this.muted_glyph=this.build_glyph_view(a));var d=s(m);this.decimated_glyph=this.build_glyph_view(d),this.xscale=this.plot_view.frame.xscales[this.model.x_range_name],this.yscale=this.plot_view.frame.yscales[this.model.y_range_name],this.set_data(!1)},t.prototype.build_glyph_view=function(e){return new e.default_view({model:e,parent:this})},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.request_render()}),this.connect(this.model.glyph.change,function(){return t.set_data()}),this.connect(this.model.data_source.change,function(){return t.set_data()}),this.connect(this.model.data_source.streaming,function(){return t.set_data()}),this.connect(this.model.data_source.patching,function(e){return t.set_data(!0,e)}),this.connect(this.model.data_source.selected.change,function(){return t.request_render()}),this.connect(this.model.data_source._select,function(){return t.request_render()}),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,function(){return t.request_render()}),this.connect(this.model.properties.view.change,function(){return t.set_data()}),this.connect(this.model.view.change,function(){return t.set_data()}),this.connect(this.model.properties.visible.change,function(){return t.plot_view.update_dataranges()});var i=this.plot_view.frame,n=i.x_ranges,l=i.y_ranges;for(var s in n){(h=n[s])instanceof g.FactorRange&&this.connect(h.change,function(){return t.set_data()})}for(var s in l){var h;(h=l[s])instanceof g.FactorRange&&this.connect(h.change,function(){return t.set_data()})}this.connect(this.model.glyph.transformchange,function(){return t.set_data()})},t.prototype.have_selection_glyphs=function(){return null!=this.selection_glyph&&null!=this.nonselection_glyph},t.prototype.set_data=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=null);var i=Date.now(),n=this.model.data_source;this.all_indices=this.model.view.indices,this.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.glyph.set_data(n,this.all_indices,t),this.glyph.set_visuals(n),this.decimated_glyph.set_visuals(n),this.have_selection_glyphs()&&(this.selection_glyph.set_visuals(n),this.nonselection_glyph.set_visuals(n)),null!=this.hover_glyph&&this.hover_glyph.set_visuals(n),null!=this.muted_glyph&&this.muted_glyph.set_visuals(n);var l=this.plot_model.lod_factor;this.decimated=[];for(var s=0,h=Math.floor(this.all_indices.length/l);s<h;s++)this.decimated.push(s*l);var r=Date.now()-i;d.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): set_data finished in \"+r+\"ms\"),this.set_data_timestamp=Date.now(),e&&this.request_render()},Object.defineProperty(t.prototype,\"has_webgl\",{get:function(){return null!=this.glyph.glglyph},enumerable:!0,configurable:!0}),t.prototype.render=function(){var e=this;if(this.model.visible){var t=Date.now(),i=this.has_webgl;this.glyph.map_data();var n=Date.now()-t,l=Date.now(),a=this.glyph.mask_data(this.all_indices);a.length===this.all_indices.length&&(a=p.range(0,this.all_indices.length));var c=Date.now()-l,u=this.plot_view.canvas_view.ctx;u.save();var g,y=this.model.data_source.selected;g=!y||y.is_empty()?[]:this.glyph instanceof s.LineView&&y.selected_glyph===this.glyph.model?this.model.view.convert_indices_from_subset(a):y.indices;var m,v,f,w=this.model.data_source.inspected,b=new Set(!w||w.is_empty()?[]:w[\"0d\"].glyph?e.model.view.convert_indices_from_subset(a):w[\"1d\"].indices.length>0?w[\"1d\"].indices:_.map(Object.keys(w[\"2d\"].indices),function(e){return parseInt(e)})),x=_.filter(a,function(t){return b.has(e.all_indices[t])}),D=this.plot_model.lod_threshold;null!=this.model.document&&this.model.document.interactive_duration()>0&&!i&&null!=D&&this.all_indices.length>D?(a=this.decimated,m=this.decimated_glyph,v=this.decimated_glyph,f=this.selection_glyph):(m=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,v=this.nonselection_glyph,f=this.selection_glyph),null!=this.hover_glyph&&x.length&&(a=p.difference(a,x));var R,V=null;if(g.length&&this.have_selection_glyphs()){for(var G=Date.now(),A={},I=0,q=g;I<q.length;I++){A[P=q[I]]=!0}var k=new Array,z=new Array;if(this.glyph instanceof s.LineView)for(var L=0,O=this.all_indices;L<O.length;L++){null!=A[P=O[L]]?k.push(P):z.push(P)}else for(var j=0,F=a;j<F.length;j++){var P=F[j];null!=A[this.all_indices[P]]?k.push(P):z.push(P)}V=Date.now()-G,R=Date.now(),v.render(u,z,this.glyph),f.render(u,k,this.glyph),null!=this.hover_glyph&&(this.glyph instanceof s.LineView?this.hover_glyph.render(u,this.model.view.convert_indices_from_subset(x),this.glyph):this.hover_glyph.render(u,x,this.glyph))}else if(R=Date.now(),this.glyph instanceof s.LineView)this.hover_glyph&&x.length?this.hover_glyph.render(u,this.model.view.convert_indices_from_subset(x),this.glyph):m.render(u,this.all_indices,this.glyph);else if(this.glyph instanceof h.PatchView||this.glyph instanceof r.HAreaView||this.glyph instanceof o.VAreaView)if(0==w.selected_glyphs.length||null==this.hover_glyph)m.render(u,this.all_indices,this.glyph);else for(var S=0,B=w.selected_glyphs;S<B.length;S++){B[S].id==this.glyph.model.id&&this.hover_glyph.render(u,this.all_indices,this.glyph)}else m.render(u,a,this.glyph),this.hover_glyph&&x.length&&this.hover_glyph.render(u,x,this.glyph);var C=Date.now()-R;this.last_dtrender=C;var H=Date.now()-t;d.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): render finished in \"+H+\"ms\"),d.logger.trace(\" - map_data finished in       : \"+n+\"ms\"),d.logger.trace(\" - mask_data finished in      : \"+c+\"ms\"),null!=V&&d.logger.trace(\" - selection mask finished in : \"+V+\"ms\"),d.logger.trace(\" - glyph renders finished in  : \"+C+\"ms\"),u.restore()}},t.prototype.draw_legend=function(e,t,i,n,l,s,h,r){null==r&&(r=this.model.get_reference_point(s,h)),this.glyph.draw_legend_for_index(e,{x0:t,x1:i,y0:n,y1:l},r)},t.prototype.hit_test=function(e){if(!this.model.visible)return null;var t=this.glyph.hit_test(e);return null==t?null:this.model.view.convert_selection_from_subset(t)},t}(l.DataRendererView);i.GlyphRendererView=f,f.__name__=\"GlyphRendererView\";var w=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.init_GlyphRenderer=function(){this.prototype.default_view=f,this.define({data_source:[c.Instance],view:[c.Instance,function(){return new a.CDSView}],glyph:[c.Instance],hover_glyph:[c.Instance],nonselection_glyph:[c.Any,\"auto\"],selection_glyph:[c.Any,\"auto\"],muted_glyph:[c.Instance],muted:[c.Boolean,!1]})},t.prototype.initialize=function(){e.prototype.initialize.call(this),null==this.view.source&&(this.view.source=this.data_source,this.view.compute_indices())},t.prototype.get_reference_point=function(e,t){var i=0;if(null!=e){var n=this.data_source.get_column(e);if(null!=n){var l=_.indexOf(n,t);-1!=l&&(i=l)}}return i},t.prototype.get_selection_manager=function(){return this.data_source.selection_manager},t}(l.DataRenderer);i.GlyphRenderer=w,w.__name__=\"GlyphRenderer\",w.init_GlyphRenderer()},\n",
       "      function _(e,n,r){var t=e(113),a=e(160),i=e(121),_=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t.__extends(n,e),n}(a.RendererView);r.DataRendererView=_,_.__name__=\"DataRendererView\";var d=function(e){function n(n){return e.call(this,n)||this}return t.__extends(n,e),n.init_DataRenderer=function(){this.define({x_range_name:[i.String,\"default\"],y_range_name:[i.String,\"default\"]}),this.override({level:\"glyph\"})},n}(a.Renderer);r.DataRenderer=d,d.__name__=\"DataRenderer\",d.init_DataRenderer()},\n",
       "      function _(t,e,i){var n=t(113),s=t(178),r=t(186),_=t(183),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype._render=function(t,e,i){var n=i.sx,s=i.sy,r=!1,_=null;this.visuals.line.set_value(t);for(var o=0,h=e;o<h.length;o++){var l=h[o];if(r){if(!isFinite(n[l]+s[l])){t.stroke(),t.beginPath(),r=!1,_=l;continue}null!=_&&l-_>1&&(t.stroke(),r=!1)}r?t.lineTo(n[l],s[l]):(t.beginPath(),t.moveTo(n[l],s[l]),r=!0),_=l}r&&t.stroke()},e.prototype._hit_point=function(t){for(var e=this,i=_.create_empty_hit_test_result(),n={x:t.sx,y:t.sy},s=9999,r=Math.max(2,this.visuals.line.line_width.value()/2),o=0,h=this.sx.length-1;o<h;o++){var l={x:this.sx[o],y:this.sy[o]},u={x:this.sx[o+1],y:this.sy[o+1]},a=_.dist_to_segment(n,l,u);a<r&&a<s&&(s=a,i.add_to_selected_glyphs(this.model),i.get_view=function(){return e},i.line_indices=[o])}return i},e.prototype._hit_span=function(t){var e,i,n=this,s=t.sx,r=t.sy,o=_.create_empty_hit_test_result();\"v\"==t.direction?(e=this.renderer.yscale.invert(r),i=this._y):(e=this.renderer.xscale.invert(s),i=this._x);for(var h=0,l=i.length-1;h<l;h++)(i[h]<=e&&e<=i[h+1]||i[h+1]<=e&&e<=i[h])&&(o.add_to_selected_glyphs(this.model),o.get_view=function(){return n},o.line_indices.push(h));return o},e.prototype.get_interpolation_hit=function(t,e){var i=[this._x[t],this._y[t],this._x[t+1],this._y[t+1]],n=i[0],s=i[1],_=i[2],o=i[3];return r.line_interpolation(this.renderer,e,n,s,_,o)},e.prototype.draw_legend_for_index=function(t,e,i){r.generic_line_legend(this.visuals,t,e,i)},e}(s.XYGlyphView);i.LineView=o,o.__name__=\"LineView\";var h=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_Line=function(){this.prototype.default_view=o,this.mixins([\"line\"])},e}(s.XYGlyph);i.Line=h,h.__name__=\"Line\",h.init_Line()},\n",
       "      function _(t,n,i){var e=t(113),r=t(179),h=t(182),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(n,t),n.prototype._index_data=function(){for(var t=[],n=0,i=this._x.length;n<i;n++){var e=this._x[n],h=this._y[n];!isNaN(e+h)&&isFinite(e+h)&&t.push({x0:e,y0:h,x1:e,y1:h,i:n})}return new r.SpatialIndex(t)},n.prototype.scenterx=function(t){return this.sx[t]},n.prototype.scentery=function(t){return this.sy[t]},n}(h.GlyphView);i.XYGlyphView=s,s.__name__=\"XYGlyphView\";var _=function(t){function n(n){return t.call(this,n)||this}return e.__extends(n,t),n.init_XYGlyph=function(){this.coords([[\"x\",\"y\"]])},n}(h.Glyph);i.XYGlyph=_,_.__name__=\"XYGlyph\",_.init_XYGlyph()},\n",
       "      function _(n,t,i){var e=n(180),r=n(181),o=function(){function n(n){if(this.points=n,this.index=null,n.length>0){this.index=new e(n.length);for(var t=0,i=n;t<i.length;t++){var r=i[t],o=r.x0,a=r.y0,u=r.x1,x=r.y1;this.index.add(o,a,u,x)}this.index.finish()}}return n.prototype._normalize=function(n){var t,i,e=n.x0,r=n.y0,o=n.x1,a=n.y1;return e>o&&(e=(t=[o,e])[0],o=t[1]),r>a&&(r=(i=[a,r])[0],a=i[1]),{x0:e,y0:r,x1:o,y1:a}},Object.defineProperty(n.prototype,\"bbox\",{get:function(){if(null==this.index)return r.empty();var n=this.index;return{x0:n.minX,y0:n.minY,x1:n.maxX,y1:n.maxY}},enumerable:!0,configurable:!0}),n.prototype.search=function(n){var t=this;if(null==this.index)return[];var i=this._normalize(n),e=i.x0,r=i.y0,o=i.x1,a=i.y1;return this.index.search(e,r,o,a).map(function(n){return t.points[n]})},n.prototype.indices=function(n){return this.search(n).map(function(n){return n.i})},n}();i.SpatialIndex=o,o.__name__=\"SpatialIndex\"},\n",
       "      function _(t,s,i){var e,h;e=this,h=function(){\"use strict\";var t=function(){this.ids=[],this.values=[],this.length=0};t.prototype.clear=function(){this.length=this.ids.length=this.values.length=0},t.prototype.push=function(t,s){this.ids.push(t),this.values.push(s);for(var i=this.length++;i>0;){var e=i-1>>1,h=this.values[e];if(s>=h)break;this.ids[i]=this.ids[e],this.values[i]=h,i=e}this.ids[i]=t,this.values[i]=s},t.prototype.pop=function(){if(0!==this.length){var t=this.ids[0];if(this.length--,this.length>0){for(var s=this.ids[0]=this.ids[this.length],i=this.values[0]=this.values[this.length],e=this.length>>1,h=0;h<e;){var r=1+(h<<1),n=r+1,o=this.ids[r],a=this.values[r],u=this.values[n];if(n<this.length&&u<a&&(r=n,o=this.ids[n],a=u),a>=i)break;this.ids[h]=o,this.values[h]=a,h=r}this.ids[h]=s,this.values[h]=i}return this.ids.pop(),this.values.pop(),t}},t.prototype.peek=function(){return this.ids[0]},t.prototype.peekValue=function(){return this.values[0]};var s=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],i=function(i,e,h,r){if(void 0===e&&(e=16),void 0===h&&(h=Float64Array),void 0===i)throw new Error(\"Missing required argument: numItems.\");if(isNaN(i)||i<=0)throw new Error(\"Unpexpected numItems value: \"+i+\".\");this.numItems=+i,this.nodeSize=Math.min(Math.max(+e,2),65535);var n=i,o=n;this._levelBounds=[4*n];do{o+=n=Math.ceil(n/this.nodeSize),this._levelBounds.push(4*o)}while(1!==n);this.ArrayType=h||Float64Array,this.IndexArrayType=o<16384?Uint16Array:Uint32Array;var a=s.indexOf(this.ArrayType),u=4*o*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(\"Unexpected typed array class: \"+h+\".\");r&&r instanceof ArrayBuffer?(this.data=r,this._boxes=new this.ArrayType(this.data,8,4*o),this._indices=new this.IndexArrayType(this.data,8+u,o),this._pos=4*o,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+u+o*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*o),this._indices=new this.IndexArrayType(this.data,8+u,o),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=i),this._queue=new t};function e(t,s,i){return t<s?s-t:t<=i?0:t-i}function h(t,s){for(var i=0,e=s.length-1;i<e;){var h=i+e>>1;s[h]>t?e=h:i=h+1}return s[i]}function r(t,s,i,e,h){var r=t[e];t[e]=t[h],t[h]=r;var n=4*e,o=4*h,a=s[n],u=s[n+1],p=s[n+2],d=s[n+3];s[n]=s[o],s[n+1]=s[o+1],s[n+2]=s[o+2],s[n+3]=s[o+3],s[o]=a,s[o+1]=u,s[o+2]=p,s[o+3]=d;var _=i[e];i[e]=i[h],i[h]=_}function n(t,s){var i=t^s,e=65535^i,h=65535^(t|s),r=t&(65535^s),n=i|e>>1,o=i>>1^i,a=h>>1^e&r>>1^h,u=i&h>>1^r>>1^r;o=(i=n)&(e=o)>>2^e&(i^e)>>2,a^=i&(h=a)>>2^e&(r=u)>>2,u^=e&h>>2^(i^e)&r>>2,o=(i=n=i&i>>2^e&e>>2)&(e=o)>>4^e&(i^e)>>4,a^=i&(h=a)>>4^e&(r=u)>>4,u^=e&h>>4^(i^e)&r>>4,a^=(i=n=i&i>>4^e&e>>4)&(h=a)>>8^(e=o)&(r=u)>>8;var p=t^s,d=(e=(u^=e&h>>8^(i^e)&r>>8)^u>>1)|65535^(p|(i=a^a>>1));return((d=1431655765&((d=858993459&((d=252645135&((d=16711935&(d|d<<8))|d<<4))|d<<2))|d<<1))<<1|(p=1431655765&((p=858993459&((p=252645135&((p=16711935&(p|p<<8))|p<<4))|p<<2))|p<<1)))>>>0}return i.from=function(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");var e=new Uint8Array(t,0,2),h=e[0],r=e[1];if(251!==h)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(r>>4!=3)throw new Error(\"Got v\"+(r>>4)+\" data when expected v3.\");var n=new Uint16Array(t,2,1)[0],o=new Uint32Array(t,4,1)[0];return new i(o,n,s[15&r],t)},i.prototype.add=function(t,s,i,e){var h=this._pos>>2;this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,t<this.minX&&(this.minX=t),s<this.minY&&(this.minY=s),i>this.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e)},i.prototype.finish=function(){if(this._pos>>2!==this.numItems)throw new Error(\"Added \"+(this._pos>>2)+\" items when expected \"+this.numItems+\".\");for(var t=this.maxX-this.minX,s=this.maxY-this.minY,i=new Uint32Array(this.numItems),e=0;e<this.numItems;e++){var h=4*e,o=this._boxes[h++],a=this._boxes[h++],u=this._boxes[h++],p=this._boxes[h++],d=Math.floor(65535*((o+u)/2-this.minX)/t),_=Math.floor(65535*((a+p)/2-this.minY)/s);i[e]=n(d,_)}!function t(s,i,e,h,n){if(h>=n)return;var o=s[h+n>>1];var a=h-1;var u=n+1;for(;;){do{a++}while(s[a]<o);do{u--}while(s[u]>o);if(a>=u)break;r(s,i,e,a,u)}t(s,i,e,h,u);t(s,i,e,u+1,n)}(i,this._boxes,this._indices,0,this.numItems-1);for(var f=0,l=0;f<this._levelBounds.length-1;f++)for(var v=this._levelBounds[f];l<v;){for(var x=1/0,y=1/0,m=-1/0,c=-1/0,b=l,w=0;w<this.nodeSize&&l<v;w++){var A=this._boxes[l++],g=this._boxes[l++],E=this._boxes[l++],I=this._boxes[l++];A<x&&(x=A),g<y&&(y=g),E>m&&(m=E),I>c&&(c=I)}this._indices[this._pos>>2]=b,this._boxes[this._pos++]=x,this._boxes[this._pos++]=y,this._boxes[this._pos++]=m,this._boxes[this._pos++]=c}},i.prototype.search=function(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");for(var r=this._boxes.length-4,n=this._levelBounds.length-1,o=[],a=[];void 0!==r;){for(var u=Math.min(r+4*this.nodeSize,this._levelBounds[n]),p=r;p<u;p+=4){var d=0|this._indices[p>>2];i<this._boxes[p]||(e<this._boxes[p+1]||t>this._boxes[p+2]||s>this._boxes[p+3]||(r<4*this.numItems?(void 0===h||h(d))&&a.push(d):(o.push(d),o.push(n-1))))}n=o.pop(),r=o.pop()}return a},i.prototype.neighbors=function(t,s,i,r,n){if(void 0===i&&(i=1/0),void 0===r&&(r=1/0),this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");for(var o=this._boxes.length-4,a=this._queue,u=[],p=r*r;void 0!==o;){for(var d=Math.min(o+4*this.nodeSize,h(o,this._levelBounds)),_=o;_<d;_+=4){var f=0|this._indices[_>>2],l=e(t,this._boxes[_],this._boxes[_+2]),v=e(s,this._boxes[_+1],this._boxes[_+3]),x=l*l+v*v;o<4*this.numItems?(void 0===n||n(f))&&a.push(-f-1,x):a.push(f,x)}for(;a.length&&a.peek()<0;){if(a.peekValue()>p)return a.clear(),u;if(u.push(-a.pop()-1),u.length===i)return a.clear(),u}o=a.pop()}return a.clear(),u},i},\"object\"==typeof i&&void 0!==s?s.exports=h():\"function\"==typeof define&&define.amd?define(h):(e=e||self).Flatbush=h()},\n",
       "      function _(t,e,r){var i=Math.min,n=Math.max;r.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},r.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},r.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},r.union=function(t,e){return{x0:i(t.x0,e.x0),x1:n(t.x1,e.x1),y0:i(t.y0,e.y0),y1:n(t.y1,e.y1)}};var o=function(){function t(t){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){var e=t.x0,r=t.y0,i=t.x1,n=t.y1;if(!(e<=i&&r<=n))throw new Error(\"invalid bbox {x0: \"+e+\", y0: \"+r+\", x1: \"+i+\", y1: \"+n+\"}\");this.x0=e,this.y0=r,this.x1=i,this.y1=n}else if(\"x\"in t){var o=t.x,h=t.y,u=t.width,y=t.height;if(!(u>=0&&y>=0))throw new Error(\"invalid bbox {x: \"+o+\", y: \"+h+\", width: \"+u+\", height: \"+y+\"}\");this.x0=o,this.y0=h,this.x1=o+u,this.y1=h+y}else{var f=void 0,s=void 0,c=void 0,p=void 0;if(\"width\"in t)if(\"left\"in t)s=(f=t.left)+t.width;else if(\"right\"in t)f=(s=t.right)-t.width;else{var b=t.width/2;f=t.hcenter-b,s=t.hcenter+b}else f=t.left,s=t.right;if(\"height\"in t)if(\"top\"in t)p=(c=t.top)+t.height;else if(\"bottom\"in t)c=(p=t.bottom)-t.height;else{var a=t.height/2;c=t.vcenter-a,p=t.vcenter+a}else c=t.top,p=t.bottom;if(!(f<=s&&c<=p))throw new Error(\"invalid bbox {left: \"+f+\", top: \"+c+\", right: \"+s+\", bottom: \"+p+\"}\");this.x0=f,this.y0=c,this.x1=s,this.y1=p}}return t.prototype.toString=function(){return\"BBox({left: \"+this.left+\", top: \"+this.top+\", width: \"+this.width+\", height: \"+this.height+\"})\"},Object.defineProperty(t.prototype,\"left\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"top\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"right\",{get:function(){return this.x1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"bottom\",{get:function(){return this.y1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p0\",{get:function(){return[this.x0,this.y0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p1\",{get:function(){return[this.x1,this.y1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"x\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this.x1-this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this.y1-this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"rect\",{get:function(){return{x0:this.x0,y0:this.y0,x1:this.x1,y1:this.y1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"box\",{get:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"h_range\",{get:function(){return{start:this.x0,end:this.x1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"v_range\",{get:function(){return{start:this.y0,end:this.y1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ranges\",{get:function(){return[this.h_range,this.v_range]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"aspect\",{get:function(){return this.width/this.height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hcenter\",{get:function(){return(this.left+this.right)/2},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vcenter\",{get:function(){return(this.top+this.bottom)/2},enumerable:!0,configurable:!0}),t.prototype.contains=function(t,e){return t>=this.x0&&t<=this.x1&&e>=this.y0&&e<=this.y1},t.prototype.clip=function(t,e){return t<this.x0?t=this.x0:t>this.x1&&(t=this.x1),e<this.y0?e=this.y0:e>this.y1&&(e=this.y1),[t,e]},t.prototype.union=function(e){return new t({x0:i(this.x0,e.x0),y0:i(this.y0,e.y0),x1:n(this.x1,e.x1),y1:n(this.y1,e.y1)})},t.prototype.equals=function(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1},Object.defineProperty(t.prototype,\"xview\",{get:function(){var t=this;return{compute:function(e){return t.left+e},v_compute:function(e){for(var r=new Float64Array(e.length),i=t.left,n=0;n<e.length;n++)r[n]=i+e[n];return r}}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"yview\",{get:function(){var t=this;return{compute:function(e){return t.bottom-e},v_compute:function(e){for(var r=new Float64Array(e.length),i=t.bottom,n=0;n<e.length;n++)r[n]=i-e[n];return r}}},enumerable:!0,configurable:!0}),t}();r.BBox=o,o.__name__=\"BBox\"},\n",
       "      function _(t,e,i){var n=t(113),r=t(183),s=t(121),o=t(181),a=t(132),h=t(165),_=t(162),l=t(166),p=t(167),c=t(114),u=t(125),y=t(109),d=t(177),f=t(184),g=function(e){function i(){var t=e.apply(this,arguments)||this;return t._nohit_warned={},t}return n.__extends(i,e),Object.defineProperty(i.prototype,\"renderer\",{get:function(){return this.parent},enumerable:!0,configurable:!0}),i.prototype.initialize=function(){e.prototype.initialize.call(this),this._nohit_warned={},this.visuals=new h.Visuals(this.model);var i=this.renderer.plot_view.gl;if(null!=i){var n=null;try{n=t(454)}catch(t){if(\"MODULE_NOT_FOUND\"!==t.code)throw t;p.logger.warn(\"WebGL was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2D rendering.\")}if(null!=n){var r=n[this.model.type+\"GLGlyph\"];null!=r&&(this.glglyph=new r(i.ctx,this))}}},i.prototype.set_visuals=function(t){this.visuals.warm_cache(t),null!=this.glglyph&&this.glglyph.set_visuals_changed()},i.prototype.render=function(t,e,i){t.beginPath(),null!=this.glglyph&&this.glglyph.render(t,e,i)||this._render(t,e,i)},i.prototype.has_finished=function(){return!0},i.prototype.notify_finished=function(){this.renderer.notify_finished()},i.prototype._bounds=function(t){return t},i.prototype.bounds=function(){return this._bounds(this.index.bbox)},i.prototype.log_bounds=function(){for(var t=o.empty(),e=0,i=this.index.search(o.positive_x());e<i.length;e++){var n=i[e];n.x0<t.x0&&(t.x0=n.x0),n.x1>t.x1&&(t.x1=n.x1)}for(var r=0,s=this.index.search(o.positive_y());r<s.length;r++){var a=s[r];a.y0<t.y0&&(t.y0=a.y0),a.y1>t.y1&&(t.y1=a.y1)}return this._bounds(t)},i.prototype.get_anchor_point=function(t,e,i){var n=i[0],r=i[1];switch(t){case\"center\":return{x:this.scenterx(e,n,r),y:this.scentery(e,n,r)};default:return null}},i.prototype.sdist=function(t,e,i,n,r){var s,o;void 0===n&&(n=\"edge\"),void 0===r&&(r=!1);var a=e.length;if(\"center\"==n){var h=c.map(i,function(t){return t/2});s=new Float64Array(a);for(var _=0;_<a;_++)s[_]=e[_]-h[_];o=new Float64Array(a);for(_=0;_<a;_++)o[_]=e[_]+h[_]}else{s=e,o=new Float64Array(a);for(_=0;_<a;_++)o[_]=s[_]+i[_]}var l=t.v_compute(s),p=t.v_compute(o);return r?c.map(l,function(t,e){return Math.ceil(Math.abs(p[e]-l[e]))}):c.map(l,function(t,e){return Math.abs(p[e]-l[e])})},i.prototype.draw_legend_for_index=function(t,e,i){},i.prototype.hit_test=function(t){var e=null,i=\"_hit_\"+t.type;return null!=this[i]?e=this[i](t):null==this._nohit_warned[t.type]&&(p.logger.debug(\"'\"+t.type+\"' selection not available for \"+this.model.type),this._nohit_warned[t.type]=!0),e},i.prototype._hit_rect_against_index=function(t){var e=t.sx0,i=t.sx1,n=t.sy0,s=t.sy1,o=this.renderer.xscale.r_invert(e,i),a=o[0],h=o[1],_=this.renderer.yscale.r_invert(n,s),l=_[0],p=_[1],c=r.create_empty_hit_test_result();return c.indices=this.index.indices({x0:a,x1:h,y0:l,y1:p}),c},i.prototype.set_data=function(t,e,i){var n,r,s,o,h=this.model.materialize_dataspecs(t);if(this.visuals.set_all_indices(e),e&&!(this instanceof d.LineView)){var _={},l=function(t){var i=h[t];\"_\"===t.charAt(0)?_[t]=e.map(function(t){return i[t]}):_[t]=i};for(var p in h)l(p);h=_}if(u.extend(this,h),this.renderer.plot_view.model.use_map&&(null!=this._x&&(n=a.project_xy(this._x,this._y),this._x=n[0],this._y=n[1]),null!=this._xs&&(r=a.project_xsys(this._xs,this._ys),this._xs=r[0],this._ys=r[1]),null!=this._x0&&(s=a.project_xy(this._x0,this._y0),this._x0=s[0],this._y0=s[1]),null!=this._x1&&(o=a.project_xy(this._x1,this._y1),this._x1=o[0],this._y1=o[1])),null!=this.renderer.plot_view.frame.x_ranges)for(var y=this.renderer.plot_view.frame.x_ranges[this.model.x_range_name],g=this.renderer.plot_view.frame.y_ranges[this.model.y_range_name],v=0,x=this.model._coords;v<x.length;v++){var m=x[v],w=m[0],b=m[1];w=\"_\"+w,b=\"_\"+b,null!=this._xs?(y instanceof f.FactorRange&&(this[w]=c.map(this[w],function(t){return y.v_synthetic(t)})),g instanceof f.FactorRange&&(this[b]=c.map(this[b],function(t){return g.v_synthetic(t)}))):(y instanceof f.FactorRange&&(this[w]=y.v_synthetic(this[w])),g instanceof f.FactorRange&&(this[b]=g.v_synthetic(this[b])))}null!=this.glglyph&&this.glglyph.set_data_changed(this._x.length),this._set_data(i),this.index_data()},i.prototype._set_data=function(t){},i.prototype.index_data=function(){this.index=this._index_data()},i.prototype.mask_data=function(t){return null!=this.glglyph||null==this._mask_data?t:this._mask_data()},i.prototype.map_data=function(){for(var t,e=0,i=this.model._coords;e<i.length;e++){var n=i[e],r=n[0],s=n[1],o=\"s\"+r,a=\"s\"+s;if(s=\"_\"+s,null!=this[r=\"_\"+r]&&(y.isArray(this[r][0])||y.isTypedArray(this[r][0]))){var h=this[r].length;this[o]=new Array(h),this[a]=new Array(h);for(var _=0;_<h;_++){var l=this.map_to_screen(this[r][_],this[s][_]),p=l[0],c=l[1];this[o][_]=p,this[a][_]=c}}else t=this.map_to_screen(this[r],this[s]),this[o]=t[0],this[a]=t[1]}this._map_data()},i.prototype._map_data=function(){},i.prototype.map_to_screen=function(t,e){return this.renderer.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},i}(_.View);i.GlyphView=g,g.__name__=\"GlyphView\";var v=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_Glyph=function(){this.prototype._coords=[],this.internal({x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]})},e.coords=function(t){var e=this.prototype._coords.concat(t);this.prototype._coords=e;for(var i={},n=0,r=t;n<r.length;n++){var o=r[n],a=o[0],h=o[1];i[a]=[s.CoordinateSpec],i[h]=[s.CoordinateSpec]}this.define(i)},e}(l.Model);i.Glyph=v,v.__name__=\"Glyph\",v.init_Glyph()},\n",
       "      function _(t,n,r){var e=t(110),i=t(173);function o(t){return t*t}function u(t,n){return o(t.x-n.x)+o(t.y-n.y)}function a(t,n,r){var e=u(n,r);if(0==e)return u(t,n);var i=((t.x-n.x)*(r.x-n.x)+(t.y-n.y)*(r.y-n.y))/e;return u(t,i<0?n:i>1?r:{x:n.x+i*(r.x-n.x),y:n.y+i*(r.y-n.y)})}r.point_in_poly=function(t,n,r,e){for(var i=!1,o=r[r.length-1],u=e[e.length-1],a=0;a<r.length;a++){var s=r[a],_=e[a];u<n!=_<n&&o+(n-u)/(_-u)*(s-o)<t&&(i=!i),o=s,u=_}return i},r.point_in_ellipse=function(t,n,r,e,i,o,u){var a=Math.pow(Math.cos(r)/i,2)+Math.pow(Math.sin(r)/e,2),s=2*Math.cos(r)*Math.sin(r)*(Math.pow(1/i,2)-Math.pow(1/e,2)),_=Math.pow(Math.cos(r)/e,2)+Math.pow(Math.sin(r)/i,2);return a*Math.pow(t-o,2)+s*(t-o)*(n-u)+_*Math.pow(n-u,2)<=1},r.create_empty_hit_test_result=function(){return new i.Selection},r.create_hit_test_result_from_hits=function(t){var n=new i.Selection;return n.indices=e.sort_by(t,function(t){return t[0],t[1]}).map(function(t){var n=t[0];return t[1],n}),n},r.dist_2_pts=u,r.dist_to_segment_squared=a,r.dist_to_segment=function(t,n,r){return Math.sqrt(a(t,n,r))},r.check_2_segments_intersect=function(t,n,r,e,i,o,u,a){var s=(a-o)*(r-t)-(u-i)*(e-n);if(0==s)return{hit:!1,x:null,y:null};var _=n-o,h=t-i,c=(u-i)*_-(a-o)*h;return h=((r-t)*_-(e-n)*h)/s,{hit:(_=c/s)>0&&_<1&&h>0&&h<1,x:t+_*(r-t),y:n+_*(e-n)}}},\n",
       "      function _(t,n,r){var e=t(113),i=t(185),a=t(121),s=t(114),o=t(110),p=t(109);function u(t,n,r){void 0===r&&(r=0);for(var e={},i=0;i<t.length;i++){var a=t[i];if(a in e)throw new Error(\"duplicate factor or subfactor: \"+a);e[a]={value:.5+i*(1+n)+r}}return[e,(t.length-1)*n]}function h(t,n,r,e){void 0===e&&(e=0);for(var i={},a={},s=[],p=0,h=t;p<h.length;p++){var g=h[p],c=g[0],f=g[1];c in a||(a[c]=[],s.push(c)),a[c].push(f)}for(var l=e,d=0,_=function(t){var e=a[t].length,s=u(a[t],r,l),p=s[0],h=s[1];d+=h;var g=o.sum(a[t].map(function(t){return p[t].value}));i[t]={value:g/e,mapping:p},l+=e+n+h},v=0,m=s;v<m.length;v++){_(c=m[v])}return[i,s,(s.length-1)*n+d]}function g(t,n,r,e,i){void 0===i&&(i=0);for(var a={},s={},p=[],u=0,g=t;u<g.length;u++){var c=g[u],f=c[0],l=c[1],d=c[2];f in s||(s[f]=[],p.push(f)),s[f].push([l,d])}for(var _=[],v=i,m=0,y=function(t){for(var i=s[t].length,p=h(s[t],r,e,v),u=p[0],g=p[1],c=p[2],f=0,l=g;f<l.length;f++){var d=l[f];_.push([t,d])}m+=c;var y=o.sum(s[t].map(function(t){var n=t[0];return u[n].value}));a[t]={value:y/i,mapping:u},v+=i+n+c},b=0,N=p;b<N.length;b++){y(f=N[b])}return[a,p,_,(p.length-1)*n+m]}r.map_one_level=u,r.map_two_levels=h,r.map_three_levels=g;var c=function(t){function n(n){return t.call(this,n)||this}return e.__extends(n,t),n.init_FactorRange=function(){this.define({factors:[a.Array,[]],factor_padding:[a.Number,0],subgroup_padding:[a.Number,.8],group_padding:[a.Number,1.4],range_padding:[a.Number,0],range_padding_units:[a.PaddingUnits,\"percent\"],start:[a.Number],end:[a.Number]}),this.internal({levels:[a.Number],mids:[a.Array],tops:[a.Array],tops_groups:[a.Array]})},Object.defineProperty(n.prototype,\"min\",{get:function(){return this.start},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"max\",{get:function(){return this.end},enumerable:!0,configurable:!0}),n.prototype.initialize=function(){t.prototype.initialize.call(this),this._init(!0)},n.prototype.connect_signals=function(){var n=this;t.prototype.connect_signals.call(this),this.connect(this.properties.factors.change,function(){return n.reset()}),this.connect(this.properties.factor_padding.change,function(){return n.reset()}),this.connect(this.properties.group_padding.change,function(){return n.reset()}),this.connect(this.properties.subgroup_padding.change,function(){return n.reset()}),this.connect(this.properties.range_padding.change,function(){return n.reset()}),this.connect(this.properties.range_padding_units.change,function(){return n.reset()})},n.prototype.reset=function(){this._init(!1),this.change.emit()},n.prototype._lookup=function(t){var n;if(1==t.length)return(n=this._mapping).hasOwnProperty(t[0])?n[t[0]].value:NaN;if(2==t.length)return(n=this._mapping).hasOwnProperty(t[0])&&n[t[0]].mapping.hasOwnProperty(t[1])?n[t[0]].mapping[t[1]].value:NaN;if(3==t.length)return(n=this._mapping).hasOwnProperty(t[0])&&n[t[0]].mapping.hasOwnProperty(t[1])&&n[t[0]].mapping[t[1]].mapping.hasOwnProperty(t[2])?n[t[0]].mapping[t[1]].mapping[t[2]].value:NaN;throw new Error(\"unreachable code\")},n.prototype.synthetic=function(t){if(p.isNumber(t))return t;if(p.isString(t))return this._lookup([t]);var n=0,r=t[t.length-1];return p.isNumber(r)&&(n=r,t=t.slice(0,-1)),this._lookup(t)+n},n.prototype.v_synthetic=function(t){var n=this;return s.map(t,function(t){return n.synthetic(t)})},n.prototype._init=function(t){var n,r,e,i,a;if(o.every(this.factors,p.isString))i=1,n=u(this.factors,this.factor_padding),this._mapping=n[0],a=n[1];else if(o.every(this.factors,function(t){return p.isArray(t)&&2==t.length&&p.isString(t[0])&&p.isString(t[1])}))i=2,r=h(this.factors,this.group_padding,this.factor_padding),this._mapping=r[0],this.tops=r[1],a=r[2];else{if(!o.every(this.factors,function(t){return p.isArray(t)&&3==t.length&&p.isString(t[0])&&p.isString(t[1])&&p.isString(t[2])}))throw new Error(\"???\");i=3,e=g(this.factors,this.group_padding,this.subgroup_padding,this.factor_padding),this._mapping=e[0],this.tops=e[1],this.mids=e[2],a=e[3]}var s=0,c=this.factors.length+a;if(\"percent\"==this.range_padding_units){var f=(c-s)*this.range_padding/2;s-=f,c+=f}else s-=this.range_padding,c+=this.range_padding;this.setv({start:s,end:c,levels:i},{silent:t}),\"auto\"==this.bounds&&this.setv({bounds:[s,c]},{silent:!0})},n}(i.Range);r.FactorRange=c,c.__name__=\"FactorRange\",c.init_FactorRange()},\n",
       "      function _(t,n,e){var i=t(113),a=t(166),c=t(121),l=t(109),r=function(t){function n(n){var e=t.call(this,n)||this;return e.have_updated_interactively=!1,e}return i.__extends(n,t),n.init_Range=function(){this.define({callback:[c.Any],bounds:[c.Any],min_interval:[c.Any],max_interval:[c.Any]}),this.internal({plots:[c.Array,[]]})},n.prototype.connect_signals=function(){var n=this;t.prototype.connect_signals.call(this),this.connect(this.change,function(){return n._emit_callback()})},n.prototype._emit_callback=function(){null!=this.callback&&(l.isFunction(this.callback)?this.callback(this):this.callback.execute(this,{}))},Object.defineProperty(n.prototype,\"is_reversed\",{get:function(){return this.start>this.end},enumerable:!0,configurable:!0}),n}(a.Model);e.Range=r,r.__name__=\"Range\",r.init_Range()},\n",
       "      function _(e,t,i){var n=e(183);i.generic_line_legend=function(e,t,i,n){var r=i.x0,a=i.x1,l=i.y0,c=i.y1;t.save(),t.beginPath(),t.moveTo(r,(l+c)/2),t.lineTo(a,(l+c)/2),e.line.doit&&(e.line.set_vectorize(t,n),t.stroke()),t.restore()},i.generic_area_legend=function(e,t,i,n){var r=i.x0,a=i.x1,l=i.y0,c=i.y1,o=.1*Math.abs(a-r),s=.1*Math.abs(c-l),_=r+o,v=a-o,h=l+s,x=c-s;e.fill.doit&&(e.fill.set_vectorize(t,n),t.fillRect(_,h,v-_,x-h)),null!=e.hatch&&e.hatch.doit&&(e.hatch.set_vectorize(t,n),t.fillRect(_,h,v-_,x-h)),e.line&&e.line.doit&&(t.beginPath(),t.rect(_,h,v-_,x-h),e.line.set_vectorize(t,n),t.stroke())},i.line_interpolation=function(e,t,i,r,a,l){var c,o,s,_,v,h,x,y,f,d,g=t.sx,m=t.sy;\"point\"==t.type?(f=(c=e.yscale.r_invert(m-1,m+1))[0],d=c[1],x=(o=e.xscale.r_invert(g-1,g+1))[0],y=o[1]):\"v\"==t.direction?(f=(s=e.yscale.r_invert(m,m))[0],d=s[1],x=(_=[Math.min(i-1,a-1),Math.max(i+1,a+1)])[0],y=_[1]):(x=(v=e.xscale.r_invert(g,g))[0],y=v[1],f=(h=[Math.min(r-1,l-1),Math.max(r+1,l+1)])[0],d=h[1]);var u=n.check_2_segments_intersect(x,f,y,d,i,r,a,l);return[u.x,u.y]}},\n",
       "      function _(t,i,e){var n=t(113),s=t(178),l=t(186),o=t(183),r=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(i,t),i.prototype._inner_loop=function(t,i,e,n,s){for(var l=0,o=i;l<o.length;l++){var r=o[l];0!=r?isNaN(e[r]+n[r])?(t.closePath(),s.apply(t),t.beginPath()):t.lineTo(e[r],n[r]):(t.beginPath(),t.moveTo(e[r],n[r]))}t.closePath(),s.call(t)},i.prototype._render=function(t,i,e){var n=this,s=e.sx,l=e.sy;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner_loop(t,i,s,l,t.fill)),this.visuals.hatch.doit2(t,0,function(){return n._inner_loop(t,i,s,l,t.fill)},function(){return n.renderer.request_render()}),this.visuals.line.doit&&(this.visuals.line.set_value(t),this._inner_loop(t,i,s,l,t.stroke))},i.prototype.draw_legend_for_index=function(t,i,e){l.generic_area_legend(this.visuals,t,i,e)},i.prototype._hit_point=function(t){var i=this,e=o.create_empty_hit_test_result();return o.point_in_poly(t.sx,t.sy,this.sx,this.sy)&&(e.add_to_selected_glyphs(this.model),e.get_view=function(){return i}),e},i}(s.XYGlyphView);e.PatchView=r,r.__name__=\"PatchView\";var _=function(t){function i(i){return t.call(this,i)||this}return n.__extends(i,t),i.init_Patch=function(){this.prototype.default_view=r,this.mixins([\"line\",\"fill\",\"hatch\"])},i}(s.XYGlyph);e.Patch=_,_.__name__=\"Patch\",_.init_Patch()},\n",
       "      function _(t,e,i){var n=t(113),r=t(189),s=t(179),o=t(183),a=t(121),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype._index_data=function(){for(var t=[],e=0,i=this._x1.length;e<i;e++){var n=this._x1[e],r=this._x2[e],o=this._y[e];!isNaN(n+r+o)&&isFinite(n+r+o)&&t.push({x0:Math.min(n,r),y0:o,x1:Math.max(n,r),y1:o,i:e})}return new s.SpatialIndex(t)},e.prototype._inner=function(t,e,i,n,r){t.beginPath();for(var s=0,o=e.length;s<o;s++)t.lineTo(e[s],n[s]);for(s=i.length-1;s>=0;s--)t.lineTo(i[s],n[s]);t.closePath(),r.call(t)},e.prototype._render=function(t,e,i){var n=this,r=i.sx1,s=i.sx2,o=i.sy;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,r,s,o,t.fill)),this.visuals.hatch.doit2(t,0,function(){return n._inner(t,r,s,o,t.fill)},function(){return n.renderer.request_render()})},e.prototype._hit_point=function(t){for(var e=this,i=o.create_empty_hit_test_result(),n=this.sy.length,r=new Float64Array(2*n),s=new Float64Array(2*n),a=0,h=n;a<h;a++)r[a]=this.sx1[a],s[a]=this.sy[a],r[n+a]=this.sx2[n-a-1],s[n+a]=this.sy[n-a-1];return o.point_in_poly(t.sx,t.sy,r,s)&&(i.add_to_selected_glyphs(this.model),i.get_view=function(){return e}),i},e.prototype.scenterx=function(t){return(this.sx1[t]+this.sx2[t])/2},e.prototype.scentery=function(t){return this.sy[t]},e.prototype._map_data=function(){this.sx1=this.renderer.xscale.v_compute(this._x1),this.sx2=this.renderer.xscale.v_compute(this._x2),this.sy=this.renderer.yscale.v_compute(this._y)},e}(r.AreaView);i.HAreaView=h,h.__name__=\"HAreaView\";var _=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_HArea=function(){this.prototype.default_view=h,this.define({x1:[a.CoordinateSpec],x2:[a.CoordinateSpec],y:[a.CoordinateSpec]})},e}(r.Area);i.HArea=_,_.__name__=\"HArea\",_.init_HArea()},\n",
       "      function _(n,e,i){var t=n(113),r=n(182),_=n(186),a=function(n){function e(){return null!==n&&n.apply(this,arguments)||this}return t.__extends(e,n),e.prototype.draw_legend_for_index=function(n,e,i){_.generic_area_legend(this.visuals,n,e,i)},e}(r.GlyphView);i.AreaView=a,a.__name__=\"AreaView\";var u=function(n){function e(e){return n.call(this,e)||this}return t.__extends(e,n),e.init_Area=function(){this.mixins([\"fill\",\"hatch\"])},e}(r.Glyph);i.Area=u,u.__name__=\"Area\",u.init_Area()},\n",
       "      function _(t,e,i){var n=t(113),r=t(189),s=t(179),o=t(183),a=t(121),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype._index_data=function(){for(var t=[],e=0,i=this._x.length;e<i;e++){var n=this._x[e],r=this._y1[e],o=this._y2[e];!isNaN(n+r+o)&&isFinite(n+r+o)&&t.push({x0:n,y0:Math.min(r,o),x1:n,y1:Math.max(r,o),i:e})}return new s.SpatialIndex(t)},e.prototype._inner=function(t,e,i,n,r){t.beginPath();for(var s=0,o=i.length;s<o;s++)t.lineTo(e[s],i[s]);for(s=n.length-1;s>=0;s--)t.lineTo(e[s],n[s]);t.closePath(),r.call(t)},e.prototype._render=function(t,e,i){var n=this,r=i.sx,s=i.sy1,o=i.sy2;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,r,s,o,t.fill)),this.visuals.hatch.doit2(t,0,function(){return n._inner(t,r,s,o,t.fill)},function(){return n.renderer.request_render()})},e.prototype.scenterx=function(t){return this.sx[t]},e.prototype.scentery=function(t){return(this.sy1[t]+this.sy2[t])/2},e.prototype._hit_point=function(t){for(var e=this,i=o.create_empty_hit_test_result(),n=this.sx.length,r=new Float64Array(2*n),s=new Float64Array(2*n),a=0,h=n;a<h;a++)r[a]=this.sx[a],s[a]=this.sy1[a],r[n+a]=this.sx[n-a-1],s[n+a]=this.sy2[n-a-1];return o.point_in_poly(t.sx,t.sy,r,s)&&(i.add_to_selected_glyphs(this.model),i.get_view=function(){return e}),i},e.prototype._map_data=function(){this.sx=this.renderer.xscale.v_compute(this._x),this.sy1=this.renderer.yscale.v_compute(this._y1),this.sy2=this.renderer.yscale.v_compute(this._y2)},e}(r.AreaView);i.VAreaView=h,h.__name__=\"VAreaView\";var _=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_VArea=function(){this.prototype.default_view=h,this.define({x:[a.CoordinateSpec],y1:[a.CoordinateSpec],y2:[a.CoordinateSpec]})},e}(r.Area);i.VArea=_,_.__name__=\"VArea\",_.init_VArea()},\n",
       "      function _(i,n,t){var e=i(113),c=i(166),s=i(121),o=i(173),r=i(110),u=i(171),a=function(i){function n(n){return i.call(this,n)||this}return e.__extends(n,i),n.init_CDSView=function(){this.define({filters:[s.Array,[]],source:[s.Instance]}),this.internal({indices:[s.Array,[]],indices_map:[s.Any,{}]})},n.prototype.initialize=function(){i.prototype.initialize.call(this),this.compute_indices()},n.prototype.connect_signals=function(){var n=this;i.prototype.connect_signals.call(this),this.connect(this.properties.filters.change,function(){n.compute_indices(),n.change.emit()});var t=function(){var i=function(){return n.compute_indices()};null!=n.source&&(n.connect(n.source.change,i),n.source instanceof u.ColumnarDataSource&&(n.connect(n.source.streaming,i),n.connect(n.source.patching,i)))},e=null!=this.source;e?t():this.connect(this.properties.source.change,function(){e||(t(),e=!0)})},n.prototype.compute_indices=function(){var i=this,n=this.filters.map(function(n){return n.compute_indices(i.source)}).filter(function(i){return null!=i});n.length>0?this.indices=r.intersection.apply(this,n):this.source instanceof u.ColumnarDataSource&&(this.indices=this.source.get_indices()),this.indices_map_to_subset()},n.prototype.indices_map_to_subset=function(){this.indices_map={};for(var i=0;i<this.indices.length;i++)this.indices_map[this.indices[i]]=i},n.prototype.convert_selection_from_subset=function(i){var n=this,t=new o.Selection;t.update_through_union(i);var e=i.indices.map(function(i){return n.indices[i]});return t.indices=e,t.image_indices=i.image_indices,t},n.prototype.convert_selection_to_subset=function(i){var n=this,t=new o.Selection;t.update_through_union(i);var e=i.indices.map(function(i){return n.indices_map[i]});return t.indices=e,t.image_indices=i.image_indices,t},n.prototype.convert_indices_from_subset=function(i){var n=this;return i.map(function(i){return n.indices[i]})},n}(c.Model);t.CDSView=a,a.__name__=\"CDSView\",a.init_CDSView()},\n",
       "      function _(e,t,n){var r=e(113),i=e(176),a=e(193),o=e(121),s=e(194),d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t.prototype.initialize=function(){var t;e.prototype.initialize.call(this),this.xscale=this.plot_view.frame.xscales.default,this.yscale=this.plot_view.frame.yscales.default,this._renderer_views={},t=s.build_views(this._renderer_views,[this.model.node_renderer,this.model.edge_renderer],{parent:this.parent}),this.node_view=t[0],this.edge_view=t[1],this.set_data()},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.layout_provider.change,function(){return t.set_data()}),this.connect(this.model.node_renderer.data_source._select,function(){return t.set_data()}),this.connect(this.model.node_renderer.data_source.inspect,function(){return t.set_data()}),this.connect(this.model.node_renderer.data_source.change,function(){return t.set_data()}),this.connect(this.model.edge_renderer.data_source._select,function(){return t.set_data()}),this.connect(this.model.edge_renderer.data_source.inspect,function(){return t.set_data()}),this.connect(this.model.edge_renderer.data_source.change,function(){return t.set_data()});var n=this.plot_view.frame,r=n.x_ranges,i=n.y_ranges;for(var a in r){var o=r[a];this.connect(o.change,function(){return t.set_data()})}for(var a in i){o=i[a];this.connect(o.change,function(){return t.set_data()})}},t.prototype.set_data=function(e){var t,n;void 0===e&&(e=!0),this.node_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.edge_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0});var r=this.node_view.glyph;t=this.model.layout_provider.get_node_coordinates(this.model.node_renderer.data_source),r._x=t[0],r._y=t[1];var i=this.edge_view.glyph;n=this.model.layout_provider.get_edge_coordinates(this.model.edge_renderer.data_source),i._xs=n[0],i._ys=n[1],r.index_data(),i.index_data(),e&&this.request_render()},t.prototype.render=function(){this.edge_view.render(),this.node_view.render()},t}(i.DataRendererView);n.GraphRendererView=d,d.__name__=\"GraphRendererView\";var _=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.init_GraphRenderer=function(){this.prototype.default_view=d,this.define({layout_provider:[o.Instance],node_renderer:[o.Instance],edge_renderer:[o.Instance],selection_policy:[o.Instance,function(){return new a.NodesOnly}],inspection_policy:[o.Instance,function(){return new a.NodesOnly}]})},t.prototype.get_selection_manager=function(){return this.node_renderer.data_source.selection_manager},t}(i.DataRenderer);n.GraphRenderer=_,_.__name__=\"GraphRenderer\",_.init_GraphRenderer()},\n",
       "      function _(e,t,n){var r=e(113),d=e(166),o=e(114),i=e(110),_=e(183),s=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.prototype._hit_test_nodes=function(e,t){if(!t.model.visible)return null;var n=t.node_view.glyph.hit_test(e);return null==n?null:t.node_view.model.view.convert_selection_from_subset(n)},t.prototype._hit_test_edges=function(e,t){if(!t.model.visible)return null;var n=t.edge_view.glyph.hit_test(e);return null==n?null:t.edge_view.model.view.convert_selection_from_subset(n)},t}(d.Model);n.GraphHitTestPolicy=s,s.__name__=\"GraphHitTestPolicy\";var a=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.prototype.hit_test=function(e,t){return this._hit_test_nodes(e,t)},t.prototype.do_selection=function(e,t,n,r){if(null==e)return!1;var d=t.node_renderer.data_source.selected;return d.update(e,n,r),t.node_renderer.data_source._select.emit(),!d.is_empty()},t.prototype.do_inspection=function(e,t,n,r,d){if(null==e)return!1;var o=n.model.get_selection_manager().get_or_create_inspector(n.node_view.model);return o.update(e,r,d),n.node_view.model.data_source.setv({inspected:o},{silent:!0}),n.node_view.model.data_source.inspect.emit([n.node_view,{geometry:t}]),!o.is_empty()},t}(s);n.NodesOnly=a,a.__name__=\"NodesOnly\";var c=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.prototype.hit_test=function(e,t){return this._hit_test_nodes(e,t)},t.prototype.get_linked_edges=function(e,t,n){var r=[];\"selection\"==n?r=e.selected.indices.map(function(t){return e.data.index[t]}):\"inspection\"==n&&(r=e.inspected.indices.map(function(t){return e.data.index[t]}));for(var d=[],o=0;o<t.data.start.length;o++)(i.contains(r,t.data.start[o])||i.contains(r,t.data.end[o]))&&d.push(o);for(var s=_.create_empty_hit_test_result(),a=0,c=d;a<c.length;a++){o=c[a];s.multiline_indices[o]=[0]}return s.indices=d,s},t.prototype.do_selection=function(e,t,n,r){if(null==e)return!1;var d=t.node_renderer.data_source.selected;d.update(e,n,r);var o=t.edge_renderer.data_source.selected,i=this.get_linked_edges(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(i,n,r),t.node_renderer.data_source._select.emit(),!d.is_empty()},t.prototype.do_inspection=function(e,t,n,r,d){if(null==e)return!1;var o=n.node_view.model.data_source.selection_manager.get_or_create_inspector(n.node_view.model);o.update(e,r,d),n.node_view.model.data_source.setv({inspected:o},{silent:!0});var i=n.edge_view.model.data_source.selection_manager.get_or_create_inspector(n.edge_view.model),_=this.get_linked_edges(n.node_view.model.data_source,n.edge_view.model.data_source,\"inspection\");return i.update(_,r,d),n.edge_view.model.data_source.setv({inspected:i},{silent:!0}),n.node_view.model.data_source.inspect.emit([n.node_view,{geometry:t}]),!o.is_empty()},t}(s);n.NodesAndLinkedEdges=c,c.__name__=\"NodesAndLinkedEdges\";var u=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.prototype.hit_test=function(e,t){return this._hit_test_edges(e,t)},t.prototype.get_linked_nodes=function(e,t,n){var r=[];\"selection\"==n?r=t.selected.indices:\"inspection\"==n&&(r=t.inspected.indices);for(var d=[],s=0,a=r;s<a.length;s++){var c=a[s];d.push(t.data.start[c]),d.push(t.data.end[c])}var u=i.uniq(d).map(function(t){return o.indexOf(e.data.index,t)}),l=_.create_empty_hit_test_result();return l.indices=u,l},t.prototype.do_selection=function(e,t,n,r){if(null==e)return!1;var d=t.edge_renderer.data_source.selected;d.update(e,n,r);var o=t.node_renderer.data_source.selected,i=this.get_linked_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(i,n,r),t.edge_renderer.data_source._select.emit(),!d.is_empty()},t.prototype.do_inspection=function(e,t,n,r,d){if(null==e)return!1;var o=n.edge_view.model.data_source.selection_manager.get_or_create_inspector(n.edge_view.model);o.update(e,r,d),n.edge_view.model.data_source.setv({inspected:o},{silent:!0});var i=n.node_view.model.data_source.selection_manager.get_or_create_inspector(n.node_view.model),_=this.get_linked_nodes(n.node_view.model.data_source,n.edge_view.model.data_source,\"inspection\");return i.update(_,r,d),n.node_view.model.data_source.setv({inspected:i},{silent:!0}),n.edge_view.model.data_source.inspect.emit([n.edge_view,{geometry:t}]),!o.is_empty()},t}(s);n.EdgesAndLinkedNodes=u,u.__name__=\"EdgesAndLinkedNodes\"},\n",
       "      function _(e,n,r){var t=e(110);r.build_views=function(e,n,r,i){void 0===i&&(i=function(e){return e.default_view});for(var o=0,c=t.difference(Object.keys(e),n.map(function(e){return e.id}));o<c.length;o++){var f=c[o];e[f].remove(),delete e[f]}for(var u=[],v=0,a=n.filter(function(n){return null==e[n.id]});v<a.length;v++){var l=a[v],s=new(i(l))(Object.assign(Object.assign({},r),{model:l,connect_signals:!1}));e[l.id]=s,u.push(s)}for(var d=0,g=u;d<g.length;d++)(s=g[d]).connect_signals();return u},r.remove_views=function(e){for(var n in e)e[n].remove(),delete e[n]}},\n",
       "      function _(t,e,n){var r=t(113),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.do_selection=function(t,e,n,r){return null!==t&&(e.selected.update(t,n,r),e._select.emit(),!e.selected.is_empty())},e}(t(166).Model);n.SelectionPolicy=u,u.__name__=\"SelectionPolicy\";var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.hit_test=function(t,e){for(var n=[],r=0,u=e;r<u.length;r++){var i=u[r].hit_test(t);null!==i&&n.push(i)}if(n.length>0){for(var l=n[0],o=0,_=n;o<_.length;o++){var s=_[o];l.update_through_intersection(s)}return l}return null},e}(u);n.IntersectRenderers=i,i.__name__=\"IntersectRenderers\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.hit_test=function(t,e){for(var n=[],r=0,u=e;r<u.length;r++){var i=u[r].hit_test(t);null!==i&&n.push(i)}if(n.length>0){for(var l=n[0],o=0,_=n;o<_.length;o++){var s=_[o];l.update_through_union(s)}return l}return null},e}(u);n.UnionRenderers=l,l.__name__=\"UnionRenderers\"},\n",
       "      function _(r,n,t){var a=r(109),e=r(197);function i(r){for(var n=new Uint8Array(r.buffer,r.byteOffset,2*r.length),t=0,a=n.length;t<a;t+=2){var e=n[t];n[t]=n[t+1],n[t+1]=e}}function o(r){for(var n=new Uint8Array(r.buffer,r.byteOffset,4*r.length),t=0,a=n.length;t<a;t+=4){var e=n[t];n[t]=n[t+3],n[t+3]=e,e=n[t+1],n[t+1]=n[t+2],n[t+2]=e}}function f(r){for(var n=new Uint8Array(r.buffer,r.byteOffset,8*r.length),t=0,a=n.length;t<a;t+=8){var e=n[t];n[t]=n[t+7],n[t+7]=e,e=n[t+1],n[t+1]=n[t+6],n[t+6]=e,e=n[t+2],n[t+2]=n[t+5],n[t+5]=e,e=n[t+3],n[t+3]=n[t+4],n[t+4]=e}}function u(r,n){for(var a=r.order!==t.BYTE_ORDER,e=r.shape,u=null,y=0,s=n;y<s.length;y++){var A=s[y];if(JSON.parse(A[0]).id===r.__buffer__){u=A[1];break}}var c=new t.ARRAY_TYPES[r.dtype](u);return a&&(2===c.BYTES_PER_ELEMENT?i(c):4===c.BYTES_PER_ELEMENT?o(c):8===c.BYTES_PER_ELEMENT&&f(c)),[c,e]}function y(r,n){return a.isObject(r)&&\"__ndarray__\"in r?c(r):a.isObject(r)&&\"__buffer__\"in r?u(r,n):a.isArray(r)||a.isTypedArray(r)?[r,[]]:void 0}function s(r){var n=new Uint8Array(r),t=Array.from(n).map(function(r){return String.fromCharCode(r)});return btoa(t.join(\"\"))}function A(r){for(var n=atob(r),t=n.length,a=new Uint8Array(t),e=0,i=t;e<i;e++)a[e]=n.charCodeAt(e);return a.buffer}function c(r){var n=A(r.__ndarray__),a=r.dtype,e=r.shape;if(!(a in t.ARRAY_TYPES))throw new Error(\"unknown dtype: \"+a);return[new t.ARRAY_TYPES[a](n),e]}function _(r,n){var a=s(r.buffer),e=function(r){if(\"name\"in r.constructor)return r.constructor.name;switch(!0){case r instanceof Uint8Array:return\"Uint8Array\";case r instanceof Int8Array:return\"Int8Array\";case r instanceof Uint16Array:return\"Uint16Array\";case r instanceof Int16Array:return\"Int16Array\";case r instanceof Uint32Array:return\"Uint32Array\";case r instanceof Int32Array:return\"Int32Array\";case r instanceof Float32Array:return\"Float32Array\";case r instanceof Float64Array:return\"Float64Array\";default:throw new Error(\"unsupported typed array\")}}(r);if(!(e in t.DTYPES))throw new Error(\"unknown array type: \"+e);return{__ndarray__:a,shape:n,dtype:t.DTYPES[e]}}function l(r,n){if(0==r.length||!a.isObject(r[0])&&!a.isArray(r[0]))return[r,[]];for(var t=[],e=[],i=0,o=r;i<o.length;i++){var f=o[i],u=a.isArray(f)?l(f,n):y(f,n),s=u[0],A=u[1];t.push(s),e.push(A)}return[t,e.map(function(r){return r.filter(function(r){return 0!=r.length})})]}function v(r,n){for(var t=[],e=0,i=r.length;e<i;e++){var o=r[e];if(a.isTypedArray(o)){var f=n[e]?n[e]:void 0;t.push(_(o,f))}else a.isArray(o)?t.push(v(o,n?n[e]:[])):t.push(o)}return t}t.ARRAY_TYPES={uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array,float32:Float32Array,float64:Float64Array},t.DTYPES={Uint8Array:\"uint8\",Int8Array:\"int8\",Uint16Array:\"uint16\",Int16Array:\"int16\",Uint32Array:\"uint32\",Int32Array:\"int32\",Float32Array:\"float32\",Float64Array:\"float64\"},t.BYTE_ORDER=e.is_little_endian?\"little\":\"big\",t.swap16=i,t.swap32=o,t.swap64=f,t.process_buffer=u,t.process_array=y,t.arrayBufferToBase64=s,t.base64ToArrayBuffer=A,t.decode_base64=c,t.encode_base64=_,t.decode_column_data=function(r,n){void 0===n&&(n=[]);var t={},e={};for(var i in r){var o=r[i];if(a.isArray(o)){if(0==o.length||!a.isObject(o[0])&&!a.isArray(o[0])){t[i]=o;continue}var f=l(o,n),u=f[0],s=f[1];t[i]=u,e[i]=s}else{var A=y(o,n),c=A[0],_=A[1];t[i]=c,e[i]=_}}return[t,e]},t.encode_column_data=function(r,n){var t={};for(var e in r){var i=r[e],o=null!=n?n[e]:void 0,f=void 0;f=a.isTypedArray(i)?_(i,o):a.isArray(i)?v(i,o||[]):i,t[e]=f}return t}},\n",
       "      function _(n,i,e){var r;e.is_ie=(r=\"undefined\"!=typeof navigator?navigator.userAgent:\"\").indexOf(\"MSIE\")>=0||r.indexOf(\"Trident\")>0||r.indexOf(\"Edge\")>0,e.is_mobile=\"undefined\"!=typeof window&&(\"ontouchstart\"in window||navigator.maxTouchPoints>0),e.is_little_endian=function(){var n=new ArrayBuffer(4),i=new Uint8Array(n);new Uint32Array(n)[1]=168496141;var e=!0;return 10==i[4]&&11==i[5]&&12==i[6]&&13==i[7]&&(e=!1),e}()},\n",
       "      function _(n,t,r){r.concat=function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var e=n.length,o=0,g=t;o<g.length;o++)e+=(f=g[o]).length;var h=new n.constructor(e);h.set(n,0);for(var l=n.length,a=0,c=t;a<c.length;a++){var f=c[a];h.set(f,l),l+=f.length}return h}},\n",
       "      function _(t,e,n){var o=t(113),r=t(115),i=function(){return function(t){this.document=t}}();n.DocumentChangedEvent=i,i.__name__=\"DocumentChangedEvent\";var s=function(t){function e(e,n,o,r,i,s,d){var u=t.call(this,e)||this;return u.model=n,u.attr=o,u.old=r,u.new_=i,u.setter_id=s,u.hint=d,u}return o.__extends(e,t),e.prototype.json=function(t){if(\"id\"===this.attr)throw new Error(\"'id' field should never change, whatever code just set it is wrong\");if(null!=this.hint)return this.hint.json(t);var e=this.new_,n=r.HasProps._value_to_json(this.attr,e,this.model),o={};for(var i in r.HasProps._value_record_references(e,o,!0),this.model.id in o&&this.model!==e&&delete o[this.model.id],o)t[i]=o[i];return{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:n}},e}(i);n.ModelChangedEvent=s,s.__name__=\"ModelChangedEvent\";var d=function(t){function e(e,n,o){var r=t.call(this,e)||this;return r.column_source=n,r.patches=o,r}return o.__extends(e,t),e.prototype.json=function(t){return{kind:\"ColumnsPatched\",column_source:this.column_source,patches:this.patches}},e}(i);n.ColumnsPatchedEvent=d,d.__name__=\"ColumnsPatchedEvent\";var u=function(t){function e(e,n,o,r){var i=t.call(this,e)||this;return i.column_source=n,i.data=o,i.rollover=r,i}return o.__extends(e,t),e.prototype.json=function(t){return{kind:\"ColumnsStreamed\",column_source:this.column_source,data:this.data,rollover:this.rollover}},e}(i);n.ColumnsStreamedEvent=u,u.__name__=\"ColumnsStreamedEvent\";var a=function(t){function e(e,n,o){var r=t.call(this,e)||this;return r.title=n,r.setter_id=o,r}return o.__extends(e,t),e.prototype.json=function(t){return{kind:\"TitleChanged\",title:this.title}},e}(i);n.TitleChangedEvent=a,a.__name__=\"TitleChangedEvent\";var l=function(t){function e(e,n,o){var r=t.call(this,e)||this;return r.model=n,r.setter_id=o,r}return o.__extends(e,t),e.prototype.json=function(t){return r.HasProps._value_record_references(this.model,t,!0),{kind:\"RootAdded\",model:this.model.ref()}},e}(i);n.RootAddedEvent=l,l.__name__=\"RootAddedEvent\";var _=function(t){function e(e,n,o){var r=t.call(this,e)||this;return r.model=n,r.setter_id=o,r}return o.__extends(e,t),e.prototype.json=function(t){return{kind:\"RootRemoved\",model:this.model.ref()}},e}(i);n.RootRemovedEvent=_,_.__name__=\"RootRemovedEvent\"},\n",
       "      function _(e,t,i){var s=e(113),n=e(131),o=e(170),_=e(121),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return s.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.set_data(this.model.source)},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return t.set_data(t.model.source)}),this.connect(this.model.source.patching,function(){return t.set_data(t.model.source)}),this.connect(this.model.source.change,function(){return t.set_data(t.model.source)})},t.prototype.set_data=function(t){e.prototype.set_data.call(this,t),this.visuals.warm_cache(t),this.plot_view.request_render()},t.prototype._map_data=function(){var e,t,i,s=this.plot_view.frame,n=this.model.dimension,o=s.xscales[this.model.x_range_name],_=s.yscales[this.model.y_range_name],r=\"height\"==n?_:o,a=\"height\"==n?o:_,l=\"height\"==n?s.yview:s.xview,h=\"height\"==n?s.xview:s.yview;e=\"data\"==this.model.properties.lower.units?r.v_compute(this._lower):l.v_compute(this._lower),t=\"data\"==this.model.properties.upper.units?r.v_compute(this._upper):l.v_compute(this._upper),i=\"data\"==this.model.properties.base.units?a.v_compute(this._base):h.v_compute(this._base);var p=\"height\"==n?[1,0]:[0,1],u=p[0],c=p[1],d=[e,i],m=[t,i];this._lower_sx=d[u],this._lower_sy=d[c],this._upper_sx=m[u],this._upper_sy=m[c]},t.prototype.render=function(){if(this.model.visible){this._map_data();var e=this.plot_view.canvas_view.ctx;e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(var t=0,i=this._lower_sx.length;t<i;t++)e.lineTo(this._lower_sx[t],this._lower_sy[t]);for(t=this._upper_sx.length-1;t>=0;t--)e.lineTo(this._upper_sx[t],this._upper_sy[t]);e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(e),e.fill()),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(t=0,i=this._lower_sx.length;t<i;t++)e.lineTo(this._lower_sx[t],this._lower_sy[t]);this.visuals.line.doit&&(this.visuals.line.set_value(e),e.stroke()),e.beginPath(),e.moveTo(this._upper_sx[0],this._upper_sy[0]);for(t=0,i=this._upper_sx.length;t<i;t++)e.lineTo(this._upper_sx[t],this._upper_sy[t]);this.visuals.line.doit&&(this.visuals.line.set_value(e),e.stroke())}},t}(n.AnnotationView);i.BandView=r,r.__name__=\"BandView\";var a=function(e){function t(t){return e.call(this,t)||this}return s.__extends(t,e),t.init_Band=function(){this.prototype.default_view=r,this.mixins([\"line\",\"fill\"]),this.define({lower:[_.DistanceSpec],upper:[_.DistanceSpec],base:[_.DistanceSpec],dimension:[_.Dimension,\"height\"],source:[_.Instance,function(){return new o.ColumnDataSource}],x_range_name:[_.String,\"default\"],y_range_name:[_.String,\"default\"]}),this.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},t}(n.Annotation);i.Band=a,a.__name__=\"Band\",a.init_Band()},\n",
       "      function _(t,i,e){var s=t(113),o=t(131),n=t(116),l=t(163),r=t(121),a=t(181),h=t(202);e.EDGE_TOLERANCE=2.5;var u=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(i,t),i.prototype.initialize=function(){t.prototype.initialize.call(this),this.plot_view.canvas_overlays.appendChild(this.el),this.el.classList.add(h.bk_shading),l.undisplay(this.el)},i.prototype.connect_signals=function(){var i=this;t.prototype.connect_signals.call(this),\"css\"==this.model.render_mode?(this.connect(this.model.change,function(){return i.render()}),this.connect(this.model.data_update,function(){return i.render()})):(this.connect(this.model.change,function(){return i.plot_view.request_render()}),this.connect(this.model.data_update,function(){return i.plot_view.request_render()}))},i.prototype.render=function(){var t=this;if(this.model.visible||\"css\"!=this.model.render_mode||l.undisplay(this.el),this.model.visible)if(null!=this.model.left||null!=this.model.right||null!=this.model.top||null!=this.model.bottom){var i=this.plot_view.frame,e=i.xscales[this.model.x_range_name],s=i.yscales[this.model.y_range_name],o=function(i,e,s,o,n){return null!=i?t.model.screen?i:\"data\"==e?s.compute(i):o.compute(i):n};this.sleft=o(this.model.left,this.model.left_units,e,i.xview,i._left.value),this.sright=o(this.model.right,this.model.right_units,e,i.xview,i._right.value),this.stop=o(this.model.top,this.model.top_units,s,i.yview,i._top.value),this.sbottom=o(this.model.bottom,this.model.bottom_units,s,i.yview,i._bottom.value),(\"css\"==this.model.render_mode?this._css_box.bind(this):this._canvas_box.bind(this))(this.sleft,this.sright,this.sbottom,this.stop)}else l.undisplay(this.el)},i.prototype._css_box=function(t,i,e,s){var o=this.model.properties.line_width.value(),n=Math.floor(i-t)-o,r=Math.floor(e-s)-o;this.el.style.left=t+\"px\",this.el.style.width=n+\"px\",this.el.style.top=s+\"px\",this.el.style.height=r+\"px\",this.el.style.borderWidth=o+\"px\",this.el.style.borderColor=this.model.properties.line_color.value(),this.el.style.backgroundColor=this.model.properties.fill_color.value(),this.el.style.opacity=this.model.properties.fill_alpha.value();var a=this.model.properties.line_dash.value().length<2?\"solid\":\"dashed\";this.el.style.borderStyle=a,l.display(this.el)},i.prototype._canvas_box=function(t,i,e,s){var o=this.plot_view.canvas_view.ctx;o.save(),o.beginPath(),o.rect(t,s,i-t,e-s),this.visuals.fill.set_value(o),o.fill(),this.visuals.line.set_value(o),o.stroke(),o.restore()},i.prototype.interactive_bbox=function(){var t=this.model.properties.line_width.value()+e.EDGE_TOLERANCE;return new a.BBox({x0:this.sleft-t,y0:this.stop-t,x1:this.sright+t,y1:this.sbottom+t})},i.prototype.interactive_hit=function(t,i){return null!=this.model.in_cursor&&this.interactive_bbox().contains(t,i)},i.prototype.cursor=function(t,i){return Math.abs(t-this.sleft)<3||Math.abs(t-this.sright)<3?this.model.ew_cursor:Math.abs(i-this.sbottom)<3||Math.abs(i-this.stop)<3?this.model.ns_cursor:t>this.sleft&&t<this.sright&&i>this.stop&&i<this.sbottom?this.model.in_cursor:null},i}(o.AnnotationView);e.BoxAnnotationView=u,u.__name__=\"BoxAnnotationView\";var d=function(t){function i(i){return t.call(this,i)||this}return s.__extends(i,t),i.init_BoxAnnotation=function(){this.prototype.default_view=u,this.mixins([\"line\",\"fill\"]),this.define({render_mode:[r.RenderMode,\"canvas\"],x_range_name:[r.String,\"default\"],y_range_name:[r.String,\"default\"],top:[r.Number,null],top_units:[r.SpatialUnits,\"data\"],bottom:[r.Number,null],bottom_units:[r.SpatialUnits,\"data\"],left:[r.Number,null],left_units:[r.SpatialUnits,\"data\"],right:[r.Number,null],right_units:[r.SpatialUnits,\"data\"]}),this.internal({screen:[r.Boolean,!1],ew_cursor:[r.String,null],ns_cursor:[r.String,null],in_cursor:[r.String,null]}),this.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},i.prototype.initialize=function(){t.prototype.initialize.call(this),this.data_update=new n.Signal0(this,\"data_update\")},i.prototype.update=function(t){var i=t.left,e=t.right,s=t.top,o=t.bottom;this.setv({left:i,right:e,top:s,bottom:o,screen:!0},{silent:!0}),this.data_update.emit()},i}(o.Annotation);e.BoxAnnotation=d,d.__name__=\"BoxAnnotation\",d.init_BoxAnnotation()},\n",
       "      function _(n,o,a){n(164),n(163).styles.append(\".bk-root .bk-shading {\\n  position: absolute;\\n  display: block;\\n  border: 1px dashed green;\\n}\\n\"),a.bk_annotation=\"bk-annotation\",a.bk_shading=\"bk-shading\",a.bk_annotation_child=\"bk-annotation-child\"},\n",
       "      function _(t,e,i){var o=t(113),r=t(131),a=t(204),n=t(208),l=t(210),s=t(215),_=t(224),h=t(225),m=t(121),d=t(226),c=t(110),u=t(114),p=t(125),f=t(109),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this._set_canvas_image()},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.properties.visible.change,function(){return e.plot_view.request_render()}),this.connect(this.model.ticker.change,function(){return e.plot_view.request_render()}),this.connect(this.model.formatter.change,function(){return e.plot_view.request_render()}),null!=this.model.color_mapper&&this.connect(this.model.color_mapper.change,function(){e._set_canvas_image(),e.plot_view.request_render()})},e.prototype._get_size=function(){if(null==this.model.color_mapper)return{width:0,height:0};var t=this.compute_legend_dimensions();return{width:t.width,height:t.height}},e.prototype._set_canvas_image=function(){var t,e;if(null!=this.model.color_mapper){var i,o,r=this.model.color_mapper.palette;switch(\"vertical\"==this.model.orientation&&(r=c.reversed(r)),this.model.orientation){case\"vertical\":i=(t=[1,r.length])[0],o=t[1];break;case\"horizontal\":i=(e=[r.length,1])[0],o=e[1];break;default:throw new Error(\"unreachable code\")}var a=document.createElement(\"canvas\");a.width=i,a.height=o;var n=a.getContext(\"2d\"),s=n.getImageData(0,0,i,o),_=new l.LinearColorMapper({palette:r}).rgba_mapper.v_compute(c.range(0,r.length));s.data.set(_),n.putImageData(s,0,0),this.image=a}},e.prototype.compute_legend_dimensions=function(){var t,e,i=this._computed_image_dimensions(),o=[i.height,i.width],r=o[0],a=o[1],n=this._get_label_extent(),l=this._title_extent(),s=this._tick_extent(),_=this.model.padding;switch(this.model.orientation){case\"vertical\":t=r+l+2*_,e=a+s+n+2*_;break;case\"horizontal\":t=r+l+s+n+2*_,e=a+2*_;break;default:throw new Error(\"unreachable code\")}return{width:e,height:t}},e.prototype.compute_legend_location=function(){var t,e,i=this.compute_legend_dimensions(),o=[i.height,i.width],r=o[0],a=o[1],n=this.model.margin,l=null!=this.panel?this.panel:this.plot_view.frame,s=l.bbox.ranges,_=s[0],h=s[1],m=this.model.location;if(f.isString(m))switch(m){case\"top_left\":t=_.start+n,e=h.start+n;break;case\"top_center\":t=(_.end+_.start)/2-a/2,e=h.start+n;break;case\"top_right\":t=_.end-n-a,e=h.start+n;break;case\"bottom_right\":t=_.end-n-a,e=h.end-n-r;break;case\"bottom_center\":t=(_.end+_.start)/2-a/2,e=h.end-n-r;break;case\"bottom_left\":t=_.start+n,e=h.end-n-r;break;case\"center_left\":t=_.start+n,e=(h.end+h.start)/2-r/2;break;case\"center\":t=(_.end+_.start)/2-a/2,e=(h.end+h.start)/2-r/2;break;case\"center_right\":t=_.end-n-a,e=(h.end+h.start)/2-r/2;break;default:throw new Error(\"unreachable code\")}else{if(!f.isArray(m)||2!=m.length)throw new Error(\"unreachable code\");var d=m[0],c=m[1];t=l.xview.compute(d),e=l.yview.compute(c)-r}return{sx:t,sy:e}},e.prototype.render=function(){if(this.model.visible&&null!=this.model.color_mapper){var t=this.plot_view.canvas_view.ctx;t.save();var e=this.compute_legend_location(),i=e.sx,o=e.sy;t.translate(i,o),this._draw_bbox(t);var r=this._get_image_offset();if(t.translate(r.x,r.y),this._draw_image(t),null!=this.model.color_mapper.low&&null!=this.model.color_mapper.high){var a=this.tick_info();this._draw_major_ticks(t,a),this._draw_minor_ticks(t,a),this._draw_major_labels(t,a)}this.model.title&&this._draw_title(t),t.restore()}},e.prototype._draw_bbox=function(t){var e=this.compute_legend_dimensions();t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(0,0,e.width,e.height)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_image=function(t){var e=this._computed_image_dimensions();t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this.image,0,0,e.width,e.height),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_major_ticks=function(t,e){if(this.visuals.major_tick_line.doit){var i=this._normals(),o=i[0],r=i[1],a=this._computed_image_dimensions(),n=[a.width*o,a.height*r],l=n[0],s=n[1],_=e.coords.major,h=_[0],m=_[1],d=this.model.major_tick_in,c=this.model.major_tick_out;t.save(),t.translate(l,s),this.visuals.major_tick_line.set_value(t);for(var u=0,p=h.length;u<p;u++)t.beginPath(),t.moveTo(Math.round(h[u]+o*c),Math.round(m[u]+r*c)),t.lineTo(Math.round(h[u]-o*d),Math.round(m[u]-r*d)),t.stroke();t.restore()}},e.prototype._draw_minor_ticks=function(t,e){if(this.visuals.minor_tick_line.doit){var i=this._normals(),o=i[0],r=i[1],a=this._computed_image_dimensions(),n=[a.width*o,a.height*r],l=n[0],s=n[1],_=e.coords.minor,h=_[0],m=_[1],d=this.model.minor_tick_in,c=this.model.minor_tick_out;t.save(),t.translate(l,s),this.visuals.minor_tick_line.set_value(t);for(var u=0,p=h.length;u<p;u++)t.beginPath(),t.moveTo(Math.round(h[u]+o*c),Math.round(m[u]+r*c)),t.lineTo(Math.round(h[u]-o*d),Math.round(m[u]-r*d)),t.stroke();t.restore()}},e.prototype._draw_major_labels=function(t,e){if(this.visuals.major_label_text.doit){var i=this._normals(),o=i[0],r=i[1],a=this._computed_image_dimensions(),n=[a.width*o,a.height*r],l=n[0],s=n[1],_=this.model.label_standoff+this._tick_extent(),h=[_*o,_*r],m=h[0],d=h[1],c=e.coords.major,u=c[0],p=c[1],f=e.labels.major;this.visuals.major_label_text.set_value(t),t.save(),t.translate(l+m,s+d);for(var g=0,v=u.length;g<v;g++)t.fillText(f[g],Math.round(u[g]+o*this.model.label_standoff),Math.round(p[g]+r*this.model.label_standoff));t.restore()}},e.prototype._draw_title=function(t){this.visuals.title_text.doit&&(t.save(),this.visuals.title_text.set_value(t),t.fillText(this.model.title,0,-this.model.title_standoff),t.restore())},e.prototype._get_label_extent=function(){var t,e=this.tick_info().labels.major;if(null==this.model.color_mapper.low||null==this.model.color_mapper.high||p.isEmpty(e))t=0;else{var i=this.plot_view.canvas_view.ctx;switch(i.save(),this.visuals.major_label_text.set_value(i),this.model.orientation){case\"vertical\":t=c.max(e.map(function(t){return i.measureText(t.toString()).width}));break;case\"horizontal\":t=d.measure_font(this.visuals.major_label_text.font_value()).height;break;default:throw new Error(\"unreachable code\")}t+=this.model.label_standoff,i.restore()}return t},e.prototype._get_image_offset=function(){return{x:this.model.padding,y:this.model.padding+this._title_extent()}},e.prototype._normals=function(){return\"vertical\"==this.model.orientation?[1,0]:[0,1]},e.prototype._title_extent=function(){var t=this.model.title_text_font+\" \"+this.model.title_text_font_size+\" \"+this.model.title_text_font_style;return this.model.title?d.measure_font(t).height+this.model.title_standoff:0},e.prototype._tick_extent=function(){return null!=this.model.color_mapper.low&&null!=this.model.color_mapper.high?c.max([this.model.major_tick_out,this.model.minor_tick_out]):0},e.prototype._computed_image_dimensions=function(){var t,e,i=this.plot_view.frame._height.value,o=this.plot_view.frame._width.value,r=this._title_extent();switch(this.model.orientation){case\"vertical\":\"auto\"==this.model.height?null!=this.panel?t=i-2*this.model.padding-r:(t=c.max([25*this.model.color_mapper.palette.length,.3*i]),t=c.min([t,.8*i-2*this.model.padding-r])):t=this.model.height,e=\"auto\"==this.model.width?25:this.model.width;break;case\"horizontal\":t=\"auto\"==this.model.height?25:this.model.height,\"auto\"==this.model.width?null!=this.panel?e=o-2*this.model.padding:(e=c.max([25*this.model.color_mapper.palette.length,.3*o]),e=c.min([e,.8*o-2*this.model.padding])):e=this.model.width;break;default:throw new Error(\"unreachable code\")}return{width:e,height:t}},e.prototype._tick_coordinate_scale=function(t){var e={source_range:new h.Range1d({start:this.model.color_mapper.low,end:this.model.color_mapper.high}),target_range:new h.Range1d({start:0,end:t})};switch(this.model.color_mapper.type){case\"LinearColorMapper\":return new s.LinearScale(e);case\"LogColorMapper\":return new _.LogScale(e);default:throw new Error(\"unreachable code\")}},e.prototype._format_major_labels=function(t,e){for(var i=this.model.formatter.doFormat(t,null),o=0,r=e.length;o<r;o++)e[o]in this.model.major_label_overrides&&(i[o]=this.model.major_label_overrides[e[o]]);return i},e.prototype.tick_info=function(){var t,e=this._computed_image_dimensions();switch(this.model.orientation){case\"vertical\":t=e.height;break;case\"horizontal\":t=e.width;break;default:throw new Error(\"unreachable code\")}for(var i=this._tick_coordinate_scale(t),o=this._normals(),r=o[0],a=o[1],n=[this.model.color_mapper.low,this.model.color_mapper.high],l=n[0],s=n[1],_=this.model.ticker.get_ticks(l,s,null,null,this.model.ticker.desired_num_ticks),h=_.major,m=_.minor,d=[[],[]],c=[[],[]],p=0,f=h.length;p<f;p++)h[p]<l||h[p]>s||(d[r].push(h[p]),d[a].push(0));for(p=0,f=m.length;p<f;p++)m[p]<l||m[p]>s||(c[r].push(m[p]),c[a].push(0));var g={major:this._format_major_labels(d[r],h)},v={major:[[],[]],minor:[[],[]]};return v.major[r]=i.v_compute(d[r]),v.minor[r]=i.v_compute(c[r]),v.major[a]=d[a],v.minor[a]=c[a],\"vertical\"==this.model.orientation&&(v.major[r]=u.map(v.major[r],function(e){return t-e}),v.minor[r]=u.map(v.minor[r],function(e){return t-e})),{coords:v,labels:g}},e}(r.AnnotationView);i.ColorBarView=g,g.__name__=\"ColorBarView\";var v=function(t){function e(e){return t.call(this,e)||this}return o.__extends(e,t),e.init_ColorBar=function(){this.prototype.default_view=g,this.mixins([\"text:major_label_\",\"text:title_\",\"line:major_tick_\",\"line:minor_tick_\",\"line:border_\",\"line:bar_\",\"fill:background_\"]),this.define({location:[m.Any,\"top_right\"],orientation:[m.Orientation,\"vertical\"],title:[m.String],title_standoff:[m.Number,2],width:[m.Any,\"auto\"],height:[m.Any,\"auto\"],scale_alpha:[m.Number,1],ticker:[m.Instance,function(){return new a.BasicTicker}],formatter:[m.Instance,function(){return new n.BasicTickFormatter}],major_label_overrides:[m.Any,{}],color_mapper:[m.Instance],label_standoff:[m.Number,5],margin:[m.Number,30],padding:[m.Number,10],major_tick_in:[m.Number,5],major_tick_out:[m.Number,0],minor_tick_in:[m.Number,0],minor_tick_out:[m.Number,0]}),this.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_align:\"center\",major_label_text_baseline:\"middle\",major_label_text_font_size:\"8pt\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"10pt\",title_text_font_style:\"italic\"})},e}(r.Annotation);i.ColorBar=v,v.__name__=\"ColorBar\",v.init_ColorBar()},\n",
       "      function _(i,n,c){var e=i(113),t=function(i){function n(n){return i.call(this,n)||this}return e.__extends(n,i),n}(i(205).AdaptiveTicker);c.BasicTicker=t,t.__name__=\"BasicTicker\"},\n",
       "      function _(t,i,a){var e=t(113),n=t(206),s=t(110),r=t(121);var h=function(t){function i(i){return t.call(this,i)||this}return e.__extends(i,t),i.init_AdaptiveTicker=function(){this.define({base:[r.Number,10],mantissas:[r.Array,[1,2,5]],min_interval:[r.Number,0],max_interval:[r.Number]})},i.prototype.initialize=function(){t.prototype.initialize.call(this);var i=s.nth(this.mantissas,-1)/this.base,a=s.nth(this.mantissas,0)*this.base;this.extended_mantissas=e.__spreadArrays([i],this.mantissas,[a]),this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()},i.prototype.get_interval=function(t,i,a){var e,n,r=i-t,h=this.get_ideal_interval(t,i,a),_=Math.floor((e=h/this.base_factor,void 0===(n=this.base)&&(n=Math.E),Math.log(e)/Math.log(n))),o=Math.pow(this.base,_)*this.base_factor,m=this.extended_mantissas,c=m.map(function(t){return Math.abs(a-r/(t*o))});return function(t,i,a){return Math.max(i,Math.min(a,t))}(m[s.argmin(c)]*o,this.get_min_interval(),this.get_max_interval())},i}(n.ContinuousTicker);a.AdaptiveTicker=h,h.__name__=\"AdaptiveTicker\",h.init_AdaptiveTicker()},\n",
       "      function _(t,n,i){var r=t(113),e=t(207),o=t(121),u=t(110),_=t(109),s=function(t){function n(n){return t.call(this,n)||this}return r.__extends(n,t),n.init_ContinuousTicker=function(){this.define({num_minor_ticks:[o.Number,5],desired_num_ticks:[o.Number,6]})},n.prototype.get_ticks=function(t,n,i,r,e){return this.get_ticks_no_defaults(t,n,r,this.desired_num_ticks)},n.prototype.get_ticks_no_defaults=function(t,n,i,r){var e=this.get_interval(t,n,r),o=Math.floor(t/e),s=Math.ceil(n/e),a=(_.isStrictNaN(o)||_.isStrictNaN(s)?[]:u.range(o,s+1)).map(function(t){return t*e}).filter(function(i){return t<=i&&i<=n}),c=this.num_minor_ticks,l=[];if(c>0&&a.length>0){for(var f=e/c,h=u.range(0,c).map(function(t){return t*f}),m=0,p=h.slice(1);m<p.length;m++){var g=p[m],v=a[0]-g;t<=v&&v<=n&&l.push(v)}for(var k=0,d=a;k<d.length;k++)for(var N=d[k],y=0,T=h;y<T.length;y++){g=T[y];t<=(v=N+g)&&v<=n&&l.push(v)}}return{major:a,minor:l}},n.prototype.get_min_interval=function(){return this.min_interval},n.prototype.get_max_interval=function(){return null!=this.max_interval?this.max_interval:1/0},n.prototype.get_ideal_interval=function(t,n,i){return(n-t)/i},n}(e.Ticker);i.ContinuousTicker=s,s.__name__=\"ContinuousTicker\",s.init_ContinuousTicker()},\n",
       "      function _(n,e,t){var i=n(113),r=function(n){function e(e){return n.call(this,e)||this}return i.__extends(e,n),e}(n(166).Model);t.Ticker=r,r.__name__=\"Ticker\"},\n",
       "      function _(i,e,t){var r=i(113),n=i(209),o=i(121),a=i(109),c=function(i){function e(e){var t=i.call(this,e)||this;return t.last_precision=3,t}return r.__extends(e,i),e.init_BasicTickFormatter=function(){this.define({precision:[o.Any,\"auto\"],use_scientific:[o.Boolean,!0],power_limit_high:[o.Number,5],power_limit_low:[o.Number,-3]})},Object.defineProperty(e.prototype,\"scientific_limit_low\",{get:function(){return Math.pow(10,this.power_limit_low)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"scientific_limit_high\",{get:function(){return Math.pow(10,this.power_limit_high)},enumerable:!0,configurable:!0}),e.prototype.doFormat=function(i,e){if(0==i.length)return[];var t=0;i.length>=2&&(t=Math.abs(i[1]-i[0])/1e4);var r=!1;if(this.use_scientific)for(var n=0,o=i;n<o.length;n++){var c=o[n],l=Math.abs(c);if(l>t&&(l>=this.scientific_limit_high||l<=this.scientific_limit_low)){r=!0;break}}var s=new Array(i.length),f=this.precision;if(null==f||a.isNumber(f))if(r)for(var h=0,_=i.length;h<_;h++)s[h]=i[h].toExponential(f||void 0);else for(h=0,_=i.length;h<_;h++)s[h]=i[h].toFixed(f||void 0).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\");else for(var p=this.last_precision,u=this.last_precision<=15;u?p<=15:p>=15;u?p++:p--){var m=!0;if(r){for(h=0,_=i.length;h<_;h++)if(s[h]=i[h].toExponential(p),h>0&&s[h]===s[h-1]){m=!1;break}if(m)break}else{for(h=0,_=i.length;h<_;h++)if(s[h]=i[h].toFixed(p).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\"),h>0&&s[h]==s[h-1]){m=!1;break}if(m)break}if(m){this.last_precision=p;break}}return s},e}(n.TickFormatter);t.BasicTickFormatter=c,c.__name__=\"BasicTickFormatter\",c.init_BasicTickFormatter()},\n",
       "      function _(t,n,r){var e=t(113),i=function(t){function n(n){return t.call(this,n)||this}return e.__extends(n,t),n}(t(166).Model);r.TickFormatter=i,i.__name__=\"TickFormatter\"},\n",
       "      function _(o,n,l){var r=o(113),t=o(211),i=o(114),e=function(o){function n(n){return o.call(this,n)||this}return r.__extends(n,o),n.prototype._v_compute=function(o,n,l,r){for(var t=r.nan_color,e=r.low_color,h=r.high_color,a=null!=this.low?this.low:i.min(o),u=null!=this.high?this.high:i.max(o),_=l.length-1,s=1/(u-a),c=1/l.length,p=0,f=o.length;p<f;p++){var g=o[p];if(isNaN(g))n[p]=t;else if(g!=u){var v=(g-a)*s,m=Math.floor(v/c);n[p]=m<0?null!=e?e:l[0]:m>_?null!=h?h:l[_]:l[m]}else n[p]=l[_]}},n}(t.ContinuousColorMapper);l.LinearColorMapper=e,e.__name__=\"LinearColorMapper\"},\n",
       "      function _(o,r,i){var l=o(113),n=o(212),t=o(121),u=function(o){function r(r){return o.call(this,r)||this}return l.__extends(r,o),r.init_ContinuousColorMapper=function(){this.define({high:[t.Number],low:[t.Number],high_color:[t.Color],low_color:[t.Color]})},r.prototype._colors=function(r){return Object.assign(Object.assign({},o.prototype._colors.call(this,r)),{low_color:null!=this.low_color?r(this.low_color):void 0,high_color:null!=this.high_color?r(this.high_color):void 0})},r}(n.ColorMapper);i.ContinuousColorMapper=u,u.__name__=\"ContinuousColorMapper\",u.init_ContinuousColorMapper()},\n",
       "      function _(t,r,n){var e=t(113),o=t(213),i=t(121),a=t(109),u=t(123),_=t(197);function c(t){return a.isNumber(t)?t:(\"#\"!=t[0]&&(t=u.color2hex(t)),9!=t.length&&(t+=\"ff\"),parseInt(t.slice(1),16))}function l(t){for(var r=new Uint32Array(t.length),n=0,e=t.length;n<e;n++)r[n]=c(t[n]);return r}function p(t){if(_.is_little_endian)for(var r=new DataView(t.buffer),n=0,e=t.length;n<e;n++)r.setUint32(4*n,t[n]);return new Uint8Array(t.buffer)}n._convert_color=c,n._convert_palette=l,n._uint32_to_rgba=p;var f=function(t){function r(r){return t.call(this,r)||this}return e.__extends(r,t),r.init_ColorMapper=function(){this.define({palette:[i.Any],nan_color:[i.Color,\"gray\"]})},r.prototype.v_compute=function(t){var r=new Array(t.length);return this._v_compute(t,r,this.palette,this._colors(function(t){return t})),r},Object.defineProperty(r.prototype,\"rgba_mapper\",{get:function(){var t=this,r=l(this.palette),n=this._colors(c);return{v_compute:function(e){var o=new Uint32Array(e.length);return t._v_compute(e,o,r,n),p(o)}}},enumerable:!0,configurable:!0}),r.prototype._colors=function(t){return{nan_color:t(this.nan_color)}},r}(o.Mapper);n.ColorMapper=f,f.__name__=\"ColorMapper\",f.init_ColorMapper()},\n",
       "      function _(n,r,t){var e=n(113),o=function(n){function r(r){return n.call(this,r)||this}return e.__extends(r,n),r.prototype.compute=function(n){throw new Error(\"mapping single values is not supported\")},r}(n(214).Transform);t.Mapper=o,o.__name__=\"Mapper\"},\n",
       "      function _(n,r,t){var _=n(113),e=function(n){function r(r){return n.call(this,r)||this}return _.__extends(r,n),r}(n(166).Model);t.Transform=e,e.__name__=\"Transform\"},\n",
       "      function _(t,e,r){var n=t(113),o=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.prototype.compute=function(t){var e=this._compute_state();return e[0]*t+e[1]},e.prototype.v_compute=function(t){for(var e=this._compute_state(),r=e[0],n=e[1],o=new Float64Array(t.length),a=0;a<t.length;a++)o[a]=r*t[a]+n;return o},e.prototype.invert=function(t){var e=this._compute_state(),r=e[0];return(t-e[1])/r},e.prototype.v_invert=function(t){for(var e=this._compute_state(),r=e[0],n=e[1],o=new Float64Array(t.length),a=0;a<t.length;a++)o[a]=(t[a]-n)/r;return o},e.prototype._compute_state=function(){var t=this.source_range.start,e=this.source_range.end,r=this.target_range.start,n=(this.target_range.end-r)/(e-t);return[n,-n*t+r]},e}(t(216).Scale);r.LinearScale=o,o.__name__=\"LinearScale\"},\n",
       "      function _(t,e,n){var r=t(113),i=t(217),s=t(121),c=function(t){function e(e){return t.call(this,e)||this}return r.__extends(e,t),e.init_Scale=function(){this.internal({source_range:[s.Any],target_range:[s.Any]})},e.prototype.r_compute=function(t,e){return this.target_range.is_reversed?[this.compute(e),this.compute(t)]:[this.compute(t),this.compute(e)]},e.prototype.r_invert=function(t,e){return this.target_range.is_reversed?[this.invert(e),this.invert(t)]:[this.invert(t),this.invert(e)]},e}(i.Transform);n.Scale=c,c.__name__=\"Scale\",c.init_Scale()},\n",
       "      function _(r,o,t){var a=r(218);t.CustomJSTransform=a.CustomJSTransform;var e=r(219);t.Dodge=e.Dodge;var n=r(220);t.Interpolator=n.Interpolator;var p=r(221);t.Jitter=p.Jitter;var v=r(222);t.LinearInterpolator=v.LinearInterpolator;var l=r(223);t.StepInterpolator=l.StepInterpolator;var m=r(214);t.Transform=m.Transform},\n",
       "      function _(t,r,e){var n=t(113),s=t(214),o=t(121),i=t(125),a=t(127),u=function(r){function e(t){return r.call(this,t)||this}return n.__extends(e,r),e.init_CustomJSTransform=function(){this.define({args:[o.Any,{}],func:[o.String,\"\"],v_func:[o.String,\"\"],use_strict:[o.Boolean,!1]})},Object.defineProperty(e.prototype,\"names\",{get:function(){return i.keys(this.args)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"values\",{get:function(){return i.values(this.args)},enumerable:!0,configurable:!0}),e.prototype._make_transform=function(t,r){var e=this.use_strict?a.use_strict(r):r;return new(Function.bind.apply(Function,n.__spreadArrays([void 0],this.names,[t,\"require\",\"exports\",e])))},Object.defineProperty(e.prototype,\"scalar_transform\",{get:function(){return this._make_transform(\"x\",this.func)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"vector_transform\",{get:function(){return this._make_transform(\"xs\",this.v_func)},enumerable:!0,configurable:!0}),e.prototype.compute=function(r){return this.scalar_transform.apply(this,n.__spreadArrays(this.values,[r,t,{}]))},e.prototype.v_compute=function(r){return this.vector_transform.apply(this,n.__spreadArrays(this.values,[r,t,{}]))},e}(s.Transform);e.CustomJSTransform=u,u.__name__=\"CustomJSTransform\",u.init_CustomJSTransform()},\n",
       "      function _(e,t,n){var r=e(113),i=e(214),o=e(184),u=e(121),a=e(109),c=function(e){function t(t){return e.call(this,t)||this}return r.__extends(t,e),t.init_Dodge=function(){this.define({value:[u.Number,0],range:[u.Instance]})},t.prototype.v_compute=function(e){var t;if(this.range instanceof o.FactorRange)t=this.range.v_synthetic(e);else{if(!a.isArrayableOf(e,a.isNumber))throw new Error(\"unexpected\");t=e}for(var n=new Float64Array(t.length),r=0;r<t.length;r++){var i=t[r];n[r]=this._compute(i)}return n},t.prototype.compute=function(e){if(this.range instanceof o.FactorRange)return this._compute(this.range.synthetic(e));if(a.isNumber(e))return this._compute(e);throw new Error(\"unexpected\")},t.prototype._compute=function(e){return e+this.value},t}(i.Transform);n.Dodge=c,c.__name__=\"Dodge\",c.init_Dodge()},\n",
       "      function _(t,r,n){var e=t(113),o=t(214),i=t(121),s=t(110),a=t(109),h=function(t){function r(r){var n=t.call(this,r)||this;return n._sorted_dirty=!0,n}return e.__extends(r,t),r.init_Interpolator=function(){this.define({x:[i.Any],y:[i.Any],data:[i.Any],clip:[i.Boolean,!0]})},r.prototype.connect_signals=function(){var r=this;t.prototype.connect_signals.call(this),this.connect(this.change,function(){return r._sorted_dirty=!0})},r.prototype.v_compute=function(t){for(var r=new Float64Array(t.length),n=0;n<t.length;n++){var e=t[n];r[n]=this.compute(e)}return r},r.prototype.sort=function(t){if(void 0===t&&(t=!1),this._sorted_dirty){var r,n;if(a.isString(this.x)&&a.isString(this.y)&&null!=this.data){var e=this.data.columns();if(!s.includes(e,this.x))throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");if(!s.includes(e,this.y))throw new Error(\"The y parameter does not correspond to a valid column name defined in the data parameter\");r=this.data.get_column(this.x),n=this.data.get_column(this.y)}else{if(!a.isArray(this.x)||!a.isArray(this.y))throw new Error(\"parameters 'x' and 'y' must be both either string fields or arrays\");r=this.x,n=this.y}if(r.length!==n.length)throw new Error(\"The length for x and y do not match\");if(r.length<2)throw new Error(\"x and y must have at least two elements to support interpolation\");var o=[];for(var i in r)o.push({x:r[i],y:n[i]});t?o.sort(function(t,r){return t.x>r.x?-1:t.x==r.x?0:1}):o.sort(function(t,r){return t.x<r.x?-1:t.x==r.x?0:1}),this._x_sorted=[],this._y_sorted=[];for(var h=0,d=o;h<d.length;h++){var l=d[h],c=l.x,u=l.y;this._x_sorted.push(c),this._y_sorted.push(u)}this._sorted_dirty=!1}},r}(o.Transform);n.Interpolator=h,h.__name__=\"Interpolator\",h.init_Interpolator()},\n",
       "      function _(t,e,r){var i=t(113),n=t(214),s=t(184),o=t(109),u=t(121),a=t(111),h=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.init_Jitter=function(){this.define({mean:[u.Number,0],width:[u.Number,1],distribution:[u.Distribution,\"uniform\"],range:[u.Instance]}),this.internal({previous_values:[u.Array]})},e.prototype.v_compute=function(t){if(null!=this.previous_values&&this.previous_values.length==t.length)return this.previous_values;var e;if(this.range instanceof s.FactorRange)e=this.range.v_synthetic(t);else{if(!o.isArrayableOf(t,o.isNumber))throw new Error(\"unexpected\");e=t}for(var r=new Float64Array(e.length),i=0;i<e.length;i++){var n=e[i];r[i]=this._compute(n)}return this.previous_values=r,r},e.prototype.compute=function(t){if(this.range instanceof s.FactorRange)return this._compute(this.range.synthetic(t));if(o.isNumber(t))return this._compute(t);throw new Error(\"unexpected\")},e.prototype._compute=function(t){switch(this.distribution){case\"uniform\":return t+this.mean+(a.random()-.5)*this.width;case\"normal\":return t+a.rnorm(this.mean,this.width)}},e}(n.Transform);r.Jitter=h,h.__name__=\"Jitter\",h.init_Jitter()},\n",
       "      function _(t,r,_){var e=t(113),s=t(110),i=function(t){function r(r){return t.call(this,r)||this}return e.__extends(r,t),r.prototype.compute=function(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];var r=s.find_last_index(this._x_sorted,function(r){return r<t}),_=this._x_sorted[r],e=this._x_sorted[r+1],i=this._y_sorted[r],o=this._y_sorted[r+1];return i+(t-_)/(e-_)*(o-i)},r}(t(220).Interpolator);_.LinearInterpolator=i,i.__name__=\"LinearInterpolator\"},\n",
       "      function _(t,e,r){var n=t(113),i=t(220),o=t(121),s=t(110),_=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_StepInterpolator=function(){this.define({mode:[o.StepMode,\"after\"]})},e.prototype.compute=function(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}var e;switch(this.mode){case\"after\":e=s.find_last_index(this._x_sorted,function(e){return t>=e});break;case\"before\":e=s.find_index(this._x_sorted,function(e){return t<=e});break;case\"center\":var r=this._x_sorted.map(function(e){return Math.abs(e-t)}),n=s.min(r);e=s.find_index(r,function(t){return n===t});break;default:throw new Error(\"unknown mode: \"+this.mode)}return-1!=e?this._y_sorted[e]:NaN},e}(i.Interpolator);r.StepInterpolator=_,_.__name__=\"StepInterpolator\",_.init_StepInterpolator()},\n",
       "      function _(t,e,a){var r=t(113),o=function(t){function e(e){return t.call(this,e)||this}return r.__extends(e,t),e.prototype.compute=function(t){var e,a=this._compute_state(),r=a[0],o=a[1],n=a[2],i=a[3];if(0==n)e=0;else{var h=(Math.log(t)-i)/n;e=isFinite(h)?h*r+o:NaN}return e},e.prototype.v_compute=function(t){var e=this._compute_state(),a=e[0],r=e[1],o=e[2],n=e[3],i=new Float64Array(t.length);if(0==o)for(var h=0;h<t.length;h++)i[h]=0;else for(h=0;h<t.length;h++){var _=(Math.log(t[h])-n)/o,l=void 0;l=isFinite(_)?_*a+r:NaN,i[h]=l}return i},e.prototype.invert=function(t){var e=this._compute_state(),a=e[0],r=e[1],o=e[2],n=e[3],i=(t-r)/a;return Math.exp(o*i+n)},e.prototype.v_invert=function(t){for(var e=this._compute_state(),a=e[0],r=e[1],o=e[2],n=e[3],i=new Float64Array(t.length),h=0;h<t.length;h++){var _=(t[h]-r)/a;i[h]=Math.exp(o*_+n)}return i},e.prototype._get_safe_factor=function(t,e){var a,r=t<0?0:t,o=e<0?0:e;if(r==o)if(0==r)r=(a=[1,10])[0],o=a[1];else{var n=Math.log(r)/Math.log(10);r=Math.pow(10,Math.floor(n)),o=Math.ceil(n)!=Math.floor(n)?Math.pow(10,Math.ceil(n)):Math.pow(10,Math.ceil(n)+1)}return[r,o]},e.prototype._compute_state=function(){var t,e,a=this.source_range.start,r=this.source_range.end,o=this.target_range.start,n=this.target_range.end-o,i=this._get_safe_factor(a,r),h=i[0],_=i[1];return 0==h?(t=Math.log(_),e=0):(t=Math.log(_)-Math.log(h),e=Math.log(h)),[n,o,t,e]},e}(t(216).Scale);a.LogScale=o,o.__name__=\"LogScale\"},\n",
       "      function _(t,e,s){var n=t(113),i=t(185),r=t(121),a=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_Range1d=function(){this.define({start:[r.Number,0],end:[r.Number,1],reset_start:[r.Number],reset_end:[r.Number]})},e.prototype._set_auto_bounds=function(){if(\"auto\"==this.bounds){var t=Math.min(this.reset_start,this.reset_end),e=Math.max(this.reset_start,this.reset_end);this.setv({bounds:[t,e]},{silent:!0})}},e.prototype.initialize=function(){t.prototype.initialize.call(this),null==this.reset_start&&(this.reset_start=this.start),null==this.reset_end&&(this.reset_end=this.end),this._set_auto_bounds()},Object.defineProperty(e.prototype,\"min\",{get:function(){return Math.min(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max\",{get:function(){return Math.max(this.start,this.end)},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this._set_auto_bounds(),this.start!=this.reset_start||this.end!=this.reset_end?this.setv({start:this.reset_start,end:this.reset_end}):this.change.emit()},e}(i.Range);s.Range1d=a,a.__name__=\"Range1d\",a.init_Range1d()},\n",
       "      function _(t,e,i){var n=t(163),l={};i.measure_font=function(t){if(null!=l[t])return l[t];var e=n.span({style:{font:t}},\"Hg\"),i=n.div({style:{display:\"inline-block\",width:\"1px\",height:\"0px\"}}),o=n.div({},e,i);document.body.appendChild(o);try{i.style.verticalAlign=\"baseline\";var r=n.offset(i).top-n.offset(e).top;i.style.verticalAlign=\"bottom\";var d=n.offset(i).top-n.offset(e).top,a={height:d,ascent:r,descent:d-r};return l[t]=a,a}finally{document.body.removeChild(o)}};var o={};i.measure_text=function(t,e){var i=o[e];if(null!=i){var l=i[t];if(null!=l)return l}else o[e]={};var r=n.div({style:{display:\"inline-block\",\"white-space\":\"nowrap\",font:e}},t);document.body.appendChild(r);try{var d=r.getBoundingClientRect(),a=d.width,f=d.height;return o[e][t]={width:a,height:f},{width:a,height:f}}finally{document.body.removeChild(r)}}},\n",
       "      function _(e,t,i){var n=e(113),a=e(228),s=e(163),l=e(121),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.visuals.warm_cache()},t.prototype._get_size=function(){var e=this.plot_view.canvas_view.ctx;this.visuals.text.set_value(e);var t=e.measureText(this.model.text);return{width:t.width,height:t.ascent}},t.prototype.render=function(){if(this.model.visible||\"css\"!=this.model.render_mode||s.undisplay(this.el),this.model.visible){var e;switch(this.model.angle_units){case\"rad\":e=-this.model.angle;break;case\"deg\":e=-this.model.angle*Math.PI/180;break;default:throw new Error(\"unreachable code\")}var t=null!=this.panel?this.panel:this.plot_view.frame,i=this.plot_view.frame.xscales[this.model.x_range_name],n=this.plot_view.frame.yscales[this.model.y_range_name],a=\"data\"==this.model.x_units?i.compute(this.model.x):t.xview.compute(this.model.x),l=\"data\"==this.model.y_units?n.compute(this.model.y):t.yview.compute(this.model.y);a+=this.model.x_offset,l-=this.model.y_offset,(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,this.model.text,a,l,e)}},t}(a.TextAnnotationView);i.LabelView=o,o.__name__=\"LabelView\";var r=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.init_Label=function(){this.prototype.default_view=o,this.mixins([\"text\",\"line:border_\",\"fill:background_\"]),this.define({x:[l.Number],x_units:[l.SpatialUnits,\"data\"],y:[l.Number],y_units:[l.SpatialUnits,\"data\"],text:[l.String],angle:[l.Angle,0],angle_units:[l.AngleUnits,\"rad\"],x_offset:[l.Number,0],y_offset:[l.Number,0],x_range_name:[l.String,\"default\"],y_range_name:[l.String,\"default\"]}),this.override({background_fill_color:null,border_line_color:null})},t}(a.TextAnnotation);i.Label=r,r.__name__=\"Label\",r.init_Label()},\n",
       "      function _(t,e,i){var s=t(113),n=t(131),l=t(163),a=t(121),o=t(226),r=t(202),u=function(t){function e(){var e=t.apply(this,arguments)||this;return e.rotate=!0,e}return s.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),\"css\"==this.model.render_mode&&(this.el.classList.add(r.bk_annotation),this.plot_view.canvas_overlays.appendChild(this.el))},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),\"css\"==this.model.render_mode?this.connect(this.model.change,function(){return e.render()}):this.connect(this.model.change,function(){return e.plot_view.request_render()})},e.prototype._calculate_text_dimensions=function(t,e){return[t.measureText(e).width,o.measure_font(this.visuals.text.font_value()).height]},e.prototype._calculate_bounding_box_dimensions=function(t,e){var i,s,n=this._calculate_text_dimensions(t,e),l=n[0],a=n[1];switch(t.textAlign){case\"left\":i=0;break;case\"center\":i=-l/2;break;case\"right\":i=-l;break;default:throw new Error(\"unreachable code\")}switch(t.textBaseline){case\"top\":s=0;break;case\"middle\":s=-.5*a;break;case\"bottom\":s=-1*a;break;case\"alphabetic\":s=-.8*a;break;case\"hanging\":s=-.17*a;break;case\"ideographic\":s=-.83*a;break;default:throw new Error(\"unreachable code\")}return[i,s,l,a]},e.prototype._canvas_text=function(t,e,i,s,n){this.visuals.text.set_value(t);var l=this._calculate_bounding_box_dimensions(t,e);t.save(),t.beginPath(),t.translate(i,s),n&&t.rotate(n),t.rect(l[0],l[1],l[2],l[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(t),t.fillText(e,0,0)),t.restore()},e.prototype._css_text=function(t,e,i,s,n){l.undisplay(this.el),this.visuals.text.set_value(t);var a=this._calculate_bounding_box_dimensions(t,e),o=this.visuals.border_line.line_dash.value().length<2?\"solid\":\"dashed\";this.visuals.border_line.set_value(t),this.visuals.background_fill.set_value(t),this.el.style.position=\"absolute\",this.el.style.left=i+a[0]+\"px\",this.el.style.top=s+a[1]+\"px\",this.el.style.color=\"\"+this.visuals.text.text_color.value(),this.el.style.opacity=\"\"+this.visuals.text.text_alpha.value(),this.el.style.font=\"\"+this.visuals.text.font_value(),this.el.style.lineHeight=\"normal\",n&&(this.el.style.transform=\"rotate(\"+n+\"rad)\"),this.visuals.background_fill.doit&&(this.el.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(this.el.style.borderStyle=\"\"+o,this.el.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",this.el.style.borderColor=\"\"+this.visuals.border_line.color_value()),this.el.textContent=e,l.display(this.el)},e}(n.AnnotationView);i.TextAnnotationView=u,u.__name__=\"TextAnnotationView\";var h=function(t){function e(e){return t.call(this,e)||this}return s.__extends(e,t),e.init_TextAnnotation=function(){this.define({render_mode:[a.RenderMode,\"canvas\"]})},e}(n.Annotation);i.TextAnnotation=h,h.__name__=\"TextAnnotation\",h.init_TextAnnotation()},\n",
       "      function _(t,e,i){var s=t(113),o=t(228),n=t(170),l=t(163),a=t(121),r=t(202),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.initialize=function(){if(t.prototype.initialize.call(this),this.set_data(this.model.source),\"css\"==this.model.render_mode)for(var e=0,i=this._text.length;e<i;e++){var s=l.div({class:r.bk_annotation_child,style:{display:\"none\"}});this.el.appendChild(s)}},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),\"css\"==this.model.render_mode?(this.connect(this.model.change,function(){e.set_data(e.model.source),e.render()}),this.connect(this.model.source.streaming,function(){e.set_data(e.model.source),e.render()}),this.connect(this.model.source.patching,function(){e.set_data(e.model.source),e.render()}),this.connect(this.model.source.change,function(){e.set_data(e.model.source),e.render()})):(this.connect(this.model.change,function(){e.set_data(e.model.source),e.plot_view.request_render()}),this.connect(this.model.source.streaming,function(){e.set_data(e.model.source),e.plot_view.request_render()}),this.connect(this.model.source.patching,function(){e.set_data(e.model.source),e.plot_view.request_render()}),this.connect(this.model.source.change,function(){e.set_data(e.model.source),e.plot_view.request_render()}))},e.prototype.set_data=function(e){t.prototype.set_data.call(this,e),this.visuals.warm_cache(e)},e.prototype._map_data=function(){var t=this.plot_view.frame.xscales[this.model.x_range_name],e=this.plot_view.frame.yscales[this.model.y_range_name],i=null!=this.panel?this.panel:this.plot_view.frame;return[\"data\"==this.model.x_units?t.v_compute(this._x):i.xview.v_compute(this._x),\"data\"==this.model.y_units?e.v_compute(this._y):i.yview.v_compute(this._y)]},e.prototype.render=function(){if(this.model.visible||\"css\"!=this.model.render_mode||l.undisplay(this.el),this.model.visible)for(var t=\"canvas\"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),e=this.plot_view.canvas_view.ctx,i=this._map_data(),s=i[0],o=i[1],n=0,a=this._text.length;n<a;n++)t(e,n,this._text[n],s[n]+this._x_offset[n],o[n]-this._y_offset[n],this._angle[n])},e.prototype._get_size=function(){var t=this.plot_view.canvas_view.ctx;this.visuals.text.set_value(t);var e=t.measureText(this._text[0]);return{width:e.width,height:e.ascent}},e.prototype._v_canvas_text=function(t,e,i,s,o,n){this.visuals.text.set_vectorize(t,e);var l=this._calculate_bounding_box_dimensions(t,i);t.save(),t.beginPath(),t.translate(s,o),t.rotate(n),t.rect(l[0],l[1],l[2],l[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_vectorize(t,e),t.fillText(i,0,0)),t.restore()},e.prototype._v_css_text=function(t,e,i,s,o,n){var a=this.el.children[e];a.textContent=i,this.visuals.text.set_vectorize(t,e);var r=this._calculate_bounding_box_dimensions(t,i),_=this.visuals.border_line.line_dash.value().length<2?\"solid\":\"dashed\";this.visuals.border_line.set_vectorize(t,e),this.visuals.background_fill.set_vectorize(t,e),a.style.position=\"absolute\",a.style.left=s+r[0]+\"px\",a.style.top=o+r[1]+\"px\",a.style.color=\"\"+this.visuals.text.text_color.value(),a.style.opacity=\"\"+this.visuals.text.text_alpha.value(),a.style.font=\"\"+this.visuals.text.font_value(),a.style.lineHeight=\"normal\",n&&(a.style.transform=\"rotate(\"+n+\"rad)\"),this.visuals.background_fill.doit&&(a.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(a.style.borderStyle=\"\"+_,a.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",a.style.borderColor=\"\"+this.visuals.border_line.color_value()),l.display(a)},e}(o.TextAnnotationView);i.LabelSetView=_,_.__name__=\"LabelSetView\";var c=function(t){function e(e){return t.call(this,e)||this}return s.__extends(e,t),e.init_LabelSet=function(){this.prototype.default_view=_,this.mixins([\"text\",\"line:border_\",\"fill:background_\"]),this.define({x:[a.NumberSpec],y:[a.NumberSpec],x_units:[a.SpatialUnits,\"data\"],y_units:[a.SpatialUnits,\"data\"],text:[a.StringSpec,{field:\"text\"}],angle:[a.AngleSpec,0],x_offset:[a.NumberSpec,{value:0}],y_offset:[a.NumberSpec,{value:0}],source:[a.Instance,function(){return new n.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]}),this.override({background_fill_color:null,border_line_color:null})},e}(o.TextAnnotation);i.LabelSet=c,c.__name__=\"LabelSet\",c.init_LabelSet()},\n",
       "      function _(t,e,i){var l=t(113),n=t(131),r=t(121),a=t(116),s=t(226),h=t(181),o=t(110),_=t(125),d=t(109),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.cursor=function(t,e){return\"none\"==this.model.click_policy?null:\"pointer\"},Object.defineProperty(e.prototype,\"legend_padding\",{get:function(){return null!=this.visuals.border_line.line_color.value()?this.model.padding:0},enumerable:!0,configurable:!0}),e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.item_change,function(){return e.plot_view.request_render()})},e.prototype.compute_legend_bbox=function(){var t=this.model.get_legend_names(),e=this.model,i=e.glyph_height,l=e.glyph_width,n=this.model,r=n.label_height,a=n.label_width;this.max_label_height=o.max([s.measure_font(this.visuals.label_text.font_value()).height,r,i]);var c=this.plot_view.canvas_view.ctx;c.save(),this.visuals.label_text.set_value(c),this.text_widths={};for(var g=0,u=t;g<u.length;g++){var m=u[g];this.text_widths[m]=o.max([c.measureText(m).width,a])}this.visuals.title_text.set_value(c),this.title_height=this.model.title?s.measure_font(this.visuals.title_text.font_value()).height+this.model.title_standoff:0,this.title_width=this.model.title?c.measureText(this.model.title).width:0,c.restore();var f,p,b=Math.max(o.max(_.values(this.text_widths)),0),v=this.model.margin,x=this.legend_padding,w=this.model.spacing,y=this.model.label_standoff;if(\"vertical\"==this.model.orientation)f=t.length*this.max_label_height+Math.max(t.length-1,0)*w+2*x+this.title_height,p=o.max([b+l+y+2*x,this.title_width+2*x]);else{var k=2*x+Math.max(t.length-1,0)*w;for(var m in this.text_widths){var N=this.text_widths[m];k+=o.max([N,a])+l+y}p=o.max([this.title_width+2*x,k]),f=this.max_label_height+this.title_height+2*x}var A,L,z=null!=this.panel?this.panel:this.plot_view.frame,B=z.bbox.ranges,T=B[0],M=B[1],P=this.model.location;if(d.isString(P))switch(P){case\"top_left\":A=T.start+v,L=M.start+v;break;case\"top_center\":A=(T.end+T.start)/2-p/2,L=M.start+v;break;case\"top_right\":A=T.end-v-p,L=M.start+v;break;case\"bottom_right\":A=T.end-v-p,L=M.end-v-f;break;case\"bottom_center\":A=(T.end+T.start)/2-p/2,L=M.end-v-f;break;case\"bottom_left\":A=T.start+v,L=M.end-v-f;break;case\"center_left\":A=T.start+v,L=(M.end+M.start)/2-f/2;break;case\"center\":A=(T.end+T.start)/2-p/2,L=(M.end+M.start)/2-f/2;break;case\"center_right\":A=T.end-v-p,L=(M.end+M.start)/2-f/2;break;default:throw new Error(\"unreachable code\")}else{if(!d.isArray(P)||2!=P.length)throw new Error(\"unreachable code\");var S=P[0],V=P[1];A=z.xview.compute(S),L=z.yview.compute(V)-f}return new h.BBox({left:A,top:L,width:p,height:f})},e.prototype.interactive_bbox=function(){return this.compute_legend_bbox()},e.prototype.interactive_hit=function(t,e){return this.interactive_bbox().contains(t,e)},e.prototype.on_hit=function(t,e){for(var i,l,n,r=this.model.glyph_width,a=this.legend_padding,s=this.model.spacing,o=this.model.label_standoff,_=n=a,d=this.compute_legend_bbox(),c=\"vertical\"==this.model.orientation,g=0,u=this.model.items;g<u.length;g++)for(var m=u[g],f=0,p=m.get_labels_list_from_label_prop();f<p.length;f++){var b=p[f],v=d.x+_,x=d.y+n+this.title_height,w=void 0,y=void 0;if(c?(w=(i=[d.width-2*a,this.max_label_height])[0],y=i[1]):(w=(l=[this.text_widths[b]+r+o,this.max_label_height])[0],y=l[1]),new h.BBox({left:v,top:x,width:w,height:y}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(var k=0,N=m.renderers;k<N.length;k++){(z=N[k]).visible=!z.visible}break;case\"mute\":for(var A=0,L=m.renderers;A<L.length;A++){var z;(z=L[A]).muted=!z.muted}}return!0}c?n+=this.max_label_height+s:_+=this.text_widths[b]+r+o+s}return!1},e.prototype.render=function(){if(this.model.visible&&0!=this.model.items.length){for(var t=0,e=this.model.items;t<e.length;t++){e[t].legend=this.model}var i=this.plot_view.canvas_view.ctx,l=this.compute_legend_bbox();i.save(),this._draw_legend_box(i,l),this._draw_legend_items(i,l),this.model.title&&this._draw_title(i,l),i.restore()}},e.prototype._draw_legend_box=function(t,e){t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.set_value(t),t.fill(),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke())},e.prototype._draw_legend_items=function(t,e){for(var i=this,l=this.model,n=l.glyph_width,r=l.glyph_height,a=this.legend_padding,s=this.model.spacing,h=this.model.label_standoff,_=a,d=a,c=\"vertical\"==this.model.orientation,g=function(l){var g,m,f=l.get_labels_list_from_label_prop(),p=l.get_field_from_label_prop();if(0==f.length)return\"continue\";for(var b=function(){switch(i.model.click_policy){case\"none\":return!0;case\"hide\":return o.every(l.renderers,function(t){return t.visible});case\"mute\":return o.every(l.renderers,function(t){return!t.muted})}}(),v=0,x=f;v<x.length;v++){var w=x[v],y=e.x+_,k=e.y+d+u.title_height,N=y+n,A=k+r;c?d+=u.max_label_height+s:_+=u.text_widths[w]+n+h+s,u.visuals.label_text.set_value(t),t.fillText(w,N+h,k+u.max_label_height/2);for(var L=0,z=l.renderers;L<z.length;L++){var B=z[L];u.plot_view.renderer_views[B.id].draw_legend(t,y,N,k,A,p,w,l.index)}if(!b){var T=void 0,M=void 0;c?(T=(g=[e.width-2*a,u.max_label_height])[0],M=g[1]):(T=(m=[u.text_widths[w]+n+h,u.max_label_height])[0],M=m[1]),t.beginPath(),t.rect(y,k,T,M),u.visuals.inactive_fill.set_value(t),t.fill()}}},u=this,m=0,f=this.model.items;m<f.length;m++){g(f[m])}},e.prototype._draw_title=function(t,e){this.visuals.title_text.doit&&(t.save(),t.translate(e.x0,e.y0+this.title_height),this.visuals.title_text.set_value(t),t.fillText(this.model.title,this.legend_padding,this.legend_padding-this.model.title_standoff),t.restore())},e.prototype._get_size=function(){var t=this.compute_legend_bbox(),e=t.width,i=t.height;return{width:e+2*this.model.margin,height:i+2*this.model.margin}},e}(n.AnnotationView);i.LegendView=c,c.__name__=\"LegendView\";var g=function(t){function e(e){return t.call(this,e)||this}return l.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.item_change=new a.Signal0(this,\"item_change\")},e.init_Legend=function(){this.prototype.default_view=c,this.mixins([\"text:label_\",\"text:title_\",\"fill:inactive_\",\"line:border_\",\"fill:background_\"]),this.define({orientation:[r.Orientation,\"vertical\"],location:[r.Any,\"top_right\"],title:[r.String],title_standoff:[r.Number,5],label_standoff:[r.Number,5],glyph_height:[r.Number,20],glyph_width:[r.Number,20],label_height:[r.Number,20],label_width:[r.Number,20],margin:[r.Number,10],padding:[r.Number,10],spacing:[r.Number,3],items:[r.Array,[]],click_policy:[r.Any,\"none\"]}),this.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"10pt\",label_text_baseline:\"middle\",title_text_font_size:\"10pt\",title_text_font_style:\"italic\"})},e.prototype.get_legend_names=function(){for(var t=[],e=0,i=this.items;e<i.length;e++){var l=i[e].get_labels_list_from_label_prop();t.push.apply(t,l)}return t},e}(n.Annotation);i.Legend=g,g.__name__=\"Legend\",g.init_Legend()},\n",
       "      function _(e,r,n){var t=e(113),l=e(166),i=e(171),o=e(232),a=e(121),s=e(167),_=e(110),u=function(e){function r(r){return e.call(this,r)||this}return t.__extends(r,e),r.init_LegendItem=function(){this.define({label:[a.StringSpec,null],renderers:[a.Array,[]],index:[a.Number,null]})},r.prototype._check_data_sources_on_renderers=function(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;var e=this.renderers[0].data_source;if(null!=e)for(var r=0,n=this.renderers;r<n.length;r++){if(n[r].data_source!=e)return!1}}return!0},r.prototype._check_field_label_on_data_source=function(){var e=this.get_field_from_label_prop();if(null!=e){if(this.renderers.length<1)return!1;var r=this.renderers[0].data_source;if(null!=r&&!_.includes(r.columns(),e))return!1}return!0},r.prototype.initialize=function(){var r=this;e.prototype.initialize.call(this),this.legend=null,this.connect(this.change,function(){null!=r.legend&&r.legend.item_change.emit()}),this._check_data_sources_on_renderers()||s.logger.error(\"Non matching data sources on legend item renderers\"),this._check_field_label_on_data_source()||s.logger.error(\"Bad column name on label: \"+this.label)},r.prototype.get_field_from_label_prop=function(){var e=this.label;return o.isField(e)?e.field:null},r.prototype.get_labels_list_from_label_prop=function(){if(o.isValue(this.label)){var e=this.label.value;return null!=e?[e]:[]}var r=this.get_field_from_label_prop();if(null!=r){var n=void 0;if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if((n=this.renderers[0].data_source)instanceof i.ColumnarDataSource){var t=n.get_column(r);return null!=t?_.uniq(Array.from(t)):[\"Invalid field\"]}}return[]},r}(l.Model);n.LegendItem=u,u.__name__=\"LegendItem\",u.init_LegendItem()},\n",
       "      function _(i,n,e){var t=i(109);e.isValue=function(i){return t.isPlainObject(i)&&\"value\"in i},e.isField=function(i){return t.isPlainObject(i)&&\"field\"in i}},\n",
       "      function _(t,i,n){var e=t(113),o=t(131),s=t(116),l=t(121),a=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i.prototype.connect_signals=function(){var i=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return i.plot_view.request_render()}),this.connect(this.model.data_update,function(){return i.plot_view.request_render()})},i.prototype.render=function(){if(this.model.visible){var t=this.model,i=t.xs,n=t.ys;if(i.length==n.length&&!(i.length<3||n.length<3)){for(var e=this.plot_view.frame,o=this.plot_view.canvas_view.ctx,s=0,l=i.length;s<l;s++){var a=void 0;if(\"screen\"!=this.model.xs_units)throw new Error(\"not implemented\");a=this.model.screen?i[s]:e.xview.compute(i[s]);var r=void 0;if(\"screen\"!=this.model.ys_units)throw new Error(\"not implemented\");r=this.model.screen?n[s]:e.yview.compute(n[s]),0==s?(o.beginPath(),o.moveTo(a,r)):o.lineTo(a,r)}o.closePath(),this.visuals.line.doit&&(this.visuals.line.set_value(o),o.stroke()),this.visuals.fill.doit&&(this.visuals.fill.set_value(o),o.fill())}}},i}(o.AnnotationView);n.PolyAnnotationView=a,a.__name__=\"PolyAnnotationView\";var r=function(t){function i(i){return t.call(this,i)||this}return e.__extends(i,t),i.init_PolyAnnotation=function(){this.prototype.default_view=a,this.mixins([\"line\",\"fill\"]),this.define({xs:[l.Array,[]],xs_units:[l.SpatialUnits,\"data\"],ys:[l.Array,[]],ys_units:[l.SpatialUnits,\"data\"],x_range_name:[l.String,\"default\"],y_range_name:[l.String,\"default\"]}),this.internal({screen:[l.Boolean,!1]}),this.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},i.prototype.initialize=function(){t.prototype.initialize.call(this),this.data_update=new s.Signal0(this,\"data_update\")},i.prototype.update=function(t){var i=t.xs,n=t.ys;this.setv({xs:i,ys:n,screen:!0},{silent:!0}),this.data_update.emit()},i}(o.Annotation);n.PolyAnnotation=r,r.__name__=\"PolyAnnotation\",r.init_PolyAnnotation()},\n",
       "      function _(e,t,n){var i=e(113),o=e(131),l=e(121),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this)},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.plot_view.request_render()})},t.prototype.render=function(){this.model.visible&&this._draw_slope()},t.prototype._draw_slope=function(){var e=this.model.gradient,t=this.model.y_intercept;if(null!=e&&null!=t){var n=this.plot_view.frame,i=n.xscales[this.model.x_range_name],o=n.yscales[this.model.y_range_name],l=n._top.value,r=l+n._height.value,a=(o.invert(l)-t)/e,s=(o.invert(r)-t)/e,_=i.compute(a),u=i.compute(s),p=this.plot_view.canvas_view.ctx;p.save(),p.beginPath(),this.visuals.line.set_value(p),p.moveTo(_,l),p.lineTo(u,r),p.stroke(),p.restore()}},t}(o.AnnotationView);n.SlopeView=r,r.__name__=\"SlopeView\";var a=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.init_Slope=function(){this.prototype.default_view=r,this.mixins([\"line\"]),this.define({gradient:[l.Number,null],y_intercept:[l.Number,null],x_range_name:[l.String,\"default\"],y_range_name:[l.String,\"default\"]}),this.override({line_color:\"black\"})},t}(o.Annotation);n.Slope=a,a.__name__=\"Slope\",a.init_Slope()},\n",
       "      function _(e,t,i){var n=e(113),o=e(131),l=e(163),s=e(121),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.plot_view.canvas_overlays.appendChild(this.el),this.el.style.position=\"absolute\",l.undisplay(this.el)},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.model.for_hover?this.connect(this.model.properties.computed_location.change,function(){return t._draw_span()}):\"canvas\"==this.model.render_mode?(this.connect(this.model.change,function(){return t.plot_view.request_render()}),this.connect(this.model.properties.location.change,function(){return t.plot_view.request_render()})):(this.connect(this.model.change,function(){return t.render()}),this.connect(this.model.properties.location.change,function(){return t._draw_span()}))},t.prototype.render=function(){this.model.visible||\"css\"!=this.model.render_mode||l.undisplay(this.el),this.model.visible&&this._draw_span()},t.prototype._draw_span=function(){var e=this,t=this.model.for_hover?this.model.computed_location:this.model.location;if(null!=t){var i,n,o,s,a=this.plot_view.frame,r=a.xscales[this.model.x_range_name],h=a.yscales[this.model.y_range_name],d=function(i,n){return e.model.for_hover?e.model.computed_location:\"data\"==e.model.location_units?i.compute(t):n.compute(t)};if(\"width\"==this.model.dimension?(o=d(h,a.yview),n=a._left.value,s=a._width.value,i=this.model.properties.line_width.value()):(o=a._top.value,n=d(r,a.xview),s=this.model.properties.line_width.value(),i=a._height.value),\"css\"==this.model.render_mode)this.el.style.top=o+\"px\",this.el.style.left=n+\"px\",this.el.style.width=s+\"px\",this.el.style.height=i+\"px\",this.el.style.backgroundColor=this.model.properties.line_color.value(),this.el.style.opacity=this.model.properties.line_alpha.value(),l.display(this.el);else if(\"canvas\"==this.model.render_mode){var c=this.plot_view.canvas_view.ctx;c.save(),c.beginPath(),this.visuals.line.set_value(c),c.moveTo(n,o),\"width\"==this.model.dimension?c.lineTo(n+s,o):c.lineTo(n,o+i),c.stroke(),c.restore()}}else l.undisplay(this.el)},t}(o.AnnotationView);i.SpanView=a,a.__name__=\"SpanView\";var r=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.init_Span=function(){this.prototype.default_view=a,this.mixins([\"line\"]),this.define({render_mode:[s.RenderMode,\"canvas\"],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],location:[s.Number,null],location_units:[s.SpatialUnits,\"data\"],dimension:[s.Dimension,\"width\"]}),this.override({line_color:\"black\"}),this.internal({for_hover:[s.Boolean,!1],computed_location:[s.Number,null]})},t}(o.Annotation);i.Span=r,r.__name__=\"Span\",r.init_Span()},\n",
       "      function _(e,t,i){var l=e(113),a=e(228),r=e(163),n=e(165),o=e(121),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.visuals.text=new n.Text(this.model)},t.prototype._get_location=function(){var e,t,i=this.panel,l=this.model.offset;switch(i.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":t=i._top.value+5;break;case\"middle\":t=i._vcenter.value;break;case\"bottom\":t=i._bottom.value-5;break;default:throw new Error(\"unreachable code\")}switch(this.model.align){case\"left\":e=i._left.value+l;break;case\"center\":e=i._hcenter.value;break;case\"right\":e=i._right.value-l;break;default:throw new Error(\"unreachable code\")}break;case\"left\":switch(this.model.vertical_align){case\"top\":e=i._left.value-5;break;case\"middle\":e=i._hcenter.value;break;case\"bottom\":e=i._right.value+5;break;default:throw new Error(\"unreachable code\")}switch(this.model.align){case\"left\":t=i._bottom.value-l;break;case\"center\":t=i._vcenter.value;break;case\"right\":t=i._top.value+l;break;default:throw new Error(\"unreachable code\")}break;case\"right\":switch(this.model.vertical_align){case\"top\":e=i._right.value-5;break;case\"middle\":e=i._hcenter.value;break;case\"bottom\":e=i._left.value+5;break;default:throw new Error(\"unreachable code\")}switch(this.model.align){case\"left\":t=i._top.value+l;break;case\"center\":t=i._vcenter.value;break;case\"right\":t=i._bottom.value-l;break;default:throw new Error(\"unreachable code\")}break;default:throw new Error(\"unreachable code\")}return[e,t]},t.prototype.render=function(){if(this.model.visible){var e=this.model.text;if(null!=e&&0!=e.length){this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;var t=this._get_location(),i=t[0],l=t[1],a=this.panel.get_label_angle_heuristic(\"parallel\");(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,e,i,l,a)}}else\"css\"==this.model.render_mode&&r.undisplay(this.el)},t.prototype._get_size=function(){var e=this.model.text;if(null==e||0==e.length)return{width:0,height:0};this.visuals.text.set_value(this.ctx);var t=this.ctx.measureText(e);return{width:t.width,height:t.ascent*this.visuals.text.text_line_height.value()+10}},t}(a.TextAnnotationView);i.TitleView=s,s.__name__=\"TitleView\";var c=function(e){function t(t){return e.call(this,t)||this}return l.__extends(t,e),t.init_Title=function(){this.prototype.default_view=s,this.mixins([\"line:border_\",\"fill:background_\"]),this.define({text:[o.String],text_font:[o.Font,\"helvetica\"],text_font_size:[o.FontSizeSpec,\"10pt\"],text_font_style:[o.FontStyle,\"bold\"],text_color:[o.ColorSpec,\"#444444\"],text_alpha:[o.NumberSpec,1],text_line_height:[o.Number,1],vertical_align:[o.VerticalAlign,\"bottom\"],align:[o.TextAlign,\"left\"],offset:[o.Number,0]}),this.override({background_fill_color:null,border_line_color:null}),this.internal({text_align:[o.TextAlign,\"left\"],text_baseline:[o.TextBaseline,\"bottom\"]})},t}(a.TextAnnotation);i.Title=c,c.__name__=\"Title\",c.init_Title()},\n",
       "      function _(t,i,e){var o=t(113),l=t(131),n=t(194),s=t(163),r=t(121),a=function(t){function i(){var i=t.apply(this,arguments)||this;return i.rotate=!0,i}return o.__extends(i,t),i.prototype.initialize=function(){t.prototype.initialize.call(this),this.plot_view.canvas_events.appendChild(this.el),this._toolbar_views={},n.build_views(this._toolbar_views,[this.model.toolbar],{parent:this});var i=this._toolbar_views[this.model.toolbar.id];this.plot_view.visibility_callbacks.push(function(t){return i.set_visibility(t)})},i.prototype.remove=function(){n.remove_views(this._toolbar_views),t.prototype.remove.call(this)},i.prototype.render=function(){if(t.prototype.render.call(this),this.model.visible){this.el.style.position=\"absolute\",this.el.style.overflow=\"hidden\",s.position(this.el,this.panel.bbox);var i=this._toolbar_views[this.model.toolbar.id];i.render(),s.empty(this.el),this.el.appendChild(i.el),s.display(this.el)}else s.undisplay(this.el)},i.prototype._get_size=function(){var t=this.model.toolbar,i=t.tools,e=t.logo;return{width:30*i.length+(null!=e?25:0),height:30}},i}(l.AnnotationView);e.ToolbarPanelView=a,a.__name__=\"ToolbarPanelView\";var h=function(t){function i(i){return t.call(this,i)||this}return o.__extends(i,t),i.init_ToolbarPanel=function(){this.prototype.default_view=a,this.define({toolbar:[r.Instance]})},i}(l.Annotation);e.ToolbarPanel=h,h.__name__=\"ToolbarPanel\",h.init_ToolbarPanel()},\n",
       "      function _(t,e,i){var s=t(113),o=t(131),l=t(163),a=t(121),n=t(239),h=t(240);function r(t,e,i,s,o){switch(t){case\"horizontal\":return e<s?\"right\":\"left\";case\"vertical\":return i<o?\"below\":\"above\";default:return t}}i.compute_side=r;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.plot_view.canvas_overlays.appendChild(this.el),l.undisplay(this.el)},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.properties.data.change,function(){return e._draw_tips()})},e.prototype.css_classes=function(){return t.prototype.css_classes.call(this).concat(n.bk_tooltip)},e.prototype.render=function(){this.model.visible&&this._draw_tips()},e.prototype._draw_tips=function(){var t=this.model.data;if(l.empty(this.el),l.undisplay(this.el),this.model.custom?this.el.classList.add(n.bk_tooltip_custom):this.el.classList.remove(n.bk_tooltip_custom),0!=t.length){for(var e=this.plot_view.frame,i=0,s=t;i<s.length;i++){var o=s[i],a=o[0],c=o[1],d=o[2];if(!this.model.inner_only||e.bbox.contains(a,c)){var p=l.div({},d);this.el.appendChild(p)}}var _=t[t.length-1],f=_[0],u=_[1],v=r(this.model.attachment,f,u,e._hcenter.value,e._vcenter.value);this.el.classList.remove(h.bk_right),this.el.classList.remove(h.bk_left),this.el.classList.remove(h.bk_above),this.el.classList.remove(h.bk_below);var b,y;switch(l.display(this.el),v){case\"right\":this.el.classList.add(h.bk_left),b=f+(this.el.offsetWidth-this.el.clientWidth)+10,y=u-this.el.offsetHeight/2;break;case\"left\":this.el.classList.add(h.bk_right),b=f-this.el.offsetWidth-10,y=u-this.el.offsetHeight/2;break;case\"below\":this.el.classList.add(h.bk_above),y=u+(this.el.offsetHeight-this.el.clientHeight)+10,b=Math.round(f-this.el.offsetWidth/2);break;case\"above\":this.el.classList.add(h.bk_below),y=u-this.el.offsetHeight-10,b=Math.round(f-this.el.offsetWidth/2);break;default:throw new Error(\"unreachable code\")}this.model.show_arrow&&this.el.classList.add(n.bk_tooltip_arrow),this.el.childNodes.length>0?(this.el.style.top=y+\"px\",this.el.style.left=b+\"px\"):l.undisplay(this.el)}},e}(o.AnnotationView);i.TooltipView=c,c.__name__=\"TooltipView\";var d=function(t){function e(e){return t.call(this,e)||this}return s.__extends(e,t),e.init_Tooltip=function(){this.prototype.default_view=c,this.define({attachment:[a.TooltipAttachment,\"horizontal\"],inner_only:[a.Boolean,!0],show_arrow:[a.Boolean,!0]}),this.override({level:\"overlay\"}),this.internal({data:[a.Any,[]],custom:[a.Any]})},e.prototype.clear=function(){this.data=[]},e.prototype.add=function(t,e,i){this.data=this.data.concat([[t,e,i]])},e}(o.Annotation);i.Tooltip=d,d.__name__=\"Tooltip\",d.init_Tooltip()},\n",
       "      function _(o,t,n){o(164),o(163).styles.append('.bk-root {\\n  /* Same border color used everywhere */\\n  /* Gray of icons */\\n}\\n.bk-root .bk-tooltip {\\n  font-weight: 300;\\n  font-size: 12px;\\n  position: absolute;\\n  padding: 5px;\\n  border: 1px solid #e5e5e5;\\n  color: #2f2f2f;\\n  background-color: white;\\n  pointer-events: none;\\n  opacity: 0.95;\\n  z-index: 100;\\n}\\n.bk-root .bk-tooltip > div:not(:first-child) {\\n  /* gives space when multiple elements are being hovered over */\\n  margin-top: 5px;\\n  border-top: #e5e5e5 1px dashed;\\n}\\n.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before {\\n  position: absolute;\\n  margin: -7px 0 0 0;\\n  top: 50%;\\n  width: 0;\\n  height: 0;\\n  border-style: solid;\\n  border-width: 7px 0 7px 0;\\n  border-color: transparent;\\n  content: \" \";\\n  display: block;\\n  left: -10px;\\n  border-right-width: 10px;\\n  border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-left::before {\\n  left: -10px;\\n  border-right-width: 10px;\\n  border-right-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after {\\n  position: absolute;\\n  margin: -7px 0 0 0;\\n  top: 50%;\\n  width: 0;\\n  height: 0;\\n  border-style: solid;\\n  border-width: 7px 0 7px 0;\\n  border-color: transparent;\\n  content: \" \";\\n  display: block;\\n  right: -10px;\\n  border-left-width: 10px;\\n  border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-right::after {\\n  right: -10px;\\n  border-left-width: 10px;\\n  border-left-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-above::before {\\n  position: absolute;\\n  margin: 0 0 0 -7px;\\n  left: 50%;\\n  width: 0;\\n  height: 0;\\n  border-style: solid;\\n  border-width: 0 7px 0 7px;\\n  border-color: transparent;\\n  content: \" \";\\n  display: block;\\n  top: -10px;\\n  border-bottom-width: 10px;\\n  border-bottom-color: #909599;\\n}\\n.bk-root .bk-tooltip.bk-below::after {\\n  position: absolute;\\n  margin: 0 0 0 -7px;\\n  left: 50%;\\n  width: 0;\\n  height: 0;\\n  border-style: solid;\\n  border-width: 0 7px 0 7px;\\n  border-color: transparent;\\n  content: \" \";\\n  display: block;\\n  bottom: -10px;\\n  border-top-width: 10px;\\n  border-top-color: #909599;\\n}\\n.bk-root .bk-tooltip-row-label {\\n  text-align: right;\\n  color: #26aae1;\\n  /* blue from toolbar highlighting */\\n}\\n.bk-root .bk-tooltip-row-value {\\n  color: default;\\n  /* seems to be necessary for notebook */\\n}\\n.bk-root .bk-tooltip-color-block {\\n  width: 12px;\\n  height: 12px;\\n  margin-left: 5px;\\n  margin-right: 5px;\\n  outline: #dddddd solid 1px;\\n  display: inline-block;\\n}\\n'),n.bk_tooltip=\"bk-tooltip\",n.bk_tooltip_arrow=\"bk-tooltip-arrow\",n.bk_tooltip_custom=\"bk-tooltip-custom\",n.bk_tooltip_row_label=\"bk-tooltip-row-label\",n.bk_tooltip_row_value=\"bk-tooltip-row-value\",n.bk_tooltip_color_block=\"bk-tooltip-color-block\"},\n",
       "      function _(b,e,k){b(163).styles.append(\"\"),k.bk_active=\"bk-active\",k.bk_inline=\"bk-inline\",k.bk_left=\"bk-left\",k.bk_right=\"bk-right\",k.bk_above=\"bk-above\",k.bk_below=\"bk-below\",k.bk_up=\"bk-up\",k.bk_down=\"bk-down\",k.bk_side=function(b){switch(b){case\"above\":return k.bk_above;case\"below\":return k.bk_below;case\"left\":return k.bk_left;case\"right\":return k.bk_right}}},\n",
       "      function _(e,t,i){var s=e(113),n=e(131),r=e(170),o=e(169),a=e(121),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return s.__extends(t,e),t.prototype.initialize=function(){e.prototype.initialize.call(this),this.set_data(this.model.source)},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return t.set_data(t.model.source)}),this.connect(this.model.source.patching,function(){return t.set_data(t.model.source)}),this.connect(this.model.source.change,function(){return t.set_data(t.model.source)})},t.prototype.set_data=function(t){e.prototype.set_data.call(this,t),this.visuals.warm_cache(t),this.plot_view.request_render()},t.prototype._map_data=function(){var e,t,i,s=this.plot_view.frame,n=this.model.dimension,r=s.xscales[this.model.x_range_name],o=s.yscales[this.model.y_range_name],a=\"height\"==n?o:r,h=\"height\"==n?r:o,_=\"height\"==n?s.yview:s.xview,l=\"height\"==n?s.xview:s.yview;e=\"data\"==this.model.properties.lower.units?a.v_compute(this._lower):_.v_compute(this._lower),t=\"data\"==this.model.properties.upper.units?a.v_compute(this._upper):_.v_compute(this._upper),i=\"data\"==this.model.properties.base.units?h.v_compute(this._base):l.v_compute(this._base);var u=\"height\"==n?[1,0]:[0,1],p=u[0],c=u[1],d=[e,i],m=[t,i];this._lower_sx=d[p],this._lower_sy=d[c],this._upper_sx=m[p],this._upper_sy=m[c]},t.prototype.render=function(){if(this.model.visible){this._map_data();var e=this.plot_view.canvas_view.ctx;if(this.visuals.line.doit)for(var t=0,i=this._lower_sx.length;t<i;t++)this.visuals.line.set_vectorize(e,t),e.beginPath(),e.moveTo(this._lower_sx[t],this._lower_sy[t]),e.lineTo(this._upper_sx[t],this._upper_sy[t]),e.stroke();var s=\"height\"==this.model.dimension?0:Math.PI/2;if(null!=this.model.lower_head)for(t=0,i=this._lower_sx.length;t<i;t++)e.save(),e.translate(this._lower_sx[t],this._lower_sy[t]),e.rotate(s+Math.PI),this.model.lower_head.render(e,t),e.restore();if(null!=this.model.upper_head)for(t=0,i=this._upper_sx.length;t<i;t++)e.save(),e.translate(this._upper_sx[t],this._upper_sy[t]),e.rotate(s),this.model.upper_head.render(e,t),e.restore()}},t}(n.AnnotationView);i.WhiskerView=h,h.__name__=\"WhiskerView\";var _=function(e){function t(t){return e.call(this,t)||this}return s.__extends(t,e),t.init_Whisker=function(){this.prototype.default_view=h,this.mixins([\"line\"]),this.define({lower:[a.DistanceSpec],lower_head:[a.Instance,function(){return new o.TeeHead({level:\"underlay\",size:10})}],upper:[a.DistanceSpec],upper_head:[a.Instance,function(){return new o.TeeHead({level:\"underlay\",size:10})}],base:[a.DistanceSpec],dimension:[a.Dimension,\"height\"],source:[a.Instance,function(){return new r.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]}),this.override({level:\"underlay\"})},t}(n.Annotation);i.Whisker=_,_.__name__=\"Whisker\",_.init_Whisker()},\n",
       "      function _(i,a,s){var r=i(243);s.Axis=r.Axis;var x=i(245);s.CategoricalAxis=x.CategoricalAxis;var A=i(248);s.ContinuousAxis=A.ContinuousAxis;var o=i(249);s.DatetimeAxis=o.DatetimeAxis;var t=i(250);s.LinearAxis=t.LinearAxis;var e=i(263);s.LogAxis=e.LogAxis;var n=i(266);s.MercatorAxis=n.MercatorAxis},\n",
       "      function _(e,t,i){var a=e(113),r=e(244),n=e(121),o=e(110),s=e(109),l=e(184),_=Math.abs,h=Math.min,u=Math.max,c=function(e){function t(){var t=e.apply(this,arguments)||this;return t.rotate=!0,t}return a.__extends(t,e),Object.defineProperty(t.prototype,\"panel\",{get:function(){return this.layout},enumerable:!0,configurable:!0}),t.prototype.render=function(){if(this.model.visible){var e={tick:this._tick_extent(),tick_label:this._tick_label_extents(),axis_label:this._axis_label_extent()},t=this.tick_coords,i=this.plot_view.canvas_view.ctx;i.save(),this._draw_rule(i,e),this._draw_major_ticks(i,e,t),this._draw_minor_ticks(i,e,t),this._draw_major_labels(i,e,t),this._draw_axis_label(i,e,t),null!=this._render&&this._render(i,e,t),i.restore()}},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.plot_view.request_paint()});var i=this.model.properties;this.on_change(i.visible,function(){return t.plot_view.request_layout()})},t.prototype.get_size=function(){if(this.model.visible&&null==this.model.fixed_location){var e=this._get_size();return{width:0,height:Math.round(e)}}return{width:0,height:0}},t.prototype._get_size=function(){return this._tick_extent()+this._tick_label_extent()+this._axis_label_extent()},Object.defineProperty(t.prototype,\"needs_clip\",{get:function(){return null!=this.model.fixed_location},enumerable:!0,configurable:!0}),t.prototype._draw_rule=function(e,t){if(this.visuals.axis_line.doit){var i=this.rule_coords,a=i[0],r=i[1],n=this.plot_view.map_to_screen(a,r,this.model.x_range_name,this.model.y_range_name),o=n[0],s=n[1],l=this.normals,_=l[0],h=l[1],u=this.offsets,c=u[0],d=u[1];this.visuals.axis_line.set_value(e),e.beginPath(),e.moveTo(Math.round(o[0]+_*c),Math.round(s[0]+h*d));for(var m=1;m<o.length;m++){var b=Math.round(o[m]+_*c),p=Math.round(s[m]+h*d);e.lineTo(b,p)}e.stroke()}},t.prototype._draw_major_ticks=function(e,t,i){var a=this.model.major_tick_in,r=this.model.major_tick_out,n=this.visuals.major_tick_line;this._draw_ticks(e,i.major,a,r,n)},t.prototype._draw_minor_ticks=function(e,t,i){var a=this.model.minor_tick_in,r=this.model.minor_tick_out,n=this.visuals.minor_tick_line;this._draw_ticks(e,i.minor,a,r,n)},t.prototype._draw_major_labels=function(e,t,i){var a=i.major,r=this.compute_labels(a[this.dimension]),n=this.model.major_label_orientation,o=t.tick+this.model.major_label_standoff,s=this.visuals.major_label_text;this._draw_oriented_labels(e,r,a,n,this.panel.side,o,s)},t.prototype._draw_axis_label=function(e,t,i){if(null!=this.model.axis_label&&0!=this.model.axis_label.length&&null==this.model.fixed_location){var a,r;switch(this.panel.side){case\"above\":a=this.panel._hcenter.value,r=this.panel._bottom.value;break;case\"below\":a=this.panel._hcenter.value,r=this.panel._top.value;break;case\"left\":a=this.panel._right.value,r=this.panel._vcenter.value;break;case\"right\":a=this.panel._left.value,r=this.panel._vcenter.value;break;default:throw new Error(\"unknown side: \"+this.panel.side)}var n=[[a],[r]],s=t.tick+o.sum(t.tick_label)+this.model.axis_label_standoff,l=this.visuals.axis_label_text;this._draw_oriented_labels(e,[this.model.axis_label],n,\"parallel\",this.panel.side,s,l,\"screen\")}},t.prototype._draw_ticks=function(e,t,i,a,r){if(r.doit){var n=t[0],o=t[1],s=this.plot_view.map_to_screen(n,o,this.model.x_range_name,this.model.y_range_name),l=s[0],_=s[1],h=this.normals,u=h[0],c=h[1],d=this.offsets,m=d[0],b=d[1],p=[u*(m-i),c*(b-i)],f=p[0],v=p[1],x=[u*(m+a),c*(b+a)],g=x[0],y=x[1];r.set_value(e);for(var k=0;k<l.length;k++){var w=Math.round(l[k]+g),j=Math.round(_[k]+y),M=Math.round(l[k]+f),A=Math.round(_[k]+v);e.beginPath(),e.moveTo(w,j),e.lineTo(M,A),e.stroke()}}},t.prototype._draw_oriented_labels=function(e,t,i,a,r,n,o,l){var _,h,u;if(void 0===l&&(l=\"data\"),o.doit&&0!=t.length){var c,d,m,b;if(\"screen\"==l)c=i[0],d=i[1],m=(_=[0,0])[0],b=_[1];else{var p=i[0],f=i[1];c=(h=this.plot_view.map_to_screen(p,f,this.model.x_range_name,this.model.y_range_name))[0],d=h[1],m=(u=this.offsets)[0],b=u[1]}var v,x=this.normals,g=x[0]*(m+n),y=x[1]*(b+n);o.set_value(e),this.panel.apply_label_text_heuristics(e,a),v=s.isString(a)?this.panel.get_label_angle_heuristic(a):-a;for(var k=0;k<c.length;k++){var w=Math.round(c[k]+g),j=Math.round(d[k]+y);e.translate(w,j),e.rotate(v),e.fillText(t[k],0,0),e.rotate(-v),e.translate(-w,-j)}}},t.prototype._axis_label_extent=function(){if(null==this.model.axis_label||\"\"==this.model.axis_label)return 0;var e=this.model.axis_label_standoff,t=this.visuals.axis_label_text;return this._oriented_labels_extent([this.model.axis_label],\"parallel\",this.panel.side,e,t)},t.prototype._tick_extent=function(){return this.model.major_tick_out},t.prototype._tick_label_extent=function(){return o.sum(this._tick_label_extents())},t.prototype._tick_label_extents=function(){var e=this.tick_coords.major,t=this.compute_labels(e[this.dimension]),i=this.model.major_label_orientation,a=this.model.major_label_standoff,r=this.visuals.major_label_text;return[this._oriented_labels_extent(t,i,this.panel.side,a,r)]},t.prototype._oriented_labels_extent=function(e,t,i,a,r){if(0==e.length)return 0;var n,o,l=this.plot_view.canvas_view.ctx;r.set_value(l),s.isString(t)?(n=1,o=this.panel.get_label_angle_heuristic(t)):(n=2,o=-t),o=Math.abs(o);for(var _=Math.cos(o),h=Math.sin(o),u=0,c=0;c<e.length;c++){var d=1.1*l.measureText(e[c]).width,m=.9*l.measureText(e[c]).ascent,b=void 0;(b=\"above\"==i||\"below\"==i?d*h+m/n*_:d*_+m/n*h)>u&&(u=b)}return u>0&&(u+=a),u},Object.defineProperty(t.prototype,\"normals\",{get:function(){return this.panel.normals},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"dimension\",{get:function(){return this.panel.dimension},enumerable:!0,configurable:!0}),t.prototype.compute_labels=function(e){for(var t=this.model.formatter.doFormat(e,this),i=0;i<e.length;i++)e[i]in this.model.major_label_overrides&&(t[i]=this.model.major_label_overrides[e[i]]);return t},Object.defineProperty(t.prototype,\"offsets\",{get:function(){if(null!=this.model.fixed_location)return[0,0];var e=this.plot_view.frame,t=[0,0],i=t[0],a=t[1];switch(this.panel.side){case\"below\":a=_(this.panel._top.value-e._bottom.value);break;case\"above\":a=_(this.panel._bottom.value-e._top.value);break;case\"right\":i=_(this.panel._left.value-e._right.value);break;case\"left\":i=_(this.panel._right.value-e._left.value)}return[i,a]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ranges\",{get:function(){var e=this.dimension,t=(e+1)%2,i=this.plot_view.frame,a=[i.x_ranges[this.model.x_range_name],i.y_ranges[this.model.y_range_name]];return[a[e],a[t]]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"computed_bounds\",{get:function(){var e=this.ranges[0],t=this.model.bounds,i=[e.min,e.max];if(\"auto\"==t)return[e.min,e.max];if(s.isArray(t)){var a=void 0,r=void 0,n=t[0],o=t[1],l=i[0],c=i[1];return _(n-o)>_(l-c)?(a=u(h(n,o),l),r=h(u(n,o),c)):(a=h(n,o),r=u(n,o)),[a,r]}throw new Error(\"user bounds '\"+t+\"' not understood\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"rule_coords\",{get:function(){var e=this.dimension,t=(e+1)%2,i=this.ranges[0],a=this.computed_bounds,r=a[0],n=a[1],o=[new Array(2),new Array(2)];return o[e][0]=Math.max(r,i.min),o[e][1]=Math.min(n,i.max),o[e][0]>o[e][1]&&(o[e][0]=o[e][1]=NaN),o[t][0]=this.loc,o[t][1]=this.loc,o},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"tick_coords\",{get:function(){for(var e=this.dimension,t=(e+1)%2,i=this.ranges[0],a=this.computed_bounds,r=a[0],n=a[1],o=this.model.ticker.get_ticks(r,n,i,this.loc,{}),s=o.major,l=o.minor,_=[[],[]],h=[[],[]],u=[i.min,i.max],c=u[0],d=u[1],m=0;m<s.length;m++)s[m]<c||s[m]>d||(_[e].push(s[m]),_[t].push(this.loc));for(m=0;m<l.length;m++)l[m]<c||l[m]>d||(h[e].push(l[m]),h[t].push(this.loc));return{major:_,minor:h}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"loc\",{get:function(){var e=this.model.fixed_location;if(null!=e){if(s.isNumber(e))return e;var t=this.ranges[1];if(t instanceof l.FactorRange)return t.synthetic(e);throw new Error(\"unexpected\")}var i=this.ranges[1];switch(this.panel.side){case\"left\":case\"below\":return i.start;case\"right\":case\"above\":return i.end}},enumerable:!0,configurable:!0}),t.prototype.serializable_state=function(){return Object.assign(Object.assign({},e.prototype.serializable_state.call(this)),{bbox:this.layout.bbox.box})},t}(r.GuideRendererView);i.AxisView=c,c.__name__=\"AxisView\";var d=function(e){function t(t){return e.call(this,t)||this}return a.__extends(t,e),t.init_Axis=function(){this.prototype.default_view=c,this.mixins([\"line:axis_\",\"line:major_tick_\",\"line:minor_tick_\",\"text:major_label_\",\"text:axis_label_\"]),this.define({bounds:[n.Any,\"auto\"],ticker:[n.Instance],formatter:[n.Instance],x_range_name:[n.String,\"default\"],y_range_name:[n.String,\"default\"],axis_label:[n.String,\"\"],axis_label_standoff:[n.Int,5],major_label_standoff:[n.Int,5],major_label_orientation:[n.Any,\"horizontal\"],major_label_overrides:[n.Any,{}],major_tick_in:[n.Number,2],major_tick_out:[n.Number,6],minor_tick_in:[n.Number,0],minor_tick_out:[n.Number,4],fixed_location:[n.Any,null]}),this.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"8pt\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"10pt\",axis_label_text_font_style:\"italic\"})},t}(r.GuideRenderer);i.Axis=d,d.__name__=\"Axis\",d.init_Axis()},\n",
       "      function _(e,n,r){var i=e(113),t=e(160),d=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n}(t.RendererView);r.GuideRendererView=d,d.__name__=\"GuideRendererView\";var u=function(e){function n(n){return e.call(this,n)||this}return i.__extends(n,e),n.init_GuideRenderer=function(){this.override({level:\"overlay\"})},n}(t.Renderer);r.GuideRenderer=u,u.__name__=\"GuideRenderer\",u.init_GuideRenderer()},\n",
       "      function _(t,o,e){var i=t(113),r=t(243),s=t(246),a=t(247),n=t(121),l=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(o,t),o.prototype._render=function(t,o,e){this._draw_group_separators(t,o,e)},o.prototype._draw_group_separators=function(t,o,e){var i,r=this.ranges[0],s=this.computed_bounds,a=s[0],n=s[1];if(r.tops&&!(r.tops.length<2)&&this.visuals.separator_line.doit){for(var l=this.dimension,_=(l+1)%2,u=[[],[]],p=0,h=0;h<r.tops.length-1;h++){for(var c=void 0,m=void 0,d=p;d<r.factors.length;d++)if(r.factors[d][0]==r.tops[h+1]){c=(i=[r.factors[d-1],r.factors[d]])[0],m=i[1],p=d;break}var f=(r.synthetic(c)+r.synthetic(m))/2;f>a&&f<n&&(u[l].push(f),u[_].push(this.loc))}var g=this._tick_label_extent();this._draw_ticks(t,u,-3,g-6,this.visuals.separator_line)}},o.prototype._draw_major_labels=function(t,o,e){for(var i=this._get_factor_info(),r=o.tick+this.model.major_label_standoff,s=0;s<i.length;s++){var a=i[s],n=a[0],l=a[1],_=a[2],u=a[3];this._draw_oriented_labels(t,n,l,_,this.panel.side,r,u),r+=o.tick_label[s]}},o.prototype._tick_label_extents=function(){for(var t=[],o=0,e=this._get_factor_info();o<e.length;o++){var i=e[o],r=i[0],s=i[2],a=i[3],n=this._oriented_labels_extent(r,s,this.panel.side,this.model.major_label_standoff,a);t.push(n)}return t},o.prototype._get_factor_info=function(){var t=this.ranges[0],o=this.computed_bounds,e=o[0],i=o[1],r=this.loc,s=this.model.ticker.get_ticks(e,i,t,r,{}),a=this.tick_coords,n=[];if(1==t.levels){var l=s.major,_=this.model.formatter.doFormat(l,this);n.push([_,a.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){l=s.major.map(function(t){return t[1]}),_=this.model.formatter.doFormat(l,this);n.push([_,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([s.tops,a.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){l=s.major.map(function(t){return t[2]}),_=this.model.formatter.doFormat(l,this);var u=s.mids.map(function(t){return t[1]});n.push([_,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([u,a.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),n.push([s.tops,a.tops,this.model.group_label_orientation,this.visuals.group_text])}return n},Object.defineProperty(o.prototype,\"tick_coords\",{get:function(){var t=this,o=this.dimension,e=(o+1)%2,i=this.ranges[0],r=this.computed_bounds,s=r[0],a=r[1],n=this.model.ticker.get_ticks(s,a,i,this.loc,{}),l={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return l.major[o]=n.major,l.major[e]=n.major.map(function(o){return t.loc}),3==i.levels&&(l.mids[o]=n.mids,l.mids[e]=n.mids.map(function(o){return t.loc})),i.levels>1&&(l.tops[o]=n.tops,l.tops[e]=n.tops.map(function(o){return t.loc})),l},enumerable:!0,configurable:!0}),o}(r.AxisView);e.CategoricalAxisView=l,l.__name__=\"CategoricalAxisView\";var _=function(t){function o(o){return t.call(this,o)||this}return i.__extends(o,t),o.init_CategoricalAxis=function(){this.prototype.default_view=l,this.mixins([\"line:separator_\",\"text:group_\",\"text:subgroup_\"]),this.define({group_label_orientation:[n.Any,\"parallel\"],subgroup_label_orientation:[n.Any,\"parallel\"]}),this.override({ticker:function(){return new s.CategoricalTicker},formatter:function(){return new a.CategoricalTickFormatter},separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"8pt\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"8pt\"})},o}(r.Axis);e.CategoricalAxis=_,_.__name__=\"CategoricalAxis\",_.init_CategoricalAxis()},\n",
       "      function _(t,c,r){var e=t(113),o=function(t){function c(c){return t.call(this,c)||this}return e.__extends(c,t),c.prototype.get_ticks=function(t,c,r,e,o){return{major:this._collect(r.factors,r,t,c),minor:[],tops:this._collect(r.tops||[],r,t,c),mids:this._collect(r.mids||[],r,t,c)}},c.prototype._collect=function(t,c,r,e){for(var o=[],i=0,n=t;i<n.length;i++){var s=n[i],l=c.synthetic(s);l>r&&l<e&&o.push(s)}return o},c}(t(207).Ticker);r.CategoricalTicker=o,o.__name__=\"CategoricalTicker\"},\n",
       "      function _(t,r,o){var n=t(113),e=t(209),a=t(110),c=function(t){function r(r){return t.call(this,r)||this}return n.__extends(r,t),r.prototype.doFormat=function(t,r){return a.copy(t)},r}(e.TickFormatter);o.CategoricalTickFormatter=c,c.__name__=\"CategoricalTickFormatter\"},\n",
       "      function _(n,i,t){var u=n(113),s=function(n){function i(i){return n.call(this,i)||this}return u.__extends(i,n),i}(n(243).Axis);t.ContinuousAxis=s,s.__name__=\"ContinuousAxis\"},\n",
       "      function _(t,e,i){var n=t(113),r=t(250),a=t(251),s=t(256),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(r.LinearAxisView);i.DatetimeAxisView=u,u.__name__=\"DatetimeAxisView\";var _=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_DatetimeAxis=function(){this.prototype.default_view=u,this.override({ticker:function(){return new s.DatetimeTicker},formatter:function(){return new a.DatetimeTickFormatter}})},e}(r.LinearAxis);i.DatetimeAxis=_,_.__name__=\"DatetimeAxis\",_.init_DatetimeAxis()},\n",
       "      function _(i,n,t){var e=i(113),r=i(243),s=i(248),u=i(208),a=i(204),_=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return e.__extends(n,i),n}(r.AxisView);t.LinearAxisView=_,_.__name__=\"LinearAxisView\";var o=function(i){function n(n){return i.call(this,n)||this}return e.__extends(n,i),n.init_LinearAxis=function(){this.prototype.default_view=_,this.override({ticker:function(){return new a.BasicTicker},formatter:function(){return new u.BasicTickFormatter}})},n}(s.ContinuousAxis);t.LinearAxis=o,o.__name__=\"LinearAxis\",o.init_LinearAxis()},\n",
       "      function _(t,r,e){var s=t(113),i=t(252),n=t(209),o=t(167),a=t(121),u=t(253),c=t(110),m=t(109);function h(t){return i(t,\"%Y %m %d %H %M %S\").split(/\\s+/).map(function(t){return parseInt(t,10)})}function d(t,r){if(m.isFunction(r))return r(t);var e=u.sprintf(\"$1%06d\",function(t){return Math.round(t/1e3%1*1e6)}(t));return-1==(r=r.replace(/((^|[^%])(%%)*)%f/,e)).indexOf(\"%\")?r:i(t,r)}var f=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"],l=function(t){function r(r){var e=t.call(this,r)||this;return e.strip_leading_zeros=!0,e}return s.__extends(r,t),r.init_DatetimeTickFormatter=function(){this.define({microseconds:[a.Array,[\"%fus\"]],milliseconds:[a.Array,[\"%3Nms\",\"%S.%3Ns\"]],seconds:[a.Array,[\"%Ss\"]],minsec:[a.Array,[\":%M:%S\"]],minutes:[a.Array,[\":%M\",\"%Mm\"]],hourmin:[a.Array,[\"%H:%M\"]],hours:[a.Array,[\"%Hh\",\"%H:%M\"]],days:[a.Array,[\"%m/%d\",\"%a%d\"]],months:[a.Array,[\"%m/%Y\",\"%b %Y\"]],years:[a.Array,[\"%Y\"]]})},r.prototype.initialize=function(){t.prototype.initialize.call(this),this._update_width_formats()},r.prototype._update_width_formats=function(){var t=+i(new Date),r=function(r){var e=r.map(function(r){return d(t,r).length}),s=c.sort_by(c.zip(e,r),function(t){return t[0]});return c.unzip(s)};this._width_formats={microseconds:r(this.microseconds),milliseconds:r(this.milliseconds),seconds:r(this.seconds),minsec:r(this.minsec),minutes:r(this.minutes),hourmin:r(this.hourmin),hours:r(this.hours),days:r(this.days),months:r(this.months),years:r(this.years)}},r.prototype._get_resolution_str=function(t,r){var e=1.1*t;switch(!1){case!(e<.001):return\"microseconds\";case!(e<1):return\"milliseconds\";case!(e<60):return r>=60?\"minsec\":\"seconds\";case!(e<3600):return r>=3600?\"hourmin\":\"minutes\";case!(e<86400):return\"hours\";case!(e<2678400):return\"days\";case!(e<31536e3):return\"months\";default:return\"years\"}},r.prototype.doFormat=function(t,r){if(0==t.length)return[];for(var e=Math.abs(t[t.length-1]-t[0])/1e3,s=e/(t.length-1),i=this._get_resolution_str(s,e),n=this._width_formats[i][1][0],a=[],u=f.indexOf(i),c={},m=0,l=f;m<l.length;m++){c[l[m]]=0}c.seconds=5,c.minsec=4,c.minutes=4,c.hourmin=3,c.hours=3;for(var _=0,p=t;_<p.length;_++){var y=p[_],g=void 0,v=void 0;try{v=h(y),g=d(y,n)}catch(t){o.logger.warn(\"unable to format tick for timestamp value \"+y),o.logger.warn(\" - \"+t),a.push(\"ERR\");continue}for(var w=!1,A=u;0==v[c[f[A]]];){if((A+=1)==f.length)break;if((\"minsec\"==i||\"hourmin\"==i)&&!w){if(\"minsec\"==i&&0==v[4]&&0!=v[5]||\"hourmin\"==i&&0==v[3]&&0!=v[4]){g=d(y,this._width_formats[f[u-1]][1][0]);break}w=!0}g=d(y,this._width_formats[f[A]][1][0])}if(this.strip_leading_zeros){var k=g.replace(/^0+/g,\"\");k!=g&&isNaN(parseInt(k))&&(k=\"0\"+k),a.push(k)}else a.push(g)}return a},r}(n.TickFormatter);e.DatetimeTickFormatter=l,l.__name__=\"DatetimeTickFormatter\",l.init_DatetimeTickFormatter()},\n",
       "      function _(e,t,n){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}(function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o<a&&!(f[o][n]<=r);o++);if((u=f[o]).rules){for(s=t[u.rules],c=T+1;c>=T-g;--c)for(o=0,a=s.length;o<a;o++)s[o].from<=c&&c<=s[o].to?h.push(e(u,s[o],c)):s[o].to<c&&1==g&&(g=c-s[o].to);for(h.sort(function(e,t){return e.sort-t.sort}),o=0,a=h.length;o<a;o++)r>=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o<r.save?null:n-r.offset-r.save);var r,o}function o(e,t,o){var a,i=+(o[1]+1),s=o[2]*i,c=u.indexOf(o[3].toLowerCase());if(c>9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.22\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t<e.length;t++)if(l=e[t],Array.isArray(l))t||isNaN(l[1])?l.splice.apply(e,[t--,1].concat(l)):s=l;else if(isNaN(l)){if(\"string\"==(u=typeof l))~l.indexOf(\"%\")?c.format=l:t||\"*\"!=l?!t&&(u=/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T\\s](\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d+))?)?(Z|(([+-])(\\d{2}(:\\d{2}){0,2})))?)?$/.exec(l))?((s=[]).push.apply(s,u.slice(1,8)),u[9]?(s.push(u[10]+1),s.push.apply(s,u[11].split(/:/))):u[8]&&s.push(1)):/^\\w{2,3}_\\w{2}$/.test(l)?c.locale=l:(u=i.exec(l))?f.push(u):c.zone=l:s=l;else if(\"function\"==u){if(u=l.call(c))return u}else if(/^\\w{2,3}_\\w{2}$/.test(l.name))c[l.name]=l;else if(l.zones){for(u in l.zones)c[u]=l.zones[u];for(u in l.rules)c[u]=l.rules[u]}}else t||(s=l);if(c[c.locale]||delete c.locale,c[c.zone]||delete c.zone,null!=s){if(\"*\"==s)s=c.clock();else if(Array.isArray(s)){for(u=[],a=!s[7],t=0;t<11;t++)u[t]=+(s[t]||0);--u[1],s=Date.UTC.apply(Date.UTC,u)+-u[7]*(36e5*u[8]+6e4*u[9]+1e3*u[10])}else s=Math.floor(s);if(!isNaN(s)){if(a&&(s=r(c,s)),null==s)return s;for(t=0,a=f.length;t<a;t++)s=o(c,s,f[t]);return c.format?(u=new Date(n(c,s)),c.format.replace(/%([-0_^]?)(:{0,3})(\\d*)(.)/g,function(e,t,n,r,o){var a,i,l=\"0\";if(a=c[o]){for(e=String(a.call(c,u,s,t,n.length)),\"_\"==(t||a.style)&&(l=\" \"),i=\"-\"==t?0:a.pad||0;e.length<i;)e=l+e;for(i=\"-\"==t?0:r||a.pad;e.length<i;)e=l+e;\"N\"==o&&i<e.length&&(e=e.slice(0,i)),\"^\"==t&&(e=e.toUpperCase())}return e})):s}}return function(){return c.convert(arguments)}},locale:\"en_US\",en_US:{date:\"%m/%d/%Y\",time24:\"%I:%M:%S %p\",time12:\"%I:%M:%S %p\",dateTime:\"%a %d %b %Y %I:%M:%S %p %Z\",meridiem:[\"AM\",\"PM\"],month:{abbrev:\"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec\".split(\"|\"),full:\"January|February|March|April|May|June|July|August|September|October|November|December\".split(\"|\")},day:{abbrev:\"Sun|Mon|Tue|Wed|Thu|Fri|Sat\".split(\"|\"),full:\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday\".split(\"|\")}}},u=\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|year|month|day|hour|minute|second|millisecond\",i=new RegExp(\"^\\\\s*([+-])(\\\\d+)\\\\s+(\"+u+\")s?\\\\s*$\",\"i\"),l=[36e5,6e4,1e3,1];function s(e,t){var n,r,o;return r=new Date(Date.UTC(e.getUTCFullYear(),0)),n=Math.floor((e.getTime()-r.getTime())/864e5),r.getUTCDay()==t?o=0:8==(o=7-r.getUTCDay()+t)&&(o=1),n>=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,function(e){a[e].pad=2}),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}})},\n",
       "      function _(r,n,e){var t=r(113),i=r(254),u=r(255),a=r(252),f=r(127),o=r(109);function l(r){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return i.sprintf.apply(i,t.__spreadArrays([r],n))}function c(r,n,e){return o.isNumber(r)?l(function(){switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}}(),r):\"\"+r}function s(r,n,t,i){if(null==t)return c;if(null!=i&&(r in i||n in i)){var u=i[n in i?n:r];if(o.isString(u)){if(u in e.DEFAULT_FORMATTERS)return e.DEFAULT_FORMATTERS[u];throw new Error(\"Unknown tooltip field formatter type '\"+u+\"'\")}return function(r,n,e){return u.format(r,n,e)}}return e.DEFAULT_FORMATTERS.numeral}function p(r,n,e,t){if(\"$\"==r[0]){if(r.substring(1)in t)return t[r.substring(1)];throw new Error(\"Unknown special variable '\"+r+\"'\")}var i=n.get_column(r);if(null==i)return null;if(o.isNumber(e))return i[e];var u=i[e.index];return o.isTypedArray(u)||o.isArray(u)?o.isArray(u[0])?u[e.dim2][e.dim1]:u[e.flat_index]:u}e.sprintf=l,e.DEFAULT_FORMATTERS={numeral:function(r,n,e){return u.format(r,n)},datetime:function(r,n,e){return a(r,n)},printf:function(r,n,e){return l(n,r)}},e.basic_formatter=c,e.get_formatter=s,e.get_value=p,e.replace_placeholders=function(r,n,e,t,i){void 0===i&&(i={});var u=r.replace(/(?:^|[^@])([@|\\$](?:\\w+|{[^{}]+}))(?:{[^{}]+})?/g,function(r,n,e){return\"\"+n});return r=(r=(r=r.replace(/@\\$name/g,function(r){return\"@{\"+i.name+\"}\"})).replace(/(^|[^\\$])\\$(\\w+)/g,function(r,n,e){return n+\"@$\"+e})).replace(/(^|[^@])@(?:(\\$?\\w+)|{([^{}]+)})(?:{([^{}]+)})?/g,function(r,a,o,l,c){var m=p(o=null!=l?l:o,n,e,i);if(null==m)return\"\"+a+f.escape(\"???\");if(\"safe\"==c)return\"\"+a+m;var T=s(o,u,c,t);return\"\"+a+f.escape(T(m,c,i))})}},\n",
       "      function _(e,n,t){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(t){return function(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s<g;s++)if(\"string\"==typeof t[s])y+=t[s];else if(\"object\"==typeof t[s]){if((o=t[s]).keys)for(i=r[d],a=0;a<o.keys.length;a++){if(null==i)throw new Error(n('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',o.keys[a],o.keys[a-1]));i=i[o.keys[a]]}else i=o.param_no?r[o.param_no]:r[d++];if(e.not_type.test(o.type)&&e.not_primitive.test(o.type)&&i instanceof Function&&(i=i()),e.numeric_arg.test(o.type)&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(n(\"[sprintf] expecting number but found %T\",i));switch(e.number.test(o.type)&&(u=i>=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}(function(n){if(i[n])return i[n];var t,r=n,s=[],a=0;for(;r;){if(null!==(t=e.text.exec(r)))s.push(t[0]);else if(null!==(t=e.modulo.exec(r)))s.push(\"%\");else{if(null===(t=e.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=e.key.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(p=p.substring(c[0].length));)if(null!==(c=e.key_access.exec(p)))o.push(c[1]);else{if(null===(c=e.index_access.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");s.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return i[n]=s}(t),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}var i=Object.create(null);void 0!==t&&(t.sprintf=n,t.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=n,window.vsprintf=r,\"function\"==typeof define&&define.amd&&define(function(){return{sprintf:n,vsprintf:r}}))}()},\n",
       "      function _(e,n,t){\n",
       "      /*!\n",
       "           * numbro.js\n",
       "           * version : 1.6.2\n",
       "           * author : Företagsplatsen AB\n",
       "           * license : MIT\n",
       "           * http://www.foretagsplatsen.se\n",
       "           */\n",
       "      var r,i={},a=i,o=\"en-US\",l=null,u=\"0,0\";void 0!==n&&n.exports;function c(e){this._value=e}function s(e){var n,t=\"\";for(n=0;n<e;n++)t+=\"0\";return t}function f(e,n,t,r){var i,a,o=Math.pow(10,n);return a=e.toFixed(0).search(\"e\")>-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+s(i-r.length),n>0&&(a+=\".\"+s(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function d(e,n,t){return n.indexOf(\"$\")>-1?function(e,n,t){var r,a,l=n,u=l.indexOf(\"$\"),c=l.indexOf(\"(\"),s=l.indexOf(\"+\"),f=l.indexOf(\"-\"),d=\"\",p=\"\";-1===l.indexOf(\"$\")?\"infix\"===i[o].currency.position?(p=i[o].currency.symbol,i[o].currency.spaceSeparated&&(p=\" \"+p+\" \")):i[o].currency.spaceSeparated&&(d=\" \"):l.indexOf(\" $\")>-1?(d=\" \",l=l.replace(\" $\",\"\")):l.indexOf(\"$ \")>-1?(d=\" \",l=l.replace(\"$ \",\"\")):l=l.replace(\"$\",\"\");if(a=h(e,l,t,p),-1===n.indexOf(\"$\"))switch(i[o].currency.position){case\"postfix\":a.indexOf(\")\")>-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;break;case\"infix\":break;case\"prefix\":a.indexOf(\"(\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=Math.max(c,f)+1,a.splice(r,0,i[o].currency.symbol+d),a=a.join(\"\")):a=i[o].currency.symbol+d+a;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else u<=1?a.indexOf(\"(\")>-1||a.indexOf(\"+\")>-1||a.indexOf(\"-\")>-1?(a=a.split(\"\"),r=1,(u<c||u<s||u<f)&&(r=0),a.splice(r,0,i[o].currency.symbol+d),a=a.join(\"\")):a=i[o].currency.symbol+d+a:a.indexOf(\")\")>-1?((a=a.split(\"\")).splice(-1,0,d+i[o].currency.symbol),a=a.join(\"\")):a=a+d+i[o].currency.symbol;return a}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");(r=h(e,n,t)).indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):h(e,n,t)}function h(e,n,t,r){var a,u,c,s,d,h,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==l)return l;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(d=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(h=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,d)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===h?0:3*~~(h/3)-h)<0?M+3:M,a=0;a<M;a++)n+=\"0\";Math.floor(Math.log(Math.abs(e))/Math.LN10)+1!==g&&(T>=Math.pow(10,12)&&!D||j?(k+=i[o].abbreviations.trillion,e/=Math.pow(10,12)):T<Math.pow(10,12)&&T>=Math.pow(10,9)&&!D||S?(k+=i[o].abbreviations.billion,e/=Math.pow(10,9)):T<Math.pow(10,9)&&T>=Math.pow(10,6)&&!D||N?(k+=i[o].abbreviations.million,e/=Math.pow(10,6)):(T<Math.pow(10,6)&&T>=Math.pow(10,3)&&!D||U)&&(k+=i[o].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(u=Math.pow(1024,s),c=Math.pow(1024,s+1),e>=u&&e<c){C+=K[s],u>0&&(e/=u);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(u=Math.pow(1e3,s),c=Math.pow(1e3,s+1),e>=u&&e<c){C+=G[s],u>0&&(e/=u);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),i[o].ordinal&&(L+=i[o].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?f(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?f(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):f(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:i[o].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=f(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length<v&&(x=new Array(v-x.length+1).join(\"0\")+x),y>-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+i[o].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")<n.indexOf(\"-\")?(B&&R?\"(\":\"\")+(P&&R||!B&&R?\"-\":\"\"):(P&&R||!B&&R?\"-\":\"\")+(B&&R?\"(\":\"\"))+(!R&&E&&0!==e?\"+\":\"\")+x+I+(L||\"\")+(k&&!r?k:\"\")+(C||\"\")+(B&&R?\")\":\"\")+w}function p(e,n){i[e]=n}function m(e){o=e;var n=i[e].defaults;n&&n.format&&r.defaultFormat(n.format),n&&n.currencyFormat&&r.defaultCurrencyFormat(n.currencyFormat)}(r=function(e){return r.isNumbro(e)?e=e.value():0===e||void 0===e?e=0:Number(e)||(e=r.fn.unformat(e)),new c(Number(e))}).version=\"1.6.2\",r.isNumbro=function(e){return e instanceof c},r.setLanguage=function(e,n){console.warn(\"`setLanguage` is deprecated since version 1.6.0. Use `setCulture` instead\");var t=e,r=e.split(\"-\")[0],i=null;a[t]||(Object.keys(a).forEach(function(e){i||e.split(\"-\")[0]!==r||(i=e)}),t=i||n||\"en-US\"),m(t)},r.setCulture=function(e,n){var t=e,r=e.split(\"-\")[1],a=null;i[t]||(r&&Object.keys(i).forEach(function(e){a||e.split(\"-\")[1]!==r||(a=e)}),t=a||n||\"en-US\"),m(t)},r.language=function(e,n){if(console.warn(\"`language` is deprecated since version 1.6.0. Use `culture` instead\"),!e)return o;if(e&&!n){if(!a[e])throw new Error(\"Unknown language : \"+e);m(e)}return!n&&a[e]||p(e,n),r},r.culture=function(e,n){if(!e)return o;if(e&&!n){if(!i[e])throw new Error(\"Unknown culture : \"+e);m(e)}return!n&&i[e]||p(e,n),r},r.languageData=function(e){if(console.warn(\"`languageData` is deprecated since version 1.6.0. Use `cultureData` instead\"),!e)return a[o];if(!a[e])throw new Error(\"Unknown language : \"+e);return a[e]},r.cultureData=function(e){if(!e)return i[o];if(!i[e])throw new Error(\"Unknown culture : \"+e);return i[e]},r.culture(\"en-US\",{delimiters:{thousands:\",\",decimal:\".\"},abbreviations:{thousand:\"k\",million:\"m\",billion:\"b\",trillion:\"t\"},ordinal:function(e){var n=e%10;return 1==~~(e%100/10)?\"th\":1===n?\"st\":2===n?\"nd\":3===n?\"rd\":\"th\"},currency:{symbol:\"$\",position:\"prefix\"},defaults:{currencyFormat:\",0000 a\"},formats:{fourDigits:\"0000 a\",fullWithTwoDecimals:\"$ ,0.00\",fullWithTwoDecimalsNoCurrency:\",0.00\"}}),r.languages=function(){return console.warn(\"`languages` is deprecated since version 1.6.0. Use `cultures` instead\"),a},r.cultures=function(){return i},r.zeroFormat=function(e){l=\"string\"==typeof e?e:null},r.defaultFormat=function(e){u=\"string\"==typeof e?e:\"0.0\"},r.defaultCurrencyFormat=function(e){\"string\"==typeof e?e:\"0$\"},r.validate=function(e,n){var t,i,a,o,l,u,c,s;if(\"string\"!=typeof e&&(e+=\"\",console.warn&&console.warn(\"Numbro.js: Value is not string. It has been co-erced to: \",e)),(e=e.trim()).match(/^\\d+$/))return!0;if(\"\"===e)return!1;try{c=r.cultureData(n)}catch(e){c=r.cultureData(r.culture())}return a=c.currency.symbol,l=c.abbreviations,t=c.delimiters.decimal,i=\".\"===c.delimiters.thousands?\"\\\\.\":c.delimiters.thousands,(null===(s=e.match(/^[^\\d]+/))||(e=e.substr(1),s[0]===a))&&((null===(s=e.match(/[^\\d]+$/))||(e=e.slice(0,-1),s[0]===l.thousand||s[0]===l.million||s[0]===l.billion||s[0]===l.trillion))&&(u=new RegExp(i+\"{2}\"),!e.match(/[^\\d.,]/g)&&(!((o=e.split(t)).length>2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,i){return null!=t&&t!==r.culture()&&r.setCulture(t),d(Number(e),null!=n?n:u,null==i?Math.round:i)}}},\n",
       "      function _(e,n,i){var t=e(113),r=e(110),a=e(205),s=e(257),c=e(258),_=e(261),m=e(262),k=e(260),o=function(e){function n(n){return e.call(this,n)||this}return t.__extends(n,e),n.init_DatetimeTicker=function(){this.override({num_minor_ticks:0,tickers:function(){return[new a.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*k.ONE_MILLI,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:k.ONE_SECOND,max_interval:30*k.ONE_MINUTE,num_minor_ticks:0}),new a.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:k.ONE_HOUR,max_interval:12*k.ONE_HOUR,num_minor_ticks:0}),new c.DaysTicker({days:r.range(1,32)}),new c.DaysTicker({days:r.range(1,31,3)}),new c.DaysTicker({days:[1,8,15,22]}),new c.DaysTicker({days:[1,15]}),new _.MonthsTicker({months:r.range(0,12,1)}),new _.MonthsTicker({months:r.range(0,12,2)}),new _.MonthsTicker({months:r.range(0,12,4)}),new _.MonthsTicker({months:r.range(0,12,6)}),new m.YearsTicker({})]}})},n}(s.CompositeTicker);i.DatetimeTicker=o,o.__name__=\"DatetimeTicker\",o.init_DatetimeTicker()},\n",
       "      function _(t,e,i){var n=t(113),r=t(206),o=t(121),s=t(110),a=t(125),_=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_CompositeTicker=function(){this.define({tickers:[o.Array,[]]})},Object.defineProperty(e.prototype,\"min_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_min_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_max_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"min_interval\",{get:function(){return this.min_intervals[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_interval\",{get:function(){return this.max_intervals[0]},enumerable:!0,configurable:!0}),e.prototype.get_best_ticker=function(t,e,i){var n,r=e-t,o=this.get_ideal_interval(t,e,i),_=[s.sorted_index(this.min_intervals,o)-1,s.sorted_index(this.max_intervals,o)],u=[this.min_intervals[_[0]],this.max_intervals[_[1]]].map(function(t){return Math.abs(i-r/t)});if(a.isEmpty(u.filter(function(t){return!isNaN(t)})))n=this.tickers[0];else{var c=_[s.argmin(u)];n=this.tickers[c]}return n},e.prototype.get_interval=function(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)},e.prototype.get_ticks_no_defaults=function(t,e,i,n){return this.get_best_ticker(t,e,n).get_ticks_no_defaults(t,e,i,n)},e}(r.ContinuousTicker);i.CompositeTicker=_,_.__name__=\"CompositeTicker\",_.init_CompositeTicker()},\n",
       "      function _(t,n,e){var i=t(113),r=t(259),a=t(260),o=t(121),s=t(110);var _=function(t){function n(n){return t.call(this,n)||this}return i.__extends(n,t),n.init_DaysTicker=function(){this.define({days:[o.Array,[]]}),this.override({num_minor_ticks:0})},n.prototype.initialize=function(){t.prototype.initialize.call(this);var n=this.days;n.length>1?this.interval=(n[1]-n[0])*a.ONE_DAY:this.interval=31*a.ONE_DAY},n.prototype.get_ticks_no_defaults=function(t,n,e,i){var r=function(t,n){var e=a.last_month_no_later_than(new Date(t)),i=a.last_month_no_later_than(new Date(n));i.setUTCMonth(i.getUTCMonth()+1);for(var r=[],o=e;r.push(a.copy_date(o)),o.setUTCMonth(o.getUTCMonth()+1),!(o>i););return r}(t,n),o=this.days,_=this.interval;return{major:s.concat(r.map(function(t){return function(t,n){for(var e=t.getUTCMonth(),i=[],r=0,s=o;r<s.length;r++){var _=s[r],c=a.copy_date(t);c.setUTCDate(_),new Date(c.getTime()+n/2).getUTCMonth()==e&&i.push(c)}return i}(t,_)})).map(function(t){return t.getTime()}).filter(function(e){return t<=e&&e<=n}),minor:[]}},n}(r.SingleIntervalTicker);e.DaysTicker=_,_.__name__=\"DaysTicker\",_.init_DaysTicker()},\n",
       "      function _(e,n,t){var i=e(113),r=e(206),l=e(121),a=function(e){function n(n){return e.call(this,n)||this}return i.__extends(n,e),n.init_SingleIntervalTicker=function(){this.define({interval:[l.Number]})},n.prototype.get_interval=function(e,n,t){return this.interval},Object.defineProperty(n.prototype,\"min_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"max_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),n}(r.ContinuousTicker);t.SingleIntervalTicker=a,a.__name__=\"SingleIntervalTicker\",a.init_SingleIntervalTicker()},\n",
       "      function _(t,e,_){function n(t){return new Date(t.getTime())}function E(t){var e=n(t);return e.setUTCDate(1),e.setUTCHours(0),e.setUTCMinutes(0),e.setUTCSeconds(0),e.setUTCMilliseconds(0),e}_.ONE_MILLI=1,_.ONE_SECOND=1e3,_.ONE_MINUTE=60*_.ONE_SECOND,_.ONE_HOUR=60*_.ONE_MINUTE,_.ONE_DAY=24*_.ONE_HOUR,_.ONE_MONTH=30*_.ONE_DAY,_.ONE_YEAR=365*_.ONE_DAY,_.copy_date=n,_.last_month_no_later_than=E,_.last_year_no_later_than=function(t){var e=E(t);return e.setUTCMonth(0),e}},\n",
       "      function _(t,n,e){var r=t(113),i=t(259),a=t(260),o=t(121),l=t(110);var u=function(t){function n(n){return t.call(this,n)||this}return r.__extends(n,t),n.init_MonthsTicker=function(){this.define({months:[o.Array,[]]})},n.prototype.initialize=function(){t.prototype.initialize.call(this);var n=this.months;n.length>1?this.interval=(n[1]-n[0])*a.ONE_MONTH:this.interval=12*a.ONE_MONTH},n.prototype.get_ticks_no_defaults=function(t,n,e,r){var i=function(t,n){var e=a.last_year_no_later_than(new Date(t)),r=a.last_year_no_later_than(new Date(n));r.setUTCFullYear(r.getUTCFullYear()+1);for(var i=[],o=e;i.push(a.copy_date(o)),o.setUTCFullYear(o.getUTCFullYear()+1),!(o>r););return i}(t,n),o=this.months;return{major:l.concat(i.map(function(t){return o.map(function(n){var e=a.copy_date(t);return e.setUTCMonth(n),e})})).map(function(t){return t.getTime()}).filter(function(e){return t<=e&&e<=n}),minor:[]}},n}(i.SingleIntervalTicker);e.MonthsTicker=u,u.__name__=\"MonthsTicker\",u.init_MonthsTicker()},\n",
       "      function _(t,e,i){var n=t(113),r=t(204),a=t(259),_=t(260),c=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.interval=_.ONE_YEAR,this.basic_ticker=new r.BasicTicker({num_minor_ticks:0})},e.prototype.get_ticks_no_defaults=function(t,e,i,n){var r=_.last_year_no_later_than(new Date(t)).getUTCFullYear(),a=_.last_year_no_later_than(new Date(e)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(r,a,i,n).major.map(function(t){return Date.UTC(t,0,1)}).filter(function(i){return t<=i&&i<=e}),minor:[]}},e}(a.SingleIntervalTicker);i.YearsTicker=c,c.__name__=\"YearsTicker\"},\n",
       "      function _(i,n,t){var e=i(113),o=i(243),r=i(248),u=i(264),s=i(265),_=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return e.__extends(n,i),n}(o.AxisView);t.LogAxisView=_,_.__name__=\"LogAxisView\";var c=function(i){function n(n){return i.call(this,n)||this}return e.__extends(n,i),n.init_LogAxis=function(){this.prototype.default_view=_,this.override({ticker:function(){return new s.LogTicker},formatter:function(){return new u.LogTickFormatter}})},n}(r.ContinuousAxis);t.LogAxis=c,c.__name__=\"LogAxis\",c.init_LogAxis()},\n",
       "      function _(t,i,r){var e=t(113),n=t(209),o=t(208),a=t(167),c=t(121),l=function(t){function i(i){return t.call(this,i)||this}return e.__extends(i,t),i.init_LogTickFormatter=function(){this.define({ticker:[c.Instance,null]})},i.prototype.initialize=function(){t.prototype.initialize.call(this),this.basic_formatter=new o.BasicTickFormatter,null==this.ticker&&a.logger.warn(\"LogTickFormatter not configured with a ticker, using default base of 10 (labels will be incorrect if ticker base is not 10)\")},i.prototype.doFormat=function(t,i){if(0==t.length)return[];for(var r=null!=this.ticker?this.ticker.base:10,e=!1,n=new Array(t.length),o=0,a=t.length;o<a;o++)if(n[o]=r+\"^\"+Math.round(Math.log(t[o])/Math.log(r)),o>0&&n[o]==n[o-1]){e=!0;break}return e?this.basic_formatter.doFormat(t,i):n},i}(n.TickFormatter);r.LogTickFormatter=l,l.__name__=\"LogTickFormatter\",l.init_LogTickFormatter()},\n",
       "      function _(t,r,n){var e=t(113),i=t(205),o=t(110),a=function(t){function r(r){return t.call(this,r)||this}return e.__extends(r,t),r.init_LogTicker=function(){this.override({mantissas:[1,5]})},r.prototype.get_ticks_no_defaults=function(t,r,n,e){var i,a=this.num_minor_ticks,u=[],f=this.base,h=Math.log(t)/Math.log(f),l=Math.log(r)/Math.log(f),c=l-h;if(isFinite(c))if(c<2){var s=this.get_interval(t,r,e),g=Math.floor(t/s),_=Math.ceil(r/s);if(i=o.range(g,_+1).filter(function(t){return 0!=t}).map(function(t){return t*s}).filter(function(n){return t<=n&&n<=r}),a>0&&i.length>0){for(var p=s/a,v=0,M=(y=o.range(0,a).map(function(t){return t*p})).slice(1);v<M.length;v++){var m=M[v];u.push(i[0]-m)}for(var k=0,T=i;k<T.length;k++)for(var d=T[k],L=0,w=y;L<w.length;L++){m=w[L];u.push(d+m)}}}else{var b=Math.ceil(.999999*h),j=Math.floor(1.000001*l),x=Math.ceil((j-b)/9);if(i=o.range(b-1,j+1,x).map(function(t){return Math.pow(f,t)}),a>0&&i.length>0){for(var y,A=Math.pow(f,x)/a,F=0,q=y=o.range(1,a+1).map(function(t){return t*A});F<q.length;F++){m=q[F];u.push(i[0]/m)}u.push(i[0]);for(var z=0,B=i;z<B.length;z++){d=B[z];for(var C=0,D=y;C<D.length;C++){m=D[C];u.push(d*m)}}}}else i=[];return{major:i.filter(function(n){return t<=n&&n<=r}),minor:u.filter(function(n){return t<=n&&n<=r})}},r}(i.AdaptiveTicker);n.LogTicker=a,a.__name__=\"LogTicker\",a.init_LogTicker()},\n",
       "      function _(t,r,i){var e=t(113),n=t(243),o=t(250),a=t(267),c=t(268),s=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(r,t),r}(n.AxisView);i.MercatorAxisView=s,s.__name__=\"MercatorAxisView\";var u=function(t){function r(r){return t.call(this,r)||this}return e.__extends(r,t),r.init_MercatorAxis=function(){this.prototype.default_view=s,this.override({ticker:function(){return new c.MercatorTicker({dimension:\"lat\"})},formatter:function(){return new a.MercatorTickFormatter({dimension:\"lat\"})}})},r}(o.LinearAxis);i.MercatorAxis=u,u.__name__=\"MercatorAxis\",u.init_MercatorAxis()},\n",
       "      function _(r,t,o){var e=r(113),n=r(208),i=r(121),a=r(132),c=function(r){function t(t){return r.call(this,t)||this}return e.__extends(t,r),t.init_MercatorTickFormatter=function(){this.define({dimension:[i.LatLon]})},t.prototype.doFormat=function(t,o){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==t.length)return[];var e=t.length,n=new Array(e);if(\"lon\"==this.dimension)for(var i=0;i<e;i++){var c=a.wgs84_mercator.inverse([t[i],o.loc])[0];n[i]=c}else for(i=0;i<e;i++){var s=a.wgs84_mercator.inverse([o.loc,t[i]])[1];n[i]=s}return r.prototype.doFormat.call(this,n,o)},t}(n.BasicTickFormatter);o.MercatorTickFormatter=c,c.__name__=\"MercatorTickFormatter\",c.init_MercatorTickFormatter()},\n",
       "      function _(r,n,i){var o=r(113),e=r(204),t=r(121),s=r(132),a=function(r){function n(n){return r.call(this,n)||this}return o.__extends(n,r),n.init_MercatorTicker=function(){this.define({dimension:[t.LatLon]})},n.prototype.get_ticks_no_defaults=function(n,i,o,e){var t,a,c,_,f,m,l,u;if(null==this.dimension)throw new Error(\"MercatorTicker.dimension not configured\");n=(t=s.clip_mercator(n,i,this.dimension))[0],i=t[1],\"lon\"===this.dimension?(m=(a=s.wgs84_mercator.inverse([n,o]))[0],u=a[1],l=(c=s.wgs84_mercator.inverse([i,o]))[0],u=c[1]):(u=(_=s.wgs84_mercator.inverse([o,n]))[0],m=_[1],u=(f=s.wgs84_mercator.inverse([o,i]))[0],l=f[1]);var d=r.prototype.get_ticks_no_defaults.call(this,m,l,o,e),h=[],g=[];if(\"lon\"===this.dimension){for(var v=0,w=d.major;v<w.length;v++){var p=w[v];if(s.in_bounds(p,\"lon\")){var k=s.wgs84_mercator.forward([p,u])[0];h.push(k)}}for(var T=0,M=d.minor;T<M.length;T++){p=M[T];if(s.in_bounds(p,\"lon\")){k=s.wgs84_mercator.forward([p,u])[0];g.push(k)}}}else{for(var b=0,j=d.major;b<j.length;b++){p=j[b];if(s.in_bounds(p,\"lat\")){var y=s.wgs84_mercator.forward([u,p])[1];h.push(y)}}for(var L=0,x=d.minor;L<x.length;L++){p=x[L];if(s.in_bounds(p,\"lat\")){y=s.wgs84_mercator.forward([u,p])[1];g.push(y)}}}return{major:h,minor:g}},n}(e.BasicTicker);i.MercatorTicker=a,a.__name__=\"MercatorTicker\",a.init_MercatorTicker()},\n",
       "      function _(n,o,t){var u=n(270);t.CustomJS=u.CustomJS;var a=n(272);t.OpenURL=a.OpenURL},\n",
       "      function _(e,t,n){var r=e(113),i=e(271),o=e(121),u=e(125),s=e(127),c=function(t){function n(e){return t.call(this,e)||this}return r.__extends(n,t),n.init_CustomJS=function(){this.define({args:[o.Any,{}],code:[o.String,\"\"],use_strict:[o.Boolean,!1]})},Object.defineProperty(n.prototype,\"names\",{get:function(){return u.keys(this.args)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"values\",{get:function(){return u.values(this.args)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"func\",{get:function(){var e=this.use_strict?s.use_strict(this.code):this.code;return new(Function.bind.apply(Function,r.__spreadArrays([void 0],this.names,[\"cb_obj\",\"cb_data\",\"require\",\"exports\",e])))},enumerable:!0,configurable:!0}),n.prototype.execute=function(t,n){return void 0===n&&(n={}),this.func.apply(t,this.values.concat(t,n,e,{}))},n}(i.Callback);n.CustomJS=c,c.__name__=\"CustomJS\",c.init_CustomJS()},\n",
       "      function _(n,t,a){var l=n(113),_=function(n){function t(t){return n.call(this,t)||this}return l.__extends(t,n),t}(n(166).Model);a.Callback=_,_.__name__=\"Callback\"},\n",
       "      function _(n,e,t){var i=n(113),o=n(271),r=n(253),a=n(121),c=function(n){function e(e){return n.call(this,e)||this}return i.__extends(e,n),e.init_OpenURL=function(){this.define({url:[a.String,\"http://\"],same_tab:[a.Boolean,!1]})},e.prototype.execute=function(n,e){for(var t=this,i=e.source,o=function(n){var e=r.replace_placeholders(t.url,i,n);t.same_tab?window.location.href=e:window.open(e)},a=i.selected,c=0,l=a.indices;c<l.length;c++){o(l[c])}for(var _=0,s=a.line_indices;_<s.length;_++){o(s[_])}},e}(o.Callback);t.OpenURL=c,c.__name__=\"OpenURL\",c.init_OpenURL()},\n",
       "      function _(a,n,r){var e=a(274);r.Canvas=e.Canvas;var s=a(278);r.CartesianFrame=s.CartesianFrame},\n",
       "      function _(t,e,i){var a=t(113),s=t(115),n=t(161),l=t(167),h=t(121),o=t(163),r=t(181),c=t(197),p=t(275),_=t(276);c.is_ie&&\"undefined\"!=typeof CanvasPixelArray&&(CanvasPixelArray.prototype.set=function(t){for(var e=0;e<this.length;e++)this[e]=t[e]});var v=t(277),d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),Object.defineProperty(e.prototype,\"ctx\",{get:function(){return this._ctx},enumerable:!0,configurable:!0}),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.map_el=this.model.map?this.el.appendChild(o.div({class:_.bk_canvas_map})):null;var e={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};switch(this.model.output_backend){case\"canvas\":case\"webgl\":if(this.canvas_el=this.el.appendChild(o.canvas({class:_.bk_canvas,style:e})),null==(i=this.canvas_el.getContext(\"2d\")))throw new Error(\"unable to obtain 2D rendering context\");this._ctx=i;break;case\"svg\":var i=new v;this._ctx=i,this.canvas_el=this.el.appendChild(i.getSvg())}this.overlays_el=this.el.appendChild(o.div({class:_.bk_canvas_overlays,style:e})),this.events_el=this.el.appendChild(o.div({class:_.bk_canvas_events,style:e})),p.fixup_ctx(this._ctx),l.logger.debug(\"CanvasView initialized\")},e.prototype.get_canvas_element=function(){return this.canvas_el},e.prototype.prepare_canvas=function(t,e){this.bbox=new r.BBox({left:0,top:0,width:t,height:e}),this.el.style.width=t+\"px\",this.el.style.height=e+\"px\";var i=p.get_scale_ratio(this.ctx,this.model.use_hidpi,this.model.output_backend);this.model.pixel_ratio=i,this.canvas_el.style.width=t+\"px\",this.canvas_el.style.height=e+\"px\",this.canvas_el.setAttribute(\"width\",\"\"+t*i),this.canvas_el.setAttribute(\"height\",\"\"+e*i),l.logger.debug(\"Rendering CanvasView with width: \"+t+\", height: \"+e+\", pixel ratio: \"+i)},e}(n.DOMView);i.CanvasView=d,d.__name__=\"CanvasView\";var u=function(t){function e(e){return t.call(this,e)||this}return a.__extends(e,t),e.init_Canvas=function(){this.prototype.default_view=d,this.internal({map:[h.Boolean,!1],use_hidpi:[h.Boolean,!0],pixel_ratio:[h.Number,1],output_backend:[h.OutputBackend,\"canvas\"]})},e}(s.HasProps);i.Canvas=u,u.__name__=\"Canvas\",u.init_Canvas()},\n",
       "      function _(e,t,n){n.fixup_ctx=function(e){!function(e){e.setLineDash||(e.setLineDash=function(t){e.mozDash=t,e.webkitLineDash=t}),e.getLineDash||(e.getLineDash=function(){return e.mozDash})}(e),function(e){e.setLineDashOffset=function(t){e.lineDashOffset=t,e.mozDashOffset=t,e.webkitLineDashOffset=t},e.getLineDashOffset=function(){return e.mozDashOffset}}(e),function(e){e.setImageSmoothingEnabled=function(t){e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.oImageSmoothingEnabled=t,e.webkitImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t},e.getImageSmoothingEnabled=function(){var t=e.imageSmoothingEnabled;return null==t||t}}(e),function(e){e.measureText&&null==e.html5MeasureText&&(e.html5MeasureText=e.measureText,e.measureText=function(t){var n=e.html5MeasureText(t);return n.ascent=1.6*e.html5MeasureText(\"m\").width,n})}(e),function(e){e.ellipse||(e.ellipse=function(t,n,i,o,a,r,s,u){void 0===u&&(u=!1);var m=.551784;e.translate(t,n),e.rotate(a);var l=i,f=o;u&&(l=-i,f=-o),e.moveTo(-l,0),e.bezierCurveTo(-l,f*m,-l*m,f,0,f),e.bezierCurveTo(l*m,f,l,f*m,l,0),e.bezierCurveTo(l,-f*m,l*m,-f,0,-f),e.bezierCurveTo(-l*m,-f,-l,-f*m,-l,0),e.rotate(-a),e.translate(-t,-n)})}(e)},n.get_scale_ratio=function(e,t,n){return\"svg\"==n?1:t?(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1):1}},\n",
       "      function _(a,n,s){a(164),s.bk_canvas=\"bk-canvas\",s.bk_canvas_map=\"bk-canvas-map\",s.bk_canvas_overlays=\"bk-canvas-overlays\",s.bk_canvas_events=\"bk-canvas-events\"},\n",
       "      function _(t,e,r){!function(){\"use strict\";var t,r,i,n,s;function a(t,e){var r,i=Object.keys(e);for(r=0;r<i.length;r++)t=t.replace(new RegExp(\"\\\\{\"+i[r]+\"\\\\}\",\"gi\"),e[i[r]]);return t}function o(t){var e,r,i;if(!t)throw new Error(\"cannot create a random attribute name for an undefined object\");e=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",r=\"\";do{for(r=\"\",i=0;i<12;i++)r+=e[Math.floor(Math.random()*e.length)]}while(t[r]);return r}function h(t){var e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return e[t]||e.alphabetic}s=function(t,e){var r,i,n,s={};for(t=t.split(\",\"),e=e||10,r=0;r<t.length;r+=2)i=\"&\"+t[r+1]+\";\",n=parseInt(t[r],e),s[i]=\"&#\"+n+\";\";return s[\"\\\\xa0\"]=\"&#160;\",s}(\"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro\",32),t={strokeStyle:{svgAttr:\"stroke\",canvas:\"#000000\",svg:\"none\",apply:\"stroke\"},fillStyle:{svgAttr:\"fill\",canvas:\"#000000\",svg:null,apply:\"fill\"},lineCap:{svgAttr:\"stroke-linecap\",canvas:\"butt\",svg:\"butt\",apply:\"stroke\"},lineJoin:{svgAttr:\"stroke-linejoin\",canvas:\"miter\",svg:\"miter\",apply:\"stroke\"},miterLimit:{svgAttr:\"stroke-miterlimit\",canvas:10,svg:4,apply:\"stroke\"},lineWidth:{svgAttr:\"stroke-width\",canvas:1,svg:1,apply:\"stroke\"},globalAlpha:{svgAttr:\"opacity\",canvas:1,svg:1,apply:\"fill stroke\"},font:{canvas:\"10px sans-serif\"},shadowColor:{canvas:\"#000000\"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:\"start\"},textBaseline:{canvas:\"alphabetic\"},lineDash:{svgAttr:\"stroke-dasharray\",canvas:[],svg:null,apply:\"stroke\"}},(i=function(t,e){this.__root=t,this.__ctx=e}).prototype.addColorStop=function(t,e){var r,i=this.__ctx.__createElement(\"stop\");i.setAttribute(\"offset\",t),-1!==e.indexOf(\"rgba\")?(r=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(e),i.setAttribute(\"stop-color\",a(\"rgb({r},{g},{b})\",{r:r[1],g:r[2],b:r[3]})),i.setAttribute(\"stop-opacity\",r[4])):i.setAttribute(\"stop-color\",e),this.__root.appendChild(i)},n=function(t,e){this.__root=t,this.__ctx=e},(r=function(t){var e,i={width:500,height:500,enableMirroring:!1};if(arguments.length>1?((e=i).width=arguments[0],e.height=arguments[1]):e=t||i,!(this instanceof r))return new r(e);this.width=e.width||i.width,this.height=e.height||i.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:i.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement(\"canvas\"),this.__ctx=this.__canvas.getContext(\"2d\")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.__root.setAttribute(\"version\",1.1),this.__root.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.__root.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),this.__root.setAttribute(\"width\",this.width),this.__root.setAttribute(\"height\",this.height),this.__ids={},this.__defs=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,r){void 0===e&&(e={});var i,n,s=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",t),a=Object.keys(e);for(r&&(s.setAttribute(\"fill\",\"none\"),s.setAttribute(\"stroke\",\"none\")),i=0;i<a.length;i++)n=a[i],s.setAttribute(n,e[n]);return s},r.prototype.__setDefaultStyles=function(){var e,r,i=Object.keys(t);for(e=0;e<i.length;e++)this[r=i[e]]=t[r].canvas},r.prototype.__applyStyleState=function(t){var e,r,i=Object.keys(t);for(e=0;e<i.length;e++)this[r=i[e]]=t[r]},r.prototype.__getStyleState=function(){var e,r,i={},n=Object.keys(t);for(e=0;e<n.length;e++)i[r=n[e]]=this[r];return i},r.prototype.__applyStyleToCurrentElement=function(e){var r=this.__currentElement,s=this.__currentElementsToStyle;s&&(r.setAttribute(e,\"\"),r=s.element,s.children.forEach(function(t){t.setAttribute(e,\"\")}));var o,h,l,c,p,_=Object.keys(t);for(o=0;o<_.length;o++)if(h=t[_[o]],l=this[_[o]],h.apply)if(l instanceof n){if(l.__ctx)for(;l.__ctx.__defs.childNodes.length;)c=l.__ctx.__defs.childNodes[0].getAttribute(\"id\"),this.__ids[c]=c,this.__defs.appendChild(l.__ctx.__defs.childNodes[0]);r.setAttribute(h.apply,a(\"url(#{id})\",{id:l.__root.getAttribute(\"id\")}))}else if(l instanceof i)r.setAttribute(h.apply,a(\"url(#{id})\",{id:l.__root.getAttribute(\"id\")}));else if(-1!==h.apply.indexOf(e)&&h.svg!==l)if(\"stroke\"!==h.svgAttr&&\"fill\"!==h.svgAttr||-1===l.indexOf(\"rgba\")){var u=h.svgAttr;if(\"globalAlpha\"===_[o]&&(u=e+\"-\"+h.svgAttr,r.getAttribute(u)))continue;r.setAttribute(u,l)}else{p=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(l),r.setAttribute(h.svgAttr,a(\"rgb({r},{g},{b})\",{r:p[1],g:p[2],b:p[3]}));var d=p[4],g=this.globalAlpha;null!=g&&(d*=g),r.setAttribute(h.svgAttr+\"-opacity\",d)}},r.prototype.__closestGroupOrSvg=function(t){return\"g\"===(t=t||this.__currentElement).nodeName||\"svg\"===t.nodeName?t:this.__closestGroupOrSvg(t.parentNode)},r.prototype.getSerializedSvg=function(t){var e,r,i,n,a,o=(new XMLSerializer).serializeToString(this.__root);if(/xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg\".+xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg/gi.test(o)&&(o=o.replace('xmlns=\"http://www.w3.org/2000/svg','xmlns:xlink=\"http://www.w3.org/1999/xlink')),t)for(e=Object.keys(s),r=0;r<e.length;r++)i=e[r],n=s[i],(a=new RegExp(i,\"gi\")).test(o)&&(o=o.replace(a,n));return o},r.prototype.getSvg=function(){return this.__root},r.prototype.save=function(){var t=this.__createElement(\"g\"),e=this.__closestGroupOrSvg();this.__groupStack.push(e),e.appendChild(t),this.__currentElement=t,this.__stack.push(this.__getStyleState())},r.prototype.restore=function(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var t=this.__stack.pop();this.__applyStyleState(t)},r.prototype.__addTransform=function(t){var e=this.__closestGroupOrSvg();if(e.childNodes.length>0){\"path\"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var r=this.__createElement(\"g\");e.appendChild(r),this.__currentElement=r}var i=this.__currentElement.getAttribute(\"transform\");i?i+=\" \":i=\"\",i+=t,this.__currentElement.setAttribute(\"transform\",i)},r.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(a(\"scale({x},{y})\",{x:t,y:e}))},r.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(a(\"rotate({angle},{cx},{cy})\",{angle:e,cx:0,cy:0}))},r.prototype.translate=function(t,e){this.__addTransform(a(\"translate({x},{y})\",{x:t,y:e}))},r.prototype.transform=function(t,e,r,i,n,s){this.__addTransform(a(\"matrix({a},{b},{c},{d},{e},{f})\",{a:t,b:e,c:r,d:i,e:n,f:s}))},r.prototype.beginPath=function(){var t;this.__currentDefaultPath=\"\",this.__currentPosition={},t=this.__createElement(\"path\",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},r.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;\"path\"===t.nodeName?t.setAttribute(\"d\",this.__currentDefaultPath):console.error(\"Attempted to apply path command to node\",t.nodeName)},r.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=\" \",this.__currentDefaultPath+=t},r.prototype.moveTo=function(t,e){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(a(\"M {x} {y}\",{x:t,y:e}))},r.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand(\"Z\")},r.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath.indexOf(\"M\")>-1?this.__addPathCommand(a(\"L {x} {y}\",{x:t,y:e})):this.__addPathCommand(a(\"M {x} {y}\",{x:t,y:e}))},r.prototype.bezierCurveTo=function(t,e,r,i,n,s){this.__currentPosition={x:n,y:s},this.__addPathCommand(a(\"C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}\",{cp1x:t,cp1y:e,cp2x:r,cp2y:i,x:n,y:s}))},r.prototype.quadraticCurveTo=function(t,e,r,i){this.__currentPosition={x:r,y:i},this.__addPathCommand(a(\"Q {cpx} {cpy} {x} {y}\",{cpx:t,cpy:e,x:r,y:i}))};var l=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};r.prototype.arcTo=function(t,e,r,i,n){var s=this.__currentPosition&&this.__currentPosition.x,a=this.__currentPosition&&this.__currentPosition.y;if(void 0!==s&&void 0!==a){if(n<0)throw new Error(\"IndexSizeError: The radius provided (\"+n+\") is negative.\");if(s===t&&a===e||t===r&&e===i||0===n)this.lineTo(t,e);else{var o=l([s-t,a-e]),h=l([r-t,i-e]);if(o[0]*h[1]!=o[1]*h[0]){var c=o[0]*h[0]+o[1]*h[1],p=Math.acos(Math.abs(c)),_=l([o[0]+h[0],o[1]+h[1]]),u=n/Math.sin(p/2),d=t+u*_[0],g=e+u*_[1],m=[-o[1],o[0]],f=[h[1],-h[0]],y=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},v=y(m),b=y(f);this.lineTo(d+m[0]*n,g+m[1]*n),this.arc(d,g,n,v,b)}else this.lineTo(t,e)}}},r.prototype.stroke=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill stroke markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.fill=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke fill markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\")},r.prototype.rect=function(t,e,r,i){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+i),this.lineTo(t,e+i),this.lineTo(t,e),this.closePath()},r.prototype.fillRect=function(t,e,r,i){var n;n=this.__createElement(\"rect\",{x:t,y:e,width:r,height:i},!0),this.__closestGroupOrSvg().appendChild(n),this.__currentElement=n,this.__applyStyleToCurrentElement(\"fill\")},r.prototype.strokeRect=function(t,e,r,i){var n;n=this.__createElement(\"rect\",{x:t,y:e,width:r,height:i},!0),this.__closestGroupOrSvg().appendChild(n),this.__currentElement=n,this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute(\"transform\"),e=this.__root.childNodes[1],r=e.childNodes,i=r.length-1;i>=0;i--)r[i]&&e.removeChild(r[i]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},r.prototype.clearRect=function(t,e,r,i){if(0!==t||0!==e||r!==this.width||i!==this.height){var n,s=this.__closestGroupOrSvg();n=this.__createElement(\"rect\",{x:t,y:e,width:r,height:i,fill:\"#FFFFFF\"},!0),s.appendChild(n)}else this.__clearCanvas()},r.prototype.createLinearGradient=function(t,e,r,n){var s=this.__createElement(\"linearGradient\",{id:o(this.__ids),x1:t+\"px\",x2:r+\"px\",y1:e+\"px\",y2:n+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(s),new i(s,this)},r.prototype.createRadialGradient=function(t,e,r,n,s,a){var h=this.__createElement(\"radialGradient\",{id:o(this.__ids),cx:n+\"px\",cy:s+\"px\",r:a+\"px\",fx:t+\"px\",fy:e+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(h),new i(h,this)},r.prototype.__parseFont=function(){var t=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font),e={style:t[1]||\"normal\",size:t[4]||\"10px\",family:t[6]||\"sans-serif\",weight:t[3]||\"normal\",decoration:t[2]||\"normal\",href:null};return\"underline\"===this.__fontUnderline&&(e.decoration=\"underline\"),this.__fontHref&&(e.href=this.__fontHref),e},r.prototype.__wrapTextLink=function(t,e){if(t.href){var r=this.__createElement(\"a\");return r.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.href),r.appendChild(e),r}return e},r.prototype.__applyText=function(t,e,r,i){var n,s,a=this.__parseFont(),o=this.__closestGroupOrSvg(),l=this.__createElement(\"text\",{\"font-family\":a.family,\"font-size\":a.size,\"font-style\":a.style,\"font-weight\":a.weight,\"text-decoration\":a.decoration,x:e,y:r,\"text-anchor\":(n=this.textAlign,s={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"},s[n]||s.start),\"dominant-baseline\":h(this.textBaseline)},!0);l.appendChild(this.__document.createTextNode(t)),this.__currentElement=l,this.__applyStyleToCurrentElement(i),o.appendChild(this.__wrapTextLink(a,l))},r.prototype.fillText=function(t,e,r){this.__applyText(t,e,r,\"fill\")},r.prototype.strokeText=function(t,e,r){this.__applyText(t,e,r,\"stroke\")},r.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},r.prototype.arc=function(t,e,r,i,n,s){if(i!==n){(i%=2*Math.PI)===(n%=2*Math.PI)&&(n=(n+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));var o=t+r*Math.cos(n),h=e+r*Math.sin(n),l=t+r*Math.cos(i),c=e+r*Math.sin(i),p=s?0:1,_=0,u=n-i;u<0&&(u+=2*Math.PI),_=s?u>Math.PI?0:1:u>Math.PI?1:0,this.lineTo(l,c),this.__addPathCommand(a(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\",{rx:r,ry:r,xAxisRotation:0,largeArcFlag:_,sweepFlag:p,endX:o,endY:h})),this.__currentPosition={x:o,y:h}}},r.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement(\"clipPath\"),r=o(this.__ids),i=this.__createElement(\"g\");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute(\"id\",r),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute(\"clip-path\",a(\"url(#{id})\",{id:r})),t.appendChild(i),this.__currentElement=i},r.prototype.drawImage=function(){var t,e,i,n,s,a,o,h,l,c,p,_,u,d,g=Array.prototype.slice.call(arguments),m=g[0],f=0,y=0;if(3===g.length)t=g[1],e=g[2],i=s=m.width,n=a=m.height;else if(5===g.length)t=g[1],e=g[2],i=g[3],n=g[4],s=m.width,a=m.height;else{if(9!==g.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);f=g[1],y=g[2],s=g[3],a=g[4],t=g[5],e=g[6],i=g[7],n=g[8]}o=this.__closestGroupOrSvg(),this.__currentElement;var v=\"translate(\"+t+\", \"+e+\")\";if(m instanceof r){if((h=m.getSvg().cloneNode(!0)).childNodes&&h.childNodes.length>1){for(l=h.childNodes[0];l.childNodes.length;)d=l.childNodes[0].getAttribute(\"id\"),this.__ids[d]=d,this.__defs.appendChild(l.childNodes[0]);if(c=h.childNodes[1]){var b,w=c.getAttribute(\"transform\");b=w?w+\" \"+v:v,c.setAttribute(\"transform\",b),o.appendChild(c)}}}else\"IMG\"===m.nodeName?((p=this.__createElement(\"image\")).setAttribute(\"width\",i),p.setAttribute(\"height\",n),p.setAttribute(\"preserveAspectRatio\",\"none\"),(f||y||s!==m.width||a!==m.height)&&((_=this.__document.createElement(\"canvas\")).width=i,_.height=n,(u=_.getContext(\"2d\")).drawImage(m,f,y,s,a,0,0,i,n),m=_),p.setAttribute(\"transform\",v),p.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===m.nodeName?m.toDataURL():m.getAttribute(\"src\")),o.appendChild(p)):\"CANVAS\"===m.nodeName&&((p=this.__createElement(\"image\")).setAttribute(\"width\",i),p.setAttribute(\"height\",n),p.setAttribute(\"preserveAspectRatio\",\"none\"),(_=this.__document.createElement(\"canvas\")).width=i,_.height=n,(u=_.getContext(\"2d\")).imageSmoothingEnabled=!1,u.mozImageSmoothingEnabled=!1,u.oImageSmoothingEnabled=!1,u.webkitImageSmoothingEnabled=!1,u.drawImage(m,f,y,s,a,0,0,i,n),m=_,p.setAttribute(\"transform\",v),p.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",m.toDataURL()),o.appendChild(p))},r.prototype.createPattern=function(t,e){var i,s=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),a=o(this.__ids);return s.setAttribute(\"id\",a),s.setAttribute(\"width\",t.width),s.setAttribute(\"height\",t.height),\"CANVAS\"===t.nodeName||\"IMG\"===t.nodeName?((i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\")).setAttribute(\"width\",t.width),i.setAttribute(\"height\",t.height),i.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===t.nodeName?t.toDataURL():t.getAttribute(\"src\")),s.appendChild(i),this.__defs.appendChild(s)):t instanceof r&&(s.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(s)),new n(s,this)},r.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null},r.prototype.drawFocusRing=function(){},r.prototype.createImageData=function(){},r.prototype.getImageData=function(){},r.prototype.putImageData=function(){},r.prototype.globalCompositeOperation=function(){},r.prototype.setTransform=function(){},\"object\"==typeof window&&(window.C2S=r),\"object\"==typeof e&&\"object\"==typeof e.exports&&(e.exports=r)}()},\n",
       "      function _(e,t,a){var r=e(113),n=e(279),s=e(215),i=e(224),_=e(225),o=e(280),c=e(184),g=function(e){function t(t,a,r,n,s,i){void 0===s&&(s={}),void 0===i&&(i={});var _=e.call(this)||this;return _.x_scale=t,_.y_scale=a,_.x_range=r,_.y_range=n,_.extra_x_ranges=s,_.extra_y_ranges=i,_._configure_scales(),_}return r.__extends(t,e),t.prototype.map_to_screen=function(e,t,a,r){return void 0===a&&(a=\"default\"),void 0===r&&(r=\"default\"),[this.xscales[a].v_compute(e),this.yscales[r].v_compute(t)]},t.prototype._get_ranges=function(e,t){var a={};if(a.default=e,null!=t)for(var r in t)a[r]=t[r];return a},t.prototype._get_scales=function(e,t,a){var r={};for(var g in t){var l=t[g];if(l instanceof o.DataRange1d||l instanceof _.Range1d){if(!(e instanceof i.LogScale||e instanceof s.LinearScale))throw new Error(\"Range \"+l.type+\" is incompatible is Scale \"+e.type);if(e instanceof n.CategoricalScale)throw new Error(\"Range \"+l.type+\" is incompatible is Scale \"+e.type)}if(l instanceof c.FactorRange&&!(e instanceof n.CategoricalScale))throw new Error(\"Range \"+l.type+\" is incompatible is Scale \"+e.type);e instanceof i.LogScale&&l instanceof o.DataRange1d&&(l.scale_hint=\"log\");var f=e.clone();f.setv({source_range:l,target_range:a}),r[g]=f}return r},t.prototype._configure_frame_ranges=function(){this._h_target=new _.Range1d({start:this._left.value,end:this._right.value}),this._v_target=new _.Range1d({start:this._bottom.value,end:this._top.value})},t.prototype._configure_scales=function(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._xscales=this._get_scales(this.x_scale,this._x_ranges,this._h_target),this._yscales=this._get_scales(this.y_scale,this._y_ranges,this._v_target)},t.prototype._update_scales=function(){for(var e in this._configure_frame_ranges(),this._xscales){this._xscales[e].target_range=this._h_target}for(var e in this._yscales){this._yscales[e].target_range=this._v_target}},t.prototype._set_geometry=function(t,a){e.prototype._set_geometry.call(this,t,a),this._update_scales()},Object.defineProperty(t.prototype,\"x_ranges\",{get:function(){return this._x_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"y_ranges\",{get:function(){return this._y_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"xscales\",{get:function(){return this._xscales},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"yscales\",{get:function(){return this._yscales},enumerable:!0,configurable:!0}),t}(e(282).LayoutItem);a.CartesianFrame=g,g.__name__=\"CartesianFrame\"},\n",
       "      function _(t,e,c){var n=t(113),o=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.prototype.compute=function(e){return t.prototype.compute.call(this,this.source_range.synthetic(e))},e.prototype.v_compute=function(e){return t.prototype.v_compute.call(this,this.source_range.v_synthetic(e))},e}(t(215).LinearScale);c.CategoricalScale=o,o.__name__=\"CategoricalScale\"},\n",
       "      function _(t,i,n){var e=t(113),a=t(281),r=t(175),s=t(167),o=t(121),l=t(181),_=t(110),d=function(t){function i(i){var n=t.call(this,i)||this;return n._plot_bounds={},n.have_updated_interactively=!1,n}return e.__extends(i,t),i.init_DataRange1d=function(){this.define({start:[o.Number],end:[o.Number],range_padding:[o.Number,.1],range_padding_units:[o.PaddingUnits,\"percent\"],flipped:[o.Boolean,!1],follow:[o.StartEnd],follow_interval:[o.Number],default_span:[o.Number,2],only_visible:[o.Boolean,!1]}),this.internal({scale_hint:[o.String,\"auto\"]})},i.prototype.initialize=function(){t.prototype.initialize.call(this),this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span},Object.defineProperty(i.prototype,\"min\",{get:function(){return Math.min(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,\"max\",{get:function(){return Math.max(this.start,this.end)},enumerable:!0,configurable:!0}),i.prototype.computed_renderers=function(){var t=this.names,i=this.renderers;if(0==i.length)for(var n=0,e=this.plots;n<e.length;n++){var a=e[n].renderers.filter(function(t){return t instanceof r.GlyphRenderer});i=i.concat(a)}t.length>0&&(i=i.filter(function(i){return _.includes(t,i.name)})),s.logger.debug(\"computed \"+i.length+\" renderers for DataRange1d \"+this.id);for(var o=0,l=i;o<l.length;o++){var d=l[o];s.logger.trace(\" - \"+d.type+\" \"+d.id)}return i},i.prototype._compute_plot_bounds=function(t,i){for(var n=l.empty(),e=0,a=t;e<a.length;e++){var r=a[e];null==i[r.id]||!r.visible&&this.only_visible||(n=l.union(n,i[r.id]))}return n},i.prototype.adjust_bounds_for_aspect=function(t,i){var n=l.empty(),e=t.x1-t.x0;e<=0&&(e=1);var a=t.y1-t.y0;a<=0&&(a=1);var r=.5*(t.x1+t.x0),s=.5*(t.y1+t.y0);return e<i*a?e=i*a:a=e/i,n.x1=r+.5*e,n.x0=r-.5*e,n.y1=s+.5*a,n.y0=s-.5*a,n},i.prototype._compute_min_max=function(t,i){var n,e,a,r,s=l.empty();for(var o in t){var _=t[o];s=l.union(s,_)}return 0==i?(a=(n=[s.x0,s.x1])[0],r=n[1]):(a=(e=[s.y0,s.y1])[0],r=e[1]),[a,r]},i.prototype._compute_range=function(t,i){var n,e,a,r=this.range_padding;if(\"log\"==this.scale_hint){(isNaN(t)||!isFinite(t)||t<=0)&&(t=isNaN(i)||!isFinite(i)||i<=0?.1:i/100,s.logger.warn(\"could not determine minimum data value for log axis, DataRange1d using value \"+t)),(isNaN(i)||!isFinite(i)||i<=0)&&(i=isNaN(t)||!isFinite(t)||t<=0?10:100*t,s.logger.warn(\"could not determine maximum data value for log axis, DataRange1d using value \"+i));var o=void 0,l=void 0;if(i==t)l=this.default_span+.001,o=Math.log(t)/Math.log(10);else{var _=void 0,d=void 0;\"percent\"==this.range_padding_units?(_=Math.log(t)/Math.log(10),l=((d=Math.log(i)/Math.log(10))-_)*(1+r)):(_=Math.log(t-r)/Math.log(10),l=(d=Math.log(i+r)/Math.log(10))-_),o=(_+d)/2}e=Math.pow(10,o-l/2),a=Math.pow(10,o+l/2)}else{l=void 0;e=(o=(i+t)/2)-(l=i==t?this.default_span:\"percent\"==this.range_padding_units?(i-t)*(1+r):i-t+2*r)/2,a=o+l/2}var h=1;this.flipped&&(e=(n=[a,e])[0],a=n[1],h=-1);var u=this.follow_interval;return null!=u&&Math.abs(e-a)>u&&(\"start\"==this.follow?a=e+h*u:\"end\"==this.follow&&(e=a-h*u)),[e,a]},i.prototype.update=function(t,i,n,e){if(!this.have_updated_interactively){var a=this.computed_renderers(),r=this._compute_plot_bounds(a,t);null!=e&&(r=this.adjust_bounds_for_aspect(r,e)),this._plot_bounds[n]=r;var s=this._compute_min_max(this._plot_bounds,i),o=s[0],l=s[1],_=this._compute_range(o,l),d=_[0],h=_[1];null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(d=this._initial_start):d=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(h=this._initial_end):h=this._initial_end);var u=[this.start,this.end],p=u[0],g=u[1];if(d!=p||h!=g){var f={};d!=p&&(f.start=d),h!=g&&(f.end=h),this.setv(f)}\"auto\"==this.bounds&&this.setv({bounds:[d,h]},{silent:!0}),this.change.emit()}},i.prototype.reset=function(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()},i}(a.DataRange);n.DataRange1d=d,d.__name__=\"DataRange1d\",d.init_DataRange1d()},\n",
       "      function _(n,a,e){var t=n(113),i=n(185),r=n(121),_=function(n){function a(a){return n.call(this,a)||this}return t.__extends(a,n),a.init_DataRange=function(){this.define({names:[r.Array,[]],renderers:[r.Array,[]]})},a}(i.Range);e.DataRange=_,_.__name__=\"DataRange\",_.init_DataRange()},\n",
       "      function _(a,o,t){var r=a(283);t.Sizeable=r.Sizeable;var e=a(284);t.Layoutable=e.Layoutable,t.LayoutItem=e.LayoutItem;var n=a(285);t.HStack=n.HStack,t.VStack=n.VStack,t.AnchorLayout=n.AnchorLayout;var c=a(286);t.Grid=c.Grid,t.Row=c.Row,t.Column=c.Column;var i=a(287);t.ContentBox=i.ContentBox,t.VariadicBox=i.VariadicBox},\n",
       "      function _(t,h,i){var e=Math.min,n=Math.max,o=function(){function t(t){void 0===t&&(t={}),this.width=null!=t.width?t.width:0,this.height=null!=t.height?t.height:0}return t.prototype.bounded_to=function(h){var i=h.width,e=h.height;return new t({width:this.width==1/0&&null!=i?i:this.width,height:this.height==1/0&&null!=e?e:this.height})},t.prototype.expanded_to=function(h){var i=h.width,e=h.height;return new t({width:i!=1/0?n(this.width,i):this.width,height:e!=1/0?n(this.height,e):this.height})},t.prototype.expand_to=function(t){var h=t.width,i=t.height;this.width=n(this.width,h),this.height=n(this.height,i)},t.prototype.narrowed_to=function(h){var i=h.width,n=h.height;return new t({width:e(this.width,i),height:e(this.height,n)})},t.prototype.narrow_to=function(t){var h=t.width,i=t.height;this.width=e(this.width,h),this.height=e(this.height,i)},t.prototype.grow_by=function(h){var i=h.left,e=h.right,n=h.top,o=h.bottom;return new t({width:this.width+i+e,height:this.height+n+o})},t.prototype.shrink_by=function(h){var i=h.left,e=h.right,o=h.top,r=h.bottom;return new t({width:n(this.width-i-e,0),height:n(this.height-o-r,0)})},t.prototype.map=function(h,i){return new t({width:h(this.width),height:(null!=i?i:h)(this.height)})},t}();i.Sizeable=o,o.__name__=\"Sizeable\"},\n",
       "      function _(i,t,e){var h=i(113),n=i(283),r=i(181),s=Math.min,o=Math.max,g=Math.round,u=function(){function i(){this._bbox=new r.BBox,this._inner_bbox=new r.BBox;var i=this;this._top={get value(){return i.bbox.top}},this._left={get value(){return i.bbox.left}},this._width={get value(){return i.bbox.width}},this._height={get value(){return i.bbox.height}},this._right={get value(){return i.bbox.right}},this._bottom={get value(){return i.bbox.bottom}},this._hcenter={get value(){return i.bbox.hcenter}},this._vcenter={get value(){return i.bbox.vcenter}}}return Object.defineProperty(i.prototype,\"bbox\",{get:function(){return this._bbox},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,\"inner_bbox\",{get:function(){return this._inner_bbox},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,\"sizing\",{get:function(){return this._sizing},enumerable:!0,configurable:!0}),i.prototype.set_sizing=function(i){var t=i.width_policy||\"fit\",e=i.width,h=null!=i.min_width?i.min_width:0,n=null!=i.max_width?i.max_width:1/0,r=i.height_policy||\"fit\",s=i.height,o=null!=i.min_height?i.min_height:0,g=null!=i.max_height?i.max_height:1/0,u=i.aspect,a=i.margin||{top:0,right:0,bottom:0,left:0},l=!1!==i.visible,_=i.halign||\"start\",d=i.valign||\"start\";this._sizing={width_policy:t,min_width:h,width:e,max_width:n,height_policy:r,min_height:o,height:s,max_height:g,aspect:u,margin:a,visible:l,halign:_,valign:d,size:{width:e,height:s},min_size:{width:h,height:o},max_size:{width:n,height:g}},this._init()},i.prototype._init=function(){},i.prototype._set_geometry=function(i,t){this._bbox=i,this._inner_bbox=t},i.prototype.set_geometry=function(i,t){this._set_geometry(i,t||i)},i.prototype.is_width_expanding=function(){return\"max\"==this.sizing.width_policy},i.prototype.is_height_expanding=function(){return\"max\"==this.sizing.height_policy},i.prototype.apply_aspect=function(i,t){var e=t.width,h=t.height,n=this.sizing.aspect;if(null!=n){var r=this.sizing,s=r.width_policy,o=r.height_policy;if(\"fixed\"!=s&&\"fixed\"!=o)if(s==o){var u=e,a=g(e/n),l=g(h*n),_=h;Math.abs(i.width-u)+Math.abs(i.height-a)<=Math.abs(i.width-l)+Math.abs(i.height-_)?(e=u,h=a):(e=l,h=_)}else!function(i,t){var e={max:4,fit:3,min:2,fixed:1};return e[i]>e[t]}(s,o)?e=g(h*n):h=g(e/n);else\"fixed\"==s?h=g(e/n):\"fixed\"==o&&(e=g(h*n))}return{width:e,height:h}},i.prototype.measure=function(i){var t=this;if(!this.sizing.visible)return{width:0,height:0};var e=function(i){return\"fixed\"==t.sizing.width_policy&&null!=t.sizing.width?t.sizing.width:i},h=function(i){return\"fixed\"==t.sizing.height_policy&&null!=t.sizing.height?t.sizing.height:i},r=new n.Sizeable(i).shrink_by(this.sizing.margin).map(e,h),s=this._measure(r),o=this.clip_size(s),g=e(o.width),u=h(o.height),a=this.apply_aspect(r,{width:g,height:u});return Object.assign(Object.assign({},s),a)},i.prototype.compute=function(i){void 0===i&&(i={});var t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),e=t.width,h=t.height,n=new r.BBox({left:0,top:0,width:e,height:h}),s=void 0;if(null!=t.inner){var o=t.inner,g=o.left,u=o.top,a=o.right,l=o.bottom;s=new r.BBox({left:g,top:u,right:e-a,bottom:h-l})}this.set_geometry(n,s)},Object.defineProperty(i.prototype,\"xview\",{get:function(){return this.bbox.xview},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,\"yview\",{get:function(){return this.bbox.yview},enumerable:!0,configurable:!0}),i.prototype.clip_width=function(i){return o(this.sizing.min_width,s(i,this.sizing.max_width))},i.prototype.clip_height=function(i){return o(this.sizing.min_height,s(i,this.sizing.max_height))},i.prototype.clip_size=function(i){var t=i.width,e=i.height;return{width:this.clip_width(t),height:this.clip_height(e)}},i}();e.Layoutable=u,u.__name__=\"Layoutable\";var a=function(i){function t(){return null!==i&&i.apply(this,arguments)||this}return h.__extends(t,i),t.prototype._measure=function(i){var t,e,h=this.sizing,n=h.width_policy,r=h.height_policy;if(i.width==1/0)t=null!=this.sizing.width?this.sizing.width:0;else if(\"fixed\"==n)t=null!=this.sizing.width?this.sizing.width:0;else if(\"min\"==n)t=null!=this.sizing.width?s(i.width,this.sizing.width):0;else if(\"fit\"==n)t=null!=this.sizing.width?s(i.width,this.sizing.width):i.width;else{if(\"max\"!=n)throw new Error(\"unrechable\");t=null!=this.sizing.width?o(i.width,this.sizing.width):i.width}if(i.height==1/0)e=null!=this.sizing.height?this.sizing.height:0;else if(\"fixed\"==r)e=null!=this.sizing.height?this.sizing.height:0;else if(\"min\"==r)e=null!=this.sizing.height?s(i.height,this.sizing.height):0;else if(\"fit\"==r)e=null!=this.sizing.height?s(i.height,this.sizing.height):i.height;else{if(\"max\"!=r)throw new Error(\"unrechable\");e=null!=this.sizing.height?o(i.height,this.sizing.height):i.height}return{width:t,height:e}},t}(u);e.LayoutItem=a,a.__name__=\"LayoutItem\";var l=function(i){function t(){return null!==i&&i.apply(this,arguments)||this}return h.__extends(t,i),t.prototype._measure=function(i){var t=this,e=this._content_size(),h=i.bounded_to(this.sizing.size).bounded_to(e);return{width:function(){switch(t.sizing.width_policy){case\"fixed\":return null!=t.sizing.width?t.sizing.width:e.width;case\"min\":return e.width;case\"fit\":return h.width;case\"max\":return Math.max(e.width,h.width);default:throw new Error(\"unexpected\")}}(),height:function(){switch(t.sizing.height_policy){case\"fixed\":return null!=t.sizing.height?t.sizing.height:e.height;case\"min\":return e.height;case\"fit\":return h.height;case\"max\":return Math.max(e.height,h.height);default:throw new Error(\"unexpected\")}}()}},t}(u);e.ContentLayoutable=l,l.__name__=\"ContentLayoutable\"},\n",
       "      function _(t,e,r){var h=t(113),o=t(284),i=t(181),n=function(t){function e(){var e=t.apply(this,arguments)||this;return e.children=[],e}return h.__extends(e,t),e}(o.Layoutable);r.Stack=n,n.__name__=\"Stack\";var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h.__extends(e,t),e.prototype._measure=function(t){for(var e=0,r=0,h=0,o=this.children;h<o.length;h++){var i=o[h].measure({width:0,height:0});e+=i.width,r=Math.max(r,i.height)}return{width:e,height:r}},e.prototype._set_geometry=function(e,r){t.prototype._set_geometry.call(this,e,r);for(var h=e.top,o=e.bottom,n=e.left,a=0,c=this.children;a<c.length;a++){var _=c[a],s=_.measure({width:0,height:0}).width;_.set_geometry(new i.BBox({left:n,width:s,top:h,bottom:o})),n+=s}},e}(n);r.HStack=a,a.__name__=\"HStack\";var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return h.__extends(e,t),e.prototype._measure=function(t){for(var e=0,r=0,h=0,o=this.children;h<o.length;h++){var i=o[h].measure({width:0,height:0});e=Math.max(e,i.width),r+=i.height}return{width:e,height:r}},e.prototype._set_geometry=function(e,r){t.prototype._set_geometry.call(this,e,r);for(var h=e.left,o=e.right,n=e.top,a=0,c=this.children;a<c.length;a++){var _=c[a],s=_.measure({width:0,height:0}).height;_.set_geometry(new i.BBox({top:n,height:s,left:h,right:o})),n+=s}},e}(n);r.VStack=c,c.__name__=\"VStack\";var _=function(t){function e(){var e=t.apply(this,arguments)||this;return e.children=[],e}return h.__extends(e,t),e.prototype._measure=function(t){for(var e=0,r=0,h=0,o=this.children;h<o.length;h++){var i=o[h].layout.measure(t);e=Math.max(e,i.width),r=Math.max(r,i.height)}return{width:e,height:r}},e.prototype._set_geometry=function(e,r){t.prototype._set_geometry.call(this,e,r);for(var h=0,o=this.children;h<o.length;h++){var n=o[h],a=n.layout,c=n.anchor,_=n.margin,s=e.left,g=e.right,l=e.top,u=e.bottom,p=e.hcenter,d=e.vcenter,m=a.measure(e),w=m.width,f=m.height,y=void 0;switch(c){case\"top_left\":y=new i.BBox({left:s+_,top:l+_,width:w,height:f});break;case\"top_center\":y=new i.BBox({hcenter:p,top:l+_,width:w,height:f});break;case\"top_right\":y=new i.BBox({right:g-_,top:l+_,width:w,height:f});break;case\"bottom_right\":y=new i.BBox({right:g-_,bottom:u-_,width:w,height:f});break;case\"bottom_center\":y=new i.BBox({hcenter:p,bottom:u-_,width:w,height:f});break;case\"bottom_left\":y=new i.BBox({left:s+_,bottom:u-_,width:w,height:f});break;case\"center_left\":y=new i.BBox({left:s+_,vcenter:d,width:w,height:f});break;case\"center\":y=new i.BBox({hcenter:p,vcenter:d,width:w,height:f});break;case\"center_right\":y=new i.BBox({right:g-_,vcenter:d,width:w,height:f});break;default:throw new Error(\"unreachable\")}a.set_geometry(y)}},e}(o.Layoutable);r.AnchorLayout=_,_.__name__=\"AnchorLayout\"},\n",
       "      function _(t,i,e){var n=t(113),r=t(283),o=t(284),s=t(109),a=t(181),h=t(110),c=Math.max,l=Math.round,f=function(){function t(t){this.def=t,this._map=new Map}return t.prototype.get=function(t){var i=this._map.get(t);return void 0===i&&(i=this.def(),this._map.set(t,i)),i},t.prototype.apply=function(t,i){var e=this.get(t);this._map.set(t,i(e))},t}();f.__name__=\"DefaultMap\";var u=function(){function t(){this._items=[],this._nrows=0,this._ncols=0}return Object.defineProperty(t.prototype,\"nrows\",{get:function(){return this._nrows},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ncols\",{get:function(){return this._ncols},enumerable:!0,configurable:!0}),t.prototype.add=function(t,i){var e=t.r1,n=t.c1;this._nrows=c(this._nrows,e+1),this._ncols=c(this._ncols,n+1),this._items.push({span:t,data:i})},t.prototype.at=function(t,i){return this._items.filter(function(e){var n=e.span;return n.r0<=t&&t<=n.r1&&n.c0<=i&&i<=n.c1}).map(function(t){return t.data})},t.prototype.row=function(t){return this._items.filter(function(i){var e=i.span;return e.r0<=t&&t<=e.r1}).map(function(t){return t.data})},t.prototype.col=function(t){return this._items.filter(function(i){var e=i.span;return e.c0<=t&&t<=e.c1}).map(function(t){return t.data})},t.prototype.foreach=function(t){for(var i=0,e=this._items;i<e.length;i++){var n=e[i];t(n.span,n.data)}},t.prototype.map=function(i){for(var e=new t,n=0,r=this._items;n<r.length;n++){var o=r[n],s=o.span,a=o.data;e.add(s,i(s,a))}return e},t}();u.__name__=\"Container\";var p=function(t){function i(i){void 0===i&&(i=[]);var e=t.call(this)||this;return e.items=i,e.rows=\"auto\",e.cols=\"auto\",e.spacing=0,e.absolute=!1,e}return n.__extends(i,t),i.prototype.is_width_expanding=function(){if(t.prototype.is_width_expanding.call(this))return!0;if(\"fixed\"==this.sizing.width_policy)return!1;var i=this._state.cols;return h.some(i,function(t){return\"max\"==t.policy})},i.prototype.is_height_expanding=function(){if(t.prototype.is_height_expanding.call(this))return!0;if(\"fixed\"==this.sizing.height_policy)return!1;var i=this._state.rows;return h.some(i,function(t){return\"max\"==t.policy})},i.prototype._init=function(){var i=this;t.prototype._init.call(this);for(var e=new u,n=0,r=this.items;n<r.length;n++){var o=r[n],a=o.layout,c=o.row,l=o.col,f=o.row_span,p=o.col_span;if(a.sizing.visible){var g=c,_=l,d=c+(null!=f?f:1)-1,w=l+(null!=p?p:1)-1;e.add({r0:g,c0:_,r1:d,c1:w},a)}}for(var y=e.nrows,m=e.ncols,v=new Array(y),x=function(t){var n,r=null==(n=s.isPlainObject(i.rows)?i.rows[t]||i.rows[\"*\"]:i.rows)?{policy:\"auto\"}:s.isNumber(n)?{policy:\"fixed\",height:n}:s.isString(n)?{policy:n}:n,o=r.align||\"auto\";if(\"fixed\"==r.policy)v[t]={policy:\"fixed\",height:r.height,align:o};else if(\"min\"==r.policy)v[t]={policy:\"min\",align:o};else if(\"fit\"==r.policy||\"max\"==r.policy)v[t]={policy:r.policy,flex:r.flex||1,align:o};else{if(\"auto\"!=r.policy)throw new Error(\"unrechable\");h.some(e.row(t),function(t){return t.is_height_expanding()})?v[t]={policy:\"max\",flex:1,align:o}:v[t]={policy:\"min\",align:o}}},b=0;b<y;b++)x(b);for(var z=new Array(m),j=function(t){var n,r=null==(n=s.isPlainObject(i.cols)?i.cols[t]||i.cols[\"*\"]:i.cols)?{policy:\"auto\"}:s.isNumber(n)?{policy:\"fixed\",width:n}:s.isString(n)?{policy:n}:n,o=r.align||\"auto\";if(\"fixed\"==r.policy)z[t]={policy:\"fixed\",width:r.width,align:o};else if(\"min\"==r.policy)z[t]={policy:\"min\",align:o};else if(\"fit\"==r.policy||\"max\"==r.policy)z[t]={policy:r.policy,flex:r.flex||1,align:o};else{if(\"auto\"!=r.policy)throw new Error(\"unrechable\");h.some(e.col(t),function(t){return t.is_width_expanding()})?z[t]={policy:\"max\",flex:1,align:o}:z[t]={policy:\"min\",align:o}}},O=0;O<m;O++)j(O);var B=s.isNumber(this.spacing)?[this.spacing,this.spacing]:this.spacing,A=B[0],M=B[1];this._state={items:e,nrows:y,ncols:m,rows:v,cols:z,rspacing:A,cspacing:M}},i.prototype._measure_totals=function(t,i){var e=this._state,n=e.nrows,r=e.ncols,o=e.rspacing,s=e.cspacing;return{height:h.sum(t)+(n-1)*o,width:h.sum(i)+(r-1)*s}},i.prototype._measure_cells=function(t){for(var i=this._state,e=i.items,n=i.nrows,o=i.ncols,s=i.rows,a=i.cols,h=i.rspacing,f=i.cspacing,p=new Array(n),g=0;g<n;g++){var _=s[g];p[g]=\"fixed\"==_.policy?_.height:0}for(var d=new Array(o),w=0;w<o;w++){var y=a[w];d[w]=\"fixed\"==y.policy?y.width:0}var m=new u;return e.foreach(function(i,e){for(var n=i.r0,o=i.c0,u=i.r1,g=i.c1,_=(u-n)*h,w=(g-o)*f,y=0,v=n;v<=u;v++)y+=t(v,o).height;y+=_;for(var x=0,b=o;b<=g;b++)x+=t(n,b).width;x+=w;var z=e.measure({width:x,height:y});m.add(i,{layout:e,size_hint:z});var j=new r.Sizeable(z).grow_by(e.sizing.margin);j.height-=_,j.width-=w;var O=[];for(v=n;v<=u;v++){var B=s[v];\"fixed\"==B.policy?j.height-=B.height:O.push(v)}if(j.height>0)for(var A=l(j.height/O.length),M=0,P=O;M<P.length;M++){v=P[M];p[v]=c(p[v],A)}var C=[];for(b=o;b<=g;b++){var N=a[b];\"fixed\"==N.policy?j.width-=N.width:C.push(b)}if(j.width>0)for(var S=l(j.width/C.length),E=0,G=C;E<G.length;E++){b=G[E];d[b]=c(d[b],S)}}),{size:this._measure_totals(p,d),row_heights:p,col_widths:d,size_hints:m}},i.prototype._measure_grid=function(t){var i,e=this._state,n=e.nrows,r=e.ncols,o=e.rows,s=e.cols,a=e.rspacing,h=e.cspacing,f=this._measure_cells(function(t,i){var e=o[t],n=s[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==e.policy?e.height:1/0}});i=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:f.size.height;for(var u,p=0,g=0;g<n;g++){\"fit\"==(w=o[g]).policy||\"max\"==w.policy?p+=w.flex:i-=f.row_heights[g]}if(i-=(n-1)*a,0!=p&&i>0)for(g=0;g<n;g++){if(\"fit\"==(w=o[g]).policy||\"max\"==w.policy)i-=y=l(i*(w.flex/p)),f.row_heights[g]=y,p-=w.flex}else if(i<0){var _=0;for(g=0;g<n;g++){\"fixed\"!=(w=o[g]).policy&&_++}var d=-i;for(g=0;g<n;g++){var w;if(\"fixed\"!=(w=o[g]).policy){var y=f.row_heights[g],m=l(d/_);f.row_heights[g]=c(y-m,0),d-=m>y?y:m,_--}}}u=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:f.size.width;for(var v=0,x=0;x<r;x++){\"fit\"==(z=s[x]).policy||\"max\"==z.policy?v+=z.flex:u-=f.col_widths[x]}if(u-=(r-1)*h,0!=v&&u>0)for(x=0;x<r;x++){if(\"fit\"==(z=s[x]).policy||\"max\"==z.policy)u-=j=l(u*(z.flex/v)),f.col_widths[x]=j,v-=z.flex}else if(u<0){for(_=0,x=0;x<r;x++){\"fixed\"!=(z=s[x]).policy&&_++}var b=-u;for(x=0;x<r;x++){var z;if(\"fixed\"!=(z=s[x]).policy){var j=f.col_widths[x];m=l(b/_);f.col_widths[x]=c(j-m,0),b-=m>j?j:m,_--}}}var O=this._measure_cells(function(t,i){return{width:f.col_widths[i],height:f.row_heights[t]}}),B=O.row_heights,A=O.col_widths,M=O.size_hints;return{size:this._measure_totals(B,A),row_heights:B,col_widths:A,size_hints:M}},i.prototype._measure=function(t){return this._measure_grid(t).size},i.prototype._set_geometry=function(i,e){t.prototype._set_geometry.call(this,i,e);for(var n=this._state,r=n.nrows,o=n.ncols,s=n.rspacing,h=n.cspacing,u=this._measure_grid(i),p=u.row_heights,g=u.col_widths,_=u.size_hints,d=this._state.rows.map(function(t,i){return Object.assign(Object.assign({},t),{top:0,height:p[i],get bottom(){return this.top+this.height}})}),w=this._state.cols.map(function(t,i){return Object.assign(Object.assign({},t),{left:0,width:g[i],get right(){return this.left+this.width}})}),y=_.map(function(t,i){return Object.assign(Object.assign({},i),{outer:new a.BBox,inner:new a.BBox})}),m=0,v=this.absolute?i.top:0;m<r;m++){var x=d[m];x.top=v,v+=x.height+s}for(var b=0,z=this.absolute?i.left:0;b<o;b++){var j=w[b];j.left=z,z+=j.width+h}y.foreach(function(t,i){var e=t.r0,n=t.c0,r=t.r1,o=t.c1,c=i.layout,f=i.size_hint,u=c.sizing,p=f.width,g=f.height,_=function(t,i){for(var e=(i-t)*h,n=t;n<=i;n++)e+=w[n].width;return e}(n,o),y=function(t,i){for(var e=(i-t)*s,n=t;n<=i;n++)e+=d[n].height;return e}(e,r),m=n==o&&\"auto\"!=w[n].align?w[n].align:u.halign,v=e==r&&\"auto\"!=d[e].align?d[e].align:u.valign,x=w[n].left;\"start\"==m?x+=u.margin.left:\"center\"==m?x+=l((_-p)/2):\"end\"==m&&(x+=_-u.margin.right-p);var b=d[e].top;\"start\"==v?b+=u.margin.top:\"center\"==v?b+=l((y-g)/2):\"end\"==v&&(b+=y-u.margin.bottom-g),i.outer=new a.BBox({left:x,top:b,width:p,height:g})});var O=d.map(function(){return{start:new f(function(){return 0}),end:new f(function(){return 0})}}),B=w.map(function(){return{start:new f(function(){return 0}),end:new f(function(){return 0})}});y.foreach(function(t,i){var e=t.r0,n=t.c0,r=t.r1,o=t.c1,s=i.size_hint,a=i.outer,h=s.inner;null!=h&&(O[e].start.apply(a.top,function(t){return c(t,h.top)})